(57)【特許請求の範囲】
【請求項１】
画像に対するモーションベクトルを決定する方法であって、
（ａ）モーションベクトル候補に関連する第１の画像内の第１の領域及び第２の画像内の第２の領域を決定することと、
（ｂ）前記第１及び第２の画像内の前記第１及び第２の領域における画素強度を既定の強度に設定することによって前記第１及び第２の画像を修正することと、
（ｃ）前記第１及び第２の画像に対するモーションベクトルとして、（ｂ）で修正された前記第１及び第２の画像からモーションベクトル候補を取得及び記憶することとを備えた方法。
【請求項２】
２つの画像からモーションベクトル候補を取得することは、
前記２つの画像の一方の前記２つの画像の他方に対する変位の関数として前記２つの画像間の相関を計算することと、
選択された条件を前記相関が満足する場合に、前記変位を表すモーションベクトルを前記２つの画像からの前記モーションベクトル候補として選択することとを備えている請求項１の方法。
【請求項３】
前記相関が極大又は極小である場合に前記選択された条件が満足される請求項２の方法。
【請求項４】
前記相関が最大である場合に前記選択された条件が満足される請求項３の方法。
【請求項５】
前記相関関数は位相相関関数である請求項２の方法。
【請求項６】
修正された第１及び第２の画像に対して（ａ）〜（ｃ）を繰り返すことを備えた請求項１の方法。
【請求項７】
（ａ）〜（ｃ）が繰り返される請求項６の方法。
【請求項８】
前記既定の強度は強度値ゼロを有している請求項１の方法。
【請求項９】
少なくとも１つの前記モーションベクトル候補を取得することは、前記第１の画像及び前記第２の画像を整合領域に対して検索することを備えている請求項１の方法。
【請求項１０】
請求項１の方法を実行するように適合させられるプロセッサ及びコンピュータ可読メモリを備えたコンピュータ。
【請求項１１】
実行されたときに請求項１の方法を実行することをコンピュータに適合させるコンピュータ実行可能コードを記憶しているコンピュータ可読媒体。
【請求項１２】
第１及び第２の画像に対するモーションベクトルを決定する方法であって、
（ａ）前記第１の画像から前記第２の画像への領域のモーションを表す少なくとも１つのモーションベクトル候補を取得することと、
（ｂ）前記少なくとも１つのモーションベクトル候補に関連する前記第１の画像及び前記第２の画像内の前記領域を決定することと、
（ｃ）前記第１及び第２の画像内の前記領域における画素強度を既定の強度に設定することによって前記第１及び第２の画像を修正することと、
（ｄ）前記第１及び第２の画像に対して所望の数のモーションベクトルが決定されるまで、（ｃ）で修正される前記第１及び第２の画像を用いて前記取得すること、前記決定すること、及び前記修正することを繰り返すこととを備えた方法。
【請求項１３】
前記取得することは、前記第１の画像と前記第２の画像の間での位相相関を決定することを備えている請求項１２の方法。
【請求項１４】
前記決定することは、前記位相相関の極大を決定することを備えている請求項１３の方法。
【請求項１５】
第１の画像から第２の画像への領域のモーションを表す少なくとも１つのモーションベクトル候補を取得するための第１の論理ブロックと、
前記少なくとも１つのモーションベクトル候補に関連する前記第１の画像及び前記第２の画像内の前記領域を決定するための第２の論理ブロックと、
前記第１及び第２の画像内の前記領域における画素強度を既定の強度に設定することによって前記第１及び第２の画像を修正するための第３の論理ブロックとを備えたビデオプロセッサであって、
前記第１、第２及び第３の論理ブロックは、前記第１及び第２の画像に対して所望の数のモーションベクトルが決定されるまで、前記第３の論理ブロックによって修正される前記第１及び第２の画像を用いて、前記取得すること、前記決定すること、及び前記修正することとを繰り返すビデオプロセッサ。
【請求項１６】
前記第１の論理ブロックは前記第１及び第２の画像に対する位相相関を決定する請求項１５のビデオプロセッサ。
【請求項１７】
前記第１の論理ブロックは前記第１及び第２の画像に対する前記位相相関の最大を決定する請求項１６のビデオプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して画像処理に関し、更に特定的には画像シーケンスに対してモーションベクトルを決定するための方法及び装置に関する。
【背景技術】
【０００２】
画像処理においては、モーションベクトルは、１つの画像から他の画像へのオブジェクト(object)の変位の方向及び大きさを示すベクトルである。例えば、モーションベクトルは、ビデオシーケンスにおける２つのシーケンシャルな画像フレームの間でのオブジェクトの見かけ上のモーション(apparent motion)を表すことができる。モーションベクトルは、例えば、ビデオ圧縮及びビデオフレームレート変換において用いられる。
【０００３】
モーションベクトルを決定するための１つの標準的な技術は、整合領域(matching regions)に対する２つの画像を検索し、そして整合領域間の相対変位を用いて２つの画像に対するモーションベクトルを定義する。典型的には、第２の画像は１つ以上の画素の複数の領域にセグメント化されている。第２の画像内の全てのセグメント化領域に対して、第１の領域は、考慮中のセグメント化領域に最も合致する領域を検索される。
【０００４】
代替的な方法は、２つの画像に対する又は１つの画像の部分部分に対する相関面を決定することである。相関面は、２つの画像が全ての方向及び大きさにおいて互いに相対的に変位させられた場合における２つの画像の相関を表す。典型的には、相関面の頂点に対応する複数の点がモーションベクトル候補を決定するために用いられ得る。しかし、モーションベクトル候補は、必ずしも２つの画像間でのオブジェクトの実際のモーションに対応しているとは限らない。オブジェクトの実際のモーションに最も良く対応するモーションベクトルをモーションベクトル候補から決定するために、更なる計算が必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、上述した１つ以上の問題を克服することができる、モーションベクトルを決定するための方法及び装置に対する要求がある。
【課題を解決するための手段】
【０００６】
本発明の側面によると、画像に対するモーションベクトルを決定する方法であって、（ａ）モーションベクトル候補に関連する第１の画像内の第１の領域及び第２の画像内の第２の領域を決定することと、（ｂ）第１及び第２の画像内の第１及び第２の領域における画素強度を既定の強度に設定することによって第１及び第２の画像を修正することと、（ｃ）第１及び第２の画像に対するモーションベクトルとして、（ｂ）で修正された第１及び第２の画像からモーションベクトル候補を取得及び記憶することとを備えた方法が提供される。
【０００７】
本発明の他の側面によると、第１及び第２の画像に対するモーションベクトルを決定する方法であって、（ａ）第１の画像から第２の画像への領域のモーションを表す少なくとも１つのモーションベクトル候補を取得することと、（ｂ）少なくとも１つのモーションベクトル候補に関連する第１の画像及び第２の画像内の領域を決定することと、（ｃ）第１及び第２の画像内の領域における画素強度を既定の強度に設定することによって第１及び第２の画像を修正することと、（ｄ）第１及び第２の画像に対して所望の数のモーションベクトルが決定されるまで、（ｃ）で修正される第１及び第２の画像を用いて、取得すること、決定すること、及び修正することを繰り返すこととを備えた方法が提供される。
【０００８】
本発明の更に他の側面によると、第１の画像から第２の画像への領域のモーションを表す少なくとも１つのモーションベクトル候補を取得するための第１の論理ブロックと、少なくとも１つのモーションベクトル候補に関連する第１の画像及び第２の画像内の領域を決定するための第２の論理ブロックと、第１及び第２の画像内の領域における画素強度を既定の強度に設定することによって第１及び第２の画像を修正するための第３の論理ブロックとを備えたビデオプロセッサであって、第１、第２及び第３の論理ブロックは、第１及び第２の画像に対して所望の数のモーションベクトルが決定されるまで、第３の論理ブロックによって修正される第１及び第２の画像を用いて、取得すること、決定すること、及び修正することとを繰り返すビデオプロセッサが提供される。
【図面の簡単な説明】
【０００９】
以下の図面は例示のみを目的として本発明の実施形態を示している。
【００１０】
【図１】図１は本発明の実施形態を例示するコンピュータデバイスの模式的なブロック図である。
【００１１】
【図２】図２は画像のシーケンスを示す模式図である。
【００１２】
【図３】図３は図２における第１の画像フレームの模式図であり、座標系における第１のフレームの一部分の個々の画素を示している。
【００１３】
【図４】図４は図２における第１の画像フレームの模式図であり、第１のフレームの一部分の個々の画素の強度値を示している。
【００１４】
【図５】図５は外縁を合わされた図２の第１及び第２の画像フレームの重ね合わせである。
【００１５】
【図６】図６はモーションベクトル決定の方法のフローチャートである。
【００１６】
【図７】図７は図２における第１の画像フレームの修正されたバージョンを示す図である。
【００１７】
【図８】図８は図２における第２の画像フレームの修正されたバージョンを示す図である。
【００１８】
【図９】図９はモーションベクトル候補を取得する方法のためのフローチャートである。
【００１９】
【図１０】図１０は図２の第１及び第２の画像フレームの相関面を示す図である。
【００２０】
【図１１】図１１は図２の第２の画像フレームに対して変位させられた図２の第１の画像フレームを示す図である。
【００２１】
【図１２】図１２はモーションベクトル決定の方法のためのフローチャートである。
【００２２】
【図１３】図１３は図２における第１の画像フレームの２度にわたり修正されたバージョンを示す図である。
【００２３】
【図１４】図１４は図２における第２の画像フレームの２度にわたり修正されたバージョンを示す図である。
【００２４】
【図１５】図１５はモーションベクトル決定の方法のためのフローチャートである。
【００２５】
【図１６】図１６はモーションベクトル候補に関連する図２における第１及び第２の画像フレーム内の第１及び第２の領域を決定する方法のためのフローチャートである。
【００２６】
【図１７】図１７は図２の第２の画像フレームに対して変位させられた図２の第１の画像フレームを示す図である。
【００２７】
【図１８】図１８は本発明の実施形態を例示するビデオプロセッサの簡略化されたブロック図である。
【発明を実施するための形態】
【００２８】
本発明の実施形態を例示する方法を概観すると、２つの画像から１つ以上のモーションベクトル候補を取得することによって、それら２つの画像からモーションベクトルが決定される。モーションベクトル候補に関連する２つの画像の複数の領域が修正される。その後、修正された画像から更なるモーションベクトル候補が取得される。既に得られているモーションベクトル候補に関連するオブジェクトを考慮から外すために２つの画像を修正することが、修正された画像から次いで取得されるモーションベクトル候補の質を改善し得ることは、既に見出されている。その後モーションベクトル候補は更に処理及び解析されてよく、ビデオ処理で使用可能なモーションベクトルを得ることができる。
【００２９】
これらの領域は、複数の画像内の同一のオブジェクト、複数のオブジェクトの複数部分、定義された形状(geometry)を有する複数の画像部分（例えば正方形又は長方形のブロック）等を表してよい。
【００３０】
実際上は、モーションベクトルは繰り返して又は再帰的に(iteratively or recursively)決定される。例えば位相相関、最小差分絶対値和(minimum sum of absolute differences)、オブジェクトセグメンテーション(object segmentation)に基く整合方法、色類似性、等を用いて適切なモーションベクトルが一旦決定されたならば、領域は、後続の相関及び割り当てにおいて考慮されないモーションベクトルを生じさせる。これにより、後続の相関及び整合においてモーションベクトルが無用に再考される領域の場合に不可避的に生じるコンテンツクロストーク(content cross-talk)が排除される。
【００３１】
１つの実施形態では、方法は、ビデオ処理が可能なデバイスによって少なくとも部分的に実行されてよい。適切なビデオ処理デバイスは、セットトップボックス、ビデオ受信機、テレビジョン、グラフィックスサブシステム、コンピュータデバイス等の一部を形成するビデオプロセッサの形態をとり得る。図１には、本発明の実施形態を例示するコンピュータデバイス１００が模式的に示されている。
【００３２】
コンピュータ１００はプロセッサ１０２を含み、プロセッサ１０２は、主メモリ１０４、補助メモリ１０６、並びに入力及び出力周辺機器１０８，１１０と通信する。コンピュータ１００は随意的にネットワーク（図示せず）と通信してよい。
【００３３】
プロセッサ１０２は汎用プロセッサであってよく、そしてコンピュータが実行可能なコード及びデータを処理するために１つ以上の処理コアを含んでいてよい。
【００３４】
メモリ１０４及び１０６の各々は、プロセッサが実行可能なコードを含む電子的なデータを記憶するのに適している。主メモリ１０４は、実行時に(at runtime)プロセッサ１０２によって容易にアクセス可能であり、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）の形態をとることができる。補助メモリ１０６は、データを恒久的に記憶するための永続的記憶メモリを含んでいてよく、典型的には電子的ファイルの形態にある。補助メモリ１０６はまた、当業者に知られている他の目的のためにも用いられてよい。コンピュータ可読媒体は、コンピュータによってアクセス可能な任意の利用可能媒体であってよく、取り外し可能であってもなくてもよく、揮発性であってもなくてもよく、任意の磁気記憶装置、光学的記憶装置、ソリッドステート記憶デバイス、又はコンピュータ実行可能命令を含む所望のデータを具体化することができ且つコンピュータ若しくはコンピュータデバイスによって局部的に若しくは遠隔的にアクセス可能な任意の他の媒体を含んでいてよい。上記の任意の組み合わせもまた、コンピュータ可読媒体の範囲に含まれる。
【００３５】
入力周辺機器１０８は、１つ以上の適切な入力デバイスを含んでいてよく、そして典型的にはキーボード及びマウスを含む。入力周辺機器１０８はまた、マイクロホン、スキャナ、カメラ等を含んでいてもよい。入力周辺機器１０８は更に、取り外し可能メモリ１１２のようなコンピュータ可読媒体及びその媒体にアクセスするための対応するデバイスを含んでいてもよい。入力周辺機器１０８はユーザからの入力を受信するために用いられてよい。入力デバイスがプロセッサ１０２に局部的に又は遠隔的に接続されていてよい。
【００３６】
出力周辺機器１１０は１つ以上の出力デバイスを含んでいてよく、出力デバイスは、モニタのようなディスプレイデバイスを含んでいてよい。適切な出力デバイスはまた、プリンタ、スピーカ等のような他のデバイスの他、コンピュータ書き込み可能媒体及び当該媒体へ書き込むためのデバイスを含んでいてよい。入力デバイスと同様、出力デバイスも局部的又は遠隔的であってよい。
【００３７】
当業者に理解されるであろうように、コンピュータシステム１００はまた、必要に応じて又は随意的に、図示されない他のコンポーネントを含んでいてよい。
【００３８】
メモリ１０４，１０６又は１１２は、画像若しくは計算のデータ、計算結果、又はモーションベクトル生成プロセスにおいて用いられる他の入力データ及び出力データを記憶するために用いられてよい。
【００３９】
メモリ１０４，１０６又は１１２はまた、プロセッサ実行可能コードを記憶していてよく、プロセッサ実行可能コードは、プロセッサ１０２によって実行されたときに、ここに説明される任意の方法を実施することをコンピュータ１００にさせる。例えば、プロセッサ実行可能コードは、以下に更に説明されるように、第１の画像及び第２の画像から少なくとも１つのモーションベクトル候補を取得するためのコードと、第１の画像内の第１の領域及び第２の画像内の第２の領域を決定するためのコードと、第１及び第２の画像を修正するためのコードと、修正された第１及び第２の画像からモーションベクトル候補を取得及び記憶するためのコードとを含んでいてよい。
【００４０】
理解し得るであろうように、ここに説明される方法はまた、その全体又は一部を、１つ以上の説明されている計算又は機能を実行するための回路を有するハードウエアデバイスを用いて実施されてもよい。例えば、１つ以上の上述したプログラムコードの機能は、グラフィックスプロセッサ、そのコンポーネント、又は１つ以上の特定用途向け集積回路（ＡＳＩＣ）によって実行されてよい。
【００４１】
モーションベクトルは、本発明の実施形態を用いて任意の２つの画像から決定することができる。例示を目的として、図２に示されるビデオシーケンス２００における画像フレーム２１０及び画像フレーム２２０からモーションベクトルが決定されるものと仮定する。方法はまた、ビデオシーケンス２００において画像フレーム２２０に続く画像フレーム２３０にも適用可能である。例示を目的として、第１の画像フレーム２１０においては、白い背景２１６が黒い正方形のオブジェクト２１２及び黒い円形のオブジェクト２１４を画定している。第２の画像フレーム２２０においては、白い背景２２６が同様に黒い正方形のオブジェクト２２２及び黒い円形のオブジェクト２２４を画定している。
【００４２】
典型的には、画像は、二次元座標系によって参照される複数画素の格子(a grid of pixels)で表される。例示のために、基点は画像の角であり、且つ第１及び第２の軸は基点から外に向かって画像の縁に沿って伸びているものと仮定する。この例示的な座標系は図３に示されており、ここでは、基点は画像フレーム２１０の角２１８であり、Ｘ軸は基点から外に向かって画像フレーム２１０の水平に図示されている縁に沿って伸びており、そしてＹ軸は基点から外に向かって画像フレーム２１０の垂直に示されている縁に沿って延びている。
【００４３】
この例示的な座標系においては、個々の画素２０２は形式［ａ，ｂ］で表され、ここでは、第１の座標ａはＸ軸を参照しており、また第２の座標ｂはＹ軸を参照している。例示的な画像ｐに対して、画像の個々の画素は表記ｐ［ａ，ｂ］で示される。この例示的な座標系を前提として、画像フレーム２１０及び２２０はサイズＩ×Ｊの長方形である。
【００４４】
図４は画像フレーム２１０を模式的に示す図であり、画像フレーム２１０の一部分である個々の画素２０６及び２０８の強度値を表している。例示的な実施形態においては、画像フレーム２１０及び２２０の個々の画素の強度値は８ビットを用いて表され、従って０から２５５の範囲である。黒い画素２０６は強度値２５５を有している。理解されるであろうように、強度値は画素あたり８ビットよりも多い又は少ないビットで容易に表され得る。同様に、強度値に加えて又は強度値に代えて、画素の色（彩度）値を用いて、ここに説明されるように、モーションベクトル及び関連画素領域を決定することができる。
【００４５】
画像フレーム２１０の画像フレーム２２０への重ね合わせが図５に示されている。画像フレーム２１０及び２２０は、画像フレーム２１０及び２２０の外縁が一致するように同一の座標系を用いている。ベクトル２３６は、画像フレーム２１０と画像フレーム２２０の間での黒い正方形のオブジェクト２１２及び２２２の位置の変化を表している。ベクトルＭＶ１＝［ｘ１，ｙ１］２３６は、画像フレーム２１０における黒い正方形のオブジェクト２１２の中心の座標に対応する起点２４２と、画像フレーム２２０における黒い正方形のオブジェクト２２２の中心の座標に対応する終点２４４とを有している。位置２４６を起点とし位置２４８を終点とする同様のベクトルＭＶ２＝［ｘ２，ｙ２］２３４は、画像フレーム２１０と画像フレーム２２０の間での黒い円形のオブジェクト２１４及び２２４の位置の変化を表している。モーションとしての黒いオブジェクト２１２，２２２，２１４，及び２２４の位置の変化に関して、ベクトル２３６及び２３４が画像フレーム２１０と画像フレーム２２０の間での黒いオブジェクト２１２，２２２，２１４，及び２２４のモーションを表しているので、ベクトル２３６及び２３４が真のモーションベクトルである。同様に定義されるベクトルＭＶ３＝［ｘ３，ｙ３］２３２及びベクトルＭＶ４＝［ｘ４，ｙ４］２３８は、それらが画像フレーム２１０及び２２０間での黒いオブジェクト２１２，２２２，２１４，及び２２４のモーションを表していないので、見かけ上の(false)モーションである。この例示的な説明においては、モーションベクトル２３６及び２３４を含むモーション候補モーションベクトルのリストが決定される。
【００４６】
モーションベクトルは、本発明の実施形態の例示である図６に示される複数のブロックＳ１００に従って、画像フレーム２１０及び２２０から決定することができる。説明を容易にするために、複数のブロックＳ１００は、ビデオシーケンス２００のシーケンシャルな画像フレーム２１０及び２２０に関連して示されている。
【００４７】
Ｓ１００２では、モーションベクトル候補が標準的な方法において画像フレーム２１０及び２２０から得られる。例えば、ブロック整合技術を用いて、画像フレーム２１０及び２２０を検査して黒い正方形のオブジェクト２１２及び２２２を該当するオブジェクトとして識別すると共に、次いで黒い正方形のオブジェクト２１２及び２２２の位置の変化を表すベクトルを決定することによって、あるいは別の方法によって、モーションベクトルＭＶ１２３６を画像フレーム２１０及び２２０から決定することができる。典型的には、２つの画像から多重モーションベクトル候補を取得することができる。
【００４８】
Ｓ１００４では、画像フレーム２１０内の第１の領域と画像フレーム２２０内の第２の領域が、得られるモーションベクトル候補と関連するものとして決定される。画像フレーム２１０内の第１の領域及び画像フレーム２２０内の第２の領域の両方とも、それぞれ画像フレーム２１０及び２２０の１つ以上の不連続な領域から構成される。得られるモーションベクトル候補がモーションベクトルＭＶ１２３６であるとすると、１つの実施形態においては、画像フレーム２１０及び２２０は、画像フレーム２１０及び２２０の両方に現れるオブジェクト又はブロックの複数の対に対応するブロック整合と比較されてよい。該当するオブジェクトの各対に対して、モーションベクトルＭＶ１２３６が画像フレーム２１０及び２２０間でのオブジェクトの位置の変化を正確に表している場合には、当該オブジェクト対に対応する画像フレーム２１０及び２２０の領域は、それぞれ第１及び第２の領域の一部であるとみなされる。画像フレーム２１０及び２２０の解析は、対応するオブジェクトの１つの対を形成するものとして黒い正方形のオブジェクト２１２及び２２２を識別すべきであり、また対応するオブジェクトの第２の対を形成するものとして黒い円形のオブジェクト２１４及び２２４を識別すべきである。モーションベクトルＭＶ１は、黒い正方形のオブジェクト２１２及び２２２の位置の変化を正確に表し、また黒い円形のオブジェクト２１４及び２２４の位置の変化を正確には表さないので、画像フレーム２１０内の第１の領域は領域２１２と等価であると決定され、また画像フレーム２２０内の第２の領域は領域２２２と等価であると決定される。２つ以上のモーションベクトル候補がＳ１００２で取得される本発明の実施形態においては、画像フレーム２１０及び２２０の領域は、Ｓ１００４で決定される第１及び第２の領域の一部とみなされるべき領域に対して取得される１つ以上のモーションベクトル候補に関連している。
【００４９】
Ｓ１００６では、画像フレーム２１０及び２２０内の第１及び第２の領域は、両領域内の画素の強度値を既定の強度値に設定することによって修正される。１つの実施形態においては、既定の強度値はゼロである。図７及び８は修正された画像フレーム２１０’及び２２０’を示しており、ここでは、画像フレーム２１０及び２２０内で決定された上述の第１及び第２の領域は、第１及び第２の領域内の画素の強度値をゼロに設定することによって修正される。黒い円形のオブジェクト２１４及び２２４はモーションベクトル候補ＭＶ１２３６に関連するとして前もって決定されなかったので、修正された画像フレーム２１０’及び２２０’内には黒い円形のオブジェクト２１４’及び２２４’が現れる。黒い正方形のオブジェクト２１２及び２１４はモーションベクトル候補ＭＶ１２３６に関連するとして前もって決定されていたので、対応する黒い正方形のオブジェクトは画像フレーム２１０’及び２２０’内には現れない。
【００５０】
Ｓ１００８では、追加的なモーションベクトル候補が、修正された画像フレーム２１０’及び２２０’から取得される。Ｓ１００２でのように、モーションベクトル候補は、標準的な方法において、例えばブロック整合によって決定されてよい。好都合なことに、既定の強度値を伴う画素は、そのような決定において無視することができる。修正された画像フレーム２１０’及び２２０’は、画像フレーム２１０’から画像フレーム２２０’へのオブジェクトの位置の変化を表すベクトルがモーションベクトル候補とみなされ得る非既定の強度値での画素を伴う該当するオブジェクトを識別するために解析される。従って、修正された画像フレーム２１０’及び２２０’から得られる追加的なモーションベクトル候補は、非修正の画像フレーム２１０及び２２０から得られる追加的なモーションベクトル候補と比較して、真実のモーションベクトルである可能性がより高い。
【００５１】
例示を目的として、黒い正方形のオブジェクト２１２及び２２２を形成している画素が、これらの画素が無視されるべきであることを示す既定の強度値に設定されたとき、修正された画像フレーム２１０’及び２２０’の外観検査(visual inspection)は、真実のモーションベクトルＭＶ２２３４をモーションベクトル候補として決定することができる一方で、非修正の画像フレーム２１０及び２２０の外観検査は、見かけ上のモーションベクトルＭＶ３２３２又はＭＶ４２３８をモーションベクトル候補として決定することをもたらすかもしれない。本発明の他の実施形態においては、修正された画像フレーム２１０’及び２２０’から２つ以上のモーションベクトル候補を取得することができる。
【００５２】
修正された画像フレーム２１０’及び２２０’から得られる１つ以上のモーションベクトル候補は、非修正の画像フレーム２１０及び２２０から得られる１つ以上のモーションベクトル候補と共に、画像フレーム２１０及び２２０に対するモーションベクトル候補として記憶される。これらのモーションベクトル候補は、更なる処理のためにコンピュータメモリ１０４，１０６，又は１１２内に記憶することができる。
【００５３】
幾つかの実施形態においては、画像フレーム２１０及び２２０の相関を計算することによってモーションベクトル候補を取得することができ、この場合、画像フレーム２１０は画像フレーム２２０に対して既に変位させられている。計算された相関が、選択された条件を満足する場合には、画像フレーム２２０に対する画像フレーム２１０の変位はモーションベクトル候補であるとして決定される。
【００５４】
図９は、ブロック１００のＳ１００２で採用される、画像フレーム２１０及び２２０からモーションベクトル候補を取得するための例示的なブロックＳ１２０を示している。
【００５５】
Ｓ１２０２では、相関関数が最初に画像フレーム２１０及び２２０から決定されてよい。相関関数の従属変数が画像フレーム２１０及び２２０の相関であり、この場合、画像フレーム２１０及び２２０の相対変位を特定する独立変数によって画像フレーム２１０及び２２０は互いに相対的に変位させられる。相関関数は形式ｆ（ｘ，ｙ）で表すことができ、ここで、独立変数ｘはＸ軸における画像フレーム２１０及び２２０の相対変位を特定し、そして独立変数ｙはＹ軸における画像フレーム２１０及び２２０の相対変位を特定する。画像フレーム２１０及び２２０は両方ともサイズがＩ×Ｊであるから、ｆ（ｘ，ｙ）は定義域−Ｉ＜ｘ＜Ｉ、−Ｊ＜ｙ＜Ｊにわたって定義される。
【００５６】
相関関数ｆ（ｘ，ｙ）は、図１０に示されるような相関面３１０として視覚化することができる。相関面３１０は、画像に対して定義されるＸ軸及びＹ軸に沿う画像フレーム２１０の画像フレーム２２０に対する変位をＸ軸及びＹ軸がそれぞれ示す座標系において表され、そして座標系のＺ軸は、相対的に変位させられる画像フレーム２１０及び２２０の間の相関の程度を示している。相関面は相関関数の単なる視覚化であるから、相関面及び相関関数の用語は交換可能に用いられてよい。
【００５７】
Ｓ１２０４及びＳ１２０６では、条件を満足する相関面３１０上の点を用いて、モーションベクトル候補として扱われ得る該当するベクトルを決定することができる。該当するベクトルは、典型的には、選択された点のＸＹ平面上への投影が起点及び終点として由来するベクトルとして定義される。ベクトルを表すための前述した表現法(convention)を用いて、相関面３１０上の任意の点（ｘ，ｙ，ｆ（ｘ，ｙ））は典型的にはモーションベクトル候補［ｘ，ｙ］に対応する。モーションベクトル候補を決定するための相関面３１０の適切な点を選択するために、種々の条件が用いられてよい。
【００５８】
比較的に高い相関の相関面３１０上の例示的な点３３２，３３４，３３６，及び３３８が、相関面３１０の頂点とみなされる。点３３４は、点３３４のＸＹ平面上への投影が起点及び終点として由来するベクトル３２４により画像フレーム２１０を画像フレーム２２０に対して変位させることによって生成される。図１１は、ベクトル３２４による画像フレーム２１０の画像フレーム２２０に対する変位を例示している。点３３４のＺ座標は重複領域４０４の相関として計算される。点３３６，３３２，及び３３８は、それぞれベクトル３２６，３２２，及び３２８により画像フレーム２１０を画像フレーム２２０に対して変位させると共に重複領域の相関を計算することによって、同様にして生成される。
【００５９】
Ｓ１２０４及びＳ１２０６では、１つの実施形態においては、相関面３１０におけるある頂点が、識別されると共に対応するベクトルを決定するために用いられた後、モーションベクトル候補とみなされる。相関面３１０の頂点を識別するために、複数の関数の複数の極大を識別するための標準的な技術を利用することができる。他の実施形態においては、相関面３１０の最大頂点(maximum peak)３３４が識別され、そしてモーションベクトル候補３２４を決定するために用いられる。本発明の他の実施形態においては、相関面３１０の多重頂点が識別され得るし、また多重モーションベクトル候補を決定するために用いることができる。
【００６０】
本発明の他の実施形態においては、Ｓ１２０２で画像フレーム２１０及び２２０から決定される相関関数は、位相面相関表面としても知られる位相相関である。位相相関は画素の輝度に関して相関を正規化するので、位相相関の使用は、交差相関(cross-correlation)のような差分相関関数(different correlation function)と比較して有利であり得る。位相相関は、画像の個々の画素を参照するための前述した表現法に従うサイズＩ×Ｊの２つの画像Ａ及びＢに対して、以下のように定義される。
位相相関（Ａ，Ｂ）＝Τ−１（ｈ）、ここで、
ｈ［ｘ，ｙ］
＝Χ（（Τ（Ａ））［ｘ，ｙ］）（Τ（Ｂ））［ｘ，ｙ］
／｜Χ（（Τ（Ａ））［ｘ，ｙ］）｜｜（Τ（Ｂ））［ｘ，ｙ］｜
Τ（ｆ）＝ｆの離散フーリエ変換
Τ−１（ｆ）＝ｆの離散逆フーリエ変換
Χ（ｘ）＝ｘの複素共役
である。
【００６１】
図１２は、例示的な修正された画像フレーム２１０’及び２２０’からモーションベクトル候補を取得すると共に記憶することが前述したプロセスの繰り返しを伴う１つの実施形態を示している。Ｓ１００２では、モーションベクトル候補ＭＶ１２３６が画像フレーム２１０及び２２０から得られる。Ｓ１００４では、画像フレーム２１０及び２２０の第１及び第２の領域がモーションベクトル候補ＭＶ１２３６に関連するものとして決定される。Ｓ１００６では、画像フレーム２１０及び２２０の決定された第１及び第２の領域が修正され、修正された画像フレーム２１０’及び２２０’が形成される。Ｓ１８０２では、退出条件が試験され、所望の数のモーションベクトルが既に得られたか、あるいは修正された画像フレーム２１０’及び２２０’から追加的なモーションベクトル候補が抽出されるべきであるかが決定される。退出条件が満たされている場合には、得られたモーションベクトル候補、これまでのところモーションベクトル候補ＭＶ１２３６は、画像フレーム２１０及び２２０に対するモーションベクトル候補としてＳ１８０４で記憶される。退出条件が満たされていない場合には、修正された画像フレーム２１０’及び２２０’に対してプロセスが繰り返される。Ｓ１００２では、モーションベクトル候補ＭＶ２２３４が、修正された画像フレーム２１０’及び２２０’から得られる。Ｓ１００４では、修正された画像フレーム２１０’及び２２０’の第１及び第２の領域がモーションベクトル候補ＭＶ２２３４に関連するものとして決定される。修正された画像フレーム２１０’の第１の領域は、黒い円形のオブジェクト２１４’によって画定される領域である。修正された画像フレーム２２０’の第２の領域は、黒い円形のオブジェクト２２４’によって画定される領域である。Ｓ１００６では、修正された画像フレーム２１０’及び２２０’の決定された第１及び第２の領域が修正され、図１３に示されるような更に修正された画像フレーム２１０”及び２２０”が形成される。Ｓ１８０２では、退出条件が再び試験され、２回にわたって修正された画像フレーム２１０”及び２２０”から追加的なモーションベクトル候補が抽出されるべきであるかどうかが決定される。退出条件が満たされていると仮定すると、モーションベクトル候補ＭＶ１２３６及びＭＶ２２３４は、画像フレーム２１０及び２２０のためのモーションベクトル候補としてＳ１８０４で記憶される。
【００６２】
利用可能な多様な適切な退出条件がある。１つの実施形態においては、退出条件は、修正された画像を試験して、既定の強度値を有する修正された画像の割合が選択されたスレッショルドより大きくなるように、少なくとも１つの修正された画像が既に修正されているかどうかを決定することを構成していてよい。図１５は本発明の他の実施形態を示しており、ここでは、退出条件は、十分な数のモーションベクトル候補が既に得られているかどうかを決定することを構成している。この実施形態においては、退出条件が既に満たされている場合には追加的な修正は不要であるから、退出条件Ｓ１８２２はＳ１００４に先立って試験される。退出条件が満たされている場合には、得られたモーションベクトル候補はＳ１８２４で記憶される。退出条件が満たされていない場合には、第１及び第２の領域がＳ１００４で決定され、画像はＳ１００６で修正され、そして退出条件がＳ１８２２で再び考慮されるのに先立ちＳ１００２でモーションベクトル候補が修正された画像から得られる。
【００６３】
退出条件はモーションベクトルを割り当てられるべき画像の全ての画素を必ずしも必要としないことは特記しておく価値がある。２つの画像の間に相対モーションがある場合、しばしば閉塞(occlusions)及びアンカバリング(uncovering)がある。これらの領域は、隠されてしまったコンテンツ及び新たなコンテンツを代表する。このようなコンテンツは対応(correspondence)を有しておらず、そして通常は別の取り扱いを必要とする。
【００６４】
一旦モーションベクトル候補が決定されたならば、そのモーションベクトル候補に関連する第１及び第２の領域が図１６に示されるように決定されてよい。例示的な画像フレーム２１０及び２２０と共にプロセスＳ１４０を説明するに際して、モーションベクトル候補ＭＶ２＝［ｘ２，ｙ２］２３６がＳ１００２から既に得られているものとする。Ｓ１４０４では、図１７に示されるように、画像フレーム２１０がＸ軸においてｘ２及びＹ軸においてｙ２だけ画像フレーム２２０に対して変位させられる。
【００６５】
Ｓ１４０６では、重複領域１７０２内の画素のグループに対して誤差値が計算される。画素のグルーピングは任意の標準的な方法で行われてよい。例えば、長方形又は正方形を形成する隣接した画素がグループ化されてよい。代替的には、検出されるオブジェクト輪郭内の画素がグループ化されてよい。計算される誤差値は、ＭＶ２だけ変位させられる画像フレーム２１０内の画素のグループとフレーム２２０の当該グループとの間での強度値における差分絶対値和(sum of absolute difference)であってよい。言うまでもなく、画素のグループに対して計算される誤差値が、画素のグループを包囲している領域の位置及び強度値の関数になるように、誤差計算は、左右対称に又は他の方法で異方性フィルタリングされたものであってよい。
【００６６】
Ｓ１４０８では、変位させられた画像フレーム２１０内の第１の領域と画像フレーム２２０内の対応する第２の領域とが比較されて、計算される誤差比較が選択された条件を満足するかどうかが決定される。満足する場合には、第１の領域は、選択された条件を満足している画素のグループの一部である画像フレーム２１０内の画素であると決定される。同様に、第２の領域は、選択された条件を満足している一対の画素の一部である画像フレーム２２０内の画素であると決定される。本発明の１つの実施形態においては、フレーム２１０内の対応する画素のグループに対する最小誤差に対応するフレーム２２０内の画素のグループは、モーションベクトル候補ＭＶ１２３６に関連する画素の第１及び第２のグループとして扱われてよい。採用され得る他の条件は、画素のブロックの計算された平均誤差が選択されたスレッショルド、あるいは画素の領域の誤差値の幾つかの他の関数よりも小さいかどうかを試験することを含む。
【００６７】
例えば、Ｓ１４０６で、計算される誤差値が強度値における差分絶対値であり且つ満たされるべき条件が誤差値がゼロに近いことであるとすると、重複領域１７０２内の画素の同時発生グループは近い誤差値を有する。従って、モーションベクトル候補ＭＶ１２３６に関連する画像フレーム２１０内の第１の領域は、黒い正方形のオブジェクト２１２を表している画素を除いて重複領域１７０２内の画像フレーム２１０の領域であってよい。同様に、モーションベクトル候補ＭＶ１２３６に関連する画像フレーム２２０内の第２の領域は、黒い正方形のオブジェクト２１２を表している画素を除いて重複領域１７０２内の画像フレーム２２０の領域である。
【００６８】
Ｓ１４１０では、Ｓ１００２から得られる各モーションベクトル候補に対してプロセスＳ１４０が繰り返されてよい。
【００６９】
そして、各フレーム２１０，２２０内で得られる各モーションベクトル候補に関連するとして決定されるべき領域は、フレーム２１０，２２０内の画素強度を既定の強度に設定することによって修正されてよい。領域が一旦修正されたならば、例えばブロックＳ１００又はＳ１２０を繰り返すことによって、追加的なモーションベクトル候補が決定されてよい。
【００７０】
直ちに理解されるであろうように、上述の技術は専ら又は部分的にハードウエアにおいて実装され得る。このために、図１８に示されるように、ビデオプロセッサ５０は、第１の画像から第２の画像への領域のモーションを表す少なくとも１つのモーションベクトル候補を取得するための第１の機能ブロック５２と、少なくとも１つのモーションベクトル候補に関連する第１の画像及び第２の画像内の領域を決定するための第２の機能ブロック５４と、第１及び第２の画像内の領域における画素強度を既定の強度に設定することによって第１及び第２の画像を修正するための第３の機能ブロック５６とを含む幾つかの機能ブロック５２，５４，及び５６を含むように形成されてよい。第１、第２及び第３の論理機能ブロックは、第１及び第２の画像に対して所望の数のモーションベクトルが決定されるまで、第３の機能ブロックによって修正される第１及び第２の画像を用いて、取得すること、決定すること、及び修正することとを繰り返す。
【００７１】
理解されるであろうように、機能ブロックの各々は、適切な組み合わせに係る又はシーケンシャルなハードウエア論理を用いて形成されてよい。代替的には、機能ブロックは、ソフトウエア論理及び／又はハードウエア論理の組み合わせを用いて形成されてよい。ビデオプロセッサ５０は、ベクトル候補が決定されるべき画像を記憶するための１つ以上のフレームバッファ６０，６２を含んでいてよく、あるいは外部フレームバッファ（図示せず）上で動作してよい。機能ブロックの各々は、上述のように動作するように、例えば位相相関等を計算するように形成されてよい。ビデオプロセッサ５０は、更にソフトウエア制御又はファームウエア制御の下にあってよい。
【００７２】
直ちに理解されるであろうように、２つの画像の最初の前処理が実行され得る。ここでは２つの画像が長方形であり且つＸ軸及びＹ軸の両方におけるサイズが同一であると仮定したが、異種の画像についてそれらが同一のサイズであることを確保するために、既定の値を付け足すことによって異種の画像を最初に修正してもよい。同様に、カラー画像を従来の技術によってグレースケール(grayscale)の画像に修正することもできる。
【００７３】
本発明の他の実施形態においては、対応するモーションベクトル候補を取得することのための１画素未満の解像度(sub-pixel resolution)を達成するために、相関関数は補間されてよい。
【００７４】
第１及び第２の画像の修正は、修正された第１及び第２の画像からモーションベクトル候補を取得するために採用される技術に従って異なるものになり得る。本発明の前述した実施形態においては、第１及び第２の領域内の画素の強度値はゼロに設定される。好都合なことに、位相相関関数は、強度値ゼロの画素を無視するように構成され得る。本発明の他の実施形態においては、強度値は同様の結果をもたらす他の既定値に修正されてよい。
【００７５】
上述では明示的には言及されていないここで説明される実施形態の利益及び利点は、この明細書及び図面から当業者によって理解され得る。
【００７６】
言うまでもなく、上述の実施形態は例示のみを意図したものであり、限定は意図していない。説明されている実施形態は、部分部分の形態、配列、動作の詳細及び順序において多くの修正を許容可能である。本発明は、むしろ、特許請求の範囲によって定義されるような本発明の範囲内の全てのそのような修正を包含することが意図されている。
【図１】
0005351971.tif 000002
【図２】
0005351971.tif 000003
【図３】
0005351971.tif 000004
【図４】
0005351971.tif 000005
【図５】
0005351971.tif 000006
【図６】
0005351971.tif 000007
【図７】
0005351971.tif 000008
【図８】
0005351971.tif 000009
【図９】
0005351971.tif 000010
【図１０】
0005351971.tif 000011
【図１１】
0005351971.tif 000012
【図１２】
0005351971.tif 000013
【図１３】
0005351971.tif 000014
【図１４】
0005351971.tif 000015
【図１５】
0005351971.tif 000016
【図１６】
0005351971.tif 000017
【図１７】
0005351971.tif 000018
【図１８】
0005351971.tif 000019