(57)【特許請求の範囲】
【請求項１】
予測差分もしくは原画像に対して直交変換を行う周波数変換部と、該周波数変換部が出力する変換係数に対して量子化を行う量子化部と、該量子化された変換係数およびヘッダ情報に対して符号の発生頻度に応じた符号化を行う可変長符号化部と、該可変長符号化部が出力する符号化ストリームを所望のビットレートレートに保つよう制御するレート制御部とを有し、
前記可変長符号化部は、少なくとも前記レート制御部とは別のプロセスで、ピクチャ、スライスもしくはブロックの単位でのレート制御を受けて算術符号化を行うものであり、該単位の中で前記可変長符号化が完了した部分では実符号量を用い、未完了の部分では前記符号化の前のビット列の長さと、該ビット列に含まれる０または１の何れか一方のビットの発生頻度とに基づいて推定した符号量を用いて、該単位毎の発生符号量を計算して前記レート制御部に提供し、
前記未完了の部分で推定される符号量は、前記符号化の前のビット列の長さと実符号量との関係をモデル化した区分的直線近似関数を、前記発生頻度のカテゴリ毎に複数用意して、該区分的直線近似関数を用いて計算し、
前記レート制御部は、該推定された符号量に基づいてレート制御を行うことを特徴とする画像符号化装置。
【請求項２】
前記区分的直線近似関数は、画面内予測と画面間予測の違い、若しくは量子化パラメタに応じて、さらに複数設けられ、
前記レート制御部に提供される該単位毎の発生符号量は、前記ブロック単位の発生符号量であり、
前記レート制御部は、該ブロック単位のレート制御を行うととともに、対象スライスにて許容できる発生符号量を符号量予算として計算しそれに応じた量子化パラメータの基準値を決定するスライス単位のレート制御を行い、該ブロック単位のレート制御では、前記スライス内の対象ブロックより前の発生符号量を前記可変長符号化部から取得して、前記符号量予算を更新し、更新後の符号量予算に基づいて対象ＭＢのＱＰを決定することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
予測差分もしくは原画像に対して周波数変換を行い、続いて変換係数に対して量子化を施し、さらに変換係数およびヘッダ情報に対して可変長符号化を行う画像符号化方式において、
該可変長符号化により生成される符号化ストリームを所望のビットレートレートに保つよう制御するレート制御処理を行い、
前記可変長符号化では、少なくとも前記レート制御処理とは別のプロセスで、スライス及びブロックの単位でのレート制御を受けて算術符号化を行い、該スライスの中で前記可変長符号化が完了した部分では実符号量を用い、未完了の部分では前記符号化の前のビット列の長さと、該ビット列に含まれる０または１の何れか一方のビットの発生頻度とに基づいて推定した符号量を用いて、発生符号量を計算して該ブロック毎に前記レート制御処理に提供し、
前記推定された符号量は、前記符号化の前のビット列の長さと実符号量との関係をモデル化した区分的直線近似関数を、前記発生頻度のカテゴリ毎に複数用意して、該区分的直線近似関数を用いて計算することを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置に関し、特に発生符号量を推定してレート制御を行う動画像符号化装置に関する。
【背景技術】
【０００２】
大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、ＭＰＥＧ （Moving Picture
Experts Group）方式等の符号化方式が策定され、ＭＰＥＧ−１規格、ＭＰＥＧ−２規格、ＭＰＥＧ−４規格、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）規格等として国際標準の符号化方式となっている。
【０００３】
これらの規格では、符号化処理が完了した画像情報（復号画像）を利用して符号化対象画像をブロック単位で予測し、原画像との差分（予測差分）を符号化することによって、動画像の持つ冗長性を排除して符号量を減らしている。具体的には、上記予測差分に対して周波数変換方式の一種であるＤＣＴ（Discrete Cosine Transform）等を施し、その係数を量子化する。また、一般的に画質と符号量の間にはトレードオフの関係が成立するが、量子化時のパラメータ（以後、量子化パラメータ）の値を制御することによってこういったトレードオフの関係を調節することができる。そのため、伝送路や入出力バッファ容量等の制限により符号化ストリームを所望のビットレートに抑える必要がある場合、符号化レート制御機能により、設定ビットレートと発生符号量の関係に基づいて量子化パラメータの値を適応的に決定する必要がある。
【０００４】
一方、H.264/AVC規格では、量子化後の各シンタックス要素に対する可変長符号化方式として、テーブル引きにより高速に処理が可能なＣＡＶＬＣ（Context-based Adaptive Variable Length Coding）方式に加えて、計算量の高い算術符号化を用いるＣＡＢＡＣ（Context-based Binary Arithmetic Coding）が採用されている。ＣＡＢＡＣを用いることによりＣＡＶＬＣを用いた場合と比べて符号量を10〜20%程度削減できるが、その分処理量は劇的に増加するため、リアルタイム処理を実現するためには、計算量の高い算術符号化処理を別のプロセスにて独立に動作させるなどの工夫が必要となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１９８４２号公報
【特許文献２】特開２００９−０２１７７５号公報
【特許文献３】特開２００８−０１１２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、算術符号化処理を独立に動作させた場合、その結果をマクロブロック単位で逐次的に取得して発生符号量を測定することが困難であるため、設定ビットレートと発生符号量の関係に基づいて量子化パラメータの値を決定するレート制御がうまく動作しないといった問題があった。
本発明では、量子化パラメータの値を決定する際に算術符号化処理の結果を利用できない場合にでも、好適にレート制御を行うことができる動画像符号化装置等を提供する。
【課題を解決するための手段】
【０００７】
本発明に係る動画像符号化装置は、算術符号化後の発生符号量を推定し、設定ビットレートと推定符号量の関係に基づいてレート制御を行う。特に、上記発生符号量の推定を、算術符号化前の符号長と各符号の出現割合に基づいて、例えば統計的データに基づいて設計された近似関数を用いて行うことを特徴とする。
具体的には、予測差分もしくは原画像に対して直交変換を行う周波数変換部と、該周波数変換部が出力する変換係数に対して量子化を行う量子化部と、該量子化された変換係数およびヘッダ情報に対して符号の発生頻度に応じた符号化を行う可変長符号化部と、該可変長符号化部が出力する符号化ストリームを所望のビットレートレートに保つよう制御するレート制御部とを有し、前記可変長符号化部または前記レート制御部は、前記符号化の前のビット列の長さと該ビット列に含まれるシンボルの発生頻度に基づいて、符号化後の符号量を推定し、前記レート制御部は、該推定された符号量に基づいてレート制御を行うことを特徴とする。
【０００８】
また、本発明の動画像符号化装置において、前記シンボルの単位は１ビットであって、前記シンボルの発生頻度は前記ビット列に含まれる０または１の数を計数して得るものであり、前記可変長符号化部は、ピクチャ、スライスもしくはブロックの単位でのレート制御を受けて算術符号化を行うものであり、該単位の中で前記可変長符号化が完了した部分では実符号量を用い、未完了の部分では前記推定された符号量を用いて、該単位の発生符号量を計算することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、量子化パラメータの値を決定する際に算術符号化処理の結果を利用できない場合にでも、好適にレート制御を行うことができ、もって所望のビットレートで効率的に動画像を符号化することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施例で用いる画像符号化装置のブロック図
【図２】本実施例で用いる画像符号化装置のブロック図
【図３】マクロブロック単位の符号化処理を説明する模式図
【図４】画面間予測処理に関する概念的な説明図
【図５】画面内予測処理に関する概念的な説明図
【図６】予測時のブロックサイズ決定に関する概念的な説明図
【図７】符号化モードに関する概念的な説明図
【図８】ＣＡＢＡＣに関する概念的な説明図
【図９】レート制御に関する概念的な説明図
【図１０】発生符号量の推定方法に関する概念的な説明図
【図１１】マクロブロック単位のBinString長と発生符号量の関係を示すシミュレーション結果
【図１２】BinString長と発生符号量の関係を示すシミュレーション結果（シンボル発生割合：０〜０．６）
【図１３】BinString長と発生符号量の関係を示すシミュレーション結果（シンボル発生割合：０．６〜１）
【図１４】過去スライスの発生符号量を推定する方法の概念的な説明図
【図１５】実施例１における１スライス分の符号化処理の流れ図
【図１６】実施例１におけるスライス単位レート制御処理の流れ図
【図１７】実施例１におけるＭＢ単位レート制御処理の流れ図
【図１８】BinString長と発生符号量の関係を示すシミュレーション結果（シンボル発生割合ごとの平均）
【発明を実施するための形態】
【００１１】
以下、本発明の実施例に係る動画像符号化装置を、図面を参照して説明する。本例の動画像符号化装置は、H.264/AVCに基づいて符号化を行うものであり、最初に、H.264/AVC符号化について概説する。
【００１２】
図３は、マクロブロック単位の符号化処理を説明する模式図である。H.264/AVCは、符号化処理が完了した画像情報を利用して符号化対象画像を予測し、原画像との予測差分を符号化するものであり、その際には、画像を細かく分割したブロック単位でDCT（Discrete Cosine Transform）を施し、各係数値を量子化して可変長符号化を行う。各ブロックは、固定サイズ（１６×１６画素）のマクロブロックを分割したものである。
図３に示すとおり、符号化処理は、対象画像に対してラスタースキャンの順序（矢印で示す）３１に従い、マクロブロック単位で実行される。
【００１３】
図4は、H.264/AVCの画面間予測処理の動作に関する概念的な説明図である。
４１は、動画像符号化装置に入力される映像（時系列の画像群）であり、参照画像は４３及び符号化対象画像４３はそれぞれ、映像４１に含まれる１フレームである。
画面間予測を行う際には、符号化対象画像４３と同じ元映像４１に含まれる符号化済みの画像の復号画像を参照画像４２とし、符号化対象画像４３中の対象ブロック４４と相関の高いブロック（予測画像）４５を参照画像４２中から探索する。
このとき、両ブロックの差分として計算される予測差分に加えて、予測に必要なヘッダ情報として、両ブロックの座標値の差分として表される動きベクトル４６を符号化する。一方復号化の際には上記の逆の手順を行えばよく、復号化された予測差分を参照画像中のブロック４５に加算することにより、復号化画像を取得できる。
【００１４】
図5は、H.264/AVCによる画面内予測処理の動作に関する概念的な説明図である。画面内予測では、符号化対象ブロックの左、左上、上、右上に隣接する符号化済みのブロックの復号画像を用いて予測を行う。すなわち、予測にはこれらの隣接ブロックに含まれる１３個の復号画素を参照画素５１として利用し、予測方向ベクトル５２を傾きとする同一直線上の画素はすべて同一の参照画素から予測される。予測方向ベクトル５２には、縦、横、斜めなど、8種類の予測方向の中から最適なものをブロック単位で選択することができる。ただし、上記のような方向性に基づく予測モードに加えて、参照画素の平均値によって符号化対象ブロックに含まれるすべての画素を予測するDC予測（予測モード２）も用意されており、これら９種類の予測モードの中からどのモードを選択したのかを示す情報は、ヘッダ情報として予測差分とともに符号化される。
【００１５】
図６は、予測時のブロックサイズ決定に関する概念的な説明図である。H.264/AVCでは、マクロブロックをさらに小さなサイズのブロックに階層分割して予測を行うことができ、図６は画面間予測を行う際に許容されているマクロブロックの分割パターンについて示している。すなわち、対象画像６１の中のすべてのマクロブロック（例えば６２）は、あらかじめ定義された16×16画素サイズから8×8画素サイズまでの4種類の分割パターンの中から最適なものを選択して予測を行うことができ、8×8画素サイズの分割パターン６３が選ばれた場合はさらに細かなサブブロックに分割可能であり、各ブロックに対して8×8画素サイズから4×4画素サイズまでの4種類のパターンの中から最適なものを選択できる。こういったマクロブロックの分割パターンは、予測方法の識別子と組み合わせて符号化モードとし、ヘッダ情報として符号化される。
【００１６】
図7は、符号化モードに関する概念的な説明図であり、符号化モードは少なくとも、単方向画面間予測７１と、画面間予測７２とに分類できる。単方向画面間予測７１の識別子は"Ｐ"（Predictive）であり、画面間予測７２の識別子は"Ｉ"（Intra）である。
【００１７】
図８は、ＣＡＢＡＣに関する概念的な説明図であり、上述のヘッダ情報や予測差分情報を可変長符号化する手順について示している。H.264/AVCでは、可変長符号として、処理量の低いＣＡＶＬＣ（Context-based
Adaptive Variable Length Coding）と、処理量は高いが高い符号化効率を実現できるＣＡＢＡＣ（Context-based Binary Arithmetic Coding）の2種類が規定されている。ＣＡＢＡＣでは、まずヘッダ情報や予測差分情報などのSyntax要素８１に対して２値化処理８２を行い、０／１の２値で構成されるビット列BinString８３に変換される。続いて、BinStringに対して算術符号化８４を行って圧縮を実行し、符号化ストリーム８５を生成する。
【００１８】
図９は、レート制御に関する概念的な説明図である。図９ではまず、スライス単位のレート制御を行い、対象スライスにおいて基準となるＱＰ（Quantization Parameter：量子化パラメータ）を決定する。続いて対象スライス内のＭＢ（Macro Block：マクロブロック）単位のレート制御により、上記基準ＱＰに基づいて各ＭＢのＱＰを最終決定する。具体的には、スライス単位のレート制御では、過去スライスで発生した符号量と設定ビットレートのセット９１から、対象スライスにて許容できる発生符号量（符号量予算）を計算し、それに応じたＱＰの基準値（基準ＱＰ９３）を決定する。続いて、ＭＢ単位のレート制御では、各ＭＢで実際に発生した符号量をフィードバックして符号量の変動を検知し、符号量予測に対して補正を行って残りの各ＭＢのＱＰを決定する。
【００１９】
しかし前述の通り、算術符号化を他の処理とは別に実行した場合、ＭＢ単位のレート制御において各ＭＢの発生符号量を検知することが困難である。また、過去スライスの中にも、まだ算術符号化が完了していないＭＢが存在する可能性も高く、スライス単位のレート制御もうまく働かない。そのため、算術符号化処理が未完了のＭＢに対しては、発生符号量を推定することが必要である。
【００２０】
図10は、本例の特徴である、発生符号量の推定方法に関する概念的な説明図である。この方法ではまず、Syntax要素を２値化して生成されたBinString８３に対して、0/1シンボルの長さと出現確率８６をそれぞれ計算し、これらの情報に基づいて推定符号量８７を算出する。
【００２１】
図１１は、マクロブロック単位のBinString長と発生符号量の関係を示すシミュレーション結果である。両者の間にはある程度の相関性が観測されるものの、分散値が比較的に大きい。もし、ＭＢ単位の発生符号量を、予測差分情報を２値化したBinString長のみから推定しようとすると、推定精度はそれほど高くないことが分かる。
【００２２】
図１２及び図１３は、BinString長と発生符号量、およびシンボル発生割合の関係を示すシミュレーション結果である。このシミュレーションでは、ＩＴＥ（（社）映像情報メディア学会）の評価映像２６種類の開始後３０フレームをつなぎ合わせた映像を用いた。カテゴリ分けは、対象ＭＢ内の量子化済み変換係数（Coeff）のBinStringにおける０の発生割合を０．１刻みで１０分割したものとし、横軸をBinString長、縦軸を発生符号量として示してある。
このように同一シンボルの発生割合が近いＭＢ群（カテゴリ）の夫々において、特徴点が局所集中するようになり、発生符号量の推定精度が改善する。例えば、Coeffに関してシンボル”０”の発生割合が0.6以上0.7未満であるカテゴリに属するＭＢの場合、BinString長と発生符号量の関係は領域１３１内に集中することになる。他のカテゴリにおいても分散値が劇的に減少するものがあり、カテゴリごとにBinString長と発生符号量の関係をモデル化することによりBinString長とシンボルの発生割合から発生符号量の推定が可能となり、推定精度が大幅に向上する。
【００２３】
上記モデル化はどのような手法を用いて行っても良いが、発生符号量のランダム性を除去するため、最小二乗法などを用いて近似関数を計算すると効果的である。
図１８は、図１２などと同条件でBinString長毎に平均化して示したグラフであるが、”０”発生割合が低いときはサンプル自体が少ないこともあり凹凸が生じるので、これらを平坦化することが望ましい。近似関数は、区分的直線近似（折れ線グラフ）でもよく、予め用意しておいても良いし、符号化を行う際に動的に関数を更新しても良い。
BinString長と発生符号量の関係の局在化は、画面内予測と画面間予測の違いやＱＰなどに若干依存するため、モデルはそれらに応じて複数設けてもよい。
【００２４】
なお、シンボルの発生割合の計算方法は特に問わない。本例では対象ＭＢの予測差分情報に対してのみ発生割合の計算を行っており、それで十分な精度が得られることを確認しているが、動きベクトルや符号化モードなどの別Syntax要素を含んでいても問題はなく、Syntax要素ごとの発生割合を計算し、それらの加重和として計算しても良い。また、対象ＭＢだけでなく、例えば１つ前のＭＢなど符号化済みの周辺ＭＢにおけるシンボルを考慮しても良い。さらに本例ではＭＢ単位で符号量の推定を行っているが、例えば画像単位、スライス単位、ブロック単位などどのような処理単位で符号量推定を行っても構わない。
【００２５】
図１４は、過去スライスの発生符号量を推定する方法の概念的な説明図である。スライス単位のレート制御では、符号化順で先行する過去スライス（１４２等）の符号量と設定ビットレートに基づいて対象スライス１４１の基準ＱＰを決定するが、算術符号化の処理量は極端に高いため、過去スライス１４２においても算術符号化が完了していない可能性が高い。この場合、過去スライスは算術符号化が完了した完了領域１４３と、まだ未完了領域１４４に分割されるが、すでに完了した領域に対しては算術符号化後の実符号量を、一方でまだ完了していない領域についてはすでに述べた方法で各ＭＢの発生符号量を推定した結果を利用し、それらの和を計算することによって符号量推定を行う。
【実施例１】
【００２６】
図1は、実施例１に係る動画像符号化装置のブロック図である。本例の動画像符号化装置は、入力された原画像１０１を保持する入力画像メモリ１０２と、入力画像を小領域に分割するブロック分割部１０３と、ブロック単位で画面内予測を行う画面内予測部１０５と、動き探索部１０４にて検出された動き量をもとにブロック単位で画面間予測を行う画面間予測部１０６と、画像の性質に合った予測モード（予測手段およびブロックサイズ）を決定するモード選択部１０７と、予測差分を生成するための減算部１０８と、予測差分を量子化済み変換係数へ処理する周波数変換部１０９および量子化処理部１１０と、量子化済み変換係数等のシンタックス要素を符号化する可変長符号化部１1１と、符号化ストリームが所望のビットレートに納まるように量子化パラメータを制御するレート制御部１１２と、量子化済み変換係数から予測差分を復元（復号化）する逆量子化処理部１１３および逆周波数変換部１１４と、復元された予測差分を用いて復号化画像を生成するための加算部１１５と、復号化画像を保持して後の予測に活用するための参照画像メモリ１１６を有する。このように、図１に現れる範囲では、本例の動画像符号化装置の構成は、従来と同等である。
【００２７】
入力画像メモリ１０２は、原画像１０１（映像４１と同義）の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部１０３にて細かなブロックに分割し、動き探索部１０４、画面内予測部１０５、画面間予測部１０６、および減算部１０８に渡す。
動き探索部１０４では、参照画像メモリ１１６に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルを画面間予測部１０６に渡す。
【００２８】
画面内予測部１０５および画面間予測部１０６は、それぞれ、周辺ブロックの原画像を用いた画面内予測処理および符号化済みの別画像を参照した画面間予測処理を、複数のブロックサイズで実行する。
モード選択部１０７は、両予測部において複数のブロックサイズで実行された中から、最適な予測モードを選択し、その予測画像を減算部１０８および加算部１１５に送る。
【００２９】
減算部１０８は、対象ブロックの原画像と、モード選択部１０７で選択された予測画像との差分（予測差分）を生成し、周波数変換部１０９に渡す。
周波数変換部１０９および量子化処理部１１０は、送られてきた予測差分に対して指定された大きさのブロック単位で、ＤＣＴなどによる直交変換および量子化マトリクスによる量子化処理をそれぞれ行い、得られた量子化済み直交変換係数を可変長符号化部１１１および逆量子化部１１３に渡す。
【００３０】
可変長符号化処理部１１１は、量子化済み直交変換係数とヘッダ情報を、記号の発生確率に基づいて符号化し符号化ストリームを生成するとともに、符号化レート制御に必要な情報（符号量推定値）を符号化完了前に算出してレート制御部１１２へ送る。
レート制御部１１２は、送られてきた情報を基に最適なＱＰの値を決定して量子化処理部１１０へ送る。詳細は図１７等で後述する。
【００３１】
逆量子化処理部１１３および逆周波数変換部１１４では、量子化済み直交変換係数に対して、それぞれ逆量子化および逆ＤＣＴなどの逆直交変換を施し、予測差分を取得して加算部１１５に送る。続いて加算部１１５では、予測画像と復号化済み予測差分を加算して復号化画像を生成し、参照画像メモリ１１６に格納する。
【００３２】
図２は、本実施例１における可変長符号化部１１１について、その詳細の一例を示したものである。可変長符号化部は、各シンタックス要素に対して２値化処理を行うための２値化処理部２０１と、２値化により得られるBinStringを格納するためのBinString格納メモリ２０２と、図９等で前述した方法にてＭＢ単位の発生符号量を推定する符号量推定部２０３と、BinString格納メモリ２０２に蓄えられた２値情報に対して算術符号化を別プロセスで行う算術符号化部２０４を有する。
【００３３】
２値化処理部２０１は、従来の２値化処理８２に相当し、モード選択部１０７や量子化処理部１１０から入力されたシンタックス要素を、0/1の２値で構成される文字列BinStringに変換し、BinString格納メモリ２０２と符号量推定部２０３へと送る。
【００３４】
符号量推定部２０３は、BinString長と、0/1シンボルの出現割合の両方に基づいてＭＢ単位の発生符号量を推定し、レート制御部１１２へと送る。
算術符号化部２０４は、従来の算術符号化８４に相当し、BinString格納メモリに蓄えられた２値情報に対して算術符号化を別プロセスで行う。
【００３５】
図１５は、本例における１スライス分の符号化処理の流れ図である。
まず１５１では、レート制御部１１２が、図９で概説したスライス単位のレート制御（図１６で詳述）を行い、対象スライスの基準ＱＰを決定する。
次に１５２では、対象スライス内のすべてのＭＢに対してループ１内の１５３〜１５５の処理が完了するまで該ループ１を続ける。なお、予測・符号化モード選択・DCT処理１５３は、動き探索部１０４〜周波数変換部１０９により行われ、ＭＢ単位のレート制御１５４（図１７で詳述）はレート制御部１１２で行われ、量子化・２値化処理１５５は、量子化処理部１１０と２値化処理部２０１で行われる処理である。
【００３６】
ループ１を抜けると次に、すべてのＭＢに対してループ２内の１５７の処理が完了するまで該ループ２を続ける。１５７は、別プロセスにてBinStringを算術符号化する処理であり、算術符号化部２０４で行われる。
ループ２を抜けると、１スライス分のレート制御が終了する（１５８）。
【００３７】
図16は、本例における１スライス分のスライス単位レート制御１５１の流れ図である。
まず、対象スライスが最初のスライスである場合（１６１）、目標ビットレートに応じてあらかじめ設定しておいた基準ＱＰを取得する（１６２）。
一方で最初のスライスでない場合、図１４で説明した手順で過去スライスの発生符号量を推定し（１６３）、推定された符号量と設定ビットレートの関係から該当スライスにて許容できる発生量（符号量予算）を算出する（１６４）。なお１６３は、過去スライスの領域全てで算術符号化が完了しているのであれば、推定ではなく実符号量でよい。
続いて、符号量予算の大きさに基づいて対象スライスの基準ＱＰを決定し（１６５）、１スライス分のスライス単位レート制御を終了する（１６６）。
【００３８】
図１７は、ＭＢ単位レート制御１５４について、１スライス分の処理を示す流れ図である。
１７１では、対象スライス内のすべてのＭＢに対して、ループ内の１７２〜１７７の処理が完了するまで該ループを続ける。すなわち、対象ＭＢが対象スライス内で最初のＭＢである場合（１７２）、スライス単位のレート制御で決定した基準ＱＰを対象ＭＢに適用する（１７３）。
【００３９】
一方、最初のＭＢでない場合は、符号量推定部２０３が、前ＭＢのSyntax要素に対してBinString長と0/1シンボルの割合を計算し（１７４）、図１２と図１３の説明で述べた方法で前ＭＢの発生符号量を推定する（１７５）。続いてレート制御部１１２が、推定された前ＭＢの発生符号量を用いて符号量予算の値を更新し（１７６）、更新後の符号量予算に基づいて対象ＭＢのＱＰを決定する（１７７）。
以上の処理をすべてのＭＢに対して完了すれば、１スライス分のＭＢ単位レート制御処理を終了する（１７８）。
【００４０】
本実施例１の説明では、予測および周波数変換をブロック単位で行うものとしたが、それ以外にも例えば画像の背景から分離したオブジェクト単位で行っても良い。また、周波数変換の一例としてＤＣＴを挙げているが、ＤＳＴ（Discrete Sine Transformation：離散サイン変換）、ＤＷＴ（Discrete Wavelet Transformation：離散ウェーブレット変換）、ＤＦＴ（Discrete Fourier Transformation：離散フーリエ変換）、ＫＬＴ（Karhunen-Loeve Transformation：カルーネン-レーブ変換）など、画素間相関除去に利用する直交変換ならどのようなものでも構わない。
また、イントラモードでは特に画面内予測を行わなくても、MPEG-1やMPEG-2のイントラ符号化や静止画の符号化方式JPEGやJPEG2000のように、原画像に対して直接周波数変換を施しても構わない。
また、可変長符号化方式としてはＣＡＢＡＣに限らず、算術符号化を用いる方式ならどのようなものでも構わないし、特に算術符号化でなくてもシンボルの発生頻度の偏りを用いて圧縮を行うものならどのような符号化方式を用いても良い。
【産業上の利用可能性】
【００４１】
本発明は、動画像符号化方式H.264/AVCだけでなく、静止画像符号化方式JPEG2000、および今後策定されるであろう次世代標準など、レート制御（符号化率の変更）が可能なあらゆる画像符号化方式に適用可能である。
【符号の説明】
【００４２】
１０１…原画像、１０２…入力画像メモリ、１０３…ブロック分割部、１０４…動き探索部、１０５…画面内予測部、１０６…画面間予測部、１０７…モード選択部、１０８…現残部、１０９…周波数変換部、１１０…量子化処理部、１１２…レート制御部、１１３…逆量子化処理部、１１４…逆周波数変換部、１１５…加算部、１１６…参照画像メモリ、２０１…２値化処理部、２０２…BinString格納メモリ、２０３…符号量推定部、２０４…算術符号化部。
【図１】
0005717465.tif 000002
【図２】
0005717465.tif 000003
【図３】
0005717465.tif 000004
【図４】
0005717465.tif 000005
【図５】
0005717465.tif 000006
【図６】
0005717465.tif 000007
【図７】
0005717465.tif 000008
【図８】
0005717465.tif 000009
【図９】
0005717465.tif 000010
【図１０】
0005717465.tif 000011
【図１１】
0005717465.tif 000012
【図１２】
0005717465.tif 000013
【図１３】
0005717465.tif 000014
【図１４】
0005717465.tif 000015
【図１５】
0005717465.tif 000016
【図１６】
0005717465.tif 000017
【図１７】
0005717465.tif 000018
【図１８】
0005717465.tif 000019