视音频编解码技术及其实现

核心提示:一、视音频编码国际标准化组织及其压缩标准介绍 国际上有两个负责视音频编码的标准化组织,一个是VCEG(VideocodeExpertGroup),是国际电信联合会下的视频编码专家组,一个是MPEG(MotionPictureExpertGroup),是国际标准化组织下的运动图象专家组。这两个视音频编码标
一、 视音频编码国际标准化组织及其压缩标准介绍
国际上有两个负责视音频编码的标准化组织,一个是VCEG(Video code Expert Group),是国际电信联合会下的视频编码专家组,一个是MPEG(Motion Picture Expert Group),是国际标准化组织下的运动图象专家组。这两个视音频编码标准化组织都对视音频的编解码做出了非常重要的贡献:一是推动视音频编码技术的发展,一是推动视音频编解码的应用。
视音频编解码涉及很多项视频和音频处理技术,每一项技术的改进都对视音频编码做出贡献,但作为一套完整、高效的编码方案,需要集中全人类在视音频编解码方面的最新智慧。个人或公司的研究成果,都希望被标准化组织,其经济回报是标准使用费。
这两个标准化组织制定的相关编码标准都获得了广泛的应用,VCEG制定的标准有H.261(被国际电信联合会选定为电视会议的视频压缩标准)、H.262(该标准同MPEG-2完全一样,是VCEG同MPEG组成的联合编码专家组JVT制定的压缩标准,VCEG发布的是H.262,MPEG发布的是MPEG-2)、H.263(该标准被国际电信联合会选定为可视电话的视频压缩标准,有增强型版本H.263+、H.263++)、H.264(该标准是2002年5月VCEG为新一代交互式视频通讯制定的标准)。MPEG名气要大得多,制定的标准有MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21 ,MPEG-1压缩标准为VCD所采纳,MPEG-2的压缩标准为DVD采纳,MPEG-4是为交互式多媒体通讯制定的压缩标准,MPEG-7是为互联网视频检索制定的压缩标准。
VCEG制定的压缩标准H.26X都是针对单一矩形视频对象,其追求的是更高的压缩效率。MPEG-4在目前之所以很热,是因为MPEG-4是基于多个视音频对象的压缩编码标准,这非常适合于互联网上的多媒体应用。在互联网上传播的多媒体信息,很多是可以划分为多个视频对象的,如电脑制作的动画节目、电视新闻节目等,而在实时视频图象编码中,在一个图象矩形框中很难实时识别多个视频对象,还是把一个视频源当作一个矩形视频对象进行编码。
VCEG在97年发布H.263的压缩标准后,制定了短期开发计划H.26N和长期开发计划H.26L,H.26N发展成H.263+和H.263++,H.26L经过5年时间的发展,在2002年5月作为H.264压缩标准进行发布。
MPEG在VCEG发布H.263之后,发布了MPEG-4 SP(即MPEG-4第一板),在该版本中引入了两个非常重要的概念:一个是一个视频源多个视音频对象编码,一个是码流传输异常处理(特别是无线传输应用)。从这里可以看出,VCEG致力于高效率的视频编码技术,MPEG更侧重系统和框架。
在2001年第四季度,VCEG H.26L发展到TML9.0时,MPEG同VCEG再次组成联合联合视频编码专家组JVT,对H.26L的算法进行了改进和完善,在2003年5月VCEG发布了H.264的压缩标准。MPEG在JVT对H.26L压缩算法修改的基础上,将该技术规范纳入到MPEG-4的标准中,作为MPEG-4 PART10发布,即MPEG-4的第三版,MPEG-4 AVC。H.264和MPEG-4 AVC代表了全人类在视音频编解码方面的最新成果。
针对单一矩形视频对象,MPEG-4 AVC比MPEG-4第二版MPEG-4 ACE的压缩效率提高30%以上。

二、 H.264与MPEG-4 PART10的技术说明
同以前的视频压缩标准H.263++和MPEG-4 ACE相比,H.264与MPEG-4 PART10采用了一些新的算法,主要表现在以下几个方面:
1、运动搜索
a、 引入多参考帧
   引入多达5个参考帧。
b、 多种BLOCK形状
有16*16、16*8、8*16、8*8、8*4、4*8、4*4七种BLOCK形状。
c、运动搜索精度更高
1/2象素精度搜索采用了6阶滤波器,搜索精度有很大提高。也引入了1/4象素精度搜索和1/8象素精度搜索。
2、残余编码
a、 采用整型4*4 DCT变换
b、 量化技术改进
c、 采用DE-BLOCK技术
d、 SP帧技术
这些技术的改变,一方面提高了压缩效率,另一方面运算强度大幅提高,大大地提高了实现的难度。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是NaN

NaN,是Not a Number的缩写。NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根。由上面的表中可以看出,对于单精度浮点数,NaN 表示为指数为 emax 1 128(指数域全为 1),…

排序系列【比较排序系列之】直接插入排序

最近在和小伙伴们一起研究排序,排序分好多总,后期会做整体总结,本篇则主要对插入排序进行一个整理。 插入排序(insert sorting)的算法思想十分简单,就是对待排序的记录逐个进行处理,每个新纪录…

Mysql 无法插入中文,中文乱码解决

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 在计算机中搜索 my.ini文件 找到后打开 ,并找到这2行作 如下设置 : default-character-setutf8character-se…

gcc g++安装

2019独角兽企业重金招聘Python工程师标准>>> 安装之前要卸载掉老版本的gcc、g sudo apt-get remove gccgcc-xx #可能有多个版本,都要删掉 sudo apt-get remove g sudo apt-get install gcc 安装g编译器,可以通过命令 sudo apt-get installb…

网络爬虫--24.【selenium实战】实现拉勾网爬虫之--分析接口获取数据

文章目录一. 思路概述二. 分析数据接口三. 详细代码一. 思路概述 1.拉勾网采用Ajax技术,加载网页时会向后端发送Ajax异步请求,因此首先找到数据接口; 2.后端会返回json的数据,分析数据,找到单个招聘对应的positionId…

18条工作感想:不要不情愿地工作

18条工作感想:不要不情愿地工作。人生有两个基点支撑:家庭与工作。对工作不满意,就是毁掉一半的人生。 001 不要不情愿地工作。不情愿,就一定没热情,没激情,没动力,就不会用心……那么&#xf…

bzoj 1999: [Noip2007]Core树网的核【树的直径+单调队列】

我要懒死了&#xff0c;所以依然是lyd的课件截图 注意是min{max(max(d[uk]),dis(u1,ui),dis(uj,un))}&#xff0c;每次都从这三个的max里取min #include<iostream> #include<cstdio> using namespace std; const int N500005; int n,m,h[N],cnt,d[N],s,t,mx,f[N],a…

01-汇编初学

0、前言 对于一个iOS App来说&#xff0c;它其实就是一个安装在手机中的可执行文件&#xff0c;这个可执行文件本质上是二进制文件&#xff0c;它由iPhone手机上的CPU执行。如果我们需要对操作系统、App进行深入了解&#xff0c;以及App的逆向都需要我们熟悉汇编语言 1、汇编语…

jquery.dataTables.min.js:62 Uncaught TypeError: Cannot read property ‘style‘ of undefined原因

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错&#xff1a; jquery.dataTables.min.js:62 Uncaught TypeError: Cannot read property style of undefined 原因&#xff1a;data…

ASCII Unicode GBK UTF的联系

快下班时&#xff0c;爱问问题的小朋友Nico又问了一个问题&#xff1a; "sqlserver里面有char和nchar&#xff0c;那个n据说是指unicode的数据&#xff0c;这个是什么意思。" 并不是所有简单的问题都很容易回答&#xff0c;就像这个问题一样。于是我答应专门写一篇BL…

网络爬虫--25.【selenium实战】实现拉勾网爬虫之--selenium获取数据

代码实现 #encoding: utf-8from selenium import webdriver from lxml import etree import re import time from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by…

Java 设计模式-【单例模式】

单例解决了什么问题&#xff1a;为了节约系统资源&#xff0c;有时需要确保系统中某个类只有唯一一个实例&#xff0c;当这个唯一实例创建成功之后&#xff0c;我们无法再创建一个同类型的其他对象&#xff0c;所有的操作都只能基于这个唯一实例。为了确保对象的唯一性&#xf…

Lua游戏开发----模块

1&#xff1a;游戏目录结构对模块的理解&#xff1a; Base&#xff0c;Common&#xff0c;Game这三个文件夹下都有自己的moduleConfig文件。 base文件夹下的moduleConfig.lua文件是存放游戏基础的模块&#xff08;例如&#xff1a;游戏视图准备&#xff0c;发牌&#xff0c;托管…

css 引用 方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 CSS 样式一共 3 中使用方法 ——内联式样式表行样式<div style"color:#000;"></div>只能操作1个标签&#xff0…

java构造方法

构造方法是一种特殊的方法&#xff0c;它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成&#xff0c;其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。 构造方法就是与类同名的那个方法…

转 单实例的写法

目录 饿汉法单线程写法考虑线程安全的写法兼顾线程安全和效率的写法坑静态内部类法枚举写法总结参考资料转载: 你真的会写单例模式吗——Java实现 单例模式可能是代码最少的模式了&#xff0c;但是少不一定意味着简单&#xff0c;想要用好、用对单例模式&#xff0c;还真得费一…

网络爬虫--26.Scrapy中下载器中间件Downloader Middlewares的使用

文章目录一. Downloader Middlewares二. 设置随机请求头三. ip代理池中间件一. Downloader Middlewares 二. 设置随机请求头 三. ip代理池中间件

变量名和方法名

变量名&#xff1a;第一个单词的首字母小写&#xff0c;后面每一个单词的首字母大写。如userName; 方法名&#xff1a;第一个单词的首字母小写&#xff0c;后面每一个单词的首字母大写。如setName&#xff08;&#xff09;; 写出让人一眼看懂的变量名和方法名&#xff0c;命名应…

openfire服务器

openfire(原名Wildfire或者JiveMessenger)是由Java语言编写的、基于XMPP协议的服务器&#xff0c;具有跨平台能力&#xff0c;获得了Apache2.0许可证。 openfire是基于XMPP协议的IM的服务器端的一个实现&#xff0c;两个用户想要进行通讯&#xff0c;首先要连接到Openfire。服…

解决eclipse配置Tomcat时找不到server选项(Mars.2也可用)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 集成Eclipse和Tomcat时找不到server选项&#xff1a; 按照网上的步骤如下&#xff1a; 在Eclipse中&#xff0c;窗口(window)——首选项…