(57)【要約】【課題】算術符号化に要する時間を予め予測し、所定の処理速度を満たして符号化が完了するように符号化パラメータを制御することで、符号化時間の保証が可能な符号化装置を提供する。【解決手段】入力画像にブロック単位で直交変換を行う直交変換手段２０２と、直交変換手段２０２から入力される変換係数に対して量子化処理を行う量子化手段２０３と、量子化手段２０３から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段２０５と、２値化手段２０５から入力されるシンボルを算術符号化する算術符号化手段２０６と、量子化手段２０３から出力される量子化後の変換係数の値を入力として、算術符号化手段２０６に入力されるシンボル数を推定するシンボル数推定手段２０８とを備える。【選択図】  図１
2008131140.tif 000002
【特許請求の範囲】
【請求項１】
入力画像にブロック単位で直交変換を行う直交変換手段と、
前記直交変換手段から入力される変換係数に対して量子化処理を行う量子化手段と、
前記量子化手段から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段と、
前記２値化手段から入力されるシンボルを算術符号化する算術符号化手段と、
前記量子化手段から出力される量子化後の変換係数の値を入力として、前記算術符号化手段に入力されるシンボル数を推定するシンボル数推定手段とを備えることを特徴とする画像符号化装置。
【請求項２】
入力画像にブロック単位で直交変換を行う直交変換手段と、
前記直交変換手段から入力される変換係数に対して量子化処理を行う量子化手段と、
前記量子化手段から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段と、
前記２値化手段から入力されるシンボルを算術符号化する算術符号化手段と、
前記直交変換手段から出力される変換係数の値を入力として、前記算術符号化手段に入力されるシンボル数を推定するシンボル数推定手段とを備えることを特徴とする画像符号化装置。
【請求項３】
前記シンボル数推定手段は、入力される変換係数中の有意係数の個数を用いてシンボル数を推定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
前記シンボル数推定手段は、入力される変換係数中の有意係数の絶対値を用いてシンボル数を推定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項５】
前記シンボル数推定手段は、予め定められた処理サイクル内で算術符号化が終了するように符号化パラメータの値を生成することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項６】
入力画像にブロック単位で直交変換を行う直交変換手段と、
前記直交変換手段から入力される変換係数に対して量子化処理を行う量子化手段と、
前記量子化手段から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段と、
前記２値化手段から入力されるシンボルを算術符号化する算術符号化手段と、
前記算術符号化手段が直前のブロックの算術符号化に要した処理サイクル数を計数する算術符号化時間計数手段とを備えることを特徴とする画像符号化装置。
【請求項７】
前記算術符号化時間計数手段は、予め定められた処理サイクル内で算術符号化が終了するように符号化パラメータの値を生成することを特徴とする請求項６に記載の画像符号化装置。
【請求項８】
前記符号化パラメータとして量子化スケーリング値を用いることを特徴とする請求項５又は７に記載の画像符号化装置。
【請求項９】
前記符号化パラメータとしてマクロブロックタイプ値を用いることを特徴とする請求項５又は７に記載の画像符号化装置。
【請求項１０】
前記２値化手段は、２値化の方式としてトランケーテッド・ユーナリ(Ｔｒｕｎｃａｔｅｄ Ｕｎａｒｙ)符号化方式を用いることを特徴とする請求項１、２及び６のいずれか１項に記載の画像符号化装置。
【請求項１１】
前記２値化手段は、２値化の方式として指数ゴロム(Ｅｘｐｏｎｅｎｔｉａｌ−Ｇｏｌｏｍｂ)符号化方式を用いることを特徴とする請求項１、２及び６のいずれか１項に記載の画像符号化装置。
【請求項１２】
前記算術符号化手段は、算術符号化の方式としてＣＡＢＡＣ(Ｃｏｎｔｅｘｔ−ｂａｓｅｄ Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ)方式を用いることを特徴とする請求項１、２及び６のいずれか１項に記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像の符号化装置に関するものであり、動画像の各シンタクス要素を算術符号化方式で可変長符号化を行う手段を備えた画像符号化装置に関する。
【背景技術】
【０００２】
Ｈ．２６４符号化方式は、動画像を従来のＭＰＥＧ−２やＭＰＥＧ−４といった方式よりも高い効率での圧縮符号化が可能な規格である。
【０００３】
Ｈ．２６４符号化方式において採用され、従来よりも高い符号化効率を実現する要因となっている符号化ツール(機能)の１つとして、ＣＡＢＡＣ(Ｃｏｎｔｅｎｔ−ｂａｓｅｄ Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ)がある。
【０００４】
ＣＡＢＡＣは算術符号化の１方式であり、符号化対象シンボルを１ビット以下で表現できるため、従来のＭＰＥＧ−２やＭＰＥＧ−４で用いられているハフマン符号化に対して高い圧縮効率が得られる。
【０００５】
ＣＡＢＡＣ符号化では、各シンタクス要素の値をＢｉｎａｒｉｚａｔｉｏｎ(２値化)後、１ビット(シンボル)ずつ算術符号化を行う。
【０００６】
例えば、ＤＣＴ係数に対するシンタクス要素値の２値化には、トランケーテッド・ユーナリ(Ｔｒｕｎｃａｔｅｄ Ｕｎａｒｙ, ＴＵ)符号化及び指数ゴロム(Ｅｘｐｏｎｅｎｔｉａｌ−Ｇｏｌｏｍｂ)符号化を用いる。
【０００７】
図５に示すとおり、有意係数(絶対値が０でない係数)の絶対値が１４まではＴＵ、１４を超える値に対しては加えて指数Ｇｏｌｏｍｂ符号化処理が施される。二値化後のビット列の各ビットが算術符号化の１シンボルに対応する。
【０００８】
このため、有意係数の絶対値の大きさによっては多くのシンボル数(最大で４３ビット)が生成され、絶対値の大きい有意係数の多い場合は非常に多くの処理時間を要する。
【０００９】
また、算術符号化は前のビットの符号化結果を用いるため並列化が難しい。例えば１シンボル/１サイクルの処理性能の場合には１シンタクス要素あたり最大４３サイクルを要する。
【００１０】
加えて、シンボルは指数Ｇｏｌｏｍｂ符号化終了後に得られるために、予め算術符号化に要する処理時間を予測することは困難であり、符号化時間を保証できないという問題がある。
【００１１】
特許文献１に開示された「画像情報符号化方法及び画像情報復号方法」では、算術符号化手段に入力される２値化した後のデータ量を監視する。この技術によれば、２値化後のデータ量が大きく算術符号化が所定の処理速度を満たさないと判断した場合に、異なる符号化処理を適用することで、符号化装置がある一定の処理時間を保証することが可能となる。
【００１２】
【特許文献１】特開２００４−１３５２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記方法でシンボル数が判明するのは各シンタクス要素値に２値化を施した後であり、算術符号化の直前段階まで符号化に要する時間を予測することは出来ない。
【００１４】
そこで本発明では、算術符号化に要する時間を予め予測し、所定の処理速度を満たして符号化が完了するように符号化パラメータを制御することで、符号化時間の保証が可能な符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の画像符号化装置は、入力画像にブロック単位で直交変換を行う直交変換手段と、前記直交変換手段から入力される変換係数に対して量子化処理を行う量子化手段と、前記量子化手段から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段と、前記２値化手段から入力されるシンボルを算術符号化する算術符号化手段と、前記量子化手段から出力される量子化後の変換係数の値を入力として、前記算術符号化手段に入力されるシンボル数を推定するシンボル数推定手段とを備えることを特徴とする。
また、本発明の画像符号化装置は、入力画像にブロック単位で直交変換を行う直交変換手段と、前記直交変換手段から入力される変換係数に対して量子化処理を行う量子化手段と、前記量子化手段から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段と、前記２値化手段から入力されるシンボルを算術符号化する算術符号化手段と、前記直交変換手段から出力される変換係数の値を入力として、前記算術符号化手段に入力されるシンボル数を推定するシンボル数推定手段とを備えることを特徴とする。
また、本発明の画像符号化装置は、入力画像にブロック単位で直交変換を行う直交変換手段と、前記直交変換手段から入力される変換係数に対して量子化処理を行う量子化手段と、前記量子化手段から入力される量子化後の変換係数を２値化してシンボルに変換する２値化手段と、前記２値化手段から入力されるシンボルを算術符号化する算術符号化手段と、前記算術符号化手段が直前のブロックの算術符号化に要した処理サイクル数を計数する算術符号化時間計数手段とを備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、算術符号化を用いて動画像をブロック単位で符号化する画像符号化装置において、２値化シンボルに変換する前の各変換係数の値から２値化後のシンボル数を推定する。よって、算術符号化に要する時間を予め予測することが可能となる。
【発明を実施するための最良の形態】
【００１７】
（第１の実施の形態）
以下、本発明の第１の実施の形態における画像符号化装置を用いたＨ．２６４ ＣＡＢＡＣ方式符号化の手順を、図面を参照して説明する。
【００１８】
図１において、符号化対象フレームの画像データが予測手段１０１へ入力される。また、参照画像メモリ１１２には、時間的に前後するフレームの画像データが格納されている。予測手段１０１は符号化対象の画像データ及び参照画像メモリ１１２を参照し、画像の空間的及び時間的相関を利用した予測を行う。
【００１９】
具体的には、フレームをブロック単位に分割し、イントラ(画面内)予測やインター(画面間)予測といった予測方式を用いて、予測画素データで構成される予測画素ブロックを生成する。
【００２０】
直交変換手段１０２は各予測画素ブロックの予測画素データに対し直交変換を行い、直交変換係数データから構成される変換係数ブロックを生成する。
【００２１】
量子化手段１０３は定められた量子化パラメータ値を用い、変換係数ブロック中の各直交変換係数データに対し量子化を行い、量子化された変換係数ブロックを生成する。
【００２２】
量子化された変換係数ブロックはエントロピー符号化手段１０４で符号化されビットストリームが生成される。
【００２３】
またその一方で、逆量子化手段１０９、逆直交変換手段１１０、再構成手段１１１で、それぞれ量子化手段１０３、直交変換手段１０２、予測手段１０１でなされた逆の処理によって、画像データが再構成される。再構成された画像データは参照画像メモリ１１２に格納される。
【００２４】
エントロピー符号化手段１０４の内部では、入力である量子化された変換係数ブロックの有意係数(絶対値が０より大きい変換係数)が２値化手段によってビット列であるシンボルに変換される。
【００２５】
またコンテキスト生成手段１０７では、入力である量子化された変換係数ブロック中の値に基づき、符号化結果たる２値信号の発生確率を定める算術符号コンテキスト情報が生成される。
【００２６】
算術符号化手段１０６では、シンボルの値及びコンテキスト情報に基づき、シンボルを１ビットずつ符号化して、符号化結果である０、１のビットストリームを出力する。
【００２７】
エントロピー符号化手段１０４には量子化手段１０３から出力される量子化された変換係数ブロック中の各有意係数が符号化シンボルとして入力される。
【００２８】
一方、算術符号化手段１０６に入力されるシンボルは１ビット単位である。１つの有意係数シンボルは２値化手段１０５により、図５で示されるような、トランケーテッド・ユーナリ(Ｔｒｕｎｃａｔｅｄ Ｕｎａｒｙ， ＴＵ)符号化および指数ゴロム(Ｅｘｐｏｎｅｎｔｉａｌ Ｇｏｌｏｍｂ)符号化が行われる。つまり、１有意係数シンボルあたり最大４３ビットのビット列に変換される。
【００２９】
上記２値化方式では、１４までの値に対しＴＵ符号化が、それより大きい値に対しては、１４を超える部分に指数ゴロム符号化がなされ、有意係数の絶対値が大きい程ビット列が長くなる。
【００３０】
例えば図４において、有意係数の絶対値が５４のときは、ビット長は２５ビット、有意係数が５のときは、ビット長は５ビットとなる。
【００３１】
２値化後のビット列は１ビット(シンボル)単位にしか算術符号化できず、前回の符号化結果を用いる関係上並列化も難しい。そのため、算術符号化手段の性能が１シンボル/１サイクルであれば、エントロピー符号化手段１０４は１シンボルの符号化に最大４３サイクルを要する。
【００３２】
本実施形態では、量子化手段１０３で生成された量子化された変換係数ブロックをもとに、シンボル数推定手段１０８が２値化後のシンボル数を推定する。
【００３３】
シンボル数推定手段１０８は、ブロック中の各有意係数の個数及び絶対値の大きさから、２値化手段１０５で生成されるシンボル数、すなわち算術符号化に要する処理時間を推定する。
【００３４】
シンボル数推定手段１０８は、当該フレームの符号化処理が規定時間内に収まるよう、量子化手段１０３における量子化パラメータを制御する。
【００３５】
具体的には、量子化パラメータの値を大きくし、ブロック内の有意係数の絶対値を小さくすることで、２値化により生成されるシンボル数を減少させる。
【００３６】
量子化パラメータの制御方法について図８および図９を用いて詳細に説明する。図８は横軸に符号化を行ったマクロブロック(ＭＢ)数、縦軸に算術符号化を行ったシンボル数をとったグラフを示す。
【００３７】
1フレームあたりの総ＭＢ数をＮとする。算術符号化手段の性能から、所定の処理速度を満たすために許容される１フレームあたりの最大シンボル数Ｓmaxが決まる。
【００３８】
しかしながら正確なシンボル数は実際に２値化を行った後でしかわからないので、本実施例ではブロック中の各有意係数の絶対値の大きさをもとに量子化パラメータを制御する。
【００３９】
図９は横軸に符号化を行ったマクロブロック(ＭＢ)数、縦軸にブロック内の有意係数の絶対値の総和をとったグラフを示す。
【００４０】
２値化シンボルの数は有意係数の大きさと相関があるので、所定の処理速度を満たすために許容される１フレームあたりの有意係数の絶対値の総和Ｃmaxが、最大シンボル数Ｓmaxに基づいて決まる。
【００４１】
ここで縦軸の値として他に、ブロック内の有意係数の個数や、ブロック内の有意係数の絶対値に応じて重み付けした値の総和(例えば、値が１４以下の場合とそれ以外で総和の際の重み付けを変える)を用いることも考えられる。
【００４２】
図９で、i番目のＭＢ符号化時点での有意係数の絶対値の総和をＣとする。この時点での当該グラフの傾きαはＣ/ｉであらわされる。
【００４３】
ここで、全てのＭＢを符号化したとき、有意係数の絶対値の総和は、許容される１フレームあたりの有意係数の絶対値の総和Ｃmaxを上回る、すなわちα・Ｎ> Ｃmaxとなることが予想される。
【００４４】
すなわちこのままでは所定の処理速度を満たすことが出来ない。そこで、量子化パラメータを制御することで当該グラフの傾きαを減少させ、1フレームの総ＭＢ(Ｎ)の符号化処理が完了した時点で総シンボル数がＣmaxを超えないようにする。
【００４５】
具体的には、量子化パラメータを増大させることで、各ブロックの変換係数の値を小さくする、もしくは０にすることで、有意係数の絶対値を減少せしめ、２値化後のシンボル数を減少させる。
【００４６】
また、シンボル数推定手段１０８は、当該フレームの符号化処理が規定時間内に収まるよう、予測手段１０１における符号化パラメータを制御する。
【００４７】
具体的には、Ｉ_ＰＣＭ符号化モードのような、ＣＡＢＡＣ符号化が適用されない、すなわち２値化シンボルを用いない符号化を行う。
【００４８】
上記Ｉ_ＰＣＭ符号化モードを適宜用いることで算術符号化シンボル数を抑制することが可能となる。上記の量子化パラメータおよび符号化パラメータ制御処理は、符号化対象ブロックの符号化を最初からやり直す際に適用しても良い(２パス制御)し、次の符号化対象以降の処理で用いても良い(１パス制御)。
【００４９】
図６に本実施形態における量子化パラメータの1パス制御の例のフローチャートを示す。まず、ステップＳ６０１においては符号化対象ブロックの量子化を行う。
【００５０】
ステップＳ６０２では、ブロック中の有意係数をもとに、現ブロックの２値化シンボル数を予測する。
【００５１】
ステップＳ６０３では、ステップＳ６０２で予測したシンボル数から、現在までの総予測シンボル数を求める。
【００５２】
ステップＳ６０４では、総予測シンボル数および現在までに符号化したマクロブロック数から、図８のような、予測シンボル数とマクロブロック数の関係のグラフの傾きαを求める。
【００５３】
ステップＳ６０５では、ステップＳ６０４で求めた傾きαおよび１フレームあたりの総マクロブロック数とから、１フレーム全てを符号化したときの総シンボル数を予測する。
【００５４】
ステップＳ６０６では、ステップＳ６０５で予測した総シンボル数と、処理可能なシンボル数を比較し、予測した総シンボル数が大きければステップＳ６０７へ、そうでないならステップＳ６０８へ処理を移る。
【００５５】
ステップＳ６０７では、次回以降のマクロブロックの量子化に用いる量子化スケール値を増大させる。ステップＳ６０８では、当該マクロブロックの算術符号化を行う。
【００５６】
ステップＳ６０９では、当該マクロブロックの符号化で全てのマクロブロック符号化を終了したかを調べ、全て符号化済みなら終了、そうでないなら、次のマクロブロックの符号化へ移る。
【００５７】
図７に本実施形態における量子化パラメータの２パス制御の例のフローチャートを示す。まず、ステップＳ７０１においては符号化対象ブロックの量子化を行う。
【００５８】
ステップＳ７０２では、ブロック中の有意係数をもとに、現ブロックの２値化シンボル数を予測する。
【００５９】
ステップＳ７０３では、ステップＳ７０２で予測したシンボル数から、現在までの総予測シンボル数を求める。
【００６０】
ステップＳ７０４では、総予測シンボル数および現在までに符号化したマクロブロック数から、図８のような、予測シンボル数とマクロブロック数の関係のグラフの傾きαを求める。
【００６１】
ステップＳ７０５では、ステップＳ７０４で求めた傾きαおよび１フレームあたりの総マクロブロック数とから、１フレーム全てを符号化したときの総シンボル数を予測する。
【００６２】
ステップＳ７０６では、ステップＳ７０５で予測した総シンボル数と、処理可能なシンボル数を比較し、予測した総シンボル数が大きければステップＳ７０７へ、そうでないならステップＳ７０８へ処理を移る。
【００６３】
ステップＳ７０７では、マクロブロックの量子化に用いる量子化スケール値を増大させ、ステップＳ７０１へ戻り当該マクロブロックの量子化処理をやり直す。ステップＳ７０８では、当該マクロブロックの算術符号化を行う。
【００６４】
ステップＳ７０９では、当該マクロブロックの符号化で全てのマクロブロック符号化を終了したかを調べ、全て符号化済みなら終了、そうでないなら、次のマクロブロックの符号化へ移る。
【００６５】
上述の通り、量子化された変換係数ブロック中の有意係数をもとに２値化後のシンボル数を予測し、符号化パラメータを変える事で２値化後のシンボル数を制御する。そうすることで算術符号化に要する処理時間を制御することができ、結果的に符号化処理時間を保証することが可能となる。
【００６６】
（第２の実施の形態）
以下、本発明の第２に実施の形態における画像符号化装置を用いたＨ．２６４ ＣＡＢＡＣ方式符号化の手順を、図面を参照して説明する。
【００６７】
図２において、符号化対象フレームの画像データが予測手段２０１へ入力される。また、参照画像メモリ２１２には、時間的に前後するフレームの画像データが格納されている。
【００６８】
予測手段２０１は符号化対象の画像データ及び参照画像メモリ２１２を参照し、画像の空間的及び時間的相関を利用した予測を行う。直交変換手段２０２は各予測画素ブロックの予測画素データに対し直交変換を行い、直交変換係数データから構成される変換係数ブロックを生成する。
【００６９】
量子化手段２０３は定められた量子化パラメータ値を用い、変換係数ブロック中の各直交変換係数データに対し量子化を行い、量子化された変換係数ブロックを生成する。
【００７０】
量子化された変換係数ブロックはエントロピー符号化手段２０４で符号化されビットストリームが生成される。
【００７１】
またその一方で、逆量子化手段２０９、逆直交変換手段２１０、再構成手段２１１で、それぞれ量子化手段２０３、直交変換手段２０２、予測手段２０１でなされた逆の処理によって、画像データが再構成される。
【００７２】
再構成された画像データは参照画像メモリ２１２に格納される。エントロピー符号化手段２０４の内部では、入力である量子化された変換係数ブロックの有意係数(絶対値が０より大きい変換係数)が２値化手段によってビット列であるシンボルに変換される。
【００７３】
またコンテキスト生成手段２０７では、入力である量子化された変換係数ブロック中の値に基づき、符号化結果たる２値信号の発生確率を定める算術符号コンテキスト情報が生成される。
【００７４】
算術符号化手段２０６では、シンボルの値及びコンテキスト情報に基づき、シンボルを１ビットずつ符号化を行い、符号化結果である０，１のビットストリームを出力する。
【００７５】
本実施形態では、直交変換手段２０２で生成された変換係数ブロックをもとに、シンボル数推定手段２０８が２値化後のシンボル数を推定する。
【００７６】
シンボル数推定手段２０８は、ブロック中の各有意係数の個数及び絶対値の大きさから、２値化手段２０５で生成されるシンボル数、すなわち算術符号化に要する処理時間を推定する。
【００７７】
シンボル数推定手段２０８は、当該フレームの符号化処理が規定時間内に収まるよう、量子化手段２０３における量子化パラメータを制御する。
【００７８】
量子化パラメータの制御方法について図８および図１０を用いて詳細に説明する。図８は横軸に符号化を行ったマクロブロック(ＭＢ)数、縦軸に算術符号化を行ったシンボル数をとったグラフを示す。1フレームあたりの総ＭＢ数をＮとする。
【００７９】
算術符号化手段の性能から、所定の処理速度を満たすために許容される１フレームあたりの最大シンボル数Ｓmaxが決まる。
【００８０】
しかしながら正確なシンボル数は実際に２値化を行った後でしかわからないので、本実施形態ではブロック中の各有意係数に簡易量子化処理を行い、その絶対値の大きさをもとに量子化パラメータを制御する。
【００８１】
具体的には、各有意係数に対し、量子化スケール値に最も近い２のべき乗数で除算を行い、その値の絶対値の大きさを用いる。上記除算はビットシフト操作だけで可能なため高速に演算可能である。
【００８２】
図１０は横軸に符号化を行ったマクロブロック(ＭＢ)数、縦軸にブロック内の有意係数の簡易量子化処理後の絶対値の総和をとったグラフを示す。
【００８３】
２値化シンボルの数は量子化後の有意係数の大きさと相関があるので、所定の処理速度を満たすために許容される１フレームあたりの有意係数の簡易量子化処理後の絶対値の総和Ｃ'ｍａｘが、最大シンボル数Ｓmaxに基づいて決まる。
【００８４】
図１０で、ｉ番目のＭＢ符号化時点での有意係数の簡易量子化処理後の絶対値の総和を
Ｃ'とする。この時点での当該グラフの傾きαはＣ'/ｉであらわされる。
【００８５】
ここで、全てのＭＢを符号化したとき、算術符号化された有意係数の簡易量子化処理後の絶対値の総和は、許容される１フレームあたりの有意係数の簡易量子化処理後の絶対値の総和Ｃ'ｍａｘを上回る、すなわちα・Ｎ> Ｃ'ｍａｘとなることが予想される。すなわちこのままでは所定の処理速度を満たすことが出来ない。
【００８６】
そこで、量子化パラメータを制御することで当該グラフの傾きαを減少させ、１フレームの総ＭＢ(Ｎ)の符号化処理が完了した時点で総シンボル数がＣ'ｍａｘを超えないようにする。
【００８７】
具体的には、量子化パラメータを増大させることで、各ブロックの変換係数の値を小さくする、もしくは０にすることで、有意係数の絶対値を減少せしめ、２値化後のシンボル数を減少させる。
【００８８】
図１１に本実施形態における量子化パラメータ制御の例のフローチャートを示す。まず、ステップＳ１１１０においては、符号化対象ブロック内の各データに対し直交変換を行う。
【００８９】
ステップＳ１１０２では、直交変換後のブロック中の有意係数に簡易量子化処理を行い、得られた有意係数の絶対値から、現ブロックの２値化シンボル数を予測する。
【００９０】
ステップＳ１１０３では、ステップＳ１１０２で予測したシンボル数から、現在までの総予測シンボル数を求める。
【００９１】
ステップＳ１１０４では、総予測シンボル数および現在までに符号化したマクロブロック数から、図８のような、予測シンボル数とマクロブロック数の関係のグラフの傾きαを求める。
【００９２】
ステップＳ１１０５では、ステップＳ１１０４で求めた傾きαおよび1フレームあたりの総マクロブロック数とから、1フレーム全てを符号化したときの総シンボル数を予測する。
【００９３】
ステップＳ１１０６では、ステップＳ１１０５で予測した総シンボル数と、処理可能なシンボル数を比較し、予測した総シンボル数が大きければステップＳ１１０７へ、そうでないならステップＳ１１０１へ処理を移る。
【００９４】
ステップＳ１１０７では、当該マクロブロックの量子化に用いる量子化スケール値を増大させる。
【００９５】
ステップＳ１１０１では、当該マクロブロックの量子化を行う。ステップＳ１１０８では、当該マクロブロックの算術符号化を行う。
【００９６】
ステップＳ１１０９では、当該マクロブロックの符号化で全てのマクロブロック符号化を終了したかを調べ、全て符号化済みなら終了、そうでないなら、次のマクロブロックの符号化へ移る。
【００９７】
上述の通り、変換係数ブロック中の有意係数に簡易量子化処理を行い、その絶対値をもとに２値化後のシンボル数を予測し、予測に応じて量子化スケール値を変える事で２値化後のシンボル数を制御する。そうすることで算術符号化に要する処理時間を制御することができ、結果的に符号化処理時間を保証することが可能となる。
【００９８】
（第３の実施の形態）
以下、本発明の第３の実施の形態における画像符号化装置を用いたＨ．２６４ ＣＡＢＡＣ方式符号化の手順を、図面を参照して説明する。
【００９９】
図３において、符号化対象フレームの画像データが予測手段３０１へ入力される。また、参照画像メモリ３１２には、時間的に前後するフレームの画像データが格納されている。
【０１００】
予測手段３０１は符号化対象の画像データ及び参照画像メモリ３１２を参照し、画像の空間的及び時間的相関を利用した予測を行う。
【０１０１】
直交変換手段３０２は各予測画素ブロックの予測画素データに対し直交変換を行い、直交変換係数データから構成される変換係数ブロックを生成する。
【０１０２】
量子化手段３０３は定められた量子化パラメータ値を用い、変換係数ブロック中の各直交変換係数データに対し量子化を行い、量子化された変換係数ブロックを生成する。
【０１０３】
量子化された変換係数ブロックはエントロピー符号化手段３０４で符号化されビットストリームが生成される。
【０１０４】
またその一方で、逆量子化手段３０９、逆直交変換手段３１０、再構成手段３１１で、それぞれ量子化手段３０３、直交変換手段３０２、予測手段３０１でなされた逆の処理によって、画像データが再構成される。再構成された画像データは参照画像メモリ３１２に格納される。
【０１０５】
エントロピー符号化手段３０４の内部では、入力である量子化された変換係数ブロックの有意係数(絶対値が０より大きい変換係数)が２値化手段によってビット列であるシンボルに変換される。
【０１０６】
またコンテキスト生成手段３０７では、入力である量子化された変換係数ブロック中の値に基づき、符号化結果たる２値信号の発生確率を定める算術符号コンテキスト情報が生成される。
【０１０７】
算術符号化手段３０６では、シンボルの値及びコンテキスト情報に基づき、シンボルを１ビットずつ符号化を行い、符号化結果である０，１のビットストリームを出力する。
【０１０８】
本実施形態では、符号化時間測定手段３０８が算術符号化処理に要した時間を計測する。符号化時間測定手段３０８は、計測した時間に応じて、当該フレームの符号化処理が規定時間内に収まるよう、量子化手段３０３における量子化パラメータを制御する。
【０１０９】
量子化パラメータの制御方法について図１２を用いて詳細に説明する。図１２は横軸に符号化を行ったマクロブロック(ＭＢ)数、縦軸に算術符号化に要した時間をとったグラフを示す。１フレームあたりの総ＭＢ数をＮとする。
【０１１０】
所定の処理速度を満たすために許容される１フレームあたりの最大符号化処理時間をＴmaxとする。
【０１１１】
図１２で、ｉ番目のＭＢ符号化時点での算術符号化に要した時間の総和をＴとする。こ
の時点での当該グラフの傾きαはＴ/ｉであらわされる。
【０１１２】
ここで、全てのＭＢを符号化したとき、算術符号化に要する時間の総和は、許容される１フレームあたりの最大符号化処理時間Ｔmaxを上回る、すなわちα・Ｎ> Ｔmaxとなることが予想される。すなわちこのままでは所定の処理速度を満たすことが出来ない。
【０１１３】
そこで、量子化パラメータを制御することで当該グラフの傾きαを減少させ、１フレームの総ＭＢ(Ｎ)の符号化処理が完了した時点で総処理時間がＴmaxを超えないようにする。
【０１１４】
具体的には、量子化パラメータを増大させることで、各ブロックの変換係数の値を小さくする、もしくは０にすることで、有意係数の絶対値すなわち２値化後のシンボル数を減少させることで、算術符号化に要する時間を減少させる。
【０１１５】
図１３に本実施形態における量子化パラメータ制御の例のフローチャートを示す。まず、ステップＳ１３０１においては符号化対象ブロック内の各データに対し量子化を行う。
【０１１６】
ステップＳ１３０８では、符号化対象ブロックを算術符号化する。ステップＳ１３０２では、算術符号化に要した時間を計測する。
【０１１７】
ステップＳ１３０３では、ステップＳ１３０２で計測した処理時間から、現在までの総処理時間を求める。
【０１１８】
ステップＳ１３０４では、総処理時間および現在までに符号化したマクロブロック数から、図１２のような、処理時間とマクロブロック数の関係のグラフの傾きαを求める。
【０１１９】
ステップＳ１３０５では、ステップＳ１３０４で求めた傾きαおよび１フレームあたりの総マクロブロック数とから、１フレーム全てを符号化したときの総処理時間を予測する。
【０１２０】
ステップＳ１３０６では、ステップＳ１３０５で予測した総処理時間と、許容される１フレームあたりの最大符号化処理時間を比較し、予測した総処理時間が大きければステップＳ１３０７へ、そうでないならステップＳ１３０９へ処理を移る。
【０１２１】
ステップＳ１３０９では、当該マクロブロックの符号化で全てのマクロブロック符号化を終了したかを調べ、全て符号化済みなら終了、そうでないなら、次のマクロブロックの符号化へ移る。
【０１２２】
上述の通り、算術符号化に要する処理時間を計測、累算し、その値をもとに１フレーム全てを符号化したときの総処理時間を予測し、予測に応じて量子化スケール値を変える事で２値化後のシンボル数を制御する。そうすることで算術符号化に要する処理時間を制御することができ、結果的に符号化処理時間を保証することが可能となる。
【０１２３】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。
【０１２４】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１２６】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。
【０１２７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行ってもよい。
【図面の簡単な説明】
【０１２８】
【図１】本発明の第１の実施の形態に係る画像符号化装置のブロック図である。
【図２】本発明の第２の実施の形態に係る画像符号化装置のブロック図である。
【図３】本発明の第３の実施の形態に係る画像符号化装置のブロック図である。
【図４】２値化処理の説明図である。
【図５】ＴＵおよび指数ゴロム方式２値化処理の説明図である。
【図６】本発明の第１の実施の形態に係る画像符号化装置における１パス処理を説明するためにフローチャートである。
【図７】本発明の第１の実施の形態に係る画像符号化装置における２パス処理を説明するためのフローチャートである。
【図８】符号化マクロブロック数と２値化シンボル数との関係のグラフを示す図である。
【図９】本発明の第１の実施の形態に係る符号化マクロブロック数と有意係数の絶対値の総和との関係のグラフを示す図である。
【図１０】本発明の第２の実施の形態に係る符号化マクロブロック数と簡易量子化後の有意係数の絶対値の総和との関係のグラフを示す図である。
【図１１】本発明の第２の実施の形態に係る画像符号化装置における処理を説明するためのフローチャートである。
【図１２】本発明の第３の実施の形態に係る符号化マクロブロック数と符号化処理時間の総和との関係のグラフを示す図である。
【図１３】本発明の第３の実施の形態に係る画像符号化装置における処理を説明するためのフローチャートである。
【符号の説明】
【０１２９】
１０１、２０１、３０１  予測手段
１０２、２０２、３０２  直交変換手段
１０３、２０３、３０３  量子化手段
１０４、２０４、３０４  エントロピー符号化手段
１０５、２０５、３０５  ２値化手段
１０６、２０６、３０６  算術符号化手段
１０７、２０７、３０７  コンテキスト生成手段
１０８、２０８、  シンボル数推定手段
１０９、２０９、３０９  逆量子化手段
１１０、２１０、３１０  逆直交化手段
１１１、２１１、３１１  再構成手段
１１２、２１２、３１２  参照画像メモリ
３０８  符号化時間測定手段
【図１】
2008131140.tif 000003
【図２】
2008131140.tif 000004
【図３】
2008131140.tif 000005
【図４】
2008131140.tif 000006
【図５】
2008131140.tif 000007
【図６】
2008131140.tif 000008
【図７】
2008131140.tif 000009
【図８】
2008131140.tif 000010
【図９】
2008131140.tif 000011
【図１０】
2008131140.tif 000012
【図１１】
2008131140.tif 000013
【図１２】
2008131140.tif 000014
【図１３】
2008131140.tif 000015