一、變換域編碼——整數DCT
\quad将空間域描述的圖像,經過某種變換後得到變換域中的資料,達到改變資料分布形式、減少有效資料量的目的。
\quad變換包含DCT(離散餘弦變換)、DST(離散正弦變換)等,這裡我們主要讨論DCT。在圖像視訊壓縮中采用的變換都是正交變換,因為正交變換不改變信源熵值,完全可以通過反變換重建原圖,且壓縮程度高。變換的好處在于使得資料分布發生改變,變換系數向低頻方向集中,利于編碼。
\quad采用DCT變換的圖像、視訊壓縮基本架構如下:
\quadH.264采用整數DCT變化,主要目的有兩個:1. 采用整數,提高運算速度 2. 将歸一化和量化整合在一起,減少乘運算。變換方程為F c = C ⋅ f ⋅ C T F_c=C \cdot f \cdot C^TF
c
=C⋅f⋅C
T
,,變換矩陣C,第 u 行,第 x 列元素表示為:
在N=4時,即4x4圖像塊的DCT變換為:
其中,
二、資料掃描
“之”字掃描(Zig-Zag) — 逐行掃描順序
“之”字掃描(Zig-Zag) — 場掃描順序
三、量化
\quad量化是指将信号的連續取值(或大量可能的離散取值)映射為有限多個離散值的過程,實作信号取值多對一的映射。在視訊/圖像編碼中,殘差信号經過DCT後,變換系數往往具有較大的動态範圍,是以對變換系數進行量化可以有效地減小信号取值空間,獲得更好的壓縮效果。
\quad量化分為兩類,如下:
标量量化:無需分析資料統計特性,複雜度低,但平均量化誤差大。被主流的圖像、視訊編碼标準所采用;
矢量量化:基于資料統計屬性的量化器,平均量化誤差低,但不容易實作。
\quad對于位于某個區間的值x,都用一個定值代替。即y = Q ( x ) = y k , x ∈ [ x k , x k + 1 ) y=Q(x)=y_k, x \in [x_k, x_{k+1})y=Q(x)=y
k
,x∈[x
k
,x
k+1
)。假定量化的級别,即重建值的個數為L,則表示這些量化索引所用的最多平均比特數為l o g 2 L log_2 Llog
2
L。
均勻量化
均勻量化的特點是在整個量化範圍内,各個量化間隔都相等;
若信号X的取值範圍為[a, b],量化級别為L,則每個量化間隔的大小為Δ = b − a L \Delta = \frac{b-a}{L}Δ=
L
b−a
均勻量化的量化誤差q的取值範圍為− Δ / 2 ≤ q ≤ Δ / 2 -\Delta /2 \le q \le \Delta /2−Δ/2≤q≤Δ/2,q在[ − Δ / 2 , Δ / 2 ] [-\Delta /2, \Delta /2][−Δ/2,Δ/2]服從均勻分布,故而量化誤差的方差為σ q = 1 Δ ∫ − Δ / 2 Δ / 2 q 2 d q = Δ 2 12 σ_q = \frac{1}{\Delta} \int_{-\Delta /2}^{\Delta /2} q^2 dq=\frac{\Delta ^2}{12}σ
q
=
Δ
1
∫
−Δ/2
Δ/2
q
2
dq=
12
Δ
2
。
最優量化
————————————————
版權聲明:本文為CSDN部落客「程勇uestc」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/qq_40438165/article/details/89635149