(57)【要約】【課題】グローバル動きを規定するグローバル動きパラメータを推定する際、画像全体とは異なる動きを持つ局所領域が画像内に存在すると、最適なグローバル動きパラメータを得るまでに時間を要するという問題を解決する。【解決手段】ブロック毎に参照フレームに対し設定されたグローバル動きパラメータに従って動き補償予測を行い、内部画素の予測画素値および予測誤差を得る（ステップ５０１，１０２）。グローバル動き補償予測時の予測誤差パワーとブロック動き推定時に算出したブロック動き補償予測誤差パワーとを比較し、後者が十分小さい場合そのブロックはグローバル動きとは外れた局所領域とみなして、該当ブロック内の画素をパラメータ更新に用いる参照点から除外し（ステップ５０３）、グローバル動きパラメータの更新を行う（ステップ５０５）。以上の処理を繰り返して最適なグローバル動きパラメータを得る。【選択図】　　　図５
2004064518.tif 000002
【特許請求の範囲】
【請求項１】
連続するフレームからなる動画像に対し、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測と、ブロック単位の動きを平行移動によって補償するブロック動き補償予測とを、ブロック毎に切り替えて符号化を行う動画像符号化方法であって、
ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するブロック動き推定処理と、
現在フレームおよび参照フレームを参照し、対象画素の予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するグローバル動き推定処理と、
ブロック毎に、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するブロック符号化処理とからなり、
グローバル動き推定処理が、前記ブロック動き推定処理によって算出されたブロック動き補償予測誤差パワーをもとにグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法。
【請求項２】
前記グローバル動き推定処理が、
現在フレームおよび参照フレームをそれぞれ階層的に縮小し、複数組の縮小現在フレームと縮小参照フレームを生成する縮小画像生成処理と、
ブロック動き推定処理の算出した一つ以上の動きベクトルを参照し、最も解像度の小さい前記現在フレームに合わせて推定したグローバル動きパラメータを初期グローバル動きパラメータとして設定する初期値設定処理と、
前記複数組の縮小現在フレームと縮小参照フレーム、もしくは前記現在フレームと前記参照フレームを段階的に参照し、画像の解像度に合わせて順次高精度化したグローバル動きパラメータを算出するグローバル動きパラメータ算出処理とを備え、
グローバル動きパラメータ算出処理が、まず最も解像度の小さい縮小現在フレームと縮小参照フレームに対し、前記初期値設定処理で得られた初期グローバル動きパラメータをもとに最適なグローバル動きパラメータを算出した後、次に大きいフレームの解像度にあわせて前記最適なグローバル動きパラメータを変換し、それを初期グローバル動きパラメータとしてグローバル動きパラメータ算出処理を繰り返し行うことを特徴とする請求項１に記載の動画像符号化方法。
【請求項３】
前記ブロック符号化処理が、動きベクトルとグローバル動きパラメータを参照し、ブロック動き補償予測とグローバル動き補償のいずれかを選択して予測画像を生成し、現在フレームとの差分信号を符号化することを特徴とする請求項１に記載の動画像符号化方法。
【請求項４】
前記ブロック動き推定処理が、全ブロックのブロック動き補償予測誤差パワーをメモリに保持し、
グローバル動き推定処理が前記メモリに保持されたブロック動き補償予測誤差パワーを参照してグローバル動きパラメータ推定に用いる画素を限定することを特徴とする請求項１に記載の動画像符号化方法。
【請求項５】
前記グローバル動きパラメータ算出処理が、
設定された初期グローバル動きパラメータを参照し、画素毎に予測画素値を生成する予測画素値算出処理と、
前記予測画素と対応する現在フレームの画素値との差分を算出する差分信号算出処理と、
前記差分信号よりブロック毎にグローバル動き補償予測誤差パワーを算出し、同一ブロックのブロック動き補償予測誤差パワーと比較して、ブロック動き補償予測の方が予測効率に優れているブロックの画素をグローバル動きパラメータ推定に用いる参照点から除去する参照点限定処理と、
画像内の全参照点における予測画素値および差分信号を元に、グローバル動きパラメータを更新するグローバル動きパラメータ更新処理と、
前記差分信号と前記更新されたグローバル動きパラメータのいづれか、もしくは双方があらかじめ定められた条件を満たす場合にグローバル動き推定処理を終了し、そうでない場合には前記差分信号算出処理に立ち戻って一連の推定処理を続けるパラメータ収束判定処理とからなることを特徴とする請求項２に記載の動画像符号化方法。
【請求項６】
前記初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部の平均ベクトルをグローバルな動きとみなし、グローバル動きパラメータを決定することを特徴とする請求項２に記載の動画像符号化方法。
【請求項７】
前記初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部について、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定することを特徴とする請求項２に記載の動画像符号化方法。
【請求項８】
前記参照点限定処理において、ブロック動き補償予測誤差パワーよりも、対応するグローバル動き補償予測誤差パワーが大きく、かつ、両者の差がある閾値より大きい場合に、該ブロック内画素を参照点から除去することを特徴とする請求項５に記載の動画像符号化方法。
【請求項９】
前記予測画素値算出処理が、グローバル動きパラメータに従って画像内の各画素の座標に幾何変換をほどこし、得られた座標が整数値をとる場合には同位置における参照フレーム上の画素値を出力し、そうでない場合には参照フレーム上で近傍にある複数の画素値をもとに内挿処理を行い得られた画素値を出力することを特徴とする請求項５に記載の動画像符号化方法。
【請求項１０】
前記グローバル動きパラメータ更新処理が、参照点の予測画素値におけるｘ方向およびｙ方向の勾配とグローバル動きパラメータによる幾何変換の関係から、予測画素値とグローバル動きパラメータとの偏微分量を算出し、参照点全体の予測誤差パワーが減少する方向にグローバル動きパラメータを変動させることを特徴とする請求項５に記載の動画像符号化方法。
【請求項１１】
前記パラメータ収束判定処理が、更新後パラメータの変動量がある閾値以下の場合にグローバル動き推定処理を終了することを特徴とする請求項５に記載の動画像符号化方法。
【請求項１２】
プロセッサと、該プロセッサに所定の処理を実行させるコンピュータプログラムを格納させると共に該プロセッサが前記所定の処理を実行している間に一時記憶としても動作する記憶手段とを備え、前記プロセッサが前記コンピュータプログラムに従って前記所定の処理を実行することにより、連続するフレームからなる動画像に対して、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測とブロック単位の動きを平行移動によって補償するブロック動き補償予測とをブロック毎に切り替えて符号化を行う動画像符号化装置において、
前記所定の処理は、
ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するステップと、
現在フレームおよび参照フレームを参照し、ブロック毎に前記ブロック動き補償予測誤差パワーをもとに限定された画素に対して、画素値の勾配に基づき予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するステップと、
ブロック毎に、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するステップと
を備えることを特徴とする動画像符号化装置。
【請求項１３】
プロセッサと一時記憶として動作する記憶手段とを備えたコンピュータシステムにおいて前記プロセッサに対して所定の処理を実行させ、前記コンピュータシステムを、連続するフレームからなる動画像に対して、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測とブロック単位の動きを平行移動によって補償するブロック動き補償予測とをブロック毎に切り替えて符号化を行う動画像符号化装置として機能させるためのコンピュータプログラムであって、
前記所定の処理は、
ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するステップと、
現在フレームおよび参照フレームを参照し、ブロック毎に前記ブロック動き補償予測誤差パワーをもとに限定された画素に対して、画素値の勾配に基づき予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するステップと、
ブロック毎に、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するステップと
を備えることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像全体を幾何変換することでズームやパンなどカメラの動きによる画像全体の変化を一括して補償するグローバル動き補償予測を用いる動画像符号化方法、装置およびそのプログラムに係わり、とくにグローバル動きの幾何変換を表すパラメータであるグローバル動きパラメータの推定方法に関する。
【０００２】
【従来の技術】
グローバル動き補償予測を用いた動画像符号化方法は、カメラの動きによる平行移動、拡大縮小、回転といった画面全体の動きを数個のパラメータによって定まる幾何変換として表現するため、適切なシーンに用いることで高い符号化効率を実現できるという特長がある。グローバル動き補償予測で用いられる幾何変換には、平行移動、アフィン変換、透視変換などがある。国際標準符号化方式であるＭＰＥＧ−４では、動画像シーケンスの最初に静止画像を符号化し、フレーム毎にグローバル動きパラメータを用いて画像全体の動きを補償することで動画を再構成するスプライトという技法が用いられている。また、符号化単位となるブロックに対し平行移動を表す動きベクトルを用いて動き補償を行うブロック動き補償予測と、グローバル動き補償予測とを、ブロック毎に切り替えて符号化する方法もあわせて記載されている。
【０００３】
グローバル動き補償予測を用いて動画像を符号化する場合、グローバル動きパラメータを推定する必要がある。従来よりグローバル動きを算出する方法としては、符号化単位となるブロック毎の動きを平行移動によって補償するための動き情報である動きベクトルを用いるものがある。すなわち最小二乗法などの方法を用いることで、複数の動きベクトルを統合するグローバル動きパラメータを生成する。特開２０００−２７８６９４、特開２０００−１０２０１９、特開平０９−２６６５７４、特開平０８−２４２４５４はいずれも、この方法に準じた技術である。しかし、平行移動のみによってマッチングを行うブロックの動きベクトルをもとにしたグローバル動き推定は、ズームや回転などの動きに対して十分な精度を有さないといった問題があった。それに対して近年、画素毎の予測誤差や近接との画素値勾配に基づいて予測誤差パワーが最小になるよう更新処理を繰り返し行うことで、グローバル動きパラメータを算出する方法が用いられている。以下に、従来方法として、このグローバル動き推定方法について説明する。
【０００４】
図４は、ＩＥＥＥ　Ｔｒａｎｓａｃｔｉｏｎｓ　ｏｎ　Ｉｍａｇｅ　Ｐｒｏｃｅｓｓｉｎｇ，ｖｏｌ．９，ｎｏ．３，Ｍａｒｃｈ　２０００，”Ｅｆｆｉｃｉｅｎｔ，Ｒｏｂｕｓｔ，ａｎｄ　Ｆａｓｔ　Ｇｌｏｂａｌ　Ｍｏｔｉｏｎ　Ｅｓｔｉｍａｔｉｏｎ　ｆｏｒ　Ｖｉｄｅｏ　Ｃｏｄｉｎｇ”に記載のグローバル動き推定処理の流れを記すフローチャートである。まず現在フレームおよびフレームメモリに格納されている参照フレームに対し、解像度が１／２，１／４の縮小画像を生成する（ステップ４０１）。初期値を設定した後（ステップ４０２）、グローバル動きパラメータ算出処理（ステップ４０５）を解像度の小さい画像から大きい画像へと繰り返し行うことで、最適なグローバル動きパラメータを得る。
このうち、グローバル動きパラメータ算出処理について図７を用いて詳説する。まず参照フレームに対してグローバル動き補償予測を行い、画像内の各画素の予測画素値を算出し（ステップ７０１）、現在フレーム上の画素値との予測誤差を算出する（ステップ７０２）。その後、予測誤差パワーの大きい画素を参照点から除外する（ステップ７０３）。除外される画素は、予測誤差パワーをソートした際、上位ａ％に含まれるものとする。全画素について予測誤差が求まった後（ステップ７０４）、グローバル動きパラメータ更新に用いる画素である参照点の予測画素値および予測誤差を参照して画像全体の予測誤差パワーが減少する方向にグローバル動きパラメータを更新する（ステップ７０５）。このときパラメータが収束条件を満たしていれば、更新処理は終了する（ステップ７０６）。
【０００５】
【発明が解決しようとする課題】
前記従来方法においては、グローバル動きパラメータを算出するのに用いる参照点の判定基準は画素分布や動きの複雑度にかかわらず一意に決まっている。そのため本来グローバル動きで補償できない画素を参照しうる。繰り返し処理によって最適なパラメータ推定を行う場合には、モデルにマッチしない局所的なずれ、すなわち統計的ゆらぎが存在するほど、最適値に収束するまでに時間を要する。従来の方法では、画像内に局所的な動きを持つ領域が存在するほど、演算量が増大するといった問題があった。
【０００６】
【課題を解決するための手段】
本発明に示す動画像符号化方法によれば、前記従来方法におけるグローバル動きパラメータ算出処理について、ブロック毎にグローバル動き補償時の予測誤差パワーとブロック動き補償予測誤差パワーとを比較し、後者が十分小さい場合当該ブロック内画素をグローバル動きから外れた局所領域とみなし、グローバル動きパラメータ更新に用いる参照点から除外する。
具体的には、本発明によれば以下に掲げるような動画像符号化方法が得られる。すなわち、本発明によれば、連続するフレームからなる動画像に対し、参照フレームを幾何変換することで画面全体の動きを一括して補償するグローバル動き補償予測と、ブロック単位の動きを平行移動によって補償するブロック動き補償予測とを、ブロック毎に切り替えて符号化を行う第１の動画像符号化方法として、ブロック毎に参照フレームと現在フレームの間の平行移動情報を表す動きベクトルを推定するとともに、ブロック動き補償予測誤差パワーを算出するブロック動き推定処理と、前記参照フレームと現在フレームの間のグローバル動きを記述するグローバル動きパラメータを算出するグローバル動き推定処理と、前記動きベクトルと前記グローバル動きパラメータのいずれか一方を参照して動き補償フレーム間予測を行い、現在フレームにおけるブロック内画素を符号化するブロック符号化処理とを備え、グローバル動き推定処理が、前記ブロック動き推定処理によって算出されたブロック動き補償予測誤差パワーをもとにグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法が得られる。
【０００７】
さらに、本発明によれば、第２の動画像符号化方法として、前記第１の動画像符号化方法において、グローバル動き推定処理が、現在フレームおよび参照フレームをそれぞれ階層的に縮小し、複数組の縮小現在フレームと縮小参照フレームを生成する縮小画像生成処理と、ブロック動き推定処理の算出した一つ以上の動きベクトルを参照し、最小解像度の画像に合わせて推定したグローバル動きパラメータを初期グローバル動きパラメータとして設定する初期値設定処理と、前記複数組の縮小現在フレームと縮小参照フレーム、もしくは前記現在フレームと前記参照フレームを段階的に参照し、画像の解像度に合わせて順次高精度化したグローバル動きパラメータを算出するグローバル動きパラメータ算出処理とを備えることを特徴とする動画像符号化方法が得られる。グローバル動きパラメータ算出処理は、まず最も解像度の小さい前記縮小現在フレームと前記縮小参照フレームに対し、前記初期値設定処理で得られた初期グローバル動きパラメータをもとに最適なグローバル動きパラメータを算出した後、次に大きいフレームの解像度にあわせて前記最適なグローバル動きパラメータを変換し、それを初期グローバル動きパラメータとしてグローバル動きパラメータ算出処理を繰り返し行う。
【０００８】
また、本発明によれば、第３の動画像符号化方法として、前記第１の動画像符号化方法において、ブロック符号化処理が、動きベクトルとグローバル動きパラメータを参照し、ブロック動き補償予測とグローバル動き補償のいずれかを選択して予測画像を生成し、現在フレームとの差分信号を符号化することを特徴とする動画像符号化方法が得られる。
【０００９】
また、本発明によれば、第４の動画像符号化方法として、前記第１の動画像符号化方法において、ブロック動き推定処理が、全ブロックのブロック動き補償予測誤差パワーをメモリに保持し、グローバル動き推定処理が前記メモリに保持されたブロック動き補償予測誤差パワーを参照してグローバル動きパラメータ推定に用いる画素を限定することを特徴とする動画像符号化方法が得られる。
【００１０】
さらに本発明によれば、第５の動画像符号化方法として、前記第２の動画像符号化方法において、グローバル動きパラメータ算出処理が、設定された初期グローバル動きパラメータを参照し、画素毎に予測画素値を生成する予測画素値算出処理と、前記予測画素と対応する現在フレームの画素値との差分を算出する差分信号算出処理と、前記差分信号よりブロック毎にグローバル動き補償予測誤差パワーを算出し、同一ブロックのブロック動き補償予測誤差パワーと比較して、ブロック動き補償予測の方が予測効率に優れているブロックの画素をグローバル動きパラメータ推定に用いる参照点から除去する参照点限定処理と、画像内の全参照点における予測画素値および差分信号を元に、グローバル動きパラメータを更新するグローバル動きパラメータ更新処理と、前記差分信号と前記更新されたグローバル動きパラメータのいづれか、もしくは双方があらかじめ定められた条件を満たす場合にグローバル動き推定処理を終了し、そうでない場合には前記差分信号算出処理に立ち戻って一連の推定処理を続けるパラメータ収束判定処理とを備えることを特徴とする動画像符号化方法が得られる。
【００１１】
また、本発明によれば、第６の動画像符号化方法として、前記第２の動画像符号化方法において、初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部の平均ベクトルをグローバルな動きとみなし、グローバル動きパラメータを決定することを特徴とする動画像符号化方法が得られる。
【００１２】
また、本発明によれば、第７の動画像符号化方法として、前記第２の動画像符号化方法において、初期値設定処理が、ブロック動き推定処理の算出した動きベクトルの全体もしくは一部について、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定することを特徴とする動画像符号化方法が得られる。
【００１３】
さらに、本発明によれば、第８の動画像符号化方法として、前記第５の動画像符号化方法において、参照点限定処理において、ブロック動き補償予測誤差パワーよりも、対応するグローバル動き補償予測誤差パワーが大きく、かつ、両者の差がある閾値より大きい場合に、該ブロック内画素を参照点から除去することを特徴とする動画像符号化方法が得られる。
【００１４】
また、本発明によれば、第９の動画像符号化方法として、前記第５の動画像符号化方法において、予測画素値算出処理が、グローバル動きパラメータに従って画像内の各画素の座標に幾何変換をほどこし、得られた座標が整数値をとる場合には同位置における参照フレーム上の画素値を出力し、そうでない場合には参照フレーム上で近傍にある複数の画素値をもとに内挿処理を行い得られた画素値を出力することを特徴とする動画像符号化方法が得られる。
【００１５】
また、本発明によれば、第１０の動画像符号化方法として、前記第５の動画像符号化方法において、パラメータ更新処理が、参照点の予測画素値におけるｘ方向およびｙ方向の勾配とグローバル動きパラメータによる幾何変換の関係から、予測画素値とグローバル動きパラメータとの偏微分量を算出し、参照点全体の予測誤差パワーが減少する方向にグローバル動きパラメータを変動させることを特徴とする動画像符号化方法が得られる。
【００１６】
また、本発明によれば、第１１の動画像符号化方法として、前記第５の動画像符号化方法において、パラメータ収束判定処理が更新後パラメータの変動量がある閾値以下の場合にグローバル動き推定処理を終了することを特徴とする動画像符号化方法が得られる。
【００１７】
なお、これらの動画像符号化方法は、例えば、プロセッサと記憶手段とを備えたコンピュータシステム上においてプロセッサにより実行させることによりコンピュータシステムを動画像符号化装置として動作させるようなコンピュータプログラムの形式にて実現させることができ、また、当該コンピュータプログラムを予め記憶手段に格納したようなコンピュータシステムからなる動画像符号化装置としても実現することができる。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態による動画像符号化方法およびそれを実現した動画像符号化装置について図面を用いて詳細に説明する。
本発明の実施の形態による動画像符号化装置は、図１に示されるように、プロセッサ１１、記憶部１２、Ｉ／Ｏインターフェース１３を備えており、それらはパスを介して互いに接続されている。ここで、記憶部１２は、プロセッサ１１が実行すべき動画像符号化プログラムを格納していると共に、プロセッサ１１が動画像符号化プログラムを実行中の一時記憶としての役割も果たす。なお、この「記憶部」という語は、本明細書において、ＲＡＭなどの主記憶の他、現在販売されているＣＰＵ（ＭＰＵ）に含まれるキャッシュメモリやプロセッサ１１に含まれるレジスタ、更には、ハードディスク装置など、あらゆる記憶装置を示すものとして用いられる。また、本実施の形態において、Ｉ／Ｏインターフェース１３は、プロセッサ１１の制御に応じて入力画像を入力したり出力となる符号化データを出力するための媒介手段である。ただし、このＩ／Ｏインターフェース１３の存在は、他のプログラムにより求められた入力画像を一旦記憶部１２に格納し、それを記憶部１２から読み出すことで、本実施の形態による動画像符号化方法を実行することを妨げるものではない。
【００１９】
以下に、本実施の形態による動画像符号化方法、即ち動画像符号化装置の動作について説明する。なお、本実施の形態による動画像符号化装置の動作は、プロセッサ１１が記憶部１２に格納された動画像符号化プログラムを実行することにより、実現されるものであるので、以下においては説明を明瞭にするため、動作主体については逐一言及することなくその動作のみに着目して説明することとする。
図２は、動画像符号化方法における処理の流れを示すフローチャートである。図２によると、動画像符号化方法は、ブロック動き推定処理（ステップ２０１）と、グローバル動き推定処理（ステップ２０２）と、ブロック符号化処理（ステップ２０４）とからなる。すなわち、まず始めに、入力となる現在フレームとフレームメモリに格納された参照フレームとを参照してブロック動き推定処理（ステップ２０１）が行われ、ブロック毎の動きベクトルが得られる。次いで、入力となる現在フレームとフレームメモリに格納された参照フレームとを参照してグローバル動き推定処理（ステップ２０２）が行われ、グローバル動きパラメータが得られる。その後、画像内先頭ブロックより（ステップ２０３）順次ブロック符号化処理を行う（ステップ２０４）。最終ブロックのブロック符号化処理が終了した時点で、１フレームの符号化は終了する（ステップ２０５）。
【００２０】
ブロック動き推定処理について、さらに詳しく説明する。図３は、ブロック動き推定処理の流れを示すフローチャートである。ブロック動き推定は３段階の探索処理によって行われる。まず、解像度を１／２に縮小した現在フレームと参照フレームを生成し（ステップ３０１）、これら縮小画像について８ｘ８のブロック（もとの解像度で１６ｘ１６）毎に１画素精度で（もとの解像度で２画素精度）マッチングを行い動きベクトルを得る（ステップ３０２）。次に、もとの現在フレームと参照フレームを参照し、先に得られた動きベクトルの周囲で１６ｘ１６のブロック毎に１画素精度でマッチングを行い動きベクトルを再生成する（ステップ３０３）。最後にもとの現在フレームと参照フレームとを参照し、先に得られた動きベクトルの周囲で１６ｘ１６のブロック毎に半画素精度でマッチングを行い動きベクトルを再生成する（ステップ３０４）。同時に、１／２の縮小画像に対する１段階目の探索ともとの解像度の画像に対する３段階目の探索について、各ブロックの予測誤差パワーをメモリに格納する。予測誤差パワーとして差分絶対値和もしくは差分二乗和が用いられる。なおここでは３段階の探索処理を例に示したが、１画素精度の動きベクトル探索から始める２段階探索処理や、多段階に行わず最初から半画素精度の探索を用いてもよい。一般に探索の階層数を増すほど演算量が少なくてすむが、探索結果が局所最適に陥り動き補償の予測効率が低下する恐れがある。
【００２１】
次にグローバル動き推定処理についてさらに詳しく説明する。図４は、グローバル動き推定処理の流れを示すフローチャートである。グローバル動きパラメータの推定は、解像度を１／４に縮小した現在フレームと参照フレーム、解像度を１／２に縮小した現在フレームと参照フレーム、もとの現在フレームと参照フレーム、といったように３段階に分けて行う。まず、それぞれの画像を生成する（ステップ４０１）。実際には、１／２の縮小画像はブロック動き推定処理のステップ３０１で生成しているので、それを再利用する。次にグローバル動きパラメータ推定のための初期値パラメータを設定する（ステップ４０２）。ブロック動き推定処理によって得られた各ブロックの動きベクトルを参照してグローバル動きパラメータを推定し、１／４の解像度にあわせて変換したものを初期グローバル動きパラメータとする。動きベクトルを用いたグローバル動きパラメータ推定方法として、ブロック毎の動きベクトルの平均をグローバル動きに設定する、というものがある。ほかに、ブロック毎の動きベクトルについて、対応するブロックの重心を平行移動した座標とグローバル動きに従って幾何変換した座標との距離が最小となるよう、グローバル動きパラメータを設定する、といった方法が用いられる。なお、グローバル動きパラメータ推定に用いる動きベクトルの選択方法として、画像内全ブロックを対象にする他に、前フレームにおいて推定された最終的なグローバル動きパラメータによって定まるブロック毎の動きとの距離がある閾値以下となる動きベクトルに限定する、内部画素の複雑度がある閾値以上となるブロックの動きベクトルに限定する、画像の中心よりも境界に近いブロックを優先するなど画像内のブロックの位置に応じて動きブロックを選択する、といった方法がある。
【００２２】
初期グローバル動きパラメータを設定した後、現在フレームと参照フレームの縮小画像のうち最も解像度の小さいものを（ステップ４０４）パラメータ推定の対象となる画像に設定し（ステップ４０５）、グローバル動きパラメータ算出処理を行う（ステップ４０６）。対象がもとの現在フレームと参照フレームである場合には（ステップ４０７）、グローバル動き推定処理を終了し、そうでない場合には対象画像を次に解像度の大きい現在フレームと参照フレームの縮小画像に設定する（ステップ４０８）と同時に、ステップ４０６で得られたグローバル動きパラメータを解像度の違いに従って変換したものを初期グローバル動きパラメータとして、グローバル動きパラメータ算出処理（ステップ４０６）を繰り返し行う。なお図４の実施例では１／４、１／２の縮小画像およびもとの画像と三段階の処理でグローバル動きパラメータを推定したが、本発明は任意の階層数について適用可能である。すなわち、１／８の縮小画像からグローバル動きパラメータ推定処理をスタートさせても、もとの解像度の画像のみを用いて推定処理を行ってもよい。
【００２３】
次にグローバル動きパラメータ算出処理についてさらに詳しく説明する。図５は、グローバル動きパラメータ算出処理の流れを示すフローチャートである。まず画像内の各ブロックについて、参照フレームに対してグローバル動き補償予測を行い、ブロック内画素の予測画素値を得る（ステップ５０１）。予測画素値の算出方法としては、グローバル動きパラメータに従って画素の座標に幾何変換を施し、得られた座標が整数値を取る場合には同位置にある参照画素上の画素値を用い、そうでない場合には参照画像上で近傍にある複数の画素値をもとに内挿処理を行う。また、現在フレーム上で同一位置にある画素の画素値から得られた予測画素値を減算し予測誤差を得る（ステップ５０２）。次に該ブロックにおけるグローバル動き補償時の予測誤差パワーを算出し、ブロック動き推定処理で得られたブロック動き補償予測誤差パワーと比較して、グローバル動きパラメータ更新に用いる参照点の限定を行う（ステップ５０３）。グローバル動き補償予測誤差パワーがブロック動き補償予測誤差パワーよりも大きく、かつ、その差がある閾値以上ある場合、該当ブロック内画素を参照点から除外する。以上の処理を全ブロックについて行った後、参照点の予測画素値および予測誤差をもとに、グローバル動きパラメータを更新する（ステップ５０５）。参照点毎に、予測画素値のｘ方向およびｙ方向の勾配とグローバル動きパラメータによる幾何変換との関係から予測画素値とグローバル動きパラメータとの偏微分量を算出し、Ｇａｕｓｓ−Ｎｅｗｔｏｎ法や最急降下法といった最小化方法に従って全参照点の予測誤差パワーの和が減少する方向にグローバル動きパラメータを変動させる。パラメータが収束条件を満たしていれば、更新処理を終了させる（ステップ５０６）。収束条件としては、パラメータ更新の変化量がしきい値以下であること、予測誤差パワーがしきい値以下であること、が用いられる。
【００２４】
グローバル動き補償予測時の予測誤差パワーは、ブロック動き推定処理において格納されたブロック動き補償予測誤差パワーに対応する。すなわち本実施例に示すブロック動き推定処理の場合、１／２の縮小画像では８ｘ８のブロック毎に動きベクトル探索を、もとの解像度の画像では１６ｘ１６のブロック毎に動きベクトル探索を行った。それゆえ、ステップ５０１からステップ５０３においても、参照する画像の解像度がもとの解像度の１／２の場合には８ｘ８のブロックについて、もとの解像度と等しい場合には１６ｘ１６のブロックについて順次予測画素値および予測誤差を算出しグローバル動き補償予測誤差パワーを求める必要がある。また、本実施例ではブロック動き推定処理において１／４の縮小画像におけるブロック動き補償予測誤差パワーは算出されていない。この場合、処理の開始直後に各ブロックのブロック動き補償予測誤差パワーをあらかじめ算出しておく、１／４の縮小画像では参照点の限定は行わない、１／２の縮小画像もしくはもとの解像度の画像における予測誤差パワーを変換して用いる、といった方法がとられる。また、上述の実施例ではパラメータ更新の度に参照点を変更しているが、予め定めた一定回数以降は参照点を変化させずパラメータが収束するまで繰り返し演算を行う、といった方法もとられる。
【００２５】
以上の通りグローバル動き推定処理が終了すると、ブロック毎にブロック符号化処理が行われる。図６は、ブロック符号化処理の流れを示すフローチャートである。まず、実際に符号化されるグローバル動きパラメータに従ってグローバル動き補償予測誤差パワーを算出し、メモリに格納されたブロック動き補償予測誤差パワーと比較して、符号化効率のより高い動き補償予測モードを選択する（ステップ６００）。選択された動き補償予測モードに従って予測画像を生成し現在フレームとの差分である予測誤差信号を得る（ステップ６０１）。予測誤差信号は、ＤＣＴ変換（ステップ６０２）、量子化（ステップ６０３）の後、可変長符号化される（ステップ６０４）。生成された符号は符号化データとして出力される。また、量子化後信号は逆量子化（ステップ６０５）、逆ＤＣＴ変換（ステップ６０６）の後、予測画像と足しあわされ、ローカル復号画像を得る。これは後続フレームの符号化における参照フレームとしてフレームメモリに格納される。
【００２６】
以上本実施例では、グローバル動き補償予測とブロック動き補償予測とを、符号化単位となるブロック毎に切り替えて符号化を行う動画像符号化装置について説明を行った。本発明に示したグローバル動きパラメータの推定方法は、グローバル動き補償予測のみを用いる動画像符号化装置およびスプライトを用いる動画像符号化装置にも適用できる。これらの場合にはあらためて、ブロック動き推定処理に相当するブロック単位のマッチング処理を行い、局所的に動き補償予測を行った際の予測誤差パワーを算出する必要がある。
【００２７】
【発明の効果】
本発明の動画像符号化方法、装置およびそのプログラムによれば、グローバル動き補償予測の予測誤差パワーとブロック動き補償の予測誤差パワーとを比較し、符号化効率においてグローバル動き補償予測を行うのが望ましい画素のみを対象としてパラメータ推定を行う。これにより、画像内の動きの複雑度にかかわらず、つねにグローバル動きのモデルにマッチする画素のみを参照してパラメータ推定を行うことができる。従来の方法では演算量が増大するような局所的な動きを持つ領域をもつ画像に対して、本発明に記載の動画像符号化方法を用いることで高速にグローバル動きパラメータを求めることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態による動画像符号化装置の構成を示す図である。
【図２】図１に示される記憶部１２に格納された本発明の実施の形態による動画像符号化プログラムの処理を示すフローチャートである。
【図３】図２におけるブロック動き推定処理の詳細を示すフローチャートである。
【図４】図２におけるグローバル動き推定処理の詳細を示すフローチャートである。
【図５】図４に示されるグローバル動きパラメータ算出方法の詳細を示すフローチャートである。
【図６】図２におけるブロック符号化処理の詳細を示すフローチャートである。
【図７】従来の動画像符号化方法におけるグローバル動きパラメータ算出処理の詳細を示すフローチャートである。
【符号の説明】
１１　　プロセッサ
１２　　記憶部
１３　　Ｉ／Ｏインターフェース
【図１】
2004064518.tif 000003
【図２】
2004064518.tif 000004
【図３】
2004064518.tif 000005
【図４】
2004064518.tif 000006
【図５】
2004064518.tif 000007
【図６】
2004064518.tif 000008
【図７】
2004064518.tif 000009