(57)【特許請求の範囲】
【請求項１】
動画像の圧縮符号化を行う動画像符号化装置において、
一定区間にある画像を解析して、前記画像の圧縮の困難さを示す複雑度を画像毎に推定する手段と、
前記一定区間に対して、あらかじめ符号量をビットレートに応じて分配し、前記推定された各画像の複雑度に比例するように、前記分配された符号量を前記一定区間内の全ての画像に対して画像ごとに割当てる目標符号量を算出する手段と、
画像を符号化した結果生じる符号を蓄積するバッファと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける前記符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する手段と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する手段と
を有することを特徴とする画像符号化装置。
【請求項２】
動画像の圧縮符号化を行う動画像符号化装置において、
第１の一定区間にある各画像の圧縮の困難さを示す複雑度を推定する手段と、
前記第１の一定区間に続く第２の一定区間内にある各画像の複雑度を解析済みの画像の複雑度から予測する手段と、
前記第１の一定区間と前記第２の一定区間とを合わせた合成区間に対して、符号量をビットレートに応じて分配し、前記推定した複雑度と前記予測した複雑度とに基づいて、前記分配された符号量を前記合成区間内における全ての画像に対して前記各画像の複雑度に比例するように、画像ごとに割当てる目標符号量を算出する手段と、
画像を符号化した結果生じる符号を蓄積するバッファと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける前記符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する手段と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する手段と
を有することを特徴とする画像符号化装置。
【請求項３】
前記画像の複雑度を推定する手段は、
複雑度に対して相関のあるデータを観測し、このデータとの相関関係を利用して、画像の複雑度を推定するよう構成されていることを特徴とする請求項１又は請求項２に記載の画像符号化装置。
【請求項４】
前記画像の複雑度を予測する手段は、
解析済みの画像のピクチャタイプ別の複雑度に基づいて、ピクチャタイプ別に画像の複雑度を予測するよう構成されていることを特徴とする請求項２に記載の画像符号化装置。
【請求項５】
前記画像の複雑度を推定する手段は、
入力された画像を所定の符号化方法で符号化する際、画像の符号化により発生する符号量又は前記発生した符号量と、使用した量子化スケールの値とから複雑度を推定するよう構成されていることを特徴とする請求項１又は請求項２に記載の画像符号化装置。
【請求項６】
前記画像の複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、ピクチャタイプに応じて、前記画像のフレーム内の隣接画素間相関又は、前記画像のフレーム間予測誤差量を用いて複雑度を推定するように構成されていることを特徴とする請求項１から請求項５のいずれかに記載の画像符号化装置。
【請求項７】
前記動画像符号化装置は、
入力された画像を縮小する手段を有し、
前記複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、前記入力された画像のフレーム内の隣接画素間相関と、前記縮小された画像のフレーム間予測誤差量とから複雑度を推定するように構成されていることを特徴とする請求項１から請求項５のいずれかに記載の画像符号化装置。
【請求項８】
前記動画像符号化装置は、
入力された画像を縮小する手段を有し、
前記複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、前記縮小された画像のフレーム内の隣接画素間相関と、前記入力された画像のフレーム間予測誤差量とから複雑度を推定するように構成されていることを特徴とする請求項１から請求項５のいずれかに記載の画像符号化装置。
【請求項９】
前記動画像符号化装置は、
入力された画像を縮小する手段を有し、
前記複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、前記縮小された画像のフレーム内の隣接画素間相関を観測し、
入力された画像をフレーム間予測符号化する場合、前記縮小された画像のフレーム間予測誤差量を観測するように構成されていることを特徴とする請求項１から請求項５のいずれかに記載の画像符号化装置。
【請求項１０】
前記複雑度を予測する手段は、
ピクチャタイプ別に複雑度の予測を行うように構成されていることを特徴とする請求項２に記載の画像符号化装置。
【請求項１１】
前記一定区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする請求項１に記載の画像符号化装置。
【請求項１２】
前記合成区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする請求項２に記載の画像符号化装置。
【請求項１３】
前記画像の複雑度を推定する手段は、
指定のビットレートで画像を符号化して得られた発生符号量と平均量子化スケールとを用いて複雑度を推定することを特徴とする請求項１から請求項１２のいずれかに記載の画像符号化装置。
【請求項１４】
前記画像の複雑度を推定する手段は、
固定の量子化スケールで画像を符号化して得られた発生符号量と、前記固定の量子化スケールとを用いて複雑度を推定することを特徴とする請求項１から請求項１２のいずれかに記載の画像符号化装置。
【請求項１５】
前記画像の複雑度を予測する手段は、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に基づいて、ピクチャタイプ別に画像の複雑度を予測するよう構成されていることを特徴とする請求項２から請求項１４のいずれかに記載の画像符号化装置。
【請求項１６】
前記画像の複雑度を推定する手段は、
発生符号量と平均量子化スケールとを、又は発生符号量と量子化スケールとを乗算して複雑度を推定することを特徴とする請求項１３又は請求項１４に記載の画像符号化装置。
【請求項１７】
前記画像の複雑度を予測する手段は、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に比例するように、複雑度を予測するよう構成されていることを特徴とする請求項１５に記載の画像符号化装置。
【請求項１８】
符号化用のバッファを有する装置を用いて、動画像の圧縮符号化を行う動画像符号化方法において、
一定区間にある画像を解析して、前記画像の圧縮の困難さを示す複雑度を画像毎に推定するステップと、
前記一定区間に対して、あらかじめ符号量をビットレートに応じて分配し、前記推定された各画像の複雑度に比例するように、前記分配された符号量を前記一定区間内の全ての画像に対して画像ごとに割当てる目標符号量を算出するステップと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける前記符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整するステップと、
前記調整した目標符号量に応じて前記画像を圧縮符号化するステップと
を有することを特徴とする画像符号化方法。
【請求項１９】
符号化用のバッファを有する装置を用いて、動画像の圧縮符号化を行う動画像符号化方法において、
第１の一定の区間にある各画像の圧縮の困難さを示す複雑度を推定するステップと、
前記第１の一定区間に続く第２の一定区間内にある各画像の複雑度を解析済みの画像の複雑度から予測するステップと、
前記第１の一定区間と前記第２の一定区間とを合わせた合成区間に対して、符号量をビットレートに応じて分配し、前記推定した複雑度と前記予測した複雑度とに基づいて、前記分配された符号量を前記合成区間内における全ての画像に対して前記各画像の複雑度に比例するように、画像ごとに割当てる目標符号量を算出するステップと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整するステップと、
前記調整した目標符号量に応じて前記画像を圧縮符号化するステップと
を有することを特徴とする画像符号化方法。
【請求項２０】
前記画像の複雑度を推定するステップは、
複雑度に対して相関のあるデータを観測し、このデータとの相関関係を利用して、画像の複雑度を推定することを特徴とする請求項１８又は請求項１９に記載の画像符号化方法。
【請求項２１】
前記画像の複雑度を予測するステップは、
解析済みの画像のピクチャタイプ別の複雑度に基づいて、ピクチャタイプ別に画像の複雑度を予測することを特徴とする請求項１９に記載の画像符号化方法。
【請求項２２】
前記画像の複雑度を推定するステップは、
入力された画像を所定の符号化方法で符号化する際、符号化により発生する符号量又は前記発生した符号量と、使用した量子化スケールの値とから複雑度を推定することを特徴とする請求項１８又は請求項１９に記載の画像符号化方法。
【請求項２３】
前記画像の複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、ピクチャタイプに応じて、前記画像のフレーム内の隣接画素間相関又は、前記画像のフレーム間予測誤差量を用いて複雑度を推定することを特徴とする請求項１８から請求項２２のいずれかに記載の画像符号化方法。
【請求項２４】
前記動画像符号化方法は、
入力された画像を縮小するステップを更に有し、
前記複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、前記入力された画像のフレーム内の隣接画素間相関と、前記縮小された画像のフレーム間予測誤差量とから複雑度を推定することを特徴とする請求項１８から請求項２２のいずれかに記載の画像符号化方法。
【請求項２５】
前記動画像符号化方法は、
入力された画像を縮小するステップを更に有し、
前記複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、前記縮小画像のフレーム内の隣接画素間相関を観測し、
入力された画像をフレーム間予測符号化する場合、前記入力された画像のフレーム間予測誤差量を観測することを特徴とする請求項１８から請求項２２のいずれかに記載の画像符号化方法。
【請求項２６】
前記動画像符号化方法は、
入力された画像を縮小するステップを更に有し、
前記複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、前記縮小された画像のフレーム内の隣接画素間相関と、前記入力された画像のフレーム間予測誤差量とから複雑度を推定することを特徴とする請求項１８から請求項２２のいずれかに記載の画像符号化方法。
【請求項２７】
前記複雑度を予測するステップは、
ピクチャタイプ別に複雑度の予測を行うことを特徴とする請求項１９に記載の画像符号化方法。
【請求項２８】
前記一定区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする請求項１８に記載の画像符号化方法。
【請求項２９】
前記合成区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする請求項１４に記載の画像符号化方法。
【請求項３０】
前記画像の複雑度を推定するステップは、
指定のビットレートで画像を符号化して得られた発生符号量と平均量子化スケールとを用いて複雑度を推定することを特徴とする請求項１８から請求項２９のいずれかに記載の画像符号化方法。
【請求項３１】
前記画像の複雑度を推定するステップは、
固定の量子化スケールで画像を符号化して得られた発生符号量と、前記固定の量子化スケールとを用いて複雑度を推定することを特徴とする請求項１８から請求項２９のいずれかに記載の画像符号化方法。
【請求項３２】
前記画像の複雑度を予測するステップは、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に基づいて、ピクチャタイプ別に画像の複雑度を予測することを特徴とする請求項１９から請求項３１のいずれかに記載の画像符号化方法。
【請求項３３】
前記画像の複雑度を推定するステップは、
発生符号量と平均量子化スケールとを、又は発生符号量と量子化スケールとを乗算して複雑度を推定することを特徴とする請求項３０又は請求項３１に記載の画像符号化方法。
【請求項３４】
前記画像の複雑度を予測するステップは、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に比例するように、複雑度を予測することを特徴とする請求項３２に記載の画像符号化方法。
【請求項３５】
動画像の圧縮符号化を行う画像符号化装置を構成する情報処理装置に、
一定区間にある画像を解析して、前記画像の圧縮の困難さを示す複雑度を画像毎に推定する処理と、
前記一定区間に対して、あらかじめ符号量をビットレートに応じて分配し、前記推定された各画像の複雑度に比例するように、前記分配された符号量を前記一定区間内の全ての画像に対して画像ごとに割当てる目標符号量を算出する処理と、
前記算出された目標符号量を前記画像ごとに割当てる際、バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量から前記バッファがオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する処理と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する処理と
を実行させるためのプログラム。
【請求項３６】
動画像の圧縮符号化を行う画像符号化装置を構成する情報処理装置に、
第１の一定区間にある各画像の圧縮の困難さを示す複雑度を推定する処理と、
前記第１の一定区間に続く第２の一定区間にある画像の複雑度を解析済みの画像の複雑度から予測する処理と、
前記第１の一定区間と前記第２の一定区間とを合わせた合成区間に対して、符号量をビットレートに応じて分配し、前記推定された複雑度と前記予測した複雑度とに基づいて、前記分配された符号量を前記合成区間内における全ての画像に対して前記各画像の複雑度に比例するように、画像ごとに割当てる目標符号量を算出する処理と、
前記算出された目標符号量を前記画像ごとに割当てる際、バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量から前記バッファがオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する処理と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する処理と
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、入力された画像を符号化する前に、入力された画像を解析し、この解析結果に基づいて符号化制御を行う動画像符号化装置、動画像符号化方法、及びそのプログラムに関し、特に固定ビットレートのもとで、符号化用のバッファにより変動する発生符号量を平滑化し、一定のレートで符号化データを出力する動画像符号化装置、動画像符号化方法、及びそのプログラムに関する。
【０００２】
【従来技術】
事前解析を用いた動画像の符号化方法として、特開平１０−６６０６７に記載の方法が知られている。
【０００３】
前記方法は、画像の符号化を行う以前に、あらかじめ入力された画像の解析を行い、画像ごとの複雑さの指標を算出した後、全体の複雑さの指標に対する前記画像の複雑さの比に応じて、目標符号量を計算している。
【０００４】
動画像符号化装置の構成について説明する。
【０００５】
図２５は事前解析を用いた動画像符号化装置の構成を示す図である。
【０００６】
図２５に示すが如く、動画像符号化装置は、事前解析手段９０１、目標符号量設定手段１０１０、量子化制御手段１００１、動画像符号化手段１００２、及び遅延手段９０２から構成されている。
【０００７】
事前解析手段９０１は、仮符号化あるいは統計量の抽出により、画像ごとの複雑さの指標が計測されるものである。
【０００８】
目標符号量設定手段１０１０は、事前解析手段９０１で解析されたある一定区間の全体の複雑さを示す指標に対する当該画像の複雑さの比に応じて、ある一定区間の全画像に対して割当て可能な符号量の一定比率を当該画像に割当てることで、画像の目標符号量を計算するものである。
【０００９】
遅延手段９０２は、入力画像を当該画像の目標符号量が決まるまで、前記入力画像の本符号化手段１０００への供給を遅延させるものである。
【００１０】
量子化制御手段１００１は、割当てられた符号量から量子化スケールを算出するものである。
【００１１】
動画像符号化手段１００２は、遅延手段９０２により遅延された画像の符号化した結果生じる符号量が目標符号量設定手段1０１０で計算された目標符号量になるように画像を符号化するものである。
【００１２】
次に、上記構成の動作について説明する。
【００１３】
図２６は事前解析を用いた動画像符号化装置の動作を示す図である。
【００１４】
図２６に示すが如く、画像ｊを符号化する際、事前解析手段９０１によりＬ枚の画像をあらかじめ解析し、この解析結果に基づいて画像ごとの複雑度を算出する。そして、目標符号量設定手段１０１０は、事前解析手段９０１で算出された複雑度に基づいて、画像ｊだけの目標符号量を計算する。動画像符号化手段１００２は、目標符号量設定手段１０１０により計算された目標符号量になるように画像ｊを符号化する。このように、画像の符号化を行う以前に、画像の解析を行いこの解析結果により得られた複雑さの指標に応じて画像に符号量を配分することで、一般的に符号量をあまり必要としない画像から符号量を必要とする画像に符号量を割当てる技術が知られている。
【００１５】
【発明が解決しようとする課題】
しかしながら、符号量の割当てによるバッファ占有量の推移についてなんら考慮されていないため実際の符号化処理の際に、バッファでオーバーフローやアンダーフローなどのバッファの破綻を引き起こす欠点があった。仮に、実際の符号化処理の際に、バッファの破綻を回避する処理が組み込まれていたとしても、画像を符号化する際に発生する符号量が割当てられた目標符号量から外れたものになり、発生後の符号量制御が正確にできなくなる。
【００１６】
更に、バッファの破綻を回避する処理を行った場合、本来、割当てるべき符号量と異なった符号量を画像に割当ててしまい、符号化における画質の劣化を引き起こす欠点があった。
【００１７】
本発明は上記課題に鑑みて発明されたものであって、本発明が解決しようとする課題は、入力画像を符号化する前に画像の解析を行い、画像ごとの複雑度を算出し、この複雑度に応じた符号量を一定区間内の画像に一括して割当て、符号量がバッファに占める占有量の推移を見積ることでバッファの破綻を回避し、与えられたビットレートとバッファサイズとに基づいて適切な符号配分を行うことにより符号化した画像の画質を向上させることのできる技術を提供することにある。
【００１８】
【課題を解決するための手段】
前記の課題は、動画像の圧縮符号化を行う動画像符号化装置において、
一定区間にある画像を解析して、前記画像の圧縮の困難さを示す複雑度を画像毎に推定する手段と、
前記一定区間に対して、あらかじめ符号量をビットレートに応じて分配し、前記推定された各画像の複雑度に比例するように、前記分配された符号量を前記一定区間内の全ての画像に対して画像ごとに割当てる目標符号量を算出する手段と、
画像を符号化した結果生じる符号を蓄積するバッファと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける前記符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する手段と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する手段と
を有することを特徴とする画像符号化装置によって解決される。
【００１９】
この構成により、推定された複雑度に応じた符号量を配分でき、その為符号量をあまり必要としない画像から符号量を必要とする画像へ符号量を多く割当てることができるので、符号が十分に割当てられなかったことによる画質の劣化を軽減できる。又、本符号化のバッファ破綻処理（オーバーフロー又はアンダーフローの回避をするための処理）による発生符号量と目標符号量との差を少なくでき、符号量の制御が適切にできるようになる。
【００２０】
前記の課題は、動画像の圧縮符号化を行う動画像符号化装置において、
第１の一定区間にある各画像の圧縮の困難さを示す複雑度を推定する手段と、
前記第１の一定区間に続く第２の一定区間内にある各画像の複雑度を解析済みの画像の複雑度から予測する手段と、
前記第１の一定区間と前記第２の一定区間とを合わせた合成区間に対して、符号量をビットレートに応じて分配し、前記推定した複雑度と前記予測した複雑度とに基づいて、前記分配された符号量を前記合成区間内における全ての画像に対して前記各画像の複雑度に比例するように、画像ごとに割当てる目標符号量を算出する手段と、
画像を符号化した結果生じる符号を蓄積するバッファと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける前記符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する手段と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する手段と
を有することを特徴とする画像符号化装置によって解決される。
【００２１】
この構成により、解析できる期間が、利用できる符号量が一定と考えられる期間（例えばＭＰＥＧにおけるＧＯＰ）に満たない場合でも、利用できる符号量が一定と考えられる期間に対して符号量の割当てを実行することができ、画像ごとの符号方法の違い（ピクチャタイプの違い）による発生符号量の変動に影響されない符号量配分が実現できる。
【００２２】
特に、前記画像の複雑度を推定する手段は、
複雑度に対して相関のあるデータを観測し、このデータどの相関関係を利用して、画像の複雑度を推定するよう構成されていることを特徴とする。
【００２３】
又、前記画像の複雑度を予測する手段は、
解析済みの画像のピクチャタイプ別の複雑度に基づいて、ピクチャタイプ別に画像の複雑度を予測するよう構成されていることを特徴とする。
【００２４】
又、前記画像の複雑度を推定する手段は、
入力された画像を所定の符号化方法で符号化する際、画像の符号化により発生する符号量又は前記発生した符号量と、使用した量子化スケールの値とから複雑度を推定するよう構成されていることを特徴とする。
【００２５】
この構成により、画像の特徴量から複雑度を推定する際の精度を向上させることができ、画像の特徴に応じた符号量配分が適切にできる。
【００２６】
又、前記画像の複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、ピクチャタイプに応じて、前記画像のフレーム内の隣接画素間相関又は、前記画像のフレーム間予測誤差量を用いて複雑度を推定するように構成されていることを特徴とする。
【００２７】
この構成により、事前解析において完全な符号化処理を実行する必要がなくなる。又、フレーム内符号化をした画像の複雑度とフレーム内の隣接画素間相関には相関があることが知られており、フレーム内の隣接画素間相関を用いて複雑度を推定することが可能である。更に、フレーム間予測符号化をした画像の複雑度とフレーム間予測誤差には相関があることが知られており、フレーム間予測誤差を用いて複雑度を推定することが可能である。そのためこれらの特徴量を利用して複雑度を推定することで、少ない演算量で複雑度を用いる場合と同等な性能を得ることができる。
【００２８】
又、前記動画像符号化装置は、
入力された画像を縮小する手段を有し、
前記複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、前記入力された画像のフレーム内の隣接画素間相関と、前記縮小された画像のフレーム間予測誤差量とから複雑度を推定するように構成されていることを特徴とする。
【００２９】
又、前記動画像符号化装置は、
入力された画像を縮小する手段を有し、
前記複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、前記縮小画像のフレーム内の隣接画素間相関と、前記入力された画像のフレーム間予測誤差量とから複雑度を推定するように構成されていることを特徴とする。
【００３０】
又、前記動画像符号化装置は、
入力された画像を縮小する手段を有し、
前記複雑度を推定する手段は、
入力された画像をフレーム内符号化する場合、前記縮小された画像のフレーム内の隣接画素間相関を観測し、
入力された画像をフレーム間予測符号化する場合、前記縮小された画像のフレーム間予測誤差量を観測するように構成されていることを特徴とする。
【００３１】
この構成により、扱う画素数が減少し、演算コスト（演算器の数量、計算量）を削減することができる。
【００３２】
又、前記複雑度を予測する手段は、
ピクチャタイプ別に複雑度の予測を行うように構成されていることを特徴とする。
【００３３】
この構成により、ピクチャタイプ別の発生符号量の違いを考慮した割当てを行うことができる。
【００３４】
又、前記一定区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする。
【００３５】
又、前記合成区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする。
この構成により、常に一定の符号量を割当てに使うことができる。
又、前記画像の複雑度を推定する手段は、
指定のビットレートで画像を符号化して得られた発生符号量と平均量子化スケールとを用いて複雑度を推定することを特徴とする。
又、前記画像の複雑度を推定する手段は、
固定の量子化スケールで画像を符号化して得られた発生符号量と、前記固定の量子化スケールとを用いて複雑度を推定することを特徴とする。
又、前記画像の複雑度を予測する手段は、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に基づいて、ピクチャタイプ別に画像の複雑度を予測するよう構成されていることを特徴とする。
又、前記画像の複雑度を推定する手段は、
発生符号量と平均量子化スケールとを、又は発生符号量と量子化スケールとを乗算して複雑度を推定することを特徴とする。
又、前記画像の複雑度を予測する手段は、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に比例するように、複雑度を予測するよう構成されていることを特徴とする。
【００３６】
前記の課題は、符号化用のバッファを有する装置を用いて、動画像の圧縮符号化を行う動画像符号化方法において、
一定区間にある画像を解析して、前記画像の圧縮の困難さを示す複雑度を画像毎に推定するステップと、
前記一定区間に対して、あらかじめ符号量をビットレートに応じて分配し、前記推定された各画像の複雑度に比例するように、前記分配された符号量を前記一定区間内の全ての画像に対して画像ごとに割当てる目標符号量を算出するステップと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整するステップと、
前記調整した目標符号量に応じて前記画像を圧縮符号化するステップと
を有することを特徴とする画像符号化方法によって解決される。
【００３７】
前記の課題は、符号化用のバッファを有する装置を用いて、動画像の圧縮符号化を行う動画像符号化方法において、
第１の一定区間にある各画像の圧縮の困難さを示す複雑度を推定するステップと、
前記第１の一定区間に続く第２の一定区間にある各画像の複雑度を解析済みの画像の複雑度から予測するステップと、
前記第１の一定区間と前記第２の一定区間とを合わせた合成区間に対して、符号量をビットレートに応じて分配し、前記推定した複雑度と前記予測した複雑度とに基づいて、前記分配された符号量を前記合成区間内における全ての画像に対して前記各画像の複雑度に比例するように、画像ごとに割当てる目標符号量を算出するステップと、
前記算出された目標符号量を前記画像ごとに割当てる際、前記バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量がオーバーフロー又はアンダーフローを起こさないように目標符号量を調整するステップと、
前記調整した目標符号量に応じて前記画像を圧縮符号化するステップと
を有することを特徴とする画像符号化方法によって解決される。
【００３８】
特に、前記画像の複雑度を推定するステップは、
複雑度に対して相関のあるデータを観測し、このデータとの相関関係を利用して、画像の複雑度を推定することを特徴とする。
【００３９】
又、前記画像の複雑度を予測するステップは、
解析済みの画像のピクチャタイプ別の複雑度に基づいて、ピクチャタイプ別に画像の複雑度を予測することを特徴とする。
【００４０】
又、前記画像の複雑度を推定するステップは、
入力された画像を所定の符号化方法で符号化する際、符号化により発生する符号量又は前記発生した符号量と、使用した量子化スケールの値とから複雑度を推定することを特徴とする。
【００４１】
又、前記画像の複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、ピクチャタイプに応じて、前記画像のフレーム内の隣接画素間相関又は、前記画像のフレーム間予測誤差量を用いて複雑度を推定することを特徴とする。
【００４２】
又、前記動画像符号化方法は、
入力された画像を縮小するステップを更に有し、
前記複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、前記入力された画像のフレーム内の隣接画素間相関と、前記縮小された画像のフレーム間予測誤差量とから複雑度を推定することを特徴とする。
【００４３】
又、前記動画像符号化方法は、
入力された画像を縮小するステップを更に有し、
前記複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、前記縮小画像のフレーム内の隣接画素間相関と、前記入力された画像のフレーム間予測誤差量とから複雑度を推定することを特徴とする。
【００４４】
又、前記動画像符号化方法は、
入力された画像を縮小するステップを更に有し、
前記複雑度を推定するステップは、
入力された画像をフレーム内符号化する場合、前記縮小された画像のフレーム内の隣接画素間相関を観測し、
入力された画像をフレーム間予測符号化する場合、前記縮小された画像のフレーム間予測誤差量を観測することを特徴とする。
【００４５】
又、前記複雑度を予測するステップは、
ピクチャタイプ別に複雑度の予測を行うことを特徴とする。
【００４６】
又、前記一定区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする。
【００４７】
又、前記合成区間は、
ＭＰＥＧ１又はＭＰＥＧ２における画像符号化方式を用いて入力された画像を符号化する際、ＧＯＰの区間長を固定にし、ＧＯＰの区間長の整数倍であることを特徴とする。
又、前記画像の複雑度を推定するステップは、
指定のビットレートで画像を符号化して得られた発生符号量と平均量子化スケールとを用いて複雑度を推定することを特徴とする。
又、前記画像の複雑度を推定するステップは、
固定の量子化スケールで画像を符号化して得られた発生符号量と、前記固定の量子化スケールとを用いて複雑度を推定することを特徴とする。
又、前記画像の複雑度を予測するステップは、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に基づいて、ピクチャタイプ別に画像の複雑度を予測することを特徴とする。
又、前記画像の複雑度を推定するステップは、
発生符号量と平均量子化スケールとを、又は発生符号量と量子化スケールとを乗算して複雑度を推定する。
又、前記画像の複雑度を予測するステップは、
解析済みの画像のピクチャタイプ別の複雑度の平均値または最近値に比例するように、複雑度を予測することを特徴とする。
【００４８】
前記の課題は、動画像の圧縮符号化を行う画像符号化装置を構成する情報処理装置に、
一定区間にある画像を解析して、前記画像の圧縮の困難さを示す複雑度を画像毎に推定する処理と、
前記一定区間に対して、あらかじめ符号量をビットレートに応じて分配し、前記推定された各画像の複雑度に比例するように、前記分配された符号量を前記一定区間内の全ての画像に対して画像ごとに割当てる目標符号量を算出する処理と、
前記算出された目標符号量を前記画像ごとに割当てる際、バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量から前記バッファがオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する処理と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する処理と
を実行させるためのプログラムによって解決される。
【００４９】
前記の課題は、動画像の圧縮符号化を行う画像符号化装置を構成する情報処理装置に、
第１の一定区間にある各画像の圧縮の困難さを示す複雑度を推定する処理と、
前記第１の一定区間に続く第２の一定区間にある各画像の複雑度を解析済みの画像の複雑度から予測する処理と、
前記第１の一定区間と前記第２の一定区間とを合わせた合成区間に対して、符号量をビットレートに応じて分配し、前記推定された複雑度と前記予測した複雑度とに基づいて、前記分配された符号量を前記合成区間内における全ての画像に対して画像ごとに割当てる目標符号量を算出する処理と、
前記算出された目標符号量を前記画像ごとに割当てる際、バッファにおける符号の占有量の推移を予測し、前記予測したバッファの占有量から前記バッファがオーバーフロー又はアンダーフローを起こさないように目標符号量を調整する処理と、
前記調整した目標符号量に応じて前記画像を圧縮符号化する処理と
を実行させるためのプログラムによって解決される。
【００５０】
【発明の実施の形態】
本発明の第１の実施の形態について説明する。
【００５１】
尚、本実施の形態では、画像の符号化方式としてＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）１又はＭＰＥＧ２を想定し、符号量の割当てを行う区間長はＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）単位で行うことを中心として説明するが、必ずしもＧＯＰを単位としなくとも良い。
【００５２】
図１は動画像符号化装置のブロック図である。図２、図３は事前解析手段のブロック図である。図４はオーバーフロー回避処理を説明する為の図である。図５はアンダーフロー回避処理を説明する為の図である。
【００５３】
動画像符号化装置は、図１に示すが如く、事前解析手段１０、符号割当て手段２０、本符号化手段３０、及び遅延手段４０から構成されている。
【００５４】
事前解析手段１０は、動画像特徴量観測手段１０１と複雑度計算手段１０２とから構成され、入力された画像の模様、動きの状態あるいは符号化したときの発生符号量等を解析して画像ごとの特徴量を観測し、この特徴量から複雑度を算出するものである。
【００５５】
以下、事前解析手段１０の各要素について説明する。
【００５６】
動画像特徴量観測手段１０１は、特徴量としての画像の発生符号量と平均量子化スケールとを観測するものである。例えば、動画像特徴量観測手段１０１は、図２に示すが如く、動画像符号化手段１０３により構成される。そして、動画像符号化手段１０３には符号量制御機能が含まれており、指定のビットレートＲに基づいて、実際にフレームを符号化してフレームｊの発生符号量Ｓ[ｊ]と平均量子化スケールＱ[ｊ]とを観測する。
【００５７】
複雑度計算手段１０２では、動画像符号化手段１０３で観測された発生符号量と平均量子化スケールとに基づいて複雑度を計算するものである。例えば、発生符号量をＳ[ｊ]、平均量子化スケールをＱ[ｊ]、複雑度Ｘ[ｊ]とした場合、複雑度Ｘ[ｊ]は、
0004203707.tif 000002
と計算される。
【００５８】
尚、図３に示すが如く、動画像特徴量観測手段１０１を動画像符号化手段１０４で構成し、固定の量子化スケールｑで画像の符号化を行い、この符号化により発生する発生符号量Ｓｑ[ｊ]を観測し、複雑度Ｘ[ｊ]を
0004203707.tif 000003
としても良い。
【００５９】
符号割当て手段２０は、初期配分手段２０１、バッファ制約調整手段２０２から構成され、事前解析手段１０で解析された解析データに基づいて、次に符号化する画像がある一定区間の画像に対して符号量の割当てを行うものである。
【００６０】
以下、符号割当て手段２０の各要素について説明する。
【００６１】
初期配分手段２０１は、符号量の割当て区間で使用できる総符号量を画像ごとの複雑度に応じて配分するものである。例えば、符号量の割当て区間をＬフレームとし、第ｊフレームから第ｊ＋Ｌ−１フレームまでのフレームに割当てることができる総符号量をＲａ[ｊ]とした場合、Ｒａ[ｊ]を複雑度Ｘ[ｊ]で比例配分した各フレームの目標符号量Ｔ[ｊ] は、
0004203707.tif 000004
0004203707.tif 000005
と計算される。
【００６２】
尚、Ｘｓｕｍ は割当て区間の複雑度の総和を示すものである。ここで、目標符号量Ｔ[ｊ]は、第ｊフレームから第ｊ＋Ｌ−１フレームまでの各々について計算する。又、総符号量Ｒａ[ｊ]は、フレームＬとＧＯＰとの関係が、
（ａ）符号量の割当て単位がＧＯＰ単位である場合（フレームＬがＧＯＰの整数倍である場合）と
（ｂ）符号量の割当て単位がＧＯＰ単位でない場合（フレームＬがＧＯＰの整数倍でない場合）と
で異なり、
（ａ）符号量の割当て単位がＧＯＰ単位である場合（フレームＬがＧＯＰの整数倍である場合）、Ｒａ[ｊ]は、
0004203707.tif 000006
と計算される。尚、Ｒは本符号化で使用するビットレートである。又、バッファ占有量ＢＯＣ[ｊ]を考慮して、総符号量を調整することも可能である。例えば、
Ｒａ[ｊ]は、
0004203707.tif 000007
と計算される。
【００６３】
（ｂ）符号量の割当て単位がＧＯＰ単位でない場合（フレームＬがＧＯＰの整数倍でない場合）、Ｒａ[ｊ]は、
0004203707.tif 000008
と計算さる。ここでＳｓｕｍ は １ＧＯＰ内のフレームの枚数をＮとした場合、直前に符号化したＮ−Ｌ枚のフレームにおける発生符号量の総和である。
【００６４】
そして、Ｒａ[ｊ]はフレームごとに更新する。
【００６５】
バッファ制約調整手段２０２は、符号量の初期配分で割当てられた符号量が割当て区間においてバッファの制約に違反しているか否かを判断し、制約に違反している場合、符号量の割当てを調整するものである。すなわち、バッファ制約調整手段２０２は、バッファでオーバーフロー又はアンダーフローが発生しないよう符号量の割当てを行うものである。
【００６６】
以下、具体的に説明する。
【００６７】
まず、バッファ制約調整手段２０２は、初期配分により割当てられた符号量からピクチャごとのバッファ占有量
0004203707.tif 000009
を計算する。
【００６８】
ここで Ｒｆｒａｍｅは、本符号化で使うビットレートＲから計算されるフレームあたりの符号量である。
【００６９】
0004203707.tif 000010
ここで、バッファ占有量の初期値は０（ＢＯＣ[０]＝０）とする。
【００７０】
例えば、符号化バッファの上限をＢとした場合、符号量を割当てる区間の全ての画像で、ＢＯＣ[ｊ]がＢ−Ｒｆｒａｍｅ より小さいか否かを判断する。そして、ＢＯＣ[ｊ]がＢ−Ｒｆｒａｍｅを超えている場合、符号化バッファで符号量の割当てがオーバーフローを引き起こす割当てとなっている為、ＢＯＣ[ｊ]の最大ｊから以前のフレームに対する符号量の割当てを減少させてオーバーフローが起きないような割当てを行う。更に、減少らした分の符号量は、それ以降のフレームに加えて再配分する。
【００７１】
オーバーフロー回避処理について説明する。
【００７２】
図４はオーバーフロー回避処理を説明する為の図である。
【００７３】
まず、初期の割当てによるＢＯＣの推移を計算し、図４（ａ）に示すが如く、符号の割当てが符号化バッファでオーバーフローを引き起こす割当てとなっている場合、符号化バッファにおける符号の占有量が最大となるフレームｊｏを検出し、フレームｊからｊｏまでの割当て符号量を、図４（ｂ）に示すが如く、ｊｏで符号量が符号化バッファでオーバーフローしなくなるように割当てを減少させる。そして、減少させた分の符号量は、ｊｏ＋１からｊ＋Ｌ−１のフレームに割当てる。更に、ＢＯＣ[ｊ]が０より大きいか否かを判断し、ＢＯＣ[ｊ]が０より小さい場合、符号の割当てが符号化バッファでアンダーフローを引き起こす割当てとなっている為、ＢＯＣ[ｊ]の最小ｊから以前のフレームに対する符号量の割当てを増加させ、符号化バッファがアンダーフローを起こさないように符号量の割当てを行う。そして、増加させた分の符号量は、それ以降のフレームから差し引いて再配分する。
【００７４】
アンダーフロー回避処理について説明する。
【００７５】
図５はアンダーフロー回避処理を説明する為の図である。
【００７６】
初期の割当てによるＢＯＣの推移を計算し、図５（ａ）に示すが如く、符号の割当てが符号化バッファでアンダーフローを引き起こす割当となっている場合、符号化バッファで符号の占有量が最小となるフレームｊｕを検出し、フレームｊからｊｕまでに割当てた符号量を、図５（ｂ）に示すが如く、ｊｕで符号化バッファがアンダーフローを起こさなくなるように符号量の割当てを増加させる。そして、増加させた分の符号量は、ｊｕ＋１からｊ＋Ｌ−１のフレームに割当てた符号量から減少させる。
【００７７】
以後、同様の処理を符号量の割当て区間の区間内で、符号化バッファがオーバーフロー又はアンダーフローを起きなくなるまで、繰り返し実行する。
【００７８】
尚、バッファの上限下限の制限についてはマージンを用いて調整することも可能である。
【００７９】
このようにバッファの制約を満たす符号量の割当てを行い、ピクチャ毎の割当て符号量を調整し、調整した符号量を新たな割当て符号量Ｔ[ｊ]とする。そして、この割当て符号量Ｔ[ｊ]を目標符号量として本符号化での符号量制御を行う。
【００８０】
尚、符号量を制御する情報は割当て符号量Ｔ[ｊ]の他、複雑度Ｘ[ｊ]や割当て符号量によるバッファ占有量ＢＯＣ[ｊ]なども追加して良い。
【００８１】
遅延手段４０は、入力された画像に対して計算された目標符号量と当該入力画像とが本符号化手段３０に同時に入力されるようタイミングを計るため、解析期間長と事前解析手段１０と符号割当て手段２０の処理遅延とに応じて入力される画像を遅延させるものである。例えば、事前解析手段１０において、符号化する画像をＬフレーム分、予め解析する場合、Ｌ枚のフレーム分以上の遅延が必要となる。
【００８２】
本符号化手段３０は、符号量制御手段３０１と動画像符号化手段３０２と符号化バッファ３０３とから構成され、符号割当て手段２９からの情報に基づいて、遅延手段４０で遅延された入力画像を符号化し、符号化データとして出力するものである。
【００８３】
以下、各構成要素を説明する。
【００８４】
符号量制御手段３０１は、符号割当て手段２０から与えられた情報に基づいて量子化スケールを計算し、この計算結果を動画像符号化手段３０２に送信する。そして、画像を符号化した後の発生符号量を計測して発生符号量と割当てた符号量とに差があるか否かを判断し、差がある場合、符号量が所定のビットレートに近づくようにフィードバック制御をかけて符号量を制御する。例えば、１フレームを更に細分化した処理単位にして目標符号量を分配し、細分化した処理単位ごとの目標符号量と発生符号量との差分を累算し、符号量の差分の累積が割当てた符号量を超過しているか否かを判断する。そして、符号量の差分の累積が割当てた符号量を超過している場合、以降の符号化では量子化スケールを大きくして符号の発生を抑制する。一方、符号量の差分の累積が割当てた符号量を下回っている場合、以降の符号化では量子化スケールを小さくして符号の発生を多くする。更に、符号量制御手段３０１は、符号化バッファ３０３のバッファ占有量を監視し、符号化した際に発生する符号量が符号化バッファ３０３でオーバーフロー又はアンダーフローを起こさないように監視して量子化スケールの調整やスタッフィングなどの制御を行う。例えば、符号化バッファ３０３のオーバーフローを回避する場合には、量子化スケールを大きくして符号の発生を抑制し、又は符号化すべき情報をカットして発生符号量を抑制する。一方、符号化バッファ３０３のアンダーフローを回避する場合には、量子化スケールを小さくして符号の発生量を多くし、又はスタッフィングを行って発生符号量を増加させる。
【００８５】
動画像符号化手段３０２は、入力された画像を与えられたパラメタに従って符号化処理を行い、圧縮データを生成するとともに、発生符号量を計測して符号量制御手段３０１に通知する。尚、ここで、画像の符号化処理の方法として、ＭＰＥＧ１ビデオ（ＩＳＯ／ＩＥＣ−１１１７２−２） やＭＰＥＧ２ビデオ（ＩＳＯ／ＩＥＣ−１３８１８−２）が知られており、これらを画像の符号化処理の方法として用いることも可能である。
【００８６】
符号化バッファ３０３は、動画像符号化手段３０２で符号化されたデータを蓄積し、固定のビットレートで出力するものである。この符号化バッファ３０３により、画像ごとの発生符号量の変動を吸収する。
【００８７】
上記構成における動作について説明する。
【００８８】
図６、図７、図８、図９、図１０はピクチャ枚数とＧＯＰ内に含まれているピクチャ枚数との関係を説明するための図である。図１１、図１２、図１３は複雑度の予測について説明するための図である。図１４は本実施の形態の動作を説明するためのフローチャートである。図１５は本実施の形態の動作を説明するための図である。
【００８９】
まず、本実施の形態の動作の概略を説明する。
【００９０】
画像を符号化する際の動作として、
（Ａ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎと同じ場合
（Ｂ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎより大きい場合であって整数倍である場合
（Ｃ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎより小さい場合
（Ｄ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎ以上であって整数倍でない場合
とがある。以下、各場合について説明する。
【００９１】
（Ａ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎと同じ場合について説明する。
【００９２】
図６に示すが如く、１ＧＯＰの画像を符号化する前に、この１ＧＯＰの画像の解析を行い、１ＧＯＰ内の画像ごとの複雑度を計算する。そして、計算された複雑度から１ＧＯＰの目標符号量を計算し、目標符号量に応じてＧＯＰの画像の符号化を行う。
【００９３】
（Ｂ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎより大きい場合であって整数倍である場合について説明する。
【００９４】
例えば、図７はＬ＝２Ｎの例である。尚、ＬはＮの整数倍とする。
【００９５】
２ＧＯＰの画像を符号化する前に、２ＧＯＰの画像の解析を行い、これら２ＧＯＰ内の画像ごとの複雑度を計算する。そして、計算した複雑度から２ＧＯＰに割当てる目標符号量を計算し、この目標符号量に応じて２ＧＯＰの画像の符号化を行う。尚、符号化する区間は割当て区間より短くてもよい。例えば、図８に示すが如く、２ＧＯＰ分の画像を解析し、２ＧＯＰの目標符号量を計算した後、このうち先頭の１ＧＯＰであるＧＯＰ[ｊ]のみを符号化する。そして、次のＧＯＰに処理が進むとＧＯＰ[ｊ＋２]まで画像の解析が進み、ＧＯＰ[ｊ＋１]とＧＯＰ[ｊ＋２]の２ＧＯＰ分の解析データに基づいてＧＯＰ[ｊ＋１]とＧＯＰ[ｊ＋２]の２ＧＯＰの符号量の割当てを行い、ＧＯＰ[ｊ＋１]の符号化を行う。
【００９６】
尚、符号化の区間は割当て区間より短い任意のフレーム数でもよい。例えば、図９に示すが如く、１ピクチャ毎に符号化をしてもよく、ＧＯＰ内のピクチャ枚数をＮとし、第ｊフレームからの符号化処理をする場合、第ｊ＋Ｎ−１フレームまでの解析が行われ、この解析された情報により 第ｊフレームから第ｊ＋Ｎ−１フレームまでの符号の割当てが行われる。そして、第ｊフレームに割当てられた目標符号量に応じて符号化する。
【００９７】
（Ｃ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎより小さい場合について説明する。
【００９８】
図１０は、事前解析区間のピクチャ枚数Lが１ＧＯＰ内に含まれるピクチャ枚数Nより小さい場合である。
【００９９】
符号の割当てはピクチャタイプ間の変動を吸収するためＧＯＰ単位が望ましいが、ＧＯＰサイズに満たない部分の複雑さの指標は、解析済みの画像から予測する。例えば、図１０に示すが如く、Ｌピクチャ先のフレームｊ＋Ｌ−１まで解析が済んでおり、第ｊフレームからの符号化処理をする場合、Ｎに満たないフレームｊ＋Ｌからフレームｊ＋Ｎ−１ までの複雑度を予測する。例えば、ＭＰＥＧ１又はＭＰＥＧ２で使用されているＩピクチャ、Ｐピクチャ及びＢピクチャの３種類のピクチャを用い、図１２中の上側の記号をピクチャタイプとフレーム番号を表し、下側の記号をピクチャの複雑度を表すものとし、図１１に示すが如く、ＧＯＰのサイズＮが１５であり、これを割当て区間長Ｌｂとし、、解析区間長さＬが８であり、これがＬａとなり、ＧＯＰの先頭がＩピクチャで、Ｉ又はＰピクチャが３ピクチャ毎に配置され、それ以外のピクチャをＢピクチャとし、Ｂ０からＢ１１までが既に解析済である場合、複雑度が計算されていないＢ１２からＰ１８までの７ピクチャ対応する複雑度Ｘ'は、ピクチャタイプ別の平均値又は最近の値を使用して計算され、
Ｘ’１５  ＝  Ｘｉ  ＝  Ｘ０
Ｘ’１２  ＝  Ｘ’１８  ＝  Ｘｐ  ＝  （Ｘ６＋Ｘ９）／２
Ｘ’１３  ＝  Ｘ’１４  ＝  Ｘ’１６  ＝  Ｘ’１７
＝  Ｘｂ  ＝  （Ｘ４＋Ｘ５＋Ｘ７＋Ｘ８＋Ｘ１０＋Ｘ１１）／６
となる。
【０１００】
尚、画像を解析した期間に同じピクチャタイプが存在しない場合、最近解析された同じピクチャタイプの複雑さをこの場合の指標とする。又、符号化する区間は、図６に示すが如く、ＧＯＰごとでもよく、図１２に示すが如く、１ピクチャごとでもよく、割当て区間より短い任意のフレーム数でもよい。
【０１０１】
そして、予測した複雑度に基づいて、ＧＯＰに割当てる目標符号量を計算し、この目標符号量に応じてＧＯＰの画像の符号化を行う。
【０１０２】
（Ｄ）事前解析区間のピクチャ枚数Ｌが１ＧＯＰ内に含まれるピクチャ枚数Ｎ以上であって整数倍でない場合について説明する。
【０１０３】
図１３に示すが如く、ｋをＬ／Ｎ以上の最小の整数とし、ｋＮに満たないｋＮ−Ｌの区間の複雑度を、既に解析ずみの複雑度から予測し、ｋＮの区間の割当てを行う。そして、予測した複雑度に基づいて、ＧＯＰに割当てる目標符号量を計算し、この目標符号量に応じてＧＯＰの画像の符号化を行う。
【０１０４】
続いて、図１４のフローチャートを用いて説明する。
【０１０５】
尚、動作の説明を容易にする為に、図１５に示すが如く、フレームｊの符号化までに入力された画像（動画像）の解析ができるフレーム数をＬａとし、符号量の割当てを行う区間（以下、割当区間という）にあるフレーム数をＬｂとする。
【０１０６】
動画像特徴量観測手段１０１は、入力された画像のフレーム番号ｊを−Ｌａ＋１と初期化し（ＳｔｅｐＡ０）、画像を符号化した場合の発生符号量と平均量子化スケールとを観測する（ＳｔｅｐＡ１）。
【０１０７】
複雑度計算手段１０２は、動画像特徴量観測手段１０１で観測された画像の発生符号量と量子化スケールとに基づいて複雑度を計算する。例えば、フレームｊ＋Ｌａ−１の発生符号量をＳ[ｊ＋Ｌａ−１]、平均量子化スケールＱ[ｊ＋Ｌａ−１]として場合、複雑度Ｘ[ｊ＋Ｌａ−１]は、
0004203707.tif 000011
と計算される（ＳｔｅｐＡ２）
複雑度計算手段１０２は、画像の解析できるフレーム数Ｌａと符号量の割当区間にあるフレーム数Ｌｂとを比較する（ＳｔｅｐＡ３）。
【０１０８】
フレーム数Ｌｂが画像の解析できるフレーム数Ｌａより多い場合（Ｌｂ＞Ｌａ）、既に解析されている画像の複雑度から割当区間に満たない部分の複雑度を計算する。例えば、ＭＰＥＧ１又はＭＰＥＧ２で使用されているＩピクチャ、Ｐピクチャ及びＢピクチャの３種類のピクチャを用い、図１２中の上側の記号をピクチャタイプとフレーム番号を表し、下側の記号をピクチャの複雑度を表すものとし、図１２に示すが如く、ＧＯＰのサイズＮが１５であり、これを割当て区間長Ｌｂとし、解析区間長さＬが８であり、これがＬａとなり、ＧＯＰＧＯＰの先頭がＩピクチャで、Ｉ又はＰピクチャが３ピクチャ毎に配置され、それ以外のピクチャをＢピクチャとし、Ｂ０からＢ１１までが既に解析済である場合、複雑度が計算されていないＢ１２からＰ１８までの７ピクチャ対応する複雑度Ｘ'は、ピクチャタイプ別の平均値又は最近の値を使用して計算され、
Ｘ’１５  ＝  Ｘｉ  ＝  Ｘ０
Ｘ’１２  ＝  Ｘ’１８  ＝  Ｘｐ  ＝  （Ｘ６＋Ｘ９）／２
Ｘ’１３  ＝  Ｘ’１４  ＝  Ｘ’１６  ＝  Ｘ’１７
＝  Ｘｂ  ＝  （Ｘ４＋Ｘ５＋Ｘ７＋Ｘ８＋Ｘ１０＋Ｘ１１）／６
となる。
【０１０９】
尚、画像を解析した期間に同じピクチャタイプが存在しない場合、最近解析された同じピクチャタイプの複雑さをこの場合の指標とする（ＳｔｅｐＡ４）。
【０１１０】
一方、符号量の割当区間にあるフレーム数Ｌｂが画像の解析できるフレーム数Ｌａ以下である場合（Ｌｂ≦Ｌａ）、複雑度の予測は不要であるので、次に進む。
【０１１１】
複雑度計算手段１０２は、入力されたフレームｊがフレーム数Ｌａを満たすか否かを判断する（ＳｔｅｐＡ５）
入力された画像のフレーム枚数がフレーム数Ｌａ未満である場合（すなわち−Ｌａ＋１に初期化された画像のフレーム番号ｊがｊ＜０の場合）、複雑度計算手段１０２は、ｊの値を増やし、次の画像の複雑度を計算する（ＳｔｅｐＡ１、Ａ２、Ａ３、Ａ４）。
【０１１２】
一方、入力された画像のフレーム枚数がフレーム数Ｌａと同じになった場合（ｊ＝０）、複雑度計算手段１０２は、フレームｊが符号化処理を行う単位区間Ｃの倍数であるか否かを判断する（ＳｔｅｐＡ６）。
【０１１３】
フレームｊが符号処理を行う単位区間Ｃの倍数でない場合、複雑度計算手段１０２はフレームｊの値を増やし、次の画像の複雑度の計算を行う（ＳｔｅｐＡ１、Ａ２、Ａ３、Ａ４）。
【０１１４】
一方、フレームｊが符号化処理を行う単位区間Ｃの整数倍である場合、符号割当て手段２０は、符号量の割当てを割当て区間に行う。
【０１１５】
まず、割当て区間内の総符号量を計算する。
例えば、符号量の割当て区間をＬフレームとし、第ｊフレームから第ｊ＋Ｌ−１フレームまでのフレームに割当てることができる総符号量をＲａ[ｊ]とした場合、
総符号量Ｒａ[ｊ]は、フレームＬとＧＯＰとの関係が、
（ａ）符号量の割当て単位がＧＯＰ単位である場合（フレームＬがＧＯＰの整数倍である場合）と
（ｂ）符号量の割当て単位がＧＯＰ単位でない場合（フレームＬがＧＯＰの整数倍でない場合）と
で異なり、
（ａ）符号量の割当て単位がＧＯＰ単位である場合（フレームＬがＧＯＰの整数倍である場合）、Ｒａ[ｊ]は、
0004203707.tif 000012
と計算される。尚、Ｒは本符号化で使用するビットレートである。又、バッファ占有量ＢＯＣ[ｊ]を考慮して、総符号量を調整することも可能である。例えば、
Ｒａ[ｊ]は、
0004203707.tif 000013
と計算される。
（ｂ）符号量の割当て単位がＧＯＰ単位でない場合（フレームＬがＧＯＰの整数倍でない場合）と、Ｒａ[ｊ]は、
0004203707.tif 000014
と計算さる。ここでＳｓｕｍ は １ＧＯＰ内のフレームの枚数をＮとした場合、直前に符号化したＮ−Ｌ枚のフレームにおける発生符号量の総和である（ＳｔａｐＡ７）。
【０１１６】
次に、符号量割当て手段２０は、各フレームの目標符号量を計算する。
各フレームの目標符号量Ｔ[ｊ] は、符号量の割当て区間に割当てることができる総符号量Ｒａ[ｊ]を複雑度Ｘ[ｊ]で比例配分し
0004203707.tif 000015
0004203707.tif 000016
と計算される。
尚、Ｘｓｕｍ は割当て区間の複雑度の総和を示すものである。ここで、目標符号量Ｔ[ｊ]は、フレームｊからフレームｊ＋Ｌ−１までの各々について計算する（ＳｔａｐＡ８）。
バッファ制約調整手段２０２は、割当てられた目標符号量の符号化バッファにおけるバッファ占有量を計算する。例えば、バッファ占有量をＢＯＣとし場合、バッファ占有量ＢＯＣは、
0004203707.tif 000017
と計算される。ここでＲｆｒａｍｅは、本符号化で使うビットレートRから計算されたフレームあたりの符号量である。
【０１１７】
0004203707.tif 000018
ここで、バッファ占有量の初期値は０（ＢＯＣ[０]＝０）とする（ＳｔｅｐＡ９）。
【０１１８】
バッファ制約調整手段２０２は、計算したバッファ占有量に基づいて、符号化バッファがオーバーフロー又はアンダーフローを起こすか否かを判断する。例えば、符号化バッファの上限をＢとした場合、バッファ占有量ＢＯＣ[ｊ]が Ｂ−Ｒｆｒａｍｅより小さいか否かを判断する（ＳｔｅｐＡ１０）。
【０１１９】
符号化バッファがオーバーフローを起こして場合、バッファ制約調整手段２０２は、符号化バッファがオーバーフローを起こさないように符号量を調節する。例えば、図４（ａ）に示すが如く、符号の割当てが符号化バッファでオーバーフローを引き起こす割当てとなっている場合、符号化バッファの符号量の占有量が最大となるフレームｊｏを検出し、フレームｊからｊｏまでに割当てた符号量を、図４（b）に示すが如く、ｊｏで符号化バッファがオーバーフローを起こさないよう符号量の割当てを減少させる。そして、減少させた分の符号量は、ｊｏ＋１からｊ＋Ｌ−１のフレームに割当てる（ＳｔｅｐＡ１１）。
【０１２０】
一方、符号化バッファがアンダーフローを起こしている場合、バッファ制約調整手段２０２は、符号化バッファがアンダーフローを起こさないように符号量を調節する。例えば、図５（ａ）に示すが如く、符号量の割当が符号化バッファでアンダーフローを起こす割当となっている場合、符号化バッファの符号の占有量が最小となるフレームｊｕを検出し、フレームｊからｊｕまでに割当てた符号を、図５（ｂ）に示すが如く、ｊｕで符号化バッファがアンダーフローを起こさないように割当てを増加させる。そして、増加させた分の符号量は、ｊｕ＋１からｊ＋Ｌ−１のフレームに割当てた符号量から減少させる（ＳｔｅｐＡ１２）。
【０１２１】
更に、符号化バッファでオーバーフロー又はアンダーフローのいずれも起こさない割当てとなった場合、本符号化手段３０は、遅延手段４０で遅延されたフレームｊ〜ｊ＋ｃ−１の符号化を行う（ＳｔｅｐＡ１３）。
【０１２２】
尚、符号化処理を行う単位区間Ｃが１の場合には、ＳｔｅｐＡ６を省略することができる。Ｌａ、Ｌｂが固定値の場合はＳｔｅｐＡ３を省略し、常にＳｔｅｐＡ４を実行する、あるいは常にＳｔｅｐＡ４を実行しない（ＳｔｅｐＡ３、ＳｔｅｐＡ４の両方を省略する）こともできる。又、解析区間のフレーム数Ｌａ、割当区間にあるフレーム数Ｌｂ、符号化区間Ｃは必ずしも同じである必要はなく、ここに記載した組み合わせに限定されるものではない。
【０１２３】
第２の実施の形態について説明する。
【０１２４】
図１６は動画像符号化装置のブロック図である。図１７は本実施の形態について説明するための図である。
【０１２５】
第１の実施の形態では、リアルタイムに動画像を符号化する装置について説明したが、第２の実施の形態では、図１７に示すが如く、シーケンス全体の画像に対して符号量の分配を行い、更に適切な符号量の割当てを行う。
【０１２６】
まず、動画像符号化装置の構成について説明する。尚、第１の実施の形態の動画像符号化装置と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０１２７】
図１６に示すが如く、動画像符号化装置は、事前解析手段１０、解析データ蓄積手段５０、符号割当て手段２０、制御情報蓄積手段６０、及び本符号化手段３０から構成されている。
【０１２８】
解析データ蓄積手段５０は、事前解析手段１０で解析された画像の解析情報を記憶するものである。
【０１２９】
制御情報蓄積手段６０は、符号割当手段２０からの制御データを記録するものである。
【０１３０】
続いて、上記構成における動作について説明する。
【０１３１】
尚、本実施の形態では、入力された画像のシーケンス全体が予め既知であり、フレーム数も有限で、その数もわかっているものとする。
【０１３２】
事前解析手段１０は、図１７に示すが如く、入力された画像全体を一度に解析し、この解析した情報を解析データとして解析データ蓄積手段５０に送信し、解析データ蓄積手段５０は、事前解析手段１０からの解析データを記憶する。そして、符号割当手段２０は、解析データ蓄積手段５０に記憶されている解析データと指定されたビットレートと符号化バッファ３０３のバッファサイズとに基づいて、符号量の割当てを行い、入力された画像全体における画像ごとの目標符号量を計算してこれに基づく制御データを制御情報蓄積手段６０に送信し、制御情報蓄積手段６０は、解析データ蓄積手段５０からの制御データを記憶する。更に、本符号化手段２０は、入力された画像と制御情報蓄積手段６０に記憶されている制御データとに基づいて、画像の符号化処理により圧縮データを生成する。
【０１３３】
第３の実施の形態について説明する。
【０１３４】
図１８は事前解析手段１０のブロック図である。
【０１３５】
第１の実施の形態及び第２の実施の形態では、画像の特徴量として発生符号量を計測したが、本実施の形態では、フレームの特徴量として仮符号化による発生符号量を計測する他に、フレームの統計量を計測して複雑度に相関のある統計量を利用する。
【０１３６】
動画像符号化装置の構成について説明する。尚、第１の実施の形態の動画像符号化装置と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０１３７】
図１８に示すが如く、事前解析手段１０は、画素間相関観測手段１０５、遅延手段４１、フレーム間予測誤差観測手段１０６及び複雑度計算手段１０７から構成される。
【０１３８】
画素間相関観測手段１０５は、入力された画像のフレーム内の 隣接画素間相関値を計算するものである。例えば、隣接画素間差分絶対値和Ａを計算するものである。
【０１３９】
0004203707.tif 000019
ここで、Ｉ（ｘ，ｙ）は画像の（ｘ，ｙ）位置での画素値、Ｈ，Ｖは水平,垂直のフレームサイズを表す。
【０１４０】
フレーム間予測誤差観測手段１０６は、遅延手段４１で遅延させた入力画像を参照画像とし、入力画像を符号化する際に用いられるフレーム間予測方法により予測画像を生成し、入力画像と予測画像との差分を計算するものである。例えば、次式に示す入力画像と予測画像との予測誤差の絶対値和Ｅを計算するものである。
【０１４１】
0004203707.tif 000020
ここで、Ｐ（ｘ，ｙ）は予測画像の（ｘ，ｙ）位置での画素値を表す。
【０１４２】
又は、次式に示す予測誤差の２乗和を計算するものである。
【０１４３】
0004203707.tif 000021
尚、遅延手段４１は本符号化のための遅延手段４０と共通に使用してもよい。
【０１４４】
複雑度計算手段１０７は、観測した画像の特徴量から複雑度を計算するものである。例えば、Ｉピクチャの複雑度をＸｉ、Ｐピクチャの複雑度をＸｐ、Ｂピクチャの複雑度Ｘｂとして場合、計算した特徴量と複雑度とに相関があることが知られていることから、Ｘｉ，Ｘｐ，Ｘｂは、
0004203707.tif 000022
と推定することができる。ここで、ａ，ｂ，ｃ は複雑度を推定するためのパラメタであり、これらの値は予め既知のデータを符号化した結果に基づいて計算して設定し、上記の式を用いて、フレームｊの複雑度Ｘ[ｊ]は、フレームｊの特徴量Ａ[ｊ]、Ｅ[ｊ]から
Ｉピクチャのとき、
0004203707.tif 000023
Ｐピクチャのとき、
0004203707.tif 000024
Ｂピクチャのとき、
0004203707.tif 000025
と計算される。
【０１４５】
続いて、上記構成の動作について説明する。
【０１４６】
尚、本実施の形態では、事前解析手段１０の構成のみ異なり、それ以外の構成については第１の実施の形態と同様であることから事前解析手段１０の動作のみ説明し、他の動作については省略する。
【０１４７】
動画像符号化装置に入力された画像は、画素間相関観測手段１０５、遅延手段４１及びフレーム間予測誤差観測手段１０６に同時に入力され、画素間相関観測手段１０５では、入力された画像のフレーム内の 隣接画素間相関を計算する。例えば、次式の示す隣接画素間差分絶対値和Ａを計算する。
【０１４８】
0004203707.tif 000026
ここで、Ｉ（ｘ，ｙ）は画像の（ｘ，ｙ）位置での画素値、Ｈ，Ｖは水平,垂直のフレームサイズを表す。
【０１４９】
又、フレーム間予測誤差観測手段１０６では、入力された画像から予測画像を生成し、遅延手段４１で遅延させた画像を参照画像として入力画像と予測画像との差分を計算する。例えば、次式に示す入力画像と予測画像との予測誤差の絶対値和Ｅを計算する。
【０１５０】
0004203707.tif 000027
ここで、Ｐ（ｘ，ｙ）は予測画像の（ｘ，ｙ）位置での画素値を表す。
【０１５１】
又は、次式に示す予測誤差の２乗和を計算する。
【０１５２】
0004203707.tif 000028
【０１５３】
そして、複雑度計算手段１０７は、画素間相関観測手段１０５で計算された隣接画素間差分絶対値和Ａとフレーム間予測誤差観測手段１０６で計算された予測誤差の絶対値和Ｅとに基づいて、複雑度を計算する。例えば、Ｉピクチャの複雑度をＸｉ、Ｐピクチャの複雑度をＸｐ、Ｂピクチャの複雑度Ｘｂとして場合、計算した特徴量と複雑度とに相関があることが知られていることから、Ｘｉ，Ｘｐ，Ｘｂは、
0004203707.tif 000029
と推定することができる。ここで、ａ，ｂ，ｃ は複雑度を推定するためのパラメタであり、これらの値は予め既知のデータを符号化した結果から計算して設定しでき、上記の式を用いて、フレームｊの複雑度Ｘ[ｊ]は、フレームｊの特徴量Ａ[ｊ]、Ｅ[ｊ]より
Ｉピクチャのとき、
0004203707.tif 000030
Ｐピクチャのとき、
0004203707.tif 000031
Ｂピクチャのとき、
0004203707.tif 000032
と計算される。以後第１の実施の形態と同様の動作によって画像の符号化を行う。
【０１５４】
第４の実施の形態について説明する。
【０１５５】
上記の実施の形態では、入力される画像に対して、特別な処理を施さなかったが、本実施の形態では、演算量削減の為に、入力された画像のサイズを縮小して画素数を削減した上で、第３の実施の形態と同様の処理を行う。
【０１５６】
まず、動画像符号化装置の構成について説明する。
【０１５７】
尚、第１の実施の形態及び第３の実施の形態の動画像符号化装置と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０１５８】
図１９は事前解析手段１０のブロック図である。
【０１５９】
図１９に示すが如く、事前解析手段１０は、画素間相関観測手段１０５、遅延手段４１、フレーム間予測誤差観測手段１０６、複雑度計算手段１０７及び縮小画像生成手段１０８、１０９から構成される。
【０１６０】
縮小画像生成手段１０８、１０９は、入力された画像にローパスフィルタをかけ、画素を間引きして入力された画像よりサイズの小さい画像を生成するものである。
【０１６１】
尚、画素間相関と予測誤差計算で同じサイズの小さい画像を使用する場合には、縮小画像生成手段１０８、１０９をひとつにまとめた構成をとることも可能である。更に、画像縮小は一方の特徴量だけに適応してもよい。例えば、縮小画像生成手段１０８のみを使い、縮小画像生成手段１０９を省き、縮小画像を画素間相関の計算だけに適用してもよいし、又は縮小画像生成手段１０９のみを使い、縮小画像生成手段１０８を省き、縮小画像を予測誤差の計算だけに適用してもよい。
【０１６２】
続いて、上記構成の動作について説明する。
【０１６３】
尚、本実施の形態は、第３の実施の形態における事前解析手段１０に縮小画像生成手段１０８、１０９のみを加えたものであり、それ以外の構成については第１の実施の形態と第３の実施の形態と同様であることから縮小画像生成手段１０８、１０９の動作のみ説明し、他の動作については省略する。
【０１６４】
縮小画像生成手段１０８、１０９は、動画像符号化装置に入力された画像をローパスフィルタにかけ、画素を間引きして入力された画像よりサイズの小さい画像を生成する。そして、縮小画像生成手段１０８は生成した縮小画像を画素間相関観測手段１０５に送信し、縮小画像生成手段１０９は生成した縮小画像をフレーム間予測誤差観測手段１０６に送信する。以後第１の実施の形態及び第２の実施の形態と同様の動作によって画像の符号化を行う。
【０１６５】
尚、本実施の形態では、縮小画像生成手段１０８からの縮小画像を画素間相関観測手段１０５に、縮小画像生成手段１０９からの縮小画像をフレーム間予測誤差観測手段１０６に送信したが、縮小画像生成手段１０８（あるいは１０９）で生成された縮小画像を画素間相関観測手段１０５及びフレーム間予測誤差観測手段１０６の両方に送信することも可能である。あるいは縮小画像生成手段１０８または１０９で生成された縮小画像を画素間相関観測手段１０５又はフレーム間予測誤差観測手段１０６のいずれかにのみ送信することも可能である。例えば、縮小画像生成手段１０８からの縮小画像を画素間相関観測手段１０５に送信し、フレーム間予測誤差観測手段１０６には通常の画像を送信してもよい。又は、縮小画像生成手段１０９からの縮小画像をフレーム間予測誤差観測手段１０６に送信し、画素間相関観測手段１０５には通常の画像を送信してもよい。
【０１６６】
第５の実施の形態について説明する。
【０１６７】
第３の実施の形態では、複雑度の推定パラメタａ，ｂ，ｃを予め符号化したデータから計算し設定したが、本実施の形態では、推定パラメタａ，ｂ，ｃ を実際に画像を符号化した結果から推定する。
【０１６８】
まず、動画像符号化装置の構成について説明する。
【０１６９】
本実施の形態は、例えば図１５に示すが如く、第ｊ−１フレームまでは符号化がすでに終了しており、第ｊ−１フレームまでの解析された結果及び符号化された結果を利用して、解析結果から隣接画素間差分絶対値和Ａ及び予測誤差の絶対値和 E を観測し、符号化結果から発生符号量と使用された量子化スケールの平均値とを得る。又、発生符号量と量子化スケールの平均値とから符号化した画像の複雑度が計算でき、この複雑度と予め観測した特徴量との関係から複雑度の推定パラメタａ，ｂ，ｃ が推定できる。このようにして得られた推定パラメタ ａ，ｂ，ｃをピクチャタイプ毎の符号化を行う毎に更新する。
【０１７０】
図２０は動画像符号化装置のブロック図である。
【０１７１】
尚、第１の実施の形態及び第３の実施の形態の動画像符号化装置と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０１７２】
図２０に示すが如く、本実施の形態は、図１で示した第１の実施の形態の構成に加えて、複雑度推定パラメタ計算手段４０１を備える。
【０１７３】
複雑度推定パラメタ計算手段４０１は、画像特徴量観測手段１０１で観測された画像ごとの特徴量と本符号化手段３０で計算された発生符号量とから算出された量子化スケールの平均値から複雑度を計算し、画像の特徴量と対応する画像の複雑度とから複雑度推定パラメタを計算するものである。そして、計算された複雑度推定パラメタは複雑度計算手段１０７に送信する。
【０１７４】
続いて、上記構成の動作について説明する。
【０１７５】
図２１は本実施の形態の動作を説明するためのフローチャートである。
【０１７６】
尚、隣接画素間差分絶対値、予測誤差の絶対値和を計算する動作については第３の実施の形態で説明済であり、本符号化手段３０で発生符号量を計測する動作については第１の実施の形態で説明済であることから本実施の形態では詳細な説明を省略する。又、説明を容易にする為に、例えば図１５に示すが如く、第ｊ−１フレームまでは符号化がすでに終了しており、第ｊ−１フレームまでの解析された結果及び符号化された結果を利用できるものとし、フレームｊの符号化までに入力された画像（動画像）の解析ができるフレーム数をＬａとし、符号量の割当区間にあるフレーム数をＬｂとする。
【０１７７】
動画像特徴量観測手段１０１は、入力された画像のフレーム内における 隣接画素間相関を計算し（ＳｔｅｐＢ１）、更に入力画像と予測画像との差分を計算する（ＳｔｅｐＢ２）。
【０１７８】
複雑度計算手段１０７は、動画像特徴量観測手段１０１で計算された隣接画素間差分絶対値和と予測誤差の絶対値和と複雑度推定パラメタ計算手段４０１から送信された複雑度推定パラメタとに基づいて複雑度を計算する（ＳｔｅｐＢ３）。
【０１７９】
符号割当て手段２０は、符号量の割当てを割当区間に対して行う（ＳｔｅｐＢ４）。
【０１８０】
バッファ制約調整手段２０２は、割当てられた符号量の符号化バッファにおけるバッファ占有量を計算する（ＳｔｅｐＢ５）。
【０１８１】
バッファ制約調整手段２０２は、計算したバッファ占有量に基づいて、符号化バッファがオーバーフロー又はアンダーフローを起こすか否かを判断する（ＳｔｅｐＢ６）。
【０１８２】
符号化バッファがオーバーフローを起こす場合、バッファ制約調整手段２０２は、符号化バッファがオーバーフローを起こさないように符号量を調節する（ＳｔｅｐＢ７）。
【０１８３】
一方、符号化バッファがアンダーフローを起こす場合、バッファ制約調整手段２０２は、符号化バッファがアンダーフローを起こさないように符号量を調節する（ＳｔｅｐＢ８）。
【０１８４】
符号化バッファでオーバーフロー又はアンダーフローのいずれも起こさない割当てとなった場合、本符号化手段３０は、遅延手段４０で遅延された画像の符号化を行う（ＳｔｅｐＢ９）。
【０１８５】
複雑度推定パラメタ計算手段４０１は、動画符号化手段３０２でフレームを符号化した際に発生した発生符号量及び量子化スケールと動画像特徴量観測手段１０１で計算された隣接間差分絶対値和と予測誤差の絶対値和とに基づいて、複雑度推定パラメタを算出する。例えば、動画符号化手段３０２で画像を符号化した際に発生した発生符号量をＳ[ｊ]及び量子化スケールをＱ[ｊ]とし、動画像特徴量観測手段１０１で計算された隣接間差分絶対値和をＡ[ｊ]、予測誤差の絶対値和をＥ[ｊ]とし、Ｉピクチャ、Ｐピクチャ、及びＢピクチャの複雑度推定パラメタを夫々ａ，ｂ，ｃとした場合、発生符号量をＳ[ｊ]と量子化スケールをＱ[ｊ]とからさ算出される複雑度Ｘ[ｊ]は、
0004203707.tif 000033
と計算され、Ｉピクチャ、Ｐピクチャ、及びＢピクチャの複雑度Ｘｉ[ｊ]，Ｘｐ[ｊ]，Ｘｂ[ｊ]は、
0004203707.tif 000034
と計算される。そして、発生符号量と量子化スケールとで算出した複雑度と隣接間差分絶対値和及び予測誤差の絶対値和から算出した複雑度とは近似の関係があることから複雑度推定パラメタａ，ｂ，ｃは、
0004203707.tif 000035
と計算される。そして、算出した複雑度推定パラメタを複雑度計算手段１０７に送信する（ＳｔｅｐＢ１０）。
【０１８６】
複雑度計算手段１０７は、最初に使用した複雑度推定パラメタを複雑度推定パラメタ計算手段４０１から送信された複雑度推定パラメタに更新し、以降、画像の複雑度の計算に使用する（ＳｔｅｐＢ１１）。
【０１８７】
第６の実施の形態について説明する。
【０１８８】
上記した第１の実施の形態の動画像符号化装置は、ディジタル信号処理プロセッサ等のコンピュータ制御で実現するようにしても良い。
【０１８９】
図２２は動画像符号化装置をコンピュータで実現する場合の装置構成を模式的に示す図である。
【０１９０】
ます、本実施の形態を実現するたの構成を説明する。
【０１９１】
７０４はバッファである。バッファ７０４は、符号化されたデータを蓄積し、固定のビットレートで出力するものである。このバッファ７０４により、画像ごとの発生符号量の変動を吸収する。
【０１９２】
７０はコンピュータである。コンピュータ７０は、記録媒体８０１からプログラムを記録媒体読出装置８０、記録媒体読出装置インターフェース７０３を介してメモリ７０２に読み出し、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で実行するものである。
【０１９３】
８０１は記録媒体である。記録媒体８０１には、
（１）入力画像から発生符号量と平均量子化スケールとを観測する処理と、
（２）観測された発生符号量と平均量子化スケールとに基づいて複雑度を計算する処理と、
（３）画像が符号化処理を行う単位区間の倍数であるか否かを判断する処理と、
（４）割当て区間の総符号量を計算する処理と、
（５）目標符号量を計算する処理と、
（６）割当てられた符号量がバッファの制約に違反しないよう調整する処理と、
（７）画像を符号化する処理と、
の前記（１）から（７）の処理を実行させるためのプログラムが記録されている。
【０１９４】
上記プログラムは、マスクＲＯＭ等、フラッシュ等の不揮発性メモリに格納してもよく、記録媒体は不揮発性メモリを含むほか、ＣＤ−ＲＯＭ、ＦＤ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＭＴ（磁気テープ）、可搬型ＨＤＤ等の媒体のほか、例えばサーバ装置からコンピュータで該プログラムを通信媒体伝送する場合等、プログラムを担持する有線、無線で通信される通信媒体等も含む。
【０１９５】
次に、上述した処理の動作について説明する。
【０１９６】
図２３は本実施の形態の動作を説明するためのフローチャートである。
【０１９７】
尚、動作の説明を容易にする為に、フレームｊの符号化までに入力された画像の解析ができるフレーム数をＬａとし、符号量の割当てを行う区間（以下、割当区間という）にあるフレーム数をＬｂとする。
【０１９８】
入力されたフレームの番号ｊを−Ｌａ＋１と初期化し（ＳｔｅｐＣ０）、フレームを符号化した場合の発生符号量と平均量子化スケールとを観測する（ＳｔｅｐＣ１）。
【０１９９】
画像の発生符号量と量子化スケールとに基づいて複雑度を計算する。例えば、フレームｊ＋Ｌａ−１の発生符号量をＳ[ｊ＋Ｌａ−１]、平均量子化スケールＱ[ｊ＋Ｌａ−１]として場合、複雑度Ｘ[ｊ＋Ｌａ−１]は、
0004203707.tif 000036
と計算される（ＳｔｅｐＣ２）
画像の解析できるフレーム数Ｌａと符号量の割当区間にあるフレーム数Ｌｂとを比較する（ＳｔｅｐＣ３）。
【０２００】
フレーム数Ｌｂが画像の解析できるフレーム数Ｌａより多い場合（Ｌｂ＞Ｌａ）、既に解析されている画像の複雑度から割当区間に満たない部分の複雑度を計算する。例えば、ＭＰＥＧ１又はＭＰＥＧ２で使用されているＩピクチャ、Ｐピクチャ及びＢピクチャの３種類のピクチャを用い、図１２中の上側の記号をピクチャタイプとフレーム番号を表し、下側の記号をピクチャの複雑度を表すものとし、図１２に示すが如く、ＧＯＰのサイズＮが１５であり、これを割当て区間長Ｌｂとし、解析区間長さＬが８であり、これがＬａとなり、ＧＯＰの先頭がＩピクチャで、Ｉ又はＰピクチャが３ピクチャ毎に配置され、それ以外のピクチャをＢピクチャとし、Ｂ０からＢ１１までが既に解析済である場合、複雑度が計算されていないＢ１２からＰ１８までの７ピクチャ対応する複雑度Ｘ'は、ピクチャタイプ別の平均値又は最近の値を使用して計算され、
Ｘ’１５  ＝  Ｘｉ  ＝  Ｘ０
Ｘ’１２  ＝  Ｘ’１８  ＝  Ｘｐ  ＝  （Ｘ６＋Ｘ９）／２
Ｘ’１３  ＝  Ｘ’１４  ＝  Ｘ’１６  ＝  Ｘ’１７
＝  Ｘｂ  ＝  （Ｘ４＋Ｘ５＋Ｘ７＋Ｘ８＋Ｘ１０＋Ｘ１１）／６
となる。
【０２０１】
尚、画像を解析した期間に同じピクチャタイプが存在しない場合、最近解析された同じピクチャタイプの複雑さをこの場合の指標とする（ＳｔｅｐＣ４）。
【０２０２】
一方、符号量の割当区間にあるフレーム数Ｌｂが画像の解析できるフレーム数Ｌａ以下である場合（Ｌｂ≦Ｌａ）、複雑度の予測は不要であるので、次に進む。
【０２０３】
入力されたフレームｊがフレーム数Ｌａを満たすか否かを判断する（ＳｔｅｐＣ５）
入力された画像のフレーム枚数がフレーム数Ｌａ未満である場合（すなわち−Ｌａ＋１に初期化された画像のフレーム番号ｊがｊ＜０の場合）ｊの値を増やし、次の画像の複雑度を計算する（ＳｔｅｐＣ１、Ｃ２、Ｃ３、Ｃ４）。
【０２０４】
一方、入力された画像のフレーム枚数がフレーム数Ｌａと同じになった場合（ｊ＝０）、フレームｊが符号化処理を行う単位区間Ｃの倍数であるか否かを判断する（ＳｔｅｐＣ６）。
【０２０５】
フレームｊが符号処理を行う単位区間Ｃの倍数でない場合、フレームｊの値を増やし、次の画像の複雑度の計算を行う（ＳｔｅｐＣ１、Ｃ２、Ｃ３、Ｃ４）。
【０２０６】
一方、フレームｊが符号化処理を行う単位区間Ｃの整数倍である場合、符号量の割当てを割当て区間に行う。
【０２０７】
まず、割当て区間内の総符号量を計算する。
例えば、符号量の割当て区間をＬフレームとし、第ｊフレームから第ｊ＋Ｌ−１フレームまでのフレームに割当てることができる総符号量をＲａ[ｊ]とした場合、
総符号量Ｒａ[ｊ]は、フレームＬとＧＯＰとの関係が、
（ａ）符号量の割当て単位がＧＯＰ単位である場合（フレームＬがＧＯＰの整数倍である場合）と
（ｂ）符号量の割当て単位がＧＯＰ単位でない場合（フレームＬがＧＯＰの整数倍でない場合）と
で異なり、
（ａ）符号量の割当て単位がＧＯＰ単位である場合（フレームＬがＧＯＰの整数倍である場合）、Ｒａ[ｊ]は、
0004203707.tif 000037
と計算される。尚、Ｒは本符号化で使用するビットレートである。又、バッファ占有量ＢＯＣ[ｊ]を考慮して、総符号量を調整することも可能である。例えば、
Ｒａ[ｊ]は、
0004203707.tif 000038
と計算される。
（ｂ）符号量の割当て単位がＧＯＰ単位でない場合（フレームＬがＧＯＰの整数倍でない場合）と、Ｒａ[ｊ]は、
0004203707.tif 000039
と計算さる。ここでＳｓｕｍ は １ＧＯＰ内のフレームの枚数をＮとした場合、直前に符号化したＮ−Ｌ枚のフレームにおける発生符号量の総和である（ＳｔａｐＣ７）。
【０２０８】
次に、各フレームの目標符号量を計算する。
各フレームの目標符号量Ｔ[ｊ] は、符号量の割当て区間に割当てることができる総符号量Ｒａ[ｊ]を複雑度Ｘ[ｊ]で比例配分し
0004203707.tif 000040
0004203707.tif 000041
と計算される。
尚、Ｘｓｕｍ は割当て区間の複雑度の総和を示すものである。ここで、目標符号量Ｔ[ｊ]は、フレームｊからフレームｊ＋Ｌ−１までの各々について計算する（ＳｔａｐＣ８）。
バッファ占有量を計算する。例えば、バッファ占有量をＢＯＣとし場合、バッファ占有量ＢＯＣは、
0004203707.tif 000042
と計算される。ここでＲｆｒａｍｅは、本符号化で使うビットレートRから計算されたフレームあたりの符号量である。
【０２０９】
0004203707.tif 000043
ここで、バッファ占有量の初期値は０（ＢＯＣ[０]＝０）とする（ＳｔｅｐＣ９）。
【０２１０】
計算したバッファ占有量に基づいて、バッファがオーバーフロー又はアンダーフローを起こすか否かを判断する。例えば、バッファの上限をＢとした場合、バッファ占有量ＢＯＣ[ｊ]が Ｂ−Ｒｆｒａｍｅより小さいか否かを判断する（ＳｔｅｐＣ１０）。
【０２１１】
バッファがオーバーフローを起こして場合、バッファがオーバーフローを起こさないように符号量を調節する。例えば、図４（ａ）に示すが如く、符号の割当てがバッファでオーバーフローを引き起こす割当てとなっている場合、バッファの符号量の占有量が最大となるフレームｊｏを検出し、フレームｊからｊｏまでに割当てた符号量を、図４（b）に示すが如く、ｊｏでバッファがオーバーフローを起こさないよう符号量の割当てを減少させる。そして、減少させた分の符号量は、ｊｏ＋１からｊ＋Ｌ−１のフレームに割当てる（ＳｔｅｐＣ１１）。
【０２１２】
一方、バッファがアンダーフローを起こしている場合、バッファがアンダーフローを起こさないように符号量を調節する。例えば、図５（ａ）に示すが如く、符号量の割当がバッファでアンダーフローを起こす割当となっている場合、バッファの符号の占有量が最小となるフレームｊｕを検出し、フレームｊからｊｕまでに割当てた符号を、図５（ｂ）に示すが如く、ｊｕでバッファがアンダーフローを起こさないように割当てを増加させる。そして、増加させた分の符号量は、ｊｕ＋１からｊ＋Ｌ−１のフレームに割当てた符号量から減少させる（ＳｔｅｐＣ１２）。
【０２１３】
更に、バッファでオーバーフロー又はアンダーフローのいずれも起こさない割当てとなった場合、フレームｊ〜ｊ＋ｃ−１の符号化を行う（ＳｔｅｐＣ１３）。
【０２１４】
尚、符号化処理を行う単位区間Ｃが１の場合には、ＳｔｅｐＣ６を省略することができる。Ｌａ、Ｌｂが固定値の場合はＳｔｅｐＣ３を省略し、常にＳｔｅｐＣ４を実行する、あるいは常にＳｔｅｐＣ４を実行しない（ＳｔｅｐＣ３、ＳｔｅｐＣ４の両方を省略する）こともできる。又、解析区間のフレーム数Ｌａ、割当区間にあるフレーム数Ｌｂ、符号化区間Ｃは必ずしも同じである必要はなく、ここに記載した組み合わせに限定されるものではない。
【０２１５】
第７の実施の形態について説明する。
【０２１６】
上記した第２の実施の形態の動画像符号化装置は、ディジタル信号処理プロセッサ等のコンピュータ制御で実現するようにしても良い。尚、第６の実施の形態と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０２１７】
記録媒体８０１から読み出されたプログラムを実行するコンピュータ７０において、入力された画像をバッファサイズに合うように符号量を調整する符号化処理を実行するにあたり、記憶媒体８０１には、
（１）入力された画像から発生符号量と平均量子化スケールとを観測する処理と、
（２）観測された画像の観測情報を記録媒体８０４に記憶する処理と、
（３）目標符号量を計算する処理と、
（４）割当てられた符号量がバッファの制約に違反しないよう調整する処理と、
（５）前記判断したデータを記録媒体８０１に記憶する処理と、
（６）前記データに基づいて画像を符号化する処理と
の前記（１）から（６）の処理を実行させるためのプログラムが記録されている。
【０２１８】
記録媒体８０１から該プログラムを記録媒体読出装置８０、記録媒体読出装置インターフェース７０３を介してメモリ７０２に読み出され、ＣＰＵ７０１が実行する。
【０２１９】
続いて、上記構成における動作について説明する。
【０２２０】
尚、本実施の形態では、入力された画像のシーケンス全体が予め既知であり、フレーム数も有限で、その数もわかっているものとする。
【０２２１】
コンピュータ７０は、図１７に示すが如く、入力された画像全体を一度に解析し、記録媒体８０１に解析データを記憶する。そして、コンピュータ５０は、記録媒体８０１に記憶されている解析データと指定されたビットレートとバッファ７０４のバッファサイズとに基づいて、符号量の割当てを行い、入力された画像全体におけるフレームごとの目標符号量を計算し、これに基づく制御データを記録媒体８０１に記憶する。更に、コンピュータ７０は、入力された画像と記録媒体８０１に記憶されている制御データとに基づいて、画像の符号化処理により圧縮データを生成する。
【０２２２】
第８の実施の形態について説明する。
【０２２３】
上記した第３の実施の形態の動画像符号化装置は、ディジタル信号処理プロセッサ等のコンピュータ制御で実現するようにしても良い。尚、本実施の形態では、第６の実施の形態の（１）から（３）の処理のみが異なり、それ以外の処理については第６の実施の形態と同様であることから他の処理の説明については省略する。又、第６の実施の形態と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０２２４】
記録媒体８０１から読み出されたプログラムを実行するコンピュータ７０において、入力された画像をバッファサイズに合うように符号量を調整する符号化処理を実行するにあたり、記憶媒体８０１には、
（１）入力画像のフレーム内の 隣接画素間相関値和を計算する処理と、
（２）入力画像と予測画像とから予測誤差の絶対値和を計算する処理と、
（３）隣接画素間相関値和と予測誤差の絶対値和とから複雑度を計算する処理と、
の前記（１）から（３）の処理を実行させるためのプログラムが記録されている。
【０２２５】
記録媒体８０１から該プログラムを記録媒体読出装置８０、記録媒体読出装置インターフェース７０３を介してメモリ７０２に読み出され、ＣＰＵ７０１が実行する。
【０２２６】
続いて、上記構成の動作について説明する。
【０２２７】
尚、本実施の形態では、第６の実施の形態における事前解析の動作のみが異なり、それ以外の動作については第６の実施の形態と同様であることから事前解析の動作のみ説明し、他の動作については省略する。
【０２２８】
コンピュータ７０は、入力された画像のフレーム内の 隣接画素間相関を計算する。例えば、次式の示す隣接画素間差分絶対値和Ａを計算する。
【０２２９】
0004203707.tif 000044
ここで、Ｉ（ｘ，ｙ）は画像の（ｘ，ｙ）位置での画素値、Ｈ，Ｖは水平,垂直のフレームサイズを表す。
【０２３０】
そして、コンピュータ７０は、入力された画像から予測画像を生成し、入力画像と予測画像との差分を計算する。例えば、次式に示す入力画像と予測画像との予測誤差の絶対値和Ｅを計算する。
【０２３１】
0004203707.tif 000045
ここで、Ｐ（ｘ，ｙ）は予測画像の（ｘ，ｙ）位置での画素値を表す。
【０２３２】
又は、次式に示す予測誤差の２乗和を計算する。
【０２３３】
0004203707.tif 000046
【０２３４】
更に、コンピュータ７０は、隣接画素間差分絶対値和Ａと予測誤差の絶対値和Ｅとに基づいて、複雑度を計算する。例えば、Iピクチャの複雑度をＸｉ、Pピクチャの複雑度をＸｐ、Bピクチャの複雑度Ｘｂとして場合、計算した特徴量と複雑度とに相関があることが知られていることから、Ｘｉ，Ｘｐ，Ｘｂは、
0004203707.tif 000047
と推定することができる。ここで、ａ，ｂ，ｃ は複雑度を推定するためのパラメタであり、これらの値は予め既知のデータを符号化した結果から計算して設定しでき、上記の式を用いて、フレームｊの複雑度Ｘ[ｊ]は、フレームｊの特徴量Ａ[ｊ]、Ｅ[ｊ]より
Ｉピクチャのとき、
0004203707.tif 000048
Ｐピクチャのとき、
0004203707.tif 000049
Ｂピクチャのとき、
0004203707.tif 000050
と計算される。以後第１の実施の形態と同様の動作によって画像の符号化を行う。
【０２３５】
第９の実施の形態について説明する。
【０２３６】
上記した第４の実施の形態の動画像符号化装置は、ディジタル信号処理プロセッサ等のコンピュータ制御で実現するようにしても良い。尚、本実施の形態では、第８の実施の形態に（１）の処理を加えたものであり、それ以外の処理については第６の実施の形態及び第８の実施形態と同様であることから他の処理についての説明は省略する。又、第６の実施の形態と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０２３７】
記録媒体８０１から読み出されたプログラムを実行するコンピュータ７０において、入力された画像をバッファサイズに合うように符号量を調整する符号化処理を実行するにあたり、記憶媒体８０１には、
（１）入力された画像の画素を間引きして元のサイズより小さいサイズの画像を生成する処理を実行させるためのプログラムが記録されている。
【０２３８】
記録媒体８０１から該プログラムを記録媒体読出装置８０、記録媒体読出装置インターフェース７０３を介してメモリ７０２に読み出され、ＣＰＵ７０１が実行する。
【０２３９】
続いて、上記処理の動作について説明する。
【０２４０】
尚、本実施の形態では、第８の実施の形態の事前解析において画像を縮小する動作のみを加えたものであり、それ以外の動作については第６の実施の形態及び第８の実施形態と同様であることから他の動作についての説明は省略する。
【０２４１】
コンピュータ７０に入力された画像の画素を間引きして入力された画像のサイズより小さいサイズの画像を生成する。
【０２４２】
以後第６の実施の形態及び第８の実施の形態と同様の動作によって画像の符号化を行う。
【０２４３】
尚、本実施の形態では、縮小された画像から隣接画素間差分絶対値和と予測誤差の絶対値和とを算出する処理について説明したが、縮小された画像から隣接画素間差分絶対値和又は予測誤差の絶対値和のいずれか一方を算出し、他方を通常の画像から算出してもよい。例えば、縮小された画像から隣接画素間差分絶対値和を算出した場合、予測誤差の絶対値和を通常の画像から算出してもよいし、又は縮小された画像から予測誤差の絶対値和を算出した場合、隣接画素間差分絶対値和を通常の画像から算出してもよい。
【０２４４】
第１０の実施の形態について説明する。
【０２４５】
上記した第５の実施の形態の動画像符号化装置は、ディジタル信号処理プロセッサ等のコンピュータ制御で実現するようにしても良い。尚、第６の実施の形態と同様な構成については同じ符号を付し、詳細な説明は省略する。
【０２４６】
本実施の形態では、第６の実施の形態及び第８の実施の形態に複雑度推定パラメタを推定する処理を加えたものである。
【０２４７】
記録媒体８０１から読み出されたプログラムを実行するコンピュータ７０において、入力画像をバッファサイズに合うように符号量を調整する符号化処理を実行するにあたり、記憶媒体８０１には、
（１）入力画像のフレーム内の 隣接画素間相関値和を計算する処理と、
（２）入力画像と予測画像とから予測誤差の絶対値和を計算する処理と、
（３）隣接画素間相関値と予測誤差の絶対値和と複雑度推定パラメタとに基づいて複雑度を計算する処理と、
（４）目標符号量を計算する処理と、
（５）割当てられた符号量がバッファの制約に違反しないように調整する処理と、
（６）画像を符号化する処理と、
（７）特徴量と発生符号量と量子化スケールの平均値とから複雑度推定パラメタを計算する処理と、
（８）複雑度の計算で使用した複雑度推定パラメタを処理（６）で計算した複雑度推定パラメタに更新する処理と、
の前記（１）から（８）の処理を実行させるためのプログラムが記録されている。
【０２４８】
記録媒体８０１から該プログラムを記録媒体読出装置８０、記録媒体読出装置インターフェース７０３を介してメモリ７０２に読み出され、ＣＰＵ７０１が実行する。
【０２４９】
続いて、上記構成の動作について説明する。
【０２５０】
図２４は本実施の形態の動作を説明するためのフローチャートである。
【０２５１】
尚、隣接画素間差分絶対値、予測誤差の絶対値和を計算する動作については第８の実施の形態で説明済であり、発生符号量を計測する動作については第６の実施の形態で説明済であることから本実施の形態では詳細な説明を省略する。又、説明を容易にする為に、例えば図１５に示すが如く、第ｊ−１フレームまでは符号化がすでに終了しており、第ｊ−１フレームまでの解析された結果及び符号化された結果を利用できるものとし、フレームｊの符号化までに入力された画像の解析ができるフレーム数をＬａとし、符号量の割当区間にあるフレーム数をＬｂとする。
【０２５２】
コンピュータ７０は、入力された画像のフレーム内における 隣接画素間相関を計算し（ＳｔｅｐＤ１）、入力画像と予測画像との差分を計算する（ＳｔｅｐＤ２）。そして、隣接画素間差分絶対値和と予測誤差の絶対値和と複雑度推定パラメタとに基づいて複雑度を計算する（ＳｔｅｐＤ３）。
【０２５３】
コンピュータ７０は、符号量の割当てを割当区間に対して行い（ＳｔｅｐＤ４）、割当てられた符号量の符号化バッファにおけるバッファ占有量を計算し（ＳｔｅｐＢ５）、計算したバッファ占有量に基づいて、符号化バッファがオーバーフロー又はアンダーフローを起こすか否かを判断する（ＳｔｅｐＤ６）。
【０２５４】
そして、コンピュータ７０は、符号化バッファがオーバーフローを起こす場合、符号化バッファがオーバーフローを起こさないように符号量を調節し（ＳｔｅｐＤ７）、符号化バッファがアンダーフローを起こす場合、符号化バッファがアンダーフローを起こさないように符号量を調節する（ＳｔｅｐＤ８）。
【０２５５】
更に、コンピュータ７０は、符号化バッファでオーバーフロー又はアンダーフローのいずれも起こさない割当てとなった場合、画像の符号化を行う（ＳｔｅｐＤ９）。
【０２５６】
コンピュータ７０は、画像を符号化した際に発生した発生符号量及び量子化スケールと隣接間差分絶対値和と予測誤差の絶対値和とに基づいて、複雑度推定パラメタを算出する。例えば、発生符号量をＳ[ｊ]及び量子化スケールをＱ[ｊ]とし、隣接間差分絶対値和をＡ[ｊ]、予測誤差の絶対値和をＥ[ｊ]とし、Ｉピクチャ、Ｐピクチャ、及びＢピクチャの複雑度推定パラメタを夫々ａ，ｂ，ｃとした場合、発生符号量をＳ[ｊ]と量子化スケールをＱ[ｊ]とからさ算出される複雑度Ｘ[ｊ]は、
0004203707.tif 000051
と計算され、Ｉピクチャ、Ｐピクチャ、及びＢピクチャの複雑度Ｘｉ[ｊ]，Ｘｐ[ｊ]，Ｘｂ[ｊ]は、
0004203707.tif 000052
と計算される。そして、発生符号量と量子化スケールとで算出した複雑度と隣接間差分絶対値和及び予測誤差の絶対値和から算出した複雑度とは近似の関係があることから複雑度推定パラメタａ，ｂ，ｃは、
0004203707.tif 000053
と計算される（ＳｔｅｐＤ１０）。
【０２５７】
そして、コンピュータ７０は、最初に使用した複雑度推定パラメタを新たに計算された複雑度推定パラメタに更新し、以降、画像の複雑度の計算に使用する（ＳｔｅｐＤ１１）。
【０２５８】
【発明の効果】
本発明の効果は、バッファに対して適切な符号量配分を行うことが、同じビットレートのもとで画質の改善を行うことできる。
【０２５９】
その理由は、画像の事前解析の情報に基づいた符号量の割当てを複数の画像に対して同時に行い、これに基づいてバッファの推移を予測してバッファ制約違反を起こさないように調整し、予めバッファ制約を遵守した符号量の割当が可能となからである。又、実際の符号化した際に発生する符号量を目標符号量に近づくよう制御でき、画像の複雑さに応じた符号量の配分が実現できるからである。
【図面の簡単な説明】
【図１】動画像符号化装置のブロック図である。
【図２】事前解析手段１０のブロック図である。
【図３】事前解析手段１０のブロック図である。
【図４】オーバーフロー回避処理を説明するための図である。
【図５】アンダーフロー回避処理を説明する為の図である。
【図６】ピクチャ枚数とＧＯＰ内に含まれているピクチャ枚数との関係を説明するための図である。
【図７】ピクチャ枚数とＧＯＰ内に含まれているピクチャ枚数との関係を説明するための図である。
【図８】ピクチャ枚数とＧＯＰ内に含まれているピクチャ枚数との関係を説明するための図である。
【図９】ピクチャ枚数とＧＯＰ内に含まれているピクチャ枚数との関係を説明するための図である。
【図１０】ピクチャ枚数とＧＯＰ内に含まれているピクチャ枚数との関係を説明するための図である。
【図１１】複雑度の予想について説明するための図である。
【図１２】複雑度の予想について説明するための図である。
【図１３】複雑度の予測について説明するための図である。
【図１４】本実施の形態の動作を説明するためのフローチャートである。
【図１５】本実施の形態の動作を説明するための図である。
【図１６】動画像符号化装置のブロック図である。
【図１７】本実施の形態について説明するための図である。
【図１８】事前解析手段１０のブロック図である。
【図１９】事前解析手段１０のブロック図である。
【図２０】動画像符号化装置のブロック図である。
【図２１】本実施の形態の動作を説明するためのフローチャートである。
【図２２】動画像符号化装置をコンピュータで実現する場合の装置構成を模式的に示す図である。
【図２３】本実施の形態の動作を説明するためのフローチャートである。
【図２４】本実施の形態の動作を説明するためのフローチャートである。
【図２５】動画像符号化装置の構成を説明するための図である。
【図２６】動画像符号化装置の動作を説明するための図である。
【符号の説明】
１０   事前解析手段            １０８ 縮小画像生成手段
２０   符号量割当て手段        １０９ 縮小画像生成手段
３０   本符号化手段            ２０１ 初期符号量配分手段
４０   遅延手段                ２０２ バッファ制約調整手段
４１   遅延手段                ３０１ 符号量制御手段
１０１ 動画像特徴量観測手段    ３０２ 動画像符号化手段
１０２ 複雑度計算手段          ３０３ 符号化バッファ
１０３ 動画像符号化手段        ４０１ 複雑度推定パラメタ計算手段
１０４ 動画像符号化手段        ５０   解析データ蓄積手段
１０５ 画素間相関観測手段      ６０   制御情報蓄積手段
１０６ 予測誤差観測手段        ７０   コンピュータ
１０７ 複雑度計算手段          ８０   記録媒体読出装置
【図１】
0004203707.tif 000054
【図２】
0004203707.tif 000055
【図３】
0004203707.tif 000056
【図４】
0004203707.tif 000057
【図５】
0004203707.tif 000058
【図６】
0004203707.tif 000059
【図７】
0004203707.tif 000060
【図８】
0004203707.tif 000061
【図９】
0004203707.tif 000062
【図１０】
0004203707.tif 000063
【図１１】
0004203707.tif 000064
【図１２】
0004203707.tif 000065
【図１３】
0004203707.tif 000066
【図１４】
0004203707.tif 000067
【図１５】
0004203707.tif 000068
【図１６】
0004203707.tif 000069
【図１７】
0004203707.tif 000070
【図１８】
0004203707.tif 000071
【図１９】
0004203707.tif 000072
【図２０】
0004203707.tif 000073
【図２１】
0004203707.tif 000074
【図２２】
0004203707.tif 000075
【図２３】
0004203707.tif 000076
【図２４】
0004203707.tif 000077
【図２５】
0004203707.tif 000078
【図２６】
0004203707.tif 000079