基波變換
李孟書
前言
基波理論 (wavelets theory) 近年來 在調和分析的研究領域中相當熱絡。 本文試 著從古典傅立葉級數的概念開始, 簡略地引 入基波的構造方式, 並比較這兩者之間在一 些數學性質上的差異; 接著重點式地描述如 何導出在應用上常見的基波變換 (wavelets transform)。 最後舉一個用基波變換來做影 像壓縮 (image compression) 的例子作為 結束。
一. 引言:
在科學上有很多現象, 由於太複雜不易 直接去了解, 需要抽取實際問題的精要部分 去做較理想化的假設, 以簡化問題; 或是需 把問題分解成很多細小、 簡單或獨立的部分, 個個去理解它。 細小的部分了解後, 對於原來 大問題的解決, 就是把這些細小的部分綜合 (組合) 起來。 當然經由這種程序所得的結果, 須保持對原來問題在某種程度上的接近。 以 上的這些步驟, 就是一般所謂的分析與綜合 (analysis and synthesis)。 利用分析與綜合 的觀念, 假設我們要研究一個一維度的函數
f(x), 首先的 「分析」 步驟就是產生 f (x) 的 光譜 (spectrum) S(f ); 接著的 「綜合」 步 驟就是相當於用反變換 T (inverse trans- form), 還原回到函數 f (x) 本身, 也就是 T(S(f ))(x) = f (x)。 這種變換最著名的例 子便是傅立葉級數 (fourier series) 及傅立 葉積分 (fourier integral)。
假如 f (x) 是一個週期為 2π 的函數, 這 個傅立葉係數的數列, 就是光譜 S(f ),
S(f ) = {(Sf)k}∞k=−∞
= { 1 2π
Z
2π 0f(x)e−ikxdx}∞k=−∞
而反變換 T , 可經由乘法及求和得到 T({(Sf)k}) =
X
∞ k=−∞(Sf )keikx 而 T (S(f ))(x) = f (x) 就相當於這個函數 f(x) 可用傅立葉級數來表示。
另外一個例子, 假如 f (x) 是一個非週 期性的實函數, 我們有
S(f )(ξ) =
Z
∞−∞
f(x)e−iξxdx T(S(f ))(x) = 1
2π
Z
∞−∞S(f )(ξ)eiξxdξ
1
其中 S(f ) 就是 f (x) 的傅立葉變換, 而 T (S(f ))(x) = f (x) 就是傅立葉反變換 公式。
在數學及工程應用上尚有很多其他算子 (operator) 或變換 (transformation) 的例 子。 這些變換 S 與 T 到底要具有何種性質 呢? 這跟我們要解決的問題有關, 但一般說 來, 對於算子 S, T 的基本要求是它們應有 線性的 (linear) 性質, 也就是, 對任意的實 數α, β及函數f1, f2, 算子 S, T 滿足
S(αf1+ βf2) = αS(f1) + βS(f2) 及
T(α1f1+ βf2) = αT (f1) + βT (f2)
基於抽象化的理由, 這個算子 S 可 表成內積的形式, 也就是對於一群函數族 {gk}k∈K, 其中 K 是一個指標集, 我們有
S(f ) = {(Sf)k}k∈K = {hf, gki}k∈K (1) 同時, 反變換 T 亦可表成,
T(S(f ))(x) = f (x) =
X
k∈K
hf, gkihk(x) (2) 這裡 {hk}k∈K 是另一群函數族。 當我 們取上式中的 hk(x) = gk(x) = ek(x) = eikx 時, 我們就得到傅立葉級數的模型, 也就 是
f(x) =
X
∞ k=−∞hf, eikxieikx (3)
在表示式 (2) 裡, 我們可看出如果要把 這式用到數值應用上的話, 我們需要對 S 與 T 多加一些性質。 首先我們希望能在等式的 右邊用適當的項數去逼近函數 f (x); 接著在 S(f ) 中所載的資訊, 我們除了用它來還原回 到函數 f (x) 外, 我們也希望能從它讀出函 數 f (x) 的一些性質, 如平滑性 (smooth- ness), 大小 (size) 等等。 可惜的是傅立葉級 數中的係數, 不足以來描述大多數的函數空 間 (function spaces) 中的平滑及大小特性。
二. 基波:
首先我們簡略的介紹基波如何從古典的 調和分析中的 Littlewood-Paley theory 演 進過來及近年來 (1985 年以後) 一群數學家 如何以更一般化的方法來構造它。
假 如ψ(x)是 一 個 具 有 快 速 減 緩 的 (rapidly decreasing) 實函數, 如 ψ(x) ≤
c
1+x2, 而且滿足
R
ψ(x)dx = 0, 定義 ψb(x) = 1bψ(x
b), ψba(x) = 1
bψ(x− a b ) 則我們稱函數 ψ(x) 是一個基波 (wavelet)。
接下來我們可定義連續型的基波變換 (con- tinuous wavelets transform) 為函數 f (x) 與 ψab(x) 的內積。 亦即
hf, ψabi =
Z
∞−∞
f(x)ψba(x)dx = (f ∗ψb)(a) 而 (f ∗ ψb)(a) 中的 “∗” 為卷積 (convolu- tion)。
當得到 hf, ψbai 的值後, 我們有一個簡便的方 法來還原函數 f (x), 亦即我們有底下的表示 式, 對任一 f (x) ∈ L2(R), 我們有
f(x) =
Z
∞ 0Z
∞−∞hf, ψbaiψba(x)dadb b (4)
=
Z
∞0 (f ∗ ψb) ∗ ψbdb b
(4) 式有時亦稱為 Calderon repro- ducing formula。 其中ψ(x) 除了合乎上述的 條件外, ψ(x) 的傅立葉變換 ˆψ(ξ) 要滿足
Z
∞0 ( ˆψ(bξ))2db b = 1。
關於這式子的意義及推導細節, 有興趣的讀 者請參考[1]的第二章或 [2]的第一章, 這裡不 再重述。 有趣的是關於 (4) 式, 如果 ψ(x) 滿 足 Daubechies 書上 [1]第 56 頁 3.1.4 所述 之不等式 (即存在 A, B 兩正數, 使得對所有 f ∈ L2(R), Akfk2 ≤
P
m,n|hf, ψmn > |2 ≤ Bkfk2, 其中 ψmn(x) = 2mψ(2mx − n), m, n 為整數)。 則我們有一個類似於傅立葉 級數的離散型版本來表示函數 f (x)。 即
f(x) =
X
k,j
hf, ψkjiψ
e
jk(x) (5)其中 ψ 為 ψ 的一種對偶函數
e
(dual), 參閱 Daubechies 書 [1] 3.2 節。這個式子可解釋為對於 (4) 式的一 種逼近。 廣義上說來, 基波分析就像傅立葉 分析同樣是用來探討係數 hf, ψjki 及函數 f(x) 之間的關係。 事實上, 約在六十年前 (1930’s), 當基波這個名詞尚未出現時, 研 究調和分析的數學家, 就已經發展出一套理 論來描述大部分的古典函數空間與係數間的 關係。 這套理論現今稱為 Littlewood-Paley Theory。 這裡所提到的古典函數空間包括 H¨older spaces, Lp spaces, 1 < p <
∞, Sobolev Spaces 等。 這個情形正好是 給予傅立葉級數一個對比, 因為從 (3) 式及 Plancherel’s Theorem 知道, 唯一能被係數 的大小所描述的函數空間, 就是 L2(R) 及其 相關函數空間而已。 另外, 給定一個函數或訊 號 f (x), 對於 (3) 式及 (5) 式間的一個重要 差別是如何從係數部分來認知這個函數或訊 號在某個小區域的變化情形。 關於這一點, 我 們舉個例子來說明: 假如我們要分析的訊號 是如下圖。
訊號 f (t) 在不同的時間域 A, B, C, D 各有不同的行為。 為了說明起見, 讓我們 集中在 B 區域。 回想我們求傅立葉係數時,
是把整個訊號 f (t) 對各種不同的頻率做積 分, 這樣所得的結果必然有很多係數不為零, 但還原 (重建) 訊號 f (t) 在 B 區域的值時,
必須使得 f (t) = 0, 如何能做到呢? 就是要 利用這些不為零的項之間的抵消 (cancella- tion)。 這個性質源自於 sin, cos 函數在時間 域上散佈於整個實數軸, 因此在訊號處理的 應用上有時造成不便。 然而 (5) 式的基波展 開式卻能避開這個不便, 即基波係數 hf, ψjki 能代表訊號 f (t) 在某個小區域的特徵。 這個 重要的基波性質在 [4]裡有詳述, 請參閱。 在 本文最後的應用部分, 我們將用此特性來做 影像壓縮。
三. 基波變換:
以下我們略述基波的構造方法, 詳細請 參閱 [1]的第五、 六兩章。 這裡的重點放在如 何導出離散型基波變換 (discrete wavelets transform) 的演算法。 目前構造基波的方法 中, 以多重解像分析 (multiresolution anal- ysis) 最為普遍 (註一), 在這裡我們也採用此 法做為開始。
假如 Vj, j ∈ Z 是 L2(R) 的閉子空 間序列, 而且滿足以下的五個條件, 我們就稱 Vj, j ∈ Z 是 L2(R) 的一個多重解像分析。
(i) Vj ⊂ Vj+1
(ii) f (x) ∈ Vj ⇐⇒ f(2x) ∈ Vj+1 (iii) f (x) ∈ V0 ⇐⇒ f(x + 1) ∈ V0 (iv)
S
j∈Z
Vj = L2(R), and
T
j∈Z
Vj = {0}
(v) 存在一個函數 φ(x) 在 V0 中使得 {φ(x − k)}, k ∈ Z 是一個 V0 的正 交基底。
從上述的幾個條件中, 我們可得以下的 一些結論。
(a) 因為 φ(x) ∈ V0 ⊂ V1, 我們可找到 一個序列 (hk) 使得
φ(x) =
X
k
hk√
2φ(2x − k)
特別在 Daubechies 的書裡 [1]提到, 如果加上一些條件限制, 我們可找到有限的 序列 (hk)2k=0N −1, 使得 φ 函數的緊羷o支 柱(compact support) 是 [0, 2N − 1], 而 且 φ(x) 函數的平滑性隨著 N 增加而遞增, 其中 N ≥ 2。(註二)
(b) 函 數 φ(x) 經 過 平 移 及 放 大(translation and dilation) 我們有
φj, ℓ(x) =
X
k
hk−2ℓφj+1,k(x) (6) 而 φj,ℓ(x) 是 Vj 上的一個正交基底, 其 中 φj,ℓ(x) 定義為 2j2φ(2jx− ℓ)。(註三)
因為 φj,ℓ(x) = 2j2φ(2jx− ℓ)
= 2j2
X
k
√2hkφ(2j+1x− 2ℓ − k)
= 2j+12 (
X
k
hkφ(2j+1x− 2ℓ − k))
= 2j+12 (
X
k
hk−2ℓφ(2j+1x− k))
=
X
k
hk−2ℓφj+1,k
(c) 假如我們定義 W0 是 V0 在 V1 上 的正交互補(orthogonal complement), 我 們得到 V1 = V0 ⊕ W0, 而在一般情況下是 Vj+1 = Vj ⊕ Wj。 對於多重解像分析裡一個 基本的重要結果便是存在一個函數 ψ(x), 使 得 ψ(x − k), k ∈ Z, 是 W0 的一個正交規
格化基底(orthonormal basis), 而且 ψ(x) 可表成
ψ(x) =
X
k
gkφ(2x − k), gk = (−1)kh1−k 同樣的, ψ(x) 經過平移與放大, 我們有
ψj,ℓ(x) =
X
k
gk−2ℓφj+1,k (7) 其中 ψj,ℓ(x) 與 φj,ℓ(x) 有相同的定義, 亦 即 ψj,ℓ(x) = 2j2ψ(2jx − ℓ); 而 {ψj,ℓ; j, ℓ ∈ Z} 是 L2(R) 上的正交規格化基底, 也就是 L2(R) = ⊕Wj, 如果結合一些較小 的頻率在一起, 我們也可把上式表成
L2(R) = Vj0
M
∞ j≥j0Wj,
其中 j0 是某固定的整數。
接下來, 我們定義 Pj, Qj 分別為 L2(R) → Vj, L2(R) → Wj 的正交投射算 子(orthogonal projector)。 從以下的式子 裡, 我們即將導出, 如果給定一個函數 f (x), 如何經過離散型基波變換, 類似於快速傅立 葉變換 (fast fourier transform), 算出它的 基波係數 (wavelets coefficients), 以做進 一步應用。
對於任一給定函數 f (x) ∈ L2(R), 定 義 fj(x) 為函數 f (x) 在 Vj 層上的正交投 射, 我們有
fj(x) = Pjf(x) =
X
ℓ
cj,ℓφj,ℓ(x) 其中係數是 f (x) 與 φj,ℓ(x) 經由內積而來, 也就是 cj,ℓ = hf, φj,ℓi, 而正交投射算子的特 性 PjPj+1 = Pj, 告訴我們可更進一步計算 係數 cj,ℓ,
cj,ℓ = hfj+1, φj,ℓi
=
X
k
cj+1,khφj+1,k, φj,ℓi (8)
=
X
k
cj+1,khk−2ℓ
同樣地, 對於任一給定函數 f ∈ L2(R), 定 義 wj(x) 為函數 f (x) 在 Wj 層上的正交投 射, 我們有
wj(x) = Qjf(x) =
X
ℓ
dj,ℓψj,ℓ(x) 其中係數 dj,ℓ = hf, ψj,ℓi, 而且利用 (7) 式, 我們可計算出
dj,ℓ =
X
k
cj+1,kgk−2ℓ (9) 關於 (8) 及 (9) 式, 告訴我們以下這樣的 事實: 如果我們以某一個固定層 Vj+1 對 f(x) 的逼近 fj+1 為開始, 表示式 (8) 的 計算將得到 fj, 是較粗層 Vj 對 f (x) 的 逼近, 而 (9) 式的計算代表著函數 f (x) 在 這兩個鄰近層 Vj+1, Vj 逼近所“遺失”的資 訊。 現在, 假如我們從 cj+1 開始, 由 (8) 及 (9) 的式子裡可得 cj, dj, 然後再從 cj 及 式子 (8), (9) 去得到 cj−1, dj−1. . . 一直做 下去。 在實際應用上, 我們只做有限次, 便停 止。 有時稱此部分的步驟為“分解” (Decom- position)。“還原”(Reconstruction) 的步驟 則告訴我們如何從 cj−1,ℓ 和 dj−1,ℓ 來計算 cj,k。 因為
cj,k = hfj, φj,ki
= hfj−1+ wj−1, φj,ki
=
X
ℓ
cj−1,ℓhφj−1,ℓ, φj,ki +
X
ℓ
dj−1,ℓhψj−1,ℓ, φji
=
X
ℓ
cj−1,ℓhk−2ℓ+
X
ℓ
dj−1,ℓgk−2ℓ
我們以下圖來表示它們的演算法。
到此我們可發現在應用離散型的基波變換時, 真正在意的是這些係數 hk、gk, 而在電機工 程上, hk、gk 亦稱為濾波係數 (filter coeffi- cients)。 至於如何找到這些值及係數 hk、gk 間的性質, 請參考 Daubechies 的書 [1]第六 章。
四. 應用:
影像壓縮是基波理論的其中一個應用。
一般說來, 一個工程上處理的影像, 或稱為 數位化的影像 (digitized image), 需要佔據 相當大的儲存記憶體。 例如一個 512 × 512 pixel, 24 bits 的彩色影像, 就需要 0.75 Mega bytes 來儲存。 近年來, 由於個人電腦 多媒體 (multimedia) 的流行趨勢, 要將大 量的資訊儲存於記憶容量有限的 PC 上, 影 像壓縮的技術也就更被重視了。
影像壓縮的種類可分為不失真 (loss- less) 及失真 (lossy) 兩種。 前者強調在還
原過程中沒有失去任何資料或訊息; 而後者 是以願意接受在處理過程中有些微誤差但仍 維持一定程度的影像品質為原則。 在失真壓 縮裡最常用來處理影像的程序是經過變換編 碼 (transform coding), 目前在電機工程上 利用離散餘弦變換 (discrete cosine trans- form) 的 JPEG, 就是屬於這類。 而這裡我 們要介紹另一種失真壓縮處理—離散型基波 變換。
為了方便討論起見, 讓我以一個灰度 (grayscale) 為 256(8 bits) 的 L × L 黑 白影像為例。 我們可準確地描述這個影像為 一個定義在方格上的常數函數, 亦即
f(x, y) = pij 其中
i≤ x < i + 1 j ≤ y < j + 1 0 ≤ i, j < L
而 pij 的灰度值為整數值, 且 0 ≤ pij ≤ 255
以圖表示則為:
工程上, 影像壓縮的技術相當複雜。
一個圖像首先要經過變換, 得到一些係數 (如 wavelets coefficients) 後, 還 需 經 過 量 化 (quantization)、 編碼 (coding),
以便傳遞輸送。 當訊號傳送到另一端後, 需解 碼 (decoding), 解壓縮 (decompression), 才能讓影像重新出現在該端的螢幕上。 由於 自量化到解碼的過程屬電機工程的研究範圍。
在此我們略過這部分, 僅就基波變換以取得 係數的部分, 來加以討論:
對於一個影像 (相當於 f (x, y)), 經過 基波變換 (就是上節提到的“分解”步驟), 我 們設定一個臨界值 (threshhold), 讓基波係 數大於這個臨界值的保留下來, 而其他小於 這個臨界值的基波係數設為 0, 然後再把剩下 的基波係數經過反基波變換 (相當上節提到 的“重建”步驟), 還原回到逼近原來的影像。
我們可以下圖來說明這整個步驟:
圖一. 原來的影像 “Lanna”
圖二. 經壓縮還原後的影像, 壓縮比 10:1.
圖三. 經壓縮還原後的影像, 壓縮比 20:1.
圖四. 經壓縮還原後的影像, 壓縮比 30:1.
圖五. 經壓縮還原後的影像, 壓縮比 50:1.
圖六. 經壓縮還原後的影像, 壓縮比 100:1.
在此我們附有一些經過壓縮後的影像及原來 的影像圖片。 這裡我用在基波變換中的基波 是 Daubichies 書 [1]中的 W6 基波 (見該書 195 頁表中 N = 3 的情形)。 讀者比較觀察 下, 可發現如果壓縮比是 10:1 或 20:1, 則影 像的畫質, 整體看來, 與原來的影像幾乎沒有 什麼差別; 但如果基波係數被刪除的愈多 (即 壓縮比愈大), 則影像的品質就更模糊, 這裡 所謂的壓縮比 (compression ratio) 定義為:
壓縮比 = 原來的總基波係數 刪除後剩下的基波係數。 註一: S. Mallat 及 Y. Meger 在 1986 年
首先提出這個方法。
註二: Daubechies 構造出的基波所具有的 緊緻支柱特性, 是六十年來數學家所尋 求的, 這是她成名的原因。
註三: 這裡基波符號定義的方式與上節略有 不同, 它們分別代表兩個不同時期基波 的定義方式。