H.264/AVC中量化的Verilog實現
H.264作為新一代的視頻壓縮標準,是由ITU-T的視頻編碼專家組和ISO/IEC的MPEG(運動圖像編碼專家組)成立的聯合視頻小組共同開發的。它優異的壓縮性能也將在數字電視廣播、視頻實時通信、網絡視頻流媒體傳遞以及多媒體通信等各個方面發揮重要的作用。
在核心技術上,H.264/AVC采用各種有效的技術,如統一的VLC符號編碼、1/4像素精度的運動估計、多模式運動估計、基于4×4塊的整數變換、分層編碼語法等。由于采用了整數變換,計算不會出現浮點數,而且精度高等。這些措施使得H.264算法具有很高的編碼效率。在量化方面,量化步長采用52個,下面將主要分析量化。在此,提出量化的Verilog實現,將變換后的數據作為輸入,以量化后的碼流作為輸出,達到量化的目的。
1量化的功能介紹
取樣后的脈沖信號在時間上是離散的,但在幅值和空間上仍是連續的,即其可能取的值有無限多個,這就需要對它采用四舍五入的方法,將其可能的幅值數由無限多個變為有限個值。這種將信號幅值由連續量變成離散量的過程稱為量化。
在不降低視覺效果的前提下,量化過程可減少圖像編碼長度,減少視覺恢復中不必要的信息。H.264采用標量量化技術,將每個圖像樣點編碼映射成較小的數值。一般標量量化器的原理為:

式中:y為輸入樣本點編碼;QP為量化步長;FQ為y的量化值;round()取整函數(其輸出與輸入實數最近的整數)。
2量化的算法介紹
在H.264中,量化步長Qstep共有52個值。如表1所示。其中,QP是量化參數,是量化步長的序號。當QP取最小值0時,代表最精細的量化;當QP取最大值51時,代表最粗糙的量化。QP每增加6,Qstep增加1倍。應用時可以在這個較寬的量化步長范圍根據實際需要靈活選擇。對于色度編碼,一般使用與亮度編碼同樣的量化步長。為了避免在較高量化步長時出現顏色量化人工效應,現在的H.264草案把色度的QP最大值大約限制在亮度QP最大值的80%范圍內。最后的H.264草案規定,亮度QP的最大值是51;色度QP的最大值是39。

在H.264中,量化過程是對DCT的結果進行操作:

式中:Yij是矩陣Y中的轉換系數;Zij是輸出的量化系數;Qstep是量化步長。
H.264量化過程還要同時完成DCT變換中“Ef”乘法運算,它可以表述為:

式中:Wij是矩陣W中的轉換系數;PF是矩陣EF中的元素。根據樣本點在圖像中的位置(i,j)取值如表2所示。

利用量化步長隨量化參數每增加6而增加1倍的性質,可以進一步簡化計算,即:

式中:floor()為取整函數(其輸出不大于輸入實數的最大整數)。式(3)可以寫為:

評論