(57)【要約】【課題】被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出を可能とすることを目的とする。【解決手段】次に動き検出を行う処理ブロックは、過去に動き検出を完了している処理ブロックの動きベクトルを平滑化して期待ベクトルを求め（Ｓ２０４）、期待ベクトルと重み係数より評価値を求め（Ｓ２０８）、この評価値により動き検出を行うことにより、被写体が高速に画面を移動している場合でも少ない演算量で精度の高い動き検出が可能になるという効果を得ることができる。【選択図】  図２
2004208087.tif 000002
【特許請求の範囲】
【請求項１】
動き検出の対象となる処理ブロックと参照範囲内から作成された候補ブロックとのブロックマッチングにより動きベクトルを求める動き検出方法において、
１または２以上の過去に求めた処理ブロックの動きベクトルより期待ベクトルを算出する工程
を有し、前記期待ベクトルより前記処理ブロックの動きベクトルを算出することを特徴とする動き検出方法。
【請求項２】
前記期待ベクトルは、単位時間当たりの大きさを示す単位期待ベクトルを基に、前記処理ブロックと候補ブロックとの時間距離に対応した大きさに変更したものであることを特徴とする請求項１記載の動き検出方法。
【請求項３】
前記単位期待ベクトルは、１または２以上の過去に求めた処理ブロックの動きベクトルそれぞれの影響度を考慮して平滑化することを特徴とする請求項１または請求項２のいずれかに記載の動き検出方法。
【請求項４】
前記処理ブロックにおいてブロックマッチングで確定した最小評価値が第１の閾値以下または未満の場合に前記期待ベクトルを算出して用い、前記最小評価値が前記第１の閾値より大きいまたは以上の場合には前回の検出で用いた期待ベクトルを使用することを特徴とする請求項１または請求項２または請求項３のいずれかに記載の動き検出方法。
【請求項５】
前記第１の閾値は、１または２以上の過去に求めた処理ブロックの最小評価値それぞれの影響度を考慮して平滑化したものであることを特徴とする請求項４記載の動き検出方法。
【請求項６】
前記期待ベクトル、前記単位期待ベクトルおよび前記第１の閾値は、時間的に異なる第１のフィールドデータおよび第２のフィールドデータを合成したデータから算出する場合と、前記第１のフィールドデータのみを用いて算出する場合と、前記第２のフィールドデータのみを用いて算出する場合があることを特徴とする請求項１または請求項２または請求項３または請求項４または請求項５のいずれかに記載の動き検出方法。
【請求項７】
前記期待ベクトル、前記単位期待ベクトルおよび前記第１の閾値は、処理ブロックに対して時間的に古い候補ブロックを用いて算出する場合と、処理ブロックに対して時間的に新しい候補ブロックを用いて算出する場合があることを特徴とする請求項１または請求項２または請求項３または請求項４または請求項５または請求項６のいずれかに記載の動き検出方法。
【請求項８】
前記ブロックマッチングにおける評価値を、期待ベクトルが示す位置からの画面距離に対応した重み付けを考慮して算出することを特徴とする請求項１または請求項２または請求項３または請求項４または請求項５または請求項６または請求項７のいずれかに記載の動き検出方法。
【請求項９】
前記評価値の算出を、前記ブロックマッチング結果に前記期待ベクトルが示す位置からの画面距離に対応した設定値を加算または乗算して算出することを特徴とする請求項８記載の動き検出方法。
【請求項１０】
前記重み付けの設定値は、前記期待ベクトルが示す位置を中心として画面距離が遠くなるに従って選ばれにくくなる第１のデータテーブルまたは計算式より設定することを特徴とする請求項８または請求項９のいずれかに記載の動き検出方法。
【請求項１１】
前記動きベクトルが前記期待ベクトルを中心に第１の所定値より近い値の場合には、前記重み付けの設定値を前記第１のデータテーブルまたは計算式より傾斜の緩いまたは固定値である第２のデータテーブルまたは計算式より設定することを特徴とする請求項８または請求項９または請求項１０のいずれかに記載の動き検出方法。
【請求項１２】
前記動きベクトルと前記期待ベクトルの差が第２の所定値以上ある場合には、前記重み付けの設定値を前記第１のテーブルまたは計算式より傾斜の緩いまたは固定値である第３のデータテーブルまたは計算式より設定することを特徴とする請求項８または請求項９または請求項１０または請求項１１のいずれかに記載の動き検出方法。
【請求項１３】
前記第１または第２または第３のデータテーブルまたは計算式はにされた重み付けの設定値は、今回のブロックマッチング結果と過去に確定した１または２以上のブロックマッチング結果を平滑化した閾値との比較結果によって調整することを特徴とする請求項１０または請求項１１または請求項１２記載の動き検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動画像の高能率符号化等に用いる動き検出方法に関する。
【０００２】
【従来の技術】
近年、動画像の高能率符号化方法として、ＭＰＥＧ２等で採用されている動き補償予測方式が用いられている。動き補償予測方式は、符号化の対象となる処理フレームの輝度データをｍ×ｎ画素のブロック（以下、処理ブロックと称す）に分割し、各処理ブロックについて時間的に異なる他フレーム（以下、参照フレームと称す）の輝度データにおけるｍ×ｎ画素のブロック（以下、候補ブロックと称す）との対応画素間における差分絶対値総和を評価値とし、その評価値が最小となる候補ブロック（以下、予測ブロックと称す）を参照エリア内で検索し、その位置への動き量（以下、動きベクトルと称す）と、対応する色差データ同士の差分も含めた画素差分を出力するものである。このような動き検出方法をブロックマッチング方式という。ここで、評価値は差分絶対値総和以外のものでもよく、例えば差分二乗総和を評価値としてもよい。動き補償予測手段により出力された動きベクトルは隣接マクロのベクトルとの差分演算処理、ベクトル用可変長符号化処理、等（以上をベクトル符号化処理と総称する）が施され、さらに、画素差分は直交変換処理、量子化処理、可変長符号化処理、等（以上を符号化処理と総称する）が施されることになるが、動き補償予測方式を用いた場合には画素差分を符号化するため、高能率な符号化が可能となる。
【０００３】
動き検出においては、高速ズームや高速パーン等の様に処理フレーム中の被写体の動きが速い場合でも高画質を実現するために、広い参照範囲における検出が必要となってきている。しかし、広い参照範囲における動き検出を行うには、莫大な演算量が必要となり、ハードで実現する場合には回路規模やメモリバンド幅が増大し、またソフトで実現する場合には高速なＣＰＵを使用してもリアルタイム処理は非常に困難となる。
【０００４】
これを解決する第１の方法として、参照フレーム全体に対する処理フレーム全体の動きベクトルを求めることによって、大まかなフレームの動きベクトルを検出し、その後、個別の処理ブロック毎にフレーム全体の動きベクトルが示す画面位置を中心として詳細に動き検出を行うというものがある。つまり、フレーム全体の動きベクトルが示す画面位置を中心として比較的狭い参照範囲を検索するだけで、仮想的に広い参照範囲を検索したときと同じ効果を得ようというものである。この方法を代表するものとしては、特許第３１７１２４９号に開示されている。これは処理ブロックと広い参照範囲中の各候補ブロックとのブロックマッチングを行うことで評価値を求め、この処理を比較的少ない複数の処理ブロックに対して同様に行い、その後、処理ブロックに対する相対位置が一致する候補ブロックの評価値を累算し、その累算値が最小となる位置からフレーム全体の動きベクトルを求めるものである。以後、各処理ブロックにおいてフレーム全体の動きベクトルが示す位置を中心に狭い参照範囲を検索していくことによって、少ない演算量で広い参照範囲における動き検出を可能としたものである（例えば、特許文献１参照）。
【０００５】
また、前記課題を解決する第２の方法としては、処理ブロックも候補ブロックも輝度データを間引いたデータを使用する方法がある。この例としては、ｍ×ｎ画素の処理ブロックを間引いたｉ×ｊ画素（ｉ＜ｍ、ｊ＜ｎ）の間引き処理ブロックと、同じ様に間引いた候補ブロックとのブロックマッチングにより動きベクトルを検出するものであり、１つのブロックを構成する画素数が間引き率に対応して少なくなるため、演算量が激減する。通常、間引き処理ブロックによって動きベクトルが検索されると、その動きベクトルが示す画面位置を中心とする狭い参照範囲内を間引きしていないｍ×ｎ画素のブロックで詳細に動き検出を行う。つまり、間引きデータによって広い参照範囲内を動き検出することで大まかな動きベクトルを検出し、その後大まかな動きベクトルが示す位置を中心に狭い範囲を検索していくことによって、少ない演算量で広い参照範囲における動き検出を可能としたものである。
【０００６】
【特許文献１】
特許第３１７１２４９号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、従来の第１の動き検出方法では、パーン画像や被写体が一様に画面を移動している場合には効果が得られるが、ズーム画像や被写体がランダムに移動している場合には、フレーム全体の動きベクトルと処理ブロックの実際の動きが一致しなくなる。そのために、動き検出が行われる狭い参照範囲内に最適な予測ブロックがなくなってしまい、画質に著しい劣化が発生するという問題点があった。
【０００８】
また、従来の第２の動き検出方法では、間引きした処理ブロックと間引きした候補ブロックとをブロックマッチングすることにより、画像によっては特徴点が間引かれたためにブロックマッチング結果が悪くなり、本来検出されるべき動きベクトルが検出できなくなるという課題がある。このことを図を用いて説明する。
【０００９】
図９は従来の間引きデータを用いた動き検出方法を説明する概念図であり、（ａ）は処理ブロック、（ｂ）は候補ブロック、（ｃ）は処理ブロック（ａ）に対応した間引き処理ブロック、（ｄ）は候補ブロック（ｂ）に対応した間引き候補ブロックを示す。
【００１０】
図９において、（ｃ）及び（ｄ）は、それぞれ、（ａ）及び（ｂ）の水平画素を１／２に間引いた例を表わしている。間引きデータを作成する場合、通常はフレームまたはフィールドに対して間引きを行うため、フレームまたはフィールドに対する相対位置が処理ブロックと候補ブロックで異なると、図９のように、全画素を使ったブロックマッチング（ａとｂとのブロックマッチング）では一致するものが、間引き画像を使ったブロックマッチング（ｃとｄとのブロックマッチング）では一致しない場合が発生する。そのために、動き検出で本来検出されるべき候補ブロックではなく、他の候補ブロックを予測ブロックとして符号化するため、画質に著しい劣化が発生するという問題点があった。
【００１１】
本発明は上記問題点を解決するために、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出を可能とすることを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１記載の動き検出方法は、動き検出の対象となる処理ブロックと参照範囲内から作成された候補ブロックとのブロックマッチングにより動きベクトルを求める動き検出方法において、１または２以上の過去に求めた処理ブロックの動きベクトルより期待ベクトルを算出する工程を有し、前記期待ベクトルより前記処理ブロックの動きベクトルを算出することを特徴とする。
【００１３】
請求項２記載の動き検出方法は、請求項１記載の動き検出方法において、前記期待ベクトルは、単位時間当たりの大きさを示す単位期待ベクトルを基に、前記処理ブロックと候補ブロックとの時間距離に対応した大きさに変更したものであることを特徴とする。
【００１４】
請求項３記載の動き検出方法は、請求項１または請求項２記載の動き検出方法において、前記単位期待ベクトルは、１または２以上の過去に求めた処理ブロックの動きベクトルそれぞれの影響度を考慮して平滑化することを特徴とする。
【００１５】
請求項４記載の動き検出方法は、請求項１または請求項２または請求項３のいずれかに記載の動き検出方法において、前記処理ブロックにおいてブロックマッチングで確定した最小評価値が第１の閾値以下または未満の場合に前記期待ベクトルを算出して用い、前記最小評価値が前記第１の閾値より大きいまたは以上の場合には前回の検出で用いた期待ベクトルを使用することを特徴とする。
【００１６】
請求項５記載の動き検出方法は、請求項４記載の動き検出方法において、前記第１の閾値は、１または２以上の過去に求めた処理ブロックの最小評価値それぞれの影響度を考慮して平滑化したものであることを特徴とする。
【００１７】
請求項６記載の動き検出方法は、請求項１または請求項２または請求項３または請求項４または請求項５のいずれかに記載の動き検出方法において、前記期待ベクトル、前記単位期待ベクトルおよび前記第１の閾値は、時間的に異なる第１のフィールドデータおよび第２のフィールドデータを合成したデータから算出する場合と、前記第１のフィールドデータのみを用いて算出する場合と、前記第２のフィールドデータのみを用いて算出する場合があることを特徴とする。
【００１８】
請求項７記載の動き検出方法は、請求項１または請求項２または請求項３または請求項４または請求項５または請求項６のいずれかに記載の動き検出方法において、前記期待ベクトル、前記単位期待ベクトルおよび前記第１の閾値は、処理ブロックに対して時間的に古い候補ブロックを用いて算出する場合と、処理ブロックに対して時間的に新しい候補ブロックを用いて算出する場合があることを特徴とする。
【００１９】
請求項８記載の動き検出方法は、請求項１または請求項２または請求項３または請求項４または請求項５または請求項６または請求項７のいずれかに記載の動き検出方法において、前記ブロックマッチングにおける評価値を、期待ベクトルが示す位置からの画面距離に対応した重み付けを考慮して算出することを特徴とする。
【００２０】
請求項９記載の動き検出方法は、請求項８記載の動き検出方法において、前記評価値の算出を、前記ブロックマッチング結果に前記期待ベクトルが示す位置からの画面距離に対応した設定値を加算または乗算して算出することを特徴とする。
【００２１】
請求項１０記載の動き検出方法は、請求項８または請求項９のいずれかに記載の動き検出方法において、前記重み付けの設定値は、前記期待ベクトルが示す位置を中心として画面距離が遠くなるに従って選ばれにくくなる第１のデータテーブルまたは計算式より設定することを特徴とする。
【００２２】
請求項１１記載の動き検出方法は、請求項８または請求項９または請求項１０のいずれかに記載の動き検出方法において、前記動きベクトルが前記期待ベクトルを中心に第１の所定値より近い値の場合には、前記重み付けの設定値を前記第１のデータテーブルまたは計算式より傾斜の緩いまたは固定値である第２のデータテーブルまたは計算式より設定することを特徴とする。
【００２３】
請求項１２記載の動き検出方法は、請求項８または請求項９または請求項１０または請求項１１のいずれかに記載の動き検出方法において、前記動きベクトルと前記期待ベクトルの差が第２の所定値以上ある場合には、前記重み付けの設定値を前記第１のテーブルまたは計算式より傾斜の緩いまたは固定値である第３のデータテーブルまたは計算式より設定することを特徴とする。
【００２４】
請求項１３記載の動き検出方法は、請求項１０または請求項１１または請求項１２記載の動き検出方法において、前記第１または第２または第３のデータテーブルまたは計算式はにされた重み付けの設定値は、今回のブロックマッチング結果と過去に確定した１または２以上のブロックマッチング結果を平滑化した閾値との比較結果によって調整することを特徴とする。
【００２５】
以上により、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出を可能とすることができる。
【００２６】
【発明の実施の形態】
本発明の実施の形態について、図面を用いて説明する。
（実施の形態１）
以下、実施の形態１の動き検出方法について図１，図２，図３，図４，図５，図６を用いて説明する。
【００２７】
図１は本発明の実施の形態１における動き検出方法を用いた動き検出装置の構成図である。また、図２は本発明の実施の形態１における間引きブロックマッキングを示すフローチャートであり、図３は本発明の実施の形態１における全画素を用いたブロックマッキングを示すフローチャート，図４は重みテーブルを示す図，図５は一定以上のベクトルオフセットの重み係数を固定した重みテーブルを示す図，図６は一定範囲のベクトルオフセットの重み係数を固定した重みテーブルを示す図である。
【００２８】
図１において、処理ブロック生成手段１は処理フレームを入力し、動き検出を行う対象であるｍ×ｎ画素の処理ブロック及び対応する色差データを出力すると共にフレームにおける処理ブロックの座標位置（以下、画面位置と称す）を出力する手段、候補ブロック生成手段２は参照フレームを入力し、参照範囲内からｍ×ｎ画素の候補ブロック及び対応する色差データを出力すると共に候補ブロックの画面位置を出力する手段、減算器３は候補ブロック生成手段２が出力する画面位置から処理ブロック生成手段１が出力する画面位置を減算して動きベクトルを算出する減算器、メモリ４は減算器３が出力する動きベクトルを一時的に格納するメモリ、単位期待ベクトル算出手段５はメモリ４に格納されている動きベクトルから単位期待ベクトルを算出する手段、メモリ６は単位期待ベクトル算出手段５が出力する単位期待ベクトルを一時的に格納するメモリ、期待ベクトル算出手段７はメモリ６に格納された単位期待ベクトルから期待ベクトルを算出する手段、減算器８は減算器３が出力する動きベクトルから期待ベクトル算出手段７が出力する期待ベクトルを減算する減算器、スイッチ９はＷＥＩＧＨＴ信号を入力すると減算器８の出力を送出するスイッチ、スイッチ１０はスイッチを端子ｗ側に切り換えているときには処理ブロック生成手段１が出力する輝度データを出力し、スイッチを端子ｚ側に切り換えているときには処理ブロック生成手段１が出力する輝度データ及び対応する色差データ（総称して画素データと称す）を出力するスイッチ、スイッチ１１はスイッチを端子ｗ側に切り換えているときには候補ブロック生成手段２が出力する輝度データを出力し、スイッチを端子ｚ側に切り換えているときには候補ブロック生成手段２が出力する画素データを出力するスイッチ、減算器１２はスイッチ１１を介して入力した候補ブロックの輝度データからスイッチ１０を介して入力した処理ブロックの輝度データを減算する減算器、ＡＢＳ演算器１３は減算器１２の出力を絶対値演算する演算器、加算器１４はＡＢＳ演算器１３の出力とメモリ１５の出力を加算してブロックマッチング結果を算出する加算器、メモリ１５は加算器１４の出力を一時的に格納するメモリ、重みテーブル１６は重み係数を配列して記憶しているテーブル、重み付け手段１７はスイッチ９を介して入力した減算器８の出力に対応して重みテーブル１６から重み係数を入力し、ブロックマッチング結果に重み係数を乗算して評価値を作成する手段、比較器１８は重み付け手段１７の出力とメモリ１９の格納データとを比較し小さい方を暫定最小評価値としてメモリ１９へ出力する比較器、メモリ１９は比較器１８が出力する暫定最小評価値を一時的に格納するメモリ、比較器２０は相場評価値算出手段２１へメモリ１９の出力を送出すると共に、メモリ１９の出力とメモリ２２の出力を比較し、メモリ１９の出力の方がメモリ２２の出力以下の場合に単位期待ベクトル算出手段５へＣＡＬＣ信号を出力する比較器、相場評価値算出手段２１は比較器２０の出力とメモリ２２の出力を演算することによって相場評価値を算出する手段、メモリ２２は相場評価値算出手段２１からの相場評価値を一時的に格納するメモリ、スイッチ２３はＯＵＴ信号が入力��れるとメモリ４からの動きベクトルをベクトル符号化手段へ出力するスイッチ、減算器２４は、スイッチ１１を介して入力した候補ブロックの画素データからスイッチ１０を介して入力した処理ブロックの画素データを減算し画素差分を算出する減算器である。また、処理ブロック生成手段１は処理ブロックを構成する輝度データを規則的に間引き、残った輝度データで構成される間引き処理ブロックを生成してスイッチ１０へ出力すると共に、同じ規則で間引いた処理フレーム（以下、間引き処理フレームと称す）に対する間引き処理ブロックの画面位置を減算器３に出力する機能を有する。また、候補ブロック生成手段２は間引き処理ブロックを生成した時と同じ規則で参照フレームの輝度データを間引き、残った輝度データで構成される間引き参照フレームにおいて、参照範囲に対応する範囲内から間引き候補ブロックを生成してスイッチ１１へ出力すると共に、間引き参照フレームに対する間引き候補ブロックの画面位置を減算器３に出力する機能を有する。
【００２９】
以上のように構成された動き検出装置について、以下にその動作を述べる。
本発明の実施の形態１における動き検出方法では、まず、広い参照範囲内において間引き処理ブロックと間引き候補ブロックとのブロックマッチング（以下、間引きブロックマッチングと称す）により評価を行い、次に、評価値が最小となる候補ブロックを中心として、狭い参照範囲内において全画素を用いた処理ブロックと候補ブロックとのブロックマッチング（以下、単にブロックマッチングと称す）により評価し、評価値が最小となる候補ブロックを動き検出の検出結果とする手順で処理される。ここで、説明の都合上、間引き方法は水平方向及び垂直方向において２画素につき１画素ずつを等間隔に間引くものとする。つまり、水平及び垂直方向の画素数は１／２（ｍ／２×ｎ／２画素のブロック）になる。また、間引き方法については本発明の範囲を限定するものではなく、間引き方を変更しても問題ない。更に、説明の都合上、メモリ６には前回までに算出した単位期待ベクトルが格納されており、メモリ２２には前回までに算出した相場評価値が格納されているものとする。
【００３０】
図１の動き検出装置の処理の流れを図２及び図３のフローチャート用いて説明する。
図２，図３において、まず、広い参照範囲内における間引きブロックマッチングが行われる（Ｓ２００）。この時には、スイッチ１０及びスイッチ１１は端子ｗ側に切り換えられ、また、ＷＥＩＧＨＴ信号が入力されているためスイッチ９はＯＮ動作を、ＯＵＴ信号は解除されているためスイッチ２３はＯＦＦ動作をしている。
【００３１】
処理ブロック生成手段１は入力した処理フレームから符号化の対象となる処理ブロックに対応した間引き処理ブロックを生成すると共に、間引き処理ブロックの画面位置を出力する（Ｓ２０１）。次に、候補ブロック生成手段２は入力した参照フレームから間引き参照フレームを生成し、参照範囲に対応した範囲内から間引き候補ブロックを生成すると共に、間引き候補ブロックの画面位置を出力する（Ｓ２０２）。ここで、間引き率は水平及び垂直方向が１／２であるので、間引き処理ブロック及び間引き候補ブロックの画面位置のｘ座標及びｙ座標は、処理ブロック及び候補ブロックのｘ座標及びｙ座標の各々１／２の値となる。減算器３では候補ブロック生成手段２が出力した間引き候補ブロックの画面位置から処理ブロック生成手段１が出力した間引き処理ブロックの画面位置を減算し、動きベクトルを算出する（Ｓ２０３）。一方、期待ベクトル算出手段７はメモリ６から単位期待ベクトルＶｅｘｐｕを入力し、期待ベクトルＶｅｘｐを算出する（Ｓ２０４）。
【００３２】
ここで、単位期待ベクトルＶｅｘｐｕは、間引き処理ブロックが１フィールド当たりに移動する画面距離を推定したものであり、（式１）の様にベクトルとして求められる。
【００３３】
【数１】
2004208087.tif 000003
但し、ｋは今回動き検出を行う間引き処理ブロックの番号を示し、Ｖｅｐｘｕ［ｋ−１］は前回の間引き処理ブロックにおける単位期待ベクトルであり、Ｖｕ［ｋ−１］は前回の間引き処理ブロックにおける動きベクトルを１フィールド当たりに換算した単位動きベクトルである。また、係数ａ及び係数ｂはａ＋ｂ＝１の関係を持つ定数である。つまり、単位期待ベクトルＶｅｘｐｕは過去に動き検出を行った間引き処理ブロックにおける単位動きベクトルＶｕを平滑化したものである。係数ａと係数ｂは、今回の間引き処理ブロックから遠い過去の単位動きベクトルの影響を受け過ぎず、またランダムに動いている様な特異的な過去の単位動きベクトルの影響を受けないように、統計的に決定される値である。
【００３４】
期待ベクトル算出手段７は間引き処理ブロックに関して、参照フレームから処理フレームへ移動した画面距離を推定する期待ベクトルＶｅｘｐを（式２）の様に算出する。
【００３５】
【数２】
2004208087.tif 000004
但し、ＤＩＳＴは参照フレームと処理フレームとの時間距離をフィールド数で表したものである。
【００３６】
次に、減算器８は減算器３からの動きベクトルと期待ベクトル算出手段からの期待ベクトルＶｅｘｐとを減算することで、今回の間引き候補ブロックが期待ベクトルからどれだけ離れているかを示すベクトルオフセットを算出し、スイッチ９を介して重み付け手段１７へ供給する（Ｓ２０５）。
【００３７】
一方、処理ブロック生成手段１で生成した間引き処理ブロックは１画素ずつ出力され、スイッチ１０を介して減算器１２へ供給される。また、候補ブロック生成手段２で生成した間引き候補ブロックも処理ブロック生成手段１から出力される間引き処理ブロックの画素に対応して１画素ずつ出力され、スイッチ１１を介して減算器１２へ供給される。減算器１２は間引き候補ブロックの画素から間引き処理ブロックの画素を減算し、ＡＢＳ演算器１３で絶対値演算を行う。ＡＢＳ演算器１３の出力は加算器１４においてメモリ１５の出力と加算され、再びメモリ１５へ格納される。以上をｍ／２×ｎ／２画素全てについて繰り返すことによりメモリ１５には間引き候補ブロックと間引き処理ブロックとの差分絶対値総和ＤＭＣが格納される（Ｓ２０６）。以上の処理は（式３）のように表わすことができる。
【００３８】
【数３】
2004208087.tif 000005
ここで、（ｘ，ｙ）は間引き候補ブロックまたは間引き処理ブロックの先頭画素からの相対的な画素位置を、Ｙｒ（ｘ，ｙ）は間引き候補ブロックにおける画素位置（ｘ，ｙ）の輝度データを、Ｙｔ（ｘ，ｙ）は間引き処理ブロックにおける画素位置（ｘ，ｙ）の輝度データを表している。
【００３９】
次に、重み付け手段１７はスイッチ９を介して減算器８から入力したベクトルオフセットに対応した重み係数ｋを重みテーブル１６から入力し（Ｓ２０７）、メモリ１５の差分絶対値総和ＤＭＣに乗算して、今回ブロックマッチングを行った間引き処理ブロックと間引き候補ブロックとにおける評価値ＥＳＴを算出する（Ｓ２０８）。以上の処理は（式４）のように表わすことができる。
【００４０】
【数４】
2004208087.tif 000006
次に、比較器１８ではメモリ１９に格納されている前回までの暫定最小評価値を入力し、今回の評価値ＥＳＴと比較評価する（Ｓ２０９）。今回の評価値ＥＳＴの方が小さいと判断した場合には今回の評価値を暫定最小評価値としてメモリ１９を更新する（Ｓ２１０）と共に、候補ブロック生成手段２とメモリ４へ今回の評価値が最小であったことを伝えるＭＩＮ信号を出力する（Ｓ２１１）。ここで、重みテーブル１６は重み係数ｋを配列したＲＯＭテーブルで構成されている。
【００４１】
このＲＯＭテーブルについて図４を用いて説明する。
図４（ａ）において、横軸はベクトルオフセットのｘ成分、縦軸はベクトルオフセットのｙ成分であり、それぞれ０を中心に±１６の値について示している。ベクトルオフセットのｘ成分とｙ成分が交差する所の数値が重み係数ｋとなる。
【００４２】
また、図４（ｂ）は図４（ａ）の重みテーブルにおいてベクトルオフセットのｙ成分が０の場合の重み係数ｋをグラフ化したものであり、横軸がベクトルオフセットのｘ成分、縦軸が重み係数ｋの値である。図４より、ベクトルオフセットが（０，０）の位置に近い程に重み係数ｋは小さい数値であるのがわかる。ベクトルオフセットが（０，０）の位置に近いということは、今回の動きベクトルの値が期待ベクトルに近い値であることを意味しており、つまり、動きベクトルが期待ベクトルに近くなる程に、差分絶対値総和ＤＭＣに乗じる重み係数ｋは小さい値になり、結果的に評価値ＥＳＴは小さい値をとりやすくなる。
【００４３】
ここで、図５または図６は重みテーブル１６について別の一例を示したものであり、図５においてはベクトルオフセットが一定以上に大きくなった時に重み係数ｋを設定値Ｃに固定した例、図６においてはベクトルオフセットが（０，０）から距離Ｄの範囲内において設定値をＡに固定した例である。
つまり、図５の例は、動きベクトルが期待ベクトルから懸け離れた場合には、動き検出中の処理ブロックが他の処理ブロックとは違った動きをしている可能性が大きく、動きベクトルがこの範囲に入った評価値同士においては係数ｋを一定にすることによって期待ベクトルとの一致度とは無関係に公平に評価しようというものである。
【００４４】
また、図６の例は、動きベクトルが期待ベクトルに非常に近い値の場合には、期待ベクトルの信頼性による悪影響を回避するため、動きベクトルがこの範囲に入った評価値同士においては重み係数ｋを一定にすることによって期待ベクトルとの一致度とは無関係に公平に評価しようというものである。設定値Ｃと設定値Ａは固定値でなくてもよく、傾きＢよりも緩い傾きを持たせた値にすれば、その目的を達成できる。また、重み付け手段１７は重み係数ｋを差分絶対値総和ＤＭＣに乗じることで、期待ベクトルの値に近い動きベクトルを採用し易くする訳だが、実際の画像では画面一様に移動せずに、一部の小さい被写体のみがランダムに移動している場合もある。この場合には正しい動きベクトルは期待ベクトルとは一致しなくなる。しかし、正しい動きベクトルの時の差分絶対値総和ＤＭＣは他と比較して非常に小さい値をとるため、重み係数ｋを乗じた場合でも評価値ＥＳＴは大抵は最小となり、精度の高い結果を得ることができる。
【００４５】
図２において、候補ブロック生成手段２は比較器１８からＭＩＮ信号を受け取ると、現在の間引き候補ブロックを動き検出の有力候補とする。メモリ４はＭＩＮ信号を受け取ると、減算器３から出力されている現在の動きベクトルを一時的に記憶する。
【００４６】
候補ブロック生成手段２は参照範囲内において１画素ずつずらしながら間引き候補ブロックを順次出力し、上記処理（Ｓ２０２〜Ｓ２１１）を繰り返すことにより、メモリ１９には参照範囲内における最小評価値が格納される。
【００４７】
参照範囲内の全ての間引き候補ブロックを処理すると外部よりＥＮＤ信号が入力される（Ｓ２１２）。比較器２０はＥＮＤ信号を入力すると、メモリ１９に格納されている参照範囲内における最小評価値ＥＳＴ［ｋ］を入力し、メモリ２２に格納されている相場評価値ＥＳＴｐｒ［ｋ］と比較する。最小評価値ＥＳＴ［ｋ］が相場評価値ＥＳＴｐｒ［ｋ］以下の場合には、比較器２０は単位期待ベクトル算出手段５へ単位期待ベクトルＶｅｘｐｕを更新するように要求するＣＡＬＣ信号を出力する。また、比較器２０は相場評価値算出手段２１へ最小評価値ＥＳＴ［ｋ］を出力する。相場評価値算出手段２１は、最小評価値ＥＳＴ［ｋ］とメモリ２２からの相場評価値ＥＳＴｐｒ［ｋ］とから、次回の動き検出時に使用する相場評価値ＥＳＴｐｒ［ｋ＋１］を算出する（Ｓ２１３）。この処理は（式５）の様に表わすことができる。
【００４８】
【数５】
2004208087.tif 000007
ここで、相場評価値ＥＳＴｐｒとは、過去に動き検出を行った間引き処理ブロックにおける最小評価値の相場を示した指標であり、（式５）において、係数ｃ及び係数ｄはｃ＋ｄ＝１の関係を持つ定数である。つまり、相場評価値ＥＳＴｐｒは過去に動き検出を行った間引き処理ブロックにおける最小評価値ＥＳＴを平滑化したものである。係数ｃと係数ｄは、今回の間引き処理ブロックから遠い過去の最小評価値ＥＳＴの影響を受け過ぎず、また最適な間引き候補ブロックがなく特異的に大きくなった過去の最小評価値ＥＳＴの影響を受けないように、統計的に決定される値である。
【００４９】
単位期待ベクトル算出手段５は比較器２０からＣＡＬＣ信号を入力すると（Ｓ２１４）、最小評価値を算出した時の動きベクトルをメモリ４から入力し、単位動きベクトルＶｕ［ｋ］を求め、（式１）に従って次回の動き検出時に使用する単位期待ベクトルＶｅｘｐｕ［ｋ＋１］を算出し、メモリ６に記憶しておく（Ｓ２１５）。つまり、間引き処理ブロックの最小評価値ＥＳＴが相場評価値ＥＳＴｐｒ以下の場合に限って、今回の動きベクトルを加味した単位期待ベクトルＶｅｘｐｕに更新する。間引き処理ブロックの最小評価値ＥＳＴが相場評価値ＥＳＴｐｒ以下の場合とは、今回のブロックマッチング結果が信頼性の高いものであることを意味している。
【００５０】
また、動き補償予測方式には、時間的に異なる第１フィールドと第２フィールドとを合成したデータから処理ブロック及び候補ブロックを生成して動き検出を行うフレーム予測モードと、第１フィールドのみまたは第２フィールドのみのデータから処理ブロックおよび候補ブロックを生成して動き検出を行う第１フィールド予測モードまたは第２フィールド予測モードがある。ちなみに、間引き処理ブロックまたは間引き候補ブロックの生成は予測モードに合わせて、間引き方法が切り換えられる。また、各予測モードにおいても、処理フレームに対して時間的に古いフレームを参照フレームとする前方向参照モードと、時間的に新しいフレームを参照フレームとする後方向参照モードとがある。以上の様に３つの予測モードにおいて各々２つの参照モードがあるため、組み合わせとしては計６種類のモードが存在することになるが、前述したメモリ６の単位期待ベクトルと、メモリ２２の相場評価値は６種類のモード毎に区別して格納される。つまり、単位期待ベクトル算出手段５は現在のモードの単位期待ベクトルをメモリ６から読み出して新たな単位期待ベクトルを算出し、メモリ６に格納している現在のモードの単位期待ベクトルのみを更新する。同様に、期待ベクトル算出手段７も現在のモードの単位期待ベクトルをメモリ６から読出し、期待ベクトルを算出する。比較器２０、相場評価値算出手段２１においても、同様に現在のモードの相場評価値によって処理を行う。これは、処理ブロックと候補ブロックの構成方法や時間方向が各モードによって異なり、単位期待ベクトルや相場評価値の値に差がでるために別々に処理を行うものである。これにより、精度の高い動き検出が可能となる。また、参照モードには処理フレームに対して時間的に古いフレームと時間的に新しいフレームの２つを参照フレームとする両方向参照モードがあるが、これは前方参照モードと後方参照モードの両データを使用することで対応できる。
【００５１】
以上で、広い参照範囲内における間引きブロックマッチングが終了したことになり、引き続き、最小評価値を導き出した候補ブロックを中心とする狭い参照範囲内において全画素を用いたブロックマッチングを開始する。ここで、最小評価値を導き出した候補ブロックの位置は間引き候補ブロックのｘ座標とｙ座標を各々２倍することで容易に換算できる。
【００５２】
全画素を用いたブロックマッチングの開始時点では、スイッチ１０及びスイッチ１１は端子ｗ側のままであり、ＯＵＴ信号は解除されているためスイッチ２３はＯＦＦ動作をしている。また、全画素を用いたブロックマッチングの実行中においてはＷＥＩＧＨＴ信号は常に解除されているため、スイッチ９はＯＦＦ動作のままとなり、単位期待ベクトル算出手段５、メモリ６、期待ベクトル算出手段７、減算器８、比較器２０、相場評価値算出手段２１及びメモリ２２での処理は何ら影響を及ぼさない。
【００５３】
処理ブロック生成手段１は符号化の対象となる処理ブロックをスイッチ１０を介して減算器１２へ１画素ずつ出力すると共に、処理ブロックの画面位置を減算器３へ出力する（Ｓ３０１）。また、候補ブロック生成手段２は間引きブロックマッチングで検出された候補ブロックを中心として、新たに狭い参照範囲を設定し、参照範囲内から候補ブロックを生成する。候補ブロック生成手段２は生成した候補ブロックをスイッチ１１を介して減算器１２へ１画素ずつ出力すると共に、候補ブロックの画面位置を減算器３へ出力する（Ｓ３０２）。減算器３では候補ブロックの画面位置から処理ブロックの画面位置を減算することで動きベクトルを算出する（Ｓ３０３）。一方、減算器１２では候補ブロックの画素から処理ブロックの画素を減算し、ＡＢＳ演算器１３で絶対値演算を行う。ＡＢＳ演算器１３の出力は加算器１４においてメモリ１５の出力と加算され、再びメモリ１５へ格納される。以上をｍ×ｎ画素全てについて繰り返すことによりメモリ１５には候補ブロックと処理ブロックとの差分絶対値総和ＤＭＣが格納される（Ｓ３０４）。以上の処理は（式６）の様に表わすことができる。
【００５４】
【数６】
2004208087.tif 000008
ここで、（式６）において（ｘ，ｙ）は候補ブロックまたは処理ブロックの先頭画素からの相対的な画素位置を、Ｙｒ（ｘ，ｙ）は候補ブロックにおける画素位置（ｘ，ｙ）の輝度データを、Ｙｔ（ｘ，ｙ）は処理ブロックにおける画素位置（ｘ，ｙ）の輝度データを表している。
【００５５】
重み付け手段１７はスイッチ９のＯＦＦ動作によってベクトルオフセットが入力されないため、重みテーブル１６から常に重み係数＝１を入力し、メモリ１５の差分絶対値総和ＤＭＣに乗算することで、今回ブロックマッチングを行った処理ブロックと候補ブロックとにおける評価値ＥＳＴを算出する（Ｓ３０５）。以上の処理は（式７）の様に表わすことができる。
【００５６】
【数７】
2004208087.tif 000009
比較器１８ではメモリ１９に格納されている前回までの暫定最小評価値を入力し、今回の評価値ＥＳＴと比較評価する（Ｓ３０６）。今回の評価値ＥＳＴの方が小さいと判断した場合には今回の評価値ＥＳＴを暫定最小評価値としてメモリ１９を更新する（Ｓ３０７）と共に、候補ブロック生成手段２とメモリ４へ今回の評価値ＥＳＴが最小であったことを伝えるＭＩＮ信号を出力する（Ｓ３０８）。候補ブロック生成手段２は比較器１８からＭＩＮ信号を受け取ると、現在の候補ブロックを予測ブロックの有力候補とする。メモリ４はＭＩＮ信号を受け取ると、減算器３から出力されている現在の動きベクトルを一時的に記憶する。
【００５７】
候補ブロック生成手段２は参照範囲内において１画素ずつずらしながら候補ブロックを順次出力し、上記処理（Ｓ３０２〜３０８）を繰り返すことにより、メモリ１９には参照範囲内における最小評価値が格納される。
【００５８】
参照範囲内の全ての候補ブロックを処理するとＯＵＴ信号が入力される（Ｓ３０９）ため、スイッチ１０及びスイッチ１１は端子ｚ側へ切り換わり、スイッチ２３はＯＮ動作を行う。候補ブロック生成手段２はＯＵＴ信号を入力すると、ＭＩＮ信号が最後に入力された候補ブロックを予測ブロックとして最終決定する。そして、候補ブロック生成手段２は予測ブロックの画素データを、処理ブロック生成手段１は処理ブロックの画素データを各々１画素ずつスイッチ１１またはスイッチ１０を介して順次減算器２４へ出力する。減算器２４では予測ブロックの画素データから処理ブロックの画素データを減算することで画素差分を作成し、符号化処理を実行する符号化手段へ出力する（Ｓ３１０）。また、メモリ４はＯＵＴ信号を入力すると、ＭＩＮ信号が最後に入力されたときに格納した動きベクトルを、スイッチ２３を介してベクトル符号化処理を実行するベクトル符号化手段へ出力する（Ｓ３１１）。この動きベクトルは画素差分を算出した候補ブロックと処理ブロックの画面位置から作成したものである。以上で、今回の動き検出の対象である処理ブロックにおける動き検出は終了する。他の未処理の処理ブロックについても同様に処理していく（Ｓ３１２）。
【００５９】
以上のように、実施の形態１における動き検出方法は、まず広い参照範囲内において、粗い動き検出（間引きブロックマッチング）を行う。間引きブロックマッチングにおいては、単位期待ベクトル算出手段５は過去に動き検出を行った間引き処理ブロックにおける単位動きベクトルＶｕを平滑化して単位期待ベクトルＶｅｘｐｕを求め、期待ベクトル算出手段７は現在処理を行っている間引き処理ブロックと間引き候補ブロックとの時間距離ＤＩＳＴを乗算することによって期待ベクトルＶｅｘｐを算出する。重み付け手段１７は、この期待ベクトルＶｅｘｐが示す位置と現在の動きベクトルが示す位置との画面距離に対応した重み係数ｋと、メモリ１５の差分絶対値総和ＤＭＣ（ブロックマッチング結果）とを乗算したものを評価値ＥＳＴとする。候補ブロック生成手段２は、比較器１８での比較評価から評価値ＥＳＴが最小となる候補ブロックを検出する。その後、間引きブロックマッチングで最小評価値を導き出した候補ブロックの画面位置を中心とする狭い参照範囲内において、候補ブロックを順次生成し、詳細の動き検出（全画素を用いたブロックマチング）を行うことにより動きベクトルを決定する。
【００６０】
また、単位期待ベクトル算出手段５は最小評価値が相場評価値ＥＳＴｐｒ以下の場合にのみ単位期待ベクトルを算出する。つまり、最小評価値が信頼性の高い場合にのみ、検出された動きベクトルを単位期待ベクトルＶｅｘｐｕに反映させるように構成しており、精度の高い期待ベクトルを得ることができる。
【００６１】
以上の方法により、広範囲における動き検出を行うことができるため、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出が可能となる。
【００６２】
（実施の形態２）
以下、実施の形態２の動き検出方法について図３，図４，図５，図６，図７，図８を用いて説明する。
【００６３】
図７は本発明の実施の形態２における動き検出方法を用いた動き検出装置の構成図である。また、図８は本発明の実施の形態１における間引きブロックマッキングを示すフローチャートである。
【００６４】
図７は本発明の動き検出方法を用いた動き検出装置の一実施例を示したものであり、図１と同じ機能を持ったものには同じ番号を付加している。
図７において、メモリ７０１はメモリ１５から入力した差分絶対値総和を一時的に記憶するためのメモリ、相場ＤＭＣ算出手段７０２はメモリ７０１に格納している値と、メモリ７０３に格納している値とを演算することによって、相場差分絶対値総和を算出する手段、メモリ７０３は相場ＤＭＣ算出手段７０２から入力した相場差分絶対値総和を一時的に記憶するためのメモリ、テーブル切り換え手段７０４はメモリ７０３の出力とメモリ１５の出力とを比較して重みテーブルを切り換える手段、重みテーブル７０５は重み係数を配列したテーブルを複数記憶しており、テーブル切り換え手段７０４から指示された重みテーブルを設定するテーブルである。
【００６５】
以上のように構成された動き検出装置について、以下にその動作を述べる。図７の動き検出装置の処理の流れを図８及び図３のフローチャートに示す。
図８において、図２と同じ処理のものには同じ番号を付加している。本装置は、実施の形態１と同様に、まず広い参照範囲内において間引きブロックマッチングにより評価し、次に評価値が最小となる候補ブロックを中心として、狭い参照範囲内において全画素を用いたブロックマッチングにより評価し、評価値が最小となる候補ブロックを動き検出の検出結果とする手順で処理される。ここで、説明の都合上、間引き方法は水平方向及び垂直方向において２画素につき１画素ずつを等間隔に間引くものとする。つまり、水平及び垂直方向の画素数は１／２（ｍ／２×ｎ／２画素のブロック）になる。また、説明の都合上、メモリ７０３には前回の間引き処理ブロックの動き検出において求めた相場差分絶対値総和が格納されているものとする。相場差分絶対値総和の詳細については後述する。更に、説明の都合上、重みテーブル７０５はテーブル１及びテーブル２の２種類のテーブルを持っているものとする。
【００６６】
まず、広い参照範囲内における間引きブロックマッチングが行われる（図８のＳ２００）。この時には、スイッチ１０及びスイッチ１１は端子ｗ側に切り換えられ、またＷＥＩＧＨＴ信号が入力されているためスイッチ９はＯＮ動作をし、ＯＵＴ信号は解除されているためスイッチ２３はＯＦＦ動作をしている。
【００６７】
処理ブロック生成手段１は入力した処理フレームから符号化の対象となる処理ブロックに対応した間引き処理ブロックを生成すると共に、間引き処理ブロックの画面位置を出力する（Ｓ２０１）。また、候補ブロック生成手段２は入力した参照フレームから間引き参照フレームを生成し、参照範囲に対応した範囲内から間引き候補ブロックを生成すると共に、間引き候補ブロックの画面位置を出力する（Ｓ２０２）。以下、実施の形態１と同様に、減算器３、メモリ６、期待ベクトル算出手段７、減算器８、スイッチ９によってベクトルオフセットが算出される（Ｓ２０３〜２０５）。その後、実施の形態１と同様に、スイッチ１０、スイッチ１１、減算器１２、ＡＢＳ演算器１３、加算器１４、メモリ１５によって差分絶対値総和ＤＭＣが算出される（Ｓ２０６）。
【００６８】
テーブル切り換え手段７０４はメモリ１５から差分絶対値総和ＤＭＣを、メモリ７０３から相場差分絶対値総和ＤＭＣｐｒ［ｋ］を入力し、比較する（Ｓ８０１）。
【００６９】
ここで、相場差分絶対値総和ＤＭＣｐｒ［ｋ］は、過去に動き検出を行った間引き処理ブロックにおける差分絶対値総和ＤＭＣの相場を示す値であり、（式８）により求めることができる。
【００７０】
【数８】
2004208087.tif 000010
但し、ｋは今回動き検出を行う間引き処理ブロックの番号を示し、ＤＭＣ［ｋ−１］は前回の間引き処理ブロックにおける差分絶対値総和であり、ＤＭＣｐｒ［ｋ−１］は前回の間引き処理ブロックにおける相場差分絶対値総和である。また、係数ｅ及び係数ｆはｅ＋ｆ＝１の関係を持つ定数である。つまり、相場差分絶対値総和ＤＭＣｐｒは過去に動き検出を行った間引き処理ブロックにおける差分絶対値総和ＤＭＣを平滑化したものである。係数ｅと係数ｆは、今回の間引き処理ブロックから遠い過去の差分絶対値総和ＤＭＣの影響を受け過ぎないように、統計的に決定される値である。また、相場差分絶対値総和ＤＭＣｐｒの算出に使用する差分絶対値総和ＤＭＣは、間引きブロックマッチングにおいて最小評価値を導き出した間引き候補ブロックの差分絶対値総和ＤＭＣのみを反映させている。また、（式８）から解かるように、今回使用する相場差分絶対値総和ＤＭＣｐｒ［ｋ］は前回の間引き処理ブロックの動き検出後に算出した値を使っている。
【００７１】
テーブル切り換え手段７０４は、今回算出した差分絶対値総和ＤＭＣが相場差分絶対値総和ＤＭＣｐｒ［ｋ］よりも小さい場合には重みテーブル７０５へテーブル１を使用するように指示し（Ｓ８０２）、逆に大きい場合には重みテーブル７０５へテーブル２を使用するように指示する（Ｓ８０３）。重みテーブル７０５は記憶している２種類のテーブルから、テーブル切り換え手段７０４が指示したテーブルを設定する。重み付け手段１７は重みテーブル７０５に設定されているテーブルからベクトルオフセットに対応した重み係数ｋを入力し（Ｓ２０７）、メモリ１５に格納されている差分絶対値総和ＤＭＣに乗じることによって評価値ＥＳＴを算出する（Ｓ２０８）。
【００７２】
ここで、重みテーブル７０５が記憶している２種類のテーブルは、図４、図５または図６中の設定値Ａ、Ｃや距離Ｄや傾きＢ（以下、テーブルパラメータと称す）を調整した、お互いに異なる重み係数ｋの配列で構成されている。テーブル１はベクトルオフセットに依存し難い様にテーブルパラメータを調整し、重み係数ｋの変化度を小さくしている。逆に、テーブル２はベクトルオフセットに依存し易い様にテーブルパラメータを調整し、重み係数ｋの変化度を大きくしている。つまり、今回算出した差分絶対値総和ＤＭＣが小さく、間引きブロックマッチングの一致度が高いと判断した場合には重み係数ｋの影響を小さくして評価し、逆に差分絶対値総和ＤＭＣが大きく、一致度が低いと判断した場合には重み係数ｋの影響を大きくして、期待ベクトルに近い位置を選択しやすくしている。説明上においては、重みテーブル７０５は２種類のテーブルを持つものとしたが、数種類持つように構成して、その場合に差分絶対値総和ＤＭＣと比較する閾値は、例えば、相場差分絶対値総和ＤＭＣｐｒ−ｇ、ＤＭＣｐｒ−ｈ、ＤＭＣｐｒ＋ｐ、ＤＭＣｐｒ＋ｑ（ｇ、ｈ、ｐ、ｑは規定値）等とすることにより対応することができる。以上の処理は（式４）のように表わすことができる。
【００７３】
比較器１８ではメモリ１９に格納されている前回までの暫定最小評価値を入力し、今回の評価値ＥＳＴと比較評価する（Ｓ２０９）。今回の評価値ＥＳＴの方が小さいと判断した場合には今回の評価値ＥＳＴを暫定最小評価値としてメモリ１９を更新する（Ｓ２１０）と共に、候補ブロック生成手段２、メモリ４及びメモリ７０１へ今回の評価値ＥＳＴが最小であったことを伝えるＭＩＮ信号を出力する（Ｓ２１１）。
【００７４】
候補ブロック生成手段２は比較器１８からＭＩＮ信号を受け取ると、現在の間引き候補ブロックを動き検出の有力候補とする。メモリ４はＭＩＮ信号を受け取ると、減算器３から出力されている現在の動きベクトルを一時的に記憶する。また、メモリ７０１はＭＩＮ信号を受け取ると、メモリ１５に格納している差分絶対値総和ＤＭＣを入力し、記憶する。この差分絶対値総和ＤＭＣは、比較器１８で比較され新たな暫定最小評価値としてメモリ１９を更新した評価値ＥＳＴを算出した元の差分絶対値総和ＤＭＣである。
【００７５】
候補ブロック生成手段２は参照範囲内において１画素ずつずらしながら間引き候補ブロックを順次出力し、上記処理（Ｓ２０２〜Ｓ２１２）を繰り返すことにより、メモリ１９には参照範囲内における最小評価値が格納され、メモリ７０１には最小評価値を導き出した差分絶対値総和ＤＭＣが格納される。
【００７６】
参照範囲内の全ての間引き候補ブロックを処理するとＥＮＤ信号が入力され、相場ＤＭＣ算出手段７０２はＥＮＤ信号を入力する（Ｓ２１２）と、最小評価値に対応した差分絶対値総和ＤＭＣ［ｋ］をメモリ７０１から入力し、また今回の相場差分絶対値総和ＤＭＣｐｒ［ｋ］をメモリ７０３から入力し、（式８）に従って、次回の動き検出時に使用する相場差分絶対値総和ＤＭＣｐｒ［ｋ＋１］を算出し、メモリ７０３に格納しておく（Ｓ８０４）。同時に、実施の形態１と同様に、比較器２０、相場評価値算出手段２１、メモリ２２においてＣＡＬＣ信号の出力制御を行うと共に、次回の動き検出時に使用する相場評価値ＥＳＴｐｒ［ｋ＋１］を算出する（Ｓ２１３）。同時に、ＣＡＬＣ信号が入力される（Ｓ２１４）と、実施の形態１と同様に、メモリ４、単位期待ベクトル算出手段５、メモリ６において次回の動き検出時に使用する単位期待ベクトルＶｅｘｐｕ［ｋ＋１］を算出する（Ｓ２１５）。
【００７７】
以上で、広い参照範囲内における間引きブロックマッチングが終了したことになり、引き続き、実施の形態１と全く同様に、最小評価値を導き出した候補ブロックを中心とする狭い参照範囲内において全画素を用いたブロックマッチングを行うことで予測ブロックが決定され、符号化手段へ画素差分が、ベクトル符号化手段へ動きベクトルが出力される（図３のＳ３０１〜３１１）。
【００７８】
以上で、今回の動き検出の対象である処理ブロックにおける動き検出は終了したことになるが、他の未処理の処理ブロックについても同様に処理していく（Ｓ２００〜２１６、３００〜３１２）。
【００７９】
以上のように、実施の形態２における動き検出装置は、実施の形態１における動き検出装置に相場差分絶対値総和ＤＭＣｐｒを算出するためのメモリ７０１、相場ＤＭＣ算出手段７０２、メモリ７０３を加え、また重みテーブルを切り換えるためのテーブル切り換え手段７０４と重みテーブル７０５を加えた構成となり、テーブル切り換え手段７０４は現在評価している候補ブロックの差分絶対値総和ＤＭＣと、相場差分絶対値総和ＤＭＣｐｒとを比較し、差分絶対値総和ＤＭＣの方が小さい場合には重み係数ｋの緩いテーブル１を、逆に差分絶対値総和ＤＭＣの方が大きい場合には重み係数ｋの厳しいテーブル２を使用するように重みテーブル７０５へ指示を出すものである。
【００８０】
これにより、ブロックマッチング結果の信頼性が高い場合には重み係数の影響を受け難い評価を行い、逆にブロックマッチング結果の信頼性が低い場合には重み係数の影響を受け安い評価を行うことによって、特徴に応じた最適な評価をすることができるため、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で、より精度の高い動き検出が可能となる。
【００８１】
なお、以上の説明では、広い参照範囲内におけるブロックマッチングは間引き画像で行う場合について説明をしたが、間引きしていない全画素を使った画像で行っても良い。この場合、各処理ブロックの動きベクトルが同じ値に揃いやすくなり、ベクトル符号化手段におけるベクトル差分が小さくなるため、符号化効率がよくなる。また、この場合、変形をしながら移動している様な処理ブロックについても正確な動き検出が可能になるという効果がある。
【００８２】
また、以上の説明では、ブロックマッチング結果は差分絶対値総和ＤＭＣで求めるとしたが、差分二乗総和で求めても構わない。
また、以上の説明では、期待ベクトルＶｅｘｐの算出、単位期待ベクトルＶｅｘｐｕの算出、相場評価値ＥＳＴｐｒの算出は処理ブロックがフレームデータで構成されている場合と、第１のフィールドデータのみで構成されている場合と、第２のフィールドデータのみで構成されている場合とで別々に算出するようにしたが、区別せずに算出するようにしてもよい。
【００８３】
また、以上の説明では、比較器２０はメモリ１９からの最小評価値ＥＳＴが、メモリ２２に格納している相場評価値ＥＳＴｐｒ以下の場合に単位期待ベクトル算出手段５へＣＡＬＣ信号を出力する例で説明したが、最小評価値ＥＳＴが相場評価値ＥＳＴｐｒ未満としてもよく、また相場評価値ＥＳＴｐｒを基に別の閾値を作成して最小評価値ＥＳＴと比較するように構成してもよい。別の閾値の一例としては、相場評価値ＥＳＴｐｒに規定値を加算したり、減算したりすることで作成し、単位期待ベクトルＶｅｘｐｕの算出条件を易しくしたり、厳しくしたりすることが可能になる。
【００８４】
また、以上の説明では、重み係数ｋを配列した重みテーブル１６または７０５は、ベクトルオフセットのｘ成分とｙ成分の二次元テーブルにより取得する構成としたが、ベクトルオフセット長をパラメータに取得するようにしてもよい。
【００８５】
また、以上の説明では、重み付け手段１７において、メモリ１５に格納しているブロックマッチング結果である差分絶対値総和値ＤＭＣに重み係数ｋを乗算するとしたが、加算して重み付けをしても構わない。
【００８６】
また、以上の説明では、図４、図５、図６に示した重みテーブル中の重み係数ｋは期待ベクトルＶｅｘｐが示す位置（０，０）を中心に同心円状に大きくなる例について説明したが、非同心円状のテーブル等にしても構わない。
【００８７】
また、実施の形態２の説明では、重みテーブル７０５が記憶している複数のテーブルは、テーブルパラメータの少なくとも１つ以上が異なるように構成したが、それ以外に図４、図５、図６の様なテーブルを持ち、切り換えるように構成してもよい。
【００８８】
また、以上の説明では、ハードウェアで本発明を実施した場合の一例について説明したが、ソフトウェアで実施しても同じ効果が得られるのは明らかである。この場合には、図２、図３及び図８で示したフローチャートの通りにソフトウェアを構成すれば容易に適用できる。
【００８９】
【発明の効果】
以上のように本発明の動き検出方法によれば、次に動き検出を行う処理ブロックは、過去に動き検出を完了している処理ブロックの動きベクトルから求めた期待ベクトルを基に動き検出を行うことにより、被写体が高速に画面を移動している場合でも少ない演算量で精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９０】
また、処理ブロックと候補ブロックとの時間距離を正確に反映させた期待ベクトルを算出することによって、更に精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９１】
また、期待ベクトルを算出するための単位期待ベクトルは、単なるフレーム全体の平均的な動きを推測するだけではなく、動き検出を行っている処理ブロックの周辺付近の動きを推測していると共に、他の処理ブロックに対して特異的なランダムな動きをしている処理ブロックの影響を受けないように演算合成することにより、被写体が高速かつランダムに画面を移動している場合でも精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９２】
また、着目している処理ブロックの動き検出結果が信頼性の高い結果なのか否かを最小評価値と第１の閾値により判断し、信頼性が高い場合にのみ着目している処理ブロックの動きベクトルを単位期待ベクトルに反映することにより、更に精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９３】
また、第１の閾値は、遠い過去に動き検出を行った処理ブロックの最小評価値の影響を受け過ぎず、動き検出を行っている処理ブロックの周辺付近の最小評価値を重視していると共に、他の処理ブロックの最小評価値と比較して、特異的な最小評価値の影響を受けないように演算することにより、動き検出結果の信頼性の判断が精度よく実現可能になるという顕著な効果が得られる。
【００９４】
また、期待ベクトル、単位期待ベクトルまたは第１の閾値は、フレーム予測の場合と、第１のフィールドデータにおけるフィールド予測の場合と、第２のフィールドデータにおけるフィールド予測の場合とで、別々に算出されることにより、更に精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９５】
また、期待ベクトル、単位期待ベクトルまたは第１の閾値は、処理ブロックに対する候補ブロックの時間方向によって、別々に算出されることにより、更に精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９６】
また、候補ブロックとのブロックマッチング結果に期待ベクトルが示す位置からの画面距離に対応した重み付けを行ったものを評価値とすることにより、期待ベクトルに対応した動きベクトルを持つ候補ブロックを選び易くなり、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９７】
また、評価値は、ブロックマッチング結果に画面距離に対応した設定値を加算または乗算して算出することにより、期待ベクトルに対応した動きベクトルを持つ候補ブロックを選び易くなり、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９８】
また、前記期待ベクトルが示す位置を中心として画面距離が遠くなるに従って重み付けの設定値を小さくなることにより、期待ベクトルに近い値を有する動きベクトルを持つ候補ブロックを選び易くしており、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で精度の高い動き検出が可能になるという顕著な効果が得られる。
【００９９】
また、動きベクトルが前記期待ベクトルに近い値の場合には、重み付けの設定値を所定の固定値にすることにより、比較的平等に評価を行うことができ、期待ベクトルの多少の誤差に影響されない精度の高い動き検出が可能になるという顕著な効果が得られる。
【０１００】
また、動きベクトルと前記期待ベクトルの差が所定の値以上ある場合には、前記重み付けの設定値を所定の固定値にすることにより、期待ベクトルが示す位置から所定の範囲以上に遠い位置の動きベクトルを持つ候補ブロックに関しては、所定の重み付けを施すことによって、他の処理ブロックとは異なるランダムな動きをしている処理ブロックについても、正確な動き検出が可能になるという顕著な効果が得られる。
【０１０１】
また、固定値にされた重み付けの設定値は、今回のブロックマッチング結果と過去に確定した１または２以上のブロックマッチング結果を平滑化した閾値との比較結果によって設定することにより、着目している処理ブロックのブロックマッチング結果の信頼性に対応して重み係数を調整し、各処理ブロックの特徴に応じた最適な評価をすることができるため、被写体が高速かつランダムに画面を移動している場合でも少ない演算量で、より精度の高い動き検出が可能になるという顕著な効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における動き検出方法を用いた動き検出装置の構成図
【図２】本発明の実施の形態１における間引きブロックマッキングを示すフローチャート
【図３】本発明の実施の形態１における全画素を用いたブロックマッキングを示すフローチャート
【図４】重みテーブルを示す図
【図５】一定以上のベクトルオフセットの重み係数を固定した重みテーブルを示す図
【図６】一定範囲のベクトルオフセットの重み係数を固定した重みテーブルを示す図
【図７】本発明の実施の形態２における動き検出方法を用いた動き検出装置の構成図
【図８】本発明の実施の形態１における間引きブロックマッキングを示すフローチャート
【図９】従来の間引きデータを用いた動き検出方法を説明する概念図
【符号の説明】
１    処理ブロック生成手段
２    候補ブロック生成手段
３    減算器
４    メモリ
５    単位期待ベクトル算出手段
６    メモリ
７    期待ベクトル算出手段
８    減算器
９    スイッチ
１０    スイッチ
１１    スイッチ
１２    減算器
１３    ＡＢＳ演算器
１４    加算器
１５    メモリ
１６    重みテーブル
１７    重み付け手段
１８    比較器
１９    メモリ
２０    比較器
２１    相場評価値算出手段
２２    メモリ
２３    スイッチ
２４    減算器
７０１    メモリ
７０２    相場ＤＭＣ算出手段
７０３    メモリ
７０４    テーブル切り替え手段
７０５    重みテーブル
【図１】
2004208087.tif 000011
【図２】
2004208087.tif 000012
【図３】
2004208087.tif 000013
【図４】
2004208087.tif 000014
【図５】
2004208087.tif 000015
【図６】
2004208087.tif 000016
【図７】
2004208087.tif 000017
【図８】
2004208087.tif 000018
【図９】
2004208087.tif 000019