H.264,又稱為MPEG-4第10部分,進階影片編碼(英語:MPEG-4 Part 10, Advanced Video Coding,縮寫為MPEG-4 AVC)是一種面向塊,基於運動補償影片編碼標準英語Video_coding_format 。到2014年,它已經成為高精度影片錄製、壓縮和發佈的最常用格式之一。第一版標準的最終草案於2003年5月完成。

Quick Facts 狀態, 開始年 ...
Advanced Video Coding
通用視聽服務的進階影片編碼
狀態現行
開始年2003年
最新版本2019年6月
組織ITU-T, ISO, IEC
委員會VCEG, MPEG
基礎標準H.261,
H.262 (又稱 MPEG-2 Video),
H.263,
MPEG-1
有關標準H.265, H.266
領域影片壓縮
網站https://www.itu.int/rec/T-REC-H.264
Close

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。它也被廣泛用於網絡串流媒體數據如VimeoYouTube、以及iTunes Store,網絡軟件如Adobe Flash PlayerMicrosoft Silverlight,以及各種高清晰度電視地面電視DVB-TDVB-T2)、有線電視(DVB-C)以及衛星(DVB-S和DVB-S2)。

概述

H.264/AVC專案是想建立一種影片標準。與舊標準相比,它能夠在更低頻寬下提供優質影片(換言之,只有MPEG-2H.263MPEG-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也出現在MPEGITU-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/AVC以更靈活的方式使用已編碼的更多幀來作為參考幀。在某些情況下,可以使用最多32個參考幀(在以前的標準裏面,參考幀的數目不是1就是對B幀來說的2)。該特性對大多數場景序列都可以帶來一定的位元速率降低或者質素提高,對某些類型的場景序列,例如快速重複的閃光,反覆的剪下或者背景遮擋的情況,它能很顯著的降低編碼的位元速率。
  • 變塊尺寸運動補償。可使用最大16x16至最小4x4的塊來進行運動估計與運動補償,能夠對圖像序列中的運動區域進行更精確的分割。這些類型共有16×16、16×8、8×16、8×8、8×4、4×8、4×4
  • 為了減少混疊(Aliasing)並得到更銳化的圖像,採用六抽頭的濾波器(六階數字濾波器)來產生二分之一像素的亮度份量預測值。
  • 靈活的隔行掃描影片編碼(interlaced-scan video coding)。隔行掃描圖像的每幀包括兩個場,所以對於隔行掃描圖像有三種編碼方式:1、將兩場合併為一幀進行編碼;2、將兩場分別編碼;3、將兩場合併為一幀,但是在大區塊級別上,將一個幀大區塊劃分為兩個場大區塊進行編碼。以上前兩種編碼方式稱為圖像自適應幀/場編碼(Picture-adaptive frame-field, PicAFF or PAFF),第三種稱為大區塊自適應幀/場編碼(Macroblock-adaptive frame-field, MBAFF)。[2]
    • PAFF:對於一個運動圖像,由於場之間存在着較大的掃描間隔,所以幀中相鄰兩行之間的空間相關性相對於逐行掃描圖像較小,因此對兩個場分別編碼會更節省碼流。對於一個非運動圖像,相鄰兩行之間存在較大的空間相關性,將兩場合併為一幀編碼更有效。所以PAFF編碼方式可以針對整個圖像的編碼方式做自適應調整,選擇幀編碼或場編碼。
    • MBAFF:當圖像同時存在運動區域和非運動區域時,PAFF的劣勢便顯現出來,PAFF的自適應粒度太粗,無法實現滿足更加精細的編碼要求,於是MBAFF應運而生。MBAFF對幀編碼或場編碼的選擇是基於大區塊的,MBAFF將兩場合併為一幀進行編碼,但將每一個幀大區塊(16x16)劃分為場大區塊對(8x16),針對每一個幀大區塊,比較幀編碼和場編碼產生的碼流大小,使用最節省碼流的方式。
  • 1/4像素精度的運動補償能夠提供更高精度的運動塊預測,由於色度通常是亮度抽樣的1/2(參見4:2:0),這時運動補償的精度就達到了1/8像素精度。
  • 加權的運動預測,指在運動補償時可以使用增加權重和偏移的辦法。它能在一些特殊的場合,如淡入、淡出、淡出而後淡入等情況提供相當大的編碼增益。
  • 使用了一個Loop的除塊效應濾波器,能夠減輕普遍存在於其他基於離散餘弦變換DCT)的影片編解碼器的塊效應。
  • 一個匹配的整數4x4變換(類似於離散餘弦變換的設計),同樣在高精度拓展中,採用整數8x8變換,並能在4x4變換和8x8變換中進行自適應的選擇。
  • 在第一次4x4變換後,對DC系數(色度的DC系數和某種特殊狀況的亮度DC系數)再進行一次Hadamard變換,使得在平滑區域得到更好的壓縮效果。
  • 利用臨近塊的邊界像素的Intra空間預測(比曾在MPEG-2影片部分使用的直流系數預測和在H.263+MPEG-4影片部分使用的變換系數預測的效果要好)。
  • 基於上下文的二元算數編碼(CABAC),它能夠靈活的將各種語法元素,在已知相應上下文概率分佈的狀況下進行更有效的無損熵編碼。「通過序列foreman和coastguard對CABAC和CAVLC的壓縮效能進行了比較,在給定的實驗條件下得出CABAC的位元速率比CAVLC節省5%~14%,並且隨量化步長的增大,位元速率節省增多。但是CABAC計算複雜度高,耗時比CAVLC長。」[3]
  • 基於上下文的變長編碼(CAVLC),用於對量化後的變化系數進行編碼。比起CABAC它的複雜度相對較低,壓縮比不高,但是比起以前的影片編碼標準所使用的熵編碼方案,它又是相當有效的。CAVLC支援所有的H.264 profiles, CABAC則不支援Baseline以及Extended profiles.
  • 對既不是用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的專利許可。

應用

光碟儲存

當時競爭的兩種下一代光碟格式技術,都已經計劃在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英語Internet Streaming Media Alliance)已經接受H.264/AVC作為其ISMA 2.0的技術規範。

MPEG組織將H.264/AVC完全的整合進入了它的系統協定(例如MPEG-2MPEG-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公司同時提供針對windowsLinuxMacintosh平台的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 AGAteme共同開發的軟件包提供了對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硬件加速解碼。

Matrox公司推出的Matrox Mxo2 mini with MAX產品提供了H.264加速運算的功能,可以更快的輸出檔案。

設計

More information Level, 最大解碼速度 ...
最大效能級別[5]
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
176×144@30
352×288@7.5
1.2 1,536,000 6,000 101,376 396 384
128x96@120
176×144@60
352×288@15
1.3 3,041,280 11,880 101,376 396 768
128x96@172
176×144@120
352×288@30
2 3,041,280 11,880 101,376 396 2,000
128x96@172
176x144@120
352×288@30
2.1 5,068,800 19,800 202,752 792 4,000
176x144@172
352×240@60
352×288@50
352×480@30
352×576@25
2.2 5,184,000 20,250 414,720 1,620 4,000
176×144@172
352×480@30
352×576@25
720×480@15
720×576@12.5
3 10,368,000 40,500 414,720 1,620 10,000
176×144@172
352×240@120
352×480@60
720×480@30
720×576@25
3.1 27,648,000 108,000 921,600 3,600 14,000
352x288@172
352x576@130
640x480@90
720×576@60
1,280×720@30
3.2 55,296,000 216,000 1,310,720 5,120 20,000
640x480@172
720x480@160
720x576@130
1,280×720@60
4 62,914,560 245,760 2,097,152 8,192 20,000
720x480@172
720x576@150
1,280×720@60
2,048×1,024@30
4.1 62,914,560 245,760 2,097,152 8,192 50,000
720x480@172
720x576@150
1,280×720@60
2,048×1,024@30
4.2 133,693,440 522,240 2,228,224 8,704 50,000
720x576@172
1,280×720@140
2,048×1,080@60
5 150,994,944 589,824 5,652,480 22,080 135,000
1,024×768@172
1,280×720@160
2,048×1,080@60
2,560×1,920@30
3,680×1,536@25
5.1 251,658,240 983,040 9,437,184 36,864 240,000
1,280×720@172
1,920×1,080@120
2,048×1,536@80
4,096×2,048@30
5.2 530,841,600 2,073,600 9,437,184 36,864 240,000
1,920×1,080@172
2,048×1,536@160
4,096×2,160@60
6 1,069,547,520 4,177,920 35,651,584 139,264 240,000
2,048×1,536@300
4,096×2,160@120
8,192×4,320@30
6.1 2,139,095,040 8,355,840 35,651,584 139,264 480,000
2,048×1,536@300
4,096×2,160@240
8,192×4,320@60
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
Close

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).

註釋

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.