(57)【要約】【課題】算術符号化を用いる場合に、符号量推定をリアルタイムで高精度に行うことで、適切な符号量制御を実現できる符号量推定装置を提供する。【解決手段】コンテキストインデックス算出部２０１から出力される同一のコンテキストインデックスを有する２値シンボル列と、シンボル発生確率情報保持部２０２から出力されるシンボル発生確率情報と、確率区間情報保持部から出力される下位桁が丸められた確率区間幅を入力として、推定符号量算出部２０４においてテーブル引きにより算術符号化の近似計算を行い、推定符号量を算出する。【選択図】図１
2010219842.tif 000002
【特許請求の範囲】
【請求項１】
算術符号化後の２値データが有する符号量を推定する符号量推定装置であって、
前記２値データに含まれる２値シンボルのシンボル発生確率情報を保持するシンボル発生確率情報保持手段と、
前記シンボル発生確率情報を指し示すコンテキストインデックスを算出するコンテキストインデックス算出手段と、
前記２値データが有する符号量を推定する際に用いる確率区間幅の値を保持する確率区間情報保持手段と、
前記コンテキストインデックスが示すシンボル発生確率と、前記確率区間幅と、を基に前記２値データの推定符号量を算出する推定符号量算出手段と、を備え、
前記推定符号量算出手段は、前記推定符号量を算出する際に用いたシンボル発生確率と、前記確率区間情報保持手段に保持される確率区間と、に応じて、前記シンボル発生確率情報保持手段に保持されるシンボル発生確率情報と、前記確率区間情報保持手段に保持される確率区間幅の設定変更を行う、
符号量推定装置。
【請求項２】
前記確率区間幅は、算術符号化処理に用いる確率区間幅よりも低いビット精度で表現された値である
ことを特徴とする請求項１に記載の符号量推定装置。
【請求項３】
前記推定符号量算出手段は、前記２値シンボルと前記確率区間幅および前記シンボル発生確率情報を入力とし、更新後の確率区間幅を出力するテーブルに基づいて前記確率区間幅を更新する
ことを特徴とする請求項１に記載の符号量推定装置。
【請求項４】
前記推定符号量算出手段は、前記２値シンボルと前記シンボル発生確率情報を入力とし、更新後のシンボル発生確率情報を出力するテーブルに基づいて前記シンボル発生確率情報を更新する
ことを特徴とする請求項１に記載の符号量推定装置。
【請求項５】
前記推定符号量算出手段は、前記２値シンボルと前記確率区間幅および前記シンボル発生確率情報を入力とし、前記２値シンボルに対応して出力される符号量の推定値を出力するテーブルに基づいて推定符号量を算出する
ことを特徴とする請求項１に記載の符号量推定装置。
【請求項６】
前記推定符号量算出手段は、同一のコンテキストインデックスを有する連続する前記２値シンボルを一括で処理する
ことを特徴とする請求項１、２、３、４、５に記載の符号量推定装置。
【請求項７】
前記推定符号量算出手段は、同一のコンテキストインデックスを有し、かつ同一の値である連続する前記２値シンボルを一括で処理する
ことを特徴とする請求項１、２、３、４、５に記載の符号量推定装置。
【請求項８】
前記同一の値は１である
ことを特徴とする請求項７に記載の符号量推定装置。
【請求項９】
前記推定符号量算出手段は、バイパス符号化により符号化する２値シンボルについては２値シンボル数を計数することにより推定符号量を算出する
ことを特徴とする請求項１に記載の推定符号量推定装置。
【請求項１０】
入力される２値データの算術符号化後の推定符号量を算出する符号量推定方法であって、
前記推定符号量の算出に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出するコンテキストインデックス算出ステップと、
前記コンテキストインデックス毎に対応したシンボル発生確率情報を保持するシンボル発生確率情報保持ステップと、
前記推定符号量の算出に用いる確率区間幅の値を保持する確率区間情報保持ステップと、
前記２値データに含まれる２値シンボルと、前記シンボル発生確率情報および前記確率区間幅を基に、前記２値シンボルの算術符号化後の推定符号量を算出するとともに、前記シンボル発生確率情報と、前記確率区間幅と、を更新する推定符号量算出ステップとを備える符号量推定方法。
【請求項１１】
入力される２値データの算術符号化後の推定符号量を算出する符号量推定プログラムであって、
前記推定符号量の算出に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出するコンテキストインデックス算出ステップと、
前記コンテキストインデックス毎に対応したシンボル発生確率情報を保持するシンボル発生確率情報保持ステップと、
前記推定符号量の算出に用いる確率区間幅の値を保持する確率区間情報保持ステップと、
前記２値データに含まれる２値シンボルと、前記シンボル発生確率情報および前記確率区間幅を基に、前記２値シンボルの算術符号化後の推定符号量を算出するとともに、前記シンボル発生確率情報と、前記確率区間幅と、を更新する推定符号量算出ステップとを備える符号量推定プログラム。
【請求項１２】
入力される２値データの算術符号化後の推定符号量を算出する符号量推定集積回路であって、
前記推定符号量の算出に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出するコンテキストインデックス算出手段と、
前記コンテキストインデックス毎に対応したシンボル発生確率情報を保持するシンボル発生確率情報保持手段と、
前記推定符号量の算出に用いる確率区間幅の値を保持する確率区間情報保持手段と、
前記２値データに含まれる２値シンボルと、前記シンボル発生確率情報および前記確率区間幅を基に、前記２値シンボルの算術符号化後の推定符号量を算出するとともに、前記シンボル発生確率情報と、前記確率区間幅と、を更新する推定符号量算出手段と、を備える符号量推定集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に関するデータを符号化する符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路に関し、特に算術符号化を用いる場合に、符号量推定をリアルタイムで高精度に行うことで、適切な符号量制御を実現できる符号量推定技術に関する。
【背景技術】
【０００２】
近年、デジタル映像技術の発展とともに、扱われる映像データ、特に動画像のデータ量は増加の一途を辿っている。例えば、最近実用化されているＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像では、従来のＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）映像と比べて、約６倍のデータ量となっている。
【０００３】
一方、コンピュータやその他機器の情報処理能力の向上に伴い、複雑な演算を用いた動画圧縮が可能となっており、映像データの圧縮率は大幅に高められてきている。近年規格化されたＨ．２６４／ＡＶＣは、ＭＰＥＧ−２の２倍前後の圧縮率を実現する規格である。Ｈ．２６４／ＡＶＣでは、多くの圧縮化技術を組み合わせることで高い圧縮率を実現している。このため、従来の圧縮方式に比べ演算量も大幅に増加している。
【０００４】
Ｈ．２６４／ＡＶＣで採用されている圧縮化技術の一つにエントロピー符号化（可変長符号化）がある。Ｈ．２６４／ＡＶＣではエントロピー符号化の方式として、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）とＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）という２つの方式が用意されている。ＣＡＢＡＣはＣＡＶＬＣに比べて、より複雑な演算を要するものの高い符号圧縮率を実現する。
【０００５】
ＣＡＢＡＣでの符号化は主に２つの処理に分けられる。１つ目は符号化すべき多値データを２値データに変換する２値化と呼ばれる処理である。２つ目は２値化によって得られた２値データの発生確率を計算および更新し、算術符号化を行う算術符号化処理である。
【０００６】
ＣＡＢＡＣにおける算術符号化処理は、１つ前の２値シンボルを符号化する際に更新した確率区間情報及び、シンボル発生確率情報を用いて符号化を行う。そのため、算術符号化処理においては、２値シンボル単位の逐次処理を行う必要がある。しかし、算術符号化処理においては、２値シンボルのデータ量が多くなった場合、リアルタイム処理が困難となり、必ずしもリアルタイムで符号量を測定できない。そのため、発生符号量に基づいて適切に符号量を制御できないという課題があった。この課題を解決するために、例えば入力画像信号に対してフレーム内及び、フレーム間予測処理を施して得られた予測残差に基づいて発生符号量を予測する方式が提案されている（例えば、特許文献１を参照）。
【特許文献１】特開２００５−２０３９０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、算術符号化を行わずに仮符号化を行う従来の方式では、実際に行う処理方式と、符号量を推定するための処理方式が異なるため、符号量推定を精度よく行うことができない課題があった。
【０００８】
本発明は、このような従来の課題を解決するもので、符号量推定をリアルタイムで高精度に行うことで、適切な符号量制御を実現できる符号量推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、入力される２値データの算術符号化後の推定符号量を算出する符号量推定装置であって、推定符号量の算出に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出するコンテキストインデックス算出手段と、各コンテキストインデックスに対応したシンボル発生確率情報を保持するシンボル発生確率情報保持手段と、推定符号量の算出に用いる確率区間幅の値を保持する確率区間情報保持手段と、２値データに含まれる２値シンボルと、シンボル発生確率情報および確率区間幅を基に、２値シンボルの算術符号化後の推定符号量を算出するとともに、シンボル発生確率情報と確率区間幅の更新値を算出する推定符号量算出手段とを備えることを特徴としている。
【００１０】
また、本発明は、入力される２値データの算術符号化後の推定符号量を算出する符号量推定方法であって、推定符号量の算出に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出するコンテキストインデックス算出手段と、各コンテキストインデックスに対応したシンボル発生確率情報を保持するシンボル発生確率情報保持手段と、推定符号量の算出に用いる確率区間幅の値を保持する確率区間情報保持手段と、２値データに含まれる２値シンボルと、シンボル発生確率情報および確率区間幅を基に、２値シンボルの算術符号化後の推定符号量を算出するとともに、シンボル発生確率情報と確率区間幅の更新値を算出する推定符号量算出手段とを備える符号量推定方法として構成しても良い。
【００１１】
また、上記符号化方法をコンピュータに実行させるための推定符号量推定プログラムとしても良い。
【００１２】
また、上記推定方法を備える符号量推定集積回路としても良い。
【発明の効果】
【００１３】
本発明の符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路によれば、算術符号化を用いる画像符号化装置において、符号量推定をリアルタイムで高精度に行うことで、適切な符号量制御を実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００１５】
（実施の形態１）
図１は、実施の形態１における符号量推定装置２００を含む画像符号化装置１００のハードウェア構成を示す図である。画像符号化装置１００は、画面間予測部１０１、画面内予測部１０２、モード選択部１０３、直交変換部１０４、量子化部１０５、２値化部１０６、算術符号化部１０７、符号量推定装置２００、符号量制御部１０８を備える。符号量推定装置２００は、コンテキストインデックス算出部２０１、シンボル発生確率情報保持部２０２、確率区間情報保持部２０３、推定符号量算出部２０４を備える。なお、符号化対象の画像データは、ＭＢ（ＭａｃｒｏＢｌｏｃｋ）と呼ばれるブロック単位ごとに、画面間予測部１０１と画面内予測部１０２に入力される。また、本発明の実施の形態１において、２値シンボルとは、２値データに含まれる値を示し、２値シンボル列とは、２値データ列に含まれる値の集合によって形成される値である。
【００１６】
画面間予測部１０１は、符号化対象ＭＢを含むピクチャとは異なるピクチャから、符号化対象ＭＢと相関の高い画像ブロックを検出する。さらに、符号化対象ＭＢと、検出された画像ブロックとの差分を取り予測残差を求め、その予測残差とピクチャ間でのブロックの動き量を表す動きベクトルをモード選択部１０３へ出力する。
【００１７】
画面内予測部１０２は、画面内の符号化対象ＭＢの画像を、当該符号化対象ＭＢに隣接するブロックの画像を用いて予測する。さらに、符号化対象ＭＢの画像と、生成された予測画像の差分を取り予測残差を求め、その予測残差と予測モードを表すデータをモード選択部１０３へ出力する。
【００１８】
モード選択部１０３は、画面間予測部１０１と、画面内予測部１０２から出力されるデータを基に、符号化対象ＭＢを画面間予測と画面内予測のいずれの予測方法により符号化するか選択する。そして、選択された予測方法で求めた予測残差を、直交変換部１０４へ出力する。
【００１９】
直交変換部１０４は、入力される予測残差を直交変換し、直交変換係数を算出する。直交変換係数はさらに量子化部１０５へ出力される。
【００２０】
量子化部１０５は、入力される直交変換係数を符号量制御部１０８から与えられる量子化情報を基に量子化する。そして、量子化された直交変換係数を２値化部１０６へ出力する。
【００２１】
２値化部１０６は、量子化された直交変換係数を２値データに変換し、算術符号化部１０７へ出力する。さらに、２値化部１０６は、符号量推定装置２００に２値データを出力する。
【００２２】
算術符号化部１０７は、入力される２値データを算術符号化し、符号化ストリームとして画像符号化装置１００より出力する。なお、算術符号化部１０７の具体的な構成及び、算術符号化方式に関しては後述する。
【００２３】
符号量制御部１０８は、算術符号化部１０７から出力される符号化ストリームを所定のビットレートに近づけるため、符号量推定装置２００から出力される推定符号量を基に、量子化部１０５で使用する量子化情報を制御する。例えば、符号量制御部１０８は、符号化ストリームのビットレートが所定の値よりも高い場合、量子化部１０５において使用する量子化ステップ幅を大きくし、符号量を抑制する。逆に符号化ストリームのビットレートが所定の値よりも低い場合、符号量制御部１０８は、量子化部１０５において使用する量子化ステップ幅を小さくし、符号量を増大させる。
【００２４】
符号量推定装置２００は、算術符号化の近似計算を用いて、２値化部１０６から出力去れる２値データから推定符号量を算出し、符号量制御部１０８に出力する。なお、具体的な符号量推定方法に関しては後述する。
【００２５】
以下、算術符号化部１０７の具体的な構成及び、算術符号化処理に関して図面を参照しながら説明する。
【００２６】
算術符号化とは、入力された２値シンボル列の出現確率に応じて確率数直線を区間分割し、分割された区間内の位置を示す小数値を入力系列に対する符号とする符号化方法である。定常的な入力信号に対しては、平均符号長が最適となることが知られている。
【００２７】
図２は、入力される２値シンボル列が「０１０」であり、０の発生確率が０．８、１の発生確率が０．２の場合の算術符号化の処理を示す図である。まず２値シンボル「０」が入力されると、０の発生確率が０．８であることから、初期確率区間の０．０−１．０の下８割にあたる０．０−０．８の区間が新しい確率区間となる。次に２値シンボル「１」が入力されると、１の発生確率が０．２であることから、確率区間０．０−０．８の上２割にあたる０．６４−０．８が新しい確率区間となる。最後に、２値シンボル「０」が入力される場合も同様の処理を繰り返し、最終的には０．６４−０．７６８の確率区間が残ることになる。符号語は最小のビット幅で表現できる最終確率区間内の小数値の２進表現であり、この場合（０．１１）２である。最上位桁は常に０であることから、出力符号は０を除いた「１１」となる。
【００２８】
以上のように入力される２値シンボル列を符号化すると、発生確率の高い２値シンボル列に対しては、大きな確率区間が割り当てられることになる。大きな確率区間は、少ない桁数の実数値で特定できるため、出力される符号ビットは少なくなる。つまり、高い発生確率の２値シンボル列に対して短い符号ビットが割り当てられるため、符号ビット量が圧縮される。
【００２９】
以下、算術符号化部１０７の具体的な構成について図面を参照しながら説明する。
【００３０】
図３は、算術符号化部１０７の構成を示す模式図である。算術符号化部１０７は、コンテキストインデックス算出部１０７１、シンボル発生確率情報保持部１０７２、確率区間情報保持部１０７３、符号化処理部１０７４を備える。
【００３１】
コンテキストインデックス算出部１０７１は、入力される２値シンボルのシンタックスや、入力されたピクチャ及び、周辺ＭＢの符号化条件等に応じて、符号化に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出し、シンボル発生確率情報保持部１０７２へ出力する。
【００３２】
シンボル発生確率情報保持部１０７２は、各コンテキストインデックスに対応したシンボル発生確率情報を保持し、入力されるコンテキストインデックスに対応したものを符号化処理部１０７４へ出力する。シンボル発生確率情報は、優勢シンボル（０／１のうち発生確率の高いシンボル）ｖａｌＭＰＳと、確率状態番号ｐＳｔａｔｅＩｄｘの形で保持される。ここで、ｐＳｔａｔｅＩｄｘについて図４を用いて説明する。図４は、ｐＳｔａｔｅＩｄｘと、劣勢シンボル発生確率との関係を示す図である。ｐＳｔａｔｅＩｄｘは、図４に示すように６４段階の劣勢シンボル発生確率をそれに対応した状態番号で表現したものであり、ｐＳｔａｔｅＩｄｘの値が大きいほど劣勢シンボル発生確率が小さくなることを示す。つまり、ｐＳｔａｔｅＩｄｘの値が大きいほど優勢シンボルの発生確率が高いことを示している。ｐＳｔａｔｅＩｄｘは符号化処理に用いられるとともに、入力される２値シンボルの値に応じて随時更新される。
【００３３】
確率区間情報保持部１０７３は、符号化に用いる確率区間情報を確率区間幅ｃｏｄＩＲａｎｇｅ、確率区間下限値ｃｏｄＩＬｏｗの形で保持する。なお、ｃｏｄＩＲａｎｇｅは９ビット、ｃｏｄＩＬｏｗは１０ビットのデータ領域を持つ。
【００３４】
符号化処理部１０７４は、シンボル発生確率情報と、確率区間情報と、を基に、入力される２値シンボルを算術符号化し、符号化ストリームを生成する。
【００３５】
ここで、符号化処理部１０７４における符号化処理手順を、図５、図６及び、図７のフローチャートを用いて説明する。また、２値化部１０６から出力される符号化対象の２値シンボルをｂｉｎＶａｌと標記する。
【００３６】
図５は、Ｈ．２６４規格の算術符号化処理における確率区間情報を符号化対象の２値シンボルの発生確率に基づいて更新していく符号化手順を示すフローチャートである。
【００３７】
さらに図６は、Ｈ．２６４規格の算術符号化処理における再正規化処理手順を示すフローチャートである。
【００３８】
また図７は、Ｈ．２６４規格の算術符号化処理におけるビット出力手順を示すフローチャートである。
【００３９】
Ｈ．２６４規格の算術符号化は、図５のフローチャートに示す確率区間情報を符号化対象の２値シンボルの発生確率に基づいて更新していく符号化（ＥｎｃｏｄｅＤｅｃｉｓｉｏｎ）、図６のフローチャートに示す確率区間幅が所定の値以上となるまで確率区間情報の正規化を繰り返す再正規化（ＲｅｎｏｒｍＥ）、図７のフローチャートに示す確定した符号ビットを出力するビット出力（ＰｕｔＢｉｔ）の３つの処理によって実行する。
【００４０】
まず、図５を用いて符号化処理の手順について説明する。
【００４１】
符号化処理では図８に示すように、確率区間を符号化対象の２値シンボルの発生確率に基づいて更新していく。符号化の処理に用いる情報は、入力２値シンボルｂｉｎＶａｌ、確率区間幅ｃｏｄＩＲａｎｇｅ、確率区間下限値ｃｏｄＩＬｏｗ、優勢シンボルｖａｌＭＰＳ、確率状態番号ｐＳｔａｔｅＩｄｘである。なお、算術符号化の開始時に、確率区間情報は、ｃｏｄＩＲａｎｇｅ＝０ｘ０１ＦＥ、ｃｏｄＩＬｏｗ＝０と初期化される。また、各コンテキストインデックスに対応したシンボル発生確率情報である優勢シンボルｖａｌＭＰＳと確率状態番号ｐＳｔａｔｅＩｄｘも、量子化パラメータに応じて規格に規定されたとおり初期化される。
【００４２】
（ステップＳ１０１）まず、ｃｏｄＩＲａｎｇｅの上位桁の値を示すｑＣｏｄＩＲａｎｇｅＩｄｘを求める。そして、ｑＣｏｄＩＲａｎｇｅＩｄｘと確率状態番号ｐＳｔａｔｅＩｄｘを基に、図９に示す規格で規定されたテーブルｒａｎｇｅＴａｂＬＰＳに基づいて劣勢シンボルの確率区間幅ｃｏｄＩＲａｎｇｅＬＰＳを求める。また、確率区間幅ｃｏｄＩＲａｎｇｅを優勢シンボルの確率区間幅（ｃｏｄＩＲａｎｇｅ−ｃｏｄＩＲａｎｇｅＬＰＳ）に更新する。ステップＳ１０２に進む。
【００４３】
（ステップＳ１０２）２値シンボルｂｉｎＶａｌが優勢シンボルであるか、劣勢シンボルであるかを判定する。ｂｉｎＶａｌが劣勢シンボルである場合はステップＳ１１１に、優勢シンボルである場合は、ステップＳ１２１に進む。
【００４４】
（ステップＳ１１１）ｂｉｎＶａｌが劣勢シンボルである場合、ｃｏｄＩＬｏｗを劣勢シンボルの確率区間の下限値（ｃｏｄＩＬｏｗ＋ｃｏｄＩＲａｎｇｅ）に、ｃｏｄＩＲａｎｇｅを劣勢シンボルの確率区間幅ｃｏｄＩＲａｎｇｅＬＰＳに更新する。そして、ステップＳ１１２に進む。
【００４５】
（ステップＳ１１２）さらに、ｐＳｔａｔｅＩｄｘが０か否かの判定を行う。ｐＳｔａｔｅＩｄｘが０の場合は、ステップＳ１１３に進む。ｐＳｔａｔｅＩｄｘが０でない場合は、ステップＳ１１４に進む。
【００４６】
（ステップＳ１１３）ｐＳｔａｔｅＩｄｘが０の場合、優勢シンボルｖａｌＭＰＳの０と１を入れかえる。そして、ステップＳ１１４に進む。
【００４７】
（ステップＳ１１４）図１０に示す規格で規定されたテーブルｔｒａｎｓＩｄｘＬＰＳに基づいて、ｐＳｔａｔｅＩｄｘを更新する。そしてステップＳ２００に進む。
【００４８】
（ステップＳ１２１）一方、ｂｉｎＶａｌが優勢シンボルである場合は、ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗについては既に優勢シンボルの値に更新されているため、さらに値を更新する必要はない。図１０に示す規格で規定されたテーブルｔｒａｎｓＩｄｘＭＰＳに基づいて、ｐＳｔａｔｅＩｄｘを更新する。そしてステップＳ２００に進む。
【００４９】
（ステップＳ２００）下記に説明する正規化の処理を行う。
【００５０】
次に図６を用いて再正規化の処理手順について説明する。
【００５１】
再正規化の処理では、図１１に示すように、確率区間幅が所定の値以上となるまで確率区間情報の正規化を繰り返す。再正規化に用いる情報は、確率区間情報ｃｏｄＩＲａｎｇｅ、ｃｏｄＩＬｏｗ、および値が未確定の出力ビット数を格納する変数ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇである。なお算術符号化の開始時に、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇは０に初期化される。
【００５２】
以降、図６のフローチャートについて説明する。
【００５３】
（ステップＳ２０１）まず、ｃｏｄＩＲａｎｇｅが０ｘ１００より小さいか否かを判定する。ｃｏｄＩＲａｎｇｅが０ｘ１００以上の場合は再正規化の処理を終了する。ｃｏｄＩＲａｎｇｅが０ｘ１００より小さい場合は、ステップＳ２０２に進む。
【００５４】
（ステップＳ２０２）ｃｏｄＩＬｏｗが０ｘ１００よりも小さいか否か判定する。ｃｏｄＩＬｏｗが０ｘ１００よりも小さい場合、ステップＳ３００に進む。ｃｏｄＩＬｏｗが０ｘ１００以上の場合、ステップＳ２０３に進む。
【００５５】
（ステップＳ２０３）ｃｏｄＩＬｏｗが０ｘ２００以上か否か判定する。ｃｏｄＩＬｏｗが０ｘ２００以上の場合、ステップＳ３２０に進む。ｃｏｄＩＬｏｗが０ｘ２００よりも小さい場合、ステップＳ３１０に進む。
【００５６】
（ステップＳ３００）ｃｏｄＩＬｏｗ＜０ｘ１００の場合、確率区間は０ｘ０００以上０ｘ２００未満の範囲に存在する。よって、２進数で確率区間を表現すると１０桁目の値は０と確定している。よって、後述するＰｕｔＢｉｔ（０）の処理を実行する。そして、ステップＳ３５０に進む。
【００５７】
（ステップＳ３１０）ｃｏｄＩＬｏｗ≧０ｘ１００かつｃｏｄＩＬｏｗ＜０ｘ２００の場合、確率区間は０ｘ１００以上０ｘ３００未満の範囲に存在する。よって、２進数で確率区間を表現すると１０桁目の値は０か１か確定していない。そこで、未確定のビットの数を表す変数ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇを１インクリメントする。また、図１０に示すように０ｘ１００から０ｘ３００の部分を切り出し正規化するため、まずｃｏｄＩＬｏｗから０ｘ１００を減算する。そして、ステップＳ３５０に進む。
【００５８】
（ステップＳ３２０）ｃｏｄＩＬｏｗ≧０ｘ２００の場合、確率区間は０ｘ２００以上０ｘ４００未満の範囲に存在する。よって、２進数で確率区間を表現すると１０桁目の値は１と確定している。そこで、後述するＰｕｔＢｉｔ（１）の処理を実行する。また、図１０に示すように０ｘ２００から０ｘ４００の部分を切り出し正規化するため、まずｃｏｄＩＬｏｗから０ｘ２００を減算する。そして、ステップＳ３５０に進む。
【００５９】
（ステップＳ３５０）ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗの値をともに１ビット左シフト（２倍）し、正規化する。ステップＳ２０１に戻る。
【００６０】
最後に、図７のフローチャートに示すビット出力の処理について説明する。
【００６１】
ビット出力の処理に用いる情報は、出力シンボルＢ、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇ、スライスの先頭ビットのフラグであるｆｉｒｓｔＢｉｔＦｌａｇである。なお算術符号化の開始時に、ｆｉｒｓｔＢｉｔＦｌａｇは１に初期化される。
【００６２】
以降、図７のフローチャートについて説明する。
【００６３】
（ステップＳ４０１）まず、ｆｉｒｓｔＢｉｔＦｌａｇによってビットＢの出力の要否を判定する。ｆｉｒｓｔＢｉｔＦｌａｇが１であり最初のビット出力処理である場合は、ステップＳ４０２に進む。一方、ｆｉｒｓｔＢｉｔＦｌａｇ＝０の場合は、ステップＳ４０３に進む。
【００６４】
（ステップＳ４０２）最初のビット出力である場合は、ｆｉｒｓｔＢｉｔＦｌａｇ＝０とするのみで、符号ビットは出力しない。ステップＳ４０４に進む。
【００６５】
（ステップＳ４０３）一方、最初のビット出力でない場合は、符号語としてビットＢを出力する。図７において、ＷｒｉｔｅＢｉｔ（Ｂ）は、ビットＢを出力することを意味する。そして、ステップＳ４０４に進む。
【００６６】
（ステップＳ４０４）ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇが０よりも大きいか否かを判定する。ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇが０の場合、符号出力処理を完了する。一方、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇが０よりも大きい場合、ステップＳ４０５に進む。
【００６７】
（ステップＳ４０５）ビット（Ｂ−１）を出力する。また、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇの値を１減算する。そして、ステップＳ４０４に戻る。
【００６８】
上記の動作を行うことで、算術符号化部１０７は、入力される２値シンボルを符号化ストリームに算術符号化することが可能となる。
【００６９】
以下、符号量推定装置２００の具体的な構成及び、算術符号化の近似計算による符号量推定方法について図面を参照しながら説明する。
【００７０】
図１より、符号量推定装置２００は、コンテキストインデックス算出部２０１、シンボル発生確率情報保持部２０２、確率区間情報保持部２０３、推定符号量算出部２０４から構成される。
【００７１】
コンテキストインデックス算出部２０１は、入力される２値シンボルのシンタックスや、入力されたピクチャおよび周辺ＭＢの符号化条件等に応じて、符号化に用いるシンボル発生確率情報を指し示すコンテキストインデックスを算出するとともに、高速に符号量を推定するため同一のコンテキストインデックスを有する２値シンボルを一括で推定符号量算出部２０４に出力する。
【００７２】
シンボル発生確率情報保持部２０２は、算術符号化部１０７におけるシンボル発生確率情報保持部１０７２と同様に、コンテキストインデックス算出部２０１が出力するコンテキストインデックスに対応した優勢シンボルｖａｌＭＰＳと、確率状態番号ｐＳｔａｔｅＩｄｘを推定符号量算出部に出力する。
【００７３】
確率区間情報保持部２０３は、算術符号化部１０７における確率区間情報保持部１０７３とは異なり、符号語の確定に必要な確率区間下限値ｃｏｄＩＬｏｗは保持せず、推定符号量の算出に必要な確率区間幅ｃｏｄＩＲａｎｇｅのみを保持する。また、ｃｏｄＩＲａｎｇｅの値は、規格に定められた９ビットの値ではなく、図５の符号化処理フローのＳ１０１において計算されるｑＣｏｄＩＲａｎｇｅＩｄｘを求めるために必要な上位２ビットの値を保持する。
【００７４】
推定符号量算出部２０４は、コンテキストインデックス算出部２０１から出力される２値シンボル列と、シンボル発生確率情報保持部２０２から出力されるシンボル発生確率情報、確率区間情報保持部２０３に保持されている確率区間幅を基に、符号量の推定値、シンボル発生確率情報および確率区間情報の更新値をテーブル引きにより算出する。
【００７５】
推定符号量の算出に寄与する値は、確率区間幅ｃｏｄＩＲａｎｇｅ、優勢シンボルｖａｌＭＰＳ、確率状態番号ｐＳｔａｔｅＩｄｘ、入力２値シンボル列である。ここで２値シンボルの符号化開始時に規格に定められた各情報が取り得る値は、確率区間幅ｃｏｄＩＲａｎｇｅが２５６以上５１１以下の２５６通り、優勢シンボルｖａｌＭＰＳが２通り、確率状態番号ｐＳｔａｔｅＩｄｘが６４通りであり、入力２値シンボル列のシンボル長をＬとすると、その入力の組み合わせは３２７６８×２Ｌ通りと膨大な数となる。この入力の組み合わせに対応した符号量のテーブルを用いれば、正確な符号量が算出できるものの、回路規模が大きく実装は困難である。
【００７６】
しかし、本発明の確率区間情報保持部は、確率区間幅ｃｏｄＩＲａｎｇｅの値を２ビットで保持するため、その組み合わせは４通りとなる。このため、符号量算出に必要なすべての入力の組み合わせも５１２×２Ｌ通りと大きく削減できる。よって、確率区間幅ｃｏｄＩＲａｎｇｅを９ビットで保持する場合よりも符号量算出の精度は若干落ちるものの、回路規模を大きく削減できる。
【００７７】
なお、ここでは同一のコンテキストインデックスを有する連続する任意の値の２値シンボルを一括で処理するとしたが、同一のコンテキストインデックスを有し、かつ同一の値の連続する２値シンボルのみを一括で処理するとしてもよい。これにより、シンボル長Ｌの２値シンボルの組み合わせは、２Ｌ通りからＬ通りまで削減され、さらに回路規模を削減できる。
【００７８】
また、２値シンボルに含まれるデータのうち、大きな割合を占める量子化された直交変換係数や動きベクトルのプリフィックス部は、図１２に示すようなトランケーテッド・ユーナリー・バイナリゼーション方式によって２値化される。この方式により２値化されたシンボル列は１が連続する。つまり、連続する同一の値の２値シンボルのみを一括で処理するとしても、同一のコンテキストインデックスを有する２値データの大部分は一括で処理可能であり、処理速度は大きく低下しない。
【００７９】
また、直交変換係数や動きベクトルのサフィックス部は、指数ゴロム符号化により２値される。これらの値は、通常の算術符号化処理ではなく、バイパス符号化とよばれる方法により符号化される。バイパス符号化では１つの２値シンボルの入力に対し、１ビットの符号語が生成されるため、単純にビット長をカウントすれば符号量を計算できる。よって、高速に符号量の推定が可能である。
【００８０】
上記本実施の形態１における符号量推定装置２００は、コンテキストインデックス算出部２０１から出力される同一のコンテキストインデックスを有する２値シンボル列と、シンボル発生確率情報保持部２０２から出力されるシンボル発生確率情報と、確率区間情報保持部から出力される確率区間幅を入力として、推定符号量算出部２０４においてテーブル引きにより推定符号量を算出する。
【００８１】
これにより、符号量推定をリアルタイムで高精度に行うことが可能となり、適切な符号量制御を実現することができる。
【００８２】
なお、本発明に係わる符号量推定装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ネットワークインターフェース等を備えるとしてもよい。さらに、ＤＶＤ−ＲＡＭ、Ｂｌｕ−ｒａｙディスク、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードのような可搬性の記録媒体に対して読み書き可能なドライブ装置を備えるとしてもよい。
【００８３】
なお、符号量推定装置は、デジタルビデオカメラ、デジタルレコーダ、デジタルテレビ、ゲーム機、携帯電話機等のような組み込みシステムとしてもよい。
【００８４】
さらに、ＨＤＤまたはＲＯＭ等に、符号量推定装置を制御するプログラム（以下、符号化プログラムと呼称する。）がインストールされており、符号化プログラムが実行されることによって、符号量推定装置の各機能が実現されるとしてもよい。
【００８５】
なお、符号量推定プログラムは、コンピュータシステム、組み込みシステム等のようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。これによって、符号量推定装置の各機能を他のハードウェアシステムに実現することができる。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭ等。）、磁気記録媒体（例えば、ハードディスク等。）、光磁気記録媒体（例えば、ＭＯ等。）、半導体メモリ（例えば、メモリカード等。）等がある。
【００８６】
また、符号量推定プログラムは、インターネット、ローカルエリアネットワーク等のようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。これによって、符号量推定装置の各機能を他のハードウェアシステムに実現することができる。ここで、ネットワークとして、地上放送網、衛星放送網、ＰＬＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３等。）、無線通信網（例えば、ＩＥＥＥ８０２．１１等。）がある。
【００８７】
または、記録再生装置に実装される記録再生回路によって、記録再生装置の各機能が実現されるとしてもよい。
【００８８】
なお、符号量推定回路は、フルカスタムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のようなセミカスタムＬＳＩ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等のようなプログラマブル・ロジック・デバイス、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスにより形成されるとしてもよい。
【００８９】
さらに、符号量推定装置の各機能を符号量推定回路に形成する設計データは、ハードウェア記述言語によって記述されたプログラム（以下、ＨＤＬプログラムと称す。）としてもよい。さらに、ＨＤＬプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。ここで、ハードウェア記述言語として、ＶＨＤＬ（Ｖｅｒｙ  ｈｉｇｈ  ｓｐｅｅｄ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ  Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）、Ｖｅｒｉｌｏｇ−ＨＤＬ、ＳｙｓｔｅｍＣがある。
【００９０】
さらに、設計データは、コンピュータシステム、組み込みシステム等のようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そして、これらの記録媒体を介して他のハードウェアタシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。
【００９１】
または、設計データは、インターネット、ローカルエリアネットワーク等のようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてよい。
【００９２】
または、設計データは、通電時にＦＰＧＡに転送され得るように、シリアルＲＯＭに記録しておくとしてもよい。そして、シリアルＲＯＭに記録された設計データは、通電時に、直接、ＦＰＧＡにダウンロードされるとしてもよい。
【００９３】
または、設計データは、通電時に、マイクロプロセッサによって生成されて、ＦＰＧＡにダウンロードされるとしてもよい。
【産業上の利用可能性】
【００９４】
本発明は、算術符号化を用いる場合に、リアルタイムで高精度な符号量推定が可能な符号量推定装置を提供する。特に、画像符号化装置において出力符号量を基に符号量制御を行う場合に有用である。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施の形態１における符号量推定装置を含む画像符号化装置のハードウェア構成を示す図
【図２】本発明の実施の形態１における入力される２値シンボル列が「０１０」であり、０の発生確率が０．８、１の発生確率が０．２の場合の算術符号化の処理を示す図
【図３】本発明の実施の形態１における算術符号化部１０７の構成を示す模式図
【図４】本発明の実施の形態１におけるｐＳｔａｔｅＩｄｘと、劣勢シンボル発生確率との関係を示す図
【図５】本発明の実施の形態１におけるＨ．２６４規格の算術符号化処理における確率区間情報を符号化対象の２値シンボルの発生確率に基づいて更新していく符号化手順を示すフローチャート
【図６】本発明の実施の形態１におけるＨ．２６４規格の算術符号化処理における再正規化処理手順を示すフローチャート
【図７】本発明の実施の形態１におけるＨ．２６４規格の算術符号化処理におけるビット出力手順を示すフローチャート
【図８】本発明の実施の形態１における確率区間を符号化対象の２値シンボルの発生確率に基づく更新処理手順を示す図
【図９】本発明の実施の形態１におけるｒａｎｇｅＴａｂＬＰＳに基づいて劣勢シンボルの確率区間幅ｃｏｄＩＲａｎｇｅＬＰＳを規定するテーブルを示す図
【図１０】本発明の実施の形態１におけるｔｒａｎｓＩｄｘＬＰＳに基づいて、ｐＳｔａｔｅＩｄｘを規定するテーブルを示す図
【図１１】本発明の実施の形態１における再正規化の処理手順を説明する図
【図１２】本発明の実施の形態１における量子化後係数の２値化方法を説明する図
【符号の説明】
【００９６】
１００  画像符号化装置
１０１  画面間予測部
１０２  画面内予測部
１０３  モード選択部
１０４  直交変換部
１０５  量子化部
１０６  ２値化部
１０７  算術符号化部
１０８  符号量制御部
２００  符号量推定装置
２０１  コンテキストインデックス算出部
２０２  シンボル発生確率情報保持部
２０３  確率区間情報保持部
２０４  推定符号量算出部
１０７１  コンテキストインデックス算出部
１０７２  シンボル発生確率情報保持部
１０７３  確率区間情報保持部
１０７４  符号化処理部
【図１】
2010219842.tif 000003
【図３】
2010219842.tif 000004
【図４】
2010219842.tif 000005
【図５】
2010219842.tif 000006
【図６】
2010219842.tif 000007
【図７】
2010219842.tif 000008
【図８】
2010219842.tif 000009
【図９】
2010219842.tif 000010
【図１０】
2010219842.tif 000011
【図１１】
2010219842.tif 000012
【図１２】
2010219842.tif 000013
【図２】
2010219842.tif 000014