(57)【特許請求の範囲】
【請求項１】
動画像の局所的な動きを検出する画像処理装置において、
入力される現フレームの静止画像の各画素を順に中心画素とし、現フレームの静止画像から前記中心画素を中心とする複数の画素から成る所定サイズの画素ブロックを抽出し、前記画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、前記中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルを演算する写像ベクトル演算手段と、
前記現フレームの静止画像の各画素を順に注目画素とし、前記注目画素に対応する前記写像ベクトルと、前記注目画素の近傍に位置する各画素に対応する前記写像ベクトルとの平行度を示す値として外積を演算する平行度演算手段と、
前記注目画素の近傍に位置する複数の画素にそれぞれ対応する前記外積の絶対値の総和を、前記注目画素の評価値として演算する評価値演算手段と、
前記注目画素の前記評価値が所定の閾値よりも大きい場合、前記注目画素をコーナ部分に分類し、前記注目画素の前記評価値が所定の閾値以下である場合、前記注目画素を平坦部分に分類する分類手段と、
前記現フレームの静止画像の画素のうち、前記コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルを検出するブロックマッチング手段と
を備える画像処理装置。
【請求項２】
動画像の局所的な動きを検出する画像処理装置の画像処理方法において、
入力される現フレームの静止画像の各画素を順に中心画素とし、現フレームの静止画像から前記中心画素を中心とする複数の画素から成る所定サイズの画素ブロックを抽出し、前記画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、前記中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルを演算する写像ベクトル演算ステップと、
前記現フレームの静止画像の各画素を順に注目画素とし、前記注目画素に対応する前記写像ベクトルと、前記注目画素の近傍に位置する各画素に対応する前記写像ベクトルとの平行度を示す値として外積を演算する平行度演算ステップと、
前記注目画素の近傍に位置する複数の画素にそれぞれ対応する前記外積の絶対値の総和を、前記注目画素の評価値として演算する評価値演算ステップと、
前記注目画素の前記評価値が所定の閾値よりも大きい場合、前記注目画素をコーナ部分に分類し、前記注目画素の前記評価値が所定の閾値以下である場合、前記注目画素を平坦部分に分類する分類ステップと、
前記現フレームの静止画像の画素のうち、前記コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルを検出するブロックマッチングステップと
を含む画像処理方法。
【請求項３】
動画像の局所的な動きを検出する画像処理装置の制御用のプログラムであって、
入力される現フレームの静止画像の各画素を順に中心画素とし、現フレームの静止画像から前記中心画素を中心とする複数の画素から成る所定サイズの画素ブロックを抽出し、前記画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、前記中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルを演算する写像ベクトル演算ステップと、
前記現フレームの静止画像の各画素を順に注目画素とし、前記注目画素に対応する前記写像ベクトルと、前記注目画素の近傍に位置する各画素に対応する前記写像ベクトルとの平行度を示す値として外積を演算する平行度演算ステップと、
前記注目画素の近傍に位置する複数の画素にそれぞれ対応する前記外積の絶対値の総和を、前記注目画素の評価値として演算する評価値演算ステップと、
前記注目画素の前記評価値が所定の閾値よりも大きい場合、前記注目画素をコーナ部分に分類し、前記注目画素の前記評価値が所定の閾値以下である場合、前記注目画素を平坦部分に分類する分類ステップと、
前記現フレームの静止画像の画素のうち、前記コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルを検出するブロックマッチングステップと
を含む処理を画像処理装置のコンピュータに実行させるコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、動画像の局所的な動きを検出する画像処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来、動画像の動きを推定する方法として、ブロックマッチング処理が知られている。ブロックマッチング処理においては、現フレーム画像に注目画素を中心とする所定の画素ブロック（以下、ブロックＡと記述する）を設定し、次フレーム画像に、ブロックＡよりも大きいサーチブロックを設定して、その中でブロックＡと同じサイズのブロック（以下、ブロックＢと記述する）を移動して、ブロックＡと最もマッチングするブロックＢの位置を決定することにより、現フレーム画像の中の注目画素の動きを推定している。
【０００３】
【発明が解決しようとする課題】
ところで、このブロックマッチング処理は、画像内の物体の輪郭のような特徴がある部分の動きは正確に推定することができるが、画像内の画素値の変化が平坦である部分（例えば、平行移動する大きな物体の内部等）に対しては、正確な動きを推定することができない課題があった。
【０００４】
しかしながら、従来においては、画像内の画素値の変化が平坦である部分を含む全ての画素を順次、注目画素としているので、画像の動き推定に要する時間が長くなる課題があった。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、画像の中の輪郭に対してのみブロックマッチング処理を行うことにより、動き推定に要する時間を短縮できるようにするものである。
【０００６】
【課題を解決するための手段】
本発明の画像処理装置は、入力される現フレームの静止画像の各画素を順に中心画素とし、現フレームの静止画像から中心画素を中心とする複数の画素から成る所定サイズの画素ブロックを抽出し、画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルを演算する写像ベクトル演算手段と、現フレームの静止画像の各画素を順に注目画素とし、注目画素に対応する写像ベクトルと、注目画素の近傍に位置する各画素に対応する写像ベクトルとの平行度を示す値として外積を演算する平行度演算手段と、注目画素の近傍に位置する複数の画素にそれぞれ対応する外積の絶対値の総和を、注目画素の評価値として演算する評価値演算手段と、注目画素の評価値が所定の閾値よりも大きい場合、注目画素をコーナ部分に分類し、注目画素の評価値が所定の閾値以下である場合、注目画素を平坦部分に分類する分類手段と、現フレームの静止画像の画素のうち、コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルを検出するブロックマッチング手段とを備える。
【０００７】
本発明の画像処理方法は、入力される現フレームの静止画像の各画素を順に中心画素とし、現フレームの静止画像から中心画素を中心とする複数の画素から成る所定サイズの画素ブロックを抽出し、画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルを演算する写像ベクトル演算ステップと、現フレームの静止画像の各画素を順に注目画素とし、注目画素に対応する写像ベクトルと、注目画素の近傍に位置する各画素に対応する写像ベクトルとの平行度を示す値として外積を演算する平行度演算ステップと、注目画素の近傍に位置する複数の画素にそれぞれ対応する外積の絶対値の総和を、注目画素の評価値として演算する評価値演算ステップと、注目画素の評価値が所定の閾値よりも大きい場合、注目画素をコーナ部分に分類し、注目画素の評価値が所定の閾値以下である場合、注目画素を平坦部分に分類する分類ステップと、現フレームの静止画像の画素のうち、コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルを検出するブロックマッチングステップとを含む。
【０００８】
本発明の記録媒体は、入力される現フレームの静止画像の各画素を順に中心画素とし、現フレームの静止画像から中心画素を中心とする複数の画素から成る所定サイズの画素ブロックを抽出し、画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルを演算する写像ベクトル演算ステップと、現フレームの静止画像の各画素を順に注目画素とし、注目画素に対応する写像ベクトルと、注目画素の近傍に位置する各画素に対応する写像ベクトルとの平行度を示す値として外積を演算する平行度演算ステップと、注目画素の近傍に位置する複数の画素にそれぞれ対応する外積の絶対値の総和を、注目画素の評価値として演算する評価値演算ステップと、注目画素の評価値が所定の閾値よりも大きい場合、注目画素をコーナ部分に分類し、注目画素の評価値が所定の閾値以下である場合、注目画素を平坦部分に分類する分類ステップと、現フレームの静止画像の画素のうち、コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルを検出するブロックマッチングステップとを含む処理を画像処理装置のコンピュータに実行させるコンピュータが読み取り可能なプログラムが記録されている。
【０００９】
本発明においては、入力される現フレームの静止画像の各画素が順に中心画素とされ、現フレームの静止画像から中心画素を中心とする複数の画素から成る所定サイズの画素ブロックが抽出され、画素ブロックに含まれる複数の画素の画素値のｘ方向の傾きをｘ成分、ｙ方向の傾きをｙ成分とする、中心画素の画素値の最大傾斜の方向ベクトルのｘｙ平面への写像である写像ベクトルが演算される。また、現フレームの静止画像の各画素が順に注目画素とされ、注目画素に対応する写像ベクトルと、注目画素の近傍に位置する各画素に対応する写像ベクトルとの平行度を示す値として外積が演算され、注目画素の近傍に位置する複数の画素にそれぞれ対応する外積の絶対値の総和が、注目画素の評価値として演算される。さらに、注目画素の評価値が所定の閾値よりも大きい場合、注目画素がコーナ部分に分類され、注目画素の評価値が所定の閾値以下である場合、注目画素が平坦部分に分類される。そして、現フレームの静止画像の画素のうち、コーナ部分に分類された画素に対してだけ、次フレームの静止画像とのブロックマッチング処理により動きベクトルが検出される。
【００１０】
【発明の実施の形態】
以下に本発明の実施の形態を説明する。
【００１２】
本発明を適用した動き推定装置の構成例について、図１を参照して説明する。この動き推定装置においては、入力された画像がフレームメモリ１、および動き量検出部５に供給される。フレームメモリ１は、供給された画像を記憶し、記憶した画像を１フレーム分ずつコーナ検出部２、および遅延部４に出力する。コーナ検出部２は、フレームメモリ１から入力された画像内のコーナ部分を検出し、画像の各画素毎に、コーナであるか否かを示す情報をコーナメモリ３に記憶させる。
【００１３】
遅延部４は、フレームメモリ１から供給された画像を、コーナ検出部２における処理に要する時間だけ遅延して動き量検出部５に出力する。したがって、動き量検出部５には、時間的に前後する２フレームの画像が入力される。動き量検出部５は、コーナメモリ３に記憶されている情報を読み出して、遅延部４から入力された画像の中のコーナ部分だけに対して、ブロックマッチング処理を実行し、その結果を動き量メモリ６に記憶させる。
【００１４】
次に、この動き推定装置の動作について、図２のフローチャートを参照して説明する。この動き推定処理は、画像データがフレームメモリ１を介してコーナ検出部２に供給されたときに開始される。
【００１５】
ステップＳ１において、コーナ検出部２は、ブロックマッチング処理において正確な動きを推定できるコーナ部分を、入力された画像から検出する。このコーナ検出処理の詳細について、図３のフローチャートを参照して説明する。
【００１６】
ステップＳ１１において、コーナ検出部２は、入力された画像ｆ（例えば、図４に示すトラックの画像）にソーベル演算子（図５）を作用させて、画像ｆのｘ方向微分画像ｆｘ、およびｙ方向微分画像ｆｙを生成する。すなわち、コーナ検出部２は、画像ｆの全ての画素を、順次、注目画素として、注目画素（例えば、図６の画素Ｐ1）を中心とする３×３画素の９個の画素値Ｐ1乃至Ｐ9と、図５(A)に示したソーベル演算子の対応する値との積の和
０×Ｐ1＋２×Ｐ2＋１×Ｐ3＋０×Ｐ4−１×Ｐ5−２×Ｐ6−１×Ｐ7
＋０×Ｐ8＋１×Ｐ9
を、注目画素に対応するｘ方向微分画像ｆｘの画素の画素値として、ｘ方向微分画像ｆｘを生成し、図５(B)に示したソーベル演算子の対応する値との積の総和
０×Ｐ1＋０×Ｐ2＋１×Ｐ3＋２×Ｐ4＋１×Ｐ5＋０×Ｐ6−１×Ｐ7
−２×Ｐ8−１×Ｐ9
を、注目画素に対応するｙ方向微分画像ｆｙの画素の画素値として、ｙ方向微分画像ｆｙを生成する。
【００１７】
ここで、微分画像ｆｘ，ｆｙについて説明する。画像ｆの座標（ｘ，ｙ）に位置する画素に対応するｘ方向微分画像ｆｘの画素の画素値ｆｘ（ｘ，ｙ）と、ｙ方向微分画像ｆｙの画素の画素値ｆｙ（ｘ，ｙ）を、それぞれ、ｘ成分、ｙ成分とするベクトル（ｆｘ（ｘ，ｙ），ｆｙ（ｘ，ｙ））を考える。このベクトルは、図７に示すように、画像ｆの座標（ｘ，ｙ）における画素値（例えば、輝度）の最大傾斜の方向ベクトル（画像ｆの等画素値線から構成される曲面と直交する方向ベクトル）のｘｙ平面への写像である。
【００１８】
したがって、画像ｆの座標（ｘ，ｙ）の画素に対応するベクトル（ｆｘ（ｘ，ｙ），ｆｙ（ｘ，ｙ））と、その近傍の座標（ｘ＋Δｘ，ｙ＋Δｙ）の画素に対応するベクトル（ｆｘ（ｘ＋Δｘ，ｙ＋Δｙ），ｆｙ（ｘ＋Δｘ，ｙ＋Δｙ））との外積の値
ｆｘ（ｘ，ｙ）ｆｙ（ｘ＋Δｘ，ｙ＋Δｙ）
−ｆｙ（ｘ，ｙ）ｆｘ（ｘ＋Δｘ，ｙ＋Δｙ）
を用いることにより、画像ｆの座標（ｘ，ｙ）の近傍の画素値の平坦性を判定することが可能となる。
【００１９】
ステップＳ１２において、コーナ検出部２は、画素の座標を示すパラメータ（ｉ，ｊ）を（０，０）に初期化する。但し、ｉ＝０乃至ｉmax（画像ｆの横幅）であり、ｊ＝０乃至ｊmax（画像ｆの縦幅）である。
【００２０】
ステップＳ１３において、コーナ検出部２は、座標（ｉ，ｊ）が最大値（ｉmax，ｊmax）であるか否かを判定し、最大値（ｉmax，ｊmax）ではないと判定した場合、ステップＳ１４に進む。
【００２１】
ステップＳ１４において、コーナ検出部２は、次式のように、画像ｆの座標（ｉ，ｊ）に位置する画素（例えば、図６の画素Ｐ1）に対応するベクトル（ｆｘ（ｉ，ｊ），ｆｙ（ｉ，ｊ））と、その近傍の２４個の画素（画素Ｐ2乃至Ｐ25）に対応するベクトル（ｆｘ（ｉ＋α，ｊ＋β），ｆｙ（ｉ＋α，ｊ＋β））との外積の絶対値の総和からなる評価値を演算する。
評価値＝Σ｜ｆｘ（ｉ，ｊ）・ｆｙ（ｉ＋α，ｊ＋β）
−ｆｙ（ｉ，ｊ）・ｆｘ（ｉ＋α，ｊ＋β）｜
ただし、α，β＝−２乃至２である。
【００２２】
例えば、画像ｆの座標（ｉ，ｊ）に位置する画素に対応するベクトルと、その近傍の２４個の画素に対応するベクトルが全て平行である場合、評価値は０となる。
【００２３】
ステップＳ１５において、コーナ検出部２は、ステップＳ１４で演算した評価値が所定の閾値よりも大きいか否かを判定する。評価値が所定の閾値よりも大きいと判定された場合、ステップＳ１６に進む。
【００２４】
ステップＳ１６において、コーナ検出部２は、画像ｆの座標（ｉ，ｊ）の画素をコーナ部分に識別し、座標（ｉ，ｊ）と評価値を対応づけてコーナメモリ３に記憶させる。
【００２５】
ステップＳ１７において、座標（ｉ，ｊ）を１だけインクリメントして、ステップＳ１３に戻り、それ以降の処理を繰り返す。
【００２６】
ステップＳ１５において、評価値が所定の閾値よりも大きくないと判定された場合、ステップＳ１８に進む。
【００２７】
ステップＳ１８において、コーナ検出部２は、画像ｆの座標（ｉ，ｊ）の画素を平坦部分に識別し、その情報をコーナメモリ３に記憶させる。
【００２８】
図８は、コーナメモリ３に記憶された情報（画像）を示している。同図から明らかなように、コーナメモリ３に記憶された情報（画像）は、原画像のコーナ部分だけを表すものとなる。なお、図９に示すような、評価値を２値化した画像をコーナメモリ３に記憶させるようにしてもよい。
【００２９】
ステップＳ１３において、座標（ｉ，ｊ）が最大値（ｉmax，ｊmax）であると判定された場合、図２のステップＳ２にリターンする。
【００３０】
ステップＳ２において、動き量検出部５は、コーナメモリ３に記憶されている情報（例えば、図８に示すようなコーナ部分だけを示す画像）を参照し、遅延部４から入力された画像のコーナ部分とされた画素に対してだけ、次フレームの画像（図４に示した画像に比べて、トラックが左に移動した画像）とのブロックマッチング処理を実行して、その結果を動き量メモリ６に記憶させる。
【００３１】
次に、本発明と従来技術の結果を比較する。図１０は、動き量メモリ６に記憶された動き推定処理の結果を表す画像である。同図において、濃灰色の領域（トラック）は、図の左方向への動きが検出された領域を表し、薄灰色の領域（背景の模様）は、静止している領域を表し、黒色の領域（トラックおよび背景の模様以外部分）は、ブロックマッチング処理を実行していない領域を表している。なお、この出力結果を得るために要した時間は２６秒である。
【００３２】
これに対して、図１１は、従来の方法、すなわち、全ての画素に対してブロックマッチング処理を実行した結果を示す画像である。同図においても同様に、濃灰色の領域（トラック）は、図の左方向への動きが検出された領域を表し、薄灰色の領域（背景）は、静止している領域を表し、白色の領域（画像に点在）は、図の右方向への動きが検出された領域、すなわち、誤検出（エラー）が発生した領域を表している。なお、本発明と同じ条件（サーチブロックのサイズ等）の下で、この出力結果を得るために要した時間は９０秒である。
【００３３】
このように、本発明においては、動き推定の精度が低いと思われる平坦部分を除外してブロックマッチング処理を実行することにより、誤検出（エラー）の発生を抑止して、短時間で動き推定を行うことが可能となる。
【００３４】
なお、本発明は、例えば、動き補償を用いて動画像を圧縮符号化する画像符号化装置等に適用することが可能である。
【００３５】
また、本実施の形態においては、評価値を求めるために、画素値の最大傾斜の方向ベクトルのｘｙ平面への写像（２次元ベクトル）の外積を用いたが、画素値の最大傾斜の方向ベクトル（３次元ベクトル）の外積を用いるようにしてもよい。
【００３６】
なお、上記各処理を行うコンピュータプログラムは、磁気ディスク、CD-ROM等の情報記録媒体よりなる提供媒体のほか、インターネット、デジタル衛星などのネットワーク提供媒体を介してユーザに提供することができる。
【００３７】
【発明の効果】
以上のように、本発明によれば、動き推定に要する時間を短縮することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した動き推定装置の構成例を示すブロック図である。
【図２】動き推定装置の動き推定処理を説明するフローチャートである。
【図３】図２のステップＳ１のコーナ検出処理を説明するフローチャートである。
【図４】現フレームの画像をディスプレイ上に表示した中間調画像の写真である。
【図５】ソーベル演算子を説明する図である。
【図６】画素の配置を示す図である。
【図７】最大傾斜の方向ベクトルを説明する図である。
【図８】コーナ検出処理の結果を示す画像をディスプレイ上に表示した中間調画像の写真である。
【図９】コーナ検出処理の結果を２値化した画像をディスプレイ上に表示した中間調画像の写真である。
【図１０】動き推定処理の結果を示す画像をディスプレイ上に表示した中間調画像の写真である。
【図１１】従来の全ての画素に対するブロックマッチング処理の結果を示す画像をディスプレイ上に表示した中間調画像の写真である。
【符号の説明】
１  フレームメモリ，  ２  コーナ検出部，  ３  コーナメモリ，  ４  遅延部，  ５  動き量検出部，  ６  動き量メモリ
【図１】
0004235855.tif 000002
【図２】
0004235855.tif 000003
【図３】
0004235855.tif 000004
【図４】
0004235855.tif 000005
【図５】
0004235855.tif 000006
【図６】
0004235855.tif 000007
【図７】
0004235855.tif 000008
【図８】
0004235855.tif 000009
【図９】
0004235855.tif 000010
【図１０】
0004235855.tif 000011
【図１１】
0004235855.tif 000012