1. 程式人生 > >HEVC/H.265理論知識(6)——量化

HEVC/H.265理論知識(6)——量化

一、介紹 1、量化就是把訊號的連續取值對映成多個離散的幅值的過程,實現了訊號取值多對一的對映。 2、殘差資料進過變換之後,變換系數具有較大的取值範圍,量化可以有效減小訊號的取值範圍,進而獲得更好的壓縮效果,量化是造成失真的根本原因 二、衡量失真的三種準則(分別有對應的公式): 1、均方差MSE 2、信噪比SNR 3、峰值信噪比PSNR 三、HEVC可以使用的傳統量化方法 1、大概的公式:l = floor(c/Qstep + f),c表示係數、Qstep表示量化步長、l表示量化後的值,floor是向下取整函式,f控制舍入關係 2、HEVC有52個量化步長,對應了52個量化引數QP,可以通過查表查詢 3、對於色度分量,量化引數限制為0~45。具體的說,當亮度分量的QP小於30時,色度分量的QP和亮度的相同,當亮度訊號QP在30~51時,兩者的關係可以通過查表得出 4、量化過程同時要完成整數DCT中的比例縮放運算,為了避免浮點計算,HEVC把分子分母進行放大處理,然後取整,以此保證運算精度,QP的運算方式也要進行調整:QP = floor(QP/6) + QP % 6 5、總的量化公式:
四、HEVC使用的RDOQ(率失真優化量化) 1、把量化與率失真優化過程結合,給定多個可選的量化值,利用RDO(率失真優化)選出最優的值 2、操作步驟:      (1)確定當前TU每個係數的可選量化值,利用下面公式進行預量化:                 (2)利用RDO準則確定當前TU所有係數的最優量化值QP(注意是每個係數的QP)      (3)利用RDO準則確定當前TU每一個係數塊組(CG,4x4的塊)是否量化成全零組。如果當前的CG是全零CG,那麼只需要編碼全零標誌;否則,要編碼所有的係數。具體是:遍歷所有的CG,計算其量化為全零CG時的率失真代價,與原來的率失真代價比較,如果全零CG對應的率失真代價較小,那麼令當前CG為全零CG      (4)利用RDO準則準確確定當前TU最後一個非零係數的位置 五、HEVC中靈活的QP控制技術 1、量化組QG。是指把一幀影象分成固定大小(NxN)的正方形畫素塊,其大小又PPS指定,且必須處於CTU和最小CU之間(包含他們) 2、一個CTU可以包含一個或多個固定大小的QG,同一個QG內的所有含有非零係數的CU共享一個QP 3、HEVC中使用相鄰的QG的資訊來預測當前QG的QP(下面假設A是當前QG的左側QG,B是當前QG的上方QG):      (1)對於一個slice的第一個QG,A和B都不存在,此時使用當前slice的QP作為該QG的預測QP      (2)去過QG位於slice的上邊界,那麼B不存在,此時把B替換成前一個已經編碼的QG      (3)如果QG位於一個slice的左邊界,A不存在,此時把A替換成前一個已編碼的QG      (4)預測的QP的計算公式        

六、量化矩陣。 1、使用量化矩陣的原因是,對不同位置的係數使用不同的量化步長,這樣能提高視訊的主觀質量 2、量化矩陣作用於比例縮放過程(比例縮放過程在變換和量化之間),其大小和TU相同(從4x4到32x32) 3、HEVC定義了4x4和8x8兩種大小的預設量化矩陣,並規定16x16、32x32量化矩陣可以由8x8量化矩陣取樣得到 4、HEVC對量化矩陣中的元素使用差分編碼!