第二卷 第一期 - 2007年十一月二日 PDF
高品質快速H.264/AVC視訊編碼器-框內4x4模式預測機制於H.264/AVC 編碼器之改良研究
作者:楊家輝 共同作者:曾昭雄,王泓民

成功大學電機工程研究所
IEEE Transaction on Circuit and Systems for Video Technology, vol. 15, no. 8, August 2006

十一世紀是多媒體影像通訊的高科技資訊時代,隨著視訊及音訊壓縮技術的進步,以及個人電腦與超大型積體電路晶片之速度大量提昇及價錢的平民化,國際標準組織(ISO)訂定各種多媒體壓縮標準,使得現代人可以約十倍效率儲存MP3音樂,以約二十倍效率儲存JPEG照片,以約八十倍效率儲存MPEG-2電影。如今,國際標準組織(ISO)動態影像專家委員會(MPEG)與國際通信協會(ITU)合組聯合視頻小組(JVT),制定了新一代的視頻編碼壓縮標準H.264/AVC,其壓縮效能超越了現有MPEG-2的三倍。因其高品質與高壓縮率,H.264/AVC將有效運用於現有的多媒體傳輸與儲存,而成為大眾化之產品,使多媒体傳輸服務系統成本大幅下降,並擴大應用層面。

圖(一) H.264/AVC壓縮編碼
如圖(一)所示,H.264/AVC使用許多計算複雜之壓縮方法以達到高品質與極高壓縮率之目的。因此,相較於傳統的壓縮標準,H.264/AVC有著更為複雜的架構,這也意味著運算複雜度的增加,使得H.264/AVC較難以達到即時壓縮及解壓縮的需求。以4x4框內預測為例,H.264/AVC標準在4x4框內模式(Intra Mode) 之預測是以4x4像素的方塊為單位。如圖(二)所示,其中 {b11~b44}像素為待預測的值,可由目前4x4方塊之上方或左方的一些已編碼之像素{A, B, …, L, X }來作預測,在H.264/AVC標準中總共有九種不同的預測模式。其八種方向性預測機制如圖(三)所示,另外再加上非方向式預測 - 模式2 (DC模式)。為了達到高壓縮率的需求,H.264/AVC參考軟體採用位元率-失真最佳化(RD Optimization)模型作為模式選擇的衡量標準,其最佳化公式為

f1= D + λ1(Qp)R
(1)


圖(二) 4x4框內預測示意圖,其中圖素{b11~b44}待預測之4x4方塊,{A~M}為用來預測{b11~b44}之已編碼像素
其中D表失真值為重建方塊與原始方塊差異之平方和,R則表示位元率為編碼此方塊所需之位元數,λ1(Qp)則為一與量化參數Qp有關之函數,雖然利用(1)式可達到最好的壓縮品質,但其所需的複雜度卻是非常高。因為,我們需要實際經過九次如圖(一)之編碼及解碼流程,以測試九種模式真正之位元率與失真值,經公式(1)計算,再選出最小f1值者為最佳框內模式。

為了能較快速的決定最後所要選擇的最佳模式,H.264/AVC參考軟體,亦提供了以下兩種簡化衡量標準: 

f2 = SAD + 4Pλ2(Qp)
(2)

f3 = SATD + 4Pλ3(Qp)
(3)


圖(三) 九種4x4框內預測方向

其中SAD為絕對差之和,SATD為絕對轉換差之和,P之值則由此模式是否為最可能模式(Most Probable Mode)所決定,若是則為1,否則為0,λ2(Qp)則為一與Qp有關之函數。一般來說,採用(2)或(3)式因不需經過實際編碼程序,通常會比(1)式計算量少很多,但編碼效果較差。通常,採用(3)式通常會比(2)式得到較好的效果。由以上敘述可知,為了要編碼每一個4x4方塊,所需的計算量是非常高的,因此如何能在降低計算量的同時,又維持住高效能的壓縮品質,便是我們所研究的主題。

為了提升編碼效率,我們提出了一個新的衡量標準: 
f4 =SAITD+(4TC–TO+4P)‧λ2(Qp).
(4)


圖(四) 訊號雜訊比位元率圖
f4中可看出,我們除了對失真(Distortion)部分作修正之外,也針對位元(Rate)的部分作了改良。在式子(4)裡,SAITD為絕對整數轉換差之和(Sum of Absolute Integer-Transformed Differences),而TC、TO皆為H.264/AVC中內涵適應可變長度編碼(CAVLC)所使用之參數,TC所代表的是4x4方塊經過量化後非零係數的個數,而TO則代表4x4方塊經過量化後絕對值為1之係數個數。因我們只採用TC與TO來作預測位元率,因此在計算量方面並不會有太大的增加下,又可提升其編碼效率。經實驗後,圖(四) 顯示編碼效果以訊號雜訊比對位元率(PSNR- Bit Rate)。我們發現所提出的衡量標準具有相當好的編碼效率,尤其是在較低位元率的區域,其編碼效率甚至比位元率-失真最佳化(RD-optimized)還要好,而且其所需的編碼時間也比位元率-失真最佳化(RD-optimized)少很多。

為了更進一步的減少計算量,我們也針對式子(4)中的SAITD計算提出了快速演算法來加快編碼速度。H.264/AVC標準下框內模式預測所需之計算量,扣除九種不同對應的方式來決定{b11~b44}外,還需要與原始視訊的像素值相減、整數轉換和最佳對應的方式選取等三大部分。如要精準地計算出最佳的值,其中最浪費計算量是整數轉換的部份,目前H.264/AVC使用的4x4整數轉換法,計算一個4x4方塊需要64個加法和16個移位運算量。使用九種框內模式預測機制後,計算一個4x4方塊光在整數轉換部分就需要576個加法和144個移位運算量。所以我們就以不同的方式,以較少的運算量精準地計算H.264/AVC內部畫面預測的最佳值。H.264/AVC標準下的整數轉換法是一個線性轉換法(Linear Transform),也就是 
T(A – B) = T(A) – T(B)
(5)


其中T( )為線性轉換式;A、B為任意矩陣。這也就是說:預測值與原始視訊的像素值相減後再經整數轉換的結果和兩者先經整數轉換後再相減是相同的。以H.264/AVC內部畫面預測的機制,預測值是由鄰近的像素值來作預測,本身存在固定的特性,但原始視訊的像素值就沒有這種對稱的性質,所以把兩者先經整數轉換後再相減,便可使用較少的計算量而得到相同的結果。使用上述的方法所得到的結果分別列於表(一)和表(二)。
表(一) 預測值經整數轉換所需之運算量
表(二) 內部畫面預測使用於整數轉換所需之計算量

表(一)列出了九種不同模式做整數轉換所需的計算量,由該表可知只需要320個加法運算量和103個移位運算量就可完成九個模式的整數轉換;表(二)為內部畫面預測使用於整數轉換所需之計算量比較,原始方法需要為576個加法和144個移位運算量,而我們所提出之方法則僅需384個加法和118個移位運算量,如果把加法運算量和移位運算量都視為相同的運算量大小,本方法所需的運算量只為原始方法的69.8%。此項研究將有助於提升264/AVC 框內模式編碼之效率並同時降低所需之編碼時間。

總之,本研究提出了一個新的H.264/AVC編碼之最佳化衡量標準,我們以SAITD來取代失真值,並以TC經過量化後非零係數與TO量化後絕對值為1之係數個數,對位元率作更進一步的預測,實驗證明本研究可以提升H.264/AVC編碼效率。同時,我們又提出對本法之快速實現,其實際之計算量又比原簡化衡量標準還少。本項技術有助於提升264/AVC框內模式編碼之品質,並同時降低所需之編碼時間。
< 上一篇下一篇 >