You are on page 1of 10

第二章 图像变换

2.5 哈尔变换与斜变换
(Haar Transform and Slant Transform)
哈尔函数是一种正交归一化函数,可以用在在图像信息压缩和特

征编码等方面,特点是收敛均匀而迅速[1,4]。

2.5.1 Haar 函数(完备的正交归一化函数)[4]

Haar 函数的定义区间为[0,1]:
har (0, t ) = 1 0 ≤ t <1

⎧1 0≤t < 1
⎪ 2
har (1, t ) = ⎨
⎪⎩−1 1 ≤ t <1
2

⎧ 2 0≤t < 1
⎪ 4

har ( 2↓ , t ) = ⎨− 2 1 ≤t < 1
4 2
 
n = 0, p =1 ⎪
⎪⎩0 1 ≤ t <1
2

⎧0 0≤t < 1
⎪ 2

har ( 3↓ , t ) = ⎨ 2 1 ≤t < 3
2 4
 
n =1, p =1 ⎪
⎪⎩− 2 3
4 < t <1
一般情况

⎧ n (n + 1 )
⎪ 2 p
≤t < 2

p p
2 2
⎪⎪ (n + 1 )
har (2 p + n, t ) = ⎨− 2 p 2 ≤ t < (n + 1)
⎪ 2p 2p
⎪0 otherwise

⎪⎩ p = 1, 2," ; n = 0,1, 2," , 2 p − 1

1
第二章 图像变换

har(0,t) 1
t
0 1

har(1,t) 1
1
t
-1

har(2,t)
2
1
t
− 2

har(3,t) 2 1
t
− 2

har(4,t) 2
1

t
-2

也就是说,在[0,1]区间内,har(0,t)为 1,har(1,t)在左、右半个区

间内取值分别为 1 和-1。它的其它函数取 0 ± 2 , ±2 , ±2 2 , ±4 等。

以上 Haar 函数定义以 1 为周期,可将它延拓至整个时间轴上。

注意:har(0,t) and har(1,t)为全域函数(Global Function)


,因为他

们在整个正交区间都有值,而其余的 Haar Function 只在部分区间有

值,称为局域函数(Local Function)

2
第二章 图像变换

An example of a 128-point one-dimensional signal from a physics experiment,


and shows the original signal, the result of the Haar transform, and the signal
that has been reconstructed from 13 transform samples.
(Ref: http://gershwin.ens.fr/vdaniel/Doc-Locale///Cours-Mirrored/Maths-Stuff/handbook/AN16pp/node113.html)

2.5.2 Haar 函数的性质

● 正交归一性
1
⎧1 m=l
∫0 har ( m, t ) har (l , t ) dt = ⎨
⎩0 m≠l

阶数不同的两个 Haar Function, 可能互不重合(for example:

,也可能一个 haar function 处于另一个的半周期


har(3,t) and har(4,t))

之内(for example: har(4,t) and har(2,t)),这时均正交。

● Haar Series

周期为 1 的连续函数 f (t ) 可展成 Haar 级数


+∞
f (t ) = ∑ c(m)har (m, t )
m=0

3
第二章 图像变换

其 中 c(m) = ∫ f (t )har (m, t )dt , Haar Function 的 收 敛 性 比 Walsh


0

Function 要好。

f(t)

用有限项 Haar Function 去逼近指数函数的情况,逼近曲线是步


1
长相等的锯齿波,步长为 p
,阶梯数目为 2 p ,Haar Function 的最高
2
阶为 p,由这个 p 确定了步长。项数越多,逼近越好。傅立叶级数和

Walsh 级数却不是这样简单明了。

全域函数( har(0,t) and har(1,t))的系数 c(0), c(1) ,在整个正交区域

受 f (t ) 的影响;而对局域函数,他们的系数 c(2), c(3)," 只受 f (t ) 部分值

影响。如此,要用 HF 去逼近将一个函数 f (t ) ,则全域函数在整个正

交区内起作用,而局域函数则在部分区域起作用。在工程技术应用中,

我们希望 f (t ) 的某一部分逼近更好的话,Haar 函数有独到之处。

● 帕斯维尔定理成立

(因为 Haar 函数是完备的正交函数)


1 +∞

∫f
2
(t )dt = ∑ c 2 (m)
0 m =0

4
第二章 图像变换

2.5.3 Haar 变换和快速算法[4]

● Haar Matrix

前 8 个哈尔函数组成的哈尔矩阵如下:

⎡ 1 1 1 1 1 1 1 1 ⎤
⎢ 1 1 1 1 −1 −1 −1− 1⎥⎥

⎢ 2 2 2 2 0 0 0 0 ⎥
⎢ ⎥
0 0 0 0 2 2 2 2⎥
har8 = ⎢
⎢ 2 −2 0 0 0 0 0 0 ⎥
⎢ 0 0 2 −2 0 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 0 0 2 −2 0 0 ⎥
⎢ 0 2 − 2 ⎥⎦
⎣ 0 0 0 0 0

● 哈尔正交变换

⎡ Ha (0) ⎤ ⎡ f (0) ⎤
⎢ Ha (1) ⎥ ⎢ f (1) ⎥
⎢ ⎥ = 1 ⎡ har p ⎤ ⎢ ⎥
⎢ # ⎥ N⎣ 2 ⎦ ⎢ # ⎥
⎢ ⎥ ⎢ ⎥
⎣ Ha ( N − 1) ⎦ ⎣ f ( N − 1) ⎦

其中
⎡ Ha(0) ⎤
⎢ Ha(1) ⎥
⎢ ⎥ 为变换矩阵阵列 [Ha(0), Ha(1), " , Ha( N − 1)]T ;
⎢ # ⎥
⎢ ⎥
⎣ Ha( N − 1)⎦

[har ] 为 2 p 阶哈尔矩阵, p = 1,2,3," ;


2p

⎡ f (0) ⎤
⎢ f (1) ⎥
⎢ ⎥ 为 [ f (0), f (1), " , f ( N − 1)]T ,是时间序列。
⎢ # ⎥
⎢ ⎥
⎣ f ( N − 1)⎦

其逆变换

5
第二章 图像变换

⎡ f ( 0) ⎤ ⎡ Ha(0) ⎤
⎢ f (1) ⎥ ⎢ Ha(1) ⎥

⎢ # ⎥
[
⎥ = har p
2
]
−1 ⎢

⎢ #

⎥,
⎢ ⎥ ⎢ ⎥
⎣ f ( N − 1)⎦ ⎣ Ha( N − 1)⎦
Note:由于 Haar Matrix 不是对称矩阵,所以逆矩阵 [har2 p ]
−1
与 [har2 ] 不
p

相等,这与前面我们学过的 Hardamard Matrix 和 Walsh Matrix 是不同

的。

可以由矩阵因子分解法得到快速哈尔变换。

● 矩阵因子分解

为了使哈尔变换也能用 FFT 处理机运算,需要使用蝶式流程算

法。但哈尔变换的流程图本身不是蝶形图,可以使用重新排序方法构

成哈尔变换的蝶式运算流程图:

[ f (0), f (1), " , f (7)] (原时间序列)

[ f ′(t )] = [ f ′(0), f ′(1), f ′(2), f ′(3), f ′(4), f ′(5), f ′(6), f ′(7)]


(重新排序后的新序列)

排序方法:

ˆ 将 [ f (t )] 中各元素序号写成自然二进制码(binary system),如

5 → (0101)

ˆ 将此二进制码比特左右倒置后翻成十进制(decimal system)数

字得新序列号

f ( 2) : [ 2]d ⇒ [ 010]b ⎯倒置


⎯⎯ → [ 010] =[ 2]d ,f ′(2) → f (2)
b

6
第二章 图像变换

f ( 4) : [ 4]d ⇒ [100]b ⎯⎯⎯


倒置
→ [ 001]b =[1]d ,f ′(1) → f (4)

f (6) : [ 6]d ⇒ [110]b ⎯⎯⎯


倒置
→ [ 011]b =[3]d ,f ′(3) → f (6)

f (1) : [1]d ⇒ [ 001]b ⎯⎯⎯


倒置
→ [100]b =[ 6]d ,f ′(6) → f (1)

完成全部的重新排序后,第一步运算就构成蝶式运算方式。以后

要使后续运算也成蝶式,也要在第二、第三步重新排序。一般来说,

用蝶式快速算法需 log 2 N 次倒置, 2( N − 1) 加减及 N 次乘法。

2.5.4 Two-D Haar Transform

Two-D Haar 变换的矩阵式定义为:

1
⎡⎣ H a ( u , v ) ⎤⎦ = 2 [ har2 p ] ⎡⎣ f ( x, y ) ⎤⎦ [ har2 p ]
−1

N
⎡⎣ f ( x, y ) ⎤⎦ = [ har2 p ] ⎡⎣ H a ( u , v ) ⎤⎦ [ har2 p ]
−1

其中:

⎡⎣ f ( x, y ) ⎤⎦ 是空间域数据矩阵;

⎡⎣ H a ( u , v ) ⎤⎦ 是变换系数矩阵;
[ har2 p ] [ har2 p ]
−1
and 是离散哈尔矩阵及其逆矩阵。

2.5.5 斜变换(Slant Transform)[4]

Rays of the setting sun slanting through the window…


Nghieâng Transform ñeå daàn daàn thay ñoåi cöôøng ñoä tín hieäu hình aûnh ñaõ ñöôïc thaønh coâng ñöôïc söû duïng ñeå maõ hoùa hình aûnh.

斜变换适于灰度逐渐改变的图像信号,已成功用于图像编码。
YÙ töôûng cô baûn: Theo söï lieân quan cuûa tín hieäu hình aûnh, moät doøng coù cuøng ñoä saùng yeáu hoaëc
基本思想:根据图像信号的相关性,某行的亮度具有基本不变或
Caùc ñaëc tính cuûa gradient tuyeán tính Coù theå taïo thaønh moät ma traän bieán ñoåi Ñeå phaûn aùnh caùc doøng taêng hoaëc giaûm
线性渐变的特点,可以编造一个变换矩阵,来反映这种递增或递减(线
7
第二章 图像变换

Cuûa gradient) haøng vector cuûa caùc ñaëc ñieåm

性渐变)特性的行向量。

● 变换矩阵 Chuyeån ñoåi ma traän


Vôùi Caùc
Ma traän ñöôøng cheùo Ñoù laø

N × N 斜矩阵 N = (2) 用 S (n) 表示,则


n

1 ⎡1 1 ⎤
S (1) = ⎢ ⎥ = S1 ①
2 ⎣1 −1⎦ 记为
Kyù hieäu

if n = 2, N = 2 = 4 , then
2

⎡ 1 1 1 1 ⎤
⎢ 3 1 −1 −3 ⎥⎥
1 ⎢⎢ 5 5 5 5⎥
S2 = ②
4⎢ 1 −1 −1 1 ⎥
⎢ −3 ⎥
⎢ 1 3 −1 ⎥
⎣ 5 5 5 5⎦
Coâng thöùc ma traän

矩阵通式
⎡ 1 0 1 0 ⎤
⎢a b 0 − an bn
0 ⎥
⎢ n n ⎥
⎢ 0 I⎛ N ⎞ 0 I ⎛ N ⎞ ⎥⎥
⎢ ⎜ ⎟−2 ⎜ ⎟−2 ⎡ 0 ⎤⎥
Sn = ⎢ ⎝2⎠ ⎝2⎠ ⎥ ⎢ S n −1
⎢ 0 −1 ⎥
0 ⎥ ⎢⎣ 0 S n −1 ⎥⎦
1 0
⎢ 0
⎢ −bn an bn an ⎥
⎢ ⎥
⎢ 0 I⎛ N ⎞ 0 − I⎛ N ⎞ ⎥
⎣⎢ ⎜ ⎟−2
⎝2⎠
⎜ ⎟−2 ⎥
⎝2⎠ ⎦
Trong ñoù
其中:
Taát caû 0 ma traän
0: 全 0 矩阵;
Ñaët haøng ma traän ñôn vò
I N Treân
⎡1 0⎤ Laø Ma traän

( ) − 2 : ( ) − 2 阶单位矩阵,对 N=8,I 2 = ⎢ ⎥ 是 2 × 2 单位矩阵;


N
2 2 ⎣0 1 ⎦
1 ⎡1 1 ⎤
s1 = ⎢ ⎥;
2 ⎣1 − 1⎦
Moái quan heä giöõa
a n , bn 之间的关系:

8
第二章 图像变换

⎧⎪b = (1 + 4a 2 )1 2 a1 = 1
n −1

n
,
⎪⎩an = 2bn an −1
Caùc giaûi phaùp thu

解之得
1 1
⎛ 3N 2 ⎞ 2 ⎛ N2 −4 ⎞ 2
a n +1 = ⎜⎜ ⎟⎟ , bn +1 = ⎜⎜ ⎟⎟ , N = 2 n
⎝ 4( N − 1) ⎠ ⎝ 4( N − 1) ⎠
2 2

Vieäc laøm

作业:
⎡ 1 0 1 0⎤ ⎡ 1 1 1 1 ⎤
⎢ a b −a b ⎥ S 0 ⎢a + b a − b −a + b −a − b ⎥
1 ⎢ 2 2 2⎥⎡ 1 ⎤ 1 ⎢ 2 2 2⎥
S2 = 2
⎢ ⎥ = 2 2 2 2 2

2 ⎢ 0 1 0 −1 ⎥ ⎣ 0 S1 ⎦ 4⎢ 1 −1 −1 −1 ⎥
⎢ ⎥ ⎢ ⎥
⎣⎢−b2 a2 b2 a2 ⎦⎥ ⎢⎣a2 − b2 −a2 − b2 a2 + b2 −a2 + b2 ⎦⎥
Ñaët haøng Coäng vôùi ñieàu kieän tröïc giao Coù theå ñöôïc giaûi quyeát
令 a2 = 2b2 ,加正交条件 1 [3b b −b −3b] 1 [3b b −b −3b]T = 1 ,可解出 b = 1
4
Böôùc tôùi böôùc chöùc naêng thaäm chí ñoaïn ñöôøng noái
4 5
使斜函数的跳变台阶均匀。

Nghieâng Transform

● 斜变换[4]
Veà tín hieäu vector N chieàu
对 N 维矢量信号 X = ( x1 , x 2 , " , x N ) N = 2n ,
T
ˆ
Ñònh nghóa cuûa söï chuyeån ñoåi cheùo
进行斜变换的定义;

Y = SN X ,
Caùc bieán ñoåi nghòch ñaûo
其反变换:

X = S NT Y 。
Tín hieäu hình aûnh ñoà hoïa

ˆ 平面图像信号
Nghieâng Transform
斜变换:

Y = S N XS NT ;
Caùc bieán ñoåi nghòch ñaûo

其反变换:

9
第二章 图像变换

X = S NT YS N 。
Nghieâng Transform laø moät bieán ñoåi tröïc giao thöïc

ˆ 斜变换为实的正交变换

S = S *, S−1 = S T 。
Nhanh choùng chuyeån ñoåi - caùc loaïi tieän ích treân truyeàn hình töø töø thay ñoåi hình aûnh maøu xaùm quy moâ
ˆ 快变换――实用于电视类型的灰度缓变图像。

Coù theå ñöôïc nhìn thaáy töø treân, quaù trình thöïc teá cuûa bieán ñoåi laø quaù trình nhaân ma traän. Caùi goïi laø nhanh choùng tính

从前述可见,变换的过程实际是矩阵相乘的过程。所谓快速算
Phöông phaùp nhanh ma traän nhaân ñeå tìm phöông phaùp, noù seõ ñöôïc chia thaønh nhieàu deã nhaân ma traän

法就是能找到矩阵快速相乘的方法,就是要把矩阵分成几个易于相乘
Ma traän heä soá
的矩阵因子。
Chuyeån ñoåi ma traän, caùc thöøa ma traän khoù khaên
Ñoái vôùi cao caáp
对于高阶的 Slant 变换矩阵,进行矩阵因子分解难度较大。

10