(57)【特許請求の範囲】
【請求項１】
時系列の複数の画面のうちの、所定の注目画面における、各画素の動きの方向を算出する画像処理装置であって、
前記注目画面の各画素に対応する前記複数の動きの方向を設定するとともに、前記注目画面の各画素を通り、前記時系列の複数の画面と交わる前記動きの方向の直線を動き方向線として設定する方向設定手段と、
前記方向設定手段により設定された前記動き方向線上にあり、３以上の所定数の前記時系列の複数の画面における画素の範囲を評価範囲として設定する範囲設定手段と、
前記範囲設定手段により設定された前記評価範囲内の画素の画素値と前記注目画素の画素値とを用いて分散を演算し、演算された前記分散に基づいて、前記動きの方向に対応する評価値を演算する演算手段と、
前記複数の動きの方向を、その複数の動きの方向それぞれに対応する前記評価値に基づいて加工することにより、前記所定の注目画面の各画素に対応する動きの方向を算出する算出手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記範囲設定手段は、前記動きの方向に対応する評価値の演算に用いる画素の範囲を、前記動き方向線に沿ってシフトし、
前記演算手段は、前記動き方向線に沿ってシフトされる各画素の前記評価範囲それぞれについて前記評価値を演算し、その評価値に基づいて、前記動きの方向に対応する最終的な評価値を演算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記演算手段は、前記動き方向線に沿ってシフトされる各画素の前記評価範囲それぞれについて評価値を演算し、各評価値を加算することにより、前記動きの方向に対応する最終的な評価値を演算する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記算出手段は、前記複数の動きの方向それぞれに対応する前記最終的な評価値を重みとして、前記複数の動きの方向を重み付け加算することにより、前記注目画面の各画素の動きの方向を算出する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記注目画面の各画素の前記評価値を記憶する評価値記憶手段と、
前記評価値記憶手段に記憶された評価値を、前記方向設定手段により設定された前記動き方向線上の画素から求められる前記評価値に基づいて更新する評価値更新手段と
をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記評価値更新手段は、前記評価値記憶手段に記憶された評価値を、前記方向設定手段により設定された前記動き方向線上の画素から求められる前記評価値と加算することにより更新する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記方向設定手段は、前記複数の動きの方向を順次設定し、
前記注目画面の各画素に対応して、前記動きの方向を記憶する動き方向記憶手段と、
前記動き方向記憶手段に記憶された前記動きの方向を、前記方向設定手段により新たに設定された動きの方向に基づいて更新する動き方向更新手段と
をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記動き方向更新手段は、前記動き方向記憶手段に記憶される前記動きの方向と、前記方向設定手段により新たに設定された動きの方向とを、それぞれの動きの方向に対する前記評価値を重みとして重み付け加算することにより、前記動き方向記憶手段に記憶される前記動きの方向を更新する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記演算手段は、さらに前記複数の動きの方向それぞれに対応する評価値を、前記時系列の複数の画面の各動き方向線上にある複数の画像ブロックに基づいて演算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記時系列の複数の画面を構成する動画像データを記憶する記憶手段をさらに備え、
前記演算手段は、前記複数の動きの方向それぞれに対応する評価値を、前記記憶手段に記憶される前記時系列の複数の画面すべての各動き方向線上にある画素に基づいて演算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１１】
前記演算手段は、前記方向設定手段により設定された前記動き方向線上の前記複数の画面の画素のうち、前記範囲設定手段により設定された範囲の画素の画素値の分散の逆数を、前記動きの方向に対応する評価値として演算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記演算手段は、前記方向設定手段により設定された前記動き方向線上の前記複数の画面の画素のうち、前記範囲設定手段により設定された範囲の画素の画素値の連続性の逆数を、前記動きの方向に対応する評価値として演算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
判定手段をさらに備え、
前記方向設定手段は、前記複数の動きの方向のそれぞれに対応する整数値を順次設定し、
前記判定手段は、前記算出手段により算出される前記動きの方向に対応する前記整数値の算出結果に基づいて、前記注目画面の、動きのある部分である動き部の有無を判定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１４】
前記判定手段は、前記動きの方向に対応する前記整数値の算出結果が所定の閾値を超えているかを判定し、前記所定の閾値を超えている場合、前記注目画面の前記動き部を検出する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記判定手段は、前記動きの方向に対応する前記整数値の算出結果が所定の閾値を超えているかを判定し、前記所定の閾値を超えていない場合、前記注目画面の動きのない部分である静止部を検出する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１６】
前記判定手段は、前記注目画面の各画素の動きの方向に対応する前記整数値の平均値を所定の閾値とし、前記動き部の有無を判定する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１７】
前記判定手段は、前記注目画面の各画素の前記整数値が設定された動きの方向に対応する評価値が所定の閾値より高い前記動きの方向に基づいて、前記動き部の有無を判定する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１８】
方向設定手段と、
範囲設定手段と、
演算手段と、
算出手段と
を備える画像処理装置の画像処理方法であって、
前記方向設定手段は、前記注目画面の各画素に対応する前記複数の動きの方向を設定するとともに、前記注目画面の各画素を通り、前記時系列の複数の画面と交わる前記動き方向の直線を動き方向線として設定し、
前記範囲設定手段は、前記方向設定手段により設定された前記動き方向線上にあり、３以上の所定数の前記時系列の複数の画面における画素の範囲を評価範囲として設定し、
前記演算手段は、前記範囲設定手段により設定された前記評価範囲内の画素の画素値と前記注目画素の画素値とを用いて分散を演算し、演算された前記分散に基づいて、前記動きの方向に対応する評価値を演算し、
前記算出手段は、前記複数の動きの方向を、その複数の動きの方向それぞれに対応する前記評価値に基づいて加工することにより、前記所定の注目画面の各画素に対応する動きの方向を算出する
画像処理方法。
【請求項１９】
時系列の複数の画面のうちの、所定の注目画面における、各画素の動きの方向を算出する画像処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記注目画面の各画素に対応する前記複数の動きの方向を設定するとともに、前記注目画面の各画素を通り、前記時系列の複数の画面と交わる前記動き方向の直線を動き方向線として設定する方向設定ステップと、
前記方向設定ステップにより設定された前記動き方向線上にあり、３以上の所定数の前記時系列の複数の画面における画素の範囲を評価範囲として設定する範囲設定ステップと、
前記範囲設定ステップにより設定された前記評価範囲内の画素の画素値と前記注目画素の画素値とを用いて分散を演算し、演算された前記分散に基づいて、前記動きの方向に対応する評価値を演算する演算ステップと、
前記複数の動きの方向を、その複数の動きの方向それぞれに対応する前記評価値に基づいて加工することにより、前記所定の注目画面の各画素に対応する動きの方向を算出する算出ステップと
を備えるプログラムが記録されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びに記録媒体に関し、特に、例えば、画像（動画像）から、動きのある部分や動きのない部分を抽出する場合に用いて好適な画像処理装置および画像処理方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来の、動画像から、動きのある物体（オブジェクト）を抽出する画像処理装置においては、例えば、順次入力されるフレームの幾つかを用い、各画素について、ブロックマッチングによる動きベクトルの検出が行われ、各動きベクトルが、その空間方向において周辺にある動きベクトルを用いて修正される。さらに、修正後の動きベクトルが、その動きベクトルを用いてブロックマッチングを行うことにより評価され、その評価値に基づき、動きベクトルを修正することが再帰的に繰り返されることにより、より信頼性の高い動きベクトルが最終的に求められる。そして、その最終的に得られた動きベクトルに基づいて、動きのあるオブジェクトが抽出される。
【０００３】
即ち、従来の画像処理装置においては、いま注目している注目画素について、例えば、８×８画素等のブロックが構成され、このブロックを用いて、ブロックマッチングが行われる。具体的には、注目画素についてのブロックを構成する各画素と、近接フレームのブロックを構成する対応する画素との画素値の差分の２乗和等の、いわゆる予測誤差が計算され、その予測誤差を最も小さくする近接フレームのブロック（以下、適宜、予測誤差最小ブロックという）が求められる。そして、注目画素についてのブロックと、予測誤差最小ブロックとの位置関係から、注目画素の動きベクトルが求められる。
【０００４】
このようにして、注目している注目フレームのすべての画素を、順次、注目画素として、各画素の動きベクトルが求められると、各画素の動きベクトルが修正される。
【０００５】
即ち、ある画素に注目すれば、その注目画素の動きベクトルが、その注目画素の空間方向に近接する画素の動きベクトルを、例えば、その動きベクトルについての予測誤差（動きベクトルを求めたときに得られた予測誤差）に対応する重みで用いて修正される。さらに、注目画素についてのブロックと、その位置から、修正後の動きベクトルだけ移動した位置にある近接フレームのブロックとを用いて、修正後の動きベクトルについての予測誤差が計算される。この予測誤差は、修正後の動きベクトルの評価に用いられるとともに、上述のような動きベクトルの修正時における重みとして用いられる。
【０００６】
以上のような動きベクトルの修正が、注目フレームのすべての画素について、例えば、各画素の動きベクトルについての予測誤差の総和がある程度収束するまで、再帰的に行われる。
【０００７】
【発明が解決しようとする課題】
上述のように、従来の画像処理装置では、各画素について、空間方向にある程度の大きさを有する、複数画素からなるブロックが構成され、動きベクトルの予測誤差を求めるブロックマッチングが、再帰的に行われる。
【０００８】
ブロックマッチングでは、上述したように、注目画素についてのブロックを構成する各画素と、近接フレームのブロックを構成する対応する画素との画素値の差分の２乗和等が、予測誤差として計算されるから、その演算量は多く、従来の画像処理装置では、このような演算量の多いブロックマッチングを再帰的に行うために、全体の演算量は、膨大なものとなる。
【０００９】
また、最初の動きベクトルを求めるブロックマッチングでは、その検出精度を向上させようとすると、近接フレームにおける予測誤差最小ブロックをサーチする範囲を広くしなければならないが、この場合、そのような広い範囲の近接フレームの各位置のブロックとの間の予測誤差を計算する必要があり、その演算量は膨大なものとなる。
【００１０】
従って、ブロックマッチングによる場合には、例えば、近接フレーム全体等の広い範囲を、サーチ範囲とすることは、演算量の観点から困難であり、注目画素の位置を中心とするある程度狭い範囲を、サーチ範囲とする必要がある。このため、最初に検出される動きベクトルの精度には、ある程度の限界があり、その精度を向上させるために、上述したような、演算量の多いブロックマッチングを利用した動きベクトルの修正を再帰的に行う必要がある。
【００１１】
また、ブロックマッチングによる動きベクトルの検出精度を向上させるには、上述のようにサーチ範囲を広くする他、ブロックマッチングに用いるブロックの大きさも大きくする必要があるが、ブロックを大きくすると、やはり演算量が増加する。
【００１２】
さらに、ブロックマッチングは、注目フレームの注目画素について構成されるブロックと近似するブロックを、例えば、注目フレームの次のフレームからサーチする処理であるから、基本的に、注目フレームと、その次のフレームだけを用いて行われる。従って、例えば、ある一連の動画像を構成するすべてのフレームが既に蓄積されている場合であっても、ブロックマッチングでは、すべてのフレームを有効に利用することが困難であり、その結果、動きのあるオブジェクトの抽出精度が劣化する課題があった。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、少ない演算時間で、精度の高い動き検出を行い、さらに、これにより、例えば、動きのある部分や動きのない部分を、精度良く抽出することができるようにするものである。
【００１４】
【課題を解決するための手段】
本発明の画像処理装置は、注目画面の各画素に対応する複数の動きの方向を設定するとともに、注目画面の各画素を通り、時系列の複数の画面と交わる動き方向の直線を動き方向線として設定する方向設定手段と、方向設定手段により設定された動き方向線上にあり、３以上の所定数の時系列の複数の画面における画素の範囲を評価範囲として設定する範囲設定手段と、範囲設定手段により設定された評価範囲内の画素の画素値と注目画素の画素値とを用いて分散を演算し、演算された分散に基づいて、動きの方向に対応する評価値を演算する演算手段と、複数の動きの方向を、その複数の動きの方向それぞれに対応する評価値に基づいて加工することにより、所定の注目画面の各画素に対応する動きの方向を算出する算出手段とを備えることを特徴とする。
【００２７】
本発明の画像処理方法は、方向設定手段と、範囲設定手段と、演算手段と、算出手段とを備え、方向設定手段は、注目画面の各画素に対応する複数の動きの方向を設定するとともに、注目画面の各画素を通り、時系列の複数の画面と交わる動き方向の直線を動き方向線として設定し、範囲設定手段は、方向設定手段により設定された動き方向線上にあり、３以上の所定数の時系列の複数の画面における画素の範囲を評価範囲として設定し、演算手段は、範囲設定手段により設定された評価範囲内の画素の画素値と注目画素の画素値とを用いて分散を演算し、演算された分散に基づいて、動きの方向に対応する評価値を演算し、算出手段は、複数の動きの方向を、その複数の動きの方向それぞれに対応する評価値に基づいて加工することにより、所定の注目画面の各画素に対応する動きの方向を算出する。
【００２８】
本発明の記録媒体は、注目画面の各画素に対応する複数の動きの方向を設定するとともに、注目画面の各画素を通り、時系列の複数の画面と交わる動き方向の直線を動き方向線として設定する方向設定ステップと、方向設定ステップにより設定された動き方向線上にあり、３以上の所定数の時系列の複数の画面における画素の範囲を評価範囲として設定する範囲設定ステップと、範囲設定ステップにより設定された評価範囲内の画素の画素値と注目画素の画素値とを用いて分散を演算し、演算された分散に基づいて、動きの方向に対応する評価値を演算する演算ステップと、複数の動きの方向を、その複数の動きの方向それぞれに対応する評価値に基づいて加工することにより、所定の注目画面の各画素に対応する動きの方向を算出する算出ステップとを備えるプログラムが記録されていることを特徴とする。
【００４８】
本発明の画像処理装置および画像処理方法、並びに記録媒体においては、注目画面の各画素に対応する複数の動きの方向が設定されるとともに、注目画面の各画素を通り、時系列の複数の画面と交わる動き方向の直線が動き方向線として設定され、動き方向線上にあり、３以上の所定数の時系列の複数の画面における画素の範囲を評価範囲として設定され、評価範囲内の画素の画素値と注目画素の画素値とを用いて分散を演算し、演算された分散に基づいて、動きの方向に対応する評価値が演算され、複数の動きの方向が、その複数の動きの方向それぞれに対応する評価値に基づいて加工されることにより、所定の注目画面の各画素に対応する動きの方向が算出される。
【００５０】
【発明の実施の形態】
図１は、本発明を適用した画像処理装置の第１実施の形態のハードウェア構成例を示している。
【００５１】
この画像処理装置においては、ある一連の動画像を構成するすべてのフレームが一旦蓄積され、そのすべてのフレームを利用して、その中の所定の注目フレームにおける動きの方向を検出する動き検出処理が行われ、さらに、その動き方向の検出結果を用いて、蓄積された画像データに対して、所定の処理が施されるようになっている。
【００５２】
即ち、入力部１には、ある一連の動画像を構成する時系列のフレームの画像データ（例えば、４：２：２のＹＵＶ信号や、ＲＧＢ（Red, Green, Blue）信号など）が、順次入力されるように構成されており、入力部１は、その各フレームの画像データを、画像メモリ２に供給するように構成されている。画像メモリ２は、複数のフレームメモリを有し、入力部１から供給される一連の動画像を構成する複数のフレームすべての画像データを、一時記憶するように構成されている。
【００５３】
動き方向／評価範囲設定部３は、画像メモリ２に記憶された複数フレームの所定のフレームを、注目フレームとし、その注目フレームの各画素を、順次、注目画素として、その注目画素について、複数の動きの方向を順次設定するように構成されている。この注目画素について設定された複数の動きの方向Ｖｘ１は、遅延回路１２に順次供給される。
【００５４】
さらに、動き方向／評価範囲設定部３は、画像メモリ２に記憶された複数フレームの、注目画素について設定した動きの方向にある画素から、その動きの方向（動き方向）に対する評価値（設定された動きの方向が、注目画素の動きの方向として正しいかどうかを表す値）を演算するのに用いる画素の範囲（以下、適宜、評価範囲という）を、動きの方向に沿ってシフトしながら順次設定するようにも構成されている。そして、動き方向／評価範囲設定部３において設定された評価範囲内の画素は、画像メモリ２から読み出され、評価値演算部４に供給される。
【００５５】
評価値演算部４は、画像メモリ２から供給される評価範囲内の画素を用いて、動き方向／評価範囲設定部３で設定された注目画素についての動きの方向に対する評価値を演算し、演算器６および遅延回路１０に供給するように構成されている。
【００５６】
即ち、評価値演算部４は、例えば、注目画素の画素値と、評価範囲内の画素の画素値とを用いて、これらの画素値の分散を演算し、その逆数を、注目画素について設定された動きの方向に対する評価値α１として求めるように構成される。あるいは、評価値演算部４は、例えば、注目画素の画素値と、評価範囲内の画素の画素値との中から、動き方向上にある隣接する画素値どうしを順次選択して、それらの差分の２乗平均値等の、いわば画素の連続性を表すような値を演算し、その逆数を、注目画素について設定された動きの方向に対する評価値α１として求めるように構成される。なお、ここでは、動き方向／評価範囲設定部３で設定された動きの方向が、注目画素の動きの方向として正しい場合には、大きな値の評価値が、逆に正しくない場合には、小さな値の評価値が、それぞれ求められるように構成される。
【００５７】
評価値メモリ５は、注目フレームの各画素について、動き方向に対する評価値を記憶するように構成され、その記憶している評価値を、演算器６および８に出力するように構成される。さらに、評価値メモリ５は、注目フレームの各画素について既に記憶している動き方向に対する評価値を、遅延回路９から供給される動き方向に対する評価値の更新値に書き換えるように構成される。
【００５８】
演算器６には、上述したように、評価値演算部４で求められた注目画素についての動き方向に対する評価値α１と、評価値メモリ５に既に記憶されている注目画素についての動き方向に対する評価値α０とが供給される。演算器６は、これらの評価値α１とα０とを加算することで、評価値メモリ５に既に記憶されている注目画素についての動き方向に対する評価値を更新し、その更新した評価値α２を、演算器７および遅延回路９に供給する。
【００５９】
演算器７は、演算器６からの評価値の逆数を演算し、演算器８および演算器１１に供給する。演算器８は、演算器７の出力と、評価値メモリ５からの評価値α０とを乗算し、演算器１５に供給する。遅延回路９は、演算器６からの評価値α２を、所定の時間だけ遅延して、評価値メモリ５に供給する。遅延回路１０は、評価値演算器４で求められた評価値α１を、所定の時間だけ遅延して、演算器１１に供給する。演算器１１は、遅延回路１０の出力と、演算器７の出力とを乗算し、演算器１３に供給する。遅延回路１２は、動き方向／評価範囲設定部３から供給される動き方向を、所定の時間だけ遅延し、演算器１３に供給する。演算器１３は、演算器１１の出力と、遅延回路１２の出力とを乗算し、遅延回路１６に出力する。
【００６０】
動き方向メモリ１４は、注目フレームの各画素について、その動き方向を記憶するように構成され、その記憶している動き方向を、演算器１５に出力するように構成される。さらに、動き方向メモリ１４は、注目フレームの各画素について既に記憶している動き方向を、演算器１８から供給される動き方向の更新値に書き換えるようにも構成されている。
【００６１】
演算器１５は、動き方向メモリ１４に既に記憶されている注目画素についての動き方向Ｖｘ０と、演算器８の出力とを乗算し、遅延回路１７に出力する。遅延回路１６は、演算器１３の出力を、所定の時間だけ遅延し、演算器１８に供給する。遅延回路１７は、演算器１５の出力を、所定の時間だけ遅延して、演算器１８に供給する。演算器１８は、遅延回路１６の出力と、遅延回路１７の出力とを加算することにより、動き方向メモリ１４に既に記憶されている注目画素についての動き方向の更新値を求め、その更新された動き方向Ｖｘ２を、動き方向メモリ１４に供給する。
【００６２】
出力部１９は、動き方向メモリ１４に記憶された、注目フレームの各画素について最終的に得られた動き方向を読み出し、処理部２０に供給する。処理部２０には、さらに、画像メモリ２に記憶された画像データが供給され、処理部２０は、供給された画像データに対し、出力部１９からの動き方向を用いて所定の処理を施して出力する。
【００６３】
即ち、処理部２０は、出力部１９からの動き方向に基づいて、例えば、各フレームの対応する画素（画像の同一オブジェクトの一部分を構成する画素）を検出し、それらの画素を加算することにより、画像から、ノイズを除去する。また、処理部２０は、出力部１９からの動き方向に基づいて、例えば、各フレームの動きのない部分を検出し、その動きのない部分を構成する、各フレームの対応する画素どうしを加算することにより、背景の画像を生成する。
【００６４】
次に、以上のように構成される画像処理装置において行われる動き方向検出処理について説明する。但し、ここでは、説明を簡単にするために、例えば、図２に示すような、剛体としてのトラックが、一定方向としての左から右方向に、等速で移動している画像が表示された時系列の６０フレームを、動き方向検出処理の対象動画像とする。なお、動き方向検出処理の単位とするフレーム数を、少ないフレーム数とすれば、その少ないフレーム数の中では、剛体が、一定方向に、等速で移動していると仮定しても、大きな問題はない。
【００６５】
動き方向検出処理では、まず最初に、図３に示すように、図２に示した時系列の６０フレームのうちの所定のフレームが注目フレームとされる。ここで、図３では、第３１フレーム（先頭から３１フレーム目）が注目フレームとされている。
【００６６】
そして、注目フレームの各画素を、順次、注目画素として、その注目画素について、複数の動き方向が設定される。なお、ここでは、動き方向検出処理の対象とする画像に表示された剛体が、左から右に移動しているから、水平方向のみが注目される。注目画素と、注目フレームの次のフレーム（ここでは、第３２フレーム）の、注目画素と同一位置にある画素を中心として水平方向にある画素それぞれとを結ぶ直線の方向が、注目画素についての動き方向として、順次設定される。即ち、いま、第ｔフレームの、左からｘ番目で、下からｙ番目にある画素の座標を（ｔ，ｘ，ｙ）と表すものとし、この場合の注目フレームの注目画素の座標が、（Ｔ，Ｘ，Ｙ）と表されるとすると、第Ｔフレームの点（Ｔ，Ｘ，Ｙ）と、第Ｔ＋１フレームの点・・・，（Ｔ＋１，Ｘ−１，Ｙ），（Ｔ＋１，Ｘ，Ｙ），（Ｔ＋１，Ｘ＋１，Ｙ），・・・それぞれとを結ぶ直線の方向が、注目画素についての動き方向として、順次設定される。
【００６７】
具体的には、ここでは、例えば、注目フレームである第３１フレームの注目画素（３１，Ｘ，Ｙ）と、その次の第３２フレームの画素（３２，Ｘ−１６，Ｙ），（３２，Ｘ−１５，Ｙ），・・・，（３２，Ｘ，Ｙ），・・・，（３２，Ｘ＋１５，Ｙ），（３２，Ｘ＋１６，Ｙ）それぞれとを結ぶ３３の直線の方向が、注目画素（３１，Ｘ，Ｙ）についての動き方向として、順次設定される。ここで、注目画素（Ｔ，Ｘ，Ｙ）と、画素（Ｔ＋１，Ｘ＋ｍ，Ｙ）とを結ぶ直線の方向である動き方向Ｖｘは、ｍで表される。
【００６８】
なお、動き方向は、注目画素と、注目フレームの次のフレームの、注目画素に対応する画素を中心として水平方向にある画素だけでなく、垂直方向にある画素や斜め方向にある画素とを結ぶ直線の方向に設定することも可能である。即ち、注目画素（Ｔ，Ｘ，Ｙ）と、画素（Ｔ＋１，Ｘ＋ｍ，Ｙ＋ｎ）とを結ぶ直線の方向に設定することも可能である。この場合の動き方向Ｖは、（ｍ，ｎ）で表される。
【００６９】
注目画素について、ある動き方向が設定された場合、その注目画素を通る動き方向の直線は、図４に示すように、動き方向検出処理の対象である６０フレームの少なくとも一部のフレームの画素を通る。いま、この直線が通る画素を、動き方向にある画素（動き方向上の画素）というと、この動き方向上にある画素に基づいて、その動き方向に対する評価値（注目画素が、その動き方向に動いているとすることの正しさ）が演算される。そして、注目画素について設定された複数の動き方向が、それぞれの動き方向に対する評価値を重みとして重み付け加算されることにより、注目画素についての最終的な動き方向が求められる。
【００７０】
以上のような動き方向検出処理によれば、注目フレームの各画素について、その画素を通る直線上にある各フレームの画素に基づいて、その直線方向に動いていることの正しさを評価する評価値が求められる。従って、従来のオブジェクト抽出のように、各画素についてブロックが構成されることに起因して演算量が多くなるブロックマッチングによる評価値計算を行う場合に比較して、少ない演算量で、各画素の動き方向を得ることができる。
【００７１】
即ち、例えば、いま、動き方向検出処理において、注目フレームの、ある画素を通る直線上にある各フレームの画素数と、ブロックマッチングにおいて、注目フレームの、ある画素について構成されるブロックの画素数とがＮ個で、同一であるとすると、ブロックマッチングでは、評価値に相当する前述の予測誤差の計算に、ある画素について構成されるブロックのＮ個の画素と、近接フレームのブロックのＮ個の画素との２Ｎ個の画素が用いられるのに対して、動き方向検出処理では、評価値の計算に、Ｎ個の画素を用いるだけで済み、その結果、演算量が少なくなる。
【００７２】
また、動き方向検出処理では、注目画素について設定された動き方向が、それぞれの動き方向に対する評価値を重みとして重み付け加算されることにより、注目画素についての最終的な動き方向が求められる。従って、従来のオブジェクト抽出のように、評価値の計算を再帰的に行う必要がなく、このことによっても、演算量が少なくなる。
【００７３】
さらに、動き方向検出処理によれば、上述のように、６０フレームすべての画像データ、即ち、時間方向のデータを有効に利用して、注目フレームの各画素について、最終的な動き方向が求められるので、注目フレームと、近接フレームだけを利用してブロックマッチングが行われる従来のオブジェクト抽出に比較して、精度の高い、あるいは信頼性の高い動き方向を得ることができる。
【００７４】
なお、従来のオブジェクト抽出においても、注目フレームと、他のすべてのフレームそれぞれとの間でブロックマッチングを行い、そのブロックマッチングの結果得られる予測誤差を総合的に評価することにより、動き方向検出処理の場合と同様に、時間方向のデータを有効に利用して、精度または信頼性の高い動き方向を求めることが、理論的には可能である。しかしながら、注目している画素のフレームと、他のすべてのフレームそれぞれとの間でブロックマッチングを行うことは、演算量の観点からは非現実的であり、これに対して、動き方向検出処理によれば、上述のように、少ない演算量で、精度または信頼性の高い動き方向を得ることができる。
【００７５】
次に、図５のフローチャートを参照して、図１の画像処理装置が行う動き方向検出処理について、さらに説明する。
【００７６】
ステップＳ１では、入力部１に画像データが入力され、画像メモリ２に供給されて記憶される。そして、ステップＳ２に進み、図示せぬコントローラ等において、所定のフレーム数の画像データが、画像メモリ２に記憶されたか否かが判定され、まだ記憶されていないと判定された場合、ステップＳ１に戻り、次に入力される画像データを、画像メモリ２に供給して記憶させることを繰り返す。
【００７７】
また、ステップＳ２において、コントローラ等により、画像メモリ２に所定のフレーム数の画像データが記憶されたと判定された場合、注目フレームが設定され、ステップＳ３に進む。なお、注目フレームは、例えば、装置において、動きのある物体の全体が表示されているフレームを検出し、そのうちの１フレームに設定したり、また、ユーザに設定してもらうこと等が可能である。
【００７８】
ステップＳ３では、注目フレームの中のある画素が注目画素として設定され、ステップＳ４に進み、動き方向／評価範囲設定部３において、注目画素について、動き方向と、評価範囲とが設定される。
【００７９】
即ち、動き方向／評価範囲設定部３では、まず、注目画素について、動き方向が設定される。
【００８０】
ここで、注目画素を通る、動き方向の直線が、動き方向検出処理の対象とするフレームのうちの最初のフレーム（あるいは最初のフレームに最も近いフレーム）と交わる点と、最後のフレーム（あるいは最後のフレームに最も近いフレーム）と交わる点とを結ぶ線分を、以下、適宜、動き方向線という。また、その最初のフレーム（あるいは最初のフレームに最も近いフレーム）と交わる点、または最後のフレーム（あるいは最後のフレームに最も近いフレーム）と交わる点を、それぞれ、動き方向線の始点または終点という。
【００８１】
注目画素について、動き方向が設定されると、その動き方向に対して、図６に示すように、１つの動き方向線が決まる。そして、動き方向／評価範囲設定部３では、例えば、その動き方向線の始点のフレームから、所定数のフレーム（例えば、２０フレームなど）における、動き方向線上の画素の範囲が、評価範囲として設定される。
【００８２】
ここで、動き方向／評価範囲設定部３において、以上のようにして、評価範囲が設定されると、その評価範囲の画素を用いて、ステップＳ５乃至Ｓ８の処理が行われる。そして、ステップＳ９において、コントローラ等により、すべての動き方向の設定と、各動き方向についてのすべての評価範囲の設定とが、まだ終了していないと判定されると、ステップＳ４に戻り、まだ、処理の対象としていない動き方向と評価範囲の設定が行われる。この設定は、例えば、次のような順番で行われる。
【００８３】
即ち、動き方向／評価範囲設定部３では、最初に、図７（Ａ）に示すように、ある動き方向が設定され、その動き方向についての動き方向線Ｌ１の始点のフレームから、所定数のフレームにおける、動き方向線Ｌ１上の画素の範囲が、評価範囲として設定される。そして、その後は、図７（Ｂ）に示すように、他の動き方向が設定され、その動き方向についての動き方向線Ｌ２の始点のフレームから、所定数のフレームにおける、動き方向線Ｌ２上の画素の範囲が、評価範囲として設定される。以下、同様にして、まだ設定されていない動き方向について、その動き方向線の始点のフレームからの評価範囲が設定される。
【００８４】
そして、すべての動き方向について、その動き方向線の始点から、所定数のフレームにおける、動き方向線上の画素の範囲が、評価範囲として設定される。その後、再び、最初に設定された動き方向が設定され、その動き方向についての動き方向線Ｌ１上に、前回設定された評価範囲を、１フレーム分だけ終点方向にシフトした評価範囲が設定される。
【００８５】
即ち、図７（Ｃ）に示すように、動き方向線Ｌ１の始点のフレームの次のフレームから、所定数のフレームにおける、動き方向線Ｌ１上の画素の範囲が、評価範囲として設定される。その後は、図７（Ｄ）に示すように、図７（Ｂ）における場合と同一の動き方向が設定され、その動き方向についての動き方向線Ｌ２の始点のフレームの次のフレームから、所定数のフレームにおける、動き方向線Ｌ２上の画素の範囲が、評価範囲として設定される。以下、同様にして、まだ設定されていない動き方向と評価範囲の組み合わせの設定が、評価範囲の一端が、動き方向線の終点に到達するまで、繰り返し行われる。
【００８６】
ステップＳ４において、動き方向／評価範囲設定部３により、ある動き方向Ｖｘ１と評価範囲の組み合わせが設定されると、動き方向Ｖｘ１は、遅延回路１２に出力され、所定の時間だけ遅延されて、演算器１３に供給される。また、評価範囲の画素は、注目画素とともに、画像メモリ２から読み出され、評価値演算部４に供給される。
【００８７】
評価値演算部４では、ステップＳ５において、画像メモリ２からの評価範囲の画素と注目画素の分散が計算され、その逆数が、動き方向Ｖｘ１に対する評価値α１として出力される。この評価値α１は、演算器６に供給されるとともに、遅延回路１０を介して、演算器１１に供給される。
【００８８】
このとき、演算器６には、評価値メモリ５から、注目画素について記憶されている動き方向に対する評価値α０が供給される。演算器６は、この評価値α０と、評価値演算部４からの評価値α１とを加算することで、評価値メモリ５に記憶されていた評価値α０を更新し、その更新された評価値α２を求める。即ち、ここでは、式
α２＝α０＋α１
・・・（１）
にしたがって、評価値メモリ５に記憶されていた評価値α０が、評価値演算部４でいま求められた評価値α１を用いて、評価値α２に更新される。この更新後の評価値α２は、後述するようにして求められる動き方向の更新値Ｖｘ２に対する評価値として、遅延回路９を介して、評価値メモリ５に供給されるとともに、演算器７に供給される。
【００８９】
そして、ステップＳ６に進み、演算器７，８，１１，１３，１５、遅延回路１６および１７、並びに演算器１８で構成される回路において、動き方向メモリ１４に既に記憶されている注目画素についての動き方向Ｖｘ０が更新される。
【００９０】
即ち、演算器７では、演算器６が出力する更新後の評価値α２（＝α０＋α１）の逆数（１／α２＝１／（α０＋α１））が演算され、演算器８および１１に供給される。演算器８では、評価値メモリ５から、注目画素について記憶されている評価値α０が読み出され、演算器７の出力（１／（α０＋α１））と乗算される。この乗算結果（α０／（α０＋α１））は、演算器１５に供給される。また、演算器１１では、遅延回路１０からの、評価値演算部４で求められた評価値α１と、演算器７の出力（１／（α０＋α１））とが乗算され、その結果得られる乗算値（α１／（α０＋α１））が、演算器１３に供給される。
【００９１】
演算器１３では、遅延回路１３からの、動き方向／評価範囲設定部３で設定された動き方向Ｖｘ１と、演算器１１の出力（α１／（α０＋α１））とが乗算され、その乗算結果（α１／（α０＋α１）×Ｖｘ１）が、遅延回路１６を介して、演算器１８に供給される。
【００９２】
一方、演算器１５では、動き方向メモリ１４に記憶されている注目画素についての動き方向Ｖｘ０が読み出され、演算器８の出力（α０／（α０＋α１））と乗算される。この乗算結果（α０／（α０＋α１）×Ｖｘ０）は、遅延回路１７を介して、演算器１８に供給される。
【００９３】
演算器１８では、以上のようにして遅延回路１６と１７を介して供給される乗算結果どうし（α１／（α０＋α１）×Ｖｘ１）と、（α０／（α０＋α１）×Ｖｘ０）が加算され、その加算結果が、動き方向メモリ１４に記憶されていた注目画素についての動き方向Ｖｘ０の更新値Ｖｘ２として求められる。
【００９４】
従って、動き方向メモリ１４に記憶されていた注目画素についての動き方向Ｖｘ０は、その動き方向Ｖｘ０と、いま設定された動き方向Ｖｘ１とを、それぞれに対する評価値α０とα１を重みとして、次式で示すような重み付け加算することにより、動き方向Ｖｘ２に更新される。
【００９５】
Ｖｘ２＝α０／（α０＋α１）×Ｖｘ０＋α１／（α０＋α１）×Ｖｘ１
・・・（２）
【００９６】
そして、ステップＳ７に進み、式（２）にしたがって求められた動き方向Ｖｘ２は、演算器１８から、動き方向メモリ１４に供給され、動き方向メモリ１４に記憶されていた注目画素についての動き方向Ｖｘ０に替えて新たに記憶される（上書きされる）。この新たに記憶された動き方向Ｖｘ２は、注目画素について、動き方向と評価範囲が、新たに設定されたときに、動き方向メモリ１４に記憶されている注目画素についての動き方向Ｖｘ０として読み出され、更新の対象とされる。
【００９７】
その後、ステップＳ８に進み、式（１）にしたがって求められた評価値α２は、遅延回路９から、評価値メモリ５に供給され、評価値メモリ５に記憶されていた注目画素についての評価値α０に替えて新たに記憶される。この新たに記憶された評価値α２は、注目画素について、動き方向と評価範囲が、新たに設定されたときに、評価値メモリ５に記憶されている注目画素についての評価値α０として読み出され、やはり、更新の対象とされる。
【００９８】
そして、ステップＳ９に進み、コントローラ等により、すべての動き方向と評価範囲との組み合わせについて設定を行ったかどうかが判定され、まだ行っていないと判定された場合、ステップＳ４に戻り、まだ設定されていない動き方向と評価範囲との組み合わせについて、以下、同様の処理が繰り返される。
【００９９】
また、ステップＳ９において、コントローラ等により、すべての動き方向と評価範囲との組み合わせについて設定を行ったと判定された場合、ステップＳ１０に進み、コントローラ等により、注目フレームのすべての画素を注目画素として処理を行ったかどうかが判定される。ステップＳ１０において、コントローラ等が、注目フレームのすべての画素を注目画素として、まだ処理を行っていないと判定した場合、ステップＳ３に戻り、注目フレームの中の、まだ注目画素としていない画素を、新たに注目画素として、以下、同様の処理が繰り返される。
【０１００】
一方、ステップＳ１０において、コントローラ等が、注目画素のすべての画素を、注目画素として処理を行ったと判定した場合、即ち、注目フレームのすべての画素についての最終的な動き方向が、動き方向メモリ１４に記憶された場合、動き方向検出処理を終了する。
【０１０１】
以上のように、複数フレームに亘る、動き方向線上の画素によって、その動き方向に対する評価値を求め、評価値を、重みとして、動き方向の重み付け加算を行うことにより、各画素の最終的な動き方向を求めるようにしたので、与えられた全動画像を、時間方向に有効に利用して、注目画素の動き方向を、精度良く求めることが可能となる。従って、例えば、画像が、多少のノイズを有していても、精度の良い動き方向を求めることが可能となり、ロバスト（robust）性を向上させることができる。
【０１０２】
また、動き方向／評価範囲設定部３において設定される複数の動き方向を、各動き方向に対する評価値を重みとして足し込んでいくことで、より信頼性の高い動きベクトルを推定することが可能なため、従来のオブジェクト抽出のように、推定動きベクトルを、空間方向においてその周辺にある推定動きベクトルから修正し、その修正後の動きベクトルの評価値を求めるブロックマッチングを行うことを繰り返すという再帰的な処理を行う必要がなく、その結果、短時間で、最終的な動き方向を、精度良く求めることができる。
【０１０３】
なお、以上においては、評価範囲の大きさを、２０フレーム固定としたが、評価範囲の大きさは、例えば、その評価範囲の端点と注目画素との距離等に応じて変更するようにすることも可能である。
【０１０４】
また、評価範囲は、動き方向線上の始点から終点までを、１フレームずつシフトさせるようにしたが、評価範囲は、動き方向線上の一部の範囲の中をシフトさせても良く、さらに、シフト量は、２フレーム以上ずつにしても良い。
【０１０５】
さらに、評価値演算部４においては、評価範囲の画素の他、注目画素も含めて、分散を演算するようにしたが、評価値演算部４においては、評価範囲の画素のみの分散を求め、その逆数を、評価値とするようにすることも可能である。
【０１０６】
また、評価値メモリ５や、動き方向メモリ１４の初期値については、特に言及しなかったが、評価値メモリ５や、動き方向メモリ１４においては、上述したように、評価値や、動き方向が足し込まれていくので、極端に大きな値を設定しない限り、処理への影響はほとんどない。即ち、評価値メモリ５または動き方向メモリ１４それぞれの初期値を、例えば０とすると、最初は、動き方向／評価範囲設定部３で設定された評価範囲の画素から求められた評価値、または動き方向が記憶されることになり、その後は、順次設定される評価範囲の画素から求められた評価値、または動き方向が足し込まれていく。従って、その足し込みによって、最終的には、評価値メモリ５には、動き方向メモリ１４に記憶されている注目フレームの各画素についての動き方向に対する正当な評価値が、動き方向メモリ１４には、注目フレームの各画素についての正しい動き方向が、それぞれ記憶されることになる。
【０１０７】
次に、上述のような動き方向検出処理について本件発明者が行ったシミュレーション結果について説明する。
【０１０８】
シミュレーションでは、図２に示したような、静止している背景において、トラックが左から右方向に、約１４画素／フレームの等速度で移動している６０フレームのＹＵＶ（４：２：２）でなる動画像を対象とした。さらに、シミュレーションでは、その６０フレームのうちの第３１フレームを注目フレームとした。この注目フレームとした第３１フレームの画像を、図８に示す。
【０１０９】
さらに、シミュレーションでは、ＹＵＶのうちの輝度（Ｙ）のみを、動き方向検出処理に用い、動き方向／評価範囲設定部３では、動き方向Ｖｘ１を、−１６乃至１６の範囲の整数値に順次設定するようにした。
【０１１０】
以上の条件において、注目フレームの動きのある部分の画素、または動きのない部分の画素それぞれについての動き方向Ｖｘ１と、その動き方向Ｖｘ１に対する評価値との関係を、図９に示す。
【０１１１】
なお、図９（Ａ）は、動きのある部分の画素についての動き方向Ｖｘ１と評価値との関係を、図９（Ｂ）は、動きのない部分の画素についての動き方向Ｖｘ１と評価値との関係を、それぞれ示している。
【０１１２】
また、図９においては、１の動き方向Ｖｘ１に対して、複数の評価値（図９において、ひし形で示す部分）が示されているが、これは、１の動き方向Ｖｘ１については、その動き線上をシフトするように、複数の評価範囲が設定されるので、この複数の評価範囲からそれぞれ得られた評価値を図示してあるためである（図９において、１の動き方向Ｖｘ１に対して、１の評価値しか示されていないものもあるが、これは、複数の評価値が、重なっているためである）。
【０１１３】
図９においては、動きのある部分の画素については（図９（Ａ））、動き方向Ｖｘ１が１４画素／フレーム付近において、大きな評価値が得られており、また、動きのない部分の画素については（図９（Ｂ））、動き方向が０画素／フレーム付近において、大きな評価値が得られており、従って、各画素の真の動き方向付近において、大きな評価値が得られていることが分かる。さらに、このことにより、動き方向を、その動き方向に対する評価値を重みとして重み付け加算することで、各画素の真の動き方向にほぼ一致する動き方向が得られることが分かる。
【０１１４】
また、図１０（図１０（Ａ））は、図８に示した注目フレームを、各画素について最終的に求められた動き方向に対応した階調（明るさ）で表示したものを示している。なお、図１０において明るい部分は、動き方向の大きさが大きい部分（ここでは、水平方向への動きが大きい部分）を、暗い部分は動き方向の大きさが小さい部分（ここでは、水平方向への動きが小さい部分）を、それぞれ示している（灰色の部分は、動き方向の大きさが１４画素／フレームの部分を、黒色の部分は、動き方向の大きさが０画素／フレームの部分を示している）。図１０においては、トラックの形状が精度良く再現されており、従って、動き方向に基づいて、静止している背景と、動いている前景であるトラックとを精度良く分離することができることが分かる。
【０１１５】
なお、図１０（Ａ）に示してある動きのある部分または動きのない部分にそれぞれ対応して、同図（Ｂ）または同図（Ｃ）には、図９（Ａ）または図９（Ｂ）と同様に、その動きのある部分または動きのない部分の画素についての動き方向Ｖｘ１と評価値との関係を、それぞれ示してある。
【０１１６】
次に、図１１は、本発明を適用した画像処理装置の第２実施の形態の構成例を示している。なお、図中、図１における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１１の画像処理装置は、演算器７，８，１１，１３，１５、および１８、遅延回路１０，１６、および１７、並びに動き方向メモリ１４が削除され、動き方向算出部２１が新たに設けられている他は、基本的に、図１における場合と同様に構成されている。
【０１１７】
次に、図１２のフローチャートを参照して、図１１の画像処理装置が行う動き方向検出処理について説明する。
【０１１８】
この場合、ステップＳ２１乃至Ｓ２３において、図５のステップＳ１乃至Ｓ３における場合とそれぞれ同様の処理が行われ、ステップＳ２４に進み、動き方向／評価範囲設定部３において、注目画素について、動き方向と、評価範囲とが設定される。
【０１１９】
即ち、図１の画像処理装置では、図７で説明したように、ある動き方向が設定され、その動き方向について、ある評価範囲が設定された後は、他の動き方向が設定され、その動き方向について、評価範囲が設定されるといったように、動き方向が、前回設定されたものから変化するような順番で設定が行われるようになっていたが、図１１の画像処理装置では、ある動き方向が設定され、その動き方向について、ある評価範囲が設定された後は、その動き方向について、他の評価範囲が設定され（評価範囲がシフトされ）、以下、同様にして、その動き方向について、すべての評価範囲が設定された後に、他の動き方向が設定されるような順番で設定が行われる。
【０１２０】
従って、この場合、動き方向／評価範囲設定部３では、最初に、図７（Ａ）に示したように、ある動き方向が設定され、その動き方向についての動き方向線Ｌ１の始点のフレームから、所定数のフレームにおける、動き方向線Ｌ１上の画素の範囲が、評価範囲として設定される。そして、その後は、図７（Ｃ）に示したように、前回と同一の動き方向が設定され、その動き方向についての動き方向線Ｌ１の始点のフレームの次のフレームから、所定数のフレームにおける、動き方向線Ｌ１上の画素の範囲が、評価範囲として設定される。以下、同様の設定が、評価範囲の一端が動き方向線Ｌ１の終点に到達するまで行われる。
【０１２１】
そして、評価範囲の一端が、動き方向線Ｌ１の終点に到達すると、図７（Ｂ）に示したように、他の動き方向が設定され、その動き方向についての動き方向線Ｌ２の始点のフレームから、所定数のフレームにおける、動き方向線Ｌ２上の画素の範囲が、評価範囲として設定される。その後は、図７（Ｄ）に示したように、前回と同一の動き方向が設定され、その動き方向についての動き方向線Ｌ２の始点のフレームの次のフレームから、所定数のフレームにおける、動き方向線Ｌ２上の画素の範囲が、評価範囲として設定される。以下、同様の順番で、動き方向と評価範囲の設定が行われていく。
【０１２２】
ステップＳ２４において、ある動き方向Ｖｘ１と評価範囲が設定されると、動き方向Ｖｘ１は、遅延回路１２に出力され、所定の時間だけ遅延されて、動き方向算出部２１に供給される。また、評価範囲の画素は、注目画素とともに、画像メモリ２から読み出され、評価値演算部４に供給される。
【０１２３】
評価値演算部４では、ステップＳ２５において、画像メモリ２からの評価範囲の画素と、注目画素との分散が計算され、その逆数が、動き方向Ｖｘ１に対する評価値α１として出力される。この評価値α１は、演算器６に供給される。
【０１２４】
このとき、演算器６には、評価値メモリ５から、注目画素について記憶されている動き方向に対する評価値α０が供給されるようになっており、演算器６は、この評価値α０と、評価値演算部４からの評価値α１とを加算することで、即ち、式（１）にしたがって、評価値メモリ５に記憶されていた評価値α０を、評価値演算部４でいま求められた評価値α１を用いて、評価値α２に更新する。この更新後の評価値α２は、遅延回路９を介して、評価値メモリ５に供給される。
【０１２５】
そして、ステップＳ２６に進み、評価値メモリ５では、遅延回路９からの評価値α２が、そこに記憶されていた注目画素についての評価値α０に替えて新たに記憶される。この新たに記憶された評価値α２は、注目画素について、動き方向と評価範囲が、新たに設定されたときに、評価値メモリ５に記憶されている注目画素についての評価値α０として読み出され、更新の対象とされる。
【０１２６】
その後、ステップＳ２７に進み、コントローラ等により、すべての動き方向と評価範囲との組み合わせについて設定を行ったかどうかが判定され、まだ行っていないと判定された場合、ステップＳ２４に戻り、まだ設定されていない動き方向と評価範囲との組み合わせについて、以下、同様の処理が繰り返される。
【０１２７】
また、ステップＳ２７において、コントローラ等により、すべての動き方向と評価範囲との組み合わせについて設定を行ったと判定された場合、ステップＳ２８に進み、動き方向算出部２１において、注目画素についての最終的な動き方向が算出される。
【０１２８】
即ち、動き方向算出部２１には、遅延回路１２を介して、動き方向／評価範囲設定部３で設定された動き方向が供給されるとともに（なお、動き方向／評価範囲設定部３では、同一の動き方向が複数回設定されるが、動き方向算出部２１には、同一の動き方向については、１回だけ供給されるようになっている）、評価値メモリ５に記憶された各動き方向に対する評価値（式（１）にしたがって足し込みが行われたもの）が供給される。
【０１２９】
そして、動き方向算出部２１では、ステップＳ２８において、注目画素について、式（２）にしたがい、動き方向／評価範囲設定部３で設定された複数（種類）の動き方向が、評価値メモリ５からの、その動き方向に対する評価値を重みとして重み付け加算され、その重み付け加算結果が、最終的な動き方向として求められる。
【０１３０】
即ち、例えば、いま、説明を簡単にするために、３種類の動き方向Ｖ１，Ｖ２，Ｖ３と、それに対する評価値αＶ１，αＶ２，αＶ３を考えると、動き方向算出部２１では、式（３）または（４）にしたがって、最終的な動き方向Ｖｆｉｎａｌが求められる。
【０１３１】
Ｖ’＝αＶ１／（αＶ１＋αＶ２）×Ｖ１＋αＶ２／（αＶ１＋αＶ２）×Ｖ２
α’＝αＶ１＋αＶ２
Ｖｆｉｎａｌ＝α’／（α’＋αＶ３）×Ｖ’＋αＶ３／（α’＋αＶ３）×Ｖ３                                            ・・・（３）
0004496595.tif 000002
なお、式（３）と（４）とは、等価である。
【０１３２】
その後、ステップＳ２９に進み、コントローラ等により、注目フレームのすべての画素を注目画素として処理を行ったかどうかが判定される。ステップＳ２９において、コントローラ等により、注目フレームのすべての画素を注目画素として、まだ処理を行っていないと判定された場合、ステップＳ２３に戻り、注目フレームの中の、まだ注目画素としていない画素を、新たに注目画素として、以下、同様の処理が繰り返される。
【０１３３】
一方、ステップＳ２９において、コントローラ等により、注目画素のすべての画素を、注目画素として処理を行ったと判定された場合、即ち、注目フレームのすべての画素についての最終的な動き方向が、動き方向算出部２１において求められた場合、動き方向検出処理を終了する。
【０１３４】
なお、動き方向算出部２１で求められた注目フレームの各画素についての動き方向は、出力部１９によって読み出される。
【０１３５】
ここで、図１と図１１のいずれの画像処理装置においても、注目フレームの各画素について得られる動き方向は、基本的に、同一のものが得られる。但し、図１の場合と、図１１の場合とでは、動き方向検出処理を、コンピュータプログラムによって実現する場合に差異が生じる。
【０１３６】
即ち、図１１の画像処理装置による動き方向検出処理では、上述したように、動き方向を固定して、評価範囲を変えていくように、動き方向と評価範囲の設定が行われるため、ある動き方向に対して、異なる評価範囲の画素から求められる評価値が連続して得られる。この場合、動き方向は変わらないから、その同一の動き方向について、異なる評価範囲から求められた評価値を重みとして重み付け加算を行っても、その加算値は、元の動き方向と変わらない。従って、この場合、動き方向と評価範囲の組み合わせが、新たに設定されても、動き方向を更新する必要がない。しかしながら、注目画素についての最終的な動き方向が、動き方向と評価範囲のすべての組み合わせについて設定が行われてから求められるために、その最終的な動き方向を算出することができるようになるまで、注目画素について設定される各動き方向に対する評価値を記憶しておく必要がある。この場合、各動き方向に対する評価値を記憶しておくための配列変数が必要となる。この配列変数は、動き方向／評価範囲設定部３において設定される動き方向の数が多くなると大きくなる。
【０１３７】
これに対して、図１の画像処理装置による動き方向検出処理では、動き方向と評価範囲の組み合わせが、新たに設定されるごとに、注目画素についての動き方向（動き方向メモリ１４に記憶された動き方向）が順次更新される。従って、注目画素についての最終的な動き方向は、動き方向と評価範囲のすべての組み合わせについて設定が行われた後に求まっているから、図１１における場合のように、注目画素について設定される各動き方向に対する評価値を記憶しておく必要はない。
【０１３８】
即ち、注目画素について設定される動き方向に対する評価値は、その動き方向に基づいて、動き方向メモリ１４に記憶されている動き方向を更新するときの重みとして用いられるから、この更新が逐次行われる図１の場合には、注目画素について設定された動き方向に対する評価値は、動き方向の更新に用いた後は必要なくなり、記憶しておく必要がない。従って、図１１における場合のような、動き方向／評価範囲設定部３において設定される動き方向の数に対応して大きさの変動する配列変数が必要ないため、その分、コンピュータプログラムを、容易に作成することが可能となる。
【０１３９】
次に、図１３は、本発明を適用した画像処理装置の第３実施の形態の構成例を示している。なお、図中、図１における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１３の画像処理装置は、動き方向メモリ１４と、出力部１９との間に、２値化部３１が新たに設けられている他は、図１における場合と同様に構成されている。
【０１４０】
２値化部３１は、動き方向メモリ１４に記憶された、注目フレームの各画素についての最終的な動き方向に基づいて、動きのある部分と、動きのない部分とを判定するようになっている。即ち、２値化部３１は、例えば、動き方向メモリ１４に記憶された動き方向を、所定の閾値と比較することにより２値化することで、注目フレームから、動きのある部分と、動きのない部分とを分離する。そして、この動きのある部分と、動きのない部分それぞれを構成する画素の座標を、出力部１９に供給する。
【０１４１】
ここで、所定の閾値としては、例えば、注目フレームの各画素の動き方向の平均値や、各画素の動き方向のヒストグラムの面積が略２等分される動き方向等を用いることができる。
【０１４２】
上述したように、動き方向メモリ１４に記憶された、注目フレームの各画素についての最終的な動き方向は、精度が高く、そのような精度の高い動きの方向に基づいて、動きのある部分と、動きのない部分とを判定することで、注目フレームから、動きのある部分、即ち動きオブジェクトと、動きのない部分、即ち静止オブジェクトとを精度良く分離することができる。
【０１４３】
なお、本実施の形態では、フレーム単位で処理を行うようにしたが、フィールド単位で処理を行うようにすることも可能である。
【０１４４】
また、本実施の形態では、注目画素について設定された動き方向に対する評価値を、その動き線上にある画素のみを用いて求めるようにしたが、その他、例えば、動き線上にある画素を中心とする所定の大きさのブロック（例えば、３×３画素のブロックなど）内にある画素を用いて求めるようにすることも可能である。この場合、ロバスト性をより向上させることができる。
【０１４５】
さらに、本実施の形態では、動き方向メモリ１４に記憶された最終的な動き方向に基づいて、処理部２０や２値化部３１で処理を行うようにしたが、処理部２０や２値化部３１での処理は、動き方向メモリ１４に記憶された最終的な動き方向だけでなく、評価値メモリ５に最終的に記憶される、最終的な動き方向に対する評価値を用いて行うようにしても良い。即ち、処理部２０や２値化部３１での処理は、例えば、評価値の高い動き方向のみを用いて行うようにすることが可能である。
【０１４６】
また、本実施の形態では、注目画素を通る動き方向の直線上にある画素を用いて、その動き方向に対する評価値を求めるようにしたが、注目画素を通り、動き方向を接線方向とする任意の曲線上にある画素を用いて、評価値を求めるようにすることも可能である。この場合、変形する物体の動き方や、速度を変えながら移動している物体の動き等の検出が可能となる。
【０１４７】
また、本実施の形態では、動き方向線に対し、評価範囲を設定し、これにより、１の動き方向に対して、複数の評価値を求めるようにしたが、評価値は、評価範囲を設定せずに、動き方向線上のすべての画素を用いて求めるようにする。即ち、１の動き方向に対して、１の評価値を求めるようにすることも可能である。但し、動き方向によっては、その動き方向線上の画素の、例えば半分程度が、前景（動きのない部分）を構成し、残りが全景（動きのある部分）を構成する場合があり、この場合、動き方向線上のすべての画素を用いて、動き方向に対する評価値を求めると、その評価値は、ある程度大きくなる。即ち、動き方向線上のすべての画素を用いると、その動き方向が正しくなくても、評価値が大きくなる。従って、動き方向に対する評価値は、その動き方向線上に、上述したような評価範囲を設定し、各評価範囲について求めるようにするのが好ましい。
【０１４８】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１４９】
そこで、図１４は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１５０】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０１５１】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１５２】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０１５３】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０１５４】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１５５】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１５６】
【発明の効果】
本発明の画像処理装置および画像処理方法、並びに記録媒体によれば、注目画面の各画素に対応する複数の動きの方向が設定されるとともに、注目画面の各画素を通り、時系列の複数の画面と交わる動き方向の直線が動き方向線として設定され、動き方向線上にあり、３以上の所定数の時系列の複数の画面における画素の範囲を評価範囲として設定され、評価範囲内の画素の画素値と注目画素の画素値とを用いて分散を演算し、演算された分散に基づいて、動きの方向に対応する評価値が演算され、複数の動きの方向が、その複数の動きの方向それぞれに対応する評価値に基づいて加工されることにより、所定の注目画面の各画素に対応する動きの方向が算出される。従って、少ない演算時間で、精度の高い動き検出を行うことが可能となる。
【０１５７】
さらに、その算出された動きの方向に基づいて、動き部の有無を判定することにより、画像から、動きのある部分やない部分を、精度良く抽出することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した画像処理装置の第１実施の形態の構成例を示すブロック図である。
【図２】図１の画像処理装置の処理対象とする動画像を説明するための図である。
【図３】注目フレームと、それを構成する画素に設定される動き方向を示す図である。
【図４】注目フレームを構成する画素に設定される動き方向を示す図である。
【図５】図１の画像処理装置による動き方向検出処理を説明するためのフローチャートである。
【図６】動き方向線と評価範囲を説明するための図である。
【図７】動き方向／評価範囲設定部３による動き方向と評価範囲の設定の順番を説明するための図である。
【図８】シミュレーションに用いた画像の中の注目フレームを示すディスプレイ上に表示された中間階調の写真である。
【図９】シミュレーションにより得られた動き方向と評価値との関係を示す図である。
【図１０】シミュレーション結果を示すディスプレイ上に表示された中間階調の写真である。
【図１１】本発明を適用した画像処理装置の第２実施の形態の構成例を示すブロック図である。
【図１２】図１１の画像処理装置による動き方向検出処理を説明するためのフローチャートである。
【図１３】本発明を適用した画像処理装置の第３実施の形態の構成例を示すブロック図である。
【図１４】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  入力部，  ２  画像メモリ，  ３  動き方向／評価範囲設定部，  ４  評価値演算部，  ５  評価値メモリ，  ６乃至８  演算器，  ９，１０  遅延回路，  １１  演算器，  １２  遅延回路，  １３  演算器，  １４  動き方向メモリ，  １５  演算器，  １６，１７  遅延回路，  １８  演算器，  １９  出力部，  ２０  処理部，  ２１  動き方向算出部，  ３１  ２値化部，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
0004496595.tif 000003
【図２】
0004496595.tif 000004
【図３】
0004496595.tif 000005
【図４】
0004496595.tif 000006
【図５】
0004496595.tif 000007
【図６】
0004496595.tif 000008
【図７】
0004496595.tif 000009
【図８】
0004496595.tif 000010
【図９】
0004496595.tif 000011
【図１０】
0004496595.tif 000012
【図１１】
0004496595.tif 000013
【図１２】
0004496595.tif 000014
【図１３】
0004496595.tif 000015
【図１４】
0004496595.tif 000016