(57)【特許請求の範囲】
【請求項１】
入力される画像データを符号化する際の予測符号化方式を設定し、前記設定した予測符号化方式にて当該画像データを符号化して第１のデータを生成するとともに、当該画像データを符号化する際に利用した符号化条件を示す付随情報を出力する第１符号化部と、
前記第１のデータをエントロピー符号化して第２のデータを生成する第２符号化部と、
前記第１符号化部が設定した予測符号化方式および前記出力された付随情報に基づいて、前記第２符号化部で生成される第２のデータの符号量を推定する推定部と、
を備え、
前記推定部はさらに、前記第１符号化部が設定する予測符号化方式ごとに、前記付随情報と当該付随情報に対応する第１のデータを前記第２符号化部で符号化した後の符号量とを対応付けた情報である符号量情報を記憶する記憶部を備え、
前記推定部は、前記予測符号化方式に対応する符号量情報および前記出力された付随情報に基づいて、前記第１のデータを前記第２符号化部で符号化して得られる第２のデータの符号量を推定し、
前記第２符号化部は、０と１のうち生起確率が高い値である優勢シンボルの生起確率を予め示した確率テーブルを保持し、前記確率テーブルに基づいて前記第１のデータを符号化し、
前記記憶部が記憶する符号量情報は、前記第２符号化部における実際の優勢シンボルの生起確率と、前記確率テーブルが示す生起確率との差が所定値よりも大きい場合に更新される符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の画像情報を符号化する画像情報符号化装置に関し、特に量子化されたDCT（Discrete Cosine Transform）係数などを可変長符号化して出力する画像情報符号化装置に関する。
【背景技術】
【０００２】
動画像の符号化技術において、符号化効率の向上が図られている。これにより、携帯電話機で滑らかな動きのテレビ電話を実現したり、高画質な動画像を撮影したりすることも可能になりつつある。このような符号化技術の進展において、最新の動画像圧縮符号化技術の国際基準であるH.264/MPEG-4 AVCでは、DCT係数や動きベクトルなど、シンタックスで伝送することが定められているシンタックス要素のエントロピー符号化方式として、単純な表による変換に代わってさらに符号化効率の高い符号化方式が用意されている。すなわち、CAVLC(Context-Adaptive Variable Length Coding)と呼ばれる可変長符号化方式や、CABAC(Context-Adaptive Binary Arithmetic Coding)と呼ばれる算術符号化方式である。これらのうち、CABACのような算術符号化方式は、定常的な信号を理論上、限界まで圧縮することが可能であるといわれている。
【０００３】
一方、CABACは、上記のように符号化効率のよさがメリットであるが、処理が終わるまで発生符号量がわからないという欠点がある。
【特許文献１】特開２００４−１３５２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
HDサイズ（1920ｘ1080）画像に対応したCABACをハードウエア実装した場合、リアルタイム処理を実現するのは難しい。そこで算術符号化の前段にバッファを設け、非同期処理にする手法が考えられる。その場合、処理中の１枚の画像の最後にデータ量の多いマクロブロック（以下、MB）が集中したとすると、算術符号化の符号量が確定するのに最悪ケースでは１枚の画像分の遅延が生じてしまうような場合がある。
【０００５】
このように、算術符号化の符号量が確定してから符号化画像のレート制御を行なうとすると、例えば、ピクチャごとにレート制御を行なうことは可能だが、マクロブロックごとに量子化ステップを変更するなどのような細やかなレート制御を行なうことが困難である。ピクチャごとにレート制御を行なう場合と、マクロブロックごとにレート制御を行なう場合とを比較すると、ピクチャごとにレート制御を行なう場合の方がレートの変動が大きくなってしまう可能性が高く、従って動画像の画質の劣化を招く可能性が高いという課題がある。
【０００６】
上記課題に鑑みて、本発明は、算術符号化を行ないながら、ピクチャ内のより小さい画像を単位として符号化のビットレートを制御することができる画像情報符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一形態である符号化装置は、入力される画像データを符号化する際の予測符号化方式を設定し、前記設定した予測符号化方式にて当該画像データを符号化して第１のデータを生成するとともに、当該画像データを符号化する際に利用した符号化条件を示す付随情報を出力する第１符号化部と、前記第１のデータをエントロピー符号化して第２のデータを生成する第２符号化部と、前記第１符号化部が設定した予測符号化方式および前記出力された付随情報に基づいて、前記第２符号化部で生成される第２のデータの符号量を推定する推定部と、を備え、前記推定部はさらに、前記第１符号化部が設定する予測符号化方式ごとに、前記付随情報と当該付随情報に対応する第１のデータを前記第２符号化部で符号化した後の符号量とを対応付けた情報である符号量情報を記憶する記憶部を備え、前記推定部は、前記予測符号化方式に対応する符号量情報および前記出力された付随情報に基づいて、前記第１のデータを前記第２符号化部で符号化して得られる第２のデータの符号量を推定し、前記第２符号化部は、０と１のうち生起確率が高い値である優勢シンボルの生起確率を予め示した確率テーブルを保持し、前記確率テーブルに基づいて前記第１のデータを符号化し、前記記憶部が記憶する符号量情報は、前記第２符号化部における実際の優勢シンボルの生起確率と、前記確率テーブルが示す生起確率との差が所定値よりも大きい場合に更新される。
上記課題を解決するために、本発明の一形態である符号化装置は、入力される画像データを符号化する際の予測符号化方式を設定し、前記設定した予測符号化方式にて当該画像データを符号化して第１のデータを生成するとともに、当該画像データの符号化過程で生成される付随情報を出力する第１符号化部と、前記第１のデータをエントロピー符号化して第２のデータを生成する第２符号化部と、前記第１符号化部が設定した予測符号化方式および前記出力された付随情報に基づいて、前記第２符号化部で生成される第２のデータの符号量を推定する推定部と、を備える。
上記課題を解決するために、本発明の一形態である画像情報符号化装置は、２値化データを算術符号化し、バッファを介して符号列を出力する画像情報符号化装置であって、動画像に関するデータの算術符号化前のデータを用いて、算術符号化後の符号量をマクロブロックごとに予測する符号量予測手段と、前記符号量予測手段によって予測された符号量から、対象マクロブロックまでに前記バッファに累積された累積符号量を計算し、前記累積符号量が目標とする符号量に近づくように、前記バッファから出力されるビットのレートを制御するレート制御手段とを備える。
【０００８】
なお、本発明は、このような画像情報符号化装置として実現することができるだけでなく、このような画像情報符号化装置に備えられるコンテキスト適応型２値算術符号化装置として実現したり、このような画像情報符号化装置が備える特徴的な手段をステップとする画像情報符号化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【０００９】
以上のように本発明によれば、CABAC処理が終了する前に、レート制御情報である算術符号化後の符号量を予測することができるので、遅延のない、きめ細かいレート制御を実現することができる。
【発明を実施するための最良の形態】
【００１０】
（実施の形態）
図１は、本実施の形態の画像情報符号化装置の構成を示すブロック図である。本実施の形態の画像情報符号化装置は、マクロブロックごとに、残差信号、DCT係数、量子化係数及び２値データのいずれかに基づいて、CABAC処理部で発生する符号量を予測し、その予測結果に基づいて量子化部での量子化ステップを調整することにより、符号化レートを制御する画像情報符号化装置であって、予測処理部100、DCT変換部101、量子化部102、CABAC処理部103、バッファ104、符号量推定部105及びレート制御判定部106を備える。なお、同図では、予測処理部100からの残差信号、DCT変換部101からのDCT係数、量子化部102からの量子化係数、及びCBAC処理部103からの２値データのいずれもが符号量推定部105に入力されているが、実際には、これらのうちのいずれかでよい。以下では、まず、量子化係数に基づいて符号量を予測する場合について説明する。予測処理部100は、画像情報符号化処理対象の画像領域であるマクロブロック（以下、「MB」と表記する。）に対し、そのピクチャタイプ及びスライスタイプを検出し、検出したピクチャタイプ（Ｉ、Ｐ、Ｂ）及びスライスタイプ（Ｉ、Ｐ、Ｂ）を符号量推定部105に出力する。また、予測処理部100は、面内予測や面間予測により生成した予測画像と原画像の差分値である残差信号、および、予測方法などの符号化条件（以下、「予測情報」という。）を出力する。予測情報の一例を示すと、MBの符号化モード、マクロブロックタイプ、符号化ブロックパターン及び直前のMBからの量子化パラメータの差分などである。DCT変換部101は、予測処理部100の出力である残差信号を離散コサイン変換した係数（請求項でいう「変換係数」。以下、「DCT係数」という。）を出力する。量子化部102では、DCT変換部101の出力であるDCT係数を量子化した係数（請求項でいう「量子化値」。以下、「量子化係数」という。）を出力する。CBAC処理部103では量子化部の出力である量子化係数および、予測情報を２値化し、算術符号化を行い、ビットストリームをバッファ104に出力する。符号量推定部105では、量子化部の出力である量子化係数および予測処理部１００の出力である予測情報を、それぞれの“算術符号化結果の発生符号量の実測値を基に作成されたテーブル”を用いて推定符号量に変換することで、CABAC処理部103から出力される符号量を推定する。すなわち、予測情報の符号量を推定するテーブルは、量子化係数の符号量を推定するテーブルとは別途、予測情報を符号化して得られる実測値に基づいて作成される。符号量推定部105では、符号化対象MBのピクチャタイプまたはスライスタイプに応じて、量子化係数に対応する推定符号量を示した変換テーブル（請求項でいう「予測テーブル」。）を複数保持している。符号量推定部105は、予測処理部100から入力されるピクチャタイプまたはスライスタイプに従って、保持している中で最適な変換テーブルを選択し、参照する。レート制御判定部106では、符号量推定部105の出力である推定符号量を基に以降の符号化条件を決定する。レート制御を行なうための符号化条件は、例えば、量子化部102における量子化ステップの値である。レート制御判定部106は、決定した符号化条件を量子化部102に戻し、以降のMBの符号化条件とする。
【００１１】
図２は、図１に示したCABAC処理部103のより詳細な構成を示すブロック図である。CBAC処理部103は、量子化部102から入力される量子化係数を２値化し、２値化により得られた２値データを算術符号化する処理部であって、２値化処理部200、算術符号化部201及びCONTEXT計算部203を備える。
【００１２】
２値化処理部200は、量子化部102の出力である量子化係数を定められた変換法則にしたがって、２値データに変換する。算術符号化部201は前記２値データの入力に応じて、CONTEXT計算部203から出力される0/1の生起確率を用いて算術符号化を行い、バッファ104へ出力する。CONTEXT計算部203は、内部に0/1の生起確率を示すテーブルを格納しており、そのテーブルを参照して、次のビットの0/1の生起確率を算術符号化部201に出力する。CONTEXT計算部203は、ビットの値が予測どおりでなかった場合、内部のテーブルの0/1の生起確率を更新する。
【００１３】
図３は、図１に示したレート制御判定部106によるレート制御方法の一例を示すグラフである。レート制御判定部106は、例えば、（１）MBごとの一定の目標発生符号量（例えば、３Mbit／MB）と、（２）同一ピクチャ内の各MBの推定符号量を現在のMBまで累積して得られる累積推定符号量と、現在のMBまでの累積目標発生符号量との差分の上限及び下限の閾値と、（３）現在のMBまでの累積推定符号量が累積目標発生符号量と比較して閾値を超えて増加または減少した場合、量子化ステップをどれだけ増加または減少させるかを記憶している。そして、符号量推定部105から得られる推定符号量を１MBごとに集計し、集計した推定符号量が累積目標発生符号量から閾値を超えて増加した場合、量子化ステップの増加量を量子化部102に出力する。これにより、量子化部102は、より大きな値の量子化ステップでDCT係数を量子化するので、量子化係数がより小さな値となり、発生符号量が低減される。
【００１４】
図４は、画像情報符号化装置全体における各処理部のレート制御の手順を示すフローチャートである。まず、量子化部102は、ピクチャの先頭のMBを対象MBとして順次、量子化を行なう。各MBに対して、画素と同数の輝度及び色差のDCT係数が算出されており、量子化部102はこのDCT係数を量子化ステップで除算し、量子化係数を出力する（Ｓ９０１）。符号量推定部105は、量子化部102から出力された量子化係数をキーとして、内部に保持している変換テーブルを参照し、その量子化係数に対応する推定符号量を取得する（Ｓ９０２）。符号量推定部105は、取得した推定符号量を、例えば、（符号量）というレジスタに加算していき、対象MBのすべての量子化係数の推定符号量が取得されたか否かを判定する（Ｓ９０４）。まだ対象MBのすべての量子化係数の推定符号量が取得されていないときは、ステップＳ９０２に戻り、新たな量子化係数を取得する。対象MBのすべての量子化係数について推定符号量を取得した場合、（符号量）というレジスタに累積加算されていた量子化係数ごとの推定符号量を、例えば、（累積符号量）というレジスタに加算する（Ｓ９０５）。これにより、対象MBまでの累積推定符号量が得られる。レート制御判定部106は、MBごとに保持している目標符号量から、当該MBまでの目標符号量を算出する。例えば、目標符号量として3000bit/MBという値を保持している場合、ピクチャ内の５個のMBの量子化が完了している場合、3000×５＝15000という計算を行い、対象MBまでの目標符号量を算出する。なお、レート制御判定部106は、目標符号量として3000bit/MBのように、必ずしも一定値を記憶している必要はなく、一定でない目標符号量をテーブルにして保持していてもよい。例えば、０番目のMBは2500bit、1番目のMBまでは合計5500bit、・・・、k番目のMBまでは合計32000bit、・・・などのように保持しておいてもよい。
【００１５】
次いで、レート制御判定部106は、ステップＳ９０５で算出された（累積符号量）と、計算またはテーブルから求めた目標符号量とから、対象MBを含む対象MBまでの累積符号量が目標符号量を超えており、かつ、その差があらかじめ定められた上限の閾値を超えているか否かを判定する（Ｓ９０６）。レート制御判定部106は、累積符号量が目標符号量を超えており、かつ、その差が上限の閾値を超えている場合、量子化ステップの値を大きくして（Ｓ９０７）、次のMBの符号化を開始する（Ｓ９０１）。累積符号量が目標符号量を超えており、かつ、その差が上限の閾値を超えている以外の場合、レート制御判定部106はさらに、累積符号量が目標符号量以下で、かつ、その差が予め定められた下限の閾値を超えているか否かを判定する（Ｓ９０８）。累積符号量が目標符号量以下で、かつ、その差が予め定められた下限の閾値を超えている場合、量子化ステップの値を小さくして（Ｓ９０９）、次のMBの符号化を開始する（Ｓ９０１）。それ以外の場合、レート制御判定部106は量子化ステップの値を変更することなく、次のMBの量子化を開始する（Ｓ９０１）。なおここで、それ以外の場合とは、累積符号量が目標符号量以下で、かつ、累積符号量と目標符号量との差が下限の閾値以下であるか、または、累積符号量が目標符号量を超えており、かつ、上限の閾値以下である場合である。このように、推定符号量に基づいてMBごとに量子化ステップを調整することにより、算術符号化による発生符号量を、より精度よく目標符号量に近づけることができる。
【００１６】
次に符号量推定部105の符号量推定手法について述べる。
図５は、各量子化係数値に対応してCBAC処理部で発生する推定符号量を示す変換テーブルである。符号量推定部105は、量子化部102により出力された量子化係数を基にCABAC処理後の符号量を推定する。推定には図５に示すような変換テーブルを利用する。符号量推定部105は、入力された量子化係数値に対応する推定符号量を、変換テーブルを参照して取得する。図５の変換テーブルによれば、例えば、量子化係数値が1のとき推定符号量は1.2ビット、量子化係数値が2のとき推定符号量は1.4ビットである。推定符号量が整数ではなく実数であるのは、実測された符号量の平均値から作成されたものであるからである。このように、変換テーブルを参照することによって、各量子化係数値から推定符号量が一意に決定される。符号量推定部104は、このような変換テーブルを内部のメモリ上に格納しており、入力された量子化係数値を基に変換テーブルを参照する。当該変換テーブルは、符号量推定部105の外部に持つとしてもよい。また、変換テーブルは1枚である必要はなく、複数枚のテーブルの中から選択して、参照してもよい。例えば、符号化対象の画像を面内予測した場合と面間予測した場合で参照するテーブルを切り替え、量子化ステップに応じた推定符号量を取得するとしてもよい。さらに、変換テーブルは、MBの符号化タイプにより切り替えるとしてもよい。また、ピクチャタイプ、スライスタイプまたは予測情報の種類毎に切り替えるとしてもよい。さらに、変換テーブルは固定値を用いた静的なテーブルとしてもよい。また、変換テーブルは更新可能な動的なテーブルとしてもよい。
【００１７】
図６は、図５に示した変換テーブルのより具体的な一例を示す図である。同図において、abs_level[i]のiは1から384の係数番号を示している。図６（ａ）は、量子化値が1から14までの値をとる場合の推定bit値を示すテーブルである。このテーブルでは、量子化値と推定符号量が１対１に対応している。このテーブルでは量子化値が1から14までの推定符号量を得ることができる。例えば、量子化係数abs_levelが1のとき推定符号量は1.56bitであり、量子化係数abs_levelが8のとき推定符号量は5.20bitである。図６（ｂ）は、量子化値が15以上の値をとる場合の推定bit値を示すテーブルである。このテーブルでは、量子化値が15から60までと、61から250と、251以上とがそれぞれ同一推定符号量に定められている。このテーブルを参照することにより、量子化値が15以上の値をとる場合の推定bit値を一意に定めることができる。例えば、量子化係数abs_levelが125のとき推定符号量は0.82bitであり、量子化係数abs_levelが61のとき推定符号量は0.82bitである。このように、符号量推定部105は、このテーブルを参照することによって、量子化係数384個（輝度Y256、色差Cb64、色差Cr64）すべての値に対応する推定符号量を求めることが出来る。
【００１８】
なお、図６（ａ）及び（ｂ）に示した変換テーブルは、量子化係数に基づいて推定符号量を求める場合だけでなく、２値データに基づいて推定符号量を求める場合にも用いることができる。理由は、２値データが量子化係数値から一意に決まるからである。例えば、量子化係数Coeff_abs_level_minus1=10のとき、２値データは、２値データ=1111 1111 110のように、一意に求められる。
【００１９】
ここでは、量子化係数のみについて言及したが、量子化係数以外のCABAC処理の対象となる予測情報を符号量推定部105の対象とすることもできる。
【００２０】
さらに、符号量推定部105の推定に利用するデータを、量子化係数だけでなく２値化処理部200で生成される2値データ値または2値データ量、DCT係数、予測処理部100の出力である予測画像と入力画像の差分である残差信号として、変換テーブルを生成することも可能である。
【００２１】
図７は、DCT係数の値に対応して算術符号化による推定符号量を示す変換テーブルの一例を示す図である。DCT係数に基づいて符号量を推定する場合には、後段の量子化によって推定符号量が変わってくるため、量子化変数QP（H.264で規定される値で、0〜51の値を取り得る）ごとに変換テーブルを作成し、各MBに量子化変数QPが決定される都度、変換テーブルを切り替えて用いるものとする。図７（ａ）は、量子化変数QPごとに作成された変換テーブルの一例を示す図である。図７（ｂ）は、DCT係数を用いて符号量を推定しレート制御を行なう場合のデータおよび手順の流れを示す図である。符号量推定部105は、量子化部102から現在量子化されているMBの量子化変数QPを受け取り、受け取った量子化変数QPに基づいて、図７（ａ）に示した変換テーブルを選択する。符号量推定部105は、DCT係数ごとに選択したテーブルを参照して各DCT係数の算術符号量を推定し、推定符号量を現MB内のDCT係数全部について集計することにより、現MBの推定符号量を算出する。符号量推定部105は、図３のグラフに示したように、先頭MBから現MBまでの累積符号量を算出してレート制御判定部106に出力する。レート制御判定部106は、符号量推定部105から入力された累積符号量を、先頭MBから現MBまでの累積目標発生符号量と比較し、次のMBの量子化変数QPを決定する。
【００２２】
上記実施の形態では、図７を用いて量子化前のDCT係数から符号量を推定する方法について説明したが、以下では、周波数変換を行う前の残差信号から符号量を推定する方法について説明する。図８は、MB内の各画素の残差信号と、その残差信号から当該MBの符号量を推定するためのテーブルである。図８（ａ）は、ピクチャ内の各MBとその残差信号の絶対差分値和（SAD）の一例を示す図である。なお、予測誤差には、絶対差分値和や差分自乗和（SSD）を用いるのが一般的である。ここでは、絶対差分値和について説明する。また、図８（ｂ）は、MBごとの絶対差分値和（SAD）に対応する当該MBの推定符号量を示すテーブルである。残差信号も後段で量子化を施されるので、量子化変数QPごとに変換テーブルが作成されている。また、残差信号は、空間上の信号成分を表しているのに対し、DCT係数はそれらの周波数成分を表している。従って画素ごとの予測誤差の値は、量子化係数や２値データと１対１に対応しない。このため、符号量推定部105は、MBごとに絶対差分値和を集計し、集計した絶対差分値和を用いて図８（ｂ）の変換テーブルを参照し、当該MBに対する推定符号量を得る。
【００２３】
次に動的な変換テーブルの作成手法を述べる。
第一の手法を述べる。図９は、算術符号化により実際に発生した符号量を参照して、変換テーブルを更新する方法を説明する図である。この場合、符号量推定部105は、例えば、変換テーブル作成部を備える。
【００２４】
符号量推定部105は、量子化部102より出力された量子化係数を内部メモリに格納する。次に変換テーブル作成部は、CABAC処理部103で符号化された符号から、符号量を計測し内部メモリに格納する。具体的には、CABAC処理部103から出力される符号が0であるか、1であるか、あるいは未定であるかをカウントすることによって符号量を計測する。出力される符号が未定である場合、変換テーブル作成部は、CABAC処理部103に備えられ、どの桁の符号値が確定していないのかをカウントするカウンタBits_Outstandingの値を用いて符号量を計測する。
【００２５】
次いで、変換テーブル作成部は、内部メモリ内の量子化値と実際に計測された符号量とを既存の変換テーブルに一旦、記入する。変換テーブル作成部は、変換テーブルに記入されている、同じ量子化値に対応する符号量同士を平均した値で既存の変換テーブルを更新する。なお、変換テーブルの更新は、全ての量子化係数毎に行うことも、一部の量子化係数のみ行うとしてもよい。
【００２６】
第二の手法を述べる。
図２に示したCABAC処理部103は、入力に応じて、CONTEXT計算部203から出力される“事前に決められた0/1の生起確率”を用いて、区間分割を行うため、推定符号量は0/1の生起確率により変化する。符号量推定部105で、2値データの0/1系列の実際の0/1の生起確率を計測し、事前に決められた0/1の生起確率と比較する。符号量推定部105は、実際の生起確率と事前に決められた生起確率の差に応じて、変換テーブルを更新する。例えば、符号量推定部105は、優性シンボルの生起確率の実測値がCABACのテーブルと比べて大きく下がった場合（具体的には、優性シンボルの生起確率の実測値がCABACのテーブルと比べて予め定めた閾値よりも下がった場合）、変換テーブルを更新する。また、例えば、前記二つの生起確率が等しいときは、テーブル更新を行わない。前記二つの生起確率に差があるときは、算術符号化による圧縮率が変化するので変換テーブルの推定符号量の値を変更する。変更量は、前記二つの生起確率の差と圧縮率の差をメモリに格納し、それを用いて変更量を決定することも可能である。また、0/1のパターンにより、生起確率を推定し、テーブルを更新することも可能である。例えば、一定の個数より１が連続した場合、または0が連続した場合はCONTEXT計算部203の計算による事前の生起確率から実際の生起確率が変動するので、そのようなパターンを検出した場合は、変換テーブルを更新するとしてもよい。すなわち、符号量推定部105は、２値データの0と1との出現パターンを解析して、一定以上の個数の0または1が連続したとき、算術符号化による圧縮率が高くなるので、量子化係数、２値データ、DCT係数及び残差信号のいずれかの同一値に対して、変換テーブルの推定符号量を低減するように更新する。また、一定以上の個数の0と1とが交互に出現したとき、前記同一値に対して、変換テーブルの推定符号量を増加するように更新する。
【００２７】
また、前記事前に決められた0/1の生起確率が変動した場合に変換テーブルを更新するとしてもよいし、前記実際の生起確率と事前に決められた生起確率が変動した場合に変換テーブルを更新するとしてもよいし、これらの組み合わせなどとしてもよい。
【００２８】
さらに前記事前に決められた0/1の生起確率は、動画像圧縮符号化標準H.264のエントロピー符号化CABACでは、pStateIdxに対応し、これに応じて、変換テーブルを更新するとしてもよい。また、変換テーブルを更新するのではなく、最初から、高圧縮率用と低圧縮率用の２種類の変換テーブルを保持しておき、pStateIdxの値に応じて、いずれかを選択して使用するとしてもよい。すなわち、MBの算術符号化開始時にはCONTEXT計算部203が２値データの発生確率を計算する。この発生確率は、発生確率テーブルの番号pStateIdx(0-63)で与えられる。符号量推定部105は、このpStateIdxが予め定めた閾値と比較して大きいときは圧縮率が高いと判断して高圧縮率用変換テーブル（すなわち、量子化係数、２値データ、DCT係数及び残差信号のいずれかの同一の値に対して、標準の変換テーブルよりも推定符号量を低減したもの）を使用する。なお、標準の変換テーブルとは、高圧縮率用と低圧縮率用とを切り替えて用いる場合ではなく、１つの変換テーブルのみを使用して推定符号量を参照する場合の変換テーブルのことをいう。また、逆に、pStateIdxの値が、閾値と比較して小さいときは圧縮率が低いと判断して低圧縮率用変換テーブル（すなわち、量子化係数、２値データ、DCT係数及び残差信号のいずれかの同一の値に対して、標準の変換テーブルよりも推定符号量を増加したもの）を使用する。具体的には、pStateIdxの値が50でMBの算術符号化を開始したが、途中でpStateIdxの値が40になった場合、符号量推定部105は、それをトリガに低圧縮率用変換テーブルに切り替えて、符号量を推定するとしてもよい。
【００２９】
なお、変換テーブルを更新したり、高圧縮率用変換テーブルと低圧縮率用変換テーブルとを切り替えたりするタイミングは、pStateIdxが更新される都度であってもよいし、pStateIdxの更新の一定回数ごと（例えば、pStateIdxの更新の５回おき）などであってもよい。また、pStateIdxの移動平均に応じて、変換テーブルを更新したり、高圧縮率用変換テーブルと低圧縮率用変換テーブルとを切り替えたりするとしてもよい。例えば、pStateIdxが３回更新されるごとに３回分の平均値を求め、求められた平均値が予め定めた閾値より大きいとき高圧縮率用変換テーブルを用いる、または推定符号量を小さい値に更新する。逆に、求められた平均値が予め定めた閾値より小さいとき低圧縮率用変換テーブルを用いる、または推定符号量を大きい値に更新するなどとしてもよい。なお、移動平均の求め方は、pStateIdxの３回更新ごとである必要はなく、何回ごとであってもよい。
【００３０】
さらに、ここでは変換テーブルとしたが、一つないしは、複数の関数により、推定符号量を決定してもよい。すなわち、符号量推定部105は、量子化係数、２値データ、DCT係数、及び残差信号のいずれかと、推定符号量との関係を表した１または複数の関数を用いて、演算によって推定符号量を算出するとしてもよい。
【００３１】
なお、上記実施の形態では、符号化条件を量子化ステップとして説明したが、例えば、予測処理部100におけるMBの予測処理のタイプをスキップモードとしてしまってもよい。スキップモードとは、予測に基づいて残差信号を算出することなく、当該MBに対して所定の位置にある画像データをコピーする意味のフラグだけを送るモードをいう。このスキップモードは、１MBにつき１ビットのデータしか符号化しないので、累積された推定符号量が非常に大きい場合には、符号量の低減に有効である。この場合レート制御判定部106は、スキップモードと決定した符号化条件を予測処理部100にフィードバックする。
【００３２】
また、逆に、符号量推定部105において推定された累積推定符号量が、目標発生符号量よりも非常に小さかった場合には、レート制御判定部106は、それ以降のMBの符号化条件をI_PCMデータとしてもよい。I_PCMデータとは、輝度信号及び2つの色差信号からなる。すなわち、符号化条件をI_PCMデータとするということは、そのピクチャの画素値をそのまま出力するということである。このようにすることによって、累積推定符号量が目標発生符号量に満たない場合には、データ量は大きいが符号化が行なわれないため画質が損なわれない画像データを出力することができる。
【００３３】
なお、図１の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。（例えばメモリ以外の機能ブロックが１チップ化されていても良い。）
【００３４】
ここでは、LSIとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００３５】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００３６】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【００３７】
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ１チップ化せずに別構成としても良い。
【産業上の利用可能性】
【００３８】
本発明に係る画像情報符号化装置は、通信機能を備えるパーソナルコンピュータ、ＰＤＡ、ディジタル放送の放送局および携帯電話機などに備えられる画像情報符号化装置として有用である。
【図面の簡単な説明】
【００３９】
【図１】本実施の形態の構成を示すブロック図である。
【図２】図１に示したCABAC処理部のより詳細な構成を示すブロック図である。
【図３】図１に示したレート制御判定部によるレート制御方法の一例を示すグラフである。
【図４】本実施の形態の画像情報符号化装置における各処理部のレート制御の手順を示すフローチャートである。
【図５】各量子化係数値に対応してCBAC処理部で発生する推定符号量を示す変換テーブルである。
【図６】図５に示した変換テーブルのより具体的な一例を示す図である。（ａ）は、量子化値が1から14までの値をとる場合の推定bit値を示すテーブルである。（ｂ）は、量子化値が15以上の値をとる場合の推定bit値を示すテーブルである。
【図７】DCT係数の値に対応して算術符号化による推定符号量を示す変換テーブルの一例を示す図である。（ａ）は、量子化変数QPごとに作成された変換テーブルの一例を示す図である。（ｂ）は、DCT係数を用いて符号量を推定しレート制御を行なう場合のデータおよび手順の流れを示す図である。
【図８】MB内の各画素の残差信号と、その残差信号から当該MBの符号量を推定するためのテーブルである。（ａ）は、ピクチャ内の各MBとその残差信号の絶対差分値和の一例を示す図である。（ｂ）は、MBごとの絶対差分値和に対応する当該MBの推定符号量を示すテーブルである。
【図９】算術符号化により実際に発生した符号量を参照して、変換テーブルを更新する方法を説明する図である。
【符号の説明】
【００４０】
１００    予測処理部
１０１    DCT変換部
１０２    量子化部
１０３    CABAC処理部
１０４    バッファ
１０５    符号量推定部
１０６    レート制御判定部
２００    ２値化処理部
２０１    算術符号化部
２０３    CONTEXT計算部
【図１】
0004828925.tif 000002
【図２】
0004828925.tif 000003
【図３】
0004828925.tif 000004
【図４】
0004828925.tif 000005
【図５】
0004828925.tif 000006
【図６】
0004828925.tif 000007
【図７】
0004828925.tif 000008
【図８】
0004828925.tif 000009
【図９】
0004828925.tif 000010