(57)【要約】  予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御方法および装置であって、符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求め、次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択し、前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求め、前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求め、前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する。
2009148076.tif 000002
【特許請求の範囲】
【請求項１】
予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御方法であって、
符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める過程と、
次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する過程と、
前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求める過程と、
前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求める過程と、
前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する過程とを備える映像符号量制御方法。
【請求項２】
請求項１に記載の映像符号量制御方法において、
前もって、各ピクチャについて、前記割り当て符号量の前記初期値と前記定数とに基づいて、前記割り当て符号量の前記最大値および前記最小値を求める過程を備える映像符号量制御方法。
【請求項３】
請求項１又は２に記載の映像符号量制御方法において、
前記選択する過程では、前記割り当て符号量が前記実発生符号量よりも大きいことで前記誤差符号量が正の値を示す場合には、前記割り当て符号量の前記最大値を前記修正許容幅として選択し、前記割り当て符号量が前記実発生符号量よりも小さいことで前記誤差符号量が負の値を示す場合には、前記割り当て符号量の前記最小値を前記修正許容幅として選択する映像符号量制御方法。
【請求項４】
請求項１ないし３のいずれか１項に記載の映像符号量制御方法において、
前記更新比率を値域内でクリップする過程と、
前記誤差符号量と前記変動符号量の総和との差を持ち越し符号量として求める過程と、
前記持ち越し符号量を次ピクチャの符号化の際に求められる前記誤差符号量に加算する過程とを備える映像符号量制御方法。
【請求項５】
請求項１ないし４のいずれか１項に記載の映像符号量制御方法において、前記更新比率は前記複数ピクチャに共通である映像符号量制御方法。
【請求項６】
予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御装置であって、
符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める手段と、
次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する手段と、
前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求める手段と、
前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求める手段と、
前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する手段とを備える映像符号量制御装置。
【請求項７】
請求項６に記載の映像符号量制御装置において、
前もって、各ピクチャについて、前記割り当て符号量の前記初期値と前記定数とに基づいて、前記割り当て符号量の前記最大値および前記最小値を求める手段を備える映像符号量制御装置。
【請求項８】
請求項６又は７に記載の映像符号量制御装置において、
前記選択する手段は、前記割り当て符号量が前記実発生符号量よりも大きいことで前記誤差符号量が正の値を示す場合には、前記割り当て符号量の前記最大値を前記修正許容幅として選択し、前記割り当て符号量が前記実発生符号量よりも小さいことで前記誤差符号量が負の値を示す場合には、前記割り当て符号量の前記最小値を前記修正許容幅として選択する映像符号量制御装置。
【請求項９】
請求項６ないし８のいずれか１項に記載の映像符号量制御装置において、
前記更新比率を値域内でクリップする手段と、
前記誤差符号量と前記変動符号量の総和との差を持ち越し符号量として求める手段と、
前記持ち越し符号量を次ピクチャの符号化の際に求められる前記誤差符号量に加算する手段とを備える映像符号量制御装置。
【請求項１０】
請求項６ないし９のいずれか１項に記載の映像符号量制御装置において、前記更新比率は前記複数ピクチャに共通である映像符号量制御装置。
【請求項１１】
請求項１ないし５のいずれか１項に記載の映像符号量制御方法をコンピュータに実行させるための映像符号量制御プログラム。
【請求項１２】
請求項１ないし５のいずれか１項に記載の映像符号量制御方法をコンピュータに実行させるための映像符号量制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め与えられた割り当て符号量に基づいて符号化対象ピクチャの量子化幅もしくはそれに類するパラメータを決定するという処理を行う映像符号化方式で用いられる映像符号量制御方法およびその装置と、その映像符号量制御方法の実現に用いられる映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
本願は、２００８年６月５日に、日本に出願された特願２００８−１４７５３４号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
映像情報を目的の符号量で符号化する方法のひとつとして、一度符号化を実行して映像の特徴量を算出し、それを元に各ピクチャの割り当て符号量を求めてから再度符号化を行う２パスエンコード方式、もしくはそれを複数回繰り返すマルチパスエンコード方式がある。これらの方式は、一度符号化した結果をもとに各ピクチャへ適切な符号量配分ができるため、効率的な符号化が可能となる。【０００３】
各ピクチャの割り当て符号量を一度目の符号化結果を元に全て割り当てた場合でも、実際の発生符号量と割り当て符号量との間には誤差が発生する。従って、ストリームを目標サイズに収めるためには、その誤差符号量を次ピクチャの割り当て符号量に反映させ、誤差を逐次修正する必要がある。【０００４】
シングルパスでＣＢＲ（コンスタントビットレート）符号化を行う際には、下記の非特許文献１に挙げられているように、複数枚ピクチャに一定符号量Ｒを割り当てて、誤差符号量をその一定符号量Ｒに反映させる方法が広く使われている。【０００５】
一方、このＣＢＲ符号化の方法を予め各ピクチャの割り当て符号量が定められているマルチパス符号化について適用する場合、各ピクチャの割り当て符号量が予め定められているため、一定符号量を複数枚ピクチャに割り振るという処理が必要ない。従って、このＣＢＲ符号化の方法をマルチパス符号化について適用する場合には、各ピクチャの符号化で発生した誤差符号量を次ピクチャの割り当て符号量に加算して補正することになる。【０００６】
図１２に、一回目の符号化結果を元に各ピクチャの割り当て符号量と特徴量を算出した後、上記の方法（各ピクチャの符号化で発生した誤差符号量を次ピクチャの割り当て符号量に加算して補正する方法）を用いる場合の背景技術のフローチャートを一例として示す。【０００７】
このフローチャートに示すように、背景技術では、まずステップＳ５０１で、初期化処理として、誤差符号量およびピクチャ番号ｎを０で初期化する。【０００８】
続いて、ステップＳ５０２で、ｎ番目のピクチャを予め与えられた割り当て符号量で符号化する。【０００９】
すなわち、図１３のフローチャートに示す符号化処理を実行する。ｎ番目のピクチャの割り当て符号量とｎ番目のピクチャの特徴量から量子化幅を算出して（ステップＳ６０１）、予測残差を算出し（ステップＳ６０２）、ＤＣＴ（離散コサイン変換）を施し（ステップＳ６０３）、ＤＣＴ係数を量子化する（ステップＳ６０４）。その後、可変長符号化によって符号化ストリームを生成する（ステップＳ６０５）。一方、量子化後のＤＣＴ係数に逆量子化（ステップＳ６０６）とＩＤＣＴ（逆離散コサイン変換）（ステップＳ６０７）を施して予測残差の復号画像を作成し、予測画像と加算して復号画像を生成する（ステップＳ６０８）。【００１０】
続いて、ステップＳ５０３で、全フレーム（全ピクチャ）の符号化が完了したのか否かを判断して、全フレームの符号化が完了している場合には処理を終了し、全フレームの符号化が完了していない場合には以下の処理を実行する。【００１１】
すなわち、続くステップＳ５０４で、割り当て符号量と符号化時に発生した実符号量との差から誤差符号量を算出する。続くステップＳ５０５で、次ピクチャの割り当て符号量に誤差符号量を加算することで、次ピクチャの割り当て符号量を更新する。続くステップＳ５０６で、処理対象を次のピクチャに移行してステップＳ５０２の処理に戻り上記の手順を繰り返す。【００１２】
以上の処理を行うことで、割り当て符号量と発生符号量との誤差を逐次補正しながら目的のファイルサイズに近い符号化ストリームが得られる。【００１３】
図１４に、図１２および図１３に示すフローチャートの処理を実行する従来の映像符号化装置の装置構成を図示する。【００１４】
図１４に示すように、図１２および図１３に示すフローチャートの処理を実行する従来の映像符号化装置は、割り当て符号量保存部１０１と、２つの加算器１０２，１１１と、２つの減算器１０３，１０６と、特徴量保存部１０４と、量子化幅算出部１０５と、ＤＣＴ部１０７と、量子化部１０８と、逆量子化部１０９と、ＩＤＣＴ部１１０と、復号画像保存バッファ１１２と、予測画像生成部１１３と、可変長符号化部１１４とを備える。【００１５】
割り当て符号量保存部１０１は、各ピクチャの割り当て符号量の初期値を保存し、１ピクチャ分ずつ加算器１０２に出力する。加算器１０２は、割り当て符号量保存部１０１の出力する割り当て符号量初期値と減算器１０３の出力する誤差符号量とを加算することで、これから符号化するピクチャの割り当て符号量を算出して出力する。減算器１０３は、加算器１０２の出力する割り当て符号量と可変長符号化部１１４の出力する発生符号量との差分を算出することで、符号化を終えたピクチャの誤差符号量を算出して出力する。特徴量保存部１０４は、１パス目の符号化時に求めた各ピクチャの特徴量を保存し、１ピクチャ分ずつ量子化幅算出部１０５に出力する。量子化幅算出部１０５は、特徴量保存部１０４の出力する特徴量と加算器１０２の出力する割り当て符号量とから、これから符号化するピクチャの量子化幅を算出して出力する。【００１６】
減算器１０６は、入力画像と予測画像生成部１１３の出力する予測画像との差分を算出することで予測残差を生成して出力する。ＤＣＴ部１０７は、減算器１０６の出力する予測残差にＤＣＴを施す。量子化部１０８は、量子化幅算出部１０５の出力する量子化幅を使って、ＤＣＴ部１０７の出力する各ＤＣＴ係数に量子化を施す。逆量子化部１０９は、量子化幅算出部１０５の出力する量子化幅を使って、量子化部１０８の出力する量子化値に逆量子化を施す。ＩＤＣＴ部１１０は、逆量子化部１０９の出力する逆量子化後の係数にＩＤＣＴを施す。加算器１１１は、ＩＤＣＴ部１１０の出力する予測残差復号信号と予測画像生成部１１３の出力する予測画像とを加算することで復号画像を生成して復号画像保存バッファ１１２に出力する。復号画像保存バッファ１１２は、加算器１１１の出力する復号画像を保存する。予測画像生成部１１３は、復号画像保存バッファ１１２の保存する復号画像に基づいて予測画像を生成して出力する。可変長符号化部１１４は、量子化部１０８の出力する量子化後のＤＣＴ係数に可変長符号化を施し、符号化ストリームとして出力する。【００１７】
従来の映像符号化装置は図１４に示すような構成を用いることで、図１２および図１３に示すフローチャートの処理を実行することになる。【００１８】
なお、下記の特許文献１では、文献名（ISO/IEC JTC/SC29/WG11:"Test Model5",1993) を挙げて、非特許文献１に記載されている方法のベースとなるＣＢＲレート技術について説明している。しかし、この文献に記載された発明は、非特許文献１に記載された方法と比較して符号量変動に対する応答は高くなるものの、ＣＢＲの枠内の技術に過ぎない。従って、この文献に記載された発明をマルチパス符号化について適用する場合には、非特許文献１に記載された方法を適用する場合と同様に、各ピクチャの符号化で発生した誤差符号量を次ピクチャの割り当て符号量に加算して補正することになる。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２０００−３５８２４７号公報
【非特許文献】
【００２０】
【非特許文献１】安田浩、渡辺裕著，「ディジタル画像圧縮の基礎」，日経ＢＰ出版センター, pp.189-193, 1999
【発明の概要】
【発明が解決しようとする課題】
【００２１】
このように、ＣＢＲ符号化の方法を予め各ピクチャの割り当て符号量が定められているマルチパス符号化について適用する場合には、図１２および図１３に示すフローチャートで説明したように、各ピクチャの符号化で発生した誤差符号量を次ピクチャの割り当て符号量に加算して補正することになる。【００２２】
しかしながら、このような方法に従っていると、前ピクチャの誤差符号量を次ピクチャで清算することから、予め求めた割り当て符号量からの変動が大きくなるという問題がある。【００２３】
特に、シーケンス内で割り当て符号量が大きく変動するＶＢＲ（可変ビットレート）での動作を前提とした場合、ピクチャ毎の割り当て符号量が元々大きく異なる。そのため、前ピクチャで発生した誤差符号量を次ピクチャの割り当て符号量に加算すると元々の割り当て符号量からの変動が大きくなり、ピクチャ間で画質が大きく揺らぐ危険性が高い。【００２４】
本発明はかかる事情に鑑みてなされたものであって、映像を目的の符号量で符号化することを実現する場合に、ピクチャ毎の画質変動を小さくできるようにすることで主観画質の向上を実現する新たな映像符号量制御技術の提供を目的とする。
【課題を解決するための手段】
【００２５】
この目的を達成するために、本発明は、予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御方法であって、符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める過程と、次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する過程と、前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求める過程と、前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求める過程と、前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する過程とを備えている。【００２６】
本発明の映像符号量制御方法において、前もって、各ピクチャについて、前記割り当て符号量の前記初期値と前記定数とに基づいて、前記割り当て符号量の前記最大値および前記最小値を求める過程を備えることが好ましい。【００２７】
本発明の映像符号量制御方法において、前記選択する過程では、前記割り当て符号量が前記実発生符号量よりも大きいことで前記誤差符号量が正の値を示す場合には、前記割り当て符号量の前記最大値を前記修正許容幅として選択し、前記割り当て符号量が前記実発生符号量よりも小さいことで前記誤差符号量が負の値を示す場合には、前記割り当て符号量の前記最小値を前記修正許容幅として選択することが好ましい。【００２８】
本発明の映像符号量制御方法において、前記更新比率を値域内でクリップする過程と、前記誤差符号量と前記変動符号量の総和との差を持ち越し符号量として求める過程と、前記持ち越し符号量を次ピクチャの符号化の際に求められる前記誤差符号量に加算する過程とを備えることが好ましい。【００２９】
本発明の映像符号量制御方法において、前記更新比率は前記複数ピクチャに共通であることが好ましい。【００３０】
また、本発明は、予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御装置であって、符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める手段と、次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する手段と、前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求める手段と、前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求める手段と、前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する手段とを備えている。【００３１】
本発明の映像符号量制御装置において、前もって、各ピクチャについて、前記割り当て符号量の前記初期値と前記定数とに基づいて、前記割り当て符号量の前記最大値および前記最小値を求める手段を備えることが好ましい。【００３２】
本発明の映像符号量制御装置において、前記選択する手段は、前記割り当て符号量が前記実発生符号量よりも大きいことで前記誤差符号量が正の値を示す場合には、前記割り当て符号量の前記最大値を前記修正許容幅として選択し、前記割り当て符号量が前記実発生符号量よりも小さいことで前記誤差符号量が負の値を示す場合には、前記割り当て符号量の前記最小値を前記修正許容幅として選択することが好ましい。【００３３】
本発明の映像符号量制御装置において、前記更新比率を値域内でクリップする手段と、前記誤差符号量と前記変動符号量の総和との差を持ち越し符号量として求める手段と、前記持ち越し符号量を次ピクチャの符号化の際に求められる前記誤差符号量に加算する手段とを備えることが好ましい。【００３４】
本発明の映像符号量制御装置において、前記更新比率は前記複数ピクチャに共通であることが好ましい。【００３５】
また、本発明は、本発明の映像符号量制御方法をコンピュータに実行させるための映像符号量制御プログラムである。【００３６】
また、本発明は、本発明の映像符号量制御方法をコンピュータに実行させるための映像符号量制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００３７】
本発明によれば、各ピクチャの割り当て符号量の初期値の大きさから決定される割り当て符号量の修正許容幅をもとに、予め定められた複数のピクチャの変動可能符号量を求めて、その変動可能符号量の総和と誤差符号量との比から更新比率を求め、各ピクチャの変動可能符号量と更新比率に基づいて各ピクチャに割り振る変動符号量を求めて、変動符号量に応じて誤差符号量を次以降の複数のピクチャの割り当て符号量に割り振るようにする。
これにより、符号化したピクチャで発生した誤差符号量を次ピクチャばかりでなく複数のピクチャに分配することで、次ピクチャの割り当て符号量の変動を抑えることができ、従ってピクチャ毎の画質変動を小さくできる。【００３８】
また、割り当て符号量の最大値と最小値を、固定値ではなくて予め与えられた割り当て符号量の初期値から決定して、それに基づいて分配量（変動符号量）を決定するため、ＶＢＲのように各ピクチャの割り当て符号量のピクチャ間の変動が大きい場合でも、誤差符号量の補正による量子化幅の揺らぎが一定の範囲内に入るようになる。【００３９】
また、分配量（変動符号量）は各ピクチャの変動可能符号量に対して共通の更新比率に基づいて求めるため、各ピクチャの量子化幅は同じように変化することになり、本処理によるピクチャ間の画質の揺らぎは小さく抑えられる。【００４０】
また、分配し切れなかった誤差符号量を持ち越す機構があるため、従来方法では制御が破綻するような場合でも破綻することなく制御を続行できるようになる。加えて、この機構を実現するためのクリップ処理は更新比率に対してのみ行うため、１回の条件分岐だけで処理できる。
【図面の簡単な説明】
【００４１】
【図１Ａ】本発明が適用される映像符号量制御装置の処理の説明図である。
【図１Ｂ】本発明が適用される映像符号量制御装置の処理の説明図である。
【図２】本発明が適用される映像符号量制御装置の処理の説明図である。
【図３】本発明が適用される映像符号量制御装置の処理の説明図である。
【図４】本発明が適用される映像符号量制御装置を具備する映像符号化装置の装置構成の一例を示す図である。
【図５】割り当て符号量算出部の実行するフローチャートである。
【図６】割り当て符号量算出部の装置構成の一例を示す図である。
【図７】割り当て符号量算出部の実行するフローチャートである。
【図８】割り当て符号量算出部の実行するフローチャートである。
【図９】割り当て符号量算出部の実行するフローチャートである。
【図１０】割り当て符号量算出部の装置構成の一例を示す図である。
【図１１Ａ】本発明の有効性を検証するために行った従来方法に基づく実験結果の説明図である。
【図１１Ｂ】本発明の有効性を検証するために行った本発明に基づく実験結果の説明図である。
【図１２】背景技術のフローチャートである。
【図１３】ピクチャ符号化処理のフローチャートである。
【図１４】背景技術の装置構成図である。
【発明を実施するための形態】
【００４２】
以下、実施形態に従って本発明を詳細に説明する。
【００４３】
まず、本発明の実施形態を説明するのに先立って、本発明が適用される映像符号量制御装置の基本原理について説明しておく。
〔１〕映像符号量制御装置の構成
この映像符号量制御装置は、予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御するという構成を採るときに、（１）符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める第１の算出手段と、（２）次以降の複数ピクチャについて、第１の算出手段の求めた誤差符号量の正負に基づいて、割り当て符号量初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する選択手段と、（３）次以降の複数ピクチャについて、選択手段の選択した修正許容幅と割り当て符号量との差を変動可能符号量として求める第２の算出手段と、（４）第２の算出手段の求めた変動可能符号量の総和を算出して、算出された変動可能符号量の総和と第１の算出手段の求めた誤差符号量との比を更新比率として求める第３の算出手段と、（５）次以降の複数ピクチャについて、第２の算出手段の求めた変動可能符号量と第３の算出手段の求めた更新比率とに基づいて割り当て符号量についての変動符号量を算出して、算出された変動符号量に基づいて、複数ピクチャの各ピクチャの割り当て符号量を更新する更新手段とを備える。
【００４４】
ここで、選択手段の選択対象となる割り当て符号量の最大値および最小値については、第１の算出手段により誤差符号量が求められたときにその都度求めるのではなくて、『前もって、各ピクチャについて、割り当て符号量初期値と予め与えられた定数とに基づいて、割り当て符号量の最大値および最小値を求める第４の算出手段』を備えるようにして、選択手段がその第４の算出手段の求めたものの中から該当するものを読み出すようにしてもよい。
【００４５】
この第４の算出手段は、例えば、割り当て符号量初期値を定数倍したものを割り当て符号量最大値にし、割り当て符号量初期値を定数分の１倍したものを割り当て符号量最小値にしたり、割り当て符号量初期値に定数を加算したものを割り当て符号量最大値にし、割り当て符号量初期値から定数を引いたものを割り当て符号量最小値にしたりすることがある。
【００４６】
この構成を採るときに、さらに、（６）第３の算出手段の求めた更新比率を値域内でクリップするクリップ手段と、（７）更新手段の算出した変動符号量の総和を算出して、第１の算出手段の求めた誤差符号量とその総和との差を持ち越し符号量として求める第５の算出手段と、（８）第５の算出手段の求めた持ち越し符号量（負の値を示すこともある）を次ピクチャの符号化の際に求められる誤差符号量に加算する加算手段とを備えることがある。
【００４７】
また、選択手段は、誤差符号量が正の値を示す場合（割り当て符号量が実発生符号量よりも大きい場合）には、割り当て符号量最大値を修正許容幅として選択し、誤差符号量が負の値を示す（割り当て符号量が実発生符号量よりも小さい場合）場合には、割り当て符号量最小値を修正許容幅として選択する。なお、誤差符号量が０の場合には、誤差符号量が正の値を示すときと同様に扱っても、あるいは、誤差符号量が負の値を示すときと同様に扱っても良い。
【００４８】
以上の各処理手段が動作することで実現される映像符号量制御方法はコンピュータプログラムでも実現できるものである。このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供されたりして、この映像符号量制御方法を実施する際にインストールされてＣＰＵ（中央処理装置）などの制御手段上で動作することによりこの映像符号量制御方法を実現することになる。
【００４９】
〔２〕映像符号量制御装置の処理の一例
以下に、第４の算出手段を備える場合に実行する処理を具体例にして、この映像符号量制御装置の処理の一例について説明する。
【００５０】
このように構成される映像符号量制御装置では、一回目の符号化を行うといったような何らかの事前解析に基づいて、図１Ａに示すように、符号化対象となる各ピクチャについて割り当て符号量の初期値を決定する。そして、例えば、その割り当て符号量初期値を定数倍したものを割り当て符号量最大値にし、定数分の１倍したものを割り当て符号量最小値にする。これにより、図１Ｂに示すように、符号化対象となる各ピクチャについて割り当て符号量の変動範囲（最大値〜最小値）を決定する。
【００５１】
このとき決定される割り当て符号量の変動範囲は割り当て符号量初期値から決定されるものであることから、符号化処理において不変なものとなる。
【００５２】
この後、符号化処理に入ると、符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める。
【００５３】
背景技術では、このとき求めた誤差符号量を次ピクチャの割り当て符号量に加算することで清算するようにしているが、この方法に従っていたのでは、予め求めた割り当て符号量からの変動が大きくなってしまう。
【００５４】
そこで、この映像符号量制御装置では、図２に示すように、このとき求めた誤差符号量を、これから符号化する向こうＮ枚のピクチャに分配するという構成を採る。
【００５５】
このとき、誤差符号量をＮ等分して均等に分配するという方法を用いることは好ましくない。割り当て符号量の大きなピクチャは本来大きな符号量を必要とし、割り当て符号量の小さなピクチャは本来それほどの符号量を必要としていないことから、誤差符号量をＮ等分して均等に分配するという方法を用いることは好ましくない。
【００５６】
そこで、この映像符号量制御装置では、向こうＮ枚の各ピクチャのそれぞれについて、割り当て限度からの余裕分を求めるようにして、その余裕分に一定の割合である更新比率を乗じた符号量を求めて、それらＮ枚の各ピクチャに対して、そのようにして求めた符号量を分配するようにする。このとき、向こうＮ枚の各ピクチャに分配する符号量の総和が誤差符号量に等しいということに基づいて、更新比率を決定する。
【００５７】
すなわち、この映像符号量制御装置では、符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める。そして、この映像符号量制御装置は、その誤差符号量の正負に基づいて、その誤差符号量が正の値を示す場合には、その誤差符号量を次以降の複数ピクチャの割り当て符号量に加える形で割り振るべく、符号化に入る前に求めた割り当て符号量の最大値を修正許容幅として選択する。一方、その誤差符号量が負の値を示す場合には、この映像符号量制御装置は、その誤差符号量を次以降の複数ピクチャの割り当て符号量から差し引く形で割り振るべく、符号化に入る前に求めた割り当て符号量の最小値を修正許容幅として選択する。
【００５８】
なお、第４の算出手段を備えない場合には、この修正許容幅を選択する時点で、誤差符号量が正の値を示す場合には、次以降の複数ピクチャについて、割り当て符号量初期値の定数倍を算出することなどにより割り当て符号量の最大値を求めて、それを修正許容幅として選択する。一方、誤差符号量が負の値を示す場合には、次以降の複数ピクチャについて、割り当て符号量初期値の定数分の１倍を算出することなどにより割り当て符号量の最小値を求めて、それを修正許容幅として選択することになる。
【００５９】
続いて、次以降の複数ピクチャについて、修正許容幅と割り当て符号量との差を変動可能符号量として求めて、そのようにして求めた変動可能符号量の総和と誤差符号量との比を更新比率として求める。
【００６０】
そして、変動可能符号量と更新比率とに基づいて、次以降の複数ピクチャを構成する各ピクチャの割り当て符号量についての変動符号量を算出して、それに基づいて、それらの各ピクチャの割り当て符号量を更新する。
【００６１】
例えば、次以降のあるピクチャの割り当て符号量初期値が５０である場合に、その割り当て符号量初期値の２倍したものを割り当て符号量の最大値にし、１／２倍したものを割り当て符号量の最小値にするならば、割り当て符号量の最大値は１００となり、割り当て符号量の最小値は２５となる。
【００６２】
このときに、そのピクチャの現在の割り当て符号量が７０で、更新比率が２０％である場合に、誤差符号量が正のときには、変動可能符号量は上方向に３０（＝１００−７０）となり、誤差符号量が負のときには、変動可能符号量は下方向に４５（＝７０−２５）となる。そこで、誤差符号量が正のときには、そのピクチャの割り当て符号量を“７０＋３０×０．２＝７６”と更新し、誤差符号量が負のときには、そのピクチャの割り当て符号量を“７０−４５×０．２＝６１”と更新するのである。
【００６３】
ここで、ピクチャｊの変動可能符号量をＴm[j]と表し、誤差符号量をＤと表し、更新比率をＫと表すならば、更新比率Ｋは、向こうＮ枚のピクチャの変動可能符号量の総和ΣＴm[j]と誤差符号量Ｄとの比に従って、
Ｋ＝Ｄ／ΣＴm[j]
と求められる。この更新比率Ｋに従って、ピクチャｊの変動符号量Ｔd[j]は、
Ｔd[j]＝Ｋ×Ｔm[j]
と求められる。従って、この変動符号量Ｔd[j]の向こうＮ枚のピクチャの総和は、
ΣＴd[j]＝ΣＫ×Ｔm[j]＝Ｋ×ΣＴm[j]＝（Ｄ／ΣＴm[j]）×ΣＴm[j]＝Ｄ
となる。
【００６４】
このことから分かるように、この映像符号量制御装置では、向こうＮ枚の各ピクチャに分配する変動符号量Ｔd[j]の総和が誤差符号量Ｄに等しいということに基づいて、更新比率Ｋを決定するようにしている。
【００６５】
このようにして、この映像符号量制御装置では、符号化を終えたピクチャの割り当て符号量と実発生符号量との差に基づいて誤差符号量を求めると、この誤差符号量をそのまま次ピクチャの割り当て符号量に加算することで清算するのではなくて、これから符号化する複数のピクチャに対して、それらのピクチャの必要度に応じた形で分配して清算するようにする。
【００６６】
この構成に従って、この映像符号量制御装置によれば、映像を目的の符号量で符号化することを実現する場合に、ピクチャ毎の画質変動を小さくできるようになって主観画質の向上を実現することができるようになる。
【００６７】
この構成を採る場合、割り当て限度一杯まで割り当て符号量が積まれてしまう（引かれてしまう）と、それ以上積めなくなる（引けなくなる）ことから、誤差符号量を分配できなくなる。
【００６８】
そこで、この映像符号量制御装置では、更新比率を値域内でクリップすることで、誤差符号量と変動符号量の総和とに差ができるようにして、そのようにしてできる差を持ち越し符号量として、次ピクチャの符号化の際に求められる誤差符号量に加算するようにする。
【００６９】
すなわち、図３に示すように、積めなくなった分（引けなくなった分）については，次のピクチャの処理のときに分配するようにしている。
【００７０】
次に、上述した基本原理に基づいた本発明の一実施形態について説明する。
図４に、本発明が適応される映像符号量制御装置を具備する映像符号化装置の装置構成の一例を図示する。
【００７１】
図４に示すように、この映像符号化装置は、図１４に示すものと同じ機能を発揮する割り当て符号量保存部１０１、減算器１０３、特徴量保存部１０４、量子化幅算出部１０５、減算器１０６、ＤＣＴ部１０７、量子化部１０８、逆量子化部１０９、ＩＤＣＴ部１１０、加算器１１１、復号画像保存バッファ１１２、予測画像生成部１１３および可変長符号化部１１４を備える。これに加えて、この映像符号化装置は、本実施形態に特徴的な処理を実行する割り当て符号量算出部２００を備える。映像符号量制御装置は、割り当て符号量算出部２００と減算器１０３を含んで構成されている。
【００７２】
図５に、本実施形態に特徴的な割り当て符号量算出部２００の実行する処理のフローチャートの一例を示す。ここで、図１２に示す従来方法のフローチャートと比較して、点線で囲まれた部分が本発明の適用領域となる。
【００７３】
映像符号化装置は、処理を開始すると、まず最初に、ステップＳ１０１で、初期化処理として、誤差符号量およびピクチャ番号ｎを０で初期化する。
【００７４】
続いて、ステップＳ１０２で、ｎ番目のピクチャを予め与えられた割り当て符号量で符号化する。ここで、各ピクチャの割り当て符号量の初期値については、一回目の符号化結果に基づいて予め設定されているものとする。
【００７５】
続いて、ステップＳ１０３で、全フレーム（全ピクチャ）の符号化が完了したのか否かを判断して、全フレームの符号化が完了している場合には処理を終了し、全フレームの符号化が完了していない場合には以下の処理を実行する。
【００７６】
すなわち、ステップＳ１０４で、ｎ番目のピクチャについて、割り当て符号量と発生符号量との差から誤差符号量を算出し、続くステップＳ１０５で、算出した誤差符号量の符号が正であるのか負であるのかを判断する。
【００７７】
このステップＳ１０５の判断処理に従って、ステップＳ１０４で算出した誤差符号量が正であることを判断するときには、ステップＳ１０６に進んで、ｎ＋１からｎ＋Ｎ枚目（Ｎは予め定められた１を越える定数）までの各ピクチャの最大符号量（上述した割り当て符号量の最大値）を各ピクチャの割り当て符号量初期値と定数から算出する。
【００７８】
続いて、ステップＳ１０７で、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの最大符号量と割り当て符号量との差分から、それらの各ピクチャの変動可能符号量を算出する。
【００７９】
一方、ステップＳ１０５の判断処理に従って、ステップＳ１０４で算出した誤差符号量が負であることを判断するときには、ステップＳ１０８に進んで、ｎ＋１からｎ＋Ｎ枚目（Ｎは予め定められた１を越える定数）までの各ピクチャの最小符号量（上述した割り当て符号量の最小値）を各ピクチャの割り当て符号量初期値と定数から算出する。
【００８０】
続いて、ステップＳ１０９で、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの最小符号量と割り当て符号量との差分から、それらの各ピクチャの変動可能符号量を算出する。
【００８１】
このようにして、ステップＳ１０７，１０９で、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの変動可能符号量を算出すると、続いて、ステップＳ１１０で、算出した変動可能符号量の総和（合計値）を求めて、その変動可能符号量の総和と誤差符号量との比によって更新比率を求める。
【００８２】
続いて、ステップＳ１１１で、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの変動可能符号量と求めた更新比率との積によって、それらの各ピクチャの変動符号量を求める。
【００８３】
続いて、ステップＳ１１２で、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの割り当て符号量に求めた変動符号量を加算することで、それらの各ピクチャの割り当て符号量を更新する。なお、各ピクチャの割り当て符号量の初期値については、一回目の符号化結果に基づいて予め設定されるものであり、更新されることはない。
【００８４】
続いて、ステップＳ１１３で、処理対象を次のピクチャに移し、ステップＳ１０２の処理に戻ることで上記の処理を繰り返す。
【００８５】
以上の処理に従って、本実施形態によれば、符号化したピクチャで発生した誤差符号量を次ピクチャばかりでなく複数のピクチャに分配することで、次ピクチャの割り当て符号量の変動を抑えることができるようになる。
【００８６】
そして、割り当て符号量の最大値と最小値を、固定値ではなくて予め与えられた割り当て符号量の初期値から決定して、それに基づいて分配量を決定するため、ＶＢＲのように各ピクチャの割り当て符号量のピクチャ間の変動が大きい場合でも、誤差符号量の補正による量子化幅の揺らぎを一定の範囲内に収めることができるようになる。
【００８７】
そして、分配量は各ピクチャの変動可能符号量に対して共通の更新比率をかけることで求めるため、各ピクチャの量子化幅は同じように変化することになり、本処理によるピクチャ間の画質の揺らぎは小さく抑えることができるようになる。
【００８８】
ここで、図５のフローチャートでは、ステップＳ１０６で最大符号量を算出し、ステップＳ１０８で最小符号量を算出するようにしている。しかし、最大符号量および最小符号量については各ピクチャの割り当て符号量初期値と定数から算出することになるので、ステップＳ１０１の処理に入る前に算出することができる。これから、ステップＳ１０１の処理に入る前に最大符号量および最小符号量を算出するようにして、ステップＳ１０６，ステップＳ１０８では、その算出したものの中から該当するものを選択するようにしてもよい。このようにすれば、同じ値を示す最大符号量や最小符号量を何度も算出しなくて済むようになる。
【００８９】
図６に、図５のフローチャートを実行する割り当て符号量算出部２００の装置構成の一例を図示する。
【００９０】
図６に示すように、本実施形態に特徴的な処理を実行する割り当て符号量算出部２００は、割り当て制御部２００１と、許容修正幅算出部２００２と、最大符号量保持メモリ２００３と、最小符号量保持メモリ２００４と、割り当て符号量保持メモリ２００５と、正負判定部２００６と、減算器２００７と、合計値算出部２００８と、比率算出部２００９と、乗算器２０１０と、加算器２０１１と、スイッチＡ２０１２と、スイッチＢ２０１３と、スイッチＣ２０１４とを備える。
【００９１】
この割り当て制御部２００１は、３つのメモリ２００３，２００４，２００５にメモリ読み出し制御信号を送って各メモリ２００３，２００４，２００５の出力を制御するとともに、スイッチＢ２０１３のＯＮ／ＯＦＦとスイッチＣ２０１４の切り替えを制御する。
【００９２】
許容修正幅算出部２００２は、各ピクチャの割り当て符号量初期値から各ピクチャの最大符号量と最小符号量をそれぞれ算出して、最大符号量保持メモリ２００３と最小符号量保持メモリ２００４に出力する。
【００９３】
最大符号量保持メモリ２００３は、許容修正幅算出部２００２の出力する各ピクチャの最大符号量を保持し、割り当て制御部２００１からのメモリ読み出し制御信号を受け取ると、指定されたピクチャ番号の最大符号量をスイッチＡ２０１２に出力する。
【００９４】
最小符号量保持メモリ２００４は、許容修正幅算出部２００２の出力する各ピクチャの最小符号量を保持し、割り当て制御部２００１からのメモリ読み出し制御信号を受け取ると、指定されたピクチャ番号の最小符号量をスイッチＡ２０１２に出力する。
【００９５】
割り当て符号量保持メモリ２００５は、スイッチＣ２０１４の出力する各ピクチャの割り当て符号量を保持し、割り当て制御部２００１からのメモリ読み出し制御信号に従って、指定されたピクチャ番号の割り当て符号量を減算器２００７および加算器２０１１に出力する。
【００９６】
正負判定部２００６は、符号化を終えたピクチャについての誤差符号量の正負を判定して、その判定結果に応じた切り替え制御信号をスイッチＡ２０１２に出力することで、判定結果が正である場合には、スイッチＡ２０１２が最大符号量保持メモリ２００３の出力する最大符号量を選択して出力するように制御し、判定結果が負である場合には、スイッチＡ２０１２が最小符号量保持メモリ２００４の出力する最小符号量を選択して出力するように制御する。
【００９７】
減算器２００７は、スイッチＡ２０１２の出力する最大符号量または最小符号量と割り当て符号量保持メモリ２００５の出力する割り当て符号量との差分を算出することで各ピクチャの変動可能符号量を算出して、合計値算出部２００８および乗算器２０１０に出力する。
【００９８】
合計値算出部２００８は、減算器２００７の出力する変動可能符号量の合計値を算出することで各ピクチャの変動可能符号量の合計値を算出して、比率算出部２００９に出力する。
【００９９】
比率算出部２００９は、合計値算出部２００８の出力する変動可能符号量の合計値と符号化を終えたピクチャについての誤差符号量との比を求めることで更新比率を算出して、乗算器２０１０に出力する。
【０１００】
乗算器２０１０は、減算器２００７の出力する変動可能符号量と比率算出部２００９の出力する更新比率とを乗算することで各ピクチャの変動符号量を算出して、加算器２０１１に出力する。
【０１０１】
加算器２０１１は、割り当て符号量保持メモリ２００５の出力する割り当て符号量と乗算器２０１０の出力する変動符号量とを加算することで各ピクチャの割り当て符号量の更新値を求めて、スイッチＢ２０１３およびスイッチＣ２０１４に出力する。
【０１０２】
スイッチＡ２０１２は、正負判定部２００６からの切り替え制御信号に従って、最大符号量を選択する場合には端子ａを選択し、最小符号量を選択する場合には端子ｂを選択することで、最大符号量保持メモリ２００３の出力する最大符号量か最小符号量保持メモリ２００４の出力する最小符号量のいずれかを選択して、減算器２００７に出力する。
【０１０３】
スイッチＢ２０１３は、割り当て制御部２００１からの切り替え制御信号に従って、加算器２０１１の出力する割り当て符号量の更新値を、図４に示した量子化幅算出部１０５および減算器１０３に出力する。
【０１０４】
スイッチＣ２０１４は、割り当て制御部２００１からの切り替え制御信号に従って、割り当て符号量の初期値を選択する場合には端子ａを選択し、加算器２０１１の出力する更新された割り当て符号量を選択する場合には端子ｂを選択することで、割り当て符号量初期値か割り当て符号量の更新値のいずれかを選択して、割り当て符号量保持メモリ２００５に出力する。
【０１０５】
次に、このように構成される割り当て符号量算出部２００の実行する処理について詳細に説明する。
【０１０６】
割り当て符号量算出部２００は、処理が始まると、割り当て符号量初期値を許容修正幅算出部２００２に入力し、１枚目からＮ枚目のピクチャの最大符号量、最小符号量を求めて、それぞれ最大符号量保持メモリ２００３、最小符号量保持メモリ２００４に送る。そして、割り当て制御部２００１からスイッチＣ２０１４に切り替え制御信号を送ってスイッチＣ２０１４を端子ａ側に切り替え、割り当て符号量保持メモリ２００５に対して１枚目からＮ枚目のピクチャの割り当て符号量初期値を入力する。
【０１０７】
一方、正負判定部２００６は、入力された誤差符号量の正負を判定してスイッチＡ２０１２に切り替え制御信号を送り、正ならば端子ａ側に、負ならば端子ｂ側に切り替える。続いて、割り当て制御部２００１から最大符号量保持メモリ２００３、最小符号量保持メモリ２００４、割り当て符号量保持メモリ２００５にメモリ読み出し制御信号を送り、各メモリに保持されている１枚目からＮ枚目までのピクチャの各値を出力する。
【０１０８】
続いて、減算器２００７によって、各出力の差分を求めて変動可能符号量とし、その合計値を合計値算出部２００８によって算出する。その後、比率算出部２００９によって、その求めた変動可能符号量の合計値と誤差符号量との比から更新比率を求める。
【０１０９】
更新比率算出後、再び、割り当て制御部２００１から最大符号量保持メモリ２００３、最小符号量保持メモリ２００４、割り当て符号量保持メモリ２００５にメモリ読み出し制御信号を送り、各メモリに保持されている１枚目からＮ枚目までのピクチャの各値を出力する。
【０１１０】
続いて、減算器２００７によって、出力された各値の差分から各ピクチャの変動可能符号量を求め、乗算器２０１０によって、先ほど求めた更新比率との積により各ピクチャの変動符号量を算出する。そして、加算器２０１１によって、求めた各ピクチャの変動符号量を各ピクチャの割り当て符号量に加算することで、各ピクチャの割り当て符号量の更新値を算出する。
【０１１１】
続いて、割り当て制御部２００１からの切り替え制御信号によって、スイッチＣ２０１４を端子ｂ側に切り替え、求めた各ピクチャの割り当て符号量の更新値を割り当て符号量保持メモリ２００５に出力することで、各ピクチャの割り当て符号量を更新する。
【０１１２】
最後に、割り当て制御部２００１からの切り替え制御信号によって、スイッチＢ２０１３をＯＮにし、更新した次ピクチャの割り当て符号量を図４に示した量子化幅算出部１０５および減算器１０３に出力する。
【０１１３】
次のピクチャの処理では、スイッチＣ２０１４を端子ａ側に切り替えたときに、Ｎ＋１枚目のピクチャの割り当て符号量初期値のみ割り当て符号量保持メモリ２００５に送り、２枚目からＮ枚目までのピクチャの割り当て符号量は保持したままとする。
【０１１４】
次に、図５に点線枠で示した本実施形態に特徴的な処理について、図６のブロック図と対応させて説明する。
【０１１５】
ｎ枚目のピクチャの符号化が終わり、その誤差符号量が求まった時点とする。このとき、スイッチＣ２０１４は端子ａ側に切り換わっているものとする。
【０１１６】
誤差符号量の正負を正負判定部２００６で判定して、スイッチＡ２０１２に切り替え制御信号を送り、正の場合には端子ａ側に、負の場合には端子ｂ側に切り替える。
【０１１７】
誤差符号量が正の場合には、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの最大符号量を、割り当て符号量初期値および定数をもとに許容修正幅算出部２００２で算出して、最大符号量保持メモリ２００３に格納する。続いて、減算器２００７により、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの変動可能符号量を算出する。この算出処理は、割り当て制御部２００１からのメモリ読み出し制御信号に従い、各ピクチャの最大符号量を最大符号量保持メモリ２００３から順次減算器２００７に出力するとともに、その時点における各ピクチャの割り当て符号量を割り当て符号量保持メモリ２００５から順次減算器２００７に出力することで算出される。
【０１１８】
一方、誤差符号量が負の場合には、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの最小符号量を、割り当て符号量初期値および定数をもとに許容修正幅算出部２００２で算出して、最小符号量保持メモリ２００４に格納する。続いて、減算器２００７により、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの変動可能符号量を算出する。この算出処理は、割り当て制御部２００１からのメモリ読み出し制御信号に従い、各ピクチャの最小符号量を最小符号量保持メモリ２００４から順次減算器２００７に出力するとともに、その時点における各ピクチャの割り当て符号量を割り当て符号量保持メモリ２００５から順次減算器２００７に出力することで算出される。
【０１１９】
続いて、変動可能符号量の総和と誤差符号量との比から更新比率を算出する。変動可能符号量の総和は、減算器２００７からの出力を合計値算出部２００８で和を取ることで行う。この和と誤差符号量とから比率算出部２００９によって更新比率を求める。
【０１２０】
続いて、各ピクチャの変動符号量を乗算器２０１０により求める。これは、更新比率の算出後に、割り当て制御部２００１からメモリ読み出し制御信号を割り当て符号量保持メモリ２００５、最大符号量保持メモリ２００３、最小符号量保持メモリ２００４に送り、減算器２００７で上記と同様に変動可能符号量を算出する。そして、この値と更新比率とを乗算器２０１０で乗算して、ｎ＋１からｎ＋Ｎ枚目までの各ピクチャの変動符号量を求める。
【０１２１】
一方、この変動符号量と割り当て符号量保持メモリ２００５から出力される各ピクチャの割り当て符号量とを加算器２０１１で加算し、各ピクチャの割り当て符号量の更新値を求める。そして、割り当て制御部２００１からの切り替え制御信号によりスイッチＣ２０１４を端子ｂ側に切り替えて、更新された割り当て符号量によって、割り当て符号量保持メモリ２００５に保持されている各ピクチャの割り当て符号量を上書き更新する。
【０１２２】
以上に説明した図４および図６の構成に従って、図５に示すフローチャートの処理を実現できるようになる。
【実施例１】
【０１２３】
次に、実施例に従って、本発明について詳細に説明する。【０１２４】
以下に説明する実施例では、ピクチャ毎の割り当て符号量の最大値と最小値を、予め与えられた各ピクチャの割り当て符号量初期値の定数倍、定数分の一でそれぞれ求めるものとする。また、更新比率を最大値以下（値域内）にクリップする機能を有するものとする。それに伴い、誤差符号量のうち各ピクチャに割り当てられなかった分については持ち越し符号量（負の値を示すこともある）として、次のピクチャの誤差符号量に加算する機能を有するものとする。【０１２５】
図７に、割り当て符号量算出部２００が本実施例を実現するために実行するフローチャートの一例を示す。【０１２６】
本実施例では、処理を開始すると、まず最初に、ステップＳ２０１で、初期化処理として、誤差符号量Ｄ、持ち越し符号量Ｃおよびピクチャ番号ｎを０で初期化する。【０１２７】
続いて、ステップＳ２０２で、ｎ番目のピクチャを予め与えられた割り当て符号量で符号化する。ここで行う符号化は、図５のフローチャートのステップＳ１０２で行う符号化と同じものである。【０１２８】
続いて、ステップＳ２０３で、全フレーム（全ピクチャ）の符号化が完了したのか否かを判断して、全フレームの符号化が完了している場合には処理を終了し、全フレームの符号化が完了していない場合には以下の処理を実行する。【０１２９】
すなわち、ステップＳ２０４で、ｎ番目のピクチャについて、割り当て符号量Ｔt と実際に発生した実符号量Ｔg との差から誤差符号量Ｄ
Ｄ←Ｔt −Ｔg 
を算出する。【０１３０】
続いて、ステップＳ２０５で、誤差符号量Ｄに持ち越し符号量Ｃを加算することで、持ち越し符号量Ｃを加算した誤差符号量Ｄ
Ｄ←Ｄ＋Ｃ
を算出する。【０１３１】
続いて、ステップＳ２０６で、誤差符号量Ｄが０以上であるのか否かを判断して、誤差符号量Ｄが０以上であることを判断するときには、ステップＳ２０７に進んで、図８のフローチャートに示す処理を実行する。【０１３２】
すなわち、図８のフローチャートに示すように、先ず最初に、ステップＳ３０１で、ｎ＋１枚目からｎ＋Ｎ枚目（Ｎは予め定められた１を越える定数）までの各ピクチャについて、予め与えられた符号量Ｔorg[j]の定数倍によって最大符号量Ｔmax[j]を求める（ｎ＋１≦ｊ≦ｎ＋Ｎ）。定数倍の定数をαで表すならば、
Ｔmax[j]←Ｔorg[j]×α
を求めるのである。ここで、Ｔorg[j]は、具体的には、一回目の符号化結果に基づいて設定されたｊ番目のピクチャの割り当て符号量の初期値である。【０１３３】
続いて、ステップＳ３０２で、ｎ＋１枚目からｎ＋Ｎ枚目までの各ピクチャについて、変動可能符号量Ｔm[j]とその総和Ｔｍ＿ｓｕｍを求める。すなわち、最大符号量Ｔmax[j]と割り当て符号量Ｔt[j]とに基づいて、変動可能符号量Ｔm[j]
Ｔm[j]←Ｔmax[j]−Ｔt[j]
を算出するとともに、その総和Ｔｍ＿ｓｕｍ
Ｔｍ＿ｓｕｍ←ΣＴm[j]
ただし、Σはｎ＋１≦ｊ≦ｎ＋Ｎについての総和
を算出するのである。【０１３４】
続いて、ステップＳ３０３で、誤差符号量Ｄ（≧０）と変動可能符号量の総和Ｔｍ＿ｓｕｍ（≧０）との比から、更新比率Ｋ
Ｋ←Ｄ／Ｔｍ＿ｓｕｍ
を求める。【０１３５】
続いて、ステップＳ３０４で、求めた更新比率Ｋを最大値Ｋmax(予め与えられた固定値）でクリップする。すなわち、求めた更新比率Ｋと予め設定された最大値Ｋmax とに基づいて、
Ｋ←Ｍax〔Ｋ，Ｋmax 〕
を求めるのである。【０１３６】
続いて、ステップＳ３０５で、このようして求めた更新比率Ｋを使って、ｎ＋１枚目からｎ＋Ｎ枚目までの各ピクチャについて、変動符号量Ｔd[j]を求める。すなわち、更新比率Ｋと変動可能符号量Ｔm[j]とに基づいて、変動符号量Ｔd[j]
Ｔd[j]←Ｋ×Ｔm[j]
を算出するのである。【０１３７】
続いて、ステップＳ３０６で、このようにして求めた変動符号量Ｔd[j]を割り当て符号量Ｔt[j]に加算することで、ｎ＋１枚目からｎ＋Ｎ枚目までの各ピクチャについて、割り当て符号量Ｔt[j]を更新して、図７のフローチャートのステップＳ２０７の処理を終了する。すなわち、変動符号量Ｔd[j]と割り当て符号量Ｔt[j]とに基づいて、
Ｔt[j]←Ｔt[j]＋Ｔd[j]
というように割り当て符号量Ｔt[j]を更新して、図７のフローチャートのステップＳ２０７の処理を終了するのである。【０１３８】
一方、図７のフローチャートのステップＳ２０６で、誤差符号量Ｄが０以上でないことを判断するときには、ステップＳ２０８に進んで、図９のフローチャートに示す処理を実行する。【０１３９】
すなわち、図９のフローチャートに示すように、先ず最初に、ステップＳ４０１で、ｎ＋１枚目からｎ＋Ｎ枚目（Ｎは予め定められた１を越える定数）までの各ピクチャについて、予め与えられた符号量Ｔorg[j]の定数分の一によって最小符号量Ｔmin[j]を求める（ｎ＋１≦ｊ≦ｎ＋Ｎ）。すなわち、定数分の一の定数をαで表すならば、
Ｔmin[j]←Ｔorg[j]／α
を求めるのである。ここで、Ｔorg[j]は、具体的には、一回目の符号化結果に基づいて設定されたｊ番目のピクチャの割り当て符号量の初期値である。なお、定数分の一の定数は、上述した定数倍の定数と同じ値（α）であることが好ましいが、これら２つの定数が同一であることは必須ではない。【０１４０】
続いて、ステップＳ４０２で、ｎ＋１枚目からｎ＋Ｎ枚目までの各ピクチャについて、変動可能符号量Ｔm[j]とその総和Ｔｍ＿ｓｕｍを求める。すなわち、最小符号量Ｔmin[j]と割り当て符号量Ｔt[j]とに基づいて、変動可能符号量Ｔm[j]
Ｔm[j]←Ｔmin[j]−Ｔt[j]
を算出するとともに、その総和Ｔｍ＿ｓｕｍ
Ｔｍ＿ｓｕｍ←ΣＴm[j]
ただし、Σはｎ＋１≦ｊ≦ｎ＋Ｎについての総和
を算出するのである。【０１４１】
続いて、ステップＳ４０３で、誤差符号量Ｄ（＜０）と変動可能符号量の総和Ｔｍ＿ｓｕｍ（＜０）との比から、更新比率Ｋ
Ｋ←Ｄ／Ｔｍ＿ｓｕｍ
を求める。【０１４２】
続いて、ステップＳ４０４で、求めた更新比率Ｋを最大値Ｋmax(予め与えられた固定値）でクリップする。すなわち、求めた更新比率Ｋと予め設定された最大値Ｋmax とに基づいて、
Ｋ←Ｍax〔Ｋ，Ｋmax 〕
を求めるのである。【０１４３】
続いて、ステップＳ４０５で、このようして求めた更新比率Ｋを使って、ｎ＋１枚目からｎ＋Ｎ枚目までの各ピクチャについて、変動符号量Ｔd[j]を求める。すなわち、更新比率Ｋと変動可能符号量Ｔm[j]とに基づいて、変動符号量Ｔd[j]
Ｔd[j]←Ｋ×Ｔm[j]
を算出するのである。【０１４４】
続いて、ステップＳ４０６で、このようにして求めた変動符号量Ｔd[j]を割り当て符号量Ｔt[j]に加算することで、ｎ＋１枚目からｎ＋Ｎ枚目までの各ピクチャについて、割り当て符号量Ｔt[j]を更新して、図７のフローチャートのステップＳ２０８の処理を終了する。すなわち、変動符号量Ｔd[j]と割り当て符号量Ｔt[j]とに基づいて、
Ｔt[j]←Ｔt[j]＋Ｔd[j]
というように割り当て符号量Ｔt[j]を更新して、図７のフローチャートのステップＳ２０８の処理を終了するのである。【０１４５】
図７のフローチャートにおいて、ステップＳ２０７，ステップＳ２０８の処理を終了すると、続いて、ステップＳ２０９で、変動符号量Ｔd[j]の総和Ｔｄ＿ｓｕｍを求める。すなわち、
Ｔｄ＿ｓｕｍ←ΣＴd[j]
ただし、Σはｎ＋１≦ｊ≦ｎ＋Ｎについての総和
を算出するのである。【０１４６】
続いて、ステップＳ２１０で、誤差符号量Ｄと算出した変動符号量の総和Ｔｄ＿ｓｕｍとの差分により持ち越し符号量Ｃ
Ｃ←Ｄ−Ｔｄ＿ｓｕｍ
を算出する。上述したように、このようにして算出した持ち越し符号量Ｃについては、ステップＳ２０５で誤差符号量Ｄに加算されることになる。【０１４７】
続いて、ステップＳ２１１で、処理対象を次のピクチャに移し、ステップＳ２０２の処理に戻ることで、次のピクチャを割り当て符号量Ｔｔで符号化する、という処理を繰り返す。【０１４８】
本実施例の処理を実現するための映像符号化装置の基本的な構成は図４に示したものと同じ構成となり、割り当て符号量算出部２００が図６に示すものと異なって、図６に示す構成に新たな構成が追加されることになる。【０１４９】
図１０に、本実施例の処理を実現するための割り当て符号量算出部２００の構成の一例を図示する。【０１５０】
図１０に示すように、本実施例の処理を実現する場合、割り当て符号量算出部２００は、図６に示した各処理手段２００１〜２００８，２０１０〜２０１４を備えることに加えて、比率算出部２００９が算出した更新比率を最大値以下にクリップする機能を有し、さらに、新たに、第２の合計値算出部２０１５と、減算器２０１６と、持ち越し量保持部２０１７と、加算器２０１８とを備える。【０１５１】
この第２の合計値算出部２０１５は、乗算器２０１０の出力する変動符号量Ｔd[j]を入力として、その合計値を算出することで変動符号量の総和Ｔｄ＿ｓｕｍを算出して、減算器２０１６に出力する。【０１５２】
減算器２０１６は、誤差符号量Ｄと第２の合計値算出部２０１５の出力する変動符号量の総和Ｔｄ＿ｓｕｍとの差分を算出することで持ち越し符号量Ｃを算出して、持ち越し量保持部２０１７に出力する。【０１５３】
持ち越し量保持部２０１７は、減算器２０１６の出力する持ち越し符号量Ｃを保持して、次ピクチャの符号化時に、保持している持ち越し符号量Ｃを加算器２０１８に出力する。【０１５４】
加算器２０１８は、次ピクチャの符号化時に、持ち越し量保持部２０１７の出力する持ち越し符号量Ｃと今回の符号化で得た誤差符号量Ｄとを加算することで誤差符号量Ｄを修正して、正負判定部２００６、比率算出部２００９および減算器２０１６に出力する。【０１５５】
以上に説明した図１０の構成に従って、図７〜図９に示す本実施例のフローチャートの処理を実現できるようになる。【０１５６】
次に、本発明の有効性を検証するために行った実験について説明する。【０１５７】
この実験は映像符号化標準規格Ｈ.264の参照ソフトウェアＪＭ12.1を使い、従来方法と本発明とを比較することで行った。実験画像にはＩＴＥ標準画像 seq07 "European Market" (1440×1080, 先頭より450 フレーム, テロップ入り）を使用した。また、符号化方法は２パスエンコード方式を使用し、１回目の符号化を量子化幅固定で行い、各ピクチャの発生符号量の半分を２回目の符号化時の目標符号量とすることで行った。１回目の符号化時の量子化パラメータ（量子化幅をｌｏｇスケールで表したもの）は、Ｉピクチャが２４、Ｐピクチャが２７、Ｂピクチャが３０で行った。【０１５８】
従来方法の実験については、１ピクチャ毎に発生した誤差を次ピクチャに加算して符号化することで行った。なお、実用性を考えて、加算は、例えばＩピクチャの誤差は次のＩピクチャで補正するというように、次の同一タイプピクチャに対して行うようにした。【０１５９】
一方、本発明の実験については、実施例に記載した方法に従って符号化することで行った。ここで、最大符号量は割り当て符号量初期値の２倍、最小符号量は割り当て符号量初期値の１／２とし、１５フレーム（Ｎ＝１５）に渡って修正することで行った。【０１６０】
図１１Ａおよび図１１Ｂに、従来方法と本発明とを比較する形で本実験の結果をそれぞれ示す。ここで、横軸はフレーム番号を示し、縦軸は量子化パラメータを示す。【０１６１】
この実験結果から、本発明の方が量子化幅の振動が少なく、画質が安定していることが分かる。この実験結果により、本発明の有効性を検証することができた。【０１６２】
なお、上記で説明した各処理ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、映像符号化装置に係る上述した種々の処理を行ってもよい。【０１６３】
ここでいうコンピュータシステムとは、ＯＳ（オペレーティングシステム）や周辺機器等のハードウェアを含むものであってもよい。また、コンピュータシステムは、ＷＷＷ（ワールドワイドウェブ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。【０１６４】
コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ（コンパクトディスク）−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、コンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。【０１６５】
上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介してあるいは伝送媒体中の伝送波により、他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。【０１６６】
以上、本発明の実施形態および実施例を説明したが、本発明は上述した実施形態や実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で構成の付加，省略，置換，およびその他の変更が可能である。本発明は前述した説明によって限定されることはなく、添付の請求の範囲によってのみ限定される。
【産業上の利用可能性】
【０１６７】
本発明は映像の符号化に適用できるものであり、本発明を適用することで、映像を目的の符号量で符号化することを実現する場合に、ピクチャ毎の画質変動を小さくできるようになって主観画質の向上を実現することができるようになる。
【符号の説明】
【０１６８】
１０１    割り当て符号量保存部
１０３    減算器
１０４    特徴量保存部
１０５    量子化幅算出部
１０６    減算器
１０７    ＤＣＴ部
１０８    量子化部
１０９    逆量子化部
１１０    ＩＤＣＴ部
１１１    加算器
１１２    復号画像保存バッファ
１１３    予測画像生成部
１１４    可変長符号化部
２００    割り当て符号量算出部
２００１  割り当て制御部
２００２  許容修正幅算出部
２００３  最大符号量保持メモリ
２００４  最小符号量保持メモリ
２００５  割り当て符号量保持メモリ
２００６  正負判定部
２００７  減算器
２００８  合計値算出部
２００９  比率算出部
２０１０  乗算器
２０１１  加算器
２０１２  スイッチＡ
２０１３  スイッチＢ
２０１４  スイッチＣ
【図１Ａ】
2009148076.tif 000003
【図１Ｂ】
2009148076.tif 000004
【図２】
2009148076.tif 000005
【図３】
2009148076.tif 000006
【図４】
2009148076.tif 000007
【図５】
2009148076.tif 000008
【図６】
2009148076.tif 000009
【図７】
2009148076.tif 000010
【図８】
2009148076.tif 000011
【図９】
2009148076.tif 000012
【図１０】
2009148076.tif 000013
【図１１Ａ】
2009148076.tif 000014
【図１１Ｂ】
2009148076.tif 000015
【図１２】
2009148076.tif 000016
【図１３】
2009148076.tif 000017
【図１４】
2009148076.tif 000018
【国際調査報告】
2009148076.tif 000019
2009148076.tif 000020