阿達馬變換(Hadamard transform),或稱沃爾什-阿達瑪轉換,是一種廣義傅立葉變換(Fourier transforms),作為變換編碼的一種在影片編碼當中使用有很久的歷史。在近來的影片編碼標準中,阿達馬變換多被用來計算SATD(一種影片殘差信號大小的衡量)。
在數字信號處理大型積體電路演算法的領域中,阿達馬變換是一種簡單且重要的演算法之一,主要能針對頻譜做快速的分析。
變換矩陣
在H.264中使用了4階和8階的阿達馬變換來計算SATD,其變換矩陣為:
SATD計算方法
當計算4x4塊的SATD時,先使用下面的方法進行二維的阿達馬變換:
然後計算所有係數絕對值之和並歸一化。
類似的,當計算8x8塊的SATD時,先使用下面的方法進行二維的Hadamard變換:
然後計算所有係數絕對值之和並歸一化。
建構阿達馬變換
阿達馬變換轉換主要型式為 點的轉換矩陣,其最小單位矩陣為 2x2 的阿達馬變換矩陣,以下分別為二點、四點與如何產生 點的阿達馬變換轉換步驟。
- 產生 點阿達馬變換的步驟:
步驟一:
步驟二: 根據正負號次序 (Sign change,正負號改變次數) 將矩陣 (Matrix) 內的列向量做順序上的重新排列。
範例
特性
其表示 Walsh-Hadamard 轉換矩陣中,不同的列向量 (Row verctor) 做內積 (Inner product) 為零。
可簡單從 Walsh-Hadamard 轉換矩陣中發現,其奇數列向量呈現左右兩邊偶對稱(Even symmetric)。反之,其偶數列向量呈現左右兩邊奇對稱(Odd symmetric)。
若
則
範例:
其運算方式為布林代數內的 XOR 邏輯閘。
其中,
若
則
若
則
若
若
則
- 摺積性質 (Convolution Property)
若
則
其中 代表邏輯摺積 (Logical convolution)。
優缺點比較
優點
- 僅需實數運算 (Real operation) 。
- 不需乘法運算 (No multiplication) ,僅有加減法運算。
- 有部分性質類似於離散傅立葉變換 (Discrete fourier transform) 。
- 順向轉換 (Forward transform) 與反向轉換 (Inverse transform ) 型式為相似式。
其中 與 分別都為行向量 (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 轉換中的一項特例情況,其將 即可求得。
以下為四點的 Jacket 轉換:
- 點的 Jacket 轉換:
相關條目
參考文獻
- Jian-Jiun Ding, Advanced Digital Signal Processing class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2008.
- H. F. Harmuth,「Transmission of information by orthogonal functions,」1970.
- Moon-Hu. Lee,「A new reverse Jacket transform and its fast algorithm,」IEEE Trans. Circuits Syst.-II, vol. 47, pp.39-46, 2000.
- K.G.Beauchamp, "Walsh Functions and Their Applications," Academic Press,1975.
- H. F. Harmuth, "Transmission of Information by Orthogonal Functions," Springer, 1969.