(57)【特許請求の範囲】
【請求項１】
領域を単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置であって、
領域毎に、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する手段と、
動き探索の細かさを規定する動き探索パラメータを決定対象として、前記統計量に基づいて、前記ばらつきの大きさが大きくなるほど細かな動き探索が行われることになるように符号化対象となる領域の動き探索パラメータを決定する手段とを備えることを、
特徴とする動画像符号化装置。
【請求項２】
領域を単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置であって、
領域毎に、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する手段と、
前記統計量に基づいて、前記ばらつきの大きさが大きくなるほど高い優先度が割り付けられることになるように各領域の動き探索の優先度を決定する手段と、
１フレームに割り当てられる動き探索目標時間と、設定された複数の動き探索パラメータで動き探索を行うときに要する動き探索時間とから、２つ以上の動き探索パラメータを選択する手段と、
前記動き探索目標時間と前記動き探索時間とから、前記選択した動き探索パラメータで動き探索を行う領域の目標個数を決定する手段と、
前記優先度と前記目標個数とから、符号化対象となる領域の動き探索パラメータを決定する手段とを備えることを、
特徴とする動画像符号化装置。
【請求項３】
領域を単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置であって、
領域毎に、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する手段と、
前記統計量に基づいて、前記ばらつきの大きさが大きくなるほど高い優先度が割り付けられることになるように各領域の動き探索の優先度を決定する手段と、
１フレームに割り当てられる動き探索目標時間と、設定された複数の動き探索パラメータで動き探索を行うときに要する動き探索時間とから、２つ以上の動き探索パラメータを選択する手段と、
前記動き探索目標時間と前記動き探索時間とから、前記選択した動き探索パラメータで動き探索を行う領域の目標個数を決定する手段と、
１フレーム内でこれまでに行った動き探索の合計時間を算出する手段と、
前記動き探索目標時間と前記合計時間と前記優先度と前記目標個数とから、符号化対象となる領域の動き探索パラメータを決定する手段とを備えることを、
特徴とする動画像符号化装置。
【請求項４】
請求項２又は３に記載の動画像符号化装置において、
前記動き探索時間を記憶する手段は、前記動き探索時間に対応付けられる動き探索命令数の情報を記憶し、
前記記憶される動き探索命令数をソフトウェアを実行する演算器の動作周波数で除算することで、前記動き探索時間を特定する手段を備えることを、
特徴とする動画像符号化装置。
【請求項５】
領域を単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法であって、
領域毎に、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する過程と、
動き探索の細かさを規定する動き探索パラメータを決定対象として、前記統計量に基づいて、前記ばらつきの大きさが大きくなるほど細かな動き探索が行われることになるように符号化対象となる領域の動き探索パラメータを決定する過程とを備えることを、
特徴とする動画像符号化方法。
【請求項６】
領域を単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法であって、
領域毎に、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する過程と、
前記統計量に基づいて、前記ばらつきの大きさが大きくなるほど高い優先度が割り付けられることになるように各領域の動き探索の優先度を決定する過程と、
１フレームに割り当てられる動き探索目標時間と、設定された複数の動き探索パラメータで動き探索を行うときに要する動き探索時間とから、２つ以上の動き探索パラメータを選択する過程と、
前記動き探索目標時間と前記動き探索時間とから、前記選択した動き探索パラメータで動き探索を行う領域の目標個数を決定する過程と、
前記優先度と前記目標個数とから、符号化対象となる領域の動き探索パラメータを決定する過程とを備えることを、
特徴とする動画像符号化方法。
【請求項７】
領域を単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法であって、
領域毎に、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する過程と、
前記統計量に基づいて、前記ばらつきの大きさが大きくなるほど高い優先度が割り付けられることになるように各領域の動き探索の優先度を決定する過程と、
１フレームに割り当てられる動き探索目標時間と、設定された複数の動き探索パラメータで動き探索を行うときに要する動き探索時間とから、２つ以上の動き探索パラメータを選択する過程と、
前記動き探索目標時間と前記動き探索時間とから、前記選択した動き探索パラメータで動き探索を行う領域の目標個数を決定する過程と、
１フレーム内でこれまでに行った動き探索の合計時間を算出する過程と、
前記動き探索目標時間と前記合計時間と前記優先度と前記目標個数とから、符号化対象となる領域の動き探索パラメータを決定する過程とを備えることを、
特徴とする動画像符号化方法。
【請求項８】
請求項５ないし７のいずれか１項に記載の動画像符号化方法の実現に用いられる処理をコンピュータに実行させるための動画像符号化処理用プログラム。
【請求項９】
請求項５ないし７のいずれか１項に記載の動画像符号化方法の実現に用いられる処理をコンピュータに実行させるためのプログラムを記録した動画像符号化処理用プログラムの記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ブロックを単位にして、原画像と参照画像との間で動き探索パラメータにより制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置及び方法と、その動画像符号化方法の実現に用いられる動画像符号化処理用プログラム及びそのプログラムの記録媒体とに関し、特に、予測誤差の増加を低減しつつ、高速な符号化を実現する動画像符号化装置及び方法と、その動画像符号化方法の実現に用いられる動画像符号化処理用プログラム及びそのプログラムの記録媒体とに関する。
【０００２】
【従来の技術】
動画像符号化では、一般的に符号化効率向上のために動き補償フレーム間予測符号化方法が用いられる。この方法は、現フレームの原画像と、それ以前に符号化された他のフレームの復号画像から作られる参照画像との間で、対応する画素間の画像情報の差分（予測誤差と呼ぶ）を符号化する。
参照画像の作成には、前フレームを使う方法や、前後のフレームから作成する方法や、前フレームをアフィン変換して作成する方法がある。なお、参照画像を作成するにあたり、すでに符号化された入力画像を使う方法と、動き補償の際に作成する、過去のフレームの局所復号画像を使う方法とがある。また予測誤差の符号化では、まず予測誤差をＤＣＴ（離散コサイン変換）などに従って周波数変換し、その係数を量子化した後に可変長符号化する。
【０００３】
符号化効率を向上するために、画面内の同じ位置の画素間の予測誤差よりも平行移動した位置の予測誤差の方が小さい場合には、この平行移動した位置の予測誤差を符号化する。平行移動量は動きベクトルとして符号化される。この平行移動量を求める処理は動き探索と呼ばれる。一般的には、画面を縦横１６画素のマクロブロックで区切り、そのマクロブロック毎に動きベクトルを求める。
マクロブロック内の全画素に対する予測誤差の評価関数としては、マクロブロック内のすべての画素の画像情報の絶対値差分の和や、それらの分散等が用いられる。これらの値が小さい動きベクトルを選択すると予測誤差の符号化効率が高くなるため、これらの値が最も小さくなる動きベクトルを求める。
【０００４】
また、探索範囲を大きくするほど、動きベクトルの候補が増えるため符号化効率の高い動きベクトルを求めることができる。映像符号化方式Ｈ.263では、動きベクトルの表現上の制限により、探索範囲は最大で縦横１６画素ずれた位置になる。図１２に、この様子を示す。
動き探索では、この探索範囲内を１画素ずつずらしながら、絶対値差分和や分散を計算し、これらの値が最小となる位置を求める。しかし、探索範囲を大きくするほど、動き探索の演算量が増えることになる。
動き探索の演算量を減らすために様々な手法が用いられている。以下に例を４つ挙げる。
【０００５】
（１）方法１（画素間引き）
絶対値差分和や分散を計算する画素数を少なくする。例えば、マクロブロック内の縦横１６画素（合計２５６画素）のうち、１２８画素で計算する。
図１３に、マクロブロック内で１２８画素を選択した例を示す。この方法では、マクロブロック内で計算する画素の配置Ａｐによって一意に動き探索が指定される。
【０００６】
（２）方法２（位置間引き）
探索範囲内で絶対値差分和や分散を計算する位置を少なくする。例えば２画素ずつずらしながら探索する。
図１４に、２画素ずつずらしながら探索する様子を示す。この方法では、探索範囲内における探索位置の配置Ａｍによって一意に動き探索が指定される。
【０００７】
（３）方法３（木探索）
例えば、予めある探索位置の候補を決めておき、その位置の周辺のみを探索する。この方法では、木構造の分岐数Ｎｂ等によって動き探索が指定される。
しかしながら、これらの３つの方法１，２，３では、これらを使わない方法と比べて、最も小さい予測誤差の値が同じとなる動きベクトルを、必ずしも求めることができない。すなわち、動き探索の演算量を減らすと、予測誤差の最も小さい動きベクトルが求められなくなり、予測誤差が大きくなる。そのため一般に符号化効率が低下する。
動き探索の演算量を減らしたときにおける予測誤差の増加量は、参照画像の画像内容に依存する。例えば、画素の値が探索範囲内でほぼ同じ場合には、方法１，２，３において、配置Ａｐや配置Ａｍや分岐数Ｎｂを変更しても、予測誤差の増減は少ない。逆に、画素の値が探索範囲内で大きく変化する場合には、予測誤差の増減は大きい。
【０００８】
（４）方法４（ＳＥＡ方法）
他方、ＳＥＡ方法では、この方法を使わない方法と比べて、最も小さい予測誤差の値が同じとなる動きベクトルを求めることができる。すなわち、ＳＥＡ方法は、探索精度を全く損なわずに動き探索の演算量を軽減する手法である。上述した方法１，２，３と組み合わせることにより、さらに動き探索の演算量の軽減が可能となる。
次に、このＳＥＡ方法について概説する。
【０００９】
現フレーム（時刻ｔ）の位置（ｉ，ｊ）における画素の値をｆ（ｉ，ｊ，ｔ）とすると、探索位置（ｘ，ｙ）における参照フレーム（時刻ｔ−１）に対する絶対値差分和ＭＡＤ（ｘ，ｙ）は、
【００１０】
【数１】
0003860435.tif 000002
【００１１】
によって計算される。
ＳＥＡ方法では、探索位置（ｘ，ｙ）において、すでに計算されたものの内、絶対値差分和が最小となる探索位置（ｍ，ｎ）の絶対値差分和ＭＡＤ（ｍ，ｎ）に対して、
【００１２】
【数２】
0003860435.tif 000003
【００１３】
によって求められる探索位置（ｘ，ｙ）のＭ（ｘ，ｙ）が、
【００１４】
【数３】
0003860435.tif 000004
【００１５】
という不等式の条件を満たす場合のみ絶対値差分和を求める。
ここで、Ｒは、
【００１６】
【数４】
0003860435.tif 000005
【００１７】
によって計算される値である。
このため、ＳＥＡ方法を用いると、絶対値差分和の計算回数を減少することができる。
例えば、矩形の探索範囲（−ｗ＜＝ｘ＜＝ｗ，−ｗ＜＝ｙ＜＝ｗ）内で動き探索を行う場合、〔数３〕の不等式による判定を利用して、図１５に示すような手順で動き探索する。
【００１８】
まず、Ｒの値とＭ（ｘ，ｙ）の値とを全ての位置で求める（ステップ１）。その後で、各マクロブロック毎に、〔数３〕の不等式を利用して動きベクトルを求める。
すなわち、探索の初期位置を探索範囲内の左上（ｍ，ｎ）＝（−ｗ，−ｗ）とすると、まず初期位置（ｍ，ｎ）におけるＭＡＤ（ｍ，ｎ）を求める（ステップ２）。
次に、探索位置を右に１画素ずつずらしながらＭ（ｘ，ｙ）の値を求めていき、ＭＡＤ（ｍ，ｎ）に対して〔数３〕の不等式を満たす位置（ｘ０，ｙ０）を求める（ステップ３）。このとき、最右端の探索位置の次は、それよりも１ライン下の最左端を探索位置とする。
【００１９】
〔数３〕の不等式を満たす位置（ｘ０，ｙ０）が求まった場合、その位置におけるＭＡＤ（ｘ０，ｙ０）を求めて、ＭＡＤ（ｘ０，ｙ０）の値とＭＡＤ（ｍ，ｎ）の値とを比較する（ステップ４）。
ＭＡＤ（ｘ０，ｙ０）の値がＭＡＤ（ｍ，ｎ）の値よりも大きい場合には、ステップ３に戻り、〔数３〕の不等式を満たす位置を探す。一方、ＭＡＤ（ｘ０，ｙ０）の値がＭＡＤ（ｍ，ｎ）の値よりも小さい場合には、ＭＡＤ（ｍ，ｎ）の値をＭＡＤ（ｘ０，ｙ０）の値で入れ替えてから（ステップ５）、ステップ３に戻り、〔数３〕の不等式を満たす位置を探す。
【００２０】
このようにして、最後の探索位置までステップ３とステップ４を繰り返す。そして、最後にステップ５でＭＡＤを入れ替えた位置を、探索を行ったマクロブロックの動きベクトルとする。
【００２１】
【発明が解決しようとする課題】
動画像符号化を高速に行うには、各フレームの符号化を高速に行う必要がある。一般的に、動き補償フレーム間予測符号化を用いた場合には、動き探索処理により多くの時間がかかるため、動き探索処理をより高速にする必要がある。
従来の動き探索では、全てのマクロブロックで同じ探索精度で動きベクトルを求めていた。
【００２２】
すなわち、従来の動き探索では、従来技術で用いられている方法１，２，３のいずれかの方法、あるいはそれらを組み合わせた方法において、同じ探索精度の方法を、全てのマクロブロックに適用していた。
ここで、各方法における同じ探索精度とは、方法１では、マクロブロック内で計算する画素の配置Ａｐが同じとなることを指し、方法２では、探索範囲内における探索位置の配置Ａｍが同じとなることを指し、方法３では、木構造の分岐数Ｎｂ等が同じとなることを指す。
【００２３】
しかし、配置Ａｐや配置Ａｍや分岐数Ｎｂの変更による予測誤差の増減は参照画像の画像内容に依存するため、画面内のマクロブロックで一様に配置Ａｐや配置Ａｍや分岐数Ｎｂを変更すると、予測誤差の増加を効果的に低減することができなかった。
【００２４】
また、単に高速化するだけではなく、動画像符号化を実時間で行う場合には、フレーム間隔の間に各フレームの符号化を完了する必要がある。特に、動き補償フレーム間予測符号化を用いた場合には、動き探索処理をフレーム間隔時間内で完了する必要がある。
しかし、従来の動き探索では、全てのマクロブロックで同じ探索精度で動きベクトルを求めていたために、フレームレートによっては実時間で符号化できないという問題が発生した。
【００２５】
本出願人は、特願2000-303509(未だ出願公開されていない）で、ソフトウェアによる動画像符号化において、この問題を解決するために、動き探索を行う目標時間を予め設定しておき、その時間内で全てのマクロブロックの動き探索が実行できるようにと、方法１，２，３のいずれか、あるいはそれらの組み合わせにおいて、配置Ａｐや配置Ａｍや分岐数Ｎｂをマクロブロック毎に変更するようにする発明を開示した。
【００２６】
さらに、この発明では、動き探索のために割り当てられた時間が無くなり、全てのマクロブロックの動き探索を実行できない場合には、残り時間が無くなる時点で動き探索処理を終了するようにしている。そして、その際に、動き探索をより必要とするマクロブロックを優先的に動き探索するために、入力画像の画像情報から、各マクロブロックの画像統計量を算出し、それを基に動き探索を行うマクロブロックの順序を決めるようにしている。
しかし、この発明では、配置Ａｐや配置Ａｍや分岐数Ｎｂの変更による予測誤差の増減について、参照画像の画像内容に依存する性質を利用していない。そのため、予測誤差の増加を効果的に低減することができないという問題が残されている。
【００２７】
本発明はかかる事情に鑑みてなされたものであって、予測誤差の増加を低減しつつ、高速な符号化を実現する新たな動画像符号化技術の提供を目的とする。
【００２８】
【課題を解決するための手段】
（１）第１の本発明の構成
第１の本発明では、動き探索パラメータによって制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置において、
画像を入力する画像入力部と、
動き探索に使用する参照画像を蓄積する参照画像蓄積部と、
画面内を領域に分割し、領域毎に動き探索をする領域動き探索部と、
前記領域動き探索部で求めた領域毎の動きベクトルを使って、動き補償フレーム間予測符号化を行う動き補償フレーム間予測符号化部と、
前記領域動き探索部で規定した領域に対する、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する統計量計算部と、
動き探索の細かさを規定する動き探索パラメータを決定対象として、前記統計量計算部で求めた統計量に基づいて、前記ばらつきの大きさが大きくなるほど細かな動き探索が行われることになるように符号化対象となる領域の動き探索パラメータを決定し、動き探索処理を制御する動き探索制御部と、
を備えることを特徴とする。
【００２９】
（２）第２の本発明の構成
第２の本発明では、動き探索パラメータによって制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置において、
画像を入力する画像入力部と、
動き探索に使用する参照画像を蓄積する参照画像蓄積部と、
画面内を領域に分割し、領域毎に動き探索をする領域動き探索部と、
前記領域動き探索部で求めた領域毎の動きベクトルを使って、動き補償フレーム間予測符号化を行う動き補償フレーム間予測符号化部と、
前記領域動き探索部で規定した領域に対する、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する統計量計算部と、
前記統計量計算部で求めた統計量に基づいて、前記ばらつきの大きさが大きくなるほど高い優先度が割り付けられることになるようにフレーム内領域の動き探索優先度を決定する領域優先度決定部と、
１フレームを符号化する際の動き探索の目標時間である動き探索目標時間を符号化前に予め設定する動き探索時間設定部と、
符号化前に予め設定した複数の動き探索パラメータで、動き探索処理を実行する時間である動き探索パラメータ時間を、符号化前に予め記憶しておく動きパラメータ記憶部と、
前記動き探索目標時間と、前記動きパラメータ記憶部に記憶してある複数の動き探索パラメータ時間とから、２つ（２つ以上でもよい）の動き探索パラメータを選択し、これを基準動き探索パラメータとする動きパラメータ選択部と、
前記動き探索目標時間と、前記動きパラメータ選択部で求めた２つの基準動き探索パラメータに対する動き探索パラメータ時間とから、各動き探索パラメータで動き探索をする領域の目標数を決定する個数閾値決定部と、
前記領域優先度決定部で求めた動き探索優先度と、前記個数閾値決定部で求めた各動き探索パラメータで動き探索をする領域の目標数とから、動き探索パラメータを決定し、動き探索処理を制御する優先動き探索制御部と、
を備えることを特徴とする。
【００３０】
ここで、動きパラメータ記憶部は、記憶すべき動き探索パラメータ時間と等価となる、動き探索処理を実行する処理命令数の情報を記憶するようにしてもよく、この場合には、この動き探索命令数をソフトウェアを実行する演算器の動作周波数で除算することで動き探索パラメータ時間を特定する機構が用意されることになる。
【００３１】
（３）第３の本発明の構成
第３の本発明では、動き探索パラメータによって制御される動き探索を行い、動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化装置において、
画像を入力する画像入力部と、
動き探索に使用する参照画像を蓄積する参照画像蓄積部と、
画面内を領域に分割し、領域毎に動き探索をする領域動き探索部と、
前記領域動き探索部で求めた領域毎の動きベクトルを使って、動き補償フレーム間予測符号化を行う動き補償フレーム間予測符号化部と、
前記領域動き探索部で実行される領域毎の動き探索時間を計測する領域動き探索時間計測部と、
前記領域動き探索時間計測部で計測された領域毎の動き探索時間を、フレーム単位で合計したフレーム動き探索時間を求める領域動き探索時間加算部と、
前記領域動き探索部で規定した領域に対する、参照画像の探索範囲内の画素値のばらつきの大きさを示す統計量を計算する統計量計算部と、
前記統計量計算部で求めた統計量に基づいて、前記ばらつきの大きさが大きくなるほど高い優先度が割り付けられることになるようにフレーム内領域の動き探索優先度を決定する領域優先度決定部と、
１フレームを符号化する際の動き探索の目標時間である動き探索目標時間を符号化前に予め設定する動き探索時間設定部と、
符号化前に予め設定した複数の動き探索パラメータで、動き探索処理を実行する時間である動き探索パラメータ時間を、符号化前に予め記憶しておく動きパラメータ記憶部と、
前記動き探索目標時間と、前記動きパラメータ記憶部に記憶してある複数の動き探索パラメータ時間とから、２つ（２つ以上でもよい）の動き探索パラメータを選択し、これを基準動き探索パラメータとする動きパラメータ選択部と、
前記動き探索目標時間と、前記動きパラメータ選択部で求めた２つの基準動き探索パラメータに対する動き探索パラメータ時間とから、各動き探索パラメータで動き探索をする領域の目標数を決定する個数閾値決定部と、
前記領域動き探索時間加算部で求めたフレーム動き探索時間と、前記動き探索時間設定部で設定した動き探索目標時間と、前記領域優先度決定部で求めた動き探索優先度と、前記個数閾値決定部で求めた各動き探索パラメータで動き探索をする領域の目標数とから、動き探索パラメータを決定し、動き探索処理を制御する優先動き探索制御部と、
を備えることを特徴とする。
【００３２】
ここで、動きパラメータ記憶部は、記憶すべき動き探索パラメータ時間と等価となる、動き探索処理を実行する処理命令数の情報を記憶するようにしてもよく、この場合には、この動き探索命令数をソフトウェアを実行する演算器の動作周波数で除算することで動き探索パラメータ時間を特定する機構が用意されることになる。
【００３３】
（イ）第１の本発明の処理
第１の本発明によれば、動き探索をする前に、参照画像の統計量を計算することにより、画像内容に応じて予測誤差の増加を効果的に低減しつつ、動き探索処理量の効果的な軽減をし、符号化の高速化を実現することが可能となる。
【００３４】
このとき計算する統計量としては、参照画像の探索範囲内の画素値のばらつきの大きさを示すものが用いられ、分散や標準偏差等の、探索範囲内の画素を四則演算した計算結果が挙げられる。特にＳＥＡ方法では、参照画像の画素から〔数２〕式によってＭ（ｘ，ｙ）が求められているので、このＭ（ｘ，ｙ）の統計量を用いることも可能である。
【００３５】
縦横１６画素のマクロブロックに対して、それを中心とする縦横４８画素の大きさの探索範囲を設定した動き探索の場合における動き探索処理の例を示す。図１に、マクロブロックと探索範囲との関係を示す。
この探索範囲内の画素の分散Ｄを統計量として用い、動き探索は従来技術で用いられている上述した方法２（位置間引き）を実行するものとする。
ここで、分散Ｄは、
【００３６】
【数５】
0003860435.tif 000006
【００３７】
で計算される。式中の“ｆａｖｅ”はｆ（ｉ，ｊ，ｔ−１）の平均値を示し、４８＊４８＝２３０４であることから、
【００３８】
【数６】
0003860435.tif 000007
で計算される。
【００３９】
探索位置は縦横にｎ画素ずつずらした位置に配置するとして、配置のパラメータＡｍによるｎの値を指定するものとする（Ａｍ＝ｎ）。例えばＡｍ＝１は全探索を指す。このＡｍは分散Ｄから、
【００４０】
【数７】
0003860435.tif 000008
【００４１】
を使って設定されるものとする。
すなわち、参照画像の分散が大きい場合は、ｎの値を小さくすることで細かな動き探索を行い、参照画像の分散が小さい場合は、ｎの値を大きくすることでそれよりもおおまかな動き探索を行うように設定するものとする。
【００４２】
ここで、Ａｍを求めるためのマクロブロック当たりの計算回数の大きさを見積もることにする。
Ａｍを求めるためのマクロブロック当たりの計算回数は、加算と減算が合わせて４８＊４８＊３回で、乗算と除算が合わせて２回となる。他方、ＭＡＤ１回の計算回数は、加算と減算が合わせて１６＊１６＊２回となる。従って、Ａｍを求めるためのマクロブロック当たりの計算回数は、乗算と除算の回数を省くと、１回のＭＡＤの計算の約２４倍となる。すなわち２４回のＭＡＤの計算分に相当する。ここで、全探索の場合には１マクロブロック当たり３２＊３２＝１０２４回のＭＡＤの計算が必要となることから、このＡｍの計算に要する演算処理は極少と判断できる。
【００４３】
〔数７〕式によれば、分散Ｄが小さいほど探索精度が低下する。しかし、一般に、分散Ｄが小さい場合には、探索位置の移動による予測誤差の変化が少ないため、探索精度の低下による予測誤差の増加は少ない。
従って、第１の本発明によれば、画像内容に依存して、予測誤差の増加を低減しながら、効果的な演算量の削減すなわち高速化が可能となる。
【００４４】
（ロ）第２の本発明の処理
第２の本発明によれば、第１の本発明と同様に、動き探索をする前に、参照画像の統計量を計算することにより、画像内容に応じて予測誤差の増加を効果的に低減しつつ、動き探索処理量の効果的な軽減をして符号化処理の高速化を実現できるだけではなく、動き探索処理を予め設定した時間以内に実行することが可能となる。これにより実時間で符号化を完了することが可能となる。
【００４５】
具体的には、符号化前に、予め設定した各動き探索パラメータに対して、処理時間を求めておき、動き探索目標時間が設定されたときに、その時間以内に完了できるように動き探索を制御する。このとき、制御するパラメータに、参照画像の統計量を用いることにより、効果的に動き探索処理量の低減を行うことが可能である。
【００４６】
例えば、動き探索目標時間Ｔtar が与えられると、予め設定した各動き探索パラメータから基準動き探索パラメータとして、処理時間がＴtar よりも大きいパラメータを１つ（Ａｍ１とする）、処理時間がＴtar よりも小さいパラメータを１つ（Ａｍ２とする）選択する。
そして、Ｔtar 内で動き探索を完了できるようにと、Ａｍ１を実行する目標マクロブロック数Ｎ１と、Ａｍ２を実行する目標マクロブロック数Ｎ２とを、
【００４７】
【数８】
0003860435.tif 000009
【００４８】
【数９】
0003860435.tif 000010
【００４９】
によって求める。
ここで、Ｔam１はＡｍ１の処理時間を示し、Ｔam２はＡｍ２の処理時間を示し、Ｎtotal はフレーム内のマクロブロック総数を示している。
この〔数８〕式は、１マクロブロック当たりのＡｍ１の処理時間が“Ｔam１／Ｎtotal ”で、１マクロブロック当たりのＡｍ２の処理時間が“Ｔam２／Ｎtotal ”であることで、図２に示すような関係式が成立し、これを解くことで導出されることになる。
他方、〔数５〕式で計算される分散Ｄを用いて、各マクロブロックの優先順位Ｏ［ｉ］（ｉはマクロブロック番号を指す）を決定する。優先度が高いほど優先順位の値は小さくなるものとする。
【００５０】
この優先順位Ｏ［ｉ］がＮ１よりも小さい場合には動き探索をＡｍ１で実行し、Ｎ１よりも大きい場合には動き探索をＡｍ２で実行する。
このように、Ａｍ１を実行するマクロブロックと、Ａｍ２を実行するマクロブロックとを、画像内容に依存して決定することにより、予め設定された時間以内に全マクロブロックの動き探索を実行することが可能となる。
【００５１】
（ハ）第３の本発明の処理
第３の本発明は、第２の発明に対して、マクロブロック毎の動き探索によって費やした実際の時間を加算し、フレーム内で費やした時間（フレーム動き探索時間）を求める。この時間を使って動き探索目標時間の残り時間を計算して、残り時間以内に完了できるように動き探索を制御する。
これにより、実際の動き探索時間が、予め設定した動き探索パラメータ時間と異なる場合であっても、必ず実時間で符号化を完了することが可能となる。
【００５２】
例えば、動き探索目標時間Ｔtar が与えられると、予め設定した各動き探索パラメータから基準動き探索パラメータとして、処理時間がＴtar よりも大きいパラメータを１つ（Ａｍ１とする）、処理時間がＴtar よりも小さいパラメータを１つ（Ａｍ２とする）選択する。
そして、Ｔtar 内で動き探索を完了できるように、Ａｍ１を実行する目標マクロブロック数Ｎ１と、Ａｍ２を実行する目標マクロブロック数Ｎ２とを、〔数８〕式と〔数９〕式とによって求める。
【００５３】
他方、〔数５〕式で計算される分散Ｄを用いて、各マクロブロックの優先順位Ｏ［ｉ］（ｉはマクロブロック番号を指す）を決定する。優先度が高いほど優先順位の値は小さくなるものとする。
ここで、現マクロブロックの番号をｉとして、それまでに費やしたフレーム動き探索時間がＴcon だとすると、
Ｔrest＝Ｔtar −Ｔcon
が残り時間となる。
すでにＡｍ１で動き探索したマクロブロック数をＮcon1、Ａｍ２で動き探索したマクロブロック数をＮcon2とすると、
【００５４】
【数１０】
0003860435.tif 000011
【００５５】
を利用して、
▲１▼Ｏ［ｉ］＜Ｎ１の場合
〔数１０〕式を満たせばＡｍ１を選択し、満たさない場合には
Ａｍ２を選択する
▲２▼Ｏ［ｉ］＞＝Ｎ１の場合
Ａｍ２を選択する
というようにして、Ａｍ１かＡｍ２のいずれかを選択できる。
【００５６】
このように、残り時間を考慮しながら、Ａｍ１を実行するマクロブロックと、Ａｍ２を実行するマクロブロックとを、画像内容に依存して決定することにより、予め設定された時間以内に全マクロブロックの動き探索を実行することが可能となる。
【００５７】
【発明の実施の形態】
以下、本発明の実施形態例について図面を参照しつつ説明する。
第１の実施形態例では、参照画像の分散を求めて、分散の大きさに依存して動き探索パラメータを変更する動画像符号化装置について説明する。
【００５８】
ここで、動き探索では探索位置の間引き（方法２）を行うものとする。探索を行う単位は縦横１６画素のマクロブロックとし、探索範囲はマクロブロックを中心とする縦横４８画素とする。分散は、〔数５〕式を使って求めるものとする。探索位置は、縦横にｎ画素ずつずらした位置に配置するとして、配置のパラメータＡｍによるｎの値を指定するものとする（Ａｍ＝ｎ）。Ａｍは、分散から〔数７〕式を使って設定されるものとする。また、参照画像は、動き補償のために作られる前フレームの局所復号画像を使うとする。
【００５９】
図３に、第１の実施形態例の構成を示す。
この図に示すように、第１の実施形態例に従う本発明の動画像符号化装置は、画像入力部１０１と、ブロック動き探索部１０２と、動き補償フレーム間予測符号化部１０３と、参照画像蓄積部１０４と、統計量計算部１０５と、動き探索制御部１０６とを備える。
【００６０】
この第１の実施形態例を実現すべく用意される各処理手段（但し、参照画像蓄積部１０４を除く）は、具体的にはコンピュータプログラムで実現されるものであり、これらのコンピュータプログラムは、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
このような前提の下で、第１の実施形態例に従う本発明の動画像符号化装置は次のように動作する。なお、参照画像蓄積部１０４には前フレームの局所復号画像がすでに蓄積されているものとする。
【００６１】
まず、画像入力部１０１は、現フレームの画像を入力する。統計量計算部１０５は、参照画像蓄積部１０４に蓄積されている参照画像から、全てのマクロブロックに対して、各マクロブロックに対応する探索位置内の画素の分散Ｄを求める。
続いて、動き探索制御部１０６は、マクロブロック毎に、動き探索パラメータＡｍを〔数７〕式に従って決定する。これを受けて、ブロック動き探索部１０２は、決定された動き探索パラメータＡｍに従って、動き探索を行う。
【００６２】
全てのマクロブロックにおいて動き探索を実行した後で、動き補償フレーム間予測符号化部１０３は、動き探索によって求められた動きベクトルを用いて現フレームを符号化し、局所復号画像を作成する。そして、参照画像蓄積部１０４は、この作成された局所復号画像を畜積する。
すなわち、第１の実施形態例に従う本発明の動画像符号化装置は、図４に示す処理フローに従って、動画像の符号化処理を実行するのである。
【００６３】
このように第１の実施形態例によれば、参照画像の分散等の統計量を用いて動き探索パラメータを制御して、予測誤差の増加の少ない演算量の低減をすることが可能である。
次に、第２の実施形態例について説明する。
第２の実施形態例では、符号化前に、予め各動き探索パラメータに対する処理時間（動き探索パラメータ時間）を設定しておき、この値を使って、設定された時間以内で動き探索を実行することにより、実時間で動画像を符号化する仕組みについて説明する。
【００６４】
以下では、動き探索目標時間から２つの基準動き探索パラメータを選び出し、それを基準にして４つの動き探索パラメータを選定して、各マクロブロックの動き探索パラメータを決定する処理例について説明する。
【００６５】
画面の大きさがＧＩＦ（横３５２画素，縦２８８画素）の動画像を、フレームレートが毎秒１０フレームで符号化する場合の動作を示す。フレーム間隔時間は１００ｍｓｅｃであるが、そのうち動き探索目標時間として毎フレーム８０ｍｓｅｃが設定されるものとする。また、参照画像は前フレームの入力画像を使うとする。
【００６６】
図５に、第２の実施形態例の構成を示す。
この図に示すように、第２の実施形態例に従う本発明の動画像符号化装置は、画像入力部１０１と、ブロック動き探索部１０２と、動き補償フレーム間予測符号化部１０３と、参照画像蓄積部１０４と、統計量計算部１０５と、ブロック優先度決定部１０７と、動きパラメータ記憶部１０８と、動き探索時間設定部１０９と、動きパラメータ選択部１１０と、個数閾値決定部１１１と、優先動き探索制御部１１２とを備える。
【００６７】
この第２の実施形態例を実現すべく用意される各処理手段（但し、参照画像蓄積部１０４／動きパラメータ記憶部１０８を除く）は、具体的にはコンピュータプログラムで実現されるものであり、これらのコンピュータプログラムは、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
統計量計算部１０５は、第１の実施形態例と同様に、参照画像の分散を統計量として用いることにする。この分散が大きいほど優先度が高いとする。ｉをマクロブロック番号として、優先順位をＯ［ｉ］と表すことにする。優先度が高いほど優先順位の値は小さくなるものとする。
【００６８】
ブロック優先度決定部１０７は、統計量計算部１０５により算出された分散を使って、各マクロブロック毎に、この優先順位Ｏ［ｉ］を決定する。
ブロック動き探索部１０２で行う動き探索では、探索位置の間引き（方法２）を行うものとする。探索を行う単位は縦横１６画素のマクロブロックとし、探索範囲はマクロブロックを中心とする縦横４８画素とする。探索位置は、縦横にｎ画素ずつずらした位置に配置するとして、配置のパラメータＡｍによるｎの値を指定するものとする（Ａｍ＝ｎ）。ｎは最大１６とする。その他に、全く動き探索を行わずに、０ベクトルを動きベクトルに設定する動き探索方法を選択できるものとする。これをＡｍ＝０で表すものとする。
【００６９】
動きパラメータ記憶部１０８は、動き探索の処理時間（動き探索パラメータ時間）を記憶する。Ａｍ＝ｎの動き探索パラメータ時間をｍｅ＿ｔｉｍｅ［ｎ］として表すとするならば、動きパラメータ記憶部１０８に記録されているｍｅ＿ｔｉｍｅ［ｎ］は、
ｍｅ＿ｔｉｍｅ［０］＝０．０２ｍｓｅｃ
ｍｅ＿ｔｉｍｅ［１］＝２００ｍｓｅｃ
ｍｅ＿ｔｉｍｅ［ｎ］＝ｍｅ＿ｔｉｍｅ［１］／ｎ（０＜ｎ＜＝１６）
であるとする。
【００７０】
ここで、動きパラメータ記憶部１０８は、動き探索パラメータ時間に対応付けられる動き探索命令数の情報を記憶することで、動き探索パラメータ時間を記憶する構成を採ることがあり、このときには、この記憶される動き探索命令数をソフトウェアを実行する演算器の動作周波数で除算することで、動き探索パラメータ時間を特定する機構が用意されることになる。
【００７１】
動きパラメータ選択部１１０は、動きパラメータ記憶部１０８に記憶される動き探索パラメータ時間と、動き探索時間設定部１０９により設定される動き探索目標時間Ｔtar とから、２つの基準動き探索パラメータを選択する。
２つの基準動き探索パラメータＡｍ＝ｓ１，ｓ２の内、ｓ１については、動き探索目標時間Ｔtar との間に、
ｍｅ＿ｔｉｍｅ［ｓ１＋１］＜＝Ｔtar ＜＝ｍｅ＿ｔｉｍｅ［ｓ１〕
の関係にあるものを選択するものとし、ｓ２については、
ｓ２＝ｓ１＋１
によって求められるとする。
【００７２】
すなわち、動きパラメータ選択部１１０は、動き探索パラメータ時間がＴtar よりも大きく、かつＴtar に最も近い動き探索パラメータを基準動き探索パラメータＡｍ＝ｓ１として選択するとともに、動き探索パラメータ時間がＴtar よりも小さく、かつＴtar に最も近い動き探索パラメータを基準動き探索パラメータＡｍ＝ｓ２として選択するのである。
【００７３】
個数閾値決定部１１１は、画面中のマクロブロック総数をＮtotal(画面の大きさがＧＩＦの場合にはＮtotal ＝３９６）と表すならば、動き探索時間設定部１０９により設定される動き探索目標時間Ｔtar と、２つの基準動き探索パラメータ（Ａｍ＝ｓ１，ｓ２）とから、
【００７４】
【数１１】
0003860435.tif 000012
【００７５】
【数１２】
0003860435.tif 000013
【００７６】
【数１３】
0003860435.tif 000014
【００７７】
【数１４】
0003860435.tif 000015
【００７８】
という算出式に従って、目標マクロブロック数Ｎ［ｓ１−１］，Ｎ［ｓ１］，Ｎ［ｓ２］，Ｎ［ｓ２＋１］を求めるものとする。
これらの４つの目標マクロブロック数は、
Ｎ［ｓ１］：Ｎ［ｓ１−１］＝２：１
Ｎ［ｓ２］：Ｎ［ｓ２＋１］＝２：１
を想定することで導出されるものであり、この想定により図６に示すような関係式が成立し、これを解くことで導出されることになる。
【００７９】
優先動き探索制御部１１２は、
▲１▼Ｏ［ｉ］＜Ｎ［ｓ１−１］
ならばＡｍ＝ｓ１−１
▲２▼Ｎ［ｓ１−１］＜＝Ｏ［ｉ］＜Ｎ［ｓ１−１］＋Ｎ［ｓ１］
ならばＡｍ＝ｓ１
▲３▼Ｎ［ｓ１−１］＋Ｎ［ｓ１］＜＝Ｏ［ｉ］
＜Ｎ［ｓ１−１］＋Ｎ［ｓ１］＋Ｎ［ｓ２］
ならばＡｍ＝ｓ２
▲４▼Ｎ［ｓ１−１］＋Ｎ［ｓ１］＋Ｎ［ｓ２］＜＝Ｏ［ｉ］
ならばＡｍ＝ｓ２＋１
という条件に従って、マクロブロック番号ｉのマクロブロックの動き探索パラメータを決定するものとする。
【００８０】
すなわち、優先度の高いマクロブロック（分散の大きいマクロブロック）に対して、小さなｎの値（ｎ画素ずつずらしなが動き探索を行う方法２で用いられるｎの値）が割り当てられることになるようにと、マクロブロックの動き探索パラメータを決定するのである。
このような前提の下で、第２の実施形態例に従う本発明の動画像符号化装置は次のように動作する。なお、参照画像蓄積部１０４には前フレームの入力画像がすでに蓄積されているものとする。
【００８１】
まず、画像入力部１０１は、現フレームの画像を入力する。統計量計算部１０５は、参照画像蓄積部１０４に蓄積されている参照画像から、全てのマクロブロックに対して、各マクロブロックに対応する探索位置内の画素の分散Ｄを求める。ブロック優先度決定部１０７は、各マクロブロックの分散Ｄから、各マクロブロックの優先順位Ｏ［ｉ］を決定する。
【００８２】
動きパラメータ選択部１１０は、動きパラメータ記憶部１０８に記憶される動き探索パラメータ時間と、動き探索時間設定部１０９により設定される動き探索目標時間Ｔtar とから、上述した
ｍｅ＿ｔｉｍｅ［ｓ１＋１］＜＝Ｔtar ＜＝ｍｅ＿ｔｉｍｅ［ｓ１〕
ｓ２＝ｓ１＋１
という式に従って、２つの基準動き探索パラメータＡｍ＝ｓ１，ｓ２を求める。この実施形態例では、Ｔtar ＝８０ｍｓｅｃを想定しているので、「ｓ１＝２，ｓ２＝３」という基準動き探索パラメータが求められる。
【００８３】
個数閾値決定部１１１は、〔数１１〕式〜〔数１４〕式から、目標マクロブロック数を、
Ｎ［１］＝３５
Ｎ［２］＝７０
Ｎ［３］＝１９４
Ｎ［４］＝９７
と求める。
【００８４】
続いて、優先動き探索制御部１１２は、マクロブロック毎に、優先順位Ｏ［ｉ］と目標マクロブロック数とに従って、動き探索パラメータＡｍを決定する。これを受けて、ブロック動き探索部１０２は、決定された動き探索パラメータＡｍに従って、動き探索を行う。
【００８５】
全てのマクロブロックにおいて動き探索を実行した後で、動き補償フレーム間予測符号化部１０３は、動き探索によって求められた動きベクトルを用いて現フレームを符号化する。そして、参照画像蓄積部１０４は、前フレームの入力画像を蓄積する。
【００８６】
すなわち、第２の実施形態例に従う本発明の動画像符号化装置は、図７に示す処理フローに従って、動画像の符号化処理を実行するのである。
このように第２の実施形態例によれば、参照画像の分散等の統計量から求められる優先順位を用いて動き探索パラメータを制御して、予め設定された時間以内に、予測誤差の増加の少ない動き探索処理をすることが可能である。
【００８７】
次に、第３の実施形態例について説明する。
第３の実施形態例では、符号化前に、予め各動き探索パラメータに対する処理時間（動き探索パラメータ時間）を設定しておき、実際に費やした動き探索時間を考慮しながら、設定された時間以内で動き探索を実行することにより、実時間で動画像を符号化する仕組みについて説明する。
【００８８】
以下では、動き探索目標時間から２つの基準動き探索パラメータを選び出し、それを基準にして４つの動き探索パラメータを選定して、各マクロブロックの動き探索パラメータを決定する処理例について説明する。
【００８９】
画面の大きさがＧＩＦ（横３５２画素，縦２８８画素）の動画像を、フレームレートが毎秒１０フレームで符号化する場合の動作を示す。フレーム間隔時間は１００ｍｓｅｃであるが、そのうち動き探索目標時間として毎フレーム８０ｍｓｅｃが設定されるものとする。また、参照画像は前フレームの入力画像を使うとする。
【００９０】
図８に、第３の実施形態例の構成を示す。
この図に示すように、第３の実施形態例に従う本発明の動画像符号化装置は、画像入力部１０１と、ブロック動き探索部１０２と、動き補償フレーム間予測符号化部１０３と、参照画像蓄積部１０４と、統計量計算部１０５と、ブロック優先度決定部１０７と、動きパラメータ記憶部１０８と、動き探索時間設定部１０９と、動きパラメータ選択部１１０と、個数閾値決定部１１１と、優先動き探索制御部１１２と、ブロック動き探索時間計測部１１３と、ブロック動き探索時間加算部１１４と、Ｒ計算部１１５と、Ｍ計算部１１６とを備える。
【００９１】
この第３の実施形態例を実現すべく用意される各処理手段（但し、参照画像蓄積部１０４／動きパラメータ記憶部１０８を除く）は、具体的にはコンピュータプログラムで実現されるものであり、これらのコンピュータプログラムは、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
【００９２】
Ｒ計算部１１５は、図１５の処理フローに示すＳＥＡ方法のステップ１で実行するＲを計算する処理部である。
Ｍ計算部１１６は、図１５の処理フローに示すＳＥＡ方法のステップ１で実行するＭ（ｘ，ｙ）を計算する処理部である。
ブロック動き探索部１０２は、図１５の処理フローに示すＳＥＡ方法のステップ２からステップ５までを実行するものとする。
統計量計算部１０５では、Ｍ計算部１１６で計算したＭの値を使って、参照画像の統計量を求めるものとする。
統計量計算部１０５は、具体的には、例えば、
【００９３】
【数１５】
0003860435.tif 000016
【００９４】
【数１６】
0003860435.tif 000017
【００９５】
によって、参照画像の統計量となるＭの分散ＤＭを求める。Ｍの分散ＤＭは画素の分散Ｄよりも計算量が少ないため、Ｍの分散ＤＭを用いた方がより高速に統計量を算出することができる。
【００９６】
ブロック優先度決定部１０７は、統計量計算部１０５により算出されたＭの分散ＤＭを使って、各マクロブロック毎に、マクロブロックｉの優先順位Ｏ［ｉ］を決定する。Ｍの分散ＤＭが大きいほど優先度が高いとし、優先度が高いほど優先順位の値は小さくなるものとする。
【００９７】
ブロック動き探索部１０２で行う動き探索では、探索位置の間引き（方法２）を行うものとする。探索を行う単位は縦横１６画素のマクロブロックとし、探索範囲はマクロブロックを中心とする縦横４８画素とする。探索位置は、縦横にｎ画素ずつずらした位置に配置するとして、配置のパラメータＡｍによるｎの値を指定するものとする（Ａｍ＝ｎ）。ｎは最大１６とする。その他に、全く動き探索を行わずに、０ベクトルを動きベクトルに設定する動き探索方法を選択できるものとする。これをＡｍ＝０で表すものとする。
【００９８】
動きパラメータ記憶部１０８は、動き探索の処理時間（動き探索パラメータ時間）を記憶する。Ａｍ＝ｎの動き探索パラメータ時間をｍｅ＿ｔｉｍｅ［ｎ］として表すとするならば、動きパラメータ記憶部１０８に記録されているｍｅ＿ｔｉｍｅ［ｎ］は、
ｍｅ＿ｔｉｍｅ［０］＝０．０２ｍｓｅｃ
ｍｅ＿ｔｉｍｅ［１］＝２００ｍｓｅｃ
ｍｅ＿ｔｉｍｅ［ｎ］＝ｍｅ＿ｔｉｍｅ［１］／ｎ（０＜ｎ＜＝１６）
であるとする。
【００９９】
動きパラメータ選択部１１０は、２つの基準動き探索パラメータＡｍ＝ｓ１，ｓ２として、
ｍｅ＿ｔｉｍｅ［ｓ１＋１］＜＝Ｔtar ＜＝ｍｅ＿ｔｉｍｅ［ｓ１〕
の関係にあるものと、
ｓ２＝ｓ１＋１
の関係にあるものとを選択するものとする。
【０１００】
個数閾値決定部１１１は、画面中のマクロブロック総数をＮtotal(画面の大きさがＧＩＦの場合にはＮtotal ＝３９６）と表すならば、上述した〔数１１〕式〜〔数１４〕式によって、目標マクロブロック数Ｎ［ｓ１−１］，Ｎ［ｓ１］，Ｎ［ｓ２］，Ｎ［ｓ２＋１］を求めるものとする。
【０１０１】
優先動き探索制御部１１２は、ブロック動き探索時間加算部１１４により算出されるフレーム動き探索時間Ｔcon を使い、次のようにして各マクロブロックの動き探索パラメータを決定するものとする。
【０１０２】
ここで、この実施形態例では、各動き探索パラメータで動き探索を実行するマクロブロック数に依存して動き探索パラメータを決定するために、マクロブロック数をカウントするための制御マクロブロック数を定義する。
【０１０３】
動き探索パラメータｓ１−１，ｓ１，ｓ２，ｓ２＋１に対して、それぞれ制御マクロブロック数Ｎ１，Ｎ２，Ｎ３，Ｎ４を定義する。そして、これらの制御マクロブロック数Ｎ１，Ｎ２，Ｎ３，Ｎ４の初期値として、
Ｎ１＝Ｎ［ｓ１−１］
Ｎ２＝Ｎ［ｓ１］
Ｎ３＝Ｎ［ｓ２］
Ｎ４＝Ｎ［ｓ２＋１］
を設定する。
この制御マクロブロック数を使い、優先動き探索制御部１１２は、マクロブロック番号ｉのマクロブロックの動き探索パラメータを次のように決定する。
【０１０４】
まず、優先動き探索制御部１１２は、次の条件に従って、
▲１▼Ｏ［ｉ］＜Ｎ［ｓ１−１］
ならばＮ１＝Ｎ１−１
▲２▼Ｎ［ｓ１−１］＜＝Ｏ［ｉ］＜Ｎ［ｓ１−１］＋Ｎ［ｓ１］
ならばＮ２＝Ｎ２−１
▲３▼Ｎ［ｓ１−１］＋Ｎ［ｓ１］＜＝Ｏ［ｉ］
＜Ｎ［ｓ１−１］＋Ｎ［ｓ１］＋Ｎ［ｓ２］
ならばＮ３＝Ｎ３−１
▲４▼Ｎ［ｓ１−１］＋Ｎ［ｓ１］＋Ｎ［ｓ２］＜＝Ｏ［ｉ］
ならばＮ４＝Ｎ４−１
制御マクロブロック数Ｎ１，Ｎ２，Ｎ３，Ｎ４の値を１つ減算をする。
【０１０５】
続いて、優先動き探索制御部１１２は、動き探索目標時間Ｔtar と、直前のマクロブロックまでのフレーム動き探索時間Ｔcon とから、残りのマクロブロックのための動き探索時間Ｔrest
Ｔrest＝Ｔtar −Ｔcon
を求めて、この残り動き探索時間Ｔrestを使って、処理対象となっているマクロブロックのための動き探索時間Ｔｍｂ［ｉ］を、
【０１０６】
【数１７】
0003860435.tif 000018
【０１０７】
によって求める。
すなわち、〔数１７〕式の右辺のＴrestを除いた部分は、残されているマクロブロックの動き探索に要する時間を示していることから、図９に示すように、Ｔrestからこの部分の値を引き算することで、処理対象となっているマクロブロックのための動き探索時間Ｔｍｂ［ｉ］を算出するのである。
【０１０８】
そして、優先動き探索制御部１１２は、この算出した動き探索時間Ｔｍｂ［ｉ］から、次の条件に従って、
▲１▼Ｔｍｂ［ｉ］＜ｍｅ＿ｔｉｍｅ［０］／Ｎtotal
ならばＡｍ＝０
▲２▼Ｔｍｂ［ｉ］＞＝ｍｅ＿ｔｉｍｅ［１］／Ｎtotal
ならばＡｍ＝１
▲３▼ｍｅ＿ｔｉｍｅ［ｊ＋１］／Ｎtotal ＜＝Ｔｍｂ［ｉ］
＜ｍｅ＿ｔｉｍｅ［ｊ］／Ｎtotal
ならばＡｍ＝ｊ＋１（ｊは正の整数）
動き探索パラメータＡｍを決定する。
【０１０９】
すなわち、優先動き探索制御部１１２は、許される残り時間の範囲内で、可能な限り高精度の動き探索を実行するようにと、動き探索パラメータＡｍを決定するのである。
このような前提の下で、第３の実施形態例に従う本発明の動画像符号化装置は次のように動作する。なお、参照画像蓄積部１０４には前フレームの入力画像がすでに蓄積されているものとする。
【０１１０】
まず、画像入力部１０１は、現フレームの画像（現画像）を入力する。Ｒ計算部１１５は、現画像からすべての画素のＲを計算する。Ｍ計算部１１６は、参照画像蓄積部１０４に蓄積されている参照画像から、すべての探索位置のＭを計算する。
統計量計算部１０５は、Ｍ計算部１１６で計算したＭの値から、全てのマクロブロックに対して、各マクロブロックに対応する探索位置内のＭの分散ＤＭを求める。ブロック優先度決定部１０７は、各マクロブロックのＭの分散ＤＭから、各マクロブロックの優先順位Ｏ［ｉ］を決定する。
【０１１１】
動きパラメータ選択部１１０は、動きパラメータ記憶部１０８に記憶される動き探索パラメータ時間と、動き探索時間設定部１０９により設定される動き探索目標時間Ｔtar とから、上述した
ｍｅ＿ｔｉｍｅ［ｓ１＋１］＜＝Ｔtar ＜＝ｍｅ＿ｔｉｍｅ［ｓ１〕
ｓ２＝ｓ１＋１
という式に従って、２つの基準動き探索パラメータＡｍ＝ｓ１，ｓ２を求める。この実施形態例では、Ｔtar ＝８０ｍｓｅｃを想定しているので、「ｓ１＝２，ｓ２＝３」という基準動き探索パラメータが求められる。
【０１１２】
個数閾値決定部１１１は、〔数１１〕式〜〔数１４〕式から、目標マクロブロック数を、
Ｎ［１］＝３５
Ｎ［２］＝７０
Ｎ［３］＝１９４
Ｎ［４］＝９７
と求める。
【０１１３】
続いて、優先動き探索制御部１１２は、マクロブロック毎に、優先順位Ｏ［ｉ］に従って、動き探索パラメータＡｍを決定する。
次に、マクロブロック番号ｉのマクロブロックの動き探索パラメータを決定する手順について示す。
このとき、すでに、ブロック動き探索時間計測部１１３は、直前のマクロブロック番号ｉ−１のマクロブロックの動き探索時間を求めており、これに応じて、ブロック動き探索時間加算部１１４は、マクロブロック番号ｉ−１までのフレーム動き探索時間Ｔcon を求めており、このＴcon が４０ｍｓｅｃであったとする。
また、マクロブロック番号ｉ−１までの制御マクロブロック数は、
Ｎ１＝２０
Ｎ２＝３０
Ｎ３＝１０１
Ｎ４＝４０
であったとする。
【０１１４】
処理対象となるマクロブロックの優先順位Ｏ［ｉ］が２００であったとすると、
Ｎ［１］＋Ｎ［２］＜Ｏ［ｉ］＜Ｎ［１］＋Ｎ［２］＋Ｎ［３］
であることから、優先動き探索制御部１１２は、Ｎ３＝Ｎ３−１＝１００を計算する。
【０１１５】
残りのマクロブロックに使用できる動き探索時間は、
Ｔrest＝Ｔtar −Ｔcon ＝８０−４０＝４０ｍｓｅｃ
であることから、優先動き探索制御部１１２は、マクロブロック番号ｉのマクロブロックの動き探索のための目標時間として、〔数１７〕式に従って、
Ｔｍｂ［ｉ］＝40-(20*200+30*100+100*66.7+40*50)/396
＝０．４３
を算出する。
【０１１６】
従って、優先動き探索制御部１１２は、
ｍｅ＿ｔｉｍｅ［１］／Ｎtotal ＝０．５１
ｍｅ＿ｔｉｍｅ［２］／Ｎtotal ＝０．２５
であることで、処理対象となるマクロブロックｉのマクロブロックの動き探索パラメータとして、Ａｍ＝２であることを決定する。
【０１１７】
続いて、ブロック動き探索部１０２は、決定された動き探索パラメータＡｍに従って、動き探索を行う。このとき、ブロック動き探索時間計測部１１３は、動き探索時間を求め、ブロック動き探索時間加算部１１４は、フレーム動き探索時間Ｔcon を求める。
全てのマクロブロックにおいて動き探索を実行した後で、動き補償フレーム間予測符号化部１０３は、動き探索によって求められた動きベクトルを用いて現フレームを符号化する。参照画像蓄積部１０４には、前フレームの入力画像を蓄積する。
【０１１８】
すなわち、第３の実施形態例に従う本発明の動画像符号化装置は、図１０及び図１１に示す処理フローに従って、動画像の符号化処理を実行するのである。
このように第３の実施形態例によれば、実際に費やした処理時間と、参照画像の分散等の統計量から求められる優先順位を用いて動き探索パラメータを制御して、予め設定された時間以内に、予測誤差の増加の少ない動き探索処理をすることが可能である。
【０１１９】
【発明の効果】
本発明によれば、参照画像の分散等の統計量で動き探索パラメータを制御することで、動き探索処理を効果的に高速化することができるようになる。
そして、本発明によれば、参照画像の分散等の統計量で動き探索パラメータを制御することで、動き探索処理を効果的に高速化するときに、予め設定された時間以内に、その動き探索処理を実行することができるようになる。
【０１２０】
そして、本発明によれば、参照画像の分散等の統計量で動き探索パラメータを制御することで、動き探索処理を効果的に高速化するときに、実際に動き探索に費やした時間を考慮することで、予め設定された時間以内に、その動き探索処理を確実に実行することができるようになる。
【図面の簡単な説明】
【図１】マクロブロックと探索範囲との関係図である。
【図２】目標マクロブロック数の算出処理の説明図である。
【図３】第１の実施形態例である。
【図４】第１の実施形態例で実行する処理フローの一実施形態例である。
【図５】第２の実施形態例である。
【図６】目標マクロブロック数の算出処理の説明図である。
【図７】第２の実施形態例で実行する処理フローの一実施形態例である。
【図８】第３の実施形態例である。
【図９】マクロブロックのための動き探索時間の算出処理の説明図である。
【図１０】第３の実施形態例で実行する処理フローの一実施形態例である。
【図１１】第３の実施形態例で実行する処理フローの一実施形態例である。
【図１２】動き探索範囲の説明図である。
【図１３】動き探索処理の説明図である。
【図１４】動き探索処理の説明図である。
【図１５】ＳＥＡ方法の説明図である。
【符号の説明】
１０１  画像入力部
１０２  ブロック動き探索部
１０３  動き補償フレーム間予測符号化部
１０４  参照画像蓄積部
１０５  統計量計算部
１０６  動き探索制御部
１０７  ブロック優先度決定部
１０８  動きパラメータ記憶部
１０９  動き探索時間設定部
１１０  動きパラメータ選択部
１１１  個数閾値決定部
１１２  優先動き探索制御部
１１３  ブロック動き探索時間計測部
１１４  ブロック動き探索時間加算部
１１５  Ｒ計算部
１１６  Ｍ計算部
【図１】
0003860435.tif 000019
【図２】
0003860435.tif 000020
【図３】
0003860435.tif 000021
【図４】
0003860435.tif 000022
【図５】
0003860435.tif 000023
【図６】
0003860435.tif 000024
【図７】
0003860435.tif 000025
【図８】
0003860435.tif 000026
【図９】
0003860435.tif 000027
【図１０】
0003860435.tif 000028
【図１１】
0003860435.tif 000029
【図１２】
0003860435.tif 000030
【図１３】
0003860435.tif 000031
【図１４】
0003860435.tif 000032
【図１５】
0003860435.tif 000033