H.264/MPEG-4 AVC

維基百科,自由的百科全書
前往: 導覽搜尋

H.264/MPEG-4第10部分MPEG-4第10部分也稱為AVC,既Advanced Video Coding,高階視頻編碼)是一種視頻壓縮標準,一種被廣泛使用的高精度視頻的錄製、壓縮和發行格式。第一版標準的最終草案於2003年5月完成。

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,以及各種高畫質晰度電視陸地廣播(ATSCISDB-TDVB-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-T SB移動地面電視廣播服務,使用了H.264/MPEG-4 AVC編碼,而其中包括了以下的電視台:

台灣DVB-T數位電視廣播格式進行高解析度無線數位電視訊道,採用H.264/MPEG-4 AVC作為視訊編碼格式,而其中包括了以下的電視台:

香港方面,無線電視亞洲電視的所有頻道都使用H.264/MPEG-4 AVC作為編碼制式。[4]

澳門方面,澳廣視的轉播頻道,於2011年11月12日開始使用H.264作為視訊編碼制式(音頻編碼為MEPG-2)。

韓國也正在考慮改使用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-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加速運算的功能,可以更快的輸出檔案。

參考資料[編輯]

外部連結[編輯]