阿達馬變換，或稱沃爾什 阿達瑪轉換，是一種廣義傅立葉變換（Fourier transforms），作為變換編碼的一種在影片編碼當中使用有很久的歷史。在近來的影片編碼標準中，阿達馬變換多被用來計算 SATD 一種影片殘差訊號大小的衡量。 在數字訊號處理大型積體電路演演算法的領域中，阿達馬變換是一種簡單且重要的演演算法之一，主要能針對頻譜做快速的分析。 變換矩陣 在 H264 中使用了 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_4end 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_4end bmatrix 所有係數絕對值之和並歸一化。 類似的，當計算 8x8 塊 begin bmatrix L_8end 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_8end bmatrix 所有係數絕對值之和並歸一化。 建構阿達馬變換 阿達馬變換轉換主要型式為 boldsymbol 2k 點的轉換矩陣，其最小單位矩陣為 2x2 的阿達馬變換矩陣，以下分別為二點、四點與如何產生 boldsymbol 2k 點的阿達馬變換轉換步驟。 二點阿達馬變換轉換： 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 2k 點阿達馬變換的步驟： 步驟一： boldsymbol V_2k1 begin bmatrix boldsymbol W_2k boldsymbol W_2k boldsymbol W_2k boldsymbol W_2k end bmatrix 步驟二： 根據正負號次序 Sign change 正負號改變次數 將矩陣 Matrix 內的列向量做順序上的重新排列。 boldsymbol V_2k1 longrightarrow boldsymbol W_2k1 範例 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 特性 正交性 sum_n0N1 Wleft h n right Wleft m n right 0 quad mathrm if h ne m 其表示 WalshHadamard 轉換矩陣中，不同的列向量 Row verctor 做內積 Inner product 為零。 奇偶函式性質 可簡單從 WalshHadamard 轉換矩陣中發現，其奇數列向量呈現左右兩邊偶對稱 Even symmetric。反之，其偶數列向量呈現左右兩邊奇對稱 Odd symmetric。 線性關係 若 fleft nright Rightarrow Fleft mright and gleft nright Rightarrow Gleft mright 則 afleft nright bgleft nright Rightarrow aFleft mright bGleft mright 邏輯相加性質 Wleft m nright cdot Wleft l nright Wleft m oplus l nright 範例： 0 oplus 0 0 quad 0 oplus 1 1 quad 1 oplus 0 1 quad 1 oplus 1 0 其運算方式為布林代數內的 XOR 邏輯閘。 特殊函式 deltaleft nright Rightarrow 1 quad 1 Rightarrow N cdot deltaleft nright 其中， deltaleft nright begin cases 1 quad mathrm when n 0 0 quad mathrm when n ne 0 end cases 平移性質 若 fleft nright Rightarrow Fleft mright 則 fleft n oplus kright Rightarrow Wleft k mright Fleft mright 調變性質 若 fleft nright Rightarrow Fleft mright 則 Wleft k nright fleft nright Rightarrow Fleft m oplus kright 帕塞瓦爾定理 Parsevals Theorem 若 fleft nright Rightarrow Fleft mright quad sum_n0N1 left fleft n right right2 left frac 1N right sum_n0N1 left Fleft m right right2 若 fleft nright Rightarrow Fleft mright and gleft nright Rightarrow Gleft mright 則 sum_n0N1 fleft n right gleft n right left frac 1N right sum_n0N1 Fleft m right Gleft m right 摺積性質 Convolution Property 若 fleft nright Rightarrow Fleft mright and gleft nright Rightarrow Gleft mright 則 hleft nright fleft nright star gleft nright Rightarrow Hleft mright Fleft mright Gleft mright 其中 star 代表邏輯摺積 Logical convolution。 優缺點比較 優點 僅需實數運算 Real operation 。 不需乘法運算 No multiplication ，僅有加減法運算。 有部分性質類似於離散傅立葉變換 Discrete fourier transform 。 順向轉換 Forward transform 與反向轉換 Inverse transform 型式為相似式。 begin cases begin matrix Fleft m right sum_n0N1 Wleft m n right fleft n right mbox Forward Type fleft n right left frac 1N right sum_n0N1 Wleft m n right Fleft m right mbox Inverse Type end matrix end cases 其中 Fleft n right 與 fleft n right 分別都為行向量 Column vector 。 缺點 其收斂速度較離散餘弦變換慢，因此對於頻譜分析的效果較差。 其加減法量較離散傅立葉變換、離散餘弦變換多。 應用範圍 阿達馬變換轉換主要為一種非常適合應用於頻域分析 Spectrum analysis ，去執行快速之分析。可惜的是對於摺積性質是一種邏輯摺積，與離散傅立葉變換上之摺積性質截然不同。因此，較摺積上無法取代離散傅立葉變換。 主要應用範圍： 頻寬降低 Bandwidth reduction 。 CDMA Code division multiple access。 其主要是一種調變 modulation 與解調 Demodultion 之技術。 資訊編碼 Information coding。 特徵識別 Feature extraction。 心電圖分析 ECG signal analysis in medical signal processing。 Hadamard 頻譜量測 Hadamard spectrometer。 避免量化誤差 Avoiding quantization error。由於阿達馬變換轉換輸入輸出皆為整數，因此不會有量化誤差的問題。 Jacket 轉換 廣義來說，其實阿達馬變換轉換是 Jacket 轉換中的一項特例情況，其將 w pm 20 1 即可求得。 以下為四點的 Jacket 轉換： boldsymbol J_4 begin bmatrix 1 1 1 1 1 w w 1 1 w w 1 1 1 1 1 end bmatrix quad where w pm 2k boldsymbol 2k1 點的 Jacket 轉換： boldsymbol J_2k1 begin bmatrix boldsymbol J_2k boldsymbol J_2k boldsymbol J_2k boldsymbol J_2k end bmatrix 相關條目 阿達馬矩陣 參考文獻 JianJiun Ding Advanced Digital Signal Processing class notethe Department of Electrical Engineering National Taiwan University NTU Taipei Taiwan 2008 H F HarmuthTransmission of information by orthogonal functions1970 MoonHu LeeA new reverse Jacket transform and its fast algorithmIEEE Trans Circuits SystII vol 47 pp3946 2000 KGBeauchamp Walsh Functions and Their Applications Academic Press1975 H F Harmuth Transmission of Information by Orthogonal Functions Springer 1969 category 數字訊號處理 Category 影片和電影技術 Category 變換編碼 Category 量子演算法