(57)【要約】【課題】動きベクトルを求めるための階層化ブロックマッチング方法を工夫して演算時間や回路規模を削減できるようにする。【解決手段】第３の階層において、階調縮退回路９Ａにより階調が縮退された画素値を用いた注目ブロックと、階調縮退回路９Ａにより階調が縮退された画素値を用いた探索範囲における複数の参照ブロックとを照合して各評価値を算出する評価値算出回路１０Ａを備える。これにより、階調表現のビット長を短縮することができるので演算量が減少し、演算時間および回路規模を削減できる。また、第１及び第２の階層においても、第３の階層と同様に、階調が縮退された注目ブロックと、階調が縮退された探索範囲における複数の参照ブロックとを照合して各評価値を算出する評価値算出回路１０Ｂ、１０Ｃを備える。【選択図】図１
2009272955.tif 000002
【特許請求の範囲】
【請求項１】
時間的に離れた第１の画像と第２の画像に対して、当該第１及び第２の画像と解像度の異なる画像を階層毎に形成する階層化部と、
所定階層における画像の画素値の階調を縮退する階調縮退部と、
前記所定階層において、前記第１の画像に係る階調が縮退された画素値を用いた第１ブロックと、前記第２の画像に係る階調が縮退された画素値を用いた探索範囲における複数の第２ブロックとを照合して各評価値を算出する評価値算出部と、
前記評価値の各々の中から最小となる最小評価値を選択し、当該最小評価値に基づいて動きベクトルを検出する動きベクトル検出部とを備える動きベクトル検出装置。
【請求項２】
前記階調縮退部は、
各階層における前記第１ブロックの画素値と、前記探索範囲における複数の第２ブロックの画素値に対し、共通して最大値及び最小値を定義し、当該最大値と当該最小値との差をダイナミックレンジとし、当該ダイナミックレンジの間に複数の量子化値を設けるＡＤＲＣ(Adaptive Dynamic Range Coding)処理によって得られる符号化データを出力する請求項１に記載の動きベクトル検出装置。
【請求項３】
前記評価値算出部は、
前記階調縮退部から出力された前記符号化データを用いて、前記第１ブロックと前記第２ブロックとの差分を求め、当該差分を前記評価値とする請求項２に記載の動きベクトル検出装置。
【請求項４】
前記階調縮退部は、
評価値算出時の演算量が多い階層では低ビットのＡＤＲＣ処理によって得られる符号化データを出力し、評価値算出時の演算量が少ない階層では高ビットのＡＤＲＣ処理によって得られる符号化データ又は画素値を出力する請求項２に記載の動きベクトル検出装置。
【請求項５】
時間的に離れた第１の画像と第２の画像に対して、当該第１及び第２の画像と解像度の異なる画像を階層毎に形成する階層化ステップと、
所定階層における画像の画素値の階調を縮退する階調縮退ステップと、
前記所定階層において、前記第１の画像に係る階調が縮退された画素値を用いた第１ブロックと、前記第２の画像に係る階調が縮退された画素値を用いた探索範囲における複数の第２ブロックとを照合して各評価値を算出する評価値算出ステップと、
前記評価値の各々の中から最小となる最小評価値を選択し、当該最小評価値に基づいて動きベクトルを検出する動きベクトル検出ステップとを有する動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層型ブロックマッチングにより動きベクトルを求める装置に適用可能な動きベクトル検出装置及び動きベクトル検出方法に関するものである。詳しくは、所定の階層において、階調が縮退された画素値を用いた第１ブロックと、階調が縮退された画素値を用いた探索範囲における複数の第２ブロックとを照合して各評価値を算出する評価値算出部を備えることで、演算量を減少できるようにすると共に、演算時間および回路規模を削減できるようにしたものである。
【背景技術】
【０００２】
従来、時間的に離れた２つの画像から画像中の物体の動き方向と大きさを表す動きベクトルを検出して動画像処理を行うことが行われている。例えば、動きベクトルは、動画像の高能率符号化におけるフレーム間動き補償や、フレーム間時間領域フィルタによる動画像雑音低減装置におけるパラメータ制御などに用いられている。
【０００３】
動きベクトルを検出する方法としてブロックマッチング方法が広く知られている（特許文献１参照）。例えば、図１１は、ブロックマッチング方法を示す概略図である。図１１には、注目（基準）フレームＦ’とこの注目フレームＦ’から時間的に離れた参照フレームＦ−１’とを示している。注目フレームＦ’中に適当な画素数から成る注目ブロックＦBL’を設定する。また、参照フレームＦ−１’中に適当な画素数から成る探索範囲Ｗ’を設定する。
【０００４】
注目ブロックＦBL’と探索範囲Ｗ’内の参照ブロックＦ−１BL’の各々に対して所定の評価関数（例えば差分絶対値和）を用いることによって評価値を得る。これを探索範囲Ｗ’内の全ての参照ブロックＦ−１BL’について当該評価値を求める。そして、最適の評価値（例えば差分絶対値和が最小）を得た参照ブロックＦ−１BL’の位置と注目ブロックＦBL’の位置から動きベクトルＭＶ’を検出することができる。
【０００５】
しかしながら、上述したブロックマッチング方法では、探索範囲Ｗ’内の画素毎の位置で評価値を算出する必要がある。このため、評価値を得るために膨大な演算時間を要したり、回路構成が大きくなるといった問題があった。
【０００６】
このような問題を解決するために、特許文献２には、階調の縮退を用いた動きベクトル検出装置が開示されている。この動きベクトル検出装置によれば、動きベクトルを検出するブロックマッチングの対象となる参照ブロックと注目ブロックとを１ビットＡＤＲＣ（Adaptive Dynamic Range Coding）で符号化し、そのコード値によってブロックマッチングを行って第１の動きベクトルを算出する。そして、この第１の動きベクトルにより動き補償してサーチエリアをより小さくしてブロックマッチングをして最終的な動きベクトルを求める。これにより、動きベクトルを求める演算時間を短縮できるようになる。
【０００７】
また、動きベクトルを求めるための演算時間を短縮するために、図１２及び図１３に示す階層化ブロックマッチング方法が用いられている。この階層化ブロックマッチング方法は、解像度の異なる複数の画像から成る階層の画像を用いてブロックマッチングにより動きベクトルを求めるものである。例えば、図１２Ａは、注目フレームＦ’の階層化処理の一例を示す概略図である。図１２Ａに示す第１階層は入力画像（原画像）であり、例えば注目フレームＦ’に相当する。この第１階層の注目フレームＦ’の複数の画素値を平均して代表画素値を求めて低解像度の第２階層の注目フレームＦ’を求める（２次元フィルタ）。例えば、この第２階層の注目フレームＦ’は、第１階層の注目フレームＦ’の画素値を水平及び垂直方向で１／２に間引いて求められている。また、この第１階層の注目フレームＦ’の複数の画素値にローパスフィルタを適用して低解像度の第２階層の注目フレームＦ’を求めてもよい。
【０００８】
同様の手順を繰り返すことにより、第２階層よりもさらに解像度の低い第３階層の注目フレームＦ’を求める。例えば、この第３階層の注目フレームＦ’は、第２階層の注目フレームＦ’の画素値を水平及び垂直方向で１／２に間引いて求められている。このようにして、上位階層へいくほど解像度が低い、第１階層〜第３階層の注目フレームＦ’を求める。もちろん、階層数は３階層に限られず、２階層でも４階層以上でもよい。
【０００９】
図１２Ｂは、参照フレームＦ−１’の階層化処理の一例を示す概略図である。図１２Ｂに示す参照フレームＦ−１’の階層化処理も、図１２Ａに示した注目フレームＦ’の階層化処理と同様に行う。
【００１０】
図１３Ａは、最上位の第３階層におけるブロックマッチングの動作例を示す概略図である。図１３Ａに示す注目フレームＦ’及び参照フレームＦ−１’は、最も低解像度の第３階層のフレームに相当している。この例で、図１３Ａに示す参照フレームＦ−１’の探索範囲Ｗ’内で、注目ブロックＦBL’と参照ブロックＦ−１BL’とのブロックマッチングを行い、大まかな動きベクトルＭＶ１’を検出する。
【００１１】
図１３Ｂは、第２階層におけるブロックマッチングの動作例を示す概略図である。図１３Ｂに示す注目フレームＦ’及び参照フレームＦ−１’は、第２階層のフレームに相当している。この例で、図１３Ａで求めた動きベクトルＭＶ１’に基づいて第２階層における探索範囲Ｗ’を決定する。これにより、探索範囲を絞り込むことができるので、演算時間を短縮できる。当該絞り込まれた図１３Ｂに示す探索範囲Ｗ’内で、注目ブロックＦBL’と参照ブロックＦ−１BL’とのブロックマッチングを行い、動きベクトルＭＶ２’を検出する。
【００１２】
図１３Ｃは、最下位の第１階層におけるブロックマッチングの動作例を示す概略図である。図１３Ｃに示す注目フレームＦ’及び参照フレームＦ−１’は、第１階層のフレームに相当している。この例で、図１３Ｂで求めた動きベクトルＭＶ２’に基づいて第１階層における探索範囲Ｗ’を決定する。これにより、さらに正確に探索範囲を絞り込むことができる。当該絞り込まれた図１３Ｃに示す探索範囲Ｗ’内で、注目ブロックＦBL’と参照ブロックＦ−１BL’とのブロックマッチングを行い、最終的な動きベクトルＭＶ３’を検出する。このように、低解像度の第２及び第３階層を利用して第１階層における探索範囲Ｗ’を絞り込んでいくことにより、当該第１階層の探索範囲Ｗ’の範囲を狭く設定することができる。これにより、フルサーチで必要とされる探索範囲の演算に比べて演算時間を短縮できると共に、回路規模を削減することができるようになる。
【００１３】
このような従来例に関連して特許文献３には、階層化ブロックマッチング方法が開示されている。この階層化ブロックマッチング方法によれば、平均値などの定常成分特徴量のみならず、標準偏差などの過渡成分特徴量をも使用して評価値を生成し、この評価値に基づいて動きベクトルを検出する。これにより、動きベクトルの誤検出を低減できるようになる。
【００１４】
【特許文献１】特開昭５４−１２４９２７号公報
【特許文献２】特開平８−８８８５５号公報
【特許文献３】特開平５−２４８８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ところで、特許文献２に係るＡＤＲＣを用いたブロックマッチング方法によれば、特許文献１の画素値を用いたブロックマッチング方法と比較すれば、演算時間を短縮できる。しかしながら、特許文献２のブロックマッチング方法は、ＡＤＲＣコードのデータ数は画素のデータ数と変わっておらず十分に演算時間を短縮できるとは限らない。
【００１６】
また、特許文献３に係る階層化ブロックマッチング方法によれば、低解像度の階層を用いてブロックマッチングを行って大まかな動きベクトルを求め、当該大まかな動きベクトルに基づいて最終的な動きベクトルを求めている。
【００１７】
しかしながら、このような階層化のステップを踏襲して動きベクトルを求めても、演算時間や回路規模を削減することには限界がある。例えば、当該演算時間を削減するために階層数を増やした場合、演算時間を短縮することはできるが、上位階層における動きベクトルの誤検出の確率は高くなる問題がある。
【００１８】
そこで、本発明はこのような課題を解決するものであって、動きベクトルを求めるための階層化ブロックマッチング方法を工夫して演算時間や回路規模を削減できるようにした動きベクトル検出装置及び動きベクトル検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上述した課題を解決するために、本発明に係る動きベクトル検出装置は、時間的に離れた第１の画像と第２の画像に対して、当該第１及び第２の画像と解像度の異なる画像を階層毎に形成する階層化部と、所定階層における画像の画素値の階調を縮退する階調縮退部と、前記所定階層において、前記第１の画像に係る階調が縮退された画素値を用いた第１ブロックと、前記第２の画像に係る階調が縮退された画素値を用いた探索範囲における複数の第２ブロックとを照合して各評価値を算出する評価値算出部と、前記評価値の各々の中から最小となる最小評価値を選択し、当該最小評価値に基づいて動きベクトルを検出する動きベクトル検出部とを備えるものである。
【００２０】
本発明に係る動きベクトル検出装置によれば、階層化部は、時間的に離れた第１の画像と第２の画像に対して解像度の異なる画像を階層毎に形成する。階調縮退部は、所定階層における画像の画素値の階調を縮退する。例えば、この階調縮退部は、各階層における第１ブロックの画素値と、探索範囲における複数の第２ブロックの画素値に対し、共通して最大値及び最小値を定義し、当該最大値と当該最小値との差をダイナミックレンジとし、当該ダイナミックレンジの間に複数の量子化値を設けるＡＤＲＣ処理によって得られる符号化データを出力する。評価値算出部は、所定階層において、階調が縮退された画素値（例えばＡＤＲＣ符号化データ）を用いた第１ブロックと、階調が縮退された画素値を用いた探索範囲における複数の第２ブロック（例えばＡＤＲＣ符号化データ）とを照合して各評価値を算出する。これにより、演算量が減少するので演算時間および回路規模を削減できる。
【００２１】
上述した課題を解決するために、本発明に係る動きベクトル検出方法は、時間的に離れた第１の画像と第２の画像に対して、当該第１及び第２の画像と解像度の異なる画像を階層毎に形成する階層化ステップと、所定階層における画像の画素値の階調を縮退する階調縮退ステップと、前記所定階層において、前記第１の画像に係る階調が縮退された画素値を用いた第１ブロックと、前記第２の画像に係る階調が縮退された画素値を用いた探索範囲における複数の第２ブロックとを照合して各評価値を算出する評価値算出ステップと、前記評価値の各々の中から最小となる最小評価値を選択し、当該最小評価値に基づいて動きベクトルを検出する動きベクトル検出ステップとを有するものである。
【発明の効果】
【００２２】
本発明に係る動きベクトル検出装置及び動きベクトル検出方法によれば、所定の階層において、階調が縮退された画素値を用いた第１ブロックと、階調が縮退された画素値を用いた探索範囲における複数の第２ブロックとを照合して各評価値を算出する評価値算出部を備えるものである。この構成によって、演算量が減少するので演算時間および回路規模を削減できる。
【発明を実施するための最良の形態】
【００２３】
続いて、本発明に係る動きベクトル検出装置及び動きベクトル検出方法の実施の形態について、図面を参照しながら説明をする。以下の実施形態では、テレビジョン信号の動き検出に本発明を適用した一例である。なお、取り扱う映像信号は、インターレース信号、プログレッシブ信号の何れでも良く、処理の対象もフィールド単位、フレーム単位の何れでも良い。なお、以下の実施形態では、説明の簡素化のためにプログレッシブ信号のフレームを用いて説明する。
【００２４】
図１は、本発明に係る第１の実施形態としての動きベクトル検出装置１００の構成例を示すブロック図である。図１に示す動きベクトル検出装置１００は、入力端子１、第２階層化回路２及び第３階層化回路３を備えている。入力端子１には、原画像データ（入力画像データ）Ｄｉｎ１が入力される。第２階層化回路２は階層化部の一例であり、この原画像データＤｉｎ１よりも低解像度の第２階層化データＤｉｎ２を生成する。例えば、第２階層化回路２は、複数の画素値を平均して代表画素値を求める２次元フィルタとして機能し、図１２Ａに示したように、原画像データＤｉｎ１の画素値を水平及び垂直方向で１／２に間引いて第２階層化データＤｉｎ２を生成する。
【００２５】
例えば、第２階層化回路２は、図２Ｃに示す時間的に離れたフレームＦとフレームＦ−１に対して、当該フレームＦ及びフレームＦ−１と解像度の異なる図２ＢのフレームＦ、Ｆ−１を形成する。なお、フレームＦは第１の画像の一例であり、フレームＦ−１は第２の画像の一例である。
【００２６】
第３階層化回路３は階層化部の一例であり、この第２階層化データＤｉｎ２よりも低解像度の第３階層化データＤｉｎ３を生成する。例えば、第３階層化回路３は、２次元フィルタとして機能する。
【００２７】
先ず、第３階層における動きベクトルを検出について説明する。動きベクトル検出装置１００は、第３階層における動きベクトルを検出するために、注目フレームメモリ４Ａ、注目ブロック回路５Ａ、フレームメモリ６Ａ、参照フレームメモリ７Ａ、探索範囲回路８Ａ、階調縮退回路９Ａ、評価値算出回路１０Ａ及び動きベクトル回路１１Ａを備えている。この例で、参照フレームＦ−１は、注目フレームＦよりも時間的に前のフレームとする。
【００２８】
注目フレームメモリ４Ａは、第３階層化回路３から出力された第３階層化データＤｉｎ３の注目フレームＦを記憶する。注目ブロック回路５Ａは、この注目フレームメモリ４Ａに記憶された注目フレームＦから第１ブロックの一例である注目ブロックＦBL（図２Ａ参照）を決定する。
【００２９】
フレームメモリ６Ａは、第３階層化回路３から出力された第３階層化データＤｉｎ３の参照フレームＦ−１を記憶する。この例で、フレームメモリ６Ａは、注目フレームＦよりも時間的に前の参照フレームＦ−１を記憶している。参照フレームメモリ７Ａは、このフレームメモリ６Ａに記憶された参照フレームＦ−１を記憶する。このとき、フレームメモリ６Ａには、次の参照フレームＦ−１が記憶される。探索範囲回路８Ａは、参照フレームメモリ７Ａに記憶された参照フレームＦ−１から探索範囲Ｗ（図２Ａ参照）を決定する。
【００３０】
階調縮退回路９Ａは階調縮退部の一例であり、注目ブロック回路５Ａにより決定された注目ブロックＦBLと、探索範囲回路８Ａにより決定された探索範囲Ｗの階調を例えばＡＤＲＣ（Adaptive Dynamic Range Coding）処理により縮退する。このＡＤＲＣ処理は、例えば、注目ブロックＦBLの画素値と探索範囲Ｗ内の参照ブロックＦ−１BL（第２ブロックの一例）の画素値から共通して最大値及び最小値を定義する。そして、その最大値及び最小値の差からダイナミックレンジを求める。このダイナミックレンジを２n（ｎはビット数）で割り算して量子化ステップ幅を求める。そして、各ブロックの画素値と最小値又は最大値との差分データをその量子化ステップ幅で割り算する。そして、ｎビットのコードに符号化して符号化コードを得る。なお、階調縮退回路９ＡのＡＤＲＣ処理は、図３〜図６で詳細に説明する。
【００３１】
評価値算出回路１０Ａは評価値算出部の一例であり、例えばＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと階調が縮退された探索範囲Ｗ内の参照ブロックＦ−１BLの各々に対してブロックマッチング（照合）を行って各評価値、例えば差分絶対値和を算出する。
【００３２】
評価値算出回路１０Ａは、探索範囲Ｗ内の全ての参照ブロックＦ−１BLに対して注目ブロックＦBLとの差分絶対値和を求める。その後、評価値算出回路１０Ａは、全ての差分絶対値和の中で最小の差分絶対値和を求める。このように、第３階層において、ＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと参照ブロックＦ−１BLを用いてブロックマッチングを行っているので、演算時間および回路規模の削減ができる。
【００３３】
動きベクトル回路１１Ａは、動きベクトル検出部の一例であり、評価値算出回路１０Ａにより算出された評価値の各々の中から最小となる最小評価値を選択し、当該最小評価値に基づいて動きベクトルを検出する。例えば、動きベクトル回路１１Ａは、最小の差分絶対値和に相当する参照ブロックＦ−１BLの位置と注目ブロックＦBLの位置から動きベクトルを求める。動きベクトル回路１１Ａは、求めた動きベクトルを、第２階層の探索範囲回路８Ｂに供給する。
【００３４】
次に、第２階層における動きベクトルの検出について説明する。動きベクトル検出装置１００は、第２階層における動きベクトルを検出するために、注目フレームメモリ４Ｂ、注目ブロック回路５Ｂ、フレームメモリ６Ｂ、参照フレームメモリ７Ｂ、探索範囲回路８Ｂ、階調縮退回路９Ｂ、評価値算出回路１０Ｂ及び動きベクトル回路１１Ｂを備えている。
【００３５】
注目フレームメモリ４Ｂは、第２階層化回路２から出力された第２階層化データＤｉｎ２の注目フレームＦを記憶する。注目ブロック回路５Ｂは、この注目フレームメモリ４Ｂに記憶された注目フレームＦから注目ブロックＦBL（図２Ｂ参照）を決定する。
【００３６】
フレームメモリ６Ｂは、第２階層化回路２から出力された第２階層化データＤｉｎ２の参照フレームＦ−１を記憶する。この例で、フレームメモリ６Ｂは、注目フレームＦよりも時間的に前の参照フレームＦ−１を記憶している。参照フレームメモリ７Ｂは、このフレームメモリ６Ｂに記憶された参照フレームＦ−１を記憶する。このとき、フレームメモリ６Ｂには、次の参照フレームＦ−１が記憶される。
【００３７】
探索範囲回路８Ｂは、参照フレームメモリ７Ｂに記憶された参照フレームＦ−１と、第３階層の動きベクトル回路１１Ａから供給された動きベクトルに基づいて探索範囲Ｗ（図２Ｂ参照）を決定する。例えば、探索範囲回路８Ｂは、当該動きベクトルが示す参照フレームＦ−１の位置を中心にして探索範囲Ｗを決定する。
【００３８】
階調縮退回路９Ｂは階調縮退部の一例であり、注目ブロック回路５Ｂにより決定された注目ブロックＦBLと、探索範囲回路８Ｂにより決定された探索範囲Ｗの階調を例えばＡＤＲＣ処理により縮退する。なお、階調縮退回路９ＢのＡＤＲＣ処理は、図３〜図６で詳細に説明する。
【００３９】
評価値算出回路１０Ｂは評価値算出部の一例であり、例えばＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと階調が縮退された探索範囲Ｗ内の参照ブロックＦ−１BLの各々に対してブロックマッチングを行って評価値、例えば差分絶対値和を算出する。評価値算出回路１０Ｂは、探索範囲Ｗ内の全ての参照ブロックＦ−１BLに対して注目ブロックＦBLとの差分絶対値和を求める。その後、評価値算出回路１０Ｂは、全ての差分絶対値和の中で最小の差分絶対値和を求める。このように、第２階層において、ＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと参照ブロックＦ−１BLを用いてブロックマッチングを行っているので、演算時間および回路規模の削減ができる。
【００４０】
動きベクトル回路１１Ｂは、最小の差分絶対値和に相当する参照ブロックＦ−１BLの位置と注目ブロックＦBLの位置から動きベクトルを求める。動きベクトル回路１１Ｂは、求めた動きベクトルを、第１階層の探索範囲回路８Ｃに供給する。
【００４１】
次に、第１階層における動きベクトルを検出について説明する。動きベクトル検出装置１００は、第１階層における動きベクトルを検出するために、注目フレームメモリ４Ｃ、注目ブロック回路５Ｃ、フレームメモリ６Ｃ、参照フレームメモリ７Ｃ、探索範囲回路８Ｃ、階調縮退回路９Ｃ、評価値算出回路１０Ｃ及び動きベクトル回路１１Ｃを備えている。
【００４２】
注目フレームメモリ４Ｃは、入力端子１から出力された原画像データＤｉｎ１の注目フレームＦを記憶する。注目ブロック回路５Ｃは、この注目フレームメモリ４Ｃに記憶された注目フレームＦから注目ブロックＦBL（図２Ｃ参照）を決定する。
【００４３】
フレームメモリ６Ｃは、入力端子１から出力された原画像データＤｉｎ１の参照フレームＦ−１を記憶する。この例で、フレームメモリ６Ｃは、注目フレームＦよりも時間的に前の参照フレームＦ−１を記憶している。参照フレームメモリ７Ｃは、このフレームメモリ６Ｃに記憶された参照フレームＦ−１を記憶する。このとき、フレームメモリ６Ｃには、次の参照フレームＦ−１が記憶される。
【００４４】
探索範囲回路８Ｃは、参照フレームメモリ７Ｃに記憶された参照フレームＦ−１と、第２階層の動きベクトル回路１１Ｂから供給された動きベクトルに基づいて探索範囲Ｗ（図２Ｃ参照）を決定する。例えば、探索範囲回路８Ｃは、当該動きベクトルが示す参照フレームＦ−１の位置を中心にして探索範囲Ｗを決定する。
【００４５】
階調縮退回路９Ｃは階調縮退部の一例であり、注目ブロック回路５Ｃにより決定された注目ブロックＦBLと、探索範囲回路８Ｃにより決定された探索範囲Ｗの階調を例えばＡＤＲＣ処理により縮退する。なお、階調縮退回路９ＣのＡＤＲＣ処理は、図３〜図６で詳細に説明する。
【００４６】
評価値算出回路１０Ｃは評価値算出部の一例であり、例えばＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと階調が縮退された探索範囲Ｗ内の参照ブロックＦ−１BLの各々に対してブロックマッチングを行って評価値、例えば差分絶対値和を算出する。評価値算出回路１０Ｃは、探索範囲Ｗ内の全ての参照ブロックＦ−１BLに対して注目ブロックＦBLとの差分絶対値和を求める。その後、評価値算出回路１０Ｃは、全ての差分絶対値和の中で最小の差分絶対値和を求める。このように、第１階層において、ＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと参照ブロックＦ−１BLを用いてブロックマッチングを行っているので、演算時間および回路規模の削減ができる。
【００４７】
動きベクトル回路１１Ｃは、最小の差分絶対値和に相当する参照ブロックＦ−１BLの位置と注目ブロックＦBLの位置から動きベクトルを求める。動きベクトル回路１１Ｃは、求めた動きベクトルを、出力端子１２に出力する。このように、動きベクトル検出装置１００は、階層化ブロックマッチング処理において、ＡＤＲＣ処理により階調を縮退させて動きベクトルを求める。
【００４８】
続いて、本発明に係る階層化ブロックマッチングの一例を説明する。図２Ａは、最上位の第３階層におけるブロックマッチングの動作例を示す概略図である。図２Ａに示す注目フレームＦ及び参照フレームＦ−１は、最も低解像度の第３階層のフレームに相当している。この例で、図２Ａに示す参照フレームＦ−１の探索範囲Ｗ内で、注目ブロックＦBLと参照ブロックＦ−１BLとのブロックマッチングを行い、大まかな動きベクトルＭＶ１を検出する。このとき、図１で説明したように、階調縮退回路９Ａは、図２Ａに示す注目ブロックＦBLと探索範囲Ｗの画素値の階調をＡＤＲＣ処理により縮退している。
【００４９】
図２Ｂは、第２階層におけるブロックマッチングの動作例を示す概略図である。図２Ｂに示す注目フレームＦ及び参照フレームＦ−１は、第２階層のフレームに相当している。この例で、図２Ａで求めた動きベクトルＭＶ１に基づいて第２階層における探索範囲Ｗを決定する。これにより、探索範囲を絞り込むことができるので、演算時間を短縮できる。当該絞り込まれた図２Ｂに示す探索範囲Ｗ内で、注目ブロックＦBLと参照ブロックＦ−１BLとのブロックマッチングを行い、動きベクトルＭＶ２を検出する。このとき、図１で説明したように、階調縮退回路９Ｂは、図２Ｂに示す注目ブロックＦBLと探索範囲Ｗの画素値の階調をＡＤＲＣ処理により縮退している。
【００５０】
図２Ｃは、最下位の第１階層におけるブロックマッチングの動作例を示す概略図である。図２Ｃに示す注目フレームＦ及び参照フレームＦ−１は、第１階層のフレームに相当している。この例で、図２Ｂで求めた動きベクトルＭＶ２に基づいて第１階層における探索範囲Ｗを決定する。これにより、さらに正確に探索範囲を絞り込むことができる。当該絞り込まれた図２Ｃに示す探索範囲Ｗ内で、注目ブロックＦBLと参照ブロックＦ−１BLとのブロックマッチングを行い、最終的な動きベクトルＭＶ３を検出する。このとき、図１で説明したように、階調縮退回路９Ｃは、図２Ｃに示す注目ブロックＦBLと探索範囲Ｗの画素値の階調をＡＤＲＣ処理により縮退している。
【００５１】
このように、低解像度の第２及び第３階層を利用して第１階層における探索範囲Ｗを絞り込んでいくことにより、当該第１階層の探索範囲Ｗの範囲を狭く設定することができる。このとき、各階層において、階調縮退回路９Ａ〜９Ｃは、各注目ブロックＦBLと各探索範囲Ｗの画素値の階調をＡＤＲＣ処理により縮退している。これにより、演算量が減少するので演算時間や回路規模を削減できる。
【００５２】
続いて、階調縮退回路９Ａ〜９Ｃの構成例について説明する。図３は、階調縮退回路９Ａ〜９Ｃの構成例を示すブロック図である。図３に示す階調縮退回路９Ａ〜９Ｃは、特公平７−９３７２３に開示されている符号化装置と同一の構成である。階調縮退回路９Ａ〜９Ｃは、１ライン周期の遅延量を有するライン遅延回路９２及び９３と、所定の遅延量を有するサンプル遅延回路８１〜８５、２１〜２５、３１〜３５とによって、各遅延回路の出力端子から１ブロックの画素データを同時に得る。この例では、１ライン×６画素を３ラインだけ入力して合計１８画素の画素データを同時に得る。この１８画素の画素データから成るブロックを１ブロックとする。
【００５３】
上述のサンプル遅延回路の各々は、第１の選択回路１６〜１８、２６〜２８、３６〜３８の各々に２個ずつ画素データを供給する。これらの第１の選択回路は、入力される２つの画素データのレベルを比較し、大きいレベルの方の画素データを第２の選択回路４１〜４４に出力し、小さいレベルの方の画素データを第２の選択回路５１〜５４出力する。
【００５４】
第２の選択回路４１〜４４は、入力される２つの画素データのレベルを比較し、より大きいレベルの画素データのみを選択的に出力するように構成されたデジタルのレベル比較回路である。第２の選択回路５１〜５４は、入力される２つの画素データのレベルを比較し、より小さいレベルの画素データのみを選択的に出力するように構成されたデジタルのレベル比較回路である。
【００５５】
第３の選択回路４５〜４８は、第２の選択回路４１〜４４と同様に、より大きいレベルの画素データを選択的に出力するものである。従って、選択回路４８の出力端子には、ブロック内の１８個の画素データのうちで最大レベルＭＡＸの画素データが生じる。
【００５６】
第３の選択回路５５〜５８は、第２の選択回路５１〜５４と同様に、より小さいレベルの画素データを選択的に出力するものである。従って、選択回路５８の出力端子には、ブロック内の１８個の画素データのうちで最小レベルＭＩＮの画素データが生じる。
【００５７】
選択回路４８の出力及び選択回路５８の出力が減算回路４９に供給される。減算回路４９により（最大レベルＭＡＸ−最小レベルＭＩＮ）の演算がなされ、出力端子９６に８ビットのダイナミックレンジＤＲが得られる。最小レベルＭＩＮは、出力端子９７に取り出されると共に、減算回路５０に供給される。
【００５８】
減算回路５０には、サンプル遅延回路３５の出力に生じた画素データＰＤが遅延回路９４を介して供給される。減算回路５０の出力に最小レベルが除去された８ビットの画素データＤＴＩが得られる。
【００５９】
ダイナミックレンジＤＲ及び最小レベル除去後の画素データＤＴＩがエンコーダブロック９５に供給される。エンコーダブロック９５は、ダイナミックレンジＤＲを元の量子化ビット数より少ない量子化ビット数（この例では、４ビット）で、均等に分割する。そして、エンコーダブロック９５は、最小レベル除去後の画素データＤＴＩが分割された領域のどの領域に含まれるかを判定し、その領域を特定する４ビットの符号化コードＤＴを出力端子９８に発生するものである。
【００６０】
図４は、エンコーダブロック９５の構成例を示すブロック図である。図４に示すエンコーダブロック９５は、説明を簡単とするため、量子化ビット数を４ビットでなく、２ビットとし、ダイナミックレンジを４分割している。
【００６１】
入力端子６１には、ダイナミックレンジＤＲが供給される。入力端子６２には、最小レベル除去後の画素データＤＴＩが供給される。割算器６３は、２ビットシフトするビットシフタにより構成され、ダイナミックレンジＤＲを１／４のレベルにする。この割算器６３の出力が乗算器６４及び６５に供給される。
【００６２】
乗算器６４により３倍とされた出力がレベル比較器６６の一方の入力端子に供給される。乗算器６５により２倍とされた出力がレベル比較器６７の一方の入力端子に供給される。割算器６３の出力がレベル比較器６８の一方の入力端子に供給される。これらのレベル比較器６６、６７、６８の夫々の他方の入力端子には、最小レベル除去後の画素データＤＴＩが供給される。
【００６３】
１ブロック内の最小レベルを含む画素データＰＤは、図５に示すように、最小レベルＭＩＮから最大レベルＭＡＸ迄のダイナミックレンジＤＲ内に属している。割算器６３は、このダイナミックレンジＤＲを量子化ビット数により４分割する。なお、図５は、ダイナミックレンジＤＲの量子化ステップの一例を示す概念図である。
【００６４】
比較器６６、６７、６８は、最小レベルの除去後の画素データＤＴＩが分割されたレベル範囲の何れに属するかを判定し、その判定結果をプライオリティエンコーダ６９に供給する。プライオリティエンコーダ６９は、判定結果のレベル範囲と対応する２ビットの符号化コードＤＴ、例えば各領域の２ビットから成る中央値Ｌ０（００）、Ｌ１（０１）、Ｌ２（１０）、Ｌ３（１１）に変換して、出力端子９８に２ビットの符号化コードＤＴを出力する。
【００６５】
図６Ａ〜図６Ｃは、階調縮退回路９Ａ〜９Ｃの動作例を示す説明図である。図６Ａは、注目ブロックＦBLの画素値と参照フレームＦ−１の探索範囲Ｗの画素値の一例を示している。図６Ｂは、注目ブロックＦBLの２ビットＡＤＲＣコードと探索範囲Ｗの２ビットＡＤＲＣコードの変換例（その１）を示している。図６Ｂは、図６Ａに示した注目ブロックＦBLの画素値と探索範囲Ｗの画素値とを独立に最小値および最大値を定義して各２ビットＡＤＲＣコードを求めた場合である。この場合、例えば、斜線で示した注目ブロックＦBLの２ビットＡＤＲＣコード「３」と探索範囲Ｗの２ビットＡＤＲＣコード「２」の値が異なっている。図６Ａに示す注目ブロックＦBLの画素値「１８７」と探索範囲Ｗの画素値「１８７」が等しいので、これらの異なるＡＤＲＣコードは、同一にする必要がある。その例を図６Ｃに示す。
【００６６】
図６Ｃは、注目ブロックＦBLの２ビットＡＤＲＣコードと探索範囲Ｗの２ビットＡＤＲＣコードの変換例（その２）を示している。図６Ｃは、図６Ａに示した注目ブロックＦBLの画素値と探索範囲Ｗの画素値とを共通に最小値および最大値を定義して各２ビットＡＤＲＣコードを求めた場合である。この場合、例えば、斜線で示した注目ブロックＦBLの２ビットＡＤＲＣコード「２」と探索範囲Ｗの２ビットＡＤＲＣコード「２」の値が等しくなっている。
【００６７】
このように、ＡＤＲＣ処理により階調を縮退させる場合は、図６Ｃに示したように、注目ブロックＦBLの画素値と探索範囲Ｗの画素値とを、独立ではなくて共通に最小値および最大値を定義して各２ビットＡＤＲＣコードを求める。このように、８ビットの画素値のデータから２ビットのＡＤＲＣコードに変換しているので、データ量を減少できると共に演算時間や回路規模を削減できる。
【００６８】
続いて、動きベクトル検出装置１００の性能評価の一例を説明する。図７は、動きベクトル検出装置１００の性能評価の一例を示す説明図である。動きベクトル検出装置１００は３階層型ブロックマッチングだが、図７は、説明の理解を容易にするために、２階層型ブロックマッチングを例にとって説明する。この例では、下位階層である第１階層は８ビットの画素値を用いてブロックマッチングを行う。また、上位階層である第２階層はｎビットのＡＤＲＣコードを用いてブロックマッチングを行う。
【００６９】
図７に示す性能評価グラフの縦軸は平均ＳＡＤ（差分絶対値和）を示し、横軸は相対演算コストを示している。図７に示す曲線Ｐは、１ビット〜８ビットＡＤＲＣの結果を示している。図７に示すように、８ビットＡＤＲＣブロックマッチングと平均値２階層型ブロックマッチングの平均ＳＡＤ及び相対演算コストは等しい。また、５ビット〜７ビットＡＤＲＣブロックマッチングと平均値２階層型ブロックマッチング平均ＳＡＤが略等しくなっている。このとき、５ビット〜７ビットＡＤＲＣブロックマッチングは、ビット数が少なくなるほど相対演算コストが低下している。これにより、５ビット〜７ビットＡＤＲＣブロックマッチングは、平均値２階層型ブロックマッチングと比較して平均ＳＡＤの性能を維持した状態で演算コストを下げることができる。
【００７０】
また、３ビット〜７ビットＡＤＲＣブロックマッチングは、平均値３階層型ブロックマッチングと比較して相対演算コストは多くなるが、平均ＳＡＤでは優位な結果を示している。これにより、演算コストの増加をある程度犠牲にして高精度に動きベクトルを検出する場合、３階層型ブロックマッチングを用いずに２階層型のＡＤＲＣブロックマッチングを用いても良い。
【００７１】
図８は、第１の実施形態に係る動きベクトル検出装置１００の動作例を示すフローチャートである。この例では、３階層型のＡＤＲＣブロックマッチングを想定する。図８に示すステップＳＴ１で、所定の階層画像を生成する。例えば、図１に示した第２階層化回路２は、原画像データＤｉｎ１よりも低解像度の第２階層化データＤｉｎ２を生成する。また、第３階層化回路３は、この第２階層化データＤｉｎ２よりも低解像度の第３階層化データＤｉｎ３を生成する。続いてステップＳＴ２に移行する。
【００７２】
ステップＳＴ２で、動きベクトル検出装置１００は、最下層の動きベクトルが検出されたか否かを判定する。例えば、動きベクトル検出装置１００は、図１に示した第３階層の動きベクトル回路１１Ｃが動きベクトルを算出したか否かを判定し、動きベクトル回路１１Ｃが動きベクトルを算出したと判定した場合、動きベクトル検出処理の終了とする。また、動きベクトル回路１１Ｃが動きベクトルを算出していないと判定した場合、ステップＳＴ３に移行する。
【００７３】
ステップＳＴ３で、探索範囲Ｗの決定を行う。例えば、図１に示した探索範囲回路８Ａは、参照フレームＦ−１から探索範囲Ｗ（図２Ａ参照）を決定してステップＳＴ４に移行する。
【００７４】
ステップＳＴ４で、ｎビットのＡＤＲＣ処理を行う。例えば、図１に示した階調縮退回路９Ａは、注目ブロックＦBLと探索範囲Ｗの階調を例えば４ビットのＡＤＲＣ処理により縮退してステップＳＴ５に移行する。
【００７５】
ステップＳＴ５で、注目ブロックＦBLと参照ブロックＦ−１BLの評価値を算出する。例えば、図１に示した評価値算出回路１０Ａは、４ビットのＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと階調が縮退された探索範囲Ｗ内の参照ブロックＦ−１BLの各々に対してブロックマッチングを行って評価値、例えば差分絶対値和を算出してステップＳＴ６に移行する。
【００７６】
ステップＳＴ６で、評価値算出回路１０Ａは、探索範囲Ｗ内で参照ブロックＦ−１BLの探索が終了したか否かを判定し、探索が終了していない場合、ステップＳＴ５に戻って評価値を算出する。また、探索が終了した場合、ステップＳＴ７に移行する。
【００７７】
ステップＳＴ７で、最小の評価値を算出する。例えば、図１に示した評価値算出回路１０Ａは、探索範囲Ｗ内の全ての参照ブロックＦ−１BLに対して求めた注目ブロックＦBLとの差分絶対値和の中で、最小の差分絶対値和を算出してステップＳＴ８に移行する。
【００７８】
ステップＳＴ８で、動きベクトルを算出する。例えば、図１に示した動きベクトル回路１１Ａは、最小の差分絶対値和に相当する参照ブロックＦ−１BLの位置と注目ブロックＦBLの位置から動きベクトルを求める。動きベクトル回路１１Ａは、求めた動きベクトルを、第２階層の探索範囲回路８Ｂに供給する。続いて、ステップＳＴ２に戻る。
【００７９】
ステップＳＴ２で、最下層の動きベクトルが検出されたか否かを判定する。最下層の動きベクトルが検出されていない場合ステップＳＴ３に移行して、上述したようにステップＳＴ３〜ステップＳＴ８の処理を今度は第２階層について行う。このとき、ステップＳＴ３で、図１に示した探索範囲回路８Ｂは、第３階層の動きベクトル回路１１Ａから供給された動きベクトルに基づいて探索範囲Ｗ（図２Ｂ参照）を決定する。ステップＳＴ８で、第２階層の動きベクトルを検出してステップＳＴ２に戻る。
【００８０】
ステップＳＴ２で、最下層の動きベクトルが検出されたか否かを判定する。最下層の動きベクトルが検出されていない場合ステップＳＴ３に移行して、上述したようにステップＳＴ３〜ステップＳＴ８の処理を今度は第１階層について行う。このとき、ステップＳＴ３で、図１に示した探索範囲回路８Ｃは、第２階層の動きベクトル回路１１Ｂから供給された動きベクトルに基づいて探索範囲Ｗ（図２Ｃ参照）を決定する。ステップＳＴ８で、第１階層の動きベクトルを検出してステップＳＴ２に戻る。
【００８１】
ステップＳＴ２で、最下層である第１階層の動きベクトルが検出されたか否かを判定する。第１階層の動きベクトルが検出された場合、動きベクトル検出処理の終了となる。
【００８２】
このように、本発明に係る第１の実施形態の動きベクトル検出装置１００によれば、所定の階層において、階調が縮退された画素値を用いた注目ブロックＦBLと、階調が縮退された画素値を用いた探索範囲Ｗにおける複数の参照ブロックＦ−１BLとを照合して各評価値を算出する評価値算出回路１０Ａ〜１０Ｃを備えるものである。この構成によって、階調表現のビット長を短縮することができるので演算量が減少し、演算時間および回路規模を削減できる。
【００８３】
また、従来の階層型ブロックマッチングにおいて、上位階層における誤検出が問題となる場合には、階層数を減らして階調縮退ステップを併せて用いることにより、動きベクトルの精度を向上できるようになる。
【００８４】
なお、動きベクトル検出装置１００は、第１階層〜第３階層において注目ブロックＦBLと参照ブロックＦ−１BLの階調の縮退を行ったが、これに限ることはない。すなわち、第３階層は演算量が少ないので階調の縮退を行わずに、第１階層と第２階層のみ階調の縮退を行うようにしてもよい。
【００８５】
図９は、本発明に係る第２の実施形態としての動きベクトル検出装置２００の構成例を示すブロック図である。この例で、図１に示した動きベクトル検出装置１００と同じ構成要素には同一符号を付し、その詳細な説明は省略する。
【００８６】
図９に示す動きベクトル検出装置２００は、各階層の階調縮退ステップにおいて、各階層とも均一にｎビットＡＤＲＣを適用する代わりに、評価値の演算量によってビット数を変更するものである。例えば、評価値算出時の演算量が多い上位階層では低ビットのＡＤＲＣ処理によって得られるビットコード（符号化データの一例）を出力し、評価値算出時の演算量が少ない下位階層では高ビットのＡＤＲＣ処理によって得られるビットコード又は画素値を出力する。
【００８７】
図９に示す動きベクトル検出装置２００は、２階層型ブロックマッチング方法を適用している。この動きベクトル検出装置２００は、第２階層における動きベクトルを検出するために、注目フレームメモリ４Ｂ、注目ブロック回路５Ｂ、フレームメモリ６Ｂ、参照フレームメモリ７Ｂ、探索範囲回路８Ｂ、ｎビットＡＤＲＣ回路９Ｄ、評価値算出回路１０Ｄ及び動きベクトル回路１１Ｂを備えている。この例で、ｎビットＡＤＲＣ回路９Ｄ及び評価値算出回路１０Ｄの構成が第１の実施形態と異なる。
【００８８】
ｎビットＡＤＲＣ回路９Ｄは階調縮退部の一例であり、注目ブロック回路５Ｂにより決定された注目ブロックＦBLと、探索範囲回路８Ｂにより決定された探索範囲Ｗの階調をｎビットのＡＤＲＣ処理により縮退する。ＡＤＲＣ処理のｎビットのビット数は、評価値の演算量によって変更される。
【００８９】
評価値算出回路１０Ｄは評価値算出部の一例であり、ｎビットＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと階調が縮退された探索範囲Ｗ内の参照ブロックＦ−１BLの各々に対してブロックマッチングを行って評価値、例えば差分絶対値和を算出する。
【００９０】
また、動きベクトル検出装置２００は、第１階層における動きベクトルを検出するために、注目フレームメモリ４Ｃ、注目ブロック回路５Ｃ、フレームメモリ６Ｃ、参照フレームメモリ７Ｃ、探索範囲回路８Ｃ、ｍビットＡＤＲＣ回路９Ｅ、評価値算出回路１０Ｅ及び動きベクトル回路１１Ｃを備えている。この例で、ｍビットＡＤＲＣ回路９Ｅ及び評価値算出回路１０Ｅの構成が第１の実施形態と異なる。
【００９１】
ｍビットＡＤＲＣ回路９Ｅは階調縮退部の一例であり、注目ブロック回路５Ｃにより決定された注目ブロックＦBLと、探索範囲回路８Ｃにより決定された探索範囲Ｗの階調をｍビットのＡＤＲＣ処理により縮退する。ＡＤＲＣ処理のｍビットのビット数は、評価値の演算量によって変更される。
【００９２】
評価値算出回路１０Ｅは評価値算出部の一例であり、ｍビットＡＤＲＣ処理により階調が縮退された注目ブロックＦBLと階調が縮退された探索範囲Ｗ内の参照ブロックＦ−１BLの各々に対してブロックマッチングを行って評価値、例えば差分絶対値和を算出する。下位階層である第１階層では、ｎビットよりもビット数が多いｍビット（ｍ＞ｎ）のＡＤＲＣによって得られるビットコードを用いて評価値算出を行う。
【００９３】
以下、ｎビットとｍビットのＡＤＲＣのビット数の決定について説明する。第２階層（上位階層）は、例えばブロックサイズを「８画素×４ライン」、探索範囲を「水平±１９画素、垂直±１１ライン」に設定する。また、第１階層（下位階層）は、例えばブロックサイズを「１６画素×８ライン」、探索範囲を「水平±１画素、垂直±１ライン」に設定する。
【００９４】
このように設定した場合、第１及び第２階層における評価値算出時の演算量は、マッチング画素数から見積もると、以下に示すようになる。
・第２階層：８×４×（２×１９＋１）×（２×１１＋１）＝２８７０４
・第１階層：１６×８×（２×１＋１）×（２×１＋１）＝１１５２
【００９５】
このように、第２階層の演算量は「２８７０４」となり、第１階層の演算量は「１１５２」となり、第２階層の演算量が第１階層の演算量よりも多くなる。そこで、第２階層では、演算量が多くなるのでｎビット、例えば３ビットのＡＤＲＣによって得られるビットコードを用いて評価値算出を行う。また、下位階層である第１階層では、ｍビット（５ビット）のＡＤＲＣによって得られるビットコードを用いて評価値算出を行う。
【００９６】
このように、演算量に応じて上位階層では低ビットのＡＤＲＣによるビットコード又は画素値、下位階層では高ビットのＡＤＲＣによるビットコードを用いて評価値算出を行うことにより、動きベクトルの精度を保ちつつ、評価値算出時の演算量を削減することができる。
【００９７】
続いて、動きベクトル検出装置２００の性能評価の一例を説明する。図１０は、動きベクトル検出装置２００の性能評価の一例を示す説明図である。図１０に示す性能評価グラフの縦軸は平均ＳＡＤ（差分絶対値和）を示し、横軸は相対演算コストを示している。図１０に示す各曲線は、下位階層の１ビット〜８ビットＡＤＲＣの各々における上位階層の１ビット〜８ビットＡＤＲＣの結果を曲線として示している。すなわち、下位階層の１ビットＡＤＲＣにおける上位階層の１ビット〜８ビットＡＤＲＣ、下位階層の２ビットＡＤＲＣにおける上位階層の１ビット〜８ビットＡＤＲＣの結果を示している。以下同様に、下位階層の３ビット〜８ビットＡＤＲＣの各々における上位階層の１ビット〜８ビットＡＤＲＣの結果を示している。
【００９８】
図１０に示すように、下位階層のビット数が増加するほど、相対演算コストも増加すると共に平均ＳＡＤが小さくなって性能が向上している。下位階層の４ビット〜８ビットＡＤＲＣブロックマッチングは、その上位階層の４ビット〜８ビットＡＤＲＣブロックマッチングにおいて、平均ＳＡＤが略等しい傾向にある。これにより、演算量が多い上位階層は、例えば３ビットのＡＤＲＣブロックマッチングを行い、演算量が少ない下位階層は、例えば５ビットのＡＤＲＣブロックマッチングを行うようにする。これにより、平均ＳＡＤの性能を維持した状態で演算コストを効率的に下げることができるようになる。
【００９９】
また、上位階層の４ビットＡＤＲＣブロックマッチング及び下位階層の５ビットＡＤＲＣブロックマッチングは、平均値３階層型ブロックマッチングと比較して相対演算コストは多くなるが、平均ＳＡＤでは優位な結果を示している。これにより、演算コストの増加をある程度犠牲にして高精度に動きベクトルを検出する場合、３階層型ブロックマッチングを用いずに２階層型のＡＤＲＣブロックマッチングを用いても良い。
【０１００】
このように、本発明に係る第２の実施形態の動きベクトル検出装置２００によれば、評価値算出時の演算量が多い下位階層では低ビットのＡＤＲＣ処理によって得られるビットコードを出力し、評価値算出時の演算量が少ない上位階層では高ビットのＡＤＲＣ処理によって得られるビットコード又は画素値を出力する。これにより、動きベクトルの精度を保ちつつ、評価値算出時の演算量を削減することができる。
【０１０１】
なお、階調を縮退させる手段としては、ＡＤＲＣ以外にＤＰＣＭ（差分符号化）、ＶＱ（ベクトル量子化）等を用いることも考えられる。
【産業上の利用可能性】
【０１０２】
本発明は、階層型ブロックマッチング方法により動きベクトルを検出する動きベクトル検出装置に適用して好適である。
【図面の簡単な説明】
【０１０３】
【図１】本発明に係る第１の実施形態としての動きベクトル検出装置１００の構成例を示すブロック図である。
【図２】Ａ〜Ｃは、階層型ブロックマッチングの動作例を示す概略図である。
【図３】階調縮退回路９Ａ〜９Ｃの構成例を示すブロック図である。
【図４】エンコーダブロック９５の構成例を示すブロック図である。
【図５】ダイナミックレンジＤＲの量子化ステップの一例を示す概念図である。
【図６】Ａ〜Ｃは、階調縮退回路９Ａ〜９Ｃの動作例を示す説明図である。
【図７】動きベクトル検出装置１００の性能評価の一例を示す説明図である。
【図８】第１の実施形態に係る動きベクトル検出装置１００の動作例を示すフローチャートである。
【図９】本発明に係る第２の実施形態としての動きベクトル検出装置２００の構成例を示すブロック図である。
【図１０】動きベクトル検出装置２００の性能評価の一例を示す説明図である。
【図１１】従来例に係るブロックマッチング方法の一例を示す概略図である。
【図１２】Ａ及びＢは、従来例に係る注目フレームＦ’及び参照フレームＦ−１’の階層化処理の一例を示す概略図である。
【図１３】Ａ〜Ｃは、従来例に係る階層型ブロックマッチングの動作例を示す概略図である。
【符号の説明】
【０１０４】
２・・・第２階層化回路（階層化部）、３・・・第３階層化回路（階層化部）、９Ａ〜９Ｃ・・・階調縮退回路（階調縮退部）、９Ｄ・・・ｎビットＡＤＲＣ回路（階調縮退部）、９Ｅ・・・ｍビットＡＤＲＣ回路（階調縮退部）、１０Ａ〜１０Ｅ・・・評価位置算出回路（評価値算出部）、１０Ａ〜１０Ｃ・・・動きベクトル回路（動きベクトル検出部）、１００，２００・・・動きベクトル検出装置
【図１】
2009272955.tif 000003
【図２】
2009272955.tif 000004
【図３】
2009272955.tif 000005
【図４】
2009272955.tif 000006
【図５】
2009272955.tif 000007
【図６】
2009272955.tif 000008
【図７】
2009272955.tif 000009
【図８】
2009272955.tif 000010
【図９】
2009272955.tif 000011
【図１０】
2009272955.tif 000012
【図１１】
2009272955.tif 000013
【図１２】
2009272955.tif 000014
【図１３】
2009272955.tif 000015