H.264入门 - 藏经阁(封存) - 软件应用和视频技术 - MySiLU 思路...

来源:百度文库 编辑:神马文学网 时间:2024/04/29 02:00:18
[转帖]H.264入门
Apple QuickTime7一出,偶们又有了新的追求...
(甚至开始为流畅播放1080P而抓狂...)
基础知识还是要补补的~
http://zh.wikipedia.org/wiki/H.264
H.264/MPEG-4 AVC
维基百科,自由的百科全书
H.264/MPEG-4 AVC是一篇正在翻译的文章,目前翻译程度为:50%
如果您对此条目有兴趣,欢迎您继续翻译与修订 (http://zh.wikipedia.org/w/index. ... AVC&action=edit)。
原文请参考:H.264/MPEG-4 AVC
http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
H.264, 或者 MPEG-4 第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。ITU-T的H.264标准和ISO/IECMPEG-4第10部分(正式名称是ISO/IEC 14496-10)在编解码技术上是相同的,这种编解码技术也被称为AVC,即高级视频编码(Advanced Video Coding)。该标准第一版的最终草案(FD)已于2003年5月完成。
H.264是ITU-T以H.26x系列为名称命名的标准之一,同时AVC是ISO/IEC MPEG一方的称呼。这个标准通常被称之为H.264/AVC (或者 AVC/H.264 或者 H.264/MPEG-4 AVC or MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。该标准最早来自于ITU-T的称之为H.26L的项目的开发。H.26L这个名称虽然不太常见,但是一直被使用着。有时候该标准也被称之为"JVT 编解码器",这是由于该标准是由JVT组织并开发的(作为两个机构合作开发同一个标准的事情并非空前,之前的视频编码标准MPEG-2也是由MPEG和ITU-T两方合作开发的--因此MPEG-2在ITU-T的命名规范中被称之为H.262)。
H.264/AVC项目最初的目标是希望新的编解码器能够在比相对以前的视频标准(比如MPEG-2或者H.263)低很多的码率下(比如说,一半或者更少)提供很好的视频质量;同时,并不增加很多复杂的编码工具,使得硬件难以实现。另外一个目标是可适应性,即该编解码器能够在一个很广的范围内使用(比如说,即包含高码率也包含低码率,以及不同的视频分辨率),并且能在各种网络和系统上(比如组播,DVD存储,RTP/IP包网络,ITU-T多媒体电话系统)工作。
JVT最近完成了一个对原标准的拓展,该拓展被称为高精度拓展 (Fidelity Range Extensions, FRExt)。该拓展通过支持更高的像素精度(包括10比特和12比特像素精度)和支持更高的色度精度(包括YUV 4:2:2 和 YUV 4:4:4)来支持更高精度的视频编码。该拓展加入了一些新的特性(比如自适应的4x4和8x8的整数变换,用户自定义量化加权矩阵,高效的帧间无失真编码,支持新增的色度空间和色度参差变换)。该拓展的设计于2004年7月完成,草案也于2004年9月完成。
由于该标准的最早版本于2003年5月完成,JVT已经完成了一轮对标准的勘误工作,新一轮的勘误也已于最近完成并且得到了ITU-T的批准,不久也将被MPEG批准。
------------------------------
1 技术细节
2 专利许可
3 应用
4 Products and Implementations
5 External links
------------------------------
技术细节
H.264/AVC包含了一系列新的特征,使得它比起以前的编解码器不但能够更有效的进行编码,还能在各种网络环境下的应用中使用。这些新特性包括:
多参考帧的运动补偿。比起以前的视频编码标准,H.264/AVC以更灵活的方式使用已编码的更多帧来作为参考帧。在某些情况下,可以使用最多32个参考帧(在以前的标准里面,参考帧的数目不是1就是对B帧来说的2)。该特性对大多数场景序列都可以带来一定的码率降低或者质量提高,对某些类型的场景序列,例如快速重复的闪光,反复的剪切或者背景遮挡的情况,它能很显著的降低编码的码率。
变块尺寸运动补偿。使用最大16x16最小4x4的块来进行运动估计与运动补偿,能够对图像序列中的运动区域进行更精确的分割。
为了减少“振铃”效应并最终得到更锐化的图像,采用六抽头的滤波器来产生二分之一像素的亮度分量预测值。
宏块对结构允许场模式中采用16x16的宏块(相对于MPEG-2中的16x8)
1/4像素精度的运动补偿能够提供更高精度的运动块的预测,由于色度通常是两度抽样的1/2(参见4:2:0),这时运动补偿的精度就达到了1/8像素精度。
加权的运动预测,指在运动补偿时可以使用增加权重和偏移的办法。它能在一些特殊的场合,如淡入、淡出、淡出而后淡入等场合提供相当大的编码增益。
使用了一个环内的除块效应滤波器,能够减轻普遍存在于其他基于离散余弦变换(DCT)的视频编解码器的块效应。
一个匹配的整数4x4变换(类似于离散余弦变换的设计),同样在高精度拓展 中,一个整数8x8变换被采用,并能在4x4变换和8x8变换中进行自适应的选择。
在第一次4x4变换后,对DC系数(色度的DC系数和某种特殊状况的亮度DC系数)再进行一个哈德曼变换,使得在平滑区域得到更好的压缩效果。
利于临近块的边界像素的Intra空间预测(比曾在MPEG-2视频部分使用的直流系数预测和在[[H。263+]]和MPEG-4视频部分使用的变换系数预测的效果要好)。
基于上下文的二元算数编码 (CABAC),它能够灵活的将各种语法元素在已知相应的上下文的概率分布的状况下更有效的进行无损的熵编码。
基于上下文的变长编码 (CAVLC),用于对量化后的变化系数进行编码。比起CABAC它的复杂度相对较低,压缩比不高,但是比起以前的视频编码标准所使用的熵编码方案,它又是相当有效的。
使用一个被称为Exponential-Golomb(Exp-Golomb)的简单的熵编码方案对既不是用CABAC也不是用CAVLC的语法元素进行编码。
使用一个网络抽象层 (NAL),使得相同的视频语法可以适用于多种网络环境中;并且使用了序列参数集(SPSs)和图像参数集(PPSs)来提供更高的鲁棒性(robustness)和灵活性。
切换条带(Switching slices,包括SP和SI两种),它使得编码器能够指令解码器跳转到一个正在处理的视频码流,用来解决视频码流码率切换和"窍门模式"(Trick mode)操作。当解码器利用SP/SI条带跳转到一个视频码流中间时,除非之后的解码帧引用切换帧之前的图像作为参考帧,它都可以得到完全一致的解码重建图像。
灵活的宏块排列模式(FMO for Flexible macroblock ordering,也被称为条带组slice groups技术)和任意条带排列(ASO for arbitrary slice ordering)模式,用来更改图像编码的最基本单位-宏块的编码顺序。它能够用来提高有绕信道下码流的鲁棒性(robustness)以及一些其它的目的。
数据分区(DP for Data partitioning),能够将重要程度不同的语法元素分开打包传输,并使用非平等数据保护(UEP for unequal error protection)等技术来改善视频码流对抗信道误码/丢包的鲁棒性(Robustness).
冗余条带(RS for Redundant Slices),同样是一个提高码流鲁棒性的技术。编码器利用该技术可以发送图象某区域(或者全部)的另一个编码表示(通常是较低分辨率的编码码流)使得当主表示发生错误或者丢失的时候能够用冗余的第二个编码表示来解码。
使用了一个自动的字节码流打包方法,避免了码流中出现与开始码重复的码字。开始码是码流中用于随机访问和重建同步的码字。
补充增强信息(SEI for Supplemental Enhancement Information)和视频可用信息(VUI for Video Usability Information)增加了向视频码流中加入信息的办法,为各种应用提供了借口。
辅助图层(Auxiliary pictures), 可以用来实现某些特殊的功能,例如alpha复合(alpha compositing)。
帧编号,使用该功能支持创建一个视频序列的子序列(支持实现时域的可伸缩性),还支持对丢失的整帧图像(由于网络丢包或者信道误码造成的)进行检测和隐藏。
图像顺序计数,使用该功能使得各帧图像的顺序和解码图像的像素值与时间信息无关(即使用一个单独的系统对时间信息进行传输、控制、更改,从而不影响解码图像的像素值。)
上述这些技术,和一些其它的技术一起,使得H.264比起以前的视频编解码能够带来性能上显著的提高,并在各种不同的环境下支持更广泛的应用。H.264在压缩性能上比起MPEG-2有很大的提高,在相同的图像质量下可以,码率可以减少到一半或者更少。
和MPEG的其它视频标准一样,H.264/AVC也提供了一个参考软件,并可以免费下载。它的主要目的是提供一个演示H.264/AVC各种功能的演示平台,而不是作为一个直接的应用平台(在后面的链接部分可以找到下载的地址)。目前在MPEG也同时在进行一些硬件参考设计的实现。
专利许可
As with MPEG-2 Parts 1 and 2 and MPEG-4 Part 2, the vendors of H.264/AVC products and services are expected to pay patent licensing royalties for the patented technology that their products use. The primary source of licenses for patents applying to this standard is a private organization known as MPEG-LA (http://www.mpegla.com/avc/), LLC (which is not affiliated in any way with the MPEG standardization organization, but which also administers patent pools for MPEG-2 Part 1 Systems, MPEG-2 Part 2 Video, MPEG-4 Part 2 Video, and other technologies).
应用
竞争下一代DVD格式的两种主要技术都计划在2005下半年将H.264/AVC HP作为必须的播放器特征加入进来,包括:
DVD论坛制订的HD-DVD格式
蓝光协会(BDA)制订的蓝光光盘Blu-ray Disc格式
欧洲的数字电视广播(DVB)标准组织在2004下半年通过了采用H.264/AVC在欧洲进行电视广播。
2004下半年,法国首相Jean-Pierre_Raffarin宣布在法国选用H.264/AVC作为HDTV接收器和数字电视地面广播服务的付费电视频道的一项要求。
美国的ATSC标准组织正在考虑可能在美国的电视广播中采用H.264/AVC。
韩国的数字多媒体广播(DMB)服务将采用H.264/AVC。
Mobile-segment terrestrial broadcast services of ISDB-T in Japan will use the H.264/AVC codec, including major broadcasters:
NHK
Tokyo Broadcasting System (TBS)
Nippon Television (NTV)
TV Asahi
Fuji TV
TV Tokyo
Direct broadcast satellite TV services will use the new standard, including:
News Corp. / DirecTV (in the United States)
Echostar / Dish Network / Voom TV (in the United States)
Euro1080 (in Europe)
Premiere (in Germany)
BSkyB (in the United Kingdom and Ireland)
The 3rd Generation Partnership Project (3GPP) has approved the inclusion of H.264/AVC as an optional feature in release 6 of its mobile multimedia telephony services specifications.
The Motion Imagery Standards Board (MISB) of the United States Department of Defense (DoD) has adopted H.264/AVC as its preferred video codec for essentially all applications.
The Internet Engineering Task Force (IETF) has completed a payload packetization format (RFC 3984) for carrying H.264/AVC video using its Real-time Transport Protocol (RTP).
The Internet Streaming Media Alliance (ISMA) has adopted H.264/AVC for its new ISMA 2.0 specifications.
The Moving Picture Experts Group (MPEG) has fully integrated support of H.264/AVC into its system standards (e.g., MPEG-2 and MPEG-4 systems) and its ISO media file format specification.
The International Telecommunications Union-Telecom. Standardization Sector (ITU-T) has adopted H.264/AVC in its H.32x suite of multimedia telephony systems specifications. Based on the ITU-T standards, H.264/AVC is already widely used for videoconferencing, including its support in products of the two main companies in that market (Polycom and Tandberg). Essentially all new videoconferencing products now include support for H.264/AVC.
H.264 will probably be used by various video-on-demand services on the Internet to provide films and television shows directly to computers.
Products and Implementations(略)
External links
......
Apple's H.264 Gallery