(57)【特許請求の範囲】
【請求項１】
入力された動画像信号を設定された量子化スケールで量子化する量子化手段と、
前記量子化手段の出力を可変長符号化する符号化手段と、
前記入力された動画像信号のアクティビティを検出するアクティビティ検出手段と、
前記符号化手段より出力された可変長符号の符号量に基づいて前記量子化スケールを決定する量子化スケール決定手段と、
前記アクティビティ検出手段により検出されたアクティビティに基づいて前記量子化スケール決定手段により決定された値を変更し、この変更した値を前記量子化スケールとして前記量子化手段に設定する変更手段と、
前記符号化手段より出力された可変長符号の符号量に基づいて前記符号化された動画像信号を復号する復号器における仮想バッファの占有量を検出し、前記検出された占有量が小さくなるほど、前記アクティビティによる前記量子化スケールの変化度合いが少なくなるよう前記変更手段を制御する占有量検出手段とを備え、
前記変更手段は、前記アクティビティ検出手段により検出されたアクティビティに基づいて重み付け係数を生成する係数生成手段と、前記重み付け係数に従って前記量子化スケール決定手段により決定された値を変更する量子化スケール変更手段とを有し、
前記占有量検出手段は、前記検出された占有量が小さくなるほど、前記重み付け係数に従って前記量子化スケールの値が変化する範囲が小さくなるように調整する制御パラメータを設定し、当該制御パラメータによって前記係数生成手段により生成される重み付け係数の値を変化させることを特徴とする画像処理装置。
【請求項２】
前記動画像信号はそれぞれｎ画素からなる複数のマクロブロックから構成され、前記係数生成手段は前記マクロブロック単位に前記重み付け係数を生成し、前記量子化スケール決定手段は前記マクロブロック単位に前記量子化スケールを決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記占有量検出手段は、前記検出された占有量が所定の閾値を下回った場合には、前記制御パラメータによって前記係数生成手段により生成される重み付け係数の値を所定値に設定し、実質的に前記量子化スケールの値の変化が行われないようにすることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
入力された動画像信号を設定された量子化スケールで量子化する量子化ステップと、
前記量子化ステップにより量子化された動画像信号を可変長符号化する符号化ステップと、
前記入力された動画像信号のアクティビティを検出するアクティビティ検出ステップと、
前記符号化ステップにより得られた可変長符号の符号量に基づいて前記量子化スケールを決定する量子化スケール決定ステップと、
前記アクティビティ検出ステップにより検出されたアクティビティに基づいて前記量子化スケール決定ステップにより決定された値を変更し、この変更した値を前記量子化ステップの前記量子化スケールとして設定する変更ステップと、
前記符号化ステップにより得られた可変長符号の符号量に基づいて前記符号化された動画像信号を復号する復号器における仮想バッファの占有量を検出し、前記検出された占有量が小さくなるほど、前記アクティビティによる前記量子化スケールの変化度合いが少なくなるよう前記変更ステップを制御する占有量検出ステップとを有し、
前記変更ステップは、前記アクティビティ検出ステップにより検出されたアクティビティに基づいて重み付け係数を生成する係数生成ステップと、前記重み付け係数に従って前記量子化スケール決定ステップにより決定された値を変更する量子化スケール変更ステップとを含み、
前記占有量検出ステップでは、前記検出された占有量が小さくなるほど、前記重み付け係数に従って前記量子化スケールの値が変化する範囲が小さくなるように調整する制御パラメータを設定し、当該制御パラメータによって前記係数生成ステップで生成される重み付け係数の値を変化させることを特徴とする画像処理方法。
【請求項５】
前記占有量検出ステップでは、前記検出された占有量が所定の閾値を下回った場合には、前記制御パラメータによって前記係数生成ステップで生成される重み付け係数の値を所定値に設定し、実質的に前記量子化スケールの値の変化が行われないようにすることを特徴とする請求項４記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に関し、特に、画像信号の符号化処理に関する。
【背景技術】
【０００２】
画像信号を符号化する技術として、従来、ＭＰＥＧ方式やＨ．２６４（ＭＰＥＧ４−ＡＶＣ）方式などが知られている。
【０００３】
これらの符号化方式は、ＤＣＴ、量子化、可変長符号化などの技術を利用し、フレーム内符号化とフレーム間予測符号化とを組み合わせて動画像信号を符号化する。
【０００４】
また、例えば、ＭＰＥＧ２方式では、デコード時のリアルタイム処理を保証するためのＶＢＶバッファモデル（仮想バッファモデル）が定義されている。ＶＢＶバッファモデルでは、デコード時におけるバッファメモリのデータ量が、常にＶＢＶバッファサイズの上限と０バイトの間に無ければならない。例えば、メインプロファイル＠メインレベルでは、最大バッファサイズが１８３５００８ビットに規定されている。
【０００５】
この様なＶＢＶバッファモデルを守るため、従来は、単位時間あたりに発生した符号量に基づいてＶＢＶバッファの占有量を推測し、量子化ステップ幅（Ｑスケール）を制御している。
【０００６】
また、従来、ＭＰＥＧ符号化を行う際、画像の特徴量（複雑度）を示すアクティビティと呼ばれる指標を用いて量子化ステップに重み付けすることで、画質向上を図ることが行われている（例えば、特許文献１参照）。
【特許文献１】特開平１０−２２４７８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述の様に、実際に発生している符号量の状態とは関係なく、画像のアクティビティを用いて量子化ステップを重み付けした場合、発生符号量が変動し、符号化データのアンダーフローが発生してしまう可能性があった。
【０００８】
本発明はこの様な問題を解決し、画像信号を符号化する際、適切な符号量制御を実現しながら画質を向上させることができる装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、入力された動画像信号を設定された量子化スケールで量子化する量子化手段と、前記量子化手段の出力を可変長符号化する符号化手段と、前記入力された動画像信号のアクティビティを検出するアクティビティ検出手段と、前記符号化手段より出力された可変長符号の符号量に基づいて前記量子化スケールを決定する量子化スケール決定手段と、前記アクティビティ検出手段により検出されたアクティビティに基づいて前記量子化スケール決定手段により決定された値を変更し、この変更した値を前記量子化スケールとして前記量子化手段に設定する変更手段と、前記符号化手段より出力された可変長符号の符号量に基づいて前記符号化された動画像信号を復号する復号器における仮想バッファの占有量を検出し、前記検出された占有量が小さくなるほど、前記アクティビティによる前記量子化スケールの変化度合いが少なくなるよう前記変更手段を制御する占有量検出手段とを備え、前記変更手段は、前記アクティビティ検出手段により検出されたアクティビティに基づいて重み付け係数を生成する係数生成手段と、前記重み付け係数に従って前記量子化スケール決定手段により決定された値を変更する量子化スケール変更手段とを有し、前記占有量検出手段は、前記検出された占有量が小さくなるほど、前記重み付け係数に従って前記量子化スケールの値が変化する範囲が小さくなるように調整する制御パラメータを設定し、当該制御パラメータによって前記係数生成手段により生成される重み付け係数の値を変化させることを特徴とする。
【発明の効果】
【００１０】
符号化された画像信号を破綻することなく復号できるよう、画像の特徴を考慮した符号化処理が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を用いて本発明の実施形態について説明する。
【００１２】
図１は本発明の実施形態としての符号化装置の構成を示す図である。図１の符号化装置は、入力された動画像信号をＭＰＥＧ２方式に従って符号化する。
【００１３】
図１において、ビデオカメラや入力端子などから供給された動画像データがフレーム単位に入力され、減算器１０１、スイッチ１０２、動き補償部１１１、動き検出部１１２、アクティビティ検出部１１４に供給される。
【００１４】
ＭＰＥＧ２方式では、フレーム内符号化（Ｉピクチャ）、前方予測フレーム間符号化（Ｐピクチャ）及び、双方向予測フレーム間符号化（Ｂピクチャ）をフレーム単位に組み合わせて符号化を行う。
【００１５】
スイッチ１０２は、Ｉピクチャの符号化の際にはＩ側に接続し、入力された１フレームの画像信号をそのままＤＣＴ部１０３に供給する。ＤＣＴ部１０３は入力された画像信号を、垂直×水平が８画素×８画素のＤＣＴブロック単位にＤＣＴ処理し、量子化部１０４に出力する。量子化部１０４は、後述の如くレート制御部１１３により設定されたＱスケールを用いてＤＣＴ部１０３からのＤＣＴ係数を量子化し、その量子化係数を係数並べ替え部１０５及び逆量子化部１０８に出力する。係数並べ替え部１０５は、量子化部１０４から出力される量子化係数を規定された順序に並べ替え、可変長符号化部１０６に出力する。可変長符号化部１０６は入力された量子化係数をハフマン符号化などの可変長符号化により符号化し、フォーマット化部１０７及びレート制御部１１３に出力する。フォーマット化部１０７は符号化された信号に対し、ＭＰＥＧで規定された各種の制御信号などを付加して符号化ストリームを生成し、出力する。
【００１６】
また、量子化部１０４の出力は、逆量子化部１０８、逆ＤＣＴ部１０９によりそれぞれ逆量子化、逆ＤＣＴ処理され、加算器１１０に出力される。加算器１１０には、動き補償部１１１からの参照画像信号が供給されるが、Ｉピクチャはフレーム内符号化のため、加算器１１０には何も供給されず、逆ＤＣＴ部からの信号がそのまま動き補償部１１１に出力される。
【００１７】
動き補償部１１１は、参照フレームとして、２フレーム分の画像信号を記憶するメモリを持っており、加算器１１０からのＩピクチャ及びＰピクチャの画像信号が順次記憶される。動き検出部１１２は、Ｐピクチャ及びＢピクチャを符号化する際、動き補償部１１１のメモリに記憶された参照フレームの画像信号と入力された画像信号とを、マクロブロック単位で比較して動きベクトルを検出する。
【００１８】
ＭＰＥＧ２では、一つのマクロブロック（ＭＢ）は１６画素×１６画素で構成される。動き補償部１１１は、この様に検出された動きベクトルに従い、参照フレームの画像信号をマクロブロック単位に読み出して減算器１０１、加算器１１０に出力する。
【００１９】
Ｐピクチャ、Ｂピクチャを処理する場合、減算器１０１は、入力された画像信号と動き補償部１１１より出力された参照フレームの画像信号との差分を算出し、スイッチ１０２を介してＤＣＴ部１０３に出力する。
【００２０】
以下、Ｉピクチャの場合と同様に、ＤＣＴ、量子化、可変長符号化処理され、フォーマット化部１０７により符号化ストリームが出力される。
【００２１】
また、Ｐピクチャの量子化係数は、逆量子化、逆ＤＣＴされた後、加算器１１０により参照フレームの画像信号と加算され、新たに参照フレームの画像信号として動き補償部１１１のメモリに記憶される。また、Ｂピクチャについては、参照フレームとして使用しないため、動き補償部１１１のメモリには記憶しない。
【００２２】
一方、アクティビティ検出部１１４は、公知の技術を用いて、入力された画像信号の複雑度を示すアクティビティを算出し、レート制御部１１３に出力する。レート制御部１１３は、このアクティビティ検出部１１４からのアクティビティと、可変長符号化部１０６からの符号量、及び目標とする符号レートとに基づいて量子化のためのＱスケールを決定する。
【００２３】
次に、レート制御部１１３について説明する。
【００２４】
図２はレート制御部１１３の構成を示す図である。
【００２５】
図２において、符号量算出部２０１は、可変長符号化部１０６から出力された可変長符号を順次積算し、ＶＢＶバッファ制御部２０２に出力する。ＶＢＶバッファ制御部２０２は、符号量算出部２０１からの値に基づいて、ＶＢＶバッファの占有量を予測し、その値をＱスケール決定部２０３に出力する。また、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファの状態に基づいて、重み付け係数の影響を制御するための係数Ｗ２を生成し、係数変換部２０６に出力する。Ｑスケール決定部２０３は、ＧＯＰレベルでのレート制御部と、ＧＯＰレベルでのレート制御の結果に従ってピクチャレベルでのレート制御を行うレート制御部を有する。そして、Ｑスケール決定部２０３は、ピクチャレベルでのレート制御結果とＶＢＶバッファ制御部２０２からの予測状態とに基づいてＭＢ単位のＱスケールの値を決定し、Ｑスケール変換部２０７に出力する。
【００２６】
一方、アクティビティ検出部１１４からのＭＢごとのアクティビティの情報は、ピクチャ重み付け決定部２０４に供給される。ピクチャ重み付け決定部２０４は、ＭＢごとのアクティビティに基づいて重み付け係数を生成する。ＭＢ重み付け係数選択部２０５は、ＭＢごとの重み付け係数を受け、Ｗ１として係数変換部２０６に出力する。係数変換部２０６は、この重み付け係数Ｗ１と、ＶＢＶバッファ制御部２０２からの制御値Ｗ２とを用いて以下の演算を行い、変換重み付け係数Ｗ３を求める。
Ｗ３＝（Ｗ１−Ｗｒ／２）×Ｗ２＋Ｗｒ／２
ここで、ＷｒはＷ１の可変範囲である。
【００２７】
例えば、Ｗ２＝１のときにはＷ３＝Ｗ１となり、重み付け係数Ｗ１がそのまま出力される。また、Ｗ１の範囲を０．５〜２．０とすれば、Ｗ２＝０．５に設定した場合、Ｗ３の範囲は０．６２５〜１．３７５となる。即ち、Ｗ１の変化範囲に対するＷ３の変化範囲を狭くして、アクティビティに基づく重み付け係数Ｗ１のＱスケールに対する影響を制御することが可能となる。
【００２８】
具体的には、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファにおける可変長符号の占有量が少なく、アンダーフローしそうな場合には、重み付け係数Ｗ１の影響が少なくなるよう、Ｗ２の値を設定する。
【００２９】
また、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファにおける符号の充足度が大きい場合には、例えば、Ｗ２を１．０に設定し、アクティビティに基づく重み付け係数Ｗ１の影響がＱスケールに反映されるよう、Ｗ２を設定する。
【００３０】
この様に変換された係数Ｗ３はＱスケール変換部２０７に出力される。Ｑスケール変換部２０７は、Ｑスケール決定部２０３からのＱスケールの値と係数変換部２０６からの係数Ｗ３とを用いて以下の演算を行い、Ｑスケールの値を変換する。
Ｑスケール’＝Ｑスケール×Ｗ３
この様に変換されたＱスケール’を、当該ＭＢの量子化スケールとして量子化部１０４に設定する。
【００３１】
この様に、本実施形態では、Ｑスケール決定部２０３からのＱスケールの値に係数変換部２０６からの係数Ｗ３を乗算している。そのため、ＶＢＶバッファにおける可変長符号の充足度が小さく、アンダーフローしそうな場合には、重み付け係数Ｗ３が１．０近傍の値となるよう、Ｗ２の値を設定する。
【００３２】
具体的には、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファにおける符号の充足度（蓄積符号量）を所定の閾値と比較する。そして、符号の充足度が閾値を下回った場合には、ＶＢＶバッファがアンダーフローしそうであると判断し、重み付け係数Ｗ３が１．０近傍の値となるよう、Ｗ２の値を設定する。
【００３３】
また、充足度が閾値以上の場合、ＶＢＶバッファ制御部２０２は、重み付け係数Ｗ３に対し、アクティビティに基づく重み付け係数Ｗ１が反映されるよう、Ｗ２を設定する。
【００３４】
この様子を図４、図５に示す。
【００３５】
図４は、経過時間と重み計数Ｗ３の様子を示す図である。４０１は重み付け係数Ｗ３の変化の様子を示している。
【００３６】
図４に示すように、４０１の直前でＶＢＶバッファの充足度が低くなり、アンダーフローしそうになると、Ｗ３が１．０近傍となるよう、ＶＢＶバッファ制御部２０２によりＷ２の値を変更する。この様に、Ｗ３が１．０近傍になるように制御することで、Ｗ３によるＱスケールの変化の度合いが少なくなり、ＶＢＶバッファの占有量により決定したＱスケールがそのまま出力されることになる。
【００３７】
図５は、ＶＢＶバッファの充足度を示す図である。図中、５０１がＶＢＶバッファの最大値であり、５０２が閾値である。５０３はＶＢＶバッファに蓄積される符号を示している。また、５０４〜５０８に示すタイミングで、それぞれ１画面分の符号化データがＶＢＶバッファから抜き取られる。
【００３８】
この様に順次ＶＢＶバッファからデータが抜き取られていく課程で、ＶＢＶバッファに蓄積されている符号量が閾値を下回った場合、Ｗ３の変化範囲が１．０近傍となるように制御する。
【００３９】
この様に、本実施形態では、画像のアクティビティから求めた重み付け係数を、ＶＢＶバッファの状態によって変換している。そして、変換した重み付け係数を用いてＱスケールの値を制御している。
【００４０】
そのため、単にアクティビティだけにより重み付け係数を決める場合に比べ、よりＶＢＶバッファの状態を考慮した量子化スケールを設定することが可能となる。
【００４１】
従って、画像の特徴を考慮した符号化処理ができ、ＶＢＶバッファがアンダーフローとなる可能性が少ない。
【００４２】
なお、図５では、閾値を一つだけ設けたが、複数の閾値を設けておき、ＶＢＶバッファの占有量が閾値を一つ下回る度に、Ｑスケールの変化範囲が段階的に狭くなるよう、制御する構成としてもよい。
【００４３】
次に、第２の実施形態を説明する。
前述の実施形態では、画像のアクティビティから求めた重み付け係数を、ＶＢＶバッファの状態によって変換していた。そのため、一つのフレームの途中でＷ２の値が変更されることがあり、特に、１画面内で後に処理されるＭＢについて、アクティビティに基づく画質改善効果が少なくなることがある。
【００４４】
そこで、本実施形態では、ピクチャ重み付け決定部によってＭＢごとのアクティビティに基づいて重み付け係数を生成する際に、ピクチャ重み付け決定部に対して供給するアクティビティをＶＢＶバッファの状態によって変換する。
【００４５】
図３は本実施形態におけるレート変換部１１３の構成を示す図である。図３において、図２と同様の構成は同一番号を付してある。
【００４６】
図３において、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファの状態を予測し、その結果に基づいて、ピクチャごとの変換係数Ｗ４を生成してアクティビティ変換部３０１に出力する。
【００４７】
アクティビティ変換部３０１は、アクティビティ検出部１１４からのアクティビティに対し、ピクチャごとの変換係数Ｗ４を乗算し、１フレーム内の全てのＭＢの重み付け係数を一律に変換する。
【００４８】
具体的には、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファにおける可変長符号の充足度が小さく、アンダーフローしそうな場合には、重み付け係数Ｗ１の影響が少なくなるよう、Ｗ４の値を設定する。
【００４９】
また、ＶＢＶバッファ制御部２０２は、ＶＢＶバッファにおける符号の充足度が大きい場合には、アクティビティに基づく重み付け係数Ｗ１によりＱスケールが変化する範囲が狭くなるよう、Ｗ４を設定する。
【００５０】
以下、ピクチャ重み付け決定部２０４は変換されたアクティビティに基づいて各ＭＢの重み付け係数Ｗ１を設定する。ＭＢ重み付け係数選択部２０５によりＭＢ毎に係数Ｗ１を選択してＱスケール変換部２０７に出力する。Ｑスケール変換部２０７はＱスケール決定部２０３からのＱスケールと変換係数Ｗ１とを用いて以下の演算を行い、Ｑスケールを変換する。
Ｑスケール’＝Ｑスケール×Ｗ１
この様に変換されたＱスケール’を、当該ＭＢの量子化スケールとして量子化部１０４に設定する。
【００５１】
この様に、本実施形態では、画像のアクティビティをＶＢＶバッファの状態によって変換している。そして、変換したアクティビティより求めた重み付け係数を用いてＱスケールの値を制御している。
【００５２】
そのため、単にアクティビティだけにより重み付け係数を決める場合に比べ、よりＶＢＶバッファの状態を考慮した量子化スケールを設定することが可能となる。
【００５３】
従って、画像の特徴を考慮した符号化処理ができ、ＶＢＶバッファがアンダーフローとなる可能性が少ない。
【００５４】
次に、第３の実施形態を説明する。
【００５５】
図６は本実施形態におけるレート変換部１１３の構成を示す図である。図６において、図２と同様の構成は同一番号を付してある。
【００５６】
図６において、Ｑスケール決定部２０３は、前述の実施形態と同様にＱスケールを決定し、スイッチ６０２に出力する。
【００５７】
一方、Ｑスケール変換部２０７は、ＭＢ重み付け係数選択部２０５から出力されたＭＢ単位の重み付け係数Ｗ１とＱスケール決定部２０３からのＱスケールの値を前述の如く演算し、Ｑスケール’を得、スイッチ６０２に出力する。
【００５８】
スイッチ６０２は、ＶＢＶバッファ制御部６０１からの指示に従い、Ｑスケール決定部２０３からのＱスケールとＱスケール変換部２０７からのＱスケール’のうちの一方を選択する。
【００５９】
ＶＢＶバッファ制御部６０１は、ＶＢＶバッファの占有量を予測し、ＶＢＶバッファの占有量が所定の閾値を下回った場合、Ｑスケール決定部２０３からのＱスケールを選択するよう、スイッチ６０２を制御する。
【００６０】
また、ＶＢＶバッファ制御部６０１は、ＶＢＶバッファの占有量が閾値以上の場合には、Ｑスケール変換部２０７からのＱスケールを選択するよう、スイッチ６０２を制御する。
【００６１】
このように、本実施形態では、ＶＢＶバッファの占有量に応じて、アクティビティによる重み付け係数によって変換したＱスケールを用いるか否かを切り替えている。
【００６２】
具体的には、ＶＢＶバッファの占有量が少ない場合には、変換したＱスケール値を用いないようにすることで、よりＶＢＶバッファの状態を考慮した量子化スケールを設定することが可能となる。
【００６３】
従って、画像の特徴を考慮した符号化処理ができ、ＶＢＶバッファがアンダーフローとなる可能性が少ない。
【００６４】
次に、第４の実施形態を説明する。
【００６５】
図７は本実施形態におけるレート変換部１１３の構成を示す図である。図７において、図２と同様の構成は同一番号を付してある。
【００６６】
図７において、Ｑスケール決定部２０３は、前述の実施形態と同様にＱスケールを決定し、乗算器７０３に出力する。
【００６７】
一方、ＭＢ重み付け係数選択部２０５はアクティビティ基づいてＭＢ単位の重み付け係数Ｗ１を生成し、スイッチ７０２の一方の端子に出力する。スイッチ７０２の他方の端子には、値１．０が供給される。
【００６８】
そして、スイッチ７０２は、ＶＢＶバッファ制御部７０１からの指示に従い、ＭＢ重み付け係数選択部２０５からの重み係数Ｗ１と係数１．０のうちの一方を選択する。
【００６９】
乗算器７０３は、スイッチ７０２から出力された重み係数Ｗ１または、係数１．０とＱスケール決定部２０３からのＱスケールとを乗算し、Ｑスケール’を出力する。
【００７０】
ＶＢＶバッファ制御部７０１は、ＶＢＶバッファの占有量を予測し、ＶＢＶバッファの占有量が所定の閾値を下回った場合、係数１．０を選択するよう、スイッチ７０２を制御する。
【００７１】
また、ＶＢＶバッファ制御部７０１は、ＶＢＶバッファの占有量が閾値以上の場合には、重み係数Ｗ１を選択するよう、スイッチ７０２を制御する。
【００７２】
このように、本実施形態では、ＶＢＶバッファの占有量に応じて、Ｑスケールに乗算する係数を切り替えている。
【００７３】
具体的には、ＶＢＶバッファの占有量が少ない場合には、係数１．０をＱスケールに乗算することで、実質的にアクティビティによりＱスケールが変化しないように制御している。
【００７４】
そのため、よりＶＢＶバッファの状態を考慮した量子化スケールを設定することが可能となる。
【００７５】
なお、前述の各実施形態では、動画像信号をＭＰＥＧ２方式に従って符号化する装置に対して本発明を適用した場合について説明した。しかし、これ以外にも、例えば、ＭＰＥＧ４−ＡＶＣ方式など、量子化や可変長符号化の技術を用いて動画像信号を符号化する装置、或いはシステムなどに対して、本発明を同様に適用することができる。また、これにより、同様に効果を奏するものである。
【００７６】
この場合、ＶＢＶバッファの占有量ではなく、符号化された動画像データのデータレートを監視する手段を設け、データレートが低下する程、アクティビティによる前記量子化スケールの変化度合いが少なくなるよう制御すればよい。
【００７７】
具体的には、単位時間あたりに発生した符号量に基づいてデータレートを算出し、このデータレートがある閾値以下となった場合に、アクティビティによる量子化スケールの変化度合いが少なくなるようにすればよい。
【００７８】
上述した実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【００７９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。
【００８０】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施形態における符号化装置の構成を示す図である。
【図２】レート制御部の構成を示す図である。
【図３】レート制御部の構成を示す図である。
【図４】重み付け係数の変化の様子を示す図である。
【図５】ＶＢＶバッファの符号蓄積の様子を示す図である。
【図６】レート制御部の他の構成を示す図である。
【図７】レート制御部の更に他の構成を示す図である。
【図１】
0004795223.tif 000002
【図２】
0004795223.tif 000003
【図３】
0004795223.tif 000004
【図４】
0004795223.tif 000005
【図５】
0004795223.tif 000006
【図６】
0004795223.tif 000007
【図７】
0004795223.tif 000008