`
jubincn
  • 浏览: 232333 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

阿达马变换的简单介绍

 
阅读更多

注:内容基本上摘抄自wikipedia,链接:http://zh.wikipedia.org/wiki/%E9%98%BF%E8%BE%BE%E9%A9%AC%E5%8F%98%E6%8D%A2


阿达马变换Hadamard transform),或称沃尔什-阿达玛转换,是一种广义傅立叶变换(Fourier transforms),作为变换编码的一种在视频编码当中使用有很久的历史。在近来的视频编码标准中,阿达马变换多被用来计算SATD(一种视频残差信号大小的衡量)。

变换矩阵

H.264中使用了4阶和8阶的阿达马变换来计算SATD,其变换矩阵为:

 H_4 = \begin{bmatrix} 1 &  1 &  1 &  1 \\ 1 & -1 &  1 & -1 \\ 1 &  1 & -1 & -1 \\ 1 & -1 & -1 &  1 \end{bmatrix}
 H_8 = \begin{bmatrix}  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{bmatrix}


SATD计算方法

当计算4x4块\begin{bmatrix}L_4\end{bmatrix}的SATD时,先使用下面的方法进行二维的阿达马变换:

  \begin{bmatrix}    L_4'  \end{bmatrix}=  \begin{bmatrix}    H_4  \end{bmatrix}\times  \begin{bmatrix}    L_4  \end{bmatrix}\times  \begin{bmatrix}    H_4  \end{bmatrix}

然后计算\begin{bmatrix}L_4'\end{bmatrix}所有系数绝对值之和并归一化


类似的,当计算8x8块\begin{bmatrix}L_8\end{bmatrix}的SATD时,先使用下面的方法进行二维的Hadamard变换:

  \begin{bmatrix}    L_8'  \end{bmatrix}=  \begin{bmatrix}    H_8  \end{bmatrix}\times  \begin{bmatrix}    L_8  \end{bmatrix}\times  \begin{bmatrix}    H_8  \end{bmatrix}

然后计算\begin{bmatrix}L_8'\end{bmatrix}所有系数绝对值之和并归一化

建构阿达马变换

阿达马变换转换主要型式为 \boldsymbol{2^k} 点的转换矩阵,其最小单位矩阵为 2x2 的阿达马变换矩阵,以下分别为二点、四点与如何产生 \boldsymbol{2^k} 点的阿达马变换转换步骤。

  • 二点阿达马变换转换:

 \boldsymbol{W_2} = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}

  • 四点阿达马变换转换:

 \boldsymbol{W_4} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \\ 1 & -1 & 1 & -1 \end{bmatrix}

  • 产生 \boldsymbol{2^k} 点阿达马变换的步骤:

步骤一: \boldsymbol{V_{2^{k+1}}} = \begin{bmatrix} \boldsymbol{W_{2^k}} & \boldsymbol{W_{2^k}} \\ \boldsymbol{W_{2^k}} & \boldsymbol{-W_{2^k}} \end{bmatrix}


步骤二: 根据正负号次序 (Sign change,正负号改变次数) 将矩阵(Matrix) 内的列向量座顺序上的重新排列。

 \boldsymbol{V_{2^{k+1}}} \longrightarrow  \boldsymbol{W_{2^{k+1}}}


范例

 \boldsymbol{V_4} = \begin{bmatrix} \boldsymbol{W_2} & \boldsymbol{W_2} \\ \boldsymbol{W_2} & \boldsymbol{-W_2} \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & -1 & 1 & -1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \end{bmatrix} ,\quad \boldsymbol{W_4} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \\ 1 & -1 & 1 & -1 \end{bmatrix}.


   \boldsymbol{V_8} = \begin{bmatrix} 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{bmatrix}, \quad \boldsymbol{W_8} = \begin{bmatrix} 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{bmatrix}.

优缺点比较


优点

  • 仅需实数运算 (Real operation) 。
  • 不需乘法运算 (No multiplication) ,仅有加减法运算。
  • 有部分性质类似于离散傅立叶变换(Discrete fourier transform) 。
  • 顺向转换 (Forward transform) 与反向转换 (Inverse transform ) 型式为相似式。

 \begin{cases} \begin{matrix} F\left[ m \right] &=& \sum_{n=0}^{N-1} W\left[ {m, n} \right] f\left[ n \right] & & (\mbox{Forward Type}) \\ f\left[ n \right] &=& \left( \frac{1}{N} \right) \sum_{n=0}^{N-1} W\left[ {m, n} \right]F\left[ m \right] & &(\mbox{Inverse Type}) \end{matrix} \end{cases},

其中 F\left[ n \right]  f\left[ n \right] 分别都为行向量(Column vector) 。


缺点


应用范围

阿达马变换转换主要为一种非常适合应用于频域分析 (Spectrum analysis) ,去执行快速之分析。可惜的是对于折积性质是一种逻辑折积,与离散傅立叶变换上之折积性质截然不同。因此,较折积上无法取代离散傅立叶变换


分享到:
评论

相关推荐

    线性代数的习题与练习

    (阿达马不等式). [提示:当 时,先证明 是正定对称矩阵,再利用习题5.] §9.4 主轴问题 1.对于下列每一矩阵A,求一个正交矩阵U,使得 具有对角形式: ; ; 2.设A是一个正定对称矩阵.证明:存在一个正定对称矩阵S使得...

    adamagisna

    阿达马吉斯纳

    几何学教程立体几何卷.pdf

    《几何学教程(立体几何卷)》J.Hadamard著,中文PDF版,清晰扫描版。该书除详细而严格地论述了立体几何内容外,还包括了常用曲线、测量概念以及有关高等几何等内容,附有大量的习题及解答。

    LinearAlgebra.py

    涵盖了矩阵加法、乘法、幂、克罗内克积、克罗内克和、阿达马积等的运算,也支持矩阵元素更改、追加、扩充和旋转,以及60余种特殊矩阵的构建

    人工智能词汇.doc

    gradient descent 梯度下降 Greedy layer-wise training 逐层贪婪训练方法 grouping matrix 分组矩阵 Hadamard product 阿达马乘积 Hessian matrix Hessian 矩阵 hidden layer 隐含层 hidden un

Global site tag (gtag.js) - Google Analytics