(57)【特許請求の範囲】
【請求項１】
時間的に前後関係を有する第１、第２の画像中に存在する対象領域についてブロックマッチングを用いて動きベクトルを推定する動きベクトル推定方法において、
上記第１の画像中の動きベクトルを求めたいテンプレートブロックと、第２の画像中の探査範囲内にあるテンプレートの移動先候補のブロックとを、それぞれ第１、第２のブロックとし、第１のブロックを利用して対象領域画素であることを濃淡値で示すマスク画像を第３のブロックとする工程と、
上記第１、第２のブロック間の各画素の誤差と上記第３のブロックの各画素とを乗算した値の全要素の総和を指標とする工程と、
上記第１のブロックに対してもっとも一致する上記第２のブロックの位置を探査する工程とを有し、
上記マスク画像は、上記第１のブロック内に存在する対象領域の色に着目して該マスク画像を生成することを特徴とする動きベクトル推定方法。
【請求項２】
時間的に前後関係を有する第１、第２の画像中に存在する対象領域についてブロックマッチングを用いて動きベクトルを推定する処理を行う画像処理装置において、
上記第１の画像中の動きベクトルを求めたいテンプレートブロックと、第２の画像中の探査範囲内にあるテンプレートの移動先候補のブロックとを、それぞれ第１、第２のブロックとし、第１のブロックを利用して対象領域画素であることを濃淡値で示すマスク画像を第３のブロックとして生成する配列生成手段と、
上記第１、第２のブロック間の各画素の誤差と上記第３のブロックの各画素とを乗算した値の全要素の総和を計算して指標とする指標生成手段と、
上記第１のブロックに対してもっとも一致する上記第２のブロックの位置を探査する探査手段とを備え、
上記配列生成手段は、上記第１のブロック内に存在する対象領域の色に着目して該マスク画像を生成することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、動きベクトル推定方法及び画像処理装置に関し、特に、例えば、動画像中の物体追跡処理などで行われる、２画像間の対象領域の動きベクトル推定処理を精度良く行うのに好適な動きベクトル推定方法及び画像処理装置に関する。
【０００２】
【従来の技術】
動画において、対象とする物体の動きを予測して次の画像の位置を推定することが行われている。このような２画像間の小領域の動きベクトル推定を行うための従来技術としてブロックマッチングが知られている。このブロックマッチングの技術は、例えば、文献「画像解析ハンドブック」、高木幹雄, 下田陽久, 東京大学出版会,1991 等に開示されているが、以下に、ブロックマッチングの概略について説明する。
【０００３】
ブロックマッチング法とは、時間的な前後関係に従って第１、第２の画像とするとき、第１の画像Ｉ1 上にｎ1×ｎ2の矩形のテンプレートを決め、第２の画像Ｉ2 上にｍ1×ｍ2の矩形の探索範囲あるいは探査範囲を決め、この探査範囲内でテンプレートを動かし、もっとも一致した位置を適当な誤差評価関数を用いて探す方法のことである。ここで、上記ｎ1、ｎ2、ｍ1、ｍ2は整数である。
【０００４】
図６にブロックマッチング処理のための概略構成のブロック図を示す。処理は以下のように行われる。
【０００５】
先ず、マッチング演算処理部１０１では、テンプレートと探査範囲のリストが設定されているとき、各テンプレートついて、対となる探査範囲中のブロックとのマッチングを行う。最適なマッチングが得られたブロック位置のリストを次段におくる。
【０００６】
次に、動きベクトル演算処理部１０３では、テンプレート位置(ｔ1,ｔ2) を始点とし、前段で得られたマッチング位置(ｍ1,ｍ2) を終点とする動きベクトルｖを計算する。すなわち、
ｖ＝（ｍ1−ｔ1，ｍ2−ｔ2）            （１）
である。
【０００７】
図７に画像とテンプレート、探査範囲の関係を示す。マッチング演算は以下のことを実現する処理である。
【０００８】
この図７において、第１の画像Ｉ1 内の位置(ｔ1,ｔ2) にテンプレートＴ、第２の画像Ｉ2 内の位置(ｓ1,ｓ2) に探査範囲Ｓがあるとき、探査範囲Ｓ内の位置(ａ,ｂ) のブロックＳ(a,b) 毎にテンプレートＴとの誤差評価値Ｅ(a,b) を求める。探査範囲（０≦ａ≦ｍ1−１，０≦ｂ≦ｍ2−１）でＥ(a,b) が形成する誤差曲面上の最小値点（minａ，minｂ）を決定する。ここで、上記ｔ1,ｔ2、ｓ1,ｓ2、ａ、ｂは整数である。
【０００９】
次に、マッチング演算をフローチャートで表すと図８のようになる。ただし、図８において添字ｉは、上記テンプレートと探査範囲のリストが設定されているときのｉ番めのリストであることを示す。
【００１０】
この図８において、最初のステップＳ１１１では、テンプレートＴと探査範囲Ｓをそれぞれ画像Ｉ1 、Ｉ2 から取り出し、次のステップＳ１１２では、上記誤差評価値Ｅ(a,b) の最小値minＥ に大きな定数、例えば誤差評価値Ｅ(a,b) として取り得る最大値を代入しておく。次に、探査範囲Ｓ内におけるテンプレートのｘ座標ａについてのＦＯＲループ１１３と、ｙ座標ｂについてのＦＯＲループ１１４による処理に移り、このループ処理においては、探査位置（ａ，ｂ）を探査範囲内で変えつつ、図７で説明したブロックＳ(a,b) とテンプレートＴの誤差評価値Ｅ(a,b) を求め、その評価値が最小値minＥ となる位置（minａ，minｂ）を求めている。すなわち、このループ内での具体的な処理としては、ステップＳ１１５で上記テンプレートＴと探査範囲Ｓ内のブロックＳ(a,b) とに基づく誤差評価演算を行って誤差評価値Ｅ(a,b) を求め、ステップＳ１１６でこの誤差評価値Ｅ(a,b) が現時点での最小値minＥ よりも小さいか否かを判別し、ＮｏのときはＦＯＲループの次の処理ステップに移行し、ＹesのときはステップＳ１１７に進んで、minＥ に誤差評価値Ｅ(a,b) を代入し、minａ，minｂにそれぞれａ，ｂを代入した後、ＦＯＲループの次の処理ステップに移行している。このＦＯＲループの処理が全て終了したとき、探査範囲Ｓ内で誤差評価値が最小値minＥ となるテンプレート位置（minａ，minｂ）が求められる。画像Ｉ2 内での探査範囲Ｓの位置が(ｓ1,ｓ2) であるから、画像Ｉ2 内でのテンプレートＴのマッチング位置としては、（ｓ1＋minａ，ｓ2＋minｂ）が出力されることになる。
【００１１】
ここで、誤差評価関数Ｅ(a,b) としては、比較する画像の相関係数を用いる方法と比較する画像の平均残差を用いる方法があるが、計算の容易さから平均残差を用いる方法がよく使われている。平均残差を用いる方法は、画素毎に残差ｅの絶対値または２乗を求め、そのテンプレート範囲の平均を誤差評価値Ｅとするものである。誤差評価関数Ｅ(a,b) の具体例を次式に示す。
【００１２】
【数１】
0003980666.tif 000002
【００１３】
これらの式（２）〜式（４）において、式（２）は画素毎に残差ｅの絶対値を用いたとき、式（３）は２乗を用いた時の誤差評価関数Ｅ(a,b) を示したものである。分母は（ａ，ｂ）によらないので、計算上は省略されることが多い。また式（４）は画素毎の残差ｅを示したものである。
【００１４】
また、上記ブロックマッチングを応用し、対象物領域の追跡を行うことを目的とした技術文献としては、特開平４−１１７０７９号公報「画像処理システム」や、「映像のための動ベクトル検出法に関する一検討」八木ら, テレビジョン学会誌, Vol.45, No.10, pp.1221-1229, 1991 等がある。以下にその概要を説明する。
【００１５】
上記「画像処理システム」は、１つ前のフレームにおいて、対象物領域を示すマスク画像が与えられているときに、前フレームのマスクが１である全ての画素の動きベクトルをブロックマッチングによって推定し、前フレームのマスクが１である全ての画素を動きベクトルによって移動させた結果を現フレームのマスクとする技術である。
【００１６】
上記「映像のための動ベクトル検出法に関する一検討」は、１つ前のフレームにおいて、対象物領域を示すマスク画像が与えられているときに、対象物領域内部にブロックを適当個配置し、それらに対し、前フレームと現フレームとの間でブロックマッチングを行い、得られた動きベクトルからマスク画像のアフィン変換パラメータを推定する技術である。現フレームのマスク画像は推定されたアフィン変換パラメータにより、前フレームのマスク画像を変形することにより得られる。
【００１７】
【発明が解決しようとする課題】
ところで、上述した従来のブロックマッチングの技術においては、テンプレート内に動きの異なる複数の物体があるとき、上記の誤差評価関数では探索範囲内で物体の数だけ誤差評価関数の極小値が存在する可能性がある。その極小値の大小は、テンプレート内に占める各物体の広さによるので、そのなかの最小値が必ずしもそのときの動きベクトルの正解でない場合がある。
【００１８】
そこで、テンプレート内に複数の物体が含まれないように、テンプレートの大きさを小さくすると、画素数すなわち標本数が十分に得られずに動きベクトル推定がノイズに弱くなる。
【００１９】
このような実情から、上述した従来のブロックマッチングの技術では動きベクトルを推定しようとする物体の境界付近に関しては、動きベクトルの精度が十分に得られていなかった。
【００２０】
そのため、この従来のブロックマッチング技術を利用する物体領域追跡技術である、上記「画像処理システム」や、「映像のための動ベクトル検出法に関する一検討」において、以下のような問題があった。
【００２１】
すなわち、上記「画像処理システム」の技術では、対象物画素であると判断された全ての画素の動きベクトルを検出する。そのうち、境界付近にある画素については、動きベクトルに用いるブロックに対象物でない画素が含まれるために、上で述べた理由によりその画素の動きベクトルが正確に得られないため、処理結果としてのマスク画像形状が歪む問題があった。
【００２２】
また、上記「映像のための動ベクトル検出法に関する一検討」の技術においては、上述したブロックマッチング技術の欠点は物体境界では避けられない問題であるとして、物体境界から十分に離れた、対象物内部の画素のみを用いて、対象物形状を追跡する処理を行う。そのため、アフィン変換のような写像でえられるような、簡単な形状変形の追随に終始しているのが実情である。
【００２３】
以上のように、ブロックマッチングが物体境界領域において抱える問題のために、正確な対象物形状の追跡が実現されていなかった。
【００２４】
そこで本発明は、物体の境界付近においても、精度の良い動きベクトル推定を行い得るような動きベクトル推定方法及びこのような処理を行う画像処理装置を提供することを目的とするものである。
【００２５】
【課題を解決するための手段】
本発明に係る動きベクトル推定方法は、時間的に前後関係を有する第１、第２の画像中に存在する対象領域についてブロックマッチングを用いて動きベクトルを推定する動きベクトル推定方法において、上記第１の画像中の動きベクトルを求めたいテンプレートブロックと、第２の画像中の探査範囲内にあるテンプレートの移動先候補のブロックとを、それぞれ第１、第２のブロックとし、第１のブロックを利用して対象領域画素であることを濃淡値で示すマスク画像を第３のブロックとする工程と、上記第１、第２のブロック間の各画素の誤差と上記第３のブロックの各画素とを乗算した値の全要素の総和を指標とする工程と、上記第１のブロックに対してもっとも一致する上記第２のブロックの位置を探査する工程とを有し、上記マスク画像は、上記第１のブロック内に存在する対象領域の色に着目して該マスク画像を生成することにより、上述した課題を解決する。
【００２６】
また、本発明に係る画像処理装置は、時間的に前後関係を有する第１、第２の画像中に存在する対象領域についてブロックマッチングを用いて動きベクトルを推定する処理を行う画像処理装置において、上記第１の画像中の動きベクトルを求めたいテンプレートブロックと、第２の画像中の探査範囲内にあるテンプレートの移動先候補のブロックとを、それぞれ第１、第２のブロックとし、第１のブロックを利用して対象領域画素であることを濃淡値で示すマスク画像を第３のブロックとして生成する配列生成手段と、上記第１、第２のブロック間の各画素の誤差と上記第３のブロックの各画素とを乗算した値の全要素の総和を計算して指標とする指標生成手段と、上記第１のブロックに対してもっとも一致する上記第２のブロックの位置を探査する探査手段とを備え、上記配列生成手段は、上記第１のブロック内に存在する対象領域の色に着目して、マスク画像を生成することにより、上述した課題を解決する。
【００２７】
本発明に係る誤差評価方法及び誤差評価装置によれば、第１、第２のｎ次元配列間の誤差評価の際に、第３のｎ次元配列により要素の重要度に応じた重み付けがなされる。
【００２８】
本発明に係る動きベクトル推定方法及び画像処理装置によれば、第１の画像中のテンプレートブロックと、第２の画像中の探査範囲内にあるテンプレートの移動先候補のブロックとの間の各要素の誤差と、マスク画像となる第３の画像の各要素とを乗算した値の全要素の総和を指標とし、ブロックマッチングによりテンプレートについての動きベクトルを推定する。
【００２９】
【実施例】
以下、本発明に係る好ましい実施例について図面を参照しながら説明する。
【００３０】
図１は、本発明の一実施例が適用される動きベクトル推定のための構成を概略的に示すブロック図である。
この図１において、マッチング演算処理部１１は、動きベクトルを求めようとする対象物を含む第１、第２の画像Ｉ1,Ｉ2 と、第１の画像Ｉ1 の対象物領域を濃淡値で示す第３の画像Ｉ3 と、第１の画像Ｉ1 の対象物の輪郭部に適当個配置されたテンプレートと、第２の画像Ｉ2 にテンプレートと対応して配置された探査範囲とを入力とし、テンプレートともっとも一致する第２の画像Ｉ2 上のマッチング位置を出力とするものである。また、動きベクトル演算処理部１２は、テンプレートの位置と、マッチング演算処理部１１からのマッチング位置とを入力とし、テンプレートの動きベクトルを出力とするものである。
【００３１】
ここで、第３の画像Ｉ3 は、第１、第２の画像Ｉ1,Ｉ2 と同じ大きさで、各要素がそれぞれの重要度あるいは濃淡を示す値を持つような一種のマスク画像である。この第３の画像Ｉ3 としては、例えば前のフレームで用いられた第３の画像の情報を用いることができる。また、第３の画像Ｉ3 は、２値をもつものでも、中間値をもつものでもよく、例えばタブレット等を用いて手入力したり、所定の色に着目して着目色部分を取り出すようにして第３の画像Ｉ3 を得るようにしてもよい。
【００３２】
次に、本発明の上記実施例を実現するための画像処理装置の全体の概略構成の一例を図２に示す。
【００３３】
この図２において、画像処理装置は、本実施例の動きベクトル推定処理に必要なあらゆる演算を行うためのＣＰＵ（中央演算処理装置）２１と、画像Ｉ1,Ｉ2,Ｉ3 を保持するための外部記憶手段２２と、画像を作成したりするためのマウス、タブレットペンなどの入力手段２３と、画像を表示するためのディスプレイなどの表示手段とを有している。これらのＣＰＵ２１、外部記憶手段２２、入力手段２３、表示手段２４間でのデータの送受は、バスライン２５を介して行われる。
【００３４】
次に、上記図１のマッチング演算処理部１１及び動きベクトル演算処理部１２における処理についてさらに詳細に説明する。
【００３５】
先ず、上記マッチング演算処理部１１でのマッチング演算について、図３のフローチャートを参照しながら説明する。この図３において添字ｉは、上記テンプレートと探査範囲のリストが設定されているときのｉ番めのリストであることを示す。
【００３６】
この図３において、最初のステップＳ３１では、テンプレートＴと探査範囲Ｓをそれぞれ画像Ｉ1 、Ｉ2 から取り出し、さらに、画像Ｉ1 の対象物領域を濃淡値で示す第３の画像Ｉ3 上のテンプレート位置（ｔ1,ｔ2） からブロックＷを取り出す。次のステップＳ３２では、上記誤差評価値Ｅ(a,b) の最小値minＥ に大きな定数、例えば誤差評価値Ｅ(a,b) として取り得る最大値を代入しておく。
【００３７】
次に、探査範囲Ｓ内におけるテンプレートのｘ座標ａについてのＦＯＲループ３３と、ｙ座標ｂについてのＦＯＲループ１１４による処理に移り、このループ処理においては、探査位置（ａ，ｂ）を探査範囲内で変えつつ、図７で説明したブロックＳ(a,b) とテンプレートＴの誤差評価値Ｅ(a,b) を求め、その評価値が最小値minＥ となる位置（minａ，minｂ）を求めている。すなわち、このループ内での具体的な処理としては、先ずステップＳ３５において、上記テンプレートＴと、探査範囲Ｓ内のブロックＳ(a,b) と、に基づく誤差評価演算を行って誤差評価値Ｅ(a,b) を求める。次のステップＳ３６でこの誤差評価値Ｅ(a,b) が現時点での最小値minＥ よりも小さいか否かを判別し、ＮｏのときはＦＯＲループの次の処理ステップに移行し、ＹesのときはステップＳ３７に進んで、minＥ に誤差評価値Ｅ(a,b) を代入し、minａ，minｂにそれぞれａ，ｂを代入した後、ＦＯＲループの次の処理ステップに移行している。このＦＯＲループの処理が全て終了したとき、探査範囲Ｓ内で誤差評価値が最小値minＥ となるテンプレート位置（minａ，minｂ）が求められる。この場合、画像Ｉ2 内での探査範囲Ｓの位置が上記(ｓ1,ｓ2) であるから、画像Ｉ2 内でのテンプレートＴのマッチング位置としては、（ｓ1＋minａ，ｓ2＋minｂ）が出力されることになる。ここで上記ｔ1,ｔ2、ｓ1,ｓ2、ａ、ｂは整数である。
【００３８】
図４、図５は、本実施例における誤差評価の特徴を説明するための図である。従来のブロックマッチングにおいては、図７において示したように、第１の画像Ｉ1 からブロックＴ、第２の画像Ｉ2 からブロックＳ(a,b) を取り出して、両者の誤差評価を、上記式（１）または式（２）によって行った。これに対して本発明の実施例では、図４に示すように、新たに対象物領域を濃淡値であらわす第３の画像Ｉ3 から重要度を示すブロックＷを取り出し、前記ブロックＴ、Ｓ(a,b) とともに誤差評価に用いている。すなわち、図５に示すように、これら３つのブロックＴ、Ｓ(a,b) 、Ｗを誤差評価演算処理部５１に送り、例えば次式に示すような誤差評価演算を行い、誤差評価値Ｅを得る。
【００３９】
本発明における誤差評価関数は、次の式（５）（６）（７）のようになる。
【００４０】
【数２】
0003980666.tif 000003
【００４１】
ここで、式（５）は従来技術（Ｉ）の式（２）の、式（６）は従来技術（Ｉ）の式（３）の改良である。
【００４２】
ここで、上記式（５）、（６）、（７）において、Ｓ(a,b)[i,j]、Ｔ[i,j] 、ｅ(a,b)[i,j]をベクトルとみなすことによって、本発明実施例を多値画像にも適用することが可能となる。
【００４３】
次に、上記図１の動きベクトル演算処理部１２での処理について説明する。この動きベクトル演算は、前述した従来のブロックマッチングの処理と同様の動きベクトル演算を行うことにより実現する。テンプレート位置(ｔ1,ｔ2) を始点とし、前段で得られたマッチング位置(ｍ1,ｍ2) を終点とする動きベクトルｖを計算する。すなわち、
ｖ＝（ｍ1−ｔ1，ｍ2−ｔ2）            （８）
である。ここで、ｍ1,ｍ2 は整数である。
【００４４】
次に、以上説明したような本実施例により得られる効果について、上記図４を参照しながら説明する。
【００４５】
この図４において、第１の画像Ｉ1 中の対象物領域ＦＧの一部の輪郭部からテンプレートＴのブロックを取り出している。このテンプレートＴ内の領域においては、第１の画像Ｉ1 中に存在する２つの例えば色の異なる背景ＢＧ１、ＢＧ２のうち、背景ＢＧ１が大部分を占めている。第２の画像Ｉ2 中で、このテンプレートＴのブロックに対応する位置は、図中に示したブロックＳ(a,b) である。ところが、この図４の例では、対象物あるいは背景の移動によって、移動先ブロックＳ(a,b) における背景はＢＧ２が大部分を占めるように変化したので、従来の誤差評価では背景ＢＧ１とＢＧ２との差を検出してしまい、誤差が小さくならない。
【００４６】
これに対して、本発明の実施例によれば、第３の画像Ｉ3 によって、テンプレートＴ中の対象物領域ＦＧの重要度が高く与えられているため、背景ＢＧ１とＢＧ２との差を検出しないような誤差評価が可能である。従って、本発明の実施例によって、テンプレートＴのブロックに対応するブロックＳ(a,b) を正しく求めることができる。
【００４７】
なお、本発明は上記実施例のみに限定されるものではなく、例えば、画像の動きベクトル推定の他に、画像パターン等を含む信号パターンあるいはコードパターン等のパターンマッチングのための誤差評価に適用することができる。この場合には、一般に、各次元の要素数が等しい２つのｎ次元配列の値の誤差を評価する際に、これらのｎ次元配列と同じ大きさで、各要素がそれぞれの重要度を示す値をもつ第３のｎ次元配列を与え、上記２つのｎ次元配列間の各要素の誤差と上記第３のｎ次元配列の各要素とを乗算した値の全要素の総和を指標として誤差評価を行わせればよい。また、本発明を物体領域追跡に利用することによって、従来の物体領域追跡技術では得られなかった、輪郭領域の追跡精度を向上させることが可能である。
【００４８】
【発明の効果】
本発明に係る誤差評価方法及び誤差評価装置によれば、誤差を評価しようとする２つの配列と同じ大きさで、各要素がそれぞれの重要度を示す値をもつ第３の配列を乗算して誤差評価を行っているため、重要度に応じて重み付けされた精度の高い誤差評価が行える。
【００４９】
また、本発明に係る動きベクトル推定方法及び画像処理装置によれば、第１の画像中の動きベクトルを求めたいテンプレートブロックと、第２の画像中の探査範囲内にあるテンプレートの移動先候補のブロックとを、それぞれ第１、第２の配列とし、上記テンプレートブロックの各画素に対し、対象領域画素であることを濃淡値で示すマスク画像を第３の配列とし、上記第１、第２の配列間の各要素の誤差と上記第３の配列の各要素とを乗算した値の全要素の総和を指標とし、上記第１の配列ともっとも一致する上記第２の配列の位置を探査することにより、従来ブロックマッチングではエラーの多かった物体境界領域でも精度の良い動きベクトル推定を行うことを実現する。
【図面の簡単な説明】
【図１】本発明の動きベクトル推定方法が適用される実施例の概略構成を示すブロック図である。
【図２】本発明の実施例を実現するための画像処理装置の全体の概略構成を示すブロック図である。
【図３】図１のマッチング演算処理部での演算動作を説明するためのフローチャートである。
【図４】本実施例の効果を説明するための図である。
【図５】誤差評価演算処理部を示すブロック図である。
【図６】従来のブロックマッチングによる動きベクトル推定のための概略構成を示すブロック図である。
【図７】画像と、テンプレート、探査範囲の関係を示す図である。
【図８】図６のマッチング演算処理部での演算動作を説明するためのフローチャートである。
【符号の説明】
１１、１０１  マッチング演算処理部
１２、１０２  動きベクトル演算処理部
２１  ＣＰＵ（中央演算処理装置）
２２  外部記憶手段
２３  入力手段
２４  表示手段
２５  バスライン
【図１】
0003980666.tif 000004
【図２】
0003980666.tif 000005
【図３】
0003980666.tif 000006
【図４】
0003980666.tif 000007
【図５】
0003980666.tif 000008
【図６】
0003980666.tif 000009
【図７】
0003980666.tif 000010
【図８】
0003980666.tif 000011