(57)【要約】【課題】従来よりも正確に画像の複雑度を推定し、高画質な符号化を実現する動画像符号化装置、動画像符号化方法、およびプログラムを提供すること。【解決手段】複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積するステップと、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択するステップと、前記選択した複雑度を用いて符号量を制御するステップとを含む。【選択図】      図１
2004266640.tif 000002
【特許請求の範囲】
【請求項１】
複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定する手段と、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する手段と、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新する手段と、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択をする手段と、前記選択した複雑度を用いて符号量を制御する手段とを含むことを特徴とする動画像符号化装置。
【請求項２】
前記実測データを推定式毎に蓄積することを特徴とする請求項１の動画像符号化装置。
【請求項３】
前記蓄積した実測データのサンプル数が、予め定めた閾値よりも小さい場合は、初期値として設定した推定式を用い、そうでなければ前記蓄積した実測データを用いて前記推定式を更新することを特徴とする請求項１または２の動画像符号化装置。
【請求項４】
前記入力画像の特徴量を一つ以上求め、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定することを特徴とする請求項１、２、または３の動画像符号化装置。
【請求項５】
前記入力画像の特徴量は、
入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
フレーム内予測結果の予測誤差値に関する値、
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を１つ以上含むことを特徴とする請求項１、２、３、または４の動画像符号化装置。
【請求項６】
フレーム間予測により符号化される場合には、
前記入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
前記フレーム内予測結果の予測誤差値に関する値、
または前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から１つ以上の複雑度を推定し、
前記動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の１つ以上の複雑度を推定することを特徴とする請求項５の動画像符号化装置。
【請求項７】
前記フレーム間予測に複数の符号化モードが存在する場合には、
各符号化モードの動き補償結果の推定予測誤差値に関する値または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、
該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の１つ以上の複雑度を推定するか、
または各符号化モードの過去の複雑度を用いてさらに別の１つ以上の現在の複雑度を推定するか少なくとも一方の推定を行い、
前記推定した複雑度から一つを選択する手段を含むことを特徴とする請求項６の動画像符号化装置。
【請求項８】
前記フレーム内予測結果の予測誤差値に関する値は前記フレーム内予測結果の予測誤差値の絶対値のｍ乗和（ｍは１以上の整数）であり、
前記動き補償結果の予測誤差値に関する値は前記動き補償結果の予測誤差値の絶対値のｎ乗和（ｎは１以上の整数）であることを特徴とする請求項５、６、または７の動画像符号化装置。
【請求項９】
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値は、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数を量子化した値のｍ乗和（ｍは１以上の整数）であり、
前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値は、前記動き補償結果の予測誤差値を周波数変換した周波数係数あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数を量子化した値の絶対値のｎ乗和（ｎは１以上の整数）であることを特徴とする請求項５、６、または７の動画像符号化装置。
【請求項１０】
前記蓄積した実測データのサンプル数を予め定めた閾値と比較し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御する手段とを含むことを特徴とする請求項１乃至９のいずれかの動画像符号化装置。
【請求項１１】
前記閾値を前記推定式毎に定め、前記推定式毎に前記サンプル数と前記閾値を判断することを特徴とする請求項１０の動画像符号化装置
【請求項１２】
前記推定式毎の判断条件の組み合わせ条件が成立しない場合に、前記過去の符号化で得られた複雑度あるいは前記初期値として設定した複雑度あるいは前記仮符号化で得られた複雑度のいずれか一つを用いることを特徴とする請求項１１の動画像符号化装置。
【請求項１３】
前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新する手段とを含むことを特徴とする請求項１乃至１２のいずれかの動画像符号化装置。
【請求項１４】
前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率を、予め範囲を定めた閾値とそれぞれ比較し閾値の範囲内である場合は、前記実測データを蓄積する手段とを含むことを特徴とする請求項１乃至１３のいずれかの動画像符号化装置。
【請求項１５】
前記推定した複雑度が上限を定めた閾値以上となった場合は前記推定した複雑度を上限の閾値に再設定し、前記推定した複雑度が下限を定めた閾値以下となった場合は前記推定した複雑度を下限の閾値に再設定する手段とを含むことを特徴とする請求項１乃至１４のいずれかの動画像符号化装置。
【請求項１６】
複数ピクチャ符号化に先行して符号化する入力画像の特徴量を一つ以上求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、
前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを符号化モード毎に蓄積するステップと、
前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、
前記入力画像の特徴量を一つ以上用いて用いて、前記推定式から一つ以上の複雑度を推定し、いづれか一つを選択するステップと、
前記選択した複雑度を用いて符号量を制御するステップとを含むことを特徴とする動画像符号化方法。
【請求項１７】
前記入力画像の特徴量は、
入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
フレーム内予測結果の予測誤差値に関する値、
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を１つ以上含むことを特徴とする請求項１６の動画像符号化方法。
【請求項１８】
フレーム間予測により符号化される場合には、
前記入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
前記フレーム内予測結果の予測誤差値に関する値、
または前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から１つ以上の複雑度を推定し、
前記動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の１つ以上の複雑度を推定することを特徴とする請求項１７の動画像符号化方法。
【請求項１９】
前記フレーム間予測に複数の符号化モードが存在する場合には、
各符号化モードの動き補償結果の推定予測誤差値に関する値または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、
該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の１つ以上の複雑度を推定するか、
または各符号化モードの過去の複雑度を用いてさらに別の１つ以上の現在の複雑度を推定するか少なくとも一方の推定を行い、
前記推定した複雑度から一つを選択するステップを含むことを特徴とする請求項１８の動画像符号化方法。
【請求項２０】
前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御するステップとを含むことを特徴とする請求項１６、１７、１８、または１９の動画像符号化方法。
【請求項２１】
前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新するステップとを含むことを特徴とする請求項１６乃至２０のいずれかの動画像符号化方法。
【請求項２２】
予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率を、予め範囲を定めた閾値とそれぞれ比較し閾値の範囲内である場合は、前記実測データを蓄積するステップとを含むことを特徴とする請求項１６乃至２１のいずれかの動画像符号化方法。
【請求項２３】
前記推定した複雑度が上限を定めた閾値以上となった場合は前記推定した複雑度を上限の閾値に再設定し、前記推定した複雑度が下限を定めた閾値以下となった場合は前記推定した複雑度を下限の閾値に再設定するステップを含むことを特徴とする請求項１６乃至２２のいずれかの動画像符号化方法。
【請求項２４】
複数ピクチャ符号化に先行して符号化する入力画像の特徴量を一つ以上求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを符号化モード毎に蓄積するステップと、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定し、いづれか一つを選択するステップと、前記選択した複雑度を用いて符号量を制御するステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項２５】
前記入力画像の特徴量は、
入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
フレーム内予測結果の予測誤差値に関する値、
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を１つ以上含むことを特徴とする請求項２４のプログラム。
【請求項２６】
フレーム間予測により符号化される場合には、
前記入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
前記フレーム内予測結果の予測誤差値に関する値、
または前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から１つ以上の複雑度を推定し、
前記動き補償結果の予測誤差値に関する値、または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の１つ以上の複雑度を推定することを特徴とする請求項２５のプログラム。
【請求項２７】
前記フレーム間予測に複数の符号化モードが存在する場合には、各符号化モードの動き補償結果の推定予測誤差値に関する値あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、
該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の１つ以上の複雑度を推定するか、
または各符号化モードの過去の複雑度を用いてさらに別の１つ以上の現在の複雑度を推定するか少なくとも一方の推定を行い、
前記推定した複雑度から一つを選択するステップをコンピュータに実行させることを特徴とする請求項２６のプログラム。
【請求項２８】
前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御するステップとをコンピュータに実行させることを特徴とする請求項２４、２５、２６、または２７のプログラム。
【請求項２９】
前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新するステップとをコンピュータに実行させることを特徴とする請求項２４乃至２８のいずれかのプログラム。
【請求項３０】
前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率を、予め範囲を定めた閾値とそれぞれ比較し閾値の範囲内である場合は、前記実測データを蓄積するステップとをコンピュータに実行させることを特徴とする請求項２４乃至２９のいずれかのプログラム。
【請求項３１】
前記推定した複雑度が上限を定めた閾値以上となった場合は前記推定した複雑度を上限の閾値に再設定し、前記推定した複雑度が下限を定めた閾値以下となった場合は前記推定した複雑度を下限の閾値に再設定するステップをコンピュータに実行させることを特徴とする請求項２４乃至３０のいずれかのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動画像符号化装置、動画像符号化方法、およびプログラムに関し、特に入力画像の分散値や、動き探索結果の推定予測誤差値に関する値を複数ピクチャ符号化処理に先行して求め、前記値を基に画像の複雑度を推定し、前記推定した複雑度を利用し符号量制御を行う技術に関する。
【０００２】
【従来の技術】
高画質な動画像符号化を実現するには符号量制御が重要である。従来の符号量制御方式の一つにＭＰＥＧ−２  Ｔｅｓｔ  Ｍｏｄｅｌ  ５（以下ＴＭ５）がある。ＴＭ５ではＩ、Ｐ、Ｂのピクチャタイプ毎に、符号化したピクチャの発生符号量と、平均量子化スケールとの積である複雑度を求める。ピクチャの符号化時には、過去に求めた同じピクチャタイプの複雑度を基に、量子化スケールを決定し、符号量を制御する。
【０００３】
しかし、ＴＭ５では過去の複雑度を用いて制御を行うので、シーンチェンジやフェード等のシーンの変わり目では制御が安定せず、画質劣化が問題となる。これを解決するための動画像符号化装置が、特開２００２−２４７５８４号公報や特開平１１−２１５５０１号公報等に記載されている。これらの動画像符号化装置では符号化よりも複数ピクチャ符号化処理に先行して複雑度または発生符号量を推定し、推定した複雑度または発生符号量を基に量子化スケールを決定する。
【０００４】
従来の動画像符号化装置の動作を説明する。
図２は、特開２００２−２４７５８４号公報に記載された動画像符号化装置の一例を示す装置構成である。Ｉピクチャ複雑度算出部２０１は、前処理部２０７で求められた入力画像の分散値を用いてＩピクチャの複雑度を推定する。Ｐ・Ｂピクチャ複雑度算出部２０４は、１次探索部２０８の動きベクトル探索結果の推定予測誤差値の絶対値和を用いてＰピクチャまたはＢピクチャの複雑度を推定する。量子化パラメータ制御部２０９は、Ｉピクチャ複雑度算出部２０１またはＰ・Ｂピクチャ複雑度算出部２０４で推定した複雑度を基に量子化スケールを決定し、符号化部２１０の符号量を制御する。
【０００５】
図３は、特開平１１−２１５５０１号公報に記載された動画像符号化装置の一例を示す装置構成である。Ｉピクチャ発生符号量算出部３０１は、マクロブロック（１６画素×１６ラインの符号化処理単位）毎に前処理部３０３で求められた入力画像の分散値を用いてＩピクチャの発生符号量を推定する。Ｐ・Ｂピクチャ発生符号量算出部３０２は、まずマクロブロック毎に前処理部３０３で求められた入力画像の分散値を用いて発生符号量を推定し、１次探索部２０８の動きベクトル探索結果の推定予測誤差値の絶対値和を用いて発生符号量を推定する。
【０００６】
次に、前記推定した二つの発生符号量のどちらか一方をマクロブロックの発生符号量とし、その累和をＰピクチャあるいはＢピクチャの発生符号量とする。量子化パラメータ制御部３０４は、Ｉピクチャ発生符号量算出部３０１またはＰ・Ｂピクチャ発生符号量算出部３０２で推定した発生符号量を基に量子化スケールを決定し、符号化部２１０の符号量を制御する。
【０００７】
従来の動画像符号化装置における複雑度または発生符号量の推定方法を説明する。ＭＰＥＧ−２におけるＩピクチャ等、フレーム内予測を用いて符号化されたピクチャは、複雑度あるいは発生符号量と、入力画像の分散値とは相関があり、ＭＰＥＧ−２におけるＰピクチャやＢピクチャ等、フレーム間予測を用いて符号化されたピクチャは、複雑度あるいは発生符号量と、推定予測誤差値の絶対値和とは相関があることが知られている。
【０００８】
特開２００２−２４７５８４号公報に記載された動画像符号化装置では、Ｉピクチャ複雑度算出部２０１は数式１を用いてＩピクチャの複雑度Ｘｉを推定し、Ｐ・Ｂピクチャ複雑度算出部２０４は数式２を用いてＰピクチャの複雑度Ｘｐ推定し、数式３を用いてＢピクチャの複雑度Ｘｂを推定する。
【０００９】
Ｘｉ＝ａｉ×ＶＡＲ＋ｂｉ    （数式１）
Ｘｐ＝ａｐ×ＳＡＤ＋ｂｐ    （数式２）
Ｘｂ＝ａｂ×ＳＡＤ＋ｂｂ    （数式３）
ここでＶＡＲは入力画像の分散値を、ＳＡＤは推定予測誤差値の絶対値和を、ａｉ、ｂｉは複雑度Ｘｉを一次式で推定する場合の係数を、ａｐ、ｂｐは複雑度Ｘｐを一次式で推定する場合の係数をａｂ、ｂｂは複雑度Ｘｂを一次式で推定する場合の係数を表す。各係数は係数決定部２０２または係数決定部２０５において、蓄積部２０３または蓄積部２０６に蓄積された過去の複雑度と、入力画像の分散値あるいは推定予測誤差値の絶対値和とを組とした実測データを用いて、回帰分析により決定される。ここでは一例として推定式（回帰方程式）を一次式としたが、ｎ次式（ｎは１以上の整数）としてもよい。
【００１０】
特開平１１−２１５５０１号公報等に記載された動画像符号化装置では、Ｉピクチャ発生符号量算出部３０１は数式４を用いてＩピクチャの発生符号量Ｓｉを推定し、Ｐ・Ｂピクチャ発生符号量算出部３０２は、数式５を用いてＰピクチャの発生符号量Ｓｐ１を推定し、数式６を用いてＰピクチャの発生符号量Ｓｐ２を推定し、どちらか一方をＰピクチャの発生符号量と推定し、数式７を用いてＢピクチャの発生符号量Ｓｂ１を推定し、数式８を用いてＢピクチャの発生符号量Ｓｂ２を推定し、どちらか一方をＢピクチャの発生符号量と推定する。
【００１１】
Ｓｉ＝ｃｉ×ＶＡＲ＋ｄｉ    （数式４）
Ｓｐ１＝ｃｉ×ＶＡＲ＋ｄｉ  （数式５）
Ｓｐ２＝ｃｐ×ＳＡＤ＋ｄｐ  （数式６）
Ｓｂ１＝ｃｉ×ＶＡＲ＋ｄｉ  （数式７）
Ｓｂ２＝ｃｂ×ＳＡＤ＋ｄｂ  （数式８）
ここで、ｃｉ、ｄｉは発生符号量Ｓｉ、Ｓｐ１、Ｓｂ１を一次式で推定する場合の係数を、ｃｐ、ｄｐは発生符号量Ｓｐ２を一次式で推定する場合の係数をｃｂ、ｄｂは発生符号量Ｓｂ２を一次式で推定する場合の係数を表す。各係数には、シミュレーション等によって予め求めた過去の複雑度と、入力画像の分散値あるいは推定予測誤差値の絶対値和とを組とした実測データを用いて決定した定数値を用いる。
【００１２】
【特許文献１】
特開平１１−２１５５０１号公報
【特許文献２】
特開２００２−２４７５８４号公報
【００１３】
【発明が解決しようとする課題】
しかしながら、前記従来の動画像符号化装置は正確に複雑度を推定できないために、高画質な動画像符号化を実現できない。
【００１４】
特開平１１−２１５５０１号公報に記載された動画像符号化装置では、ＰピクチャまたはＢピクチャの発生符号量の推定に、推定予測誤差値の絶対値和だけでなく入力画像の分散値を用いることで動きの速い画像やシーンチェンジ等のＰピクチャあるいはＢピクチャにフレーム内予測が多く含まれる画像の発生符号量を正確に推定できる。しかし、式４〜式８の推定式の係数ｃｉ、ｄｉ、ｃｐ、ｄｐ、ｃｂ、ｄｂには定数値を用いる。推定式の係数はビットレートや動きベクトルの探索範囲等の符号化パラメータによって適切な値が異なるので、定数値を用いた推定式では正確な発生符号量を推定できない。
【００１５】
特開平１１−２１５５０１号公報に記載された動画像符号化装置では、式１〜式３の推定式の係数ａｉ、ｂｉ、ａｐ、ｂｐ、ａｂ、ｂｂは定数値だけでなく、過去の複雑度と、入力画像の分散値または推定予測誤差値の絶対値和等を組とした実測データを用いて係数を更新することで、符号化パラメータに応じた複雑度を推定できる。しかし、特開平１１−２１５５０１号公報に記載された動画像符号化装置とは異なり、Ｐ、Ｂピクチャの推定には推定予測誤差値の絶対値和のみを用いる。
【００１６】
このため、フレーム内予測が多く含まれる画像の複雑度を正確に推定できない。さらに、図４に示すように実測データのサンプル数が少ない場合には、推定式の推定誤差が大きくなる。さらに、推定式を実測データから求めているので、例えば図５に示すようにデータによっては単調減少の推定式で複雑度を推定することになる。さらに、推定式で求めた複雑度を用いて量子化スケールを決定しているので、Ｂピクチャ等の非参照ピクチャに対して、ＩピクチャやＰピクチャ等の参照ピクチャよりも多くの符号量を割り当ててしまう場合がある。
【００１７】
本発明の目的は従来よりも正確に画像の複雑度を推定し、高画質な符号化を実現する動画像符号化装置、動画像符号化方法、およびプログラムを提供することにある。
【００１８】
【課題を解決するための手段】
本発明の第１の実施形態によれば、動画像符号化プログラムであって、複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定する手段と、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する手段と、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新する手段と、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択する手段と、前記選択した複雑度を用いて符号量を制御する手段とを含むことを特徴とする。
【００１９】
さらに、本発明の第１の実施形態によれば、前記実測データを推定式毎に蓄積することを特徴とする。
【００２０】
さらに、本発明の第１の実施形態によれば、前記蓄積した実測データのサンプル数が、予め定めた閾値よりも小さい場合は、初期値として設定した推定式を用い、そうでなければ前記蓄積した実測データを用いて前記推定式を更新することを特徴とする。
【００２１】
さらに、本発明の第１の実施形態によれば、前記入力画像の特徴量を一つ以上求め、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定することを特徴とする。
【００２２】
さらに、本発明の第１の実施形態によれば、入力画像の分散値、あるいは前記入力画像を周波数変換した周波数係数に関する値、あるいはフレーム内予測結果の予測誤差値に関する値、あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、あるいは動き補償結果の予測誤差値に関する値、あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値であることを特徴とする。
【００２３】
さらに、本発明の第１の実施形態によれば、フレーム間予測により符号化される場合には、前記入力画像の分散値、あるいは前記入力画像を周波数変換した周波数係数に関する値、あるいは前記フレーム内予測結果の予測誤差値に関する値、あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値の少なくともいづれか一つを用いて、前記推定式から１つ以上の複雑度を推定し、前記動き補償結果の予測誤差値に関する値、あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて、前記推定式から１つ以上の複雑度を推定することを特徴とする。
【００２４】
さらに、本発明の第１の実施形態によれば、前記フレーム間予測に複数の符号化モードが存在する場合には、各符号化モードの動き補償結果の推定予測誤差値に関する値あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から複雑度を推定し、あるいは各符号化モードの過去の複雑度を用いて現在の複雑度を推定し、前記一連の複数の複雑度から、いづれか一つを選択する手段を含むことを特徴とする。
【００２５】
さらに、本発明の第１の実施形態によれば、前記フレーム内予測結果の予測誤差値に関する値は、前記フレーム内予測結果の予測誤差値の絶対値のｍ乗和（ｍは１以上の整数）であること前記動き補償結果の予測誤差値に関する値は、前記動き補償結果の予測誤差値の絶対値のｎ乗和（ｎは１以上の整数）であることを特徴とする。
【００２６】
さらに、本発明の第１の実施形態によれば、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値は、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数を量子化した値のｍ乗和（ｍは１以上の整数）であること前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値は、前記動き補償結果の予測誤差値を周波数変換した周波数係数あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数を量子化した値の絶対値のｎ乗和（ｎは１以上の整数）であることを特徴とする。
【００２７】
本発明の第２の実施形態によれば、上述の第１実施形態において、前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御する手段とを含むことを特徴とする。
【００２８】
さらに本発明の第２の実施形態によれば、前記閾値を前記推定式毎に定め、前記推定式毎に前記サンプル数と前記閾値を判断すること、あるいは前記推定式毎の判断条件の組み合わせ条件が成立しない場合に、前記過去の符号化で得られた複雑度あるいは前記初期値として設定した複雑度あるいは前記仮符号化で得られた複雑度のいづれか一つを用いることを特徴とする。
【００２９】
本発明の第３の実施形態によれば、上述の第１実施形態あるいは第２実施形態において、前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新する手段とを含むことを特徴とする。
【００３０】
本発明の第４の実施形態によれば、上述の第１実施形態から第３実施形態において、前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率が、予め定めた閾値の範囲内である場合は、前記実測データを蓄積する手段とを含むことを特徴とする。
【００３１】
本発明の第５の実施形態によれば、上述の第１実施形態から第４実施形態において、前記推定した複雑度を、上限と下限を定めた閾値と比較し、前記閾値の上限以上または下限以下である場合には、それぞれ上限または下限の閾値を推定した複雑度として再設定する手段とを含むことを特徴とする。
【００３２】
【発明の実施の形態】
本発明の実施の形態を、第１から第５の５つの実施の形態ついてそれぞれ図面を参照して説明する。
【００３３】
（第１の実施形態）
図１のフローチャートを参照して第１の実施の形態の処理について詳細に説明する。ここで、処理単位はピクチャ単位に限らず、マクロブロック等の符号化処理単位や任意のブロック単位でも同様に行える。
【００３４】
ステップＳ１０１では、符号化する入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する。入力画像の特徴量としては様々なものが考えられる。例えば、入力画像の分散値、あるいはフレーム内予測結果の予測誤差値に関する値、あるいは動き補償結果の予測誤差値に関する値がある。
【００３５】
入力画像の分散値としては、ＴＭ５のアクティビティとして用いられマクロブロック内における８Ｘ８ブロックの分散値の最小値がある。また別の分散値の例としては、符号化処理単位における平均値との差分絶対値和や、隣接画素差分の絶対値和等がある。
【００３６】
ピクチャ内の画像を用いた予測が行われる場合には、フレーム内予測結果の予測誤差値に関する値が利用でき、推定予測誤差値の絶対値和や二乗和等がある。動き補償を用いたフレーム間予測が行われる場合には、動き補償結果の予測誤差値に関する値が利用でき、推定予測誤差値の絶対値和や二乗和等がある。
【００３７】
さらに、動画像の符号化方式で周波数変換が用いられる場合には、入力画像の特徴量として、入力画像を周波数変換した周波数係数に関する値、フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値を周波数変換した周波数係数に関する値等も利用できる。
【００３８】
入力画像を周波数変換した周波数係数に関する値としては、入力画像を周波数変換した周波数係数の絶対値和や、周波数係数を量子化した値の絶対値和等を用いてもよい。予測誤差値の周波数変換した周波数に関する値に関しても同様に、周波数係数の絶対値和や、周波数係数を量子化した値の絶対値和等を用いてもよい。ここで、周波数変換は符号化方式で用いられるものである必要はなく、簡略化のために例えばアダマール変換等を用いることもできる。蓄積するデータ数としては、全てのデータを蓄積してもよいし、予め定めた期間を、予め定めた間隔で蓄積してもよい。
【００３９】
ステップＳ１０２では、蓄積した実測データのサンプル数が予め定めた閾値以上であるか否かを判断する。サンプル数が閾値以上の場合はステップＳ１０３へ、閾値より少ない場合はステップＳ１０４へ移る。
【００４０】
ステップＳ１０３では、蓄積した実測データを用いて回帰分析により推定式を求め、推定式を更新する。例えば、実測データから最小二乗法等を用いて、推定式を求めることができる。
【００４１】
ここで、蓄積データの蓄積単位や複雑度の推定式やステップＳ１０２における閾値の設定は符号化モード毎に行う。例えば、ピクチャの予測方式（フレーム内予測またはフレーム間予測）、ピクチャタイプ、マクロブロック単位の予測タイプ（フレーム内予測、前方向予測、後方予測、双方向予測）、参照ピクチャか非参照ピクチャか、およびこれらの組み合わせ等がある。ただし、ステップＳ１０２は設定した閾値条件だけでなく、各条件式の組み合わせで判断することもできる。例えば、各推定式の実測データのサンプル数が全て閾値以上の場合は、ステップＳ１０３へ、そうでない場合は、ステップＳ１０４へ移ることもできる。
【００４２】
ステップＳ１０４では、初期値として与えた推定式を、推定式とする。ステップＳ１０５では、推定式を用いて、入力画像の特徴量から複雑度を推定する。前記特徴量としては、前述した入力画像の分散値や、動き補償結果の予測誤差値に関する値等がある。
【００４３】
ステップＳ１０６では、ステップＳ１０５で推定した複雑度のいづれか一つを選択し、最終的な複雑度を求める。どの複雑度を選択するかは、例えば複雑度の最も小さな値を選択する。
【００４４】
図６のフローチャートを参照してステップＳ１０５の一例を示す。ステップＳ６０１では、ピクチャがフレーム間予測を用いて符号化されるか否かを判断する。フレーム間予測を用いて符号化される場合はステップＳ６０２へ、フレーム内予測を用いて符号化される場合はステップＳ６０４へ移る。
【００４５】
ステップＳ６０２では、推定式を用いて、フレーム間予測における特徴量から複雑度を推定する。前記特徴量としては、動き補償結果の予測誤差値に関する値あるいは予測誤差値の周波数変換した周波数に関する値等を用いる。
【００４６】
ステップＳ６０３では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合はステップＳ６０４へ、そうでない場合はステップＳ６０２へ移る。ここで推定方法は、一つ以上あり、各符号化モード毎に設定する。例えば、動き補償結果の予測誤差値の絶対値和および周波数係数を量子化した値の絶対値和から２つの複雑度を推定することもできる。ステップＳ６０５も同様である。
【００４７】
ステップＳ６０４では、推定式を用いてフレーム内予測における特徴量から複雑度を推定する。前記特徴量としては、入力画像の分散値、あるいはフレーム内予測結果の予測誤差値に関する値等を用いる。
【００４８】
ステップＳ６０５では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合は処理を終了し、そうでない場合はステップＳ６０４へ移る。
【００４９】
フレーム間予測にＮ種類の符号化モードがある場合、図６のフローチャートは拡張できる。拡張したフローチャートを図７に示す。また、フレーム内予測に複数の符号化モードがある場合も同様に拡張できる。
【００５０】
図８のフローチャートを参照してステップＳ１０５の別の一例を示す。
図６のフローチャートが、ステップＳ６０２およびステップＳ６０４で推定した複雑度を用いて複雑度を決定していたのに対して、図８では、フレーム間予測に複数の符号化モードが存在する場合には、さらに別の複雑度を推定する。
【００５１】
図６のフローチャートと異なる動作について説明する。ステップＳ８０１では、異なる符号化モードで複雑度を推定するか否かを判断する。推定を行う場合は、ステップＳ８０２へ、推定を行わない場合は、ステップＳ８０３へ移る。
ステップＳ８０２では、異なる符号化モードにおけるフレーム間予測の特徴量を用いて複雑度を推定するか、あるいは過去の複雑度を用いて複雑度を推定する。ステップＳ８０３では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合はステップＳ６０４へ、そうでない場合はステップＳ８０２へ移る。
【００５２】
ここでは具体例として、ＭＰＥＧ−２の場合を考える。ＭＰＥＧ−２のフレーム間予測はピクチャ単位では、ＰピクチャとＢピクチャが存在する。この例では、Ｐピクチャは、Ｂピクチャの複雑度を用いた推定は行わず、Ｂピクチャは、Ｐピクチャの推定式を用いた複雑度の推定および過去のＰピクチャの複雑度を用いた推定を行う。ステップＳ６０３では、Ｂピクチャの推定式を用いて、Ｂピクチャの動き補償結果の推定予測誤差値に関する値から複雑度を推定する。
【００５３】
ステップＳ８０２では、Ｐピクチャの推定式を用いて、片方向予測の動き補償結果の推定予測誤差値に関する値から複雑度を推定する。ここで、片方向予測の動き補償結果の推定予測誤差値とは、Ｂピクチャの動き探索時に求めた片方向予測の推定予測誤差値のことである。Ｂピクチャは、片方向予測として前方向予測および後方向予測があるので、このどちらか一方、あるいは両方の推定予測誤差値を用いてもよい。
【００５４】
また、ステップＳ８０２では蓄積した過去のＰピクチャの複雑度を用いて複雑度を求めてもよい。例えば、シーン変化のない、Ｂピクチャの符号化前に符号化した直前のＰピクチャの複雑度や平均値等を用いることが考えられる。
【００５５】
上述したように、本発明による第１実施形態では、図６の内部処理を用いた場合には、フレーム間予測の複雑度の推定に、フレーム間予測における特徴量だけでなく、フレーム内予測における特徴量を用いる。さらに、複雑度の推定式を実測データを用いて決定する。そのため、フレーム間予測符号化を用いたピクチャにおいて、フレーム内予測が多く含まれる場合の複雑度を正確に推定できる。
【００５６】
また図８の内部処理を用いた場合には、フレーム間予測に複数の符号化モードが存在する場合に、符号化モード毎に複雑度を推定し、いづれか一つ複雑度を選択する。そのため、非参照ピクチャに対して必要以上に多くの符号量を割り当てることがない。
【００５７】
ここで、複雑度をピクチャの発生符号量と平均量子化スケールとの積としたが、本発明はそれに限るものではなく、発生符号量を何らかの方法で量子化スケールの値で正規化した値であればよい。
【００５８】
（第２の実施形態）
上記第１実施形態がステップＳ１０２において、蓄積した実測データのサンプル数が設定した閾値より少ない場合には、初期値として与えた推定式を用いて複雑度を推定したのに対し、本発明による第２実施形態では、推定式以外で求めた複雑度を利用することを特徴としている。
【００５９】
図９のフローチャートを参照して第１の実施の形態と異なる処理について説明する。蓄積した実測データのサンプル数が設定した閾値以上であるか否かを判断する。サンプル数が閾値以上の場合はステップＳ１０３へ、閾値より少ない場合はステップＳ９０１へ移る。
【００６０】
ステップＳ９０１では、実際に符号化を行い、複雑度を求める。そして、求めた複雑度を量子化パラメータ制御で用いる。この場合、蓄積した実測データのサンプル数が閾値より少ない場合は、符号化を２度行うことになるので、演算量は増加する。演算量の増加を抑えるためには、例えばステップＳ９０１では何も行わず、蓄積した実測データのサンプル数が閾値以上になるまではＴＭ５のような過去の複雑度を用いて符号量を制御してもよい。この場合、過去の複雑度が存在しない場合には、初期値として設定した複雑度を用いる。
【００６１】
上述したように本発明による第２実施形態では、実測データのサンプル数が予め定めた閾値より少ない場合には、推定式以外で求めた複雑度を用いて符号量を制御する。そのため、サンプル数が少ない実測データから決定した推定誤差の大きい推定式を用いることなしに、符号量を制御するので、符号化の初期状態における画質劣化を抑制することができる。
【００６２】
（第３の実施形態）
上記第１実施形態がステップＳ１０３において推定式を逐次更新していたのに対し、本発明による第３実施形態では、推定式の更新判定を行うことを特徴としている。
【００６３】
図１０のフローチャートを参照して第１の実施の形態と異なる処理について説明する。ステップＳ１００１では、蓄積した実測データを用いて回帰分析により推定式を求める。
【００６４】
ステップＳ１００２では、ステップＳ１００１で求めた推定式が、予め定めた区間において単調増加関数であるか否かを判断する。更新する場合はステップＳ１００３へ、更新しない場合はステップＳ１００４へ移る。
【００６５】
ステップＳ１００３では、ステップＳ１００１で求めた推定式を、推定に用いる推定式に設定する。ステップＳ１００４では、ステップＳ１００１で求める前の推定式を、推定に用いる推定式に設定する。
【００６６】
上述したように本発明による第３実施形態では、推定式が予め定めた区間において単調増加でない場合には推定式を更新しない。そのため、例えば予測誤差に関する値が大きいほど複雑度が小さくなるような、誤った推定をせずに、複雑度を正確に推定できる。
【００６７】
（第４の実施形態）
上記第１実施形態がステップＳ１０１において実測データを逐次更新していたのに対し、本発明による第４実施形態では、実測データの更新判定を行うことを特徴としている。
【００６８】
図１１のフローチャートを参照して第１の実施の形態と異なる処理について説明する。ステップＳ１１０１では、統計データを更新するか否かを判断する。更新する場合はステップＳ１０１へ、更新しない場合はステップＳ１０２へ移る。更新の判断は、実測データの値、または予め定めた範囲の前記実測データのサンプル数、または符号化における符号化モードまたはパラメータの比率が、予め閾値で定めた範囲内であるかでそれぞれ判断する。
【００６９】
例えば、入力画像の特徴量が下限の閾値以下または上限の閾値以上であって範囲内にない場合には更新しない。別の例として、複雑度が下限の閾値以下または上限の閾値以上であって範囲内になければ更新しない。別の例として、推定式を表すグラフに対して、統計データのサンプルが閾値以上離れて範囲内にない場合には更新しない。別の例として、過去に蓄積された統計データのサンプルと現在の統計データのサンプルの値が予め決めた閾値以下で範囲内にない場合は更新しない。別の例として、過去に蓄積された統計データのサンプルと現在の統計データのサンプルの値が閾値以下であるサンプルの蓄積数が、予め定めた別の閾値以下で範囲内にない場合は更新しない。別の例として、ある符号化モードの割合が閾値以上で範囲内にない場合は更新しない。
【００７０】
これを、さらに具体的に示せば、ＭＰＥＧ−２Ｐピクチャにおいてフレーム内予測モードの割合が５０％以上越えた場合や、ブロックの係数が全て零である、割合が５０％以上越えた場合や、平均量子化スケールが１００以上越えた場合は更新しない等がある。
【００７１】
上述したように本発明による第４実施形態では、実測データを更新するか否かを判断し、実測データの更新を制御する。そのため、定常状態が続く画像や、非常に符号化が難しい画像や、非常に符号化が容易な画像等の複雑度推定が困難な実測データを蓄積せずに、推定式を決定するので、平均的な推定精度を向上させることができる。
【００７２】
（第５の実施形態）
上記第１実施形態がステップＳ１０６において推定した複雑度を量子化パラメータ制御で用いていたのに対して、本発明による第５の実施形態では、推定した複雑度が予め定めた上限値の閾値以上であったり下限値の閾値以下であったり予め閾値で決められた範囲内にない場合は、推定複雑度として閾値を再設定することを特徴としている。この場合は、推定した複雑度が上限値の閾値以上の場合は上限値の閾値を推定複雑度として再設定し、推定した複雑度が下限値の閾値以下の場合は下限値の閾値を推定複雑度として再設定する。
【００７３】
図１２のフローチャートを参照して第１の実施の形態と異なる動作について説明する。ステップＳ１２０１では、推定した複雑度と閾値を比較する。推定した複雑度が上限値の閾値以上または下限値の閾値以下で範囲外の場合には、閾値を推定複雑度として設定する。ここで、閾値としては様々なものが考えられる。例えば、閾値として推定式毎に最大値および最小値をそれぞれ上限値および下限値として設定する。別の例として、閾値として過去の符号化で得られた複雑度を用いて決定した上限値と下限値を設定したり、過去の符号化で得られた複雑度の平均値の定数倍の値を設定したりする。
【００７４】
上述したように本発明による第５の実施形態では、推定した複雑度と閾値を比較し、複雑度を再設定する。そのため、非常に符号化が容易な画像に対して符号量を削減しすぎたり、非常に符号化が困難な画像に対して必要以上に符号量を割り当てることがない。
【００７５】
本発明の実施の形態について説明したが、第２の実施形態から第５の実施形態は異なる処理なので、実施形態２から実施形態５を組み合わせた形態も考えられる。また以上の説明からも分かるように、本発明のフローチャートの処理を、ハードウェアで構成し実現することも、ソフトウェアで構成し実現することも可能である。
【００７６】
【発明の効果】
以上詳細に説明したように、本発明によれば、フレーム間予測の複雑度の推定に、フレーム間予測における特徴量だけでなく、フレーム内予測における特徴量を用いる。さらに、複雑度の推定式を実測データを用いて決定する。そのため、フレーム間予測符号化を用いたピクチャにおいて、フレーム内予測が多く含まれる場合の複雑度を正確に推定できる。
【００７７】
またフレーム間予測に複数の符号化モードが存在する場合に、符号化モード毎に複雑度を推定し、いづれか一つ複雑度を選択する。そのため、非参照ピクチャに対して必要以上に多くの符号量を割り当てることがない。
【００７８】
また、実測データのサンプル数が設定した閾値より少ない場合には、推定式以外で求めた複雑度を用いて符号量を制御するので、サンプル数が少ない実測データから決定した推定誤差の大きい推定式を用いることなしに、符号量を制御するので、符号化の初期状態における画質劣化を抑制することができる。また、推定式が予め定めた区間において単調増加でない場合には推定式を更新しないので、予測誤差に関する値が大きいほど複雑度が小さくなるような、誤った推定をしないので、複雑度を正確に推定できる。
【００７９】
また、実測データを更新するか否かを判断し、実測データの更新を制御するので、定常状態が続く画像や、非常に符号化が難しい画像や、非常に符号化が容易な画像等の複雑度推定が困難な実測データを蓄積せずに、推定式を決定し、平均的な推定精度を向上させることができる。また、推定した複雑度と閾値を比較し、複雑度を再設定するので、非常に符号化が容易な画像に対して符号量を削減しすぎたり、非常に符号化が困難な画像に対して必要以上に符号量を割り当てることがない。
【図面の簡単な説明】
【図１】第１実施形態の処理を示す流れ図である。
【図２】従来の動画像符号化装置の一例を示す装置構成を示すブロック図である。
【図３】従来の動画像符号化装置の一例を示す装置構成を示すブロック図である。
【図４】従来の動画像符号化装置の課題を示す散布図である。
【図５】従来の動画像符号化装置の課題を示す散布図である。
【図６】第１実施形態の内部処理の一例を示す流れ図である。
【図７】第１実施形態の内部処理の異なる一例を示す流れ図である。
【図８】第１実施形態の内部処理の異なる一例を示す流れ図である。
【図９】第２実施形態の処理を示す流れ図である。
【図１０】第３実施形態の処理を示す流れ図である。
【図１１】第４実施形態の処理を示す流れ図である。
【図１２】第５実施形態の処理を示す流れ図である。
【符号の説明】
２０１    Ｉピクチャ複雑度算出部
２０２    係数決定部
２０３    蓄積部
２０４    Ｐ・Ｂピクチャ複雑度算出部
２０５    係数決定部
２０６    蓄積部
２０７    前処理部
２０８    １次探索部
２０９    量子化パラメータ制御部
２１０    符号化部
３０１    Ｉピクチャ発生符号量算出部
３０２    Ｐ・Ｂピクチャ発生符号量算出部
３０３    前処理部
３０４    量子化パラメータ制御部
【図１】
2004266640.tif 000003
【図２】
2004266640.tif 000004
【図３】
2004266640.tif 000005
【図４】
2004266640.tif 000006
【図５】
2004266640.tif 000007
【図６】
2004266640.tif 000008
【図７】
2004266640.tif 000009
【図８】
2004266640.tif 000010
【図９】
2004266640.tif 000011
【図１０】
2004266640.tif 000012
【図１１】
2004266640.tif 000013
【図１２】
2004266640.tif 000014