(57)【特許請求の範囲】
【請求項１】
ピクチャに応じた符号化対象データを符号化する符号化装置であって、
前記符号化対象データを２値データに符号化する２値化手段と、
前記２値化手段が生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化手段が生成した各ピクチャの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化手段と、
符号化後のピクチャについて前記２値化手段が生成した前記２値データと、前記符号化手段が生成した前記符号化データとの間のデータ量の比率を算出する比率算出手段と、
前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化手段が生成した前記２値データのデータ量と、前記比率算出手段が算出した前記比率と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出手段と、
前記占有量算出手段が算出した前記占有量に基づいて、前記符号化対象のピクチャ内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定手段と
を有する符号化装置。
【請求項２】
前記比率算出手段は、符号化後のピクチャについて前記符号化手段が生成した前記符号化データのデータ量を、前記２値化手段が生成した前記２値データのデータ量で除算して前記比率を算出し、
前記占有量算出手段は、前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化手段が生成した前記２値データのデータ量と前記比率算出手段が算出した前記比率とを乗じた値と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量との差分に応じて前記仮想バッファ占有量を算出する
請求項１に記載の符号化装置。
【請求項３】
符号化後のピクチャの符号化発生量と量子化スケールとに基づいて、符号化対象のピクチャに対する割当符号量を決定する割当符号量決定手段
をさらに有し、
前記占有量算出手段は、前記割当符号量決定手段が決定した前記符号化対象のピクチャに対する前記割当符号量を基に、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量を算出する
請求項１に記載の符号化装置。
【請求項４】
前記割当符号量検出手段は、ピクチャ種別毎に、前記割当符号量を検出し、
前記比率算出手段は、前記ピクチャ種別毎に、前記比率を算出し、
前記占有量算出手段は、前記ピクチャ種別毎に、前記仮想バッファ占有量を算出し、
前記量子化スケール決定手段は、前記ピクチャ種別毎に、前記量子化スケールを決定する
請求項３に記載の符号化装置。
【請求項５】
前記符号化手段は、前記２値化手段が生成した前記２値データ内の０，１の発生確率に基づいて前記符号化テーブルを選択する
請求項１に記載の符号化装置。
【請求項６】
前記符号化手段は、前記ピクチャをフィールド単位で符号化し、
前記比率算出手段は、前記フィールドを単位として、前記比率を算出する
請求項１に記載の符号化装置。
【請求項７】
前記占有量算出手段は、
前記符号化対象のピクチャ内のブロックのうち前記符号化手段で前記符号化データが既に生成されているブロックについての当該符号化データのデータ量と、
前記符号化対象のピクチャ内のブロックのうち前記符号化データが未だ生成されていないブロックについて、前記２値化手段が生成した２値データと前記比率とを基に生成したデータ量と
に基づいて前記仮想バッファ占有量を算出する
請求項１に記載の符号化装置。
【請求項８】
動画像を構成する前記ピクチャと当該ピクチャの予測画像との差分を生成する差分生成手段と、
前記差分生成手段が生成した前記差分に対して直交変換を施す直交変換手段と、
前記直交変換手段が直交変換を施した前記差分を、前記量子化スケール決定手段で決定した量子化スケールで量子化する量子化手段と、
をさらに有し、
前記２値化手段は、前記量子化手段が量子化した前記差分を、前記符号化対象データとして前記２値データに符号化する
請求項１に記載の符号化装置。
【請求項９】
ピクチャに応じた符号化対象データを符号化する符号化方法であって、
前記符号化対象データを２値データに符号化する２値化工程と、
前記２値化工程で生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化工程で生成した各ピクチャの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化工程と、
符号化後のピクチャについて前記２値化工程で生成した前記２値データと、前記符号化工程で生成した前記符号化データとの間のデータ量の比率を算出する比率算出工程と、
前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化工程が生成した前記２値データのデータ量と、前記比率算出工程で算出した前記比率と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出工程と、
前記占有量算出工程で算出した前記占有量に基づいて、前記符号化対象のピクチャ内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定工程と
を有する符号化方法。
【請求項１０】
ピクチャに応じた符号化対象データを符号化するコンピュータが実行するプログラムであって、
前記符号化対象データを２値データに符号化する２値化手順と、
前記２値化手順で生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化手順で生成した各ピクチャの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化手順と、
符号化後のピクチャについて前記２値化手順で生成した前記２値データと、前記符号化手順で生成した前記符号化データとの間のデータ量の比率を算出する比率算出手順と、
前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化手順が生成した前記２値データのデータ量と、前記比率算出手順で算出した前記比率と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出手順と、
前記占有量算出手順で算出した前記占有量に基づいて、前記符号化対象のピクチャ内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定手順と
を前記コンピュータに実行させるプログラム。
【請求項１１】
スライスに応じた符号化対象データを符号化する符号化装置であって、
前記符号化対象データを２値データに符号化する２値化手段と、
前記２値化手段が生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化手段が生成した各スライスの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化手段と、
符号化後のスライスについて前記２値化手段が生成した前記２値データと、前記符号化手段が生成した前記符号化データとの間のデータ量の比率を算出する比率算出手段と、
前記符号化対象のスライス内の符号化後のブロックについて前記２値化手段が生成した前記２値データのデータ量と、前記比率算出手段が算出した前記比率と、前記符号化対象のスライス内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出手段と、
前記占有量算出手段が算出した前記占有量に基づいて、前記符号化対象のスライス内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定手段と
を有する符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの量子化を行う符号化装置、符号化方法およびプログラムに関する。
【背景技術】
【０００２】
近年、画像データをデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧ(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及している。
ＭＰＥＧ方式では、符号化対象の画像データに直交変換を施して変換係数を生成し、当該変換係数を所定の量子化スケールで量子化し、当該量子化された画像データを符号化する。
ところで、ＭＰＥＧ方式では、符号化対象のピクチャを構成する複数のマクロブロックを順に処理対象として選択し、上記複数のマクロブロックのうち既に符号化したマクロブロックの発生ビット量の総和と、当該ピクチャに予め割り当てられた総ビット量を基に規定された既に符号化したマクロブロックの割当量の総和との差分に応じた仮想バッファ占有量ｄを基に、上記処理対象として選択したマクロブロックの量子化スケールを決定する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、Ｈ．２６４／ＡＶＣ(Advanced Video Coding)などでは、符号化対象のマクロブロックを２値化して２値シンボルを生成した後に、当該２値シンボルをＣＡＢＡＣ(Context-Adaptive Binary Arithmetic Coding)符号化する。
しかしながら、リアルタイムに動作するＡＶＣ符号化装置では、ＣＡＢＡＣ符号化処理の処理時間が長いため、上述したＭＰＥＧ方式と同様に処理を行うと、所定のマクロブロックの量子化スケールを決定するタイミングで、当該マクロブロックより符号化順が前のマクロブロックについてのＣＡＢＡＣ符号化が終了していない場合がある。この場合に、当該所定のマクロブロックの仮想バッファ占有量ｄを算出できず、その量子化スケールを適切に決定できず、適切な符号量制御ができないという問題がある。
【０００４】
本発明は上述した従来技術の問題点を解決するために、仮想バッファ占有量に基づいた量子化スケールにより、符号量制御を適切に実行できる符号化装置、符号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した従来技術の問題点を解決し、上述した目的を達成するため、第１の発明の符号化装置は、ピクチャに応じた符号化対象データを符号化する符号化装置であって、前記符号化対象データを２値データに符号化する２値化手段と、前記２値化手段が生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化手段が生成した各ピクチャの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化手段と、符号化後のピクチャについて前記２値化手段が生成した前記２値データと、前記符号化手段が生成した前記符号化データとの間のデータ量の比率を算出する比率算出手段と、前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化手段が生成した前記２値データのデータ量と、前記比率算出手段が算出した前記比率と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出手段と、前記占有量算出手段が算出した前記占有量に基づいて、前記符号化対象のピクチャ内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定手段とを有する。
【０００６】
第２の発明の符号化方法は、ピクチャに応じた符号化対象データを符号化する符号化方法であって、前記符号化対象データを２値データに符号化する２値化工程と、前記２値化工程で生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化工程で生成した各ピクチャの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化工程と、符号化後のピクチャについて前記２値化工程で生成した前記２値データと、前記符号化工程で生成した前記符号化データとの間のデータ量の比率を算出する比率算出工程と、前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化工程が生成した前記２値データのデータ量と、前記比率算出工程で算出した前記比率と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出工程と、前記占有量算出工程で算出した前記占有量に基づいて、前記符号化対象のピクチャ内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定工程とを有する。
【０００７】
第３の発明のプログラムは、ピクチャに応じた符号化対象データを符号化するコンピュータが実行するプログラムであって、前記符号化対象データを２値データに符号化する２値化手順と、前記２値化手順で生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化手順で生成した各ピクチャの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化手順と、符号化後のピクチャについて前記２値化手順で生成した前記２値データと、前記符号化手順で生成した前記符号化データとの間のデータ量の比率を算出する比率算出手順と、前記符号化対象のピクチャ内の符号化後のブロックについて前記２値化手順が生成した前記２値データのデータ量と、前記比率算出手順で算出した前記比率と、前記符号化対象のピクチャ内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出手順と、前記占有量算出手順で算出した前記占有量に基づいて、前記符号化対象のピクチャ内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定手順とを前記コンピュータに実行させる。
【０００８】
第４の発明の符号化装置は、スライスに応じた符号化対象データを符号化する符号化装置であって、前記符号化対象データを２値データに符号化する２値化手段と、前記２値化手段が生成した前記２値データの内容に基づいて選択された符号化テーブルを基に、前記２値化手段が生成した各スライスの前記２値データを、ブロック単位で順に符号化して符号化データを生成する符号化手段と、符号化後のスライスについて前記２値化手段が生成した前記２値データと、前記符号化手段が生成した前記符号化データとの間のデータ量の比率を算出する比率算出手段と、前記符号化対象のスライス内の符号化後のブロックについて前記２値化手段が生成した前記２値データのデータ量と、前記比率算出手段が算出した前記比率と、前記符号化対象のスライス内の符号化後のブロックに割り当てた割当量とに基づいて、仮想バッファ占有量を算出する占有量算出手段と、前記占有量算出手段が算出した前記占有量に基づいて、前記符号化対象のスライス内の次に符号化を行うブロックの量子化スケールを決定する量子化スケール決定手段とを有する。
【発明の効果】
【０００９】
本発明によれば、仮想バッファ占有量に基づいた量子化スケールにより、符号量制御を適切に実行できる符号化装置、符号化方法およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
＜第１実施形態＞
以下、本発明の第１実施形態を説明する。
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
コンテキスト計算回路６１、確率テーブル選択回路６２およびＣＡＢＡＣ回路６４が本発明の符号化手段の一例である。また、ＶＬＣ回路６３が本発明の２値化手段の一例である。
また、比率α算出回路８４が本発明の比率算出手段の一例であり、仮想バッファレート制御回路８７が本発明の占有量算出手段および量子化スケール決定手段の一例である。
また、複雑度決定回路８５および割当符号量決定回路８６が、本発明の割当符号量決定手段の一例である。
【００１１】
図１は、本実施形態の通信システム１の概念図である。
図１に示すように、通信システム１は、送信側に設けられた符号化装置２と、受信側に設けられた復号装置３とを有する。
通信システム１では、送信側の符号化装置２において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ（ビットストリーム）を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルＴＶ網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
図１に示す復号装置３は符号化装置２の符号化に対応した復号を行う。
【００１２】
以下、図１に示す符号化装置２について説明する。
図２は、図１に示す符号化装置２の全体構成図である。
図２に示すように、符号化装置２は、例えば、Ａ／Ｄ変換回路２２、画面並べ替え回路２３、演算回路２４、直交変換回路２５、量子化回路２６、可逆符号化回路２７、バッファ２８、逆量子化回路２９、逆直交変換回路３０、再構成回路３１、デブロックフィルタ３２、メモリ３３、イントラ予測回路４１、動き予測・補償回路４２、選択回路４４およびレート制御回路５４を有する。
【００１３】
以下、符号化装置２の概要を説明する。
図５に示すように、レート制御回路５４の比率α算出回路８４において、図３に示すＣＡＢＡＣ回路６４で生成したｎ番目のフレームの１フレーム分の符号化データｂｉｔ（ｎ）の発生ビット量を加算して得たデータＡ＿ｂｉｔ（ｎ）を、図３に示すＶＬＣ回路６３で生成したｎ番目のフレームの１フレーム分の２値化シンボルｂｉｎ（ｎ）の発生ビット量を加算して得たデータＡ＿ｂｉｎ（ｎ）で除算して比率αを算出する。
そして、図５に示すレート制御回路５４の仮想バッファレート制御回路８７は、ＶＬＣ回路６３で生成したｎ＋１番目のフレームの１フレーム分の２値化シンボルｂｉｎ（ｎ＋１）と、ｎ＋１番目のフレームと同じピクチャタイプの割当符号量決定回路８６から入力した割当符号量ＴＩ，ＴＰ，ＴＢと、比率α算出回路８４から入力した比率αＩ，αＰ，αＢとに基づいて、ｊ番目のマクロブロックについての仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出する。
すなわち、本実施形態では、仮想バッファレート制御回路８７における仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢの算出で、符号化データｂｉｔではなく、２値化シンボルｂｉｎを用いることで、例えば、（ｊ−１）番目のマクロブロックの符号化データｂｉｔが得られていない場合でも、ｊ番目のマクロブロックの量子化スケールを、仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを基に適切に制御できる。これにより、符号量を適切に制御でき、符号化のリアルタイム性を確保できる。
【００１４】
以下、符号化装置２の構成要素について説明する。
Ａ／Ｄ変換回路２２は、入力されたアナログの輝度信号Ｙ、色差信号Ｐｂ，Ｐｒから構成される被符号化画像データＳ１０をデジタルの画像データＳ２２に変換し、これを画面並べ替え回路２３に出力する。
画面並べ替え回路２３は、Ａ／Ｄ変換回路２２から入力した画像データＳ２２を、そのピクチャタイプＩ，Ｐ，ＢからなるＧＯＰ(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えた画像データＳ２３を演算回路２４、イントラ予測回路４１、動き予測・補償回路４２およびレート制御回路５４に出力する。
【００１５】
演算回路２４は、画像データＳ２３と、選択回路４４から入力した予測画像データＰＩとの差分を示す画像データＳ２４を生成し、これを直交変換回路２５に出力する。
直交変換回路２５は、画像データＳ２４に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ（例えばＤＣＴ係数）Ｓ２５を生成し、これを量子化回路２６に出力する。
量子化回路２６は、レート制御回路５４から入力した量子化パラメータＱＰを基に、当該量子化パラメータＱＰに応じて規定される量子化スケール（量子化ステップ）で画像データＳ２５を量子化して画像データＳ２６を生成し、これを可逆符号化回路２７および逆量子化回路２９に出力する。
【００１６】
可逆符号化回路２７は、画像データＳ２６（ＤＣＴ係数）、動き予測・補償回路４２から入力した符号化属性データ（例えば、動きベクトルＭＶやｍｂ＿ｓｋｉｐ＿ｆｌａｇ）、並びにイントラ予測回路４１から入力した符号化属性データ（例えば、イントラ予測モードＩＰＭ）などのシンタックス要素をエントロピー符号化する。
可逆符号化回路２７は、当該エントロピー符号化としては、ＣＡＶＬＣ(Context-Adaptive Variable Length Coding:コンテキスト適応型可変長符号化)と、ＣＡＢＡＣ(Context-Adaptive Binary Arithmetic Coding:コンテキスト適応型２値算術符号化)とを行い、符号化した画像データをバッファ２８に格納する。
このとき、可逆符号化回路２７は、選択データＳ４４がインター予測符号化を選択したことを示す場合に、動き予測・補償回路４２から入力した動きベクトルＭＶやｍｂ＿ｓｋｉｐ＿ｆｌａｇを符号化してヘッダデータに格納する。ここで、ｍｂ＿ｓｋｉｐ＿ｆｌａｇは、それに対応するマクロブロックが、マクロブロック情報を送らずに、参照ピクチャの空間的に同位置の画素を、そのまま符号化画像として用いたものであるか否かを示すデータである。
また、可逆符号化回路２７は、選択データＳ４４がイントラ予測符号化を選択したことを示す場合に、イントラ予測回路４１から入力したイントラ予測モードＩＰＭをヘッダデータなどに格納する。
また、可逆符号化回路２７は、各マクロブロックＭＢに、量子化回路２６における量子化で用いた量子化スケールを含める。
可逆符号化回路２７は、上述したもの以外にも、符号化に関する属性データを符号化してヘッダデータに格納する。
バッファ２８に格納された画像データは、変調等された後に送信される。
可逆符号化回路２７における処理については後に詳細に説明する。
【００１７】
逆量子化回路２９は、量子化回路２６で用いた量子化スケールを基に、画像データＳ２６を逆量子化して逆直交変換回路３０に出力する。
逆直交変換回路３０は、逆量子化回路２９から入力した逆量子化された画像データに、直交変換回路２５の直交変換に対応した逆直交変換を施して再構成回路３１に出力する。
再構成回路３１は、選択回路４４から入力した予測画像データＰＩと、逆直交変換回路３０から入力した画像データとを加算して再構成画像データを生成し、これをデブロックフィルタ３２に出力する。
デブロックフィルタ３２は、再構成回路３１から入力した画像データのブロック歪みを除去した後に、これを参照画像データとしてメモリ３３に書き込む。
【００１８】
イントラ予測回路４１は、予め規定されたイントラ予測モードのそれぞれを基に、メモリ３３から読み出した画像データを構成する各マクロブロックＭＢにイントラ予測符号を施して予測画像を生成し、当該予測画像データと画像データＳ２３との差分ＤＩＦを検出する。
そして、イントラ予測回路４１は、上記複数のイントラ予測モードについてそれぞれ生成した上記差分のうち最小の差分に対応するイントラ予測モードを特定し、当該特定したイントラ予測モードＩＰＭを可逆符号化回路２７に出力する。
また、イントラ予測回路４１は、上記特定したイントラ予測モードによる予測画像データＰＩと、上記差分ＤＩＦとを選択回路４４に出力する。
【００１９】
動き予測・補償回路４２は、画像データＳ２３を、フレームデータおよびフィールドデータを単位として動き予測処理を行い、メモリ３３から読み出した参照画像データＲＥＦを基に動きベクトルＭＶを決定する。
すなわち、動き予測・補償回路４２は、動きベクトルＭＶと参照画像データＲＥＦとによって規定される予測画像データＰＩと、画像データＳ２３との差分ＤＩＦを最小にする動きベクトルＭＶを決定する。
動き予測・補償回路４２は、予測画像データＰＩおよび差分ＤＩＦを選択回路４４に出力し、動きベクトルＭＶを可逆符号化回路２７に出力する。
【００２０】
選択回路４４は、イントラ予測回路４１から入力した差分ＤＩＦと、動き予測・補償回路４２から入力した差分ＤＩＦとを比較する。
選択回路４４は、上記比較によりイントラ予測回路４１から入力した差分ＤＩＦの方が小さいと判断すると、イントラ予測回路４１から入力した予測画像データＰＩを選択して演算回路２４に出力する。
選択回路４４は、上記比較により動き予測・補償回路４２から入力した差分ＤＩＦの方が小さいと判断すると、動き予測・補償回路４２から入力した予測画像データＰＩを選択して演算回路２４に出力する。
また、選択回路４４は、イントラ予測回路４１からの予測画像データＰＩを選択した場合にはインター予測符号化を選択したことを示す選択データＳ４４を可逆符号化回路２７に出力し、動き予測・補償回路４２からの予測画像データＰＩを選択した場合にはイントラ予測符号化を選択したことを示す選択データＳ４４を可逆符号化回路２７に出力する。
【００２１】
［可逆符号化回路２７］
以下、図２に示す可逆符号化回路２７について詳細に説明する。
図３は、図２に示す可逆符号化回路２７の構成図である。
図３に示すように、可逆符号化回路２７は、例えば、コンテキスト計算回路６１、確率テーブル選択回路６２、ＶＬＣ回路６３およびＣＡＢＡＣ回路６４を有する。
上述したように、可逆符号化回路２７は、画像データＳ２６（ＤＣＴ係数）、動き予測・補償回路４２から入力した符号化属性データ（例えば、動きベクトルＭＶやｍｂ＿ｓｋｉｐ＿ｆｌａｇ）、並びにイントラ予測回路４１から入力した符号化属性データ（例えば、イントラ予測モードＩＰＭ）などのシンタックス要素をエントロピー符号化する。
【００２２】
コンテキスト計算回路６１は、符号化対象の多値のシンタックス要素のコンテキストを計算（決定）する。
本実施形態においては、異なるシンタクス要素に対しては、異なるコンテキストが計算される（定義されている）。また、同じシンタクス要素であっても、その周辺のマクロブロックに関する属性に応じて複数のコンテキストが計算される。
例えば、図４に示すように、コンテキスト計算回路６１が、マクロブロックＣのｍｂ＿ｓｋｉｐ＿ｆｌａｇを符号化する場合を考える。
ここで、下記式（１−１）に示すように、関数f(X)を定義する。
【００２３】
【数１】
0004622804.tif 000002
【００２４】
コンテキスト計算回路６１は、マクロブロックＣに対するコンテキストContext(C)を下記式（１−２）に示すように、マクロブロックＡ，Ｂについての関数ｆの値を用いて計算する。
【００２５】
【数２】
0004622804.tif 000003
【００２６】
そして、確率テーブル選択回路６２は、コンテキスト計算回路６１が計算したコンテキストContext(C)に基づいて選択した発生確率テーブルをＣＡＢＡＣ回路６４に指定する。
そして、ＣＡＢＡＣ回路６４は、当該指定された発生確率テーブルを用いて、マクロブロックＣに対するｍｂ＿ｓｋｉｐ＿ｆｌａｇを符号化する。このとき、マクロブロックＣに対するｍｂ＿ｓｋｉｐ＿ｆｌａｇは、Ｃｏｎｔｅｘｔ０，１，２のいずれかに符号化されるということになる。
コンテキスト計算回路６１は、符号化対象のシンタックス要素の周囲の情報や、ＶＬＣ回路６３で符号化された２値化シンボル（以下、「ｂｉｎ」とも記す）に基づいて、当該２値化シンボルの１ビット毎に上記コンテキストを計算する。
【００２７】
確率テーブル選択回路６２は、２値信号の発生確率テーブルを複数規定しており、符号化対象やその周囲の情況に応じて選択した発生確率テーブルの番号をＣＡＢＡＣ回路６４に指定する。
各発生確率テーブルは、発生確率が最も高い０または１のシンボル（ＭＰＳ:Most Probable Symbol）と対応付けられており、その番号が発生確率と対応付けられている。
確率テーブル選択回路６２は、コンテキスト計算回路６１から入力したコンテキストに基づいて、予め用意した複数の発生確率テーブルから１つの発生確率テーブルを選択し、これをＣＡＢＡＣ回路６４に指定する。
本実施形態において、発生確率テーブルは、スライスの先頭で予め初期化され、発生シンボルに応じて逐次更新される。
【００２８】
ＶＬＣ回路６３は、量子化回路２６、イントラ予測回路４１および動き予測・補償回路４２から入力した多値のシンタックス要素（Code symbol）を、例えば、下記表１に示す所定のテーブルに基づいて２値化シンボル(Binarization)ｂｉｎを生成する。
ＶＬＣ回路６３は、上記２値化シンボルｂｉｎをＣＡＢＡＣ回路６４およびレート制御回路５４に出力する。
【００２９】
【表１】
0004622804.tif 000004
【００３０】
ＣＡＢＡＣ回路６４は、確率テーブル選択回路６２によって指定された発生確率テーブルを用いて、ＶＬＣ回路６３から入力した２値化シンボルを符号化して符号化データｂｉｔを生成する。ＣＡＢＡＣ回路６４は、符号化データｂｉｔをレート制御回路５４に出力する。
【００３１】
［レート制御回路５４］
図５は、図２および図３に示すレート制御回路５４の構成図である。
図５に示すように、レート制御回路５４は、例えば、フレームｂｉｔ加算回路８１、フレームｂｉｎ加算回路８２、バッファメモリ８３、比率α算出回路８４、複雑度決定回路８５、割当符号量決定回路８６および仮想バッファレート制御回路８７を有する。
【００３２】
フレームｂｉｔ加算回路８１は、図３に示すＣＡＢＡＣ回路６４で生成したｎ番目のフレームの１フレーム分の符号化データｂｉｔの発生ビット量を加算してデータＡ＿ｂｉｔ（ｎ）算出し、これを比率α算出回路８４に出力する。
フレームｂｉｎ加算回路８２は、図３に示すＶＬＣ回路６３で生成したｎ番目のフレームの１フレーム分の２値化シンボルｂｉｎの発生ビット量を加算してデータＡ＿ｂｉｎ（ｎ）を算出し、これをバッファメモリ８３に書き込む。
【００３３】
比率α算出回路８４は、下記式（１−３）に示すように、フレームｂｉｔ加算回路８１から入力したｎ番目のフレームのＡ＿ｂｉｔ（ｎ）を、バッファメモリ８３から読み出したＡ＿ｂｉｔ（ｎ）で除算して比率α（ｎ）を算出する。
下記式（１−３）において、ｍは、ピクチャ内のマクロブロックの数を示している。
【００３４】
【数３】
0004622804.tif 000005
【００３５】
比率α算出回路８４は、上記ｎ番目のフレームがＩピクチャの場合には、比率αＩを、比率α（ｎ）で更新（設定）する。
また、比率α算出回路８４は、上記ｎ番目のフレームがＰピクチャの場合には、比率αＰを、比率α（ｎ）で更新する。
比率α算出回路８４は、上記ｎ番目のフレームがＢピクチャの場合には、比率αＢを、比率α（ｎ）で更新する。
【００３６】
複雑度決定回路８５、割当符号量決定回路８６および仮想バッファレート制御回路８７は以下のステップ１〜３の処理を行って、量子化スケールコードｍｑｕａｎｔ（量子化パラメータＱＰ）を算出する。
先ず、ステップ１〜３のアルゴリズムについて説明する。
［ステップ１］
ステップ１では、ＧＯＰ(Group Of Pictures) 内の各ピクチャに対する割当ビット量を、割当対象ピクチャを含めて、まだ符号化されていないピクチャに対して、割当られるビット量Ｒを基にして配分する。この配分をＧＯＰ内の符号化ピクチャ順に繰り返す。その際、以下の仮定を用いて、各ピクチャへの符号量割当を行っている。
すなわち、各ピクチャを符号化する際に用いる、平均量子化スケールコードと発生符号量との積は、画面が変化しない限り、ピクチャタイプ毎に一定となるという仮定である。
そこで、複雑度決定回路８５は、ｎ番目のフレームを符号化した後、各ピクチャタイプ毎に、画面の複雑さを表す複雑度ＸＩ，ＸＰ，ＸＢ（Ｇｌｏｂａｌ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｅａｓｕｒｅ）を下記（２−１）により更新する。
この複雑度により、次のふれピクチャを符号化する際の量子化スケールコードと発生符号量の関係を推定できる。
【００３７】
【数４】
0004622804.tif 000006
【００３８】
ここで、ＳＩ，ＳＰ，ＳＢは、ピクチャ符号化時の発生符号化ビット、ＱＩ，ＱＰ，ＱＢは、ピクチャ符号化時の平均量子化スケールコードである。
また、複雑度決定回路８５は、初期値として、目標符号量であるｂｉｔ＿ｒａｔｅ［ｂｉｔｓ／ｓｅｃ］を用いて、下記（２−２），（２−３），（２−４）で示される値を算出する。
【００３９】
【数５】
0004622804.tif 000007
【００４０】
【数６】
0004622804.tif 000008
【００４１】
【数７】
0004622804.tif 000009
【００４２】
割当符号量決定回路８６は、上記仮定より、ＧＯＰ中の各ピクチャに対する割当符号量（ＴI ，ＴP，ＴB ）を、下記（２−５），（２−６），（２−７）を用いて算出する。
下記２−５），（２−６），（２−７）において、ｐｉｃｔｕｒｅ＿ｒａｔｅは、当該シーケンスにおける、１秒あたり表示されるピクチャの数を示している。
また、ＫＰ、Ｋｂが「ＫＰ＝１．０」、「Ｋｂ＝１．４」であり、この場合に全体の画質が最適となることを仮定している。すなわち、Ｂピクチャの量子化スケールを、Ｉ，Ｐピクチャの量子化スケールを基準とした時、常に１．４倍となるとしている。これは、Ｂピクチャを、Ｉ，Ｐピクチャに比してより粗く量子化することにより、Ｂピクチャで節約できる符号量をＩ，Ｐピクチャに割り振り、Ｉ，Ｐピクチャの画質を改善するとともに、これを参照とするＢピクチャの画質をも向上させることを想定している。
【００４３】
【数８】
0004622804.tif 000010
【００４４】
【数９】
0004622804.tif 000011
【００４５】
【数１０】
0004622804.tif 000012
【００４６】
ここで、ＮP ，ＮB は、ＧＯＰ内でまだ符号化されていないＰ，Ｂピクチャの枚数である。
【００４７】
すなわち、まず、ＧＯＰ内の未符号化ピクチャのうち、割当対象となるピクチャと、異なるピクチャタイプのものに関しては、上述の画質最適化条件の元、そのピクチャの発生する符合量が、割当対象ピクチャの発生符号量の何倍となるかを推定する。
次に、未符号化ピクチャ全体の発生する推定発生符号量が、割当対象ピクチャの何枚分の符号量に相当するかを求める。
例えば、上記（２−５）の、第１引数の分母第２項、Ｎp ＸＰ／ＸI ＫP は、ＧＯＰ内の、ＮP 枚の未符号化ピクチャが、Ｉピクチャに換算すると何枚分に換算するかを表すものであり、ＮP に、Ｐピクチャに対する発生符号量の、Ｉピクチャの発生符号量に対する割合ＳP ／ＳI を乗じてＸI ，ＸP ，Ｋｂ で表すことにより得られる。
【００４８】
割当対象ピクチャに対するビット量は、未符号化ピクチャに対する割当ビット量Ｒを、この枚数で割ることによって得られる。但し、ヘッダなどに、固定的に必要となる符号量を考慮して、その値に下限を設定している。
割当符号量決定回路８６は、このようにして求めた割当符号量を基にして、各ピクチャをステップ１，２に従って符号化する毎に、ＧＯＰ内の未符号化ピクチャに対して割当られる符号量Ｒを、下記（２−８）により更新する。
【００４９】
【数１１】
0004622804.tif 000013
【００５０】
また、割当符号量決定回路８６は、ＧＯＰの最初のピクチャを符号化する際には、以下の（２−９）により、Ｒを更新する。
【００５１】
【数１２】
0004622804.tif 000014
【００５２】
ここで、Ｎは、ＧＯＰ内のピクチャ数である。また、シーケンス最初でのＲの初期値は０とする。
割当符号量決定回路８６は、上記生成した各ピクチャに対する割当符号量（ＴI ，ＴP，ＴB ）を、仮想バッファレート制御回路８７に出力する。
【００５３】
次に、ステップ２について述べる。
仮想バッファレート制御回路８７は、ステップ２において、ステップ１で求めた、各ピクチャに対する割当ビット量（ＴI，ＴP ，ＴB ）を、実際の符号量に一致させるため、各ピクチャタイプ毎に、独立に設定した３種類の仮想バッファの容量を基に、量子化スケールコードを、マクロブロック単位のフィードバック制御により求める。
まず、仮想バッファレート制御回路８７は、符号化対象のピクチャ（フレーム）内のｊ番目のマクロブロック符号化に先立ち、ｊ番目のマクロブロックについての仮想バッファの占有量を下記式（２−１０），（２−１１），（２−１２）により求める。
下記式（２−１０），（２−１１），（２−１２）の第１項であるｄ０ｉ ,ｄ０ｐ ,ｄ０ｂは、各仮想バッファの初期占有量であり、仮想バッファレート制御回路８７は、例えば、ビットレートおよびピクチャレートを基に、「ｄ０Ｉ＝１０×ｒ／３１；ｄ０Ｐ＝ＫＰｄ０Ｉ；ｄ０Ｂ＝Ｋｂｄ０Ｉ」により決定する。
なお、仮想バッファレート制御回路８７は、ビットレートおよびピクチャレートに加えて、符号化対象のピクチャ（ブロック）の複雑度を基に、ｄ０ｉ ,ｄ０ｐ ,ｄ０ｂを決定してもよい。
【００５４】
各式の第２項は、０〜（ｊ−１）番目のマクロブロックについて図３に示すＣＡＢＡＣ回路６４が出力する符号化データｂｉｔの発生ビット量の総和の予測値であり、図３に示すＶＬＣ回路６３が生成した２値シンボルｂｉｎの発生ビット量と、図５に示す比率α算出回路８４が生成した当該ピクチャ種類の比率αＩ，αＰ，αＢとを乗じて決定される。  下記式（２−１０），（２−１１），（２−１２）に示すように、Ｉ，Ｐ，Ｂの各ピクチャのｊ番目のマクロブロックについての仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢは、従来で用いた０〜（ｊ−１）番目ＣマクロブロックについてのＣＡＢＡＣ回路の符号化データｂｉｔの総和の代わりに、０〜（ｊ−１）番目のマクロブロックについて図３に示すＶＬＣ回路６３が生成した２値シンボルｂｉｎの発生ビット量と、図５に示す比率α算出回路８４が生成した当該ピクチャ種類の比率αＩ，αＰ，αＢとを乗じた値の総和（各式の第２項）を用いている。
これにより、処理時間の長いＣＡＢＡＣ回路６４の処理完了を待たずに、早いタイミングで仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出でき、仮想バッファ占有に基づく符号量制御を適切に実行できる。
【００５５】
第３項は、０〜（ｊ−１）番目のマクロブロックについてのＣＡＢＡＣ回路の符号化データｂｉｔの発生ビット量の総和の割当量を示している。ＭＢｃｎｔは、１ピクチャ内のマクロブロック数である。
【００５６】
【数１３】
0004622804.tif 000015
【００５７】
【数１４】
0004622804.tif 000016
【００５８】
【数１５】
0004622804.tif 000017
【００５９】
各ピクチャ符号化終了時の仮想バッファ占有量（ｄMBcntxI ，ｄMBcntxp ，ｄMBcntxB ）は、それぞれ同一のピクチャタイプで、次のピクチャに対する仮想バッファ占有量の初期値（ｄ0 I ，ｄ0 P ，ｄ0 B ）として用いられる。
【００６０】
次に、仮想バッファレート制御回路８７は、ｊ番目のマクロブロックに対する量子化スケールコードＱj を下記（２−１３）により算出する。
【００６１】
【数１６】
0004622804.tif 000018
【００６２】
ｒはリアクションパラメータであり、下記式（２−１４）で定義されたものが用いられる。
下記式（２−１４）において、「ｂｉｔ＿ｒａｔｅ」は目標符号量（ｂｉｔ／ｓｅｃ）であり、「ｐｉｃｔｕｒｅ＿ｒａｔｅ」は当該シーケンスにおける、１秒あたり表示されるピクチャの数である。これらの値は、予め設定される。
【００６３】
【数１７】
0004622804.tif 000019
【００６４】
次に、ステップ３について述べる。
仮想バッファレート制御回路８７は、画面並べ替え回路２３から入力した画像データＳ２３を基に各ブロックのアクティビティを算出する。
アクティビティは、予測誤差でなく、原画の輝度信号画素値を用い、フレームＤＣＴモードにおける４個の８×８ブロックと、フィールドＤＣＴ符号化モードにおける４個の８×８ブロックとの合計８個のブロックの画素値を用いて、下記（２−１５），（２−１６），（２−１７）により与えられる。
下記（２−１６）に示すｖａｒ＿ｓｂｌｋは、各画素の画素データとその平均値との差分の自乗和であり、当該８×８ブロックの画像が複雑になるに従って値が大きくなる。
【００６５】
【数１８】
0004622804.tif 000020
【００６６】
【数１９】
0004622804.tif 000021
【００６７】
【数２０】
0004622804.tif 000022
【００６８】
ここでＰk は原画の輝度信号ブロック内画素値である。上記（２−１５）において最小値（ｍｉｎ）を採るのは、１６×１６のマクロブロック内の一部だけでも平坦部分のある場合には量子化を細かくするためである。
さらに、仮想バッファレート制御回路８７は、以下の（２−１８）により、その値が０．５〜２の範囲をとる正規化アクティビティＮａｃｔj を算出する。
【００６９】
【数２１】
0004622804.tif 000023
【００７０】
ａｖｇ＿ａｃｔは、直前に符号化したピクチャでのａｃｔj の平均値である。
仮想バッファレート制御回路８７は、視覚特性を考慮した量子化スケールコードｍｑｕａｎｔj を、参照量子化スケールコードＱj を基に下記（２−１９）により算出する。
【００７１】
【数２２】
0004622804.tif 000024
【００７２】
そして、仮想バッファレート制御回路８７は、各マクロブロックＭＢの量子化スケールコードｍｑｕａｎｔｊに応じた量子化パラメータＱＰを量子化回路２６に出力する。
【００７３】
量子化回路２６は、レート制御回路５４から入力した量子化パラメータＱＰに応じて規定される量子化スケールで、画像データＳ２５を量子化して画像データＳ２６を生成する。
なお、本実施形態では、量子化パラメータＱＰが「６」増加すると、量子化スケールが２倍になるように規定されている。
【００７４】
以下、符号化装置２の動作例を説明する。
［第１の動作例］
当該動作例では、図５に示すレート制御回路５４における比率αＩ，αＰ，αＢの生成動作について説明する。
図６は、当該動作例を説明するためのフローチャートである。
ステップＳＴ１１：
図５に示すレート制御回路５４のフレームｂｉｎ加算回路８２は、図３に示すＶＬＣ回路６３で生成したｎ番目のフレームの１フレーム分の２値化シンボルｂｉｎの発生ビット量を加算してデータＡ＿ｂｉｎ（ｎ）を算出し、これをバッファメモリ８３に書き込む。
【００７５】
ステップＳＴ１２：
図５に示すフレームｂｉｔ加算回路８１は、図３に示すＣＡＢＡＣ回路６４で生成したｎ番目のフレームの１フレーム分の符号化データｂｉｔの発生ビット量を加算してデータＡ＿ｂｉｔ（ｎ）算出し、これを比率α算出回路８４に出力する。
【００７６】
ステップＳＴ１３：
比率α算出回路８４は、上記式（１−３）に示すように、フレームｂｉｔ加算回路８１から入力したｎ番目のフレームのＡ＿ｂｉｔ（ｎ）を、バッファメモリ８３から読み出したＡ＿ｂｉｔ（ｎ）で除算して比率α（ｎ）を算出する。
【００７７】
ステップＳＴ１４：
比率α算出回路８４は、上記ｎ番目のフレームがＩピクチャの場合には、比率αＩを、比率α（ｎ）で更新（設定）する。
また、比率α算出回路８４は、上記ｎ番目のフレームがＰピクチャの場合には、比率αＰを、比率α（ｎ）で更新する。
比率α算出回路８４は、上記ｎ番目のフレームがＢピクチャの場合には、比率αＢを、比率α（ｎ）で更新する。
【００７８】
［第２の動作例］
当該動作例では、図５に示すレート制御回路５４において、ＧＯＰ内のＩ，Ｐ，Ｂの各ピクチャに対する割当符号量ＴＩ，ＴＰ，ＴＢを算出する動作を説明する。
図７は、当該動作を説明するためのフローチャートである。
ステップＳＴ２１：
複雑度決定回路８５は、ｎ番目のフレームを符号化した後、各ピクチャタイプ毎に、画面の複雑さを表す複雑度ＸＩ，ＸＰ，ＸＢを上記（２−１）により更新する。
複雑度決定回路８５は、ｎ＋１番目のフレームのピクチャタイプに対応して上記算出した複雑度ＸＩ，ＸＰ，ＸＢを割当符号量決定回路８６に出力する。
【００７９】
ステップＳＴ２２：
割当符号量決定回路８６は、ステップＳＴ２１で入力した複雑度ＸＩ，ＸＰ，ＸＢを用いて、ＧＯＰ中の各ピクチャに対する割当符号量（ＴI ，ＴP，ＴB ）を、上記（２−５），（２−６），（２−７）を基に算出し、ピクチャ種類毎に更新する。
割当符号量決定回路８６は、ｎ＋１番目のフレームのピクチャタイプに対応して上記更新した割当符号量ＴＩ，ＴＰ，ＴＢを仮想バッファレート制御回路８７に出力する。
【００８０】
［第３の動作例］
当該動作例では、量子化パラメータＱＰを生成する動作を説明する。
図８は、当該動作例を説明するための図である。
ステップＳＴ３１：
図３に示す可逆符号化回路２７のＶＬＣ回路６３が、ｎ＋１番目のフレームの２値化シンボルｂｉｎ（ｎ＋１）を生成し、これをレート制御回路５４およびＣＡＢＡＣ回路６４に出力する。
【００８１】
ステップＳＴ３２：
図５に示すレート制御回路５４の仮想バッファレート制御回路８７は、ステップＳＴ３１で入力した２値化シンボルｂｉｎ（ｎ＋１）と、ｎ＋１番目のフレームと同じピクチャタイプの割当符号量決定回路８６から入力した割当符号量ＴＩ，ＴＰ，ＴＢと、比率α算出回路８４から入力した比率αＩ，αＰ，αＢとに基づいて、上記式（２−１０），（２−１１），（２−１２）に基づいて、ｊ番目のマクロブロックについての仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出する。
【００８２】
ステップＳＴ３３：
仮想バッファレート制御回路８７は、ステップＳＴ３２で算出した仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを基に、上記式（２−１３）により、ｊ番目のマクロブロックについての量子化スケールコードＱjを算出する。
【００８３】
［符号化装置２の全体動作例］
図３に示す可逆符号化回路２７において、２値化シンボルｂｉｎと、符号化データｂｉｔとが生成され、これらがレート制御回路５４に出力される。
そして、図５に示すレート制御回路５４において、レート制御回路５４から入力した２値化シンボルｂｉｎおよび符号化データｂｉｔに基づいて、図６、図７および図８に示す手順で、符号化対象のマクロブロックの量子化パラメータＱＰが生成される。
【００８４】
また、イントラ予測回路４１においてイントラ予測が行われ、予測画像データＰＩと差分ＤＩＦとが選択回路４４に出力される。
また、動き予測・補償回路４２において、動き予測・補償処理が行われ、動きベクトルＭＶが特定されると共に、予測画像データＰＩと差分ＤＩＦとが選択回路４４に出力される。
そして、選択回路４４が、イントラ予測回路４１から入力した差分ＤＩＦと、動き予測・補償回路５８から入力した差分ＤＩＦとのうち小さい方の差分ＤＩＦに対応する予測画像データＰＩを演算回路２４に出力する。
【００８５】
次に、演算回路２４が、画像データＳ２３と、選択回路４４から入力した予測画像データＰＩとの差分を示す画像データＳ２４を生成し、これを直交変換回路２５に出力する。  次に、直交変換回路２５が、画像データＳ２４に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ（例えばＤＣＴ係数）Ｓ２５を生成し、これを量子化回路２６に出力する。
次に、量子化回路２６が、レート制御回路３２から入力した量子化パラメータＱＰを基に、当該量子化パラメータＱＰに応じて規定される量子化スケールを基に画像データＳ２５を量子化して画像データＳ２６を生成し、これを可逆符号化回路２７および逆量子化回路２９に出力する。
次に、可逆符号化回路２７が、画像データＳ２６を可変長符号化あるいは算術符号化した画像データをバッファ２８に格納する。
【００８６】
以上説明したように、符号化装置では、図５〜図８を用いて説明したように、図５に示すレート制御回路５４の仮想バッファレート制御回路８７における仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢの算出で、符号化データｂｉｔではなく、２値化シンボルｂｉｎを用いることで、例えば、（ｊ−１）番目のマクロブロックの符号化データｂｉｔが得られていない場合（マクロブロックの符号化データｂｉｔをリアルタイムで生成できない場合）でも、ｊ番目のマクロブロックの量子化スケールを、仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを基に符号量を適切に制御できる。これにより、符号化のリアルタイム性を確保できる。
【００８７】
＜第２実施形態＞
上述した第１の実施形態では、図５に示す比率α算出回路８４において、Ｉ／Ｐ／Ｂピクチャ単位で比率αを算出する場合を例示したが、比率αを算出しているが、図９のように、フィールド符号化が行われる際には、Ｉ−ｔｏｐ，Ｐ−ｔｏｐ，Ｐ−ｂｏｔｔｏｍ，Ｂ−ｔｏｐ，Ｂ−ｂｏｔｔｏｍといったように、ピクチャタイプ及びフィールド毎に異なる比率αを算出して仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出してもよい。
【００８８】
＜第３実施形態＞
上述した実施形態では、図５に示す仮想バッファレート制御回路８７において、上記式（２−１０），（２−１１），（２−１２）に示すように、符号化対象のピクチャ内のｊ番目のマクロブロックについての仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出する際に、例えば、符号化データｂｉｔが、０〜ｍ−１番目のマクロブロックについては既に得られていて、ｍ〜ｊ−１番目のマクロブロックについては未だ得られてない場合に、下記式（３−１），（３−２），（３−３）に基づいて、仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出してもよい。このように既に符号化データｂｉｔが得られているものについては、それを用いることで、より信頼性の高い仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢを算出できる。
【００８９】
【数２３】
0004622804.tif 000025
【００９０】
【数２４】
0004622804.tif 000026
【００９１】
【数２５】
0004622804.tif 000027
【００９２】
＜第４実施形態＞
上述した実施形態では、割当符号量決定回路８６における割当符号量決定処理、比率α算出回路８４における比率αの算出処理、並びに仮想バッファレート制御回路８７における仮想バッファ占有量ｄｊＩ，ｄｊＰ，ｄｊＢの算出処理を、ピクチャ単位で行う場合を例示したが、１つのピクチャ内に異なるタイプ（Ｉ，Ｐ，Ｂ）のスライスが混在する場合には、スライス単位で上記処理を行う。
これにより、スライスの種類に適合した量子化パラメータＱＰの生成処理ができる。
【００９３】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
上述した実施形態では、符号化装置２がＨ．２６４／ＡＶＣで符号化を行う場合を例示したが、仮想バッファ占有量の初期値を基に量子化スケールを決定するものであれば、ＭＰＥＧなどのその他の符号化方式でもよい。
また、上述した符号化装置２の機能の全部あるいは一部を、図１０に示すように、メモリ２５２に記憶されたプログラムＰＲＧの記述に従ってＣＰＵ(Central Processing Unit)などの処理回路２５３が実行してもよい。
この場合に、インターフェース２５１を介して、符号化対象の画像データが入力され、その処理結果が出力される。
【図面の簡単な説明】
【００９４】
【図１】図１は、本発明の第１実施形態の通信システムの全体構成図である。
【図２】図２は、図１に示す符号化回路の構成図である。
【図３】図３は、図２に示す可逆符号化回路の構成図である。
【図４】図４は、図３に示すコンテキスト計算回路の処理を説明するための図である。
【図５】図５は、図２および図３に示すレート制御回路の構成図である。
【図６】図６は、図５に示すレート制御回路における比率αＩ，αＰ，αＢの生成動作について説明するためのフローチャートである。
【図７】図７は、図５に示すレート制御回路において、ＧＯＰ内のＩ，Ｐ，Ｂの各ピクチャに対する割当符号量ＴＩ，ＴＰ，ＴＢを算出する動作を説明するためのフローチャートである。
【図８】図８は、図５に示すレート制御回路５４において量子化パラメータＱＰを生成する動作を説明するためのフローチャートである。
【図９】図９は、本発明の第２実施形態を説明するための図である。
【図１０】図１０は、本発明の実施形態をプログラムで実行する場合を説明するための図である。
【符号の説明】
【００９５】
２…符号化装置２、２２…Ａ／Ｄ変換回路、２３…画面並べ替え回路、２４…演算回路、２５…直交変換回路、２６…量子化回路、２７…可逆符号化回路、２８…バッファ、２９…逆量子化回路、３０…逆直交変換回路、３１…再構成回路、３２…デブロックフィルタ、３３…メモリ、４１…イントラ予測回路、４２…動き予測・補償回路、４４…選択回路、５４…レート制御回路、６１…コンテキスト計算回路、６２…確率テーブル選択回路、６３…ＶＬＣ回路、６４…ＣＡＢＡＣ回路、８１…フレームｂｉｔ加算回路、８２…フレームｂｉｎ加算回路、８３…バッファメモリ、８４…比率α算出回路、８５…複雑度決定回路、８６…割当符号量決定回路
【図１】
0004622804.tif 000028
【図２】
0004622804.tif 000029
【図３】
0004622804.tif 000030
【図４】
0004622804.tif 000031
【図５】
0004622804.tif 000032
【図６】
0004622804.tif 000033
【図７】
0004622804.tif 000034
【図８】
0004622804.tif 000035
【図９】
0004622804.tif 000036
【図１０】
0004622804.tif 000037