(a) (b)
図2.23 (a)Lena (b)Lenaの離散ウェーブレット変換出力画像(3レベル)
表2.1 9/7タップフィルタの係数 9/7タップフィルタ
低域通過フィルタh0(n) 高域通過フィルタh1(n)
0 0.0267487574 0.0912717631
1 -0.0168641184 -0.0575435262
2 -0.0782232665 -0.5912717631
3 0.2668641184 1.1150870525
4 0.6029490182 -0.5912717631
5 0.2668641184 -0.0575435262
6 -0.0782232665 0.0912717631
7 -0.0168641184 8 0.0267487574
離散ウェーブレット変換 入力画像
量子化
バイナリデータ 01011100・・・
ビットプレーン符号化
図2.24 画像圧縮符号化(JPEG2000)の全体図
化によって生成された符号列は,先頭から低周波成分を表す符号が並び,後ろになるにつれて高周 波成分を表す符号が並ぶ構造となる.最後に,指定された符号量で符号列を打ち切ることで画像圧 縮が達成される.ここで,打ち切られた符号列のほとんどが高周波成分に関する符号であるので,
人間の視覚の性質から,圧縮による画質の劣化はある程度までは認識できない.ここで図2.25(a) に原画像Lenaを,図2.25(b)に9/7タップフィルタを用いた分解レベル6の可分型2次元離散 ウェーブレット変換,量子化,EZW-IP符号化を用いて8[bpp]([bit per pixel])から1[bpp]に圧 縮した復元結果を示す.この図から分かるように,原画像を1/8のファイルサイズに圧縮しても,
画質は維持されていることが分かる.
2.6.2 EZW-IP 符号化
ビットプレーン符号化
JPEG2000を始めとして現在の一般的な画像圧縮符号化は,指定された圧縮率(または符号量)
に応じて,その都度符号化するのではなく,SNRスケーラビリティを満たす符号列を1つ生成し,
所望の符号量で符号列を打ち切る方式をとっている.SNRスケーラビリティとは,打ち切って得 られた符号列の長さが長いほど,復元画像の画質が単調に向上するという性質である.このSNR スケーラビリティを与える符号化法がビットプレーン符号化である.
ビットプレーンとは,すべてのウェーブレット変換係数を2進数で表したときの,2N の位毎に 切り出された1または0の値を持つ符号平面のことをいう(図2.26参照).ビットプレーン符号化 では最上位ビットプレーンから順に符号列に変換し,伝送する.そこで良好な符号化効率を実現す
(a) (b) 図2.25 (a)原画像Lena (b)Lenaの復元画像(1[bpp])
るためには,各ビットプレーンをどのように符号列に変換すれば良いかが問題となる.
ビットプレーン符号化としては1993年に J.M.ShapiroによりEmbedded Zerotree Wavelet
(EZW)[34] が導入されて以来,EZW based on Intraband Partitioning(EZW-IP)[35], Set Partitioning In Hierarchical Trees(SPIHT)[36],Set Partitioned Embedded bloCK(SPECK) [37],independent Embedded Block Coding with Optimized Truncation of the embedded bit-streams(EBCOT)[38],などの有効な符号化方法が提案されている.
本論文では,その中で特に優れた符号化結果を示すEZW-IP符号化を取り上げる.
理論
EZW-IP符号化法は,まず可分型2次元離散ウェーブレット変換により変換された係数をビッ
トプレーンに変換する.その後,最上位ビットプレーンから順にクワッドツリー分割と呼ばれる手 法を用いて符号列に変換する.クワッドツリー分割とは,図2.27に示すように,閾値2N に対し て変換変数のブロックに1が1つでもあれば1を出力して縦横を四つの領域に分割し,分割され た各ブロックで1が含まれるか判定する.更に1が含まれていれば,分割を繰り返し,画素単位に なった時点でその値と共に正負の符号を伝送する.1が含まれていなければ,0を符号化し,その ツリーはその段階で終了する.この部分でデータ圧縮を行い,より大きなブロックを0で符号化 できれば圧縮効率は向上する.すなわち,変換係数の大きな値が密集して集まっていればいるほど
EZW-IPの性能は向上するといえる.一般に画像は低周波に多くのエネルギーを含んでおり高周
波の変換係数は小さい.したがって,高周波成分は,1つのゼロだけで符号化できる可能性が大き いと言える.これは離散ウェーブレット変換による多重解像度表現があって初めて成り立つことで
あり,EZW-IP符号化において画像の変換に離散ウェーブレット変換を用いる最大の理由がここ
にある.
64
64→ 1 0 0 0 0 0 0 二進数表示
の位のビットプレーン 48→ 0 1 1 0 0 0 0
8→ 0 0 0 1 0 0 0 48
21 35 12 15 10 8
13 2 22 16 34 15 11 14
2 3 0 2 1 7 0 3
0 1 8 6 0 1 7 3 8 9
2 4 4 6 6 0
1 11 2 0 0 9 3 3
8 2 0 3 5 0 4 1
0 6 8 0 2 0 0 8
の位のビットプレーン の位のビットプレーン の位のビットプレーン
・・・
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 1 0 1 0 0
1 0 0 0 1 1 1 0
0 1 0 0 1 1 0 1
0 1 0 0 0 1 1 1 0 1
0 0 0 0 0 0
0 1 0 0 0 1 1 1
0 0 0 1 1 0 0 1
0 0 0 0 0 0 0 0
図2.26 ビットプレーン
図2.27 クワッドツリー分割
アルゴリズム
ここでEZW-IP符号下方のアルゴリズムを示す.まず,3つのリストLIP・LSP・LIBを用意 する.これらのリストはそれぞれ次のいみである.
LIP:重要でない(0の)ピクセルのリスト LSP:重要な(1の)ピクセルのリスト LIB:重要でないバンドのリスト
アルゴリズムを通じて上記の3つのリストにすべてのピクセルの座標を振り分けていき,符号化す る.画像のサイズはM×Nとする.
1. 初期化
N =⌊log(max(x,y)|cx,y|)⌋を出力する.(cx,yは座標(x, y)の変換係数)
LIPとLSPの空行列を設定する.
LIBに変換画像の左上の座標(1,1)と右下(M, N)の座標入れる.
2. ソーティングパス
(a)LIPにあるすべての座標に対して
i. もし|cx,y| ≥2N ならば,1と係数の符号(正なら1,負なら0)を出力し,その座 標(x, y)をLIPからLSPへ移動する.
ii. そうでなければ,0を出力する.
(b)LIBにあるすべてのブロックに対して
i. もしmax{|cx,y|} ≥2N−1ならば,1を出力し,そのブロックの頂点座標 (xstart, ystart, xend, yend)をLIBから除く.
A. もしxend−xstart≥1かつyend−ystart≥1ならば
ブロックを4分割し,それぞれのブロックが2ピクセル以上の場合,ブロック の頂点座標をLIBに追加する.
それぞれのブロックが1ピクセルの場合,|cx,y| ≥2N ならば1と係数の符号 を出力し,座標をLSPに追加する.そうでなければ,0を出力し,座標をLIP に追加する.
B. A.でなく,xend−xstart≥1ならば
ブロックをx軸方向に2分割し,それぞれのブロックが2ピクセル以上の場 合,ブロックの頂点座標をLIBに追加する.
それぞれのブロックが1ピクセルの場合,|cx,y| ≥2N ならば1と係数の符号 を出力し,座標をLSPに追加する.そうでなければ,0を出力し,座標をLIP に追加する.
C. A.またはB.でなく,yend−ystart≥1ならばブロックをy軸方向に2分割 し,それぞれのブロックが2ピクセル以上の場合,ブロックの頂点座標をLIB に追加する.
それぞれのブロックが1ピクセルの場合,|cx,y| ≥2N ならば1と係数の符号 を出力し,座標をLSPに追加する.そうでなければ,0を出力し,座標をLIP に追加する.
D. A. B. C.のいずれでもないならばブロックは1ピクセルなので|cx,y| ≥2N な らば1と係数の符号を出力し,座標をLSPに追加する.そうでなければ,0を 出力し,座標をLIPに追加する.
ii. そうでなければ,0を出力する.
3. リファインメントパス
直前のソーティングパスで追加された座標を除いたすべてのLSPの座標に対して
(a)もし|cx,y| ≥2N ならば,1を出力する.
(b)そうでなければ,0を出力する.
4. 量子化ステップの更新
N =N−1として,2.に戻る.
(a) (b)
図2.28 ノイズ画像例.(a):原画像Lena,(b):原画像Lenaにガウシアンノイズが混入した 画像(分散σ2= 10).