`
jubincn
  • 浏览: 242520 次
  • 性别: 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) ,去执行快速之分析。可惜的是对于折积性质是一种逻辑折积,与离散傅立叶变换上之折积性质截然不同。因此,较折积上无法取代离散傅立叶变换


分享到:
评论

相关推荐

    数字信号处理中的正交变换

    文章首先介绍了正交变换的基本概念,包括傅立叶变换、非正弦正交函数,特别是沃尔什-阿达马变换(WHT),以及广义正交变换。这些变换在信号的表示、数据压缩和模式识别中发挥着重要作用。 1. **傅立叶变换**是数字...

    线性代数的习题与练习

    此外,阿达马不等式(习题11和12)则关联了矩阵的谱半径和二次型的值,提供了矩阵性质的不等式约束。 最后,主轴问题探讨了如何通过正交变换将矩阵对角化。习题13至16展示了如何找到适当的正交矩阵U,使得矩阵A或一...

    fsi.zip_图形图象_matlab_

    总结来说,这个压缩包包含了一个MATLAB实现的单像素成像算法,特别关注了四步傅里叶变换的方法,以及一个文档,详细对比了阿达马变换和傅里叶变换在单像素成像中的应用。对于学习和理解单像素成像技术,以及如何在...

    测绘工程专业英语词汇汇总pdf

    阿达马变换是一种在数字信号处理和图像处理领域中常用的离散变换技术。它可以看作是傅里叶变换的一种特殊情况,适用于离散数据集,尤其在量子计算中作为一种重要的操作被广泛应用。 #### 安平精度(settingaccuracy...

    沃尔什函数的编号方法

    本文主要探讨沃尔什函数的不同编号方法,包括沃尔什编号(W)、佩利编号(P)和阿达马编号(H),同时也介绍了一种新的编号方法,并通过数学工具和实例展示了这些编号方法的特点和关联。 #### 沃尔什函数简介 ...

    yizhi.rar_91yizhi.com_yizhl_函数逼近_切比雪夫_勒让德函数

    总之,“yizhi.rar”这个压缩包中的资源很可能详细介绍了如何利用切比雪夫多项式和勒让德多项式进行函数逼近,这将有助于提高我们对数值方法的理解和应用能力,尤其是在科学计算的背景下。通过学习和实践,我们可以...

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

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

    LinearAlgebra.py

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

    C语言命令行MP3播放器

    本项目"命令行MP3播放器"是利用C语言实现的一个简单但实用的程序,它允许用户在命令行环境下播放MP3音频文件,无需依赖图形用户界面(GUI)。下面我们将深入探讨这个项目的相关知识点。 首先,我们要理解C语言的...

    四元素姿态解算.c

    - 从旋转矩阵到欧拉角:可以使用几种方法将旋转矩阵分解为三个旋转角度,如Rodrigues公式或阿达马矩阵。 - 从欧拉角到旋转矩阵:根据所选的欧拉角顺序,通过三个简单的旋转矩阵相乘得到总旋转矩阵。 - 从旋转矩阵...

    matlab函数表

    本文将对 Matlab 函数表数组和矩阵进行详细介绍,涵盖数组和矩阵的基本信息、数组运算、数组操作、专业矩阵、线性代数等方面。 数组和矩阵基本信息 disp 显示文本或数组, display 显示文字或数组(重载方法),...

    lrd.rar_勒让德_勒让法

    勒让德多项式是一组特殊的多项式序列,由法国数学家阿达马·勒让德所发现,它们在物理、工程、信号处理等多个科学领域有广泛应用。 勒让德多项式是一系列正交多项式,表示为P_n(x),其中n是非负整数。这些多项式...

    电子科大java实验

    此外,还提到了阿达马乘积(或称分素乘积),这是两个矩阵对应元素相乘的结果,也要求矩阵尺寸相同。 3. **JAVA编程基础**:实验要求学生使用JAVA语言编写矩阵操作类库,涉及构造函数、成员变量的声明和初始化,...

    数论研究的三个阶段.doc

    黎曼和阿达马等数学家对解析数论的贡献显著,例如黎曼的ζ函数和黎曼猜想,对素数分布的理解产生了深远影响。解析数论使用微积分和复分析等工具,处理如素数计数、黎曼ζ函数的零点分布等问题,为理解素数的性质提供...

    张恭庆版《泛函分析》答案

    ### 泛函分析知识点解析 #### 一、子集A为列紧的充分必要条件 **知识点概述**: - 在度量空间中,一个子集\...这表明\( E \)是一致有界的,并且等度连续,符合阿斯科利-阿达马列紧定理的条件,因此\( E \)是列紧集。

    在链接预测中扮演弱集团属性的角色:朋友推荐模型

    实验结果显示,FR指数的性能优于一些知名的局部相似度指数,如共同邻居(Common Neighbor, CN)指数、阿达马-阿达(Adamic-Adar, AA)指数和资源分配(Resource Allocation, RA)指数。本研究通过解释为什么WPC现象...

    基于子阵列自适应成像的RCS测量方法.docx

    本文档详细介绍了一种基于子阵列自适应成像的雷达散射截面积(RCS)测量方法,该方法旨在解决基于三维成像的RCS测量中存在的回波相位非相参现象问题。 随着雷达技术的发展,雷达的探测能力不断提高,隐身技术成为了...

    adamagisna

    然而,如果“阿达马吉斯纳”是某种编程语言、框架、工具或者特定项目的名字,但没有足够的上下文来进行详细的解释。通常情况下,我会提供关于编程语言的基础知识,如变量、控制结构、函数、数据结构等;如果是框架,...

    东南大学《高等数学B》04-12历年期中考试试卷(含答案).pdf

    对于形式为Σa_n*x^n的幂级数,其收敛半径R可通过柯西-阿达马公式计算得出,R = 1 / limsup(|a_n|)^(1/n),其中limsup表示上极限。文档中提到了幂级数nax^n的收敛半径为3,进而涉及到收敛区间的求解问题。 3. 曲线...

Global site tag (gtag.js) - Google Analytics