H.264/AVC中量化的Verilog實現(xiàn)
H.264作為新一代的視頻壓縮標準,是由ITU-T的視頻編碼專家組和ISO/IEC的MPEG(運動圖像編碼專家組)成立的聯(lián)合視頻小組共同開發(fā)的。它優(yōu)異的壓縮性能也將在數(shù)字電視廣播、視頻實時通信、網(wǎng)絡視頻流媒體傳遞以及多媒體通信等各個方面發(fā)揮重要的作用。
在核心技術上,H.264/AVC采用各種有效的技術,如統(tǒng)一的VLC符號編碼、1/4像素精度的運動估計、多模式運動估計、基于4×4塊的整數(shù)變換、分層編碼語法等。由于采用了整數(shù)變換,計算不會出現(xiàn)浮點數(shù),而且精度高等。這些措施使得H.264算法具有很高的編碼效率。在量化方面,量化步長采用52個,下面將主要分析量化。在此,提出量化的Verilog實現(xiàn),將變換后的數(shù)據(jù)作為輸入,以量化后的碼流作為輸出,達到量化的目的。
1量化的功能介紹
取樣后的脈沖信號在時間上是離散的,但在幅值和空間上仍是連續(xù)的,即其可能取的值有無限多個,這就需要對它采用四舍五入的方法,將其可能的幅值數(shù)由無限多個變?yōu)橛邢迋€值。這種將信號幅值由連續(xù)量變成離散量的過程稱為量化。
在不降低視覺效果的前提下,量化過程可減少圖像編碼長度,減少視覺恢復中不必要的信息。H.264采用標量量化技術,將每個圖像樣點編碼映射成較小的數(shù)值。一般標量量化器的原理為:
式中:y為輸入樣本點編碼;QP為量化步長;FQ為y的量化值;round()取整函數(shù)(其輸出與輸入實數(shù)最近的整數(shù))。
2量化的算法介紹
在H.264中,量化步長Qstep共有52個值。如表1所示。其中,QP是量化參數(shù),是量化步長的序號。當QP取最小值0時,代表最精細的量化;當QP取最大值51時,代表最粗糙的量化。QP每增加6,Qstep增加1倍。應用時可以在這個較寬的量化步長范圍根據(jù)實際需要靈活選擇。對于色度編碼,一般使用與亮度編碼同樣的量化步長。為了避免在較高量化步長時出現(xiàn)顏色量化人工效應,現(xiàn)在的H.264草案把色度的QP最大值大約限制在亮度QP最大值的80%范圍內。最后的H.264草案規(guī)定,亮度QP的最大值是51;色度QP的最大值是39。
在H.264中,量化過程是對DCT的結果進行操作:
式中:Yij是矩陣Y中的轉換系數(shù);Zij是輸出的量化系數(shù);Qstep是量化步長。
H.264量化過程還要同時完成DCT變換中“Ef”乘法運算,它可以表述為:
式中:Wij是矩陣W中的轉換系數(shù);PF是矩陣EF中的元素。根據(jù)樣本點在圖像中的位置(i,j)取值如表2所示。
利用量化步長隨量化參數(shù)每增加6而增加1倍的性質,可以進一步簡化計算,即:
式中:floor()為取整函數(shù)(其輸出不大于輸入實數(shù)的最大整數(shù))。式(3)可以寫為:
評論