(57)【要約】【課題】  多様な画像に対して良好な符号量制御を実現する。【解決手段】  縮小画像生成部３２は、フレーム並び替え部１２によって並べ替えられたフレーム画像から縮小画像を生成する。ブロック化部３４は、ブロック化部３４は、ブロック化部１４で生成されるマクロブロックに画面上で対応するマクロブロックを縮小画像に対して生成する。動き検出部３６は、縮小画像データからマクロブロック毎の動きベクトルを検出する。動き検出部３６は、ブロック化部３４によるマクロブロック単位でピクチャタイプに従い動き予測の予測誤差を算出する。符号量制御部４２は、符号化対象ピクチャの目標符号量と、動き検出部３６からのマクロブロック毎の予測誤差から、マクロブロック毎の目標符号量を決定する。決定したマクロブロック毎の目標符号量に発生符号量が近づくように、量子化部２０の量子化パラメータを制御する。【選択図】  図１
2010166275.tif 000002
【特許請求の範囲】
【請求項１】
一画面を構成する複数のブロックの各ブロックを単位として画像データを予測符号化する符号化手段と、
前記画像データの縮小画像の画像データを生成する縮小画像生成手段と、
前記縮小画像を使って、前記ブロックの単位で予測符号化の予測誤差を算出する予測誤差算出手段と、
前記予測誤差を参照して前記ブロック単位の目標符号量を決定し、前記符号化手段の発生符号量を制御する符号量制御手段
とを具備することを特徴とする画像符号化装置。
【請求項２】
前記予測誤差算出手段は、前記縮小画像の、前記ブロックに対応する画素ブロックに対し、符号化対象画像と参照画像との間の動き予測誤差、又は、符号化対象画像内の動き予測誤差を求め、前記動き予測誤差を直交変換した値から前記予測誤差を算出することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記予測誤差算出手段は、前記縮小画像の、前記ブロックに対応する画素ブロックに対し、符号化対象画像と参照画像との間の動き予測誤差、又は、符号化対象画像内の動き予測誤差を求め、前記動き予測誤差を直交変換し量子化した値から前記予測誤差を算出することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記符号量制御手段は、前記ブロック内の前記予測誤差の係数分布を用いて前記目標符号量を決定することを特徴とする請求項１乃至３の何れか１項に記載の画像符号化装置。
【請求項５】
更に、前記縮小画像を使って、前記ブロックの単位で分散値を算出する分散値手段を具備し、
前記符号量制御手段は、前記予測誤差を前記分散値で分類して、前記目標符号量を決定することを特徴とする請求項１乃至３の何れか１項に記載の画像符号化装置。
【請求項６】
前記符号量制御手段は、１つの画像を複数に分割した領域ごとに前記目標符号量を決定することを特徴とする請求項１乃至５の何れか１項に記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを符号化する画像符号化装置に関する。
【背景技術】
【０００２】
近年、動画像圧縮符号化方式として、ＭＰＥＧ-２（Moving Picture Experts Group phase2）やＨ．２６４／ＡＶＣ（Advanced Video Coding）が知られている。このような動画像圧縮符号化方式では、ブロック符号化方式に、動き補償予測、直交変換、量子化及びエントロピー符号化等の符号化方式が組み合わせて適用される。すなわち、１フレームまたは１フィールドの各画面をマクロブロックと呼ばれる、所定画素数からなる領域に分割し、このマクロブロックを単位にして、画像データを符号化する。
【０００３】
これらの動画像圧縮符号化方式では更に、予測の有無と予測方向によるＩピクチャ、Ｐピクチャ及びＢピクチャを混在することで、圧縮効率を高めている。Ｉピクチャは、他のフレーム（又はフィールド、以下同じ）を参照することなしに同じフレーム内の画像データを符号化するピクチャタイプである。Ｐピクチャは、前フレームの画像データ（予測値）からの残差を符号化するピクチャタイプである。Ｂピクチャは、前フレームと後フレームの両方からの予測値からの残差を符号化するピクチャタイプである。
【０００４】
これらの圧縮符号化方式で用いられる符号量制御として、ＭＰＥＧ-２  Ｔｅｓｔ  Ｍｏｄｅｌ  ５方式（以下、ＴＭ５）が知られている。ＴＭ５では、符号化終了後に、Ｉ、Ｐ及びＢのピクチャタイプごとに画像の複雑さ指標を発生符号量と平均量子化スケールから求め、次に符号化するピクチャの発生符号量を予測し、その符号量を制御する。具体的には、３ステップからなり、第１ステップでは、各ピクチャへの符号量割り当てを行う。第２ステップで、仮想バッファを用いてピクチャ内の各マクロブロックへの量子化パラメータを決定する。第３ステップで、ピクチャ内の視覚特性を考慮して各マクロブロックの量子化パラメータに重み付けを行う。
【０００５】
縮小画像による動き検出を先行し、その動き検出結果から得られる統計量をもとに符号量を予測し、符号量制御を行う技術が知られている（特許文献１）。
【０００６】
縮小画像を用いつつ、Ｉピクチャに対しては符号化対象画像の分散値から符号量を予測し、Ｐ及びＢピクチャに対しては動き探索の予測誤差から符号量を予測する符号量制御技術も知られている（特許文献２）。
【０００７】
特許文献３には次のような符号量制御技術が記載されている。すなわち、縮小画像を用いずに、Ｉピクチャに対しては過去に符号化されたＩピクチャから符号量を予測し、Ｐ及びＢピクチャに対しては予測誤差から符号量を予測する。そして、予測された各符号量に対して画面内の絵柄の複雑さを表すアクティビティを参照して、符号量を制御する。
【特許文献１】特開平１１−２９８９０４号公報
【特許文献２】特開２００２−２４７５８４号公報
【特許文献３】特開２００７−３１８６１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の技術では、符号量を正確に予測することができなかった。すなわち、ＴＭ５では、結局のところ、過去のピクチャ情報をもとに発生符号量を予測しているので、前のピクチャと絵柄が大きく変化する場合には予測が大きく外れてしまう。さらに、第２ステップと第３ステップの処理が相反して動作する場合がある。例えば、第２ステップで符号化マクロブロックの符号量が多く発生した場合には、次に符号化するマクロブロックにおいて発生符号量を抑えようと量子化ステップが大きくなる方向に働く。その時、第３ステップで処理されたマクロブロックのアクティビティが小さい場合には、第２ステップの結果に抗して、量子化ステップが小さくなる方向に働く。このように、第２ステップと第３ステップの処理が相反する制御になってしまい、予測した符号量とは異なる結果になってしまう。
【０００９】
特許文献１に記載の方式では、縮小画像の動き検出情報だけでは予測誤差が大きく、マクロブロック単位でみると、予測が大きく外れてしまうマクロブロックが存在してしまう。その結果、予測と実際が異なり、最適な符号量制御ができない。さらに、ピクチャタイプによっては、インター符号化とイントラ符号化の違いがあることにより、予測が大きく外れてしまう。
【００１０】
特許文献２に記載の方式は、特許文献１の方式を改善した方式であるが、依然として、縮小画像の動き検出情報だけでは予測誤差が大きい。この結果、マクロブロック単位でみると、予測が大きく外れてしまうマクロブロックが存在してしまう。従って、時に予測と実際が異なり、最適な符号量制御が得られない。
【００１１】
特許文献３に記載の方式では、絵柄の難易度を示すアクティビティをも参照しているが、シーンが大きく変わるような画像では、予測が大きく外れてしまい最適な符号量制御ができないという問題がある。さらに、予測後、アクティビティによって量子化パラメータを制御するので、予測と実際の制御が相反するという問題もある。
【００１２】
本発明は、この様な問題を解決し、従来よりも広い範囲で良好な符号量制御を実現できる画像符号化装置を提示することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明に係る画像符号化装置は、一画面を構成する複数のブロックの各ブロックを単位として画像データを予測符号化する符号化手段と、前記画像データの縮小画像の画像データを生成する縮小画像生成手段と、前記縮小画像を使って、前記ブロックの単位で予測符号化の予測誤差を算出する予測誤差算出手段と、前記予測誤差を参照して前記ブロック単位の目標符号量を決定し、前記符号化手段の発生符号量を制御する符号量制御手段とを具備することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、縮小画像を使いつつ、発生符号量をブロック単位予測することで、適切な符号量制御を実現する。これにより、画質が向上する。また、縮小画像を使って発生符号量を予測することで、１パス制御とほぼ同等のハードウェア規模で高精度の符号量予測が可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１６】
図１は、本発明に係る画像符号化装置の一実施例の概略構成ブロック図を示す。図１に示す画像符号化装置１０は、一画面を構成する複数の画素ブロックの各ブロックを単位として画像データを符号化するブロック符号化と動き補償予測符号化を併用する。画像符号化装置１０のフレーム並び替え部１２に、図示しない映像ソース、例えばビデオカメラの撮像部から所定フレームレートの画像信号が入力する。フレーム並び替え部１２は、入力画像データを符号化ピクチャタイプに応じフレーム順序に並び替える。ブロック化部１４は、フレーム並べ替え部１２により並び替えられた各フレームを、所定数の画素から構成されるマクロブロックとよばれる単位に行列状に分割する。マクロブロックは、符号化方式によるが、例えば，１６画素×１６画素、８画素×８画素、又は４画素×４画素等からなる。
【００１７】
減算器１６は、ブロック化部１４の出力画像データから後述する予測画像データを減算し、その差値を画像残差データとして直交変換部１８に出力する。直交変換部１８は、減算器１６からの画像残差データを直交変換し、変換係数データを量子化部２０に出力する。直交変換には、離散コサイン変換及びウエーブレット変換等がある。量子化部２０は、直交変換部１８からの変換係数データ（離散コサイン変換の場合はＤＣＴ係数データ）を符号量制御部４２により指定される量子化パラメータに従い量子化する。量子化部２０は、得られた量子化変換係数データを、局所復号化のために逆量子化部２２に供給し、伝送用にエントロピー符号化部３８に供給する。
【００１８】
逆量子化部２２は、量子化部２０で量子化された変換係数データを逆量子化する。逆直交変換部２４は、逆量子化部２２で逆量子化された変換係数データを逆直交変換する。逆直交変換部２４の出力データは局所復号化された画像残差データであり、減算器１６の出力データに相当する。加算器２６は、逆直交変換部２４の出力データに予測画像データを加算する。加算器２６の出力データは、局所復号化された画像データである。フレームメモリ２８は、加算器２６から出力される局所復号化された画像データを所定フレーム数分記憶する。
【００１９】
動き検出補償部３０は、符号化対象画像と予測符号化の参照画像（予測参照画像）との間で動き補償予測符号化のための動きベクトルを検出する。フレーム間予測符号化の場合には、動き検出補償部３０は、ブロック化部１４からの符号化対象画像の画像データに対し、フレームメモリ２８に格納される予測参照画像の画像データを走査してマクロブロック単位の動きベクトルを検出する。フレーム内予測符号化の場合には、動き検出補償部３０は、符号化対象画像の画像データに対し、符号化対象画像内で走査してマクロブロック単位の動きベクトルを検出する。詳細は後述するが、動きベクトルの検出の際に、後述する動き検出部３６からの動きベクトル情報を参照して、検索対象範囲を制限する。そして、動き検出補償部３０は、検出した動きベクトル情報に基づいて予測処理を行い、予測画像データを生成する。生成された予測画像データは、減算器１６及び加算器２６に供給される。
【００２０】
縮小画像生成部３２は、フレーム並び替え部１２によって並べ替えられたフレーム画像から画素を間引いて縮小画像を生成する。複数の画素の平均を１画素の画素値とする方法で縮小画像を生成してもよい。ブロック化部３４は、縮小画像生成部３２で生成された縮小画像を、ブロック化部１４のブロック化に対応した画面位置でブロック化する。すなわち、ブロック化部３４は、ブロック化部１４で生成されるマクロブロックに画面上で対応するマクロブロック（但し、縮小画像生成部３２での間引きに応じて画素数が少ない）を生成する。
【００２１】
動き検出部３６は、縮小画像を使い、ピクチャタイプに従い画像の動きを探索し、動きベクトルを決定する。フレーム内予測符号化の場合には同一フレーム内の縮小画像データからマクロブロック毎の動きベクトルを検出する。フレーム間予測符号化の場合、フレームメモリ２８の予測参照画像データと、ブロック化部３４からの縮小画像データとからマクロブロック毎の動きベクトルを検出する。このように動き検出部３６で検出されたマクロブロック毎の動きベクトル値は、動き検出補償部３０に供給される。動き検出補償部３０は、動き検出部３６からの動きベクトル値を参考にして限定された範囲で、符号化対象画像と予測符号化の参照画像との間で動きベクトルを検出する。これにより、動き検出補償部３０は、動きベクトルの検出範囲を制限でき、少ない演算量で効率的に動きベクトルの検出が可能となる。
【００２２】
動きベクトル検出部３６は、動きを探索する過程で、想定される動きベクトル値に対する予測誤差を算出し、その予測誤差が最も小さい方向と距離を動きベクトルとして決定する。動き検出部３６は、決定した動きベクトルに対するマクロブロック単位の予測誤差を符号量制御部４２に供給する。予測誤差は、符号化対象画像と、動き補償した参照画像（予測画像）との間の誤差をマクロブロック単位で算出したものである。例えば、画素値の差を直交変換した結果（すなわち、直交変換係数データ）を同一マクロブロック内で積算した結果、又は、直交変換係数データを量子化して積算した結果のどちらでもよい。動き予測誤差の具体的な算出方法は、後で詳細に説明する。
【００２３】
エントロピー符号化部３８は、量子化部２０の出力データをエントロピー符号化し、得られた符号化データをストリームバッファ４０に出力する。また、エントロピー符号化部３８は、マクロブロック単位での発生符号量を符号量制御部４２に出力する。符号量制御部４２は、エントロピー符号化部３８からの符号化データの符号量をカウントすることで発生符号量をモニタする。
【００２４】
ストリームバッファ４０は、エントロピー符号化部３８から出力された符号化データを一時的に蓄積し、目標ビットレートに従ったビットレートで出力する。ストリームバッファ４０はさらに、バッファ位置（書込み位置及び／又は読出し位置）を符号量制御部４２に通知する。ストリームバッファ４０のデータ書込み位置とデータ読出し位置、及びバッファ容量から、使用量又は空き容量を算出できる。
【００２５】
図２は、本実施例の符号量制御のフローチャートである。符号量制御部４２は、先に説明した方法で符号化対象ピクチャの目標符号量（ピクチャ目標符号量）を算出する（Ｓ１）。すなわち、符号量制御部４２は、エントロピー符号化部３８で生成されるストリームのビットレートとストリームバッファ４０のバッファ容量に従い、次式を使って、
【数１】
2010166275.tif 000003
各ピクチャタイプに応じたピクチャ目標符号量Ｔｉ，Ｔｐ，Ｔｂを決定する。ストリームバッファ４０のオーバーフロー又はアンダーフローを防止するためである。上式で、Ｋｐ，Ｋｂは量子化マトリクスに依存する恒常な定数であり、通常、Ｋｐ＝１．０、Ｋｂ＝１．４が使われる。ＲはＧＯＰ内で割り当てることができる残りビット数を示す。Ｎｐ，ＮｂはそれぞれＧＯＰ中の残り（未符号化）のＰピクチャ数及びＢピクチャ数を示す。Ｓｉ，Ｓｐ，Ｓｂはそれぞれ、直前のピクチャタイプ毎の発生符号量を示す。Ｑｉ，Ｑｐ，Ｑｂはそれぞれ、直前の同ピクチャタイプの量子化パラメータ平均値を示す。Ｘｉ，Ｘｐ，Ｘｂはピクチャの複雑度（Ｃｏｍｐｌｅｘｉｔｙ）を示す。Ｘｉ＿ｉｎｉｔ，Ｘｐ＿ｉｎｉｔ，Ｘｂ＿ｉｎｉｔは、それぞれ、Ｘｉ，Ｘｐ，Ｘｂの初期値を示す。Ｂｉｔ＿Ｒａｔｅは、エントロピー符号化部３８からストリームバッファ４０に供給されるストリームのビットレートを示す。
【００２６】
動き検出部３６が、予測誤差算出手段として、動き検出の過程でマクロブロック毎の予測誤差（ＳＡＴＤ：Sum of Absolute Transformed Difference）を算出する（Ｓ２）。動き検出部３６による予測誤差の算出は、符号量制御部４２による符号化対象ピクチャのピクチャ目標符号量の算出と同時に実行しても、又はこれに先行して実行しても良い。
【００２７】
ステップＳ２において、具体的には、動き検出部３６は、下記式に従い、予測画像Ｉpreと原画像Ｉorgの差分絶対値和ＳＡＤ（Sum of Absolute Difference）を求める。すなわち、
SAD=Σi,j|Iorg(i,j)-Ipre(i,j)|
SATD=ΣH(i,j)|SAD|
動き検出部３６はさらに、予測モードごとに得られた予測誤差に従い予測誤差が最も小さい予測モードを選択し、選択した予測モードのマクロブロック毎の予測誤差値にアダマール変換等の周波数変換を施す。
【００２８】
動き検出部３６は、ステップＳ２で求めた予測誤差ＳＡＴＤと予測誤差ＳＡＴＤを求める際のマクロブロックの係数分布に従い、各マクロブロックの予測誤差ＳＡＴＤＭＢを帯域ごとに分類する（Ｓ３）。
【００２９】
符号量制御部４２は、次式に従い、ステップＳ２で求めた予測誤差ＳＡＴＤＭＢにステップＳ３で求めた帯域分類毎の重み係数Ｍを乗算したものからマクロブロック毎の目標符号量（マクロブロック目標符号量）ＴＭＢを算出する（Ｓ４）。すなわち、
TMB=T×SATDMB(i,j)M(i,j)/Σ[SATDMB(i,j)×M(i,j)]
ｉ、ｊはマクロブロック位置を表す。Ｔは画面全体の目標符号量である。一般に、周波数帯域が高域になるほど発生符号量が多くなるので、重み係数Ｍは、低域より高域に大きな値を採用する。
【００３０】
結局のところ、ステップＳ３で求めた帯域分類ごとに従い、各マクロブロックの重み係数Ｍ（ｉ，ｊ）を決定する。そして、各マクロブロックの予測誤差ＳＡＴＤＭＢにマクロブロック毎の重み係数Ｍ（ｉ，ｊ）を乗算した結果に比例して、画面全体の目標符号量Ｔを各マクロブロックに配分する。
【００３１】
符号量制御部４２は、ステップＳ４で求めた目標符号量ＴＭＢに対し、発生符号量との差分符号量を求め、当該差分符号量が小さくなるように量子化部２０の量子化パラメータを制御する（Ｓ５）。マクロブロック毎の発生符号量は、エントロピー符号化部３８から得ることができる。
【００３２】
より具体的に説明すると、目標符号量ＴＭＢが発生符号量より多い場合には、発生符号量がより多くなるように、量子化パラメータを細かくする。逆に、目標符号量ＴＭＢが発生符号量より少ない場合には、発生符号量がより少なくなるように、量子化パラメータを粗くする。そのために、符号量制御部４２は、次式に従い量子化パラメータＱｐを算出する。すなわち、
Qp=dj×31/r
di_j=di_init+B_(j-1)-Ti×(i-1)/MB_cnt
dp_j=dp_init+B_(j-1)-Tp×(i-1)/MB_cnt
db_j=db_init+B_(j-1)-Tb×(i-1)/MB_cnt
di_init=10×r/31
dp_init=Kp×di_init
db_init=Kb×di_init
r=2×Bit_Rate/Picture_Rate
ここで、ｄｉ＿ｊ，ｄｐ＿ｊ，ｄｂ＿ｊはピクチャタイプ毎の仮想バッファフルネス（占有量）を示し、ｄｉ＿ｉｎｉｔ，ｄｐ＿ｉｎｉｔ，ｄｂ＿ｉｎｉｔは、初期フルネスを示す。ＭＢ＿ｃｎｔはピクチャ内のマクロブロック数を示す。Ｂ＿ｊはピクチャ開始からＭＢｊまでに発生した符号量（ｂｉｔ）を示す。ｒはリアクションパラメータ（制御感度）である。
【００３３】
符号量制御部４２は、算出した量子化パラメータＱｐに設定し、当該量子化パラメータＱｐに従う量子化を量子化部２０に実行させる。
【００３４】
最終マクロブロックになるまで（Ｓ６）、ステップＳ５の計算を繰り返す。最後のマクロブロックの計算を終えたら（Ｓ５）、終了する。
【００３５】
本実施例では、縮小画像から求めた予測誤差ＳＡＴＤと、予測誤差ＳＡＴＤを求める際のマクロブロック係数の分布から符号量を予測することで、縮小画像を用いた場合でもマクロブロック毎の符号量を正確に予測できる。この結果、従来よりも適切な符号量制御を行うことが可能となり、画質が向上する。また、縮小画像を使って発生符号量を予測することで、１パス制御とほぼ同等のハードウェア規模で高精度の符号量予測が可能となる。
【実施例２】
【００３６】
実施例１では、マクロブロックの係数分布から符号量を予測し、量子化パラメータの制御を通じて発生符号量を制御したが、アクティビティによって発生符号量を予測し制御してもよい。図３は、そのような符号量制御を行う実施例の概略構成ブロック図を示す。図１に示す実施例と同様の作用又は機能の要素には、同じ符号を付してある。図３に示す画像符号化装置１１０には、分散値算出部１４４が追加されている。符号量制御部１４２が、動き検出部３６、エントロピー符号化部３８及びストリームバッファ４０からの情報に加えて、分散値算出部１４４からの分散値も考慮して、発生符号量を制御する。
【００３７】
分散値算出部１４４は、ブロック化部３４によって分割されたマクロブロック毎の分散値（アクティビティ）を算出する。アクティビティは、絵柄の平坦部では歪みが目立ちやすく、複雑な部分では目立ちにくいという人間の視覚特性を考慮する、高能率画像圧縮のための因子である。具体的には、マクロブロックを格子状にＮ分割し、原画像の輝度信号の分散値を求め、その最小値をアクティビティとして採用する。例えば、マクロブロックを１６×１６画素として、Ｎを４とすると、アクティビティａｃｔは、次式のように求められる。すなわち、
【数２】
2010166275.tif 000004
ｍｉｎ（）は、引数の内から最小値を選択する関数又は演算子である。
【００３８】
符号量制御部１４２はまず、実施例１で説明した方法で、ストリームバッファ４０のバッファ容量がオーバーフローもアンダーフローもしないピクチャ目標符号量を決定する。符号量制御部１４２は次に、この目標符号量に対し、分散値算出部１４４からのアクティビティを用いて、マクロブロック毎の目標符号量を決定する。符号量制御部１４２は、エントロピー符号化部３８からのマクロブロック毎の発生符号量とマクロブロック毎の目標符号量を比較し、その差分符号量を算出する。そして、符号量制御部１４２は、実施例１で説明した方法で、差分符号量が小さくなるように、すなわち、発生符号量が目標符号量に近づくように、量子化部２０の量子化パラメータを制御する。
【００３９】
図４は、本実施例の符号量制御のフローチャートである。
【００４０】
符号量制御部１４２は、実施例１で説明した方法で、ストリームバッファ４０のバッファ容量がオーバーフローもアンダーフローもしないピクチャ目標符号量を決定する（Ｓ１１）。
【００４１】
動き検出部３６が、図２のステップＳ２と同様の処理で、マクロブロック毎の予測誤差ＳＡＴＤを算出し、符号量制御部１４２に供給する（Ｓ１２）。ここでも、動き検出部３６による予測誤差の算出は、符号量制御部１４２による符号化対象ピクチャの目標符号量の算出と同時に実行しても、又はこれに先行して実行しても良い。
【００４２】
動き検出部３６における予測誤差の算出と同時に、分散値算出部１４４が、ブロック化部３４の出力からマクロブロック毎のアクティビティを求め、符号量制御部１４２に供給する（Ｓ１３）。符号量制御部１４２は、アクティビティが小さい（即ち、平坦部に近い）マクロブロックには、アクティビティが大きい（即ち、絵柄が複雑な）それより、相対的に大きな重み係数Ｍ（ｉ，ｊ）を割り当てる。
【００４３】
符号量制御部１４２は、下記式に従い、ステップＳ１２で求めた予測誤差ＳＡＴＤＭＢと重み係数Ｍ（ｉ，ｊ）とからマクロブロック毎の目標符号量ＴＭＢを算出する（Ｓ１４）。すなわち、
TMB=T×SATDMB(i,j)M(i,j)/Σ[SATDMB(i,j)×M(i,j)]
ｉ、ｊはマクロブロック位置を表す。Ｔは画面全体の目標符号量である。
【００４４】
符号量制御部１４２は、図２のステップＳ５と同様の方法で、ステップＳ１４で求めた目標符号量ＴＭＢから量子化パラメータＱｐを算出する（Ｓ１５）。符号量制御部１４２は、算出した量子化パラメータＱｐを量子化部２０に設定し、当該量子化パラメータＱｐに従う量子化を量子化部２０に実行させる。
【００４５】
最終マクロブロックになるまで（Ｓ１６）、ステップＳ１５の計算を繰り返す。最後のマクロブロックの計算を終えたら（Ｓ１６）、終了する。
【００４６】
本実施例では、縮小画像から求めた予測誤差ＳＡＴＤとアクティビティを用いて符号量を予測することで、縮小画像を用いた場合でもマクロブロック毎の符号量を正確に予測できる。この結果、従来よりも適切な符号量制御を行うことが可能となり、画質が向上する。また、縮小画像を使って発生符号量を予測することで、１パス制御とほぼ同等のハードウェア規模で高精度の符号量予測が可能となる。
【実施例３】
【００４７】
動き検出部３６におけるマクロブロック毎の予測誤差ＳＡＴＤＭＢの算出動作を次のように変更してもよい。すなわち、予測誤差ＳＡＴＤＭＢと、量子化部２０で実際に適用された量子化パラメータとの対応を示すデータベース（量子化パラメータデータベース）を、動き検出部３６の図示しない記憶装置に格納する。同じ動画像の先行して符号化された部分をデータベース化してもよいし、別途、種々の被写体を撮影して、それらの一般的な関係として、更には撮影シーン毎の関係としてデータベース化してもよい。
【００４８】
動き検出部３６は、量子化パラメータデータベースを参照して、先の説明で周波数変換係数データから得られた予測誤差ＳＡＴＤＭＢからおおよその量子化パラメータを検索する。検索された量子化パラメータで、予測誤差ＳＡＴＤＭＢを量子化する。符号量制御部４２は、この量子化された予測誤差ＳＡＴＤＭＢを実施例１で説明したように利用して、マクロブロック毎の目標符号量を決定する。
【００４９】
以上、実施例を参照して説明したように、縮小画像の予測誤差値を基準に周波数帯域を考慮してマクロブロック毎の目標符号量を予測することで、マクロブロック単位で高精度で符号量を予測できる。符号量の予測が高精度になることで、予め必要な部分に必要な符号量を割り当てることが可能となり、画質が向上する。また、縮小画像を使って発生符号量を予測することで、１パス制御とほぼ同等のハードウェア規模で高精度の符号量予測が可能となる。
【００５０】
なお、上記各実施例では、マクロブロック単位で目標符号量を求めたが、複数のマクロブロックを１つのブロック又は領域として扱い、そのブロック（または領域）を単位として符号量を制御してもよい。
【００５１】
本発明は、本発明の技術思想の範囲内において、上記実施例に限定されるものではなく、対象となる回路形態により適時変更されて適用されるべきである。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】図１に示す実施例の符号量制御動作のフローチャートである。
【図３】本発明の第２実施例の概略構成ブロック図である。
【図４】図３に示す実施例の符号量制御動作のフローチャートである。
【符号の説明】
【００５３】
１０  画像符号化装置
１２  フレーム並び替え部
１４  ブロック化部
１６  減算器
１８  直交変換部
２０  量子化部
２２  逆量子化部
２４  逆直交変換部
２６  加算器
２８  フレームメモリ
３０  動き検出補償部
３２  縮小画像生成部
３４  ブロック化部
３６  動き検出部
３８  エントロピー符号化部
４０  ストリームバッファ
４２  符号量制御部
１１０  画像符号化装置
１４２  符号量制御部
１４４  分散値算出部
【図１】
2010166275.tif 000005
【図２】
2010166275.tif 000006
【図３】
2010166275.tif 000007
【図４】
2010166275.tif 000008