(57)【特許請求の範囲】
【請求項１】
画像を符号化する画像符号化装置であって、
前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出手段と、
前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と
を備える画像符号化装置。
【請求項２】
前記画像からアクティビティをブロック単位で算出するアクティビティ算出手段を更に備え、
前記符号化手段は、前記量子化インデックスが前記固定モードに設定された場合に、前記アクティビティ算出手段により算出された前記アクティビティの値に応じて、前記量子化ステップを設定し、前記画像を符号化する
請求項１に記載の画像符号化装置。
【請求項３】
画像を符号化する画像符号化方法であって、
前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出ステップと、
前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップと
を含む画像符号化方法。
【請求項４】
画像を符号化する画像符号化装置であって、
前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出手段と、
前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と
を備える画像符号化装置。
【請求項５】
画像を符号化する画像符号化方法であって、
前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出ステップと、
前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップと
を含む画像符号化方法。
【請求項６】
画像を符号化する画像符号化装置であって、
前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量を符号化難易度として算出する符号化難易度算出手段と、
前記符号化難易度算出手段により算出された前記符号化難易度に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出手段と、
前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と
を備える画像符号化装置。
【請求項７】
画像を符号化する画像符号化方法であって、
前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量を符号化難易度として算出する符号化難易度算出ステップと、
前記符号化難易度算出ステップにより算出された前記符号化難易度に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出ステップと、
前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップと
を含む画像符号化方法。
【請求項８】
画像を符号化する画像符号化装置であって、
前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量を符号化難易度として算出する符号化難易度算出手段と、
前記符号化難易度算出手段により算出された前記符号化難易度に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出手段と、
前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と
を備える画像符号化装置。
【請求項９】
画像を符号化する画像符号化方法であって、
前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量を符号化難易度として算出する符号化難易度算出ステップと、
前記符号化難易度算出ステップにより算出された前記符号化難易度に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出ステップと、
前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップと
を含む画像符号化方法。
【請求項１０】
画像を符号化する画像符号化装置であって、
前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と
を備える画像符号化装置。
【請求項１１】
画像を符号化する画像符号化方法であって、
前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップと
を含む画像符号化方法。
【請求項１２】
画像を符号化する画像符号化装置であって、
前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を量子化する量子化手段と
を備える画像符号化装置。
【請求項１３】
画像を符号化する画像符号化方法であって、
前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を量子化する量子化ステップと
を含む画像符号化方法。
【請求項１４】
画像を符号化する画像符号化装置であって、
前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出手段と、
前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記目標符号量に所定のマージンを加えた符号量がＶＢＶバッファから読み出されると仮定して、前記ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、
前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と
を備える画像符号化装置。
【請求項１５】
画像を符号化する画像符号化方法であって、
前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出ステップと、
前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記目標符号量に所定のマージンを加えた符号量がＶＢＶバッファから読み出されると仮定して、前記ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、
前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップと
を含む画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像符号化装置および方法に関し、特に、復号画像の画質の劣化を防止することができるようにする画像符号化装置および方法に関する。
【０００２】
【従来の技術】
例えば、ＭＰＥＧ（Moving Picture Experts Group）方式などに準拠して画像の圧縮、符号化を行う場合において、良好な画質の復号画像を得ることができるようにするためのアルゴリズムの１つとして、ＴＭ５（Test Model 5(Test Model Editing Commitee: "Test Model 5", ISO/IEC JTC/SC29/WG11/N0400(Apr.1993))）が知られている。ＴＭ５は、３つのステップから構成され、各ステップでは、次のような処理が行われる。
【０００３】
［ステップ１］
前回エンコードした同一のピクチャタイプのフレームのコンプレクシティ（Complexity）に基づいて、今回エンコードするフレームの目標符号量を設定する。
［ステップ２］
各ピクチャタイプ別の目標符号量と発生符号量との差分を管理するための仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて、実際の発生符号量が、ステップ１で設定された目標符号量に一致（ほぼ一致）するように、次にエンコードするマクロブロックについて、仮の量子化インデックスを設定する。
［ステップ３］
視覚特性、即ち、復号画像の画質が良好になるように、エンコード対象のマクロブロックの複雑さに基づいて、量子化インデックスを最終的に決定する。
【０００４】
従って、ＴＭ５では、画像の複雑さに対応して変化する変数Ｐとして、例えば、画像のアクティビティに対応するものを、発生符号量を目標符号量に一致させるための変数Ｑとして、例えば、仮想バッファのデータ蓄積量から決定された仮の量子化ステップに対応するものを、それぞれ用いることとすると、マクロブロックを量子化するための最終的な量子化インデックスＭＱＵＡＮＴは、例えば、次式にしたがって決定される。
【０００５】
ＭＱＵＡＮＴ＝ｆ（Ｐ，Ｑ）
なお、ｆ（Ｐ，Ｑ）は、引数ＰおよびＱに対応する値を、所定の範囲内の値に正規化したものを出力する関数である。
【０００６】
【発明が解決しようとする課題】
上述したように、ＴＭ５では、量子化インデックスプが、画像の複雑さに対応する変数Ｐと、発生符号量を目標符号量に一致させるための変数Ｑとから決定され、その量子化インデックスに対応する量子化ステップで量子化が行われる。
【０００７】
このため、ある１フレームの画像を構成するマクロブロックの複雑さが同一であっても、発生符号量が目標符号量と一致しなくなった場合に、量子化ステップが変化することがあり、復号画像の画質が劣化する課題があった。
【０００８】
即ち、１フレームを構成するマクロブロックの複雑さが同一である場合には、それらのマクロブロックは、すべて同一の量子化ステップで量子化するのが望ましく、この場合に、マクロブロックが、周囲と異なる量子化ステップで量子化されると、復号画像において、量子化ステップを変えて量子化したマクロブロックの部分が目立つようになる。
【０００９】
そして、このような、いわばブロック状のノイズは、特に、量子化ステップが小さい値の範囲を変化するときに顕著に現れる。即ち、量子化ステップが比較的大きな値である７や８の範囲を変化する場合、その変化の割合は１／７や１／８程度であるが、量子化ステップが小さな値である３や４の範囲を変化する場合、その変化の割合は１／３や１／４のように大きくなる。従って、複雑さが同じようなマクロブロックの量子化に用いる量子化ステップが小さい範囲を変化すると、大きい量子化ステップで量子化された方のマクロブロックと、小さい量子化ステップで量子化された方のマクロブロックとの画質の差が顕著に現れることになる。
【００１０】
また、画像をＭＰＥＧ符号化などする際には、高次のＤＣＴ係数は重要でないとの観点から、ＤＣＴ係数に対して、その量子化の際に、量子化マトリクスによる重み付け（傾斜付け）がなされる。即ち、高次のＤＣＴ係数は、量子化マトリクスにより、低次のものよりも大きな量子化値で量子化される。従って、量子化ステップが、小さい値ではなく、比較的大きな値の範囲を変化する場合であっても、低次のＤＣＴ係数よりも大きな量子化値で量子化される高次のＤＣＴ係数については、量子化ステップの１段階の変化が、量子化に使われる量子化値に大きな影響を与え、画質が劣化することがあった。
【００１１】
そこで、量子化ステップを固定にして、画像を符号化（エンコード）する方法があるが、これでは、複雑な画像が連続した場合に、発生符号量が極端に増大し、ＶＢＶ（Video Buffering Verifier）バッファがアンダーフローすることになる。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、ＶＢＶバッファにより課せられる条件を満たしながら、復号画像の画質が劣化しないように、画像の符号化を行うことができるようにするものである。
【００１３】
【課題を解決するための手段】
本発明の第１の画像符号化装置は、画像を符号化する画像符号化装置であって、前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出手段と、前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスを、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段とを備える。
本発明の第１の画像符号化方法は、画像を符号化する画像符号化方法であって、前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出ステップと、前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスを、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップとを含む。
本発明の第２の画像符号化装置は、画像を符号化する画像符号化装置であって、前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出手段と、前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段とを備える。
本発明の第２の画像符号化方法は、画像を符号化する画像符号化方法であって、前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出ステップと、前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップとを含む。
【００１４】
本発明の第３の画像符号化装置は、画像を符号化する画像符号化装置であって、前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量を符号化難易度として算出する符号化難易度算出手段と、前記符号化難易度算出手段により算出された前記符号化難易度に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出手段と、前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と、を備える画像符号化装置。
本発明の第３の符号化方法は、画像を符号化する画像符号化方法であって、前記画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量を符号化難易度として算出する符号化難易度算出ステップと、前記符号化難易度算出ステップにより算出された前記符号化難易度に基づいて、前記画像の各フレームに割り当てる目標符号量を算出する目標符号量算出ステップと、前記画像の符号化に伴うフレーム単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップとを含む画像符号化方法。
本発明の第４の画像符号化装置は、画像を符号化する画像符号化装置であって、前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量を符号化難易度として算出する符号化難易度算出手段と、前記符号化難易度算出手段により算出された前記符号化難易度に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出手段と、前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段と、を備える。
本発明の第４の画像符号化方法は、画像を符号化する画像符号化方法であって、前記画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量を符号化難易度として算出する符号化難易度算出ステップと、前記符号化難易度算出ステップにより算出された前記符号化難易度に基づいて、前記画像の各ＧＯＰに割り当てる目標符号量を算出する目標符号量算出ステップと、前記画像の符号化に伴うＧＯＰ単位の発生符号量を前記目標符号量に一致させるための量子化インデックスの値を、前記発生符号量が前記目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップとを含む。
【００１５】
本発明の第５の画像符号化装置は、画像を符号化する画像符号化装置であって、前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化手段とを備える。
本発明の第５の画像符号化方法は、画像を符号化する画像符号化方法であって、前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を符号化する符号化ステップとを含む。
本発明の第６の画像符号化装置は、画像を符号化する画像符号化装置であって、前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定手段と、前記量子化インデックス設定手段により可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を量子化する量子化手段とを備える。
本発明の第６の画像符号化方法は、画像を符号化する画像符号化方法であって、前記画像を所定ブロック単位で符号化する際の量子化インデックスの値を、発生符号量が目標符号量を所定の割合以上上回ったと仮定して、ＶＢＶバッファがアンダーフローすると判断される場合に、前記量子化インデックスの値を、前記画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、前記量子化インデックスの値を、前記画像のフレーム内で固定とする固定モードに設定する量子化インデックス設定ステップと、前記量子化インデックス設定ステップにより可変モードに設定された前記量子化インデックスに対応する量子化ステップを用いて、前記画像を量子化する量子化ステップとを含む。
【００１６】
本発明の第１の画像符号化装置および方法においては、画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、画像の各フレームに割り当てる目標符号量が算出され、画像の符号化に伴うフレーム単位の発生符号量を目標符号量に一致させるための量子化インデックスの値が、発生符号量が目標符号量を所定の割合以上上回ったと仮定されて、ＶＢＶバッファがアンダーフローすると判断される場合に、量子化インデックスの値が、画像のフレーム内で可変とする可変モードに設定され、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値が、画像のフレーム内で固定とする固定モードに設定され、可変モードに設定された量子化インデックスに対応する量子化ステップが用いられて、画像が符号化される。
本発明の第２の画像符号化装置および方法においては、画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量に基づいて、画像の各ＧＯＰに割り当てる目標符号量が算出され、画像の符号化に伴うＧＯＰ単位の発生符号量を目標符号量に一致させるための量子化インデックスの値が、発生符号量が目標符号量を所定の割合以上上回ったと仮定されて、ＶＢＶバッファがアンダーフローすると判断される場合に、量子化インデックスの値が、画像のフレーム内で可変とする可変モードに設定され、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値が、画像のフレーム内で固定とする固定モードに設定され、可変モードに設定された量子化インデックスに対応する量子化ステップが用いられて、画像が符号化される。
【００１８】
本発明の第３の画像符号化装置および方法においては、画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量が符号化難易度として算出され、算出され符号化難易度に基づいて、画像の各フレームに割り当てる目標符号量が算出され、画像の符号化に伴うフレーム単位の発生符号量を目標符号量に一致させるための量子化インデックスの値が、発生符号量が目標符号量を所定の割合以上上回ったと仮定されて、ＶＢＶバッファがアンダーフローすると判断される場合に、量子化インデックスの値が、画像のフレーム内で可変とする可変モードに設定され、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値が、画像のフレーム内で固定とする固定モードに設定され、可変モードに設定された量子化インデックスに対応する量子化ステップが用いられて、画像が符号化される。
本発明の第４の画像符号化装置および方法においては、画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量が符号化難易度として算出され、算出され符号化難易度に基づいて、画像の各ＧＯＰに割り当てる目標符号量が算出され、画像の符号化に伴うＧＯＰ単位の発生符号量を目標符号量に一致させるための量子化インデックスの値が、発生符号量が目標符号量を所定の割合以上上回ったと仮定されて、ＶＢＶバッファがアンダーフローすると判断される場合に、量子化インデックスの値が、画像のフレーム内で可変とする可変モードに設定され、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値が、画像のフレーム内で固定とする固定モードに設定され、可変モードに設定された量子化インデックスに対応する量子化ステップが用いられて、画像が符号化される。
【００１９】
本発明の第５の画像符号化装置および方法においては、画像を所定ブロック単位で符号化する際の量子化インデックスの値が、発生符号量が目標符号量を所定の割合以上上回ったと仮定されて、ＶＢＶバッファがアンダーフローすると判断される場合に、量子化インデックスが、画像のフレーム内で可変とする可変モードに設定され、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値が、画像のフレーム内で固定とする固定モードに設定され、可変モードに設定された量子化インデックスに対応する量子化ステップが用いられ、画像が符号化される。
本発明の第６の画像符号化装置および方法においては、画像を所定ブロック単位で符号化する際の量子化インデックスの値が、発生符号量が目標符号量を所定の割合以上上回ったと仮定されて、ＶＢＶバッファがアンダーフローすると判断される場合に、量子化インデックスの値が、画像のフレーム内で可変とする可変モードに設定され、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値が、画像のフレーム内で固定とする固定モードに設定され、可変モードに設定された量子化インデックスに対応する量子化ステップが用いられて、画像が符号化される。
【００２２】
【発明の実施の形態】
図１は、本発明の画像符号化装置の一実施の形態の構成を示している。
【００２３】
この画像符号化装置は、いわゆる２パスエンコーディングによって、画像をＭＰＥＧ方式などにより可変レートで符号化するようになっており、例えば、ＤＶＤ（Digigal Versatile Disc）や、ビデオＣＤ（Compact Disc）などのオーサリングシステムその他に適用することができるようになっている。
【００２４】
符号化すべき画像データは、エンコーダ１に入力されるようになされおり、エンコーダ１は、画像データを、少なくともＤＣＴ係数などの直交変換係数に直交変換し、その直交変換係数を量子化することにより符号化するようになされている。
【００２５】
即ち、１パス目では、エンコーダ１は、画像データを、固定の量子化ステップで量子化することにより符号化し、その結果得られる符号化データの発生符号量（あるいは、発生符号量に対応する情報としての、例えば、画像データの符号化難易度（difficulty）など）を、外部コンピュータ２に出力する。外部コンピュータ２は、エンコーダ１からの発生符号量に基づいて、例えば、１ＧＯＰ（Group Of Picture）や１画面（１フレームまたは１フィールド）ごとの目標符号量を設定する。
【００２６】
そして、２パス目では、外部コンピュータ２は、設定した目標符号量を、エンコーダ１に供給し、エンコーダ１は、この目標符号量に、発生符号量が一致するように量子化ステップを設定しながら、画像データの符号化を行う。なお、量子化ステップは、目標符号量の他、過去の発生符号量や、ＶＢＶバッファにおけるデータの蓄積量、画像の複雑さなどにも基づいて設定される。
【００２７】
２パス目の符号化によって得られた符号化データは、例えば、光ディスクや、光磁気ディスク、磁気テープその他でなる記録媒体３に記録され、あるいは、例えば、地上波、衛星回線、ＣＡＴＶ網、インターネットその他でなる伝送路４を介して伝送される。
【００２８】
次に、図２は、図１のエンコーダ１の構成例を示している。
【００２９】
図２では、エンコーダ１において、画像がＭＰＥＧ符号化されるようになされている。
【００３０】
即ち、符号化すべき画像データは、画像並び替え回路１１に供給される。画像並び替え回路１１は、入力された画像データのフレーム（またはフィールド）の並びを、必要に応じて替えて、走査変換／マクロブロック化回路１２に出力する。即ち、各フレームの画像データは、Ｉピクチャ、Ｐピクチャ、またはＢピクチャのうちのいずれかとして処理されるが、例えば、Ｂピクチャの処理に、それより時間的に後のＩピクチャやＰピクチャが必要な場合があり、このようなＩピクチャやＰピクチャは、Ｂピクチャより先に処理する必要がある。そこで、画像並び替え回路１１では、時間的に後のフレームを先に処理することができるように、フレームの並びを替えるようになされている。
【００３１】
なお、シーケンシャルに入力される各フレームの画像を、Ｉ，Ｐ，Ｂピクチャのいずれのピクチャとして処理するかは、予め定められている。
【００３２】
画像並び替え回路１１において並び替えられた画像データは、走査変換／マクロブロック化回路１２に出力され、そこでは、画像データの走査変換およびマクロブロック化が行われ、その結果得られるマクロブロックが、演算器１３、動き検出回路２３、およびアクティビティ検出回路２４に出力される。
【００３３】
動きベクトル検出回路２３は、走査変換／マクロブロック化回路１２から供給されるマクロブロックの動きベクトルを検出する。
【００３４】
即ち、動きベクトル検出回路２３は、予め定められた所定の参照フレームを参照し、その参照フレームと、走査変換／マクロブロック化回路１２からのマクロブロックとをパターンマッチング（ブロックマッチング）することにより、そのマクロブロックの動きベクトルを検出する。
【００３５】
ここで、ＭＰＥＧにおいては、画像の予測モードには、イントラ符号化（フレーム内符号化）、前方予測符号化、後方予測符号化、両方向予測符号化（前方、後方、および両方向の３つの予測符号化は、イントラ符号化に対して、インター符号化と呼ばれる）の４種類があり、Ｉピクチャはイントラ符号化され、Ｐピクチャはイントラ符号化または前方予測符号化され、Ｂピクチャはイントラ符号化、前方予測符号化、後方予測符号化、または両方向予測符号化される。
【００３６】
即ち、動きベクトル検出回路２３は、Ｉピクチャについては、予測モードとしてイントラ符号化モードを設定する。この場合、動きベクトル検出回路２３では、動きベクトルの検出は行われない。
【００３７】
また、動きベクトル検出回路２３は、Ｐピクチャについては、前方予測を行い、その動きベクトルを検出する。さらに、動きベクトル検出回路２３は、前方予測を行うことにより生じる予測誤差と、符号化対象のマクロブロック（Ｐピクチャのマクロブロック）の、例えば分散とを比較し、マクロブロックの分散の方が予測誤差より小さい場合、予測モードとしてイントラ符号化モードを設定する。また、動きベクトル検出回路２３は、前方予測を行うことにより生じる予測誤差の方が小さければ、予測モードとして前方予測符号化モードを設定し、検出した動きベクトルを、動き補償回路２２に出力する。
【００３８】
さらに、動きベクトル検出回路２３は、Ｂピクチャについては、前方予測、後方予測、および両方向予測を行い、それぞれの動きベクトルを検出する。そして、動きベクトル検出回路２３は、前方予測、後方予測、および両方向予測についての予測誤差の中の最小のもの（以下、適宜、最小予測誤差という）を検出し、その最小予測誤差と、符号化対象のマクロブロック（Ｂピクチャのマクロブロック）の、例えば分散とを比較する。その比較の結果、マクロブロックの分散の方が最小予測誤差より小さい場合、動きベクトル検出回路２３は、予測モードとしてイントラ符号化モードを設定する。また、動きベクトル検出回路２３は、最小予測誤差の方が小さければ、予測モードとして、その最小予測誤差が得られた予測モードを設定し、対応する動きベクトルを、動き補償回路２２に出力する。
【００３９】
動き補償回路２２は、動きベクトルを受信すると、その動きベクトルにしたがって、フレームメモリ２１に記憶されている、符号化され、既に局所復号化された画像データを読み出し、これを、予測画像として、演算器１３および２０に供給する。
【００４０】
演算器１３は、走査変換／マクロブロック化回路１２からのマクロブロックと、動き補償回路２２からの予測画像との差分を演算する。この差分値は、ＤＣＴ回路１４（直交変換手段）に供給される。
【００４１】
なお、動きベクトル検出回路２３において、予測モードとしてイントラ符号化モードが設定された場合、動き補償回路２２は、予測画像を出力しない。この場合、演算器１３（演算器２０も同様）は、特に処理を行わず、走査変換／マクロブロック化回路１２からのマクロブロックを、そのままＤＣＴ回路１４に出力する。
【００４２】
ＤＣＴ回路１４では、演算器１３の出力に対して、ＤＣＴ処理が施され、その結果得られるＤＣＴ係数が、量子化回路１５（量子化手段）に供給される。量子化回路１５では、量子化インデックス決定回路２５（設定手段）からの量子化インデックスに対応する量子化ステップ（量子化スケール）が設定され、その量子化ステップに量子化マトリクスの係数をかけたものなどで、ＤＣＴ回路１４からのＤＣＴ係数が量子化される。この量子化されたＤＣＴ係数（以下、適宜、量子化値という）は、ＶＬＣ器１６に供給される。
【００４３】
ＶＬＣ器１６では、量子化回路１５より供給される量子化値が、例えばハフマン符号などの可変長符号に変換され、バッファ１７に出力される。バッファ１７は、ＶＬＣ器１６からのデータを一時蓄積し、そのデータ量を平滑化して出力する。なお、バッファ１７におけるデータ蓄積量は、発生符号量として、外部コンピュータ２（図１）と量子化インデックス決定回路２５に供給されるようになされている。
【００４４】
一方、量子化回路１５が出力する量子化値は、ＶＬＣ器１６だけでなく、逆量子化回路１８にも供給されるようになされている。逆量子化回路１８では、量子化回路１５からの量子化値が、量子化回路１５で用いられた量子化ステップにしたがって逆量子化され、これによりＤＣＴ係数に変換される。このＤＣＴ係数は、逆ＤＣＴ回路１９に供給される。逆ＤＣＴ回路１９では、ＤＣＴ係数が逆ＤＣＴ処理され、演算器２０に供給される。
【００４５】
演算器２０には、逆ＤＣＴ回路１９の出力の他、上述したように、動き補償回路２２から、演算器１３に供給されている予測画像と同一のデータが供給されており、演算器２０は、逆ＤＣＴ回路１９からの信号（予測残差）と、動き補償回路２２からの予測画像とを加算することで、元の画像を、局所復号する（但し、予測モードがイントラ符号化である場合には、逆ＤＣＴ回路１９の出力は、演算器２０をスルーして、フレームメモリ２１に供給される）。なお、この復号画像は、受信側において得られる復号画像と同一のものである。
【００４６】
演算器２０において得られた復号画像（局所復号画像）は、フレームメモリ２１に供給されて記憶され、その後、インター符号化（前方予測符号化、後方予測符号化、または両方向予測符号化）される画像に対する参照画像（参照フレーム）として用いられる。
【００４７】
一方、アクティビティ検出回路２４では、マクロブロックの複雑さを表す指標として、例えば、そのアクティビティ（activity）が検出され、量子化インデックス決定回路２５に供給される。量子化インデックス決定回路２５には、外部コンピュータ２から目標符号量が、バッファ１７から発生符号量が、アクティビティ検出回路２４からアクティビティが、それぞれ供給されるようになされている。そして、量子化インデックス決定回路２５は、これらの目標符号量、発生符号量、およびアクティビティに基づいて、量子化インデックスを決定し、量子化回路１５に供給する。量子化インデックスは、量子化ステップと１対１に対応するもので、量子化回路１５では、上述したように、量子化インデックス決定回路２５からの量子化インデックスに対応する量子化ステップで、量子化が行われる。
【００４８】
なお、量子化インデックス決定回路２５は、１パス目は、固定の量子化インデックスを出力するようになされており、これにより、量子化回路１５では、固定の量子化ステップで量子化が行われる。そして、２パス目において、量子化インデックス決定回路２５は、バッファ１７からの発生符号量、アクティビティ検出回路２４からのアクティビティ、さらには、外部コンピュータ２からの目標符号量に基づいて、適応的に量子化インデックスを設定し、これにより、量子化回路１５では、そのように適応的に設定された量子化インデックスに対応する量子化ステップで量子化が行われる。
【００４９】
次に、２パス目において行われる、量子化インデックス決定回路２５における量子化インデックスの設定処理および量子化回路１５における量子化処理について、図３および図４のフローチャートを参照して説明する。
【００５０】
量子化インデックス決定回路２５では、まず最初に、ステップＳ１において、量子化インデックス（仮の量子化インデックスＱ＿ｉｎｄｅｘ）の初期値が設定される。即ち、ステップＳ１では、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの量子化インデックスＱI，ＱP，ＱBの初期値として、例えば、９，９，１１などがそれぞれ設定される。さらに、ステップＳ１では、目標符号量と発生符号量との間の誤差の累積値を保持しておくための変数Ｓｕｍ＿Ｅと、符号化した画像のフレーム数をカウントするための変数ｊとが、例えば０に初期化される。
【００５１】
そして、外部コンピュータ２から、第ｊフレームをエンコードするときの目標符号量Ｔjが供給されると、量子化インデックス決定回路２５では、ステップＳ２において、その目標符号量Ｔjが受信され、ステップＳ３に進み、いま符号化対象となっているフレームのピクチャタイプが判定される。ステップＳ３において、符号化対象のフレームのピクチャタイプが、Ｉピクチャ、Ｐピクチャ、またはＢピクチャであると判定された場合、それぞれステップＳ４，Ｓ５、またはＳ６に進み、第ｊフレームの画像の発生符号量を目標符号量Ｔjに一致させるための第１の変数（量子化インデックス）としてのＱ＿ｉｎｄｅｘに、ＱI，ＱP、またはＱBが設定され、ステップＳ７に進む。
【００５２】
ステップＳ７では、マクロブロックを量子化する量子化インデックスＭＱＵＡＮＴが決定される。即ち、量子化インデックス決定回路２５は、発生符号量を目標符号量Ｔjに一致させるための第１の変数Ｑ＿ｉｎｄｅｘと、符号化対象のマクロブロックの複雑さに対応する第２の変数としての、アクティビティ検出回路２４からのアクティビティＡＣＴに基づいて、符号化対象のマクロブロックの量子化インデックスＭＱＵＡＮＴを設定し、量子化回路１５に出力する。量子化回路１５では、量子化インデックス決定回路２５からの量子化インデックスＭＱＵＡＮＴに対応する値が、符号化対象のマクロブロックを量子化するのに用いる量子化ステップとして設定される。
【００５３】
量子化ステップが設定されると、ステップＳ７からＳ８に進み、量子化回路１５において、その量子化ステップで、符号化対象のマクロブロックが量子化され、ステップＳ９に進む。ステップＳ９では、１フレーム、即ち、第ｊフレームを構成するマクロブロックすべての量子化が終了したかどうかが判定され、終了していないと判定された場合、ステップＳ７に戻り、以下、同様の処理が繰り返される。
【００５４】
即ち、マクロブロックごとの量子化インデックスＭＱＵＡＮＴは、Ｑ＿ｉｎｄｅｘとマクロブロックのアクティビティＡＣＴとによって決定されるが、Ｑ＿ｉｎｄｅｘは、１フレームを構成するマクロブロックについては同一の値が用いられる。このように、Ｑ＿ｉｎｄｅｘは、１フレームの符号化中は固定値とされるため、１フレームの符号化に用いられるマクロブロックごとの量子化インデックスＭＱＵＡＮＴは、符号化対象のマクロブロックのアクティビティＡＣＴによってのみ変化する。つまり、ここでは、マクロブロックごとの量子化インデックスＭＱＵＡＮＴは、１フレームの符号化中においては、例えば、ＴＭ５のステップ３における場合のように、画像の複雑さに対応して変化するが、例えば、ＴＭ５のステップ２における場合のように、レートコントロール（発生符号量を目標符号量に一致させる制御）のためには変化しない。
【００５５】
従って、ある１フレームの画像を構成するマクロブロックの複雑さが、例えば、同一である場合には、マクロブロックごとの量子化インデックスＭＱＵＡＮＴ、即ち、量子化ステップは変化せず、復号画像の画質の劣化を防止することができる。
【００５６】
ここで、量子化ステップは、レートコントロールのためには変化しないが、マクロブロックの複雑さによっては変化する。従って、本発明においても、従来における場合と同様に、マクロブロックが、周囲と異なる量子化ステップで量子化される場合があるが、この場合の量子化ステップの変化は、マクロブロックの複雑さに対応するものであるから、その変化は、復号画像の画質を劣化させるものではなく、むしろ視覚特性を向上させるものとなる。
【００５７】
即ち、従来においては、マクロブロックの複雑さが同一であっても、レートコントロールのために量子化ステップが変化し、そのような複雑さが同一の、隣接するマクロブロックどうしが、異なる量子化ステップで量子化されることに起因してブロック状のノイズが顕著になるような、復号画像の画質の劣化が生じることがあった。これに対して、本発明においては、１フレーム内においては、レートコントロールのためには量子化ステップは変化しないから、複雑さが同一のマクロブロックが、異なる量子化ステップで量子化されることがなくなり、その結果、復号画像の画質が劣化することを防止することができる。
【００５８】
そして、量子化ステップは、レートコントロールのためには変化しないが、マクロブロックの複雑さに対応しては変化するから、複雑な画像が連続しても、発生符号量が極端に増大して、ＶＢＶバッファがアンダーフローするようなことを、基本的には防止することが可能となる。
【００５９】
一方、ステップＳ９において、１フレーム、即ち、第ｊフレームを構成するマクロブロックすべての量子化が終了したと判定された場合、図４のステップＳ１０に進み、量子化インデックス決定回路２５において、第ｊフレームを構成するマクロブロックを量子化するのに用いたマクロブロックごとの量子化インデックスＭＱＵＡＮＴの平均値（以下、適宜、平均量子化インデックスという）ｍｅａｎ＿Ｑが算出される。さらに、量子化インデックス決定回路２５は、ステップＳ１０において、平均量子化インデックスｍｅａｎ＿Ｑを、第ｊフレームの平均量子化インデックスを保持するための変数ｍｅａｎ＿Ｑjにセットし、ステップＳ１１に進む。
【００６０】
ステップＳ１１では、第ｊフレームについて、目標符号量Ｔjと発生符号量Ｓjとの間の誤差Ｅjが求められ、さらに、その累積値（以下、適宜、累積誤差という）Ｓｕｍ＿Ｅが求められる。即ち、ステップＳ１１では、量子化インデックス決定回路２５において、Ｔj−Ｓjが演算され、これが、誤差Ｅjとされる。さらに、ステップＳ１１では、量子化インデックス決定回路２５において、誤差Ｅjが、累積誤差Ｓｕｍ＿Ｅに加算され、その加算結果が、新たに累積誤差Ｓｕｍ＿Ｅとされる。
【００６１】
そして、ステップＳ１２に進み、量子化インデックス決定回路２５において、誤差Ｅjが正であるかどうかが判定される。ステップＳ１２において、誤差Ｅjが正であると判定された場合、即ち、第ｊフレームの発生符号量Ｓjが、目標符号量Ｔjより少ない場合、ステップＳ１３に進み、量子化インデックス決定回路２５において、累積誤差Ｓｕｍ＿Ｅが、所定の許容最小値Ｍｉｎ＿Ｓｕｍ＿Ｅより大きいかどうかが判定される。
【００６２】
ここで、許容最小値Ｍｉｎ＿Ｓｕｍ＿Ｅは、いままでの発生符号量の総和が、目標符号量の総和を大きく上回ることを防止するためのもので、例えば、０または負の値があらかじめ設定されている。
【００６３】
ステップＳ１３において、累積誤差Ｓｕｍ＿Ｅが、許容最小値Ｍｉｎ＿Ｓｕｍ＿Ｅより大きいと判定された場合、即ち、第ｊフレームの発生符号量Ｓjが、その目標符号量Ｔjより少なく、かつ、いままでの発生符号量の累積値の、目標符号量の累積値に対する誤差が所定の許容範囲内にあり、従って、量子化ステップを小さくして、発生符号量を増加させる必要がある場合、ステップＳ１４乃至Ｓ１７において、どの程度、量子化ステップ（Ｑ＿ｉｎｄｅｘ）を小さくするかが決定される。
【００６４】
即ち、量子化インデックス決定回路２５では、ステップＳ１４において、Ｑ＿ｉｎｄｅｘを、１段階下げて、第ｊ＋１フレームを量子化したときの発生符号量の予測値Ｓ’jが、例えば次式にしたがって算出される。
【００６５】
Ｓ’j＝（Ｓj×ｍｅａｎ＿Ｑj）／（ｍｅａｎ＿Ｑ−１）
【００６６】
なお、ここでは、第ｊフレームおよび第ｊ＋１フレームについての、いわゆるグローバルコンプレックシティ（global complexity）（１フレームの平均量子化インデックスと発生符号量とを乗算したもの）が一定であるとして、発生符号量の予測値Ｓ’jを求めている。
【００６７】
そして、量子化インデックス決定回路２５では、ステップＳ１５において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより多いかどうかが判定される。ステップＳ１５において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより多くないと判定された場合、即ち、第ｊフレームの量子化に用いたＱ＿ｉｎｄｅｘを１段階下げて、第ｊ＋１フレームを量子化しても、その発生符号量が、目標符号量より小さくなると予測される場合、ステップＳ１６に進み、ｍｅａｎ＿Ｑが１だけデクリメントされ、ステップＳ１４に戻る。そして、ステップＳ１５において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより多いと判定されるまで、即ち、量子化ステップをｍｅａｎ＿Ｑ−１として、第ｊ＋１フレームを量子化したときの発生符号量が、目標符号量より小さくならないと予測されるまで、ｍｅａｎ＿Ｑは、ステップＳ１６でデクリメントされ続けていく。
【００６８】
その後、ステップＳ１５において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより多いと判定されると、ステップＳ１７に進み、第ｊ＋１フレームの量子化に用いるべき量子化ステップｍｅａｎ＿Ｑと、第ｊフレームの量子化に用いた量子化ステップｍｅａｎ＿Ｑjとの差分ｄｅｌｔａＱが求められる。
【００６９】
ここで、後述するステップＳ２３乃至２５では、Ｑ＿ｉｎｄｅｘにセットされるＱI，ＱP、またはＱBが、このｄｅｌｔａＱだけ変更されるが、ＱI，ＱP、またはＱBが、第ｊフレームと第ｊ＋１フレームとの間で急激に変化すると、それらの間で、画質が急激に変化し、ユーザに違和感を与えることがある。
【００７０】
そこで、ステップＳ１７では、そのようなことを防止するために、ｄｅｌｔａＱの最大値が制限されるようになされている。即ち、ステップＳ１７では、例えば、次式にしたがって、ｄｅｌｔａＱが求められる。
【００７１】
deltaQ=min{max_delta,mean_Q-mean_Qj}
なお、ｍｉｎ｛｝は、括弧｛｝内の最小値を表す。また、ｍａｘ＿ｄｅｌｔａは、ｄｅｌｔａＱの上限で、例えば、２や３などが設定される。
【００７２】
また、ステップＳ１３において、累積誤差Ｓｕｍ＿Ｅが、許容最小値Ｍｉｎ＿Ｓｕｍ＿Ｅより大きくないと判定された場合、即ち、第ｊフレームの発生符号量Ｓjは、その目標符号量Ｔjより少なかったが、発生符号量の累積値が、目標符号量の累積値を越えており、従って、発生符号量を増加させるべきではない場合、ステップＳ１４乃至Ｓ１６をスキップして、ステップＳ１７に進み、上述したように、ｄｅｌｔａＱが求められる。即ち、この場合、ｍｅａｎ＿Ｑ−ｍｅａｎ＿Ｑj＝０が、ｄｅｌｔａＱとされる。
【００７３】
一方、ステップＳ１２において、誤差Ｅjが正でないと判定された場合、即ち、第ｊフレームの発生符号量Ｓjが、目標符号量Ｔj以上の場合、ステップＳ１８に進み、量子化インデックス決定回路２５において、累積誤差Ｓｕｍ＿Ｅが、所定の許容最大値Ｍａｘ＿Ｓｕｍ＿Ｅより小さいかどうかが判定される。
【００７４】
ここで、許容最大値Ｍａｘ＿Ｓｕｍ＿Ｅは、いままでの発生符号量の総和が、目標符号量の総和を大きく下回ることを防止するためのもので、例えば、正の値があらかじめ設定されている。
【００７５】
ステップＳ１８において、累積誤差Ｓｕｍ＿Ｅが、許容最大値Ｍａｘ＿Ｓｕｍ＿Ｅより小さいと判定された場合、即ち、第ｊフレームの発生符号量Ｓjが、その目標符号量Ｔj以上で、かつ、いままでの発生符号量の累積値も、目標符号量の累積値以上であり、従って、量子化ステップを大きくして、発生符号量を減少させる必要がある場合、ステップＳ１９乃至Ｓ２１、およびＳ１７において、どの程度、量子化ステップ（Ｑ＿ｉｎｄｅｘ）を大きくするかが決定される。
【００７６】
即ち、量子化インデックス決定回路２５では、ステップＳ１９において、Ｑ＿ｉｎｄｅｘを、１段階上げて、第ｊ＋１フレームを量子化したときの発生符号量の予測値Ｓ’jが、例えば次式にしたがって算出される。
【００７７】
Ｓ’j＝（Ｓj×ｍｅａｎ＿Ｑj）／（ｍｅａｎ＿Ｑ＋１）
【００７８】
なお、ここでも、第ｊフレームおよび第ｊ＋１フレームについてのグローバルコンプレックシティが一定であるとして、発生符号量の予測値Ｓ’jを求めている。
【００７９】
そして、量子化インデックス決定回路２５では、ステップＳ２０において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより少ないかどうかが判定される。ステップＳ２０において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより少なくないと判定された場合、即ち、第ｊフレームの量子化に用いたＱ＿ｉｎｄｅｘを１段階上げて、第ｊ＋１フレームを量子化しても、その発生符号量が、目標符号量より大きくなると予測される場合、ステップＳ２１に進み、ｍｅａｎ＿Ｑが１だけインクリメントされ、ステップＳ１９に戻る。そして、ステップＳ２０において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより少ないと判定されるまで、即ち、量子化ステップをｍｅａｎ＿Ｑ＋１として、第ｊ＋１フレームを量子化したときの発生符号量が、目標符号量より大きくならないと予測されるまで、ｍｅａｎ＿Ｑは、ステップＳ２１でインクリメントされ続けていく。
【００８０】
その後、ステップＳ２１において、発生符号量の予測値Ｓ’jが、目標符号量Ｔjより少ないと判定されると、ステップＳ１７に進み、上述したようにして、ｄｅｌｔａＱが求められ、ステップＳ２２に進む。
【００８１】
ステップＳ２２では、図３のステップＳ３における場合と同様に、第ｊ＋１フレームのピクチャタイプが判定される。ステップＳ２２において、第ｊ＋１フレームのピクチャタイプが、Ｉピクチャ、Ｐピクチャ、またはＢピクチャであると判定された場合、それぞれステップＳ２３，Ｓ２４、またはＳ２５に進み、ＱI，ＱP、またはＱBに、ｄｅｌｔａＱが加算され、その加算値が、新たにＱI，ＱP、またはＱBとされて、ステップＳ２６に進む。
【００８２】
ステップＳ２６では、画像データの終了を表すターミネートコード（terminate code）が受信されたかどうかが判定され、受信されていないと判定された場合、即ち、まだ符号がすべき画像データがある場合、ステップＳ２７に進み、ｊが１だけインクリメントされ、図３のステップＳ２に戻る。また、ステップＳ２６において、ターミネートコードが受信されたと判定された場合、処理を終了する。
【００８３】
なお、ｍｅａｎ＿Ｑのデクリメントまたはインクリメントが、ステップＳ１５またはＳ２０それぞれにおける判定処理によって制限されることで、基本的には、ＶＢＶバッファにより課せられる条件が満たされる（ＶＢＶバッファのアンダーフローが防止される）。
【００８４】
次に、図５は、本発明の画像符号化装置の他の実施の形態の構成を示している。
【００８５】
図１の実施の形態においては、２パスエンコーディングが行われるようになされていたか、図５の実施の形態では、いわゆるフィードバック型のレートコントロールにより、いわば１パスで画像の符号化が行われるようになされている。
【００８６】
即ち、図６は、図５のエンコーダ３１の構成例を示している。なお、図中、図２における場合と対応する部分については、同一の符号を付してある。即ち、エンコーダ３１は、コンプレックシティ算出回路４１および目標符号量算出回路４２が新たに設けられている他は、基本的に、図２のエンコーダ１と同様に構成されている。
【００８７】
エンコーダ３１では、例えば、前述したＴＭ５のステップ１によって目標符号量が設定されることを除けば、図２のエンコーダ１の２パス目と同様の処理が行われることにより、画像が符号化される。即ち、コンプレックシティ算出回路４１では、バッファ１７のデータ蓄積量、つまり、発生符号量と、量子化インデックス決定回路２５が出力する量子化インデックスとから、Ｉピクチャ、Ｐピクチャ、Ｂピクチャそれぞれについてのコンプレックシティ（complexity）が算出され、目標符号量算出回路４２に供給される。目標符号量算出回路４２は、コンプレックシティ算出回路４１からのコンプレックシティに基づいて、次に符号化するフレームの目標符号量を設定し、量子化インデックス決定回路２５に出力する。量子化インデックス決定回路２５では、目標符号量算出回路４２からの目標符号量に基づき、図３および図４で説明したようにして、マクロブロックごとの量子化インデックスが設定され、量子化回路１５に供給される。
【００８８】
以上のように、画像を符号化した符号化データの発生符号量を所定の目標符号量に一致させるための第１の変数としてのＱ＿ｉｎｄｅｘと、画像の複雑さに対応する第２の変数としてのアクティビティＡＣＴとに基づいて、マクロブロックの量子化インデックスＭＱＵＡＮＴ（量子化ステップ）を設定する場合において、Ｑ＿ｉｎｄｅｘを、１フレームの画像の符号化中は固定値とするようにしたので、レートコントロールのために量子化ステップが変化することに起因する復号画像の画質の劣化を防止することができる。
【００８９】
さらに、目標符号量に対する発生符号量の誤差、さらには、その累積値に対応して、次のフレームの量子化ステップの設定に用いるＱ＿ｉｎｄｅｘを決めるようにしたので、画像全体に対する発生符号量を、ほぼ、所望の目標符号量とすることが可能となる。
【００９０】
なお、以上のように、１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを固定とする場合、１フレームの発生符号量は、目標符号量と一致しないことが多くなることが予想される。しかしながら、例えば、２パスエンコードを行う場合においては、最終的に、全体の発生符号量が、その目標符号量に一致すれば充分であり、従って、ＶＢＶバッファにより課せられる条件を満たしていれば、１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを変更して、１フレームの発生符号量を、その目標符号量と一致させる必要性は少ない。即ち、ＶＢＶバッファにより課せられる条件を満たしていれば、１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを固定としても問題はない。
【００９１】
ところで、１フレームの符号化中においてＱ＿ｉｎｄｅｘを固定とすると、上述したように、１フレームの発生符号量は、一般に、その目標符号量とは一致しないので、目標符号量は、例えば、発生符号量が目標符号量をある程度上回っても（例えば、発生符号量が目標符号量を２０％程度上回っても）、ＶＢＶバッファがアンダーフローしない程度のマージンをみて決定するのが望ましい。
【００９２】
しかしながら、そのようにしても、１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを固定とする場合には（以下、適宜、このように１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを固定とするモードを、フレーム内固定Ｑモードという）、その１フレームについての目標符号量に対する発生符号量の誤差が所定の範囲内に確実に収まるという保証はない。
【００９３】
即ち、フレーム内固定Ｑモードにおいては、例えば、目標符号量を、上述のように所定のマージンをみて決定したり、また、ｍｅａｎ＿Ｑのデクリメントまたはインクリメントを、図４のステップＳ１５またはＳ２０それぞれにおける判定処理によって制限することによって、基本的には、ＶＢＶバッファのアンダーフローを防止することができるが、確実に防止することができるという保証はない（ＶＢＶバッファがアンダーフローする確率は低いが、その確率が０というわけではない）。
【００９４】
そこで、ＶＢＶバッファがアンダーフローする確率をより０に近づけるために、フレーム内固定Ｑモードを用いる場合においては、目標符号量に、より大きなマージンをみて、発生符号量が予想を大きく上回ったとしても、ＶＢＶバッファがアンダーフローすることを防止する方法がある。
【００９５】
しかしながら、目標符号量に、より大きなマージンをみて、不必要に少ない目標符号量を設定した場合には、量子化ステップも不必要に大きくなり、復号画像の画質が劣化する。一方、マージンを小さくみて、目標符号量を充分に少なく設定しなかった場合には、ＶＢＶバッファがアンダーフローすることになる。従って、目標符号量にマージンを見るだけでは、復号画像の高画質化（画質の劣化の防止）を図り、かつＶＢＶバッファのアンダーフローを確実に防ぐのは困難である。
【００９６】
そこで、復号画像の画質を向上させるとともに、ＶＢＶバッファがアンダーフローする確率をより０に近づけるために、図１のエンコーダ１（図６のエンコーダ３１についても同様）には、その動作モードを、１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを固定とするフレーム内固定Ｑモードと、従来と同様に１フレームの画像の符号化中にＱ＿ｉｎｄｅｘを可変とするモード（以下、適宜、フレーム内レートコントロールモードという）とを適応的に設定させて量子化を行わせる（以下、適宜、このように量子化の際の動作モードを適応的に切り換える方法を、適応切り換え法という）。
【００９７】
即ち、目標符号量に対する発生符号量の誤差が大きくなっても、ＶＢＶバッファがアンダーフローする確率が限りなく０に近い場合においては、フレーム内固定Ｑモードを設定し、目標符号量に対する発生符号量の誤差が大きくなると、ＶＢＶバッファがアンダーフローする確率が高くなる場合（目標符号量と発生符号量とがほぼ一致していないと、ＶＢＶバッファがアンダーフローする場合）においては、フレーム内レートコントロールモードを設定するようにする。
【００９８】
ここでは、例えば、次のような３通りの場合に、フレーム内レートコントロールモードを設定し、それ以外の場合に、フレーム内固定Ｑモードを設定することとする。
【００９９】
即ち、第１に、Ｑ＿ｉｎｄｅｘが極端に小さい場合、第２に、フレーム単位についての発生符号量が、目標符号量を所定の割合だけ上回った場合、および第３に、例えば、ＧＯＰの期間などの所定の期間における目標符号量の総和から求められる、その所定の期間におけるビットレートが、可変レート符号化に規定されている最高レートなどの所定の閾値を所定の割合だけ上回った場合に、フレーム内レートコントロールモードを設定し、それ以外の場合は、フレーム内固定Ｑモードを設定する。
【０１００】
ここで、以上のような場合に、フレーム内レートコントロールモードを設定するのは、次のような理由による。
【０１０１】
即ち、例えば、いま符号しようとしている画像が、平坦で、かつ動きのほとんどない静止画のようなものである場合において、Ｑ＿ｉｎｄｅｘが、１や２などの極端に小さな値に設定されたときには、その後に、複雑な画像が入力されると、１や２などの極端に小さな値のＱ＿ｉｎｄｅｘに基づいて量子化が行われる。この場合、発生符号量が極端に増加し、複雑な画像を数フレーム（１フレームや２フレームなど）符号化しただけで、ＶＢＶバッファがアンダーフローするおそれがあるため、フレーム内レートコントロールモードを設定することにより、画像が平坦なものから複雑なものとなった場合でも、発生符号量が極端に増加しないようにする。
【０１０２】
また、図７に細い実線で示すように、発生符号量が目標符号量に一致していれば、ＶＢＶバッファがアンダーフローしないが、同図に太い実線で示すように、あるフレームで、発生符号量が目標符号量を所定の割合以上上回ると、ＶＢＶバッファがアンダーフローする場合がある。なお、図７における太い実線は、左から４番目のＰピクチャのフレームにおいて、発生符号量が目標符号量を５０％上回ることにより、ＶＢＶバッファがアンダーフローした様子を示している。
【０１０３】
そこで、発生符号量が目標符号量を所定の割合以上上回ったと仮定した場合に、ＶＢＶバッファがアンダーフローするときには、フレーム内レートコントロールモードを設定することにより、発生符号量を目標符号量にほぼ一致させるようにする。
【０１０４】
なお、発生符号量が目標符号量をどの程度の割合以上上回ったと仮定するかは、即ち、ＶＢＶバッファからのデータの読み出しが、目標符号量にどの程度のマージンを加えた符号量だけあったと仮定するかは、例えば、Ｑ＿ｉｎｄｅｘなどに基づいて決めるのが望ましい。これは、上述したように、Ｑ＿ｉｎｄｅｘが小さい場合には、発生符号量が極端に増加することがあるためであり、従って、Ｑ＿ｉｎｄｅｘが小さいほど、マージンは大きくとるのが望ましい（例えば、Ｑ＿ｉｎｄｅｘが小さい場合または大きい場合には、目標符号量の１００％または５０％程度のマージンをそれぞれとるようにする）。
【０１０５】
次に、例えば、２パスエンコーディングなどのような可変レートでの符号化を行う場合には、符号化データのビットレートはダイナミックに変動する。そして、例えば、ＭＰＥＧ２などでは、可変レートでの符号化の際に、システムがとり得るビットレートの最高値が規定されている必要があり、ＶＢＶバッファのデータ蓄積量も、この最高のビットレートに基づいて計算されるようになされている。
【０１０６】
即ち、ＶＢＶバッファへのデータの蓄積は、例えば、最高のビットレートで行われるとして、そのデータ蓄積量が計算される。従って、符号化データのビットレートが、最高のビットレートと比較して充分低い場合、ＶＢＶバッファへの符号化データの供給量が、そこからの読み出し量に対して充分多いから、ＶＢＶバッファのデータ蓄積量は、その記憶容量に近い値を推移するので、ＶＢＶバッファの記憶容量にほぼ等しいような符号化データが突然生じるような特異な場合を除いて、ＶＢＶバッファがアンダーフローすることはない。一方、符号化データのビットレートが、最高のビットレートに等しいか、それに近い場合、ＶＢＶバッファへの符号化データの供給量が、そこからの読み出し量と等しいか、幾分多い程度であるから、例えば、発生符号量が目標符号量を幾分か上回るフレームが連続したりすると、目標符号量に対する発生符号量の誤差が累積し、ＶＢＶバッファのデータ蓄積量が減少していく結果、ＶＢＶバッファがアンダーフローする危険性が高くなる。
【０１０７】
そこで、例えば、ＧＯＰの期間における目標符号量の総和から、そのＧＯＰにおけるビットレート（平均のビットレートなど）を求め、図８に示すように、そのビットレートが、最高のビットレートを所定の割合（図８においては７５％にしてある）以上上回った場合に、フレーム内レートコントロールモードを設定して、発生符号量を目標符号量にほぼ一致させるようにする。
【０１０８】
なお、フレーム内レートコントロールモードのみのよる場合には、前述したような復号画像の画質の劣化が生じるが、フレーム内固定Ｑモードとフレーム内レートコントロールモードとを、上述のように適応的に切り換える適応切り換え法による場合には、フレーム内固定Ｑモードのみによる場合とほぼ同様の画質の復号画像を得ることができる。これは、次のような理由による。
【０１０９】
即ち、適応切り換え法による場合において、フレーム内レートコントロールモードは、上述の第１乃至第３の場合に設定されるが、この３つの場合は、大きくは、Ｑ＿ｉｎｄｅｘが極端に小さい場合と、発生符号量が極端に多い場合とに分けることができる。そして、Ｑ＿ｉｎｄｅｘが極端に小さい場合というのは、基本的に、平坦な画像（簡単な画像）の符号化が行われる場合であり、平坦な画像に関しては、その復号画像の画質について、元々大きな問題は生じない。また、発生符号量が極端に多い場合というのは、基本的に、複雑な画像の符号化が行われる場合であり、複雑な画像に関しては、Ｑ＿ｉｎｄｅｘが１フレームの符号化中に変化しても、隣接するマクロブロックにおけるＱ＿ｉｎｄｅｘの違いは、その復号画像の画質にはほとんど影響しない。従って、適応切り換え法によれば、フレーム内固定Ｑモードのみを用いる場合とほぼ同様の画質の復号画像を得ることができる。
【０１１０】
また、適応切り換え法では、ＶＢＶバッファのアンダーフローをより確実に防止するために、フレーム内レートコントロールモードが設定されるが、ＶＢＶバッファのオーバーフローは特に考慮する必要はない。これは、ＶＢＶバッファがオーバーフローしそうなときは、ＶＢＶバッファへのデータの供給、即ち、記録媒体３からの符号化データの読み出しや、伝送路４を介しての符号化データの送信を一時停止すれば済むからである。
【０１１１】
次に、以上のような適応切り換え法により量子化を行う場合の、図２の量子化回路１５および量子化インデックス決定回路２５の処理について、図９乃至図１１のフローチャートを参照して説明する。
【０１１２】
この場合、量子化インデックス決定回路２５では、図９のステップＳ３１乃至Ｓ３６において、図３のステップＳ１乃至Ｓ６における場合とそれぞれ同様の処理が行われる。
【０１１３】
そして、ステップＳ３４の処理後は、即ち、符号化対象のフレームのピクチャタイプがＩピクチャであり、Ｑ＿ｉｎｄｅｘにＱIが設定された場合には、ステップＳ３７に進み、量子化インデックス決定回路２５は、外部コンピュータ２からＧＯＰ＿ｒａｔｅを受信し、ステップＳ３８に進む。
【０１１４】
即ち、例えば、いま、ＧＯＰに１フレームだけＩピクチャが含まれているとすると（通常は、そのようになっている）、そのＩピクチャは、ＧＯＰを構成するフレームの中で最初に符号化される。適応切り換え法による場合、外部コンピュータ２は、ＧＯＰの符号化が開始されるタイミングで、そのＧＯＰを構成するフレームそれぞれの目標符号量の総和を求め、さらに、その総和から、そのＧＯＰ全体にわたっての平均的なビットレートＧＯＰ＿ｒａｔｅを算出し、量子化インデックス決定回路２５に供給するようになされており、ステップＳ３７では、このようにして外部コンピュータ２から供給されるＧＯＰの平均的なビットレートＧＯＰ＿ｒａｔｅが受信され、ステップＳ３８に進む。
【０１１５】
また、ステップＳ３５およびＳ３６の処理後も、ステップＳ３８に進み、外部コンピュータ２から受信した最新のＧＯＰ＿ｒａｔｅが、エンコーダ１のビットレートとして規定されている最高値（以下、適宜、最高レートという）ＭＡＸの、例えば７５％などより高いかどうかが、量子化インデックス決定回路２５によって判定される。ステップＳ３８において、ＧＯＰ＿ｒａｔｅが０．７５ＭＡＸより大きいと判定された場合、即ち、上述の第３の場合に該当する場合、ステップＳ４７に進み、量子化インデックス決定回路２５は、フレーム内レートコントロールモードを設定し、そのモードに対応する量子化処理を行う。そして、その処理の終了後は、ステップＳ４８に進む。
【０１１６】
ここで、本実施の形態では、符号化データのビットレートを、ＧＯＰ単位で計算するようにしているため、そのビットレートＧＯＰ＿ｒａｔｅが０．７５ＭＡＸより高い場合には、そのＧＯＰを構成するすべてのフレームについて、フレーム内レートコントロールモードが設定される。従って、例えば、符号化データのビットレートを、フレーム単位で計算し、即ち、ビットレートのフレーム単位の平均値を計算し、その平均値がどの程度かを判定するようにすれば、ＧＯＰを構成するあるフレームについて、フレーム内レートコントロールモードが設定されても、他のフレームについては、フレーム内固定Ｑモードが設定され得るようにすることができる。
【０１１７】
一方、ステップＳ３８において、ＧＯＰ＿ｒａｔｅが０．７５ＭＡＸより大きくないと判定された場合、ステップＳ３９に進み、Ｑ＿ｉｎｄｅｘが、例えば４などの極端に小さな値より小さいかどうかが、量子化インデックス決定回路２５によって判定される。ステップＳ３９において、Ｑ＿ｉｎｄｅｘが４より小さいと判定された場合、即ち、Ｑ＿ｉｎｄｅｘが１乃至３のうちのいずれかであり、上述の第１の場合に該当する場合、ステップＳ４７に進み、フレーム内レートコントロールモードが設定される。また、ステップＳ３９において、Ｑ＿ｉｎｄｅｘが４より小さくないと判定された場合、以下の処理において、Ｑ＿ｉｎｄｅｘの値が判定され、その判定結果に基づいて、ＶＢＶバッファからのデータの読み出し量として仮定する符号量としての、目標符号量とマージンとの加算値の、そのマージンが決定される。
【０１１８】
即ち、ステップＳ３９において、Ｑ＿ｉｎｄｅｘが４より小さくないと判定された場合、ステップＳ４０に進み、Ｑ＿ｉｎｄｅｘが比較的小さな値としての、例えば７より小さいかどうかが判定される。ステップＳ４０において、Ｑ＿ｉｎｄｅｘが７より小さいと判定された場合、即ち、Ｑ＿ｉｎｄｅｘが、比較的小さい、４乃至６のうちのいずれかの値である場合、ステップＳ４１に進み、マージンＭａｒｇｉｎとして、比較的大きな値としての、例えば２Ｔj（目標符号量の２００％）が設定され、ステップＳ４５に進む。また、ステップＳ４０において、Ｑ＿ｉｎｄｅｘが７より小さくないと判定された場合、ステップＳ４２に進み、Ｑ＿ｉｎｄｅｘが中程度の値としての、例えば２６より小さいかどうかが判定される。
【０１１９】
ステップＳ４２において、Ｑ＿ｉｎｄｅｘが２６より小さいと判定された場合、即ち、Ｑ＿ｉｎｄｅｘが、中程度の値としての７乃至２５のうちのいずれかの値である場合、ステップＳ４３に進み、マージンＭａｒｇｉｎとして、中程度の値としての、例えばＴj（目標符号量の１００％）が設定され、ステップＳ４５に進む。また、ステップＳ４２において、Ｑ＿ｉｎｄｅｘが２６より小さくないと判定された場合、即ち、Ｑ＿ｉｎｄｅｘが２６以上の大きな値である場合、ステップＳ４４に進み、マージンＭａｒｇｉｎとして、小さな値としての、例えば０．５Ｔj（目標符号量の５０％）が設定され、ステップＳ４５に進む。
【０１２０】
ここで、ＭＰＥＧでは、Ｑ＿ｉｎｄｅｘとしてとり得る値が１乃至３１に規定されており、従って、Ｑ＿ｉｎｄｅｘが２６以上の大きな値である場合というのは、Ｑ＿ｉｎｄｅｘが、２６乃至３１のうちのいずれかであることを意味する。
【０１２１】
ステップＳ４５では、符号化対象となっている第ｊフレームの発生符号量Ｓjが、その目標符号量ＴjにマージンＭａｒｇｉｎを加算した符号量Ｔj＋Ｍａｒｇｉｎであったと仮定した場合に、ＶＢＶバッファがアンダーフローするかどうかが判定される。ステップＳ４５において、発生符号量Ｓjが、符号量Ｔj＋Ｍａｒｇｉｎであったと仮定した際に、ＶＢＶバッファがアンダーフローすると判定された場合、即ち、式（ＶＢＶバッファのデータ蓄積量）−（符号量Ｔj＋Ｍａｒｇｉｎ）＜０が成立する場合、ステップＳ４７に進み、フレーム内レートコントロールモードが設定される。
【０１２２】
一方、ステップＳ４５において、発生符号量Ｓjが、符号量Ｔj＋Ｍａｒｇｉｎであったと仮定しても、ＶＢＶバッファがアンダーフローしないと判定された場合、即ち、上述の第１乃至第３のいずれの場合にも該当しない場合、ステップＳ４６に進み、量子化インデックス決定回路２５は、フレーム内固定Ｑモードを設定し、そのモードに対応する量子化処理を行う。そして、その処理の終了後は、ステップＳ４８に進み、図４のステップＳ２６における場合と同様に、ターミネートコードが受信されたかどうかが判定され、受信されていないと判定された場合、ステップＳ４９に進み、ｊが１だけインクリメントされ、ステップＳ３２に戻る。また、ステップＳ４８において、ターミネートコードが受信されたと判定された場合、処理を終了する。
【０１２３】
次に、図１０のフローチャートは、図９のステップＳ４６におけるフレーム内固定Ｑモードの処理の詳細を示している。
【０１２４】
この場合、ステップＳ５１乃至Ｓ６９において、図３のステップＳ７乃至Ｓ９、図４のステップＳ１０乃至Ｓ２５における場合とそれぞれ同様の処理が行われる。
【０１２５】
そして、ステップＳ６７乃至Ｓ６９において、図４のステップＳ２３乃至Ｓ２５における場合とそれぞれ同様に、新たなＱI，ＱP、またはＱBが設定された後は、ステップＳ７０乃至Ｓ７２にそれぞれ進み、Ｉピクチャ、Ｐピクチャ、またはＢピクチャを量子化するのに設定した動作モードを記憶するための変数ｐｒｅｖ＿Ｉ＿ｍｏｄｅ，ｐｒｅｖ＿Ｐ＿ｍｏｄｅ、またはｐｒｅｖ＿Ｂ＿ｍｏｄｅに、フレーム内固定Ｑモードを表すＦＩＸＱがセットされ、リターンする。
【０１２６】
次に、図１１のフローチャートは、図９のステップＳ４７におけるフレーム内レートコントロールモードの処理の詳細を示している。
【０１２７】
フレーム内レートコントロールモードでは、例えば、ＴＭ５と同様に、１フレームの符号化中にＱ＿ｉｎｄｅｘを可変にして量子化ステップが設定されて量子化が行われる。
【０１２８】
即ち、まず最初に、ステップＳ８１において、符号化対象のフレームのピクチャタイプが、量子化インデックス決定回路２５によって判定される。ステップＳ８１において、ピクチャタイプが、Ｉピクチャ、Ｐピクチャ、またはＢピクチャであると判定された場合、それぞれステップＳ８２，Ｓ８３、またはＳ８４に進み、前回のＩピクチャ、Ｐピクチャ、またはＢピクチャの量子化の際に設定された動作モードが判定される。
【０１２９】
即ち、ステップＳ８２乃至Ｓ８４それぞれでは、ｐｒｅｖ＿Ｉ＿ｍｏｄｅ，ｐｒｅｖ＿Ｐ＿ｍｏｄｅ、またはｐｒｅｖ＿Ｂ＿ｍｏｄｅに、ＦＩＸＱがセットされているかどうかが判定される。ステップＳ８２乃至Ｓ８４それぞれにおいて、ｐｒｅｖ＿Ｉ＿ｍｏｄｅ，ｐｒｅｖ＿Ｐ＿ｍｏｄｅ、またはｐｒｅｖ＿Ｂ＿ｍｏｄｅに、ＦＩＸＱがセットされていると判定された場合、即ち、前回のＩピクチャ、Ｐピクチャ、またはＢピクチャがフレーム内固定Ｑモードで量子化されている場合、ステップＳ８５乃至Ｓ８７にそれぞれ進み、Ｉピクチャ、Ｐピクチャ、またはＢピクチャについてのＴＭ５のステップ２で用いられる仮想バッファｄI，ｄP、またはｄBが初期化される。
【０１３０】
ここで、仮想バッファｄI，ｄP，ｄBの初期化は、例えば、次式にしたがって行われる。
【０１３１】
ｄI＝ＱI×ｒ／３１，ｄP＝ＱP×ｒ／３１，ｄB＝ＱB×ｒ／３１
但し、上式における分母の３１は、Ｑ＿ｉｎｄｅｘの最大値である。また、ｒは、２×Ｂｉｔ＿ｒａｔｅ／Ｐｉｃｔｕｒｅ＿ｒａｔｅで表され、Ｂｉｔ＿ｒａｔｅまたはＰｉｃｔｕｒｅ＿ｒａｔｅは、それぞれビットレートまたはピクチャレートを表す。
【０１３２】
ステップＳ８５乃至Ｓ８７それぞれにおいて、Ｉピクチャ、Ｐピクチャ、またはＢピクチャについての仮想バッファｄI，ｄP、またはｄBの初期化が行われた後は、いずれもステップＳ８８に進む。
【０１３３】
また、ステップＳ８２乃至Ｓ８４それぞれにおいて、ｐｒｅｖ＿Ｉ＿ｍｏｄｅ，ｐｒｅｖ＿Ｐ＿ｍｏｄｅ、またはｐｒｅｖ＿Ｂ＿ｍｏｄｅに、ＦＩＸＱがセットされていないと判定された場合、それぞれステップＳ８５乃至Ｓ８７をスキップして、いずれもステップＳ８８に進み、マクロブロックを量子化する量子化ステップＭＱＵＡＮＴが決定される。即ち、量子化インデックス決定回路２５は、発生符号量を目標符号量Ｔjに一致させるための第１の変数Ｑ＿ｉｎｄｅｘと、符号化対象のマクロブロックの複雑さに対応する第２の変数としての、アクティビティ検出回路２４からのアクティビティＡＣＴに基づいて、符号化対象のマクロブロックの量子化インデックスＭＱＵＡＮＴを設定し、量子化回路１５に出力する。量子化回路１５では、量子化インデックス決定回路２５からの量子化インデックスＭＱＵＡＮＴに対応する値が、符号化対象のマクロブロックを量子化するのに用いる量子化ステップとして設定される。
【０１３４】
量子化ステップが設定されると、ステップＳ８８からＳ８９に進み、量子化回路１５において、その量子化ステップで、符号化対象のマクロブロックが量子化され、ステップＳ９０に進む。ステップＳ９０では、１フレーム、即ち、第ｊフレームを構成するマクロブロックすべての量子化が終了したかどうかが判定され、終了していないと判定された場合、ステップＳ９１に進み、第ｊフレームを構成するマクロブロックのうちの、既に量子化の終了しているマクロブロックまでの目標符号量と発生符号量との差に対応して、仮想バッファｄI，ｄP、またはｄBのデータ蓄積量が更新され、ステップＳ８８に戻り、以下、まだ量子化の行われていないマクロブロックを対象に、同様の処理が繰り返される。
【０１３５】
即ち、フレーム内レートコントロールモードでは、仮想バッファｄI，ｄP、またはｄBのデータ蓄積量に基づいて、発生符号量Ｓjが目標符号量Ｔjと一致するようにＱ＿ｉｎｄｅｘが適宜変更され（ＴＭ５のステップ２に相当）、そのように適宜変更されるＱ＿ｉｎｄｅｘと、符号化対象のマクロブロックの複雑さに対応して変化するアクティビティＡＣＴとから、最終的なマクロブロックごとの量子化インデックスＭＱＵＡＮＴが決定される（ＴＭ５のステップ３に相当）。従って、ここでは、マクロブロックごとの量子化インデックスＭＱＵＡＮＴ、即ち、量子化ステップは、画像の複雑さに対応しても変化するし、レートコントロールのためにも変化するので、発生符号量Ｓjが目標符号量Ｔjと一致するようになり、ＶＢＶバッファのアンダーフローを確実に防止することができる。
【０１３６】
一方、ステップＳ９０において、第ｊフレームを構成するマクロブロックすべての量子化が終了したと判定された場合、ステップＳ９２に進み、第ｊフレームを構成するマクロブロックのうち、最後のマクロブロックを量子化するのに用いたＱ＿ｉｎｄｅｘが、それを保持するための変数ｌａｓｔ＿Ｑjにセットされる。
【０１３７】
なお、ｌａｓｔ＿Ｑjには、Ｑ＿ｉｎｄｅｘそのものではなく、そのＱ＿ｉｎｄｅｘとアクティビティＡＣＴとから求められた量子化インデックスをセットすることも可能である。但し、ｌａｓｔ＿Ｑjは、後述するステップＳ９５乃至９７それぞれにおいて、ＱI，ＱP、またはＱBにセットされ、次に符号化を行うフレームの最初のマクロブロックを量子化するときのＱ＿ｉｎｄｅｘとして用いられるため、Ｑ＿ｉｎｄｅｘそのものをセットするのが好ましい。
【０１３８】
また、ここでは、ｌａｓｔ＿Ｑjに、最後のマクロブロックについてのＱ＿ｉｎｄｅｘをセットするようにしたが、その他、例えば、１フレームのマクロブロックすべてについてのＱ＿ｉｎｄｅｘの平均値などをセットするようにしても良い。
【０１３９】
ステップＳ９２の処理後は、ステップＳ９３に進み、図４のステップＳ１１における場合と同様に、ＥjおよびＳｕｍ＿Ｅが求められ、ステップＳ９３に進む。ステップＳ９３では、次のフレーム、即ち、第ｊ＋１フレームのピクチャタイプが判定される。ステップＳ９３において、第ｊ＋１フレームのピクチャタイプが、Ｉピクチャ、Ｐピクチャ、またはＢピクチャであると判定された場合、それぞれステップＳ９５，Ｓ９６、またはＳ９７に進み、ＱI，ＱP、またはＱBに、ステップＳ９２で得られたｌａｓｔ＿Ｑjがセットされ、ステップＳ９８，Ｓ９９、またはＳ１００にそれぞれ進む。
【０１４０】
ステップＳ９８乃至Ｓ１００それぞれでは、第ｊフレームの画像であるＩピクチャ、Ｐピクチャ、またはＢピクチャを量子化するのに設定した動作モードを記憶するための変数ｐｒｅｖ＿Ｉ＿ｍｏｄｅ，ｐｒｅｖ＿Ｐ＿ｍｏｄｅ、またはｐｒｅｖ＿Ｂ＿ｍｏｄｅに、フレーム内レートコントロールモードを表すＲＣがセットされ、リターンする。
【０１４１】
以上のように、フレーム内固定Ｑモードとフレーム内レートコントロールモードとを適応的に設定するようにしたので、復号画像の画質の向上を図るとともに、ＶＢＶバッファのアンダーフローをより確実に防止することが可能となる。
【０１４２】
なお、以上の適応切り換え法による量子化は、図５に示したフィードバック型のレートコントロールにより１パスで画像の符号化を行う装置にも適用することができる。
【０１４３】
以上、本発明を、可変レートで符号化を行う画像符号化装置に適用した場合について説明したが、本発明は、固定レートで符号化を行う場合にも適用可能である。
【０１４４】
なお、本発明は、上述したように、２パスエンコーディングを行う場合、および１回で符号化を行う場合のいずれの場合にも適用可能であるが、２パスエンコーディングに適用する場合が、特に、その効果が大きい。
【０１４５】
さらに、図１の実施の形態では、外部コンピュータ２からエンコーダ１に目標符号量を送信し、エンコーダ１において量子化インデックスを決定するようにしたが、量子化インデックスは、外部コンピュータ２において決定し、エンコーダ１に送信するようにすることも可能である。
【０１４６】
また、本実施の形態では、Ｉピクチャ、Ｐピクチャ、ＢピクチャについてのＱI，ＱP，ＱBをそれぞれ独立に決定するようにしたが、Ｉピクチャ、ＰピクチャについてのＱI，ＱPは共通（同一の値）にすることができる。即ち、ＱIとＱPは、同一の値とした方が、画質が良くなることが知られている。また、Ｉピクチャは、通常、１ＧＯＰに１つしかなく、従って、ＱIの決定（更新後）後、そのＱIは、次のＧＯＰのＩピクチャまで用いられない。さらに、ＱIとＱPとを同一の値にすれば、ＩピクチャとＰピクチャそれぞれについて場合分けをして、ＱI，ＱPを更新する必要がなくなり、処理の高速化を図ることが可能となる。以上の理由から、ＱIとＱPは、同一の値とするのが望ましい。
【０１４７】
さらに、本実施の形態においては、量子化回路１５において、ＤＣＴ回路１４が出力するＤＣＴ係数を量子化するようにしたが、本発明は、ＤＣＴ係数以外の直交変換係数を量子化する場合にも適用可能である。
【０１４８】
【発明の効果】
本発明の第１の画像符号化装置および方法によれば、画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量に基づいて、画像の各フレームに割り当てる目標符号量を算出し、ＶＢＶバッファがアンダーフローすると判断される場合、画像の符号化に伴うフレーム単位の発生符号量を目標符号量に一致させるための量子化インデックスの値を、画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値を、画像のフレーム内で固定とする固定モードに設定し、可変モードまたは固定モードを、フレーム単位で設定し、可変モードに設定された量子化インデックスに対応する量子化ステップを用いて、画像を符号化する。
本発明の第２の画像符号化装置および方法によれば、画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量に基づいて、画像の各ＧＯＰに割り当てる目標符号量を算出し、ＶＢＶバッファがアンダーフローすると判断される場合、画像の符号化に伴うＧＯＰ単位の発生符号量を目標符号量に一致させるための量子化インデックスの値を、画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値を、画像のフレーム内で固定とする固定モードに設定し、可変モードまたは固定モードを、ＧＯＰ単位で設定し、可変モードに設定された量子化インデックスに対応する量子化ステップを用いて、画像を符号化する。
本発明の第３の画像符号化装置および方法によれば、画像を固定の量子化ステップで符号化することによって得られるフレーム単位の発生符号量を符号化難易度として算出し、算出され符号化難易度に基づいて、画像の各フレームに割り当てる目標符号量を算出し、ＶＢＶバッファがアンダーフローすると判断される場合、画像の符号化に伴うフレーム単位の発生符号量を目標符号量に一致させるための量子化インデックスの値を、画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値を、画像のフレーム内で固定とする固定モードに設定し、可変モードまたは固定モードを、フレーム単位で設定し、可変モードに設定された量子化インデックスに対応する量子化ステップを用いて、画像を符号化する。
従って、符号画像の画質を向上させるとともに、発生符号量を目標符号量に一致させることが可能となる。
【０１４９】
本発明の第４の画像符号化装置および方法によれば、画像を固定の量子化ステップで符号化することによって得られるＧＯＰ単位の発生符号量を符号化難易度として算出し、算出され符号化難易度に基づいて、画像の各ＧＯＰに割り当てる目標符号量を算出し、ＶＢＶバッファがアンダーフローすると判断される場合、画像の符号化に伴うＧＯＰ単位の発生符号量を目標符号量に一致させるための量子化インデックスの値を、画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値を、画像のフレーム内で固定とする固定モードに設定し、可変モードまたは固定モードを、ＧＯＰ単位で設定し、可変モードに設定された量子化インデックスに対応する量子化ステップを用いて、画像を符号化する。
本発明の第５の画像符号化装置および方法によれば、ＶＢＶバッファがアンダーフローすると判断される場合、画像を所定ブロック単位で符号化する際の量子化インデックスの値を、画像のフレーム内で可変とする可変モードに設定し、ＶＢＶバッファがアンダーフローしないと判断される場合、量子化インデックスの値を、画像のフレーム内で固定とする固定モードに設定し、可変モードまたは固定モードを、ブロック単位で設定し、可変モードに設定された量子化インデックスに対応する量子化ステップを用いて、画像を符号化する。
本発明の第６の画像符号化装置およぎ方法によれば、画像の所定期間における目標符号量の総和から算出されたビットレートが、可変レート符号化に規定されている最高レートを所定の割合以上上回った場合、画像を所定ブロック単位で符号化する際の量子化インデックスの値を、画像のフレーム内で可変とする可変モードに設定し、画像の所定期間における所定目標符号量の総和から算出されたビットレートが、可変レート符号化に規定されている最高レートを所定の割合以上上回っていない場合、量子化インデックスの値を、画像のフレーム内で固定とする固定モードに設定し、可変モードまたは固定モードを、ブロック単位で設定し、可変モードに設定された量子化インデックスに対応する量子化ステップを用いて、画像を符号化する。
従って、符号画像の画質を向上させるとともに、発生符号量を目標符号量に一致させることが可能となる。
【図面の簡単な説明】
【図１】本発明の画像符号化装置の一実施の形態の構成例を示すブロック図である。
【図２】図１のエンコーダ１の構成例を示すブロック図である。
【図３】図２の量子化回路１５および量子化インデックス決定回路２５の処理を説明するためのフローチャートである。
【図４】図３のフローチャートに続くフローチャートである。
【図５】本発明の画像符号化装置の他の実施の形態の構成例を示すブロック図である。
【図６】図５のエンコーダ３１の構成例を示すブロック図である。
【図７】発生符号量が目標符号量を所定の割合以上上回った場合に、ＶＢＶバッファがアンダーフローすることを説明するための図である。
【図８】１ＧＯＰのビットレートの平均値の時間変化を示す図である。
【図９】適応切り換え法による量子化を行う場合の量子化回路１５および量子化インデックス決定回路２５の処理を説明するためのフローチャートである。
【図１０】図９のステップＳ４６におけるフレーム内固定Ｑモードの処理の詳細を説明するためのフローチャートである。
【図１１】図９のステップＳ４７におけるフレーム内レートコントロールモードの処理の詳細を説明するためのフローチャートである。
【符号の説明】
１  エンコーダ，  ２  外部コンピュータ，  ３  記録媒体，  ４  伝送路，１１  画像並び替え回路，  １２  走査変換／マクロブロック化回路，  １３演算器，  １４  ＤＣＴ回路（直交変換手段），  １５  量子化回路（量子化手段），  １６  ＶＬＣ回路，  １７  バッファ，  １８  逆量子化回路，  １９  逆ＤＣＴ回路，  ２０  演算器，  ２１  フレームメモリ，  ２２  動き補償回路，  ２３  動き検出回路，  ２４  アクティビティ検出回路，  ２５  量子化インデックス決定回路（設定手段），  ３１  エンコーダ，  ４１  コンプレックシティ算出回路，  ４２  目標符号量算出回路
【図１】
0004619463.tif 000002
【図２】
0004619463.tif 000003
【図３】
0004619463.tif 000004
【図４】
0004619463.tif 000005
【図５】
0004619463.tif 000006
【図６】
0004619463.tif 000007
【図７】
0004619463.tif 000008
【図８】
0004619463.tif 000009
【図９】
0004619463.tif 000010
【図１０】
0004619463.tif 000011
【図１１】
0004619463.tif 000012