(57)【要約】  画像処理システムは、第１のフレームレートを有する第１の画像ストリーム及び該第１のフレームレートよりも低い第２のフレームレートを有する第２の画像ストリームを取得して、該第１及び第２の画像ストリームの既存フレームに基づいて該第２の画像ストリーム用の追加フレームを生成し、及び、該追加フレームを用いて該第２の画像ストリームのフレームレートを高めるように構成されたイメージプロセッサを備える。１例として、該第１及び第２の画像ストリームの既存フレームに基づいて該第２の画像ストリーム用の追加フレームを生成することは、それぞれの反復回において、該第２の画像ストリーム内の連続する既存フレームのそれぞれの対間に挿入するための１以上の追加フレームの組を決定することを含む。【選択図】図４
2016509805.tif 000002
【特許請求の範囲】
【請求項１】
第１のフレームレートを有する第１の画像ストリームと、該第１のフレームレートよりも低い第２のフレームレートを有する第２の画像ストリームを得るステップと、
前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成するステップと、
前記追加フレームを用いて、前記第２の画像ストリームのフレームレートを高めるステップ
を含む方法であって、
前記得るステップ、前記生成するステップ、及び追加フレームを用いる前記ステップが、メモリに結合されたプロセッサを含む少なくとも１つの処理装置において実施される、方法。
【請求項２】
前記第１の画像ストリーム及び前記第２の画像ストリームを得るステップが、前記第１の画像ストリームと前記第２の画像ストリームの少なくとも一方を、奥行き撮像装置からの奥行き画像ストリームとして得るステップを含む、請求項１の方法。
【請求項３】
前記第１の画像ストリーム及び前記第２の画像ストリームを得るステップが、所与のシーンを撮像するように構成されたそれぞれ別個の画像センサーから前記第１の画像ストリームと前記第２の画像ストリームを得るステップを含む、請求項１の方法。
【請求項４】
前記第２の画像ストリーム内の２つの連続する既存フレームが、前記第１の画像ストリーム内の（Ｒ＋１）個の連続する既存フレームに対応し、これによって、前記第１の画像ストリーム内のＮ番目の既存フレームが、前記第２の画像ストリーム内のＭ番目の既存フレームに対応する場合には、前記第１の画像ストリーム内の（Ｎ＋Ｒ）番目の既存フレームは、前記第２の画像ストリーム内の（Ｍ＋１）番目の既存フレームに対応することからなる、請求項１の方法。
【請求項５】
前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成するステップが、前記第２の画像ストリーム内の前記Ｍ番目の既存フレームと前記（Ｍ＋１）番目の既存フレームとの間に挿入するための（Ｒ＋１）個の追加フレームを決定するステップを含む、請求項４の方法。
【請求項６】
前記第２の画像ストリーム内の前記Ｍ番目の既存フレームと前記（Ｍ＋１）番目の既存フレームとの間に挿入するために決定された前記（Ｒ＋１）個の追加フレームが、前記第１の画像ストリーム内の対応する（Ｒ＋１）個の連続する既存フレームと、前記第２の画像ストリーム内の前記Ｍ番目及び前記（Ｍ＋１）番目の既存フレームとに基づいて決定される、請求項５の方法。
【請求項７】
前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成するステップが、前記第２の画像ストリーム内の連続する既存フレームのそれぞれの対の間に挿入するための１以上の追加フレームの組を決定するステップを含む、請求項１の方法。
【請求項８】
所与の反復回において、前記第２の画像ストリーム内の前記連続する既存フレームの対のうちの対応する１つの対の間に挿入するための１以上の追加フレームの特定の組が、前記第１の画像ストリーム内の複数の対応する既存フレームと、前記第２の画像ストリーム内の前記対応する連続する既存フレームの対とに基づいて決定される、請求項７の方法。
【請求項９】
前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成するステップが、
それぞれのクラスタマップを生成するために、前記既存フレームのうちのそれぞれ１つのフレームに対してクラスタ化処理を適用するステップと、
前記クラスタマップのクラスタ間の対応関係を示すクラスタ対応情報を生成するステップ
を含むことからなる、請求項１の方法。
【請求項１０】
前記第１の画像ストリームと前記第２の画像ストリームのうちの少なくとも一方の既存フレームにクラスタ化処理を適用する前に、それらの既存フレームの少なくとも１つのサブセット（部分集合）にアフィン変換を適用するステップをさらに含む、請求項９の方法。
【請求項１１】
前記既存フレームのうちの所与の１つの既存フレームに適用される前記クラスタ化処理が、統計的領域併合に基づくクラスタ化処理を含み、該統計的領域併合において、前記所与の既存フレームは、各々が異なる統計的領域に対応するところの複数のクラスタに分けられることからなる、請求項９の方法。
【請求項１２】
統計的領域併合に基づく前記クラスタ化処理は、
【数２４】
2016509805.tif 000026
という式にしたがって、前記所与の既存フレームの２つの任意の統計的領域R1及びR2について指定されたマージ述語を用いて再帰的なマージを実施し、これによって、P（R1,R2）＝真の場合には、領域R1及びR2を単一のクラスタにマージし、ここで、｜R1−R2｜は、領域R1における画素数と領域R2における画素数の差の値を表し、b(Ri)は、領域Riにおける画素数と所与のフレームにおける画素の取り得る最大値との関数である、請求項１１の方法。
【請求項１３】
前記クラスタ対応情報を用いて奥行き充填処理を実行するステップをさらに含み、該奥行き充填処理において、前記第１及び第２の画像ストリームの前記既存フレームのうちの１以上の既存フレーム内の１以上のクラスタに関連する奥行きデータが、前記追加フレームを生成するステップに関連して、前記追加フレームのうちの１以上の追加フレーム内の対応するクラスタに加えられる、請求項９の方法。
【請求項１４】
前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成するステップが、
前記第１の画像ストリームの前記既存フレームのうちの１以上の既存フレームの一部分と、前記第２の画像ストリームの前記既存フレームのうちの１以上の既存フレームの一部分との間の対応関係を識別するステップと、
前記識別された一部分からの画像情報を用いて、少なくとも１つの前記追加フレームを形成するステップ
を含むことからなる、請求項１の方法。
【請求項１５】
コンピュータープログラムコードが組み込まれたコンピューター可読記憶媒体であって、該プログラムコードが前記処理装置で実行されると、前記処理装置は請求項１の方法を実行することからなる、コンピューター可読記憶媒体。
【請求項１６】
メモリに結合されたプロセッサを含む少なくとも１つの処理装置を備える装置であって、
前記少なくとも１つの処理装置は、第１のフレームレートを有する第１の画像ストリームと、該第１のフレームレートよりも低い第２のフレームレートを有する第２の画像ストリームとを取得して、前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成し、及び、該追加フレームを用いて、前記第２の画像ストリームのフレームレートを高めるように構成されることからなる、装置。
【請求項１７】
前記処理装置がイメージプロセッサを備え、
前記イメージプロセッサが、
それぞれのクラスタマップを生成するために、前記既存フレームのうちのそれぞれの既存フレームに対してクラスタ化処理を適用するように構成されたクラスタ化モジュールと、
前記クラスタマップのクラスタ間の対応関係を示すクラスタ対応情報を生成するように構成されたクラスタ対応付けモジュール
を備えることからなる、請求項１６の装置。
【請求項１８】
前記イメージプロセッサがさらに奥行き充填モジュールを備え、
前記奥行き充填モジュールが、前記クラスタ対応情報を用いて奥行き充填処理を実行するように構成され、該奥行き充填処理において、前記第１及び第２の画像ストリームの記既存フレームのうちの１以上の既存フレーム内の１以上のクラスタに関連する奥行きデータが、前記追加フレームを生成することに関連して、前記追加フレームのうちの１以上の追加フレーム内の対応するクラスタに加えられることからなる、請求項１７の装置。
【請求項１９】
第１のフレームレートを有する第１の画像ストリームを提供する第１の画像ソースと、
前記第１のフレームよりも低い第２のフレームレートを有する第２の画像ストリームを提供する第２の画像ソースと、
前記第１及び第２の画像ソースに結合されたイメージプロセッサ
を備える画像処理システムであって、
前記イメージプロセッサは、前記第１及び第２の画像ストリームの既存フレームに基づいて前記第２の画像ストリーム用の追加フレームを生成し、及び、該追加フレームを用いて、前記第２の画像ストリームのフレームレートを高めるように構成されることからなる、画像処理システム。
【請求項２０】
前記第１の画像ソースと前記第２の画像ソースのうちの少なくとも一方が奥行き撮像装置を備える、請求項１９のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本分野は、一般的には画像処理に関し、より具体的には、異なるフレームレートを有する複数の画像ストリームの処理に関する。
【背景技術】
【０００２】
画像処理は種々の異なるマシンビジョン用途において重要であり、該処理は、種々の異なる画像ソースから得られた２次元（２Ｄ）画像及び３次元（３Ｄ）画像（の両方を場合によっては）含む異なるタイプの複数の画像に関わる場合がある。たとえば、２Ｄ画像は、ビデオカメラなどの画像ソースによって提供され、３Ｄ画像は、構造光（SL：structured light）カメラやToF（time of flight）カメラなどの奥行き（深度）イメージャ（奥行き撮像装置）によって提供される。したがって、従来の画像処理技術は、しばしば、複数の別個のソースからの画像ストリームを処理することを必要とする。しかしながら、異なるそれぞれのソースが異なるフレームレートの画像を生成する場合には、いくつかの問題が生じうる。
【発明の概要】
【課題を解決するための手段】
【０００３】
１実施形態では、画像処理システムは、第１のフレームレートを有する第１の画像ストリーム、及び第１のフレームレートよりも低い第２のフレームレートを有する第２の画像ストリームを取得し、第１及び第２の画像ストリームの既存のフレームに基づいて第２の画像ストリーム用の追加のフレームを生成ないし回復し、該追加のフレームを用いて第２の画像ストリームのフレームレートを高めるように構成されたイメージプロセッサを備える。ほんの１例として、第１及び第２の画像ストリームの既存のフレームに基づいて第２の画像ストリーム用の追加のフレームを生成ないし回復することは、第２の画像ストリーム中の連続する既存のフレームのそれぞれの対間に挿入する１以上の追加のフレームの組を決定することを含むことができる。
【０００４】
本発明の他の実施形態には、方法、装置、システム、処理装置、集積回路、及び、コンピュータープログラムコードが組み込まれたコンピューター可読記憶媒体が含まれるが、本発明の実施形態はそれらには限定されない。
【図面の簡単な説明】
【０００５】
【図１】１実施形態における画像処理システムのブロック図である。
【図２】図１のシステムにおいて、フレームレートが低い画像ストリームのフレームレートを高めるために該画像ストリームに、生成された追加のフレームを挿入する様子を示す。
【図３】図１のシステムにおける、フレームレートが低い画像ストリームのフレームレートを高めるための例示的な処理のフローチャートである。
【図４】図１のシステムにおける、フレームレートが低い画像ストリームのフレームレートを高めるための別の例示的な処理を示すフローチャートである。
【図５】図１のシステムにおけるイメージプロセッサのクラスタ対応付けモジュールの動作を示すフローチャートである。
【図６】図１のシステムにおけるイメージプロセッサのクラスタ対応付けモジュールの動作を示すフローチャートである。
【図７】図１のシステムにおけるイメージプロセッサのクラスタ対応付けモジュールの動作を示すフローチャートである。
【０００６】
以下、本発明の実施形態を、イメージプロセッサまたは他のタイプの処理装置を備えて、フレームレートがより高い少なくとも１つの画像ストリームを用いて奥行き画像ストリーム（depth image stream）もしくは他のタイプの画像ストリームのフレームレートを高めるための技術を実施する例示的な画像処理システムに関連して説明する。しかしながら、本発明の実施形態は、フレームレートが互いに異なる複数の画像ストリームを処理する任意の画像処理システムもしくは関連する装置もしくは技術により一般的に適用できることが理解されるべきである。
【０００７】
図１は、本発明の１実施形態における画像処理システム１００を示している。画像処理システム１００は、ネットワーク１０４を介して複数の処理装置１０６と通信するイメージプロセッサ１０２を備える。イメージプロセッサ１０２は、それぞれの画像ソース１０７から少なくとも２つの別個の画像ストリームを受け取る。より具体的には、イメージプロセッサ１０２は、高フレームレート画像ソース１０７−１から第１のフレームレートを有する第１の画像ストリームFs1を受け取り、低フレームレート画像ソース１０７−２から第１のフレームレートよりも低い第２のフレームレートを有する第２の画像ストリームFs２を受け取る。画像ソース１０７は、限定はしないが、所与のシーンの同じかまたは類似の視点から得られた画像ストリームを提供し、これによって、類似の画素クラスタ（ピクセルクラスタ）もしくは他の画像セグメントを、フレームレートが高い画像ストリーム（すなわち、高フレームレート画像ストリーム）とフレームレートが低い画像ストリーム（すなわち、低フレームレート画像ストリーム）の両方に提示することができるようにするものであると想定することができる。かかる文脈においてフレームレートに適用される「高い」及び「低い」という用語は、相対的な用語であり、特定の絶対的なフレームレートを要求するものとして解釈されるべきではない。
【０００８】
１例として、高フレームレート画像ソース１０７−１は、一連の２Ｄ画像を提供するビデオカメラもしくは他のビデオソース（映像ソース）を備えることができ、低フレームレート画像ソース１０７−２は、一連の奥行き画像を提供するSLカメラやToFカメラなどの奥行き撮像装置（depth imager：奥行き情報を取得する撮像装置ないし奥行き情報を検出する装置。奥行き情報イメージャともいう）を備えることができる。
【０００９】
他の実施形態では、複数の画像ストリームを生成する様々な他のタイプの画像ソースを使用することができ、そのような画像ソースは、２Ｄ（二次元）の赤外線画像、グレースケール画像、カラー画像もしくは他のタイプの２Ｄ画像を生成するように構成された２Ｄイメージャ、並びに、SLカメラやToFカメラなどの３Ｄイメージャが任意の組み合わせで含むことができる。
【００１０】
１例として、画像ソース１０７は、各々が互いに別個の画像ストリームを生成するそれぞれの画像センサー（画像センサーはイメージセンサともいう）を備えることができる。それらのセンサーを別々に実装して互いに分離して配置することができ、または、それらのセンサーは、第１の画像ストリームを生成するために使用されるセンサーセル（センサセルともいう）の第１の組及び第２の画像ストリームを生成するために使用されるセンサーセルの第２の組を有する一体型センサの異なる部分を構成することができる。したがって、第１の画像ストリームと第２の画像ストリームを、所与のシーンを画像化ないし撮像するように構成されたそれぞれ別個の画像センサーから得ることができる。本明細書では、一般に、かかる別個の画像センサーは、実質的に同じシーンを異なるフレームレートで撮像することが想定されている。
【００１１】
図１の実施形態では、第１の画像ストリームFs1及び第２の画像ストリームFs２は、別個の画像ソース１０７−１及び１０７−２によって提供されるが、他の実施形態では、１つのイメージャだけもしくは他のタイプの画像ソースを用いて、フレームレートが異なる複数の画像ストリームを提供することができる。したがって、たとえば、第１の画像ソース１０７−１及び第２の画像ソース１０７−２は、上記の異なるセンサーなどの、単一のマルチストリームイメージャ（マルチストリーム撮像装置）の異なる部分を表すことができる。所与の画像ソース（画像ソースは、本明細書では広義の意味で使用されている用語である）は、イメージプロセッサ１０２によってまたはイメージプロセッサ１０２のために取り出される既に撮像された画像ストリームを格納するメモリまたは他の記憶装置を備えることができる。別の例として、画像ソースは、１以上の画像ストリームを処理のためにイメージプロセッサ１０２に提供するサーバーを備えることができる。
【００１２】
また、図１では、画像ストリームのうちの１つのフレームレートを高めるために２つの入力画像ストリームだけが処理されるが、他の実施形態では、第１及び第２の画像ストリームより多くの画像ストリームを使用することができる。たとえば、追加のフレームを生成ないし回復して、少なくとも１つの画像ストリームのフレームレートを高めるために、互いに異なるフレームレートを有する３つ以上の別個の画像ストリームを処理することができる。
【００１３】
この実施形態では、イメージプロセッサ１０２は、第１の画像ストリームFs1及び第２の画像ストリームFs２の既存のフレームに基づいて第２の画像ストリームFs２用の追加のフレームを生成乃至回復し、及び、該追加のフレームを用いて、第２の画像ストリームFs２のフレームレートを高めるように構成されている。たとえば、イメージプロセッサ１０２は、第２の画像ストリームのフレームレートが第１の画像ストリームのフレームレートに実質的に等しくなるまで、第２の画像ストリームのフレームレートを高めることができ、これによって、第１及び第２の画像ストリームを、１以上の提供先装置（送り先装置）によってより簡単に処理することが可能になる。
【００１４】
より具体的には、イメージプロセッサ１０２は、第２の画像ストリーム中の連続する既存のフレームのそれぞれの対間に挿入するための１以上の追加のフレームの組を決定するように構成されている。かかる決定のそれぞれは、図３及び図４のフローチャートに関連して説明する例示的な処理のうちの１つの処理の繰り返しであると見なすことができる。所与のそのような繰り返しにおいて、第２の画像ストリーム中の連続する既存のフレームの対のうちの対応する対間に挿入するための１以上の追加のフレームの特定の組が、第１の画像ストリーム中の対応する複数の既存のフレーム、及び、第２の画像ストリーム中の連続する既存のフレームの該対応する対に基づいて決定される。
【００１５】
この技術は、第１の画像ストリームFs1の既存のフレームと第２の画像ストリームFs２の既存のフレームとの対応関係の１例を示している図２に例示されている。この例における第２の画像ストリームは、奥行き画像（depth image）のストリームを含む奥行きストリーム（depth stream）であることが想定されている。第１の画像ストリームは第２の画像ストリームよりも高いフレームレートを有しているので、図示されている時間（ないし期間）にわたる第１の画像ストリームは、第２の画像ストリームよりも多くのフレームを含んでいる。図において「？」で（すなわち未知のものとして）マークされている第２の画像ストリームのフレームは、第２の画像ストリームFs２のフレームレートを高めるために、イメージプロセッサ１０２によって第２の画像ストリームFs２用に生成ないし回復される追加のフレームの例である。
【００１６】
第２の画像ストリームFs２中の２つの連続する既存のフレームは、第１の画像ストリームFs1中のＲ＋１個の連続する既存のフレームに対応し、このため、第１の画像ストリーム中のＮ番目の既存のフレームは、第２の画像ストリーム中のＭ番目の既存のフレームに対応し、第１の画像ストリーム中の（Ｎ＋Ｒ）番目の既存のフレームは、第２の画像ストリーム中の（Ｍ＋１）番目の既存のフレームに対応する。したがって、この例では、第１の画像ストリーム中の連続するＲ＋１個の既存のフレーム毎に、第２の画像ストリーム中の連続する２つの既存のフレームだけが存在する（本明細書では、画像ストリームを画像シーケンスともいう）。
【００１７】
第１の画像ストリームFs1と第２の画像ストリームFs２中の対応するフレームを、それぞれの画像センサーによって実質的に同じ時刻（またはタイムインスタンス）に取り込まれた（すなわち撮像された）フレームとすることができる。しかしながら、この文脈における「対応する」という用語は、第１と第２の画像ストリームのフレーム間の他のタイプの時間的な関係を含むものとしてより広義に解釈されるべきことが意図されている。
【００１８】
第２の画像ストリームFs２用に追加のフレームを生成ないし回復する際に、イメージプロセッサ１０２は、第２の画像ストリーム中のＭ番目の既存のフレームと（Ｍ＋１）番目の既存のフレームの間に挿入するための（Ｒ＋１）個の追加のフレームを決定する（以下、「既存のフレーム」、「追加のフレーム」を、それぞれ、「既存フレーム」、「追加フレーム」と記載する）。より詳細に後述するように、第２の画像ストリーム中のＭ番目の既存フレームと（Ｍ＋１）番目の既存フレームの間に挿入されるものとして決定される（Ｒ＋１）個の追加フレームは、第１の画像ストリーム中の対応する（Ｒ＋１）個の連続する既存フレーム、及び第２の画像ストリーム中のＭ番目及び（Ｍ＋１）番目の既存フレームに基づいて決定される。たとえば、追加フレームの生成ないし回復は、第１の画像ストリームの１以上の既存フレームの（いくつかのもしくはそれぞれの）部分と、第２の画像ストリームの１以上の既存フレームの（いくつかのもしくはそれぞれの）部分との間の対応関係を特定ないし識別すること、及び、特定ないし識別されたそれらの部分からの画像情報を用いて少なくとも１つの追加フレームを形成することを含むことができる。いくつかの実施形態では、それらの部分は、より具体的に「クラスタ」と呼ばれる。
【００１９】
上記から明らかなように、この実施形態のイメージプロセッサ１０２は、変更された第２の画像ストリームFs２'、すなわち、所与の時間内に１以上の追加フレームを含み、したがって、入力された元の第２の画像ストリームFs２よりも高いフレームレートを有する画像ストリームを生成するように構成されている。
【００２０】
当然のことながら、図２に示されている特定の構成ないし配列は説明用の例示に過ぎず、他の実施形態では、第１及び第２の画像ストリームのフレーム間の他のタイプの対応関係が存在しうる。開示されている技術を、フレームレート比Fr1/Fr2＞１を有する任意のマルチストリーム構成に直接的にないし容易に適合させることができる。ここで、Fr1は、第１の画像ストリームFs１のフレームレートを表し、Fr2は、第２の画像ストリームFs２のフレームレートを表している。
【００２１】
図１に例示されているイメージプロセッサ１０２は、さらなる処理のために、入力された第１の画像シーケンスFs１及び第２の画像シーケンスFs２からのフレームを取り込むように構成されたフレームキャプチャモジュール１０８を備える。この文脈における「フレームキャプチャ」は、一般に、第１及び第２の画像シーケンスの特定のフレームをさらなる処理のためにイメージプロセッサによって取得する１つのやり方を意味していることに留意されたい。これは、関連する画像センサーによる最初の画像の取り込みとは異なる。
【００２２】
取り込まれたフレームは、第２の画像シーケンスの追加フレームを生成ないし回復して、第２の画像シーケンスのフレームレートを高めるために処理される。上述したように、フレームレートが高くされた第２の画像シーケンスを、本明細書では、変更された第２の画像シーケンスFs２'ともいう。これは、フレームレートが高くされた第２の画像シーケンスは、入力された元の第２の画像シーケンスの部分ではなかった生成ないし回復された追加フレームを含んでいるからである（以下、生成ないし回復された追加フレームを、生成された追加フレームとも記載する）。
【００２３】
第２の画像シーケンス用の追加フレームの生成は、イメージプロセッサ１０２のアフィン変換モジュール１１０、クラスタ化モジュール１１２，クラスタ対応付けモジュール１１４、奥行き充填（depth filing）モジュール１１６、及び後処理モジュール１１８を用いて実行される。これらのモジュールの動作については、図３〜図７のフローチャートを参照してより詳細に説明する。それらの例示的なモジュールは図１の実施形態では個別に示されているが、他の実施形態では、それらのモジュールのうちの２以上を組み合わせてモジュールの数を少なくすることができる。
【００２４】
イメージプロセッサ１０２によって生成された変更された第２の画像ストリームFs２'を、ネットワーク１０４を介して１以上の処理装置１０６に提供することができる。それらの処理装置１０６は、たとえば、コンピューター、携帯電話、サーバー、または記憶装置を任意の組み合わせで備えることができる。１以上のかかる装置には、たとえば、イメージプロセッサ１０２によって生成された画像を提示するために使用される表示画面や他のユーザーインターフェースを含めることもできる。したがって、処理装置１０６は、ネットワーク１０４を介してイメージプロセッサ１０２から処理された画像ストリームを受け取る様々な異なる提供先装置を備えることができ、たとえば、イメージプロセッサ１０２から１以上の処理された画像ストリームを受け取る少なくとも１つのサーバーもしくは記憶装置を含むことができる。
【００２５】
この実施形態では、イメージプロセッサ１０２は、処理装置１０６から分離しているものとして図示されているが、イメージプロセッサ１０２を、１以上の処理装置に少なくとも部分的に結合することができる。したがって、たとえば、イメージプロセッサ１０２を、処理装置１０６のうちの所与の１つを用いて少なくとも部分的に実施することができる。１例として、コンピューターまたは携帯電話を、イメージプロセッサ１０２及び（場合によっては）１以上の画像ソース１０７を組み込むように構成することができる。したがって、画像ソース１０７は、コンピューター、携帯電話、または他の処理装置に関連付けられたカメラもしくは他のイメージャを備えることができる。それゆえ、イメージプロセッサ１０２を、同じ処理装置において、１以上の画像ソースもしくは画像提供先に少なくとも部分的に結合できることは明らかである。
【００２６】
この実施形態のイメージプロセッサ１０２は、少なくとも１つの処理装置を用いて実施され、及び、メモリ１２２に結合されたプロセッサ１２０を備えることが想定されている。プロセッサ１２０は、画像処理行程の動作ないし性能を制御するために、メモリ１２２に格納されているソフトウェアコードを実行する。イメージプロセッサ１０２はまた、ネットワーク１０４を介する通信をサポートするネットワークインターフェース１２４を備えている。
【００２７】
プロセッサ１２０は、たとえば、マイクロプロセッサ、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、中央処理装置（CPU）、演算装置（ALU）、デジタル信号プロセッサ（DSP）、もしくは、他の類似の処理装置構成要素、並びに、他のタイプ及び構成ないし配列の画像処理回路の任意の組み合わせから構成することができる。
【００２８】
メモリ１２２は、モジュール１１０、１１２、１１４、１１６及び１１８の一部などのイメージプロセッサ１０２の機能の一部を実施する際にプロセッサ１２０によって実行されるソフトウェアコードを格納している。対応するプロセッサによる実行のためにソフトウェアコードを格納するそのようなメモリは、本明細書では、コンピュータープログラムコードが組み込まれているコンピューター可読媒体や他のタイプのコンピュータープログラム製品としてより一般的に呼ばれるものの１例であって、たとえば、ランダムアクセスメモリ（RAM）や読み出し専用メモリ（ROM）などの電気メモリ、磁気メモリ、光メモリ、もしくは他のタイプの記憶装置の任意の組み合わせから構成することができる。上述したように、プロセッサを、マイクロプロセッサ、ASIC、FPGA、CPU、ALU、DSPもしくは他の画像処理回路の一部またはそれらの組み合わせから構成することができる。
【００２９】
当然のことながら、本発明の実施形態を集積回路の形態で実施することができる。かかる集積回路の実施の際には、典型的には、半導体ウェーハの表面に同一のダイが繰り返しパターンで形成される。それぞれのダイは、本明細書に記載されている画像処理回路を含み、及び、他の構造もしくは回路を含むことができる。個々のダイは、ウェーハから切り取られもしくはさいの目に切り分けられた後、集積回路としてパッケージ化される。ウェーハをさいの目に切り分け、ダイをパッケージ化して集積回路を作製するやり方は当業者には既知であろう。そのようにして作製された集積回路は、本発明の実施形態とみなされる。
【００３０】
図１に示されている画像処理システム１００の特定の構成は例示に過ぎず、他の実施形態のシステム１００は、具体的に図示されている要素（そのようなシステムを実施する際に一般的に共通に見られるタイプの１以上の要素を含む）に加えてまたは該要素の代わりに他の要素を備えることができる。
【００３１】
たとえば、いくつかの実施形態では、画像処理システム１００は、ユーザーのジェスチャーを認識するために画像ストリームを処理するビデオゲームシステムもしくは他のタイプのジェスチャーベースのシステムとして実施される。開示している技術を、ジェスチャーベースのヒューマンマシンインターフェースを必要とする様々な他のシステム用に同様に適合させることができ、及び、ロボット工学や他の産業用途におけるマシンビジョンシステムなどのジェスチャー認識以外の用途にも適用することができる。
【００３２】
図３には、第２の画像ストリームFs２のフレームレートを高めるための例示的な処理３００が示されている。該処理は、少なくともイメージプロセッサ１０２のモジュール１０８、１１０、１１２、１１４、１１６及び１１８を用いて該プロセッサ１０２によって実施されることが想定されている。この実施形態の処理は、ステップ３０２〜３１２を含んでおり、それらのステップは、（該処理の）複数回の反復のそれぞれについて繰り返される。それぞれの反復回において、該処理は、第２の画像ストリームFs２のフレームレートを高めるために、第１の画像ストリームFs1からの（Ｒ＋１）個のフレームと第２の画像ストリームFs２からの２つのフレームを含む（Ｒ＋３）個のフレームを取得して、第２の画像ストリームFs２の２つフレーム間に挿入する（Ｒ−１）個の追加フレームを生成する。本明細書では、該処理によって生成されたこの追加フレームを、第２の画像ストリームの「接続」フレームともいう。さらに、この実施形態のフレームを「それぞれの画像」という。本明細書で使用されている「フレーム」という用語は、画像、並びに他のタイプ及び構成の画像情報を含むものとして広義に解釈されるべきことが意図されている。
【００３３】
ステップ３０２において、図３の処理の所与の反復回においてイメージプロセッサ１０２は、Fs1及びFs２画像ストリームから特定の指定された画像を「入手する」もしくは他のやり方で得る。それらの画像は、Im1(N)〜Im1(N+R)として表される第１の画像ストリームFs1からの（Ｒ＋１）個の画像とIm2(M)及びIm2(M+1)として表される第２の画像ストリームFs２からの２つの画像を含んでいる。説明の明瞭化及び単純化のために、全ての画像Imi(j)の画素のサイズもしくは解像度は同じであることが想定されている（但し、他の実施形態では、サイズまたは解像度が異なる画像を使用することができる）。
【００３４】
ステップ３０２に関して述べた（Ｒ＋３）個の画像は、本明細書では、より一般的に、第１の画像ストリームFs1からの（Ｒ＋１）個のフレームと第２の画像ストリームFs２からの２つのフレームと呼ばれる。それらの画像を、フレームキャプチャモジュール１０８を用いてそれらのそれぞれの画像ストリームから得ることができる。
【００３５】
ステップ３０４において、ステップ３０２で得られた（Ｒ＋３）個の画像の少なくとも１つのサブセット（部分集合）にアフィン変換が適用される。たとえば、アフィン変換を、第１の画像ストリームFs1からの（Ｒ＋１）個の画像だけに、または、第２の画像ストリームFs２からの２つの画像だけに適用することができる。アフィン変換は、複数の画像の視点を実質的に等しくし、これによって、後続のクラスタ化処理を容易にするために使用される校正変換（calibrating transform:較正変換ともいう）のタイプの１例である。アフィン変換を、センサーの製造時もしくはセットアップ時に実施される画像センサー較正の結果に基づくものとすることができ、該アフィン変換は、画像センサー１０２のアフィン変換モジュール１１０を用いて適用される。たとえば、第１及び第２の画像ストリーム用の画像センサーの配置ないし構成に起因して、該第１及び第２の画像ストリームからの画像の視点がすでに実質的に等しくされている実施形態では、アフィン変換処理を省くことができる。
【００３６】
ステップ３０６において、（Ｒ＋３）個の画像が、それらの画像へのクラスタ化処理の適用によってクラスタに分けられる。この処理は、イメージプロセッサ１０２のクラスタ化モジュール１１２を用いて実施される。より具体的には、該クラスタ化処理は、（Ｒ＋３）個の画像の各々について別個のクラスタマップを生成することを含む。より具体的には、別個のクラスタマップは、入力画像の組｛Im1(N), Im1(N+1),…, Im1(N+R);Im2(M), Im2(M+1)｝中の各画像について生成される。異なる画像のクラスタマップは、クラスタの数が異なったり、クラスタの記数法における順番（cluster numeration order）が異なるなど、互いに異なる特性を有する場合がある。
【００３７】
１例として、画像Imi(j)の所与のクラスタマップCmi(j)を次のやり方で定義することができる。画像Imi(j)からの全ての画素の組は、交差しない画素のサブセットに分割され、この場合、かかる各サブセットが１つのクラスタを表すと仮定する。この場合のクラスタマップを、画像Imi(j)とサイズが同じである行列Cmi(j)の形態とすることができる。Cmi(j)からの要素（m,n）は、座標（m,n）を有する画素が属する、Imi(j)の特定のクラスタのインデックスに対応する。他の実施形態では、他のタイプのクラスタマップを使用することができる。したがって、本明細書で使用される「クラスタマップ」という用語は広義に解釈されるべきであることが意図されている。たとえば、クラスタ対応付けモジュール１１４によって生成されたクラスタ対応情報の少なくとも一部を、１以上のクラスタマップの形態で生成することもできる。
【００３８】
ステップ３０６を実施する際に、様々なクラスタ化技術を使用することができる。統計的領域併合（SRM：statistical region merging）に基づくそのようなクラスタ化技術の詳細な例が本明細書の他の箇所で説明されている。SRMの伝統的な側面は、R. Nock及びF. Nielsenによる「Statistical region merging,」（IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.26, No.11, November 2004）に開示されている（本論文は、参照により本明細書に組み込まれるものとする）。一般的には、この実施形態におけるクラスタ化技術は、識別されたクラスタの境界に、撮像されたシーン内の対応する物体の有意な境界が（それらの物体が、第１の画像ストリームと第２の画像ストリームそれぞれ用の画像センサーから異なる距離に配置されうる場合であっても、または、それらの物体が、それら２つの画像ストリーム中に異なる色もしくはその他の異なる特性を有して現れうる場合であっても）確実に含まれるようにすることを試みる。
【００３９】
ステップ３０８では、クラスタ対応情報が、ステップ３０６においてそれぞれの画像について生成されたクラスタマップに基づいて決定される。この決定は、イメージプロセッサ１０２のクラスタ対応付けモジュール１１４によって実行される。クラスタ対応情報は、ステップ３０６で生成されたクラスタマップのクラスタ間の対応関係（または対応）を示しており、該情報自体を、上記したように、本明細書に記載されているCg1及びCg2として表されるクラスタマップなどの他のタイプのクラスタマップを用いて少なくとも部分的に表すことができる。
【００４０】
１例として、ステップ３０８におけるクラスタ対応付け処理は、その入力として、ステップ３０６からのCm1(N),…,Cm1(N+R);Cm2(M),Cm2(M+1)と、入力画像の組｛Im1(N),Im1(N+1),…,Im1(N+R);Im2(M),Im2(M+1)｝とを受け取ることができる。この場合のクラスタ対応付けの決定は、異なる画像内のクラスタの組間の関係を見出すことを含み、これによって、たとえば、第１の画像ストリームからの１つの入力画像Im1(j)の交差しない（すなわち非交差の）クラスタの組が、第２の画像ストリームからの別の入力画像Im2(k)の交差しないクラスタの組に対応するようにする。
【００４１】
したがって、クラスタの対応付けによって、Im1(j)内の1組の複数のクラスタを、Im2(k)内の別の組の複数のクラスタに対応するものとして識別することができ、この場合、それら２つのクラスタは、撮像された同じ１つもしくは複数の物体に関連付けられている。Im1(j)とIm2(k)のクラスタの組は、それらのそれぞれの画像の実質的に全ての画素の組をカバーすることが想定されている。また、画像Im1(j)とIm2(k)は、図２の例のフレームＮとＭまたはフレームＮ＋ＲとＭ＋１などのように、それぞれの画像センサーによって実質的に同時に取り込まれる（すなわち撮像される）ことが想定されている。例示的なクラスタ対応付けの決定のさらなる詳細については、図５〜図７を参照して後述する。
【００４２】
ステップ３１０では、奥行き充填処理が、ステップ３０８で得られたクラスタ対応情報を用いて適用される。これは、一般に、第１及び第２の画像ストリームの画像内の対応するクラスタからの奥行きデータ（depth data）を１以上の追加フレームにマージする（組み込みないし統合する）ことを含む。より具体的には、図示されているように、フレームＮ＋ｉを生成する際に、第１の画像ストリームFs1のフレームＮ＋ｉからの少なくとも１つのクラスタが、第２の画像ストリームFs２のフレームＭ及びＭ＋１からの対応するクラスタからの奥行きデータで充填される（埋められる）。奥行き充填処理において、生成されたフレーム中に充填された奥行きデータを、本明細書に記載されているやり方で前処理することができる。他の実施形態では、クラスタ対応情報に基づいて追加フレームを生成する際に、奥行きデータ以外の画像情報を、または奥行きデータに加えて他の画像情報を用いることができる。
【００４３】
ステップ３１２に示すように、ステップ３１０の奥行き充填処理は、第２の画像ストリームFs２のフレームレートを高める際に使用する（Ｒ−１）個の追加フレームの全ての組を生成するために、ｉ＝１からｉ＝Ｒ−１まで繰り返される。これらの奥行き充填処理は、イメージプロセッサ１０２の奥行き充填モジュール１１６によって実行される。
【００４４】
図３の実施形態には明示されていないが、生成された追加フレームの品質を改善するために、ステップ３１０及び３１２の奥行き充填処理の後に、後処理行程を適用することができる。かかる後処理行程は、イメージプロセッサ１０２の後処理モジュール１１８を用いて実施される。他の実施形態では、後処理を省くことができ、または、該後処理を、少なくとも部分的に奥行き充填処理と組み合わせることができる。また、処理３００を実施する際に、追加のもしくは代替の処理の他の組を用いることができ、したがって、図示されている特定の処理は例示に過ぎない。
【００４５】
図４には、フレームレートが低い画像ストリームFs２のフレームレートを高めるための別の例示的な処理４００が示されている。図示のこの処理は、その入力として、第１の画像ストリームFs1からの（Ｒ＋１）個のフレーム４０２と第２の画像ストリームFs２からの２つのフレーム４０４を受け取り、その出力として、第２の画像ストリームFs２の（Ｒ−１）個の生成された追加フレーム４０６を生成する。図では、第１の画像ストリームからの（Ｒ＋１）個のフレーム４０２は、フレームＮ〜Ｎ＋Ｒとして表されており、第２の画像ストリームからの２つのフレーム４０４は、フレームＭ及びＭ＋１として表されており、（Ｒ−１）個の出力フレーム４０６は、生成されたフレーム１〜Ｒ−１として表されている。この場合にも、他の実施形態では、他の数及びタイプの入力及び出力フレームを用いることができる。
【００４６】
処理４００は、イメージプロセッサ１０２のそれぞれのモジュール１１０、１１２、１１４、１１６及び１１８によって実施されることが想定されているそれぞれのブロックとして図示されている、アフィン変換４１０、クラスタ化４１２、クラスタ対応付け４１４、奥行き充填４１６及び後処理４１８用の処理行程を含んでいる。上述したように、これらの処理行程は例示に過ぎず、他の実施形態では、画像ストリームのフレームレートを高めるために、追加のまたは代替の処理行程の組を使用することができる。
【００４７】
この実施形態におけるアフィン変換は、第１の画像ストリームFs1からの（Ｒ＋１）個のフレーム４０２にだけ適用される。これは、入力フレームの組４０２からのそれぞれの入力フレームＮ、Ｎ＋１、…、Ｎ＋Ｒを処理するアフィン変換ブロック４１０−１、４１０−２、…、４１０−（Ｒ−１）によって図示されている。第２の画像ストリームFs２の２つのフレームＭ及びＭ＋１を含む入力フレーム４０４は、クラスタ化ブロック４１２及び奥行き充填ブロック４１６に直接適用される。図示されているように、アフィン変換ブロック４１０−１、４１０−２、…、４１０−（Ｒ−１）の出力におけるアフィン変換後のフレームも、クラスタ化ブロック４１２及び奥行き充填ブロック４１６に適用される。クラスタ化ブロック４１２は、上述したやり方でクラスタマップを生成し、クラスタ対応付けブロック４１４は、第１の入力ストリームと第２の入力ストリームからのフレーム中のクラスタ間の対応関係（または対応付け）を決定する。得られたクラスタ対応情報（該情報は、上記したように、追加のクラスタマップを含むことができる）は、奥行き充填ブロック４１６に提供され、該ブロック４１６は、その情報を用いて、第２の画像ストリームの（Ｒ−１）個の追加フレームを生成する。後処理ブロック４１８−１、４１８−２、…、４１８−（Ｒ−１）によって示唆されているように、後処理は、それらの追加フレームの各々に個別に適用される。それらの後処理ブロック４１８は、それらのそれぞれの出力において、（Ｒ-１）個の出力フレーム４０６を提供する。
【００４８】
図３の実施形態と同様に、図４の実施形態の処理行程は複数の反復の各々について繰り返され、第２の画像ストリームFs２のフレームレートを高くするために、かかる反復の各々において、第２の画像ストリームFs２の連続する既存フレームの所与の対間に挿入する１組の追加フレームが決定される。
【００４９】
次に、イメージプロセッサ１０２のアフィン変換モジュール１１０によって実施される例示的なアフィン変換処理をより詳しく説明する。
【００５０】
Imi(N)は、画像ストリームFsi（ここでi＝１、２）のＮ番目のフレーム内の撮像された画像であるとする。Ｔ(Im1(N))がIm2(N)の座標系に配置されるように、アフィン変換Ｔを決定することができる。
【００５１】
画像センサーが互いに対して固定されており、それらの配列が予めわかっている１実施形態では、アフィン変換Ｔを、センサーの製造時もしくはセットアップ時にＴ1＝Ｔ(Ｔ2)として決定することができる。ここで、Ｔiは、３Ｄ空間におけるi番目の画像センサーのベクトル基底であり、アフィン変換Ｔは増幅行列（amplicationmatrix）であり、ここで、増幅行列は一般に、１つの組のベクトルを別の組のベクトルにマッピング（写像）する線形変換（一次変換）を提供する。したがって、所与の増幅行列を用いて、たとえば、第１の画像センサーのベクトル基底を第２の画像センサーのベクトル基底に変換することができる。ここで、これらのベクトル基底は単一の３Ｄ空間において考慮される。
【００５２】
アフィン変換Ｔに関するキーポイント（key point）は、使用される画像センサーのタイプに依存する２Ｄまたは３Ｄ空間内にあることが予想され、該キーポイントを、手動でもしくは（たとえばエッジ解析を用いた）自動化技術によって選択することができる。多くの実用的な用途に対する適切なキーポイントの数はおよそ２０であるが、他の実施形態では、他の数のキーポイントを使用することができる。
【００５３】
以下で述べるように、最小自乗法を用いて過剰決定系（overdetermined system：優決定系ともいう）の線形方程式を解くことによってアフィン変換を決定することができる。ｍはキーポイントの数を表すものとし、Ｄxyzを、Im1(N)からのｍ個の全てのポイントの座標を含む列単位で書かれた２ｘｍまたは３ｘｍ行列と定義し、Ｔxyzを、Im2(N)からの対応するｍ個のポイントを含む列単位で書かれた２ｘｍまたは３ｘｍ行列と定義する。ＡとＴＲは、それぞれ、最小二乗平均法の意味で最適なアフィン変換行列と関連する並進ベクトル（または変換ベクトル）を表すものとする。３Ｄの場合には、
【数１】
2016509805.tif 000003
であり、ここで、（ｘij，ｙij，ｚij）は、Imj(N)のｉ番目のキーポイントの座標であり、行列Ａ及びベクトルＴＲは共にアフィン変換
【数２】
2016509805.tif 000004
を定義する。
【００５４】
行列Ａ及びベクトルＴＲを、次の最適化問題の解として見出すことができる。
【数３】
2016509805.tif 000005
【００５５】
要素単位の表記Ａ＝（aij）及びＴＲ＝（trk）を用いると、最小二乗平均法の意味におけるこの最適化問題の解は、次の連立線形方程式に基づく。ここで、（i、j）＝（1,1）,…,（3,3）であり、k＝１,…,３であり、該連立方程式は、全部で１２個の変数と１２ｍ個の方程式を含んでいる。
【数４】
2016509805.tif 000006
【００５６】
上記のようにしてアフィン変換パラメータＡ及びＴＲが決定されると、次のように、画像Im1(N)は、Im2(N)の座標系に変換される。
【数５】
2016509805.tif 000007
【００５７】
アフィン変換を適用した結果として、変換された画像Ｄ1における画素の（x,y）座標は必ずしも整数であるとは限らず、より一般的に有理数である。それらの有理数座標を、最近傍法もしくは補間法などの技法を用いて、Im2(N)の規則的等間隔直交整数格子（regular equidistant orthogonal integer lattice）にマッピング（写像）することができる。かかるマッピングによって、Im2(N)と同じ解像度を有する画像Im1(N)が提供されるが、該マッピングは該規則的格子内のいくつかのポイントを充填しないままにしうるので、空の画素位置（すなわち、未定義ないし不定のデータ）が存在する場合がありうる。
【００５８】
上記は、イメージプロセッサ１０２によって実施することができるアフィン変換の１例に過ぎず、他の実施形態では、第１及び第２の画像ストリームを生成するために使用される画像センサーの座標系を位置合わせするために、他のタイプの変換もしくは技術を使用することができる。
【００５９】
次に、イメージプロセッサ１０２のクラスタ化モジュール１１２によって実行される例示的なクラスタ化処理についてより詳しく説明する。先ず、クラスタ化モジュールは、いくつかの異なるクラスタ化技術を実施することができ、それらの技術は、異なるレベルの計算資源（計算リソース）を必要とし、及び、イメージプロセッサ１０２の現在の計算負荷に基づいてそれらの技術間で切り替わることに留意されたい。
【００６０】
上述したように、クラスタ化モジュール１１２で使用するのに適したクラスタ化技術を、統計的領域併合すなわちSRMに基づくものとすることができる。かかる技術は、一般に、ランダムノイズに強く、並びに、計算の適度な複雑さ及び良好な大きさの誤差限界を有する。また、分割（セグメント化）の程度を、計算要件（computational requirement）を動的に制御できるやり方で調節することができる。
【００６１】
SRMベースのクラスタ化技術のより具体的な例では、実際の画像Imi(j)の各画素は、最適な画像Idi(j)に関する一群の独立に分布する確率変数（independentlydistributed random variables）によって表され、この場合、実際の画像Imi(j)は、最適な画像Idi(j)の特定の観察状態とみなされる。実際の画像Imi(j)及び最適な画像Idi(j)は、それぞれ、各統計的領域内では、画素は同じ期待値を有し、隣接する領域の期待値は異なることを指定する均質性ルール（homogeneity rule）を用いて最適な統計的領域に分割される。
【００６２】
この例示的なSRMベースの技術は、指定されたマージ述語（merging predicate）Ｐを用いた再帰的（ないし帰納的）なマージを実施する。任意の画像Imi(j)を考える。Imi(j)の各画素が、Ｑ個の確率変数で表されるとする。この場合、Imi(j)の２つの任意の領域R1、R2についてのマージ述語Ｐを次のように表すことができる。
【数６】
2016509805.tif 000008
上記において、|R|は、領域R内の画素の数を表し、Gは、現在の画像の所与の画素の取り得る最大値（たとえば、Kinect（キネクト）画像センサーからの画像の場合G＝212）を表し、δは、１より小さい正の値を表す。したがって、｜R1−R2｜は、領域R1における画素数と領域R2における画素数の差の値（差の大きさ）を表す。この技術は、P(R1,R2)＝真の場合には、領域R1及びR2を単一のクラスタにマージする。
【００６３】
この技術は、画素レベルから開始し、すべての画素は、最初は、個々の領域であるとみなされる。領域のマージが述語Ｐ対してテストされる順番は不変量Ａに従い、これは、異なる２つの領域の２つの部分間の任意のテストが行われるときには、それら２つの領域内の全てのテストは既に行われていることを意味している。この不変量Ａを、関数f(pix1,pix2)＝｜pix1−pix2｜を用いて得ることができる。ここで、pixiは、画素値である。
【００６４】
その後、SRMベースの技術は次のようにして進行する。先ず、全ての可能性のある画素対（pix1,pix2）が、関数f(pix1,pix2)＝｜pix1−pix2｜の増加する順に並び替えられて、得られた順番が一回だけ横断的に検査される。R(pix1)≠R(pix2)である任意の現在の画素対（pix1,pix2）について（R(pix)は画素が属する現在の領域を表す）、テストＰ(R(pix1),R(pix2))が実行されて、該テストが真を返した場合のみ、R(pix1)とR(pix2)がマージされる。現在の画像に対するマージ処理の完了時には、（２以上の）画素は複数のクラスタに分けられており、この場合、該クラスタは、上記のタイプのクラスタマップによって特徴付けられる。
【００６５】
この実施形態では、関数f(pix1,pix2)＝｜pix1−pix2｜は、不変量Ａの近似値として使用されるが、他の関数を使用することもできる。また、上記のSRMベースの技術において、マージ述語及び他のパラメータを変更することができる。さらに、SRMに基づかない種々のクラスタ化技術を使用することができる。
【００６６】
次に、イメージプロセッサ１０２のクラスタ対応付けモジュール１１４によって実行される例示的なクラスタ対応付け処理について、図５〜図７を参照してより詳しく説明する。図５は、(1)及び(2)で示されている部分を含むクラスタ対応付け処理全体５００を示しており、それらの部分は、図６及び図７のそれぞれの処理６００及び７００において説明されている。ステップ５０２には部分(1)の１つの例があり、それぞれのステップ５０４、５０６、５０８、及び５１０には部分(2)の複数の別個の例がある。部分(1)は、一般に、２つのクラスタマップ間の対応関係ないし対応付けを決定することを含み、部分(2)の所与の例は、一般に、１つの組のクラスタを別の組のクラスタにマッピングすることを含む。しかしながら、他の実施形態では、追加のもしくは代替のクラスタ対応付け処理を使用できることが理解されるべきである。
【００６７】
先ず、図５を参照すると、クラスタ対応付け処理５００は、部分(1)に関連するステップ５０２と、部分(2)の１例に各々が関連するステップ５０４、５０６、５０８、及び５１０を含んでいる。
【００６８】
ステップ５０２において、クラスタマップCm2(M)とCm2(M+1)の間の対応関係ないし対応付けが決定されて、クラスタマップCg2(M)及びCg2(M+1)が生成される。
【００６９】
ステップ５０４において、クラスタマップCg2(M)をクラスタマップCm1(N)にマッピングして、クラスタマップCg1(N)を得る。
【００７０】
ステップ５０６において、クラスタマップCg2(M+1)をクラスタマップCm1(N+R)にマッピングして、クラスタマップCg1(N+R)を得る。
【００７１】
ステップ５０８において、クラスタマップCg1(N)をクラスタマップCm1(N+1)にマッピングして、クラスタマップCg1(N+1)を得る。
【００７２】
ステップ５１０において、クラスタマップCg1(N+R)をクラスタマップCm1(N+R-1)にマッピングして、クラスタマップCg1(N+R-1)を得る。
【００７３】
ステップ５０４及び５０８によって示されている一連のマッピング処理が、１以上の残りのフレームについて続行される。
【００７４】
同様に、ステップ５０６及び５１０によって示されている一連のマッピング処理が、１以上の残りのフレームについて続行される。
【００７５】
図示されているように、上記一連のマッピング処理の完了時には処理５００は、クラスタマップCg1(N),Cg1(N+1),…，Cg1(N+R),Cg2(M),及びCg2(M+1)、並びに、それらのクラスタマップの各々におけるクラスタの数kを生成する。
【００７６】
クラスタマップCg1及びCg2は、位置合わせされたクラスタマップとも呼ばれ、本明細書ではより一般的に「クラスタ対応情報」と呼ばれるものの例とみなすことができる。本明細書に開示されている他のクラスタマップと同様に、Cg1及びCg2クラスタマップをそれぞれの行列として表すことができる。本発明の他の実施形態では、他の多くのタイプのクラスタ対応情報を使用することができる。
【００７７】
次に、図５のステップ５０２の部分(1)を実施するための例示的な処理６００について、図６を参照して説明する。上記したように、部分(1)は、一般に、２つのクラスタマップ間の対応関係ないし対応付けを決定することを含む。この機能を実施するための処理６００は、ステップ６０２〜６１８を含んでいる。
【００７８】
C1及びC2は、これから説明する処理６００を用いて相互にマッピングされる２つのクラスタマップを表すものとする。図５のステップ５０２の文脈では、  C1＝Cm2(M)及びC2＝Cm2(M+1)である。N1は、C1内のクラスタの数を表すものとし、N2は、C2内のクラスタの数を表すものとする。
【００７９】
C1からの任意のクラスタCL1、及びC2からの任意のクラスタCL2を考える。次の条件が満たされる場合には、クラスタCL2は、クラスタCL1と交差するといわれる。
【数７】
2016509805.tif 000009
【００８０】
ここで、０≦ρ(CL1, CL2)≦１は、２つの組のピクセルの相対的な交差測度を表す。たとえば、下記の対称交差測度と非対称交差測度の一方を使用することができる。
【数８】
2016509805.tif 000010
【００８１】
閾値threshold1は、既定の閾値（たとえば、０．１）であり、該閾値を該処理のパラメータとして調整することができる。
【００８２】
処理６００におけるクラスタマッピングは、ゼロ行列の形式で表すことができる空のクラスタマップCg1及びCg2から開始する。３つの追加の変数が初期化されるが、それらは、クラスタの数k、及び、既に使用されたC1及びC2からのクラスタの組をそれぞれ表す変数Used1及びUsed2を含んでいる。
【００８３】
ステップ６０２において、該処理の全体的な初期化によって、Used1＝{}、Used2＝{}、Cg1＝０、Cg2＝０、及びk＝０に設定される。
【００８４】
ステップ６０４において、C1からのクラスタが、各クラスタ内の画素の数に基づいてサイズが小さくなる順に並べ替えられる（すなわち、サイズが大きいものから順に並べられる）。
【００８５】
ステップ６０６において、C1からの全てのクラスタが、組（集合）にグループ化するために使用されたか否かが判定される。C1からの全てのクラスタが使用された場合には、処理６００は、ステップ６０７に示すように、Cg1及びCg2内のクラスタを後処理し、その後、図示されているように、該処理を抜ける。C1からの全てのクラスタが使用されたわけではない場合には、処理６００はステップ６０８に進む。
【００８６】
ステップ６０８において、C1から未使用のクラスタCL1が見つけられる。
【００８７】
ステップ６１０において、グループ（または集合ないし組）検索初期化が、集合g1を{CL1}として初期化し、及び、対応する集合g2を空集合として初期化することによって実行される。次に、該処理は、ステップ６１２、６１４、６１６、及び６１７をループする。
【００８８】
ステップ６１２において、g2が、g1からのクラスタと交差する、CL2からの一組のクラスタとして次のように定義される。
【数９】
2016509805.tif 000011
【００８９】
ステップ６１４において、
【数１０】
2016509805.tif 000012
が、ステップ６１２で定義された新しいg2からのクラスタと交差する、CL1からの一組のクラスタとして次のように定義される。
【数１１】
2016509805.tif 000013
【００９０】
ステップ６１６において、g1が、
【数１２】
2016509805.tif 000014
に等しいか否かが判定される。g1が、
【数１３】
2016509805.tif 000015
に等しくない場合には、該処理はステップ６１７に進み、そうでない場合には、ステップ６１８に進む。
【００９１】
ステップ６１７において、g1が
【数１４】
2016509805.tif 000016
に等しくなるように設定され、ステップ６１２、６１４、及び６１６が、
【数１５】
2016509805.tif 000017
という条件が満たされるまで繰り返され、この条件が満たされると、該処理はステップ６１８に進む。C1及びC2内のクラスタの数は有限なので、ステップ６１２、６１４、６１６、及び６１７からなるループがある有限の回数だけ繰り返されると、この条件は満たされるであろう。
【００９２】
ステップ６１８において、k＝k+1のようにkが１だけ増分され、
【数１６】
2016509805.tif 000018
のように、使用されたクラスタの組（集合）が更新される。また、Cg1(g1)とCg2(g2)の両方をkに等しくなるように設定することによって、g1及びg2が得られたクラスタマップCg1及びCg2に加えられる。ここで、Cg1(g1)＝kは、クラスタg1からの画素に対応するクラスタマップCg1の行列の全ての要素がkに設定されていることを意味し、同様に、Cg2(g2)＝kは、クラスタg2からの画素に対応するクラスタマップCg2の行列の全ての要素がkに設定されていることを意味する。
【００９３】
次に、図示されているように、該処理はステップ６０６に戻る。上記したように、ステップ６０６において、C1からの全てのクラスタが使用されたことが判定された場合には、処理６００は、ステップ６０７に示すように、Cg1及びCg2内のクラスタを後処理する。１例として、かかる後処理（該後処理は、図４の後処理ブロック４１８によって実行される後処理とは異なる）は、Cg2内の対応する空のクラスタを有するCg1内の任意のクラスタ、及びCg1内のいずれのクラスタにも割り当てられなかったCg2内の任意のクラスタを識別することを含むことができる。これらの両方の場合において、識別されたクラスタの各々は、近傍のクラスタに結合されて、該近傍のクラスタと最も長い境界を共有する。ここで、２つのクラスタ間の境界の長さは、それらのクラスタの境界画素の数として定義され、所与の境界画素は、両方のクラスタからの１以上の近傍画素を有する画素である。
【００９４】
ステップ６０７における後処理は、クラスタ間の奥行き距離測度を用いる追加の処理を含むことができる。たとえば、そのような奥行き距離測度を、２つのクラスタの平均奥行き（または平均深度）間の絶対差として、または、２つのクラスタの境界画素の平均深度間の絶対距離として定義することができる。それらの追加の処理は、Cg1内の近傍クラスタ間の対応する奥行き距離測度が、所定の閾値であるthreshold2よりも小さい場合には、それらの近傍クラスタをマージすることを含むことができる。図５の処理の部分(2)を、Cg2用の対応するマージ手順を決定するために適用することができる。
【００９５】
代替の技術を処理６００の代わりに使用することができる。たとえば、第２の画像ストリームの画像Ｍ及びＭ＋１の両方内の全てのクラスタの組（集合）についての全数検索（exhaustive search：しらみつぶし探索ともいう）を適用することができる。
【００９６】
次に、図５のステップ５０４、５０６、５０８、及び５１０のうちの特定の１つのステップにおいて部分(2)の所与の例を実行するための例示的な処理７００について、図７を参照して説明する。上記したように、部分(2)の所与の例は、一般に、１つの組のクラスタを別の組のクラスタにマッピングすることを含んでおり、該例を、処理６００の単純化したバージョンであるとみなすことができる。この単純化したバージョンでは、たとえば、Cgからのクラスタはそのまま（すなわち、変更されないまま）であり、Cmからクラスタだけが集合（すなわち組）にグループ化される。このようなやり方は、Cm内のクラスタの数がCg内のクラスタの数よりも多いときに特に有用である。この機能を実施するための処理７００は、ステップ７０２〜７１０を含んでいる。
【００９７】
ステップ７０２において、該処理の全体的な初期化によって、Used1＝{}、Used2＝{}、Cg1＝Cm1、Cg2＝０、及びk＝０に設定される。
【００９８】
ステップ７０４において、C1からの全てのクラスタが、集合（すなわち組）にグループ化するために使用されたか否かが判定される。C1からの全てのクラスタが使用された場合には、処理７００は、ステップ７０５に示すように、Cg2内のクラスタを後処理し、その後、図示されているように、該処理を抜ける。C1からの全てのクラスタが使用されたわけではない場合には、処理７００はステップ７０６に進む。
【００９９】
ステップ７０６において、C1から未使用のクラスタｇ1が見つけられる。
【０１００】
ステップ７０８において、g2が、g1からのクラスタと交差する、CL2からの一組のクラスタとして次のように定義される。
【数１７】
2016509805.tif 000019
【０１０１】
ステップ７１０において、k＝k+1のようにkが１だけ増分され、
【数１８】
2016509805.tif 000020
のように、使用されたクラスタの集合（組）が更新される。また、Cg2(g2)をkに等しくなるように設定することによって、g2が得られたクラスタマップCg2に加えられる。ここで、Cg2(g2)＝kは、クラスタg2からの画素に対応するクラスタマップCg2の行列の全ての要素がkに設定されていることを意味する。
【０１０２】
次に、図示されているように、該処理はステップ７０４に戻る。上記したように、ステップ７０４において、C1からの全てのクラスタが使用されたことが判定された場合には、処理７００は、ステップ７０５に示すように、Cg2内のクラスタを後処理する。
【０１０３】
図３〜図７のフローチャートで使用された特定の処理ステップは例示に過ぎず、他の実施形態では、異なるタイプ及び構成の画像処理行程を使用できることが理解されよう。たとえば、他の実施形態では、特定のタイプのクラスタ化処理を変更することができる。また、他の実施形態では、所与のフローチャートにおいて順次に実行されるものとして図示されているステップを、１以上の他のステップと並行して（ないし同時に）少なくとも部分的に実行することができる。
【０１０４】
次に、イメージプロセッサ１０２の奥行き充填モジュール１１６によって実行される例示的な奥行き充填処理についてより詳しく説明する。
【０１０５】
クラスタ対応付けモジュール１１４が、上述したようにしてクラスタ対応情報を決定すると、該情報は、第２の画像ストリームFs２の既存フレームＭとＭ＋１の間に挿入するための追加フレームを生成（ないし回復）する奥行き充填モジュール１１６に渡される。奥行き充填モジュールは、それらの既存フレームからの奥行きデータ（depth data）を、それらの追加フレーム内の特定のクラスタに加える。
【０１０６】
１例として、奥行き充填モジュールは、クラスタ対応情報を用いて、Cm1(N+i)を処理して（i＝1,2,…,R-1）、クラスタの組{CL1,…,CLP}及び{CL1',…,CLT'}を決定することができる。ここで、Pは、Im2(M)からのCm2(M)内の異なるそれぞれの要素の最大数より小さく、Tは、Im2(M+1)からのCm2(M+1)内の異なるそれぞれの要素の最大数よりも小さい。
【０１０７】
上記したように、奥行き充填モジュール１１６によって奥行きデータを追加フレームに充填する前に、該奥行きデータを前処理することができる。たとえば、次のようにして、奥行きデータを大きくすることができる。
【数１９】
2016509805.tif 000021
ここで、dData(i,j)は、座標(i,j)での奥行きデータを表し、pix(i,j)は、座標(i,j)での画素の値である。これに加えてまたはこれに代えて、奥行きデータを次のように平滑化することができる。
【数２０】
2016509805.tif 000022
この平滑化技術は、所与の画素の奥行きデータdData(i,j)を近傍画素の奥行きデータの加重和（weighted sum）で置き換える。近傍のテンプレートサイズは、smooth_str（たとえば、smooth_str＝５）によって与えられる。当然のことながら、これらの特定の前処理行程は例示に過ぎず、他の実施形態では、奥行き充填の前に他のタイプの前処理を使用することができる。
【０１０８】
Im1(N+i)からの所与のクラスタについて奥行きデータdDataを構成した後（i＝1,2,…,R-1）、奥行き充填モジュール１１６は、その奥行きデータを用いて、所与の生成（ないし回復）された画像内の対応するクラスタを充填する。この例の所与のクラスタは、フレームレートが高い画像ストリームFs1の画像から抽出されるので、該クラスタは、関連する撮像された物体の位置及びエッジを、フレームレートが低い画像ストリームFs2の画像よりもはるかに正確に提供することができる。
【０１０９】
生成（ないし回復）された画像を、Im1(N+i)に関連するクラスタマップからの全てのクラスタに対するインジケーターIndの和として、次のように表すことができる。
【数２１】
2016509805.tif 000023
ここで、所与のインジケーターIndは、
【数２２】
2016509805.tif 000024
によって与えられる。ここで、p、qは、size（Im2(M)）によって与えられる全ての値を取る。この場合の第２の画像ストリームFs2の生成（ないし回復）された画像のサイズは、第１の画像ストリームFs1の対応する画像のサイズと同じであることが想定されている。
【０１１０】
次に、イメージプロセッサ１０２の後処理モジュール１１８によって実行される例示的な後処理工程についてより詳しく説明する。それらの後処理工程は、一般に、生成（ないし回復）された画像の品質を高めるように構成されており、該後処理は、該生成（ないし回復）された画像に１以上のフィルターを適用して、鮮明度を高めるか、または、望ましくない冗長なシャドーイング（shadowing）を除去することを含むことができる。
【０１１１】
より具体的な例として、以下の後処理工程を適用することによって、冗長なシャドーイングを除去することができ、及び、生成（ないし回復）された画像全体の品質を高めることができる。シャドウ領域（陰影領域）の各々が特定のクラスタに関連するように、所与の生成（ないし回復）された画像Im2(N)が非交差クラスタに分割される。Im2(N)からのクラスタCLとこれに対応するIm2(N+1)からのクラスタCL’との相関が、所定の閾値にCLの面積を乗じたもの以下の場合には、該クラスタCLは大きくは変化しなかったと想定する。したがって、
【数２３】
2016509805.tif 000025
の場合には、クラスタCLは変換しなかったと想定される。ここで、change_thrは、所定の実数値（たとえば、０．９５）を表しており、C及びC’は、それぞれ、クラスタCL及びCL’に関連する行列である。時間の経過とともに大きくは変化しないクラスタがこの条件を満たすことは明らかである。
【０１１２】
Im2(N)からのクラスタCLは、それがシャドウ領域を含む場合には、保持される。しかしながら、Im2(N+1)及びIm2(N+2)内の対応するクラスタが、結果として生じた２つのフレームにわたって変化しない場合には、CLからの奥行きデータが、Im2(N+2)内のシャドウ領域を少なくするために使用される。より具体的には、iDataをIm2(N+2)クラスタに基づく生成（ないし回復）された画像とし、それがシャドウ領域を含むものとし、また、行列Cを有するCLをIm2(N)からのクラスタであるとし、これによって、CLがそれほど大きくは変化せず、かつN+2に対する（または時間N+2にわたる）関連するクラスタがシャドウ領域を含むようにする。後処理は、pix(i,j)＝Infとなるような全ての(i,j)座標を識別し、次に、C(i,j)＞０について、識別された(i,j)座標のCL画素に、pix(i,j)＝mとなるようなInfとは異なる値mを割り当てる（ここで、pix(i,j)はiDataからの画素である）。これによって、iDataに含まれるシャドウ領域が少なくなる。シャドウ領域はイメージャが異なると異なる値を有する場合があるため、Infに使用される特定の値は、対応する画像を生成するために使用されるイメージャのタイプに依存し、また、一般に、所与の画素をシャドウ領域の一部として示すために使用できる任意の値を表す。たとえば、該値は、大きな負の数でありうる。
【０１１３】
この例示的な後処理は、1/Fr2秒の追加の処理遅延または１フレーム遅延を生じるが、これは、知覚的に重大なものではなく、したがって、実用的な用途では許容できるものである。この場合も、他の実施形態では、様々な他のタイプの後処理工程を使用することができる。
【０１１４】
本発明の実施形態は、よりフレームレートが高い少なくとも１つの画像ストリームを用いて、それよりフレームレートが低い画像ストリームのフレームレートを高めるための効率的な技術を提供する。たとえば、開示した技術は、撮像されたシーンが、静止した物体と、直線状の軌跡を必ずしも辿らずに動いている物体との組み合わせを含む場合であっても、画像ストリームのフレームレートを高めることができる。（本発明の技術を用いない場合には）そのような画像ストリームは、動き補間（motion interpolation）などの従来の技術を用いて処理するのは非常に難しいであろう。
【０１１５】
本明細書及び／または図面に開示されている本発明の実施形態は例示に過ぎないということを再度強調しておく。たとえば、本発明の他の実施形態を、本明細書及び／または図面に開示されている特定の実施形態で使用されているもの以外の画像処理回路、モジュール、及び処理行程の様々な異なるタイプ及び構成ないしやり方を用いて実施することができる。さらに、いくつかの実施形態を説明する文脈において本明細書で行った特定の想定を他の実施形態において必ずしも適用する必要はない。当業者には、添付の特許請求の範囲内にあるこれらの及びその他の多くの代替の実施形態が容易に理解されるであろう。
【図１】
2016509805.tif 000027
【図３】
2016509805.tif 000028
【図４】
2016509805.tif 000029
【図５】
2016509805.tif 000030
【図６】
2016509805.tif 000031
【図７】
2016509805.tif 000032
【図２】
2016509805.tif 000033
【国際調査報告】
2016509805.tif 000034