平成 19 年度 修士論文
高精度動きベクトルを用いた符号化画質改善手法
早稲田大学大学院 理工学研究科 情報・ネットワーク専攻 3606U049-3 鈴木 惇也
指導 甲藤 二郎 教授
2008年2月
指導教授印 受付印
目次
第1章 序論...1
1.1 研究背景...1
1.2 研究目的...1
第2章 背景技術...2
2.1 表色系...2
2.1.1 RGB表色系...2
2.1.2 YUV表色系...3
2.1.3 RGB to YUV変換...3
2.2 画像符号化に用いられる基本的な画像処理技術...4
2.2.1 離散コサイン変換(DCT)...4
2.2.2 動き補償...6
2.2.3 フレーム間予測...7
2.2.4 量子化...8
2.2.5 エントロピー符号化...9
2.2.6 ハフマン符号化...9
2.2.7 ランレングス符号化... 10
2.3 符号化規格... 10
2.3.1 JPEG ... 10
2.3.2 H.261 ... 11
2.3.3 MPEG-1... 11
2.3.4 H.263 ... 12
2.4 その他の符号化方式... 12
2.4.1 Distributed Video Cording (DVC) ... 12
2.4.2 Multiple Description Coding (MDC)... 13
2.5 画像の高精細化・超解像化技術... 14
2.5.1 Iterative Back Projection... 14
2.5.2 ラプラシアンピラミッドを利用した画像拡大法... 17
2.5.3 DCTを使用した画像拡大手法... 17
2.5.4 Image Enhancement Based on Estimation of High Resolution Component Using Wavelet Transform ... 18
第3章 関連研究... 21
3.1 Motion JPEG2000における静動領域判定に基づくフリッカー低減手法... 21
3.2 ウェーブレット変換符号化動画像における視覚歪みの低減... 22
3.3 画像合成による量子化誤差低減手法... 23
3.3.1 画像合成による量子化誤差低減手法... 23
3.3.2 JPEG画像合成による評価実験... 23
第4章 提案手法... 27
4.1 付加情報として高精度動きベクトルを用いた画質改善... 27
4.2 画質改善効果の確認及び合成判定法決定のための予備実験... 28
4.3 更なる画質改善を得るための改善案... 31
4.3.1 エンコーダでのベクトル検出条件の改善(改善A)... 31
4.3.2 動き補償・画像合成の参照画像の変更(改善B)... 32
第5章 実験... 34
5.1 手法1に改善Aを加えた際(手法A)の閾値の効果... 34
5.2 手法1に改善A,改善Bを加えた際(手法B)の閾値の効果... 34
5.3 各手法の効果の比較... 34
5.4 複数の画像による改善A,改善Bを加えた提案手法の効果確認... 35
5.5 画質改善箇所の確認... 35
5.6 主観的な画質改善効果の確認... 35
第6章 まとめ... 50
6.1 総括... 50
6.2 今後の課題... 50
参考文献... 51
謝辞... 52
第 1 章 序論
1.1 研究背景
近年、メディアにおいて画像や映像をデジタルデータとして取り扱うことが一般的になっ てきている。そんな中でCCD等の撮像センサの画素数の限界を超えた高精細なデジタル画 像を入出力する技術、つまり超解像画像復元技術等の撮影側ではなく表示の側で画質を改 善させる技術の研究開発が進められている。そこで、防犯カメラ等から得られた低解像度 画像の高精細化、TV放送における受信機側での画像の高解像度化を最終的な目的とした、
超解像画像生成及びデコード画像の画質改善に関する研究を行っている。
1.2 研究目的
近年、画像の符号化において分散映像符号化(DVC: Distributed Video Coding)[1,2,3]や MDC (Multiple Description Coding)[4]の様に、付加情報や複数の圧縮画像の活用によって デコーダ側で復号画像の画質改善を行う手法に関する研究が盛んに行われている。我々も 同様に、一枚の画像を互いに独立に圧縮符号化し、その復号画像を重ね合わせることによ り量子化誤差を低減する効果を示すと共に[5,6]、この効果を利用した動画像符号化方式と して、デコーダに付加情報として符号化規格を超える精度の動きベクトルを与える画質改 善手法の検討を進めている。この方式は、[7]で提案されている、画像を複数の符号化形式 で圧縮・送信し、異なる圧縮画像を受信・合成した場合に画質改善が図れる不確定性符号 化方式と目標を同じくする。本稿では、この付加情報として高精度動きベクトルを与え、
画質改善を行う提案手法と、この手法について更なる画質改善及び圧縮効率向上を目指し、
改善した動画像符号化方式の提案・検討を行う。
第 2 章 背景技術
2.1 表色系
カラー画像による画像処理では位置の情報については画像上に座標系を定義して表現し、
濃度の情報はたいていの場合0〜255の256段階で取り扱われる。また、これらの位置、濃 度のほかに、色の情報も当然ながら取り扱う必要があり、代表的なものとして以下のよう な表現の仕方がある。
2.1.1 RGB 表色系
RGB表色系とは、カラーテレビ等に用いられている最も一般的な表色系である。人間 の目やスペクトル特性によって生じるメタリックな等色性(物理的なスペクトルやエネル ギーが違っていても同一の色彩と見える特性)に基づき、R・G・Bの3つの色の組み合わ せとして表現する。これらの色は光の三原色と呼ばれ、この組み合わせですべての色を 表現できる。図2.1にRGB空間の色領域を示す。また、これらRGBの原刺激とする単 一スペクトル光はそれぞれ、ほぼ赤、緑、青に相当している。
G
R
B
マゼンタ黒
黄
白 シアン
緑
赤
青
G
R
B
マゼンタ黒
黄
白 シアン
緑
赤
青
図2.1 RGB空間における可表示色領域
このRGBで表現されているカラー画像を取り扱えるフレーム・メモリでは図2.2のよ
うにR・G・Bのそれぞれに対応したプレーンが用意され、色情報を記録している。表示
できる色の数は、各プレーンが何段階の濃度を取り扱うことが出来るかということに依 存する。図2.2のようにプレーンで1画素が8bit、256段階の濃度で表示される場合、
≒1677万色 )
( 256 ) ( 256 ) (
256 R × G × B の色を取り扱うことが出来る。
Rプ レー ン
Gプ レー ン
Bプ レー ン
拡大 8bit
1画素
Rプ レー ン
Gプ レー ン
Bプ レー ン
拡大 8bit
1画素
図2.2 カラー・フレーム・メモリの構成
2.1.2 YUV 表色系
YUV表色系は、色の性質を、明るいか暗いかを表現する「輝度(明度)」、色の種類を 表現する「色相」、その色の濃さを表現するための「彩度」という三つの要素に分けて表 現する表色系の一つであり、輝度信号と呼ばれ人間の目が明るさとして感じる強さとほ ぼ比例した数値になる Y(この Y信号のみを再生すれば、自然なグレースケール画像が 得られる)と、Yと青色成分の差のU、Yと赤色成分の差であるVの3つの情報で色を 表す形式である。
人間の目が色の変化には鈍感だが、明るさの変化に敏感な性質に基づいており、輝度 情報により多くのデータ量を割り当て、色信号の情報を減らすことが可能である。よっ て少ない画質の劣化で高いデータ圧縮率を得ることができる。例えばJFIF(JPEG)ファイ ルでは、RGBからYUVに変換した後、Yはそのまま記録されるがU/Vは多くの場合縦 横に1ピクセルずつ 間引かれて記録される。だが、情報量が削られているにも関わらず、
デコードされた画像を見ても色信号が間引かれたことに起因する画像の劣化はほとんど 目立たない。
YUVの種類としてはYPbPrやYCbCrがある。YPbPrはアナログテレビのコンポーネ ントビデオ信号で使用されており、YCbCr はJPEGやMPEGなどの画像圧縮形式で採 用されている。
2.1.3 RGB to YUV 変換
RGBで表現される画像において、色を取り扱う場合、2.1.2節で述べた色の三要素を
R・G・Bの各プレーンのデータをいじることで変化させるというやり方もあるが、R・G・
Bのデータ値と輝度、色相、彩度との関係が明らかではないため、自在に操るということ は難しい。そこで、カラーテレビ等の信号を作ったりする場合、式(2.1)のような式を用 いて一度RGBからYUV等の表色系へと変換する操作が行われる。また、作られたYUV 信号は式(2.2)を用いて逆変換を行い、RGBとして表示する。
B G
R V
B G
R U
B G
R Y
×
−
×
−
×
=
×
−
×
−
×
−
=
× +
× +
×
=
08 . 0 42
. 0 50
. 0
50 . 0 33
. 0 17
. 0
11 . 0 59
. 0 30
. 0
・・・(2.1)
U Y
B
V U
Y G
V Y
R
× +
=
×
−
×
−
=
× +
=
77 . 1
71 . 0 34
. 0
40 . 1
・・・(2.2)
R G
B
×
−
−
−
−
B G R 08 . 0 42 . 0 50 . 0
50 . 0 33 . 0 17 . 0
11 . 0 59 . 0 30 . 0
×
−
−
V U Y 0
77 . 1 1
71 . 0 34 . 0 1
40 . 1 0
1
Y U
V R
G B R
G B
×
−
−
−
−
B G R 08 . 0 42 . 0 50 . 0
50 . 0 33 . 0 17 . 0
11 . 0 59 . 0 30 . 0
×
−
−
V U Y 0
77 . 1 1
71 . 0 34 . 0 1
40 . 1 0
1
Y U
V Y
U V
図2.3 RGB to YUV変換
2.2 画像符号化に用いられる基本的な画像処理技術
現在の画像符号化に用いられている技術について簡単に解説する。
2.2.1 離散コサイン変換( DCT )
離散コサイン変換(DCT : Discrete Cosine Transform )とは、離散関数を、各周波数 成分の大きさへと変換する直交変換のひとつである。時系列に並んだ信号成分の列を、
周波数成分の列に変換する。画像をサンプリングして離散的な信号に変換し、DCTを行 なった後に符号化を行うことで、大きな画像の劣化を伴わずにデータの容量を減らすこ とができる。これは画像データの分布によく適しているからである。DCT と逆変換 (IDCT)は以下の式で表される。
∑
−=
=
1+
0
2
) 1 2 cos ( ) ( ) 2 ( )
(
Nx
N
u x x
f u N C u
F π
∑
−=
=
1+
0
2
) 1 2 cos ( ) ( ) 2 (
)
(
Nu
N
u u x
F u N C
x
f π
・・・(2.3)
1 ) ( 0
2 ) 1 ( 0
=
≠
=
=
u C u
u C u
のとき のとき
この DCT は同じく直交変換である離散フーリエ変換(DFT,式(2.4))に工夫を加えたも のであり、変換後の信号の周波数成分が低周波数領域に集中するのが特徴である。また、
式(2.3)におけるコサイン、式(2.4)のe jNxu
π
− 2
は基底関数と呼ばれる
Nxu N j
u
Nxu N j
x
e u N F
u f
e x N f
u F
π π
1 2
0 1 2
0
) 1 (
) (
) 1 (
) (
∑
∑
−
=
− −
=
=
=
・・・(2.4)
このDCTを画像に用いる場合、m画素×n画素を1ブロックとして二次元のDCTを 行う。通常は8画素×8画素、16 画素×16画素といったものが用いられる。ここで、8 画素×8画素の二次元DCTとIDCTを式(2.5)として示す。
この式(2.5)でf(x,y)が入力画像、F(u,v)が変換画像を表す。二次元DCTは一次元DCT を横方向、縦方向の両方に行うもので、二回コサインを乗算する事で変換を行っている。
x および uが横方向を、y および v が縦方向を表す。二次元で画像を扱う場合、式(2.5) のコサインような基底関数を特に基底画像と呼ぶ。基底画像を図2.4に示す。
図2.4から分かるように、u = 0、v = 0の場合の基底画像は直交成分を表し、uが大き きくなれば高い水平周波数を、v が大きくなれば高い垂直周波数を表している。つまり、
基底画像は画像の周波数成分の分布を表しているといえる。
∑∑
= =+
= 7 +
0 7
0 16
) 1 2 cos( 16
) 1 2 cos( ) , ( )
( ) 4 ( ) 1 , (
x y
v y u
y x x f v
C u C v
u
F
π π
∑∑
= =+
=
7+
0 7
0
16
) 1 2 cos ( 16
) 1 2 cos ( ) , ( ) ( ) 4 (
) 1 , (
u v
v y u
v x u F v C u C y
x
f π π
・・・(2.5)
1 ) ( 0
2 ) 1 ( 0
1 ) ( 0
2 ) 1 ( 0
=
≠
=
=
=
≠
=
=
v C v
v C v
u C u
u C u
のとき のとき のとき のとき
図2.4 二次元DCTの基底画像
2.2.2 動き補償
動き補償は動画像のフレーム間の動きによるずれを補償する手法である。動画像では、
この動き補償を行った後、差分画像をとって圧縮するのが一般的である。このとき、画 像の部分部分の動きに対応するため、ブロック単位で動き補償が行われる。
この動きベクトルを求める代表的な手法として、ブロックマッチングが行われる。こ れは現フレーム fnの任意の大きさの領域をテンプレートのブロックとし、このブロック を用いて前フレームfn-1の画像中を全探索し、次式で示す、現フレームの着目しているブ ロックと前フレームの評価ブロックとの差分評価関数Dの値を最小となる方向(dx,dy)を 動きベクトルとして求める手法である。
∑∑ − + +
=
−i j
f
nx
iy
if
nx
idx y
idy
D ( , )
1( , )
・・・(2.6)∑∑ − + +
=
−i j
i i
n i i
n
x y f x dx y dy
f
D ( , )
1( , )
差分データ x
y
(dx,dy) 移動
(a) n-1フレーム (b) nフレーム
∑∑ − + +
=
−i j
i i
n i i
n
x y f x dx y dy
f
D ( , )
1( , )
差分データ x
y
(dx,dy) 移動
(a) n-1フレーム (b) nフレーム
図2.5 動きベクトルの求め方
2.2.3 フレーム間予測
動画像圧縮の技術の一つとして、現在のフレームの画像と前フレームの画像との差を 符号化するフレーム間予測符号化が使用されている。前フレームの画像を参照画像また は予測画像という。デコーダ側では符号から差分画像に戻した後、前フレーム画像から 一部を取得し、差分画像を加算して新しい現在フレーム画像とする。
また、ランダムアクセスや逆再生等のトリックプレイを可能とするため、ある単位の フレームをまとめて(そのまとまりを GOP と呼ぶ)、その単位での独立再生ができるよ うにしている。GOP は途中からの再生を可能にするため、シーケンスヘッダを付け、そ のヘッダには画像の大きさ、画素縦横比など、デコーダが再生のために必要な初期デー タが入っている。
次にGOPの構造について説明する。GOP 内の画面( Picture ) はタイプをもつ。主要 な画面タイプは、以下に示すIフレーム、Pフレーム、Bフレームの3種である。また、
符号化の際はIフレーム→Pフレーム→Bフレームの順に行われるが、再生はそれらの フレームの特性上、符号化、復号の順番とは異なる。図2.6にGOPの例を示す。
・Iフレーム
I フレームとはフレーム内符号化画像であり、フレーム内で符号化が行われており、
それだけで独立したフレームである。つまり、前後のフレームに時間方向の動き補償 を行うことはなく、その画像内の情報だけを利用して符号化処理され、復号もその符
号化データのみで行うことが出来る。このIフレームの目的は GOP の独立性を容易 に保つためにある。
・Pフレーム
Pフレームはフレーム間予測符号化画像であり、画像間の順方向予測によって得られ る画像のことである。現在のフレームについて直前のIフレーム、もしくは P フレー ムに対して動き補償を使って予測した差分画像を用いて符号化処理が行われる。この 動き補償、予測に用いることができるのは、時間方向で現在フレームより過去に存在 するフレームを用いた順方向予測のみである。データ量はIフレームよりも少なくな る。
・Bフレーム
Bフレームとは双方向予測符号化画像のことである。Pフレームのように他のフレー ムを参照して符号化が行われるが、Pフレームとは違って過去のIまたはPフレーム を予測に使うだけでなく、前後双方のI、Pフレームを予測に使うことができる画像で ある。このBフレームは3種類のフレームの中で符号化後のデータ量は最も小さいも のになる。Bフレームは時間方向的に後のフレームを予測に用いるため、自身の符号 化の前に、自身よりも後のフレームが符号化されていなくてはならない。
I:Iフレーム P:Pフレーム B:Bフレーム
I B B P B B P B B I
時間方向
I:Iフレーム P:Pフレーム B:Bフレーム
I B B P B B P B B I
I B B P B B P B B I
時間方向
図2.6 GOPの例
2.2.4 量子化
デジタル信号処理では、時間方向に離散化(標本化)を行うだけでなく、振幅方向に
も離散化、つまり信号の強弱を数値化する。これを量子化という。量子化された信号は、
振幅のレベル値を何段階に分けるかが振幅方向の解像度に相当することになる。この段 階数を2のべき乗(2n)で表現したものが量子化ビット(bit)と呼び、1ビットは0と1の 2 値しか扱えない。量子化ビット数が 8 の場合、0〜255(28)段階の不連続なレベルに 置き換えて扱うことを意味する。
画像の場合はこの量子化ビット数の違いによって、扱える濃度が制限されるため、画 質に大きな影響を与える。また、この量子化ビット数が小さくなれば、振幅方向の信号 を正しく再現できなくなり、歪みが生じる。これを量子化歪み、あるいは量子化誤差と 呼ぶ。
2.2.5 エントロピー符号化
エントロピーとは信号源や情報源の情報量を表す言葉であり、単位はビットである。
信号源の要素数を0 〜 n−1のn個とし、その中の任意の要素nの出現確率をPnとする と、エントロピーは次式で表される。
∑
−
=
n
n
n
P
P log
2エントロピー
・・・(2.7)可変長符号化では発生確率に応じて符号を割り当てるが、最適の符号割り当てを行っ た場合、平均の符号長は情報源のエントロピーに等しくなる。よって、このような可変 長符号化のことをエントロピー符号化と呼ぶ。また、当然ながら、任意の情報源に対す るこれらの最適な符号語長は整数にはならない。
具体的な例としてハフマン符号化や算術符号化などがあり、データ圧縮に広く用いら れている。
2.2.6 ハフマン符号化
ハフマン符号化は前述したエントロピー符号の一つである。整数の符号語長という制 約のもとでは、常に最適な符号を構成できる。次に、偏りのある 2 ビットのデータ列が ある場合のハフマン符号化の流れを示す。
1:出現確率の大きい順にデータ(シンボル)を並べ直す。
2:最も出現確率の小さい2つのシンボルを求め、最下位のビットを割り当てる。
3:2つのシンボルを1つにまとめ、1つのシンボルとして、出現確率の和をそのシ ンボルの出現確率とする。
4:最も出現確率の小さい2つのシンボル(まとめられているのでシンボルの総数は初
期より減っている)を求め、次のビットを割り当てる。
5:3、4の行程を繰り返す。
2.2.7 ランレングス符号化
ランレングス符号化は同じ値が長く続くときに有効な、データ列を可逆圧縮する符号 化の 1 つである。連続する同一の値の列を、その連なり(ラン)の長さを示す数字に置 き換える。例えば「0,0,0,0,0,4,0,0,2,2,0,0,-1」というデータ列の場合、0が5回、4が1 回、0が2回、2が2回、0が2回、−1が1回というように並んでいるので「04410222-11」
というデータ列に圧縮する。
このランレングス符号化はラン長が長いほどに圧縮効率が大きくなり、特に威力を発 揮するのが、画像の圧縮である。ある領域が同じ色な画像や、余白が多い画像に対して 非常に高い圧縮率が可能となる。例えば、ファクシミリの送受信データはランレングス 符号化で圧縮している。
2.3 符号化規格
ここでは2.2節で紹介した技術を用いている、一般的な画像の符号化規格について、いく つか紹介する。
2.3.1 JPEG
JPEGは静止画像の符号化規格の一つである。JPEGの符号化の流れではまず、画像に 対して8×8画素のブロック単位でDCTを行い、空間領域から周波数領域へ変換する。
次に、変換したデータを量子化することでその情報量を削減する。その後、図2.8に示す ような低周波成分から高周波成分に向かうジグザグスキャンを行い、高域の 0 成分を集 めることでランレングス符号化を行う。続いて、ランレングス符号化されたデータに関 して表2.1のようにシンボルを決め(EOB:残り全て0、ZRL:0が16個)、このシンボ ルを用いてハフマン符号化による圧縮が行われる。
また、JPEGではユーザーの要望に応じて上記以外の圧縮手法も選択できる。その中に はDCTを用いた非可逆符号化だけでなく、差分符号化(DPCM)を基本とした可逆な符 号化も含まれる。
なお、表色系も自由に選択することができ、グレースケール画像、RGB表色系、及び
YCrCbが全て使用することが出来る。しかしながら、表色系の規定がない上にどの表色
系であるかを示す情報もないことは互換性に大きな問題となる。
表2.1 ハフマン符号のためのシンボル構成 有効係数のグループ番号
0 1 2 ・・・ 14 15 0 EOB 0/1 0/2 0/14 0/15
1 1/1
2
・・・
14 ラ
ン 長
15 ZRL
ラン長/グループ番号
図2.8 ジグザグスキャン
2.3.2 H.261
H.261 は 1990 年に勧告された、動画像の圧縮符号化方式の標準の一つである。主に
ISDN 回線を利用してテレビ電話やテレビ会議用の動画像データを伝送する際に利用す ることを想定している。しかし、低ビットレート時の画質があまりよいものではなかっ たため、画質改善のためにループフィルタを導入している。
符号化は、まず画像に対して16×16画素のブロックの動き補償フレーム間予測を行な い、差分画像を8×8画素のDCTした後に量子化、最後に可変長符号化を行なう。
2.3.3 MPEG-1
MPEG-1はH.261で開発された動画像圧縮技術の流れを汲み、フレーム間予測とDCT
を用いた技術であり、CD-ROMなどの蓄積メディアに動画を記録するための符号化規格
である。H.261 では 1画素(フルペル)単位であった動き補償の精度を、1/2画素(ハー フペル)単位に拡張されている。このハーフペル動き補償は、1/2画素単位での動きベクト ル探索を行うため演算量が大きくなってしまうが、フルペル単位に比べて圧縮率を大き く向上させることができる。
2.3.4 H.263
H.263はH.261を改良した規格であり、アナログ電話モデムのように、さらに低ビッ
トレートの通信回線での伝送を想定して作られたものであるため、いくつかのオーバー ヘッドとなる情報が削減されており、状況によって解像度やフレームレートを間引くこ ともできる。先に規格化されたH.261やMPEG-1と同様、フレーム間予測とDCTを用 いた圧縮方式であり、H.261にあったループフィルタが外され、MPEG-1 で導入された ハーフペル単位での動き補償や、ランとレベル、ラストを同時に符号化する 3 次元可変 長符号化、より高度な予測法等の導入によって、大幅な符号化効率の向上、誤り耐性の 強化が図られた。
2.4 その他の符号化方式
2.4.1 Distributed Video Cording (DVC)
DVC [1,2,3]はSlepianとWolf の理論(SW符号化)やWynerとZivの理論 (WZ符号化) を理論基盤とするものである。動き補償・直交変換・信号源符号化の組み合わせであっ た従来の符号化方式から、動き補償をエンコーダの側が省略できるため、処理を軽くす ることが出来る。変わりにデコーダが動き補償を担当し「補助情報」を生成、別途符号化 器から送られる「付加的情報」用いて動き補償画像の画質を改善する。このDVCは、ユ ビキタスなビデオ撮影や消費電力の限られたモバイル端末からの動画像送信などへの応 用が期待される。DVCの概念図を図2.8に示す。
エンコーダは数フレームおきに従来の手法(JPEG等)でイントラ符号化を行う。この フレームをキーフレームと呼ぶ。キーフレームの間のフレームについては、DCT等で冗 長性を除去した後、量子化し、さらにSW符号化によって付加的情報(デコードの際に必 要となるヒント)を生成し、伝送する(WZフレーム)。これらの処理は軽いので単純な装置 であっても実現可能である。
デコーダは受け取ったキーフレームを復号し、その間のフレームについては動き探 索・補償によってフレーム補間を行う。しかし、このままでは画質が低いため、先ほど のヒントによって誤り訂正を行い、画質を向上させる。もし、失敗した場合には符号化 器にビットリクエストをフィードバックし、より長い付加的情報を要求する。復号され た信号は逆量子化された後、逆DCT等で冗長性を復元して出力される。
DVCは復号処理と誤り訂正処理が一体となっているため、伝送エラーに強いという特
徴を持つ。
量子化 SW符号化 SW復号 逆量子化
動き補償による 内挿・外挿
イントラ符号化 イントラ復号 補助情報 WZ フレーム
キーフレーム B
I I’
B’ A
WZ コーデック
ビットリクエスト 付加的 情報 冗長
削減
冗長 量子化 SW符号化 SW復号 逆量子化 削減
動き補償による 内挿・外挿
イントラ符号化 イントラ復号 補助情報 WZ フレーム
キーフレーム B
I I’
B’ A
WZ コーデック
ビットリクエスト 付加的 情報 冗長
削減
冗長 削減
図2.8 DVCのブロック図
2.4.2 Multiple Description Coding (MDC)
MDC[4]は画像を複数の記述で表現し、マルチパスで伝送する手法である。この様子を 図2.9に示す。MDCはそれ単体に画像を符号化する仕組みはない。そのためMDCを行 う前に従来の基本的な手法で画像の符号化を行う。次に符号化された画像を複数の記述 に分割する。図2.9では4つに分割しているが、これはいくつに分割しても良い。この分 割の定め方については決まった手法があるわけではなく、効率の良い分割の方法を提案 する事は今後の課題となっている。
受信側では受け取った記述に基づいて画像を復号する。このとき、受信側は多数の記 述を受信するほど高品質な画像を復号する事ができる。すなわち、伝送途中にいくつか の記述が欠落したとしても、画質の劣化は発生するが画像の復号は可能である。そのた め、エラー訂正や再送の仕組みの無い通信方式や劣悪な通信環境であっても品質の良い 画像の伝送が可能となる。
図2.9 MDCのブロック図
2.5 画像の高精細化・超解像化技術
符号化された画像について、画質の劣化が起こることがしばしば存在する。そこで、解 像度上げる手法や高画質化を行う手法について様々な研究が行われている。ここでは、そ れらの手法についていくつか紹介を行う。
2.5.1 Iterative Back Projection
超解像処理技術の一つに、Iterative Back Projectionアルゴリズム[8]がある。ここで はその手法について簡単に説明を行なう。
このアルゴリズムの全体の流れをフローチャートとして図2.10に示す。このアルゴリ ズムでは、最初に撮影対象を部分的に撮影した複数枚の低解像度画像を取得する。そこ から対象の全体画像を推定し、得られた推定全体画像から最初に撮影したそれぞれの画 像に対応する部分画像の切り出しを行う。その後、切り出された画像と、対応する撮影 部分画像との差分を求める。この差が、極めて小さいものになるまで、得られた差分を 推定の全体画像に加算していき、それによって推定画像を改善し、最終的に超解像化を 行うのである。
この逆投影手法の理論についての解説を行う。この手法は先述した通り、高解像度画 像取得のために、まずは最初の推測画像
f
(0)を生成から始められる。これにより、撮影 された部分画像g
kに対応する推定の低解像度画像g
(k0)を得ることが出来る。それらの比 較を図式的に表したものが図2.11である。ここで、f
( )0 が正しい高解像度画像であるな らば、シミュレートされた画像g
k(0)は撮影された画像g
kと同一にならなければならない。よって、それらが一致しない場合に、画像の差分{gk −g(k0)}の各々の値を、
f
(0)の対 応する箇所への加算、つまり「逆投影」することによって、それらの画像が一致するよ うに画像の改善を行うのである。この過程は、誤差関数である
( ) ( )
( )
∑ ∑
( )−
=
k xy
n k k
n
g x y g x y
e
,
) 2 ( )
(
, ,
・・・(2.8)が最小化されるまで繰り返される。
ここで、図2.11におけるSimulated Imaging Processは
( ) = ∑ ( ) ( − )
x
Y PSF
n
n
Y f X h X Z
g
( ) ( ) ・・・(2.9)と表される。この式で用いられる変数等は以下のように定義されている。
・
f
:目標高解像度イメージ・
f
(n):n回繰り返し処理の後に得られる全体画像・
g
k:k番目の撮影された低解像度画像・
g
k(0):f
(n)にシミュレーションを適用することによって得られる低解像度画像・
h
PSF:点像分布関数・
h
BP:逆投影カーネル・X:高解像度ピクセル
・Y:Xに対応する低解像度ピクセル
・ZY:
f
におけるYへと変換される範囲の中心また、これを利用した反復処理によって得られる最新の高解像度画像
f
は、
( ) ( ) ∑ ( ( ) ( ) ) ( ) ∑
∪
∈ ∈∪
+ = + −
x k
kY k kx
Y Y Y
BP XY BP n XY
k k
n n
h c
Y h g Y g X
f X f
, ' , '
) ( )
( )
1
( ・・・(2.10)
と表すことが出来る。変数、定数に関しては、
・Yk,x:{
Y ∈ g
k|Y is influenced by X}・c:定数
・
(
Y)
BP BP
XY
h X Z
h = −
この式(2.10)において、
f
(n)における各々の高解像度ピクセルXの値は、それと対応す る全ての低解像度ピクセルYによって更新される。その低解像度ピクセルYからの更新 に使用される差分{g
k( ) Y − g
(kn)( ) Y
}は、h
XYBP/ c
倍された後に使用される。従って僅か なピクセルの差がf
(n+1)( X )
にほとんど影響しなくなり、逆に大幅なピクセルの差は)
)
(
1
(
X
f
n+ に対して大きく影響するのである。また、異なる低解像度ピクセルからの影響 範囲が重なるので、f
(n+1)( X )
は複数の情報によって更新されていくことになる。複数枚の部分画像を取得
全体画像の推定
最初に取得した部分画像と 切り出した部分画像との差を求める 最初の複数枚画像に対応する箇所の切り出し
得られた差を推定画像へ逆投影
差分が一定以下?
Yes
No
超解像画像
図2.10 アルゴリズムのフローチャート
Reconstructed Image Original Image
Simulated Imaging Process
Imaging Process
Simulated Low-resolution Images
Observed Low-resolution Images
図2.11 Observed Low-resolution Images
g
kとSimulated Low-resolution Imagesg
k(0)との比較
2.5.2 ラプラシアンピラミッドを利用した画像拡大法
高周波数成分を推定する拡大手法の中にラプラシアンピラミッドを用いたものがある。
その中の一つが Greenspan の拡大法[9]である。低解像度ラプラシアン成分 L0 から EXPAND(L0)(
~
1= L
− )を求め、これにより未知の高解像度ラプラシアン成分L-1を推定するものである。その内容は、まず、 1
~
L
− の各信号l ~
−1( ) i , j
に対して閾値処理と定数倍を行い、それを画像
L
−1とする。( ) ( )
( ) ( )
( )
−
≤
−
<
<
−
≥
×
=
−
−
−
−
−
T j i l T
T j i l T j i l
T j i l T j
i l
~ , :
~ , :
~ , ~ ,
:
~ ,
1 1 1
1
1
α
・・・(2.11)
これを式で表すと上のようになる。ここで、Tは閾値、αは定数である。画像
L
−1のラプラシアン成分
ˆ
1L
− を抽出し、L-1の近似画像とする。この手法に対してエッジだけでなく画像全体の微小な変化も強調させてしまうという 欠点を考慮し、[10]では直接法というものを提案している。これは、ラプラシアン成分
~
1L
−において、ゼロクロス(信号の勾配部分においてゼロの値をとる点)を探索し、その両 側の画素をそれぞれ定数倍させ、ゼロクロス近傍のラプラシアン成分の勾配を大きくす ることにより、エッジ以外の部分に大きな変化を与えることなくL-1を推定することが出 来るとするものである。
2.5.3 DCT を使用した画像拡大手法
画像の正確な拡大・高解像度化を行うためには画像取得時に失われた高周波成分の復 元が不可欠となる。この高周波成分を復元する手法の一つとしてGerchberg-Papoulisの 反復法(GP 反復法)というものがある。これは、帯域制限信号に対して正逆のフーリエ変 換を繰り返すという方法に、画像の空間的な広がりが限定されている、通過帯域内の正 しい情報が既知であるという二つの条件を与え、漸近的に高周波成分を復元するもので ある。
[11]では、この手法を元に、フーリエ変換ではなくDCTを使用して画像の拡大を行っ
ている。手法の流れは次ようになっている。ここでは、原画像を N×N 画素とし、それ
を縦横m倍すると考える。また、空間的な画像の広がりを限定させるという条件につい て、必要な領域のサイズをNのn倍とする。この流れについての説明を以下に示す。
1:画像の空間的な広がりを限定させるために、画像を縦横n倍とし、原画像はその中
央に配置、その周囲は画素値lで埋められる。
2:1の画像をDCTによって変換する。ここでの周波数成分aが周波数成分における 既知情報となる。
3:拡大率mに応じた高周波まで周波数領域を拡張する。このとき、低周波成分は既知
情報を用い、その他は0とする。
4:周波数拡張されたものを逆 DCT によって変換する。これによって得られた画像の
中心部にあるαが拡大された画像となる。
5:α以外の画素値はlであると分かっているので置き換える。
6:画素値lで修正した画像をDCTによって変換する。
7:低周波側は既知情報として周波数成分aであることが分かっているので置き換える。
8:逆DCTによって変換する。
9:5に戻り、処理を反復する。
2.5.4 Image Enhancement Based on Estimation of High Resolution Component Using Wavelet Transform
画像の強調や高解像度化の手法の一つとして、マルチスケール・ウェーブレット変換 に基づく画像強調方法[12]がある。
まず、この手法の流れについて簡単に述べる。最初に既存の画像におけるエッジ(隣 接する画素間の輝度の差、信号における傾き)をウェーブレット変換を使用して分析し、
それらのエッジを左右の傾斜パターンによって分類する。これらは高解像度画像とその 画像を帯域制限させたものについて行われ、高解像度と低解像度のエッジ関係が学習さ れる。次に、これらの学習されたエッジ関係から、低解像度入力画像に適している変換 条件を用いて、高解像度構成要素を生み出し、さらにそれらに対して最適な強調手法を 使用することによって、自然な高解像度画像を得ることが出来るのである。
これらの手法について、順に詳しく述べる。まずはエッジの学習パートについてだが、
まずウェーブレット変換を高解像度画像に適用し、マルチスケール・ウェーブレット変 換におけるスケールj=1に相当する成分を得る。次にこの結果生じる、帯域制限された低 解像度画像に同様にウェーブレット変換を適用させ、スケールj=2に当たる成分を取得す る。これを例に表したものが下の図2.12である。
図2.12 ウェーブレット変換の例
これらのウェーブレット変換によって得られた周波数成分から、高解像度画像と低解 像度画像それぞれのエッジを検出し、そのエッジを隣接する左右の傾きと共にクラス分 けを行う。分類は図 2.13 のように行われる。ここで、円(a)から円(b)への関係は、
(D0-D1-F)→(F-D2-F)のように表記、分類され、これにおけるDはDown、FはFlat を表し、更に他にU(Up)がある。またD0の0やD1の1はエッジの強度(傾き)を 量子化したものである。
図2.13 画像間におけるエッジ分類の例
次は、低解像度画像、低周波成分から高周波成分、高解像度を推定する手法について だが、これはラプラシアン近似を用いて、次式によって求める。
2 ) exp(
)
( =
j−
2j−1j
X X A X W
α
・
・・・(2.12)
この式において、Xは位置、Wj(X)はスケール j におけるウェーブレットであり、Aj はそれぞれのエッジにおいて異なり、これは先に得た高解像度画像と帯域制限画像との エッジ強度の比率によって得られるものである。
また、αは式(2.12)を用いた推定によって得られたスケールj=1と実際のスケールj=1 のウェーブレットとの誤差を最小にするよう名物が選ばれる。これらのAj、αも事前情 報として既知の高解像度画像から学習される。ここで、これまでの手法の流れをもう一 度簡単にまとめる。
1:高解像度画像を用意し、その画像に対してウェーブレット変換におけるスケールj=1 の成分を取り除いた画像、つまり、ローパスフィルタを使用して低解像度化を生成 する。
2:低解像度画像にウェーブレット変換を用いてスケールj=2に相当する成分を求める。
3:ウェーブレット変換で得られたエッジ情報を用いて、高解像度画像及び低解像度画 像双方のエッジを隣接する左右の傾き情報によって分類する。
4:分類されたエッジ情報を元に、式(3.1)におけるA1、αを計算し保存する。
5:高解像度化させたい入力画像について、ウェーブレット変換を用いてスケール j=2
に相当する周波数成分を得る。更にそこから画像におけるエッジ情報を得る。
6:事前に学習したA1、αを使用して、式(3.1)よりj=1成分を推定する。
7:[2]における強調手法によって、推定されスケールj=1成分に強調処理を行う。
第 3 章 関連研究
3.1 Motion JPEG2000 における静動領域判定に基づくフリッカー 低減手法
これは、Motion JPEG 2000の復号画像中のフリッカー雑音を低減する手法である[13]。
この手法は輝度値の変動を抑えるフィルタと、静動領域の判別からなっている。
フィルタは、まず、あるフレームに関して前後のフレームを参照し、その時の輝度の変 化を測定する。この輝度の変化を波形にし、図3.1の(a)や(b)のように振動が起きているも のをフリッカーとして扱う。変化があったとしても、図 3.1 の(c)のように振動していると みなせないものはフリッカーとは認識しない。
こうしてフリッカーを検出した後、検出された箇所に対して補正を行うことで、その雑 音を除去する。この補正は輝度値を前フレームの輝度値に揃えることで行われる。
また、動画では、その一部が静止領域から動領域に変わるとき、輝度が大きく変化する。
これを測定することにより、輝度の変化がフリッカー雑音なのか動領域によるものなのか を判別する必要がある。[13]では図3.2に示すような方法で静動領域判定を行っている。
まず、画像を8×8のブロックに分割する。そのブロック毎に前フレームの対応するブロ ックとの差分値Dを計算する。ブロック内でDの二乗和が定めた閾値を超えた場合に、そ のブロックを動領域とみなす。
(a) (b)
(c)
(a) (b)
(c)
図3.1 輝度変化の波形例
入力画像
8×8のブロックに分割
ブロックごとにフレーム間の差分
フィルタリング
出力画像 閾値>差分和
閾値<差分和 入力画像
8×8のブロックに分割
ブロックごとにフレーム間の差分
フィルタリング
出力画像 閾値>差分和
閾値<差分和
図3.2 処理の流れ
3.2 ウェーブレット変換符号化動画像における視覚歪みの低減
これは3.1節と同様にMotion JPEG 2000におけるフリッカー雑音をデコーダ側で除去 する手法である[14]。領域平均フレーム間差分値を用いて雑音と映像本来の動きとを識別し、
過去のフレームを使ってフレーム間での画素値の変動を抑えている。
手法では、まず、各画素について周辺の5×5の画素領域についてフレーム間で差分の平 均Dを取得し、静動領域判定を行う。この領域平均フレーム間差分D は、次式のようにし て求められる。
∑
∈−
−
=
ζ ) , (
) 1 , , ( ' ) , , 1 (
) , , (
j i
t j i I t j i N I
t y x
D
・・・(3.1)ここで、ζは平均フレーム間差分値を求める座標(x,y)を中心とする周囲近傍領域N画 素を表している。このζ内における各画素(i,j)のフレーム間差分値の絶対値平均を計算 し、Dとする。また、I(x,y,t)は現フレームにおける画素値、I’(x,y,t-1)は補正済みの前フレ ームの画素値である。
このDから各画素における補正率
R ( 0 ≤ R ≤ 1 )
を決定する。Rは現フレームの画素値I(x,y,t)を前フレームの画素値で修正する割合を表している。R=0のときに補正なし、R=1
のときに前画素の使用率100%で補正する。
Dが小さく、静領域に当たる画素については補正率を高く、動領域に当たる画素につい
ては補正率を低く設定する。[14]ではDとR間の関係を定める関数fについて、R=1とな るデッドゾーン範囲Tdzを持ち、傾きをGsとする右下がりの直線として定義している。
1 } ) , , ( { )) , , ( ( ) , ,
( x y t = f D x y t = G
sD x y t − T
dz+
R
・・・(3.2)こうして得られたRを利用してIを補正する。補正は次式のように、同一座標における 前フレームの画素値と現在フレームとの加重平均によって行われる。このとき、補正に用 いる前フレームの画素値はすでに修正済みであるI’を用いる。これにより、過去フレームの 情報を累積し、フレーム間での画素値変動を抑え、静領域で高い歪み抑制を行うことが出 来る[]。また、過去に累積した画素値の方が視覚的にも違和感のない滑らかな映像になる。
) , , ( )}
, , ( 1 { ) 1 , , ( ' ) , , ( ) , , (
' x y t R x y t I x y t R x y t I x y t
I = ⋅ − + − ⋅
・・・(3.3)3.3 画像合成による量子化誤差低減手法
我々は以前に、予備実験として画素シフトと合成による量子化誤差の低減効果を確認した [5,6]。これは、一枚の静止画像から位置をシフトさせつつ複数枚のサブ画像を切り出した 後に、互いに独立に符号化し、その復号画像を重ね合わせることによって量子化誤差を低 減できる(PSNRを改善できる)効果である。特に[6]ではJPEG圧縮した画像の重ね合わ せの際に生じる量子化誤差の特性と、MDC的な考えに基づく、複数の圧縮手法で圧縮した 二枚の画像の合成によるPSNR改善効果について検討を行なっている。
3.3.1 画像合成による量子化誤差低減手法
この画像合成手法の全体の流れを図3.3に示す(これは画像を二枚合成する場合の例で ある)。手法ではまず、原画像から画素シフトを行った複数枚の画像を切り出す。それら の画像において各々圧縮伸張を行う(今回はJPEG画像を対象としている)。最後に画素 位置を修正して合成する。切り出され圧縮された画像は圧縮時の量子化誤差により、原 画像の真値に対し±方向に画素値のずれが生じている。一枚の画像ではこの量子化誤差 がそのまま現れるが、複数の画像を合成することにより、誤差が平均化される(低減され る)効果が期待される。
3.3.2 JPEG 画像合成による評価実験
効果を確認するための評価実験は、ITE標準動画像のNo16:”Whale Show”(図3.4)
と、No.36:“Airplane”(図3.5)を使用して行った。図3.4、図3.5これらの画像から複数
枚のサブ画像を切り出し、JPEG圧縮し、1枚(合成無し)から64枚まで合成した。また、
この際のシフト・合成する画像は図3.6に示すように、まず縦方向シフトを行い、次に横 に一つずれてまた縦方向にシフトする、という方法で行った。
この実験における合成枚数とPSNRの関係は図3.7、図3.8に示す通りとなっている。
これらを見ると、どちらの画像でも枚数を増やせば最終的にPSNRが2dB程度向上して いる。実験に使用した画像で No.16 は高周波成分を比較的多く含む画像であり、逆に
No.36は高周波成分をあまり含まない画像である。よって、この結果により、この画像合
成による量子化誤差低減手法は画像によらず PSNRを向上させること期待できるといえ る。これは高周波成分が少ない画像においても高周波成分が多い画像と同等に量子化誤 差が発生しているためであると考えられる。また、この実験では同時に少ない合成枚数 であってもある程度のPSNRの向上が期待できることが確認された。
原画像
シフト画像
画素シフト・切り出し
JPEG圧縮 JPEG伸張
JPEG圧縮
JPEG伸張 +
合成画像 原画像
シフト画像
画素シフト・切り出し
JPEG圧縮 JPEG伸張
JPEG圧縮
JPEG伸張 +
合成画像
図3.3 合成処理の流れ
図3.4 No.16:”Whale Show” 図3.5 No.36:”Aireplane”
図3.6 画像合成の順番
合成枚数とPSNRの関係3
30 30.5 31 31.5 32 32.5 33 33.5
0 10 20 30 40 50 60 70
枚数
PSNR
図3.7 No.16での合成枚数とPSNRの関係
合成枚数とPSNRの関係2
41.5 42 42.5 43 43.5 44 44.5
0 10 20 30 40 50 60 70
枚数
PSNR
図3.8 No.36での合成枚数とPSNRの関係
第 4 章 提案手法
4.1 付加情報として高精度動きベクトルを用いた画質改善
前章に示した量子化誤差低減効果の動画像符号化への応用例として、我々は、エンコー ダ側の付加情報の添付によって画質改善を図る手法を提案した。本稿では、この付加情報 の利用による動画像の符号化画質改善手法について示す。
手法の全体の流れを図 4.1に示す。本手法では、まず、エンコーダで原画像Fを符号化 する際に、符号化規格の画素精度よりも高精度な動きベクトル探索を同時に行う。F中の連 続した2フレームの画像Fm、Fm-1について、Fmをブロック分割し、各ブロックについ て符号化ストリーム中の動きベクトル値(本研究ではH.263+を採用しているため1/2pel精 度)を中心として、更に高精度(本研究では±1/4pel)にMSEを最小とする高精度動きベク トルを探索する。この時、イントラフレームについてはストリーム中にベクトルがないた め、復号画像I中の連続した2フレームの画像Im,Im-1を用いて一旦動きベクトル探索を 行い、これをストリーム中のベクトル値とみなして上記の高精度動きベクトル探索を行う。
ここで得られた高精度ベクトルについて、合成の有無を判定を行った後、付加情報とし てストリームと共にデコーダへと送信する。
図4.1 手法全体の流れ
デコーダではこれらの付加情報を利用して復号画像 I をフレーム間合成することで復号 画像の画質を改善する。2つのフレーム内のブロックを高精度動きベクトルで動き補償合成 することで、3.3節における画素シフトと同様の量子化誤差低減効果が期待できる。
各フレームにおける合成処理を図4.2に示す。Imをブロック分割し、付加情報により合 成を行うブロック(A)に対して、対応する高精度動きベクトルを用いて Im-1 から動き補償 したブロック(B)を用意する。ここで、高精度動きベクトルはストリーム中のベクトル値に
F I
復号画像
・高精度ベクトル
・合成判定
付加情報
フレーム間 合成処理
エンコード デコード
原画像
現在の符号化 デコーダ
エンコーダ
ストリーム
G 合成結果画像 F
F II
復号画像
・高精度ベクトル
・合成判定
付加情報
・高精度ベクトル
・合成判定
付加情報
フレーム間 合成処理
エンコード デコード
原画像
現在の符号化
現在の符号化 デコーダ デコーダ
エンコーダ エンコーダ
ストリーム
G 合成結果画像
G G 合成結果画像
付加情報として受け取った差分ベクトル値を加えて生成する。ただし、イントラフレーム ではストリーム中にベクトル値が存在しないため、エンコーダと同様に復号画像を用いて 動きベクトル探索を行い、ストリーム中のベクトル値の代用とする。この 2 つのブロック について、合成ブロック(C)をブロックC = (ブロックA + ブロックB) / 2として生成する。
このように、デコーダではPSNRが向上するブロックのみ合成が行われ、画質改善したフ レーム画像Gm及び動画像Gを得る。
図4.2 各フレームにおける処理概要
4.2 画質改善効果の確認及び合成判定法決定のための予備実験
我々は、まず本手法の有効性を確認するために、予備実験として、図4.1のエンコーダで の合成の有無の判定に関して以下の3つの合成条件での実験を行った。
「条件1:特別な条件をつけないブロック合成」
・合成判定において、特に判定条件を用いず、全てのブロックを単純に合成する。
「条件2:閾値を用いた合成」
・検出されたブロックについて、MSE が一定以下の場合のみ合成する閾値処理(閾値 20,65)を合成判定で行う。
「条件3:理想的な処理による合成」
・エンコーダでブロック AとBを合成して仮の合成ブロック(D)を生成し、このブロ ックDのPSNRを測定、これがブロックAのPSNRを上回る場合のみ合成する。この 条件では、本手法の画質改善効果の限界を知ることが出来る。
これらの実験での原画像 Fについては、図 4.3 のように一枚の大きな静止画から一部分 第mフレーム
第m-1 フレーム
高精度 ベクトル
復号ブロック
推定ブロック 合成
合成ブロック
合成結果画像 高精度動き補償
高精度動き補償
ブロック分割
ブロック分割
復号画像 第mフレーム
第m-1 フレーム
高精度 ベクトル
復号ブロック 復号ブロック
推定ブロック 推定ブロック
合成
合成ブロック 合成ブロック
合成結果画像 合成結果画像 高精度動き補償
高精度動き補償
ブロック分割
ブロック分割
復号画像