(57)【特許請求の範囲】
【請求項１】
対象とすべき階層の動きベクトルを探索する複数の階層探索部と、
上記複数の階層探索部で探索された各階層の動きベクトルの和を、求めるべき動きベクトルとして演算する演算部と
を有し、
上記複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部は、
フレーム画像を、下位層よりも大きい探索ブロックを単位として、該探索ブロックにおける絵柄の複雑度に対してブロックサイズが大きいほど高く設定される閾値を基準に２値化し、２値化された探索ブロックを単位として、対象とすべき階層の動きベクトルを探索する、動きベクトル検出装置。
【請求項２】
フレーム画像における絵柄の複雑度を、最下位層に対して最小サイズとして割り当てられる探索ブロックごとに算出する第１の算出部と、
上記第１の算出部で算出された各探索ブロックでの絵柄の複雑度を用いて、上記最下位層以外の階層を対象とする１又は２以上の探索部で単位とされる探索ブロックにおける絵柄の複雑度を算出する第２の算出部と
をさらに有する請求項１に記載の動きベクトル検出装置。
【請求項３】
上記第１の算出部は、最下位層に対して最小サイズとして割り当てられる探索ブロックにおける最大値と最小値との隔たりの程度を、上記絵柄の複雑度として算出する、請求項２に記載の動きベクトル検出装置。
【請求項４】
上記複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部に対して、ブロックサイズと線形関係をもつ閾値を、当該探索部で単位とされる探索ブロックのブロックサイズに応じて設定する閾値設定部
をさらに有する請求項３に記載の動きベクトル検出装置。
【請求項５】
上記複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部に対して、単位とすべき探索ブロックのブロックサイズを入力する入力部
をさらに有する請求項４に記載の動きベクトル検出装置。
【請求項６】
上記複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部に対して、各上記探索ブロックにおける最大値と最小値との隔たりの程度の分布の広がり及びその分布の平均が大きいほど高い閾値を設定する閾値設定部
をさらに有する請求項３に記載の動きベクトル検出装置。
【請求項７】
上記複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部は、
各上記探索ブロックにおける最大値と最小値との隔たりの程度の分布の広がり及びその分布の平均の双方又は一方が所定の値を超える場合、下位層よりも大きいブロックを単位として、該ブロックにおける各画素を、上記閾値を基準に２値化する、請求項６に記載の動きベクトル検出装置。
【請求項８】
複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部に対して、フレーム画像を入力させる入力ステップと、
上記複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部において、フレーム画像を、下位層よりも大きい探索ブロックを単位として、該探索ブロックにおける絵柄の複雑度に対してブロックサイズが大きいほど高く設定される閾値を基準に２値化し、２値化された探索ブロックを単位として、対象とすべき階層の動きベクトルを探索する探索ステップと、
上記複数の階層探索部で探索された各階層の動きベクトルの和を、求めるべき動きベクトルとして演算する演算ステップと
を有する動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動きベクトル検出装置及び動きベクトル検出方法に関し、画像分野に好適なものである。
【背景技術】
【０００２】
従来、対象画像を、複数の階層ごとに異なる分解能で動きベクトルを探索し、探索された各階層における動きベクトルの和を、求めるべき動きベクトルとした動きベクトル検出装置が本出願人により提案されている（例えば特許文献１参照）。
【０００３】
具体的に上位階層の処理系では、所定サイズの探索ブロックごとに、該探索ブロックの各画素値を、その探索ブロックにおける輝度の最大値及び最小値の和の１／２の値と比較して「１」又は「０」の２値のコードに変換し、その後にブロックマッチングが行われる。
【０００４】
また、中位階層の処理系では、上位階層の探索ブロックよりも小さい探索ブロックごとに、該探索ブロックの各画素値を、上位階層と同様にして２値のコードに変換し、その後にブロックマッチングが行われる。
【特許文献１】特開平０８−０８８８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところでかかる動きベクトル検出装置では、探索ブロックを画素単位で２値のパターンに変換しているため、該探索ブロックにおけるデータ量が小さくなっており、その分だけブロックマッチングの演算量を抑えることができ、この結果、求めるべき動きベクトル（各階層における動きベクトルの和）を高速に求めることができる。
【０００６】
しかしながら、さらに演算の高速化を狙ったり、大きな動きベクトルに対応させるために階層数を増やしたり、探索範囲を広げたりするためには、まだまだ演算量が増大となる傾向にあり、さらなる簡略化が望まれている。
【０００７】
本発明は以上の点を考慮してなされたもので、高速に動きベクトルを検出し得る動きベクトル検出装置及び動きベクトル検出方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明は、動きベクトル検出装置であって、対象とすべき階層の動きベクトルを探索する複数の階層探索部と、複数の階層探索部で探索された各階層の動きベクトルの和を、求めるべき動きベクトルとして演算する演算部とを有し、複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部では、フレーム画像を、下位層よりも大きい探索ブロックを単位として、該探索ブロックにおける絵柄の複雑度に対してブロックサイズが大きいほど高く設定される閾値を基準に２値化し、２値化された探索ブロックを単位として、対象とすべき階層の動きベクトルを探索する。
【０００９】
また本発明は、動きベクトル検出方法であって、複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部に対して、フレーム画像を入力させる入力ステップと、複数の階層探索部の全て又は最下位層以外の階層を対象とする１又は２以上の階層探索部において、フレーム画像を、下位層よりも大きい探索ブロックを単位として、該探索ブロックにおける絵柄の複雑度に対してブロックサイズが大きいほど高く設定される閾値を基準に２値化し、２値化された探索ブロックを単位として、対象とすべき階層の動きベクトルを探索する探索ステップと、複数の階層探索部で探索された各階層の動きベクトルの和を、求めるべき動きベクトルとして演算する演算ステップとを経るようにする。
【発明の効果】
【００１０】
以上のように本発明によれば、フレーム画像を、比較的広範囲をカバーする低い分解能（ブロックサイズ）の探索ブロックごとにその探索ブロックの絵柄の複雑度に応じて２値化し、該２値の探索ブロック単位で対象とすべき階層の動きベクトルを探索するようにしたことにより、該探索ブロックにおける各画素を２値化する場合に比して探索ブロックに要するデータ量を小さくできる。したがって、探索ブロックにおける各画素を２値化する場合に比して、対象とすべき階層の動きベクトルの探索に要する演算量を抑えることができ、かくして、高速に動きベクトルを検出し得る動きベクトル検出装置及び動きベクトル検出方法を実現できる。
【発明を実施するための最良の形態】
【００１１】
以下図面について、本発明を適用した一実施の形態を詳述する。
【００１２】
（１）動きベクトル検出装置の全体構成
図１において、本実施の形態による動きベクトル検出装置１の全体構成を示す。この動きベクトル検出装置１には、フレーム画像を示すデータが時系順に入力される。
【００１３】
分割部２は、図２に示すように、フレーム画像を例えば縦横８画素×８画素のブロック（以下、これを基準ブロックとも呼ぶ）に分割し、これら基準ブロックのデータを、複雑度検出部３及び第３階層処理部３０にそれぞれ与える。
【００１４】
複雑度算出部３は、分割部２から与えられるデータを用いて基準ブロックごとに輝度の最小値と最大値との差分（以下、これをダイナミックレンジとも呼ぶ）を算出し、当該算出結果を示すデータを第１階層処理部１０及び第２階層処理部２０にそれぞれ与える。ダイナミックレンジが大きいほど、その基準ブロックにはエッジやディテール等の複雑な絵柄が含まれる傾向にある。
【００１５】
第１階層処理部１０は、図３に示すように、基準ブロックよりも大きい例えば縦横３２画素×３２画素のブロック（以下、これを第１階層ブロックとも呼ぶ）を単位として、動きベクトル（以下、これを第１階層動きベクトルとも呼ぶ）を算出する処理部である。具体的にこの第１階層処理部１０は、第１階層複雑度計算部１１、２値化部１２、フレーム遅延部１３及びブロックマッチング演算部１４によって構成される。
【００１６】
第１階層複雑度計算部１１は、複雑度算出部３から与えられるデータ（各基準ブロックにおける輝度の最大値と最小値、またはその差分であるダイナミックレンジ）を用いて、第１階層ブロックごとにダイナミックレンジを計算し、当該計算結果を示すデータを２値化部１２に与える。
【００１７】
この第１階層複雑度計算部１１は、複雑度算出部３によって既に求められた基準ブロック（縦横８画素×８画素）における輝度の最大値と最小値、またはその差分であるダイナミックレンジを用いるため、これを用いずに最初から計算する場合に比して簡易な演算で計算可能となる。
【００１８】
ちなみに、この演算として、例えば、第１階層ブロックに対応する１６個の基準ブロックに対して複雑度算出部３がそれぞれ算出した１６個の最大値のなかでの最大値と、１６個の最小値のなかでの最小値とを比較演算により求め、それらの差分から新たなダイナミックレンジを求めるといった手法がある。また例えば、第１階層ブロックに対応する１６個の基準ブロックに対して複雑度算出部３がそれぞれ算出した１６個のダイナミックレンジの最大値を求めるといった手法もある。
【００１９】
２値化部１２は、分割部２及び第１階層複雑度計算部１１からそれぞれ与えられるデータを用いて、フレーム画像を、閾値設定部により設定される閾値ＴＨ１を基準に第１階層ブロック単位で２値化し、該２値化した各第１階層ブロックのデータをフレーム遅延部１３及びブロックマッチング演算部１４にそれぞれ与える。
【００２０】
したがって２値化部１２は、図４に示すように、フレーム画像における複雑な絵柄部分と、簡単な絵柄部分とを大雑把に表現することができる。具体的には、第１階層ブロック（縦横３２画素×３２画素）ごとに１ビットのデータで示すことができる。
【００２１】
フレーム遅延部１３は、２値化部１２から与えられるデータをメモリ一時的に記憶し、該データを１フレームに相当する時間だけ遅延させた後に、ブロックマッチング演算部１４に与える。このフレーム遅延部１３では、２値化部１２から与えられるデータが１ビットで示されるため、２値化しない場合に比べるとメモリ容量を大幅に削減することができる。
【００２２】
ブロックマッチング演算部１４は、２値化部１２から与えられるデータと、フレーム遅延部１３から与えられるデータを用いて、図５に示すように、現在及び過去のフレーム画像における各第１階層ブロックを、基準ブロックに対応する大きさにそれぞれ縮小する。
【００２３】
そしてブロックマッチング演算部１４は、過去のフレーム画像に対する現在のフレーム画像における動的対象の第１階層動きベクトル（動き量及び方向）を、縮小した第１階層ブロックを単位として算出し、該算出結果を示すデータを第２階層処理部２０及びベクトル加算部４に与える。
【００２４】
ここで、この実施の形態における第１階層動きベクトルの具体的な演算手法を説明する。すなわちブロックマッチング演算部１４は、現在のフレーム画像における各第１階層ブロックのうち、閾値ＴＨ１以上のダイナミックレンジ（複雑な絵柄）をもつ第１階層ブロック（図５では白ブロック）の全部又は一部を所定順に候補ブロックとして決定する。
【００２５】
またブロックマッチング演算部１４は、候補ブロックとして決定した場合、図６に示すように、過去のフレーム画像のうち、候補ブロックＮＢに対応する部分を基準とする探索範囲ＡＲ１のなかから、該候補ブロックＮＢとの輝度差の絶対値総和が最小となる部分（図６では一点差線で示す）を探索する。
【００２６】
そしてブロックマッチング演算部１４は、探索した部分と、候補ブロックＮＢに対応する部分との動き量及びその方向を第１階層動きベクトル（図６では矢印で示す）として算出する。
【００２７】
このブロックマッチング演算部１４は、候補対象となる第１階層ブロック（縦横３２画素×３２画素）が１ビットであるため、ビット単位で簡易な演算（排他的論理和演算）を行うことでマッチング部分を得ることができ、この結果、その演算量を大幅に削減することが可能となる。
【００２８】
これに加えて、このブロックマッチング演算部１４は、現在のフレーム画像で候補とすべき候補ブロック数を一部に限る点で、また過去のフレーム画像での候補範囲を一部に限る点で、より一段と演算量を削減することができる。
【００２９】
一方、第２階層処理部２０は、図７に示すように、基準ブロックよりも大きく第１階層ブロックよりも小さい例えば縦横１６画素×１６画素のブロック（以下、これを第２階層ブロックとも呼ぶ）を単位として、動きベクトル（以下、これを第２階層動きベクトルとも呼ぶ）を算出する処理部である。具体的にこの第２階層処理部２０は、第２階層複雑度計算部２１、２値化部２２、フレーム遅延部２３及びブロックマッチング演算部２４によって構成される。
【００３０】
第２階層複雑度計算部２１は、複雑度算出部３から与えられるデータ（各基準ブロックにおける輝度の最大値と最小値、またはその差分であるダイナミックレンジ）を用いて、第２階層ブロックごとにダイナミックレンジを計算し、当該計算結果を示すデータを２値化部２２に与える。
【００３１】
この第２階層複雑度計算部２１は、第１階層複雑度計算部１１と同様に、複雑度算出部３によって既に求められた基準ブロック（縦横８画素×８画素）のダイナミックレンジを用いない場合に比して、該基準ブロックよりも大きい第２階層ブロック（縦横１６画素×１６画素）のダイナミックレンジを、簡易な演算で算出可能となる。ちなみに、この演算は、第１階層複雑度計算部１１と同一であっても別であってもよい。
【００３２】
２値化部２２は、分割部２及び第２階層複雑度計算部２１からそれぞれ与えられるデータを用いて、フレーム画像を、閾値設定部により設定される閾値ＴＨ２を基準に第２階層ブロック単位で２値化し、該２値化した各第２階層ブロックのデータをフレーム遅延部２３及びブロックマッチング演算部２４にそれぞれ与える。
【００３３】
この閾値ＴＨ２は、第１階層ブロック（縦横３２画素×３２画素）よりも細かい第２階層ブロック（縦横１６画素×１６画素）を単位として動きベクトルを探索することから、第１階層処理部１０で設定される閾値ＴＨ１よりも低い値として設定される。
【００３４】
したがって２値化部２２は、図８に示すように、フレーム画像における複雑な絵柄部分と、簡単な絵柄部分とを、第１階層より細かいながらも大雑把に表現することができる。具体的には、第１階層ブロック（縦横３２画素×３２画素）に対して第２階層ブロック（縦横１６画素×１６画素）は縦２倍かつ横２倍の計４倍となるので、第２階層ブロックごとに４ビットのデータで示すことができる。
【００３５】
フレーム遅延部２３は、フレーム遅延部１３と同様に、２値化部２２から与えられるデータをメモリ一時的に記憶し、該データを１フレームに相当する時間だけ遅延させた後に、ブロックマッチング演算部２４に与える。このフレーム遅延部２３では、２値化部２２から与えられるデータが４ビットであるため、２値化しない場合に比べるとメモリ容量を大幅に削減することができる。
【００３６】
ブロックマッチング演算部２４は、２値化部２２から与えられるデータと、フレーム遅延部２３から与えられるデータを用いて、図９に示すように、現在及び過去のフレーム画像における各第２階層ブロックを、基準ブロックに対応する大きさにそれぞれ縮小する。
【００３７】
そしてブロックマッチング演算部２４は、過去のフレーム画像に対する現在のフレーム画像における動的対象の第２階層動きベクトル（動き量及び方向）を、縮小した第２階層ブロックを単位として算出し、該算出結果を示すデータを第３階層処理部３０及びベクトル加算部４に与える。
【００３８】
ここで、この実施の形態における第２階層動きベクトルの具体的な演算手法を説明する。すなわちブロックマッチング演算部２４は、現在のフレーム画像における各第２階層ブロックのうち、閾値ＴＨ２以上のダイナミックレンジ（複雑な絵柄）をもつ第２階層ブロック（図９では白ブロック）の全部又は一部を所定順に候補ブロックとして決定する。
【００３９】
またブロックマッチング演算部２４は、候補ブロックを決定した場合、第１階層処理部１０のブロックマッチング演算部１４から与えられるデータを用いて、過去のフレーム画像のうち、その候補ブロックに対応する部分から第１階層動きベクトル分だけずれた位置を認識する。
【００４０】
そしてブロックマッチング演算部２４は、認識した位置を基準として、ブロックマッチング演算部１４で用いられる探索範囲よりも小さい探索範囲のなかから、候補ブロックとの輝度差の絶対値総和が最小となる部分を探索して第２階層動きベクトルを算出する。
【００４１】
このブロックマッチング演算部２４は、候補対象となる第２階層ブロック（縦横１６画素×１６画素）が４ビットであるため、ビット単位で簡易な演算（排他的論理和演算）を行うことでマッチング部分を得ることができ、この結果、その演算量を大幅に削減することが可能となる。
【００４２】
これに加えて、このブロックマッチング演算部２４は、現在のフレーム画像で候補とすべき候補ブロック数を一部に限る点で、また過去のフレーム画像での候補範囲を第１階層よりも狭い範囲に限る点で、より一段と演算量を削減することができる。
【００４３】
他方、第３階層処理部３０は、図２に示したように、基準ブロック（縦横８画素×８画素）を単位として、動きベクトル（以下、これを第３階層動きベクトルとも呼ぶ）を算出する処理部である。具体的にこの第３階層処理部３０は、補償部３１、フレーム遅延部３２及びブロックマッチング演算部３３によって構成される。
【００４４】
補償部３１は、分割部２から与えられるデータを一時的に記憶して、第１階層処理部１０又は第２階層処理部２０での処理に要する時間遅延を補償した後に、フレーム遅延部３２及びブロックマッチング演算部３３にそれぞれ与える。
【００４５】
フレーム遅延部３２は、フレーム遅延部１３、２３と同様に、補償部３１から与えられるデータをメモリ一時的に記憶し、該データを１フレームに相当する時間だけ遅延させた後に、ブロックマッチング演算部３３に与える。
【００４６】
ブロックマッチング演算部３３は、過去のフレーム画像に対する現在のフレーム画像における動的対象の第３階層動きベクトル（動き量及び方向）を、基準ブロックを単位として算出し、該算出結果を示すデータをベクトル加算部４に与える。
【００４７】
ここで、この実施の形態における第３階層動きベクトルの具体的な演算手法を説明する。すなわちブロックマッチング演算部３３は、現在のフレーム画像における各第３階層ブロックの全部又は一部を所定順に候補ブロックとして決定する。
【００４８】
またブロックマッチング演算部３３は、候補ブロックを決定した場合、第１階層処理部１０のブロックマッチング演算部１４から与えられるデータと、第２階層処理部２０のブロックマッチング演算部２４から与えられるデータとを用いて、過去のフレーム画像のうち、その候補ブロックに対応する部分から第１階層動きベクトル及び第２階層動きベクトル分だけずれた位置を認識する。
【００４９】
そしてブロックマッチング演算部２４は、認識した位置を基準として、ブロックマッチング演算部２４で用いられる探索範囲よりも小さい探索範囲のなかから、候補ブロックとの輝度差の絶対値総和が最小となる部分を探索して第３階層動きベクトルを算出する。
【００５０】
このブロックマッチング演算部３３は、過去のフレーム画像での候補範囲を第２階層よりも狭い範囲に限る点で、演算量を削減することができる。
【００５１】
ベクトル加算部４は、第１階層処理部１０のブロックマッチング演算部１４から与えられるデータ、第２階層処理部２０のブロックマッチング演算部２４から与えられるデータ及び第３階層処理部３０のブロックマッチング演算部３３から与えられるデータを用いて、図１０に示すように、各階層で算出された動きベクトルＶ１〜Ｖ３を加算し、加算結果を示すデータを出力する。
【００５２】
このデータは、各階層で算出された低分解能の動きベクトル（第１階層動きベクトル〜第３階層動きベクトル）の和を示すものであるため、当該フレーム画像における画素レベル単位でみたときの動きベクトルと同等であり、求めるべき真の動きベクトルとなる。
【００５３】
このようにしてこの動きベクトル検出装置１は、画素よりも大きい最上位階層（第１階層）、中位階層（第２階層）及び最下位階層（第３階層）の各探索レベルで動きベクトルを探索することで、該画素レベルでの動きベクトルの探索を高速化するようになされている。
【００５４】
（２）動きベクトル検出処理手順
次に、この動きベクトル検出装置１における動きベクトル検出処理手順を説明する。図１１に示すように、動きベクトル検出装置１は、ステップＳＰ１において、最初のフレーム画像を待ち受け、該フレーム画像を受けた場合、次のステップＳＰ２に進んで、その第１階層〜第３階層の各処理部１０、２０、３０に入力させる。
【００５５】
そして動きベクトル検出装置１は、ステップＳＰ３に進んで、各処理部１０、２０、３０に対して対象層の動きベクトルを探索させる。すなわち第１階層処理部１０には、最低の分解能に相当するブロック（縦横３２画素×３２画素）を単位として（図３）、２値レベル（図４）で動きベクトルを探索させる。
【００５６】
一方、第２階層処理部２０には、中間分解能に相当するブロック（縦横１６画素×１６画素）を単位として（図７）、２値レベル（図８）で動きベクトルを探索させる。他方、第３階層処理部３０には、最高の分解能に相当するブロック（縦横８画素×８画素）を単位として（図３）、多値レベルで動きベクトルを探索させる。
【００５７】
また動きベクトル検出装置１は、各処理部１０、２０、３０で対象層の動きベクトルが探索された場合、次のステップＳＰ４に進んで、これら動きベクトルの和を、当該フレーム画像に対して求めるべき動きベクトルとして演算する。
【００５８】
この後、動きベクトル検出装置１は、ステップＳＰ５において、未探索対象のフレーム画像が残っている場合にはステップＳＰ２に戻り、残っていない場合にはこの動きベクトル検出処理手順を終了する。
【００５９】
このようにして動きベクトル検出装置１は、時系順に与えられるフレーム画像の動きベクトルを検出していくようになされている。
【００６０】
（３）動作及び効果
以上の構成において、動きベクトル検出装置１は、第１階層処理部１０では、下位層のブロック（縦横１６画素×１６画素）よりも大きいブロック（縦横３２画素×３２画素）を単位として、閾値ＴＨ１を基準にフレーム画像を２値化し（図４）、該フレーム画像に対する最上位層（低分解能）の動きベクトルを探索する。
【００６１】
一方、動きベクトル検出装置１は、第２階層処理部２０では、下位層のブロック（縦横８画素×８画素）よりも大きいブロック（縦横１６画素×１６画素）を単位として、上位層の閾値ＴＨ１よりも低く設定される閾値ＴＨ２を基準にフレーム画像を２値化し（図８）、該フレーム画像のうち、第１階層で探索された動きベクトルに応じた位置から、その第１階層よりも小さい探索範囲で第２階層（中分解能）の動きベクトルを探索する。
【００６２】
他方、動きベクトル検出装置１は、第３階層処理部３０では、最小ブロック（縦横８画素×８画素）を単位として（図２）、第１階層及び第２階層で探索された動きベクトルに応じた位置から、第２階層よりも小さい探索範囲で第３階層（高分解能）の動きベクトルを探索する。
【００６３】
そしてこの動きベクトル検出装置１は、各階層で探索された動きベクトルの和を、求めるべき動きベクトルとして演算する（図１０）。
【００６４】
したがってこの動きベクトル検出装置１は、第１階層では１ビットのブロック単位で、第２階層では４ビットのブロック単位で、簡易な演算（排他的論理和演算）で動きベクトルを（ブロックマッチングにより）探索でき、その演算量を大幅に削減することが可能となる。
【００６５】
ここで、この手法による階層型動きベクトルと、引用文献１に記載された手法による階層型動きベクトルとでのデータ量の相違を図１２に示す。この図１２からも明らかなように、本手法では、第１階層ブロック及び第２階層ブロックが単位として２値化されるので、該第１階層ブロック及び第２階層ブロックにおける画素単位で２値のコードに変換した従来手法に比べるとデータ量が大幅に小さくなり、簡易な演算（排他的論理和演算）で動きベクトルを探索可能となることが分かる。
【００６６】
なお、従来手法では、ブロックにおける最大値及び最小値の和の１／２を基準に、該ブロックが画素単位でコード変換される。つまり、ブロックにおける絵柄の複雑度に応じて決まる可変値を基準として、画素が２値化されるため、該絵柄に応じてブロックを高精度でパターン化できることになる。
【００６７】
しかしながら、本手法のように、ブロックに対する２値の割当基準（閾値ＴＨ１，ＴＨ２）を固定として、該ブロックを２値化した場合であっても、従来手法とおおよそ同程度の精度を保てることが本出願人により確認されている。この確認での閾値ＴＨ１，ＴＨ２は、図１３に示すように、ブロックサイズと線形関係にある閾値とした。
【００６８】
ブロック全体における画素値（絵柄）の変化量は、ブロックサイズを大きくするほど（低分解能で動きベクトルを探索するほど）、そのブロックにおける絵柄にかかわらず収束する傾向にある。したがって、従来手法では、ブロックにおいて２値化単位を小さくすることや、その２値化基準を絵柄の複雑度に応じて可変とすることが精度に反映されず、かえって、無駄な演算の要因となる。これに対し本手法は、この要因を回避しながらも、従来手法とおおよそ同程度の精度を保てる点で有用である。
【００６９】
以上の構成によれば、比較的広範囲をカバーする低い分解能に相当するブロックを単位として、２値レベルで動きベクトルを探索するようにしたことにより、該ブロックに対する２値の割当基準（閾値ＴＨ１，ＴＨ２）を固定とした場合であっても、所定の精度を保ちつつも簡易な演算で動きベクトルを探索することができ、かくして高速に動きベクトルを検出することができる。
【００７０】
（４）他の実施の形態
上述の実施の形態における複雑度算出部３では、対象ブロックにおける輝度の最大値と最小値との差分（ダイナミックレンジ）が算出された。しかしながら、この算出対象はこの実施の形態に限定されるものではない。
【００７１】
例えば、輝度の最大値と最小値との比等のように、対象ブロックにおける最大値と最小値との隔たりの程度を算出対象とすることが可能である。また、対象ブロックにおける隣接画素間における輝度差の絶対値等を算出対象とすることも可能である。要は、その対象ブロックにおける変化の程度（絵柄の複雑度）を示すものであれば、算出対象として適用可能である。
【００７２】
また上述の実施の形態における閾値設定部は、２値化部１２，２２に設定すべき閾値ＴＨ１，ＴＨ２を固定でよいと上述したが、可変とすることも可能である。
【００７３】
具体例として、フレーム画像の各基準ブロックにおけるダイナミックレンジの頻度分布と、その平均とに応じて閾値ＴＨ１，ＴＨ２を可変するといった態様がある。これらパラメータは、絵柄の複雑度との関係では、図１４に示すように、フレーム画像全体に含まれる絵柄がエッジやディテール等を多くもつ複雑なものであるほど、ダイナミックレンジの頻度分布幅は広がり、該頻度分布の平均は高い値を呈する。
【００７４】
したがって、各基準ブロックにおけるダイナミックレンジの頻度分布幅と、その平均との双方又はいずれか一方が大きいほど、閾値ＴＨ１，ＴＨ２を高く設定すれば、複雑な絵柄部分と、簡単な絵柄部分とを大雑把ながらもより正確に表現することが可能となる。このようにすれば、真にエッジやディテール等を含むブロックと、含まないブロックとを高精度で分けることが可能となる。
【００７５】
また別の具体例として、各階層で対象となる第１階層ブロック、第２階層ブロック、第３階層ブロック（基準ブロック）のブロックサイズを入力する入力部を設け、該入力部から入力されるブロックサイズに応じて閾値ＴＨ１，Ｈ２を可変するといった態様がある。このようにすれば、適用すべきフレーム画像に応じて、その動きベクトルの検出精度をユーザが任意に指定するといったことも可能となる。ちなみに、このようにする場合、図１３に示したように、ブロックサイズと閾値とが線形関係にあるテーブルと、入力部から入力されるブロックサイズとに応じて閾値ＴＨ１，Ｈ２を決定することも可能である。
【００７６】
また上述の実施の形態における２値化部１２，２２は、１つの２値化手法を用いたが、２つの２値化手法から選択した一方の２値化手法を用いることも可能である。
【００７７】
例えば、２値化部１２，２２は、対象とすべきフレーム画像における基準ブロック単位のダイナミックレンジの頻度分布幅及びその平均と、該頻度分布幅及びその平均に対して設けられる各閾値を取得する。
【００７８】
ここで、当該頻度分布幅及びその平均の双方が対応する閾値未満となる場合、２値化部１２，２２は、対象とすべきフレーム画像の絵柄の複雑度がそれほど高くないものとして、この実施の形態における２値化手法を用いる。すなわち、対象ブロック（第１階層ブロック，第２階層ブロック）を、基準値（閾値ＴＨ１，ＴＨ２）に対する当該対象ブロックにおけるダイナミックレンジ等の大小に応じて２値化する。
【００７９】
これに対して、当該頻度分布及びその平均の一方又は双方が対応する閾値以上となる場合、２値化部１２，２２は、対象とすべきフレーム画像の絵柄の複雑度が高いものとして、ＡＤＲＣ変換による２値化手法（引用文献１の手法）を用いる。すなわち、対象ブロック（第１階層ブロック，第２階層ブロック）における各画素を、基準値（閾値ＴＨ１，ＴＨ２）に対する当該対象ブロックにおけるダイナミックレンジ等に応じて「０」又は「１」のコード又はｎビットのコードに符号化する。
【００８０】
このようにフレーム画像全体における絵柄の複雑度に応じて、この実施の形態における２値化手法と、該２値化手法よりも高精度であるが負荷が大きいＡＤＲＣ変換による２値化手法とを切り換えるようにすれば、処理付加を極力抑えながら、絵柄部分の動きをより正確に把握することが可能となる。
【００８１】
また上述の実施の形態におけるブロックマッチング演算部１４，２４は、対象階層の動きベクトルを求める前に、各階層のブロック単位で２値化されたフレーム画像（図４，図８）を、基準ブロックに対応する大きさに縮小したが（図５，図９）、当該縮小処理を省略するようにしてもよい。
【００８２】
また上述の実施の形態では、３つの層の簡易的な動きベクトルが求められた。しかしながら、この層数は３つの層に限定されるものではなく、２以上の層であればいかなる数であってもよい。
【００８３】
また上述の実施の形態では、最下位層の動きベクトルが、最小ブロック（縦横８画素×８画素）を単位として、多値レベルで探索された。しかしながら、この最下位層の動きベクトルも、２値レベルで探索するようにしてもよい。
【産業上の利用可能性】
【００８４】
本発明は、画像処理分野において利用可能である。
【図面の簡単な説明】
【００８５】
【図１】本実施の形態による動き検出装置の全体構成を示すブロック図である。
【図２】基準ブロックの分割例を示す写真である。
【図３】第１階層の動きベクトルを算出する際の単位とされるブロック例を示す写真である。
【図４】第１階層ブロックの２値化例を示す概略図である。
【図５】第１階層ブロックの縮小例を示す概略図である。
【図６】ブロックマッチングの説明に供する概略図である。
【図７】第２階層の動きベクトルを算出する際の単位とされるブロック例を示す写真である。
【図８】第２階層ブロックの２値化例を示す概略図である。
【図９】第２階層ブロックの縮小例を示す概略図である。
【図１０】各階層で得られた動きベクトルの加算の説明に供する概略図である。
【図１１】動きベクトル検出処理手順を示すフローチャートである。
【図１２】階層型動きベクトルに要する従来手法及び本手法でのデータ量の相違の説明に供する概略図である。
【図１３】ブロックサイズと、ブロックの２値化基準値（閾値）との関係を示す概略図である。
【図１４】フレーム画像における基準ブロック単位のダイナミックレンジの頻度分布及びその平均と、フレーム画像の絵柄との関係を示す概略図である。
【符号の説明】
【００８６】
１……動きベクトル検出装置、２……分割部、３……複雑度算出部、４……ベクトル加算部、１０……第１階層処理部、２０……第２階層処理部、３０……第３階層処理部、１１、２１……第１階層複雑度計算部、１２、２２……２値化部、１３、２３、３２……フレーム遅延部、１４、２４、３３……ブロックマッチング演算部、３１……補償部。
【図１】
0004973591.tif 000002
【図４】
0004973591.tif 000003
【図５】
0004973591.tif 000004
【図６】
0004973591.tif 000005
【図８】
0004973591.tif 000006
【図９】
0004973591.tif 000007
【図１０】
0004973591.tif 000008
【図１１】
0004973591.tif 000009
【図１２】
0004973591.tif 000010
【図１３】
0004973591.tif 000011
【図１４】
0004973591.tif 000012
【図２】
0004973591.tif 000013
【図３】
0004973591.tif 000014
【図７】
0004973591.tif 000015