天天看點

最小均方誤差(MMSE)意義下的最優幀内預測推導:最小均方誤差(MMSE)意義下的最優幀内預測推導:

最小均方誤差(MMSE)意義下的最優幀内預測推導:

MMSE:Minimum Mean Squared Error,思想是将預測值和真值的誤差的平方的期望(均值)最小化,以使得預測值盡量逼近真值,和真值差距盡可能小,這個理論指導下,我們來推導最優幀内預測的權重系數向量。
幀内預測是用于消除單幀圖像内部的空間備援的圖像壓縮方法,視訊壓縮中I幀(關鍵幀)就隻需要幀内預測編碼。

先把所有像素值去中心化,即減去均值再除以标準差,對得到的标準像素進行編碼即可。則标準像素是标準高斯分布的,均值為0,方差為1。

這裡幀内預測用已編碼像素

X n = { X i } T , i = 0 , 1 , 2 … , K X_n=\{X_i\}^T,i=0,1,2\ldots ,K Xn​={Xi​}T,i=0,1,2…,K

的線性權重和來預測待編碼像素 x j x_j xj​,即

x ^ j = ∑ i = 0 K x i w i = X n T W j \hat{x}_j=\sum_{i=0}^Kx_iw_i=X_n^TW_j x^j​=i=0∑K​xi​wi​=XnT​Wj​

是以關鍵,核心就是求解最優的預測權重向量 W j = { w i } T , i = 0 , 1 , 2 … , K W_j=\{w_i\}^T,i=0,1,2\ldots ,K Wj​={wi​}T,i=0,1,2…,K。

最小均方誤差(MMSE)意義下的最優幀内預測推導:最小均方誤差(MMSE)意義下的最優幀内預測推導:

之前不懂為甚麼示意圖畫為這個形狀,看了後面的例子就明白了,這是由于圖像中像素的相關性與空間位置有關。

下面從均方誤差開始推導:

M S E = E [ ( x j − x ^ j ) 2 ] MSE=E[(x_j-{\hat{x}_j})^2] MSE=E[(xj​−x^j​)2]

= E [ ( x j − x ^ j ) T ( x j − x ^ j ) ] =E[(x_j-\hat{x}_j)^T(x_j-\hat{x}_j)] =E[(xj​−x^j​)T(xj​−x^j​)]

= E [ ( x j − ∑ i = 0 K x i w i ) T ( x j − ∑ i = 0 K x i w i ) ] =E[(x_j-\sum_{i=0}^Kx_iw_i)^T(x_j-\sum_{i=0}^Kx_iw_i)] =E[(xj​−i=0∑K​xi​wi​)T(xj​−i=0∑K​xi​wi​)]

= E [ ( x j − X n T W j ) T ( x j − X n T W j ) ] =E[(x_j-X_n^TW_j)^T(x_j-X_n^TW_j)] =E[(xj​−XnT​Wj​)T(xj​−XnT​Wj​)]

= E ( x j 2 ) − E ( x j X n T W j ) − E ( x j W j T X n ) + E ( W j T X n X n T W j ) =E(x_j^2)-E(x_jX_n^TW_j)-E(x_jW_j^TX_n)+E(W_j^TX_nX_n^TW_j) =E(xj2​)−E(xj​XnT​Wj​)−E(xj​WjT​Xn​)+E(WjT​Xn​XnT​Wj​)

注意其中 x j , x ^ j x_j, \hat{x}_j xj​,x^j​ 都是scalar,轉置值同。

為了求最優的權重向量 W j W_j Wj​,将上面推導出來的MSE誤差對 W j W_j Wj​求導,令為0即可:

(标量對向量求導)

∂ M S E ∂ W j = ∂ E ( x j 2 ) − E ( x j X n T W j ) − E ( x j W j T X n ) + E ( W j T X n X n T W j ) ∂ W j \frac{\partial MSE}{\partial W_j}=\frac{\partial E(x_j^2)-E(x_jX_n^TW_j)-E(x_jW_j^TX_n)+E(W_j^TX_nX_n^TW_j)}{\partial W_j} ∂Wj​∂MSE​=∂Wj​∂E(xj2​)−E(xj​XnT​Wj​)−E(xj​WjT​Xn​)+E(WjT​Xn​XnT​Wj​)​

= 0 − E ( x j X n ) − E ( x j X n ) + E ( X n X n T W j ) + E ( X n X n T W j ) = 0 =0-E(x_jX_n)-E(x_jX_n)+E(X_nX_n^TW_j)+E(X_nX_n^TW_j)=0 =0−E(xj​Xn​)−E(xj​Xn​)+E(Xn​XnT​Wj​)+E(Xn​XnT​Wj​)=0

E ( x j X n ) = E ( X n X n T ) W j E(x_jX_n)=E(X_nX_n^T)W_j E(xj​Xn​)=E(Xn​XnT​)Wj​

W j = E ( X n X n T ) − 1 E ( x j X n ) W_j=E(X_nX_n^T)^{-1}E(x_jX_n) Wj​=E(Xn​XnT​)−1E(xj​Xn​)

其中 E ( x j X n ) E(x_jX_n) E(xj​Xn​)是待編碼像素和已編碼像素的互相關向量

E ( X n X n T ) E(X_nX_n^T) E(Xn​XnT​)是已編碼像素的自相關矩陣

是以根據推導,在最小均方誤差意義下的最優幀内預測的線性權重系數向量就是已編碼像素向量的自相關矩陣的逆矩陣作用于待編碼像素和已編碼像素的互相關向量。

需要注意的是,其中涉及到的标量對向量求導,用的是分母布局,即求導結果和分母次元一緻。

下面展示一個幀内預測的例子:

假設圖像内像素符合一階Markov分布,即每個像素取值隻與自己距離1個像素的3個neighbors有關,這裡采用典型的3近鄰結構,水準距離1個pixel的兩個像素互相關系數為 ρ h \rho_h ρh​,垂直距離1個pixel的兩個像素互相關系數為 ρ v \rho_v ρv​,以此類推得到水準距離p個像素,垂直距離q個像素的兩點的互相關系數為 R ( p , q ) = ρ h p ρ v q R(p,q)=\rho_h^p\rho_v^q R(p,q)=ρhp​ρvq​,可見距離越遠,互相關系數越小( 0 ≤ ρ v ≤ 1 , 0 ≤ ρ h ≤ 1 0\leq\rho_v\leq1,0\leq\rho_h\leq1 0≤ρv​≤1,0≤ρh​≤1)。

最小均方誤差(MMSE)意義下的最優幀内預測推導:最小均方誤差(MMSE)意義下的最優幀内預測推導:
最小均方誤差(MMSE)意義下的最優幀内預測推導:最小均方誤差(MMSE)意義下的最優幀内預測推導:

如上圖,灰色區域的像素已經編碼,白色區域則可以直接根據灰色區域預測,無需再編碼,是以可節省碼率,這就是3近鄰結構,x(1,1)像素的值僅由x(0,0),x(0,1),x(1,0)決定。将這三個近鄰作為 X n X_n Xn​,則自相關矩陣 R = E ( X n X n T ) = R=E(X_nX_n^T)= R=E(Xn​XnT​)=

[ 1 ρ h ρ v ρ h 1 ρ v ρ h ρ v ρ v ρ h 1 ] \begin{bmatrix} 1 & \rho_h & \rho_v \\ \rho_h & 1 & \rho_v\rho_h \\ \rho_v & \rho_v\rho_h &1 \\ \end{bmatrix} ⎣⎡​1ρh​ρv​​ρh​1ρv​ρh​​ρv​ρv​ρh​1​⎦⎤​

x(1,1)和三個近鄰的互相關向量為 [ ρ v ρ h ρ v ρ h ] \begin{bmatrix} \rho_v\rho_h \\ \rho_v \\ \rho_h\end{bmatrix} ⎣⎡​ρv​ρh​ρv​ρh​​⎦⎤​

是以在這種情況下最優的預測編碼權重系數向量 W j = R − 1 [ ρ v ρ h ρ v ρ h ] W_j=R^{-1}\begin{bmatrix} \rho_v\rho_h \\ \rho_v \\ \rho_h\end{bmatrix} Wj​=R−1⎣⎡​ρv​ρh​ρv​ρh​​⎦⎤​

繼續閱讀