(57)【要約】【課題】適切な符号量の設定を行うことを可能とし、良好な画質の復号画像を得ることを可能とした画像符号化装置、制御方法、及びプログラムを提供する。【解決手段】画像符号化装置は、ＤＣＴ回路１０４、量子化回路１０５、可変長符号化回路１０６、逆量子化回路１０８、ＩＤＣＴ回路１０９、ＳＮ比算出回路１１３、ブロック判定部１１５、レート制御部１１６を備える。ブロック判定部１１５は、符号化対象ピクチャを分割したブロックを分類基準に従って特徴が異なる複数のブロック群に分類する。ＳＮ比算出回路１１３は、ブロック群毎に符号化対象ピクチャと復号画像とのＳＮ比を算出する。レート制御部１１６は、ブロック群毎に算出されたＳＮ比とブロック群毎に設定された目標ＳＮ比との差分を基にブロック群毎にビットレートを決定する。【選択図】図１
2010118912.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象ピクチャを符号化する符号化手段と、
前記符号化対象ピクチャをブロック毎に分割し、分割したブロックを分類基準に従って特徴が異なる複数のブロック群に分類する分類手段と、
前記符号化手段により符号化された符号化データを復号化することで復号画像を生成する復号化手段と、
前記分類手段により分類されたブロック群毎に前記符号化対象ピクチャと前記復号化手段により生成された復号画像とのＳＮ比を算出する算出手段と、
前記算出手段により前記ブロック群毎に算出されたＳＮ比に対して、前記ブロック群毎に目標ＳＮ比パラメータを設定する設定手段と、
前記算出手段により前記ブロック群毎に算出されたＳＮ比と前記設定手段により前記ブロック群毎に設定された目標ＳＮ比パラメータとの差分を基に、前記ブロック群毎にビットレートを決定する制御を行う制御手段と、を備えることを特徴とする画像符号化装置。
【請求項２】
前記複数のブロック群に分類する際の前記分類基準は、ブロックの輝度、ブロックの色差、輝度分散値、色差分散値、輝度の標準偏差、色差の標準偏差、輝度の段差の有無、色差の段差の有無、のいずれかを含むことを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記複数のブロック群は、前記輝度分散値が規定の値以上のマクロブロックからなる高域ブロック群、前記輝度分散値が規定の値以下のマクロブロックからなる低域ブロック群、その他のマクロブロックからなる通常ブロック群であることを特徴とする請求項２記載の画像符号化装置。
【請求項４】
前記制御手段は、
前記算出手段により前記ブロック群毎に算出されたＳＮ比と前記設定手段により前記ブロック群毎に設定された目標ＳＮ比パラメータとの差分を算出し、
前記設定手段により設定される前記ブロック群毎のレート係数を前記差分に乗算することで、前記ブロック群毎のレート変動値を算出し、
前記ブロック群毎の前記レート変動値を前記符号化対象ピクチャより１つ前の符号化済みピクチャの前記ブロック群毎のビットレートに加算することで、前記ブロック群毎のビットレートを更新することを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記制御手段は、前記符号化対象ピクチャに対して各々のブロック群が占める割合を示す占有率を算出し、前記ブロック群毎のビットレートに前記ブロック群毎の前記占有率を乗算した値の総和をビットレートとすることを特徴とする請求項４記載の画像符号化装置。
【請求項６】
画像符号化装置の制御方法において、
符号化対象ピクチャを符号化する符号化ステップと、
前記符号化対象ピクチャをブロック毎に分割し、分割したブロックを分類基準に従って特徴が異なる複数のブロック群に分類する分類ステップと、
前記符号化ステップにより符号化された符号化データを復号化することで復号画像を生成する復号化ステップと、
前記分類ステップにより分類されたブロック群毎に前記符号化対象ピクチャと前記復号化ステップにより生成された復号画像とのＳＮ比を算出する算出ステップと、
前記算出ステップにより前記ブロック群毎に算出されたＳＮ比に対して、前記ブロック群毎に目標ＳＮ比パラメータを設定する設定ステップと、
前記算出ステップにより前記ブロック群毎に算出されたＳＮ比と前記設定ステップにより前記ブロック群毎に設定された目標ＳＮ比パラメータとの差分を基に、前記ブロック群毎にビットレートを決定する制御を行う制御ステップと、を有することを特徴とする制御方法。
【請求項７】
請求項６記載の制御方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラムコードを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の変化を考慮した符号量の制御を行う画像符号化装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、マルチメディアの発展に伴い、カラー動画像を圧縮・符号化する標準方式として様々な動画像圧縮符号化方式が提案されている。動画像圧縮符号化方式の代表的なものとしては、ＭＰＥＧ（Moving Picture Experts Group）−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ.２６Ｌなどがある。これらの動画像圧縮符号化方式による圧縮・符号化の処理では、動画像に含まれる原画像（画像）をブロックと呼ばれる所定の領域に分割する。更に、分割したブロックを単位として、動き補償（連続する画面を画面間で変化する情報の大きさや方向の差分によって表現することで高い圧縮率を得る手法）予測や、ＤＣＴ（Discrete Cosine Transform）処理を施す。
【０００３】
動き補償予測を行う場合は、既に符号化済みの画像データを局所的に復号化して得られた画像を参照画像としていることで、画像の符号化を行う際にも復号化処理が必要となる。また、ＭＰＥＧ方式に準拠して画像の圧縮・符号化を行う場合、その符号量は、画像自体の特性である空間周波数特性、カメラでの撮影シーン、量子化係数（量子化スケール）の値に応じて大きく異なる場合が多い。このような符号化特性を有する符号化装置を実現する上で良好な画質の復号画像を取得可能とするための重要な技術が、符号量制御である。
【０００４】
この符号量制御を行うための符号量制御アルゴリズムの１つとして、ＴＭ５（Test Model 5）方式が一般的に使用されている。ＴＭ５方式を使用した符号量制御アルゴリズムは、以下で説明する３つのステップから構成されている。ＭＰＥＧ方式における何枚かの映像データを集めた構造単位であるＧＯＰ（Group Of Picture）毎にビットレートが一定になるように３つのステップで符号量を制御する。
【０００５】
＜ステップ１＞
符号化対象となるピクチャの目標符号量を決定する。現在のＧＯＰにおいて利用可能な符号量であるＲgopを、以下の式（１）により演算する。
【０００６】
Ｒgop = （ni+np+nb）*（bits_rate/picture_rate）   ・・・（１）
ここで、ni,np,nbは、それぞれIピクチャ、Pピクチャ、Bピクチャの現在のＧＯＰにおける残りのピクチャ数である。bits_rateは、目標ビットレートを示す。picture_rateは、ピクチャレートを示す。
【０００７】
尚、Iピクチャは、基本となる画像（元となる映像フレーム）である。Pピクチャは、予測画像（次の映像フレーム：直前のIピクチャまたはBピクチャとの差分）である。Bピクチャは、IピクチャとPピクチャの間を埋める双方向予測画像（IピクチャとPピクチャとの予測差分）である。
【０００８】
更に、Iピクチャ、Pピクチャ、Bピクチャそれぞれのピクチャ毎に符号化した結果から、ピクチャの複雑度を、以下の式（２）により求めている。
【０００９】
Ｘi  =  Ｒi*Ｑi 
Ｘp  =  Ｒp*Ｑp    ・・・（２）
Ｘb  =  Ｒb*Ｑb 
ここで、Ｘi、Ｘｐ、Ｘｂは、コンプレキシティ（Complexity）とも呼ばれる。Ｒi、Ｒp、Ｒbは、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャを符号化した結果から得られる符号量である。Ｑi、Ｑp、Ｑbは、それぞれIピクチャ、Pピクチャ、Bピクチャ内の全てのマクロブロックにおけるＱスケールの平均値である。
【００１０】
上記の式（１）及び式（２）から、Iピクチャ、Pピクチャ、Bピクチャそれぞれについての目標符号量Ｔi、Ｔp、Ｔbは、以下の式（３）により求めることができる。
【００１１】
Ｔi= max{（Ｒgop/（1+ （（Ｎp*Ｘp）/（Ｘi*Ｋp）） 
+ （（Ｎb*Ｘb）/（Ｘi*Ｋb）））） , （bit_rate/（8*picture_rate））}
Ｔp=max{（Ｒgop/（Ｎp+ （Ｎb*Ｋp*Ｘb）/（Ｋb*Ｘp））） , （bit_rate/（8*picture_rate））}
Ｔb=max{（Ｒgop/（Ｎb+ （Ｎp*Ｋb*Ｘp）/（Ｋp*Ｘb））） , （bit_rate/（8*picture_rate））}
・・・（３）
ただし、Ｎp及びＮbは、現在のＧＯＰ内のそれぞれPピクチャ及びBピクチャの残りの枚数であり、また定数Ｋp=1.0及びＫb=1.4である。
【００１２】
＜ステップ２＞
Iピクチャ、Pピクチャ、Bピクチャそれぞれのピクチャ毎に３つの仮想バッファを使用し、上記の式（３）で求めた目標符号量と発生符号量との差分を管理する。仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて実際の発生符号量が目標符号量に近づくように、次にエンコードするマクロブロックについてＱスケールの参照値を設定する。
【００１３】
例えば、現在のピクチャタイプがPピクチャの場合には、目標符号量と発生符号量との差分は、以下の式（４）に従う演算処理により求めることができる。
【００１４】
ｄp,j = ｄp,0  +  Ｂp,j-1  −（（Ｔp*（j-1））/ＭＢ_cnt） ・・・（４）
ここで、添字jは、ピクチャ内のマクロブロックの番号である。ｄp,0は、仮想バッファの初期フルネスを示す。Ｂp，jは、j番目のマクロブロックまでの総符号量を示す。ＭＢ_cntは、ピクチャ内のマクロブロック数を示す。
【００１５】
次に、dp,j（以後「dj」と表記） を用いて、j番目のマクロブロックにおけるＱスケールの参照値を求めると、以下の式（５）のようになる。
【００１６】
Ｑj  = （dj*31） / r       ・・・（５）
ここで、r = 2*bits_rate/picture_rate       ・・・（６）
である。
【００１７】
＜ステップ３＞
視覚特性すなわち復号画像の画質が良好になるように、エンコード対象のマクロブロックの空間アクティビティに基づいて量子化スケールを最終的に決定する処理を、以下の式（７）に示すように実行する。
【００１８】
ACTj =  1+ min（vblk1, vblk2,……,vblk8）    ・・・（７）
ここで、vblk1〜vblk4は、フレーム構造のマクロブロックにおける8ｘ8のサブブロックにおける空間アクティビティを示す。vblk5〜vblk8は、フィールド構造のマクロブロックにおける8x8サブブロックの空間アクティビティを示す。
【００１９】
空間アクティビチィの演算は、以下の式（８）、式（９）により行うことが可能である。
【００２０】
vblk = Σ（Ｐi−Ｐbar）2          ・・・（８）
Pbar = （1/64 ）* ΣＰi            ・・・（９）
ここで、Ｐiは、ｉ番目のマクロブロックにおける画素値である。Σは、i=1〜64の演算である。
【００２１】
次に、上記の式（７）で求めたACTjを、以下の式（１０）によって正規化を行う。
【００２２】
N_ACTj = （2*ACTj +AVG_ACT）/ （ACTj + AVG_ACT）      ・・・（１０）
ここで、AVG_ACTは、以前に符号化したピクチャにおけるACTjの参照値である。最終的に量子化スケール（Ｑスケール値）MQUANTjは、以下の式（１１）により求めることができる。
【００２３】
MQUANTj  =  Qj *  N_ACTj              ・・・（１１）
以上のＴＭ５方式を使用した符号量制御アルゴリズムによれば、ステップ１の処理によりIピクチャに対して多くの符号量を割り当てている。更に、ピクチャ内においては視覚的に劣化の目立ちやすい平坦部（空間アクティビティが低い）に符号量が多く配分されるようになる。
【００２４】
上述したＴＭ５方式を応用した動画像圧縮符号化方式として、画像信号と局所復号画像のＳＮ比がある一定の値となるように目標符号量を決定する方式が提案されている（例えば、特許文献１参照）。特許文献１記載の方式は、ＳＮ比を一定に保つような目標符号量を設定する。これにより、全てのピクチャに対する画質を安定させる効果がある。
【００２５】
また、上記の特許文献１を改良した方式として、Ｉピクチャ、Ｐピクチャ、Ｂピクチャそれぞれの符号量を適切な値に設定する方式が提案されている（例えば、特許文献２参照）。特許文献２記載の方式は、ＩピクチャのＳＮ比がＢピクチャのＳＮ比より大きくなるように、各フレーム（Ｉピクチャ・Ｐピクチャ・Ｂピクチャ）の符号量の配分を制御する。つまり、Ｉピクチャの符号化誤差がＢピクチャの符号化誤差より小さくなるように、各フレーム（Ｉピクチャ・Ｐピクチャ・Ｂピクチャ）の符号量を制御する。これにより、ＧＯＰの原点となるＩピクチャの画質を向上させる効果がある。
【特許文献１】特開平０２−２１９３８８号公報
【特許文献２】特開平０８−０７０４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、上記の特許文献１及び特許文献２に記載された方式においては次の課題が存在する。特許文献１では、各ピクチャでＳＮ比を一定に保つことで一定の画質を保つことは可能である。また、特許文献２では、ＳＮ比と各ピクチャの符号量の配分を考慮することで特許文献１と同様に一定の画質を保つことは可能である。しかし、特許文献１及び特許文献２の手法は、ＳＮ比を目標符号量を決定するための判断情報としているため、符号化前の画像ではなく符号化後の画像で符号量を決定している。
【００２７】
このため、例えばカメラで撮影した風景の空等の平坦な部分が支配的な画像は、その支配的な部分のＳＮ比によって一画面のＳＮ比が高く画質が良いと判断してしまうことになる。これは、例えば風景の空等の低域成分の多い平坦な部分がＳＮ比：50dBで画面の80％あり、他の部分がＳＮ比：20dBであった場合、次のような現象が発生しやすい。即ち、一画面のＳＮ比は44dBとなってしまい現状の符号量で画質は良いと判断され、符号量をそれ以上増やさないため、高域部分にノイズが発生しやすい。
【００２８】
従って、従来の技術では、ＳＮ比を一定とし目標符号量を決定することも、ノイズを発生させない適切な符号量を決定するという点では困難であった。
【００２９】
本発明の目的は、適切な符号量の設定を行うことを可能とし、良好な画質の復号画像を得ることを可能とした画像符号化装置、制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００３０】
上述の目的を達成するために、本発明は、符号化対象ピクチャを符号化する符号化手段と、前記符号化対象ピクチャをブロック毎に分割し、分割したブロックを分類基準に従って特徴が異なる複数のブロック群に分類する分類手段と、前記符号化手段により符号化された符号化データを復号化することで復号画像を生成する復号化手段と、前記分類手段により分類されたブロック群毎に前記符号化対象ピクチャと前記復号化手段により生成された復号画像とのＳＮ比を算出する算出手段と、前記算出手段により前記ブロック群毎に算出されたＳＮ比に対して、前記ブロック群毎に目標ＳＮ比パラメータを設定する設定手段と、前記算出手段により前記ブロック群毎に算出されたＳＮ比と前記設定手段により前記ブロック群毎に設定された目標ＳＮ比パラメータとの差分を基に、前記ブロック群毎にビットレートを決定する制御を行う制御手段と、を備えることを特徴とする。
【発明の効果】
【００３１】
本発明によれば、ブロック群毎に算出された符号化対象ピクチャと復号画像とのＳＮ比と、ブロック群毎に設定された目標ＳＮ比パラメータとの差分を基に、ブロック群毎にビットレートを決定する。これにより、低域成分または高域成分に偏った画像であっても符号化前に画像の変化を検出することで、適切な符号量の設定を行うことが可能となり、良好な画質の復号画像を得ることが可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を図面に基づいて説明する。
【００３３】
本発明の実施の形態では、ＭＰＥＧ系動画像符号化方式の１つであるＨ.２６４を圧縮符号化方式に採用し、Ｈ．２６４の発生符号量制御に関して説明する。具体的には、撮像装置（例えばデジタルビデオカメラ）で撮影した画像を構成するマクロブロックを特徴に応じて複数のブロック群に分類し、夫々のブロック群毎に目標ＳＮ比パラメータを決定し、ブロック群毎にビットレートを決定する処理に関する制御である。
【００３４】
図１は、本実施の形態に係る画像符号化装置の構成例を示すブロック図である。図２は、入力画像を出力画像に並べ替える概念を示す図である。尚、図１に示す構成は、本発明の符号化手段、分類手段、復号化手段、算出手段、設定手段、制御手段を実現するための一例である。
【００３５】
図１において、画像符号化装置は、入力端子１０１、画像並べ替え回路１０２、スイッチＸ１０３、ＤＣＴ回路１０４、量子化回路１０５、可変長符号化回路１０６、バッファ１０７、逆量子化回路１０８、ＩＤＣＴ回路１０９を備えている。また、画像符号化装置は、加算器１１０、スイッチＹ１１１、動き補償予測回路１１２、ＳＮ比算出回路１１３、減算器１１４、ブロック判定部１１５、レート制御部１１６、量子化制御部１１７、出力端子１１８を備えている。
【００３６】
更に、画像符号化装置は、プログラムに基づいて図３及び図４のフローチャートに示す処理を実行する制御部（不図示）を備えている。尚、画像符号化装置は、撮像装置に内蔵する構成、撮像装置の外部に設置する構成のいずれでもよい。
【００３７】
入力端子１０１は、撮像装置（デジタルビデオカメラ）に装備されている撮像素子（ＣＣＤ）並びにライン入力端子からの映像信号を入力する端子である。画像並べ替え回路１０２は、図２に示すように、入力された画像１、画像２、画像３、画像４、画像５、画像６・・・を、出力において画像３、画像１、画像２、画像６、画像４、画像５・・・となるようにメモリ（不図示）を管理する。尚、本実施の形態では、ＭＰＥＧ系動画像符号化方式による発生符号量制御のため、上記のように画像並べ替え回路１０２による画像並べ替えを行う。
【００３８】
スイッチＸ１０３は、符号化対象ピクチャのピクチャタイプがＩピクチャの場合はＡ側に切り換えられ、符号化対象ピクチャのピクチャタイプがＩピクチャ以外の場合はＢ側に切り換えられる。ＤＣＴ回路１０４は、スイッチＸ１０３の出力に対し直交変換（離散コサイン変換）を行う。量子化回路１０５は、ＤＣＴ回路１０４の出力に対し量子化を行う。可変長符号化回路１０６（符号化手段）は、量子化回路１０５の出力に対し可変長符号化を行う。
【００３９】
バッファ１０７は、可変長符号化回路１０６の出力（可変長符号化されたデータ）を一時的に蓄積する。バッファ１０７からは、可変長符号化されたデータが出力端子１１８に入力される。また、バッファ１０７からは、符号化されたピクチャの発生符号量、量子化係数（量子化スケール）等の情報、ＳＮ比算出回路１１３で算出したＳＮ比がレート制御部１１６に入力される。出力端子１１８は、バッファ１０７から入力された可変長符号化されたデータを出力する端子である。
【００４０】
逆量子化回路１０８は、量子化回路１０５の出力に対し逆量子化を行う。ＩＤＣＴ（Inverse Discrete Cosine Transform）回路１０９は、逆量子化回路１０８の出力に対し逆離散コサイン変換を行う。即ち、逆量子化回路１０８（復号化手段）及びＩＤＣＴ回路１０９（復号化手段）により、符号化データ（符号化画像）に対し逆変換処理を行うことで復号データ（復号画像）を生成する。スイッチＹ１１１は、符号化対象ピクチャのピクチャタイプがＩピクチャの場合はＯＦＦとなり、符号化対象ピクチャのピクチャタイプがＩピクチャ以外の場合はＯＮとなる。
【００４１】
加算器１１０は、ＩＤＣＴ回路１０９の出力とスイッチＹ１１１の出力を加算する。動き補償予測回路１１２は、画像の動き探索を行う。ＳＮ比算出回路１１３（算出手段）は、入力画像とローカルデコード画像とのＳＮ比を算出する。減算器１１４は、画像並べ替え回路１０２の出力値から動き補償予測回路１１２の出力値（動き探索の結果）を減算する。
【００４２】
ブロック分割部（不図示）は、入力画像（符号化対象ピクチャ）をマクロブロック毎に分割する。ブロック判定部１１５（分類手段）は、分割されたマクロブロックを分類基準に従って特徴が異なる複数のブロック群に分類する。尚、複数のブロック群に分類する際の分類基準としては、ブロックの輝度、ブロックの色差、輝度分散値、色差分散値、輝度の標準偏差、色差の標準偏差、輝度の段差の有無、色差の段差の有無、のいずれかを含むものとする。
【００４３】
本実施の形態では、ブロック判定部１１５は、入力画像についてマクロブロック毎に輝度分散値を算出し、その輝度分散値を基に、マクロブロックが３種類のブロック群（高域ブロック群、低域ブロック群、通常ブロック群）のどれに相当するかを判定する。更に、ブロック判定部１１５は、内部メモリ（不図示）におけるマクロブロックのアドレスに対し、判定したブロック群を示すフラグを付加する。
【００４４】
複数のブロック群の具体例としては、輝度分散値が1000以上（規定の値以上）のマクロブロックを高域ブロック群、輝度分散値が200以下（規定の値以下）のマクロブロックを低域ブロック群とし、その他のマクロブロックを通常ブロック群とする。更に、ブロック判定部１１５は、カウンタ（不図示）を備えており、マクロブロックがどのブロック群に相当するか判定した結果をカウントする。
【００４５】
レート制御部１１６は、符号化するＧＯＰの目標ビットレート並びにピクチャの目標符号量を決定する。レート制御部１１６は、入力された各種の情報を基に、ノイズを発生させないようにビットレートを決定する処理を行っていく。また、レート制御部１１６（設定手段、及び、制御手段）は、後述の図４で説明するように、ブロック群の数Ｎ、各ブロック群の目標ＳＮ比、各ブロック群のレート係数、ビットレート等の各種符号化パラメータを設定する。量子化制御部１１７は、レート制御部１１６により決定されたピクチャの目標符号量を基に、ピクチャ内のマクロブロックの量子化係数を決定する。
【００４６】
次に、上記構成を有する本実施の形態の画像符号化装置の動作を図２乃至図４を参照しながら説明する。
【００４７】
図３は、図１の点線で囲まれた部分、即ち、ＤＣＴ回路１０４、量子化回路１０５、逆量子化回路１０８、ＩＤＣＴ回路１０９、動き補償予測回路１１２、ＳＮ比算出回路１１３の動作を示すフローチャートである。
【００４８】
図３において、不図示の制御部は、符号化対象ピクチャのピクチャタイプがＩピクチャであるかＩピクチャ以外であるかを判定する（ステップＳ３０１）。ピクチャタイプがＩピクチャであると判定した場合、制御部は、スイッチＸ１０３をＡ側に切り換え、スイッチＹ１１１をＯＦＦとする（ステップＳ３０２）。その後、ステップＳ３０５に進む。他方、ピクチャタイプがＩピクチャ以外であると判定した場合、制御部は、スイッチＸ１０３をＢ側に切り換え、スイッチＹ１１１をＯＮとする（ステップＳ３０３）。
【００４９】
次に、制御部は、符号化対象ピクチャが分割されたマクロブロックの動き探索を動き補償予測回路１１２に行わせ、減算器１１４により画像並べ替え回路１０２の出力から動き探索の結果を減算する（ステップＳ３０４）。これに伴い、減算器１１４から差分値信号が出力される。
【００５０】
次に、制御部は、ブロック分割部（不図示）によりマクロブロックに分割された入力信号の直交変換をＤＣＴ回路１０４に行わせる。更に、制御部は、量子化制御部１１７により決定された量子化係数を用いて量子化回路１０５によりＤＣＴ回路１０４の直交変換出力係数の量子化を行わせ、符号化データを生成する（ステップＳ３０５）。
【００５１】
尚、量子化パラメータである量子化係数は、背景技術で説明したＴＭ５方式による符号量制御アルゴリズムのステップ２に相当する処理を行うことで算出されるので、本実施の形態での説明は省略する。
【００５２】
次に、制御部は、上記のステップＳ３０５の処理で生成された符号化データに対し、逆量子化回路１０８及びＩＤＣＴ回路１０９により逆変換処理を行わせ、復号データを生成する（ステップＳ３０６）。ピクチャタイプがＩピクチャの場合は、ここでローカルデコード画像を得る。次に、制御部は、ピクチャタイプがＩピクチャであるかＩピクチャ以外であるかを判定する（ステップＳ３０７）。
【００５３】
ピクチャタイプがＩピクチャであると判定した場合、ステップＳ３１０に進む。他方、ピクチャタイプがＩピクチャ以外であると判定した場合、制御部は、減算器１１４により減算して得たデータを加算器１１０により参照画像データに加算し、Ｉピクチャ以外のローカルデコード画像を生成する（ステップＳ３０８）。次に、制御部は、ピクチャタイプがＰピクチャであるかＰピクチャ以外であるかを判定する（ステップＳ３０９）。
【００５４】
ピクチャタイプがＰピクチャ以外（即ち、Ｂピクチャ）であると判定した場合、ステップＳ３１１に進む。他方、ピクチャタイプがＰピクチャであると判定した場合、制御部は、生成したローカルデコード画像を参照画像とするため、参照画像を動き補償予測回路１１２に記憶する（ステップＳ３１０）。
【００５５】
次に、制御部は、入力画像（符号化対象ピクチャ）とローカルデコード画像（復号画像）とのＳＮ比を、ブロック判定部１１５で判定したブロック群毎にＳＮ比算出回路１１３により算出する（ステップＳ３１１）。次に、制御部は、まだ符号化対象のピクチャがあるか否かを判定する（ステップＳ３１２）。符号化対象のピクチャがあると判定した場合は、ステップＳ３０１に戻る。符号化対象のピクチャがないと判定した場合は、本処理を終了する。
【００５６】
図４は、レート制御部１１６におけるビットレートを決定する処理を示すフローチャートである。
【００５７】
図４において、まず、レート制御部１１６は次の各種設定を行う。入力画像のブロック群の数Ｎ、各ブロック群の目標ＳＮ比パラメータ（Tsnr[N]）、各ブロック群のレート係数（BRC[N]）、ビットレートであるRate = 0、カウンタi = 0をそれぞれ設定する（ステップＳ４０１）。尚、本実施の形態ではブロック群の数Ｎは３とする。
【００５８】
次に、レート制御部１１６は、ＳＮ比算出回路１１３のiブロック群のＳＮ比（Bsnr[i]）を算出する。更に、レート制御部１１６は、ブロック判定部１１５でiブロック群に判定された数を全てのマクロブロック数で除算したiブロック群の占有率（BS[i]）を算出する（ステップＳ４０２）。
【００５９】
次に、レート制御部１１６は、iブロック群の目標ＳＮ比パラメータ（Tsnr[i]）からiブロック群のＳＮ比（Bsnr[i]）を減算した値（目標ＳＮ比と算出したＳＮ比との差分）を求める。更に、レート制御部１１６は、その値にiブロック群のレート係数（BRC[i]）を乗算することで、iブロック群のレート変動値を算出する。尚、iブロック群のレート係数（BRC[i]）は、１つのピクチャをＳＮ比で１ｄＢ上下させる係数である。
【００６０】
更に、レート制御部１１６は、算出したiブロック群のレート変動値を前ピクチャ（符号化済みピクチャ：符号化対象ピクチャより１つ前の符号化済みピクチャ）のiブロック群のビットレートに加算する。その結果、現ピクチャ（符号化対象ピクチャ）のiブロック群のビットレートBR[i]（ブロック群ビットレート）を得る（ステップＳ４０３）。これにより、ブロック群ビットレートを更新する。
【００６１】
次に、レート制御部１１６は、現ピクチャのiブロック群のビットレートBR[i]にiブロック群の占有率（BS[i]）を乗算した値を、ビットレートRateに加算する（ステップＳ４０４）。次に、レート制御部１１６は、カウンタiを１加算する（ステップＳ４０５）。次に、レート制御部１１６は、カウンタiのカウント値がブロック群数Ｎより大きいか否かを判定する（ステップＳ４０６）。
【００６２】
カウンタiのカウント値がブロック群数Ｎ以下の場合は、ステップＳ４０２に戻る。他方、カウンタiのカウント値がブロック群数Ｎよりも大きい場合は、これでビットレートRateが算出され、本処理を終了する。この場合、iブロック群のビットレートBR[i]に、上記のiブロック群の占有率（BS[i]）（符号化対象ピクチャに対して各々のブロック群が占める割合を示す占有率）を乗算した値の総和をビットレートRateとする。
【００６３】
次に、上記の図４で説明したビットレートRateの算出と目標符号量の算出について具体的な数値を例に取って説明する。
【００６４】
例えば、以下の数値を想定する。Tsnr[0] = 30.0dB。Tsnr[1] = 45.0dB。Tsnr[2] = 37.0dB。Bsnr[0] = 31.0dB。Bsnr[1] = 48.0dB。Bsnr[2] = 35.0dB。前BR[0] = 8000000bps。前BR[0] = 4000000bps。前BR[0] = 6000000bps。BRC[0] = 800000。BRC[1] = 100000。BRC[2] = 500000。BS[0] = 0.3。BS[1] = 0.3。BS[2] = 0.4。
【００６５】
BR[0]、BR[1]、BR[2]は、以下の計算式で求めることができる。
【００６６】
BR[0] = 8000000 + （30.0 - 31.0） * 800000 = 7200000
BR[1] = 4000000 + （45.0 - 48.0） * 100000 = 3700000
BR[2] = 6000000 + （37.0 - 35.0） * 500000 = 7000000
ビットレートRateは、以下の計算式で求めることができる。
【００６７】
Rate = BR[0] * 0.3 + BR[1] * 0.3 + BR[2] * 0.4 = 6070000
ただし、[0]は高域ブロック群であり、[1]は低域ブロック群であり、[2]は通常ブロック群である。
【００６８】
上記の計算式によりビットレートを算出し、その算出したビットレートを基に、背景技術で説明したＴＭ５方式による符号量制御アルゴリズムのステップ１により目標符号量を算出することができる。また、高域ブロック群、低域ブロック群、通常ブロック群のなかで、ブロック群の目標ＳＮ比を超えていないブロック群があれば、そのブロック群の符号量を増やすため、レート制御部１１６から量子化制御部１１７にブロック群補正指示を出力する。
【００６９】
レート制御部１１６から量子化制御部１１７に目標符号量とブロック群補正指示が入力される。これに伴い、符号量制御アルゴリズムのステップ２及びステップ３を行うことで、量子化制御部１１７は量子化回路１０５の制御を行う。ブロック群の符号量を補正する時は、量子化回路１０５はブロック判定部１１５から指示があったブロック群のマクロブロックアドレスを受け取る。更に、量子化回路１０５はそのマクロブロックの量子化演算を行う時に、符号量制御アルゴリズムのステップ３におけるACTjもしくはN_ACTjを小さくすることで対応する。
【００７０】
以上説明したように、本実施の形態によれば以下の作用及び効果を奏する。ブロック判定部１１５は、符号化対象ピクチャを分割したブロックを分類基準に従って特徴が異なる複数のブロック群に分類する。ＳＮ比算出回路１１３は、ブロック群毎に符号化対象ピクチャと復号画像とのＳＮ比を算出する。レート制御部１１６は、ブロック群毎に算出されたＳＮ比とブロック群毎に設定された目標ＳＮ比との差分を基にブロック群毎にビットレートを決定する。これにより、低域成分または高域成分に偏った画像であっても符号化前に画像の変化を検出することで、適切な符号量の設定を行うことが可能となり、良好な画質の復号画像を得ることが可能となる。
【００７１】
〔他の実施の形態〕
本実施の形態では、符号化対象ピクチャを分割したマクロブロックを複数のブロック群に分類する分類基準として輝度分散値を用いた場合を例に挙げたが、これに限定されるものではない。分類基準としては、輝度分散値以外に、輝度、色差、色差分散値、輝度の標準偏差、色差の標準偏差、輝度の段差の有無、色差の段差の有無、のうち任意のものを用いることが可能である。
【００７２】
本実施の形態では、上述したように具体的な数値の算出式を用いてビットレートを算出する場合を例に挙げたが、これに限定されるものではない。本発明の主旨を逸脱しない範囲で他の算出式を用いることが可能である。
【００７３】
本実施の形態では、本発明の画像符号化装置を撮像装置（デジタルビデオカメラ）に適用した場合を例に挙げたが、これに限定されるものではない。本発明の画像符号化装置を据置型のビデオ機器に適用することも可能である。
【００７４】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００７５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７６】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００７７】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００７８】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態に係る画像符号化装置の構成例を示すブロック図である。
【図２】入力画像を出力画像に並べ替える概念を示す図である。
【図３】ＤＣＴ回路、量子化回路、逆量子化回路、ＩＤＣＴ回路、動き補償予測回路、ＳＮ比算出回路の動作を示すフローチャートである。
【図４】レート制御部におけるビットレートを決定する処理を示すフローチャートである。
【符号の説明】
【００８０】
１０２  画像並べ替え回路
１０４  ＤＣＴ回路
１０５  量子化回路
１０６  可変長符号化回路
１０８  逆量子化回路
１０９  ＩＤＣＴ回路
１１２  動き補償予測回路
１１３  ＳＮ比算出回路
１１５  ブロック判定部
１１６  レート制御部
１１７  量子化制御部
【図１】
2010118912.tif 000003
【図２】
2010118912.tif 000004
【図３】
2010118912.tif 000005
【図４】
2010118912.tif 000006