2013年1月25日,國際電信聯盟ITU正式宣佈推出新一代視頻編解碼標準ITU-T H.265 / ISO/IEC 23008-2。H.265又名HEVC(High Efficiency Video Coding),基於ITU-T H.264 / MPEG-4 AVC標準,由ITU與MPEG兩大組織合作開發,提供了更加靈活、可靠和穩定的視頻解決方案。相同品質的視頻文件,使用HEVC編碼的文件大小是H.264標準的一半,MPEG-2標準的四分之一,能夠顯著減少文件的存儲和分發成本,為更高清晰度的內容進入消費層應用鋪平了道路。
HEVC是一個開放的標準,其中使用到的技術和演算法較前兩代標準H.264和MPEG-2更為複雜,視頻流在壓縮過程中需要經過更多的選擇和運算。本文主要圍繞視頻的基本編碼方式、HEVC的具體部署、HEVC對應用市場的影響等方面進行了闡述。相信隨著HEVC標準的正式頒布,預計1至2年內市場上大部分的消費電子廠商都將在自家的設備中支援HEVC硬解碼的方式。
一、 視頻壓縮基礎
視頻壓縮的目的是為了減少視頻文件的冗余,方便視頻更高效的存儲和分發。消除視頻冗余使用的演算法組成了編碼(encode)的過程,其消耗的時間被定義為“編碼延遲”,尤其應用在直播電視分發這樣的線性工作流當中。將壓縮文件恢復至其原始狀態所使用的方法稱之為解碼(decode),壓縮和解壓縮過程的互操作性構成了編解碼(codec)的基礎。
編解碼之間的差異源於在消除視頻冗余資訊時所採用的技術各不相同。MPEG-2較H.264能夠實現不同的比特率和圖像品質。對於一個給定的編解碼標準,其解碼演算法是嚴格定義的,標準之間的不同主要取決於解碼器。
編碼器必須為解碼器提供合適的資訊,遵循特定的規格。即使是同一個標準,不同供應商之間的編碼器也各不相同,甚至同一家供應商不同產品之間的編碼器也各不相同。造成編碼器不同的原因在於供應商如何選擇部署標準中定義的工具,其影響因素包括:市場需求、特定平臺的局限、收益率等。不過,編碼器的製作一般需要經過以下幾個階段:
1. 將每一幀畫面分解成像素塊,由此處理過程可以在像素塊層面上同時進行;
2. 識別和利用每一幀中的空間冗余,通過空間預測和其他編碼技術對像素塊進行編碼;
3. 利用連續幀像素塊之間存在的時間聯繫,確保只有變化了的圖像才得到編碼。此舉可以通過運動估計和補償來實現;
4. 識別和利用每一幀中剩餘的空間冗余,通過量化、變換和熵編碼對原始像素塊與預測像素塊之間的變化進行編碼;
在編碼過程中,不同類型的視頻幀可能會使用同一個編碼器,如I-frames、P-frames、B-frames等。當組合使用這些視頻時,通過搜尋幀之間的時間和空間冗余可以降低比特率。通過使用這種方法,幀與幀之間沒有變化的物體(或者說像素、像素塊)被視為冗余,以智慧的方式進行處理。
對於體育節目這樣的高速視頻,在不同幀之間預測物體的運動較預測不同幀之間的相同資訊更為重要。通過編碼過程中的運動補償演算法,編解碼能夠考慮這樣的事實:視頻序列中新的一幀的組成取決於前面幾幀發生的事情。所以在像素塊層面上,編碼器能夠對運動物體的位置進行編碼,然後通過運動向量預測其在下一幀的位置。運動向量較整個像素塊容量更小,由此可以節約碼流中的頻寬。
I-frame,或者叫幀內編碼幀,能夠在不需要參考圖像的基礎上獨立解碼。視頻序列中的第一幅圖像通常是一幀I-frame,如果傳輸碼流受到損害,這些幀經常被用作視頻的起始點。I-frame可以用於快進、回放、場景變化監測等。I-frame的缺點是他們消耗更多的頻寬;另一方面,由於I-frame代表的是整幅圖像,他們並不會產生偽影。
P-frame,或者叫前向預測幀,需要參考先前的I-frame或者P-frame進行編碼。P-frame較I-frame使用頻寬更少,但由於其依賴先前圖像導致在傳輸時容易發生錯誤。
B-frame,或者叫雙向內插幀,既需要參考先前的幀,又需要參考後續的幀。
上述內容是視頻壓縮過程中涉及到的基本技術。在視頻壓縮和變換的過程中可能還會涉及到其他的演算法,這些演算法並不在本文討論範圍之內。
二、 HEVC的發展
與H.264標準[1]類似,HEVC是ITU-T視頻編碼組與ISO/IEC MPEG組共同努力的結果。ITU-T促進了電信標準的建立和採用,ISO/IEC則負責電子行業相關標準的管理。HEVC的主要目標包括[2][3]:
l 在視頻品質相同的條件下,較H.264平均減少50%的碼流;
l 在同碼流條件下提供更加高品質的視頻;
l 定義一個標準的規則,簡化編解碼的部署,最大限度地提高互操作性;
l 保持網路友好,即以MPEG流進行傳輸;
通過定義8-bit以及10-bit 4:2:2色域的壓縮,HEVC建立了應用的基礎,因為8-bit以及10-bit 4:2:2運用於絕大部分網際網路設備的視頻傳輸。未來12-bit以及14-bit 4:2:2和4:4:4色域的編碼將在2014年上半年完成。
H.264擁有7個profile(profile定義了一組用於創建碼流的編碼工具),HEVC僅支援3個:Main、Main 10和Main Still Picture。不過,2013年1月推出的HEVC僅僅是第一個版本(version 1),未來隨著12-bit、14-bit位深、4:2:2、4:4:4色度採樣、MVC、SVC等方面的延伸,profile還將得到進一步的擴展。
HEVC Main profile支援每一個顏色擁有8-bit深度,Main 10則支援8-bit或10-bit。由於提供了更多的深度,Main 10能夠較Main提供更高品質的視頻。Main Still Picture profile對靜態圖像以與Main相同的方式進行編碼。
HEVC同樣還定義了13個level,每一個level代表一組約束條件。13個level分成Main和High兩個組,Main組包括level 1-3.1,High組包括level 4-6.2,用於更高品質要求的應用。HEVC的level與H.264有很多的相似性,最大的不同在於增加了level 6、6.1和6.2,三者定義了支援8K視頻的需求。
三、 應用影響
由於高品質視頻需要消耗更多的頻寬,HEVC能夠帶來的好處包括[4]:
l 基於衛星、有線、IPTV部署更多的頻道;
l 降低視頻分發的成本;
l 為受制于頻寬的移動和IPTV運營商提高用戶滲透率;
l 提升OTT服務的QoE,匹配傳統廣播網分發的傳輸品質;
在移動流媒體市場,HEVC能夠降低30—50%的碼流,移動運營商在相同品質條件下無需傳輸更多的數據,節約網路分發的成本。
HEVC還能將更高清晰度的4K、8K視頻推向主流市場。4K解析度視頻的像素數量是1080p高清視頻的4倍,HEVC的高效率能夠讓4K廣播分發成為可能。
擁有大數據內容的傳媒公司同樣可以感受到HEVC帶來的好處。傳媒公司為了滿足用戶的多屏需求面臨著基礎設施建設的持續壓力。HEVC能夠將文件容量減少一半,幫助傳媒公司存儲2倍容量的視頻。
四、 HEVC的不同點
HEVC最初的目標是在給定視頻品質的條件下提供工具傳輸盡可能少的數據,其基本方針與MPEG-2和H.264十分類似。
HEVC與H.264不同點很多,其中2點作為突出:幀內預測模式更多、幀間預測分割更為精確。
(1)幀內預測與編碼
在H.264標準中,對於一個給定幀,幀內預測在4×4宏塊上有9種模式,在8×8和16×16宏塊上只有4種模式。而在HEVC標準中,類似方法的預測模式多達35種,編碼的複雜度也更高。
(2)幀間預測與編碼
H.264使用基於宏塊的運動補償,塊的大小可以調節組合以降低時間冗余。運動補償被視為編碼過程中最苛刻的部分,其部署的程度對編碼的效率擁有重要的影響。HEVC則將其帶到了一個新的高度。
HEVC使用更為高效和複雜的層級結構系統代替了H.264的宏塊結構,在分割幀中使用四叉樹編碼結構,也叫編碼樹單元(CTU,coding tree unit)。為了實現更高的編碼效率,HEVC還提供了最高達64×64的宏塊。宏塊越大,意味著給定區間的編碼關注度越高,編碼效率也越高。對於16×16的宏塊而言,由於其中某些不必要的部分也進行了編碼,其效率更為低下。
五、 HEVC與並行處理
HEVC設計時充分考慮到需要提升並行處理的表現,包括編碼和解碼兩個部分。一些具體的表現提升包括:
l 瓦片
l 回路中去塊濾波
l 多波前並行處理
瓦片(tiles)將圖像分割成矩形區域的網格,這些網格可以獨立同步編解碼,同時還允許隨機訪問圖像的特定區域。
回路中去塊濾波僅適用於邊緣位置的8 x 8網格,以減少宏塊之間的互相影響,簡化並行處理方法。處理順序先是垂直邊緣的水準濾波,然後是水準邊緣的垂直濾波,這樣去塊濾波計算的多個線程就可以同步運行。
多波前並行處理允許每一個切片可以被分解成編碼樹單元(CTU),每一個CTU基於之前CTU的資訊進行解碼。
六、 小結
HEVC是H.264的繼任者。編解碼標準從MPEG-2過渡到H.264,然後再到HEVC,每一次都需要軟硬體的重組。HEVC使用了一組擴展的工具集和演算法,提升了並行處理的能力,改進了編碼效率。編碼效率的提高允許傳媒公司提供更高品質的視頻,減少視頻存儲和分發的成本。未來十年,預計HEVC將在流媒體視頻、有線電視、衛星電視、IPTV、視頻監控、遊戲等多個領域實現大範圍的部署和應用。
參考文獻:
[1]. Overviews of the H.264/AVC Video Coding Standard, Thomas Wiegand, Gary J. Sullivan,Gisle Bjontegaard, Ajay Luthra, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No.7, July 2003
[2]. Overview of the High Efficiency Video Coding (HEVC) Standard, Thomas Wiegand, Gary J. Sullivan, Woo-Jin Han, Jens-Rainer Ohm, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No.12, December 2012
[3].Video compression Beyond H.264,HEVC. http://people.irisa.fr/Olivier.Le_Meur/teaching/HEVC_CAV_ESIR3_2011_2012.pdf
[4]. H265.net http://www.h265.net/