天天看點

視訊DCT變換與量化

一、變換域編碼——整數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