(57)【要約】【課題】  動画像の符号化においてリアルタイム処理を可能にしながら、画質劣化を抑え、ハードウェア負担を低減でき、演算量も少なくする。【解決手段】  入力映像信号（動画像信号）を符号化する動画像符号化器３６に対して、入力画像信号の単位時間（例えば１ＧＯＰ）毎の符号化難易度を計算する符号化難易度計算器３１からの過去の単位時間の符号化難易度が割り当てビット量計算器３２に送られ、割り当てビット量計算器３２からの割り当てビット量がレートコントロールパラメータ設定器３３に送られて、各マクロブロックに割り当てられるビット量と実際に発生したビット量との差分がレートコントロール仮想バッファに蓄えられ、そのバッファ占有量に基づき量子化スケールが算出される。この量子化スケールに基づき、レートコントロール手段２３が動画像符号化器３６の現在の符号化ビットレートを制御する。【選択図】  図２
2005045736.tif 000002
【特許請求の範囲】
【請求項１】
入力画像信号の単位時間毎の符号化パラメータを求める工程と、
上記入力画像信号の過去の単位時間の符号化パラメータに基づいて現在の単位時間の目標符号量を求める工程と、
上記目標符号量に基づいて上記入力画像信号に対して可変ビットレート符号化を行う工程と
を有することを特徴とする画像信号符号化方法。
【請求項２】
上記符号化パラメータとして符号化後の発生符号量及び量子化スケールを用い、過去の単位時間の発生符号量及び量子化スケールを用いて符号化難易度を算出することで、現在の単位時間の目標符号量を求めることを特徴とする請求項１記載の画像信号符号化方法。
【請求項３】
上記目標符号量に基づき各フレーム内のマクロブロック毎に量子化スケールを求める際に、レートコントロール仮想バッファを設け、各マクロブロックに割り当てられるビット量と実際に発生したビット量との差分を上記レートコントロール仮想バッファに蓄え、そのバッファ占有量に基づき上記量子化スケールを算出することを特徴とする請求項１記載の画像信号符号化方法。
【請求項４】
入力画像信号の単位時間毎に目標符号量を求めて可変ビットレート符号化を行う画像信号符号化装置において、
上記入力画像信号の上記単位時間毎の符号化難易度を計算する符号化難易度計算手段と、
上記符号化難易度計算手段からの過去の単位時間の符号化難易度に基づき割り当てビット量を計算する割り当てビット量計算手段と、
上記割り当てビット量計算手段からの割り当てビット量に基づき現在の符号化ビットレートを制御するレートコントロール手段と
を有することを特徴とする画像信号符号化装置。
【請求項５】
上記符号化難易度計算手段は、過去の単位時間の発生符号量及び量子化スケールを用いて符号化難易度を算出することを特徴とする請求項４記載の画像信号符号化装置。
【請求項６】
上記割り当てビット計算手段からの割り当てビット量が入力され、各マクロブロックに割り当てられるビット量と実際に発生したビット量との差分をレートコントロール仮想バッファに蓄え、そのバッファ占有量に基づき量子化スケールを算出して上記レートコントロール手段に送るレートコントロールパラメータ設定手段をさらに有することを特徴とする請求項４記載の画像信号符号化装置。
【請求項７】
入力画像信号の単位時間毎に目標符号量を求めて可変ビットレート符号化を行う画像信号符号化装置の符号化を制御する符号化制御装置において、
上記入力画像信号の上記単位時間毎の符号化難易度を計算する符号化難易度計算手段と、
上記符号化難易度計算手段からの過去の単位時間の符号化難易度に基づき割り当てビット量を計算する割り当てビット量計算手段と、
上記割り当てビット計算手段からの割り当てビット量が入力され、各マクロブロックに割り当てられるビット量と実際に発生したビット量との差分をレートコントロール仮想バッファに蓄え、そのバッファ占有量に基づき量子化スケールを算出するレートコントロールパラメータ設定手段と、
上記レートコントロールパラメータ設定手段からの量子化スケールに基づき現在の符号化ビットレートを制御するレートコントロール手段と
を有することを特徴とする符号化制御装置。
【請求項８】
コンピュータに、
入力画像信号の単位時間毎の符号化パラメータを求める手順と、
上記入力画像信号の過去の単位時間の符号化パラメータに基づいて現在の単位時間の目標符号量を求める手順と、
上記目標符号量に基づいて上記入力画像信号に対して可変ビットレート符号化を行う手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像信号の単位時間毎に目標符号量を求めて可変ビットレート符号化を行う画像信号符号化方法及び装置、符号化制御装置並びにプログラムに関する。
【背景技術】
【０００２】
ディジタルビデオ信号を高い圧縮率で効率よく符号化する高能率符号化の手法として、ビデオ信号の相関を利用した高能率符号化方法が提案されており、その一つにＭＰＥＧ方式がある。このＭＰＥＧ（Moving Picture Image Coding Experts Group） とは、ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２／ＷＧ１１にて議論され、標準案として提案されたものであり、動き補償予測符号化と離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）符号化とを組み合わせたハイブリッド方式である。このＭＰＥＧ方式では、まずビデオ信号のフレーム間の差分を取ることにより時間軸方向の冗長度を落とし、その後、離散コサイン変換を用いて空間軸方向の冗長度を落とし、ビデオ信号を能率よく符号化している。
【０００３】
このようなＭＰＥＧ方式の動画像符号化技術は、ＤＶＤ（Digital Versatile Disc）やディジタル放送など様々なアプリケーションに実施、応用されている。特に記録レートが可変制御出来るディスクメディアにおいては、入力画像の難しさに応じてレートを制御し、効率的に符号を割り当てることで画質改善、長時間記録などを実現している。
【０００４】
このＭＰＥＧ方式にも用いられているＶＢＲ（Variable Bit Rate:可変ビットレート）アルゴリズムは、単位時間毎に符号化難易度を算出し、平均ビットレートとの比率により目標符号量を割り当てる。また所定の時間長の信号を扱える保証のために仮想バッファを設けてレート制御を行っている。
【０００５】
ここで図９は、ＭＰＥＧ方式の動画像符号化に用いられる符号化装置（エンコーダ）の基本構成を示すブロック回路図である。
【０００６】
この図９において、入力端子１１０からの入力映像信号（動画像信号）は、フレーム毎に、Ｉ（フレーム内予測）、Ｐ（フレーム間順方向予測）、Ｂ（フレーム間双方向予測）の各ピクチャタイプに分けられ、Ｍ（Ｉ、Ｐの周期）とＮ（ＧＯＰを構成する枚数）によりＧＯＰ（グループオブピクチャ）が構成される。入力映像信号のＰ、Ｂピクチャについては、フレームメモリ内の過去、現在、未来の原画像を用いて、動き検出回路１１１により動きベクトル検出（ＭＥ）が行われる。そして、ピクチャ符号化順並び替え回路１１２によってピクチャを符号化する順番に並び替えられる。動き補償回路１２１では、上記ＭＥで得たフレーム毎の動き補償残差を使って、動き補償（ＭＣ）によりＭＢ（マクロブロック）ごとにイントラ／インター、フレーム／フィールド予測、順／逆／双方向予測などの予測判定が行われ、予測画像が作られる。ピクチャ符号化順並び替え回路１１２からの現画像と動き補償回路１２１からの予測画像が加算器１１３に送られ、これらの現画像と予測画像との差分画像が加算器１１３から出力される。Ｉピクチャについては動き補償は行わずフレーム内予測される。以上により出力されたデータは、ＤＣＴ（離散コサイン変換）回路１１４によりＤＣＴ処理され、量子化器１１５に送られて、レートコントロール回路１２２により決定された量子化スケールにより量子化される。そして得られた量子化係数はＶＬＣ（可変長符号化）回路１１６によりＶＬＣ処理され、バッフアメモリ１１７によって一旦保持された後、出力端子１２９よりビットストリームとして出力される。なお、量子化器１１５からの量子化出力は、ローカルデコーダとしての逆量子化器１１８、逆ＤＣＴ回路１１９、加算器１２０を介して復号され、動き補償回路１２１に送られている。
【０００７】
次に、このようなＭＰＥＧ符号化に対して用いられる可変ビットレート（ＶＢＲ）符号化について説明する。
【０００８】
いわゆるＤＶＤ−video に記録されるビデオ信号は、２パス方式の可変ビットレート符号化が、一般に用いられている。この２パス方式は、符号量を求めるための符号化処理と、求められた符号量に基づいてビットレートを可変制御しながら行う符号化処理との２度の符号化を行うものであり、使用可能な符号化ビット総量を有効に使うことが出来る利点があるが、処理時間が動画像シーケンスの時間長の約２倍必要という欠点があるため、リアルタイム処理には不向きである。そこで、この処理時間を短くすることを目的とした１パス方式（１パスフィードフォワード方式）の可変ビットレート符号化方式が考えられている。この１パスフィードフォワード方式の動画像の符号化方式は、例えば、特許文献１、特許文献２、特許文献３等に開示されている。
【０００９】
ここで、図１０に、従来の１パス方式の可変ビットレート符号化方法を適用した動画像の符号化装置の構成例を示し、また図１１に１パス方式の可変ビットレート符号化処理を説明するためのフローチャートを示す。
【００１０】
図１０のブロック図に示す動画像符号化装置において、入力端子１３０に供給された入力動画像信号は、ＶＢＲ（可変ビットレート）演算器１３１及び遅延器１３５に供給される。ＶＢＲ（可変ビットレート）演算器１３１は、符号化難易度計算器１３２と割り当てビット量計算器１３３とを有しており、入力動画像信号が入力される符号化難易度計算器１３２からの出力は、単位時間毎の割り当てビット量を計算する割り当てビット量計算器１３３に送られ、割り当てビット量計算器１３３からの出力は動画像符号化器１３６に送られる。動画像符号化器１３６は、遅延器１３５からの出力信号を、割り当てビット量計算器１３３からの割り当てビット量に応じて符号化し、端子１３９より符号化ビットストリームとして出力する。
【００１１】
以下、図１０に示す動画像符号化装置の動作を、図１１のフローチャートに従って説明する。
【００１２】
図１１のステップＳ１４１では、端子１３０に供給された動画像信号を図１０のＶＢＲ（可変ビットレート）演算器１３１の符号化難易度計算器１３２に入力し、単位時間毎の入力画像の符号化難易度Ｒ_currentを計算する。上記単位時間は、例えば０．５秒（１５フレーム）程度とされる。この符号化難易度の計算は、例えば量子化ステップを固定して入力動画像をエンコードして、所定時間毎の発生符号量を計算することが挙げられ、あるいは、符号化難易度を算出する方法として、単位時間毎に動き補償残差やＡＣパワー、量子化スケール、発生ビット量などの各種パラメータの平均をとり、重み付けすることで求めることが挙げられる。ここで、例えば難しい画像が続いた場合、残りの画像への割り当てビット量の不足を避けるために、いくつか符号化難易度に対して補正を行っている。一つは最大値、最小値の制限を設けることで、難易度の高すぎるものはある一定以上はビットを与えず、難易度の低い画像に対してビット量を保証している。また先ほど述べたように、ある単位時間を設定し、その単位時間ごとに仮想的にＶＢＲバッファを用意して、所定の時間長の信号を一定の記憶容量の記録媒体に収録できることを保証する符号量の制御を行っている。
【００１３】
このようにして符号化難易度計算器１３２から得られた符号化難易度Ｒ_currentは、ＶＢＲ（可変ビットレート）演算器１３１内の割り当てビット量計算器１３３に送られ、ステップＳ１４２において、符号化難易度Ｒ_currentに対する割り当てビット量（ビットレート値）bitrate が計算により求められる。この場合、予め、基準となる動画像シーケンスを所定の平均ビットレートで可変ビットレート符号化する時の単位時間毎の符号化難易度Ｒ_currentと割り当てビット量bitrate を関係付けておく。ここで、基準となる動画像シーケンスに対する単位時間毎の割り当てビット量の総和は、目的の記録媒体の記憶容量以下にされている。割り当てビット量計算器１３３では、端子１３０からの入力画像の単位時間の符号化難易度Ｒ_currentに対して、割り当てビット量bitrate を求める。
【００１４】
この１パス方式の動画像符号化装置における遅延器１３５は、単位時間長の入力画像に対しての符号化難易度計算器１３２と割り当てビット量計算器１３３での処理が単位時間内に終了するので、その画像信号の動画像符号化器１３６への入力を単位時間だけ遅延するために設けられている。
【００１５】
次のステップ１４３では、動画像符号化器１３６が、単位時間毎の入力動画像を、これに対応して割り当てビット量計算器１３３から与えられる割り当てビット量になるように符号化する。すなわち、動画像符号化器１３６は、割り当て符号量に基づいた量子化ステップサイズにより、単位時間毎の入力動画像をエンコード処理し、出力端子１３９より符号化ビットストリームを出力する。
【特許文献１】特開平９−２３４２３号公報
【特許文献２】特開平１０−３０２３９６号公報
【特許文献３】特開２００２−３４０３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ところで、上述のような１パスフィードフォワード方式によるビットレート制御法においては、次のような問題点がある。
【００１７】
一つは、２パスは元より１パスにおいても、フィードフォワードを実現するために単位時間分のデータ記憶メモリを必要とすることである。
【００１８】
二つ目としては、１パスフィードフォワード方式は２パス処理で必要な時間を削減することはできたが、遅延器１３５で行われるＶＢＲ演算器の処理時間長の遅延（０．５秒程度）が生じることである。カムコーダなど利用されるアプリケーションによってはリアルタイム処理が必須となるものもあり、この遅延時間が問題となる。
【００１９】
本発明は、このような従来の実情に鑑みて提案されたものであり、動画像の符号化においてリアルタイム処理を可能にしながら、画質劣化を抑え、ハードウェア負担を低減でき、演算量も少なくて済むような画像信号符号化方法及び装置、符号化制御装置並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上述の課題を解決するために、本発明では、時間的に近接した画像間においてはその画像の性質も近似することを考慮し、過去のパラメータ情報をフィードバックすることにより難易度計算を行うことを提案するものである。これによりデータを保持するメモリがなくてもより近い符号化制御を実現することができる。また遅延器の削除によりハード容量の負担も軽減できる。
【００２１】
すなわち、本発明に係る画像信号符号化方法は、上記目的を達成するため、入力画像信号の単位時間毎の符号化パラメータを求める工程と、上記入力画像信号の過去の単位時間の符号化パラメータに基づいて現在の単位時間の目標符号量を求める工程と、上記目標符号量に基づいて上記入力画像信号に対して可変ビットレート符号化を行う工程とを有することを特徴とする。
【００２２】
ここで、上記符号化パラメータとして符号化後の発生符号量及び量子化スケールを用い、過去の単位時間の発生符号量及び量子化スケールを用いて符号化難易度を算出することで、現在の単位時間の目標符号量を求めることが好ましい。また、上記目標符号量に基づき各フレーム内のマクロブロック毎に量子化スケールを求める際に、レートコントロール仮想バッファを設け、各マクロブロックに割り当てられるビット量と実際に発生したビット量との差分を上記レートコントロール仮想バッファに蓄え、そのバッファ占有量に基づき上記量子化スケールを算出することが好ましい。
【００２３】
次に、本発明に係る画像信号符号化装置は、上記目的を達成するため、入力画像信号の単位時間毎に目標符号量を求めて可変ビットレート符号化を行う画像信号符号化装置において、上記入力画像信号の上記単位時間毎の符号化難易度を計算する符号化難易度計算手段と、上記符号化難易度計算手段からの過去の単位時間の符号化難易度に基づき割り当てビット量を計算する割り当てビット量計算手段と、上記割り当てビット量計算手段からの割り当てビット量に基づき現在の符号化ビットレートを制御するレートコントロール手段とを有することを特徴とする。
【００２４】
ここで、上記符号化難易度計算手段は、過去の単位時間の発生符号量及び量子化スケールを用いて符号化難易度を算出することが好ましい。また、上記割り当てビット計算手段からの割り当てビット量が入力され、各マクロブロックに割り当てられるビット量と実際に発生したビット量との差分をレートコントロール仮想バッファに蓄え、そのバッファ占有量に基づき量子化スケールを算出して上記レートコントロール手段に送るレートコントロールパラメータ設定手段をさらに有することが好ましい。
【００２５】
このような本発明では、可変符号量制御の単位時間ごとの目標符号量の設定について、過去の単位時間のパラメータをフィードバックさせて符号化難易度を算出することで、現在の単位時間の目標符号量を割り当て、全体のビットレートを制御する。
【００２６】
また、難易度を算出するためのフィードバックするパラメータとして、ピクチャ符号化後の発生符号量と量子化値を用いて制御をする。
【００２７】
さらに、割り当てられた目標符号量より、量子化値を決定するためのパラメータ及び仮想バッファを最適化する。
【発明の効果】
【００２８】
本発明によれば、入力画像信号の過去の単位時間の符号化パラメータに基づいて現在の単位時間の目標符号量を求め、入力画像信号に対して可変ビットレート符号化を行っているため、時間遅延がなくなり、リアルタイム処理を可能にしながら、画質劣化を抑え、ハードウェア負担を低減でき、演算量も少なくて済む。
【００２９】
すなわち、従来においては可変ビットレート符号化の符号量制御をフィードフォワード方式により実現していたのに対し、本発明では、フィードバック方式による実現が可能となり、これにより遅延器によるハードウェア上の負荷が削減され、単位時間（単位フレーム、例えば１５フレーム）における符号化難易度計算と割り当てビット量計算の部分の遅延も取り除くことができる。また難易度計算に用いるパラメータについては、過去の単位時間での発生符号量と量子化スケールを用い、これにより難易度を算出し、割り当てビット量を算出することで、より最適なビット割り当てが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３１】
本発明の実施の形態における画像信号符号化装置の概略構成を図１に示す。
【００３２】
この図１において、入力端子１０からの入力映像信号（動画像信号）は、動き検出回路１１に送られて動きベクトル検出（ＭＥ）が行われ、ピクチャ符号化順並び替え回路１２によってピクチャを符号化する順番に並び替えられ、加算器１３に送られる。加算器１３には、動き補償回路２１からの動き予測画像が送られ、ピクチャ符号化順並び替え回路１０２からの現画像との差分画像が取り出され、ＤＣＴ（離散コサイン変換）回路１４に送られる。動き補償回路２１では、上記動きベクトル検出で得たフレーム毎の動き補償残差を使って、動き補償（ＭＣ）によりＭＢ（マクロブロック）ごとにイントラ／インター、フレーム／フィールド予測、順／逆／双方向予測などの予測判定が行われ、予測画像が作られる。なおＩピクチャについては動き補償は行わずフレーム内予測される。ＤＣＴ回路１４によりＤＣＴ処理されて得られた係数データは、量子化器１５に送られて量子化される。このときの量子化には、後述するＶＢＲ（可変ビットレート）演算器２２及びレートコントロール回路２３により決定された量子化スケールが用いられる。得られた量子化係数はＶＬＣ（可変長符号化）回路１６によりＶＬＣ処理され、バッフアメモリ１７によって一旦保持された後、出力端子２９よりビットストリームとして出力される。なお、量子化器１５からの量子化出力は、ローカルデコーダとしての逆量子化器１８、逆ＤＣＴ回路１９、加算器２０を介して復号され、動き補償回路２１に送られている。
【００３３】
本発明の実施の形態においては、レートコントロール回路２３において決定される量子化スケール（Ｑスケール、量子化値）の算出方法を、ＶＢＲ（可変ビットレート）を適用し最適化させることで、より量子化スケールを安定化させ、画質向上を実現している。すなわち、入力画像信号の単位時間（例えば１ＧＯＰ、１５フレーム）毎に目標符号量を求めて可変ビットレート符号化を行う際に、入力画像信号の過去の単位時間の符号化パラメータに基づいて現在の単位時間の目標符号量を求め、入力画像信号に対して可変ビットレート符号化を行うようにしている。
【００３４】
具体的に、図１のＶＢＲ演算器２２及びレートコントロール回路２３においては、まず所定の単位時間（例えば１ＧＯＰ、１５フレーム）毎に割り当てられたビットから、前時間のコンプレキシティ値（複雑度）をフィードバックさせ単位時間（例えばＧＯＰ）内の各フレームに対してターゲットビット（目標符号量）を求める。それを基に、各フレーム内のＭＢ（マクロブロック）毎に量子化スケールを求め、発生符号量を制御している。ここで量子化スケールの算出法の具体例としては、レートコントロール仮想バッファを設け、ＭＢに割り当てられるビット量と実際発生したビット量の差分をレートコントロール仮想バッファに蓄え占有量を計算する。以下に式を示す。
【００３５】
【数１】
2005045736.tif 000003
【００３６】
この式（１）の仮想バッファ占有量ｄｊ及びリアクションパラメータreact_qを用いて、以下の式（４）によりｊ番目のＭＢ（マクロブロック）の量子化スケールｑｊを求める。
【００３７】
ｊ番目のＭＢの量子化スケール      ｑｊ ＝ ｄｊ×３１／react_q     （４）
以上の式により、現ＭＢ（マクロブロック）の量子化スケールは、前ＭＢまでの発生符号量を参照し、それによって更新させる仮想バッファ値（仮想バッファ占有量ｄｊ）とリアクションパラメータreact_qとにより決定する。この後、適応量子化により量子化スケールの補正を行えばよい。
【００３８】
従来の方式では、上記リアクションパラメータを固定値としている。ビットレートの変化が小さければ影響は少ないが、ビットレートが大きく変化する場合には、リアクションパラメータを固定値とすると、上記式（４）において最適な量子化スケールを求めることができない。例えばビットレートが高い場合でも、仮想バッファの占有量により量子化スケールが変化し易くなってしまう。
【００３９】
これを解決するために、本発明の実施の形態においては、ビットレートの変化に応じて上記式（３）のリアクションパラメータを更新させるようにしている。また上記式（２）に関連して、全てのフレームの先頭ＭＢで仮想バッファの初期値を固定値にした場合には量子化スケールも安定しないため、各ピクチャタイプごと先頭のＭＢの量子化スケールが前フレームの最後のＭＢの量子化スケールと同じになるように仮想バッファを設定する。これによって、従来のＧＯＰごとの量子化スケールのずれから起こる劣化を抑えることができ、画質向上を図ることができる。
【００４０】
以上の本発明の実施の形態においては、従来の１パスフィードフォワード方式の問題を解決するフィードバック方式を採用し、より高品質の画質を保証した可変ビットレート制御を実現している。
【００４１】
すなわち、本発明の実施の形態の要点は、従来行っていたフィードフォワード方式によるＶＢＲ制御に対して、フィードバック方式でＶＢＲ制御を実現したこと、難易度計算の際に参照するパラメータとしてコンプレキシティ（複雑度）を用いたこと、また、ＶＢＲ演算処理後にレートコントローラで使用するリアクションパラメータ、及び仮想バッファ初期値を単位時間（単位フレーム、例えば１ＧＯＰ、１５フレーム）ごとに設定することである。
【００４２】
次に、実際のフィードバック方式可変符号化制御の具体例、特に図１のＶＢＲ演算器２２の動作について、図２以降を参照しながら説明する。
【００４３】
図２は、本発明の実施の形態におけるエンコーダ構成及びＶＢＲ（可変ビットレート）演算器２２の構成例を示すブロック図である。ＶＢＲ演算器２２は、従来のエンコーダに対して、レートコントローラ前に実装され単位時間（単位フレーム、例えば１ＧＯＰ、１５フレーム）の先頭で処理が行われる。バッファ（図１のバッフアメモリ１７）から出力されたコンプレキシティ（複雑度）Ｘに基づいて、符号化難易度計算器３１で平均ビットレートの基準値から符号難易度Ｒ_currentが単位時間毎に算出される。そして出力されたＲ_currentから割り当てビット量計算器３２により、ターゲットビット量bitrate が算出される。得られたビットレートを用いレートコントロールパラメータ設定器３３により、リアクションパラメータreact_qとレートコントロール仮想バッファvirtual_bufが初期化され出力されて、レートコントロール回路２３に送られ、動画像符号化器３６によるエンコードが制御される、というように処理が流れる。動画像符号化器３６には、例えば図１に示すような符号化装置が用いられる。なお、本実施の形態では、ＶＢＲ演算処理の単位時間（単位フレーム）を１ＧＯＰ、例えば１５フレームとし、１ＧＯＰごとにビットレートを可変させることにしているが、これに限定されず、任意数のフレームを単位時間（単位フレーム）としてもよく、また１ＧＯＰも１５フレームに限定されないことは勿論である。
【００４４】
図２のＶＢＲ（可変ビットレート）演算器２２は、各部をハードウェアにより構成することもできるが、現実には例えば図３に示すようなコンピュータハードウェアシステム上で動作するソフトウェアプログラムとして実現されることが多い。すなわち、この図３において、ＶＢＲ演算器２２は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、Ｉ／Ｏ（インターフェース）４５を有してなるハードウェアシステム上で動作するソフトウェアプログラムとして実現されている。
【００４５】
次に、ＶＢＲ（可変ビットレート）演算処理について、図４のフローチャートを用いて説明する。まずステップＳ１にて画像が入力され、シーケンスの最初でステップＳ２により、これから行われるＶＢＲ演算処理に必要なパラメータについて初期化される。ここでは先に述べたように、実際の割り当て符号量を制御し、所定時間長を保証するためのＶＢＲ仮想バッファを初期化している。またＶＢＲ処理の単位時間（ＶＢＲ仮想バッファ処理を行う単位）Ｔ_vbr毎に、次の式（６）によりバッファを更新する。尚、この計算についてはＴ_vbr毎の先頭で行われる。
【００４６】
【数２】
2005045736.tif 000004
【００４７】
次に、ステップＳ３においては、映像信号のシーンチェンジ検出の有無を調べ、検出されない場合にはステップＳ４の符号難易度計算により単位時間（例えばＧＯＰ）ごとの難易度を算出する。
【００４８】
この符号難易度計算について、図５のフローチャートを参照しながら説明する。まず、図５のステップＳ４１で、直前の単位時間（前ＧＯＰ）のコンプレキシティ（複雑度）をフィードバックし、以下のように平均値を求めている。
【００４９】
【数３】
2005045736.tif 000005
【００５０】
本発明の実施の形態においては、フィードバック方式によるため、様々なパラメータを参照できるが、ここでコンプレキシティ（複雑度）を用いたのは、エンコード時のＱスケール（量子化スケール）と実際に発生した符号量との関係が、その画像の難易度を求めるのにもっとも最適であると判断したためである。これにより、より固定Ｑスケールに近い動作の実現を図っている。ステップＳ４１によって得られたＧＯＰの平均コンプレキシティ（Avg_GOP_complexity）は、ステップＳ４２において最大値（initial_avg_complexity×PARAM_MAX）でクリップされる。次のステップＳ４３ではパラメータの基準値の更新を行っている。現時点で求めたい難易度は前ＧＯＰのＶＢＲ演算で使用したコンプレキシティの基準値を引きずる形で急激な変化にも対応できるよう、ビットレート変動の追従速度を用いて制御している。式は以下の通りである。
【００５１】
avg_complexity_R
＝avg_complexity_R×React＋Avg_GOP_complexity×(1-React)    （9）
ここで、avg_complexity_R：コンプレキシティの基準値、React：ビットレート変動の追従速度、である。
【００５２】
図５のステップＳ４４では、コンプレキシティと実際のターゲットビット量とは比例の関係があるため、ここで重み付けをすることで難易度値に幅をもたせ、理想的なビット量を算出する。この重み付け係数に関してはアプリケーションに依存する。算出された理想的なビット量ideal_bit_GOPは、平均ビットレートとの比率をとることでＧＯＰの符号化難易度を算出することができる。
【００５３】
ideal_bit_GOP＝avg_complexity_R×W_complx               （10）
R_current＝ideal_bit_GOP×(picture_rate／GOP_num)／Rate_vbr   （11）
Rate_vbr＝Rate_target×R_margin                         （12）
ここで、ideal_bit_GOP：GOPの理想的ビット量、W_complx：コンプレキシティの重み付け係数、R_current：GOPの符号難易度、である。
【００５４】
上記式（１１）中のRate_vbrについて、ここでは単位時間Ｔ_vbr内の平均ビットレートから上記ステップＳ２により与えたＶＢＲ仮想バッファ容量を引いた分、実際の計算で平均ビットレートの基準値とし、後々に起こりうるバッファ容量の不足を符号量に余裕をもたせることにより改善している。
【００５５】
上記図４のステップＳ３でシーンチェンジ検出された時は、ステップＳ５のシーンチェンジ処理が行われ、このステップＳ５でのシーンチェンジ処理の具体例を図６に示す。この図６に示すように、ステップＳ５１において、パラメータの基準値avg_complexity_Rを初期化（avg_complexity_R＝initial_avg_complexity）し、ステップＳ５２において、符号化難易度Ｒ_currentを１．０に初期化（Ｒ_current＝１．０）し、前基準値を引きずらないようリセットしている。
【００５６】
以上より算出された符号化難易度Ｒ_currentは、図４のステップＳ６にて符号化難易度補正処理が施される。具体的には、例えば図７のステップＳ６１〜Ｓ６４に示すように、符号化難易度Ｒ_currentをあらかじめ与えた最大値と最小値でクリップすることが挙げられる。これは難しすぎる画像へのビット配分を制限することで、易しい画像に対してのビット配分を保証するためである。また、ステップＳ６５において、前ＧＯＰのエンコーダが終了した時点でのＶＢＲ仮想バッファの残量がVBR_BUFF_LOW値を下回っていた場合、つまりバッファ残量がある一定以下になった時、ステップＳ６６でＲ_currentをVBR_CORR_LOWに補正し、ターゲットビット量を下げている。補正処理を終えた後は、図４のステップＳ７により、単位時間（例えばＧＯＰ）ごとの割り当てビット量を計算する。式は以下の通りである。
【００５７】
Rate_current＝Rate_vbr ×R_current                （13）
ここで、Rate_current：GOPのターゲットビット量、である
以上によりＶＢＲ（可変ビットレート）演算処理が終了し、算出されたビットレートを元とし、単位時間（例えばＧＯＰ）ごとにレートコントロール回路２３でピクチャ毎のビットそしてＭＢ（マクロブロック）ごとのＱスケール値が求められ、動画像符号化器３６によりエンコードされる。ここで本発明の実施の形態では、図４のステップＳ８にて、先に述べたようにリアクションパラメータとレートコントロール仮想バッファの初期値を更新する。このステップＳ８のレートコントロールパラメータ初期化の具体例を、図８のフローチャートに示す。この図８のステップＳ８１におけるリアクションパラメータ更新は、上記式（３）に示した通りであり、ステップＳ８２のレートコントロール仮想バッファの初期化は以下の通りである。
【００５８】
initial_virtual_buf_i＝virtual_buf_i／react_q_bef×react_q   （14）
initial_virtual_buf_p＝virtual_buf_p／react_q_bef×react_q   （15）
initial_virtual_buf_b＝virtual_buf_b／react_q_bef×react_q   （16）
ここで、react_q_bef：前GOPのリアクションパラメータ、initial_virtual_buf_i, _p, _b ：レートコントロール仮想バッファの初期値、virtual_buf_i ,_p, _b ：レートコントロール仮想バッファ値、である。
【００５９】
この式により、新しい単位時間（例えばＧＯＰ）ごとに固定値に初期化するのではなく、各ピクチャタイプごと前フレームの最後のＭＢのＱスケール値を設定することで、Ｑスケールの大きな変化と画質の劣化を防ぐことができる。以上によって単位時間、例えば１ＧＯＰ分のＶＢＲ演算処理が行われ、レートコントロール、エンコーダのように処理が流れていく。１ＧＯＰ分のエンコーダ処理が終了したら、図４のステップＳ９でその時点で得られたＧＯＰの発生符号量とＴ_vbr内のＧＯＰに割り当てられる平均ビット量との差をとり、これをあらかじめステップＳ２で設定した仮想バッファを使って占有量を計算し更新する。
【００６０】
V_buffer −=  (GOP_generated_bits−Rate_vbr×GOP_num／picture_rate) （17）
ここで、GOP_generated_bits：前GOPの発生符号量、である。
【００６１】
以上の処理を単位時間Ｔ_vbr内の全ＧＯＰで行い（ステップＳ１０）、シーケンスが終了するまで繰り返す（ステップＳ１１）ことで、ＶＢＲ（可変ビットレート）演算処理が終了する。
【００６２】
上述したような本発明の実施の形態によれば、従来のＶＢＲ符号化の符号量制御をフィードフォワード方式により実現していたのに対し、フィードバック方式による実現が可能となる。これにより従来の遅延器によるハードウェア上の負荷が削減され、単位時間における符号化難易度計算と割り当てビット量計算の部分の遅延も取り除くことができる。また難易度計算に用いるパラメータについてはコンプレキシティを用いて更に重み付けを加え、難易度を算出し、割り当てビット量を算出することで、より最適なビット割り当てが可能となる。さらに可変するビットレートに対してフィードバックループの応答速度が最適となるようなリアクションパラメータを設定し、レートコントロールの仮想バッファ値も前ピクチャの最後のＭＢから更新することで、より正確で安定性のある量子化値を得ることができ、結果的に画質向上へとつなげることができる。以上よりフィードバック方式の符号量制御に加え、より高品質な画質を保証する符号量制御器を実現できる。
【００６３】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態となる画像信号符号化装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態におけるエンコーダ及びＶＢＲ（可変ビットレート）演算器の構成例を示すブロック図である。
【図３】ＶＢＲ（可変ビットレート）演算器のハードウェア構成の例を示すブロック図である。
【図４】本発明の実施の形態となる画像信号符号化におけるＶＢＲ（可変ビットレート）演算処理を説明するためのフローチャートである。
【図５】ＶＢＲ演算処理における符号化難易度計算処理の一例を説明するためのフローチャートである。
【図６】ＶＢＲ演算処理におけるシーンチェンジ処理の一例を説明するためのフローチャートである。
【図７】ＶＢＲ演算処理における符号化難易度補正処理の一例を説明するためのフローチャートである。
【図８】ＶＢＲ演算処理におけるレートコントロールパラメータ初期化処理の一例を説明するためのフローチャートである。
【図９】ＭＰＥＧ方式の動画像符号化に用いられる符号化装置の基本構成を示すブロック回路図である。
【図１０】従来の１パス方式の可変ビットレート符号化方法を適用した動画像の符号化装置の構成例を示すブロック図である。
【図１１】１パス方式の可変ビットレート符号化処理を説明するためのフローチャートである。
【符号の説明】
【００６５】
２２  ＶＢＲ演算処理回路、  ２３  レートコントロール回路、  ３１  符号化難易度計算器、  ３２  割り当てビット量計算器、  ３３  レートコントロールパラメータ設定器、  ３６  動画像符号化器
【図１】
2005045736.tif 000006
【図２】
2005045736.tif 000007
【図３】
2005045736.tif 000008
【図４】
2005045736.tif 000009
【図５】
2005045736.tif 000010
【図６】
2005045736.tif 000011
【図７】
2005045736.tif 000012
【図８】
2005045736.tif 000013
【図９】
2005045736.tif 000014
【図１０】
2005045736.tif 000015
【図１１】
2005045736.tif 000016