home > theory > CG-CV-IP >

視頻編碼簡史:H.263/H.264/H.265和MPEG2/MPEG4以及VP9,H264優點

author:[email protected]    hits:

高清編碼標準有:MPEG-2、H 264、VC-1、H 265、VP9,這些標準是怎么來的呢?各種標準有什么優勢呢?

首先推薦閱讀《水煮RGB與CMYK色彩模型—色彩與光學相關物理理論淺敘》、《色彩空間HSL/HSV/HSB理論,RGB與YUV如何轉換》、《三色視者與四色視者身后的理論基礎:色彩原理》、《視頻采樣,量化,編碼,壓縮,解碼相關技術原理學習筆記 》、《視頻文件格式知多少? mpeg、wmv、flv、rmvb、avi、mp4、mov、ProRes、DNxHR、mfx、mkv、webm... 》

高清編碼標準有:MPEG-2、H.264、VC-1,其中H.264也叫MPEG-4 AVC,有兩個名字是因為早前它是由兩個組織命名的,國際電聯ITUT-T、ISO/IEC國際標準化組織分別給它取了名字,不論是MPEG-4 AVC、MPEG-4 Part 10,還是ISO/IEC 14496-10,都是指H.264。VC-1也有很多稱呼,比如Windows Media Video 9。

先來熟悉幾個組織

  • ITU,國際電報聯盟(International Telegraph Union),1865年成立

  • IEC,國際電工委員會(The International Electrotechnical Commission),1906年成立

  • ISO,國際標準化組織(International Organization for Standardization),1947年成立,就是推出ISO9001質量認證的那個

  • MPEG,動態圖像專家組(Moving Picture Expert Group),1988年由ISO和IEC聯合成立的一個專家組,負責開發電視圖像數據和聲音數據的編碼、解碼和它們的同步等標準。

  • JVT,視頻聯合工作組(oint Video Team),由ITU和ISO/IEC聯合成立

世界上主流的視頻編碼標準,基本上都是它們提出來的。

  • ITU提出了H.261、H.262、H.263、H.263+、H.263++,這些統稱為H.26X系列,主要應用于實時視頻通信領域,如會議電視、可視電話等。

  • ISO/IEC聯合專家組MPEG提出了MPEG1、MPEG2、MPEG4、MPEG7、MPEG21,統稱為MPEG系列。

ITU和ISO/IEC一開始是各自搗鼓,后來,兩邊成立了一個聯合小組,名叫JVT(Joint Video Team,視頻聯合工作組)

JVT致力于新一代視頻編碼標準的制定,后來推出了包括H.264在內的一系列標準

H.264如何成為主流標準的

MPEG-2出道時間早,壓縮比小,占用空間大,影響也是最低的,H.264與VC-1是720p、1080p高清視頻編碼的主流,壓縮比上雖然VC-1>H.264>MPEG-2,但是影響最大、使用最多的還是H.264標準,VC-1一家獨大及局限于Windows平臺的缺陷還是讓廠商有些忌憚。

H.264在1997年ITU的視頻編碼專家組提出時被稱為H.26L,在ITU與ISO合作研究后被稱為MPEG4 Part10或H.264(JVT)。

H.264視頻編碼標準的技術特點

  1. 更高的編碼效率:同H.263等標準的特率效率相比,能夠平均節省大于50%的碼率。

  2. 高質量的視頻畫面:H.264能夠在低碼率情況下提供高質量的視頻圖像,在較低帶寬上提供高質量的圖像傳輸是H.264的應用亮點。

  3. 提高網絡適應能力:H.264可以工作在實時通信應用(如視頻會議)低延時模式下,也可以工作在沒有延時的視頻存儲或視頻流服務器中。

  4. 采用混合編碼結構:同H.263相同,H.264也使用采用DCT變換編碼加DPCM的差分編碼的混合編碼結構,還增加了如多模式運動估計、幀內預測、多幀預測、基于內容的變長編碼、4x4二維整數變換等新的編碼方式,提高了編碼效率。

  5. H.264的編碼選項較少:在H.263中編碼時往往需要設置相當多選項,增加了編碼的難度,而H.264做到了力求簡潔的“回歸基本”,降低了編碼時復雜度。

  6. H.264可以應用在不同場合:H.264可以根據不同的環境使用不同的傳輸和播放速率,并且提供了豐富的錯誤處理工具,可以很好的控制或消除丟包和誤碼。

  7. 錯誤恢復功能:H.264提供了解決網絡傳輸包丟失的問題的工具,適用于在高誤碼率傳輸的無線網絡中傳輸視頻數據。

  8. 較高的復雜度:264性能的改進是以增加復雜性為代價而獲得的。據估計,H.264編碼的計算復雜度大約相當于H.263的3倍,解碼復雜度大約相當于H.263的2倍。

H.264標準的主要目標是:與其它現有的視頻編碼標準相比,在相同的帶寬下提供更加優秀的圖象質量。

H.264最大的優勢體現在以下四個方面:

  1. 將每個視頻幀分離成由像素組成的塊,因此視頻幀的編碼處理的過程可以達到塊的級別。

  2. 采用空間冗余的方法,對視頻幀的一些原始塊進行空間預測、轉換、優化和熵編碼(可變長編碼)。

  3. 對連續幀的不同塊采用臨時存放的方法,這樣,只需對連續幀中有改變的部分進行編碼。該算法采用運動預測和運動補償來完成。對某些特定的塊,在一個或多個已經進行了編碼的幀執行搜索來決定塊的運動向量,并由此在后面的編碼和解碼中預測主塊。

  4. 采用剩余空間冗余技術,對視頻幀里的殘留塊進行編碼。例如:對于源塊和相應預測塊的不同,再次采用轉換、優化和熵編碼。

H.264具體優勢表現為:


  1. 低碼流:和MPEG2和MPEG4 ASP等壓縮技術相比,在同等圖像質量下,采用H.264技術壓縮后的數據量只有MPEG2的1/8,MPEG4的1/3。顯然,H.264壓縮技術的采用將大大節省用戶的下載時間和數據流量收費。

  2. 高質量的圖象:H.264能提供連續、流暢的高質量圖象(DVD質量)。

  3. 容錯能力強:H.264提供了解決在不穩定網絡環境下容易發生的丟包等錯誤的必要工具。

  4. 網絡適應性強:H.264提供了網絡適應層, 使得H.264的文件能容易地在不同網絡上傳輸(例如互聯網,CDMA,GPRS,WCDMA,CDMA2000等)。

H.264和以前的標準一樣,也是DPCM加變換編碼的混合編碼模式。但它采用“回歸基本”的簡潔設計,不用眾多的選項,獲得比H.263++好得多的壓縮性能;加強了對各種信道的適應能力,采用“網絡友好”的結構和語法,有利于對誤碼和丟包的處理;應用目標范圍較寬,以滿足不同速率、不同解析度以及不同傳輸(存儲)場合的需求。

相比以往的方案使得在同等速率下,H.264能夠比H.263減小50%的碼率。也就是說,用戶即使是只利用 384kbit/s的帶寬,就可以享受H.263下高達 768kbit/s的高質量視頻服務。H.264 不但有助于節省龐大開支,還可以提高資源的使用效率,同時令達到商業質量的實時視頻服務擁有更多的潛在客戶。

H.264尤其適合互聯(包括移動互聯網)的實時視頻領域

H.264 草案中包含了用于差錯消除的工具,便于壓縮視頻在誤碼、丟包多發環境中傳輸,如移動信道或IP信道中傳輸的健壯性。

為了抵御傳輸差錯,H.264視頻流中的時間同步可以通過采用幀內圖像刷新來完成,空間同步由條結構編碼(slice structured coding)來支持。同時為了便于誤碼以后的再同步,在一幅圖像的視頻數據中還提供了一定的重同步點。另外,幀內宏塊刷新和多參考宏塊允許編碼器在決定宏塊模式的時候不僅可以考慮編碼效率,還可以考慮傳輸信道的特性。

除了利用量化步長的改變來適應信道碼率外,在H.264中,還常利用數據分割的方法來應對信道碼率的變化。從總體上說,數據分割的概念就是在編碼器中生成具有不同優先級的視頻數據以支持網絡中的服務質量QoS。例如采用基于語法的數據分割(syntax-based data partitioning)方法,將每幀數據的按其重要性分為幾部分,這樣允許在緩沖區溢出時丟棄不太重要的信息。還可以采用類似的時間數據分割(temporal data partitioning)方法,通過在P幀和B幀中使用多個參考幀來完成。

在無線通信的應用中可以通過改變每一幀的量化精度或空間/時間分辨率來支持無線信道的大比特率變化。可是,在多播的情況下,要求編碼器對變化的各種比特率進行響應是不可能的。因此,不同于MPEG-4中采用的精細分級編碼FGS(Fine Granular Scalability)的方法(效率比較低),H.264采用流切換的SP幀來代替分級編碼。

1080P及4G普及后的H.265

后1080p視頻時代則是到了4G時代,H.264不能滿足市場需求。

JVT提出的HEVC,也就是現在風頭正盛的H.265。作為一種的編碼標準,相比H.264有極大的性能提升,目前已經成為最新視頻編碼系統的標配。


視頻編碼標準的發展關系

H.265也叫HEVC,2012年就已經完成了標準制定工作。與H.264相比,H.265的最大本領是可以在維持畫質基本不變的前提下,讓數據傳輸帶寬減少至H.264的一半同時其還支持最高為7680*4320的分辨率,因此即使是2160P甚至是更高級別的超高清視頻同樣可以通過H.265格式進行編碼。

H.265在互聯網中的困境

互聯網霸主google不支持H.265,推自家孩子VP9。因為VP9有VP8進化而來,VP8 是類似于 H.264 的另一種視頻編碼,由 On2 公司開發。后來 Google 收購了 On2,因此 VP8 現在歸 Google 所有,2010 年中的時候 Google 宣布將 VP8 永久免費。先對比下H.264和VP8

  • 采用 H.264 視頻編碼和 AAC 音頻編碼的 MP4 文件(H.264/AAC/MP4 組合)

  • 采用 VP8 視頻編碼和 Vorbis 音頻編碼的 WebM 文件(VP8/Vorbis/WebM 組合)

AAC(Advanced Audio Coding)是由Fraunhofer IIS-A、杜比和AT&T共同開發的一種音頻格式,它是MPEG-2規范的一部分。MP3(MPEG 1 Layer 3)的主要發明者Fraunhofer IIS(德國弗勞恩霍夫集成電路研究所),2017年宣布終止允許公司創建MP3編碼器和解碼器的許可程序(1993年誕生的MP3格式終究還是不敵1997年誕生的AAC)。

Vorbis 是由非盈利組織 Xiph 開發的一種免費、開源的音頻編碼。業界的普遍共識是 Vorbis 是和 AAC 一樣優秀、用以替代 MP3 的下一代音頻壓縮技術。由于 Vorbis 是免費、開源的,并且沒有 AAC 的專利問題

WebM 是 Google 基于開源容器格式 Matroska(.mkv 很多朋友應該不陌生)而專門開發的一種新型容器格式。其目的是用來封裝 VP8 編碼的視頻和 Vorbis 編碼的音頻數據以供網絡媒體使用。

免費瀏覽器廠商如 Mozilla 和 Opera 強烈反對將 H.264 列為 HTML5 視頻標準。因為這意味著 Mozilla 和 Opera 如果要支持 HTML5 標準,那么他們必須支付相關的授權費。且不說這做法和其信條相去甚遠,Mozilla 沒有從其開發的瀏覽器上獲得直接收入,反而需要付出相應成本才能自由分發其瀏覽器產品;Opera 則抱怨說 H.264 的授權費太貴。因此兩者都認為不可接受。由于各方爭執不下,最后在 2007 年底的時候 HTML5 標準放棄了制定統一的視頻格式的努力,將選擇的自由留給了瀏覽器廠商。

H.265 繼承了 H.264 的視頻編碼標準體系,多使用于安防、軍政、企業等場景中,但由于其專利持有者過多,導致其商用費用過高,在推廣中面臨較大阻力。跟H.264中,在互聯行業中,個人覺得應該沒有多少席位。

VP9的崛起

由 Google 研發,可以免費使用VP9,進入人們的視野。但是在實際推廣中,微軟、蘋果等公司不愿看到 VP9 一家獨大,其他互聯網廠商也不希望主流視頻編碼格式被壟斷,因此目前在主要在 Google 自家的產品中得到支持,其他使用 VP9 的大廠并不多。

但是就互聯網的尿性來講,開源免費才是主流。所以雖然H.265 在企業、安防中使用較為廣泛,但VP9 因其簡易、實用的解決方案以及開發免費的特性在互聯網應用場景中使用非常多

參考文章:

HEVC,VP9,x264性能對比 https://blog.csdn.net/leixiaohua1020/article/details/19014955

認識主流視頻編碼技術H.264 www.52im.net/thread-237-1-1.html

視頻編碼H.264、VP8的前世今生 www.52im.net/thread-274-1-1.html

硬解誰主沉浮,私人影院級享受的4K視頻體驗 https://www.expreview.com/32376-2.html

AAC、MP3、WMA、OGG幾種音頻格式的對比 www.leawo.cn/space-138176-do-thread-id-58841.html

轉載本站文章《視頻編碼簡史:H.263/H.264/H.265和MPEG2/MPEG4以及VP9,H264優點》, 請注明出處:http://www.qsexmk.tw/html/theory/CG-CV-IP/6780.html