(57)【特許請求の範囲】
【請求項１】
入力画像データを複数枚蓄える画像データ蓄積手段と、
上記画像データ蓄積手段に蓄積された複数枚の画像データをそれぞれブロックに分割し、当該入力画像データの情報量を評価するための画像自身の情報量を示す第１のパラメータ、動きベクトルが検出された輝度情報の最小誤差及び動きベクトルが検出された色差情報の最小誤差からブロック内の和を用いて算出した画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価手段と、
画像データに直交変換処理を施し、直交変換係数を生成する直交変換手段と、
上記直交変換手段により生成された直交変換係数を、所定の量子化ステップで量子化する量子化手段と、
上記画像情報評価手段によって得られたブロック毎の情報量を表す上記パラメータに基づいてフレーム内符号化圧縮後のデータ量とフレーム間予測符号化圧縮後のデータ量の少ない何れか一方の圧縮方法を選択する圧縮方法選択手段と、
上記圧縮方法選択手段が選択した圧縮方法で１画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第１、第２のパラメータのどちらかを加算し一画面分合計することにより求められた難易度とから、上記量子化手段における量子化の際の基本量子化ステップを予測する基本量子化ステップ予測手段と、
上記画像情報評価手段によって得られたブロック毎の情報量の評価値を予め定めた最大値を上限として正規化を行い、上記基本量子化ステップの値に応じて与えられる上記正規化した値の中央値と変動幅によって上記ブロック毎の量子化ステップを予測する量子化ステップ制御手段とを有し、
上記量子化ステップ制御手段は、上記１画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをベースQ_scale とするとき、予め定められたパラメータＡ、Ｂを用いて、
ベースQ_scale ＝ exp((log(allocated_bit/difficulty)-B)/A) 
の式により上記基本量子化ステップを求め、
更に上記量子化ステップ制御手段は、マクロブロック毎の上記評価値の中央値を中央得点とし、上記ブロック毎の量子化ステップをMB_Q_scaleとするとき、
MB_Q_scale ＝ ((中央得点−ブロック毎の評価値) * 変動幅 ／ (評価値の正規化値)) ＋ ベースQ_scale
の式により上記ブロック毎の量子化ステップを求め、
上記量子化手段は、上記量子化ステップ制御手段で予測された量子化ステップを用いて上記直交変換係数を量子化することを特徴とする画像符号化装置。
【請求項２】
入力画像データを複数枚蓄える画像データ蓄積工程と、
上記画像データ蓄積手段に蓄積された複数枚の画像データをそれぞれブロックに分割し、当該入力画像データの情報量を評価するための画像自身の情報量を示す第１のパラメータ、動きベクトルが検出された輝度情報の最小誤差及び動きベクトルが検出された色差情報の最小誤差からブロック内の和を用いて算出した画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価工程と、
画像データに直交変換処理を施し、直交変換係数を生成する直交変換工程と、
上記直交変換工程により生成された直交変換係数を、所定の量子化ステップで量子化する量子化工程と、
上記画像情報評価工程によって得られたブロック毎の情報量を表す上記パラメータに基づいてフレーム内符号化圧縮後のデータ量とフレーム間予測符号化圧縮後のデータ量の少ない何れか一方の圧縮方法を選択する圧縮方法選択工程と、
上記圧縮方法選択工程で選択した圧縮方法で１画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第１、第２のパラメータのどちらかを加算し一画面分合計することにより求められた難易度とから、上記量子化手段における量子化の際の基本量子化ステップを予測する基本量子化ステップ予測工程と、
上記画像情報評価工程によって得られたブロック毎の情報量の評価値を予め定めた最大値を上限として正規化を行い、上記基本量子化ステップの値に応じて与えられる上記正規化した値の中央値と変動幅によって上記ブロック毎の量子化ステップを予測する量子化ステップ制御工程とを有し、
上記量子化ステップ制御工程は、上記１画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをベースQ_scale とするとき、予め定められたパラメータＡ、Ｂを用いて、
ベースQ_scale ＝ exp((log(allocated_bit/difficulty)-B)/A)
の式により上記基本量子化ステップを求め、
更に上記量子化ステップ制御工程は、マクロブロック毎の上記評価値の中央値を中央得点とし、上記ブロック毎の量子化ステップをMB_Q_scaleとするとき、
MB_Q_scale ＝ ((中央得点−ブロック毎の評価値) * 変動幅 ／ (評価値の正規化値)) ＋ ベースQ_scale
の式により上記ブロック毎の量子化ステップを求め、
上記量子化工程は、上記量子化ステップ制御工程で予測された量子化ステップを用いて上記直交変換係数を量子化することを特徴とする画像符号化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば画像を圧縮符号化する場合に用いて好適な画像符号化装置及び画像符号化方法に関する。
【０００２】
【従来の技術】
従来の例えば画像を圧縮符号化する場合に用いて好適な画像符号化装置の構成例を図９に示す。
この図９の画像符号化装置において、入力端子１には、図１０に示すように、
輝度成分(Y)     352(H)×240(V)×30フレーム
クロマ成分(Cb)  174(H)×120(V)×30フレーム
クロマ成分(Cr)  174(H)×120(V)×30フレーム
のピクセル数にディジタル化された画像データが供給される。
【０００３】
上記入力端子１に供給された入力画像データは、当該入力画像データを一時的に蓄えて然るべき順番に入れ替えるためのフレームメモリ１０を介して、動き検出器２０とブロック分割器１１に送られる。
当該ブロック分割器１１は、フレームメモリ１０から供給されたそれぞれのフレームを、図１１に示すように、輝度成分(Y) ，クロマ成分(Cr),(Cb) それぞれを８×８ピクセルのブロックに分割する。なお、輝度成分(Y) の４つのブロック(Y0,Y1,Y2,Y3）と１つのクロマ成分(Cb)のブロックと、１つのクロマ成分(Cr)のブロックからなる合計６つのブロック(Y0,Y1,Y2,Y3,Cb,Cr) は、マクロブロック(MB)と呼ばれている。
【０００４】
このブロック分割器１１からのマクロブロック単位のデータは差分器１２に送られる。
この差分器１２では、ブロック分割器１１からのデータと後述するフレーム間予測画像データとの差分をとり、その出力を後述するフレーム間予測符号化がなされるフレームのデータとして切換スイッチ１３の被切換端子ｂに送る。また、当該切換スイッチ１３の被切換端子ａには、上記ブロック分割器１１からのデータが後述するフレーム内符号化がなされるフレームのデータとして供給される。
【０００５】
上記切換スイッチ１３を介したブロック単位のデータはＤＣＴ回路１４によって離散コサイン変換（ＤＣＴ）処理され、そのＤＣＴ係数が量子化器１５に送られる。当該量子化器１５では、所定の量子化ステップ幅で上記ＤＣＴ出力を量子化し、この量子化した係数がジグザグスキャン回路１６に送られる。
当該ジグザグスキャン回路１６では、上記量子化係数を図１２に示すようにいわゆるジグザグスキャンによって並べ換え、その出力を可変長符号化回路１７に送る。この可変長符号化回路１７では、上記ジグザグスキャン回路１６の出力データを可変長符号化（ＶＬＣ）し、その出力を出力バッファ１８に送ると共に、当該可変長符号化処理により発生した符号量を示す情報を、量子化ステップ制御器１９に送る。量子化ステップ制御器１９は、可変長符号化回路１７からの符号量を示す情報に基づいて量子化器１５の量子化ステップ幅を制御する。また、上記出力バッファ１８から出力されたデータは圧縮符号化がなされた符号化出力として出力端子２から出力される。
【０００６】
また、上記量子化器１５からの出力は、逆量子化器２７によって逆量子化され、さらに逆ＤＣＴ回路２６によって逆ＤＣＴ処理される。当該逆ＤＣＴ回路２６の出力は、加算器２５に送られる。
この加算器２５には、フレーム間予測符号化のフレームのときにオンとなる切換スイッチ２４を介した動き補償器２１からのフレーム間予測画像データも供給され、当該データと上記逆ＤＣＴ回路２６の出力データとの加算が行われる。この加算器２５の出力データは、フレームメモリ２２に一時的に蓄えられた後、動き補償器２１に送られる。
【０００７】
当該動き補償器２１は、上記動き検出器２０によって検出された動きベクトルに基づいて動き補償を行い、これによって得たフレーム間予測画像データを出力する。
以下、上記図９の従来の画像符号化装置の具体的な動作について詳細に説明する。ここで、説明のために以下のように各フレームの呼び名を定義する。
【０００８】
先ず、表示順にフレームを並べたとき、それぞれを
Ｉ０，Ｂ１，Ｂ２，Ｐ３，Ｂ４，Ｂ５，Ｐ６，Ｂ７，Ｂ８，Ｉ９，Ｂ１０，Ｂ１１，Ｂ１２，・・・・・
と呼ぶこととする。これらのフレームのうち、Ｉ，Ｐ，Ｂは、後に説明するが、圧縮方法の種類を示し、これらＩ，Ｐ，Ｂの次の数字は、単純に表示順を示している。
【０００９】
カラー動画像符号化方式の国際標準化作業グループであるいわゆるＭＰＥＧ（Moving Picture Expert Group)のうちＭＰＥＧ１では、この様な画像を圧縮するために、以下のようにすることが規定されている。
先ず、Ｉ０の画像を圧縮する。
次に、Ｐ３の画像を圧縮するのだが、Ｐ３そのものを圧縮するのではなく、Ｐ３とＩ０の画像との差分データを圧縮する。
【００１０】
その次に、Ｂ１の画像を圧縮するのだが、Ｂ１そのものを圧縮するのではなく、Ｂ１とＩ０或いは、Ｂ１とＰ３との差分データ或いはＩ０とＰ３の平均値との差分（いずれか情報の少ない方）を圧縮する。
その次に、Ｂ２の画像を圧縮するのだが、Ｂ２そのものを圧縮するのではなく、Ｂ２とＩ０或いは、Ｂ２とＰ３との差分データ或いはＩ０とＰ３の平均値との差分（どちらか情報の少ない方を選んで）を圧縮する。
【００１１】
次に、Ｐ６の画像を圧縮するのだが、Ｐ６そのものを圧縮するのではなく、Ｐ６とＰ３の画像との差分データを圧縮する。
上述したような処理を順番に並べて表すと、
0003711573.tif 000002
となる。このようにエンコード順は、
Ｉ０，Ｐ３，Ｂ１，Ｂ２，Ｐ６，Ｂ４，Ｂ５，Ｐ９，Ｂ７，Ｂ８，Ｉ９，Ｐ１２，Ｂ１０，Ｂ１１，・・・・
のように、表示順とは順番が入れ替わる。圧縮後のデータ（符号化データ）はこの順番に並ぶことになる。
【００１２】
以下、上述したことを図４の構成の動作と共にさらに詳しく述べる。
１枚目の画像（すなわちＩ０）のエンコードでは、先ず、上記フレームメモリ１０から１枚目に圧縮すべき画像のデータが、ブロック分割器１１によってブロック化される。このブロック分割器１１からは、前記Ｙ０，Ｙ１，Ｙ２，Ｙ３，Ｃｂ，Ｃｒの順にブロック毎のデータが出力され、被切換端子ａ側に切り換えられた切換スイッチ１３を介してＤＣＴ回路１４に送られる。このＤＣＴ回路１４では、それぞれのブロックについて縦横２次元の離散コサイン変換処理を行う。これにより、空間軸であったデータが周波数軸に変換される。
【００１３】
このＤＣＴ回路１４からのＤＣＴ係数は、量子化器１５に送られ、当該量子化器１５で所定の量子化ステップ幅で量子化される。その後、ジグザグスキャン回路１６によって図１２のようにジグザグ順に並べ変えられる。このようにジグザグ順に並べると、後ろへ行くほど、その係数は周波数成分の高い係数となるから、一般的に係数の値は後ろの方が小さくなる傾向にある。したがって、ある値Ｓで量子化すると、後ろへ行くほど、その結果は０になる頻度が増し、結果的に高域の成分が切り落とされることになる。
【００１４】
その後、この量子化後の係数は、可変長符号化（ＶＬＣ）回路１７へ送られ、ここでいわゆるハフマンコーディングが施される。この結果得られる圧縮されたビットストリームは、出力バッファ１８に一旦蓄えられた後、一定のビットレートで送出される。当該出力バッファ１８は、不規則に発生するビットストリームを一定のビットレートで送出できるようにするための緩衝のためのメモリである。
【００１５】
以上の様に１枚の画像だけ単独で圧縮することをフレーム内（イントラ：Intra ）符号化と言い、この画像をＩピクチャと呼ぶ。
したがって、デコーダが上記のＩピクチャのビットストリームを受信した場合は、以上に述べたことを逆にたどり、１枚目の画像を完成させる。
次に、２枚目の画像（すなわちＰ３）のエンコードでは、以下のようになされる。
【００１６】
すなわち、この２枚目以降もＩピクチャとして圧縮してビットストリームを作っても良いが圧縮率を上げるには、連続する画像の内容には相関があることを利用して、以下の様な方法で圧縮する。
先ず、動き検出器２０では、２枚目の画像を構成するマクロブロック毎に、１枚目の画像（Ｉ０）の中からそれに良く似たパターンを捜し出し、それを動きベクトルという（ｘ，ｙ）の相対位置の座標として表現する。
【００１７】
また、２枚目の画像ではそれぞれのブロックを、上記Ｉピクチャの場合のようにそのままＤＣＴ回路１４に送るのではなく、そのブロック毎の動きベクトルに従って一枚目の画像から引っ張ってきたブロックとの差分のデータ（差分器１２による差分データ）を、ＤＣＴ回路１４へ送るようにする。なお、動きベクトルの検出方法としては、ＩＳＯ／ＩＥＣ  11172-2 annex D.6.2 に詳細に述べられているためここでは省略する。
【００１８】
ここで、例えば上記動きベクトルによって示された一枚目の画像のパターンと、これから圧縮しようとするブロックのパターンとの間で、相関が非常に強くなっていれば、その差分データは非常に小さくなり、したがって、上記フレーム内（イントラ）符号化で圧縮するよりも、上記動きベクトルと上記差分データとを符号化した方が、圧縮後のデータ量は小さくなる。
【００１９】
このような圧縮方法を、フレーム間（インター：Inter)予測符号化と呼んでいる。ただし、常に差分データが少なくなるわけではなく、絵柄（画像内容）によっては、差分を取るよりも、上記フレーム内符号化で圧縮した方が、圧縮率が上がる場合がある。このような場合は、上記フレーム内符号化で圧縮する。フレーム間予測符号化にするか、フレーム内符号化にするかは、マクロブロック毎に異なる。
【００２０】
以上のことを図９の画像符号化装置（エンコーダ）に即して説明すると、先ず、フレーム間予測符号化を行うためには、エンコーダ側でたえずデコーダ側で作られる画像と同じ画像を作って置く必要がある。
そのためにエンコーダ内には、デコーダと同じ回路が存在する。その回路をローカルデコーダ（局部復号器）と呼ぶ。図９の逆量子化器２７と逆ＤＣＴ回路２６と加算器２５とフレームメモリ２２と動き補償器２１が当該ローカルデコーダに対応し、フレームメモリ２２内に記憶される画像のことをローカルデコーデッドピクチャ（Local decoded picture)又はローカルデコーデッドデータ(Local decoded data)と呼ぶ。これに対して、圧縮前の画像のデータは、オリジナルピクチャ(Original picture)又はオリジナルデータ(Original data) と呼ぶ。
【００２１】
なお、前述した１枚目のＩピクチャの圧縮時にも、上記ローカルデコーダを通して復号化された１枚目の画像が、上記フレームメモリ２２内に格納される。ここで、注意すべきことは、このローカルデコーダによって得られる画像は、圧縮前の画像ではなく、圧縮後復元した画像であり、圧縮による画質劣化のある、デコーダが復号化する画像とまったく同じ画像であるということである。
【００２２】
このような状態のエンコーダに２枚目の画像（Ｐ３）のデータ(Original data）が入ってくるわけだが（この段階ですでに、動きベクトルは検出済でなければならない）、データはブロック毎に動きベクトルを持ち、このベクトルが動き補償器（MC:Motion Compensation）２１に与えられる。当該動き補償回路２１は、その動きベクトルの示すローカルデコーデッドピクチャ上のデータ（動き補償データ：MC data:１マクロブロック）を上記フレーム間予測画像データとして出力する。
【００２３】
上記２枚目のオリジナルデータとこの動き補償データ（フレーム間予測画像データ）のピクセル毎の、差分器１２による差分データが、上記ＤＣＴ回路１４に入力される。それからの後の圧縮方法は、基本的にＩピクチャと同じである。上述のような圧縮方法によって圧縮する画像をＰピクチャ（Predicted picture)と呼ぶ。
【００２４】
さらに詳しく説明すると、Ｐピクチャにおいてすべてのマクロブロックがフレーム間予測符号化で圧縮するとは限らず、フレーム内符号化で圧縮する方が効率が良いと判断されるときは、そのマクロブロックは当該フレーム内符号化で符号化を行う。
すなわち、Ｐピクチャにおいても、マクロブロック毎に、フレーム内符号化によるか（このマクロブロックをイントラマクロブロックと呼ぶ）、又はフレーム間予測符号化によるか（このマクロブロックをインターマクロブロックと呼ぶ）のどちらかを選択して圧縮を行う。
【００２５】
上述のように、上記ローカルデコーダでは、量子化器１５の出力が、逆量子化器２７で逆量子化され、さらに逆ＤＣＴ回路２６で逆ＤＣＴ処理された後、エンコード時に動き補償データ（MC data ）と足され最終的なローカルデコーデッドピクチャとなる。
次に、３枚目の画像（すなわちＢ１）のエンコードでは、以下のようになされる。
【００２６】
上記３枚目の画像（Ｂ１）のエンコードでは、Ｉ０，Ｐ３の２枚の画像それぞれに対する動きベクトルを探索する。ここで、Ｉ０に対する動きベクトルをフォワードベクトル（forward Vector）ＭＶｆ(x,y) と呼び、Ｐ３に対する動きベクトルをバックワードベクトル（Backward Vector)ＭＶｂ(x,y) と呼ぶ。
この３枚目の画像についても差分データを圧縮するわけであるが、どのデータを圧縮するのかが、問題である。この場合も一番情報量が少なくなるものとの差分を取れば良い。このときの圧縮方法の選択肢としては、
（１）フォワードベクトルＭＶｆ(x,y) の示すＩ０上のデータとの差分
（２）バックワードベクトルＭＶｂ(x,y) の示すＰ３上のデータとの差分
（３）フォワードベクトルＭＶｆ(x,y) の示すＩ０上のデータとバックワードベクトルＭＶｂ(x,y) の示すＰ３上のデータの平均値との差分
（４）差分データは使わない（フレーム内符号化）
の４つである。マクロブロック毎にこの４種類の圧縮方法から一つが選択される。上記圧縮方法の選択肢のうちの（１），（２），（３）の場合は、それぞれの動きベクトルも動き補償器２１に送られ、差分器２１ではその動き補償データとの差分をとり、これがＤＣＴ回路１４に送られる。上記圧縮方法の選択肢のうちの（４）の場合は、そのままのデータがＤＣＴ回路１４へ送られる。
【００２７】
上述した１枚目、２枚目のエンコードの処理の結果、ローカルデコーデッドピクチャを格納するフレームメモリ２２には、Ｉ０，Ｐ３の２枚のピクチャが、復元されているのでこのようなことが可能である。
次に、４枚目の画像（すなわちＢ２）のエンコードでは、以下のようになされる。
【００２８】
上記４枚目の画像（Ｂ２）のエンコードでは、上述した３枚目（Ｂ１）のエンコード方法のところの説明文で、Ｂ１をＢ２に置き換えたこと以外は、上記３枚目のエンコードと同じ方法で圧縮する。
次に、５枚目の画像（すなわちＰ６）のエンコードでは、以下のようになされる。
【００２９】
上記５枚目の画像（Ｐ６）のエンコードでは、上述した２枚目（Ｐ３）のエンコード方法のところの説明文で、Ｐ３をＰ６に、Ｉ０をＰ３に置き換えただけで、他は同じ説明となる。
６枚目以降は、上述の繰り返しとなるので説明は省略する。
また、ＭＰＥＧにおいては、ＧＯＰ（Group Of Picture）と呼ばれるものが規定されている。
【００３０】
すなわち、何枚かのピクチャの集まりがグループオブピクチャ（ＧＯＰ）と呼ばれており、当該ＧＯＰは符号化データ（圧縮後のデータ）上で見て連続した画像の集まりでなくてはならないものである。また、ＧＯＰはランダムアクセスを考慮したもので、そのためには符号化データ上で見てＧＯＰの最初に来るピクチャは上記Ｉピクチャである必要がある。さらに、表示順（ディスプレイ順）でＧＯＰの最後は、Ｉ又はＰピクチャでなくてはならない。
【００３１】
図１３には、最初が４枚のピクチャからなるＧＯＰで、それ以降が６枚のピクチャからなるＧＯＰとなる例を挙げる。なお、図１３のＡはディスプレイ順を示し、図１３のＢは符号化データ順を示している。
この図１３において、ＧＯＰ２に注目すると、Ｂ４，Ｂ５はＰ３，Ｉ６から形成されるため、例えばランダムアクセスでＩ６にアクセスされると、Ｐ３が無いため、Ｂ４，Ｂ５は正しく復号化できない。このようにＧＯＰ内だけで正しく復号化できないＧＯＰは、クローズドＧＯＰ（Closed GOP）でないという。
【００３２】
これに対し、もしＢ４，Ｂ５がＩ６だけしか参照していないとしならば、例えばランダムアクセスでＩ６にアクセスしても、Ｐ３は必要ないため、これらＢ４，Ｂ５は正しく復号化できることになる。このようにＧＯＰ内だけの情報で、完全に復号化できるＧＯＰをクローズドＧＯＰ（Closed GOP）と呼ぶ。
以上のような圧縮方法の選択の中から一番効率の良い方法で圧縮するわけであるが、その結果発生する符号化データ（Coded data）の量は、入力画像にも依存し、実際に圧縮してみないと判らない。
【００３３】
しかし、圧縮後のデータのビットレートを一定にするためにコントロールすることも必要である。当該コントロールを行うためのパラメータは、量子化器１５に与える前記符号量を表す情報としての量子化ステップ（又は量子化スケール：Q-scale ）である。同じ圧縮方法でも、上記量子化ステップを大きくすれば発生ビット量は減り、小さくすれば増える。
【００３４】
この量子化ステップの値は、次のようにして制御する。
エンコーダには、圧縮後のデータを一定のビットレートにするために、出力に緩衝バッファ（出力バッファ１８）が設けられており、これによって画像毎のある程度のデータ発生量の差は吸収できるようになされている。
しかし、定められたビットレートを超えるようなデータの発生が続けば、出力バッファ１８の残量が増加し、ついにはオーバーフローを起こすことになる。逆にビットレートを下回るデータの発生が続けば出力バッファ１８の残量は減少し、最後にはアンダーフローを引き起こすことになる。
【００３５】
したがって、エンコーダは、出力バッファ１８の残量をフィードバックすることにより、前記量子化ステップ制御器１９が量子化器１５の量子化ステップをコントロールし、ここで出力バッファ１８の残量が少なくなればあまり圧縮しないように量子化ステップを小さくなるよう制御し、出力バッファ１８の残量が多くなれば圧縮率を高くするように量子化ステップを大きくするようにコントロールを行うようにしている。
【００３６】
また、前述した圧縮方法（前記フレーム内符号化やフレーム間予測符号化）によって発生する符号化データ量の範囲には、大きな差がある。
特にフレーム内符号化方式で圧縮をすると大量のデータが発生するため、出力バッファ１８の空き容量が小さい場合には量子化ステップサイズを大きくしなければならず、場合によっては量子化ステップサイズを最大にしてもバッファ１８のオーバーフローを招くかもしれない。よしんばバッファ１８に収まったとしても量子化ステップが大きければフレーム内符号化の画像は後のフレーム間予測符号化の画質に影響するので、フレーム内符号化での圧縮を行う前には出力バッファ１８に十分な空き容量が必要である。
【００３７】
したがって、予め定められた順序の圧縮方法を決めておき、フレーム内符号化の前には十分な出力バッファ１８の空き容量を確保するように、量子化ステップ制御器１９は量子化ステップサイズのフィードバックコントロールを行うようにしている。
以上のようにして一定レートの符号化データに抑えることが可能となる。
【００３８】
【発明が解決しようとする課題】
上述した従来の方法では、以下の理由により高画質を得られないことが欠点となっている。
すなわち、時々刻々情報量の変化する入力画像を一定のビットレートで平均的に高画質に圧縮するためには、出力バッファによって低ビットレートを維持できる範囲でかつ画質が均質になるように、情報量の多い画像（絵）には多めの圧縮データを許し、情報量の少ない画像には少なめの圧縮データにすることが必要だが、次のような場合に従来の方法ではそれができない。
【００３９】
例えば、情報量の少ない画像が連続し、そのあとで急に情報量の多い画像が入ってくる場合を考えると、先に供給される情報量の少ない画像に対しては量子化ステップをあまり小さくし過ぎず、その後に続く情報量が多い画像が符号化されるまで出力バッファの残量を低く保つべきであるのに、前述した出力バッファ残量をフィードバックする方式では、上記情報量が少ない画像が連続するうちに出力バッファの残量を増加させてしまうようになる。
【００４０】
逆に、情報量が多い画像の後に情報量の少ない画像が続く場合では、先に供給される情報量の多い画像を大きな量子化ステップで圧縮して出力バッファの残量を減らさなくても、その後に続くのは情報量の少ない画像なのでオーバーフローし難いはずであるが、上記出力バッファ残量フィードバック方式では、続く画像の情報量がわからないためバッファの残量を減らす方向、すなわち量子化ステップを大きくする方向に制御し、画質を低下させてしまう。
【００４１】
このようなことから、例えば、入力画像の情報量を評価し、この評価値に基づいて量子化ステップを制御するような構成も考えられる。
ところが、上記入力画像の情報量の評価値を求めるような機構を備えた画像符号化装置において、例えば１枚の入力画像を圧縮する際には、当該入力情報を圧縮した後に得られることになるデータに対して使用可能な割当量を、当該入力画像の情報量（難易度）に応じて配当することになるが、そのときの量子化器の量子化ステップを、当該割当量に応じて精度良く予測する必要がある。
【００４２】
ここで、もしも、上記予測した量子化ステップが適当でない場合には、上記圧縮後のデータに対して使用可能な割当量を大幅に割り込んだり、逆にオーバーしたりしてしまうことになる。このように割当量を大幅に割り込んだり、オーバーしたりすると、他のピクチャの圧縮の際の割当量に影響を与えてしまうことになる。
【００４３】
すなわち例えば、割当量が少なくなったフレームでは、量子化ステップが大きくなり、したがって画質が低下するようになる。このため、例えば連続的に見て均等な画質のフレームが続かなくなり、全体的に見ても画質が悪い印象になってしまう。また、上記予測が大幅にずれると、最悪の場合、バッファのアンダーフローやオーバーフローを招くことになる。
【００４４】
ここで、そのようにならないようにするために、例えば、１画面内で圧縮後の情報量と予定割当量と圧縮の進捗の画面内での割合で量子化ステップを制御していたとしても、基本の量子化ステップの予測が外れると画面内での量子化ステップの大きな変動が起こるようになる。このように画面内での量子化ステップの大きな変動が起こると、上記圧縮はラスタースキャン順になされるものなので、画面上で帯状に画質の不均等な部分が認識され、画質低下をもたらすようになる。
【００４５】
ところで、量子化ステップの画面内の制御の目的は、二つあり、一つは画面内での画質を向上させることと、もう一つは、割当ビット量に十分近くなるように発生ビット量を制御することである。
例えば、画面内において量子化ステップの制御を行わないで一定の量子化スケールに固定した場合、画面内のどの部分においても量子化ステップが一定で同一であるため、ＤＣＴ処理後の周波数軸上においては画面上に分布する量子化による量子化誤差は、一様（一定）であると言える。ただし、誤差分布が一様であるからといって、人間が認識できる画質劣化は一様でなく、劣化が目立つ部分と劣化がわからない部分が存在する。そこで、劣化が目立つ部分には量子化ステップを小さくし、量子化誤差による画質劣化を目立たなくし、わからない部分は量子化ステップを大きくし、無駄な量子化後の係数による圧縮後のデータ量の増加を削減する必要がある。
【００４６】
他方で、入力画像によっては一画面に割り当てられるビット割当量に対して、圧縮後のデータ量（発生量）が多くなってしまったり、少なくなってしまったりする（予定に対して使い過ぎてしまうようなとき）場合がある。このとき、例えば画面毎の量子化ステップの制御を行なわずに、一定の同一の量子化ステップを使った場合で、基本量子化ステップが小さい場合には、量子化ステップが１違っただけでデータ発生量は大きく異なることになる。例えば、ＩピクチャやＰピクチャよりも少ない割当量となるＢピクチャ１枚分くらいは簡単にデータ発生量が変動することになる。したがって、データ発生量制御の見地からも画面内で量子化ステップの制御を行なう必要がある。
【００４７】
この画面内の量子化ステップ制御として、マクロブロック毎に量子化ステップの制御を行うことを考えることができる。このマクロブロック毎の量子化ステップ制御には、画質向上とデータ発生量制御の２つの目的がある。しかし、このマクロブロック毎の量子化ステップ制御でも、マクロブロック毎に１つの量子化ステップを用いるような制御を行うと、上記画像とデータ発生量とが共に変化してしまい、それぞれの上記目的を別々に満足することができない。
【００４８】
例えば、画質を制御する場合に基本となるマクロブロック内の量子化ステップの振幅（変化幅）は、例えば基本量子化ステップbase＿Q が４(base ＿Q=4)の時と、１５(base ＿Q=15) の時とでは大きく異なることが経験的に判っている。また、発生量を制御する場合、基本量子化ステップが１(base ＿Q=1)の時では、量子化ステップが例えば１違っただけで大きく発生量が異なるのに対し、基本量子化ステップが１５(base ＿Q=15) 付近では、量子化ステップが例えば５異なっても発生量の絶対値はさほど異ならない。すなわち、量子化ステップが小さいときには、発生量と割当量の誤差は大きくなってしまう。
【００４９】
そこで、本発明は、上述のような実情に鑑みて提案されたものであり、画質向上とデータ発生量制御を共に満足することができ、効率の良い画像圧縮が可能で、全体的に画質を向上させることができる画像符号化装置及び画像符号化方法を提供することを目的とするものである。
【００５０】
【課題を解決するための手段】
本発明の画像符号化装置は、上述した目的を達成するために提案されたものであり、入力画像データを複数枚蓄える画像データ蓄積手段と、上記画像データ蓄積手段に蓄積された複数枚の画像データをそれぞれブロックに分割し、当該入力画像データの情報量を評価するための画像自身の情報量を示す第１のパラメータ、動きベクトルが検出された輝度情報の最小誤差及び動きベクトルが検出された色差情報の最小誤差からブロック内の和を用いて算出した画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価手段と、画像データに直交変換処理を施し、直交変換係数を生成する直交変換手段と、上記直交変換手段により生成された直交変換係数を、所定の量子化ステップで量子化する量子化手段と、上記画像情報評価手段によって得られたブロック毎の情報量を表す上記パラメータに基づいてフレーム内符号化圧縮後のデータ量とフレーム間予測符号化圧縮後のデータ量の少ない何れか一方の圧縮方法を選択する圧縮方法選択手段と、上記圧縮方法選択手段が選択した圧縮方法で１画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第１、第２のパラメータのどちらかを加算し一画面分合計することにより求められた難易度とから、上記量子化手段における量子化の際の基本量子化ステップを予測する基本量子化ステップ予測手段と、上記画像情報評価手段によって得られたブロック毎の情報量の評価値を予め定めた最大値を上限として正規化を行い、上記基本量子化ステップの値に応じて与えられる上記正規化した値の中央値と変動幅によって上記ブロック毎の量子化ステップを予測する量子化ステップ制御手段とを有し、上記量子化ステップ制御手段は、上記１画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをベースQ_scale とするとき、予め定められたパラメータＡ、Ｂを用いて、
ベースQ_scale ＝ exp((log(allocated_bit/difficulty)-B)/A)
の式により上記基本量子化ステップを求め、更に上記量子化ステップ制御手段は、マクロブロック毎の上記評価値の中央値を中央得点とし、上記ブロック毎の量子化ステップをMB_Q_scaleとするとき、
MB_Q_scale ＝ ((中央得点−ブロック毎の評価値) * 変動幅 ／ (評価値の正規化値)) ＋ ベースQ_scale
の式により上記ブロック毎の量子化ステップを求め、上記量子化手段は、上記量子化ステップ制御手段で予測された量子化ステップを用いて上記直交変換係数を量子化することを特徴とする。
【００５１】
また、本発明の画像符号化方法は、入力画像データを複数枚蓄える画像データ蓄積工程と、上記画像データ蓄積手段に蓄積された複数枚の画像データをそれぞれブロックに分割し、当該入力画像データの情報量を評価するための画像自身の情報量を示す第１のパラメータ、動きベクトルが検出された輝度情報の最小誤差及び動きベクトルが検出された色差情報の最小誤差からブロック内の和を用いて算出した画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価工程と、画像データに直交変換処理を施し、直交変換係数を生成する直交変換工程と、上記直交変換工程により生成された直交変換係数を、所定の量子化ステップで量子化する量子化工程と、上記画像情報評価工程によって得られたブロック毎の情報量を表す上記パラメータに基づいてフレーム内符号化圧縮後のデータ量とフレーム間予測符号化圧縮後のデータ量の少ない何れか一方の圧縮方法を選択する圧縮方法選択工程と、上記圧縮方法選択工程で選択した圧縮方法で１画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第１、第２のパラメータのどちらかを加算し一画面分合計することにより求められた難易度とから、上記量子化手段における量子化の際の基本量子化ステップを予測する基本量子化ステップ予測工程と、上記画像情報評価工程によって得られたブロック毎の情報量の評価値を予め定めた最大値を上限として正規化を行い、上記基本量子化ステップの値に応じて与えられる上記正規化した値の中央値と変動幅によって上記ブロック毎の量子化ステップを予測する量子化ステップ制御工程とを有し、上記量子化ステップ制御工程は、上記１画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをベースQ_scale とするとき、予め定められたパラメータＡ、Ｂを用いて、
ベースQ_scale ＝ exp((log(allocated_bit/difficulty)-B)/A)
の式により上記基本量子化ステップを求め、更に上記量子化ステップ制御工程は、マクロブロック毎の上記評価値の中央値を中央得点とし、上記ブロック毎の量子化ステップをMB_Q_scaleとするとき、
MB_Q_scale ＝ ((中央得点−ブロック毎の評価値) * 変動幅 ／ (評価値の正規化値)) ＋ ベースQ_scale
の式により上記ブロック毎の量子化ステップを求め、上記量子化工程は、上記量子化ステップ制御工程で予測された量子化ステップを用いて上記直交変換係数を量子化することを特徴とする。
【００５３】
【作用】
本発明によれば、複数枚の画像データをそれぞれブロックに分割し、各ブロック毎の画像データの情報量を評価し、そのブロック毎の情報量の評価値に基づいて、適応的に画像データの圧縮方法を選択した後、ブロック毎の情報量の評価値を基本量子化ステップを規準にして正規化し、この正規化した評価値によってブロック毎の量子化ステップを予測している。
【００５４】
【実施例】
以下、図面を参照し、本発明の実施例について詳述する。
図１には本発明実施例の画像符号化装置の概略構成を示す。なお、この図１において、前述した図９と同じの構成については同一の指示符号を付してその説明については省略する。
【００５５】
この図１の構成において、前記図９の構成に追加された構成要素は画像情報評価回路５０とシーンチェンジ検出回路３１と圧縮方法選択回路３２と動きベクトル発生回路３３であり、また、量子化ステップ制御器３９とフレームメモリ４０が変更されている。
すなわち、本発明実施例の画像符号化装置は、入力画像データを複数枚蓄える画像データ蓄積手段であるフレームメモリ４０と、上記フレームメモリ４０に蓄積された複数フレームの画像データをそれぞれブロックに分割し、各ブロック毎の画像データの情報量を評価する画像情報評価回路５０と、画像データにＤＣＴ等の直交変換処理を施し、そのＤＣＴ係数を生成するＤＣＴ回路１４と、上記ＤＣＴ回路４０による生成されたＤＣＴ係数を、所定の量子化ステップで量子化する量子化器１５と、上記画像情報評価回路５０によって得られたブロック毎の情報量の評価値に基づいて、適応的に画像データの圧縮方法を選択する圧縮方法選択回路３２と、上記画像情報評価回路５０により得られた画面毎の情報量とその情報量に基づいて割り当てた発生予測ビット量と、過去の画面毎の情報量と発生ビット量と量子化ステップの関係より、画面毎の基本量子化ステップを予測する基本量子化ステップ予測手段及び、上記画像情報評価回路５０によって得られたブロック毎の情報量の評価値を正規化し、基本量子化ステップを規準にして上記ブロック毎の正規化した評価値によって上記ブロック毎の量子化ステップを予測する量子化ステップ制御手段としての量子化ステップ制御器３９とを有することを特徴とする。
【００５６】
この図１において、先ず、入力端子１から入力された入力画像データは、フレームメモリ４０に蓄えられる。
このフレームメモリ４０は、図９のフレームメモリ１０とは異なり、所定数のフレームを蓄積できるものである。このときの蓄積する所定数としては、多過ぎるとフレームメモリ４０が大規模になってしまうので好ましくない。上記所定数として効率的な長さ（フレーム数）は、ビットレートと出力バッファ１８の容量、フレーム内符号化の圧縮方式の画像同士の間隔（ほとんどの場合ＧＯＰの長さといっても差し支えない）に大きく依存する。これは圧縮方法及び圧縮率の違いから生ずる圧縮データの大きさのむらを上記出力バッファ１８によって吸収し、定ビットレートにすることができる範囲が、上記ビットレート及び出力バッファ容量とフレーム内符号化がなされる画像同士の間隔等の条件によって制約されるからである。
【００５７】
ここで、一般的にフレーム内符号化方式で圧縮することは定期的に行われる（これがＧＯＰになることが多い）ものであり、フレーム内符号化の圧縮方式は圧縮後のデータ量が他の方式に比べてかなり大きいため、フレーム内符号化による圧縮画像同士（或いはＧＯＰ）の間隔で情報量を調べ、データ量の配分をするのは一つの合理的な方法である。
【００５８】
しかし、本実施例の方式ではシーンチェンジ等によって前後の画像の相関が著しく低くなった場合にもフレーム内符号化方式で圧縮するようにしている。
その場合、定期的に行うはずである近傍のフレーム内符号化によって圧縮を行う画像は、定ビットレート或いは均質な画質の維持が困難になるためフレーム内符号化による圧縮である必然性を失い、フレーム内符号化で圧縮することを取り止める必要がでてくる。
【００５９】
したがって、フレーム内符号化による圧縮を行う周期の２倍程度を上記フレームメモリ４０の長さ（上記所定数）とすることが適当である。
もちろん、上記フレーム数は一例であり、これに限定されることはなく様々な条件に合わせて変更することは可能である。
上記フレームメモリ４０に蓄積された画像データは、適宜、画像情報評価回路５０に送られる。
【００６０】
ここで、当該画像情報評価回路５０は、大別して２通りのパラメータを算出するものである。
第１のパラメータは、フレーム内符号化で圧縮を行った場合の圧縮後のデータ量を予測することが可能なように、その画像自身の情報量を示すものである。この第１のパラメータとしては、例えば、フレームメモリ４０から供給された画像データに対して、ＤＣＴ処理をブロック毎に行い、そのＤＣＴ係数の和や統計をとったものとしたり、また、それでは規模が大きくなる場合には、平均自乗誤差のブロック毎の和を求めたものとする。いずれにしても、当該画像情報評価回路５０では、画像の情報量を表し、圧縮後のデーター量を類推するに足るパラメータを算出する。
【００６１】
第２のパラメータは、フレーム間予測符号化で圧縮を行った場合の圧縮後のデータ量を予測することが可能な、画像の差分情報量を示すものである。この場合のパラメータとしては、例えば、フレームメモリ４０に格納された画像と動き補償後の画像との差分値のブロック内の和を用いる。このパラメータ算出の際には、一般的な動きベクトル検出回路（動き検出器２０及び動きベクトル発生回路３３）で得られる動きベクトルが検出された最小誤差を利用することができる。
【００６２】
このときのフレーム間予測符号化による圧縮後のデータ量の類推（予測）のためのパラメータとしては、一般的な輝度情報だけの動きベクトル検出回路（動き検出器２０及び動きベクトル発生回路３３）で得られる動きベクトル及びその動きベクトルが検出された輝度情報だけで求めた最小誤差に加えて、本実施例ではその動きベクトルが検出された色差情報だけで求めた最小誤差を新たに用いるようにする。
【００６３】
本実施例装置では、このようにして求めた輝度情報からの最小誤差と色差情報からの最小誤差を用いて、そのマクロブロックの誤差とし、当該マクロブロックの誤差を用いて後述する圧縮方法選択回路３２で圧縮方法の判定を行なう。
上記画像情報評価回路５０によって、上述したようにして算出された画像情報の評価値（パラメータ）は、次に説明するシーンチェンジ検出回路３１と、圧縮方法選択回路３２と、量子化ステップ制御器３９とに送られる。
【００６４】
また、画像情報評価回路５０からは、後述する圧縮方法選択回路３２においてＧＯＰの長さを決定する際に画像のカウントを行うため、その圧縮方法選択回路３２に対して画像情報も送られる。
次に、シーンチェンジ検出回路３１は、上記画像情報評価回路５０の出力（例えば第２のパラメータ）を用いてシーンチェンジを検出するものである。
【００６５】
ここで、当該シーンチェンジ検出回路３１においてシーンチェンジを検出する目的は、フレーム間予測符号化かフレーム内符号化のいずれかの圧縮方式を決定するための判断材料にすることが主である。それは、シーンチェンジ部分のように前後で相関の極めて低い画像では、フレーム間予測符号化で圧縮するよりもフレーム内符号化で圧縮する方が効率良く圧縮できるからである。また、シーンチェンジ部分では、圧縮後のデータも大きなものとなるため、データ量配分や出力バッファマネジメントの観点からも当該シーンチェンジを把握することは重要である。
【００６６】
上述のようなシーンチェンジは前後の画像で相関が著しく損なわれる所に存在するものであるため、当該シーンチェンジ部分は、例えば、前後の画像についてそれぞれ例えば動きベクトル補償後の画像との差分値を求め、それぞれこの差分値の画像全体での総和を求めて、さらに当該前後の画像での上記総和の比を求めるなどして検出できる。
【００６７】
このようなことから、本実施例のシーンチェンジ検出回路３１では、上記画像情報評価回路５０の出力を用いてシーンチェンジを検出するようにしている。すなわち、上記画像情報評価回路５０は、前述のように動き補償後の画像の差分値のブロック内の和を第２のパラメータとして出力するため、当該シーンチェンジ検出回路３１では、当該差分値のブロック内の和を用いて、上述のシーンチェンジ検出のための演算を行うことができる。
【００６８】
次に、圧縮方法選択回路３２について説明する。
当該圧縮方法選択回路３２は、上記シーンチェンジ検出回路３１からのシーンチェンジ検出出力と、画像情報評価回路５０からの画像情報をカウントしたカウント値と、前記輝度情報と色差情報からそれぞれ求めた第２のパラメータ（最小誤差）とに基づいて、フレーム内符号化／フレーム間予測符号化（Ｐ，Ｂピクチャ）のいずれの圧縮方式で圧縮を行うのかを選択する回路である。
【００６９】
すなわち当該圧縮方法選択回路３２では、上記画像情報評価回路５０によって得られるマクロブロック毎の輝度情報及び色差情報から求めたパラメータに基づいて、マクロブロック毎のフレーム内符号化／フレーム間予測符号化の各圧縮方法によって発生するデータの予想量（発生予想量）を比較し、より発生予想量の少なくなる圧縮方法を選択するようにしている。
【００７０】
また、フレーム内符号化方式による圧縮画像は少なくともＧＯＰの最初になければならない。さらに、ＧＯＰはランダムアクセスを考慮してある程度の間隔となされているので、必然的にＩピクチャは当該間隔で定期的に発生するものであり、また、本実施例ではシーンチェンジ等によっても発生するものである。
このようなことから、当該圧縮方法選択回路３２では、上記画像情報評価回路５０からの画像情報のカウントを行うと共に、上記シーンチェンジ検出回路３１からのシーンチェンジ検出出力が当該圧縮方法選択回路３２に加えられる。これにより当該圧縮方法選択回路３２では、上記画像のカウント値から定期的なフレーム内符号化を選択すると共にシーンチェンジ検出時にもフレーム内符号化を選択（すなわちＧＯＰの間隔を決定する）し、それら以外ではフレーム間予測符号化を選択するようにしている。
【００７１】
この圧縮方法選択回路３２は、上記圧縮方法の選択に応じて前記切換スイッチ１３と２４の切換制御を行うと共に、その選択結果を示す情報を量子化ステップ制御器３９に送る。
量子化ステップ制御器３９は、可変長符号化回路１７からの符号量を示す情報に基づいて量子化器１５の量子化ステップ幅を制御する。また、上記出力バッファ１８から出力されたデータは圧縮符号化がなされた符号化出力として出力端子２から出力される。
【００７２】
また、上記量子化器１５からの出力は、逆量子化器２７によって逆量子化され、さらに逆ＤＣＴ回路２６によって逆ＤＣＴ処理される。当該逆ＤＣＴ回路２６の出力は、加算器２５に送られる。
この加算器２５には、フレーム間予測符号化のフレームのときにオンとなる切換スイッチ２４を介した動き補償器２１からのフレーム間予測画像データも供給され、当該データと上記逆ＤＣＴ回路２６の出力データとの加算が行われる。この加算器２５の出力データは、フレームメモリ２２に一時的に蓄えられた後、動き補償器２１に送られる。
【００７３】
当該動き補償器２１は、上記動き検出器２０によって検出され動きベクトル発生回路３３によって発生された動きベクトルに基づいて動き補償を行い、これによって得たフレーム間予測画像データを出力する。
また、上記量子化ステップ制御器３９は、前記画像情報評価回路５０からの評価値（パラメータ）から画像の情報量、さらにはシーンチェンジのように前後の画像の相関が極めて低くなる所を知ると共に、圧縮方法選択回路３２からの選択結果を示す情報からフレーム内符号化かフレーム間予測符号化のいずれが選択された画像であるかも知ることができる。
【００７４】
したがって、当該量子化ステップ制御器３９においては、出力バッファ１８の残量のみをフィードバックする従来の量子化ステップ制御に比べて、入力画像の急激な情報量変化に追随できることになり、また、画像の情報量の変化に応じて適切な量子化ステップ制御が可能で、さらに、フレーム内符号化／フレーム間予測符号化の圧縮方法に応じて適切な量子化ステップ制御も可能となる。
【００７５】
次に本実施例の各主要構成要素における処理の流れを、図２のフローチャートに沿ってより詳細に説明する。
先ず、ステップＳ１では、入力端子１に入力された画像データが順次フレームメモリ４０へ格納される。
ここで、先に述べたようにＩピクチャの頻度や間隔の決定が画質に影響を及ぼすので、これに関係して符号化に先だってＧＯＰを決めておく必要があり、また、レートコントロール（量子化ステップ制御によるビットレートのコントロール）をするために符号化に先だって１ＧＯＰ分の画像についての情報を収集しなければならない。このように、次々と入力されてくる画像データに対してその間に分析を行い、符号化するまでの十分な遅延時間を稼ぐため、大量のフレームメモリ４０を用いる。
【００７６】
次に、ステップＳ２では、動き検出器２０において、フレーム間予測符号化で圧縮するために必要な動きベクトルを検出する。すなわち、このステップＳ２では、予め定められたスケジュールでフレームメモリ４０中の各画像データをＰピクチャ或いはＢピクチャとして圧縮符号化できるように、動き検出（モーションエスティメーション）を行う。
【００７７】
ここで、動き検出を行う画像については、Ｉピクチャを規定しない。それはどの画像データがＩピクチャになるのかこの時点では確定していないからであり、またＩピクチャは動き補償を必要としないため、後にどの画像データでもＩピクチャにすることが可能だからである。
上記画像情報評価回路５０は、上記動き検出をする際に用いられる最小歪み（Minimum Distortion）或いは誤差の絶対値和（ＡＤ：Absolute Difference ）と呼ばれるものを符号化に用いるパラメータの一つ（第２のパラメータ）として読み出し格納する。
【００７８】
なお、上記誤差の絶対値和（ＡＤ）は、リファレンス側の画像を８×８ピクセルのブロックに分割し、輝度データ８×８×４ピクセルと色差データ８×８×２ピクセルのマクロブロック（ＭＢ）に対し、動き検出を行なった際に求めた動きベクトルで切りだされるサーチ側のマクロブロックとの各画素同士の差の絶対値和で、以下の式(1) で求めることができる。
【００７９】
【数１】
0003711573.tif 000003
これをさらにマクロブロック内のブロックについて集計したものを用いてマクロブロックの誤差の絶対値和（ＡＤ）とする。
このパラメータはシーンチェンジの判定やフレーム間予測符号化で圧縮する場合の画像の相関も考慮した情報量の推定に用いるものである。
【００８０】
このパラメータはまた、後述するようにマクロブロックタイプを決定するために使われる。
画像の情報量を推定するパラメータＳＡＤは、式(2) のように、一つの画像内の上記誤差の絶対値和（ＡＤ）を合計したものである。
ＳＡＤ＝ΣＡＤ                        (2)
もちろん、上記誤差の絶対値和（ＡＤ）以外に最小歪み（Minimum Distortion）を用いてもよい。
【００８１】
次に、画像情報評価回路５０では、ステップＳ３のように、上記動き検出で得られたパラメータ以外に、誤差の平均絶対値和（ＭＡＤ：Mean Absolute Difference）、アクティビティ（Activity）を各画像毎に評価する。
上記誤差の平均絶対値和（ＭＡＤ）はＩピクチャの情報量を推定するためのパラメータで、下記の式(3) によって８×８画素のブロック毎に求め、必要に応じてマクロブロック或いは画面で集計を行う。このパラメータはまた、マクロブロックタイプを決定するために使われる。
【００８２】
【数２】
0003711573.tif 000004
これをさらに、式(4) のように、マクロブロック内のブロックについて合計したものを用いてマクロブロックの判定に用いる。
ＭＡＤ＝Σ blockＭＡＤ    (4)
またさらに、式(5) のように、マクロブロックの値を一つの画像内で合計してその値を、その画像の（Ｉピクチャとしての）情報量を表すパラメータＳＭＡＤとする。
【００８３】
ＳＭＡＤ＝ΣＭＡＤ        (5)
また、上記アクティビティは、一つの画面の中でそのマクロブロックの画像の状態に応じてよりきめ細かに量子化ステップを制御することによって画質を維持しながらより圧縮効率を高めるために、その画像の状態を定量化するためのパラメータである。
【００８４】
例えば一つのブロック内で画像が画素のレベル変化の少ない平坦な部分では量子化による歪みが目立ち易く、量子化ステップを小さくしてやるべきで、逆にレベル変化が多い複雑なパターンのブロックでは量子化歪みは目立ち難く、情報量も多いので量子化ステップを大きくするべきである。
そこで、例えばブロックの平坦度を表すパラメータをこのアクティビティとして用いるようにしている。
【００８５】
次に、圧縮方法選択回路３２においては、ステップＳ４においてマクロブロックタイプの判定を行う。すなわち、圧縮方法選択回路３２では、当該ステップＳ４においてマクロブロック毎の圧縮方法とマクロブロックタイプとを決める。
前述のように既に求めた上記誤差の平均絶対値和（ＭＡＤ）と誤差の絶対値和（ＡＤ）は、それぞれフレーム内符号化／フレーム間予測符号化で圧縮したときの圧縮後のデータ量に関係するので、この２つのパラメータを比較すればフレーム内符号化／フレーム間予測符号化のどちらのマクロブロックタイプがより少ないデータ量になるか判定できる。
【００８６】
次に、ステップＳ５では、上記シーンチェンジ検出回路３１でシーンチェンジの検出を行う。このシーンチェンジ検出回路３１でのシーンチェンジ検出は、上記画像情報評価回路５０で得られたパラメータＡＤを使ってなされる。具体的には、上記パラメータＡＤを１画面分合計した上記パラメータＳＡＤを使い、その変化の割合で上記シーンチェンジを検出する。
【００８７】
次に、圧縮方法選択回路３２においては、ステップＳ６でＧＯＰ長の決定を行い、ステップＳ７で圧縮方法の選択（ピクチャタイプの決定）を行う。
ここでは、すでに述べたように、符号化に際してランダムアクセス性を考慮して適当なフレーム数毎にＧＯＰを区切る。このとき少なくともＧＯＰの符号順で最初のピクチャはＩピクチャでなければならないから、ピクチャの数をカウントし定期的にピクチャタイプをＩピクチャにする。
【００８８】
一方、前記シーンチェンジによって前後のピクチャで相関が低くなった場合、これも先に述べたようにＩピクチャで圧縮符号化すると効率が良い。しかしながら、Ｉピクチャは圧縮率が低いため、低ビットレートにおいては頻繁に現れると画質の低下を招く。したがってシーンチェンジ検出回路３１によってシーンチェンジが検出された場合、圧縮方法選択回路３２は、Ｉピクチャ同士の間隔を適度に保つよう適応的にＧＯＰの長さを決める。
【００８９】
次のステップＳ８では、量子化ステップ制御器３９において、レートコントロールのためのビット配分を行う。
各ピクチャ毎の圧縮符号化された後のデータサイズは、その符号化方式や元々の画像データが持つ情報量、前後の相関などによって大きく変動する。平均的な画質を保つようにするならばことさらである。
【００９０】
各ピクチャ毎の圧縮符号化された後のデータサイズのむらは出力バッファ１８によってある程度吸収されるが、平均的には一定のビットレートにしなければならない。したがって、ある区間を定めればその間のピクチャのトータルの圧縮後のデータ量が決まる。そこで、既に決定しているピクチャタイプと、予め調べておいた画像の情報量パラメータとを用いて各ピクチャ毎に圧縮後のデータ量、すなわち各ピクチャが使用可能なビットの量を決める。
【００９１】
このとき、例えば情報量の少ない画像やＢピクチャには少なく、情報量の多い画像やＩピクチャには多くする。これをビット配分と呼ぶ。これによって画質のばらつきを抑え、なおかつ一定レートに保つことが容易になる。
本実施例ではＧＯＰをビット配分の区間として、次の式(6) ，式(7) のようにビット配分を行う。
Total Bit Count ＝（Bit Rate [bit/s]× Number Of Picture In GOP [picture])／（Picture Rate [picture/s]）   [bit]                (6)
Available Bits＝（Total Bit Count ×ターゲットの画像情報量パラメータ）／画像情報量パラメータのＧＯＰ合計値）  [bit]             (7)
なお、この式(7) で使用している情報量パラメータは、先に述べたパラメータＳＭＡＤ，ＳＡＤを用い、これに圧縮するピクチャタイプ別の乗数をかけたものである。また、上記乗数は各ピクチャタイプ間のパラメータと画質との関係を調整するものである。
【００９２】
なお、上記式(7) の上記画像情報量パラメータのＧＯＰ合計値は、式(8) に示すようにして求める。
画像情報量パラメータのGOP 合計値＝Ki×ΣDiffi+Kp×ΣDiffp+Kb×ΣDiffb
Diffp:Ｐピクチャの難易度
Diffb:Ｂピクチャの難易度              (8)
上記量子化ステップ制御器３９においては、次のステップＳ９で基本量子化ステップの決定を行う。
【００９３】
すなわち、上述のようにしてピクチャタイプが決まり、マクロブロックタイプが決まれば、マクロブロックタイプに応じて１画面分の上記誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）を集計することで、１画面の情報量パラメータ（すなわち難易度）が測定できる。したがって、過去の実績から、情報量パラメータと量子化後のデータ量が決まれば量子化ステップを推定することができる。
【００９４】
本実施例の量子化ステップ制御器３９は、１画面毎の割当ビット量(allocated＿bit)と上記難易度(difficulty)とから、以下の方法により一画面の基本の量子化スケール(Q＿scale)を決めるようにしている。
先ず、式(9) に示すように、
log(allocated＿bit/difficulty) ＝A*log(Q ＿scale)+B         (9)
という関係があると仮定し、上記式(9) 中のＡ，Ｂを予め学習（実験）により求めておく。さらに、上記式(9) を変形した式(10)から、上記量子化スケール(Q＿scale)を求める。
【００９５】
Q＿scale ＝exp((log(allocated＿bit/difficulty)-B)/A)        (10)
このようにして求めた量子化ステップをそのピクチャの基本量子化ステップとする。
次に、量子化ステップ制御器３９は、ステップＳ１０において画面内の量子化ステップの制御を行う。
【００９６】
本実施例の量子化ステップ制御器３９は、先に述べたように画面内の量子化ステップを各ブロック毎に、なるべく画質を高く、しかも圧縮効率を高くするように制御する。すなわち、量子化ステップ制御器３９では、上記アクティビティやマクロブロックタイプなどの情報をもとに基本量子化ステップを加減することで量子化器１５に対する量子化ステップの制御を行う。
【００９７】
ここで、上記マクロブロック毎の量子化ステップを決定する機構は、２段階の手順で構成する。
先ず、量子化ステップ制御器３９は、前記画像情報評価回路５０からのマクロブロック毎の上記誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）、動きベクトル、アクティビティ等の情報から、それぞれの中央値、平均値を計算する。すなわち、人間の視覚上の特性と圧縮上の特性から、上記誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）、動きベクトル、アクティビティのパラメータの表す特性を組み合わせて考えられる条件を基に評価値を正規化する。
【００９８】
ここで、例えば、上記視覚上の特性として、
１．目が追随できるくらいの動きの時は画質劣化を認識できるが、動きの量がある範囲を越え、早く動くと画質劣化を認識できないこと、
２．概念として形のモデルがあるものは画質劣化に敏感であるが、モデルにないものは鈍感であることが挙げられる。
【００９９】
また、圧縮上の特性として、
ａ．空間的に滑らかに変化する部分の量子化誤差は画質劣化として目立つが、変化量が多い部分の多少の量子化誤差は目立ちにくいこと、
ｂ．物と物との境界があり境界の両側が滑らかな部分の量子化誤差は目立つが、境界の両側の変化量が多い場合は目立ちにくいことが挙げられる。
【０１００】
このように、それぞれに特性があるわけであるが、その特性の条件、例えば上記ａ．の条件では、「空間的に滑らかに変化する部分」という条件を、マクロブロック毎の誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）、動きベクトル、アクティビティ等のパラメータを組み合わせて表し、その状態になったときに、評価値( ポイント:point）を高くし、そうでないときに低くなるように正規化する。上記ａ．の条件を表すパラメータとしては、上記誤差の平均絶対値和（ＭＡＤ）がマクロブロック内の凸凹さを表すので、当該誤差の平均絶対値和（ＭＡＤ）の値の大小によって判断することができる。
【０１０１】
実際にはマクロブロックタイプ決定時にそれぞれのマクロブロックに対し上記誤差の平均絶対値和（ＭＡＤ）の分布や誤差の絶対値和（ＡＤ）の分布、動きベクトル発生回路３３から得られる動きベクトルの分布に応じて、評価値を正規化する。
すなわち例えば、評価値の平均を５０、最大値を１００として評価値を正規化する。この評価値の正規化方法については、後述する図３，図４，図５に示す評価値正規化のフローチャートのような処理による。
【０１０２】
次に、量子化ステップ制御器３９は、上記基本量子化ステップから、マクロブロック毎の正規化した評価値に応じて量子化ステップを決定する。すなわち、基本量子化ステップに応じて、評価値の中央値、マクロブロック毎の量子化ステップの振幅を制御する。これにより、１画面に与えた割当ビット量に対しあまりに多く使い込むことが起きないように制御している。当該マクロブロックの量子化ステップ決定方法については、後述する図６に示す量子化ステップ決定のフローチャートのような処理による。
【０１０３】
次のステップＳ１１では、可変長符号化回路１７において符号化を行う。
ここまでで圧縮符号化の全てのパラメータが決まっているので、これ以後は、ＭＰＥＧの規則にしたがって圧縮符号化する。
最後に、ステップＳ１２では、前述した各パラメータの更新を行う。
ここで、画像情報量と基本量子化ステップ、圧縮後のデータ量の関係は、圧縮する画像に依存する。したがって、その関係を表す式に用いるパラメータ、予測パラメータを圧縮後の実際のデータ量をフィードバックしてやることにより学習させ、予測の精度を向上させている。
【０１０４】
このとき、先ず、ピクチャタイプ毎に学習パラメータＡ，Ｂを以下の方法により、学習し、修正する。
例えば、マクロブロック毎の量子化スケール(Q-scale) の平均値を(average＿Q)とし、１画面圧縮した後の発生量を(generated bit) とすると、式(11)に示すように、
x = log(average＿Q),  y = log(generated bit/ difficulty)    (11)
となり、ＡとＢのパラメータを最小２乗誤差法で以下の式(12)、式(13)のようにして求める事ができる。なお、式中ｎは標本数である。
0003711573.tif 000005
次に図３のフローチャートについて説明する。
【０１０５】
この図３において、ステップＳ３１では、１画面分の誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）、フラットネス（平坦度）、動きベクトルを集計し、マクロブロックタイプを決定する。
次のステップＳ３２では、１画面分の誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）、動きベクトルの平均値、中央値の集計を行い、ステップＳ３３では、上記誤差の平均絶対値和（ＭＡＤ）、誤差の絶対値和（ＡＤ）の平均値、中央値から初期値としてイントラセンタ（intra ＿center) とインターセンタ(inter＿center) を計算して設定する。ここでは、平均値、中央値の大きい方をセンタとする。
【０１０６】
次のステップＳ３４ではフレーム内符号化されるマクロブロック（イントラマクロブロック）か否かの判定を行う。このステップＳ３４において、イントラマクロブロックであると判定した場合にはステップＳ３５に進み、イントラマクロブロックでない（ノンイントラマクロブロック）と判定した場合にはステップＳ３５に進む。ステップＳ３５ではノンイントラマクロブロック用の処理を行い評価値を決定し、ステップＳ３６ではイントラマクロブロック用の処理を行い評価値を決定する。
【０１０７】
次のステップＳ３７ではフラットネスを加算し、ステップＳ３８では評価値の正規化，規格化を行う。例えば、評価値が規格として定めた最大１００で最小０、中央分布状態が５０近辺になっているかどうかをチェックして修正する。
次のステップＳ３９では、１画面分のマクロブロックの処理が終了したか否かの判定を行い、処理途中であると判断したときはステップＳ３４に戻り、処理が終わったと判断した場合は全体の処理を終了する。
【０１０８】
次に図４のフローチャートには、図３のステップＳ３６におけるイントラマクロブロックの評価値決定処理の一例を示している。
この図４において、ステップＳ４１では、誤差の平均絶対値和（ＭＡＤ）の値により、フラットか凸凹があるか否かを判断する。すなわち、マクロブロックの誤差の平均絶対値和（MB＿MAD)がイントラセンタ(intra＿center) より大きいか否かによって、フラットか凸凹があるかを判断する。
【０１０９】
このステップＳ４１においてフラットであると判断した場合にはステップＳ４３に、凸凹があると判断した場合にはステップＳ４２に進む。
ステップＳ４２では、MB＿POINT=0 、sabun=MB＿MAD とし、その次のステップＳ４４では、誤差の平均絶対値和（ＭＡＤ）の値により、複雑な凸凹であるかどうかを判定する。ステップＳ４４で複雑な凸凹であると判定した場合にはステップＳ４５に進み、ここで評価値ポイントを少なくし、その後ステップＳ４８に進む。また、ステップＳ４４で複雑でないと判断した場合にはステップＳ４８に進む。このステップＳ４８では、評価値ポイントを与え、PLUS＿MAD の値により重み付けを与える。
【０１１０】
また、ステップＳ４１において、フラットであると判断した場合のステップＳ４３に進む。
このステップＳ４１では、MB＿POINT=0 とし、その次のステップＳ４６では、動きベクトルが小さいか否かの判定を行う。このステップＳ４６で、動きベクトルがとても小さいと判定した場合には、ステップＳ４７に進み、動きが少なくフラットであるのでポイントを与え、その後ステップＳ４９に進む。また、ステップＳ４６で小さくないと判定した場合は、ステップＳ４９に進む。このステップＳ４９では、誤差の平均絶対値和（ＭＡＤ）の値によるポイントの勾配を、MINUS ＿MAD の値により与える。
【０１１１】
次に図５のフローチャートには、図３のステップＳ３５におけるノンイントラマクロブロックの評価値決定処理の一例を示している。
この図５において、ステップＳ５１では、動きベクトルの値により、ポイントを与える。次のステップＳ５２では、誤差の絶対値和（ＡＤ）の値により、変化具合を判定する。このステップＳ５２において、変化が小さいと判定した場合はステップＳ５３に進み、変化が大きいと判定した場合はステップＳ５５に進む。
【０１１２】
ステップＳ５５では、誤差の絶対値和（ＡＤ）の値によるポイントの勾配を、PLUS＿MAD の値により与える。
また、ステップＳ５３では、動きベクトルが非常に小さいか否かの判定を行い、小さいと判定した場合のステップＳ５４では、変化が少ないので細かい差分が表現できるようにポイントを与える。一方、ステップＳ５３で変化が小さくないと判定した場合は、誤差の絶対値和（ＡＤ）の値によるポイントの勾配をMINUS ＿MAD の値により与える。
【０１１３】
上記ステップＳ５５，ステップＳ５６では、PLUS＿MAD 、MINUS ＿MAD の値により勾配を変化させ、ポイントの値を適正な値にする。
次に図６には、前記量子化ステップ決定のフローチャートを示している。
この図６において、ステップＳ６１では基本量子化スケール（ベースQ ＿scale)の値が３より小さいか否か、ステップＳ６２では基本量子化ステップの値が５より小さいか否か、ステップＳ６３では基本量子化ステップの値が１０より小さいか否か、ステップＳ６４では基本量子化ステップの値が１５より小さいか否かをそれぞれ順に判定していく。これらステップＳ６１〜Ｓ６３において、それぞれ小さいと判定した場合にはそれぞれ対応するステップＳ６６〜Ｓ６９に進み、最後のステップＳ６４で大きいと判定した場合にはステップＳ６５に進む。これらステップＳ６５〜Ｓ６９では、それぞれ対応する基本量子化ステップの値に基にして、決定時の評価値の中央値と、量子化ステップの振幅とを求め、その後ステップＳ７０でマクロブロック毎の量子化ステップを制御し、ステップＳ７１でマクロブロック毎の量子化ステップをクリップする。
【０１１４】
次に、図７には、基本量子化スケール（ベースQ ＿scale)とマクロブロック毎の量子化スケール(Q＿scale)の関係を示す。
すなわち、この図７において、本実施例では、基本量子化スケール（ベースQ ＿scale)に応じて、マクロブロック毎の量子化スケール(Q＿scale)の値域を制御する。マクロブロック毎の評価値に応じて、基本量子化スケール（ベースQ ＿scale)からマクロブロック毎の量子化スケール(Q＿scale)が決定される。
【０１１５】
また、図８には、中心得点の量子化スケール(Q＿scale)の変動幅の関係を示している。すなわち、基本量子化スケール（ベースQ ＿scale)の値に応じてマクロブロック毎の量子化スケール(Q＿scale)を決定する際のマクロブロック毎の評価値の中央値＝中心得点と、マクロブロック毎の量子化スケール(Q＿scale)の変動幅を示す図である。
【０１１６】
この図８において、中心得点というのは、マクロブロック毎の評価値を得点で表したときの中心となる得点のことで、基本量子化スケール（ベースQ ＿scale)の値により制御する。これを概念的に式(15)で表すと、
MB ＿Q ＿scale = ((中心得点−MB毎の評価値）＊変動幅／（評価値の正規化値))＋ベースQ ＿scale                                 (15)
となる。なお、評価値の正規化値は例えば１００である。
【０１１７】
上述したように、本実施例装置においては、フレームメモリ４０内の入力画像データの情報量を画像情報評価回路５０で評価し、さらにシーンチェンジ検出回路３１で画像間の相関等を調べ、それら画像についての情報によって圧縮方法選択回路３２で適応的に圧縮方法を決定した後、量子化ステップ制御器３９において、入力画像の圧縮に際しての難易度（情報量）を入力画像フレーム内の情報量と入力画像フレーム間の相関情報量とを集計、推定し、過去の実績値により基本量子化スケールを推定するようにしている。したがって、画面内で量子化ステップの制御がマクロブロック毎の圧縮する上の特性や視覚上の特性を考慮した評価値から決定でき、なおかつ、データ発生量も適切に制御されるため、画面毎にビットの使い込みや余りが発生せず、平均化した画質を維持できる。
【０１１８】
また、本実施例装置では、画面内のマクロブロック毎の難易度（人間の視覚）を、入力画像フレーム内の情報量や入力画像フレーム間の相関情報量やアクティビティから判定し、正規化した評価値を決定している。すなわち、圧縮に際しての難易度に応じて画面内でビット配分が行われることになるため、量子化ステップを精度良く予測でき、無駄なくビットが使われ、画面内で不均質が検出し難く、画質劣化が検出され難い圧縮画像を得ることが可能となる。
【０１１９】
さらに、本実施例装置では、基本量子化ステップの値によって、量子化ステップの振幅と正規化した評価値の中央値を変化させて、圧縮後のデータ量が割当られたデータ量に近くなるようにマクロブロック毎の量子化ステップを制御している。すなわち、基本量子化ステップは決定しなくても、画面内の正規化した評価値は独立に決定できるようになり、なおかつ、画質面からの評価値を盛り込み易くなっている。
【０１２０】
またさらに、本実施例装置では、量子化ステップ制御器３９で基本量子化ステップを決定するので、基本量子化ステップと独立に評価値を決定できるようになっている。
【０１２１】
【発明の効果】
本発明の画像符号化装置においては、入力画像データを複数枚蓄積し、蓄積された複数枚の画像データをそれぞれブロックに分割して各ブロック毎の画像データの情報量を評価し、そのブロック毎の情報量の評価値に基づいて、適応的に画像データの圧縮方法を選択した後、ブロック毎の情報量の評価値を基本量子化ステップを規準にして正規化し、この正規化した評価値によってブロック毎の量子化ステップを予測することにより、画質向上とデータ発生量制御を共に満足することができ、効率の良い画像圧縮が可能で、全体的に画質を向上させることが可能となっている。
【図面の簡単な説明】
【図１】本発明実施例の画像符号化装置の概略構成を示すブロック回路図である。
【図２】本実施例装置の動作を示すフローチャートである。
【図３】１画面分の評価値正規化のフローチャートである。
【図４】イントラマクロブロックの評価値決定のフローチャートである。
【図５】ノンイントラマクロブロックの評価値決定のフローチャートである。
【図６】量子化ステップ決定のフローチャートである。
【図７】基本量子化ステップとマクロブロック毎の量子化ステップの関係を示す図である。
【図８】中心得点と量子化ステップの変動幅の関係を示す図である。
【図９】従来の画像符号化装置の概略構成を示すブロック回路図である。
【図１０】画像の解像度と構成について説明するための図である。
【図１１】マクロブロックとブロックについて説明するための図である。
【図１２】ジグザグスキャンについて説明するための図である。
【図１３】ＧＯＰについて説明するための図である。
【符号の説明】
２２，４０  フレームメモリ
１１  ブロック分割器
１２  差分器
１３，２４  スイッチ
１４  ＤＣＴ回路
１５  量子化器
１６  ジグザグスキャン回路
１７  可変長符号化回路
１８  出力バッファ
３９  量子化ステップ制御器
２０  動き検出器
２１  動き補償器
２５  加算器
２６  逆ＤＣＴ回路
２７  逆量子化器
３１  シーンチェンジ検出回路
３２  圧縮方法選択回路
３３  動きベクトル発生回路
５０  画像情報評価回路
【図１】
0003711573.tif 000006
【図２】
0003711573.tif 000007
【図３】
0003711573.tif 000008
【図４】
0003711573.tif 000009
【図５】
0003711573.tif 000010
【図６】
0003711573.tif 000011
【図７】
0003711573.tif 000012
【図８】
0003711573.tif 000013
【図９】
0003711573.tif 000014
【図１０】
0003711573.tif 000015
【図１１】
0003711573.tif 000016
【図１２】
0003711573.tif 000017
【図１３】
0003711573.tif 000018