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