(57)【要約】【課題】２パス符号化という手法において、発生符号量が所定の符号量を超えることなく、視覚的に十分に許容できる復号画像を提供する。【解決手段】仮符号化及び本符号化の２パスで入力画像を符号化する画像符号化装置１０であって、量子化ステップが互いに異なる複数の量子化器と、当該複数の量子化器のそれぞれを用いて前記入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を前記量子化器毎に算出する仮符号化部１３０と、前記予測符号量の予測の正確さの程度を示す信頼度を決定する信頼度決定部１４０と、前記信頼度に基づいて前記複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて前記入力画像を量子化及び符号化する本符号化部１５０とを備える。【選択図】図１
2010021741.tif 000002
【特許請求の範囲】
【請求項１】
仮符号化及び本符号化の２パスで入力画像を符号化する画像符号化装置であって、
量子化ステップが互いに異なる複数の量子化器を有する量子化手段と、
前記複数の量子化器のそれぞれを用いて前記入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を前記量子化器毎に算出する仮符号化手段と、
前記仮符号化手段により算出された前記予測符号量の予測の正確さの程度を示す信頼度を決定する信頼度決定手段と、
前記信頼度に基づいて前記複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて前記入力画像を量子化及び符号化する本符号化手段とを備える
画像符号化装置。
【請求項２】
前記本符号化手段は、
前記信頼度が所定の第１閾値より小さいか否かを判断し、前記信頼度が前記第１閾値より小さいと判断した場合、前記予測符号量を参照せずに前記複数の量子化器のいずれを用いるかを決定する制御部と、
前記制御部で決定された量子化器を用いて前記入力画像を量子化及び符号化する量子化・符号化部とを有する
請求項１記載の画像符号化装置。
【請求項３】
前記信頼度決定手段は、前記量子化器毎の量子化ステップと、前記量子化器毎の前記予測符号量との負の相関の一致度合いを示す値を、前記信頼度として決定する
請求項２記載の画像符号化装置。
【請求項４】
前記仮符号化手段は、前記複数の量子化器の中から少なくとも２つの量子化器を代表量子化器として選択し、選択した代表量子化器を用いて前記入力画像の一部又は全部を量子化及び符号化することで、前記予測符号量を算出し、
前記信頼度決定手段は、前記複数の代表量子化器に含まれる第１代表量子化器を用いた場合の発生符号量と、前記複数の代表量子化器に含まれる第２代表量子化器を用いた場合の発生符号量との差が、所定の第２閾値より小さい場合に、前記第１閾値より小さい値を前記信頼度として決定する
請求項３記載の画像符号化装置。
【請求項５】
前記信頼度決定手段は、前記第１代表量子化器の量子化ステップと前記第２代表量子化器の量子化ステップとの差が大きいほど、大きい値となる前記第２閾値を設定する
請求項４記載の画像符号化装置。
【請求項６】
前記仮符号化手段は、さらに、前記入力画像を構成するマクロブロックを予め定められた順に符号化した場合に発生する符号量の累積値の予測である予測累積符号量を算出し、
前記量子化・符号化部は、前記複数の量子化器の１つである第１量子化器を用いて所定数のマクロブロックを量子化及び符号化し、
前記制御部は、前記信頼度が前記第１閾値より小さいと判断した場合、前記量子化・符号化部によって量子化及び符号化することで発生した符号量の累積値である累積符号量を取得し、取得した累積符号量が、対応する前記予測累積符号量より大きい場合に、前記第１量子化器より量子化ステップの大きい量子化器を、前記複数の量子化器の中から第２量子化器として決定し、
前記量子化・符号化部は、前記第２量子化器を用いて、前記所定数のマクロブロックの次のマクロブロックを量子化及び符号化する
請求項２記載の画像符号化装置。
【請求項７】
前記仮符号化手段は、さらに、前記入力画像を構成するマクロブロックを予め定められた順に符号化した場合に発生する符号量の累積値の予測である予測累積符号量を算出し、
前記量子化・符号化部は、前記複数の量子化器の１つである第１量子化器を用いて所定数のマクロブロックを量子化及び符号化し、
前記制御部は、前記信頼度が前記第１閾値より小さいと判断した場合、前記量子化・符号化部によって量子化及び符号化することで発生した符号量の累積値である累積符号量を取得し、取得した累積符号量が、対応する前記予測累積符号量より小さい場合に、前記第１量子化器より量子化ステップの小さい量子化器を、前記複数の量子化器の中から第２量子化器として決定し、
前記量子化・符号化部は、前記第２量子化器を用いて、前記所定数のマクロブロックの次のマクロブロックを量子化及び符号化する
請求項２記載の画像符号化装置。
【請求項８】
仮符号化及び本符号化の２パスで入力画像を符号化する画像符号化方法であって、
量子化ステップが互いに異なる複数の量子化器のそれぞれを用いて前記入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を前記量子化器毎に算出する仮符号化ステップと、
前記仮符号化ステップで算出された前記予測符号量の予測の正確さの程度を示す信頼度を決定する信頼度決定ステップと、
前記信頼度に基づいて前記複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて前記入力画像を量子化及び符号化する本符号化ステップとを含む
画像符号化方法。
【請求項９】
仮符号化及び本符号化の２パスで入力画像を符号化する画像符号化方法をコンピュータに実行させるためのプログラムであって、
量子化ステップが互いに異なる複数の量子化器のそれぞれを用いて前記入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を前記量子化器毎に算出する仮符号化ステップと、
前記仮符号化ステップで算出された前記予測符号量の予測の正確さの程度を示す信頼度を決定する信頼度決定ステップと、
前記信頼度に基づいて前記複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて前記入力画像を量子化及び符号化する本符号化ステップとを含む
プログラム。
【請求項１０】
仮符号化及び本符号化の２パスで入力画像を符号化する集積回路であって、
量子化ステップが互いに異なる複数の量子化器を有する量子化手段と、
前記複数の量子化器のそれぞれを用いて前記入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を前記量子化器毎に算出する仮符号化手段と、
前記仮符号化手段で算出された前記予測符号量の予測の正確さの程度を示す信頼度を決定する信頼度決定手段と、
前記信頼度に基づいて前記複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて前記入力画像を量子化及び符号化する本符号化手段とを備える
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置及び画像符号化方法に関し、特に、仮符号化及び本符号化の２段階で符号化を行う２パス符号化という手法を用いる画像符号化装置及び画像符号化方法に関するものである。
【背景技術】
【０００２】
近年、ＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）情報のデジタル化が進み、映像信号をデジタル化して取り扱うことのできる機器が広く普及しつつある。映像信号は膨大な情報量を有するので、記録媒体の記録容量又は伝送媒体の伝送効率などを考慮して情報量を削減しつつ符号化する必要がある。フレームでの発生符号量を、記録媒体又は伝送媒体などに応じた所定の符号量内に抑える符号量制御技術として、様々な方式が提案されている。
【０００３】
例えば、まず１フィールドのブロックに対して、ブロック毎に異なるＭ通りのスケールファクタα１〜αＭ（α１＜α２＜…＜αＭ）により線形量子化し、２次元ハフマン符号化する。符号化することで得られる可変長データのブロック当りの符号量を算出する。そして、ブロック当りの符号量を用いて、各スケールファクタのＭ通りの符号量の積算値Ｎ１〜ＮＭを計算する。符号量の積算値を用いて、スケールファクタと符号量との関係から１フィールドを所定の符号量とするためのスケールファクタを予測する。そして、予測されたスケールファクタで符号化対象画像を符号化する。このため、スケールファクタの予測が正しくない場合などに、発生符号量が目標符号量を超える可能性があった。
【０００４】
上記方式の課題を解決する方法として、符号化を進めていく中で、発生符号量と目標符号量との関係からスケールファクタを変更する方式が提案されている（例えば、特許文献１参照）。
【０００５】
これらの制御方式は、符号化対象画像に対して仮符号化を行い、仮符号化により得られたデータに基づき本符号化を行うもので、２パス符号化と呼ばれる技術に分類される。
【０００６】
２パス方式は、１回目（パス１）の仮符号化において、符号化システムが有するＭ個の量子化器からＮ個の代表量子化器を選択し、Ｎ個の代表量子化器を用いて符号化を行い、発生符号量を算出する。こうして算出したＮ個の代表量子化器での発生符号量から、Ｍ個の量子化器が発生する発生符号量、及び、マクロブロック毎の累積発生符号量を予測する。以降、Ｍ個の量子化器が発生する発生符号量の予測値を量子化器発生符号量予測と呼び、マクロブロック毎の累積発生符号量の予測値を累積発生符号量予測と呼ぶ。量子化器発生符号量予測及び累積発生符号量予測を合わせて、符号量予測モデルと呼ぶ。
【０００７】
続いて２回目（パス２）の符号化で、パス１で算出した符号量予測モデルを参照して符号化を行う。２パス方式は符号化対象画像の特徴に応じた制御ができる有効な方式である。
【０００８】
パス１での量子化器発生符号量予測のデータは、パス２の本符号化において発生する符号量の累積値である累計発生符号量が累積発生符号量予測から外れ、量子化器の変更が必要になったときに用いられる。
【０００９】
以下では、まず、従来方式による２パス符号化について説明する。
図８は、符号化対象画像の一例を示す図である。図８に示す符号化対象画像は、複数のオブジェクトを有している。以降の説明において、符号化システムが有することのできる量子化器の最大数を３１個とし、パス１の仮符号化に用いる代表量子化器の個数を６個とする。なお、これは、ＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２）規格による符号化方式を前提としたものである。具体的には、符号化システムは、量子化器Ｑ１〜Ｑ３１を有する。量子化器Ｑ１〜Ｑ３１は、この順で量子化ステップが大きくなるとする。すなわち、各量子化器で画像を符号化した場合に発生する発生符号量は、Ｑ１〜Ｑ３１の順で小さくなる。
【００１０】
６個の代表量子化器をＱ１、Ｑ７、Ｑ１３、Ｑ１９、Ｑ２５、Ｑ３１とする。各代表量子化器の量子化ステップの大きさは、Ｑ１＜Ｑ７＜Ｑ１３＜Ｑ１９＜Ｑ２５＜Ｑ３１である。
【００１１】
すなわち、図８に示す画像を各代表量子化器で量子化した場合、発生符号量は、Ｑ１＞Ｑ７＞Ｑ１３＞Ｑ１９＞Ｑ２５＞Ｑ３１となる。
【００１２】
代表量子化器は、マクロブロック単位で切り替えられる。図９は、図８に示す符号化対象画像に対するマクロブロック分割を示す図である。説明の都合上、図９で示す矩形のブロック３００の大きさでマクロブロックを表現する。また、左上隅のマクロブロックをＭＢ０とし、図９に示すようなスキャン順でマクロブロック番号を定める。さらに、代表量子化器の数のマクロブロックを集めて１つの制御領域を構成する。ここでは、６つのマクロブロックを集めて１つの制御領域を構成する。
【００１３】
図１０は、マクロブロックと制御領域との関係を示す図である。同図において６つのマクロブロックＭＢ０、ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４、ＭＢ５を集めた制御領域をＣＺ０と呼ぶ。制御領域３０１はＣＺ０を示している。同様にＭＢ６、ＭＢ７、ＭＢ８、ＭＢ９、ＭＢ１０、ＭＢ１１を集めた制御領域をＣＺ１と呼ぶ。制御領域３０２はＣＺ１を示している。ＭＢ１２、ＭＢ１３、ＭＢ１４、ＭＢ１５、ＭＢ１６、ＭＢ１７を集めた制御領域をＣＺ２と呼ぶ。制御領域３０３はＣＺ２を示している。ＭＢ１８、ＭＢ１９、ＭＢ２０、ＭＢ２１、ＭＢ２２、ＭＢ２３を集めた制御領域をＣＺ３と呼ぶ。制御領域３０４はＣＺ３を示している。ＭＢ２４、ＭＢ２５、ＭＢ２６、ＭＢ２７、ＭＢ２８、ＭＢ２９を集めた制御領域をＣＺ４と呼ぶ。制御領域３０５はＣＺ４を示している。ＭＢ３０、ＭＢ３１、ＭＢ３２、ＭＢ３３、ＭＢ３４、ＭＢ３５を集めた制御領域をＣＺ５と呼ぶ。制御領域３０６はＣＺ５を示している。ＭＢ３６、ＭＢ３７、ＭＢ３８、ＭＢ３９、ＭＢ４０、ＭＢ４１を集めた制御領域をＣＺ６と呼ぶ。制御領域３０７はＣＺ６を示している。ＭＢ４２、ＭＢ４３、ＭＢ４４、ＭＢ４５、ＭＢ４６、ＭＢ４７を集めた制御領域をＣＺ７と呼ぶ。制御領域３０８はＣＺ７を示している。
【００１４】
制御領域の個数は、符号化対象画像に含まれるマクロブロックの個数を代表量子化器の個数で割った値である。ここでは、図９及び図１０に示すように、図８の符号化対象画像には４８個のマクロブロックが含まれるので、８個（４８÷６）の制御領域が構成される。
【００１５】
各制御領域には６個の代表量子化器が１つずつ含まれるように、各制御領域に含まれる６個のマクロブロックに代表量子化器は割り当てられる。各代表量子化器には８個のマクロブロックが割り当てられることになり、これは全マクロブロック数４８個の１／６である。
【００１６】
割り当てられた代表量子化器によるパス１の仮符号化の結果、Ｑ１の発生符号量が３０００ビット、Ｑ７の発生符号量が２２００ビット、Ｑ１３の発生符号量が１５００ビット、Ｑ１９の発生符号量が１０００ビット、Ｑ２５の発生符号量が６００ビット、Ｑ３１の発生符号量が２５０ビットであったとする。これらの結果から符号化対象画像を符号化する際に最初に使用される量子化器である初期量子化器を算出する。なお、これ以降、初期量子化器をＱｉｎｉｔと呼ぶ。
【００１７】
まず、画像全体を１つの代表量子化器のみを用いて符号化した場合の発生符号量を代表量子化器毎に推定する。ここでは、各代表量子化器の発生符号量を８倍し、フレーム全体を代表量子化器のみを用いて符号化した場合の発生符号量を推定する。例えば、符号化対象画像を代表量子化器Ｑ１のみで符号化したとすると、３０００×８＝２４０００ビットの発生符号量であったと予測する。以下同様に、Ｑ７では２２００×８＝１７６００ビット、Ｑ１３では１５００×８＝１２０００ビット、Ｑ１９では１０００×８＝８０００ビット、Ｑ２５では６００×８＝４８００ビット、Ｑ３１では２５０×８＝２０００ビットとなる。
【００１８】
続いて、代表量子化器として選択されなかった残りの２５個の量子化器を用いてフレームを符号化した場合の発生符号量を、代表量子化器のフレームでの発生符号量から算出する。例えば、線形補間演算により算出される。
【００１９】
例として、Ｑ１４を用いてフレームを符号化した場合の発生符号量について説明する。量子化ステップにおいて、Ｑ１３＜Ｑ１４＜Ｑ１９であるから、以下のようにＱ１３とＱ１９のフレームでの発生符号量の線形補間演算を行うと、
（５／６）×１２０００＋（１／６）×８０００＝１１３３３
であり、Ｑ１４のフレームでの発生符号量は１１３３３ビットとなる。
【００２０】
図１１は、量子化器番号と、フレームでの発生符号量の予測値との関係を示す図である。図１１に、横軸を量子化器番号、縦軸を発生符号量として、全量子化器のフレームでの発生符号量の予測値を示す。なお、この発生符号量の予測値を、量子化器発生符号量予測と表現する。同図において、曲線３１０は量子化器発生符号量予測を示している。
【００２１】
続いて、符号化対象画像に対しパス２の本符号化を行う際のＱｉｎｉｔの算出について説明する。目標符号量を１００００ビットとしたとき、１００００ビットを超えない最大の符号量を実現する量子化器を検出する。図１１において、発生符号量が１００００ビット付近の量子化器に着目すると、
Ｑ１３：１２０００ビット、Ｑ１４：１１３３３ビット、Ｑ１５：１０６６７ビット
Ｑ１６：１００００ビット、Ｑ１７：  ９３３３ビット、Ｑ１８：  ８６６７ビット
となる。このことから、符号化対象画像を同一の量子化器で量子化した場合、発生符号量が１００００ビットになると予測されるＱ１６が、Ｑｉｎｉｔとして選択される。
【００２２】
符号化対象画像に対しＱｉｎｉｔで符号化を始めるが、符号化を進めていく中で、特定数のマクロブロックを符号化した段階で、残りのマクロブロックに対してもＱｉｎｉｔで符号化を続けてよいかどうかの判断を行う必要がある。なぜなら、図１１で示される量子化器発生符号量予測はあくまで予測値であるため、Ｑｉｎｉｔの発生符号量の予測値と、実際に符号化を行った場合の発生符号量とが異なる場合があるためである。そのため任意のマクロブロックでの発生符号量が適当であるかを示す指標が必要である。
【００２３】
ここでは、指標となるマクロブロック毎の発生符号量予測の算出について説明する。図１０で制御領域について説明したが、この制御領域で発生符号量を算出する。例えば、制御領域３０１（ＣＺ０）において、ＣＺ０に属するマクロブロックＭＢ０〜ＭＢ５のそれぞれに対して割り当てられた各代表量子化器を用いた場合のマクロブロック毎の発生符号量を加算する。これにより、ＣＺ０における発生符号量を算出することができる。
【００２４】
いま、各制御領域における発生符号量が以下に示す値であったとする。
【００２５】
ＣＺ０：  ４００ビット、  ＣＺ１：  ６００ビット、ＣＺ２：  ５００ビット
ＣＺ３：  ３００ビット、  ＣＺ４：１２００ビット、ＣＺ５：１６００ビット
ＣＺ６：２０００ビット、  ＣＺ７：１４００ビット
ＣＺ０まで符号化が終了した時の累計発生符号量は、
ＣＺ０の累計発生符号量＝ＣＺ０の発生符号量＝４００ビット
である。続いてＣＺ１まで符号化が終了した時の累計発生符号量は、
ＣＺ１の累計発生符号量＝ＣＺ１の発生符号量＋ＣＺ０の累計発生符号量
＝６００＋４００
＝１０００ビット
である。続いてＣＺ２まで符号化が終了した時の累積発生符号量は、
ＣＺ２の累計発生符号量＝ＣＺ２の発生符号量＋ＣＺ１の累計発生符号量
＝５００＋１０００
＝１５００ビット
である。以下、同様に各制御領域での累計発生符号量を算出すると、
ＣＺ０の累計発生符号量：  ４００ビット、ＣＺ１の累計発生符号量：１０００ビット
ＣＺ２の累計発生符号量：１５００ビット、ＣＺ３の累計発生符号量：１８００ビット
ＣＺ４の累計発生符号量：３０００ビット、ＣＺ５の累計発生符号量：４６００ビット
ＣＺ６の累計発生符号量：６６００ビット、ＣＺ７の累計発生符号量：８０００ビット
となる。
【００２６】
ここでＣＺ７まで符号化が終了したとき、すなわち、符号化対象画像内の全マクロブロックの符号化が終了したときの発生符号量は８０００ビットと予測される。目標符号量は１００００ビットであるため、前述した各制御領域での累計発生符号量を１００００ビットで正規化した値が、最終的な各制御領域での累計発生符号量の予測値となる。
【００２７】
ＣＺ０の正規化累計発生符号量：    ５００ビット（＝４００×１００００÷８０００）
ＣＺ１の正規化累計発生符号量：  １２５０ビット（＝１０００×１００００÷８０００）
ＣＺ２の正規化累計発生符号量：  １８７５ビット（＝１５００×１００００÷８０００）
ＣＺ３の正規化累計発生符号量：  ２２５０ビット（＝１８００×１００００÷８０００）
ＣＺ４の正規化累計発生符号量：  ３７５０ビット（＝３０００×１００００÷８０００）
ＣＺ５の正規化累計発生符号量：  ５７５０ビット（＝４６００×１００００÷８０００）
ＣＺ６の正規化累計発生符号量：  ８２５０ビット（＝６６００×１００００÷８０００）
ＣＺ７の正規化累計発生符号量：１００００ビット（＝８０００×１００００÷８０００）
【００２８】
各制御領域は６個のマクロブロックより構成されているため、上述した各制御領域での累計発生符号量の予測値は、以下のように表現することができる。
【００２９】
６個のマクロブロックの符号化後：    ５００ビット
１２個のマクロブロックの符号化後：  １２５０ビット
１８個のマクロブロックの符号化後：  １８７５ビット
２４個のマクロブロックの符号化後：  ２２５０ビット
３０個のマクロブロックの符号化後：  ３７５０ビット
３６個のマクロブロックの符号化後：  ５７５０ビット
４２個のマクロブロックの符号化後：  ８２５０ビット
４８個のマクロブロックの符号化後：１００００ビット
【００３０】
ここで、制御領域３０１（ＣＺ０）に属する６個のマクロブロック（ＭＢ０〜ＭＢ５）での累積符号量についての予測を行う。
【００３１】
ＭＢ５まで符号化が終了した時の予測発生符号量が５００ビットであるため、各マクロブロックの符号化が終了した時の発生符号量は以下に述べる線形補間演算によって算出する。
【００３２】
ＭＢ０の符号化が終了した時の発生符号量は、
ＭＢ０の累計発生符号量＝５００×（１／６）＝８３ビットである。
【００３３】
ＭＢ１まで符号化が終了した時の累計発生符号量は、
ＭＢ１の累計発生符号量＝５００×（２／６）＝１６７ビットである。
【００３４】
ＭＢ２まで符号化が終了した時の累計発生符号量は、
ＭＢ２の累計発生符号量＝５００×（３／６）＝２５０ビットである。
【００３５】
ＭＢ３まで符号化が終了した時の累計発生符号量は、
ＭＢ３の累計発生符号量＝５００×（４／６）＝３３３ビットである。
【００３６】
ＭＢ４まで符号化が終了した時の累計発生符号量は、
ＭＢ４の累計発生符号量＝５００×（５／６）＝４１７ビットである。
【００３７】
ＭＢ５まで符号化が終了した時の累計発生符号量は、
ＭＢ５の累計発生符号量＝５００×（６／６）＝５００ビットである。
【００３８】
続いて、制御領域３０２（ＣＺ１）に属する６個のマクロブロック（ＭＢ６〜ＭＢ１１）での累積符号量についての予測を行う。
【００３９】
１つ前の制御領域３０１（ＣＺ０）内の最終マクロブロックＭＢ５の符号化が終了した時の予測発生符号量が５００ビット、ＭＢ１１の符号化が終了した時の予測発生符号量が１２５０ビットであるため、各マクロブロックの符号化が終了した時の発生符号量は以下に述べる線形補間演算によって算出する。
【００４０】
ＭＢ６まで符号化が終了した時の累計発生符号量は、
ＭＢ６の累計発生符号量＝５００＋７５０×（１／６）＝６２５ビットである。
【００４１】
ＭＢ７まで符号化が終了した時の累計発生符号量は、
ＭＢ７の累計発生符号量＝５００＋７５０×（２／６）＝７５０ビットである。
【００４２】
ＭＢ８まで符号化が終了した時の累計発生符号量は、
ＭＢ８の累計発生符号量＝５００＋７５０×（３／６）＝８７５ビットである。
【００４３】
ＭＢ９まで符号化が終了した時の累計発生符号量は、
ＭＢ９の累計発生符号量＝５００＋７５０×（４／６）＝１０００ビットである。
【００４４】
ＭＢ１０まで符号化が終了した時の累計発生符号量は、
ＭＢ１０の累計発生符号量＝５００＋７５０×（５／６）＝１１２５ビットである。
【００４５】
ＭＢ１１まで符号化が終了した時の累計発生符号量は、
ＭＢ１１の累計発生符号量＝５００＋７５０×（６／６）＝１２５０ビットである。
【００４６】
以下、同様の処理を制御領域３０３（ＣＺ２）、３０４（ＣＺ３）、３０５（ＣＺ４）、３０６（ＣＺ５）、３０７（ＣＺ６）、３０８（ＣＺ７）に対して行い、全マクロブロック（ＭＢ０〜ＭＢ４７）の累積発生符号量の予測値を算出する。
【００４７】
図１２は、マクロブロックと、累積発生符号量の予測値との関係を示す図である。図１２に、横軸をマクロブロック番号、縦軸を発生符号量として、マクロブロック毎の累積発生符号量の予測値を示す。なお、この発生符号量の予測値を、累積発生符号量予測と表現する。同図において、曲線３１１は累積発生符号量予測を示している。
【００４８】
この累積発生符号量予測を用いて量子化器の変更を行う。以下では、量子化器の変更方法について簡単に説明する。なお、量子化器の変更を行うか否かの判断は、制御領域の符号化が終了する毎に、すなわち、６個のマクロブロックの符号化が終了する毎に実行されるとする。
【００４９】
例えば、制御領域３０１（ＣＺ０）まで符号化が終了したときの実際の発生符号量が、図１２の累積発生符号量予測に対し５００ビット多いとする。このとき、このままＱｉｎｉｔであるＱ１６で符号化を続けていけば、最終的な発生符号量が目標符号量を超える可能性が高いため、量子化器の変更が必要である。量子化器の変更には、図１１に示した量子化器発生符号量予測のデータを用いる。図１１において、Ｑ１６前後の量子化器の発生符号量予測は、
Ｑ１４：１１３３３ビット、Ｑ１５：１０６６７ビット
Ｑ１６：１００００ビット、Ｑ１７：  ９３３３ビット
Ｑ１８：  ８６６７ビット
であった。Ｑ１７はＱ１６より６６７ビット、Ｑ１８はＱ１６より１３３４ビット発生符号量が少なくなると予測されている。
【００５０】
いまＱ１６で符号化を行っていて、実際の発生符号量が累積発生符号量予測より５００ビット多くなっているとする。この場合、Ｑ１６よりも発生符号量が６６７ビット少なくなると予測されるＱ１７に変更を行う。これにより５００ビットの超過分が解消され、全マクロブロックを符号化終了したときの最終的な発生符号量が目標符号量内に収まることが期待される。
【００５１】
以降、変更した量子化器Ｑ１７を用いて符号化を進めて行き、各制御領域（ＣＺ１、ＣＺ２、ＣＺ３、ＣＺ４、ＣＺ５、ＣＺ６）の符号化が終了した時点で、現在の発生符号量と累積発生符号量予測との比較を行い、量子化器の変更を行う。
【００５２】
実際の発生符号量が累積発生符号量予測より大きければ、現在使用中の量子化器より発生符号量が少なくなる量子化器に、すなわち、量子化器番号が大きい量子化器に変更する。逆に、実際の発生符号量が累積発生符号量予測より小さければ、現在使用中の量子化器より発生符号量が多くなる量子化器に、すなわち、量子化器番号が小さい量子化器に変更する。
【００５３】
量子化器番号をどれだけ小さく、あるいは、どれだけ大きくするかの判断には、図１１に示した量子化器発生符号量予測のデータを用いる。
【００５４】
以上のようにして、従来の２パス符号化技術では、パス１の仮符号化において量子化器発生符号量予測と、マクロブロック毎の累積発生符号量とを予測することで、符号量予測モデルを生成する。そして、パス２の実際の符号化において、符号化中に符号量予測モデルに基づいて量子化器を変更することで、符号化対象画像の符号化終了時の発生符号量を所望の符号量とすることができる。これにより、高い精度で符号量を制御することができる。
【特許文献１】特開平８−１７２６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００５５】
ここまで述べたように、従来の２パス符号化では、パス１の仮符号化で量子化器発生符号量予測、及び、累積発生符号量予測データを算出し、パス２の本符号化でパス１のデータを用いて符号化を行うことで、高い精度の符号量制御を行うことができた。
【００５６】
しかしながら、上記従来技術には、全ての画像に対して正しく予測ができるという訳ではなく、対象画像の性質によっては正しく予測ができないという課題がある。具体的には、以下に示すように２つの課題がある。
【００５７】
まず、第１の課題について説明する。第１の課題は、パス１の仮符号化において、各マクロブロックに代表量子化器を割り当てる際に、精細度の高い領域が特定の代表量子化器に集中する場合がある。この場合、量子化器発生符号量予測の精度が低いという課題があった。なお、以下の説明では、従来と同様に、符号化システムは、量子化器Ｑ１〜Ｑ３１を有する。量子化器Ｑ１〜Ｑ３１は、この順で量子化ステップが大きくなるとする。また、６個の代表量子化器をＱ１、Ｑ７、Ｑ１３、Ｑ１９、Ｑ２５、Ｑ３１とする。
【００５８】
ある特定の代表量子化器に発生符号量が少ないマクロブロックが偏って存在する場合、量子化器発生符号量予測は特異な曲線となる。
【００５９】
例えば、代表量子化器Ｑ１３に、発生符号量が少ないマクロブロックが集中したとする。逆に、代表量子化器Ｑ１９に、発生符号量が多いマクロブロックが集中したとする。なお、発生符号量が少ないマクロブロックは、例えば、画像がコンピュータグラフィックス画像（以下、ＣＧ画像とする）などであり、オブジェクトを含まない平坦なマクロブロックなどである。
【００６０】
この場合、Ｑ１３に割り当てられたマクロブロックに対して、Ｑ１３を用いて符号化した場合の発生符号量は少なくなる。このため、当該発生符号量を用いて、フレーム全体をＱ１３のみを用いて量子化及び符号化した場合の発生符号量を予測すると、Ｑ１３のフレームでの発生符号量も少なくなる。
【００６１】
一方で、Ｑ１９に割り当てられたマクロブロックに対して、Ｑ１９を用いて符号化した場合の発生符号量は多くなる。このため、当該発生符号量を用いて、フレーム全体をＱ１９のみを用いて量子化及び符号化した場合の発生符号量を予測すると、Ｑ１９のフレームでの発生符号量も多くなる。
【００６２】
図１３は、代表量子化器に割り当てたマクロブロックの符号量が偏っていた場合の量子化器発生符号量予測の一例を示す図である。図１３に、横軸を量子化器番号、縦軸を発生符号量として、量子化器発生符号量予測を示す。同図において、曲線３２０は量子化器発生符号量予測を示している。曲線３２０において、ポイント３２２は代表量子化器Ｑ１３での発生符号量予測、ポイント３２３は代表量子化器Ｑ１９での発生符号量予測を示している。
【００６３】
量子化ステップはＱ１３＜Ｑ１９であるから、通常、発生符号量においてＱ１３＞Ｑ１９が成立するはずであるが、図１３に示すように発生符号量においてＱ１３＜Ｑ１９となっている。これは、上述したように、代表量子化器Ｑ１３に符号化されるマクロブロックに発生符号量が少ないマクロブロック（オブジェクトを含まない平坦なマクロブロック）が集中したためである。
【００６４】
実際に各代表量子化器が、画面内の全マクロブロックを用いて発生符号量を算出すれば、発生符号量において、Ｑ１＞Ｑ７＞Ｑ１３＞Ｑ１９＞Ｑ２５＞Ｑ３１となり、図１１で示したような曲線３１０に示す量子化器発生符号量予測となるはずである。
【００６５】
図１３に、正しい量子化器発生符号量予測を示し、これを曲線３２１と表現する。
続いて、符号化対象画像に対しパス２の本符号化を行う際のＱｉｎｉｔの算出について説明する。目標符号量を１００００ビットとしたとき、１００００ビットを超えない最大の符号量を実現する量子化器を検出する。図１３において、発生符号量が１００００ビット付近の量子化器に着目すると、
Ｑ７：１７６００ビット、  Ｑ８：１４９３３ビット、  Ｑ９：１２２６７ビット
Ｑ１０：９６００ビット、Ｑ１１：  ６９３３ビット、Ｑ１２：  ３３６７ビット
となり、符号化対象画像を同一の量子化器で量子化した場合、発生符号量が９６００ビットになると予測されるＱ１０が、Ｑｉｎｉｔに選択される。
【００６６】
これに対し、正しい量子化器発生符号量予測を示す曲線３２１から算出したＱｉｎｉｔがＱ１４であったとする。パス１で算出した量子化器発生符号量予測を示す曲線３２０から算出したＱｉｎｉｔはＱ１０であるため、パス２においてＱ１０を用いて符号化を行ったとき、実際の発生符号量は累積発生符号量予測よりも多くなる。なぜなら、そもそもＱ１０の量子化ステップは、Ｑ１４の量子化ステップより小さいために、同じ符号化対象画像（又は、同じ符号化対象マクロブロック）を符号化した場合は、必ずＱ１０の発生符号量は、Ｑ１４の発生符号量より多くなるためである。
【００６７】
以上のように、パス２において、ＱｉｎｉｔとしてＱ１０を用いて符号化を始めると、先述したように、目標符号量１００００ビット付近の発生符号量となるＱｉｎｉｔはＱ１４であるため、Ｑ１０をＱｉｎｉｔとした場合、パス２における発生符号量は累積発生符号量予測より多くなる。
【００６８】
例えば、ＣＺ０の符号化が終了した時に、累積発生符号量予測に対し１０００ビット多く符号量が発生しているとする。このままＱ１０で符号化を続けていけば、最終的な発生符号量が目標符号量を超える可能性が高いため、量子化器の変更が必要である。量子化器の変更には、図１３に示した量子化器発生符号量予測のデータを用いる。図１３において、Ｑ１０前後の量子化器の発生符号量予測は、
Ｑ１０：９６００ビット、Ｑ１１：６９３３ビット、Ｑ１２：３３６７ビット
Ｑ１３：１６００ビット、Ｑ１４：３７３３ビット
であった。Ｑ１１はＱ１０より２６６７ビット発生符号量が少なくなると予測されている。
【００６９】
いまＱ１０で符号化を行っていて実際の発生符号量が累積発生符号量予測より１０００ビット多くなっている。そのため、Ｑ１０よりも発生符号量が２６６７ビット少なくなると予測されるＱ１１に変更を行う。これにより１０００ビットの超過分が解消され、全マクロブロックの符号化を終了したときの最終的な発生符号量が目標符号量内に収まることが期待される。
【００７０】
しかしながら、目標符号量１００００ビット付近の発生符号量となる量子化器はＱ１４であるため、Ｑ１１を用いて符号化した場合でも発生符号量は累積発生符号量より多くなる。
【００７１】
発生符号量が累積発生符号量予測より大きい場合は、量子化器番号を大きくする（量子化ステップの大きい量子化器に変更する）必要があるが、図１３の量子化器発生符号量予測から明らかなように、量子化器Ｑ１３の予測発生符号量が全量子化器の中で最小となっている。さらに、Ｑ１４の予測発生符号量がＱ１３の予測発生符号量よりも多いため、Ｑ１４以降の量子化器が選択されることはない。そのため、パス２の本符号化において、実際の発生符号量が目標符号量を超えてしまうことになる。この場合、目標符号量を超えてしまった符号化データは失われ、復元画像の画質において非常に大きな劣化を引き起こしてしまう。
【００７２】
以上のように、従来技術の第１の課題は、代表量子化器に割り当てられたマクロブロックの符号量が偏る場合があり、この場合に正しい予測ができずに、目標符号量となるように符号化が実行できなくなるという課題である。
【００７３】
続いて、従来技術の第２の課題について説明する。第２の課題は、符号化対象画像にオブジェクトが少なく発生符号量が小さくなる場合、パス１における量子化器発生符号量予測の精度が低いという課題である。
【００７４】
図１４は、オブジェクトが少ない符号化対象画像に対して仮符号化を行うことで得られる量子化器発生符号量予測の一例を示す図である。図１４に、横軸を量子化器番号、縦軸を発生符号量として、量子化器発生符号量予測を示す。同図において、曲線３３０は量子化器発生符号量予測を示している。
【００７５】
図１４に示すように、オブジェクトが少ない画像を符号化対象画像としてパス１の仮符号化を行った場合、得られる量子化器毎の発生符号量には、大きな変化が現れない。図１４に示す量子化器発生符号量予測に基づいて、本符号化を行った場合には次のような問題が生じる。
【００７６】
例えば、符号化対象画像に対しパス２の本符号化を行う際のＱｉｎｉｔの算出について説明する。目標符号量を１００００ビットとしたとき、１００００ビットを超えない最大の符号量を実現する量子化器を検出する。図１４において、発生符号量が１００００ビット付近の量子化器に着目すると、
Ｑ１：１０４００ビット、Ｑ２：１０２６７ビット、Ｑ３：１０１３３ビット
Ｑ４：１００００ビット、Ｑ５：  ９８６７ビット、Ｑ６：  ９７３３ビット
となり、符号化対象画像を同一の量子化器で量子化した場合、発生符号量が１００００ビットになると予測される量子化器Ｑ４が、Ｑｉｎｉｔに選択される。選択されたＱ４をＱｉｎｉｔとして量子化及び符号化を行った結果、ＣＺ０の符号化を終了した時点で、累積発生符号量予測に対し１０００ビット多く符号量が発生しているとする。
【００７７】
このままＱ４で符号化を続けていけば、最終的な発生符号量が目標符号量を超える可能性が高いため、量子化器の変更が必要である。量子化器の変更には、図１４に示した量子化器発生符号量予測のデータを用いる。図１４において、Ｑ４前後の量子化器の発生符号量予測は、
Ｑ４：１００００ビット、Ｑ５：  ９８６７ビット、Ｑ６：９７３３ビット
Ｑ７：  ９６００ビット、Ｑ８：  ９４６７ビット、Ｑ９：９３３３ビット
Ｑ１０：９２００ビット、Ｑ１１：９０６７ビット、Ｑ１２：８９３３ビット
Ｑ１３：８８００ビット
であった。Ｑ１２はＱ４より１０６７ビット発生符号量が少なくなると予測されている。
【００７８】
いまＱ４で符号化を行っていて実際の発生符号量が累積発生符号量予測より１０００ビット多くなっている。そのため、Ｑ４よりも発生符号量が１０６７ビット少なくなると予測されるＱ１２に変更を行う。これにより１０００ビットの超過分が解消され、全マクロブロックを符号化終了したときの最終的な発生符号量が目標符号量内に収まることが期待される。
【００７９】
しかしながら、ここで量子化器の変動に伴う画質の変動が問題となる。つまり、量子化及び符号化において量子化ステップが大きく変化すると、画質が大きく変動してしまう。したがって、符号化においては画質の点で、量子化器は画面内で極力変化しないことが望ましい。量子化が変化したとしても、その変化量は極力小さいことが望ましい。量子化器が大きく変動すると、それに伴い画質も大きく変動するからである。
【００８０】
これにより、オブジェクトの少ない画像を符号化対象画像として符号化した場合、正しい量子化器発生符号量予測が得られずに、符号化の途中で大きく量子化器を変更せざるを得なくなる。これにより、符号化画像を復号化した場合に得られる復号画像の画質が非常に悪くなるという課題がある。
【００８１】
以上のように、従来技術では、精細度の高い領域が特定の代表量子化器に集中していた場合、パス１における量子化器発生符号量予測の精度が大きく低下するという第１の課題がある。さらに、符号化対象画像の符号量が少ない場合、パス１における量子化器発生符号量予測の精度が大きく低下するという第２の課題がある。
【００８２】
本発明は上記課題に鑑みてなされたものであり、２パス符号化という手法において、発生符号量が所定の符号量を超えることなく、視覚的に十分に許容できる復号画像を提供できる画像符号化装置及び画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００８３】
上記目的を達成するため、本発明に係る画像符号化装置は、仮符号化及び本符号化の２パスで入力画像を符号化する画像符号化装置であって、量子化ステップが互いに異なる複数の量子化器を有する量子化手段と、前記複数の量子化器のそれぞれを用いて前記入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を前記量子化器毎に算出する仮符号化手段と、前記仮符号化手段により算出された前記予測符号量の予測の正確さの程度を示す信頼度を決定する信頼度決定手段と、前記信頼度に基づいて前記複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて前記入力画像を量子化及び符号化する本符号化手段とを備える。
【００８４】
これにより、パス１における仮符号化の信頼度に応じた量子化器の選択を行うことができ、パス１の予測を有効に利用することができるので、本符号化時に発生する発生符号量が所定の符号量を超えることなく、視覚的に充分に許容できる復号画像を提供することができる。
【００８５】
また、前記本符号化手段は、前記信頼度が所定の第１閾値より小さいか否かを判断し、前記信頼度が前記第１閾値より小さいと判断した場合、前記予測符号量を参照せずに前記複数の量子化器のいずれを用いるかを決定する制御部と、前記制御部で決定された量子化器を用いて前記入力画像を量子化及び符号化する量子化・符号化部とを有してもよい。
【００８６】
これにより、パス１の予測の信頼性が低い場合には、パス１の予測を無視することができるので、正確でない予測に頼った本符号化を行うことによる符号量の増加を防ぐことができる。
【００８７】
また、前記信頼度決定手段は、前記量子化器毎の量子化ステップと、前記量子化器毎の前記予測符号量との負の相関の一致度合いを示す値を、前記信頼度として決定してもよい。
【００８８】
具体的には、前記仮符号化手段は、前記複数の量子化器の中から少なくとも２つの量子化器を代表量子化器として選択し、選択した代表量子化器を用いて前記入力画像の一部又は全部を量子化及び符号化することで、前記予測符号量を算出し、前記信頼度決定手段は、前記複数の代表量子化器に含まれる第１代表量子化器を用いた場合の発生符号量と、前記複数の代表量子化器に含まれる第２代表量子化器を用いた場合の発生符号量との差が、所定の第２閾値より小さい場合に、前記第１閾値より小さい値を前記信頼度として決定してもよい。
【００８９】
これにより、代表量子化器毎の発生符号量の差を検出するという簡単な構成で信頼度を算出することができる。
【００９０】
また、前記信頼度決定手段は、前記第１代表量子化器の量子化ステップと前記第２代表量子化器の量子化ステップとの差が大きいほど、大きい値となる前記第２閾値を設定してもよい。
【００９１】
これにより、代表量子化器の量子化ステップに応じた閾値を設定することができるので、精度良く信頼度を判定することができる。
【００９２】
また、前記仮符号化手段は、さらに、前記入力画像を構成するマクロブロックを予め定められた順に符号化した場合に発生する符号量の累積値の予測である予測累積符号量を算出し、前記量子化・符号化部は、前記複数の量子化器の１つである第１量子化器を用いて所定数のマクロブロックを量子化及び符号化し、前記制御部は、前記信頼度が前記第１閾値より小さいと判断した場合、前記量子化・符号化部によって量子化及び符号化することで発生した符号量の累積値である累積符号量を取得し、取得した累積符号量が、対応する前記予測累積符号量より大きい場合に、前記第１量子化器より量子化ステップの大きい量子化器を、前記複数の量子化器の中から第２量子化器として決定し、前記量子化・符号化部は、前記第２量子化器を用いて、前記所定数のマクロブロックの次のマクロブロックを量子化及び符号化してもよい。
【００９３】
また、前記仮符号化手段は、さらに、前記入力画像を構成するマクロブロックを予め定められた順に符号化した場合に発生する符号量の累積値の予測である予測累積符号量を算出し、前記量子化・符号化部は、前記複数の量子化器の１つである第１量子化器を用いて所定数のマクロブロックを量子化及び符号化し、前記制御部は、前記信頼度が前記第１閾値より小さいと判断した場合、前記量子化・符号化部によって量子化及び符号化することで発生した符号量の累積値である累積符号量を取得し、取得した累積符号量が、対応する前記予測累積符号量より小さい場合に、前記第１量子化器より量子化ステップの小さい量子化器を、前記複数の量子化器の中から第２量子化器として決定し、前記量子化・符号化部は、前記第２量子化器を用いて、前記所定数のマクロブロックの次のマクロブロックを量子化及び符号化してもよい。
【００９４】
これにより、パス１の予測の信頼性が低い場合には、パス１の予測を無視することができ、例えば、本符号化に用いる量子化器を量子化ステップの大きさが近い量子化器に変更することで、視覚的に充分に許容できる復号画像を提供することができる。
【００９５】
なお、本発明は、このような画像符号化装置として実現することができるだけでなく、このような画像符号化装置が備える特徴的な手段をステップとする画像符号化方法として実現することができる。また、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体又はインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００９６】
本発明に係る画像符号化装置によれば、２パス符号化を用いた画像符号化において、より効率的な符号化が可能であり、符号化画像の画質向上が実現できる。
【発明を実施するための最良の形態】
【００９７】
以下では、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態の画像符号化装置の全体の構成を示すブロック図である。同図の画像符号化装置１０は、入力部１００と、マクロブロック構成部１１０と、バッファ１２０と、仮符号化部１３０と、信頼度決定部１４０と、本符号化部１５０と、出力部１６０とを備える。
【００９８】
入力部１００は、入力画像信号をマクロブロック構成部１１０に入力する。
マクロブロック構成部１１０は、入力画像信号に対し、８×８画素から構成されるブロックに分割し、複数のブロックを集めてマクロブロックを構成する。例えば、マクロブロックは、８×１６画素から構成される。構成したマクロブロックは、バッファ１２０、仮符号化部１３０に入力される。なお、分割されるブロックは、４×４画素又は４×８画素などいかなる構成でもよい。また、これら分割されたブロックから構成されるマクロブロックは、１６×１６画素などいかなる構成でもよい。
【００９９】
バッファ１２０は、入力されたマクロブロックを一時的に保持し、本符号化部１５０に入力する。
【０１００】
仮符号化部１３０は、量子化ステップが互いに異なる複数の量子化器のそれぞれを用いて入力画像を量子化及び符号化した場合に発生する符号量の予測値である予測符号量を、量子化器毎に算出する。なお、複数の量子化器は、仮符号化部１３０、本符号化部１５０のいずれが備えていてもよい。また、仮符号化部１３０及び本符号化部１５０のいずれとも異なる別の処理部が備えていてもよい。
【０１０１】
具体的には、仮符号化部１３０は、入力されたマクロブロックに対しパス１の仮符号化を行い、各代表量子化器の発生符号量を算出する。さらに、各代表量子化器の発生符号量から全量子化器の発生符号量の予測（量子化器発生符号量予測）、及び、マクロブロック毎の累積発生符号量の予測（累積発生符号量予測）を算出する。なお、累積発生符号量予測は、入力画像を構成するマクロブロックを予め定められた順に符号化した場合に発生する符号量の累積値の予測である。以上の２つの予測を上述のように総称して符号量予測モデルと称する。符号量予測モデルは、信頼度決定部１４０に入力される。
【０１０２】
信頼度決定部１４０は、入力された符号量予測モデルに対しパス１の信頼度、すなわち、量子化器発生符号量予測の信頼度を算出する。算出した信頼度、及び、符号量予測モデルは、本符号化部１５０に入力される。なお、信頼度とは、仮符号化部１３０で算出された予測符号量、すなわち、量子化器発生符号量予測の正確さの程度を示す値である。より具体的には、信頼度とは、量子化器毎の量子化ステップと、量子化器毎の予測符号量との負の相関の一致度合いを示す値である。
【０１０３】
本符号化部１５０は、入力された信頼度に基づいて、複数の量子化器のいずれを用いるかを決定し、決定した量子化器を用いて入力画像を量子化及び符号化する。本符号化部１５０は、制御部１５１と、直交変換部１５２と、量子化部１５３と、エントロピー符号化部１５４とを備える。
【０１０４】
制御部１５１は、入力された符号量予測モデル、パス１の信頼度、及び、対象マクロブロックを符号化するまでの累積発生符号量より、対象マクロブロックに対する量子化器番号を決定する。決定した量子化器番号は、量子化部１５３に入力される。具体的には、制御部１５１は、信頼度が閾値より小さいか否かを判断し、信頼度が閾値より小さいと判断した場合、量子化器発生符号量予測を参照せずに、複数の量子化器のいずれを用いるかを決定する。
【０１０５】
直交変換部１５２は、入力されたマクロブロックに対して周波数変換を行い、周波数変換係数を出力する。直交変換部１５２は、周波数変換係数を量子化部１５３に入力する。
【０１０６】
量子化部１５３は、入力された変換係数に対して、入力された量子化器番号で決定される量子化器を用いて量子化処理を行い、量子化係数を出力する。量子化係数は、エントロピー符号化部１５４に入力される。
【０１０７】
エントロピー符号化部１５４は、入力された量子化係数に対しエントロピー符号化を行い、ビットストリームを出力する。ビットストリームは、出力部１６０に入力される。
【０１０８】
出力部１６０は、入力されたビットストリームを任意の媒体に出力する。
次に、本実施の形態の画像符号化装置の動作について説明する。
【０１０９】
図２は、本実施の形態の画像符号化装置の動作を示すフローチャートである。
入力部１００が、入力画像信号をマクロブロック構成部１１０に入力し、マクロブロック構成部１１０は、マクロブロックを構成する。仮符号化部１３０は、予め定められた順にマクロブロックを仮符号化する（Ｓ１０１）。仮符号化の詳細は従来技術に述べたとおりである。
【０１１０】
仮符号化部１３０は、複数の量子化器の中から代表量子化器を選択し、選択した代表量子化器を各マクロブロックに割り当てる。仮符号化部１３０は、各マクロブロックに割り当てられた代表量子化器をそれぞれ用いて量子化及び符号化を行うことで、各代表量子化器の発生符号量を算出する。各代表量子化器の発生符号量に基づいて、例えば、線形補間演算などにより全量子化器の発生符号量を算出することで、量子化器発生符号量予測を算出する。さらに、マクロブロック毎の累積発生符号量予測を算出する。さらに、目標符号量と量子化器発生符号量予測とから、Ｑｉｎｉｔを決定する。
【０１１１】
次に、信頼度決定部１４０は、仮符号化部１３０が算出した量子化器発生符号量予測を用いてパス１の信頼度を決定する（Ｓ１０２）。信頼度の決定処理については、後述する。
【０１１２】
続いて、制御部１５１は、信頼度決定部１４０で決定された信頼度に応じて、本符号化の符号量制御を行う。具体的には、制御部１５１は、信頼度に応じて、パス１の仮符号化で得られた量子化器発生符号量予測を用いるか否かを決定する。
【０１１３】
まず、制御部１５１は、信頼度が所定の閾値以上であるか否かを判断する（Ｓ１０３）。例えば、信頼度のとりうる値が０又は１の２値である場合は、信頼度が１であるか否かを判断する。
【０１１４】
信頼度が所定の閾値以上である（または、信頼度が１である）と判断された場合（Ｓ１０３でＹｅｓ）、本符号化部１５０は、量子化器発生符号量予測を参照しながら、入力画像に対して本符号化を実行する（Ｓ１０４）。すなわち、本符号化部１５０は、従来技術で説明した処理と同様の処理を実行する。
【０１１５】
信頼度が所定の閾値より小さい（または、信頼度が０である）と判断された場合（Ｓ１０３でＮｏ）、本符号化部１５０は、量子化器発生符号量予測を参照することなく、入力画像に対して本符号化を実行する（Ｓ１０５）。なお、この場合の本符号化については、図３を用いて詳細に後述する。
【０１１６】
図３は、信頼度が低いと判断された場合の本符号化の処理を示すフローチャートである。
【０１１７】
本符号化処理は、従来技術と同様、制御領域毎に繰り返される（Ｓ２０１）。まず、制御領域に含まれるマクロブロックを量子化及び符号化する（Ｓ２０２）。具体的には、量子化部１５３は、制御部１５１によって決定された量子化器を用いて、直交変換部１５２から入力される変換係数を量子化する。エントロピー符号化部１５４は、量子化された変換係数を符号化する。なお、１番目の制御領域に含まれるマクロブロックを量子化及び符号化する場合は、量子化部１５３は、パス１の仮符号化により決定されたＱｉｎｉｔを用いる。
【０１１８】
制御領域に含まれる全マクロブロックの符号化が終了した時点で、制御部１５１は、現時点までに発生した実際の符号量を取得し、実際の符号量と累積発生符号量の予測値とを比較する（Ｓ２０３）。
【０１１９】
このとき、実際の符号量が、対応するマクロブロックまでの累積発生符号量の予測値より大きい場合、制御部１５１は、現在使用中の量子化器を、量子化器番号が１大きい量子化器に変更する（Ｓ２０４）。すなわち、量子化ステップの大きな量子化器に変更する。
【０１２０】
実際の符号量が、対応するマクロブロックまでの累積発生符号量の予測値より小さい場合、制御部１５１は、現在使用中の量子化器を、量子化器番号が１小さい量子化器に変更する（Ｓ２０５）。すなわち、量子化ステップの小さな量子化器に変更する。
【０１２１】
実際の符号量が、対応するマクロブロックまでの累積発生符号量の予測値に等しい場合、制御部１５１は、何も行わない。すなわち、量子化器の変更を行わない。
【０１２２】
以上のようにして、制御部１５１によって変更された量子化器を用いて、次の制御領域に対して、量子化及び符号化を実行する。以上の処理（Ｓ２０２〜Ｓ２０５）は、全制御領域に対して終了されるまで繰り返される（Ｓ２０６）。
【０１２３】
以上のようにして、本実施の形態の画像符号化装置は、２パス符号化を行う際に、パス１で得られる予測が信頼できるか否かを判断し、信頼できる場合は、従来技術と同様の処理を行う。信頼できない場合は、従来技術とは異なる手法を用いて本符号化を実行する。これにより、発生符号量が所定の符号量を超えることなく、視覚的に十分に許容できる復号画像を提供することができる。
【０１２４】
ここで、信頼度決定部１４０の動作について説明する。なお、本実施の形態においても、従来技術の説明で述べたように、符号化システムが有することのできる量子化器の最大数を３１個とし、パス１の仮符号化に用いる代表量子化器の個数を６個として説明を行う。
【０１２５】
代表量子化器をそれぞれ、Ｑ１、Ｑ７、Ｑ１３、Ｑ１９、Ｑ２５、Ｑ３１とし、量子化ステップの大きさは、Ｑ１＜Ｑ７＜Ｑ１３＜Ｑ１９＜Ｑ２５＜Ｑ３１であるとする。すなわち、発生符号量は、Ｑ１＞Ｑ７＞Ｑ１３＞Ｑ１９＞Ｑ２５＞Ｑ３１となる。
【０１２６】
信頼度決定部１４０は、パス１で算出された各代表量子化器の発生符号量を用いて、パス１の信頼度を決定する。信頼度は、以下の条件を満たしている時に１となり、それ以外のときは０となる。
【０１２７】
ここで、信頼度が１になる条件とは、
（式１）（Ｑ１の発生符号量   − Ｑ７の発生符号量）  ＞ 特定の閾値
（式２）（Ｑ７の発生符号量   − Ｑ１３の発生符号量）＞ 特定の閾値
（式３）（Ｑ１３の発生符号量 − Ｑ１９の発生符号量）＞ 特定の閾値
（式４）（Ｑ１９の発生符号量 − Ｑ２５の発生符号量）＞ 特定の閾値
（式５）（Ｑ２５の発生符号量 − Ｑ３１の発生符号量）＞ 特定の閾値
としたときに、（式１）〜（式５）の全てが成立することである。
【０１２８】
なお、（式１）〜（式５）における特定の閾値が異なっていても構わない。例えば（式１）、（式２）及び（式３）では特定の閾値が２００、（式４）及び（式５）では特定の閾値が１００であっても構わない。本実施の形態では、（式１）〜（式５）における特定の閾値の値を１２８に設定する。
【０１２９】
以上のように、信頼度は、量子化ステップが小さい代表量子化器での発生符号量から、量子化ステップが大きい代表量子化器での発生符号量を減算した値が、所定の閾値を超えているか否かで決定される。特定の閾値は、それぞれの代表量子化器の量子化ステップの大きさの違いによって決定されてもよい。例えば、それぞれの代表量子化器の量子化ステップの差が大きいほど、閾値も大きく設定されてもよい。なぜなら、量子化ステップの差が大きいほど、通常であれば、発生する符号量の差も大きくなるためである。
【０１３０】
つまり、信頼度は、量子化器毎の発生符号量の大小関係と、その大小関係の程度（すなわち、傾斜）とを判断するための指標である。すなわち、（式１）〜（式５）において、特定の閾値を０とすると、単純に、大小関係だけが判断されることになる。これにより、例えば、図１３に示すような量子化器発生符号量予測が得られた場合に、当該量子化器発生符号量予測の信頼性は低いと判断することができる。
【０１３１】
さらに、特定の閾値を０より大きな所定の値とすることで、例えば、図１４に示すような量子化器発生符号量予測が得られた場合に、当該量子化器発生符号量予測の信頼性は低いと判断することができる。
【０１３２】
続いて、制御部１５１の動作について説明する。
制御部１５１は、入力された信頼度に応じた符号量制御を行う。
【０１３３】
信頼度が１の場合、従来技術と同じ動作を行う。すなわち、Ｑｉｎｉｔを量子化器発生符号量予測より算出し、Ｑｉｎｉｔで符号化を進めていく。制御領域において量子化器の変更を行うとき、現在の累積発生符号量と累積発生符号量予測との差と、量子化器発生符号量予測における量子化器を変化させたときの発生符号量の差とから、量子化器の決定を行う。
【０１３４】
信頼度が０の場合、Ｑｉｎｉｔを量子化器発生符号量予測より算出し、Ｑｉｎｉｔで符号化を進めていく。ここまでは従来技術と同じ動作である。
【０１３５】
従来技術と本実施の形態とでは、制御領域において量子化器の変更を行うときの動作が異なる。本実施の形態では、制御領域において量子化器の変更を行うとき、現在の発生符号量が累積発生符号量予測より多ければ量子化器番号を１つ大きくする。現在の発生符号量が累積発生符号量予測より少なければ量子化器番号を１つ小さくする。現在の発生符号量が累積発生符号量予測と一致していれば量子化器番号を変更しない。
【０１３６】
従来技術では、信頼度が０の場合でも、量子化器発生符号量予測を参照して量子化器の変更を行っていた。そのため、従来技術の説明で述べた２つの課題が生じていた。
【０１３７】
本実施の形態を用いて、従来技術で述べた３つの量子化器発生符号量予測が得られた場合（図１１、図１３及び図１４）について、それぞれの符号量制御について説明する。まず、図１１に示した量子化器発生符号量予測が得られた場合について説明する。
【０１３８】
例えば、図１１に示す量子化器発生符号量予測を得るために行ったパス１の仮符号化の結果、６つの代表量子化器の発生符号量はそれぞれ、Ｑ１の発生符号量が３０００ビット、Ｑ７の発生符号量が２２００ビット、Ｑ１３の発生符号量が１５００ビット、Ｑ１９の発生符号量が１０００ビット、Ｑ２５の発生符号量が６００ビット、Ｑ３１の発生符号量が２５０ビットであったとする。
【０１３９】
信頼度を算出すると、
（Ｑ１の発生符号量−Ｑ７の発生符号量）＝（３０００−２２００）＝８００であり、１２８より大きい、よって（式１）は満たしている。
【０１４０】
（Ｑ７の発生符号量−Ｑ１３の発生符号量）＝（２２００−１５００）＝７００であり、１２８より大きい、よって（式２）は満たしている。
【０１４１】
（Ｑ１３の発生符号量−Ｑ１９の発生符号量）＝（１５００−１０００）＝５００であり、１２８より大きい、よって（式３）は満たしている。
【０１４２】
（Ｑ１９の発生符号量−Ｑ２５の発生符号量）＝（１０００−６００）＝４００であり、１２８より大きい、よって（式４）は満たしている。
【０１４３】
（Ｑ２５の発生符号量−Ｑ３１の発生符号量）＝（６００−２５０）＝３５０であり、１２８より大きい、よって（式５）は満たしている。
【０１４４】
以上のように（式１）〜（式５）の全てが成立するために、パス１の信頼度は１となる。
【０１４５】
パス１の信頼度が１であるため、制御部１５１は、Ｑｉｎｉｔを量子化器発生符号量予測より算出し、Ｑｉｎｉｔで符号化を進めていく。制御領域において量子化器の変更を行うとき、現在の発生符号量と累積発生符号量予測との差と、量子化器発生符号量予測における量子化器を変化させたときの発生符号量の差とから、量子化器の決定を行う。これは、従来技術と同じ動作である。
【０１４６】
続いて、図１３に示した量子化器発生符号量予測が得られた場合について説明する。
例えば、図１３に示す量子化器発生符号量予測を得るために行ったパス１の仮符号化の結果、６つの代表量子化器の発生符号量はそれぞれ、Ｑ１の発生符号量が３０００ビット、Ｑ７の発生符号量が２２００ビット、Ｑ１３の発生符号量が２００ビット、Ｑ１９の発生符号量が１８００ビット、Ｑ２５の発生符号量が６００ビット、Ｑ３１の発生符号量が２５０ビットであったとする。第１の課題で示したように代表量子化器に割り当てたマクロブロックの符号量が偏っていたために、Ｑ１３の発生符号量が少なく、Ｑ１９の発生符号量が多くなる例を示している。
【０１４７】
これらを信頼度が１になる条件に当てはめると、
（Ｑ１の発生符号量−Ｑ７の発生符号量）＝（３０００−２２００）＝８００であり、１２８より大きい、よって（式１）は満たしている。
【０１４８】
（Ｑ７の発生符号量−Ｑ１３の発生符号量）＝（２２００−２００）＝２０００であり、１２８より大きい、よって（式２）は満たしている。
【０１４９】
（Ｑ１３の発生符号量−Ｑ１９の発生符号量）＝（２００−１８００）＝−１６００であり、１２８より小さい、よって（式３）は満たしていない。
【０１５０】
（Ｑ１９の発生符号量−Ｑ２５の発生符号量）＝（１８００−６００）＝１２００であり、１２８より大きい、よって（式４）は満たしている。
【０１５１】
（Ｑ２５の発生符号量−Ｑ３１の発生符号量）＝（６００−２５０）＝３５０であり、１２８より大きい、よって（式５）は満たしている。
【０１５２】
以上のように（式３）が成立していないため、パス１の信頼度は０となる。
パス１の信頼度が０であるため、制御部１５１は、Ｑｉｎｉｔを量子化器発生符号量予測より算出し、Ｑｉｎｉｔで符号化を進めていく。制御領域において量子化器の変更を行うとき、現在の発生符号量が累積発生符号量予測より多ければ量子化器番号を１つ大きくする。現在の発生符号量が累積発生符号量予測より少なければ量子化器番号を１つ小さくする。これは、従来技術と異なる動作である。
【０１５３】
図４は、所定の符号化対象画像に対する累積発生符号量予測の一例を示す図である。同図の曲線２００は、累積発生符号量予測である。曲線２０１は、パス２の本符号化における実際の発生符号量である。ここでは、Ｑ１０をＱｉｎｉｔとして符号化を行い、各制御領域で量子化器を変更し、制御領域３０４（ＣＺ３）まで符号化が終了したときの実際の発生符号量を示している。なお、この段階で選択されている量子化器はＱ１３であったとする。
【０１５４】
本実施の形態においては、パス１の信頼度が０であるため、量子化器の変更において量子化器発生符号量予測のデータを参照しない。この場合、パス２の発生符号量が累積発生符号量予測を超えているため、量子化器番号を１つ大きくしてＱ１４とする。
【０１５５】
目標符号量１００００ビット付近の発生符号量となる量子化器はＱ１４であるため、今までの超過符号量の分だけ、次の制御領域３０５（ＣＺ４）においても、パス２の発生符号量が累積発生符号量予測を超えるはずである。したがって、本実施の形態では、制御領域３０５（ＣＺ４）の符号化が終了した後、量子化器番号を１つ大きくしてＱ１５とする。
【０１５６】
以降の制御領域において、パス２の発生符号量が累積発生符号量予測に応じた量子化器の変更が行われる。すなわち、実際の発生符号量が累積発生符号量予測より大きければ、量子化器番号を１つ大きくし、実際の発生符号量が累積発生符号量予測より小さければ、量子化器番号を１つ小さくする。
【０１５７】
これに対し、量子化器の変更において量子化器発生符号量予測のデータを参照する従来技術では、図１３の量子化器発生符号量予測から明らかなように、量子化器Ｑ１３の予測発生符号量が全量子化器の中で最小となっており、Ｑ１４の予測発生符号量がＱ１３の予測発生符号量よりも多いため、Ｑ１４以降の量子化器が選択されることはない。そのため、制御領域３０４（ＣＺ３）以降、量子化器はＱ１３のままである。
【０１５８】
図５は、本実施の形態と従来技術とによるパス２の発生符号量と累積発生符号量予測との関係を示す図である。
【０１５９】
曲線２０２は、累積発生符号量予測であり、図４に示す曲線２００と同じである。曲線２０３は、本実施の形態によるパス２の発生符号量である。曲線２０４は、従来技術によるパス２の発生符号量である。
【０１６０】
同図より、従来技術では、パス２の発生符号量が目標符号量を超えてしまっている。これは、上述したように、従来技術では、Ｑ１３より量子化ステップが大きい量子化器を選択することができないためである。これに対し、本実施の形態では、パス２の発生符号量が目標符号量内に収まっている。
【０１６１】
これらの結果から明らかなように、本実施の形態では、パス１で算出した符号量予測モデルに対し信頼度を設定し、パス２において信頼度に応じた符号量制御を行う。これにより、従来技術と比較して高精度の制御を行うことができ、高画質を実現することができる。
【０１６２】
続いて、図１４に示した累積発生符号量予測が得られた場合について説明する。
例えば、図１４に示す累積発生符号量予測を得るために行ったパス１の仮符号化の結果、６つの代表量子化器の発生符号量はそれぞれ、Ｑ１の発生符号量が１３００ビット、Ｑ７の発生符号量が１２００ビット、Ｑ１３の発生符号量が１１００ビット、Ｑ１９の発生符号量が８００ビット、Ｑ２５の発生符号量が４００ビット、Ｑ３１の発生符号量が２００ビットであったとする。第２の課題で示したように、そもそも発生符号量が少なく、各代表量子化器での発生符号量に大きな差が現れていない。
【０１６３】
信頼度を算出すると、
（Ｑ１の発生符号量−Ｑ７の発生符号量）＝（１３００−１２００）＝１００であり、１２８より小さい、よって（式１）は満たしていない。
【０１６４】
（Ｑ７の発生符号量−Ｑ１３の発生符号量）＝（１２００−１１００）＝１００であり、１２８より小さい、よって（式２）は満たしていない。
【０１６５】
（Ｑ１３の発生符号量−Ｑ１９の発生符号量）＝（１１００−８００）＝３００であり、１２８より大きい、よって（式３）は満たしている。
【０１６６】
（Ｑ１９の発生符号量−Ｑ２５の発生符号量）＝（８００−４００）＝４００であり、１２８より大きい、よって（式４）は満たしている。
【０１６７】
（Ｑ２５の発生符号量−Ｑ３１の発生符号量）＝（４００−２００）＝２００であり、１２８より大きい、よって（式５）は満たしている。
【０１６８】
以上のように（式１）及び（式２）が成立していないため、パス１の信頼度は０となる。
【０１６９】
パス１の信頼度が０であるため、制御部１５１は、Ｑｉｎｉｔを量子化器発生符号量予測より算出し、Ｑｉｎｉｔで符号化を進めていく。制御領域において量子化器の変更を行うとき、現在の発生符号量が累積発生符号量予測より多ければ量子化器番号を１つ大きくする。現在の発生符号量が累積発生符号量予測より少なければ量子化器番号を１つ小さくする。これは、従来技術と異なる動作である。
【０１７０】
例えば、パス２の本符号化において、Ｑ４をＱｉｎｉｔとして符号化を行い、制御領域３０４（ＣＺ３）まで符号化が終了した時点で、累積発生符号量予測に対し１０００ビット多く符号量が発生しているとする。
【０１７１】
本実施の形態においては、パス１の信頼度が０であるため、量子化器の変更において量子化器発生符号量予測のデータを参照しない。この場合、パス２の発生符号量が累積発生符号量予測を超えているため、量子化器番号を１つ大きくしてＱ５とする。
【０１７２】
これに対し、量子化器の変更において量子化器発生符号量予測のデータを参照する従来技術では、図１４の量子化器発生符号量予測から、Ｑ４よりも発生符号量が１０６７ビット少なくなると予測されるＱ１２に変更を行う。
【０１７３】
図６は、本実施の形態と従来技術との量子化器番号の変化を示す図である。図６に、制御領域３０１（ＣＺ０）、３０２（ＣＺ１）、３０３（ＣＺ２）、３０４（ＣＺ３）、３０５（ＣＺ４）での、本実施の形態と従来技術とにおける量子化器番号の変化を示す。縦軸は量子化器番号、横軸は制御領域番号を示す。
【０１７４】
曲線２１０は、本実施の形態における量子化番号の推移を示す。曲線２１１は、従来技術における量子化器番号の推移を示している。
【０１７５】
制御領域３０４（ＣＺ３）及び３０５（ＣＺ４）での量子化器番号の変化に注目すると、本実施の形態では量子化器番号の差は１であるが、従来技術では量子化器番号の差は８である。
【０１７６】
制御領域３０４（ＣＺ３）及び３０５（ＣＺ４）は同じオブジェクトの一部を含んでいるとすると、従来技術においては、同じオブジェクト内で量子化器番号が８変化する。これにより、オブジェクト内で画質差が生じ、境界が見えてしまい、復元画像の画質において非常に大きな劣化を引き起こしてしまう。
【０１７７】
これに対し、本実施の形態においては、同じオブジェクト内の量子化器番号の変化は１であるため、オブジェクト内での画質差はほとんど生じず、良質な復元画像を提供することができる。
【０１７８】
これらの結果から明らかなように、本実施の形態では、パス１で算出した符号量予測モデルに対し信頼度を設定し、パス２において信頼度に応じた符号量制御を行う。これにより、オブジェクトに偏りがあるＣＧ画像などの特殊な画像に対しても、従来技術と比較して高精度の制御を行うことができ、高画質を実現することができる。
【０１７９】
以上、本発明の画像符号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態に施したものも、本発明の範囲内に含まれる。
【０１８０】
例えば、本実施の形態では、代表量子化器を６個として説明を行ったが、代表量子化器を増やしてもかまわない。ただし、その場合、信頼度を求める条件が以下のようになる。
【０１８１】
代表量子化器の個数を１１個、各代表量子化器をＱ１、Ｑ４、Ｑ７、Ｑ１０、Ｑ１３、Ｑ１６、Ｑ１９、Ｑ２２、Ｑ２５、Ｑ２８、Ｑ３１とし、量子化ステップにおいて、Ｑ１＜Ｑ４＜Ｑ７＜Ｑ１０＜Ｑ１３＜Ｑ１６＜Ｑ１９＜Ｑ２２＜Ｑ２５＜Ｑ２８＜Ｑ３１、発生符号量において、Ｑ１＞Ｑ４＞Ｑ７＞Ｑ１０＞Ｑ１３＞Ｑ１６＞Ｑ１９＞Ｑ２２＞Ｑ２５＞Ｑ２８＞Ｑ３１なる関係が成立しているとき、
パス１で算出された各代表量子化器の発生符号量の信頼度が１となる条件は、
（式６）（Ｑ１の発生符号量 − Ｑ４の発生符号量）＞ 特定の閾値
（式７）（Ｑ４の発生符号量 − Ｑ７の発生符号量）＞ 特定の閾値
（式８）（Ｑ７の発生符号量 − Ｑ１０の発生符号量）＞ 特定の閾値
（式９）（Ｑ１０の発生符号量 − Ｑ１３の発生符号量）＞ 特定の閾値
（式１０）（Ｑ１３の発生符号量 − Ｑ１６の発生符号量）＞ 特定の閾値
（式１１）（Ｑ１６の発生符号量 − Ｑ１９の発生符号量）＞ 特定の閾値
（式１２）（Ｑ１９の発生符号量 − Ｑ２２の発生符号量）＞ 特定の閾値
（式１３）（Ｑ２２の発生符号量 − Ｑ２５の発生符号量）＞ 特定の閾値
（式１４）（Ｑ２５の発生符号量 − Ｑ２８の発生符号量）＞ 特定の閾値
（式１５）（Ｑ２８の発生符号量 − Ｑ３１の発生符号量）＞ 特定の閾値
としたときに、（式６）〜（式１５）の全てが成立することである。
【０１８２】
また、本実施の形態では、信頼度が０か１のいずれかになる場合について述べたが、０と１との間の値をとることも考えられる。
【０１８３】
図７を用いて、信頼度が０と１との間の値をとる場合について説明する。図７は、代表量子化器に割り当てたマクロブロックの符号量が偏っていた場合の量子化器発生符号量予測の一例を示す図である。ここで代表量子化器の数は６個であり、代表量子化器をそれぞれ、Ｑ１、Ｑ７、Ｑ１３、Ｑ１９、Ｑ２５、Ｑ３１とし、量子化ステップの大きさは、Ｑ１＜Ｑ７＜Ｑ１３＜Ｑ１９＜Ｑ２５＜Ｑ３１であるとする。すなわち、発生符号量は、Ｑ１＞Ｑ７＞Ｑ１３＞Ｑ１９＞Ｑ２５＞Ｑ３１となる。
【０１８４】
同図において、曲線２２０は量子化器発生符号量予測を示している。曲線２２０において、ポイント２２２は代表量子化器Ｑ１９での発生符号量予測、ポイント２２３は代表量子化器Ｑ２５での発生符号量予測を示している。
【０１８５】
ここでは、代表量子化器Ｑ１９には、発生符号量が少ないマクロブロック（オブジェクトを含まない平坦なマクロブロック）が他の代表量子化器と比べて多く、発生符号量が多いマクロブロック（オブジェクトを含むマクロブロック）が他の代表量子化器と比べて少ない。これに対し、代表量子化器Ｑ２５には、発生符号量が少ないマクロブロック（オブジェクトを含まない平坦なマクロブロック）が他の代表量子化器と比べて少なく、発生符号量が多いマクロブロック（オブジェクトを含むマクロブロック）が他の代表量子化器と比べて多い。
【０１８６】
そのため、量子化ステップはＱ１９＜Ｑ２５であるから、通常、発生符号量においてＱ１９＞Ｑ２５が成立するはずであるが、図７に示すように発生符号量においてＱ１９＜Ｑ２５となっている。
【０１８７】
同図に正しい量子化器発生符号量予測を示し、これを曲線２２１と表現する。
パス１の仮符号化の結果、Ｑ１の発生符号量が１５００ビット、Ｑ７の発生符号量が１０００ビット、Ｑ１３の発生符号量が７００ビット、Ｑ１９の発生符号量が２００ビット、Ｑ２５の発生符号量が４００ビット、Ｑ３１の発生符号量が２００ビットであったとする。
【０１８８】
信頼度の算出式、
（式１）（Ｑ１の発生符号量   − Ｑ７の発生符号量）  ＞ 特定の閾値
（式２）（Ｑ７の発生符号量   − Ｑ１３の発生符号量）＞ 特定の閾値
（式３）（Ｑ１３の発生符号量 − Ｑ１９の発生符号量）＞ 特定の閾値
（式４）（Ｑ１９の発生符号量 − Ｑ２５の発生符号量）＞ 特定の閾値
（式５）（Ｑ２５の発生符号量 − Ｑ３１の発生符号量）＞ 特定の閾値
に対し、特定の閾値を１２８とし、図７に示す量子化器発生符号量予測を上式に当てはめると、
（Ｑ１の発生符号量−Ｑ７の発生符号量）＝（１５００−１０００）＝５００であり、１２８より大きい、よって（式１）は満たしている。
【０１８９】
（Ｑ７の発生符号量−Ｑ１３の発生符号量）＝（１０００−７００）＝３００であり、１２８より大きい、よって（式２）は満たしている。
【０１９０】
（Ｑ１３の発生符号量−Ｑ１９の発生符号量）＝（７００−２００）＝５００であり、１２８より大きい、よって（式３）は満たしている。
【０１９１】
（Ｑ１９の発生符号量−Ｑ２５の発生符号量）＝（２００−４００）＝−２００であり、１２８より小さい、よって（式４）は満たしていない。
【０１９２】
（Ｑ２５の発生符号量−Ｑ３１の発生符号量）＝（４００−２００）＝２００であり、１２８より大きい、よって（式５）は満たしている。
【０１９３】
以上のように（式３）が成立していないため、パス１の信頼度は０となる。信頼度が０と判断された場合、量子化器の変更において量子化器発生符号量予測のデータを参照しない。よって、パス２の発生符号量が累積発生符号量予測より大きければ、制御領域で量子化器を１大きくする。パス２の発生符号量が累積発生符号量予測より小さければ、制御領域で量子化器を１小さくする。
【０１９４】
しかしながら、量子化ステップと発生符号量との逆転が起きているのはＱ１３、Ｑ１９、Ｑ２５、Ｑ３１の間にある量子化器であり、それ以外のＱ１、Ｑ７、Ｑ１３の間にある量子化器については曲線２２１上にあり、予測値としての精度は高いと考えられる。
【０１９５】
ここでＱｉｎｉｔに着目すると、ＱｉｎｉｔはＱ４である。量子化器番号４の量子化器で符号化を始め、各制御領域で量子化器の変更を行うが、量子化器番号が１３以降まで変更になる可能性は低い。
【０１９６】
そのため、図７に示した例においては、量子化器発生符号量予測を参照したほうが、より高い精度での符号量制御が可能である。
【０１９７】
これらのことから、信頼度の算出式に以下に示すような重み付けを用いる。
【０１９８】
（式１）（Ｑ１の発生符号量   − Ｑ７の発生符号量）  ＞ 特定の閾値
（式２）（Ｑ７の発生符号量   − Ｑ１３の発生符号量）＞ 特定の閾値
（式３）（Ｑ１３の発生符号量 − Ｑ１９の発生符号量）＞ 特定の閾値
（式４）（Ｑ１９の発生符号量 − Ｑ２５の発生符号量）＞ 特定の閾値
（式５）（Ｑ２５の発生符号量 − Ｑ３１の発生符号量）＞ 特定の閾値
において、それぞれの式毎に信頼度を設定する。すなわち、（式１）を満たす場合に、（式１）の信頼度を１とする。（式１）を満たさない場合に、（式１）の信頼度を０とする。
【０１９９】
（Ｑ１の発生符号量−Ｑ７の発生符号量）＝（１５００−１０００）＝５００であり、１２８より大きいため、（式１）は満たしている。よって、条件（式１）の信頼度は１である。
【０２００】
（Ｑ７の発生符号量−Ｑ１３の発生符号量）＝（１０００−７００）＝３００であり、１２８より大きいため、（式２）は満たしている。よって、条件（式２）の信頼度は１である。
【０２０１】
（Ｑ１３の発生符号量−Ｑ１９の発生符号量）＝（７００−２００）＝５００であり、１２８より大きいため、（式３）は満たしている。よって、条件（式３）の信頼度は１である。
【０２０２】
（Ｑ１９の発生符号量−Ｑ２５の発生符号量）＝（２００−４００）＝−２００であり、１２８より小さいため、（式４）は満たしていない。よって、条件（式４）の信頼度は０である。
【０２０３】
（Ｑ２５の発生符号量−Ｑ３１の発生符号量）＝（４００−２００）＝２００であり、１２８より大きいため、（式５）は満たしている。よって、条件（式５）の信頼度は１である。
【０２０４】
ＱｉｎｉｔはＱ４であるから、以下に示すような、各条件の信頼度にＱｉｎｉｔからの距離に応じた重み付け係数を定める。すなわち、Ｑｉｎｉｔと代表量子化器との量子化ステップの差が大きいほど、大きい値となる重み付け係数を定める。
【０２０５】
例えば、条件（式１）の重み付け係数は０．３５、条件（式２）の重み付け係数は０．３５、条件（式３）の重み付け係数は０．２、条件（式４）の重み付け係数は０．０５、条件（式５）の重み付け係数は０．０５とする。なお、全重み付け係数の和は１となるように、各重み付け係数を定める。先に算出した各条件の信頼度に重み付け係数を掛けると、
１×０．３５＋１×０．３５＋１×０．２＋０×０．０５＋１×０．０５
＝０．９
となる。制御部１５１は、以上のように算出された信頼度が所定の閾値以上であれば、量子化器発生符号量予測を参照して符号量制御を行う。また、算出された信頼度が所定の閾値より小さければ、量子化器発生符号量予測を参照しないで符号量制御を行う。例えば、信頼度が０．７以上であれば、量子化器発生符号量予測を参照して符号量制御を行うが、信頼度が０．７より小さければ、量子化器発生符号量予測を参照しないで符号量制御を行う。すなわち、図７の例では、量子化器発生符号量予測を参照して符号量制御を行う。なお、閾値は、ユーザによって任意に設定されてもよい。また、符号化対象画像の性質などによって設定されてもよい。例えば、ＣＧ画像などでは、第１の課題で示したように、正しい量子化器発生符号量予測が得られない可能性が高いので、閾値を大きく設定してもよい。
【０２０６】
また、代表量子化器の発生符号量予測の差分の大きさに応じた重み付けをつけても構わない。さらには、量子化器発生符号量予測の傾きの大きさに応じた重み付けをつけても構わない。
【０２０７】
本実施の形態のように、パス１で算出した符号量予測モデルに対し信頼度を設定し、パス２において信頼度に応じた符号量制御を行うことで、従来技術と比較して高精度の制御を行うことができ、高画質を実現することができる。
【０２０８】
本実施の形態では、ＭＰＥＧ２規格を用いて画像又は動画像を符号化する場合について説明したが、本発明はこれに限定されない。例えば、Ｈ．２６４規格についても応用することができる。
【０２０９】
なお、本実施の形態では、信頼度が低く、量子化器発生符号量予測を参照しない場合に、量子化器番号を１ずつ増加又は減少する構成としたが、より大きな又は小さな量子化ステップの量子化器に変更する構成としてもよい。ただし、第２の課題で説明したように、量子化ステップが大きく変更すると、復号画像の画質が低下するので、量子化器の極端な変更は好ましくない。
【０２１０】
また、本実施の形態では制御領域を定め、制御領域毎に、実際の符号量と予測値との比較を行う構成としたが、制御領域とは無関係の１以上のマクロブロックの符号化が終了する度に比較を行う構成としてもよい。ただし、マクロブロック１つ毎に比較を行うと符号量の変動が激しく、結果として量子化器の変更が非常に多くなる場合がある。このため、２以上の所定数のマクロブロック毎に比較を行う方が好ましい。
【０２１１】
なお、本発明は、上述したように、画像処理装置及び画像処理方法として実現できるだけではなく、本実施の形態の画像処理方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
【産業上の利用可能性】
【０２１２】
本発明は、２パス符号化という手法において、発生符号量が所定の符号量を超えることなく、復号画像の主観画質を向上することができ、画像符号化装置の性能向上に有効である。本発明の画像符号化装置及び画像符号化方法は、ビデオレコーダ、ノンリニア編集機で動作するソフトエンコーダなどに有用である。
【図面の簡単な説明】
【０２１３】
【図１】本実施の形態の画像符号化装置の構成を示すブロック図である。
【図２】本実施の形態の画像符号化装置の動作を示すフローチャートである。
【図３】信頼度が低い場合の制御部の動作を示すフローチャートである。
【図４】所定の符号化対象画像に対する累積発生符号量予測の一例を示す図である。
【図５】本実施の形態と従来技術とによるパス２の発生符号量と累積発生符号量予測との関係を示す図である。
【図６】本実施の形態と従来技術との量子化器番号の推移を示す図である。
【図７】代表量子化器に割り当てたマクロブロックの符号量が偏っていた場合の量子化器発生符号量予測の一例を示す図である。
【図８】符号化対象画像の一例を示す図である。
【図９】符号化対象画像に対するマクロブロック分割を示す図である。
【図１０】マクロブロックと制御領域との関係を示す図である。
【図１１】量子化器番号とフレームでの発生符号量の予測値との関係を示す図である。
【図１２】マクロブロックと累積発生符号量の予測値との関係を示す図である。
【図１３】代表量子化器に割り当てたマクロブロックの符号量が偏っていた場合の量子化器発生符号量予測の一例を示す図である。
【図１４】オブジェクトが少ない符号化対象画像に対して仮符号化を行うことで得られる量子化器発生符号量予測の一例を示す図である。
【符号の説明】
【０２１４】
１０  画像符号化装置
１００  入力部
１１０  マクロブロック構成部
１２０  バッファ
１３０  仮符号化部
１４０  信頼度決定部
１５０  本符号化部
１５１  制御部
１５２  直交変換部
１５３  量子化部
１５４  エントロピー符号化部
１６０  出力部
２００、２０１、２０２、２０３、２０４、２１０、２１１、２２０、２２１、３１０、３１１、３２０、３２１、３３０  曲線
２２２、２２３、３２２、３２３  ポイント
３００  ブロック
３０１、３０２、３０３、３０４、３０５、３０６、３０７、３０８  制御領域
【図１】
2010021741.tif 000003
【図２】
2010021741.tif 000004
【図３】
2010021741.tif 000005
【図４】
2010021741.tif 000006
【図５】
2010021741.tif 000007
【図６】
2010021741.tif 000008
【図７】
2010021741.tif 000009
【図８】
2010021741.tif 000010
【図９】
2010021741.tif 000011
【図１０】
2010021741.tif 000012
【図１１】
2010021741.tif 000013
【図１２】
2010021741.tif 000014
【図１３】
2010021741.tif 000015
【図１４】
2010021741.tif 000016