(57)【要約】【課題】ビットレートと画像難易度を基に、Ｑマトリクスの値を設定する。【解決手段】ステップＳ６１でビットレートの値は閾値Ａより小さいか否かが判断され、閾値Ａより小さい場合、ステップＳ６２でｍａｄ＿ｉｎｆｏ＞閾値Ｂであるか否かが判断される。ｍａｄ＿ｉｎｆｏ＞閾値Ｂであれば、シーンチェンジ後の画像は画像難易度が高く符号化が困難であるので、ステップＳ６３で、高周波成分を落として粗い量子化を実行する第１の値に、Ｑマトリクスが変更される。ｍａｄ＿ｉｎｆｏ＞閾値Ｂでなければ、シーンチェンジ後の画像は、画像難易度が低く符号化が易しいので、ステップＳ６４で、通常処理よりは高周波成分を落とすが、第１の値と比較して細かく量子化する第２の値に、Ｑマトリクスの値が変更される。ビットレートが閾値Ａより大きい場合、符号化に余裕があるので、ステップＳ６５で、Ｑマトリクスの値を変更させない。【選択図】　　　図１３
2004072143.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像を符号化する符号化装置において
前記フレーム画像のビットレートを検出する第１の検出手段と、
１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出手段と、
前記第２の検出手段による検出結果を基に、前記第１のピクチャから前記第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、
Ｑマトリクスを設定する設定手段と、
前記決定手段により決定された前記量子化インデックスデータ、および前記設定手段により設定された前記Ｑマトリクスを基に、量子化を実行する量子化手段と、
前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
を備え、
前記設定手段は、前記判断手段により前記シーンチェンジが発生したと判断された場合、前記第１の検出手段により検出された前記ビットレートを基に、前記Ｑマトリクスを設定する
ことを特徴とする符号化装置。
【請求項２】
前記設定手段は、前記ビットレートが高い場合よりも低い場合のほうが、前記量子化手段が粗い量子化を実行するように、前記Ｑマトリクスを設定する
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記設定手段は、前記ビットレートと所定の閾値とを比較し、前記ビットレートが前記所定の閾値よりも小さい場合、前記量子化手段が粗い量子化を実行するように、前記Ｑマトリクスを設定する
ことを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記設定手段は、複数の閾値と前記ビットレートとを比較し、その比較結果に基づいて、前記ビットレートが低いほど前記量子化手段が粗い量子化を実行するように前記Ｑマトリクスを設定する
ことを特徴とする請求項２に記載の符号化装置。
【請求項５】
前記第２の検出手段は、前記第１のピクチャの絵柄と前記第２のピクチャの絵柄との差分を示す指標を算出し、前記指標を基に、前記絵柄の変化を検出する
ことを特徴とする請求項１に記載の符号化装置。
【請求項６】
前記第２のピクチャの難易度を検出する第３の検出手段を更に備え、
前記設定手段は、前記判断手段により前記シーンチェンジが発生したと判断された場合、前記第１の検出手段により検出された前記ビットレートに加えて、更に、前記第３の検出手段により検出された前記第２のピクチャの難易度に基づいて、前記Ｑマトリクスを設定する
ことを特徴とする請求項１に記載の符号化装置。
【請求項７】
前記第３の検出手段は、画像の難易度を示す指標を算出し、前記指標を基に、前記第２のピクチャの難易度を検出する
ことを特徴とする請求項６に記載の符号化装置。
【請求項８】
前記設定手段は、前記難易度が低い場合よりも高い場合のほうが、前記量子化手段が粗い量子化を実行するように前記Ｑマトリクスを設定する
ことを特徴とする請求項６に記載の符号化装置。
【請求項９】
前記設定手段は、前記難易度と所定の閾値を比較し、前記難易度が前記所定の閾値よりも高い場合、前記量子化手段が粗い量子化を実行するように前記Ｑマトリクスを設定する
ことを特徴とする請求項８に記載の符号化装置。
【請求項１０】
前記設定手段は、前記ビットレートが第１の閾値よりも小さい場合、前記難易度を第２の閾値と比較し、前記ビットレートが前記第１の閾値より大きく、かつ、前記第１の閾値よりも大きな第３の閾値よりも小さい場合、前記難易度を、前記第２の閾値より大きな第４の閾値と比較して、その比較結果を基に、前記Ｑマトリクスを設定する
ことを特徴とする請求項６に記載の符号化装置。
【請求項１１】
前記フレーム画像は、全て、フレーム間順方向予測符号化画像である
ことを特徴とする請求項１に記載の符号化装置。
【請求項１２】
フレーム画像を符号化する符号化装置の符号化方法において、
前記フレーム画像のビットレートを検出する第１の検出ステップと、
１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出ステップと、
前記第２の検出ステップの処理による検出結果を基に、前記第１のピクチャから前記第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Ｑマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Ｑマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第１の検出ステップの処理により検出された前記ビットレートを基に、前記Ｑマトリクスを設定する
ことを特徴とする符号化方法。
【請求項１３】
フレーム画像を符号化する符号化装置用のプログラムであって、
前記フレーム画像のビットレートを検出する第１の検出ステップと、
１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出ステップと、
前記第２の検出ステップの処理による検出結果を基に、前記第１のピクチャから前記第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Ｑマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Ｑマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第１の検出ステップの処理により検出された前記ビットレートを基に、前記Ｑマトリクスを設定する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１４】
フレーム画像を符号化する符号化装置を制御するコンピュータが実行可能なプログラムであって、
前記フレーム画像のビットレートを検出する第１の検出ステップと、
１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出ステップと、
前記第２の検出ステップの処理による検出結果を基に、前記第１のピクチャから前記第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Ｑマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Ｑマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第１の検出ステップの処理により検出された前記ビットレートを基に、前記Ｑマトリクスを設定する
ことを特徴とするプログラム。
【請求項１５】
フレーム画像を符号化する符号化装置において、
次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出手段と、
１つ前のピクチャである第２のピクチャと、前記第１のピクチャとの、絵柄の変化を検出する第２の検出手段と、
前記第２の検出手段による検出結果を基に、前記第２のピクチャから前記第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、
Ｑマトリクスを設定する設定手段と、
前記決定手段により決定された前記量子化インデックスデータ、および前記設定手段により設定された前記Ｑマトリクスを基に、量子化を実行する量子化手段と、
前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
を備え、
前記設定手段は、前記判断手段により前記シーンチェンジが発生したと判断された場合、前記第１の検出手段により検出された前記難易度を基に、前記Ｑマトリクスを設定する
ことを特徴とする符号化装置。
【請求項１６】
前記設定手段は、前記難易度が低い場合よりも高い場合のほうが、前記量子化手段が粗い量子化を実行するように前記Ｑマトリクスを設定する
ことを特徴とする請求項１５に記載の符号化装置。
【請求項１７】
前記設定手段は、前記難易度と所定の閾値を比較し、前記難易度が前記所定の閾値よりも高い場合、前記量子化手段が粗い量子化を実行するように前記Ｑマトリクスを設定する
ことを特徴とする請求項１６に記載の符号化装置。
【請求項１８】
前記設定手段は、複数の前記所定の閾値と前記難易度とを比較し、その比較結果に基づいて、前記難易度が高いほど前記量子化手段が粗い量子化を実行するように前記Ｑマトリクスを設定する
ことを特徴とする請求項１６に記載の符号化装置。
【請求項１９】
前記第２の検出手段は、前記第１のピクチャの絵柄と前記第２のピクチャの絵柄との差分を示す指標を算出し、前記指標を基に、前記絵柄の変化を検出する
ことを特徴とする請求項１５に記載の符号化装置。
【請求項２０】
前記第１の検出手段は、画像の難易度を示す指標を算出し、前記指標を基に、前記第１のピクチャの難易度を検出する
ことを特徴とする請求項１５に記載の符号化装置。
【請求項２１】
前記フレーム画像は、全て、フレーム間順方向予測符号化画像である
ことを特徴とする請求項１５に記載の符号化装置。
【請求項２２】
フレーム画像を符号化する符号化装置の符号化方法において、
次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出ステップと、
１つ前のピクチャである第２のピクチャと、前記第１のピクチャとの、絵柄の変化を検出する第２の検出ステップと、
前記第２の検出ステップの処理による検出結果を基に、前記第２のピクチャから前記第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Ｑマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Ｑマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第１の検出ステップの処理により検出された前記難易度を基に、前記Ｑマトリクスを設定する
ことを特徴とする符号化方法。
【請求項２３】
フレーム画像を符号化する符号化装置用のプログラムであって、
次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出ステップと、
１つ前のピクチャである第２のピクチャと、前記第１のピクチャとの、絵柄の変化を検出する第２の検出ステップと、
前記第２の検出ステップの処理による検出結果を基に、前記第２のピクチャから前記第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Ｑマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Ｑマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第１の検出ステップの処理により検出された前記難易度を基に、前記Ｑマトリクスを設定する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項２４】
フレーム画像を符号化する符号化装置を制御するコンピュータが実行可能なプログラムであって、
次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出ステップと、
１つ前のピクチャである第２のピクチャと、前記第１のピクチャとの、絵柄の変化を検出する第２の検出ステップと、
前記第２の検出ステップの処理による検出結果を基に、前記第２のピクチャから前記第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Ｑマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Ｑマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第１の検出ステップの処理により検出された前記難易度を基に、前記Ｑマトリクスを設定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化装置および符号化方法、プログラム、並びに記録媒体に関し、特に、ローディレイコーディングを行う場合に用いて好適な、符号化装置および符号化方法、プログラム、並びに記録媒体に関する。
【０００２】
【従来の技術】
近年、映像データおよび音声データを圧縮して情報量を減らす方法として、種々の圧縮符号化方法が提案されており、その代表的なものにＭＰＥＧ２（Ｍｏｖｉｎｇ
Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ　Ｐｈａｓｅ　２）がある。
【０００３】
図１を参照して、このＭＰＥＧ２方式によって映像データを圧縮符号化する場合、および圧縮符号化された画像データを復号する場合の処理について説明する。
【０００４】
送信側のエンコーダ１は、ナンバ０乃至１１のフレーム画像１１を、フレーム内符号化画像（以下、Ｉピクチャと称する）、フレーム間順方向予測符号化画像（以下、Ｐピクチャと称する）、もしくは、双方向予測符号化画像（以下、Ｂピクチャと称する）の３つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ（Ｉピクチャ、Ｐピクチャ、あるいは、Ｂピクチャ）に応じて、フレーム画像を符号化する順番に並び替えるリオーダリングを実行し、その順番で各フレーム画像に対して符号化処理を施して、符号化フレーム１２を生成し、デコーダ２に伝送する。
【０００５】
受信側のデコーダ２は、エンコーダ１によって符号化されたフレーム画像を復号した後、再度、リオーダリングして、画像フレームを元の順番に戻して、フレーム画像１３を復元し、再生画像を表示する。
【０００６】
エンコーダ１においては、リオーダリングした後に符号化処理を施すため、ナンバ０のフレーム画像を符号化処理するまでに、ナンバ２のフレーム画像が符号化処理されていなければならず、その分だけ遅延（以下、リオーダリングディレイと称する）が生じる。
【０００７】
また、デコーダ２においても、復号した後にリオーダリングするため、ナンバ０のフレーム画像を復号して表示するまでに、ナンバ２のフレーム画像が復号されていなければならず、その分だけリオーダリングディレイが生じてしまう。
【０００８】
このように、エンコーダ１およびデコーダ２においては双方でリオーダリングを行っているために、画像データを符号化してから再生画像を表示するまでの間に３フレーム分のリオーダリングディレイが生じてしまう。
【０００９】
また、このＭＰＥＧ２方式によって圧縮符号化された符号化データが伝送される場合、送信側の圧縮符号化装置から伝送された符号化データは、受信側のビデオＳＴＤ（Ｓｙｓｔｅｍ　Ｔａｒｇｅｔ　Ｄｅｃｏｄｅｒ）バッファ（いわゆるＶＢＶ（Ｖｉｄｅｏ　Ｂｕｆｆｅｒ　Ｖｅｒｉｆｉｅｒ）バッファ）に、ピクチャごとに格納されていく。
【００１０】
図２に示されるように、ＶＢＶバッファは、そのバッファサイズ（容量）が決まっており、符号化データは、ＶＢＶバッファに、ピクチャごとに順次格納される。この場合、Ｉピクチャ、Ｐピクチャ、およびＢピクチャの各符号化データは、一定の伝送レートによってＶＢＶバッファにそれぞれ格納され、格納が終了した時点（１フレーム周期）のデコードタイミングで、デコーダに引き抜かれる。Ｉピクチャは、Ｂピクチャと比較して符号化データのデータ量が多いので、ＶＢＶバッファに格納されるまでにＢピクチャよりも多くの時間を必要とする。
【００１１】
このとき、データ送信側であるエンコーダ１は、デコーダ２のＶＢＶバッファに符号化データを格納したとき、および、ＶＢＶバッファから符号化データを引き抜かれたときに、ＶＢＶバッファにおいてオーバーフロー、およびアンダーフローが生じないようにするため、ＶＢＶバッファのバッファ占有率に基づいて発生する符号化データの発生符号量を制御（レートコントロール）する必要がある。しかしながら、画面の更新に必要なＩピクチャの発生符号量が多いので、Ｉピクチャの画像データの伝送時間が多く必要となるため、この時間が遅延となってしまう。
【００１２】
テレビ電話やテレビ会議等の画像データなど、リアルタイム性を要求される実時間伝送を行う場合、上述したように、伝送時間に起因する遅延や、リオーダリングディレイが発生してしまうと、送信側から送られてきた符号化データを受信側で受信して再生画像を表示するまでに時間差が生じてしまう。これに対して、このような遅延を少なくするために、ＭＰＥＧ２方式では、遅延時間を１５０［ｍｓ］以下に短縮するローディレイコーディング（Ｌｏｗ　Ｄｅｌａｙ　Ｃｏｄｉｎｇ）と呼ばれる手法が規格によって用意されている。
【００１３】
ローディレイコーディングにおいては、リオーダリングディレイの原因となるＢピクチャ、および、発生符号量の多いＩピクチャを使用せずに、Ｐピクチャのみを使用し、このＰピクチャを、数スライスからなるイントラスライスと、残り全てのスライスからなるインタースライスとに区切ることにより、リオーダリングなしに符号化することができるようになされている。
【００１４】
イントラスライスは、スライス部分の画像データがフレーム内符号化される画像部分であり、インタースライスは、スライス部分の画像データと前のフレーム画像における同じ領域の参照画像データとの差分データが符号化される画像部分である。
【００１５】
ローディレイコーディングでは、例えば、図３に示されるように、エンコーダ１は、ナンバ０乃至１１のフレーム画像１１を全てＰピクチャとし、例えば、横４５マクロブロック、縦２４マクロブロの画枠サイズの中で、ナンバ０のフレーム画像の上段から縦２マクロブロック、および横４５マクロブロック分の領域を、イントラスライスＩ０、その他の領域を全てインタースライスＰ０として設定する。
【００１６】
そして、エンコーダ１は、次のナンバ１のフレーム画像においては、ナンバ０のフレーム画像のイントラスライスＩ０の下方向に続く位置に、同じ面積の領域でイントラスライスＩ１を設定し、その他は全てインタースライスＰ１に設定する。以下、同様にイントラスライスとインタースライスがフレーム画像ごとに設定され、最後のナンバ１１のフレーム画像についてもイントラスライスＩ１１とインタースライスＰ１１が設定される。
【００１７】
エンコーダ１は、各フレーム画像のイントラスライスＩ０乃至Ｉ１１を、そのまま伝送データとして符号化し、他のインタースライスＰ０乃至Ｐ１１を、前のフレーム画像の同じ領域の参照画像との差分データに基づいて符号化する（ただし、符号化の開始時においては、インタースライスＰ０の参照画像となる前のフレーム画像は存在しないので、符号化の開始時のみはこの限りでない）。そして、同様の符号化処理を、ナンバ０のフレーム画像からナンバ１１のフレーム画像について繰り返し実行することにより、エンコーダ１は、１枚のＰピクチャにおける画面全体の画像データを符号化して符号化フレーム２１を生成することができる。
【００１８】
この場合、各フレーム画像におけるイントラスライスＩ０乃至Ｉ１１の画像データサイズは全て均一であり、当然、インタースライスＰ０乃至Ｐ１１の画像データサイズも均一であることにより、フレーム画像毎の発生符号量は、ほぼ一定の固定レートになる。
【００１９】
これにより、図４に示すように、Ｐピクチャの各フレーム画像は全て同じ発生符号量の符号化データとなり、ＶＢＶバッファに格納されるとき、および、引き抜かれるときの、ＶＢＶバッファにおける符号化データの推移は、全て同じになる。この結果、送信側のエンコーダ１は、デコーダ２のＶＢＶバッファにアンダーフローおよびオーバーフローを生じさせることなく、符号化データの発生符号量を容易に制御することができ、発生符号量の多いＩピクチャで生じるような遅延やリオーダリングディレイによる不具合を解消することができ、再生画像を遅延なく表示することができる。
【００２０】
ところで、以上説明した構成の圧縮符号化装置においては、イントラスライスＩ０乃至Ｉ１１に関してはそのまま伝送データとして符号化し、インタースライスＰ０乃至Ｐ１１に関しては、前のフレーム画像における同じ領域の参照画像との差分データに基づいて符号化するため、イントラスライスＩ０乃至Ｉ１１の画像データ部分を圧縮符号化したときの実際の発生符号量は多く、インタースライスＰ０乃至Ｐ１１の画像データ部分を圧縮符号化したときの実際の発生符号量は少なくなる。
【００２１】
ところが、ピクチャ全体としての発生符号量は規定されているが、イントラスライスＩ０乃至Ｉ１１およびインタースライスＰ０乃至Ｐ１１毎に割り当てる発生符号量は規定されていない。すなわち、イントラスライスＩ０乃至Ｉ１１のように符号化したときの発生符号量が多くなる画像部分に対しても、またインタースライスＰ０乃至Ｐ１１のように符号化したときの発生符号量があまり多くならない画像データ部分に対しても、均等に発生符号量が割り当てられている。
【００２２】
従って、データ量の多いイントラスライスＩ０乃至Ｉ１１に対して割り当てられる発生符号量が少なく、データ量の少ないインタースライスＰ０乃至Ｐ１１に対して割り当てられる発生符号量が多くなることがあり、このような場合にピクチャ全体としての画像に歪みが生じてしまうという課題があった。
【００２３】
具体的には、図５に示されるように、画像の符号化難易度が低い画像３１に続いて、画像の符号化難易度が高い画像３２が存在した場合、符号化難易度が低い画像３１は、エンコードに容易な画像であるため、Ｑスケールが小さくなるが、従来の方法では、それに続く、画像の符号化難易度が高い画像３２に対して、小さなＱスケールでエンコードを開始してしまうため、画面の途中までに、与えられたビット量を消費してしまい、画面下端に前のピクチャが残ってしまうという現象が発生する。この現象は、イントラスライスが、次に、画面下端の問題発生箇所に現れるまで、影響を及ぼしてしまう。
【００２４】
この課題を解決するために、本出願人は、特開平１１−２０５８０３において、ローディレイモードにおいても、復号器側において高画質な画像を再生できるような符号化データを生成し得る符号化装置および符号化方法を提案している。
【００２５】
すなわち、通常のフィードバック型の量子化制御を行ってイントラスライスおよびインタースライスごとに最適な量子化ステップサイズを決定して量子化制御を行う場合において、次のピクチャが１つ前のピクチャと絵柄の大きく異なるシーンチェンジが起きた場合、１つ前のピクチャを基に算出された量子化インデックスデータＱ（ｊ＋１）を用いるのではなく、これから符号化しようとするピクチャのＭＥ残差情報に基づいて、仮想バッファの初期バッファ容量ｄ（０）を更新することにより、新たに量子化インデックスデータＱ（ｊ＋１）が算出し直されるようにする。これにより、シーンチェンジが起きた場合でも、イントラスライスおよびインタースライスごとに最適な量子化ステップサイズが決定されて、量子化制御が行われる。
【００２６】
ＭＥ残差とは、ピクチャ単位で算出されるものであり、１つ前のピクチャと次のピクチャにおける輝度の差分値の合計値である。従ってＭＥ残差情報が大きな値を示すときには、１つ前のピクチャの絵柄と次に符号化処理するピクチャの絵柄が大きく異なっていること（いわゆるシーンチェンジ）を表している。
【００２７】
この符号化方法について、図６のフローチャートを参照して説明する。
【００２８】
ステップＳ１において、例えば、動きベクトルを検出するときに得られるＭＥ残差情報が取得される。ここで取得されたＭＥ残差情報をＭＥ＿ｉｎｆｏとする。
【００２９】
ステップＳ２において、取得されたＭＥ残差情報から、ＭＥ残差情報の平均値ａｖｇが減算されて、算出された値が、所定の閾値Ｄよりも大きいか否かが判断される。ＭＥ残差情報の平均値ａｖｇは、後述するステップＳ４において更新される値であり、次の式（１）で示される。
【００３０】
ａｖｇ＝１／２（ａｖｇ＋ＭＥ＿ｉｎｆｏ）・・・（１）
【００３１】
ステップＳ２において、算出された値は、所定の閾値Ｄより小さいと判断された場合、現在のピクチャにおける絵柄と、１つ前のピクチャにおける絵柄との差があまり無い、すなわちシーンチェンジがなかったと判断されるので、処理はステップＳ４に進む。
【００３２】
ステップＳ２において、算出された値は、所定の閾値Ｄより大きいと判断された場合、現在のピクチャにおける絵柄と、１つ前のピクチャにおける絵柄との差が大きい、すなわち、シーンチェンジがあったと判断されるので、ステップＳ３において、式（２）、式（３）、式（４）および式（５）に基づいて、仮想バッファの初期バッファ容量ｄ（０）が算出されて、仮想バッファが更新される。
【００３３】
ピクチャ単位の画像の難しさＧＣ（Ｇｌｏｂａｌ　Ｃｏｍｐｌｅｘｉｔｙ）を表すＸは、次の式（２）で表される。
Ｘ＝Ｔ×Ｑ・・・（２）
ただし、Ｔは、ピクチャ単位の発生符号量であり、Ｑは、ピクチャ単位の量子化ステップサイズの平均値である。
【００３４】
そして、ピクチャ単位の画像の難しさＸを、ＭＥ残差情報ＭＥ＿ｉｎｆｏと等しいとした場合、すなわち、次の式（３）が満たされている場合、ピクチャ全体の量子化インデックスデータＱは、式（４）で示される。
【００３５】
Ｘ＝ＭＥ＿ｉｎｆｏ・・・（３）
Ｑ＝｛ｄ（０）×３１｝／｛２×（ｂｒ／ｐｒ）｝・・・（４）
ただし、ｂｒは、ビットレートであり、ｐｒは、ピクチャレートである。
【００３６】
そして、式（４）における仮想バッファの初期バッファ容量ｄ（０）は、次の式（５）で示される。
ｄ（０）＝２×｛（ＭＥ＿ｉｎｆｏ×ｂｒ／ｐｒ）／３１×Ｔ｝・・・（５）
【００３７】
この仮想バッファの初期バッファ容量ｄ（０）を、再度、式（４）に代入することにより、ピクチャ全体の量子化インデックスデータＱが算出される。
【００３８】
ステップＳ２において、算出された値は、所定の閾値Ｄより小さいと判断された場合、もしくは、ステップＳ３の処理の終了後、ステップＳ４において、次に供給されるピクチャに備えて、ＭＥ残差情報の平均値ａｖｇが、上述した式（１）により計算されて更新され、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。
【００３９】
図６のフローチャートを用いて説明した処理により、次のピクチャが１つ前のピクチャと絵柄の大きく異なるシーンチェンジが起きた場合には、これから符号化しようとするピクチャのＭＥ残差情報ＭＥ＿ｉｎｆｏに基づいて、仮想バッファの初期バッファ容量ｄ（０）が更新され、この値を基に、新たに量子化インデックスデータＱ（ｊ＋１）が算出されるので、シーンチェンジに対応して、イントラスライスおよびインタースライスごとに最適な量子化ステップサイズが決定される。
【００４０】
【発明が解決しようとする課題】
しかしながら、特開平１１−２０５８０３に記載の方法を用いた場合、符号化難易度が高い（難しい）画像から、符号化難易度が低い（易しい）画像にシーンが変わる場合などにおいても、同様のエンコード処理をしてしまうため、画質に悪影響を及ぼしてしまう。
【００４１】
具体的には、易しい画像から難しい画像へシーンが変わる場合、および、難しい画像から易しい画像へシーンが変わる場合の双方に対して仮想バッファ調整を行ってしまうため、難しい画像から易しい画像へシーンが変わる場合では、エンコードに余裕があるはずの、符号化難易度が低い画像において、わざわざ画質を悪くしてしまう場合がある。
【００４２】
また、シーンチェンジの影響で、イントラマクロブロックが多数発生してしまった場合、従来の仮想バッファの更新によるエンコード処理では、画像難易度が非常に高い画像をエンコードするとき、量子化スケールが最大値で張り付いた状態となり、画面上部で発生符号量を抑えることができなくなってしまうので、図５を用いて説明した画像３２と同様に、画面下部の符号化に割り当てる符号量が足りなくなってしまう現象が発生する。
【００４３】
これは、量子化をつかさどる量子化インデックスが略最大値で張り付いてしまうためである。
【００４４】
本発明はこのような状況に鑑みてなされたものであり、様々なシーンチェンジに対応して、イントラスライスエンコードにおいて、シーンチェンジ時の画質を向上させることができるようにするものである。
【００４５】
【課題を解決するための手段】
本発明の第１の符号化装置は、フレーム画像のビットレートを検出する第１の検出手段と、１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出手段と、第２の検出手段による検出結果を基に、第１のピクチャから第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、Ｑマトリクスを設定する設定手段と、決定手段により決定された量子化インデックスデータ、および設定手段により設定されたＱマトリクスを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備え、設定手段は、判断手段によりシーンチェンジが発生したと判断された場合、第１の検出手段により検出されたビットレートを基に、Ｑマトリクスを設定することを特徴とする。
【００４６】
設定手段には、ビットレートが高い場合よりも低い場合のほうが、量子化手段が粗い量子化を実行するように、Ｑマトリクスを設定させるようにすることができる。
【００４７】
設定手段には、ビットレートと所定の閾値とを比較させ、ビットレートが所定の閾値よりも小さい場合、量子化手段が粗い量子化を実行するように、Ｑマトリクスを設定させるようにすることができる。
【００４８】
設定手段には、複数の閾値とビットレートとを比較させ、その比較結果に基づいて、ビットレートが低いほど量子化手段が粗い量子化を実行するようにＱマトリクスを設定させるようにすることができる。
【００４９】
第２の検出手段には、第１のピクチャの絵柄と第２のピクチャの絵柄との差分を示す指標を算出させ、指標を基に、絵柄の変化を検出させるようにすることができる。
【００５０】
第２のピクチャの難易度を検出する第３の検出手段を更に備えさせるようにすることができ、設定手段には、判断手段によりシーンチェンジが発生したと判断された場合、第１の検出手段により検出されたビットレートに加えて、更に、第３の検出手段により検出された第２のピクチャの難易度に基づいて、Ｑマトリクスを設定させるようにすることができる。
【００５１】
第３の検出手段には、画像の難易度を示す指標を算出させ、指標を基に、第２のピクチャの難易度を検出させるようにすることができる。
【００５２】
設定手段には、難易度が低い場合よりも高い場合のほうが、量子化手段が粗い量子化を実行するようにＱマトリクスを設定させるようにすることができる。
【００５３】
設定手段には、難易度と所定の閾値を比較させ、難易度が所定の閾値よりも高い場合、量子化手段が粗い量子化を実行するようにＱマトリクスを設定させるようにすることができる。
【００５４】
設定手段には、ビットレートが第１の閾値よりも小さい場合、難易度を第２の閾値と比較させ、ビットレートが第１の閾値より大きく、かつ、第１の閾値よりも大きな第３の閾値よりも小さい場合、難易度を、第２の閾値より大きな第４の閾値と比較させ、その比較結果を基に、Ｑマトリクスを設定させるようにすることができる。
【００５５】
フレーム画像は、全て、フレーム間順方向予測符号化画像であるものとすることができる。
【００５６】
本発明の第１の符号化方法は、フレーム画像のビットレートを検出する第１の検出ステップと、１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出ステップと、第２の検出ステップの処理による検出結果を基に、第１のピクチャから第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Ｑマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたＱマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第１の検出ステップの処理により検出されたビットレートを基に、Ｑマトリクスを設定することを特徴とする。
【００５７】
本発明の第１の記録媒体に記録されているプログラムは、フレーム画像のビットレートを検出する第１の検出ステップと、１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出ステップと、第２の検出ステップの処理による検出結果を基に、第１のピクチャから第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Ｑマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたＱマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第１の検出ステップの処理により検出されたビットレートを基に、Ｑマトリクスを設定することを特徴とする。
【００５８】
本発明の第１のプログラムは、フレーム画像のビットレートを検出する第１の検出ステップと、１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの、絵柄の変化を検出する第２の検出ステップと、第２の検出ステップの処理による検出結果を基に、第１のピクチャから第２のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Ｑマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたＱマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第１の検出ステップの処理により検出されたビットレートを基に、Ｑマトリクスを設定することを特徴とする。
【００５９】
本発明の第２の符号化装置は、次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出手段と、１つ前のピクチャである第２のピクチャと、第１のピクチャとの、絵柄の変化を検出する第２の検出手段と、第２の検出手段による検出結果を基に、第２のピクチャから第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、Ｑマトリクスを設定する設定手段と、決定手段により決定された量子化インデックスデータ、および設定手段により設定されたＱマトリクスを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備え、設定手段は、判断手段によりシーンチェンジが発生したと判断された場合、第１の検出手段により検出された難易度を基に、Ｑマトリクスを設定することを特徴とする。
【００６０】
設定手段には、難易度が低い場合よりも高い場合のほうが、量子化手段が粗い量子化を実行するようにＱマトリクスを設定させるようにすることができる。
【００６１】
設定手段には、難易度と所定の閾値を比較させ、難易度が所定の閾値よりも高い場合、量子化手段が粗い量子化を実行するようにＱマトリクスを設定させるようにすることができる。
【００６２】
設定手段には、複数の所定の閾値と難易度とを比較させ、その比較結果に基づいて、難易度が高いほど量子化手段が粗い量子化を実行するようにＱマトリクスを設定させるようにすることができる。
【００６３】
第２の検出手段には、第１のピクチャの絵柄と第２のピクチャの絵柄との差分を示す指標を算出させ、指標を基に、絵柄の変化を検出させるようにすることができる。
【００６４】
第１の検出手段には、画像の難易度を示す指標を算出させ、指標を基に、第１のピクチャの難易度を検出させるようにすることができる。
【００６５】
フレーム画像は、全て、フレーム間順方向予測符号化画像であるものとすることができる。
【００６６】
本発明の第２の符号化方法は、次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出ステップと、１つ前のピクチャである第２のピクチャと、第１のピクチャとの、絵柄の変化を検出する第２の検出ステップと、第２の検出ステップの処理による検出結果を基に、第２のピクチャから第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Ｑマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたＱマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第１の検出ステップの処理により検出された難易度を基に、Ｑマトリクスを設定することを特徴とする。
【００６７】
本発明の第２の記録媒体に記録されているプログラムは、次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出ステップと、１つ前のピクチャである第２のピクチャと、第１のピクチャとの、絵柄の変化を検出する第２の検出ステップと、第２の検出ステップの処理による検出結果を基に、第２のピクチャから第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Ｑマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたＱマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第１の検出ステップの処理により検出された難易度を基に、Ｑマトリクスを設定することを特徴とする。
【００６８】
本発明の第２のプログラムは、次に符号化処理するピクチャである第１のピクチャの難易度を検出する第１の検出ステップと、１つ前のピクチャである第２のピクチャと、第１のピクチャとの、絵柄の変化を検出する第２の検出ステップと、第２の検出ステップの処理による検出結果を基に、第２のピクチャから第１のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Ｑマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたＱマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第１の検出ステップの処理により検出された難易度を基に、Ｑマトリクスを設定することを特徴とする。
【００６９】
本発明の第１の符号化装置および符号化方法、並びにプログラムにおいては、フレーム画像のビットレートが検出され、１つ前のピクチャである第１のピクチャと次に符号化処理するピクチャである第２のピクチャとの絵柄の変化が検出され、第１のピクチャから第２のピクチャの間でシーンチェンジが発生したか否かが判断され、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータが決定され、Ｑマトリクスが設定され、量子化インデックスデータ、およびＱマトリクスを基に、量子化が実行され、量子化された量子化係数データが符号化され、シーンチェンジが発生したと判断された場合、ビットレートを基に、Ｑマトリクスが設定される。
【００７０】
本発明の第２の符号化装置および符号化方法、並びにプログラムにおいては、次に符号化処理するピクチャである第１のピクチャの難易度が検出され、１つ前のピクチャである第２のピクチャと、第１のピクチャとの、絵柄の変化が検出され、第２のピクチャから第１のピクチャの間でシーンチェンジが発生したか否かが判断され、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータが決定され、Ｑマトリクスが設定され、量子化インデックスデータ、およびＱマトリクスを基に、量子化が実行され、量子化された量子化係数データが符号化され、シーンチェンジが発生したと判断された場合、難易度を基に、Ｑマトリクスが設定される。
【００７１】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【００７２】
図７は、ビデオエンコーダ６１の構成を示すブロック図である。
【００７３】
ビデオエンコーダ６１は、全てＰピクチャを用いたローディレイコーディング方式によって、画像データを符号化するようになされている。ビデオエンコーダ６１の前処理部７１は、外部から供給される画像データの入力を受ける。
【００７４】
前処理部７１は、順次入力される画像データの各フレーム画像（この場合全てＰピクチャ）を、１６画素×１６ラインの輝度信号、および輝度信号に対応する色差信号によって構成されるマクロブロックに分割し、これをマクロブロックデータとして、演算部７２、動きベクトル検出部７３、および、量子化制御部８３のイントラＡＣ算出部９１に供給する。
【００７５】
動きベクトル検出部７３は、マクロブロックデータの入力を受け、各マクロブロックの動きベクトルを、マクロブロックデータ、および、フレームメモリ８４に記憶されている参照画像データを基に算出し、動きベクトルデータとして、動き補償部８１に送出する。
【００７６】
演算部７２は、前処理部７１から供給されたマクロブロックデータについて、各マクロブロックの画像タイプに基づいて、イントラスライスＩ０乃至Ｉ１１に対してはイントラモードで、インタースライスＰ０乃至Ｐ１１に対しては順方向予測モードで、動き補償を行う。
【００７７】
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法である。ビデオエンコーダ６１においては、Ｐピクチャのみを使用して、イントラスライスＩ０乃至Ｉ１１とインタースライスＰ０乃至Ｐ１１に分けて符号化するようになされている。
【００７８】
まず、マクロブロックデータが、イントラスライスＩ０乃至Ｉ１１のうちの１つであった場合、マクロブロックデータはイントラモードで処理される。すなわち、演算部７２は、入力されたマクロブロックデータのマクロブロックを、そのまま演算データとしてＤＣＴ（Ｄｉｓｃｒｅｔｅ　Ｃｏｓｉｎｅ　Ｔｒａｎｓｆｏｒｍ　：離散コサイン変換）部７４に送出する。ＤＣＴ部７４は、入力された演算データに対しＤＣＴ変換処理を行うことによりＤＣＴ係数化し、これをＤＣＴ係数データとして、量子化部７５に送出する。
【００７９】
量子化部７５は、発生符号量制御部９２から供給される量子化インデックスデータＱ（ｊ＋１）に、Ｑマトリクスの係数を乗算することにより、入力されたＤＣＴ係数データに対して量子化処理を行い、量子化ＤＣＴ係数データとしてＶＬＣ（Ｖａｒｉａｂｌｅ　Ｌｅｎｇｔｈ　Ｃｏｄｅ；可変長符号化）部７７および逆量子化部７８に送出する。ここで、量子化部７５は、発生符号量制御部９２から供給される量子化インデックスデータＱ（ｊ＋１）に応じて、量子化処理における量子化ステップサイズを調整することにより、発生する符号量を制御するようになされている。
【００８０】
また、量子化インデックスデータＱ（ｊ＋１）に乗算するＱマトリクスの値は、シーンチェンジがあった場合には、発生符号量制御部９２が実行する、図１１乃至図１４のフローチャートを用いて後述する、Ｑマトリクス設定処理１乃至Ｑマトリクス設定処理４のうちのいずれかの処理により、必要に応じて制御される値である。
【００８１】
逆量子化部７８に送出された量子化ＤＣＴ係数データは、量子化部７５と同じ量子化ステップサイズによる逆量子化処理を受け、ＤＣＴ係数データとして、逆ＤＣＴ部７９に送出される。逆ＤＣＴ部７９は、供給されたＤＣＴ係数データに逆ＤＣＴ処理を施し、生成された演算データは、演算部８０に送出され、参照画像データとしてフレームメモリ８４に記憶される。
【００８２】
そして、マクロブロックデータがインタースライスＰ０乃至Ｐ１１のうちの１つであった場合、演算部７２はマクロブロックデータについて、順方向予測モードによる動き補償処理を行う。
【００８３】
動き補償部８１は、フレームメモリ８４に記憶されている参照画像データを、動きベクトルデータに応じて動き補償し、順方向予測画像データを算出する。演算部７２は、マクロブロックデータについて、動き補償部８１より供給される順方向予測画像データを用いて減算処理を実行する。
【００８４】
すなわち、動き補償部８１は、順方向予測モードにおいて、フレームメモリ８４の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを順方向予測画像データとして演算部７２および演算部８０に供給する。演算部７２は、供給されたマクロブロックデータから、順方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部７２は、差分データをＤＣＴ部７４に送出する。
【００８５】
また、演算部８０には、動き補償部８１より順方向予測画像データが供給されており、演算部８０は、逆ＤＣＴ部から供給された演算データに、順方向予測画像データを加算することにより、参照画像データを局部再生し、フレームメモリ８４に出力して記憶させる。
【００８６】
かくして、ビデオエンコーダ６１に入力された画像データは、動き補償予測処理、ＤＣＴ処理および量子化処理を受け、量子化ＤＣＴ係数データとして、ＶＬＣ部７７に供給される。ＶＬＣ部７７は、量子化ＤＣＴ係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ８２に送出するとともに、マクロブロックごとの符号化発生ビット数を表す発生符号量データＢ（ｊ）を、量子化制御部８３の発生符号量制御部９２、およびＧＣ（Ｇｌｏｂａｌ　Ｃｏｍｐｌｅｘｉｔｙ）算出部９３にそれぞれ送出する。
【００８７】
ＧＣ算出部９３は、発生符号量データＢ（ｊ）を、マクロブロックごとに順次蓄積し、１ピクチャ分の発生符号量データＢ（ｊ）が全て蓄積された時点で、全マクロブロック分の発生符号量データＢ（ｊ）を累積加算することにより、１ピクチャ分の発生符号量を算出する。
【００８８】
そしてＧＣ算出部９３は、次の式（６）を用いて、１ピクチャのうちの、イントラスライス部分の発生符号量と、イントラスライス部分における量子化ステップサイズの平均値との積を算出することにより、イントラスライス部分の画像の難しさ（以下、これをＧＣと称する）を表すＧＣデータＸｉを求め、これを目標符号量算出部９４に供給する。
【００８９】
Ｘｉ＝（Ｔｉ／Ｎｉ）×Ｑｉ・・・（６）
ここで、Ｔｉは、イントラスライスの発生符号量、Ｎｉは、イントラスライス数、そして、Ｑｉは、イントラスライスの量子化ステップサイズの平均値である。
【００９０】
ＧＣ算出部９３は、これと同時に、次に示す式（７）を用いて、１ピクチャのうちの、インタースライス部分の発生符号量と、このインタースライス部分における量子化ステップサイズの平均値との積を算出することにより、インタースライス部分におけるＧＣデータＸｐを求め、これを目標符号量算出部９４に供給する。
【００９１】
Ｘｐ＝（Ｔｐ／Ｎｐ）×Ｑｐ・・・（７）
ここで、Ｔｐは、インタースライスの発生符号量、Ｎｐは、インタースライス数、Ｑｐは、インタースライスの量子化ステップサイズの平均値である。
【００９２】
目標符号量算出部９４は、ＧＣ算出部９３から供給されるＧＣデータＸｉを基に、次の式（８）を用いて、次のピクチャにおけるイントラスライス部分の目標発生符号量データＴｐｉを算出するとともに、ＧＣ算出部９３から供給されるＧＣデータＸｐを基に、次の式（９）を基に、次のピクチャにおけるインタースライス部分の目標発生符号量データＴｐｐを算出し、算出した目標発生符号量データＴｐｉおよびＴｐｐを発生符号量制御部９２にそれぞれ送出する。
【００９３】
Ｔｐｉ＝｛（Ｎｉ×Ｘｉ）／（Ｎｐ×Ｘｐ）＋（Ｎｐ×Ｘｉ）｝×Ｘｐ・・・（８）
【００９４】
Ｔｐｐ＝｛（Ｎｐ×Ｘｐ）／（Ｎｐ×Ｘｐ）＋（Ｎｉ×Ｘｉ）｝×Ｘｐ・・・（９）
【００９５】
また、目標符号量算出部９４は、操作入力部８５を用いて、ユーザが入力したビットレートの値の入力を受け、符号量発生部９２に供給する。
【００９６】
ＭＥ残差算出部９５は、入力されるマクロブロックデータを基に、ＭＥ残差情報ＭＥ＿ｉｎｆｏを算出して、発生符号量制御部９２に出力する。ここで、ＭＥ残差情報ＭＥ＿ｉｎｆｏとは、ピクチャ単位で算出されるものであり、１つ前のピクチャと次のピクチャにおける輝度の差分値の合計値である。従って、ＭＥ残差情報ＭＥ＿ｉｎｆｏが大きな値を示すときには、１つ前のピクチャの絵柄と、次に符号化処理するピクチャの絵柄とが大きく異なっていること（いわゆるシーンチェンジ）を表している。
【００９７】
１つ前のピクチャの絵柄と次に符号化処理するピクチャの絵柄が異なっている場合、１つ前のピクチャの画像データを用いて算出した目標発生符号量データＴｐｉおよびＴｐｐを基に生成した量子化インデックスデータＱ（ｊ＋１）によって、量子化部７５の量子化ステップサイズを決定することは適切ではない。従って、シーンチェンジが起こった場合は、目標発生符号量データＴｐｉおよびＴｐｐは、新たに算出されなおされるようにしても良い。
【００９８】
イントラＡＣ算出部９１は、イントラＡＣ（ｉｎｔｒａ　ＡＣ）を算出し、現在のイントラＡＣの値を示すｍａｄ＿ｉｎｆｏと、一つ前のイントラＡＣの値を示すｐｒｅｖ＿ｍａｄ＿ｉｎｆｏとを、発生符号量制御部９２に出力する。
【００９９】
イントラＡＣは、ＭＰＥＧ方式におけるＤＣＴ処理単位のＤＣＴブロックごとの映像データとの分散値の総和として定義されるパラメータであって、映像の複雑さを指標し、映像の絵柄の難しさおよび圧縮後のデータ量と相関性を有する。すなわち、イントラＡＣとは、ＤＣＴブロック単位で、それぞれの画素の画素値から、ブロック毎の画素値の平均値を引いたものの絶対値和の、画面内における総和である。イントラＡＣ（ＩｎｔｒａＡＣ）は、次の式（１０）で示される。
【０１００】
【数１】
2004072143.tif 000003
【０１０１】
また、式（１０）において、式（１１）が成り立つ。
【数２】
2004072143.tif 000004
【０１０２】
画像の符号化難易度が易しいものから難しいものへのシーンチェンジ、および、難しいものから易しいものへのシーンチェンジの、双方に対して仮想バッファ調整を行ってしまった場合、難しいものから易しいものへのシーンチェンジでは、エンコードに余裕があるはずの易画像においてわざわざ画質を悪くしてしまう結果となる場合がある。また、難しいものから易しいものへのシーンチェンジであっても、その変化の大きさ、あるいは、シーンチェンジ後の画像の難易度によっては、仮想バッファの調整を行うほうがよい場合がある。しかしながら、ＭＥ残差情報のみでは、シーンチェンジの有無を判定することはできるが、シーンチェンジの内容が、易しいものから難しいものへのシーンチェンジであるか、あるいは、難しいものから易しいものへのシーンチェンジであるかを判定することができない。
【０１０３】
そこで、イントラＡＣ算出部９１が、イントラＡＣを算出し、現在のイントラＡＣの値を示すｍａｄ＿ｉｎｆｏと、一つ前のイントラＡＣの値を示すｐｒｅｖ＿ｍａｄ＿ｉｎｆｏとを、発生符号量制御部９２に出力することにより、発生符号量制御部９２は、シーンチェンジの状態を判定して、仮想バッファ調整を行うか否かを判断することができる。
【０１０４】
発生符号量制御部９２は、バッファ８２に格納される可変長符号化データの蓄積状態を常時監視しており、蓄積状態を表す占有量情報を基に量子化ステップサイズを決定するようになされている。
【０１０５】
また、発生符号量制御部９２は、イントラスライス部分の目標発生符号量データＴｐｉよりも実際に発生したマクロブロックの発生符号量データＢ（ｊ）が多い場合、発生符号量を減らすために量子化ステップサイズを大きくし、また、目標発生符号量データＴｐｉよりも実際の発生符号量データＢ（ｊ）が少ない場合、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
【０１０６】
更に、発生符号量制御部９２は、インタースライス部分の場合も同様に、目標発生符号量データＴｐｐよりも実際に発生したマクロブロックの発生符号量データＢ（ｊ）が多い場合、発生符号量を減らすために量子化ステップサイズを大きくし、また、目標発生符号量データＴｐｐよりも実際の発生符号量データＢ（ｊ）が少ない場合、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
【０１０７】
すなわち、発生符号量制御部９２は、デコーダ側に設けられたＶＢＶバッファに格納された可変長符号化データの蓄積状態の推移を想定することにより、図８に示されるように、ｊ番目のマクロブロックにおける仮想バッファのバッファ占有量ｄ（ｊ）を次の式（１２）によって表し、また、ｊ＋１番目のマクロブロックにおける仮想バッファのバッファ占有量ｄ（ｊ＋１）を次の式（１３）によって表し、（１２）式から（１３）式を減算することにより、ｊ＋１番目のマクロブロックにおける仮想バッファのバッファ占有量ｄ（ｊ＋１）を次の式（１４）として変形することができる。
【０１０８】
ｄ（ｊ）＝ｄ（０）＋Ｂ（ｊ−１）−｛Ｔ×（ｊ−１）／ＭＢｃｎｔ｝・・・（１２）
【０１０９】
ここで、ｄ（０）は初期バッファ容量、Ｂ（ｊ）は、ｊ番目のマクロブロックにおける符号化発生ビット数、ＭＢｃｎｔは、ピクチャ内のマクロブロック数、そして、Ｔは、ピクチャ単位の目標発生符号量である。
【０１１０】
ｄ（ｊ＋１）＝ｄ（０）＋Ｂ（ｉ）−（Ｔ×ｊ）／ＭＢｃｎｔ・・・（１３）
【０１１１】
ｄ（ｊ＋１）＝ｄ（ｊ）＋｛Ｂ（ｊ）−Ｂ（ｊ−１）｝−Ｔ／ＭＢｃｎｔ・・・（１４）
【０１１２】
続いて、発生符号量制御部９２は、ピクチャ内のマクロブロックがイントラスライス部分とインタースライス部分とに分かれているため、図９に示されるように、イントラスライス部分のマクロブロックとインタースライス部分の各マクロブロックに割り当てる目標発生符号量ＴｐｉおよびＴｐｐをそれぞれ個別に設定する。
【０１１３】
グラフにおいて、マクロブロックのカウント数が０乃至ｓ、および、ｔ乃至ｅｎｄの間にあるとき、次の式（１５）に、インタースライスの目標発生符号量Ｔｐｐを代入することにより、インタースライス部分におけるバッファ占有量ｄ（ｊ＋１）を得ることができる。
【０１１４】
ｄ（ｊ＋１）＝ｄ（ｊ）＋｛Ｂ（ｊ）−Ｂ（ｊ−１）｝−Ｔｐｐ／｛ＭＢｃｎｔ−（ｔ−ｓ）｝・・・（１５）
【０１１５】
また、マクロブロックのカウント数がｓ乃至ｔの間にあるときに、次の式（１６）に、イントラスライスの目標発生符号量Ｔｐｉを代入することにより、イントラスライス部分におけるバッファ占有量ｄ（ｊ＋１）を得ることができる。
【０１１６】
ｄ（ｊ＋１）＝ｄ（ｊ）＋｛Ｂ（ｊ）−Ｂ（ｊ−１）｝−Ｔｐｉ／（ｔ−ｓ）・・・（１６）
【０１１７】
従って、発生符号量制御部９２は、イントラスライス部分およびインタースライス部分におけるバッファ占有量ｄ（ｊ＋１）、および、式（１７）に示される定数ｒを、式（１８）に代入することにより、マクロブロック（ｊ＋１）の量子化インデックスデータＱ（ｊ＋１）を算出し、これを量子化部７５に供給する。
【０１１８】
ｒ＝（２×ｂｒ）／ｐｒ　・・・（１７）
Ｑ（ｊ＋１）＝ｄ（ｊ＋１）×（３１／ｒ）　・・・（１８）
ここで、ｂｒは、ビットレートであり、ｐｒは、ピクチャレートである。
【０１１９】
更に、発生符号量制御部９２は、シーンチェンジがあった場合、図１１乃至図１４のフローチャートを用いて後述する、Ｑマトリクス設定処理１乃至Ｑマトリクス設定処理４のうちのいずれかの処理により、必要に応じて、量子化部７５が量子化に用いるＱマトリクスの値を制御する。
【０１２０】
量子化部７５は、量子化インデックスデータＱ（ｊ＋１）、および、発生符号量制御部９２の処理により制御される値であるＱマトリクスに基づいて、次のマクロブロックにおけるイントラスライスまたはインタースライスに応じた量子化ステップサイズを決定し、量子化ステップサイズによってＤＣＴ係数データを量子化する。
【０１２１】
これにより、量子化部７５は、１つ前のピクチャのイントラスライス部分およびインタースライス部分における実際の発生符号量データＢ（ｊ）に基づいて算出された、次のピクチャのイントラスライス部分およびインタースライス部分における目標発生符号量ＴｐｐおよびＴｐｉにとって最適な量子化ステップサイズによって、ＤＣＴ係数データを量子化することができる。
【０１２２】
かくして、量子化部７５では、バッファ８２のデータ占有量に応じて、バッファ８２がオーバーフローまたはアンダーフローしないように量子化し得るとともに、デコーダ側のＶＢＶバッファがオーバーフロー、またはアンダーフローしないように量子化した量子化ＤＣＴ係数データを生成することができる。
【０１２３】
例えば、従来の技術として上述した、特願平１１−２０５８０３では、通常のフィードバック型の量子化制御を行いながら、次に符号化処理するピクチャの絵柄が大きく変化する場合には、フィードバック型の量子化制御を止め、ＭＥ残差算出部９５から供給されるＭＥ残差情報に基づいて、仮想バッファの初期バッファ容量ｄ（０）を初期化し、新たな初期バッファ容量ｄ（０）を基に、イントラスライスおよびインタースライスごとに量子化インデックスデータＱ（ｊ＋１）を新たに算出するようになされている。
【０１２４】
しかしながら、従来における場合のように、ＭＥ残差のみで仮想バッファ調整を行うか否かを判定してしまうと、画像難易度が易しいものから難しいものに変わった場合、および難しいものから簡単なものに変わった場合の双方に対して、仮想バッファ調整を行ってしまう。すなわち、画像難易度が難しいものから簡単なものに変わった場合では、エンコードに余裕があるはずの簡単な画像において、わざわざ画質を悪くしてしまう結果となる。
【０１２５】
そこで、図７のビデオエンコーダ６１においては、例えば、イントラＡＣ算出部９１によって算出されるイントラＡＣなどの情報を用いて、画像難易度が易しいものから難しいものに変わるシーンチェンジの時にのみ、仮想バッファ調整を行うようにすることにより、簡単な画像での画質の劣化を防ぐようにすることができる。
【０１２６】
すなわち、発生符号量制御部９２は、通常のフィードバック型の量子化制御を行いながら、次に符号化処理するピクチャの絵柄が大きく変化する場合には、フィードバック型の量子化制御を止め、ＭＥ残差算出部９５から供給されるＭＥ残差情報ＭＥ＿ｉｎｆｏ、並びに、イントラＡＣ算出部９１から供給される、ｐｒｅｖ＿ｍａｄ＿ｉｎｆｏおよびｍａｄ＿ｉｎｆｏを基に、仮想バッファの初期バッファ容量ｄ（０）を初期化するか否かを判断し、仮想バッファの初期バッファ容量ｄ（０）を初期化する場合は、ＭＥ残差算出部９５から供給されるＭＥ残差情報ＭＥ＿ｉｎｆｏに基づいて、仮想バッファの初期バッファ容量ｄ（０）を初期化する。仮想バッファの初期バッファ容量ｄ（０）の初期化については、式（２）乃至式（５）を用いて説明した従来における場合と同様である。
【０１２７】
そして、発生符号量制御部９２は、新たな初期バッファ容量ｄ（０）を基に、イントラスライスおよびインタースライスごとに、式（１２）乃至式（１８）を用いて、量子化インデックスデータＱ（ｊ＋１）を新たに算出し、量子化部７５に供給する。
【０１２８】
更に、発生符号量制御部９２は、次に符号化処理するピクチャの絵柄が大きく変化する場合には、ビットレート、あるいは、画像難易度、もしくはビットレートおよび画像難易度を基に、量子化部７５を制御して、Ｑマトリクスの値を設定する。具体的には、発生符号量制御部９２は、符号化が困難な、低ビットレートや難易度の高い画像においては、粗く量子化を行うように、Ｑマトリクスの値を設定し、符号化がある程度容易な、高ビットレートや難易度の低い画像においては、レート制御に余裕があるにもかかわらず、画質を劣化させてしまうようなことがないように、Ｑマトリクスの値を設定する。
【０１２９】
図１０のフローチャートを参照して、イントラＡＣなどの画像難易度情報を用いて、シーンチェンジは、簡単な画像から難しい画像への変化であるか否かの判定を導入して仮想バッファの調整を行う、仮想バッファ更新処理について説明する。
【０１３０】
ステップＳ２１において、発生符号量制御部９２は、ＭＥ残差算出部９５から、ＭＥ残差情報ＭＥ＿ｉｎｆｏ　を取得する。
【０１３１】
ステップＳ２２において、発生符号量制御部９２は、取得されたＭＥ残差情報から、ＭＥ残差情報の平均値ａｖｇを減算し、ＭＥ＿ｉｎｆｏ−ａｖｇ　＞　Ｄであるか否か、すなわち、算出された値が、所定の閾値Ｄよりも大きいか否かが判断される。ＭＥ残差情報の平均値ａｖｇは、後述するステップＳ２６において更新される値であり、上述した式（１）で示される。なお、所定の閾値Ｄは、画質を検討しながらチューニングされる性質の値である。
【０１３２】
ステップＳ２２において、算出された値は、所定の閾値Ｄより小さいと判断された場合、現在のピクチャにおける絵柄と、１つ前のピクチャにおける絵柄との差があまり無い、すなわちシーンチェンジがなかったと判断されるので、処理はステップＳ２６に進む。
【０１３３】
ステップＳ２２において、算出された値は、所定の閾値Ｄより大きいと判断された場合、現在のピクチャにおける絵柄と、１つ前のピクチャにおける絵柄との差が大きい、すなわち、シーンチェンジがあったと判断されるので、ステップＳ２３において、発生符号量制御部９２は、図１１乃至図１４を用いて説明するＱマトリクス設定処理１乃至４のうちのいずれかの処理を実行する。ここで、Ｑマトリクスの設定は、ビットレートやシーンチェンジ後の画像の難易度に基づいて設定される。
【０１３４】
ステップＳ２４において、発生符号量制御部９２は、イントラＡＣ算出部９１から取得される、このシーンチェンジの後のイントラＡＣの値であるｍａｄ＿ｉｎｆｏと、このシーンチェンジの前のイントラＡＣの値であるｐｒｅｖ＿ｍａｄ＿ｉｎｆｏとを比較し、ｍａｄ＿ｉｎｆｏ　＞　ｐｒｅｖ＿ｍａｄ＿ｉｎｆｏであるか否かを判断する。
【０１３５】
ステップＳ２４において、ｍａｄ＿ｉｎｆｏ　＞　ｐｒｅｖ＿ｍａｄ＿ｉｎｆｏではないと判断された場合、このシーンチェンジは、難しい画像から、簡単な画像へのシーンチェンジであるので、処理は、ステップＳ２６に進む。
【０１３６】
ステップＳ２４において、ｍａｄ＿ｉｎｆｏ　＞　ｐｒｅｖ＿ｍａｄ＿ｉｎｆｏであると判断された場合、このシーンチェンジは、簡単な画像から、難しい画像へのシーンチェンジであるので、ステップＳ２５において、発生符号量制御部９２は、図１を用いて説明した従来における場合と同様の処理により、仮想バッファの初期バッファ容量ｄ（０）の更新を行う。
【０１３７】
すなわち、発生符号量制御部９２は、上述した式（２）、式（３）、式（４）および式（５）に基づいて、仮想バッファの初期バッファ容量ｄ（０）を算出し、仮想バッファを更新する。
【０１３８】
ステップＳ２２において、算出された値は、所定の閾値Ｄより小さいと判断された場合、ステップＳ２４において、ｍａｄ＿ｉｎｆｏ　＞　ｐｒｅｖ＿ｍａｄ＿ｉｎｆｏではないと判断された場合、もしくは、ステップＳ２５の処理の終了後、ステップＳ２６において、発生符号量制御部９２は、次に供給されるピクチャに備えて、ＭＥ残差情報の平均値ａｖｇを、上述した式（１）により更新し、処理は、ステップＳ２１に戻り、それ以降の処理が繰り返される。
【０１３９】
図１０のフローチャートを用いて説明した処理により、イントラＡＣを用いて、画像難易度が易しいものから難しいものに変更されるシーンチェンジの時にのみ仮想バッファ調整を行うようにしたので、エンコードに余裕があるはずの簡単な画像において、更に画質を悪くしてしまうことを防ぐことができる。
【０１４０】
また、シーンチェンジが発生した場合、図１１乃至図１４のフローチャートを用いて後述するＱマトリクス設定処理１乃至Ｑマトリクス設定処理４のうちのいずれかの処理が実行されて、画像のビットレートや難易度に適したＱマトリクスが設定される。
【０１４１】
次に、図１１のフローチャートを参照して、図１０のステップＳ２３において実行される、Ｑマトリクス設定処理１について説明する。Ｑマトリクス設定処理１においては、ビットレートを基にＱマトリクスを変更するか否かが判断される。
【０１４２】
ステップＳ４１において、発生符号量制御部９２は、目標符号量算出部９４から供給されるビットレートの値は、所定の閾値Ａより小さな値であるか否かを判断する。
【０１４３】
ステップＳ４１において、ビットレートの値は、所定の閾値Ａより小さな値であると判断された場合、ステップＳ４２において、発生符号量制御部９２は、Ｑマトリクスの値を、高周波成分を落とすことができる値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行する場合のＱマトリクスの値を、高周波成分を落とすことができる値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１４４】
ステップＳ４１において、ビットレートの値は、所定の閾値Ａより小さな値ではないと判断された場合、ステップＳ４３において、発生符号量制御部９２は、Ｑマトリクスの値を変更させないので、制御信号を量子化部７５に出力しない。従って、量子化部７５は、量子化処理を実行するときに、通常のＱマトリクスの値を用いることとなる。ステップＳ４３の処理の終了後、処理は、図１０のステップＳ２４に戻る。
【０１４５】
すなわち、低いビットレートでは、符号化に余裕がなくなるため、Ｑマトリクスの値を、高周波成分を落とすことができる値に変更することにより、イントラスライスエンコードのシーンチェンジ時の画質を向上させることができるが、高いビットレートで同様の処理を行ってしまうと、符号化に余裕があるのにもかかわらず、粗く量子化することになってしまうため、画質を劣化してしまうことになってしまう。従って、ビットレートが所定の閾値よりも低い場合のみ、Ｑマトリクスを変更させるようにする。
【０１４６】
図１１のフローチャートを用いて説明した処理により、シーンチェンジが発生した場合、ビットレートに基づいて、Ｑマトリクスを変更するか否かを決定するようにしたので、イントラスライスエンコードのシーンチェンジ時の画質を向上させることができる。
【０１４７】
ここでは、ただ１つの閾値を用いて、ビットレートの高低を判断するようにしているが、複数の閾値を用いて、ビットレートの高低を判断するようにしても良いことは言うまでもない。この場合、ビットレートが低いと判断されるほど、粗い量子化が実行されるようなＱマトリクスが設定される。
【０１４８】
Ｑマトリクス設定処理１においては、ビットレートを基にＱマトリクスを変更するか否かが判断されたが、シーンチェンジ後の画像難易度を基に、Ｑマトリクスの設定値を変更するようにしてもよい。図１２のフローチャートを参照して、シーンチェンジ後の画像難易度を基に、Ｑマトリクスの設定値を変更するＱマトリクス設定処理２について説明する。
【０１４９】
ステップＳ５１において、発生符号量制御部９２は、イントラＡＣ算出部９１から供給されたｍａｄ＿ｉｎｆｏの値と、所定の閾値Ｂを比較して、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っているか否かを判断する。
【０１５０】
ステップＳ５１において、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が高いため符号化が困難な画像であるので、ステップＳ５２において、発生符号量制御部９２は、Ｑマトリクスの値を、高周波成分を落とすことができ、粗い量子化を実行する第１の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行する場合のＱマトリクスの値を、高周波成分を落とすことができる第１の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１５１】
ステップＳ５１において、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップＳ５３において、発生符号量制御部９２は、Ｑマトリクスの値を、通常処理よりは高周波成分を落とすことができるが、第１の値と比較して細かく量子化することができる第２の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、Ｑマトリクスの値を、高周波成分を落とすことができる第２の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１５２】
図１２のフローチャートを用いて説明した処理により、シーンチェンジが発生した場合、シーンチェンジ後の画像難易度に基づいて、Ｑマトリクスの値を設定するようにしたので、イントラスライスエンコードのシーンチェンジ時の画質を向上させることができる。
【０１５３】
なお、図１２においては、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っているか否かを基に、Ｑマトリクスの値を、第１の値にするか第２の値にするかを決定するようにしたが、例えば、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っているか否かを基に、Ｑマトリクスの値を変更するか否かを決定するようにしても良い。
【０１５４】
ここでは、ただ１つの閾値を用いて、シーンチェンジ後の画像難易度の高低を判断するようにしているが、複数の閾値を用いて、画像難易度の高低を判断するようにしても良いことは言うまでもない。この場合、画像難易度が高いと判断されるほど、粗い量子化が実行されるようなＱマトリクスが設定される。
【０１５５】
Ｑマトリクス設定処理１においては、ビットレートを基にＱマトリクスを変更するか否かが判断され、Ｑマトリクス設定処理２においては、シーンチェンジ後の画像難易度を基に、Ｑマトリクスの設定値を変更するようになされていたが、ビットレートおよびシーンチェンジ後の画像難易度の両方の値に基づいて、Ｑマトリクスの設定値を設定するようにしてもよい。図１３のフローチャートを参照して、シーンチェンジ後のビットレートおよび画像難易度を基に、Ｑマトリクスの設定値を変更するＱマトリクス設定処理３について説明する。
【０１５６】
ステップＳ６１において、発生符号量制御部９２は、目標符号量算出部９４から供給されるビットレートの値は、所定の閾値Ａより小さな値であるか（すなわち、符号化に余裕のない低いビットレートであるか）否かを判断する。
【０１５７】
ステップＳ６１において、ビットレートの値は、所定の閾値Ａより小さな値であると判断された場合、ステップＳ６２において、発生符号量制御部９２は、イントラＡＣ算出部９１から供給されたｍａｄ＿ｉｎｆｏの値と、所定の閾値Ｂを比較して、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っているか否かを判断する。
【０１５８】
ステップＳ６２において、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が高いため符号化が困難な画像であるので、ステップＳ６３において、発生符号量制御部９２は、Ｑマトリクスの値を、高周波成分を落とすことができ、粗い量子化を実行する第１の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行するときのＱマトリクスの値を、高周波成分を落とすことができる第１の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１５９】
ステップＳ６２において、ｍａｄ＿ｉｎｆｏ＞閾値Ｂが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップＳ６４において、発生符号量制御部９２は、Ｑマトリクスの値を、通常処理よりは高周波成分を落とすことができるが、第１の値と比較して細かく量子化することができる第２の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行するときのＱマトリクスの値を、高周波成分を落とすことができる第２の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１６０】
ステップＳ６１において、ビットレートの値は、所定の閾値Ａより小さな値ではないと判断された場合、ステップＳ６５において、発生符号量制御部９２は、符号化に余裕があるのにもかかわらず、粗く量子化して、画像を劣化してしまうことを避けるため、Ｑマトリクスの値を変更させないので、制御信号を量子化部７５に出力しない。従って、量子化部７５は、通常のＱマトリクスの値を用いて量子化処理を実行するようになされる。ステップＳ６５の処理の終了後、処理は、図１０のステップＳ２４に戻る。
【０１６１】
図１３のフローチャートを用いて説明した処理により、ビットレートおよびシーンチェンジ後の画像難易度の両方の値に基づいて、Ｑマトリクスの設定値が設定されるので、必要以上に画像を劣化させてしまうことなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を抑制することが可能となる。
【０１６２】
また、ビットレートおよび画像難易度の閾値を、それぞれ複数設けることにより、更に詳細に場合分けを行い、必要以上に画像を劣化させてしまうことなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を効果的に抑制するようにすることができる。次に、図１４のフローチャートを参照して、ビットレートおよび画像難易度の閾値を複数設けるようにした、Ｑマトリクス設定処理４について説明する。
【０１６３】
ステップＳ７１において、発生符号量制御部９２は、目標符号量算出部９４から供給されるビットレートの値は、所定の閾値Ｅより小さな値であるか否かを判断する。ここで、閾値Ｅは、符号化が困難である小さなビットレートにおいて、更に詳細に符号化の余裕度を判断するために、図１０、または図１３のフローチャートを用いて説明した処理における閾値Ａより小さい値とするほうが好適である。
【０１６４】
ステップＳ７１において、ビットレートの値は、所定の閾値Ｅより小さな値であると判断された場合、ステップＳ７２において、発生符号量制御部９２は、イントラＡＣ算出部９１から供給されたｍａｄ＿ｉｎｆｏの値と、所定の閾値Ｇを比較して、ｍａｄ＿ｉｎｆｏ＞閾値Ｇが成り立っているか否かを判断する。ここで、閾値Ｇは、符号化が困難である高ビットレートの画像において、比較的広い範囲で画像難易度の高い画像を選択することができる値に設定することが好ましく、基本的に、図１１、または図１３のフローチャートを用いて説明した処理における閾値Ｂと略同等、または、閾値Ｂよりも小さな値とすると好適である。
【０１６５】
ステップＳ７２において、ｍａｄ＿ｉｎｆｏ＞閾値Ｇが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が非常に高いため符号化が困難な画像であるので、ステップＳ７３において、発生符号量制御部９２は、Ｑマトリクスの値を、高周波成分を落とすことができ、Ｑマトリクス設定処理４のうち、最も粗い量子化を実行する第３の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行するときのＱマトリクスの値を、第３の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１６６】
ステップＳ７２において、ｍａｄ＿ｉｎｆｏ＞閾値Ｇが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップＳ７４において、発生符号量制御部９２は、Ｑマトリクスの値を、高周波成分を落とすことができ、Ｑマトリクス設定処理４のうち、２番目に粗い量子化を実行する第４の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行するときのＱマトリクスの値を、第４の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１６７】
ステップＳ７１において、ビットレートの値は、所定の閾値Ｅより小さな値ではないと判断された場合、ステップＳ７５において、発生符号量制御部９２は、目標符号量算出部９４から供給されるビットレートの値は、所定の閾値Ｆより小さな値であるか否かを判断する。ここで、符号化の余裕度を判断するための閾値である閾値Ｆは、閾値Ｅよりも大きな値であり、基本的に、図１０、または図１３のフローチャートを用いて説明した処理における閾値Ａと略同等の値とすると好適である。
【０１６８】
ステップＳ７５において、ビットレートの値は、所定の閾値Ｆより小さな値であると判断された場合、ステップＳ７６において、発生符号量制御部９２は、イントラＡＣ算出部９１から供給されたｍａｄ＿ｉｎｆｏの値と、所定の閾値Ｈを比較して、ｍａｄ＿ｉｎｆｏ＞閾値Ｈが成り立っているか否かを判断する。
【０１６９】
ここで、閾値Ｈは、閾値Ｇより大きな値である。すなわち、ビットレートが閾値Ｅよりも小さな、低ビットレートの画像においては、画面下部まで正しく符号化させるために、難易度の高い画像を充分広い範囲で選択して、選択された画像におけるＱマトリクスの値を、粗い量子化を実行させる第３の値に設定させる必要がある。これに対して、ビットレートが、閾値Ｅよりは大きく、閾値Ｆより小さな画像においては、ビットレートが高い分だけ、レート制御に余裕が生じるので、ビットレートが閾値Ｅよりも小さな場合よりも高い難易度の画像のみ、画面下部で符号量が不足する。従って、閾値Ｈを閾値Ｇよりも大きな値にしなければ、レート制御に余裕がある画像において、必要以上に量子化を粗くして、画質を低下させてしまう。
【０１７０】
ステップＳ７６において、ｍａｄ＿ｉｎｆｏ＞閾値Ｈが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が非常に高いため符号化が困難な画像であるので、ステップＳ７７において、発生符号量制御部９２は、Ｑマトリクスの値を、Ｑマトリクス設定処理４のうち、３番目に粗い量子化を実行する第５の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行するときのＱマトリクスの値を、第５の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１７１】
ステップＳ７６において、ｍａｄ＿ｉｎｆｏ＞閾値Ｈが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップＳ７８において、発生符号量制御部９２は、Ｑマトリクスの値を、変更なしの場合の量子化よりは粗い量子化を実行するが、Ｑマトリクス設定処理４によって変更されて設定されるうちでは、もっとも細かい量子化を実行する第６の値に変更させるための制御信号を生成し、量子化部７５に出力する。量子化部７５は、発生符号量制御部９２から供給された制御信号に基づいて、量子化処理を実行するときのＱマトリクスの値を、第６の値に変更し、処理は、図１０のステップＳ２４に戻る。
【０１７２】
ステップＳ７５において、ビットレートの値は、所定の閾値Ｆより小さな値ではないと判断された場合、ステップＳ７９において、発生符号量制御部９２は、符号化に余裕があるのにもかかわらず、粗く量子化して、画像を劣化してしまうことを避けるため、Ｑマトリクスの値を変更させないので、制御信号を量子化部７５に出力しない。従って、量子化部７５は、量子化処理を実行するとき、通常のＱマトリクスの値を用いる。ステップＳ７９の終了後、処理は、図１０のステップＳ２４に戻る。
【０１７３】
図１４のフローチャートを用いて説明した処理により、ビットレートおよび画像難易度の閾値を複数設けて、更に詳細に場合分けを行うようにすることで、必要以上に画像を劣化させてしまうことなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を効果的に抑制するようにすることができる。
【０１７４】
なお、図１４のフローチャートを用いて説明した処理においては、ビットレートおよび画像難易度の閾値をそれぞれ２つ設けた場合について説明したが、ビットレートおよび画像難易度の閾値を、それぞれ、２つ以上設けるようにしても良いことは言うまでもない。ビットレートおよび画像難易度の閾値を、画像符号化が困難な部分においてより細かく設定する（多くの閾値を設定する）ことにより、画像を劣化させることなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を、更に効果的に抑制するようにすることができる。
【０１７５】
また、上述の実施の形態においては、ローディレイコーディングとしてナンバ０乃至１１の各フレーム画像を全てＰピクチャとし、例えば、横４５マクロブロック、縦２４マクロブロックの画枠サイズの中でフレーム画像の上段から縦２マクロブロックおよび横４５マクロブロック分の領域を１つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合について述べたが、本発明はこれに限らず、例えば、イントラスライス部分を縦１マクロブロック、横４５マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにしても良い。
【０１７６】
また、ここでは、ローディレイエンコードを行う場合を例として説明したが、本発明は、例えば、１５フレームを、フレーム内符号化画像（以下、Ｉピクチャと称する）、フレーム間順方向予測符号化画像（以下、Ｐピクチャと称する）、もしくは、双方向予測符号化画像（以下、Ｂピクチャと称する）の３つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ（Ｉピクチャ、Ｐピクチャ、あるいは、Ｂピクチャ）に応じて、フレーム画像を符号化するような場合にも適用可能である。
【０１７７】
更に、上述の実施の形態においては、本発明をＭＰＥＧ方式によって圧縮符号化する符号化装置としてのビデオエンコーダ６１に適用するようにした場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
【０１７８】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、ビデオエンコーダ６１は、図１５に示されるようなパーソナルコンピュータ１０１により構成される。
【０１７９】
図１５において、ＣＰＵ１１１は、ＲＯＭ１１２に記憶されているプログラム、または記憶部１１８からＲＡＭ１１３にロードされたプログラムに従って、各種の処理を実行する。ＲＡＭ１１３にはまた、ＣＰＵ１１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１８０】
ＣＰＵ１１１、ＲＯＭ１１２、およびＲＡＭ１１３は、バス１１４を介して相互に接続されている。このバス１１４にはまた、入出力インタフェース１１５も接続されている。
【０１８１】
入出力インタフェース１１５には、キーボード、マウスなどよりなる入力部１１６、ディスプレイやスピーカなどよりなる出力部１１７、ハードディスクなどより構成される記憶部１１８、モデム、ターミナルアダプタなどより構成される通信部１１９が接続されている。通信部１１９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１８２】
入出力インタフェース１１５にはまた、必要に応じてドライブ１２０が接続され、磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３、あるいは、半導体メモリ１３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１１８にインストールされる。
【０１８３】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１８４】
この記録媒体は、図１５に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク１３１（フロッピディスクを含む）、光ディスク１３２（ＣＤ−ＲＯＭ（ＣｏｍｐａｃｔＤｉｓｋ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）を含む）、光磁気ディスク１３３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）（商標）を含む）、もしくは半導体メモリ１３４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているＲＯＭ１１２や、記憶部１１８に含まれるハードディスクなどで構成される。
【０１８５】
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８６】
【発明の効果】
本発明によれば、画像データをエンコードすることができる。
また、本発明によれば、シーンチェンジが起こったか否か、および、画像のビットレートに基づいて、量子化を行う場合に用いられる係数（Ｑマトリクス）の設定を変更するようにしたので、シーンチェンジ時に必要以上に画像を劣化させることなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を、効果的に抑制するようにすることができる。
また、他の本発明によれば、画像データをエンコードすることができる他に、シーンチェンジが起こったか否か、および、シーンチェンジ後の画像の難易度に基づいて、量子化を行う場合に用いられる係数（Ｑマトリクス）の設定を変更するようにしたので、シーンチェンジ時に必要以上に画像を劣化させることなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を、効果的に抑制するようにすることができる。
【図面の簡単な説明】
【図１】ＭＰＥＧ２方式によって映像データを圧縮符号化する場合、および圧縮符号化された画像データを復号する場合の処理について説明する図である。
【図２】ＶＢＶバッファについて説明する図である。
【図３】ローディレイコーディングについて説明する図である。
【図４】ＶＢＶバッファについて説明する図である。
【図５】シーンチェンジについて説明する図である。
【図６】従来の仮想バッファ更新処理について説明するフローチャートである。
【図７】本発明を適用したビデオエンコーダの構成を示すブロック図である。
【図８】仮想バッファのバッファ占有量について説明する図である。
【図９】イントラスライスおよびインタースライス毎の、仮想バッファのバッファ占有量について説明する図である。
【図１０】本発明を適用した仮想バッファ更新処理について説明するフローチャートである。
【図１１】Ｑマトリクス設定処理１について説明するフローチャートである。
【図１２】Ｑマトリクス設定処理２について説明するフローチャートである。
【図１３】Ｑマトリクス設定処理３について説明するフローチャートである。
【図１４】Ｑマトリクス設定処理４について説明するフローチャートである。
【図１５】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
６１　ビデオエンコーダ，　７１　前処理部，　７２　演算部，　７３　動きベクトル検出部，　７４　ＤＣＴ部，　７５　量子化部，　７７　ＶＬＣ部，　７８　逆量子化部，　７９　逆ＤＣＴ部，　８０　演算部，　８１　動き補償部，　８２　バッファ，　８３　量子化制御部，　８４　フレームメモリ，　９１イントラＡＣ算出部，　９２　発生符号量制御部，　９３　ＧＣ算出部，　９４　目標符号量算出部，　９５　ＭＥ残差算出部
【図１】
2004072143.tif 000005
【図２】
2004072143.tif 000006
【図３】
2004072143.tif 000007
【図４】
2004072143.tif 000008
【図５】
2004072143.tif 000009
【図６】
2004072143.tif 000010
【図７】
2004072143.tif 000011
【図８】
2004072143.tif 000012
【図９】
2004072143.tif 000013
【図１０】
2004072143.tif 000014
【図１１】
2004072143.tif 000015
【図１２】
2004072143.tif 000016
【図１３】
2004072143.tif 000017
【図１４】
2004072143.tif 000018
【図１５】
2004072143.tif 000019