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批准。
目录 |
[编辑] 技术细节
H.264/AVC包含了一系列新的特征,使得它比起以前的编解码器不但能够更有效的进行编码,还能在各种网络环境下的应用中使用。这些新特性包括:
- 多参考帧的运动补偿。比起以前的视频编码标准,H.264/AVC以更灵活的方式使用已编码的更多帧来作为参考帧。在某些情况下,可以使用最多32个参考帧(在以前的标准里面,参考帧的数目不是1就是对B帧来说的2)。该特性对大多数场景序列都可以带来一定的码率降低或者质量提高,对某些类型的场景序列,例如快速重复的闪光,反复的剪切或者背景遮挡的情况,它能很显著的降低编码的码率。
- 变块尺寸运动补偿。可使用最大16x16至最小4x4的块来进行运动估计与运动补偿,能够对图像序列中的运动区域进行更精确的分割。
- 为了减少锯齿(en:Aliasing)并得到更锐化的图像,采用六抽头的滤波器来产生二分之一像素的亮度分量预测值。
- 宏块对结构允许场模式中采用16x16的宏块(相对于MPEG-2中的16x8)。
- 1/4像素精度的运动补偿能够提供更高精度的运动块预测,由于色度通常是亮度抽样的1/2(参见4:2:0),这时运动补偿的精度就达到了1/8像素精度。
- 加权的运动预测,指在运动补偿时可以使用增加权重和偏移的办法。它能在一些特殊的场合,如淡入、淡出、淡出而后淡入等情況提供相当大的编码增益。
- 使用了一个环内的除块效应滤波器,能够减轻普遍存在于其他基于离散余弦变换(DCT)的视频编解码器的块效应。
- 一个匹配的整数4x4变换(类似于离散余弦变换的设计),同样在高精度拓展 中,采用整数8x8变换,并能在4x4变换和8x8变换中进行自适应的选择。
- 在第一次4x4变换后,对DC系数(色度的DC系数和某种特殊状况的亮度DC系数)再进行一次Hadamard变换,使得在平滑区域得到更好的压缩效果。
- 利用临近块的边界像素的Intra空间预测(比曾在MPEG-2视频部分使用的直流系数预测和在H.263+和MPEG-4视频部分使用的变换系数预测的效果要好)。
- 基于上下文的二元算数编码 (CABAC),它能够灵活的将各种语法元素,在已知相应上下文概率分布的状况下进行更有效的无损熵编码。
- 基于上下文的变长编码 (CAVLC),用于对量化后的变化系数进行编码。比起CABAC它的复杂度相对较低,压缩比不高,但是比起以前的视频编码标准所使用的熵编码方案,它又是相当有效的。
- 对既不是用CABAC也不是用CAVLC的语法元素,使用Exponential-Golomb(Exp-Golomb)熵编码方案,进行编码。
- 使用一个网络抽象层 (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也同时在进行一些硬件参考设计的实现。
[编辑] 专利许可
和MPEG-2第一部分、第二部分,MPEG-4 第二部分一样,使用H.264/AVC的产品制造商和服务提供商需要向他们的产品所使用的专利的持有者支付专利许可费用。这些专利许可的主要来源是一家称为MPEG-LA,LLC的私有组织(实际上该组织和MPEG标准化组织没有任何关联,但是该组织也管理着MPEG-2第一部分系统、第二部分视频、MPEG-4第二部分视频和其它一些技术的专利许可)。部分其他的專利許可則需要向另一家稱為VIA Licensing的私有組織申請,這家公司另外也管理偏向音頻壓縮的標準如MPEG-2 AAC及MPEG-4 Audio的專利許可。
[编辑] 应用
竞争下一代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。
在日本使用数字广播集成服务ISDB-T提供的移动分区地上广播服务将使用H.264/AVC 编解码器,包括主要的广播服务提供商:
直接卫星广播Direct broadcast satellite服务将使用该标准,包括:
- News Corp./DirecTV (在美国)
- Echostar / Dish Network / Voom TV (在美国)
- Euro1080 (在 欧洲)
- Premiere (在 德国)
- BSkyB (in the 英国 and 爱尔兰)
第三代移动通信合作组织(3GPP)已经在第六次发布中批准H.264/AVC作为其移动多媒体电话服务标准的可选技术。
美国国防部(DoD for United States Department of Defense)下的运动图像标准协会(MISB for The Motion Imagery Standards Board)已经接受H.264/AVC为其核心应用的推荐视频编解码器。
因特网工程工作小组(IETF for Internet Engineering Task Force)已经完成了一个负载打包格式(RFC 3984)作为在其实时传输协议(RTP for Real-time Transport Protocol)上传输H.264/AVC码流的打包办法。
互联网流媒体协会(ISMA for Internet Streaming Media Alliance)已经接受H.264/AVC作为其ISMA 2.0的技术规范。
MPEG组织将H.264/AVC完全的集成进入了它的系统协议(例如MPEG-2 和MPEG-4 系统)和ISO媒体格式协议。
国际电信联盟ITU-T标准组已经采纳H.264/AVC 作为其H.32x系列的多媒体电话系统的系统规范的一部分。ITU-T的采纳,使得H264/AVC 已经被广泛的使用在视频会议系统中,并获得了视频电话主要的两家产品提供商(Polycom和Tandberg 的支持。实际上所有新的视频会议产品都支持H.264/AVC。
H.264将很可能被各种-{A|zh-cn:视频点播;zh-tw:隨選視訊}-服务(Video-On-Demand,VOD)使用,用来在互联网上提供电影和电视节目直接到个人电脑的点播服务。
[编辑] 产品和实现
有几家公司正在制作能够对H.264/AVC视频进行解码的可编程芯片。2005年1月,Broadcom (the BCM7411), Conexant (the CX2418X), Neomagic (MiMagic 6)和STMicroelectronics (the STB7100)几家公司都提供了可供测试的样片。 Sigma Designs 预计在2005年3月提供样片。这些芯片的出现将极大的推动低成本的能够播放标清和高清分辨率的H.264/AVC 视频的快速推广。这5种芯片中的4种(除了Neomagic的芯片,它是针对低能耗应用的)都具有播放高清分辨率视频的能力,而且大部分都将支持标准中的High Profile。
苹果公司已经将H.264集成进入Mac OS X版本v10.4(昵称老虎:Tiger),并于2005年5月发布了支持H.264的QuickTime版本7.0。2005年4月苹果公司升级了软件DVD Studio Pro以支持授权的高清格式的内容。该软件支持将HD-DVD格式的内容刻录到标准DVD或者HD-DVD媒体(虽然现在还没有对应的刻录机)上。为了播放刻录在标准DVD上的HD-DVD内容,所需要的硬件是PowerPC G5,软件是Apple DVD Player v4.6, 以及 Mac OS X v10.4 或者更新。
Envivio公司已经可以提供针对H.264组播用的标清-{A|zh-cn:实时;zh-tw:即時}-编码器和离线的-{A|zh-cn:高清;zh-tw:高清晰度}-(720p, 1080i, 1080p)编码器。Envivio公司同时提供针对windows、Linux和Macintosh平台的H.264解码器,H.264视频服务器和授权工具。
Modulus Video 公司提供广播、电话用广播质量的H.264标清实时编码器,并宣布将与2005年中提供高清实时编码器(ME6000)。该公司曾在2004年4月在NAB上演示过高清实时编码器,并获得"Pick Hit"奖项。该公司使用LSI Logic的技术。
Tandberg television公司推出了EN5990实时编码器。DirecTV和BSkyB已经把EN5990编码器用于它们的卫星直播服务(DBS)。
Harmonic(哈雷)也推出了它们的实时编码器(型号:DiviCom MV 100)。TF1 (法国的广播商)和Video Networks Limited (VNL)在伦敦的家用视频点播服务已经宣布使用该产品。 佩斯公司(Pace Micro)为一些主要的直播卫星公司提供了机顶盒。
Sony公司的PSP(PlayStation Portable)在硬件上提供对H.264 Main Profile Level 3解码的支持。
Nero Digital公司推出的由Nero AG和Ateme共同开发的软件包提供了对H.264编码的支持,并在Doom9获得"Pick Hit"[[1]]奖项。
Sorenson 提供了H.264实现方式。相关的编解码软件Sorenson AVC Pro codec已经包含在Sorenson Squeeze 4.1 for MPEG-4中。
自由软件版x264的编解码软件采用GPL授权方式下载。
最新消息:InterVideo的WinDVD 7 于2005年6月24日正式发布。发布版本分为WinDVD 7 Gold黄金版和WinDVD 7 Platinum白金版,白金版支持H.264/MPEG-4 AVC解码播放,推荐配置为P4 3.6G。(不属于原文)
最新消息:ATi 2005年10月5日发布的Radeon X1300、X1600、X1800系列图形芯片支持H.264硬件加速解码。
[编辑] 外部链接
- http://www.fastvdo.com/spie04/ H.264/AVC综述文章,包含了新的高精度拓展(Sullivan, Topiwala, and Luthra)
- http://iphome.hhi.de/wiegand/pubs.htm 一些有关H.264/AVC的文章(Wiegand)
- http://iphome.hhi.de/marpe/pub.htm 更多的关于H.264/AVC的文章(Marpe)
- http://iphome.hhi.de/suehring/tml/ H.264/AVC参考软件
- http://www.vcodex.com/h264.html H.264/MPEG-4 Part 10教程 (Richardson)
- http://www.vcodex.com/h264mpeg4/ 书: H.264 and MPEG-4 Video Compression (Richardson)
- http://internet.impress.co.jp/books/1983/ H.264/AVC 教科书 (日文: Okubo, Kadono, Kikuchi, and Suzuki)
- http://ftp3.itu.ch/av-arch/jvt-site JVT Experts Group 文档
- http://www.mpegla.com/news/n_03-11-17_avc.html MPEG LA 关于H.264/MPEG-4 AVC专利授权的条款
- http://www.vialicensing.com/products/AVCH264VC/standard.html VIA Licensing 關於 H.264/MPEG-4 AVC 專利授權的訊息
- http://www.videolan.org/x264.html 一个基于GPL的H.264编码库,支持大部分H.264的功能
- http://www.m4if.org/ MPEG工业论坛
- http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-H.264 ITU-T 官方网页
- http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=40890&ICS1=35&ICS2=40&ICS3= H.264 ISO 官方网页
- http://www.wwcoms.com/technology/standard.htm W&W Communications H.264 概述和IEEE文章
- http://www.apple.com/quicktime/hdgallery/ 苹果公司H.264素材实例
- http://www.61ic.com/club/bbs/index.asp?boardid=27 61IC工程师H.264讨论区
|
|||
---|---|---|---|
MPEG 标准 | 由MPEG制定 | MPEG-1 | MPEG-2 | (MPEG-3) | MPEG-4 | MPEG-7 | MPEG-21 | |
ITU-T 标准 | 由VCEG制定 | H.261 | (H.262) | H.263 | H.263v2 | H.264 |