JP2004266640A - 動画像符号化装置、動画像符号化方法、およびプログラム - Google Patents
動画像符号化装置、動画像符号化方法、およびプログラム Download PDFInfo
- Publication number
- JP2004266640A JP2004266640A JP2003055965A JP2003055965A JP2004266640A JP 2004266640 A JP2004266640 A JP 2004266640A JP 2003055965 A JP2003055965 A JP 2003055965A JP 2003055965 A JP2003055965 A JP 2003055965A JP 2004266640 A JP2004266640 A JP 2004266640A
- Authority
- JP
- Japan
- Prior art keywords
- complexity
- value
- frequency
- prediction error
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】従来よりも正確に画像の複雑度を推定し、高画質な符号化を実現する動画像符号化装置、動画像符号化方法、およびプログラムを提供すること。
【解決手段】複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積するステップと、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択するステップと、前記選択した複雑度を用いて符号量を制御するステップとを含む。
【選択図】 図1
【解決手段】複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積するステップと、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択するステップと、前記選択した複雑度を用いて符号量を制御するステップとを含む。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は動画像符号化装置、動画像符号化方法、およびプログラムに関し、特に入力画像の分散値や、動き探索結果の推定予測誤差値に関する値を複数ピクチャ符号化処理に先行して求め、前記値を基に画像の複雑度を推定し、前記推定した複雑度を利用し符号量制御を行う技術に関する。
【0002】
【従来の技術】
高画質な動画像符号化を実現するには符号量制御が重要である。従来の符号量制御方式の一つにMPEG−2 Test Model 5(以下TM5)がある。TM5ではI、P、Bのピクチャタイプ毎に、符号化したピクチャの発生符号量と、平均量子化スケールとの積である複雑度を求める。ピクチャの符号化時には、過去に求めた同じピクチャタイプの複雑度を基に、量子化スケールを決定し、符号量を制御する。
【0003】
しかし、TM5では過去の複雑度を用いて制御を行うので、シーンチェンジやフェード等のシーンの変わり目では制御が安定せず、画質劣化が問題となる。これを解決するための動画像符号化装置が、特開2002−247584号公報や特開平11−215501号公報等に記載されている。これらの動画像符号化装置では符号化よりも複数ピクチャ符号化処理に先行して複雑度または発生符号量を推定し、推定した複雑度または発生符号量を基に量子化スケールを決定する。
【0004】
従来の動画像符号化装置の動作を説明する。
図2は、特開2002−247584号公報に記載された動画像符号化装置の一例を示す装置構成である。Iピクチャ複雑度算出部201は、前処理部207で求められた入力画像の分散値を用いてIピクチャの複雑度を推定する。P・Bピクチャ複雑度算出部204は、1次探索部208の動きベクトル探索結果の推定予測誤差値の絶対値和を用いてPピクチャまたはBピクチャの複雑度を推定する。量子化パラメータ制御部209は、Iピクチャ複雑度算出部201またはP・Bピクチャ複雑度算出部204で推定した複雑度を基に量子化スケールを決定し、符号化部210の符号量を制御する。
【0005】
図3は、特開平11−215501号公報に記載された動画像符号化装置の一例を示す装置構成である。Iピクチャ発生符号量算出部301は、マクロブロック(16画素×16ラインの符号化処理単位)毎に前処理部303で求められた入力画像の分散値を用いてIピクチャの発生符号量を推定する。P・Bピクチャ発生符号量算出部302は、まずマクロブロック毎に前処理部303で求められた入力画像の分散値を用いて発生符号量を推定し、1次探索部208の動きベクトル探索結果の推定予測誤差値の絶対値和を用いて発生符号量を推定する。
【0006】
次に、前記推定した二つの発生符号量のどちらか一方をマクロブロックの発生符号量とし、その累和をPピクチャあるいはBピクチャの発生符号量とする。量子化パラメータ制御部304は、Iピクチャ発生符号量算出部301またはP・Bピクチャ発生符号量算出部302で推定した発生符号量を基に量子化スケールを決定し、符号化部210の符号量を制御する。
【0007】
従来の動画像符号化装置における複雑度または発生符号量の推定方法を説明する。MPEG−2におけるIピクチャ等、フレーム内予測を用いて符号化されたピクチャは、複雑度あるいは発生符号量と、入力画像の分散値とは相関があり、MPEG−2におけるPピクチャやBピクチャ等、フレーム間予測を用いて符号化されたピクチャは、複雑度あるいは発生符号量と、推定予測誤差値の絶対値和とは相関があることが知られている。
【0008】
特開2002−247584号公報に記載された動画像符号化装置では、Iピクチャ複雑度算出部201は数式1を用いてIピクチャの複雑度Xiを推定し、P・Bピクチャ複雑度算出部204は数式2を用いてPピクチャの複雑度Xp推定し、数式3を用いてBピクチャの複雑度Xbを推定する。
【0009】
Xi=ai×VAR+bi (数式1)
Xp=ap×SAD+bp (数式2)
Xb=ab×SAD+bb (数式3)
ここでVARは入力画像の分散値を、SADは推定予測誤差値の絶対値和を、ai、biは複雑度Xiを一次式で推定する場合の係数を、ap、bpは複雑度Xpを一次式で推定する場合の係数をab、bbは複雑度Xbを一次式で推定する場合の係数を表す。各係数は係数決定部202または係数決定部205において、蓄積部203または蓄積部206に蓄積された過去の複雑度と、入力画像の分散値あるいは推定予測誤差値の絶対値和とを組とした実測データを用いて、回帰分析により決定される。ここでは一例として推定式(回帰方程式)を一次式としたが、n次式(nは1以上の整数)としてもよい。
【0010】
特開平11−215501号公報等に記載された動画像符号化装置では、Iピクチャ発生符号量算出部301は数式4を用いてIピクチャの発生符号量Siを推定し、P・Bピクチャ発生符号量算出部302は、数式5を用いてPピクチャの発生符号量Sp1を推定し、数式6を用いてPピクチャの発生符号量Sp2を推定し、どちらか一方をPピクチャの発生符号量と推定し、数式7を用いてBピクチャの発生符号量Sb1を推定し、数式8を用いてBピクチャの発生符号量Sb2を推定し、どちらか一方をBピクチャの発生符号量と推定する。
【0011】
Si=ci×VAR+di (数式4)
Sp1=ci×VAR+di (数式5)
Sp2=cp×SAD+dp (数式6)
Sb1=ci×VAR+di (数式7)
Sb2=cb×SAD+db (数式8)
ここで、ci、diは発生符号量Si、Sp1、Sb1を一次式で推定する場合の係数を、cp、dpは発生符号量Sp2を一次式で推定する場合の係数をcb、dbは発生符号量Sb2を一次式で推定する場合の係数を表す。各係数には、シミュレーション等によって予め求めた過去の複雑度と、入力画像の分散値あるいは推定予測誤差値の絶対値和とを組とした実測データを用いて決定した定数値を用いる。
【0012】
【特許文献1】
特開平11−215501号公報
【特許文献2】
特開2002−247584号公報
【0013】
【発明が解決しようとする課題】
しかしながら、前記従来の動画像符号化装置は正確に複雑度を推定できないために、高画質な動画像符号化を実現できない。
【0014】
特開平11−215501号公報に記載された動画像符号化装置では、PピクチャまたはBピクチャの発生符号量の推定に、推定予測誤差値の絶対値和だけでなく入力画像の分散値を用いることで動きの速い画像やシーンチェンジ等のPピクチャあるいはBピクチャにフレーム内予測が多く含まれる画像の発生符号量を正確に推定できる。しかし、式4〜式8の推定式の係数ci、di、cp、dp、cb、dbには定数値を用いる。推定式の係数はビットレートや動きベクトルの探索範囲等の符号化パラメータによって適切な値が異なるので、定数値を用いた推定式では正確な発生符号量を推定できない。
【0015】
特開平11−215501号公報に記載された動画像符号化装置では、式1〜式3の推定式の係数ai、bi、ap、bp、ab、bbは定数値だけでなく、過去の複雑度と、入力画像の分散値または推定予測誤差値の絶対値和等を組とした実測データを用いて係数を更新することで、符号化パラメータに応じた複雑度を推定できる。しかし、特開平11−215501号公報に記載された動画像符号化装置とは異なり、P、Bピクチャの推定には推定予測誤差値の絶対値和のみを用いる。
【0016】
このため、フレーム内予測が多く含まれる画像の複雑度を正確に推定できない。さらに、図4に示すように実測データのサンプル数が少ない場合には、推定式の推定誤差が大きくなる。さらに、推定式を実測データから求めているので、例えば図5に示すようにデータによっては単調減少の推定式で複雑度を推定することになる。さらに、推定式で求めた複雑度を用いて量子化スケールを決定しているので、Bピクチャ等の非参照ピクチャに対して、IピクチャやPピクチャ等の参照ピクチャよりも多くの符号量を割り当ててしまう場合がある。
【0017】
本発明の目的は従来よりも正確に画像の複雑度を推定し、高画質な符号化を実現する動画像符号化装置、動画像符号化方法、およびプログラムを提供することにある。
【0018】
【課題を解決するための手段】
本発明の第1の実施形態によれば、動画像符号化プログラムであって、複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定する手段と、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する手段と、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新する手段と、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択する手段と、前記選択した複雑度を用いて符号量を制御する手段とを含むことを特徴とする。
【0019】
さらに、本発明の第1の実施形態によれば、前記実測データを推定式毎に蓄積することを特徴とする。
【0020】
さらに、本発明の第1の実施形態によれば、前記蓄積した実測データのサンプル数が、予め定めた閾値よりも小さい場合は、初期値として設定した推定式を用い、そうでなければ前記蓄積した実測データを用いて前記推定式を更新することを特徴とする。
【0021】
さらに、本発明の第1の実施形態によれば、前記入力画像の特徴量を一つ以上求め、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定することを特徴とする。
【0022】
さらに、本発明の第1の実施形態によれば、入力画像の分散値、あるいは前記入力画像を周波数変換した周波数係数に関する値、あるいはフレーム内予測結果の予測誤差値に関する値、あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、あるいは動き補償結果の予測誤差値に関する値、あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値であることを特徴とする。
【0023】
さらに、本発明の第1の実施形態によれば、フレーム間予測により符号化される場合には、前記入力画像の分散値、あるいは前記入力画像を周波数変換した周波数係数に関する値、あるいは前記フレーム内予測結果の予測誤差値に関する値、あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値の少なくともいづれか一つを用いて、前記推定式から1つ以上の複雑度を推定し、前記動き補償結果の予測誤差値に関する値、あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて、前記推定式から1つ以上の複雑度を推定することを特徴とする。
【0024】
さらに、本発明の第1の実施形態によれば、前記フレーム間予測に複数の符号化モードが存在する場合には、各符号化モードの動き補償結果の推定予測誤差値に関する値あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から複雑度を推定し、あるいは各符号化モードの過去の複雑度を用いて現在の複雑度を推定し、前記一連の複数の複雑度から、いづれか一つを選択する手段を含むことを特徴とする。
【0025】
さらに、本発明の第1の実施形態によれば、前記フレーム内予測結果の予測誤差値に関する値は、前記フレーム内予測結果の予測誤差値の絶対値のm乗和(mは1以上の整数)であること前記動き補償結果の予測誤差値に関する値は、前記動き補償結果の予測誤差値の絶対値のn乗和(nは1以上の整数)であることを特徴とする。
【0026】
さらに、本発明の第1の実施形態によれば、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値は、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数を量子化した値のm乗和(mは1以上の整数)であること前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値は、前記動き補償結果の予測誤差値を周波数変換した周波数係数あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数を量子化した値の絶対値のn乗和(nは1以上の整数)であることを特徴とする。
【0027】
本発明の第2の実施形態によれば、上述の第1実施形態において、前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御する手段とを含むことを特徴とする。
【0028】
さらに本発明の第2の実施形態によれば、前記閾値を前記推定式毎に定め、前記推定式毎に前記サンプル数と前記閾値を判断すること、あるいは前記推定式毎の判断条件の組み合わせ条件が成立しない場合に、前記過去の符号化で得られた複雑度あるいは前記初期値として設定した複雑度あるいは前記仮符号化で得られた複雑度のいづれか一つを用いることを特徴とする。
【0029】
本発明の第3の実施形態によれば、上述の第1実施形態あるいは第2実施形態において、前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新する手段とを含むことを特徴とする。
【0030】
本発明の第4の実施形態によれば、上述の第1実施形態から第3実施形態において、前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率が、予め定めた閾値の範囲内である場合は、前記実測データを蓄積する手段とを含むことを特徴とする。
【0031】
本発明の第5の実施形態によれば、上述の第1実施形態から第4実施形態において、前記推定した複雑度を、上限と下限を定めた閾値と比較し、前記閾値の上限以上または下限以下である場合には、それぞれ上限または下限の閾値を推定した複雑度として再設定する手段とを含むことを特徴とする。
【0032】
【発明の実施の形態】
本発明の実施の形態を、第1から第5の5つの実施の形態ついてそれぞれ図面を参照して説明する。
【0033】
(第1の実施形態)
図1のフローチャートを参照して第1の実施の形態の処理について詳細に説明する。ここで、処理単位はピクチャ単位に限らず、マクロブロック等の符号化処理単位や任意のブロック単位でも同様に行える。
【0034】
ステップS101では、符号化する入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する。入力画像の特徴量としては様々なものが考えられる。例えば、入力画像の分散値、あるいはフレーム内予測結果の予測誤差値に関する値、あるいは動き補償結果の予測誤差値に関する値がある。
【0035】
入力画像の分散値としては、TM5のアクティビティとして用いられマクロブロック内における8X8ブロックの分散値の最小値がある。また別の分散値の例としては、符号化処理単位における平均値との差分絶対値和や、隣接画素差分の絶対値和等がある。
【0036】
ピクチャ内の画像を用いた予測が行われる場合には、フレーム内予測結果の予測誤差値に関する値が利用でき、推定予測誤差値の絶対値和や二乗和等がある。動き補償を用いたフレーム間予測が行われる場合には、動き補償結果の予測誤差値に関する値が利用でき、推定予測誤差値の絶対値和や二乗和等がある。
【0037】
さらに、動画像の符号化方式で周波数変換が用いられる場合には、入力画像の特徴量として、入力画像を周波数変換した周波数係数に関する値、フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値を周波数変換した周波数係数に関する値等も利用できる。
【0038】
入力画像を周波数変換した周波数係数に関する値としては、入力画像を周波数変換した周波数係数の絶対値和や、周波数係数を量子化した値の絶対値和等を用いてもよい。予測誤差値の周波数変換した周波数に関する値に関しても同様に、周波数係数の絶対値和や、周波数係数を量子化した値の絶対値和等を用いてもよい。ここで、周波数変換は符号化方式で用いられるものである必要はなく、簡略化のために例えばアダマール変換等を用いることもできる。蓄積するデータ数としては、全てのデータを蓄積してもよいし、予め定めた期間を、予め定めた間隔で蓄積してもよい。
【0039】
ステップS102では、蓄積した実測データのサンプル数が予め定めた閾値以上であるか否かを判断する。サンプル数が閾値以上の場合はステップS103へ、閾値より少ない場合はステップS104へ移る。
【0040】
ステップS103では、蓄積した実測データを用いて回帰分析により推定式を求め、推定式を更新する。例えば、実測データから最小二乗法等を用いて、推定式を求めることができる。
【0041】
ここで、蓄積データの蓄積単位や複雑度の推定式やステップS102における閾値の設定は符号化モード毎に行う。例えば、ピクチャの予測方式(フレーム内予測またはフレーム間予測)、ピクチャタイプ、マクロブロック単位の予測タイプ(フレーム内予測、前方向予測、後方予測、双方向予測)、参照ピクチャか非参照ピクチャか、およびこれらの組み合わせ等がある。ただし、ステップS102は設定した閾値条件だけでなく、各条件式の組み合わせで判断することもできる。例えば、各推定式の実測データのサンプル数が全て閾値以上の場合は、ステップS103へ、そうでない場合は、ステップS104へ移ることもできる。
【0042】
ステップS104では、初期値として与えた推定式を、推定式とする。ステップS105では、推定式を用いて、入力画像の特徴量から複雑度を推定する。前記特徴量としては、前述した入力画像の分散値や、動き補償結果の予測誤差値に関する値等がある。
【0043】
ステップS106では、ステップS105で推定した複雑度のいづれか一つを選択し、最終的な複雑度を求める。どの複雑度を選択するかは、例えば複雑度の最も小さな値を選択する。
【0044】
図6のフローチャートを参照してステップS105の一例を示す。ステップS601では、ピクチャがフレーム間予測を用いて符号化されるか否かを判断する。フレーム間予測を用いて符号化される場合はステップS602へ、フレーム内予測を用いて符号化される場合はステップS604へ移る。
【0045】
ステップS602では、推定式を用いて、フレーム間予測における特徴量から複雑度を推定する。前記特徴量としては、動き補償結果の予測誤差値に関する値あるいは予測誤差値の周波数変換した周波数に関する値等を用いる。
【0046】
ステップS603では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合はステップS604へ、そうでない場合はステップS602へ移る。ここで推定方法は、一つ以上あり、各符号化モード毎に設定する。例えば、動き補償結果の予測誤差値の絶対値和および周波数係数を量子化した値の絶対値和から2つの複雑度を推定することもできる。ステップS605も同様である。
【0047】
ステップS604では、推定式を用いてフレーム内予測における特徴量から複雑度を推定する。前記特徴量としては、入力画像の分散値、あるいはフレーム内予測結果の予測誤差値に関する値等を用いる。
【0048】
ステップS605では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合は処理を終了し、そうでない場合はステップS604へ移る。
【0049】
フレーム間予測にN種類の符号化モードがある場合、図6のフローチャートは拡張できる。拡張したフローチャートを図7に示す。また、フレーム内予測に複数の符号化モードがある場合も同様に拡張できる。
【0050】
図8のフローチャートを参照してステップS105の別の一例を示す。
図6のフローチャートが、ステップS602およびステップS604で推定した複雑度を用いて複雑度を決定していたのに対して、図8では、フレーム間予測に複数の符号化モードが存在する場合には、さらに別の複雑度を推定する。
【0051】
図6のフローチャートと異なる動作について説明する。ステップS801では、異なる符号化モードで複雑度を推定するか否かを判断する。推定を行う場合は、ステップS802へ、推定を行わない場合は、ステップS803へ移る。
ステップS802では、異なる符号化モードにおけるフレーム間予測の特徴量を用いて複雑度を推定するか、あるいは過去の複雑度を用いて複雑度を推定する。ステップS803では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合はステップS604へ、そうでない場合はステップS802へ移る。
【0052】
ここでは具体例として、MPEG−2の場合を考える。MPEG−2のフレーム間予測はピクチャ単位では、PピクチャとBピクチャが存在する。この例では、Pピクチャは、Bピクチャの複雑度を用いた推定は行わず、Bピクチャは、Pピクチャの推定式を用いた複雑度の推定および過去のPピクチャの複雑度を用いた推定を行う。ステップS603では、Bピクチャの推定式を用いて、Bピクチャの動き補償結果の推定予測誤差値に関する値から複雑度を推定する。
【0053】
ステップS802では、Pピクチャの推定式を用いて、片方向予測の動き補償結果の推定予測誤差値に関する値から複雑度を推定する。ここで、片方向予測の動き補償結果の推定予測誤差値とは、Bピクチャの動き探索時に求めた片方向予測の推定予測誤差値のことである。Bピクチャは、片方向予測として前方向予測および後方向予測があるので、このどちらか一方、あるいは両方の推定予測誤差値を用いてもよい。
【0054】
また、ステップS802では蓄積した過去のPピクチャの複雑度を用いて複雑度を求めてもよい。例えば、シーン変化のない、Bピクチャの符号化前に符号化した直前のPピクチャの複雑度や平均値等を用いることが考えられる。
【0055】
上述したように、本発明による第1実施形態では、図6の内部処理を用いた場合には、フレーム間予測の複雑度の推定に、フレーム間予測における特徴量だけでなく、フレーム内予測における特徴量を用いる。さらに、複雑度の推定式を実測データを用いて決定する。そのため、フレーム間予測符号化を用いたピクチャにおいて、フレーム内予測が多く含まれる場合の複雑度を正確に推定できる。
【0056】
また図8の内部処理を用いた場合には、フレーム間予測に複数の符号化モードが存在する場合に、符号化モード毎に複雑度を推定し、いづれか一つ複雑度を選択する。そのため、非参照ピクチャに対して必要以上に多くの符号量を割り当てることがない。
【0057】
ここで、複雑度をピクチャの発生符号量と平均量子化スケールとの積としたが、本発明はそれに限るものではなく、発生符号量を何らかの方法で量子化スケールの値で正規化した値であればよい。
【0058】
(第2の実施形態)
上記第1実施形態がステップS102において、蓄積した実測データのサンプル数が設定した閾値より少ない場合には、初期値として与えた推定式を用いて複雑度を推定したのに対し、本発明による第2実施形態では、推定式以外で求めた複雑度を利用することを特徴としている。
【0059】
図9のフローチャートを参照して第1の実施の形態と異なる処理について説明する。蓄積した実測データのサンプル数が設定した閾値以上であるか否かを判断する。サンプル数が閾値以上の場合はステップS103へ、閾値より少ない場合はステップS901へ移る。
【0060】
ステップS901では、実際に符号化を行い、複雑度を求める。そして、求めた複雑度を量子化パラメータ制御で用いる。この場合、蓄積した実測データのサンプル数が閾値より少ない場合は、符号化を2度行うことになるので、演算量は増加する。演算量の増加を抑えるためには、例えばステップS901では何も行わず、蓄積した実測データのサンプル数が閾値以上になるまではTM5のような過去の複雑度を用いて符号量を制御してもよい。この場合、過去の複雑度が存在しない場合には、初期値として設定した複雑度を用いる。
【0061】
上述したように本発明による第2実施形態では、実測データのサンプル数が予め定めた閾値より少ない場合には、推定式以外で求めた複雑度を用いて符号量を制御する。そのため、サンプル数が少ない実測データから決定した推定誤差の大きい推定式を用いることなしに、符号量を制御するので、符号化の初期状態における画質劣化を抑制することができる。
【0062】
(第3の実施形態)
上記第1実施形態がステップS103において推定式を逐次更新していたのに対し、本発明による第3実施形態では、推定式の更新判定を行うことを特徴としている。
【0063】
図10のフローチャートを参照して第1の実施の形態と異なる処理について説明する。ステップS1001では、蓄積した実測データを用いて回帰分析により推定式を求める。
【0064】
ステップS1002では、ステップS1001で求めた推定式が、予め定めた区間において単調増加関数であるか否かを判断する。更新する場合はステップS1003へ、更新しない場合はステップS1004へ移る。
【0065】
ステップS1003では、ステップS1001で求めた推定式を、推定に用いる推定式に設定する。ステップS1004では、ステップS1001で求める前の推定式を、推定に用いる推定式に設定する。
【0066】
上述したように本発明による第3実施形態では、推定式が予め定めた区間において単調増加でない場合には推定式を更新しない。そのため、例えば予測誤差に関する値が大きいほど複雑度が小さくなるような、誤った推定をせずに、複雑度を正確に推定できる。
【0067】
(第4の実施形態)
上記第1実施形態がステップS101において実測データを逐次更新していたのに対し、本発明による第4実施形態では、実測データの更新判定を行うことを特徴としている。
【0068】
図11のフローチャートを参照して第1の実施の形態と異なる処理について説明する。ステップS1101では、統計データを更新するか否かを判断する。更新する場合はステップS101へ、更新しない場合はステップS102へ移る。更新の判断は、実測データの値、または予め定めた範囲の前記実測データのサンプル数、または符号化における符号化モードまたはパラメータの比率が、予め閾値で定めた範囲内であるかでそれぞれ判断する。
【0069】
例えば、入力画像の特徴量が下限の閾値以下または上限の閾値以上であって範囲内にない場合には更新しない。別の例として、複雑度が下限の閾値以下または上限の閾値以上であって範囲内になければ更新しない。別の例として、推定式を表すグラフに対して、統計データのサンプルが閾値以上離れて範囲内にない場合には更新しない。別の例として、過去に蓄積された統計データのサンプルと現在の統計データのサンプルの値が予め決めた閾値以下で範囲内にない場合は更新しない。別の例として、過去に蓄積された統計データのサンプルと現在の統計データのサンプルの値が閾値以下であるサンプルの蓄積数が、予め定めた別の閾値以下で範囲内にない場合は更新しない。別の例として、ある符号化モードの割合が閾値以上で範囲内にない場合は更新しない。
【0070】
これを、さらに具体的に示せば、MPEG−2Pピクチャにおいてフレーム内予測モードの割合が50%以上越えた場合や、ブロックの係数が全て零である、割合が50%以上越えた場合や、平均量子化スケールが100以上越えた場合は更新しない等がある。
【0071】
上述したように本発明による第4実施形態では、実測データを更新するか否かを判断し、実測データの更新を制御する。そのため、定常状態が続く画像や、非常に符号化が難しい画像や、非常に符号化が容易な画像等の複雑度推定が困難な実測データを蓄積せずに、推定式を決定するので、平均的な推定精度を向上させることができる。
【0072】
(第5の実施形態)
上記第1実施形態がステップS106において推定した複雑度を量子化パラメータ制御で用いていたのに対して、本発明による第5の実施形態では、推定した複雑度が予め定めた上限値の閾値以上であったり下限値の閾値以下であったり予め閾値で決められた範囲内にない場合は、推定複雑度として閾値を再設定することを特徴としている。この場合は、推定した複雑度が上限値の閾値以上の場合は上限値の閾値を推定複雑度として再設定し、推定した複雑度が下限値の閾値以下の場合は下限値の閾値を推定複雑度として再設定する。
【0073】
図12のフローチャートを参照して第1の実施の形態と異なる動作について説明する。ステップS1201では、推定した複雑度と閾値を比較する。推定した複雑度が上限値の閾値以上または下限値の閾値以下で範囲外の場合には、閾値を推定複雑度として設定する。ここで、閾値としては様々なものが考えられる。例えば、閾値として推定式毎に最大値および最小値をそれぞれ上限値および下限値として設定する。別の例として、閾値として過去の符号化で得られた複雑度を用いて決定した上限値と下限値を設定したり、過去の符号化で得られた複雑度の平均値の定数倍の値を設定したりする。
【0074】
上述したように本発明による第5の実施形態では、推定した複雑度と閾値を比較し、複雑度を再設定する。そのため、非常に符号化が容易な画像に対して符号量を削減しすぎたり、非常に符号化が困難な画像に対して必要以上に符号量を割り当てることがない。
【0075】
本発明の実施の形態について説明したが、第2の実施形態から第5の実施形態は異なる処理なので、実施形態2から実施形態5を組み合わせた形態も考えられる。また以上の説明からも分かるように、本発明のフローチャートの処理を、ハードウェアで構成し実現することも、ソフトウェアで構成し実現することも可能である。
【0076】
【発明の効果】
以上詳細に説明したように、本発明によれば、フレーム間予測の複雑度の推定に、フレーム間予測における特徴量だけでなく、フレーム内予測における特徴量を用いる。さらに、複雑度の推定式を実測データを用いて決定する。そのため、フレーム間予測符号化を用いたピクチャにおいて、フレーム内予測が多く含まれる場合の複雑度を正確に推定できる。
【0077】
またフレーム間予測に複数の符号化モードが存在する場合に、符号化モード毎に複雑度を推定し、いづれか一つ複雑度を選択する。そのため、非参照ピクチャに対して必要以上に多くの符号量を割り当てることがない。
【0078】
また、実測データのサンプル数が設定した閾値より少ない場合には、推定式以外で求めた複雑度を用いて符号量を制御するので、サンプル数が少ない実測データから決定した推定誤差の大きい推定式を用いることなしに、符号量を制御するので、符号化の初期状態における画質劣化を抑制することができる。また、推定式が予め定めた区間において単調増加でない場合には推定式を更新しないので、予測誤差に関する値が大きいほど複雑度が小さくなるような、誤った推定をしないので、複雑度を正確に推定できる。
【0079】
また、実測データを更新するか否かを判断し、実測データの更新を制御するので、定常状態が続く画像や、非常に符号化が難しい画像や、非常に符号化が容易な画像等の複雑度推定が困難な実測データを蓄積せずに、推定式を決定し、平均的な推定精度を向上させることができる。また、推定した複雑度と閾値を比較し、複雑度を再設定するので、非常に符号化が容易な画像に対して符号量を削減しすぎたり、非常に符号化が困難な画像に対して必要以上に符号量を割り当てることがない。
【図面の簡単な説明】
【図1】第1実施形態の処理を示す流れ図である。
【図2】従来の動画像符号化装置の一例を示す装置構成を示すブロック図である。
【図3】従来の動画像符号化装置の一例を示す装置構成を示すブロック図である。
【図4】従来の動画像符号化装置の課題を示す散布図である。
【図5】従来の動画像符号化装置の課題を示す散布図である。
【図6】第1実施形態の内部処理の一例を示す流れ図である。
【図7】第1実施形態の内部処理の異なる一例を示す流れ図である。
【図8】第1実施形態の内部処理の異なる一例を示す流れ図である。
【図9】第2実施形態の処理を示す流れ図である。
【図10】第3実施形態の処理を示す流れ図である。
【図11】第4実施形態の処理を示す流れ図である。
【図12】第5実施形態の処理を示す流れ図である。
【符号の説明】
201 Iピクチャ複雑度算出部
202 係数決定部
203 蓄積部
204 P・Bピクチャ複雑度算出部
205 係数決定部
206 蓄積部
207 前処理部
208 1次探索部
209 量子化パラメータ制御部
210 符号化部
301 Iピクチャ発生符号量算出部
302 P・Bピクチャ発生符号量算出部
303 前処理部
304 量子化パラメータ制御部
【発明の属する技術分野】
本発明は動画像符号化装置、動画像符号化方法、およびプログラムに関し、特に入力画像の分散値や、動き探索結果の推定予測誤差値に関する値を複数ピクチャ符号化処理に先行して求め、前記値を基に画像の複雑度を推定し、前記推定した複雑度を利用し符号量制御を行う技術に関する。
【0002】
【従来の技術】
高画質な動画像符号化を実現するには符号量制御が重要である。従来の符号量制御方式の一つにMPEG−2 Test Model 5(以下TM5)がある。TM5ではI、P、Bのピクチャタイプ毎に、符号化したピクチャの発生符号量と、平均量子化スケールとの積である複雑度を求める。ピクチャの符号化時には、過去に求めた同じピクチャタイプの複雑度を基に、量子化スケールを決定し、符号量を制御する。
【0003】
しかし、TM5では過去の複雑度を用いて制御を行うので、シーンチェンジやフェード等のシーンの変わり目では制御が安定せず、画質劣化が問題となる。これを解決するための動画像符号化装置が、特開2002−247584号公報や特開平11−215501号公報等に記載されている。これらの動画像符号化装置では符号化よりも複数ピクチャ符号化処理に先行して複雑度または発生符号量を推定し、推定した複雑度または発生符号量を基に量子化スケールを決定する。
【0004】
従来の動画像符号化装置の動作を説明する。
図2は、特開2002−247584号公報に記載された動画像符号化装置の一例を示す装置構成である。Iピクチャ複雑度算出部201は、前処理部207で求められた入力画像の分散値を用いてIピクチャの複雑度を推定する。P・Bピクチャ複雑度算出部204は、1次探索部208の動きベクトル探索結果の推定予測誤差値の絶対値和を用いてPピクチャまたはBピクチャの複雑度を推定する。量子化パラメータ制御部209は、Iピクチャ複雑度算出部201またはP・Bピクチャ複雑度算出部204で推定した複雑度を基に量子化スケールを決定し、符号化部210の符号量を制御する。
【0005】
図3は、特開平11−215501号公報に記載された動画像符号化装置の一例を示す装置構成である。Iピクチャ発生符号量算出部301は、マクロブロック(16画素×16ラインの符号化処理単位)毎に前処理部303で求められた入力画像の分散値を用いてIピクチャの発生符号量を推定する。P・Bピクチャ発生符号量算出部302は、まずマクロブロック毎に前処理部303で求められた入力画像の分散値を用いて発生符号量を推定し、1次探索部208の動きベクトル探索結果の推定予測誤差値の絶対値和を用いて発生符号量を推定する。
【0006】
次に、前記推定した二つの発生符号量のどちらか一方をマクロブロックの発生符号量とし、その累和をPピクチャあるいはBピクチャの発生符号量とする。量子化パラメータ制御部304は、Iピクチャ発生符号量算出部301またはP・Bピクチャ発生符号量算出部302で推定した発生符号量を基に量子化スケールを決定し、符号化部210の符号量を制御する。
【0007】
従来の動画像符号化装置における複雑度または発生符号量の推定方法を説明する。MPEG−2におけるIピクチャ等、フレーム内予測を用いて符号化されたピクチャは、複雑度あるいは発生符号量と、入力画像の分散値とは相関があり、MPEG−2におけるPピクチャやBピクチャ等、フレーム間予測を用いて符号化されたピクチャは、複雑度あるいは発生符号量と、推定予測誤差値の絶対値和とは相関があることが知られている。
【0008】
特開2002−247584号公報に記載された動画像符号化装置では、Iピクチャ複雑度算出部201は数式1を用いてIピクチャの複雑度Xiを推定し、P・Bピクチャ複雑度算出部204は数式2を用いてPピクチャの複雑度Xp推定し、数式3を用いてBピクチャの複雑度Xbを推定する。
【0009】
Xi=ai×VAR+bi (数式1)
Xp=ap×SAD+bp (数式2)
Xb=ab×SAD+bb (数式3)
ここでVARは入力画像の分散値を、SADは推定予測誤差値の絶対値和を、ai、biは複雑度Xiを一次式で推定する場合の係数を、ap、bpは複雑度Xpを一次式で推定する場合の係数をab、bbは複雑度Xbを一次式で推定する場合の係数を表す。各係数は係数決定部202または係数決定部205において、蓄積部203または蓄積部206に蓄積された過去の複雑度と、入力画像の分散値あるいは推定予測誤差値の絶対値和とを組とした実測データを用いて、回帰分析により決定される。ここでは一例として推定式(回帰方程式)を一次式としたが、n次式(nは1以上の整数)としてもよい。
【0010】
特開平11−215501号公報等に記載された動画像符号化装置では、Iピクチャ発生符号量算出部301は数式4を用いてIピクチャの発生符号量Siを推定し、P・Bピクチャ発生符号量算出部302は、数式5を用いてPピクチャの発生符号量Sp1を推定し、数式6を用いてPピクチャの発生符号量Sp2を推定し、どちらか一方をPピクチャの発生符号量と推定し、数式7を用いてBピクチャの発生符号量Sb1を推定し、数式8を用いてBピクチャの発生符号量Sb2を推定し、どちらか一方をBピクチャの発生符号量と推定する。
【0011】
Si=ci×VAR+di (数式4)
Sp1=ci×VAR+di (数式5)
Sp2=cp×SAD+dp (数式6)
Sb1=ci×VAR+di (数式7)
Sb2=cb×SAD+db (数式8)
ここで、ci、diは発生符号量Si、Sp1、Sb1を一次式で推定する場合の係数を、cp、dpは発生符号量Sp2を一次式で推定する場合の係数をcb、dbは発生符号量Sb2を一次式で推定する場合の係数を表す。各係数には、シミュレーション等によって予め求めた過去の複雑度と、入力画像の分散値あるいは推定予測誤差値の絶対値和とを組とした実測データを用いて決定した定数値を用いる。
【0012】
【特許文献1】
特開平11−215501号公報
【特許文献2】
特開2002−247584号公報
【0013】
【発明が解決しようとする課題】
しかしながら、前記従来の動画像符号化装置は正確に複雑度を推定できないために、高画質な動画像符号化を実現できない。
【0014】
特開平11−215501号公報に記載された動画像符号化装置では、PピクチャまたはBピクチャの発生符号量の推定に、推定予測誤差値の絶対値和だけでなく入力画像の分散値を用いることで動きの速い画像やシーンチェンジ等のPピクチャあるいはBピクチャにフレーム内予測が多く含まれる画像の発生符号量を正確に推定できる。しかし、式4〜式8の推定式の係数ci、di、cp、dp、cb、dbには定数値を用いる。推定式の係数はビットレートや動きベクトルの探索範囲等の符号化パラメータによって適切な値が異なるので、定数値を用いた推定式では正確な発生符号量を推定できない。
【0015】
特開平11−215501号公報に記載された動画像符号化装置では、式1〜式3の推定式の係数ai、bi、ap、bp、ab、bbは定数値だけでなく、過去の複雑度と、入力画像の分散値または推定予測誤差値の絶対値和等を組とした実測データを用いて係数を更新することで、符号化パラメータに応じた複雑度を推定できる。しかし、特開平11−215501号公報に記載された動画像符号化装置とは異なり、P、Bピクチャの推定には推定予測誤差値の絶対値和のみを用いる。
【0016】
このため、フレーム内予測が多く含まれる画像の複雑度を正確に推定できない。さらに、図4に示すように実測データのサンプル数が少ない場合には、推定式の推定誤差が大きくなる。さらに、推定式を実測データから求めているので、例えば図5に示すようにデータによっては単調減少の推定式で複雑度を推定することになる。さらに、推定式で求めた複雑度を用いて量子化スケールを決定しているので、Bピクチャ等の非参照ピクチャに対して、IピクチャやPピクチャ等の参照ピクチャよりも多くの符号量を割り当ててしまう場合がある。
【0017】
本発明の目的は従来よりも正確に画像の複雑度を推定し、高画質な符号化を実現する動画像符号化装置、動画像符号化方法、およびプログラムを提供することにある。
【0018】
【課題を解決するための手段】
本発明の第1の実施形態によれば、動画像符号化プログラムであって、複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定する手段と、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する手段と、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新する手段と、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択する手段と、前記選択した複雑度を用いて符号量を制御する手段とを含むことを特徴とする。
【0019】
さらに、本発明の第1の実施形態によれば、前記実測データを推定式毎に蓄積することを特徴とする。
【0020】
さらに、本発明の第1の実施形態によれば、前記蓄積した実測データのサンプル数が、予め定めた閾値よりも小さい場合は、初期値として設定した推定式を用い、そうでなければ前記蓄積した実測データを用いて前記推定式を更新することを特徴とする。
【0021】
さらに、本発明の第1の実施形態によれば、前記入力画像の特徴量を一つ以上求め、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定することを特徴とする。
【0022】
さらに、本発明の第1の実施形態によれば、入力画像の分散値、あるいは前記入力画像を周波数変換した周波数係数に関する値、あるいはフレーム内予測結果の予測誤差値に関する値、あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、あるいは動き補償結果の予測誤差値に関する値、あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値であることを特徴とする。
【0023】
さらに、本発明の第1の実施形態によれば、フレーム間予測により符号化される場合には、前記入力画像の分散値、あるいは前記入力画像を周波数変換した周波数係数に関する値、あるいは前記フレーム内予測結果の予測誤差値に関する値、あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値の少なくともいづれか一つを用いて、前記推定式から1つ以上の複雑度を推定し、前記動き補償結果の予測誤差値に関する値、あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて、前記推定式から1つ以上の複雑度を推定することを特徴とする。
【0024】
さらに、本発明の第1の実施形態によれば、前記フレーム間予測に複数の符号化モードが存在する場合には、各符号化モードの動き補償結果の推定予測誤差値に関する値あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から複雑度を推定し、あるいは各符号化モードの過去の複雑度を用いて現在の複雑度を推定し、前記一連の複数の複雑度から、いづれか一つを選択する手段を含むことを特徴とする。
【0025】
さらに、本発明の第1の実施形態によれば、前記フレーム内予測結果の予測誤差値に関する値は、前記フレーム内予測結果の予測誤差値の絶対値のm乗和(mは1以上の整数)であること前記動き補償結果の予測誤差値に関する値は、前記動き補償結果の予測誤差値の絶対値のn乗和(nは1以上の整数)であることを特徴とする。
【0026】
さらに、本発明の第1の実施形態によれば、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値は、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数を量子化した値のm乗和(mは1以上の整数)であること前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値は、前記動き補償結果の予測誤差値を周波数変換した周波数係数あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数を量子化した値の絶対値のn乗和(nは1以上の整数)であることを特徴とする。
【0027】
本発明の第2の実施形態によれば、上述の第1実施形態において、前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御する手段とを含むことを特徴とする。
【0028】
さらに本発明の第2の実施形態によれば、前記閾値を前記推定式毎に定め、前記推定式毎に前記サンプル数と前記閾値を判断すること、あるいは前記推定式毎の判断条件の組み合わせ条件が成立しない場合に、前記過去の符号化で得られた複雑度あるいは前記初期値として設定した複雑度あるいは前記仮符号化で得られた複雑度のいづれか一つを用いることを特徴とする。
【0029】
本発明の第3の実施形態によれば、上述の第1実施形態あるいは第2実施形態において、前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新する手段とを含むことを特徴とする。
【0030】
本発明の第4の実施形態によれば、上述の第1実施形態から第3実施形態において、前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率が、予め定めた閾値の範囲内である場合は、前記実測データを蓄積する手段とを含むことを特徴とする。
【0031】
本発明の第5の実施形態によれば、上述の第1実施形態から第4実施形態において、前記推定した複雑度を、上限と下限を定めた閾値と比較し、前記閾値の上限以上または下限以下である場合には、それぞれ上限または下限の閾値を推定した複雑度として再設定する手段とを含むことを特徴とする。
【0032】
【発明の実施の形態】
本発明の実施の形態を、第1から第5の5つの実施の形態ついてそれぞれ図面を参照して説明する。
【0033】
(第1の実施形態)
図1のフローチャートを参照して第1の実施の形態の処理について詳細に説明する。ここで、処理単位はピクチャ単位に限らず、マクロブロック等の符号化処理単位や任意のブロック単位でも同様に行える。
【0034】
ステップS101では、符号化する入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する。入力画像の特徴量としては様々なものが考えられる。例えば、入力画像の分散値、あるいはフレーム内予測結果の予測誤差値に関する値、あるいは動き補償結果の予測誤差値に関する値がある。
【0035】
入力画像の分散値としては、TM5のアクティビティとして用いられマクロブロック内における8X8ブロックの分散値の最小値がある。また別の分散値の例としては、符号化処理単位における平均値との差分絶対値和や、隣接画素差分の絶対値和等がある。
【0036】
ピクチャ内の画像を用いた予測が行われる場合には、フレーム内予測結果の予測誤差値に関する値が利用でき、推定予測誤差値の絶対値和や二乗和等がある。動き補償を用いたフレーム間予測が行われる場合には、動き補償結果の予測誤差値に関する値が利用でき、推定予測誤差値の絶対値和や二乗和等がある。
【0037】
さらに、動画像の符号化方式で周波数変換が用いられる場合には、入力画像の特徴量として、入力画像を周波数変換した周波数係数に関する値、フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値を周波数変換した周波数係数に関する値等も利用できる。
【0038】
入力画像を周波数変換した周波数係数に関する値としては、入力画像を周波数変換した周波数係数の絶対値和や、周波数係数を量子化した値の絶対値和等を用いてもよい。予測誤差値の周波数変換した周波数に関する値に関しても同様に、周波数係数の絶対値和や、周波数係数を量子化した値の絶対値和等を用いてもよい。ここで、周波数変換は符号化方式で用いられるものである必要はなく、簡略化のために例えばアダマール変換等を用いることもできる。蓄積するデータ数としては、全てのデータを蓄積してもよいし、予め定めた期間を、予め定めた間隔で蓄積してもよい。
【0039】
ステップS102では、蓄積した実測データのサンプル数が予め定めた閾値以上であるか否かを判断する。サンプル数が閾値以上の場合はステップS103へ、閾値より少ない場合はステップS104へ移る。
【0040】
ステップS103では、蓄積した実測データを用いて回帰分析により推定式を求め、推定式を更新する。例えば、実測データから最小二乗法等を用いて、推定式を求めることができる。
【0041】
ここで、蓄積データの蓄積単位や複雑度の推定式やステップS102における閾値の設定は符号化モード毎に行う。例えば、ピクチャの予測方式(フレーム内予測またはフレーム間予測)、ピクチャタイプ、マクロブロック単位の予測タイプ(フレーム内予測、前方向予測、後方予測、双方向予測)、参照ピクチャか非参照ピクチャか、およびこれらの組み合わせ等がある。ただし、ステップS102は設定した閾値条件だけでなく、各条件式の組み合わせで判断することもできる。例えば、各推定式の実測データのサンプル数が全て閾値以上の場合は、ステップS103へ、そうでない場合は、ステップS104へ移ることもできる。
【0042】
ステップS104では、初期値として与えた推定式を、推定式とする。ステップS105では、推定式を用いて、入力画像の特徴量から複雑度を推定する。前記特徴量としては、前述した入力画像の分散値や、動き補償結果の予測誤差値に関する値等がある。
【0043】
ステップS106では、ステップS105で推定した複雑度のいづれか一つを選択し、最終的な複雑度を求める。どの複雑度を選択するかは、例えば複雑度の最も小さな値を選択する。
【0044】
図6のフローチャートを参照してステップS105の一例を示す。ステップS601では、ピクチャがフレーム間予測を用いて符号化されるか否かを判断する。フレーム間予測を用いて符号化される場合はステップS602へ、フレーム内予測を用いて符号化される場合はステップS604へ移る。
【0045】
ステップS602では、推定式を用いて、フレーム間予測における特徴量から複雑度を推定する。前記特徴量としては、動き補償結果の予測誤差値に関する値あるいは予測誤差値の周波数変換した周波数に関する値等を用いる。
【0046】
ステップS603では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合はステップS604へ、そうでない場合はステップS602へ移る。ここで推定方法は、一つ以上あり、各符号化モード毎に設定する。例えば、動き補償結果の予測誤差値の絶対値和および周波数係数を量子化した値の絶対値和から2つの複雑度を推定することもできる。ステップS605も同様である。
【0047】
ステップS604では、推定式を用いてフレーム内予測における特徴量から複雑度を推定する。前記特徴量としては、入力画像の分散値、あるいはフレーム内予測結果の予測誤差値に関する値等を用いる。
【0048】
ステップS605では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合は処理を終了し、そうでない場合はステップS604へ移る。
【0049】
フレーム間予測にN種類の符号化モードがある場合、図6のフローチャートは拡張できる。拡張したフローチャートを図7に示す。また、フレーム内予測に複数の符号化モードがある場合も同様に拡張できる。
【0050】
図8のフローチャートを参照してステップS105の別の一例を示す。
図6のフローチャートが、ステップS602およびステップS604で推定した複雑度を用いて複雑度を決定していたのに対して、図8では、フレーム間予測に複数の符号化モードが存在する場合には、さらに別の複雑度を推定する。
【0051】
図6のフローチャートと異なる動作について説明する。ステップS801では、異なる符号化モードで複雑度を推定するか否かを判断する。推定を行う場合は、ステップS802へ、推定を行わない場合は、ステップS803へ移る。
ステップS802では、異なる符号化モードにおけるフレーム間予測の特徴量を用いて複雑度を推定するか、あるいは過去の複雑度を用いて複雑度を推定する。ステップS803では、全ての複雑度の推定方法で複雑度を推定したか否かを判断する。全ての複雑度を推定した場合はステップS604へ、そうでない場合はステップS802へ移る。
【0052】
ここでは具体例として、MPEG−2の場合を考える。MPEG−2のフレーム間予測はピクチャ単位では、PピクチャとBピクチャが存在する。この例では、Pピクチャは、Bピクチャの複雑度を用いた推定は行わず、Bピクチャは、Pピクチャの推定式を用いた複雑度の推定および過去のPピクチャの複雑度を用いた推定を行う。ステップS603では、Bピクチャの推定式を用いて、Bピクチャの動き補償結果の推定予測誤差値に関する値から複雑度を推定する。
【0053】
ステップS802では、Pピクチャの推定式を用いて、片方向予測の動き補償結果の推定予測誤差値に関する値から複雑度を推定する。ここで、片方向予測の動き補償結果の推定予測誤差値とは、Bピクチャの動き探索時に求めた片方向予測の推定予測誤差値のことである。Bピクチャは、片方向予測として前方向予測および後方向予測があるので、このどちらか一方、あるいは両方の推定予測誤差値を用いてもよい。
【0054】
また、ステップS802では蓄積した過去のPピクチャの複雑度を用いて複雑度を求めてもよい。例えば、シーン変化のない、Bピクチャの符号化前に符号化した直前のPピクチャの複雑度や平均値等を用いることが考えられる。
【0055】
上述したように、本発明による第1実施形態では、図6の内部処理を用いた場合には、フレーム間予測の複雑度の推定に、フレーム間予測における特徴量だけでなく、フレーム内予測における特徴量を用いる。さらに、複雑度の推定式を実測データを用いて決定する。そのため、フレーム間予測符号化を用いたピクチャにおいて、フレーム内予測が多く含まれる場合の複雑度を正確に推定できる。
【0056】
また図8の内部処理を用いた場合には、フレーム間予測に複数の符号化モードが存在する場合に、符号化モード毎に複雑度を推定し、いづれか一つ複雑度を選択する。そのため、非参照ピクチャに対して必要以上に多くの符号量を割り当てることがない。
【0057】
ここで、複雑度をピクチャの発生符号量と平均量子化スケールとの積としたが、本発明はそれに限るものではなく、発生符号量を何らかの方法で量子化スケールの値で正規化した値であればよい。
【0058】
(第2の実施形態)
上記第1実施形態がステップS102において、蓄積した実測データのサンプル数が設定した閾値より少ない場合には、初期値として与えた推定式を用いて複雑度を推定したのに対し、本発明による第2実施形態では、推定式以外で求めた複雑度を利用することを特徴としている。
【0059】
図9のフローチャートを参照して第1の実施の形態と異なる処理について説明する。蓄積した実測データのサンプル数が設定した閾値以上であるか否かを判断する。サンプル数が閾値以上の場合はステップS103へ、閾値より少ない場合はステップS901へ移る。
【0060】
ステップS901では、実際に符号化を行い、複雑度を求める。そして、求めた複雑度を量子化パラメータ制御で用いる。この場合、蓄積した実測データのサンプル数が閾値より少ない場合は、符号化を2度行うことになるので、演算量は増加する。演算量の増加を抑えるためには、例えばステップS901では何も行わず、蓄積した実測データのサンプル数が閾値以上になるまではTM5のような過去の複雑度を用いて符号量を制御してもよい。この場合、過去の複雑度が存在しない場合には、初期値として設定した複雑度を用いる。
【0061】
上述したように本発明による第2実施形態では、実測データのサンプル数が予め定めた閾値より少ない場合には、推定式以外で求めた複雑度を用いて符号量を制御する。そのため、サンプル数が少ない実測データから決定した推定誤差の大きい推定式を用いることなしに、符号量を制御するので、符号化の初期状態における画質劣化を抑制することができる。
【0062】
(第3の実施形態)
上記第1実施形態がステップS103において推定式を逐次更新していたのに対し、本発明による第3実施形態では、推定式の更新判定を行うことを特徴としている。
【0063】
図10のフローチャートを参照して第1の実施の形態と異なる処理について説明する。ステップS1001では、蓄積した実測データを用いて回帰分析により推定式を求める。
【0064】
ステップS1002では、ステップS1001で求めた推定式が、予め定めた区間において単調増加関数であるか否かを判断する。更新する場合はステップS1003へ、更新しない場合はステップS1004へ移る。
【0065】
ステップS1003では、ステップS1001で求めた推定式を、推定に用いる推定式に設定する。ステップS1004では、ステップS1001で求める前の推定式を、推定に用いる推定式に設定する。
【0066】
上述したように本発明による第3実施形態では、推定式が予め定めた区間において単調増加でない場合には推定式を更新しない。そのため、例えば予測誤差に関する値が大きいほど複雑度が小さくなるような、誤った推定をせずに、複雑度を正確に推定できる。
【0067】
(第4の実施形態)
上記第1実施形態がステップS101において実測データを逐次更新していたのに対し、本発明による第4実施形態では、実測データの更新判定を行うことを特徴としている。
【0068】
図11のフローチャートを参照して第1の実施の形態と異なる処理について説明する。ステップS1101では、統計データを更新するか否かを判断する。更新する場合はステップS101へ、更新しない場合はステップS102へ移る。更新の判断は、実測データの値、または予め定めた範囲の前記実測データのサンプル数、または符号化における符号化モードまたはパラメータの比率が、予め閾値で定めた範囲内であるかでそれぞれ判断する。
【0069】
例えば、入力画像の特徴量が下限の閾値以下または上限の閾値以上であって範囲内にない場合には更新しない。別の例として、複雑度が下限の閾値以下または上限の閾値以上であって範囲内になければ更新しない。別の例として、推定式を表すグラフに対して、統計データのサンプルが閾値以上離れて範囲内にない場合には更新しない。別の例として、過去に蓄積された統計データのサンプルと現在の統計データのサンプルの値が予め決めた閾値以下で範囲内にない場合は更新しない。別の例として、過去に蓄積された統計データのサンプルと現在の統計データのサンプルの値が閾値以下であるサンプルの蓄積数が、予め定めた別の閾値以下で範囲内にない場合は更新しない。別の例として、ある符号化モードの割合が閾値以上で範囲内にない場合は更新しない。
【0070】
これを、さらに具体的に示せば、MPEG−2Pピクチャにおいてフレーム内予測モードの割合が50%以上越えた場合や、ブロックの係数が全て零である、割合が50%以上越えた場合や、平均量子化スケールが100以上越えた場合は更新しない等がある。
【0071】
上述したように本発明による第4実施形態では、実測データを更新するか否かを判断し、実測データの更新を制御する。そのため、定常状態が続く画像や、非常に符号化が難しい画像や、非常に符号化が容易な画像等の複雑度推定が困難な実測データを蓄積せずに、推定式を決定するので、平均的な推定精度を向上させることができる。
【0072】
(第5の実施形態)
上記第1実施形態がステップS106において推定した複雑度を量子化パラメータ制御で用いていたのに対して、本発明による第5の実施形態では、推定した複雑度が予め定めた上限値の閾値以上であったり下限値の閾値以下であったり予め閾値で決められた範囲内にない場合は、推定複雑度として閾値を再設定することを特徴としている。この場合は、推定した複雑度が上限値の閾値以上の場合は上限値の閾値を推定複雑度として再設定し、推定した複雑度が下限値の閾値以下の場合は下限値の閾値を推定複雑度として再設定する。
【0073】
図12のフローチャートを参照して第1の実施の形態と異なる動作について説明する。ステップS1201では、推定した複雑度と閾値を比較する。推定した複雑度が上限値の閾値以上または下限値の閾値以下で範囲外の場合には、閾値を推定複雑度として設定する。ここで、閾値としては様々なものが考えられる。例えば、閾値として推定式毎に最大値および最小値をそれぞれ上限値および下限値として設定する。別の例として、閾値として過去の符号化で得られた複雑度を用いて決定した上限値と下限値を設定したり、過去の符号化で得られた複雑度の平均値の定数倍の値を設定したりする。
【0074】
上述したように本発明による第5の実施形態では、推定した複雑度と閾値を比較し、複雑度を再設定する。そのため、非常に符号化が容易な画像に対して符号量を削減しすぎたり、非常に符号化が困難な画像に対して必要以上に符号量を割り当てることがない。
【0075】
本発明の実施の形態について説明したが、第2の実施形態から第5の実施形態は異なる処理なので、実施形態2から実施形態5を組み合わせた形態も考えられる。また以上の説明からも分かるように、本発明のフローチャートの処理を、ハードウェアで構成し実現することも、ソフトウェアで構成し実現することも可能である。
【0076】
【発明の効果】
以上詳細に説明したように、本発明によれば、フレーム間予測の複雑度の推定に、フレーム間予測における特徴量だけでなく、フレーム内予測における特徴量を用いる。さらに、複雑度の推定式を実測データを用いて決定する。そのため、フレーム間予測符号化を用いたピクチャにおいて、フレーム内予測が多く含まれる場合の複雑度を正確に推定できる。
【0077】
またフレーム間予測に複数の符号化モードが存在する場合に、符号化モード毎に複雑度を推定し、いづれか一つ複雑度を選択する。そのため、非参照ピクチャに対して必要以上に多くの符号量を割り当てることがない。
【0078】
また、実測データのサンプル数が設定した閾値より少ない場合には、推定式以外で求めた複雑度を用いて符号量を制御するので、サンプル数が少ない実測データから決定した推定誤差の大きい推定式を用いることなしに、符号量を制御するので、符号化の初期状態における画質劣化を抑制することができる。また、推定式が予め定めた区間において単調増加でない場合には推定式を更新しないので、予測誤差に関する値が大きいほど複雑度が小さくなるような、誤った推定をしないので、複雑度を正確に推定できる。
【0079】
また、実測データを更新するか否かを判断し、実測データの更新を制御するので、定常状態が続く画像や、非常に符号化が難しい画像や、非常に符号化が容易な画像等の複雑度推定が困難な実測データを蓄積せずに、推定式を決定し、平均的な推定精度を向上させることができる。また、推定した複雑度と閾値を比較し、複雑度を再設定するので、非常に符号化が容易な画像に対して符号量を削減しすぎたり、非常に符号化が困難な画像に対して必要以上に符号量を割り当てることがない。
【図面の簡単な説明】
【図1】第1実施形態の処理を示す流れ図である。
【図2】従来の動画像符号化装置の一例を示す装置構成を示すブロック図である。
【図3】従来の動画像符号化装置の一例を示す装置構成を示すブロック図である。
【図4】従来の動画像符号化装置の課題を示す散布図である。
【図5】従来の動画像符号化装置の課題を示す散布図である。
【図6】第1実施形態の内部処理の一例を示す流れ図である。
【図7】第1実施形態の内部処理の異なる一例を示す流れ図である。
【図8】第1実施形態の内部処理の異なる一例を示す流れ図である。
【図9】第2実施形態の処理を示す流れ図である。
【図10】第3実施形態の処理を示す流れ図である。
【図11】第4実施形態の処理を示す流れ図である。
【図12】第5実施形態の処理を示す流れ図である。
【符号の説明】
201 Iピクチャ複雑度算出部
202 係数決定部
203 蓄積部
204 P・Bピクチャ複雑度算出部
205 係数決定部
206 蓄積部
207 前処理部
208 1次探索部
209 量子化パラメータ制御部
210 符号化部
301 Iピクチャ発生符号量算出部
302 P・Bピクチャ発生符号量算出部
303 前処理部
304 量子化パラメータ制御部
Claims (31)
- 複数ピクチャ符号化に先行して符号化する入力画像の特徴量を求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定する手段と、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを蓄積する手段と、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新する手段と、前記入力画像の特徴量を用いて、前記推定式から複雑度を推定し、いづれか一つを選択をする手段と、前記選択した複雑度を用いて符号量を制御する手段とを含むことを特徴とする動画像符号化装置。
- 前記実測データを推定式毎に蓄積することを特徴とする請求項1の動画像符号化装置。
- 前記蓄積した実測データのサンプル数が、予め定めた閾値よりも小さい場合は、初期値として設定した推定式を用い、そうでなければ前記蓄積した実測データを用いて前記推定式を更新することを特徴とする請求項1または2の動画像符号化装置。
- 前記入力画像の特徴量を一つ以上求め、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定することを特徴とする請求項1、2、または3の動画像符号化装置。
- 前記入力画像の特徴量は、
入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
フレーム内予測結果の予測誤差値に関する値、
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を1つ以上含むことを特徴とする請求項1、2、3、または4の動画像符号化装置。 - フレーム間予測により符号化される場合には、
前記入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
前記フレーム内予測結果の予測誤差値に関する値、
または前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から1つ以上の複雑度を推定し、
前記動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の1つ以上の複雑度を推定することを特徴とする請求項5の動画像符号化装置。 - 前記フレーム間予測に複数の符号化モードが存在する場合には、
各符号化モードの動き補償結果の推定予測誤差値に関する値または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、
該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の1つ以上の複雑度を推定するか、
または各符号化モードの過去の複雑度を用いてさらに別の1つ以上の現在の複雑度を推定するか少なくとも一方の推定を行い、
前記推定した複雑度から一つを選択する手段を含むことを特徴とする請求項6の動画像符号化装置。 - 前記フレーム内予測結果の予測誤差値に関する値は前記フレーム内予測結果の予測誤差値の絶対値のm乗和(mは1以上の整数)であり、
前記動き補償結果の予測誤差値に関する値は前記動き補償結果の予測誤差値の絶対値のn乗和(nは1以上の整数)であることを特徴とする請求項5、6、または7の動画像符号化装置。 - 前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値は、前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数あるいは前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数を量子化した値のm乗和(mは1以上の整数)であり、
前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値は、前記動き補償結果の予測誤差値を周波数変換した周波数係数あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数を量子化した値の絶対値のn乗和(nは1以上の整数)であることを特徴とする請求項5、6、または7の動画像符号化装置。 - 前記蓄積した実測データのサンプル数を予め定めた閾値と比較し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御する手段とを含むことを特徴とする請求項1乃至9のいずれかの動画像符号化装置。
- 前記閾値を前記推定式毎に定め、前記推定式毎に前記サンプル数と前記閾値を判断することを特徴とする請求項10の動画像符号化装置
- 前記推定式毎の判断条件の組み合わせ条件が成立しない場合に、前記過去の符号化で得られた複雑度あるいは前記初期値として設定した複雑度あるいは前記仮符号化で得られた複雑度のいずれか一つを用いることを特徴とする請求項11の動画像符号化装置。
- 前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新する手段とを含むことを特徴とする請求項1乃至12のいずれかの動画像符号化装置。
- 前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率を、予め範囲を定めた閾値とそれぞれ比較し閾値の範囲内である場合は、前記実測データを蓄積する手段とを含むことを特徴とする請求項1乃至13のいずれかの動画像符号化装置。
- 前記推定した複雑度が上限を定めた閾値以上となった場合は前記推定した複雑度を上限の閾値に再設定し、前記推定した複雑度が下限を定めた閾値以下となった場合は前記推定した複雑度を下限の閾値に再設定する手段とを含むことを特徴とする請求項1乃至14のいずれかの動画像符号化装置。
- 複数ピクチャ符号化に先行して符号化する入力画像の特徴量を一つ以上求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、
前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを符号化モード毎に蓄積するステップと、
前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、
前記入力画像の特徴量を一つ以上用いて用いて、前記推定式から一つ以上の複雑度を推定し、いづれか一つを選択するステップと、
前記選択した複雑度を用いて符号量を制御するステップとを含むことを特徴とする動画像符号化方法。 - 前記入力画像の特徴量は、
入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
フレーム内予測結果の予測誤差値に関する値、
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を1つ以上含むことを特徴とする請求項16の動画像符号化方法。 - フレーム間予測により符号化される場合には、
前記入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
前記フレーム内予測結果の予測誤差値に関する値、
または前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から1つ以上の複雑度を推定し、
前記動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の1つ以上の複雑度を推定することを特徴とする請求項17の動画像符号化方法。 - 前記フレーム間予測に複数の符号化モードが存在する場合には、
各符号化モードの動き補償結果の推定予測誤差値に関する値または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、
該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の1つ以上の複雑度を推定するか、
または各符号化モードの過去の複雑度を用いてさらに別の1つ以上の現在の複雑度を推定するか少なくとも一方の推定を行い、
前記推定した複雑度から一つを選択するステップを含むことを特徴とする請求項18の動画像符号化方法。 - 前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御するステップとを含むことを特徴とする請求項16、17、18、または19の動画像符号化方法。
- 前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新するステップとを含むことを特徴とする請求項16乃至20のいずれかの動画像符号化方法。
- 予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率を、予め範囲を定めた閾値とそれぞれ比較し閾値の範囲内である場合は、前記実測データを蓄積するステップとを含むことを特徴とする請求項16乃至21のいずれかの動画像符号化方法。
- 前記推定した複雑度が上限を定めた閾値以上となった場合は前記推定した複雑度を上限の閾値に再設定し、前記推定した複雑度が下限を定めた閾値以下となった場合は前記推定した複雑度を下限の閾値に再設定するステップを含むことを特徴とする請求項16乃至22のいずれかの動画像符号化方法。
- 複数ピクチャ符号化に先行して符号化する入力画像の特徴量を一つ以上求め、各入力画像の特徴量の少なくともいづれか一つを用いて符号化モード毎に異なる複雑度の推定式から複雑度を推定するステップと、前記入力画像の特徴量の少なくともいづれか一つと、符号化で得られた複雑度とを組とした実測データを符号化モード毎に蓄積するステップと、前記蓄積した実測データを用いて前記推定式を、ピクチャの符号化後に適宜更新するステップと、前記入力画像の特徴量を一つ以上用いて、前記推定式から一つ以上の複雑度を推定し、いづれか一つを選択するステップと、前記選択した複雑度を用いて符号量を制御するステップとをコンピュータに実行させることを特徴とするプログラム。
- 前記入力画像の特徴量は、
入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
フレーム内予測結果の予測誤差値に関する値、
前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値、動き補償結果の予測誤差値に関する値、
または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を1つ以上含むことを特徴とする請求項24のプログラム。 - フレーム間予測により符号化される場合には、
前記入力画像の分散値、
前記入力画像を周波数変換した周波数係数に関する値、
前記フレーム内予測結果の予測誤差値に関する値、
または前記フレーム内予測結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式から1つ以上の複雑度を推定し、
前記動き補償結果の予測誤差値に関する値、または前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の1つ以上の複雑度を推定することを特徴とする請求項25のプログラム。 - 前記フレーム間予測に複数の符号化モードが存在する場合には、各符号化モードの動き補償結果の推定予測誤差値に関する値あるいは前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を求め、
該推定予測誤差値あるいは該前記動き補償結果の予測誤差値を周波数変換した周波数係数に関する値を用いて前記推定式からさらに別の1つ以上の複雑度を推定するか、
または各符号化モードの過去の複雑度を用いてさらに別の1つ以上の現在の複雑度を推定するか少なくとも一方の推定を行い、
前記推定した複雑度から一つを選択するステップをコンピュータに実行させることを特徴とする請求項26のプログラム。 - 前記蓄積した実測データのサンプル数が、予め定めた閾値以上であるかを判断し、前記サンプル数が前記閾値よりも小さい場合は、過去の符号化で得られた複雑度があればそれを用い、なければ初期値として設定した複雑度を用い、あるいは前記符号化に先行して仮符号化し、前記仮符号化で得られた複雑度を用いて符号量を制御するステップとをコンピュータに実行させることを特徴とする請求項24、25、26、または27のプログラム。
- 前記推定式が予め定めた区間で単調増加であるかを判断し、単調増加である場合は、前記推定式を更新するステップとをコンピュータに実行させることを特徴とする請求項24乃至28のいずれかのプログラム。
- 前記実測データの値、または予め定めた範囲の前記実測データのサンプル数、または予め定めた範囲の符号化時における符号化モードまたはパラメータの比率を、予め範囲を定めた閾値とそれぞれ比較し閾値の範囲内である場合は、前記実測データを蓄積するステップとをコンピュータに実行させることを特徴とする請求項24乃至29のいずれかのプログラム。
- 前記推定した複雑度が上限を定めた閾値以上となった場合は前記推定した複雑度を上限の閾値に再設定し、前記推定した複雑度が下限を定めた閾値以下となった場合は前記推定した複雑度を下限の閾値に再設定するステップをコンピュータに実行させることを特徴とする請求項24乃至30のいずれかのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003055965A JP2004266640A (ja) | 2003-03-03 | 2003-03-03 | 動画像符号化装置、動画像符号化方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003055965A JP2004266640A (ja) | 2003-03-03 | 2003-03-03 | 動画像符号化装置、動画像符号化方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004266640A true JP2004266640A (ja) | 2004-09-24 |
Family
ID=33119827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003055965A Withdrawn JP2004266640A (ja) | 2003-03-03 | 2003-03-03 | 動画像符号化装置、動画像符号化方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004266640A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006246276A (ja) * | 2005-03-07 | 2006-09-14 | Sony Corp | 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体 |
JP2008124937A (ja) * | 2006-11-14 | 2008-05-29 | Canon Inc | 画像符号化装置 |
JP2010541386A (ja) * | 2007-09-28 | 2010-12-24 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | ビデオ圧縮技法及びビデオ伝達技法 |
JP2011114566A (ja) * | 2009-11-26 | 2011-06-09 | Yamatake Corp | センサ装置及び光電センサ装置 |
US8116577B2 (en) | 2005-03-07 | 2012-02-14 | Sony Corporation | Encoding method, encoding device, encoding process program, and recording medium on which encoding process program is recorded |
JP5173409B2 (ja) * | 2005-03-22 | 2013-04-03 | パナソニック株式会社 | 符号化装置および符号化装置を備えた動画像記録システム |
JPWO2011142236A1 (ja) * | 2010-05-12 | 2013-07-22 | 日本電信電話株式会社 | 符号量制御方法および装置 |
WO2016051906A1 (ja) * | 2014-10-03 | 2016-04-07 | ソニー株式会社 | 情報処理装置および情報処理方法 |
-
2003
- 2003-03-03 JP JP2003055965A patent/JP2004266640A/ja not_active Withdrawn
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8116577B2 (en) | 2005-03-07 | 2012-02-14 | Sony Corporation | Encoding method, encoding device, encoding process program, and recording medium on which encoding process program is recorded |
JP4543971B2 (ja) * | 2005-03-07 | 2010-09-15 | ソニー株式会社 | 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体 |
JP2006246276A (ja) * | 2005-03-07 | 2006-09-14 | Sony Corp | 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体 |
JP5173409B2 (ja) * | 2005-03-22 | 2013-04-03 | パナソニック株式会社 | 符号化装置および符号化装置を備えた動画像記録システム |
JP2008124937A (ja) * | 2006-11-14 | 2008-05-29 | Canon Inc | 画像符号化装置 |
JP2010541386A (ja) * | 2007-09-28 | 2010-12-24 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | ビデオ圧縮技法及びビデオ伝達技法 |
JP2011114566A (ja) * | 2009-11-26 | 2011-06-09 | Yamatake Corp | センサ装置及び光電センサ装置 |
JPWO2011142236A1 (ja) * | 2010-05-12 | 2013-07-22 | 日本電信電話株式会社 | 符号量制御方法および装置 |
JP5580887B2 (ja) * | 2010-05-12 | 2014-08-27 | 日本電信電話株式会社 | 符号量制御方法および装置 |
US9131236B2 (en) | 2010-05-12 | 2015-09-08 | Nippon Telegraph And Telephone Corporation | Code amount control method and apparatus |
WO2016051906A1 (ja) * | 2014-10-03 | 2016-04-07 | ソニー株式会社 | 情報処理装置および情報処理方法 |
JP2016076766A (ja) * | 2014-10-03 | 2016-05-12 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US10284856B2 (en) | 2014-10-03 | 2019-05-07 | Sony Corporation | Information processing device and information processing method |
US10547845B2 (en) | 2014-10-03 | 2020-01-28 | Sony Corporation | Information processing device and information processing method |
US10771788B2 (en) | 2014-10-03 | 2020-09-08 | Sony Corporation | Information processing device and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100833228B1 (ko) | 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 | |
US8559501B2 (en) | Method and apparatus for adaptively determining a bit budget for encoding video pictures | |
JP2007089035A (ja) | 動画像符号化方法、装置及びプログラム | |
RU2420914C1 (ru) | Способ и устройство управления скоростью кодирования и носитель информации, который хранит программу для этого | |
RU2502213C2 (ru) | Устройство обработки изображений и способ обработки изображений | |
KR100846769B1 (ko) | 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 | |
JP2005191706A (ja) | 動画像符号化方法及びその装置 | |
JP2007267414A (ja) | フレーム内画像符号化方法及びその装置 | |
US20200275104A1 (en) | System and method for controlling video coding at frame level | |
US11134250B2 (en) | System and method for controlling video coding within image frame | |
JP4257655B2 (ja) | 動画像符号化装置 | |
JP2004266640A (ja) | 動画像符号化装置、動画像符号化方法、およびプログラム | |
KR101391397B1 (ko) | 부호량 제어 방법 및 장치 | |
KR20040007818A (ko) | 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 | |
JP4037839B2 (ja) | 画像符号化方法及び装置 | |
KR20130095322A (ko) | 양자화 제어 장치 및 방법, 및 양자화 제어 프로그램 | |
US10897619B2 (en) | Complexity control of video codec | |
JP2001238215A (ja) | 動画像符号化装置及びその方法 | |
JP2009188826A (ja) | 動画像符号化装置 | |
JP2002247584A (ja) | 画像符号化方法および装置、並びに、画像符号化処理用プログラム及びそのプログラムの記録媒体 | |
KR100336497B1 (ko) | 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법 | |
JP3812269B2 (ja) | 動画像符号化装置及びその方法 | |
JP2009194474A (ja) | 動画像符号化装置 | |
JP4648805B2 (ja) | 動画像圧縮装置 | |
JP2007251996A (ja) | 動画像符号化方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060509 |