基于小波變換的視頻圖像壓縮算法研究
(2)基于HVS的閾值量化:本文采用的量化方法是利用視覺門限曲線與小波系數的關系來構造單位小波變換系數的量化矩陣。空間變換小波是雙正交D 9/7濾波器組,文獻中給出圖像壓縮中最佳小波基D 9/7閾值量化因子矩陣,以該矩陣為基礎推斷三維小波變換系數的量化矩陣。當視頻圖像序列中物體的運動變化很快時,在三維小波變換系數時間軸上的高頻子帶中會產生較大的系數值,其量化后的數值依然很大,所以采用如下量化方法。在量化中設立一個閾值T,以小波分解系數的均方誤差作為判斷準則,設量化矩陣為Q,對系數按照下式量化:本文引用地址:http://www.104case.com/article/202703.htm
其中R為量化步長。具體過程為:設PD是1個比特位,當M≤TPD=1時,輸出碼流中輸出一位PD=0,則解碼器以量化矩陣Q對輸入碼流進行反量化;當M>T時,輸出碼流中輸出PD=1,然后輸出量化步長R,用2個字節來表示,則解碼器以量化矩陣Q(1+R)對輸入碼流進行反量化。
(3)熵編碼:量化后的每個子帶被進一步分成固定大小的塊,并對每個子塊采用位平面技術分別進行熵編碼。嵌入式位平面編碼器按照位平面從最高有效位N一1~0降序地進行編碼,因此在截取壓縮碼流時,先保證所有系數的最高有效位平面的優先傳輸,保證碼流的解碼質量。在每個編碼之后都同時記錄當前編碼的碼率R和對應的失真D,得到的率失真曲線將用于后面的碼流組裝。
(4)碼流組裝:在所有的系數塊完成編碼后,根據最小化全局失真的原則用碼流組裝對各個塊的碼流進行碼率分配。原始的碼率控制方法采用全局最優的碼率控制,會導致幀方向上質量的顫抖。本文結合率失真優化和幀方向上質量平穩2方面的要求,沿幀方向上采用新的碼率分配方法,同時在沿水平和垂直方向上保持了率失真優化的方法。即對于同一時間軸小波子帶的分塊都采用同一斜率來選取截斷點;對于不同時間軸小波子帶的分塊,按照不同的斜率來截斷以調整時間軸方向的穩定性。可以根據式(2)的失真比例條件來調整截斷點的斜率。
在中高碼率環境下,各時間軸子帶的衰減系數βn近似相等,因此可以簡單的依照下等式通過控制各時間軸子帶的率失真斜率來控制失真的比例。
此處δi為等式(2)給出的理論失真值,m為時間軸的小波子帶個數。
前面的熵編碼過程中已經計算并保存了每個塊的率失真曲線。為了使先傳輸的碼率對信息失真度的降低最快,需要保證率失真的凸性,因此按照文獻中方法對每個塊的率失真曲線采取凸包絡處理。每個塊的失真根據所處的小波子帶乘上一個能量權重,以利用小波域的失真估計圖像空域的失真:
此處w表示提升型小波合成濾波器帶來的能量增益。對于雙正交D9/7濾波器,低通增益wL=1.299,高通增益為wH=0.787。在三維方向上共經過n個低通和m個高通提升型濾波器的小波子帶,能量增益為各層增益的乘積叫=wnLwmH。
對所有的塊的率失真曲線,找出聯合最優的率失真斜率點,并將碼流在該點截斷,然后將所有塊中在同一斜率切點截斷得到的碼流片斷組合成最終的壓縮碼流。最優斜率能夠得出最接近目標碼率的公共斜率,每個系數塊的截斷碼率長度也作為頭信息記錄在壓縮碼流中,作為對壓縮碼流隨機解碼時的索引。
評論