(57)【特許請求の範囲】
【請求項１】
解像度の低い上位階層で検出した動きベクトルに基づいて、解像度の高い下位階層での動きベクトルを順次検出する動き量検出方法において、
上位階層における画素単位の動きベクトルを検出する第１の動きベクトル検出ステツプと、
検出された上記画素単位の上記動きベクトルを基準として、上記上位階層において上記画素単位の動きベクトルよりも細かい動き量の動きベクトルを検出する第２の動きベクトル検出ステツプと、
上記第２の動きベクトル検出ステツプで検出された動きベクトルに対応する上記上位階層よりも下位の階層での位置を基準として、上記下位階層での動きベクトルを上記第２の動きベクトル検出ステツプでの検出精度よりも高い精度で検出する第３の動きベクトル検出ステツプと
を具えることを特徴とする動き量検出方法。
【請求項２】
上記第２の動きベクトル検出ステツプでは、上記画素単位の動きベクトルよりも細かい動き量の上記動きベクトルを勾配法を用いて検出する
ことを特徴とする請求項１に記載の動き量検出方法。
【請求項３】
上記勾配法の演算に、上記上位階層の画素値を用いる
ことを特徴とする請求項２に記載の動き量検出方法。
【請求項４】
上記勾配法の演算に、上記上位階層よりも下位階層の画素値を用いる
ことを特徴とする請求項２に記載の動き量検出方法。
【請求項５】
解像度の低い上位階層で検出した動きベクトルに基づいて、解像度の高い下位階層での動きベクトルを順次検出する動き量検出装置において、
上位階層における画素単位の動きベクトルを検出する第１の動きベクトル検出手段と、
検出された上記画素単位の上記動きベクトルを基準として、上記上位階層において上記画素単位の動きベクトルよりも細かい動き量の動きベクトルを検出する第２の動きベクトル検出手段と、
上記第２の動きベクトル検出手段により検出された動きベクトルに対応する上記上位階層よりも下位の階層での位置を基準として、上記下位階層での動きベクトルを上記第２の動きベクトル検出手段の検出精度よりも高い精度で検出する第３の動きベクトル検出手段と、
を具えることを特徴とする動き量検出装置。
【請求項６】
上記第２の動きベクトル検出手段は、上記画素単位の動きベクトルよりも細かい動き量の上記動きベクトルを勾配法を用いて検出する
ことを特徴とする請求項５に記載の動き量検出装置。
【発明の詳細な説明】
【０００１】
【目次】
以下の順序で本発明を説明する。
産業上の利用分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段（図１）
作用（図１）
実施例（図１）
発明の効果
【０００２】
【産業上の利用分野】
本発明は動き量検出方法及び動き量検出装置に関し、特に画像の動きを検出する際に時間的に異なる２つの画像データをそれぞれ階層化してから動き量を検出するものに適用し得る。
【０００３】
【従来の技術】
従来、動画像の処理として、動き量（動きベクトル）すなわち時間的に異なる画像中の物体の動き方向と大きさ（又は速さ）を用いるものがある。例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フイルタによるテレビジヨン雑音低減装置における動きによるパラメータ制御等に動き量が用いられている。この画像の動き量を求める動き量検出方法として、ブロツクマツチング法が用いられている（特公昭５４−１２４９２７  号公報）。
【０００４】
このブロツクマツチング法では、まず１つの画面を適当な数画素からなるブロツクに分割する。続いてこのようにブロツク化された画像データと、この画像データが動いた領域を検索するために時間的に異なる画面の画像データがブロツク化されてなるサーチ領域との間で、所定の評価関数を用いて画素単位で評価し、この評価値を最小とする最適値を求めることにより、２つのブロツク化された画像データ間の動き量を検出する。これにより高い精度で画像の動き量を検出し得るようになされている。
【０００５】
【発明が解決しようとする課題】
ところがブロツクマツチング法においては、検出対象のブロツクの全ての画素に対して、検出範囲となる全てのサーチ領域をくまなくサーチし、その差分を求める必要がある。このため動き量を検出する計算量が大きくなり、装置自体が大型化したり、演算時間が長くなる問題があつた。このような問題を解決するため、それぞれ異なる解像度でなる複数の階層画像を作成し、この階層画像を用いてブロツクマツチング法で動き量を検出するようになされた動き量検出方法が提案されている（特願平５−２４４８８１４  号）。
【０００６】
この動き量検出方法では、まずオリジナルの画像データ（以下これを第１階層と呼ぶ）を、平均化やローパスフイルタ処理等により平均値階層化して、画素数を低減した画像データ（以下これを第２階層と呼ぶ）を作成する。次に作成した第２階層の画像データで大まかな動き量を検出し、その動き量に基づいて第１階層の画像データについて細かい動き量検出を行うことにより、少ない計算量で動き量を検出し得るようになされている。なおここでの階層数は２階層に限らず、順次平均値階層化を繰り返すことにより、さらにデータ量の少ない第３階層、第４階層、……の画像データを作成することもできる。
【０００７】
このような動き量検出方法を用いれば、階層数が多くなる程少ない計算量で動き量を求めることができる。すなわち上位階層の画像データほどブロツクのサイズとサーチ領域が小さくなるため、評価関数により演算量は必然的に小さくなる。最終的に動き量を求める最下位階層での評価は、ブロツクサイズ自体は通常のブロツクマツチング法と同じになるが、上位階層の画像データで求めた動き量に応じて動き補償して、サーチ領域を小さくすることができるため、演算量を削減することができる。
【０００８】
ところがこの動き量検出方法においては、階層数が多くなる程動き量の検出精度が劣化する問題があつた。実際上この動き量検出方法では、まず画像の粗い上位階層においてブロツク毎の動き量を検出し、この検出結果に基づいて下位階層において動き量を検出するため、上位階層での検出結果が下位階層での動き量検出に大きな影響を与える。すなわち上位階層の画像データは、平均値階層化の処理でブロツクサイズを小さくするため、画像の特徴量が最下位階層のオリジナル画像と異なつてくる。特にエツジ成分は平均値階層化により失われることになるため、平均値階層化された画像データにおける動き量とオリジナル画像により動き量の対応関係がずれる場合が生じる。
【０００９】
実際上現在の階層より下位の階層で動き量を求める場合、上位階層での動き量の結果を反映させるため、もし対応関係のずれ量が大きくサーチ領域以内でカバーできなかつたときには誤動作となる。従つて平均値階層化された画像データによる動き量検出方法では、平均値階層化による情報量の欠落により、誤動作が起きる可能性が大きくなる問題がある。また階層が上位になる程ブロツクサイズが小さくなることから、平均値階層化された画像データ上での動き量検出は、オリジナル画像に対する動き量検出の分解能が低下して誤動作が発生する問題もある。
【００１０】
本発明は以上の点を考慮してなされたもので、階層化された画像データを用いてブロツクマツチング法で動き量を検出する際に、動き量の検出精度を向上し得る動き量検出方法及び動き量検出装置を提案しようとするものである。
【００１１】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、解像度の低い上位階層で検出した動きベクトルに基づいて、解像度の高い下位階層での動きベクトルを順次検出する動き量検出方法において、上位階層における画素単位の動きベクトルを検出する第１の動きベクトル検出ステツプと、検出された画素単位の動きベクトルを基準として、上位階層において画素単位の動きベクトルよりも細かい動き量の動きベクトルを検出する第２の動きベクトル検出ステツプと、第２の動きベクトル検出ステツプで検出された動きベクトルに対応する上位階層よりも下位の階層での位置を基準として、上記下位階層での動きベクトルを上記第２の動きベクトル検出ステツプでの検出精度よりも高い精度で検出する第３の動きベクトル検出ステツプとを設ける。
【００１２】
また本発明においては、第２の動きベクトル検出ステツプでは、画素単位の動きベクトルよりも細かい動き量の動きベクトルを勾配法を用いて検出するようにする。
【００１３】
さらに本発明においては、勾配法の演算に、上位階層の画素値を用いるようにする。
【００１４】
さらに本発明においては、勾配法の演算に、上位階層よりも下位階層の画素値を用いるようにする。
【００１５】
さらに本発明においては、解像度の低い上位階層で検出した動きベクトルに基づいて、解像度の高い下位階層での動きベクトルを順次検出する動き量検出装置１において、上位階層における画素単位の動きベクトルを検出する第１の動きベクトル検出手段６と、検出された画素単位の動きベクトルを基準として、上位階層において画素単位の動きベクトルよりも細かい動き量の動きベクトルを検出する第２の動きベクトル検出手段７と、第２の動きベクトル検出手段７により検出された動きベクトルに対応する上位階層よりも下位の階層での位置を基準として、下位階層での動きベクトルを第２の動きベクトル検出手段７の検出精度よりも高い精度で検出する第３の動きベクトル検出手段８及び９とを設ける。
【００１６】
さらに本発明においては、第２の動きベクトル検出手段７は、画素単位の動きベクトルよりも細かい動き量の動きベクトルを勾配法を用いて検出するようにする。
【００１７】
【作用】
上位階層における画素単位の動きベクトルを検出する第１の動きベクトル検出手段６と、検出された画素単位の動きベクトルを基準として、上位階層において画素単位の動きベクトルよりも細かい動き量の動きベクトルを検出する第２の動きベクトル検出手段７と、第２の動きベクトル検出手段７により検出された動きベクトルに対応する上位階層よりも下位の階層での位置を基準として、下位階層での動きベクトルを第２の動きベクトル検出手段７の検出精度よりも高い精度で検出する第３の動きベクトル検出手段８及び９とを設けたことにより、動き量の検出精度を向上し得ると共に、始めから画素単位よりも細かい動き量の検出を行う場合に比して、動き量検出の際の計算量を低く抑えることができる。
【００１８】
【実施例】
以下図面について、本発明の一実施例を詳述する。
【００１９】
図１において、１は全体として動き量検出装置を示し、最上位階層における動き量を２段階に分けて検出するようになされている。
動き量検出装置１は、入力される第１階層画像データ（オリジナルデータ）Ｓ１を遅延回路２及び平均化回路３に入力する。平均化回路３は、第１階層画像データＳ１の４画素を平均化することにより第２階層画像データＳ２を作成し、これを遅延回路４及び平均化回路５に送出する。
【００２０】
平均化回路５は第２階層画像データＳ２の４画素を平均化することにより第３階層画像データＳ３を作成し、これを第３階層動き量検出部６に送出する。第３階層動き量検出部６はブロツクマツチング法により、第３階層画像データＳ３の画素精度の動きベクトルを検出する。
【００２１】
すなわち第３階層動き量検出部６は、図２に示すように、隣接するｎフレームと（ｎ−１）フレームにおいて、空間的に対応する位置に、Ｍ画素×Ｎラインの大きさのブロツクを設定し、ｎフレームのブロツク内の座標と（ｎ−１）フレームのブロツク内の座標間で所定の評価関数を用いたパターンマツチングを行ない、この評価値を最小とする最適値を求めることにより、２つのブロツク化された画像データ間の動き量を検出する。
【００２２】
この評価関数の例としては、各位置毎に対応するＭ画素×Ｎラインの大きさのブロツク内の対応画素の差分絶対値和などがある。ブロツク内の対応画素の差分絶対値和を評価関数として用いた場合、ｎフレームの各画素レベルをＬｎ  （ｉ，ｊ）、（ｎ−１）フレームの各画素レベルをＬｎ−１（ｉ，ｊ）とすると座標（ｘ、ｙ）における評価関数Ｅ（ｘ、ｙ）は、次式
【数１】
0003617671.tif 000002
により表わすことができる。
【００２３】
すなわち第３階層動き量検出部６は、評価関数Ｅ（ｘ、ｙ）が最小値となる座標を動きベクトルとして求め、この動きベクトルを続く第３階層動き量検出部７に送出する。
第３階層動き量検出部７は、勾配法を用いて第３階層の画素精度以下の細かい動き量（これを画素単位よりも細かい動き量ともいう）を検出する。これにより第３階層動き量検出部７は少ない計算量で高精度な動き量を検出することができるようになされている。
【００２４】
ここで勾配法について説明する。勾配法とは、空間傾斜をもつ画素がある位置まで動くと、この動き量に応じた時間差分が発生するというモデルに基づく。具体的には、座標（ｘ、ｙ）における画素値をｇ（ｘ、ｙ）とし、このとき動き量をｖ＝（ｖｘ  、ｖｙ  ）とすると、次の時刻の画素値はｇ（ｘ−ｖｘ  、ｙ−ｖｙ  ）となる。これをテーラー展開すると、次式
【００２５】
【数２】
0003617671.tif 000003
と表わすことができる。ここで時間差分は、次式
【数３】
0003617671.tif 000004
と表わすことができることにより、次式
【数４】
0003617671.tif 000005
を得ることができる。
【００２６】
（４）式により時間差分と空間勾配から動き量を求めることができる。あるブロツク内の画素に対し最小自乗法を（４）式に適用してｖについて解くと、次式
【数５】
0003617671.tif 000006
【数６】
0003617671.tif 000007
を得ることができる。ここでΔｔ  は時間差分、Δｘ  は水平勾配、Δｙ  は垂直勾配を表す。
【００２７】
さらに簡略化することで、次式
【数７】
0003617671.tif 000008
【数８】
0003617671.tif 000009
を得ることができる。ここでｓｉｇｎ（・）は符号を表す。実施例の第３階層動き量検出部７はこの（７）式及び（８）式を用いて第３階層での画素以下の動き量を検出する。実施例の場合、第３階層動き量検出部７はこの勾配法において第３階層画像データＳ３の画素値を用いるようになされている。
【００２８】
このように第３階層動き量検出部７により検出された動きベクトルは、第２階層動き量検出部８に送出される。また第２階層動き量検出部８には、遅延回路４により第３階層の動きベクトルが検出されるまで保持された第２階層画像データＳ２が入力される。
【００２９】
第２階層動き量検出部８は、第３階層で検出された動きベクトルにより動き補償されることにより、小さなサーチ領域でブロツクマツチング法による動き量の検出を行うことができる。第２階層動き量検出部８により検出された動きベクトルは、第１階層動き量検出部９に送出される。また第１階層動き量検出部９には、遅延回路２により第２階層の動きベクトルが検出されるまで保持された第１階層画像データＳ１が入力される。
【００３０】
第１階層動き量検出部９は、第２階層で検出された動きベクトルにより動き補償されることにより、小さなサーチ領域でブロツクマツチング法による動き量の検出を行うことができる。第１階層動き量検出部９からは、全階層の検出動きベクトルを加算した結果が、動きベクトルＶとして出力される。
このように動き量検出装置１においては、上位階層において、画素以下の精度で動きベクトルを検出することにより誤検出を低減し得、階層構造を用いて動きベクトルを検出する際の検出精度を向上させることができる。
【００３１】
以上の構成において、動き量検出装置１は最上位階層である第３階層の画像データＳ３を求めると、先ず第３階層動き量検出部６により第３階層画像データＳ３に対してブロツクマツチング法による画素精度の動き量検出を行う。
次に動き量検出装置１は、第３階層動き量検出部６により求めた画素精度の動き量を基準として、第３階層動き量検出部７により勾配法を用いて画素以下の精度の細かい動き量の検出を行う。
【００３２】
この結果動き量検出装置１においては、上位階層での動き量の検出誤差を低減し得、かくして最終的な第１階層での動き量も高精度で検出することができる。またこの結果動き量検出装置１においては、始めから画素以下の精度の細かい動き量の検出を行う場合に比して、動き量検出の際の計算量を低く抑えることができる。
【００３３】
例えば図３に示すように第３階層での１画素誤りは、第１階層では４画素のずれになつてしまう。そこで図４に示すように、上位階層において画素以下の精度で動きベクトルを検出し、それを下位階層の基準座標とすれば、上位階層での誤検出を低減することができる。
【００３４】
実施例の場合、図３に示すように、第３階層において画素精度で検出された動きベクトルに対し、次の段階では、図４に示すように、画素以下精度の動きベクトルを検出する。図４は、左へ半画素の動きベクトルが検出された例である。第３階層で検出された画素以下の精度の動きベクトルを基準に、第２階層での動きベクトルを検出する様子が図４の矢印で示されている。当然のことながら図３のサーチ領域では及ばない座標まで図４においてはサーチすることができる。図４の例では最上位階層についてのみ、画素以下の精度で動きベクトル検出しているが、他の上位階層でも同様に勾配法等の手法を用いることにより、画素以下の精度での検出を行うことができる。
【００３５】
以上の構成によれば、上位階層の動き量を検出する際に、先ず第１段階の動き量検出として画素単位の検出を行い、この検出結果を基準として第２段階の動き量検出として画素以下の精度での動き量検出をするようにしたことにより、計算量を抑制した状態で、動き量の検出精度を向上し得る。
【００３６】
なお上述の実施例においては、第３階層検出部７で勾配法を用いて第３階層の画素以下の精度で動き量を求める場合について述べたが、本発明はこれに限らず、第３階層検出部７で例えば第２階層の画像データを用いることにより、第３階層の画素以下の精度で動き量を求めるようにしても良く、画素以下の精度で動き量を求める種々の手法を適用することができる。
【００３７】
また上述の実施例においては、第３階層動き量検出部６でブロツクマツチング法を用いて画素精度の動き量を検出する場合について述べたが、本発明はこれに限らず、第３階層動き量検出部６では、例えば勾配法や位相相関法等を用いて画素精度の動き量を検出するようにしても良く、画素精度で動き量を求める種々の手法を適用することができる。
【００３８】
さらに上述の実施例においては、第３階層動き量検出部７が勾配法により画素以下の精度で動き量を求める際、動きベクトルの検出対象となつている階層（第３階層）の画像データの画素値を用いる場合について述べたが、第３階層動き量検出部７は検出対象となつている階層より下位階層の画像データの画素値を勾配法に用いるようにしても良い。
【００３９】
さらに上述の実施例においては、階層構造を３階層とし、最上位階層である第３階層にのみ、本発明を適用した場合について述べたが、本発明はこれに限らず、例えば上述の実施例を第２階層に適用しても良く、また階層構造も３階層に限らず２階層や４階層等の種々の階層構造に適用することができる。
【００４０】
【発明の効果】
上述のように本発明によれば、解像度の低い上位階層で検出した動きベクトルに基づいて、解像度の高い下位階層での動きベクトルを順次検出する動き量検出装置において、上位階層における画素単位の動きベクトルを検出する第１の動きベクトル検出手段と、検出された画素単位の動きベクトルを基準として、上位階層において画素単位の動きベクトルよりも細かい動き量の動きベクトルを検出する第２の動きベクトル検出手段と、第２の動きベクトル検出手段により検出された動きベクトルに対応する上位階層よりも下位の階層での位置を基準として、下位階層での動きベクトルを第２の動きベクトル検出手段の検出精度よりも高い精度で検出する第３の動きベクトル検出手段とを設けたことにより、動き量の検出精度を向上し得ると共に、動き量検出の際の計算量を低減し得る動き量検出装置を実現できる。
【図面の簡単な説明】
【図１】本発明による動き量検出装置の一実施例の回路構成を示すブロツク図である。
【図２】ブロツクマツチング法の説明に供する略線図である。
【図３】第３階層で画素精度で動き量を検出した場合の動き量の検出状態を示す略線図である。
【図４】第３階層で画素精度以下で動き量を検出した場合の動き量の検出状態を示す略線図である。
【符号の説明】
１……動き量検出装置、３、５……平均化回路、６、７……第３階層動き量検出部、８……第２階層動き量検出部、９……第１階層動き量検出部。
【図１】
0003617671.tif 000010
【図２】
0003617671.tif 000011
【図３】
0003617671.tif 000012
【図４】
0003617671.tif 000013