(57)【要約】【課題】  ビットレートの変更が検出された場合、仮想バッファの初期バッファ容量を調整する。【解決手段】  ステップＳ１で、ビットレート情報が取得され、ステップＳ２で、ビットレートが変更されたか否かが判断される。ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されない。ビットレートが変更されたと判断された場合、ステップＳ３で、VBVの占有量が取得され、ステップＳ４で、VBVの占有量、および、変更前後のビットレートを基に、d'(0)＝d(0)×k1×(bit_rate(1)−bit_rate(0))／vbv_ocpにより、仮想バッファの初期バッファ容量ｄ（０）が算出されて、仮想バッファの初期バッファ容量が、ビットレートおよびVBV占有量に応じた値に調整される。本発明は、符号化装置に適用できる。【選択図】図４
2005033599.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像データを符号化する符号化装置において、
前記フレーム画像データのビットレートを検出する第１の検出手段と、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、
前記決定手段により決定された前記量子化インデックスデータを基に、量子化を実行する量子化手段と、
前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
を備え、
前記決定手段は、前記第１の検出手段による検出結果を基に、前記ビットレートが変更された場合、前記仮想バッファの初期バッファ容量を調整するか否かを判断する
ことを特徴とする符号化装置。
【請求項２】
前記決定手段は、バッファ占有量を更に検出し、前記ビットレートが変更された場合、前記第１の検出手段により検出された変更前の第１のビットレート、および、変更後の第２のビットレート、並びに、検出されたビットレート変更時のバッファ占有量を基に、前記仮想バッファの初期バッファ容量の値を算出して、前記初期バッファ容量を調整する
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記フレーム画像データの符号化難易度を検出する第２の検出手段を更に備え、
前記決定手段は、バッファ占有量を更に検出し、前記ビットレートが変更された場合、前記第１の検出手段により検出された変更前の第１のビットレート、および、変更後の第２のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、前記第２の検出手段により検出された前記フレーム画像データの符号化難易度を基に、前記仮想バッファの初期バッファ容量の値を算出して、前記初期バッファ容量を調整する
ことを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記フレーム画像データの符号化難易度を検出する第２の検出手段を更に備え、
前記決定手段は、バッファ占有量を更に検出し、前記ビットレートが変更された場合、前記第２の検出手段により検出された前記フレーム画像データの符号化難易度を所定の閾値と比較し、前記符号化難易度が前記所定の閾値よりも高かったとき、前記第１の検出手段により検出された変更前の第１のビットレート、および、変更後の第２のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、前記第２の検出手段により検出された前記フレーム画像データの符号化難易度を基に、前記仮想バッファの初期バッファ容量の値を算出して、前記初期バッファ容量を調整する
ことを特徴とする請求項１に記載の符号化装置。
【請求項５】
フレーム画像データを符号化する符号化装置の符号化方法において、
前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基に、前記ビデオデータを構成するピクチャの前記ビットレートが変更されたか否かを判断する判断ステップと、
前記判断ステップの処理により、前記ビットレートが変更されたと判断された場合、前記仮想バッファの初期バッファ容量を調整する調整ステップと
を含むことを特徴とする符号化方法。
【請求項６】
フレーム画像データを符号化する処理をコンピュータに実行させるプログラムであって、
前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基に、前記ビデオデータを構成するピクチャの前記ビットレートが変更されたか否かを判断する判断ステップと、
前記判断ステップの処理により、前記ビットレートが変更されたと判断された場合、前記仮想バッファの初期バッファ容量を調整する調整ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明は、符号化装置、および、符号化方法、並びに、プログラムに関し、特に、符号化におけるレート制御を行う場合、ビットレートが変更されても、VBVアンダーフローを避けて、画像劣化が起こらないようにすることができる、符号化装置、および、符号化方法、並びに、プログラムに関する。
【背景技術】
【０００２】
衛星放送に代表されるディジタル放送においては、例えばMPEG（Moving Picture Experts Group）の手法によりデータ圧縮された複数のプログラムが、統計多重の手法により、その伝送レートが動的に変化されて多重化される。これにより、限られた伝送レートを有効に利用して、全体として高画質のプログラムを伝送することができる。
【０００３】
すなわち、統計多重の手法により、複数の番組のプログラムが多重化される場合、複数のプログラムにおいて画質劣化が知覚され易い箇所が同時に発生することは実際には起こりにくいので、具体的には、それぞれのプログラムにおいて、画質劣化が知覚されやすい個所にはレートが多く割当てられ、画質劣化が知覚されにくい個所のレート配分が削除されて、各プログラムの伝送レートが動的に変化される。これにより、画質の劣化を知覚するのが困難な部分に必要以上にレートを割り当てる必要がなくなり、その分のレートを、他のプログラムに振り分けることにより、全体として、画質を劣化させることなく、伝送効率を向上させることができる。
【０００４】
ところで、このように統計多重によりビットレートを変更して種々のプログラムを伝送する場合、デコーダ（復号装置）側で、連続する映像を途切れることなく（以下シームレスと称する）デコードすることができるように、エンコーダ（符号化装置）側でビットレートを制御する必要がある。すなわち、エンコーダ側では、デコーダが伝送されてきたデータを一時的に保持する、所謂VBV（Video Buffering Verifier）バッファ（仮想的なバッファ）が、オーバーフローしたり、アンダーフローしないように、ビットレートを制御する必要がある。
【０００５】
特に、放送または通信などのアプリケーションにおいては、例えば、DVD（Digital Versatile Disk）のような蓄積メディアに情報を記録する場合とは異なり、デコーダ側でビットストリームの読み出しを制御することができないので、エンコーダ側において、VBVバッファのデータ量を制御する必要がある。
【０００６】
シームレスなビットレートの変更を可能にするには、エンコーダがエンコードしたデータを出力バッファに書き込んだ後、デコーダが対応するデータを入力バッファから読み出すまでの遅延時間τが、ビットレートに拘らず、常に一定になるようにすればよい。このようにビットレートを制御すれば、VBVバッファには、一定のトランスポートストリームデータが保持される。したがって、入力バッファがオーバーフローしたり、アンダーフローすることを防止することができ、シームレスにビットレートを制御することができる。
【０００７】
VBVバッファによる遅延時間τは、トランスポートストリームのビットレートが最低のビットレートのときに最も大きくなる。
【０００８】
このように、統計多重が行われる場合など、シームレスにビットレートを変更する場合において、最低ビットレートを低く設定しても遅延時間を短く維持することができ、統計多重の利点を生かして、全体として画質を向上させることができるようにするために、ビットレートに応じて、VBVバッファの使用可能範囲を制御する技術がある。（例えば、特許文献１参照）。
【０００９】
【特許文献１】特開平１１−２６２００８号公報
【００１０】
ビットレートに応じてVBVバッファの使用可能範囲が制御される場合の、VBVバッファの最大容量、ビットレート、および、符号化遅延について、図１を用いて説明する。
【００１１】
VBVバッファの最大容量がvbv_size(0)であり、符号化遅延をτとするときのビットレートがbit_rate(0)である場合、次の式（１）が満たされる。
【００１２】
τ＝vbv_size(0)/bit_rate(0)・・・（１）
【００１３】
シームレスビットレート変更を行なうことのできる条件は、ビットレート変更後の遅延時間が常にτ以下となることであり、bit_rate(0)より低いビットレートbit_rate(1)にビットレートが変更する際のVBVバッファ最大値vbv_size(1)は、次の式（２）を満たすようになされる。
【００１４】
vbv_size(1)＝bit_rate(1)×τ・・・（２）
【００１５】
すなわち、図２に示されるように、ビットレートがbit_rate(0)からbit_rate(1)に変更される場合、VBVバッファの最大値は、vbv_size(0)からvbv_size(1)に変更され、ビットレートがbit_rate(1)からbit_rate(0)に変更される場合、VBVバッファの最大値は、vbv_size(1)からvbv_size(0)に変更される。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ここで、ビットレートが低ビットレートであるbit_rate(1)から、高ビットレートであるbit_rate(0)に変更される場合、図２のビットレート変更点Ａにおいて、VBVバッファの占有量が少ないにもかかわらず、急にビットレートが高くなることにより、前のピクチャに基づいて符号化をするために、発生符号量が大きくなり、VBVアンダーフローが発生しやすくなる。このような場合、VBVアンダーフローを回避するために、デコーダでは、ピクチャスキップやマクロブロックスキップが行われてしまい、画質が劣化してしまう。
【００１７】
本発明はこのような状況に鑑みてなされたものであり、ビットレートが変更された場合、特に、低レートから高レートに変更された場合においても、VBVアンダーフローが発生しないように、レート制御を行うことができるようにするものである。
【課題を解決するための手段】
【００１８】
本発明の符号化装置は、フレーム画像データのビットレートを検出する第１の検出手段と、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、決定手段により決定された量子化インデックスデータを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備え、決定手段は、第１の検出手段による検出結果を基に、ビットレートが変更された場合、仮想バッファの初期バッファ容量を調整するか否かを判断することを特徴とする。
【００１９】
決定手段には、バッファ占有量を更に検出させるようにすることができ、ビットレートが変更された場合、第１の検出手段により検出された変更前の第１のビットレート、および、変更後の第２のビットレート、並びに、検出されたビットレート変更時のバッファ占有量を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整させるようにすることができる。
【００２０】
フレーム画像データの符号化難易度を検出する第２の検出手段を更に備えさせるようにすることができ、決定手段には、バッファ占有量を更に検出させるようにすることができ、ビットレートが変更された場合、第１の検出手段により検出された変更前の第１のビットレート、および、変更後の第２のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、第２の検出手段により検出されたフレーム画像データの符号化難易度を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整させるようにすることができる。
【００２１】
フレーム画像データの符号化難易度を検出する第２の検出手段を更に備えさせるようにすることができ、決定手段には、バッファ占有量を更に検出させるようにすることができ、ビットレートが変更された場合、第２の検出手段により検出されたフレーム画像データの符号化難易度を所定の閾値と比較させるようにすることができ、符号化難易度が所定の閾値よりも高かったとき、第１の検出手段により検出された変更前の第１のビットレート、および、変更後の第２のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、第２の検出手段により検出されたフレーム画像データの符号化難易度を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整させるようにすることができる。
【００２２】
本発明の符号化装置においては、フレーム画像データのビットレートが検出され、ビットレートが変更された場合、仮想バッファの初期バッファ容量を調整するか否かが判断されて、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータが決定され、量子化インデックスデータを基に、量子化が実行され、量子化係数データが符号化される。
【００２３】
本発明の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが変更されたと判断された場合、仮想バッファの初期バッファ容量を調整する調整ステップとを含むことを特徴とする。
【００２４】
本発明のプログラムは、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが変更されたと判断された場合、仮想バッファの初期バッファ容量を調整する調整ステップとを含むことを特徴とする。
【００２５】
本発明の符号化方法およびプログラムにおいては、ビットレートに関する情報が取得され、ビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かが判断され、ビットレートが変更されたと判断された場合、仮想バッファの初期バッファ容量が調整される。
【発明の効果】
【００２６】
本発明によれば、フレーム画像データを符号化することができる。特に、ビットレートの変更が検出された場合、必要に応じて、前記仮想バッファの初期バッファ容量を調整するようにしたので、VBVバッファアンダーフローを防ぐことができ、画像の劣化を防止することができる。
【発明を実施するための最良の形態】
【００２７】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段および各ステップと以下の実施の形態との対応関係を明らかにするために、各手段および各ステップの後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段および各ステップを記載したものに限定することを意味するものではない。
【００２８】
請求項１に記載の符号化装置（例えば、図３の符号化装置１または図５の符号化装置４１）は、フレーム画像データのビットレートを検出する第１の検出手段（例えば、図３または図５のビットレート取得部３１）と、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段（例えば、図３の仮想バッファ決定部３２または図５の仮想バッファ決定部６２）と、決定手段により決定された量子化インデックスデータを基に、量子化を実行する量子化手段（例えば、図３または図５の量子化部１５）と、量子化手段により量子化された量子化係数データを符号化する符号化手段（例えば、図３または図５のVLC部１６）とを備え、決定手段は、第１の検出手段による検出結果を基に、ビットレートが変更された場合、仮想バッファの初期バッファ容量を調整するか否かを判断することを特徴とする。
【００２９】
請求項２に記載の符号化装置は、決定手段が、バッファ占有量を更に検出し、ビットレートが変更された場合、第１の検出手段により検出された変更前の第１のビットレート（例えば、式(３)におけるbit_rate（1)）、および、変更後の第２のビットレート（例えば、式(３)におけるbit_rate（0)）、並びに、検出されたビットレート変更時のバッファ占有量（例えば、式(３)におけるvbv_ocp）を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整することを特徴とする。
【００３０】
請求項３に記載の符号化装置は、フレーム画像データの符号化難易度を検出する第２の検出手段（例えば、図５の画像難易度情報取得部６１）を更に備え、決定手段は、バッファ占有量を更に検出し、ビットレートが変更された場合、第１の検出手段により検出された変更前の第１のビットレート（例えば、式(１１)におけるbit_rate（1)）、および、変更後の第２のビットレート（例えば、式(１１)におけるbit_rate（0)）、検出されたビットレート変更時のバッファ占有量（例えば、式(１１)におけるvbv_ocp）、並びに、第２の検出手段により検出されたフレーム画像データの符号化難易度（例えば、式(１１)におけるdiff_info）を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整することを特徴とする。
【００３１】
請求項４に記載の符号化装置は、フレーム画像データの符号化難易度を検出する第２の検出手段（例えば、図５の画像難易度情報取得部６１）を更に備え、決定手段は、バッファ占有量を更に検出し、ビットレートが変更された場合、第２の検出手段により検出されたフレーム画像データの符号化難易度（例えば、diff_info）を所定の閾値と比較し、符号化難易度が所定の閾値よりも高かったとき、第１の検出手段により検出された変更前の第１のビットレート（例えば、式(１１)におけるbit_rate（1)）、および、変更後の第２のビットレート（例えば、式(１１)におけるbit_rate（0)）、検出されたビットレート変更時のバッファ占有量（例えば、式(１１)におけるvbv_ocp）、並びに、第２の検出手段により検出されたフレーム画像データの符号化難易度（例えば、式(１１)におけるdiff_info）を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整することを特徴とする。
【００３２】
請求項５に記載の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップ（例えば、図４のステップＳ１、図６のステップＳ２１、または、図７のステップＳ４１）と、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かを判断する判断ステップ（例えば、図４のステップＳ２、図６のステップＳ２２、または、図７のステップＳ４２）と、判断ステップの処理により、ビットレートが変更されたと判断された場合、仮想バッファの初期バッファ容量を調整する調整ステップ例えば、図４のステップＳ４、図６のステップＳ２４、または、図７のステップＳ４６）とを含むことを特徴とする。
【００３３】
また、請求項６に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項５に記載の符号化方法と同様である。
【００３４】
以下、図を参照して、本発明の実施の形態について説明する。
【００３５】
図３は、本発明を適用した符号化装置１の構成を示すブロック図である。
【００３６】
画像並べ替え部１１は、順次入力されるビデオデータの各フレーム画像を、必要に応じて並べ替えたり、１６画素×１６ラインの輝度信号、および輝度信号に対応する色差信号によって構成されるマクロブロックに分割したマクロブロックデータを生成して、演算部１２、および、動き検出部１３に供給する。
【００３７】
動き検出部１３は、マクロブロックデータの入力を受け、各マクロブロックの動きベクトルを、マクロブロックデータ、および、ビデオメモリ２１に記憶されている参照画像データを基に算出し、動きベクトルデータとして、動き補償部２０に送出する。
【００３８】
演算部１２は、画像並べ替え部１１から供給されたマクロブロックデータについて、各マクロブロックの画像タイプに基づいた動き補償を行う。具体的には、演算部１２は、Ｉピクチャに対してはイントラモードで動き補償を行い、Ｐピクチャに対しては、順方向予測モードで動き補償を行い、Ｂピクチャに対しては、双方向予測モードで動き補償を行うようになされている。
【００３９】
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法であり、双方向予測モードとは、符号化対象となるフレーム画像と、過去と将来の参照画像との予測残差を伝送データとする方法である。
【００４０】
まず、マクロブロックデータがＩピクチャであった場合、マクロブロックデータはイントラモードで処理される。すなわち、演算部１２は、入力されたマクロブロックデータのマクロブロックを、そのまま演算データとしてDCT（Discrete Cosine Transform ：離散コサイン変換）部１４に送出する。DCT部１４は、入力された演算データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部１５に送出する。
【００４１】
量子化部１５は、量子化制御部２３の仮想バッファ決定部３２から供給される量子化値Ｑに基づいて、入力されたDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC（Variable Length Code；可変長符号化）部１６および逆量子化部１７に送出する。ここで、量子化部１５は、仮想バッファ決定部３２から供給される量子化値Ｑに応じて、量子化処理における量子化ステップサイズを調整することにより、発生する符号量を制御するようになされている。
【００４２】
逆量子化部１７に送出された量子化DCT係数データは、量子化部１５と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、IDCT（Inverse Discreet Cosine Transform；逆離散コサイン変換）部１８に送出される。IDCT部１８は、供給されたDCT係数データに逆DCT処理を施し、生成された演算データは、演算部１９に送出され、参照画像データとしてビデオメモリ２１に記憶される。
【００４３】
そして、演算部１２は、マクロブロックデータがＰピクチャであった場合、マクロブロックデータについて、順方向予測モードよる動き補償処理を行い、Ｂピクチャであった場合、マクロブロックデータについて、双方向予測モードによる動き補償処理を行う。
【００４４】
動き補償部２０は、ビデオメモリ２１に記憶されている参照画像データを、動きベクトルデータに応じて動き補償し、順方向予測画像データ、または、双方向予測画像データを算出する。演算部１２は、マクロブロックデータについて、動き補償部２０より供給される順方向予測画像データ、または、双方向予測画像データを用いて減算処理を実行する。
【００４５】
すなわち、順方向予測モードにおいて、動き補償部２０は、ビデオメモリ２１の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを順方向予測画像データとして演算部１２および演算部１９に供給する。演算部１２は、供給されたマクロブロックデータから、順方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部１２は、差分データをDCT部１４に送出する。
【００４６】
演算部１９には、動き補償部２０より順方向予測画像データが供給されており、演算部１９は、IDCT部１８から供給された演算データに、順方向予測画像データを加算することにより、参照画像データを局部再生し、ビデオメモリ２１に出力して記憶させる。
【００４７】
また、双方向予測モードにおいて、動き補償部２０は、ビデオメモリ２１の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを双方向予測画像データとして演算部１２および演算部１９に供給する。演算部１２は、供給されたマクロブロックデータから、双方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部１２は、差分データをDCT部１４に送出する。
【００４８】
演算部１９には、動き補償部２０より双方向予測画像データが供給されており、演算部１９は、IDCT部１８から供給された演算データに、双方向予測画像データを加算することにより、参照画像データを局部再生し、ビデオメモリ２１に出力して記憶させる。
【００４９】
かくして、符号化装置１に入力された画像データは、動き補償予測処理、DCT処理および量子化処理を受け、量子化DCT係数データとして、VLC部１６に供給される。VLC部１６は、量子化DCT係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ２２に送出する。バッファ２２は、供給された可変長符号化ストリームを所定の時間バッファリングした後、出力する。
【００５０】
出力された可変長符号化ストリームは、例えば、必要に応じて、オーディオストリームや、他の映像ストリームと多重化されて、所定の処理により、分割されて、ヘッダなどが付加されることによりパケット化され、複数のパケットデータにより構成されるMPEGトランスポートストリームが、所定のデータ伝送路によって、伝送される。
【００５１】
量子化制御部２３は、符号化装置１における量子化を制御するものである。ビットレート情報取得部３１は、ビットレートの値、または、ビットレートの値を示す情報を取得し、仮想バッファ決定部３２に供給する。仮想バッファ決定部３２は、バッファ２２に格納される可変長符号化データの蓄積状態を常時監視しており、ビットレートが変更されたか否かに基づいて、仮想バッファの初期バッファ容量の調整を実行する。仮想バッファ決定部３２は、算出された仮想バッファの初期バッファ容量に基づいて、目標符号量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部１５に供給するようになされている。
【００５２】
図２を用いて説明したように、符号化装置１においては、ビットレートがbit_rate(0)からbit_rate(1)に変更される場合、VBVバッファの最大値は、vbv_size(0)からvbv_size(1)に変更され、ビットレートがbit_rate(1)からbit_rate(0)に変更される場合、VBVバッファの最大値は、vbv_size(1)からvbv_size(0)に変更される。
【００５３】
特に、ビットレートが低レートから高レートに変更された場合、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さいほど、VBVアンダーフローが起こりやすい状態となるため、仮想バッファ決定部３２は、ビットレートの変更を検出した場合、次の式（３）を用いて仮想バッファの初期バッファ容量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部１５に供給するようになされている。
【００５４】
d’(0)＝d(0)×k1×｜bit_rate(1)−bit_rate(0)｜/vbv_ocp・・・（３）
【００５５】
ただし、式（３）において、k1は、経験的、または実験的に求められる所定の定数であり、bit_rate(1)は、変更後ビットレートであり、bit_rate(0)は、変更前ビットレートであり、vbv_ocpは、ビットレート変更時のVBV占有量である。
【００５６】
また、仮想バッファ決定部３２は、ビットレートの変更を検出しなかった場合、従来どおり量子化を制御する。すなわち、仮想バッファ決定部３２は、ビットレートに対応するVBVバッファサイズおよびバッファ占有量情報に基づいて、目標発生符号量よりも実際に発生したマクロブロックの発生符号量が多いとき、発生符号量を減らすために量子化ステップサイズを大きくし、また目標発生符号量よりも実際の発生符号量が少ないとき、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
【００５７】
すなわち、仮想バッファ決定部３２は、デコーダ側に設けられたVBVバッファに格納された可変長符号化データの蓄積状態の推移を想定することにより、仮想バッファのバッファ占有量を求めて、量子化値Ｑを算出し、これを量子化部１５に供給する。
【００５８】
ｊ番目のマクロブロックにおける仮想バッファのバッファ占有量ｄ（ｊ）は、次の式（４）によって表され、また、ｊ＋１番目のマクロブロックにおける仮想バッファのバッファ占有量ｄ（ｊ＋1）は、次の式（５）によって表され、（４）式から（５）式を減算することにより、ｊ＋１番目のマクロブロックにおける仮想バッファのバッファ占有量ｄ（ｊ＋1）は、次の式（６）として表される。
【００５９】
ｄ（ｊ）＝ｄ（０）＋Ｂ（ｊ−１）−｛Ｔ×（ｊ−１）／MBcnt｝・・・（４）
【００６０】
ここで、ｄ（０）は初期バッファ容量、Ｂ（ｊ）は、ｊ番目のマクロブロックにおける符号化発生ビット数、MBcntは、ピクチャ内のマクロブロック数、そして、Ｔは、ピクチャ単位の目標発生符号量である。
【００６１】
ｄ（ｊ＋１）＝ｄ（０）＋Ｂ（ｊ）−（Ｔ×ｊ）／MBcnt・・・（５）
【００６２】
ｄ（ｊ＋１）＝ｄ（ｊ）＋｛Ｂ（ｊ）−Ｂ（ｊ−１）｝−Ｔ／MBcnt・・・（６）
【００６３】
したがって、仮想バッファ決定部３２は、バッファ占有量ｄ（ｊ＋１）、および、式（７）に示される定数ｒを、式（８）に代入することにより、マクロブロック（ｊ＋1）の量子化インデックスデータＱ（ｊ＋1）を算出し、これを量子化部７５に供給する。
【００６４】
ｒ＝（２×ｂｒ）／ｐｒ  ・・・（７）
Ｑ（ｊ＋１）＝ｄ（ｊ＋１）×（３１／ｒ）  ・・・（８）
ここで、ｂｒは、ビットレートであり、ｐｒは、ピクチャレートである。
【００６５】
量子化部１５は、量子化値Ｑに基づいて、次のマクロブロックにおける量子化ステップサイズを決定し、量子化ステップサイズによってDCT係数データを量子化する。
【００６６】
これにより、量子化部１５は、１つ前のピクチャにおける実際の発生符号量に基づいて算出された、次のピクチャの目標発生符号量にとって最適な量子化ステップサイズによって、DCT係数データを量子化することができる。
【００６７】
かくして、量子化部１５では、バッファ２２のデータ占有量に応じて、バッファ２２がオーバーフローまたはアンダーフローしないように量子化し得るとともに、デコーダ側のVBVバッファがオーバーフロー、またはアンダーフローしないように量子化した量子化DCT係数データを生成することができる。
【００６８】
図２を用いて説明した従来の処理においては、VBVバッファの最大値が、遅延時間τとビットレートの積によって決められるようになされたが、このようにした場合、特に、ビットレートが低レートから高レートに変更されるとき、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さいほど、VBVアンダーフローが起こりやすい状態となってしまう。このような場合、VBVアンダーフローを防ぐためには、ビットレートの変更を検出して、上述した式（３）を用いて仮想バッファの初期バッファ容量を調整する必要がある。
【００６９】
図４のフローチャートを参照して、図３の符号化装置１において実行される仮想バッファ調整処理１について説明する。
【００７０】
ステップＳ１において、ビットレート情報取得部３１は、ビットレート情報を取得して、仮想バッファ決定部３２に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても良い。ビットレート情報取得部３１は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
【００７１】
ステップＳ２において、仮想バッファ決定部３２は、供給されたビットレート情報を基に、ビットレートが変更されたか否かを判断する。ステップＳ２において、ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されないので、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。
【００７２】
ステップＳ２において、ビットレートが変更されたと判断された場合、ステップＳ３において、仮想バッファ決定部３２は、VBVの占有量vbv_ocpを取得する。
【００７３】
ステップＳ４において、仮想バッファ決定部３２は、ステップＳ３で取得したVBVの占有量vbv_ocp、および、ステップＳ１において供給された変更前後のビットレートを基に、式（３）により、仮想バッファの初期バッファ容量ｄ’（０）を算出して、仮想バッファの初期バッファ容量を、ビットレートおよびVBV占有量に応じた値に調整し、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。
【００７４】
このような処理により、ビットレートが変更されたときに、ビットレートおよびVBV占有量に応じた値となるように仮想バッファの初期バッファ容量を調整して、VBVアンダーフローの恐れがある場合には、発生符号量を抑制することができるようにしたので、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さくても、VBVアンダーフローの発生を未然に防ぐことにより、ピクチャスキップやマクロブロックスキップなどの発生による画質劣化を防止することができる。
【００７５】
なお、符号化装置１において、例えば、ＴＭ５（Test Model 5）のように、仮想バッファをピクチャタイプ別に管理しているような場合、仮想バッファ決定部３２は、ビットレート変更後に最初に現れる各ピクチャタイプにおいて、仮想バッファの初期バッファ容量を調整する。
【００７６】
また、上述した処理においては、ステップＳ２において、ビットレートが高レートから低レートへ変更されたことが検出された場合であっても、低レートから高レートへ変更されたことが検出された場合であっても、ビットレートおよびVBV占有量に応じて、仮想バッファの初期バッファ容量を調整するものとして説明したが、VBVアンダーフローが発生しやすいのは、ビットレートが低レートから高レートへ変更されたときであるので、ビットレートが低レートから高レートへ変更されたときのみ、ビットレート、および、VBV占有量に応じて、仮想バッファの初期バッファ容量を調整するものとしてもよい。なお、ビットレートが高レートから低レートに変更されたときに仮想バッファの初期バッファ容量の調整を行うようにしても、仮想バッファの初期バッファ容量の調整を行わないときと比較して、画質劣化を防止することができるので、必要に応じて、ビットレートが高レートから低レートに変更されたときのみに仮想バッファの初期バッファ容量の調整を行うようにしてもよい。
【００７７】
ところで、符号化対象ピクチャが、符号化に容易な画像である場合、符号発生量は大きくならないため、VBVバッファのアンダーフローが起こる可能性がほとんどないにもかかわらず、仮想バッファの初期バッファ容量を調整して符号発生量を抑制してしまった場合、必要以上に画像が劣化してしまう。
【００７８】
したがって、画像の符号化難易度を検出することにより、ビットレートおよびVBV占有量に加えて、符号化難易度に応じた仮想バッファの初期バッファ容量を算出するようにしたり、符号化難易度が所定の値よりも低い場合においては、仮想バッファの初期バッファ容量の調整を行わないようにすることにより、符号化に容易な画像において、必要以上に画像を劣化させることを防止することが可能となる。
【００７９】
図５は、ビットレート、VBV占有量、および、符号化難易度に応じて、仮想バッファの初期バッファ容量を調整することができる符号化装置４１の構成を示すブロック図である。
【００８０】
なお、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図５の符号化装置４１は、量子化制御部２３に代わって、量子化制御部５１が設けられている以外は、図３を用いて説明した符号化装置１と同様の構成を有するものであり、量子化制御部５１は、仮想バッファ決定部３２に代わって、仮想バッファ決定部６２が設けられ、新たに、画像難易度情報取得部６１が設けられている以外は、図１の量子化制御部２３と同様の構成を有するものである。
【００８１】
画像難易度情報取得部６１は、イントラＡＣ（IntraAC）、またはＭＥ残差情報などの画像難易度情報を取得または算出し、仮想バッファ決定部６２に供給する。
【００８２】
これらの画像難易度情報が供給されるビデオデータに含まれている場合、画像難易度情報取得部６１は、ビデオデータから、画像難易度情報抽出する。また、画像難易度情報は、他の装置から供給されるものであっても良い。
【００８３】
なお、画像難易度情報がME残差である場合、ME残差は、動き検出をするときに得られる情報であるので、画像難易度情報は、演算部１２から供給されるものとしても良い。ＭＥ残差とは、ピクチャ単位で算出されるものであり、１つ前のピクチャと次のピクチャにおける輝度の差分値の合計値である。
【００８４】
また、画像難易度情報がイントラＡＣである場合、画像難易度情報取得部６１は、画像並べ替え部１１から供給されるマクロブロックデータを基に、イントラＡＣを算出するようにしても良い。
【００８５】
イントラＡＣは、MPEG方式におけるDCT処理単位のDCTブロックごとの映像データとの分散値の総和として定義されるパラメータであって、映像の複雑さを指標し、映像の絵柄の難しさおよび圧縮後のデータ量と相関性を有する。すなわち、イントラＡＣとは、DCTブロック単位で、それぞれの画素の画素値から、ブロック毎の画素値の平均値を引いたものの絶対値和の、画面内における総和である。イントラＡＣは、次の式（９）で示される。
【００８６】
【数１】
2005033599.tif 000003
・・・（９）
【００８７】
また、式（９）において、式（１０）が成り立つ。
【数２】
2005033599.tif 000004
・・・（１０）
【００８８】
仮想バッファ決定部６２は、ビットレートの変更を検出した場合、次の式（１１）を用いて仮想バッファの初期バッファ容量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部１５に供給するようになされている。
【００８９】
d”(0)＝d(0)×k2×diff_info×｜bit_rate(1)−bit_rate(0)｜/vbv_ocp  
・・・（１１）
【００９０】
ただし、式（１１）において、k2は、経験的、または実験的に求められる所定の定数であり、diff_infoは、画像難易度であり、bit_rate(1)は、変更後ビットレートであり、bit_rate(0)は、変更前ビットレートであり、vbv_ocpは、ビットレート変更時のVBV占有量である。
【００９１】
または、仮想バッファ決定部６２は、ビットレートの変更を検出した場合、画像難易度を経験的、または実験的に求められる所定の閾値と比較し、画像難易度が所定の閾値より大きい場合（所定の値よりも符号化難易度が高い場合）にのみ、式（１１）を基に、仮想バッファの初期バッファ容量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部１５に供給するようにしてもよい。
【００９２】
そして、仮想バッファ決定部６２は、ビットレートの変更を検出しない場合、従来と同様のレート制御を行い、量子化部１５の量子化処理を制御する。
【００９３】
次に、図６のフローチャートを参照して、図５の符号化装置４１において実行される仮想バッファ調整処理２について説明する。
【００９４】
ステップＳ２１において、ビットレート情報取得部３１は、ビットレート情報を取得して、仮想バッファ決定部６２に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても良い。ビットレート情報取得部３１は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
【００９５】
ステップＳ２２において、仮想バッファ決定部６２は、供給されたビットレート情報を基に、ビットレートが変更されたか否かを判断する。ステップＳ２２において、ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されないので、処理は、ステップＳ２１に戻り、それ以降の処理が繰り返される。
【００９６】
ステップＳ２２において、ビットレートが変更されたと判断された場合、ステップＳ２３において、仮想バッファ決定部６２は、VBVの占有量vbv_ocpを取得し、画像難易度情報取得部６１は、画像難易度情報diff_infoを取得して、仮想バッファ決定部６２に供給する。
【００９７】
ステップＳ２４において、仮想バッファ決定部６２は、ステップＳ２３で取得したVBVの占有量vbv_ocpおよび画像難易度情報diff_info、並びに、ステップＳ２１において供給された変更前後のビットレートを基に、式（１１）により、仮想バッファの初期バッファ容量ｄ”（０）を算出して、仮想バッファの初期バッファ容量を、ビットレート、VBV占有量、および、画像難易度に応じた値に調整し、処理は、ステップＳ２１に戻り、それ以降の処理が繰り返される。
【００９８】
このような処理により、ビットレートが変更されたときに、ビットレートおよびVBV占有量に加えて、画像難易度に応じた値となるように仮想バッファの初期バッファ容量を調整して、発生符号量を必要に応じて抑制することができるようにしたので、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さくても、不必要に画像を劣化させることなく、VBVアンダーフローの発生を未然に防ぐことができ、ピクチャスキップやマクロブロックスキップなどの発生による画質劣化を防止することができる。
【００９９】
また、上述した処理においては、ステップＳ２２において、ビットレートが高レートから低レートへ変更されたことが検出された場合であっても、低レートから高レートへ変更されたことが検出された場合であっても、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとして説明したが、VBVアンダーフローが発生しやすいのは、ビットレートが低レートから高レートへ変更されたときであるので、ビットレートが低レートから高レートへ変更されたときのみ、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとしてもよい。なお、ビットレートが高レートから低レートに変更されたときに仮想バッファの初期バッファ容量の調整を行うようにしても、仮想バッファの初期バッファ容量の調整を行わないときと比較して画質劣化を防止することができるので、必要に応じて、ビットレートが高レートから低レートに変更されたときのみに、仮想バッファの初期バッファ容量の調整を行うようにしてもよい。
【０１００】
次に、図７のフローチャートを参照して、図５の符号化装置４１において実行される仮想バッファ調整処理３について説明する。
【０１０１】
ステップＳ４１において、ビットレート情報取得部３１は、ビットレート情報を取得して、仮想バッファ決定部６２に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても良い。ビットレート情報取得部３１は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
【０１０２】
ステップＳ４２において、仮想バッファ決定部６２は、供給されたビットレート情報を基に、ビットレートが変更されたか否かを判断する。ステップＳ４２において、ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されないので、処理は、ステップＳ４１に戻り、それ以降の処理が繰り返される。ステップＳ４２において、ビットレートが変更されたと判断された場合、ステップＳ４３において、画像難易度情報取得部６１は、画像難易度情報diff_infoを取得して、仮想バッファ決定部６２に供給する。
【０１０３】
ステップＳ４４において、仮想バッファ決定部６２は、ステップＳ４３で供給された画像難易度情報diff_infoは、所定の閾値より高いか否かを判断する。ステップＳ４４において、画像難易度情報diff_infoは、所定の閾値より低いと判断された場合、符号化に容易な画像は、VBVバッファのアンダーフローを起こさないので、仮想バッファの初期バッファ容量は調整されず、処理は、ステップＳ４１に戻り、それ以降の処理が繰り返される。
【０１０４】
ステップＳ４４において、画像難易度情報diff_infoは、所定の閾値より高いと判断された場合、ステップＳ４５において、仮想バッファ決定部６２は、VBVの占有量vbv_ocpを取得する。
【０１０５】
ステップＳ４６において、仮想バッファ決定部６２は、ステップＳ４５で取得したVBVの占有量vbv_ocp、ステップＳ４３で供給された画像難易度情報diff_info、および、ステップＳ４１において供給された変更前後のビットレートを基に、式（１１）により、仮想バッファの初期バッファ容量ｄ”（０）を算出して、仮想バッファの初期バッファ容量を、ビットレート、VBV占有量、および、画像難易度に応じた値に調整し、処理は、ステップＳ４１に戻り、それ以降の処理が繰り返される。
【０１０６】
このような処理により、ビットレートが変更されたときに、画像難易度の高い場合のみ、ビットレート、VBV占有量、および、画像難易度に応じた値となるように仮想バッファの初期バッファ容量を調整するようにしたので、符号化に容易な画像の画像劣化を防ぎつつ、発生符号量を必要に応じて抑制することができることができ、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さくても、VBVアンダーフローの発生を未然に防ぐことにより、ピクチャスキップやマクロブロックスキップなどの発生による画質劣化を防止することができる。
【０１０７】
また、上述した処理においても、ステップＳ４２において、ビットレートが高レートから低レートへ変更されたことが検出された場合であっても、低レートから高レートへ変更されたことが検出された場合であっても、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとして説明したが、VBVアンダーフローが発生しやすいのは、ビットレートが低レートから高レートへ変更されたときであるので、ビットレートが低レートから高レートへ変更されたときのみ、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとしてもよい。なお、ビットレートが高レートから低レートに変更されたときに仮想バッファの初期バッファ容量の調整を行うようにしても、仮想バッファの初期バッファ容量の調整を行わないときと比較して画質劣化を防止することができるので、必要に応じて、ビットレートが高レートから低レートに変更されたときのみに、仮想バッファの初期バッファ容量の調整を行うようにしてもよい。
【０１０８】
なお、符号化装置４１においても、例えば、ＴＭ５（Test Model 5）のように、仮想バッファをピクチャタイプ別に管理しているような場合、仮想バッファ決定部６２は、ビットレート変更後に最初に現れる各ピクチャタイプにおいて、仮想バッファの初期バッファ容量を調整する。
【０１０９】
また、本発明は、例えば、１５フレームを、フレーム内符号化画像（Ｉピクチャ）、フレーム間順方向予測符号化画像（Ｐピクチャ）、もしくは、双方向予測符号化画像（Ｂピクチャ）の３つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ（Ｉピクチャ、Ｐピクチャ、もしくは、Ｂピクチャ）に応じて、フレーム画像を符号化するような場合以外にも、ローディレイコーディングとして各フレーム画像を全てＰピクチャとし、例えば、横４５マクロブロック、縦２４マクロブロックの画枠サイズの中でフレーム画像の上段から縦２マクロブロックおよび横４５マクロブロック分の領域を１つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合にも適用可能である。また、ローディレイエンコードを行う場合においては、例えば、イントラスライス部分を縦１マクロブロック、横４５マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにしても良い。
【０１１０】
更に、本発明は、マクロブロックごとに予測符号化のタイプ（イントラマクロブロック、または、インターマクロブロック）を指定して符号化処理を行うような場合や、オールイントラなどの符号化を行う場合においても、適用することが可能である。
【０１１１】
更に、上述の実施の形態においては、本発明を、MPEG方式によって圧縮符号化する符号化装置としての符号化装置１または符号化装置４１に適用する場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
【０１１２】
また、独立した装置として構成される符号化装置１または符号化装置４１のみならず、例えば、トランスコーダや編集装置などに含まれる、同様の構成を有する符号化部おいても、本発明は適用可能である。
【０１１３】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、符号化装置１が実行する処理は、図８に示されるようなパーソナルコンピュータ１０１により構成される。
【０１１４】
図８において、CPU（Central Processing Unit）１１１は、ROM（Read Only Memory）１１２に記憶されているプログラム、または記憶部１１８からRAM（Random Access Memory）１１３にロードされたプログラムに従って、各種の処理を実行する。RAM１１３にはまた、CPU１１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１１５】
CPU１１１、ROM１１２、およびRAM１１３は、バス１１４を介して相互に接続されている。このバス１１４にはまた、入出力インタフェース１１５も接続されている。
【０１１６】
入出力インタフェース１１５には、キーボード、マウスなどよりなる入力部１１６、ディスプレイやスピーカなどよりなる出力部１１７、ハードディスクなどより構成される記憶部１１８、モデム、ターミナルアダプタなどより構成される通信部１１９が接続されている。通信部１１９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１１７】
入出力インタフェース１１５にはまた、必要に応じてドライブ１２０が接続され、磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、もしくは、半導体メモリ１２４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１１８にインストールされる。
【０１１８】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１１９】
この記録媒体は、図８に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク１２１（フロッピディスクを含む）、光ディスク１２２（ＣＤ−ＲＯＭ（Compact Disk−Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク１２３（ＭＤ（Mini Disk）（商標）を含む）、もしくは半導体メモリ１２４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM１１２や、記憶部１１８に含まれるハードディスクなどで構成される。
【０１２０】
なお、本明細書において、プログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１２１】
【図１】VBVバッファの最大容量、ビットレート、および、符号化遅延について説明するための図である。
【図２】ビットレートが変更される場合のバッファ容量について説明するための図である。
【図３】本発明を適用した符号化装置の構成例を示すブロック図である。
【図４】仮想バッファ調整処理１について説明するためのフローチャートである。
【図５】本発明を適用した符号化装置の他の構成例を示すブロック図である。
【図６】仮想バッファ調整処理２について説明するためのフローチャートである。
【図７】仮想バッファ調整処理３について説明するためのフローチャートである。
【図８】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０１２２】
１  符号化装置，  １１  画像並べ替え部，  １２  演算部，  １３  動き検出部，  １４  DCT部，  １５  量子化部，  １６  VLC部，  １７  逆量子化部，  １８  IDCT部，  １９  演算部，  ２０  動き補償部，  ２１  ビデオメモリ，  ２２  バッファ，  ２３  量子化制御部，  ３１  ビットレート情報取得部，  ３２  仮想バッファ決定部，  ４１  符号化装置，  ５１  量子化制御部，  ６１  画像難易度情報取得部
【図１】
2005033599.tif 000005
【図２】
2005033599.tif 000006
【図３】
2005033599.tif 000007
【図４】
2005033599.tif 000008
【図５】
2005033599.tif 000009
【図６】
2005033599.tif 000010
【図７】
2005033599.tif 000011
【図８】
2005033599.tif 000012