转自:沃爾什轉換
图像数据越是均匀分布,经过沃尔什-哈达玛变换后的数据越是集中于矩阵的边角上,因此沃尔什变换具有能量集中的性质,可以用于压缩图像信息。
沃爾什轉換的轉換式為:
F [ m ] = ∑ n = 0 N − 1 f [ n ] W [ m , n ] F[m]=\sum_{n=0}^{N-1} f[n] W[m, n] F[m]=n=0∑N−1f[n]W[m,n]
其中 W [ m , n ] W[m, n] W[m,n]是沃爾什轉換矩陣的第(m,n)個元素。
沃爾什轉換的反轉換式為
f [ m ] = 1 N ∑ n = 0 N − 1 F [ n ] W [ m , n ] f[m]=\frac{1}{N} \sum_{n=0}^{N-1} F[n] W[m, n] f[m]=N1n=0∑N−1F[n]W[m,n]
注意到正轉換式與反轉換式只差了一個常數,這是由於沃爾什轉換矩陣的反矩陣就是自己的轉置矩陣乘上一個常數的緣故。
2 k 2^{k} 2k點的沃爾什矩陣可以用下面的遞迴方式產生:起始值 k = 1 k=1 k=1(2點沃爾什轉換矩陣)
W 2 = ( 1 1 1 − 1 ) W_{2}=\left( \begin{array}{cc}{1} & {1} \\ {1} & {-1}\end{array}\right) W2=(111−1)
Step 1 定義 V 2 k + 1 = ( W 2 k W 2 k W 2 k − W 2 k ) V_{2^{k+1}}=\left( \begin{array}{cc}{W_{2^{k}}} & {W_{2^{k}}} \\ {W_{2^{k}}} & {-W_{2^{k}}}\end{array}\right) V2k+1=(W2kW2kW2k−W2k)
Step 2 根據變號次數(正負號改變次數)把 V 2 k + 1 V_{2^{k+1}} V2k+1的列(row)重新排列成為 W 2 k + 1 W_{2^{k+1}} W2k+1。
4*4
W 4 = ( 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ) W_{4}=\left( \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right) W4=⎝⎜⎜⎛11111−11−111−1−11−1−11⎠⎟⎟⎞
8*8
V 8 = ( W 4 W 4 W 4 − W 4 ) = ( 1 1 1 1 1 1 1 1 1 − 1 1 − 1 1 − 1 1 − 1 1 1 − 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 1 − 1 − 1 1 1 1 1 1 − 1 − 1 − 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 1 1 − 1 − 1 − 1 − 1 1 1 1 − 1 − 1 1 − 1 1 1 − 1 ) V_{8}=\left( \begin{array}{cc}{W_{4}} & {W_{4}} \\ {W_{4}} & {-W_{4}}\end{array}\right)=\left( \begin{array}{cccccccc}{1} & {1} & {1} & {1} & {1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} & {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} & {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1} & {1} & {-1} & {-1} & {1} \\ {1} & {1} & {1} & {1} & {-1} & {-1} & {-1} & {-1} \\ {1} & {-1} & {1} & {-1} & {-1} & {1} & {-1} & {1} \\ {1} & {1} & {-1} & {-1} & {-1} & {-1} & {1} & {1} \\ {1} & {-1} & {-1} & {1} & {-1} & {1} & {1} & {-1}\end{array}\right) V8=(W4W4W4−W4)=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛111111111−11−11−11−111−1−111−1−11−1−111−1−111111−1−1−1−11−11−1−11−1111−1−1−1−1111−1−11−111−1⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
W 8 = ( 1 1 1 1 1 1 1 1 1 1 1 1 − 1 − 1 − 1 − 1 1 1 − 1 − 1 − 1 − 1 1 1 1 1 − 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 1 1 − 1 1 1 − 1 − 1 1 − 1 1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 1 − 1 1 − 1 1 − 1 1 − 1 ) W_{8}=\left( \begin{array}{cccccccc}{1} & {1} & {1} & {1} & {1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1} & {-1} & {-1} & {-1} & {-1} \\ {1} & {1} & {-1} & {-1} & {-1} & {-1} & {1} & {1} \\ {1} & {1} & {-1} & {-1} & {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1} & {1} & {1} & {-1} & {1} \\ {1} & {-1} & {-1} & {1} & {-1} & {1} & {1} & {-1} \\ {1} & {-1} & {1} & {-1} & {-1} & {1} & {-1} & {1} \\ {1} & {-1} & {1} & {-1} & {1} & {-1} & {1} & {-1}\end{array}\right) W8=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛111111111111−1−1−1−111−1−1−1−11111−1−111−1−11−1−111−1−111−1−11111−11−11−1−11−111−11−11−11−1⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
例子转自:压缩感知——沃尔什-哈达玛(WHT)变换与逆变换
f 1 = [ 1 3 3 1 1 3 3 1 1 3 3 1 1 3 3 1 ] f_{1}=\left[ \begin{array}{llll}{1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1}\end{array}\right] f1=⎣⎢⎢⎡1111333333331111⎦⎥⎥⎤
W 1 = 1 4 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 1 − 1 1 − 1 − 1 1 ] [ 1 3 3 1 1 3 3 1 1 3 3 1 1 3 3 1 ] [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] = [ 2 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 ] W_{1}=\frac{1}{4^{2}} \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right] \left[ \begin{array}{rrrr}{1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1}\end{array}\right] \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right]=\left[ \begin{array}{cccc}{2} & {0} & {0} & {-1} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0}\end{array}\right] W1=421⎣⎢⎢⎡11111−11−1111−11−1−11⎦⎥⎥⎤⎣⎢⎢⎡1111333333331111⎦⎥⎥⎤⎣⎢⎢⎡11111−11−111−1−11−1−11⎦⎥⎥⎤=⎣⎢⎢⎡200000000000−1000⎦⎥⎥⎤
f 2 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] f_{2}=\left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1}\end{array}\right] f2=⎣⎢⎢⎡1111111111111111⎦⎥⎥⎤
W 2 = 1 4 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] [ 1 1 1 1 1 1 1 1 1 1 1 1 ] [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] = [ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] W_{2}=\frac{1}{4^{2}} \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right] \left[ \begin{array}{ccc}{1} & {1} & {1} \\ {1} & {1} & {1} \\ {1} & {1} & {1} \\ {1} & {1} & {1}\end{array}\right] \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right]=\left[ \begin{array}{llll}{1} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0}\end{array}\right] W2=421⎣⎢⎢⎡11111−11−111−1−11−1−11⎦⎥⎥⎤⎣⎢⎢⎡111111111111⎦⎥⎥⎤⎣⎢⎢⎡11111−11−111−1−11−1−11⎦⎥⎥⎤=⎣⎢⎢⎡1000000000000000⎦⎥⎥⎤