翻译版权所有,转载请注明出处~

xzrch@2018.09.14

---------------------------------------------------------------------

1.介绍

随着数字电视和DVD视频的出现,广播电视和家庭娱乐已经发生了革命性的变化。视频压缩技术的标准化使这些和其他更多应用的实现成为了可能。 MPEG系列的下一个标准,MPEG4,正在催生新一代基于互联网的视频应用,而与此同时ITU-T H.263视频压缩标准也已广泛用于视频会议系统。

MPEG4(视觉部分)和H.263是基于视频压缩(“视频编码”)技术的标准。 负责这些标准的团体,运动图像专家组(Motion Picture Experts Group)和视频编码专家组(Video Coding Experts Group)(即MPEG和VCEG)正处于开发新标准的最后阶段,该标准有望在表现上显著优于MPEG4和H.263,从而更好地压缩视频图像,同时提供支持高质量、低比特率流媒体技术的一系列功能。 新标准“高级视频编码”(AVC)的历史可以追溯到至少7年前。

在1995年完成最初的视频通话标准H.263后,ITU-T视频编码专家组(VCEG)开始研究两个更进一步的领域:为H.263提供附加功能的“短期”工作(成果是标准的第2版) 和为低比特率视频通信开发新标准的“长期”工作。后者产生了“H.26L”标准草案,提供了比以前的ITU-T标准好得多的视频压缩效率。 2001年,ISO运动图像专家组(MPEG)认识到H.26L的潜在优势,成立了联合视频组(Joint Video Team,JVT),其中包括来自MPEG和VCEG的专家。JVT的主要任务是将H.26L“模型”草案进一步制定为完整的国际标准。实际上,结果最终是两个完全相同的标准:ISO MPEG4 part 10 和 ITU-T H.264。新标准的“官方”名称是高级视频编码(AVC)。然而,它拟定时的旧名字,H.26L和其国际电联文件编号H.264 [1] 最终却广为人知。

2. H.264编解码器

与早期标准(例如MPEG1,MPEG2和MPEG4)一样,H.264草案标准没有明确定义一个具体的编解码器(即encoder / decoder对)。 相反,该标准只定义了已编码视频比特流的语法和解码该比特流的方法。 然而在真正实践中,兼容的编码器和解码器很可能需要包含图2-1和图2-2中所示的功能元件。有一点需要说明的是,虽然图中所示的这些功能可能是满足合规性所必需的,但编解码器的结构仍有相当大的可变化空间。 基本功能元素(预测,变换,量化,熵编码)与以前的标准(MPEG1,MPEG2,MPEG4,H.261,H.263)略有不同,H.264中的重要变化发生在每个功能元素的细节当中。

编码器(图2-1)包括两条数据流路径,一条“前向”路径(从左到右,以蓝色显示)和一条“重建”路径(从右到左,以洋红色显示)。 解码器中的数据流路径(图2-2)从右到左显示,以说明编码器和解码器之间的相似性。

2.1 编码器(前向路径)

输入帧Fn作为编码对象用于编码。以宏块(Macroblock)为单位处理帧(对应于原始图像中的16×16像素), 每个宏块以帧内(Intra)帧间(Inter)模式编码。 在任一情况下,都基于一个重构帧(Reconstructed Frame)生成预测宏块P。 在帧内模式中,P由当前帧n中的采样点生成,n先前已经编码、解码和重构(即图中的uF'n;注意用于生成P的是未经滤波(Unfiltered)的样本)。在帧间模式中,P由来自一个或多个参考帧的运动补偿预测生成。在上述两幅图中,参考帧为先前编码的帧F'n-1; 然而,每个宏块的预测值可以由已经编码和重建的一个或两个过去或未来帧(按时间顺序)生成。

从当前宏块中减去预测P以产生残差或差异宏块Dn。 对其进行变换(使用块变换)并量化以算出X,一组量化的变换系数。 这些系数接下来被重新排序和熵编码。 熵编码系数与解码宏块所需的辅助信息(诸如宏块预测模式,量化器步长,描述宏块如何被运动补偿的运动矢量信息等)一起形成压缩比特流。然后被传递到网络抽象层(NAL)以进行传输或存储。

2.2 编码器(重建路径)

对量化的宏块系数X进行解码,目的是重建一个用于编码其他宏块的帧。 系数X被重新缩放(Q-1)和逆变换(T-1)以产生差异宏块Dn'。 这与原始差异宏块Dn不同。量化过程引入了损耗,因此Dn'是Dn的失真版本。将预测宏块P和Dn'相加以创建重构宏块uF'n(原始宏块的失真版本)。接下来用滤波器减少阻塞失真的影响,并且从一系列宏块F'n创建重构的参考帧。

2.3 解码器

解码器会从NAL接收压缩后的比特流,然后对数据元素进行熵解码和重新排序以产生一组量化系数X。接下来对它们进行重新调整和逆变换以算出Dn'(这与编码器中所示的Dn'相同)。使用从比特流解码的头信息,解码器创建预测宏块P,其与在编码器中形成的原始预测P相同。 将P加到Dn'上得到uF'n,对其进行滤波以产生解码的宏块F'n。

从图中和上面的讨论中应该能看出,编码器中重建路径的目的是确保编码器和解码器使用相同的参考帧来创建预测P。如果不这样做的话,预测编码器和解码器中的P将不相同,导致编码器和解码器之间的误差或“漂移”增加。

3. 参考文献

1 ITU-T Rec. H.264 / ISO/IEC 11496-10, “Advanced Video Coding”, Final Committee Draft, Document JVTE022,September 2002

【一】H.264/MPEG-4 Part 10 White Paper 翻译之 Overview of H.264的更多相关文章

  1. 【二】H.264/MPEG-4 Part 10 White Paper 翻译之 Prediction of Intra Macroblocks

    翻译版权所有,转载请注明出处~ xzrch@2018.09.14 ------------------------------------------------------------------- ...

  2. H.264 White Paper学习笔记(一)总览

    H.264 White Paper对于264编码器的原理讲的比较透彻,在阅读学习的时候收获很大,这份文献网上有很多了,也有不少人翻译,不过想要理解更清楚我觉得还是得看英文原版的. 首先看一下白皮书里给 ...

  3. Core Java Volume I — 1.2. The Java "White Paper" Buzzwords

    1.2. The Java "White Paper" BuzzwordsThe authors of Java have written an influential White ...

  4. Ethereum White Paper

    https://github.com/ethereum/wiki/wiki/White-Paper White Paper EditNew Page James Ray edited this pag ...

  5. nVIDIA SDK White Paper ----Vertex Texture Fetch Water

    http://blog.csdn.net/soilwork/article/details/713842 nVIDIA SDK White Paper ----Vertex Texture Fetch ...

  6. EOS.IO Technical White Paper v2

    [EOS.IO Technical White Paper v2] Abstract: The EOS.IO software introduces a new blockchain architec ...

  7. H.264 / MPEG-4 Part 10 White Paper-翻译

    1. Introduction Broadcast(广播) television and home entertainment(娱乐) have been revolutionised(彻底改变) b ...

  8. H.264 White Paper学习笔记(二)帧内预测

    为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...

  9. 2013=10=19 ENGLISH 翻译

    数据结构习题及答案 严蔚敏_课后习题答案 http://www.doc88.com/p-243584884293.html 273089354 随着女性获得平等权力的趋势,女性日渐增长的经济权力以及为 ...

随机推荐

  1. HttpURLConnection与HttpClient学习

    转载HttpURLConnection与HttpClient浅析 一.HttpURLConnection的使用 import org.slf4j.Logger; import org.slf4j.Lo ...

  2. postman请求失败

    注意右上角 我点亮了左边的图标,导致任何请求都没法获取到结果,后来知道是右上角的问题,然后就可以成功请求了

  3. 非接触式读卡器13.56MHZ芯片:SI522

    对于现在的智能锁市场需求竞争极大,中小型厂家月销量更是在慢慢增长.刷卡功能更是智能锁的标配功能,当然13.56Mhz芯片现在讲究的就是超低功耗,为满足市场需求专注于物联网多年的中科微强力推出了13.5 ...

  4. 使用Apache HttpClient 4.x发送Json数据

    Apache HttpClient是Apache提供的一个开源组件,使用HttpClient可以很方便地进行Http请求的调用.自4.1版本开始,HttpClient的API发生了较大的改变,很多方法 ...

  5. Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置改动及測试步骤

    測试环境:Oracle Enterprise Linux 64-bit (5.8版本号) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/ora ...

  6. printf重定向问题

    1.使用printf库函数时,要加入头文件<stdio.h> 2.另外在keil里面需要把:use MicroLIB 勾选上,不然程序没办法在线调试.编译的时候不会报错. 3.当然可以不用 ...

  7. MySQL进阶(视图)---py全栈

    目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...

  8. 偏前端-vue.js学习之路初级(一)概念

    首先--不推荐新手直接使用 vue-cli,尤其是在你还不熟悉基于 Node.js 的构建工具时.    新建一个html,引入一下js: <!-- 开发环境版本,包含了有帮助的命令行警告 -- ...

  9. 基于 HTML5 WebGL 的 3D 水泥工厂生产线

    前言 今天为大家带来一个很酷的作品,依然运用了强大的 HT for Web 的 3D 图形组件,动作流畅性能好,大家可以先来欣赏一下效果! 点我进入! 整体风格为科技金属风,制作精良,由于上传 gif ...

  10. js 刷新父页面

    //刷新父页面 window.opener.location.reload();