(57)【要約】画像プロセッサは、少なくとも評価層及び認識層を含む複数の処理層を実施する画像処理回路を含む。評価層は、ソフトウェアで実施される部分及びハードウェアで実施される部分を含み、評価層のソフトウェアで実施される部分は、ソフトウェアアルゴリズムを使用して第１の精度レベルの第１の被写体データを生成するように構成され、評価層のハードウェアで実施される部分は、ハードウェアアルゴリズムを使用して第１の精度レベルよりも低い第２の精度レベルの第２の被写体データを生成するように構成される。評価層は、第１の被写体データと第２の被写体データとを結合し、認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む。単なる例として、評価層は、画像プロセッサのジェスチャー認識システムの評価サブシステムの形で実施される場合がある。
2016513842.tif 000002
【特許請求の範囲】
【請求項１】
画像プロセッサであって、
少なくとも評価層及び認識層を含む複数の処理層を含む画像処理回路と、
ソフトウェアで実施される部分及びハードウェアで実施される部分を含む前記評価層と、
ソフトウェアアルゴリズムを使用して第１の精度レベルの第１の被写体データを生成するように構成された、前記評価層の前記ソフトウェアで実施される部分と、
ハードウェアアルゴリズムを使用して前記第１の精度レベルよりも低い第２の精度レベルの第２の被写体データを生成するように構成された、前記評価層の前記ハードウェアで実施される部分と、
を含み、
前記評価層は、前記第１の被写体データと前記第２の被写体データとを結合し、前記認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む、画像プロセッサ。
【請求項２】
前記評価層は、ジェスチャー認識システムの評価サブシステムを含む、請求項１に記載の画像プロセッサ。
【請求項３】
前記複数の処理層は、未加工画像データを受信し、事前処理された画像データを前記評価層に提供する事前処理層をさらに含む、請求項１に記載の画像プロセッサ。
【請求項４】
前記第１の被写体データは、第１の速度で更新され、前記第２の被写体データは、前記第１の速度よりも大きい第２の速度で更新される、請求項１に記載の画像プロセッサ。
【請求項５】
前記第１の速度は、前記受信した画像データの１入力フレームあたり１回よりも小さく、前記第２の速度は、１入力フレームあたり１回である、請求項１に記載の画像プロセッサ。
【請求項６】
前記第１の被写体データは、現在の入力フレームと、少なくとも１つの被写体モデルとの間の比較に基づいて生成される、請求項１に記載の画像プロセッサ。
【請求項７】
前記第２の被写体データは、現在の入力フレームと、少なくとも１つの以前の入力フレームとの間の比較に基づいて生成される、請求項１に記載の画像プロセッサ。
【請求項８】
前記評価層は、前記第１の被写体データ及び第２の被写体データを生成する際に、探索−描画−比較処理を実施する、請求項１に記載の画像プロセッサ。
【請求項９】
前記探索−描画−比較処理に関連する独立した探索モジュールが、前記ソフトウェアで実施される部分及び前記ハードウェアで実施される部分の各々においてインスタンス化される、請求項８に記載の画像プロセッサ。
【請求項１０】
前記探索−描画−比較処理に関連する描画モジュールは、前記ソフトウェアで実施される部分においてのみインスタンス化され、前記探索−描画−比較処理に関連する比較モジュールは、前記ハードウェアで実施される部分においてのみインスタンス化される、請求項８に記載の画像プロセッサ。
【請求項１１】
前記評価層の前記ソフトウェアで実施される部分は、特異点検出及び追跡、前面検出及び追跡、エッジ検出及び追跡、並びに、質量中心検出のような高速ヒューリスティックのうちの１以上を含む、複数の高レベル加工処理を実施する、請求項１に記載の画像プロセッサ。
【請求項１２】
前記評価層の前記ハードウェアで実施される部分は、アフィン変換若しくは等長変換のような３Dプリミティブ、曲線追跡のような２Dプリミティブ、最小二乗比較のような比較プリミティブ、動き予測若しくは勾配探索のような探索プリミティブ、及び統計プリミティブのうちの１以上を含む、複数の低レベル画像処理プリミティブを実施する、請求項１に記載の画像プロセッサ。
【請求項１３】
前記画像処理回路は、少なくとも１つのグラフィックスプロセッサ集積回路を含む、請求項１に記載の画像プロセッサ。
【請求項１４】
請求項１に記載の画像プロセッサを含む集積回路。
【請求項１５】
少なくとも評価層及び認識層を含む画像プロセッサの複数の処理層を構成するステップと、
前記評価層のソフトウェアで実施される部分において、ソフトウェアアルゴリズムを使用して第１の精度レベルの第１の被写体データを生成するステップと、
前記評価層のハードウェアで実施される部分において、ハードウェアアルゴリズムを使用して前記第１の精度レベルよりも低い第２の精度レベルの第２の被写体データを生成するステップと、
前記第１の被写体データと前記第２の被写体データとを結合し、前記認識層へ伝送するための出力被写体データを生成するステップと
を含む方法。
【請求項１６】
第１及び第２の被写体データを生成するステップは、
現在の入力フレームと、少なくとも１つの被写体モデルとの間の比較に基づいて、前記第１の被写体データを生成するステップと、
現在の入力フレームと、少なくとも１つの以前の入力フレームとの間の比較に基づいて、前記第２の被写体データを生成するステップと
を含み、
前記第１の被写体データは、第１の速度で更新され、前記第２の被写体データは、前記第１の速度よりも大きい第２の速度で更新される、請求項１５に記載の方法。
【請求項１７】
コンピュータプログラムコードが内部に具現化されたコンピュータ読取可能記憶媒体であって、前記コンピュータプログラムコードが、処理装置において実行されたときに、前記処理装置に、請求項１５に記載の方法を実施させる、コンピュータ読取可能記憶媒体。
【請求項１８】
画像処理システムであって、
画像データを提供する１以上の画像ソースと、
１以上の画像宛先と、
前記１以上の画像ソース、及び前記１以上の画像宛先に結合された画像プロセッサと
を含み、前記画像プロセッサは、
少なくとも評価層及び認識層を含む複数の処理層を実施する画像処理回路と、
ソフトウェアで実施される部分及びハードウェア実施される部分を含む前記評価層と、
ソフトウェアアルゴリズムを使用して第１の精度レベルの第１の被写体データを生成するように構成された、前記評価層の前記ソフトウェアで実施される部分と、
ハードウェアアルゴリズムを使用して前記第１の精度レベルよりも低い第２の精度レベルの第２の被写体データを生成するように構成された、前記評価層の前記ハードウェアで実施される部分と、
を含み、
前記評価層は、前記第１の被写体データと前記第２の被写体データとを結合し、前記認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む、画像処理システム。
【請求項１９】
前記１以上の画像ソースのうちの少なくとも１つが、奥行きセンサを含む、請求項１８に記載のシステム。
【請求項２０】
前記奥行きセンサは、前記画像プロセッサを含む奥行きセンサの一部である、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
分野は、概して、画像処理に関し、より具体的には、画像プロセッサにおける画像データの処理に関する。
【背景技術】
【０００２】
画像処理は、広く様々な異なるアプリケーションにおいて重要であり、そのような処理は、二次元（２Ｄ）画像、三次元（３Ｄ）画像、又は、異なるタイプの複数の画像の組み合わせを含む場合がある。例えば、空間的シーンの３Ｄ画像は、画像プロセッサにおいて、各カメラがそのシーンの異なるビューを有するように配置された各々のカメラにより撮影された複数の２Ｄ画像に基づいて、三角測量を使用して生成される場合がある。あるいは、３Ｄ画像は、ストラクチャード・ライト（ＳＬ）カメラや、タイム・オブ・フライト（ＴｏＦ）カメラのような奥行き撮像器を使用して、直接生成されることがある。本明細書において奥行き画像とも呼ばれるこれらの画像及び他の３Ｄ画像は、一般に、ジェスチャー認識のようなマシン・ビジョン・アプリケーションにおいて使用される。
【０００３】
一般的な従来の構成では、画像センサからの未加工データは通常、種々の事前加工処理を受ける。そのような事前加工処理には、例えば、とりわけ、一定の改良、ヒストグラム等化、ノイズ低減、エッジ強調、及び座標空間変換が含まれる。事前加工された画像データは、その後、ジェスチャー認識アプリケーション又は他のマシン・ビジョン・アプリケーションを実施するために必要とされるさらに別の処理を受ける。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態において、画像プロセッサは、少なくとも評価層及び認識層を含む複数の処理層を実施する画像処理回路を含む。評価層は、ソフトウェアで実施される部分及びハードウェアで実施される部分を含み、評価層のソフトウェアで実施される部分は、ソフトウェアアルゴリズムを使用して第１の精度レベルの第１の被写体データを生成するように構成され、評価層のハードウェアで実施される部分は、ハードウェアアルゴリズムを使用して第１の精度レベルよりも低い第２の精度レベルの第２の被写体データを生成するように構成される。評価層は、第１の被写体データと第２の被写体データとを結合し、認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む。
【０００５】
評価層は、例えば、画像プロセッサの事前処理層と認識層との間に結合される場合があり、事前処理層は、画像センサから未加工画像データを受信し、事前処理された画像データを評価層に提供する場合がある。ただし、多数の他の構成も可能である。
【０００６】
単なる例として、評価層は、画像プロセッサのジェスチャー認識システムの評価サブシステムの形で実施される場合がある。
【０００７】
本発明の他の実施形態は、限定はしないが、種々の方法、装置、システム、処理装置、集積回路、及び、コンピュータプログラムコードが内部に具現化されたコンピュータ読取可能記憶媒体を含む。
【図面の簡単な説明】
【０００８】
【図１】一実施形態における事前加工層、評価層、認識層、及びアプリケーション層を使用するジェスチャー認識機能を有するように構成された画像プロセッサを含む画像処理システムのブロック図である。
【図２】図１のシステムにおける画像プロセッサの例示的な処理層の種々の態様を示す図である。
【図３】図１のシステムにおける画像プロセッサの例示的な処理層の種々の態様を示す図である。
【図４】図１のシステムにおける画像プロセッサの例示的な処理層の種々の態様を示す図である。
【図５】図１のシステムにおける画像プロセッサの例示的な処理層の種々の態様を示す図である。
【図６】例として頭部追跡アプリケーションを使用する、図１のシステムにおける画像プロセッサの評価層の一実施形態における一組の加工処理を示すフロー図である。
【図７】例として頭部追跡アプリケーションを使用する、図１のシステムにおける画像プロセッサの評価層の一実施形態における一組の加工処理を示すフロー図である。
【図８】例として頭部追跡アプリケーションを使用する、図１のシステムにおける画像プロセッサの評価層の一実施形態における一組の加工処理を示すフロー図である。
【発明を実施するための形態】
【０００９】
本明細書において、本発明の種々の実施形態は、複数の処理層を使用してジェスチャー認識機能を実施する画像プロセッサ、又は他のタイプの処理装置を含む、例示的画像処理システムに関連して説明される。ただし、本発明の種々の実施形態は、より一般的には、より効率的な画像処理から利益を受けることができる任意の画像処理システム、又は関連装置又は技術に適用可能であるものと解釈すべきである。
【００１０】
図１は、本発明の一実施形態における画像処理システム１００を示している。画像処理システム１００は、１以上の画像ソース１０５から画像を受信し、処理済み画像を１以上の画像宛先１０７へ提供する画像プロセッサ１０２を含む。画像プロセッサ１０２はさらに、ネットワーク１０４を介して複数の処理装置１０６と通信する。
【００１１】
図１には、画像ソース（複数可）１０５及び画像宛先（複数可）１０７が、処理装置１０６とは独立したものとして示されているが、そのような画像ソース及び画像宛先の少なくとも一部は、少なくとも部分的に、処理装置１０６のうちの１以上を使用して実施される場合がある。したがって、画像は、処理のために、処理装置１０６のうちの１以上からネットワーク１０４を介して画像プロセッサ１０２へ提供される場合がある。同様に、画像プロセッサ１０２は、処理済み画像を、ネットワーク１０４を介して処理装置１０６のうちの１以上へ伝送する場合がある。したがって、そのような処理装置は、画像ソース及び画像宛先の種々の例と見ることができる。
【００１２】
所与の画像ソースは、例えば、奥行き画像を生成するように構成されたＳＬカメラ又はＴｏＦカメラのような３Ｄ撮像器、あるいは、グレイスケール画像、カラー画像、赤外線画像又は他のタイプの２Ｄ画像を生成するように構成された２Ｄ撮像器を含む場合がある。また、単一の撮像器又は他の画像ソースが、奥行き画像と、グレイスケール画像、カラー画像又は赤外線画像のような対応する２Ｄ画像との両方を提供することも可能である。例えば、特定タイプの既存の３Ｄカメラは、所与のシーンの奥行きマップとともに、同じシーンの２Ｄ画像を生成することが可能である。あるいは、所与のシーンの奥行きマップを生成する３Ｄ撮像器は、実質的に同じシーンの２Ｄ画像を生成する独立した高解像度ビデオカメラ又は他の２Ｄ撮像器に近接して配置されることがある。
【００１３】
また、当然ながら、所与の画像ソースは、その用語が本明細書において広く使用されているように、画像プロセッサ１０２の少なくとも一部を含む撮像器の画像センサ部分を表す場合がある。例えば、１以上の画像ソース１０５のうちの少なくとも１つは、奥行きセンサを含む場合があり、奥行きセンサは、画像プロセッサ１０２を含むＳＬカメラ、ＴｏＦカメラ、又は他の奥行き撮像器の一部である場合がある。多数の代替構成が可能である。例えば、画像ソースの別の例は、画像を処理のために画像プロセッサ１０２に提供する記憶装置又はサーバである。
【００１４】
所与の画像宛先は、例えば、コンピュータ又は携帯電話のヒューマン・マシン・インタフェースの１以上の表示画面、又は、画像プロセッサ１０２からの処理済み画像を受信する少なくとも１つの記憶装置若しくはサーバを含む場合がある。
【００１５】
したがって、図１において、画像ソース（複数可）１０５及び画像宛先（複数可）１０７は、画像プロセッサ１０２とは独立したものとして示されているが、画像プロセッサ１０２は、少なくとも部分的に、共通の１つの処理装置上にある１以上の画像ソース及び１以上の画像宛先の少なくとも一部と結合される場合がある。したがって、例えば、所与の画像ソース及び画像プロセッサ１０２は、同じ処理装置上でまとめて実施される場合がある。同様に、所与の画像宛先及び画像プロセッサ１０２は、同じ処理装置上でまとめて実施される場合がある。
【００１６】
この実施形態では、画像プロセッサ１０２は、画像プロセッサ１０２の複数の処理層を使用して実施されるジェスチャー認識（ＧＲ）システム１１０を含む。これらの処理層は、本明細書において画像プロセッサ１０２の「画像処理回路」とより一般的に呼ばれるものの少なくとも一部を含む。この実施形態における種々の処理層は、図面において楕円形でそれぞれ示され、事前処理層１１２と、評価層１１４、認識層１１６及びアプリケーション層１１８を含む複数のより上位の処理層とを含む。
【００１７】
また、本明細書において、処理層１１２、１１４、１１６及び１１８は、ＧＲシステム１１０のサブシステムと呼ばれることがある。ただし、本発明の実施形態がジェスチャー認識に限定されることはなく、本発明の実施形態はむしろ、広く様々な他のマシン・ビジョン・アプリケーションにおける使用に適合させることができ、他の実施形態では、異なる数、タイプ、及び構成の層を含む場合がある。
【００１８】
また、画像プロセッサ１０２の種々の処理層のうちのあるものは、実施形態によっては、少なくとも部分的に、他の装置上で実施される場合がある。例えば、事前処理層１１２は、少なくとも部分的に、奥行き撮像器又は他のタイプの撮像器を含む画像ソース１０５において実施される場合がある。また、アプリケーション層１１８は、処理装置１０６のうちの１つのような、評価層１１４及び認識層１１６とは違う独立した処理装置上で実施することも可能である。
【００１９】
さらに、当然ながら、画像プロセッサ１０２は、それ自体が複数の異なる処理装置を含む場合もあり、したがって、処理層１１２、１１４、１１６及び１１８は、２以上の処理装置を使用して実施される場合がある。本明細書において使用される用語「画像プロセッサ」は、そのような構成及び他の構成をも包含するように広く意味で解釈されることを意図している。
【００２０】
事前処理層１１２は、１以上の画像ソース１０５からの受信画像データに対して事前加工処理を実施する。この実施形態における受信画像データは、奥行きセンサから受信された未加工画像データを含むことを想定しているが、他の実施形態では、他のタイプの受信画像データが処理される場合もある。事前処理層１１２は、事前処理済み画像データを評価層１１４に提供する。
【００２１】
事前処理層１１２において奥行きセンサから受信された未加工画像データは、複数の個別の奥行き画像を含む複数のフレームのストリームを含み、そのような各奥行き画像は、複数の奥行き画像ピクセルを含む場合がある。例えば、所与の奥行き画像Ｄは、実数値のマトリクスの形で事前処理層１１２に渡される場合がある。そのような各実数値はそれぞれ、より具体的には、奥行き画像の特定のピクセルの奥行き値ｄｉｊを提供する場合がある。ここで、ｉ及びｊは、ピクセルインデックスを表し、奥行き値は、撮影された被写体までの距離を表す。本明細書において、所与のそのような奥行き画像は、奥行きマップとも呼ばれる。
【００２２】
インデックスｉ，ｊ及び奥行き値ｄｉｊを有する所与のピクセルは、３Ｄ空間における（ｘ，ｙ，ｚ）座標に変換することができる。また、所与のピクセルの奥行きが不明である場合、所定の値ｕ（例えば、ゼロ）が、そのピクセルの奥行き値として使用される場合がある。他の実施形態では、広く様々な他のタイプの画像データが使用される場合がある。
【００２３】
実施形態によっては、ピクセルの奥行き値を生成するセンサが、それらのピクセルについての対応する信頼度値をさらに生成する場合がある。例えば、そのタイプのセンサにより供給される各ピクセル（ｉ，ｊ）は、ペア（ｄｉｊ，ｒｉｊ）を含む場合がある。ここで、０≦ｒｉｊ≦１は、奥行き画像ピクセル信頼度インジケータ、又は他のタイプの信頼度値である。あるいは、信頼度値は、特定タイプのセンサの既知の性質に基づいて、事前処理層１１２において推定され、又はその他決定される場合がある。信頼度値は、他の処理層のうちの１以上において使用される独立した信頼度マトリクスの一部であってもよい。
【００２４】
ここでも、上で説明した画像データタイプは、例示的なものに過ぎず、開示した技術は、高フレームレートのストリームを含む多数の異なるタイプの画像データストリームでの使用に適合させることができる。
【００２５】
図４及び図５に関連して以下で詳しく説明されるように、評価層１１４は、より具体的には、ソフトウェアで実施される部分及びハードウェアで実施される部分を含み、評価層のソフトウェアで実施される部分は、ソフトウェアアルゴリズムを使用して第１の精度レベルの第１の被写体データを生成するように構成され、評価層のハードウェアで実施される部分は、ハードウェアアルゴリズムを使用して第１の精度レベルよりも低い第２の精度レベルの第２の被写体データを生成するように構成される。評価層１１４は、第１の被写体データと第２の被写体データとを結合し、認識層１１６へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む。被写体データは、不変部分及び可変部分のような、複数の部分を有する場合がある。
【００２６】
例えば、被写体データは、１以上の撮影された被写体を表すいわゆる「骨格」データを含む場合があり、骨格データの不変部分は、骨格サイズを含み、骨格データの可変部分は、骨格角度及び質量中心位置を含む。他の実施形態では、多数の他のタイプの被写体データが使用される場合があり、そのような被写体データは、独立した不変部分及び可変部分を必要としない場合がある。当業者には明らかであるように、被写体データ及びその種々の部分は、マトリクス形態又はベクトル形態のような、種々の形態をとる場合がある。したがって、本明細書において使用される用語「被写体データ」は、例えば、事前処理された画像データにおいて検出され又は事前処理された画像データに関連して検出された１以上の被写体に関連するデータを包含するように、広い意味で解釈されることを意図している。
【００２７】
この実施形態における認識層１１６は、評価層１１４により提供された被写体データを使用して、高レベルの特定用途向け画像処理を実施する。この高レベルの特定用途向け画像処理は、少なくとも１つのジェスチャー認識を含むことを想定しているが、行動認識、感情認識及び視線追跡のような、他のタイプの高レベル特定用途向け画像処理を、追加的又は代替的に含む場合がある。
【００２８】
この実施形態におけるアプリケーション層１１８は、撮影されたシーンのパラメタ表現のような認識層１１６のジェスチャー認識出力を使用する少なくとも１つのジェスチャー認識アプリケーションを含むことを想定している。他のタイプの処理済み画像データ出力が、画像プロセッサ１０２又は関連処理装置１０６又は宛先１０７の１以上のアプリケーション層に提供される場合もある。
【００２９】
上記の骨格データの事例の場合、このデータは、評価層１１４によって認識層１１６に提供され、認識層１１６は、現在の被写体状態を、特定のアプリケーション層１１８が要求する用語で分類する。例えば、アプリケーション層により実施されるジェスチャー認識アプリケーションが、特徴的な手のジェスチャーの検出に応答してコマンドを生成することを必要とする場合、認識層１１６は、そのようなジェスチャーを検出し、適当な分類出力をアプリケーション層に渡すように構成される。
【００３０】
処理層１１２、１１４、１１６及び１１８は、画像プロセッサ１０２の画像処理回路の種々の部分を含む場合があり、所与のそのような処理層は、ハードウェア、ファームウェア、及びソフトウェアの組み合わせとして実施される場合がある。したがって、本明細書において使用される用語「層」は、広い意味で解釈されることが意図され、例えば、特殊なハードウェア、プロセッシング・コア、ファームウェア・エンジン、及び関連ファームウェア、又は、汎用の処理リソース、及びそれらのリソース上で実行される関連ソフトウェア、並びに、それらのタイプ及び他のタイプの画像処理回路の種々の組み合わせを含む場合がある。本明細書において後者の用語が広く使用されているように、所与のＧＲシステムのサブシステムは、処理層の一例であることが想定される。
【００３１】
当業者には明らかであるように、通常の従来の画像処理処理集積回路又は他のタイプの画像処理回路は、画像処理プロセッサ１０２の処理層１１２、１１４、１１６及び１１８のうちの１以上の少なくとも一部を実施するように適宜改変される場合がある。本発明の１以上の実施形態において使用されることがある画像処理回路の１つの可能な例は、処理層１１２、１１４、１１６及び１１８のうちの１以上に関連する機能を実施するように適宜再構成された通常の従来のグラフィックスプロセッサである。
【００３２】
処理装置１０６は、例えば、種々のコンピュータ、携帯電話、サーバ、又は記憶装置を、任意の組み合わせで含む場合がある。１以上のそのような装置は、例えば、画像プロセッサ１０２により生成された画像を表示するために使用される表示画面又は他のユーザインタフェースをさらに含む場合がある。したがって、処理装置１０６は、例えば画像プロセッサ１０２から出力情報を受信する少なくとも１つのサーバ又は記憶装置のような、ネットワーク１０４を介して画像プロセッサ１０２から処理済み画像ストリーム又は他のタイプの出力情報を受信するように構成された広く様々な異なる宛先装置を含む場合がある。
【００３３】
「画像宛先」は、本明細書でその語が広く使用されるように、ＧＲシステム１１０により生成されたジェスチャー認識出力を受信する装置のような、画像プロセッサ１０２により処理された１以上の画像から導出される情報を受信する任意の装置、又はその一部を包含することを意図している。したがって、画像宛先は、少なくとも１つの処理済み画像、少なくとも１つの処理済み画像の一部、又は少なくとも１つの処理済み画像の少なくとも一部から導出された情報を受信する場合がある。
【００３４】
この実施形態では処理装置１０６から独立したものとして示されているが、画像プロセッサ１０２は、少なくとも部分的に、処理装置１０６のうちの１以上と結合される場合がある。したがって、例えば、画像プロセッサ１０２は、少なくとも部分的に、処理装置１０６のうちの所与の１つを使用して実施される場合がある。例として、コンピュータ又は携帯電話は、画像プロセッサ１０２、及び場合によっては所与の光源を含むように構成される場合がある。したがって、光源（複数可）１０５は、コンピュータ、携帯電話、又は他の処理装置に関連するカメラ又は他の撮像器を含む場合がある。先に示したように、画像プロセッサ１０２は、少なくとも部分的に、共通の処理装置上にある１以上の画像ソース又は画像宛先と結合される場合がある。
【００３５】
この実施形態における画像プロセッサ１０２は、少なくとも１つの処理装置を使用して実施されることが想定され、メモリ１２２に結合されたプロセッサ１２０を含む。プロセッサ１２０は、画像加工処理の実施を制御するために、メモリ１２２に記憶されたソフトウェアコードを実行する。画像プロセッサ１０２は、ネットワーク１０４を介した通信をサポートするネットワークインタフェース１２４をさらに含む。
【００３６】
処理層１１２、１１４、１１６及び１１８、並びにプロセッサ１２０、メモリ１２２及びネットワークインタフェース１２４は、本明細書において画像プロセッサ１０２の画像処理回路とより一般的に呼ばれるものの種々の考察例である。
【００３７】
プロセッサ１２０は、例えば、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、中央演算処理装置（ＣＰＵ）、算術論理ユニット（ＡＬＵ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、又は他の類似の処理装置構成要素、並びに、他のタイプ及び構成の画像処理回路を、任意の組み合わせで含む場合がある。
【００３８】
メモリ１２２は、事前処理層１１２並びにより上位の処理層１１４、１１６及び１１８の種々の部分のような、画像プロセッサ１０２の機能の種々の部分を実施する際に、プロセッサ１２０により実行されるソフトウェアコードを記憶している。対応するプロセッサにより実行されるソフトウェアコードを記憶している所与のそのようなメモリは、本明細書において、コンピュータプログラムコードが内部に具現化されたコンピュータ読取可能媒体又は他のタイプのコンピュータプログラム製品とより一般的に呼ばれるものの一例であり、例えば、ランダム・アクセス・メモリ（ＲＡＭ）若しくはリード・オンリー・メモリ（ＲＯＭ）のような電子メモリ、磁気メモリ、光学メモリ、又は他のタイプの記憶装置を、任意の組み合わせで含む場合がある。上で示したように、プロセッサは、マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、ＣＰＵ、ＡＬＵ、ＤＳＰ、又は他の画像処理回路の種々の部分又は組み合わせを含む場合がある。
【００３９】
上記の説明から明らかであるように、本発明の実施形態は、集積回路の形で実施される場合がある。所与のそのような集積回路実施形態では通常、同一のダイが、繰り返しパターンを成して、半導体ウェーハの表面上に形成される。各ダイは、本明細書に記載されるような画像プロセッサ又は他の画像処理回路を含み、さらに、他の構造又は回路を含む場合がある。個々のダイは、ウェーハから切り出され又は切り分けられ、その後、集積回路としてパッケージングされる。当業者は、ウェーハを切り分け、ダイをパッケージングし、集積回路を製造する方法を知っているであろう。そのようにして製造された集積回路が、本発明の検討される種々の実施形態である。
【００４０】
図１に示されるような画像処理システム１００の特定の構成は、例示に過ぎず、他の実施形態におけるシステム１００は、具体的に図示したものに加えて、又はその代わりとして、そのようなシステムの従来の実施形態において一般的に見られるタイプの１以上の要素を含む、他の要素を含む場合がある。
【００４１】
例えば、一部の実施形態では、画像処理システム１００は、ユーザ・ジェスチャーを認識するために画像ストリームを処理するビデオゲームシステム、又は他のタイプのジェスチャーを利用したシステムとして実施される場合がある。開示する技術は、ジェスチャー
を利用したヒューマン・マシン・インタフェースを必要とする広く様々な他のシステムにおける使用にも同様に適合させることができ、また、ロボットその他の産業アプリケーションにおけるマシン・ビジョン・システムのような、ジェスチャー認識以外のアプリケーションにも適用することができる。
【００４２】
次に、図２から図８までを参照し、例示的実施形態における画像プロセッサ１０２の動作について、より詳細に説明する。当然ながら、これらの図面に関連して説明される例示的特徴及び機能は、他の実施形態では、存在しなくてもよい場合がある。
【００４３】
まず図２を参照すると、画像プロセッサ１０２の一部２００は、認識層１１６に結合された評価層１１４を含む。評価層１１４は、その入力として、事前処理層１１２からの事前処理済み画像データ２０２を受信する。先に述べたように、そのような画像データは、１以上の事前処理済み奥行き画像を含むことを想定しているが、他のタイプの画像データを使用してもよい。
【００４４】
この実施形態では、評価層１１４は、被写体データを生成する際に、探索−描画−比較処理を実施する。これらの処理は、評価層１１４の探索モジュール、描画モジュール、及び比較モジュール２０４、２０６及び２０８によりそれぞれ実施され、図示したように、被写体データ２１０Ａ、２１０Ｂ及び２１０Ｃ、並びに関連被写体データ変異の処理又は生成を含む。被写体データ２１０Ａは、最良適合被写体データ２１０Ｂと結合され、認識層１１６へ伝送するための出力最良適合被写体データ２１０Ｂを生成する。この実施形態における被写体データ２１０Ａは、不変部分及び可変部分を有する実数のベクトルを含むことを想定している。例えば、先に述べたように、被写体データは、骨格データを含む場合があり、骨格データは、骨格サイズを含む不変部分と、骨格角度及び質量中心位置のような他の可変データを含む可変部分とを有する場合がある。
【００４５】
この実施形態における評価層１１４は、較正モジュール２１２、動き予測モジュール２１４、及びヒューリスティック（経験的探索）モジュール２１６を含む。較正モジュール２１２は、本明細書において現在の入力フレームとも呼ばれる現在の入力奥行き画像を使用して、骨格データの不変部分を計算する。他の初期被写体パラメタは、比較モジュール２０８及びヒューリスティックモジュール２１６を使用して決定され、モジュール２０８及び２１６は両方とも、現在の入力奥行き画像に対する処理を行う。
【００４６】
探索−描画−比較処理は一般に、探索モジュール２０４により実施される特定の探索によって定義される形で種々の被写体パラメタを変化させることを含み、探索モジュール２０４は、勾配探索又は全探索である場合があり、その後、モジュール２０６及び２０８によって描画処理及び比較処理が実施される。全探索は、徹底調査とも呼ばれるタイプの探索であってもよい。勾配探索又は全探索は、動き予測モジュール２１４により提供される動き予測情報を使用して行われる場合がある。
【００４７】
この実施形態における描画処理は、現在の一組の被写体パラメタに対応する描画奥行き画像を生成する。探索目標は、ユークリット距離又はマンハッタン距離のような距離メトリックに基づく最小二乗のような指定された比較プリミティブを使用して、描画奥行き画像と、現在の入力奥行き画像との間の距離を最小化するものとして、特徴付けられる場合がある。換言すれば、探索処理は、比較プリミティブを使用し、対応する描画奥行き画像が入力奥行き画像に十分に近いものであると判断されるまで、被写体パラメタを変化させる。描画奥行き画像及び入力奥行き画像は通常、実数のマトリクスとして表されるが、他の画像データ構成が使用される場合もある。
【００４８】
探索−描画−比較プロセスの複雑度は通常、決定すべき被写体パラメタの数によって変わり、換言すれば、プロセスの自由度の数によって変わる。例えば、Ｎ度の自由度の場合、全探索は、描画及び比較のｋＮ回の繰り返しを使用することになる。この文脈におけるｋは、各自由度についての変異の数を意味する。これに対し、勾配探索は、描画及び比較の（Ｎ＋１）・ｍ回の繰り返しを使用することになる。ここで、ｍは、勾配の方向におけるステップの数である。勾配探索は、各ｓステップ勾配を再計算するように構成される場合があり、それによって、描画及び比較の繰り返しの回数を（Ｎ＋１）・ｍ／ｓ＋ｍ回に低減する場合がある。
【００４９】
評価層１１４の所与の実施形態において使用される特定数の自由度及び繰り返しは、特定のジェスチャー認識アプリケーションによって変わる場合がある。例えば、頭部が硬い被写体（例えば、硬い体）であることを想定する頭部追跡アプリケーションは、６つの自由度（例えば、ｘ、ｙ、及びｚ次元、並びに３つのオイラー角）、及び遅い移動（すなわち、僅かな回数の繰り返し）を使用するように構成される場合がある。このタイプのアプリケーションの場合、たとえソフトウェアで実施される場合であっても、全探索及び勾配探索の両方をリアルタイムに実施することができる。別の例として、手追跡アプリケーションは、各手及び早い移動について２５度の自由度（すなわち、多数の繰り返し）を使用するように構成される場合がある。このタイプのアプリケーションの場合、たとえハードウェアで実施される場合であっても、全探索をリアルタイムに実施することは、通常できない。ただし、勾配探索は、並列化を使用して、リアルタイムに実施することができる。
【００５０】
ただし、自由度の数、及び各度についての変異の数は、ヒューリスティックモジュール２１６を使用することによって、減らすことができる。これは、例えば、特定の被写体パラメタを計算することを含む場合がある。
【００５１】
図３は、評価層１１４において事前処理済み画像データ３０２に対して実施される種々の加工処理３００のうちの特定のものを示している。この実施形態では、加工処理は、高レベル加工処理３０４及び低レベル画像処理プリミティブ３０６を含むものとして、概ね特徴付けられる。
【００５２】
図５に関連して以下でより詳細に説明されるように、高レベル加工処理３０４は一般に、評価層１１４のソフトウェアで実施される部分において実行され、低レベル画像処理プリミティブは一般に、評価層１１４のハードウェアで実施される部分において実行される。
【００５３】
この実施形態における高レベル加工処理３０４は、特異点検出及び追跡、前面検出及び追跡、エッジ検出及び追跡、並びに、質量中心検出のような高速なヒューリスティック（経験に基づく探索）を含む。これらの例示的処理の各々は、図面に示したように入力画像の異なる領域を使用し、それによって、処理の少なくとも一部が互いに並列に動作するように効率的に構成される場合がある。したがって、画像プロセッサ１０２の画像処理回路は、マルチプロセッサシステムを含む場合があり、その中に、複数の高レベルの加工処理が並列化される場合がある。
【００５４】
特異点検出及び追跡は、撮影された人物の頭部及び手のような被写体を識別するために使用される。これらの被写体は通常、認識層１１６にとって非常に重要な特徴と考えられる。
【００５５】
前面検出及び追跡は、異なるタイプの奥行き撮像器について、異なるレベルの信頼度を提供することができる。より具体的には、奥行き撮像器タイプに応じて、得られる奥行き画像の異なる部分は、異なるレベルのノイズを含む場合があり、したがって、ノイズレベルは、被写体の前面とそのエッジとの間で大きく変化する場合がある。ＳＬカメラは一般に、前面においては、比較的低いノイズを有する奥行き画像を生成するが、エッジにおいては、比較高いノイズを有する奥行き画像を生成する。この場合、検出される前面は、検出されるエッジに比べてより高い信頼性を有する。
【００５６】
エッジ検出及び追跡は、異なるタイプの奥行き撮像器に対し、異なるレベルの信頼度をさらに提供する。例えば、ＴｏＦカメラは一般に、ＳＬカメラに比べて、少ないノイズの被写体エッジを提供する。この場合、検出されるエッジは、検出される前面に比べてより高い信頼性を有する。
【００５７】
高速ヒューリスティックに関し、それらは一般に、比較的広い画像領域に対して実行され、したがって、画像データに対する比較的少数のアクセスしか必要としない。
【００５８】
低レベル画像処理プリミティブ３０６は、アフィン変換又は等長変換のような３Ｄプリミティブ、曲線追跡のような２Ｄプリミティブ、最小二乗比較のような比較プリミティブ、動き予測又は勾配探索のような探索プリミティブ、及び統計プリミティブを含み、場合によっては他のプリミティブをさらに含む。これらの低レベル処理プリミティブ３０６は、高レベル加工処理３０４のうちの１以上により使用される。一例として、エッジ検出及び追跡処理は、曲線追跡を使用する場合がある。
【００５９】
上に示したように、評価層１１４は、ソフトウェアで実施される部分、及びハードウェアで実施される部分を含むように構成される。次に、図４及び図５を参照し、そのような構成の種々の例について詳しく説明する。
【００６０】
まず図４を参照すると、評価層１１４は、精密ソフトウェア（ＳＷ）アルゴリズム４０１、及び概算ハードウェア（ＨＷ）アルゴリズム４０２を含み、これらはそれぞれ、評価層のソフトウェアで実施される部分及びハードウェアで実施される部分であることが想定される。アルゴリズム４０１及び４０２の文脈で使用されるような用語「精密」及び「概算」は、本明細書において精度レベルとより一般的に呼ばれるものの例であり、他の実施形態では、他のタイプの精度レベルが、ソフトウェアアルゴリズム及びハードウェアアルゴリズムにそれぞれ使用される場合がある。精密ソフトウェアアルゴリズム４０１及び概算ハードウェアアルゴリズム４０２は、比較的高レベルの精度及び比較的低レベルの精度において、それぞれ被写体データを生成する。
【００６１】
評価層１１４は、第１の被写体データと第２の被写体データとを結合し、認識層１１６へ伝送するための出力被写体データをを生成するように構成された信号結合器４０３をさらに含む。先に述べたように、被写体データは、不変部分及び可変部分のような、複数の部分を有する場合がある。図面において、要素４０５、４０６及び４０７は、以下でより詳しく説明される、異なる組の被写体データを表している。
【００６２】
精密ソフトウェアアルゴリズム４０１を使用して生成される第１の被写体データは、より具体的には、古いが正確なデータ４０６を含み、概算ハードウェアアルゴリズム４０２により生成される第２の被写体データは、実際の相対データ４０５を含む。第１の被写体データと第２の被写体データとが、信号結合器４０３において結合され、実際の正確なデータ４０７が生成され、実際の正確なデータ４０７は、認識層１１６に提供される。この実施形態における実際の正確なデータ４０７は、リアルタイムに生成され、認識層における後続の処理のための信頼できる精度を有する。より具体的には、この実施形態では、被写体データは、ソフトウェアアルゴリズム４０１により生成される正確な遅延したデータと、概算ハードウェアアルゴリズム４０２により生成される概算の相対データとの、合計又は他の関数として計算される。ソフトウェアアルゴリズムとハードウェアアルゴリズムは一般に、互いに並列に実行される。
【００６３】
ソフトウェアアルゴリズム４０１は、高レベルの精度を有することから、リアルタイムに実行することはできないが、代わりに、特定のレイテンシ（この例では、約５から１０フレーム）をもって正確な被写体データを生成することができる。概算ハードウェアアルゴリズム４０２は、低レベルの精度で動作するので、小さなレイテンシ又はレイテンシなしで、リアルタイムに実行することができる。概算ハードウェアアルゴリズム４０２は、相対的な被写体状態を実際の相対データ４０５の形で算出する。この実際の相対データは、信号結合器４０３において、ソフトウェアアルゴリズム４０１により計算されるような古いが正確なデータ４０６の形で表された最新の既知の正確な被写体状態に追加される。その結果、現在の被写体状態が、実際の正確なデータ４０７の形で得られる。
【００６４】
上で示したように、ソフトウェアアルゴリズム４０１により生成される古いが正確なデータ４０６を含む第１の被写体データは、約５から１０フレーム毎に一回の速度で更新される。この文脈における用語「古い」は、対応する被写体データが、現在のフレームに関連するのではなく、１以上の以前のフレームに関連することを示している。
【００６５】
なお、約５フレームから１０フレーム毎に一回の更新速度は、ある種の最悪事例推定とみなされる場合もあり、画像プロセッサ１０２の能力及び構成に応じて、異なる更新速度が使用される場合がある。例えば、より強力な画像処理回路が使用され、又は、加工処理の複雑度が低減される場合、更新速度は増加される場合がある。ただし、それでも、ソフトウェアアルゴリズム４０１は、依然としてリアルタイムで動作しないであろうことが予測される。ソフトウェアアルゴリズム４０１の速度もまた、処理中の実際の画像データの特性のような、他の要因に応じて変わることがある。例えば、事例によっては、全探索は、その最初の段階で解決法を決定する場合がある。
【００６６】
この実施形態における実際の相対データ４０５を含む第２の被写体データは、第１の被写体データに比べて大幅に早い速度で更新されることが想定され、より具体的には、１入力フレーム毎に更新されることが想定される。したがって、この実施形態では、ソフトウェアアルゴリズム４０１を使用して生成される第１の被写体データは、１入力フレームあたり１回よりも小さい速度で更新され、ハードゥエアアルゴリズム４０２を使用して生成される第２の被写体データは、１入力フレームあたり１回の速度で更新される。他の実施形態では、異なる精度の被写体データに関連して、他の速度が使用される場合もある。
【００６７】
図５は、画像プロセッサ１０２の一部５００のより詳細な図を示すものであり、事前処理された画像データ５０２が、評価層１１４において、精密ソフトウェアアルゴリズム４０１、概算ハードウェアアルゴリズム４０２、及び他の関連処理モジュールを使用して処理される様子を示している。ソフトウェアアルゴリズム４０１及びハードウェアアルゴリズム４０２は、評価層１１４のソフトウェアで実施される部分及びハードウェアで実施される部分５０４及び５０６として、それぞれ構成される。評価層１１４のソフトウェアで実施される部分及びハードウェアで実施される部分５０４及び５０６は、本明細書では、ソフトウェア部分及びハードウェア部分とそれぞれ呼ばれることがある。
【００６８】
図３に関連して説明した低レベル画像処理プリミティブは、評価層１１４の部分５０６においてハードウェアとして実施される。これらの低レベルプリミティブは、例えば、３Ｄプリミティブ５０８、２Ｄプリミティブ５０９、及び統計プリミティブ５１０、並びに、探索及び比較機能を含む。これによって低レベルプリミティブを、評価層１１４の部分５０４においてソフトウェアとして実施される種々の高レベル加工処理によって、効率的に共有することが可能となる。
【００６９】
３Ｄプリミティブ５０８は、描画モジュール２０６をサポートするための、シフト及び回転のようなアフィン変換処理又は等長変換処理を実施するために使用される。３Ｄプリミティブは、前面検出及び追跡のような他の高レベル加工処理をさらにサポートすることができる。
【００７０】
２Ｄプリミティブ５０９は、エッジ検出及び追跡のような高レベル加工処理をサポートするために使用される。
【００７１】
統計プリミティブ５１０は、ソフトウェアアルゴリズム４０１及びハードウェアアルゴリズム４０２の両方により使用される。例えば、統計プリミティブ５１０は、画像の異なる複数の部分について、誤差レベルを推定するために使用されることがある。
【００７２】
この実施形態では、探索−描画−比較処理は、評価層１１４のソフトウェア部分５０４とハードウェア部分５０６との間に、分離して配置される。より具体的には、図２の探索モジュール２０４の機能は、ソフトウェア部分及びハードウェア部分５０４及び５０６のそれぞれにおいて実施される２つの探索モジュール２０４Ａ及び２０４Ｂに分離され、２つの探索モジュール２０４Ａ及び２０４Ｂは、相対データ変異５１２を生成するために使用される。また、描画モジュール２０６は、ソフトウェア部分５０４において実施され、比較モジュール２０８は、ハードウェア部分５０６において実施される。
【００７３】
ソフトウェア部分５０４において実施されるさらに別の要素としては、信号結合器４０３、並びに、さらに別の信号結合器５１４、及び被写体モデル５１６が挙げられる。この実施形態における被写体モデル５１６は、描画モジュール２０６のためのデータの提供に使用される。
【００７４】
図５には明示的に示されていないが、ソフトウェア探索モジュール及びハードウェア探索モジュール２０４Ａ及び２０４Ｂによる描画モジュール及び比較モジュール２０６及び２０８へのアクセスを制御するために、アービターがハードウェア部分５０６において実施される場合がある。そのようなアービターは、厳密な優先順位アプローチを使用することができ、それによって、ソフトウェア探索モジュール２０４Ａからの種々のアクセス要求を、最大優先順位で処理することができる。
【００７５】
図６から図８までは、例えばＧＲシステムの頭部追跡アプリケーションのコンテキストで実施されることがある、評価層１１４において実施される場合がある加工処理の種々の組の３つの異なる実施形態を示している。これらの実施形態では、評価層は、少なくとも頭部検出及び追跡機能を実施することを想定しているが、もちろん、さらに別の又は代わりのタイプの高レベル加工処理が、同様の形で構成される場合もある。また、当然ながら、これらの例示的なプロセスの特定のステップ、データ、及び特徴は、例示的なものに過ぎず、他の実施形態では、さらに別の又は代わりのステップ、データ及び他の特徴が使用される場合もある。
【００７６】
図６の実施形態では、独立したソフトウェアアルゴリズム及びハードウェアアルゴリズム４０１及び４０２は使用されていない。代わりに、現在の入力フレームは、ソフトウェアアルゴリズム４０１のみを使用して処理され、ソフトウェアアルゴリズム４０１は、ステップ６０４において、３Ｄ頭部モデルとの比較により頭部位置を探し出す。図面に示したように、このプロセスは、１フレーム毎に更新され、正確な頭部位置及び向き６０６を生成する。ただし、勾配探索ではなく全探索を使用することが想定され、したがって、正確な頭部位置及び向き６０６は、ｋフレームのレイテンシをもって生成される。ここで、ｋは通常、ｋ＜５である。ここでも、レイテンシは一般に、使用される画像処理回路のタイプ、加工処理の複雑度、及び処理される実際の画像データの特性のような種々の要素の関数となる。なお、この文脈におけるｋは、フレームの数で表されたレイテンシを意味しているが、もちろん、本明細書における他のコンテキストでは、同じ変数が異なる意味を持つ場合がある。
【００７７】
図７の実施形態では、ソフトウェアアルゴリズム及びハードウェアアルゴリズム４０１及び４０２は両方とも、現在の入力フレーム７０２を処理するために使用される。ステップ７０４は、図６のステップ６０４に概ね対応するが、各フレームについて実施されるのではなく、「基本」フレームとも呼ばれる毎５番目のフレームごとにのみ実施される。
【００７８】
ステップ７０４は、ソフトウェアアルゴリズム４０１によって実施されることが想定され、同じ全探索アプローチをステップ６０４として実施する。その結果得られる基本フレームについての正確な頭部位置及び向き７０６は、毎５番目のフレームごとに更新される。現在の入力フレーム７０２及び正確な頭部位置及び向き７０６は、ヒストリーバッファ７１０に記憶される。
【００７９】
ステップ７１２は、ハードウェアアルゴリズム４０２により実施されることがさらに想定される。ステップ７１２は、現在の入力フレーム７０２を含む各入力フレームに適用され、場合によっては高速ヒューリスティックを使用して、以前のフレームと現在の入力フレームとの間の最良適合等長変換を見つけ出すことを含む。以前のフレームは、ヒストリーバッファ７１０から得られる以前のフレームデータ７１４の一部である。その結果得られる等長変換は、以前のフレームから相対マッピング７１５を決定するために使用される。結合ステップ７１６により示されるように、相対マッピング７１５は、以前のフレームデータ７１４と結合され、正確な頭部位置及び向き情報７１８を生成する。
【００８０】
上記のように、図７の実施形態は、正確な頭部位置及び向き７０６を毎５フレームごとに、ｋフレームのレイテンシをもって更新する。誤差は、最大でも５＋ｋフレームにわたって蓄積されるに過ぎないので、誤差の蓄積は、制限される。結合されたソフトウェアアルゴリズムとハードウェアアルゴリズムの処理の全体的なレイテンシは、１フレーム以下であり、これは、最良適合等長変換を決定し、現在の入力フレームに対して相対マッピングを適用するために必要な時間に概ね対応する。また、評価層１１４のこの構成によれば、ステップ７０４及び７１２を非同期に実施することができ、したがって、基本フレームデータ７０６が使用可能になったとき直ぐに、出力データ７１８を更新することが可能となる。
【００８１】
図８の実施形態は、図７の実施形態に類似するものであり、現在の入力フレーム８０２、ステップ８０４、８１２、８１６、ヒストリーバッファ８１０、及びデータ８０６、８１４、８１５、８１８は、現在の入力フレーム７０２、ステップ７０４、７１２、７１６、ヒストリーバッファ８１０、及びデータ７０６、７１４、７１５、７１８にそれぞれ対応する。ただし、図７におけるような、現在の入力フレームと以前のフレームとの間の最良適合等長変換を見つけ出す代わりに、図８の実施形態は、ステップ８１２において、基本フレームと現在のフレームとの間の等長変換を見つけ出し、基本フレームから相対マッピング８１５を生成し、ステップ８１６においてそれを基本フレームと結合する。基本フレームは、毎５番目のフレームごとに取得され、対応する正確な頭部及び向き８０６は、ｋフレームのレイテンシを有する。したがって、図８のプロセスの出力における正確な頭部向き及び位置８１８は、図７のプロセスにおいて生成される対応する出力被写体データのものと同様に、限られたレイテンシ及び誤差蓄積を有する。
【００８２】
図６から図８までに示した例示的処理の組み合わせは、並列に、又はその他互いに関連する形で実施される場合があり、どのプロセス出力が使用されるかを選択するために、出力信頼度インジケータが使用される場合がある。例えば、所与の基本フレームについて正確な頭部位置及び向きを生成するために使用される全探索プロセスが、大きな誤差を含む場合、基本フレームを使用する図８のプロセスの全ての出力もまた、大きな誤差を含むことになる。したがって、複数のプロセスを使用して生成された出力の信頼度を判定するとともに、現在の入力フレームに使用するための特定のプロセスからの出力を選択するために、出力検査モジュールが、評価層１１４に組み込まれる場合がある。
【００８３】
信頼度判定は、例えば、所与のプロセスから得られる頭部位置及び向きを使用して描かれる頭部と、所定のヘッドモデルから得られる頭部位置及び向きとの間の計算上の距離に基づいて行われる場合がある。そのような出力検査モジュールは、望ましくない誤差伝搬を防止するものであり、リアルタイムで動作するように構成される場合がある。
【００８４】
上記の出力検査手順の一つの可能な実施形態は、次のようなものである。
１．図７のプロセスを使用して、以前のフレームに基づいて出力を生成する。
２．ステップ１において生成された出力の信頼度を推定する。信頼度が所定の閾値未満であった場合、ステップ３へ進み、そうでなければ、ステップ１の出力を認識層１１６に送信し、この出力検査手順を終了する。
３．図８のプロセスを使用して、最新の基本フレームに基づいて出力を生成する。
４．ステップ３において生成された出力の信頼度を推定する。
５．最新の基本フレーム以外の基本フレームに基づいて出力を生成するが、それ以外は、図８のプロセスを使用する。
６．ステップ５において生成された出力の信頼度を推定する。
７．ステップ２、４及び６から得られた信頼度推定値を比較し、最大の信頼度を有する出力を認識層１１６へ伝送するものとして選択する。
【００８５】
この例示的出力検査手順は、評価層１１４のレイテンシを大幅に増大させることはないが、この例示的出力検査手順によれば、被写体データ出力に関連する誤差率を大幅に低減することができる。
【００８６】
上で示したように、本発明の種々の実施形態は、ジェスチャー認識以外のマシン・ビジョン・アプリケーションを含む場合がある。例えば、本明細書に開示した技術は、被写体データパラメタを以前の状態及び相対オフセットの組み合わせとして計算することができる画像処理アプリケーションにも、処理アルゴリズムが異なる複雑度及びレイテンシを有する画像処理アプリケーションにも適用することができる。他の例としては、比較的単純なアルゴリズムを使用して、複数のフレームにわたって信頼できる精度で被写体データ増分を計算する画像処理アプリケーションが挙げられる。
【００８７】
ここでも、本明細書で説明した本発明の種々の実施形態が、例示的にすぎないものであることを意図していることは、強調されるべきである。例えば、本発明の他の実施形態は、本明細書に記載した特定の実施形態に使用されるものとは異なる、広く様々な異なるタイプ及び構成の画像処理回路、処理層、処理モジュール、及び加工処理を使用して実施することができる。また、本明細書において、特定の実施形態を説明する文脈でなされた特定の想定は、他の実施形態では、適用する必要がない場合がある。次の特許請求の範囲内に含まれるこれらの及び多数の他の代替実施形態は、当業者に直ちに明らかとなるであろう。
【図１】
2016513842.tif 000003
【図２】
2016513842.tif 000004
【図３】
2016513842.tif 000005
【図４】
2016513842.tif 000006
【図５】
2016513842.tif 000007
【図６】
2016513842.tif 000008
【図７】
2016513842.tif 000009
【図８】
2016513842.tif 000010
【国際調査報告】
2016513842.tif 000011