H.264/MPEG-4 AVC
影片壓縮標準 来自维基百科,自由的百科全书
影片壓縮標準 来自维基百科,自由的百科全书
H.264,又称为MPEG-4第10部分,高级视频编码(英語:MPEG-4 Part 10, Advanced Video Coding,缩写为MPEG-4 AVC)是一种面向块,基于运动补偿的视频编码标准 。到2014年,它已经成为高精度视频录制、压缩和发布的最常用格式之一。第一版标准的最终草案于2003年5月完成。
H.264/AVC项目的目的是为了创建一个更佳的视频压缩标准,在更低的比特率的情况下依然能够提供良好视频质量的标准(如,一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 )。同时,还要不会太大的增加设计的复杂性。H.264的另外一个目标是提供足够的灵活性,以允许该标准能够应用于各种各样的网络和系统的各应用上,包括低和高比特率,低和高分辨率视频,广播,DVD存储,RTP / IP分组网络和ITU-T多媒体电话系统。H.264标准可以被视为由多个不同的应用框架 / 配置文件(profiles)组成的“标准系列”。
H.264/MPEG-4 AVC是一种面向块的基于运动补偿的编解码器标准。由ITU-T视频编码专家组与ISO/IEC联合工作组——即动态图像专家组(MPEG)——联合组成的联合视频组(JVT,Joint Video Team)开发。因ITU-T H.264标准和ISO/IEC MPEG-4 AVC标准(正式名称是ISO/IEC 14496-10—MPEG-4第十部分,高级视频编码)有相同的技术内容,故被共同管理。
H.264因其是蓝光碟片的其中一种编解码标准而著名,所有蓝光碟片播放器都必须能解码H.264。它也被广泛用于网络流媒体数据如Vimeo、YouTube、以及iTunes Store,网络软件如Adobe Flash Player和Microsoft Silverlight,以及各种高清晰度電視地面電視(DVB-T、DVB-T2)、有線電視(DVB-C)以及卫星(DVB-S和DVB-S2)。
H.264/AVC项目是想创建一种视频标准。与旧标准相比,它能够在更低带宽下提供优质视频(换言之,只有MPEG-2,H.263或MPEG-4第2部分的一半带宽或更少),也不增加太多设计复杂度使得无法实现或实现成本过高。另一目的是提供足够的灵活性以在各种应用、网络及系统中使用,包括高、低带宽,高、低视频分辨率,广播,DVD存储,RTP/IP网络,以及ITU-T多媒体电话系统。
H.264标准可以被看作一个“标准家族”,成员有下面描述的各种配置(profile)。一个特定的解码器至少支持一种,但不必支持所有的。解码器标准描述了它可以解码哪些配置。
H.264的命名遵循了ITU-T的命名约定,它是VCEG视频编码标准H.26x线中的一员;MPEG-4 AVC的命名来自ISO/IEC MPEG的命名约定,它是ISO/IEC 14496的第10部分,该协议族被称为MPEG-4。该标准是作为VCEG和MPEG的一部分开发的,此前在ITU-T作为VCEG的项目,叫做H.26L。所以常用于指代此标准的名称有H.264/AVC,AVC/H.264,H.264/MPEG-4 AVC,或MPEG-4/H.264 AVC,以强调共同遗产。有时,也用“JVT编解码”指代它,以指明是JVT(联合开发组)组织开发的。(这种伙伴关系和多命名并不少见。例如,视频编码标准MPEG-2也出现在MPEG和ITU-T的伙伴关系中,MPEG-2视频在ITU-T社区中称作H.262。[1])一些软件(如VLC media player)内部标识此标准为AVC1。
H.264/AVC标准化的第一个版本于2003年5月完成。在第一个扩展原始标准的项目中,JVT开发了高精度拓展(Fidelity Range Extensions,FRExt)。該拓展通過支持更高的像素精度(包括10位元和12位元像素精度)和支持更高的色度抽樣率(包括YUV 4:2:2和YUV 4:4:4)來支持更高精度的視頻編碼。該拓展加入了一些新的特性(比如自適應的4x4和8x8的整數變換,用戶自定義量化加權矩陣,高效的幀間無失真編碼,支持新增的色度空間和色度參差變換)。該拓展的設計於2004年7月完成,草案也於2004年9月完成。
对标准进一步的最新扩展包括:增加五个新的配置,主要用于专业应用;增加扩展全范围(extended-gamut)色彩空间的支持;定义附加长宽比标识;定义“补充增强信息”的两个附加类型(滤波后提示和色调映射);以及废弃一个根据产业反馈应该另行设计的早期FRExt配置。
接着加入标准的主要特性是可适应视频编码(Scalable Video Coding,SVC)。据H.264/AVC附件G,SVC允许码流结构中包含遵循标准的子码流,这种称作“基础层”的码流要能够为不支持SVC的H.264/AVC编解码器所解码。为达成在时间上的可适应性,在推导子码流时,从码流中移除了完整访问单元(complete access unit)。这种情况下,要按相应方式来构造码流中的高层语法和帧间预测参考帧。另一方面,为达成空间和质量的可适应性(换言之,低分辨率/低质量作为子码流而不是主码流),推导子码流时移除了NAL(网络抽象层)。这种情况下,层间预测(暨,从低分辨率/低质量信号数据中预测高分辨率/高质量信号)常被用于提高编码效率。可适应视频编码扩展于2007年11月完成。
下一个加入标准的主要特性是多视图编码(Multiview Video Coding,MVC)。据H.264/AVC附件H,MVC使得码流结构可以表达一个视频场景的不止一个视图。该功能的一个重要例子是3D立体视频编码。MVC的工作中开发了两个配置:多视图高配置(Multiview High Profile)支持任意数量的视图,立体高配置(Stereo High Profile)是为双视图立体视频特别设计的。多视图编码扩展于2009年11月完成。
![]() |
H.264/AVC包含了一系列新的特徵,使得它比起以前的編解碼器不但能夠更有效的進行編碼,還能在各種網絡環境下的應用中使用。這些新特性包括:
上述這些技術,與其它技術的結合,使得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的專利許可。
當時競爭的兩種下一代光碟格式技術,都已經計劃在2005年下半年,將H.264/MPEG-4 AVC作為必需的編碼格式,包括:
歐洲的數位電視廣播(DVB)標準組織,於2004年下半年通過了採用H.264/MPEG-4 AVC於歐洲地區進行數位電視廣播,而法國總理讓-皮埃爾·拉法蘭於2004年宣佈法國將會選用H.264/MPEG-4 AVC作為高畫質電視接收器和數位電視地面廣播服務的付費電視頻道的一項要求。
另外,美國正在考慮使用H.264/MPEG-4 AVC,作為數位電視地面廣播的視訊編碼規格。
至於亞洲地區,日本所採用的ISDB數位電視廣播制式,提供的ISDB行動電視廣播服務,使用了H.264/MPEG-4 AVC編碼,而其中包括了以下的電視台:
在台灣以DVB-T數位電視廣播格式進行高解析度無線數位電視頻道,自2020年10月12日起,均採用H.264/MPEG-4 AVC作為視訊編碼格式。
香港的無綫電視、港台電視與香港電視娛樂的所有频道都使用H.264/MPEG-4 AVC作為編碼制式。[4]
澳門方面,澳廣視的所有自家及轉播頻道均採用H.264作為視訊編碼格式。
韓國也正在考慮改使用H.264/MPEG-4 AVC,作為數位電視無線廣播的視訊編碼規格。
衛星數碼電視廣播方面,以下數間服務供應商亦採用了該編碼標準,包括:
南京电信在南京推广的IPTV业务由于受带宽限制,将原有4M左右码流的MPEG-2格式的标清卫星节目用H.264重新编码约为2.23M码流的节目播放。
第三代移動通信合作組織(3GPP)已經在第六次發佈中批准H.264/AVC作為其移動多媒體電話服務標準的可選技術。
美國國防部下的運動圖像標準協會(MISB for The Motion Imagery Standards Board)已經接受H.264/AVC為其核心應用的推薦視頻編解碼器。
互聯網工程工作小組(IETF)已經完成了一個負載打包格式(RFC 3984)作為在其實時傳輸協議(RTP)上傳輸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將很可能被各種視頻點播服務(Video-On-Demand,VOD)使用,用來在互聯網上提供電影和電視節目直接到個人電腦的點播服務。
有幾家公司正在製作能夠對H.264/AVC視頻進行解碼的可編程芯片。2005年1月,博通(Broadcom)的BCM7411、科胜讯公司(Conexant)的CX2418X、Neomagic的MiMagic 6和意法半導體(STMicroelectronics)的STB7100等幾家公司推出的產品都提供了可供測試的樣片。Sigma Designs預計在2005年3月提供樣片。這些芯片的出現將極大的推動低成本的能夠播放標準畫質和高畫質分辨率的H.264/AVC視頻的快速推廣。除了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組播用的標準畫質實時編碼器和離線的高畫質(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在硬件上提供對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中。
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硬件加速解碼。
Matrox公司推出的Matrox Mxo2 mini with MAX產品提供了H.264加速運算的功能,可以更快的輸出檔案。
Level | 最大解碼速度 | 最大幀率 | 最大視頻編碼層比特率[a] | 高解析度@ 最高幀率 切換詳細資訊
| ||
---|---|---|---|---|---|---|
Luma samples/s | Macroblocks/s | 明亮度 | 宏區塊 | |||
1 | 380,160 | 1,485 | 25,344 | 99 | 64 | 128×96@30 176×144@15
|
1b | 380,160 | 1,485 | 25,344 | 99 | 128 | 128×96@30 176×144@15
|
1.1 | 768,000 | 3,000 | 101,376 | 396 | 192 | 128x96@60 352×288@7.5
176×144@30 |
1.2 | 1,536,000 | 6,000 | 101,376 | 396 | 384 | 128x96@120 352×288@15
176×144@60 |
1.3 | 3,041,280 | 11,880 | 101,376 | 396 | 768 | 128x96@172 352×288@30
176×144@120 |
2 | 3,041,280 | 11,880 | 101,376 | 396 | 2,000 | 128x96@172 352×288@30
176x144@120 |
2.1 | 5,068,800 | 19,800 | 202,752 | 792 | 4,000 | 176x144@172 352×576@25
352×240@60 352×288@50 352×480@30 |
2.2 | 5,184,000 | 20,250 | 414,720 | 1,620 | 4,000 | 176×144@172 720×576@12.5
352×480@30 352×576@25 720×480@15 |
3 | 10,368,000 | 40,500 | 414,720 | 1,620 | 10,000 | 176×144@172 720×576@25
352×240@120 352×480@60 720×480@30 |
3.1 | 27,648,000 | 108,000 | 921,600 | 3,600 | 14,000 | 352x288@172 1,280×720@30
352x576@130 640x480@90 720×576@60 |
3.2 | 55,296,000 | 216,000 | 1,310,720 | 5,120 | 20,000 | 640x480@172 1,280×720@60
720x480@160 720x576@130 |
4 | 62,914,560 | 245,760 | 2,097,152 | 8,192 | 20,000 | 720x480@172 2,048×1,024@30
720x576@150 1,280×720@60 |
4.1 | 62,914,560 | 245,760 | 2,097,152 | 8,192 | 50,000 | 720x480@172 2,048×1,024@30
720x576@150 1,280×720@60 |
4.2 | 133,693,440 | 522,240 | 2,228,224 | 8,704 | 50,000 | 720x576@172 2,048×1,080@60
1,280×720@140 |
5 | 150,994,944 | 589,824 | 5,652,480 | 22,080 | 135,000 | 1,024×768@172 3,680×1,536@25
1,280×720@160 2,048×1,080@60 2,560×1,920@30 |
5.1 | 251,658,240 | 983,040 | 9,437,184 | 36,864 | 240,000 | 1,280×720@172 4,096×2,048@30
1,920×1,080@120 2,048×1,536@80 |
5.2 | 530,841,600 | 2,073,600 | 9,437,184 | 36,864 | 240,000 | 1,920×1,080@172 4,096×2,160@60
2,048×1,536@160 |
6 | 1,069,547,520 | 4,177,920 | 35,651,584 | 139,264 | 240,000 | 2,048×1,536@300 8,192×4,320@30
4,096×2,160@120 |
6.1 | 2,139,095,040 | 8,355,840 | 35,651,584 | 139,264 | 480,000 | 2,048×1,536@300 8,192×4,320@60
4,096×2,160@240 |
6.2 | 4,278,190,080 | 16,711,680 | 36,651,584 | 139,264 | 800,000 | 4,096*2,304@300 8,192×4,320@120
|
The maximum bit rate for High Profile is 1.25 times that of the Base/Extended/Main Profiles, 3 times for Hi10P, and 4 times for Hi422P/Hi444PP.
The number of luma samples is 16x16=256 times the number of macroblocks (and the number of luma samples per second is 256 times the number of macroblocks per second).