(57)【要約】【課題】インターレース構造の動画像情報を高能率符号化する動き補償予測符号化に用いられ、演算処理量の削減と処理の高速化及び符号化効率の向上を図れる動きベクトル検出装置及び動きベクトル検出プログラムを提供する。【解決手段】動きベクトル探索範囲制御手段１０３により、フィールド動きベクトル検出手段１０４とフレーム動きベクトル検出手段１０５対して、フレーム動きベクトル探索範囲がフィールド動きベクトル探索範囲より常に狭くなるように設定する。フィールド動きベクトル検出手段１０４とフレーム動きベクトル検出手段１０５は、おのおの独立に動きベクトルを検出する。そして、動きベクトル選択手段１０６にて、フィールド動きベクトルとフレーム動きベクトルを比較して誤差評価値が小さく、符号化効率の良い方を動きベクトル検出対象ブロックの動きベクトルとして選択し、動きベクトル出力手段１０７により出力する。【選択図】図１
2006042114.tif 000002
【特許請求の範囲】
【請求項１】
時間的に連続する２つのフィールド画像を重ね合わせてひとつのフレーム画像を構成するインターレース構造の画像を符号化するために使用する動きベクトルを検出する動きベクトル検出装置において、
フィールド入力画像を所定数の画素単位毎にブロック化し、前記フィールド入力画像において各ブロックをフィールド動き検出対象ブロックとして順次設定し、フィールド参照画像において前記各フィールド動き検出対象ブロックに応じて探索範囲を設定し、前記各フィールド動き検出対象ブロック内の画素と前記フィールド参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フィールド動き検出対象ブロック毎にフィールド動きベクトルを求めるフィールド動きベクトル検出手段と、
フレーム入力画像を所定数の画素単位毎にブロック化し、前記フレーム入力画像において各ブロックをフレーム動き検出対象ブロックとして順次設定し、フレーム参照画像において前記各フレーム動き検出対象ブロックに応じて探索範囲を設定し、前記各フレーム動き検出対象ブロック内の画素と前記フレーム参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フレーム動き検出対象ブロック毎にフレーム動きベクトルを求めるフレーム動きベクトル検出手段と、
符号化対象画像内で同じ空間座標に位置する前記フィールド動き検出対象ブロックとフレーム動き検出対象ブロックとにおいてそれぞれ検出された、前記フィールド動きベクトルと前記フレーム動きベクトルとを比較して、符号化の効率を示す度合である誤差評価値の小さい方の動きベクトルを選択して出力する動きベクトル選択手段と、
前記フレーム動きベクトルを検出するための前記探索範囲を、前記フィールド動きベクトルを検出するための前記探索範囲よりも常に狭い範囲として設定する探索範囲設定手段を備えることを特徴とする動きベクトル検出装置。
【請求項２】
時間的に連続する２つのフィールド画像を重ね合わせてひとつのフレーム画像を構成するインターレース構造の画像を符号化するために使用する動きベクトルを検出する動きベクトル検出プログラムにおいて、
フィールド入力画像を所定数の画素単位毎にブロック化し、前記フィールド入力画像において各ブロックをフィールド動き検出対象ブロックとして順次設定し、フィールド参照画像において前記各フィールド動き検出対象ブロックに応じて探索範囲を設定し、前記各フィールド動き検出対象ブロック内の画素と前記フィールド参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フィールド動き検出対象ブロック毎にフィールド動きベクトルを求めるフィールド動きベクトル検出機能と、
フレーム入力画像を所定数の画素単位毎にブロック化し、前記フレーム入力画像において各ブロックをフレーム動き検出対象ブロックとして順次設定し、フレーム参照画像において前記各フレーム動き検出対象ブロックに応じて探索範囲を設定し、前記各フレーム動き検出対象ブロック内の画素と前記フレーム参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フレーム動き検出対象ブロック毎にフレーム動きベクトルを求めるフレーム動きベクトル検出機能と、
符号化対象画像内で同じ空間座標に位置する前記フィールド動き検出対象ブロックとフレーム動き検出対象ブロックとにおいてそれぞれ検出された、前記フィールド動きベクトルと前記フレーム動きベクトルとを比較して、符号化の効率を示す度合である誤差評価値の小さい方の動きベクトルを選択して出力する動きベクトル選択機能と、
前記フレーム動きベクトルを検出するための前記探索範囲を、前記フィールド動きベクトルを検出するための前記探索範囲よりも常に狭い範囲として設定する探索範囲設定機能とをコンピュータに実現させるための動きベクトル検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム画像を２つのフィールド画像に分けて伝送するインターレース構造の画像の動き補償予測に必要な動きベクトルを検出する動きベクトル検出装置及び動きベクトル検出プログラムに関するものである。
【背景技術】
【０００２】
MPEGに代表される動画像の圧縮符号化では、連続する画像間の相関を用いて符号量を圧縮する動き補償予測符号化が多く用いられる。動き補償予測符号化は、画像を例えば１６×１６画素のブロックに分割して、前記各ブロックを順次動き検出対象ブロックとして設定することで行われる。
【０００３】
動き補償予測符号化には、動き検出対象ブロックに対して、その符号化を行うために使用される参照画像における対応するブロック領域がどの程度ずれた位置に存在するのかを表す動きベクトルが必要である。動き検出対象ブロックと参照画像の対応ブロックとの誤差評価値が最小になる動きベクトルを検出し、動き補償予測に使用すると、符号化効率が最も良好になる。
【０００４】
誤差評価値とは、対応するブロック間の相違の度合いを表現したもので、ブロックマッチングにより求められる。
ブロックマッチングは、動き検出対象ブロックを参照画像中の検出範囲内の画像と画素単位で全ての位置毎にマッチングをとり、マッチング評価関数を計算し、誤差評価値を求める手法である。マッチング評価関数としては、例えばブロック内の全画素について、画素毎の画素値の差分の絶対値の和をとったもの（絶対値差分和）、画素毎の画素値の差分値を２乗して和をとったもの（差分二乗和）、  動きベクトルの符号量を計算し前記絶対差分和や前記差分二乗和に加算したもの、  DCT係数の符号量を計算又は予測したもの、等が使われる。
【０００５】
最も誤差評価値が小さくなる動きベクトルの検出方法の例として、フルサーチ法がある。フルサーチ法は動き検出対象ブロックに対応する参照画像上の所定の探索範囲内全ての位置に対して総当りにブロックマッチングを行い求められる誤差評価値を調べて、最小の誤差評価値を与える動きベクトルを検出するものである。フルサーチ法では、探索範囲内において、必ず最小の誤差評価値を持つ動きベクトルを検出できるが、膨大な演算量が必要という課題がある。
【０００６】
動きベクトル検出の演算量を削減する手法のひとつに、階層型動きベクトル検出法がある。以下に図７を用いて検出方法を説明する。
解像度を低下させた縮小画像７０１において、縮小画像対応ブロック７０２の動きベクトル７０３を求め、その求められた動きベクトル７０３を縮小画像７０１の縮小率に基づき伸張することにより、元の画像７０４に対応させた階層動きベクトル７０６を求める。そして、元の画像７０４において、階層動きベクトル７０６を探索初期点７０７として、探索初期点７０７に基づき、動きベクトル探索範囲７０８を決定し、この動きベクトル探索範囲７０８で、動きベクトルを探索するものである。
【０００７】
ここで、縮小画像対応ブロック７０２は、元の画像７０４における符号化ブロック７０５を、縮小画像７０１に対応させたものである。この動きベクトル検出装置は、少ない演算量で探索初期点とする階層動きベクトル７０６が求まるため、演算量が削減されるが、大局的な動きしかとらえられない階層動きベクトル７０６が、真の動きとかけ離れていると、探索が追いつかず、符号化効率が低下するという課題がある。
【０００８】
また、動きベクトル検出の演算量を削減するための別の手法として、周辺ブロック参照法がある。周辺ブロック参照法は、周辺ブロックの動きベクトルのうち、少なくとも一つを探索初期点として動きベクトルを探索するものである。周辺ブロックとは、図８示すように、符号化対象となっている符号化ブロック８０５に隣接するブロック８０１〜８０４とブロック８０６〜８０９のうち、既に動きベクトルが求められているブロックとする。
【０００９】
一般に、動きベクトルを求める順序はブロック８０１、８０２、８０３、・・・、８０
９の順なので、符号化ブロック８０５の動きベクトルを探索する際に、既に動きベクトルが求められているブロックは８０１〜８０４である。この動きベクトル検出装置は、探索初期点を検出する演算量が不要なため、演算量が削減されるが、周辺ブロックにない新たな動きが発生した場合には、探索が追いつかず、符号化効率が低下するという課題がある。
【００１０】
階層型動きベクトル検出法の課題と、周辺ブロック参照法の課題を解決するために、階層型動きベクトル検出法と周辺ブロック参照法を組み合わせた動きベクトル検出方法がある。この動きベクトル検出方法は、階層型動きベクトル検出法で求めた動きベクトルと、周辺ブロック参照法で求めた動きベクトルのうち、誤差評価値のより小さい方を動きベクトルとするものである。
【００１１】
この動きベクトル検出方法では、階層型動きベクトル検出法の課題である、縮小画像で間違った動きベクトルを求めてしまった場合には、周辺ブロック参照法で求められた動きベクトルが採用されるため、符号化効率は低下しない。また、周辺ブロック参照法の課題である、周辺ブロックにない新たな動きが発生した場合には、階層型動きベクトルで求められた動きベクトルが採用されるため符号化効率は低下しない。このように階層型動きベクトル検出法と、周辺ブロック参照法を組み合わせることにより、それぞれの動きベクトル検出方法の課題を解決できる。
【００１２】
しかし、この動きベクトル検出方法の演算量は、階層型動きベクトル検出法による演算量と、周辺ブロック参照法による演算量がかかってしまうため、演算量が増加してしまうという課題がある。
【００１３】
ところで、２つのフィールド画像を重ね合わせて１つのフレーム画像を構成するインターレース構造の画像においては、符号化効率を向上させるため、符号化対象画像のフレーム／フィールド内で同じ空間座標に位置する２つの動きベクトル検出対象ブロックのそれぞれで動きベクトルを検出し、誤差評価値の小さい方を選択する手法が用いられる。そのため、フレーム／フィールドそれぞれでの動きベクトル検出が必要なため、インターレース画像の動きベクトルの検出処理量は、１画像をそのまま伝送するプログレッシブ構造の画像の動きベクトル検出の処理量に比べて２倍程度を要する。
【００１４】
従来例１として、階層型動きベクトル検出法と周辺ブロック参照法を組み合わせて使用したインターレース画像の動きベクトル検出装置について図２を用いて説明する。
従来例１の動きベクトル検出装置は、図２に示すように、参照画像メモリ２０１と、符号化対象画像メモリ２０２と、フィールド動きベクトル検出手段２０４と、フレーム動きベクトル検出手段２０５と、動きベクトル選択手段２０６と、動きベクトル出力手段２０７と、周辺ブロックフィールド動きベクトルメモリ２０８と、周辺ブロックフレーム動きベクトルメモリ２０９とから構成されている。
【００１５】
参照画像メモリ２０１は、参照画像データを記憶しているものである。
符号化対象画像メモリ２０２は、符号化対象画像データを記憶しているものである。
フィールド動きベクトル検出手段２０４は、フィールド動きベクトルを検出し、検出したフィールド動きベクトルとそれに対応する誤差評価値を、動きベクトル選択手段２０６に供給するものである。
【００１６】
以下にフィールド動きベクトル検出処理の手順を説明する。
まず前記階層型動きベクトル検出法を用いて、ある固定の範囲（例えば原点を中心として±１６画素）を探索してフィールド動きベクトル検出対象ブロックの階層フィールド動きベクトルを求める。
【００１７】
次に、階層フィールド動きベクトルでの誤差評価値EhFiを求める。
次に周辺ブロックフィールド動きベクトルメモリ１０８に記憶してある、図８の８０１〜８０４に相当する位置のブロックに対応する周辺ブロックフィールド動きベクトルを使用して誤差評価値EsFi1〜EsFi4を求める。
【００１８】
次に、EhFi、EsFi1〜EsFi4の中で最小誤差評価値を持つ点を探索初期点とする。決定した探索初期点を中心に例えば±２画素の領域で、誤差評価値が最小となるフィールド動きベクトルを検出する。そして、検出したフィールド動きベクトルとそれに対応する誤差評価値を動きベクトル選択手段２０６に供給する。
【００１９】
フレーム動きベクトル検出手段２０５は、フレーム動きベクトルを検出し、検出したフレーム動きベクトルとそれに対応する誤差評価値を、動きベクトル選択手段２０６に供給するものである。
【００２０】
まず前記階層型動きベクトル検出法を用いて、ある固定の範囲（例えば原点を中心として±１６画素）を探索してフレーム動きベクトル検出対象ブロックの階層フレーム動きベクトルを求める。
【００２１】
次に、階層フレーム動きベクトルでの誤差評価値EhFlを求める。
次に周辺ブロックフレーム動きベクトルメモリ１０９に記憶してある、図８の８０１〜８０４に相当する位置のブロックに対応する周辺ブロックフレーム動きベクトルを使用して誤差評価値EsFl1〜EsFl4を求める。
【００２２】
次に、EhFl、EsFl1〜EsFl4の中で最小誤差評価値を持つ点を探索初期点とする。決定した探索初期点を中心に例えば±２画素の領域で、誤差評価値が最小となるフレーム動きベクトルを検出する。そして、検出したフレーム動きベクトルとそれに対応する誤差評価値を動きベクトル選択手段２０６に供給する。
【００２３】
動きベクトル選択手段２０６は、フィールド動きベクトル検出手段２０４からフィールド動きベクトルとそれに対応する誤差評価値が、フレーム動きベクトル検出手段２０５からフレーム動きベクトルとそれに対応する誤差評価値が入力され、誤差評価値の小さい方の動きベクトルを動きベクトル出力手段２０７に供給するものである。
【００２４】
動きベクトル出力手段２０７は、決定した動きベクトルを外部に出力するものである。
前記従来例１においては、階層型動きベクトル検出法と周辺ブロック参照法を組み合わせて使用することで、インターレース画像における動きベクトルの処理量を、フルサーチ法を用いた場合の処理量に比較して削減しているものの、フレーム動きベクトル検出とフィールド動きベクトル検出を同一相当の処理で行っているので、フレーム動きベクトル検出の処理量が、フィールド動きベクトル検出の処理量と同程度必要となる。そのため、インターレース画像の動きベクトル検出の処理量は、プログレッシブ画像の動きベクトル検出の処理量に比べて２倍程度要してしまうという課題がある。
【００２５】
インターレース画像の動きベクトル検出の処理量を削減するため、例えば特許文献１のような動きベクトル検出装置が提案されている。この動きベクトル検出装置は、フィールド動きベクトルをフレーム動きベクトルより先に検出し、フレーム動きベクトル検出において、既に検出したフィールド動きベクトルを探索初期点とし、フレーム動きベクトル検出範囲を探索初期点の周辺の狭い領域とすることで、フレーム動きベクトル検出処理量を削減し、結果的に全体のインターレース画像の動きベクトル検出に要する処理量を削減するというものである。
【００２６】
以下従来例２として、特許文献１に記載の動きベクトル検出装置について図３を用いて説明する。
従来例２の動きベクトル検出装置は、図３に示すように、参照画像メモリ３０１と、符号化対象画像メモリ３０２と、フィールド動きベクトル検出手段３０４と、フレーム動きベクトル検出手段３０５と、動きベクトル選択手段３０６と、動きベクトル出力手段３０７とから構成されている。
【００２７】
参照画像メモリ３０１は、参照画像データを記憶しているものである。
符号化対象画像メモリ３０２は、実際に符号化を行おうとする画像データを記憶しているものである。
【００２８】
フィールド動きベクトル検出手段３０４は、参照画像データを用いて、符号化対象画像データ上の動き検出対象ブロックのフィールド動きベクトルを検出し、検出したフィールド動きベクトルを、フレーム動きベクトル検出手段３０５に、またフィールド動きベクトルとそれに対応する誤差評価値を、動きベクトル選択手段３０６に供給するものである。
【００２９】
フレーム動きベクトル検出手段３０５は、フィールド動きベクトル検出手段３０４から入力されたフィールド動きベクトルを探索初期点として、参照画像データと符号化対象画像データから、フレーム動きベクトルを検出し、検出したフレーム動きベクトルとそれに対応する誤差評価値を動きベクトル選択手段３０６に供給するものである。フレーム動きベクトルは、前記探索初期点を中心に例えば±２画素の領域で、誤差評価値が最小となるフレーム動きベクトルを検出する。
【００３０】
ここで、フレーム動きベクトル検出手段３０５の動作について図４のフローチャートを用いて説明する。
まず、フィールド動きベクトル検出手段３０４から入力されたフィールド動きベクトルを探索初期点とする（Ｓ１０１）。次に、探索初期点を中心に例えば±２画素の領域で、誤差評価値が最小となるフレーム動きベクトルを検出する（Ｓ１０２）。そして、検出したフレーム動きベクトルとそれに対応する誤差評価値を動きベクトル選択手段３０６に供給する（Ｓ１０３）。
【００３１】
図３の説明に戻る。
動きベクトル選択手段３０６は、フィールド動きベクトル検出手段３０４からフィールド動きベクトルとそれに対応する誤差評価値が、フレーム動きベクトル検出手段３０５からフレーム動きベクトルとそれに対応する誤差評価値が入力され、誤差評価値の小さい方の動きベクトルを動きベクトル出力手段３０７に供給するものである。
【００３２】
動きベクトル出力手段３０７は、決定した動きベクトルを外部に出力するものである。
前記従来例２においては、フィールド動きベクトルをフレーム動きベクトル検出の探索初期点とすることにより、フレームの探索範囲を狭くすることができるので、フレーム動きベクトルの処理量を削減できる。
【００３３】
しかしながら、フィールド動きベクトルを、フレーム動きベクトルを求める際の探索初期点としているため、フィールド動きベクトル検出において誤った動きベクトルを検出してしまった場合、フレーム動きベクトルも誤った動きベクトルを検出してしまうので、誤差評価値が小さくならない。そのため符号化効率が低下してしまうという課題がある。
【００３４】
また、フィールド動きベクトルを検出した後にフレーム動きベクトルを検出しなければならないので、フィールド動きベクトル検出とフレーム動きベクトル検出の並列処理ができないために処理の高速化が図れないという課題がある。
【特許文献１】「特開平７−１０７４８５号公報」
【発明の開示】
【発明が解決しようとする課題】
【００３５】
従来例１で示したようにフレーム動きベクトル検出とフィールド動きベクトル検出を同一相当の処理で行う動きベクトル検出装置では、フレーム動きベクトル検出の処理量が、フィールド動きベクトル検出の処理量と同程度必要となる。そのため、インターレース画像の動きベクトル検出の処理量は、プログレッシブ画像の動きベクトル検出の処理量に比べて２倍程度要してしまうという課題がある。
【００３６】
また、従来例２で示した動きベクトル検出装置を使用すればフレーム動きベクトルの処理量を削減できる。しかしながら、フィールド動きベクトルを、フレーム動きベクトルを求める際の探索初期点としているため、フィールド動きベクトル検出において誤った動きベクトルを検出してしまった場合、フレーム動きベクトルも誤った動きベクトルを検出してしまうので、誤差評価値が小さくならない。そのために符号化効率が低下してしまうという課題がある。
【００３７】
また、フィールド動きベクトルを検出した後にフレーム動きベクトルを検出しなければならないので、フィールド動きベクトル検出とフレーム動きベクトル検出の並列処理ができないために処理の高速化が図れないという課題がある。
【００３８】
本発明は以上の課題を鑑みてなされたものである。
本発明は、フレーム動きベクトル検出の探索範囲をフィールド動きベクトル検出の探索範囲より常に小さく設定して動きベクトル検出を行うにより、フレーム動きベクトル検出の精度を損なうことなく、フレーム動きベクトル検出処理量を削減し、全体のインターレース画像の動きベクトル検出処理量を削減することを目的とする。
【００３９】
また、本発明は、フレーム動きベクトル検出とフィールド動きベクトル検出を独立して処理することにより、フィールド動きベクトル検出において誤った動きベクトルを検出してしまった場合においても、フレームの動きベクトル検出は影響をうけずに正確な動きベクトル検出し、誤差評価値を小さくすることで符号化効率を向上することも目的とする。
【００４０】
さらに、本発明はフレーム動きベクトル検出とフィールド動きベクトル検出を独立して処理することにより、動きベクトル検出の並列処理化を可能とし、処理の高速化を実現することも目的とする。
【課題を解決するための手段】
【００４１】
そこで上記課題を解決するために本発明は、下記の装置及びプログラムを提供するものである。
（１）時間的に連続する２つのフィールド画像を重ね合わせてひとつのフレーム画像を構成するインターレース構造の画像を符号化するために使用する動きベクトルを検出する動きベクトル検出装置において、
フィールド入力画像を所定数の画素単位毎にブロック化し、前記フィールド入力画像において各ブロックをフィールド動き検出対象ブロックとして順次設定し、フィールド参照画像において前記各フィールド動き検出対象ブロックに応じて探索範囲を設定し、前記各フィールド動き検出対象ブロック内の画素と前記フィールド参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フィールド動き検出対象ブロック毎にフィールド動きベクトルを求めるフィールド動きベクトル検出手段と、
フレーム入力画像を所定数の画素単位毎にブロック化し、前記フレーム入力画像において各ブロックをフレーム動き検出対象ブロックとして順次設定し、フレーム参照画像において前記各フレーム動き検出対象ブロックに応じて探索範囲を設定し、前記各フレーム動き検出対象ブロック内の画素と前記フレーム参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フレーム動き検出対象ブロック毎にフレーム動きベクトルを求めるフレーム動きベクトル検出手段と、
符号化対象画像内で同じ空間座標に位置する前記フィールド動き検出対象ブロックとフレーム動き検出対象ブロックとにおいてそれぞれ検出された、前記フィールド動きベクトルと前記フレーム動きベクトルとを比較して、符号化の効率を示す度合である誤差評価値の小さい方の動きベクトルを選択して出力する動きベクトル選択手段と、
前記フレーム動きベクトルを検出するための前記探索範囲を、前記フィールド動きベクトルを検出するための前記探索範囲よりも常に狭い範囲として設定する探索範囲設定手段を備えることを特徴とする動きベクトル検出装置。
（２）時間的に連続する２つのフィールド画像を重ね合わせてひとつのフレーム画像を構成するインターレース構造の画像を符号化するために使用する動きベクトルを検出する動きベクトル検出プログラムにおいて、
フィールド入力画像を所定数の画素単位毎にブロック化し、前記フィールド入力画像において各ブロックをフィールド動き検出対象ブロックとして順次設定し、フィールド参照画像において前記各フィールド動き検出対象ブロックに応じて探索範囲を設定し、前記各フィールド動き検出対象ブロック内の画素と前記フィールド参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フィールド動き検出対象ブロック毎にフィールド動きベクトルを求めるフィールド動きベクトル検出機能と、
フレーム入力画像を所定数の画素単位毎にブロック化し、前記フレーム入力画像において各ブロックをフレーム動き検出対象ブロックとして順次設定し、フレーム参照画像において前記各フレーム動き検出対象ブロックに応じて探索範囲を設定し、前記各フレーム動き検出対象ブロック内の画素と前記フレーム参照画像における前記探索範囲内の画素とを比較して、ブロックマッチングにより前記各フレーム動き検出対象ブロック毎にフレーム動きベクトルを求めるフレーム動きベクトル検出機能と、
符号化対象画像内で同じ空間座標に位置する前記フィールド動き検出対象ブロックとフレーム動き検出対象ブロックとにおいてそれぞれ検出された、前記フィールド動きベクトルと前記フレーム動きベクトルとを比較して、符号化の効率を示す度合である誤差評価値の小さい方の動きベクトルを選択して出力する動きベクトル選択機能と、
前記フレーム動きベクトルを検出するための前記探索範囲を、前記フィールド動きベクトルを検出するための前記探索範囲よりも常に狭い範囲として設定する探索範囲設定機能とをコンピュータに実現させるための動きベクトル検出プログラム。
【発明の効果】
【００４２】
本発明によれば、フレーム動きベクトル検出の探索範囲をフィールド動きベクトル検出の探索範囲より常に小さく設定して動きベクトル検出を行うことにより、フレーム動きベクトル検出の精度を損なうことなく、フレーム動きベクトル検出処理量を削減でき、全体のインターレース画像の動きベクトル検出処理量を削減できる。
【００４３】
また、フレーム動きベクトル検出とフィールド動きベクトル検出を独立して処理することにより、フィールド動きベクトル検出において誤った動きベクトルを検出してしまった場合においても、フレームの動きベクトル検出は影響をうけずに、正確な動きベクトル検出が可能となるので、誤差評価値を小さくすることが可能となり、符号化効率を向上させることが可能となる。
【００４４】
さらに、フレーム動きベクトル検出とフィールド動きベクトル検出を独立して処理することにより、動きベクトル検出の並列処理化が可能となり、動きベクトル検出処理の高速化を実現することが可能となる。
【発明を実施するための最良の形態】
【００４５】
本発明では以下に述べるインターレース画像における動きベクトル検出時の特性を利用している。
まず、フィールド動きベクトルの詳細な検出方法を図９を用いて説明する。フィールド画像は図に示すように、トップフィールド、ボトムフィールドの対で構成されている。
【００４６】
従って動きベクトルは、トップフィールド、ボトムフィールドのそれぞれにおいて検出する必要がある。この検出した２つの動きベクトルの対でフィールド動きベクトルが構成され、以降の動き補償予測処理で使用される。
【００４７】
トップフィールド動きベクトルは次の手順で検出される。
符号化対象画像のトップフィールドと、参照画像のトップフィールド、ボトムフィールドとを比較して、それぞれトップ−ｔ、トップ−ｂとする二つの動きベクトルを検出する。
【００４８】
検出した求めたトップ−ｔ、トップ−ｂの誤差評価値を比較して、小さいほうをトップフィールド動きベクトルとする。
ボトムフィールド動きベクトルは次の手順で検出される。
【００４９】
符号化対象画像のボトムフィールドと、参照画像のトップフィールド、ボトムフィールドとを比較して、それぞれボトム−ｔ、ボトム−ｂとする二つの動きベクトルを検出する。
【００５０】
検出した求めたボトム−ｔ、ボトム−ｂの誤差評価値を比較して、小さいほうをボトムフィールド動きベクトルとする。
またフレーム動きベクトルと比較する場合の誤差評価値は、上記で検出したトップフィールド動きベクトル、ボトムフィールド動きベクトルの誤差評価値を加算したものが用いられる。
【００５１】
ここで、大きな動きのある画像の場合を考える。大きな動きのある画像では、わずかな時間でも画像間の相関が小さくなって誤差評価値が大きくなってしまう。従ってフィールド間のわずかな時間でも違いが現れるので、動きベクトル検出に使用する画像間の時間は短い方が誤差評価値が小さくなる。
【００５２】
トップフィールド動きベクトルを考える。符号化対象画像のトップフィールドと参照画像のボトムフィールド間で検出するトップ−ｂのほうが、符号化対象画像のトップフィールドと参照画像のトップフィールド間で検出するトップ−ｔより、動きベクトル検出に使用するフィールド画像間の時間が短い。よってトップフィールド動きベクトルとしては、トップ−ｂ側が選択される可能性が高い。
【００５３】
ボトムフィールド動きベクトルを考える。符号化対象画像のボトムフィールドと参照画像のボトムフィールド間で検出するボトム−ｂのほうが、符号化対象画像のボトムフィールドと参照画像のトップフィールド間で検出するボトム−ｔより、動きベクトル検出に使用するフィールド画像間の時間が短い。よってボトムフィールド動きベクトルとしては、ボトム−ｂ側が選択される可能性が高い。
【００５４】
また同一の符号化対象画像のフィールド動きベクトルとフレーム動きベクトルとを比較した場合を考える。このとき、トップフィールド動きベクトルであるトップ−ｂは、トップフィールド動きベクトル検出に使用するフィールド画像間の時間が、フレーム動きベクトル検出に使用されるフレーム画像間の時間より短い。また、ボトムフィールド動きベクトルであるボトム−ｂは、ボトムフィールド動きベクトル検出に使用するフィールド画像間の時間が、フレーム動きベクトル検出に使用されるフレーム画像間の時間と等しい。
【００５５】
従ってトータルで比較すると、トップフィールド動きベクトルとボトムフィールド動きベクトルの対で構成されるフィールド動きベクトルの方がフレーム動きベクトルより動きベクトル検出に使用する画像間の時間が短いとみなせる。よって大きな動きの画像では、フィールド動きベクトルの方がフレーム動きベクトルに比較して、誤差評価値が小さくなる可能性が高く、フィールド動きベクトルの方が動き検出対象ブロックの動きベクトルとして選択される確率が高い。
【００５６】
しかし逆に、あまり大きな動きのない画像の場合は、フィールド間のわずかな時間では、時間の経過による相関の低下は問題にならないレベルであり、むしろ画像の絵柄の特性によって誤差評価値の大きさが決定する。その誤差評価値の一番小さな動きベクトルが最終的な動き検出対象ブロックの動きベクトルとして選択される。よってあまり大きな動きのない画像では、フィールド動きベクトルの方がフレーム動きベクトルに比較して、誤差評価値が小さくなる可能性が高くなると一概にはいえず、動き検出対象ブロックの動きベクトルとして選択される確率は、フィールド動きベクトルとフレーム動きベクトルよりも高くなるとはかならずしも言えない。
【００５７】
また、大きな動きのある画像の場合、動き検出対象ブロックでの動きベクトル探索範囲は広く設定してあるほうが、動きベクトルが探索範囲外になって誤検出してしまうのを防止することができるので望ましい。逆に、あまり大きな動きがない画像の場合は、動きベクトル探索範囲は必要以上に広く設定しても、狭く設定した場合と比較して精度は変わらない。また、探索に要する処理量が増加するので、なるべく探索範囲は狭く設定しておいたほうが望ましい。
【００５８】
従って、大きな動きがあるインターレース画像の場合、動きベクトルの探索範囲は広く設定しておく必要があり、またこの場合は、上記で述べたとおりフィールド動きベクトルの方がフレーム動きベクトルより誤差評価値が小さくなる可能性が高く、動き検出対象ブロックの動きベクトルとしてフィールド動きベクトルが選択される確率が高い。
【００５９】
一方、あまり大きな動きのないインターレース画像の場合は、動きベクトルの探索範囲は狭くてもよい。この場合は、フィールド動きベクトルが選択される確率が高いとはいえず、フィールド動きベクトルとフレーム動きベクトルのうち、誤差評価値が小さい方の動きベクトルが、動き検出対象ブロックの動きベクトルとして選択される。
【００６０】
このようにフレーム動きベクトルは、あまり大きな動きがない画像の場合に選択される可能性があり、大きな動きのある画像の場合には選択される可能性が低い。
従って、大きな動きのある画像に対する動きベクトル選択精度を上げるためにフレーム動きベクトルの探索範囲をフィールド動きベクトルの探索範囲と同じように広く設定していても、動き検出対象ブロックの動きベクトルとして選択される可能性が低いので、ある所定の範囲を超えたフレーム動きベクトルの探索領域は、探索しても効果がない。よってフレーム動きベクトルの探索範囲はフィールド動きベクトルの探索範囲より常に狭く設定していても、フレーム動きベクトルの探索範囲をフィールド動きベクトルの探索範囲と同じ設定にしている場合と比較してほとんど精度の変わらない動きベクトルを検出することができる。
【００６１】
よって本発明によれば、フレーム動きベクトル検出の探索範囲をフィールド動きベクトル検出の探索範囲より常に小さく設定して動きベクトル検出を行うことにより、フレーム動きベクトル検出の精度を損なうことなく、フレーム動きベクトル検出処理量を削減でき、全体のインターレース画像の動きベクトル検出処理量を削減できる。
【実施例】
【００６２】
本発明の実施例を図面を参照しながら説明する。
図１は、本発明の動きベクトル検出装置の一実施例のブロック図である。
本実施例は、参照画像メモリ１０１と、符号化対象画像メモリ１０２と、動きベクトル探索範囲制御手段１０３と、フィールド動きベクトル検出手段１０４と、フレーム動きベクトル検出手段１０５と、動きベクトル選択手段１０６と、動きベクトル出力手段１０７と、周辺ブロックフィールド動きベクトルメモリ１０８と、周辺ブロックフレーム動きベクトルメモリ１０９とから構成されている。
【００６３】
参照画像メモリ１０１は、参照画像データを記憶しているものである。
符号化対象画像メモリ１０２は、符号化対象画像データを記憶しているものである。
動きベクトル探索範囲制御手段１０３は、フレームの動きベクトル探索範囲をフィールドの動きベクトル探索範囲より常に狭く決定し、それぞれの探索範囲をフィールド動きベクトル検出手段１０４とフレーム動きベクトル検出手段１０５に供給するものである。例えばフィールドの動きベクトル探索範囲を、原点を中心とした±１６画素とした場合、フレームの動きベクトル探索範囲を、原点を中心とした±８画素とする。
【００６４】
フィールド動きベクトル検出手段１０４は、動きベクトル探索範囲制御手段１０３で設定された探索範囲内において、フィールドの動きベクトルを検出し、検出したフィールド動きベクトルとそれに対応する誤差評価値を、動きベクトル選択手段１０６に供給するものである。
【００６５】
ここで、フィールド動きベクトル検出手段１０４の動作について図５のフローチャートを用いて説明する。
まず、動きベクトル探索範囲制御手段１０３でフィールド動きベクトル検出探索範囲を例えば±１６画素に設定する（Ｓ２０１）。
【００６６】
次に設定したフィールド動きベクトル検出探索範囲を探索範囲として、階層動きベクトルを求める（Ｓ２０２）。
階層動きベクトルの検出方法について図７を用いて説明する。解像度を低下させた縮小画像７０１において、縮小画像対応ブロック７０２の動きベクトル７０３を求め、縮小画像７０１の縮小率を考慮して、求まった動きベクトル７０３を伸張することにより、もとの画像７０４に対応させた階層動きベクトル７０６を求める。ここで、縮小画像対応ブロック７０２は、もとの画像７０４における符号化ブロック７０５を、縮小画像７０１に対応させたものである。
【００６７】
図５のフローチャートの説明に戻る。
次に、階層動きベクトルでの誤差評価値EhFi、周辺動きベクトルでの誤差評価値EsFi1〜EsFi4を求める（Ｓ２０３）。ここで、周辺動きベクトルとは、図８のように、符号化対象となっている符号化ブロック８０５に隣接する８０１〜８０４、８０６〜８０９のブロックのうち、既に動きベクトルが決定しているブロックとする。一般に動きベクトルを求める順序は８０１→８０９なので、動きベクトルが定まっているブロックは８０１〜８０４である。
【００６８】
次に、EhFi、EsFi1〜EsFi4の中で最小誤差評価値を持つ点を探索初期点とする（Ｓ２０４）。決定した探索初期点を中心に例えば±２画素の領域で、誤差評価値が最小となるフィールド動きベクトルを検出する（Ｓ２０５）。ここで、探索方法を、探索初期点を中心とする±２画素としたが、探索初期点を利用した探索方法ならどのような探索でもよい。
【００６９】
そして、検出したフィールド動きベクトルとそれに対応する誤差評価値を動きベクトル選択手段１０６に供給する（Ｓ２０６）。
図１のブロック図の説明に戻る。
【００７０】
フレーム動きベクトル検出手段１０５は、動きベクトル探索範囲制御手段１０３で設定された探索範囲内において、フレームの動きベクトルを検出し、検出したフレーム動きベクトルとそれに対応する誤差評価値を、動きベクトル選択手段１０６に供給するものである。
【００７１】
ここで、フレーム動きベクトル検出手段１０５の動作について図６のフローチャートを用いて説明する。
まず、動きベクトル探索範囲制御手段１０３でフレーム動きベクトル検出探索範囲を例えば±８画素に設定する（Ｓ３０１）。ここで、フレーム動きベクトル検出の探索範囲を±８画素としフィールド動きベクトル検出の±１６画素としている探索範囲より狭くなっていることに注意する。これによって、フレーム動きベクトル検出の処理量をフィールド動きベクトル検出の処理量より削減できる。
【００７２】
次に設定したフレーム動きベクトル検出探索範囲を動きベクトル探索範囲制御手段として、階層動きベクトルを求める（Ｓ３０２）。
続いて、階層動きベクトルでの誤差評価値EhFl、周辺動きベクトルでの誤差評価値EsFl1〜EsFl4を求める（Ｓ３０３）。
【００７３】
次に、EhFl、EsFl1〜EsFl4の中で最小誤差評価値を持つ点を探索初期点とする（Ｓ３０４）。決定した探索初期点を中心に例えば±２画素の領域で、誤差評価値が最小となるフレーム動きベクトルを検出する（Ｓ３０５）。ここで、探索方法を、探索初期点を中心とする±２画素としたが、探索初期点を利用した探索方法ならどのような探索でもよい。
【００７４】
そして、検出したフレーム動きベクトルとそれに対応する誤差評価値を動きベクトル選択手段１０６に供給する（Ｓ３０６）。
図１のブロック図の説明に戻る。
【００７５】
動きベクトル選択手段１０６は、フィールド動きベクトル検出手段１０４からフィールドの動きベクトルとそれに対応する誤差評価値が、フレーム動きベクトル検出手段１０５からフレームの動きベクトルとそれに対応する誤差評価値が入力され、誤差評価値の小さい動きベクトルを動きベクトル出力手段１０７に供給するものである。
【００７６】
動きベクトル出力手段１０７は、決定した動きベクトルを、外部に出力するものである。
周辺ブロックフィールド動きベクトルメモリ１０８は、符号化ブロックのフィールドの周辺動きベクトルを記憶しているものである。
【００７７】
周辺ブロックフレーム動きベクトルメモリ１０９は、符号化ブロックのフレームの周辺動きベクトルを記憶しているものである。
さらにまた、本発明は、上記した動きベクトル検出装置の機能をコンピュータに実現させるためのプログラムを含むものである。これらのプログラムは、記録媒体から読みとられてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の動きベクトル検出装置の実施例を示すブロック図である。
【図２】従来の動きベクトル検出装置のブロック図である。
【図３】従来の他の動きベクトル検出装置のブロック図である。
【図４】従来のフレーム動きベクトル検出手段２０４のフローチャートである。
【図５】本実施例のフィールド動きベクトル検出手段１０４のフローチャートである。
【図６】本実施例のフレーム動きベクトル検出手段１０５のフローチャートである。
【図７】従来の階層動きベクトル検出の図である。
【図８】従来の周辺ブロックの図である。
【図９】従来のフィールド構造の説明図である。
【符号の説明】
【００７９】
１０１・・・参照画像メモリ
１０２・・・符号化対象画像メモリ
１０３・・・動きベクトル探索範囲制御手段
１０４・・・フィールド動きベクトル検出手段
１０５・・・フレーム動きベクトル検出手段
１０６・・・動きベクトル選択手段
１０７・・・動きベクトル出力手段
１０８・・・周辺ブロックフィールド動きベクトルメモリ
１０９・・・周辺ブロックフレーム動きベクトルメモリ
【図１】
2006042114.tif 000003
【図２】
2006042114.tif 000004
【図３】
2006042114.tif 000005
【図４】
2006042114.tif 000006
【図５】
2006042114.tif 000007
【図６】
2006042114.tif 000008
【図７】
2006042114.tif 000009
【図８】
2006042114.tif 000010
【図９】
2006042114.tif 000011