画像の符号化 (Image Coding)


1. はじめに
 
ここでは、画像を圧縮する符号化方式の概要について紹介します。
 
画像信号の情報量は極めて多く、伝送や蓄積を効率的に行うため、これらを圧縮する技術が用いられています。
これらの技術を、符号化(Image Coding)と言います。
 
この符号化では、方式の互換性を保証するための標準化が重要です。
たとえば、JPEG方式やMPEG方式は、ISO等の機関が中心となって、標準化作業が行われています。

なお、厳密には「符号化」は次の2つに分類されます。

 (1) 情報を圧縮する情報源符号化 (Source Coding)
 
 (2) ネットワークや伝送路の特性に合わせて、変調や誤り訂正等を行う通信路符号化 (Channel Coding)
 
ここでは、(1)の情報源符号化について解説します。(以下単に、「符号化」と呼ぶことにします。)

 
なお、画像符号化の範囲は極めて広く、ここでその全体像を明らかにすることは不可能です。
個々の技術の詳細については、[参考文献] 等で調べて下さい。

2. 人間の視覚特性

画像の符号化は、
 
(1) 可逆符号化  … 圧縮した符号から原画像を歪なしに復元できる。
 
(2) 非可逆符号化 … 符号から原画像を歪なしには復元することができない

に分類されます。

(2)の非可逆符号化では、人間にとって知覚しにくい歪をある程度許容することにより、冗長な情報成分の
抑圧、すなわち圧縮が行われます。
 
静止画像に関する人間の視覚特性を整理すると、以下のようになります。
 
(1) 視覚の周波数特性
 
 空間周波数の低い歪は目立ちやすく、高い歪は目立ちにくい。
 
(2) 画像の明るさ
 
 同じレベルの歪は画像が暗いほど目立ちやすい。
 
(3) 画像の平滑度
 
 歪は画像の平坦部で目立ちやすく、輪郭部では目立ちにくい。

(4) 輝度と色度の周波数帯域

 明るさ(輝度)に対する周波数帯域は広く、色度(色差信号)の帯域は狭い。

この他にも、動画像における視覚特性や眼球運動等の特性を利用して、高能率で画質の良い符号化技術が
検討され、実用化されています。 

[補足] 輝度信号と色差信号

輝度信号と色差信号の関係について補足しましょう。
 
カメラやモニタは、基本的には赤(R)、緑(G)、青(B) の3原色で画像を表現します。
しかし、人間の視覚特性を細かく調べると、空間周波数の特性は赤緑青で必ずしも均一ではなく、
明るさに対する周波数帯域は、色信号の帯域の3〜4倍になっています。
 
このため、下の図に示すように、R G B の各信号を輝度信号(Y)と2つの色差信号(U, V)に変換し、
輝度信号については細かく、色差信号は粗くサンプリングして伝送する手法が用いられます。

RGB信号と、輝度信号(Y)色差信号(U,V)は、次のように関係付けられます。

 

色差信号(U,V)の例を下の図に示します。(ただし、輝度信号 = 128の場合です。)
 
原点(U=V=0)における色差信号は0であり、そこからの距離に比例して彩度(色の濃さ)が高くなります。
また、図のように色相が変化します。

     ⇒ 詳細を見る。 


3. 画像の統計的性質

画像信号のレベルや振幅は極めて多様ですが、一般の自然画像に共通な統計的性質があります。
 
これらを表す指標として、自己相関関数と空間周波数領域における2次元パワースペクトルがあります。
これらは,独立ではなく、フーリエ変換対の関係にあります。
 
例えば、画素の間隔は画像信号に含まれる最も高い周波数成分により決められます。
しかしながら、このような高い周波数成分が現れる頻度は低く、隣接する画素の間には強い相関が残されています。
 
(1) 自己相関関数
 
 隣接画素間の相関が大きい。
 
(2) 2次元パワースペクトル
 
 低域の電力が集中する。
 
これらの性質を利用して、1枚の画像情報(フレームと称する)の圧縮を行うのが、予測符号化や変換符号化です。
 
また、一般的な動画像の場合、連続する2フレームの間に強い相関があります。
たとえば、静止した背景部は一致しているケースは少なくありません。
 
このように、動画像の場合、時間方向についても強い相関があり、この性質を利用して圧縮が行われます。

4. 符号化方式の分類

符号化方式を分類すると、下の図のようになります。

以下、簡単にその概要について説明します。

5. 予測符号化

予測符号化は、空間的あるいは時間的に隣接する画素の相関が高いことを用いて、伝送済みの画素から
これから伝送する画素の値を予測し、予測値と実際の画素値の差分を符号化する手法です。
 
 
(1) フレーム内予測
 
一般に、1枚の画像(フレーム)における隣接画素の相関は高く、その差信号はラプラス分布に近いと
言われています。
 
例えば、画像信号の一部を以下に示します。
 
      90  90 86  91 101 114 136 136
    −○−○−○−○−○−○−○−○−
    −○−○−○−○−○−○−○−○−
      89 88  88  92  99  108 131 139
 
ここで、 ○は 画素を表しています。
 
これらの相関を用いて、伝送済みの信号から次の信号レベルを予測し、実際との差分を伝送する手法が
用いられています。これを予測符号化と言います。
 
具体的な構成法には、図(a)のフィードフォアード型と、(b)のフィードバック型があります。
一般には、量子化雑音の累積がない (b) のタイプが用いられます。
なお、フレーム内予測は4〜5ビット/画素が限界といわれています。
                         (a) フィードフォアード型
 

                         (b) フィードバック型
 
                       図 予測符号化の構成法
 
予測には、下の表に示す関数が用いられます。なお、符号誤りが無視できない場合には、誤りの
影響が減衰するように予測係数(a < 1)が予測値に乗じられることがあります。
 
 
   
 

(2) フレーム間予測

 図にフレーム間予測の手法を示します。(a)は単純なフレーム差分、(b)は複合差分と呼ばれます。

    

                        図 フレーム間予測の例

また、フレーム間符号化は、後で述べる変換符号化にも用いられています。
フレーム間予測を用いれば0.5〜2ビット/画素程度にまで圧縮できる可能性があります。

6. 変換符号化

代表的なブロック符号化に、変換符号化があります。
下図にその構成を示します。

                          図  変換符号化の構成
 
代表的な変換符号化とその特徴は、以下の通りです。
 
(1) ウォルシュ・アダマール(Walsh・Hadamard)変換
 
 ・±1の要素で構成される。
 ・加減算のみの演算となり、シンプルである。
 
(2) 離散フーリエ変換(DFT)
 
 ・信号処理の基本であり、広い応用分野をもつ。
 ・高速演算手法(FFT)がある。
 ・複素の演算となる。
 
(3) 離散コサイン変換(DCT)
 
 ・KLTに準ずる符号化効率をもつ。
 ・実数の演算で実現できる。
 ・JPEG等の標準化方式に採用されている。
 
(4) カル-ネン・レーブ変換(KLT)
 
 ・理想的な直交変換であり、最も高い符号化効率をもつ。
 ・変換行列が入力信号に依存するため、符号化には適さない面がある。
 ・演算が複雑になる。
 
原画を表すマトリクスを G、 変換係数(シーケンシ)を C、直交変換を行うマトリクスを T とすると、変換は次のように
表わされます。

また、逆変換は次のようになります。

一般の画像信号は、隣接する画素間の相関が強く、適当な直交変換行列 T を用いると、変換係数(シーケンシ)の
絶対値(電力)に偏りが生じます。
この性質を用いてビットの配分を行い、トータルの伝送ビット数を低減することができます。
なお、この変換符号化は後述のエントロピー符号化と組み合せて用いられます。

[確かめてみよう]  − 2次元離散コサイン変換 −

実際に2次元信号を、離散コサイン変換してみましょう。
 
下の図に、信号と係数の関係を示します。
 
特に、信号が比較的に滑らかに変化している場合、低域係数へ電力が集中することに注意して下さい。

 


[補足] ブロック分割について

 


[補足] 量子化とジグザグスキャンについて

JPEG方式を例に、量子化とジグザグスキャンについて簡単に説明します。

                     図1 JPEG方式による画像の符号化
 
A/D変換された画像信号は、縦横 (8×8) 画素のブロックに分割され、以降の処理は、このブロック単位に行ないます。
画像信号は離散コサイン変換(DCT)により、同数の変換係数に変換され、量子化されます。
この量子化の出力はエントロピー符号化され、伝送路符号化の後、伝送路に送出されます。
 
一方の受信側では、これと逆の処理が行われます。
なお、原画、変換係数、復号画像 は、いずれも同形(8×8)のマトリクスで表すことができます。
 
量子化は下の図 に示すように、DCTの変換係数を近似する操作です。
このステップの幅をステップサイズと言い、このステップサイズが均一であるとき、線形量子化と呼びます。

        

                      図 量子化
 
ステップサイズを適応的に切り替えることにより、符号化後のビット数と画質を制御することができます。
なお、図のハッチング部が量子化誤差に相当し、これが歪の原因となります。
 
量子化した変換係数は図 に示すように、低い周波数成分(直流)から高い周波数成分へとジグザグ状にスキャンされます。
またブロック間については、左上のブロックから右下のブロックへと順次伝送されます。
 

         

             図 量子化した変換係数のジグザグスキャン
一般的な画像の場合、DCTの変換係数の絶対値は、高い次数の周波数成分ほど小さな値になる傾向があります。
したがって、量子化出力では、ある係数からブロックの最高次の係数まで0が連続する確率が高くなります。
この場合には符号化効率を向上させるため、ブロックの終りを示す短い符号(EOB:End Of Block ) を送出します。
 
これらの係数はエントロピー符号化されて、伝送路に送出されます。
エントロピー符号化とは、出現頻度の高いシンボル(量子化された変換係数)に短い符号、
逆に出現頻度の低いシンボルに長い符号を割り当てる手法であり、代表的なものにハフマン符号化や、
算術符号化があります。
なおこれらについては、後ほど説明します。

7. フレーム間符号化
 
フレーム間符号化は、予測符号化で説明しましたが、MPEG等の動画像を対象としたブロック符号化
方式にも採用されています。
 
たとえば、連続する2フレームの画像信号を比較します。
図のように背景の手前を人物が横切る場合、背景部は一致します。
一方の人物も、位置は多少ずれますが、部分的にほぼ似たような映像が現れる場合が生じます。
 
このとき、例えば、下の図に示すように、ブロックの近傍から最も似ている画像をブロックサイズで切り出し、
その差分を伝送する方法が用いられます。
これを動き補償フレーム間予測と言い、MPEG-1、MPEG-2の標準化方式にも採用されています。
 
 
すなわち、伝送済みのフレームの中から、最も近似度の高い画像をブロック単位で探し出し、そのずれを
動きベクトルとして伝送します。
しかし、それらが完全に一致することはまずあり得ないので、その差分信号を離散コサイン変換(DCT)して、
伝送します。
 
 
実際の、MPEG方式のブロック構成を以下に示します。
上が送信(符号)側、下が受信(復号)側に対応します。
送信側には、受信側で表示される画像を模擬するローカルデコーダが内蔵されており、送信したい画像と、
受信側の画像の差分が計算され、これが0となるようにフィードバックがかかります。

また、MPEGでは、速送り等の機能を実現するため、定期的に単独で復号できる基準フレーム(フレーム内符号化)が
挿入されています。

 

さらに、符号化効率を極限まで改善するため、双方向の予測方式が採用されています。


8. ベクトル量子化
 
サンプルがひとつずつ独立に量子化されるスカラ量子化に対し、複数のサンプルをまとめて量子化するのがベクトル量子化です。
 
はじめに、量子化について説明しましょう。
 
ベクトル量子化とは、入力ベクトルの属する部分空間を求め、その代表値となる出力ベクトルのインデックスを符号とする手法です。
単純な2変数の場合について、スカラ量子化との比較を下の図に示します。

 

 

 
 
         (a) スカラ量子化                          (b) ベクトル量子化
 
 
                   図 スカラ量子化とベクトル量子化(2変数)
 
 

 
[補足](直交変換+スカラ量子化)とベクトル量子化(2変数の場合)
 
 2変数 x,y に相関がある場合の比較を図に示します。
 
(a)では、中央から遠ざかるにつれ矩形の領域が増え、その部分におけるひずみが大きくなります。
一方の(b)では、歪が小さくなる分割(円に近い)が可能であり、代表ベクトルを自由に配置することができます。
 

           (a) 直交変換+スカラ量子化                    (b) ベクトル量子化
 
                           図 ベクトル量子化
 
 
ベクトル量子化は、極めて優れた符号化手法ですが、実用上の観点からは次の2つの問題点があります。
 
(1) 設計法
 
 部分空間の分割や、代表となるベクトルをいかに決めるかがポイントとなる。
 学習系列を用いて、平均ひずみ測度が極小となるLBGアルゴリズムが一般的に用いられている。
 
(2) 演算量及びハードウェア(メモリ)
 
 直接的な手法でコードブック(符号帳)を構成するとき、そのサイズはサンプル当りの符号化ビット数と次元数に対し、
 指数関数的に増大する。
 例えば、4×4 のブロックの場合、1 bit/画素で約1Mワード、2 bit/画素で 70 Mワードとなる。
 このため、現状ではこのブロックサイズが上限となっている。
 
上記の問題点を解決する手法(例えば、木探索法や多段ベクトル量子化、利得/波形ベクトル量子化等)が提案されていますが、
未だ決定的な手法はなく、発展途上の段階にあるといえましょう。

9. エントロピー符号化
 
 
エントロピー符号化とは、出現頻度の高いもの(シンボル)に短い符号、逆に出現頻度の低いものに
長い符号を割り当てることにより、
 
 
 
代表的な手法にハフマン符号があります。
 
ハフマン符号の構成法を以下に示します。
(1) 情報源シンボル{0,1,…,k-1}について、その生起確率の大きいものから順に並べる。
 
(2) 確率が最も小さいシンボルと、2番目に小さいシンボルに対し、一方に 0、他方に 1
  を割り当てる。(0,1 の割り当て方は自由)
 
(3) 2つのシンボルをあわせて、1つのシンボルとみなし(確率も和とする)、再度生起確率の
  大きいものから並べなおす。
 
(4) (1)〜(3)の処理を、シンボル数が1になるまで繰り返す。
 
(5) 各シンボルについて、(2)の処理で割り当てた数字(0,1)を逆方向に読み出し、これを
  そのシンボルに対する符号とする。
 
下にその具体例を示します。

             図 ハフマン符号の作成手順

[補足] エントロピ−と符号長
 
あるシンボル系列において、シンボルの値が i となる確率を Pi とします。
このとき、次式が成り立ちます。
 
 
一方、シンボルが i であることに対応する情報量 I は次のようになります。
 
 
 
このとき、この平均値を H とすれば
 
 
が成り立ち、これをエントロピ−(平均情報量)と呼びます。
この値は、これ以下のビット数では符号化できないという圧縮の限界を与えます。

10. まとめ

画像の符号化方式について、その概要を述べました。
 
なお、詳細については、参考文献等により調べて下さい。

[参考文献]

(1) 原島編 「画像情報圧縮」 オーム社
(2) 原島 :講座「画像圧縮の考え方」  TV学会誌 Vol.43, No.6 (1989)
(3) 磯野他:講座「画像情報圧縮のための視覚特性」 TV学会誌,Vol.43, No.7 (1989)
(4) 谷本他:講座「画像情報圧縮のための画像信号論」TV学会誌, Vol.43, No.8 (1989)
(5) 羽鳥 :講座「画像符号化アルゴリズムT」 予測符号化, TV学会誌 Vol.43, No.9 (1989)
(6) 橋本 :講座「画像符号化アルゴリズムU」 変換符号化, TV学会誌 Vol.43, No.10 (1989)
(7) 斉藤 :講座「画像符号化アルゴリズムW」 ベクトル量子化,TV学会誌 Vol.43, No.11 (1989)
(8) 加藤 :講座「画像符号化アルゴリズムW」 エントロピー符号化、TV学会誌 Vol.43, No.12 (1989)
(9) 羽鳥他:講座「動画像の符号方式」  TV学会誌 Vol.44, No.1 (1990)
(10) 斉藤 :講座「静止画像の符号方式」 TV学会誌 Vol.44, No.2 (1990)
(11) 長沼 :「物理数学の直観的方法」 通商産業研究社刊
(12) 有馬他:「多変量解析のはなし」 東京図書刊
(13) 落合 :「c言語による数学解析」 近代科学社刊
(14) 森田 :「モールス符号から算術符号へ」 数理科学 No.290 8 (1987)
(15) 相澤他:「知的画像符号化のための顔の3次元モデル構成について」、PCSJ86, pp.65-66 (昭61-9)