(57)【特許請求の範囲】
【請求項１】
画像圧縮システムにおける係数量子化処理方法において、
各画像はブロック・グループに分割され、
量子化ステップ（ｑａｖ，ｑａｖ１又はｑａｖ２）が現画像の開始時に決定され、
前記量子化ステップは、現画像における前に符号化されたブロック・グループについて実際に発生したビット数（Ｂｉ＿ｍｂ）と、このビット数の予測関数に基づく予測ビット数との差に依存する下記の係数（ｃ２）を加算することにより修正され、
ｃ２＝ｃ＊（Ｂｉ＿ｍｂ−ｂｉｔｐｒｅｄ［ｍｂ］＊Ｂｔａｒｇ）／Ｒ
Ｂｔａｒｇは、現画像の符号化に用いられる目標ビット数であり、Ｒは、バッファの出力におけるビット伝送速度であり、ｃは、係数であり、
前記予測関数（ｂｉｔｐｒｅｄ［ｍｂ］）が、下記の式
ｂｉｔｐｒｅｄ［ｍｂ］＝ａ＊ｂｉｔｐ［ｍｂ］０＋ｂ＊ｂｉｔｐ［ｍｂ］ｉ−１
を用いて得られ、
ａ及びｂは、重み係数であり、ｂｉｔｐ［ｍｂ］０は、イントラモードで符号化された最後の画像について、マクロブロックｍｂまでに用いられるビット数と、用いられるビット総数との比を与える関数であり、ｂｉｔ［ｍｂ］ｉ−１は、符号化された最後の画像について、前記関数と同じであることを特徴とする、係数量子化処理方法。
【請求項２】
前記係数（ｃ２）は、少なくとも１つの前記ブロック・グループの量子化の前に再計算されることを特徴とする請求項１に記載の処理方法。
【請求項３】
少なくとも、前記現画像がインターモードで符号化されるときに実行されることを特徴とする請求項１又は２に記載の処理方法。
【請求項４】
前記量子化ステップは、各ブロックの画素に基づいて決定される周波数係数に適用されることを特徴とする請求項１から３のいずれか１項に記載の処理方法。
【請求項５】
前記画像は、マクロブロックのラインに分割され、修正係数（ｃ２）の計算は、マクロブロックの各ラインの開始時に実行されることを特徴とする請求項１から４のいずれか１項に記載の処理方法。
【請求項６】
Ｂａｖは、画像を符号化するために必要なビット数の平均値であり、Ｂｔａｒｇは、現画像の符号化のために用いられる目標ビット数であり、画像の開始時に選択される量子化ステップ（ｑ）は、
αＢａｖ＜Ｂｔａｒｇ＜βＢａｖ（ただしα、βは正であり、α＜β）である場合には、前に符号化された画像の平均量子化ステップ（ｑａｖ）であり、
現画像について、条件Ｂｔａｒｇ≦αＢａｖ又はβＢａｖ≦Ｂｔａｒｇが満足される場合には、条件Ｂｔａｒｇ≦αＢａｖ又はβＢａｖ≦Ｂｔａｒｇを満足する最後の画像の平均量子化ステップ（ｑａｖ１又はｑａｖ２）である
ことを特徴とする請求項１から５のいずれか１項に記載の処理方法。
【請求項７】
画像の符号化に割り当てられる目標ビット数（Ｂｔａｒｇ）は、その画像の符号化の開始時における出力バッファの充てん状態（ｂｕｆｆｅｒ＿ｓｔａｔｕｓ）に依存することを特徴とする請求項５又は６に記載の処理方法。
【請求項８】
量子化ステップ（ｑ）について最小値（ｑｍｉｎ）が提供され、画像の開始時に選択された量子化ステップ（ｑａｖ、ｑａｖ１又はｑａｖ２）と修正係数（ｃ２）との和が前記最小値よりも小さい場合に、実際に用いられる量子化ステップ（ｑ）は、この最小値をとることを特徴とする請求項１から７のいずれか１項に記載の処理方法。
【請求項９】
量子化ステップ（ｑ）について最大値（ｑｍａｘ）が提供され、画像の開始時に選択された量子化ステップ（ｑａｖ、ｑａｖ１又はｑａｖ２）と修正係数（ｃ２）との和が前記最大値（ｑｍａｘ）よりも大きい場合に、実際に用いられる量子化ステップ（ｑ）は、この最大値をとることを特徴とする請求項１から８のいずれか１項に記載の処理方法。
【請求項１０】
前記量子化ステップの最小値（ｑｍｉｎ）及び最大値（ｑｍａｘ）は、画像の符号化に用いられる平均ビット数に対する、現画像の符号化に用いられる目標ビット数（Ｂｔａｒｇ）の関係に従って、前記目標ビット数が前記平均ビット数より小さいときは前記最小値及び最大値を増加させ、前記目標ビット数が前記平均ビット数より大きいときは前記最小値及び最大値を減少させることにより、画像の開始時に固定されることを特徴とする請求項８又は９のいずれか１項に記載の処理方法。
【請求項１１】
前記画像がマクロブロックに分割され、前記最小値及び／又は最大値（ｑｍｉｎ、ｑｍａｘ）が、修正係数（ｃ２）の各計算の後に、マクロブロックの少なくとも前のラインの修正係数（ｃ２）の変化に従って、マクロブロックを符号化するときの所定の瞬間における結果ビット数が予測値よりも小さいときは前記最小値及び／又は最大値を減少させ、逆の場合には前記最小値及び／又は最大値を増加させるように、調節されることを特徴とする請求項８又は９のいずれか１項に記載の処理方法。
【請求項１２】
前記画像がマクロブロックに分割され、修正係数（ｃ２）の新しい計算が、マクロブロック最終ラインの各マクロブロックについて実行されることを特徴とする請求項１から１１のいずれか１項に記載の処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像圧縮システムにおける係数を量子化するための処理方法に関し、詳細には、変換係数の量子化による出力バッファの調整に関する。本発明は、データ伝送の分野、特にテレビ電話への適用における低データ伝送速度での圧縮画像の伝送の分野に適用可能である。
【０００２】
【発明が解決しようとする課題】
本発明の目的は、ブロック又はマクロブロックの形式の、可変データ伝送速度画像圧縮システムにおける、係数量子化処理方法であって、システムが、画素ブロックを係数ブロックに変換する手段と、これら係数の量子化手段と、変換前の符号化情報記憶手段と、記憶手段の状態の関数としての量子化手段の調整手段とを含み、
各画像がブロック・グループに区分され、
少なくとも、いわゆる現画像がインターモードで符号化されなければならないときには、量子化ステップが現画像の開始時に決定され、前記量子化ステップが、前記グループの少なくとも１つの量子化の前に再計算された修正係数によって修正され、
前記係数は、前に符号化された全てのブロック・グループについて発生したビット数と、予測ビット数と、の差の関数であり、
予測ビット数は、現画像の前の少なくとも１つの画像を符号化する間のビットの分布に基づくことを特徴とする、係数量子化処理方法である。
【０００３】
このようにして、現画像を符号化する際に、前の画像における情報の分布が考慮されることになる。これは、情報が一般にある画像全体にわたって均一に分布していないので、有用である。
【０００４】
【課題を解決するための手段】
本発明のある特定の実施例によれば、修正係数の計算は少なくとも各マクロブロックラインの開始時において実施される。
【０００５】
本発明のある特定の実施例によれば、前記予測関数（ｂｉｔｐｒｅｄ［ｍｂ］)は、下記の式を用いて得られる。
ｂｉｔｐｒｅｄ［ｍｂ］＝ａ＊ｂｉｔｐ［ｍｂ］０＋ｂ＊ｂｉｔｐ［ｍｂ］ｉ−１
ただし、ａとｂは重み係数、ｂｉｔｐ［ｍｂ］０は、イントラモードで符号化された最後の画像について、マクロブロックｍｂまで使用されるビットの数と使用されるビットの総数の比を与える関数、ｂｉｔｐ［ｍｂ］ｉ−１は符号化された最後の画像についての同様の関数である。
【０００６】
したがって、量子化ステップへの修正をうけることが少ない（又は全くうけない）イントラモードで符号化された最後の画像が考慮される。したがって、このうち、画像のいろいろなゾーン又はブロックを符号化するのに必要なビットの数は、その画像における情報分布を示す良い目安となる。
【０００７】
本発明のある特定の実施例によれば、修正係数は次の通りである。
ｃ２＝ｃ＊（Ｂｉ＿ｍｂ−ｂｉｔｐｒｅｄ［ｍｂ］＊Ｂｔａｒｇｉ）／Ｒ
ただし、Ｂｔａｒｇｉは、現画像を符号化するために使用する目標ビット数、Ｒはバッファからのデータ出力伝送速度、ｃは係数である。
【０００８】
本発明のある特定の実施例によれば、Ｂａｖを画像を符号化するのに必要な平均ビット数、Ｂｔａｒｇｉを現画像の符号化に使用する目標ビット数とすると、画像の開始時に選択される量子化ステップは、
・αＢａｖ＜Ｂｔａｒｇｉ＜βＢａｖ（ただしα、βは正であり、α＜β）である場合には、前の画像の平均量子化ステップ
・現画像について、条件Ｂｔａｒｇ≦αＢａｖ、又はβＢａｖ≦Ｂｔａｒｇを満足する場合には、条件Ｂｔａｒｇ≦αＢａｖ又はβＢａｖ≦Ｂｔａｒｇを満足する最後の画像の平均量子化ステップ（ｑａｖ１又はｑａｖ２）
となる。
【０００９】
本発明のある特定の実施例によれば、ある画像を符号化するのに使用するために割り当てられる目標ビット数は、その画像の符号化の開始時におけるバッファの充てん状態の関数である。
【００１０】
本発明のある特定の実施例によれば、量子化ステップの最小値について、画像の開始時に選択された量子化ステップと修正係数との和が前記最小値よりも小さい場合に、使用される量子化ステップがこの最小値をとるように決定される。
【００１１】
本発明のある特定の実施例によれば、量子化ステップ（ｑ）の最大値（ｑｍａｘ）について、画像の開始時に選択された量子化ステップ（ｑａｖ、ｑａｖ１又はｑａｖ２）と修正係数（ｃ２）との和が前記最大値（ｑｍａｘ）より大きい場合に、使用される量子化ステップ（ｑ）がこの最大値をとるように決定される。
【００１２】
本発明のある特定の実施例によれば、最小値（ｑｍｉｎ）（又は最大値（ｑｍａｘ))は、画像の開始時に、現画像（Ｂｔａｒｇ）の符号化のために使用する目標ビット数と、画像（Ｂａｖ）の符号化に使用する平均ビット数との比にしたがって固定される。
【００１３】
本発明のある特定の実施例によれば、最小値及び／又は最大値（ｑｍｉｎ、ｑｍａｘ）は、修正係数（ｃ２）の各計算後に、マクロブロックの少なくとも前のラインからの修正係数（ｃ２）の変化を考慮して調節される。
【００１４】
本発明のある特定の実施例によれば、修正係数（ｃ２）の新しい計算が、マクロブロック最終ラインのマクロブロックの各々について実施される。
【００１５】
本発明の他の目的は、可変データ伝送速度画像圧縮システムにおいて係数を量子化するための処理方法であって、画像圧縮中に得られる係数の量子化の調整は、特に前の画像における情報分布の関数として行われる。
【００１６】
本発明は、添付の図面を参照して下記の説明を読むことにより、さらに良く理解され、他の利点と特徴が明らかになろう。
【００１７】
【発明の実施の形態】
図１は、予測、変換及び動き推定を含むハイブリッド圧縮装置の動作の概略図である。
【００１８】
この例では、処理しようとする画像は、ＱＣＩＦ（「１／４共通中間フォーマット」）フォーマットであり、その解像度は、輝度Ｙについては１７６＊１４４画素であり、カラー・コンポーネントｄＲ及びｄＢの各々については８８＊７２画素である。したがって、各画像は、この輝度について９９個のマクロブロックを含む。これらの１６＊１６画素のマクロブロックは、１１個のマクロブロックの９ラインに編成される。
【００１９】
ＱＣＩＦフォーマットは、ＣＣＩＴＴ規格Ｈ２６１に詳細に記載されている。
【００２０】
この説明の以後の部分では、輝度の符号化のみを考究する。
【００２１】
本例では、画像を２つのモードで符号化することができる。すなわちイントラモード又はインターモードである。イントラモードで符号化された画像は、画像シーケンスの他の画像を参照することなく復号される。インターモードで符号化された画像は、画像メモリに記憶された参照画像を参照する。この参照画像は、復号器によって復号された画像に該当する。
【００２２】
まず、イントラモードにおける画像の符号化を説明する。画像は、８＊８画素のブロックに区分され、これらのブロックは、周波数領域への直交離散コサイン変換（ＤＣＴ）をうける。この方法で得られた変換係数は、量子化され、可変長符号を用いて符号化され、システムデータと多重化され、バッファメモリの中に記憶され、固定データ伝送速度での伝送を待つ。
【００２３】
これに並行して、符号化器は、符号化中のエラーを予測するために、それが符号化したばかりのブロックを復号する。量子化された係数は、逆量子化され、それから逆離散コサイン変換をうける。そして、得られた画像は、参照画像メモリに記憶される。
【００２４】
インターモードでの画像の符号化は、より複雑である。今説明したプロセスに加えて、画像はまず、参照画像に関して微分をうけ、次に動き推定をうける。現画像の各マクロブロックについて、参照画像のマクロブロックに関する動きベクトルを決定する。参照画像のマクロブロックは、現マクロブロックに含まれる情報に最も近い情報を含むと考えられるマクロブロックである。このベクトルは、いったん可変長符号を用いて符号化されると、マクロブロックと多重化され、バッファメモリの中に記憶される。
【００２５】
一旦、動きベクトルが決定されると、現マクロブロックと、動きベクトルに対応する参照画像との差を計算する。それから、画素の異なる４つの結果ブロックは、前と同様に、コサイン変換と量子化をうけ、次に逆量子化と逆コサイン変換をうけてから、参照画像に導入される。
【００２６】
参照メモリから得られたブロック及びマクロブロックは、現画像から引かれる前にフィルタされる。
【００２７】
圧縮モードの選択（イントラ又はインター）も、各個別のマクロブロックに対して行うことができる。
【００２８】
最後に、ブロックは、必ずしも符号化される必要はない。ブロックと、参照画像の対応するブロックとの差が非常に小さい場合には、変換係数は伝送されない。しかしながら、対応するマクロブロックヘッダの中に、このブロックに対する係数は送られていないことを指定することになる。
【００２９】
バッファメモリ内の記憶中に各マクロブロックのために最終的に得られる情報量は、多くの要因に依存する。すなわち、圧縮モード、画像の簡単又は複雑な性質、可変長符号の形式、動き推定の種類、量子化などである。したがって、バッファメモリ（簡単に「バッファ」とも称する）へのデータの伝送速度は、本来は可変である。伝送線が、常に有限であり一般に固定されている最大データ伝送速度を有すると仮定すると、伝送線がバッファ内に記憶された情報のすべてを十分急速に取り扱うことができないときには、バッファはオーバーフローすることがある（オーバーフロー）。逆に、バッファは、充てんされる場合よりも速く空になることもある（アンダーフロー）。
【００３０】
一般に、バッファからのデータ伝送の速度を適合させることはできないので、オーバーフロー又はアンダーフローを避けるために、バッファへのデータ伝送の速度を調節する必要がある。習慣的に使用される調整要因は、量子化ステップと可変長符号である。可変長符号の場合については、本発明の枠内では、主として量子化ステップの適合に関心が寄せられるので、ここでは詳しく述べないことにする。
【００３１】
バッファが一杯になると、そこに送られる新しいデータのためにバッファが十分に空になるまで、（いくつかの画像が符号化されていなくても、）符号化を停止しなければならない。バッファが空になると、パッキングビットがそこに送られる。
【００３２】
前述のように、８＊８画素のブロックは、同じサイズの係数のブロックが得られるようにするＤＣＴをうける。このブロックの左上にある係数は、連続コンポーネントの係数である。係数が、このブロックから遠いほど、対応する周波数は高い。
【００３３】
得られたＤＣＴ係数は、範囲［−２０４８；＋２０４７］に位置する。
【００３４】
変換されたブロックの連続コンポーネントを表すＤＣＴ係数は、一般に、固定された比較的小さな量子化ステップによって量子化される。事実上、連続コンポーネントの変化は画面上で可視性が高く、輝度の度盛りにおいて特に見える「ブロック効果」に強く貢献する。さらに、連続コンポーネント係数と先に得られた係数との差は、一般に符号化される。８＊８画素の各ブロックにおける他の６３個の係数については、量子化ステップ“ｑ”が使用され、これはマクロブロック毎に変更することができる。（他の実施形態では、量子化ステップｑは、ブロック毎に変更することができる。また、所定の基準にしたがって、いろいろな量子化マトリクスを定義したり、いずれか１つを選択することも可能である）。
【００３５】
連続コンポーネント係数のために確保された特別の処理は、イントラモードで符号化された画像に対してのみ実行される。画像がインターモードで符号化されるときは、マクロブロック全体が単一量子化ステップで量子化される。
【００３６】
この実施形態において、量子化ステップｑは、１と３１の間の整数である。量子化は、各係数を２×ｑで割ることからなる。たとえば、ｑが３１である場合には、すべての係数は６４のステップで量子化されることになる。範囲［−２０４８；＋２０４７］にある係数は、範囲［−３２；＋３１］に圧縮されることになる。したがって、発生するビット数は、量子化ステップの逆関数であることがわかる。量子化された係数は、他の圧縮過程をうけるので、また補足データが加えられるので（動きベクトル、種々雑多な情報）、先験的に、バッファに最終的に書き込まれるビット数と量子化ステップとの間に線形関係は存在しないこと、が注目される。しかし、量子化ステップの関数に従って発生したビット数の変化は、全般的に証明される。
【００３７】
この説明の以後の部分では、次の変数を使用する。
・  ｑ                    量子化ステップ
・  ｑａｖ                前に符号化された画像の平均量子化ステップ
・  ｃ２                  現ラインに対するｑを得るためになされる修正
・  ｐｃ２                前のマクロブロックラインに対して用いられる修正
・  ｐｐｃ２              前のラインの前のマクロブロックラインに対して用いられる修正
・  ｑａｖ１              前に符号化され、ある基準に対応する画像に対するｑの平均値
・  ｑａｖ２              ｑａｖ１と同様
・  ｑｍｉｎ              ｑの最小値（≧１）
・  ｑｍａｘ              ｑの最大値（≦３１）
・  Ｂｉ＿ｍｂ            現マクロブロックの前に位置する現画像のマクロブロック全てに対して既に発生したビット数
・  ｍｂ                  現マクロブロック数（１から９９まで）
・  Ｂｔａｒｇ            現画像に対して発生する目標ビット数
・  Ｂａｖ                画像当たり発生する平均ビット数
・  Ｂｍａｘ              Ｂｔａｒｇの最大値（２＊Ｂａｖとする）
・  Ｂｓｉｚｅ            バッファサイズ
・  Ｒ                    バッファの出力データ伝送速度
・  ｂｉｔｐ［ｍｂ］      現マクロブロックまでに用いられたＢｔａｒｇの百分率
・  ＮＱ                  全量子化ステップ数（この場合は３１）
・  Ｂｕｆｆｅｒ＿ｓｔａｔｕｓ      バッファの充てん度
指数は、画像の番号を示し、指数０は、符号化された最初の画像を示す。
所与の数値は、本実施形態に該当する数値である。
開始時、バッファは空であり、ｂｕｆｆｅｒ＿ｓｔａｔｕｓ＝０である。
【００３８】
符号化する最初の画像はイントラモードで符号化され、参照メモリは空であるか、又は最初の画像とは相関しないデータを含む。この画像のすべてについて量子化ステップｑ０が固定される。この係数が小さいほど、開始画像の質は良好になるが、この画像を符号化するために必要なビット数は多くなる。これは、続く画像の符号化に対して利用可能なビット数に影響する。この例では、ｑ０＝２５とする。
【００３９】
次に、画像は、符号化される。この符号化によって、各マクロブロック（又は各マクロブロックライン）について、ブロック（又はライン）に対して発生したビット数と画像全体に対して発生した全ビット数との比を計算することによって、処理される画像における情報の分布を判定することができるようになる。
【００４０】
図２は、均一分布の画像（二等分線）に関してテスト画像（点線は“４２”画像を示す）に対する分布を示す。マクロブロックラインの曲線傾斜が高いほど、このラインのマクロブロックによって発生したビット数は多くなる（累積機能）。
【００４１】
一般的な事例では、情報は画像の中心に向かって密になる傾向があり、この結果、マクロブロックの中央線の傾斜は急になる。
【００４２】
こうして決定された分布情報は、所与のマクロブロック（又はマクロブロックライン）までパーセンテージ累積の形で、表として記憶される。この累積は、ｂｉｔｐ［ｍｂ］であり、ｍｂは現マクロブロック番号であり、これは、現マクロブロックに先行するマクロブロックを符号化するために既に必要となった画像に供された全ビット数のパーセンテージと同じである。この情報は、所与のマクロブロックラインに必要なビット数の予測を提供することによって、後続の画像の量子化ステップに対して行う修正を決定するために使用される。したがって、
ｂｉｔｐ［ｍｂ］＝（マクロブロックｉを符号化するために必要であったビットの合計（ｉ＝１からｍｂ−１まで））／（画像を符号化するための全ビット数）
【００４３】
ｉが現画像である場合には、この画像ｉに関する計算のために使用される予測関数ｂｉｔｐｒｅｄ［ｍｂ］の値は、下記の種類の式によって決定される。
ｂｉｔｐｒｅｄ［ｍｂ］＝ａ＊ｂｉｔｐ［ｍｂ］０＋ｂ＊ｂｉｔｐ［ｍｂ］ｉ−１
【００４４】
したがって、イントラモードで符号化された最後の画像（画像０）及び符号化された最後の画像（現画像ｉの前に符号化された画像ｉ−１）が考慮される。
【００４５】
重み係数ａ及びｂは、イントラモードで符号化された最後の画像を参照できるようにして、前に符号化された画像のｂｉｔｐ［ｍｂ］の値の変化をバランスさせる。ｂに対して高いａの値は、これらの変化の影響を制限する。
【００４６】
４：１のａ：ｂ比は、良好な結果を与えている。
【００４７】
画像ｉが符号化された後は当然、対応する関数ｂｉｔｐ［ｍｂ］ｉに対して実際に得られた値が記憶される。
【００４８】
最初の画像の符号化の後は、バッファはもう空ではない。バッファの状態は、続く画像を符号化するために理論的に割り当てられるビット数Ｂｔａｒｇを決定するために使用される。その後、この目標数を考慮するよう試みる必要がある。
【００４９】
画像を符号化するために必要な平均ビット数はわかっている、と仮定する。これをＢａｖと呼ぶことにする。これは、バッファの出力データ伝送速度及び符号化すべき画像の頻度に依存する。
【００５０】
Ｂｔａｒｇの選択は、下記の式によって決定される。
Ｂｔａｒｇ＝Ｂｍａｘ＊（１−ｂｕｆｆｅｒ＿ｓｔａｔｕｓ／Ｂｓｉｚｅ）
【００５１】
ただし、Ｂｍａｘは、（実際に超過する可能性があっても）画像に割り当てられた最大ビット数であり、Ｂｓｉｚｅは、ビット数で表すバッファのサイズである。この例では、Ｂｓｉｚｅ＝Ｂａｖである。図３には、上記の関数が点線で表されている。太線は、実際に使用される関数を示す。この関数には、いくつかの制限がある。しかし、関数Ｂｔａｒｇ＝ｆ（Ｂｕｆｆｅｒ＿ｓｔａｔｕｓ）は一般には、バッファが充てんされると画像に割り当てられたビット数が減少することを示す、減少関数である。それでも、画像に割り当てられたビット数の最低限界値が使用される。本実施形態によれば、この限界値は、Ｂａｖより小さくなるが、これに近いものである。
【００５２】
インターモード画像の最初のマクロブロックラインの量子化ステップは、次のように選択される。
Ｂｔａｒｇ≦αＢａｖであれば、                ｑ＝ｑａｖ１
αＢａｖ＜Ｂｔａｒｇ＜βＢａｖであれば、      ｑ＝ｑａｖ
Ｂｔａｒｇ≧βＢａｖであれば、                ｑ＝ｑａｖ２
【００５３】
本実施形態によれば、α及びβがそれぞれ１及び１．５の値である場合に、良好な結果が得られた。
ｑａｖは、前に符号化された画像の平均量子化ステップである。
ｑａｖ１は、Ｂｔａｒｇ≦αＢａｖを満足する最後の画像の平均量子化ステップを表す。
ｑａｖ２は、Ｂｔａｒｇ≧βＢａｖを満足する最後の画像の平均量子化ステップを表す。
こうして、前に符号化された画像の量子化ステップを考慮に入れた量子化ステップが得られる。
【００５４】
他の実施形態では、前に符号化された画像において平均が決定できないときに、ｑａｖ１とｑａｖ２の初期値が使用される。
【００５５】
時々、符号化器及び復号器の参照メモリの中の誤差の蓄積を排除するために、又は場面の変化が発生してインターモードの符号化が実行できないときに、符号化をイントラモードに強制することが必要となる。この場合には、処理全体が再び開始される。
【００５６】
次に量子化ステップの修正係数が決定され、この量子化ステップに加えられる。この修正係数は、下記の説明文ではｃ２で示され、次の式で与えられる。
ｃ２＝ｃ＊（Ｂｉ＿ｍｂ−ｂｉｔｐｒｅｄ［ｍｂ］＊Ｂｔａｒｇ）／Ｒ
【００５７】
Ｂｉ＿ｍｂは、現画像において現マクロブロックの前に置かれたマクロブロックに対して実際に発生したビット数である。括弧内の項は、実際に発生したビット数と、（Ｂｔａｒｇを考慮した）分布関数ｂｉｔｐｒｅｄ［ｍｂ］によって予測されるビット数との差に相当する。ｃ２は、予測ビット数を超過するか否かによって正又は負になる。マクロブロックｍｂの符号化の前に用いられたビット数が予測ビット数より多い場合には、ｃ２は正となる。したがって、量子化ステップは増加し、現マクロブロックラインから得られるビット数は減少する。
【００５８】
ｃは、係数であって、データ伝送速度Ｒと、発生ビット数及び予測ビット数との間の起こり得る変化とに依存する。ｃの選択値が大きいほど、ｃ２によってもたらされる変化は速くなる。ｃ２の絶対値は、ｑの大きさのオーダである。
【００５９】
たとえば、データ伝送速度Ｒが２０，０００ビット／秒で、予測誤差が数１００ビットであれば、ｃを約１００から１，０００までに選択する。
【００６０】
この例では、量子化ステップは、各マクロブロックライン（第１ラインを除く）の開始においてリフレッシュされる。したがって、ラインの開始時に修正係数ｃ２が計算される。これは、画像品質が画像の水平帯において変化することを回避する。当然ｃ２を計算することができ、全マクロブロックについてｑがリフレッシュされる。
【００６１】
好ましい実施変形例によれば、最終ラインを除いて、マクロブロックの各ラインの開始時にｑをリフレッシュする。最終ラインについては、１マクロブロックごとにリフレッシュが行われる。これによって、特に画像の中心に位置しないマクロブロックラインにおいて、Ｂｔａｒｇに関して有効に使用されるビット数のいかなる変化についても優れた修正ができる。
【００６２】
マクロブロックの各ラインの開始についてのみｂｉｔｐｒｅｄ［ｍｂ］の値がある場合には、最終値（最終ラインの開始）の線形補間を１００％まで実施する。
【００６３】
他の実施形態では、ｃ２は次のように重み付けされる。すなわち、ｑａｖ＞２０であれば、ｃ＝６００であり、そうでなければｃ＝３００である。こうしてｃ２の効果は、量子化ステップが大きくなると増加する。
【００６４】
ｑ＝ｑａｖ＋ｃ２とする。ｑａｖ（ｑａｖ、ｑａｖ１又はｑａｖ２）は、画像全体に対する画像の開始時において選択された値を保管する。
【００６５】
他の実施形態では、ｑに課された限界について追加修正が行われる。最大値ｑｍａｘ及び最小値ｑｍｉｎをそれぞれ決める。ｑがｑｍｉｎより小さいとｑをｑｍｉｎに設定し、ｑがｑｍａｘより大きいとｑをｑｍａｘに設定する。
【００６６】
画像の開始時において、ｑｍｉｎとｑｍａｘの開始値を固定する。これらの値は、一定にすることができ（例えば、ｑｍｉｎ＝８、ｑｍａｘ＝２３）、又は、好ましい実施形態では、ＢｔａｒｇとＢａｖとの比較から決定される。
【００６７】
ＢｔａｒｇがＢａｖより小さい場合には、これは、現画像が比較的少ないビットで符号化されるべきであることを意味する。したがって、少なすぎる量子化ステップを避けるためにｑｍｉｎの値を増加させ（例えばｑｍｉｎ＝８の代わりに１１）、これは結果としてバッファへのビットの流量が大きくなりすぎる。
【００６８】
ＢｔａｒｇがＢａｖより大きい場合には、特にＢｔａｒｇがＢａｖより非常に大きい場合には、ｑｍｉｎの値を小さく選択する（例えば８の代わりに６）。
【００６９】
同様な決定をｑｍａｘについても行う。
【００７０】
ｑｍｉｎの値は、画像の符号化の間に改正される。あるマクロブロック数を符号化する間の所与の瞬間における結果ビット数が予測したよりも少ない場合には、ｑｍｉｎを減少させる。逆に、予測ビット数を越えたときは、ｑｍｉｎを増加させる。しかし、ｃ２は大きな値をとり、これは非常に突発的な変化をもたらし、これを和らげるための模索が必要である。
【００７１】
図４は、３つの連続テストの形式におけるラインの開始時において、ｑｍｉｎに対して行われる修正を示す。前のラインのｃ２の値をｐｃ２と称し、前のラインの前のラインのｃ２の値をｐｐｃ２と称する。ｃ２の値が負になればなるほど、画像の開始時において固定されたＢｔａｒｇの値に対するビットの発生不足が大きくなる。
【００７２】
ｐｃ２≦（ｃ２＋２）の場合には、ｑｍｉｎ＝ｍａｘ（ｑｍｉｎ−１，ｐｑ−１）と設定する。ただし、ｐｑは、前のラインに使用される量子化ステップであり、ｑｍｉｎはＢｔａｒｇとＢａｖの関数として固定された開始値を有する。
【００７３】
テスト１は、ビットの発生不足（ｃ２＜０）の場合にｑｍｉｎを減少することを目的とし、ｃ２、ｐｃ２、ｐｐｃ２、すなわちいくつかのラインにわたる修正係数の変化を考慮して設計される。
【００７４】
ｃ２、ｐｃ２及びｐｐｃ２について、一連の可能な負の値を定義する。この例では、これらの値は、−４０と−２との間、すなわち−２、−５、−１０、−１５、−２０、−４０である。係数は、−４０より小さくすることができる。
【００７５】
最低値で開始することによって、ｃ２及びｐｃ２がこの値より小さいかどうかを判定することができる。小さければ、ｐｐｃ２もまたこの値より小さいかどうかを判定する。これは、行われた修正が、２、３ラインにわたって同じものであったかどうかを示す。テスト値が低いほど、ｑｍｉｎはより減少する。しかし、ｑｍｉｎが非常に高かった場合には、ｑｍｉｎ＝ｍａｘ（ｘ，ｑｍｉｎ−ｙ）と設定することによって、この事実を考慮する。ここで、ｘは、テスト値に関連するｑｍｉｎの値であり、ｙは、テスト値がより負の値になると増加する整数である。
【００７６】
ｐｐｃ２が先の条件を満足しない場合には、ｑｍｉｎは同じ方法では減少されず、この下向きの傾向は、マクロブロックの３つの最終ラインについて同じではない。
【００７７】
このテスト１が完了すると、ｑｍｉｎは少なくとも３となる。
【００７８】
テスト２とテスト３は、予測に対する偏差を修正するために強力な修正を必要とする場合に、マクロブロックの最終ラインについてのみ適用され、この特定の場合にはビットの発生不足となる。実際に、最初のテストによって行われる修正では、量子化ステップの最低値に達することができない。
【００７９】
最終ラインの開始時において、予測ビット数の１０％よりも少ない場合にはテスト２に行き、予測ビット数の約２５％よりも少ない場合にはテスト３を用いる。
【００８０】
テスト３の場合にのみ、値ｑｍｉｎ＝１に達する。
【００８１】
３つのテストの後に適用される「制限条件」の目的は、発生されたビット数が割り当てられた全ビット数Ｂｔａｒｇに非常に近い場合に、最大量子化ステップ値（３１）の使用を強制することである。この状況は、画像の最後に発生する。このテストにより、Ｂｔａｒｇに対する低値のあふれが防止できる。「制限条件」テストはまた、別の瞬間、すなわちテスト１の後からテスト３までに行うこともできる。
【００８２】
他の実施形態では、Ｑｍａｘも修正をうける。量子化ステップが高いほど、画像が、復号されるときに劣化する。したがって、承知の上でのみ高い量子化値を使用することが重要である。
【００８３】
他の実施形態では、現ラインの量子化パラメータに対して、現ラインで予測されたパーセンテージを考慮するために、量子化ステップの特別の修正を行う。事前に、検討された修正は、前に符号化されたラインのみを考慮した。
【００８４】
上記に挙げた数値データは単なる例であり、決して本発明の範囲を限定するものではないことは、明白である。
【００８５】
上記の実施例によれば、画像をインターモード又はイントラモードで符号化することができる。本発明は明らかに、このようなシステムに限定されるものではなく、双方向符号化モードを利用するシステムにも容易に適合できる。
【図面の簡単な説明】
【図１】  圧縮装置の一般的機能図である。
【図２】  均一な分布をもつ画像と比較したテスト画像中の情報の分布を示す図である。
【図３】  バッファの充てん状態を考慮に入れたインターモード画像に割り付けられたビット数の選択を示す図である。
【図４】  量子化ステップの最小値ｑｍｉｎに施される訂正を記述する流れ図である。
【図１】
0003896490.tif 000002
【図２】
0003896490.tif 000003
【図３】
0003896490.tif 000004
【図４】
0003896490.tif 000005