(57)【要約】  ユーザーの頭部の回転は、奥行き画像からの奥行き値の関数として決定されうる。いくつかの実施形態に従って、ユーザーの頭部を含む奥行き画像からの画素の範囲は、頭部領域として識別される。頭部領域中の画素の奥行き値は、ユーザーの頭部に対する奥行き質量の中心を計算するために使用される。ユーザーの頭部の回転は、ユーザー頭部に対する奥行き質量の中心に基づいて決定されうる。
2014516187.tif 000002
【特許請求の範囲】
【請求項１】
コンピューター使用可能命令を記憶する１つまたは複数のコンピューター記憶媒体であって、１つまたは複数のコンピューティングデバイスで使用されるとき前記１つまたは複数のコンピューティングデバイスに方法を実行させ、前記方法が、
奥行き画像(depth image)の奥行き画像データを受信するステップであって、前記奥行き画像データが複数の画素それぞれの奥行き値を含む、受信するステップと、
前記奥行き画像の頭部領域(head region)を識別するステップであって、前記頭部領域が、ユーザーの頭部に対応する、識別するステップと、
背景の奥行き値を決定するステップと、
前記ユーザーの頭部の奥行き質量(depth-mass)の中心を、前記頭部領域中の画素の奥行き値、前記背景の奥行き値および前記頭部領域中の画素の位置の関数として計算するステップと、
頭部位置の中心を識別するステップと、
前記奥行き質量の中心および前記頭部位置の中心に基づいて、前記ユーザーの頭部の回転を決定するステップとを含む、１つまたは複数のコンピューター記憶媒体。
【請求項２】
前記奥行き画像の頭部領域を識別するステップが、
奥行き値(depth values)に基づいて前記奥行き画像の対象物を識別するステップと、
前記対象物を解析して人間のサイズおよび形状に対応するシルエット(silhouette)を有する第１の対象物を識別するステップとを含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項３】
前記奥行き画像の頭部領域を識別するステップが、
ユーザーが、前記ユーザーの頭部の画像を見ることができ、前記頭部領域の境界の位置を制御することができるユーザーインターフェースを提供するステップと、
前記頭部領域の前記境界の前記位置を設定するユーザー入力を受信するステップとを含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項４】
前記背景の奥行き値を決定するステップが、
前記頭部領域内の画素からの最大奥行き値を識別し、前記背景の奥行き値を前記最大奥行き値の関数として設定するステップと、
前記頭部領域中の画素の少なくとも一部の奥行き値に基づいて平均奥行き値を計算し、前記背景の奥行き値を前記平均奥行き値の関数として設定するステップと、または、
ユーザー入力を受信して前記背景の奥行き値を設定するステップとのうちから選択された１つのステップを含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項５】
前記ユーザーの頭部の前記奥行き質量の中心を計算するステップが、
前記頭部領域から画素群を識別するステップと、
前記画素群からの画素それぞれの前記奥行き値と前記背景の奥行き値との差に基づいて、前記画素群からの画素それぞれの前記ユーザーの頭部の厚さを決定するステップと、
前記画素群からの画素それぞれの前記ユーザーの頭部の前記厚さと、前記画素群からの画素それぞれの位置とを掛け合わせた(multiplying)結果を合計する(summing)ことによって第１の値を計算するステップと、
前記画素群中の画素の前記奥行き値を合計することによって第２の値を計算するステップと、
前記第１の値を前記第２の値で除す(dividing)ことによって前記ユーザーの頭部の前記奥行き質量の中心を計算するステップとを含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項６】
前記ユーザーの頭部の前記奥行き質量の中心を計算するステップが、前記頭部領域内の画素位置の関数として、重みを付けるステップを含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項７】
頭部位置の中心を識別するステップが、前記背景の奥行き値を超えない奥行き値を有する前記頭部領域中の画素の中心位置を識別するステップを含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項８】
仮想環境のカメラ視点を制御するために前記ユーザーの頭部の前記回転を使用するステップをさらに含む、請求項１に記載の１つまたは複数のコンピューター記憶媒体。
【請求項９】
奥行き画像を用いてユーザーの頭部の回転を決定するための方法であって、
前記奥行き画像内の頭部領域の画素に対応する奥行き画像データを受信するステップと、
前記頭部領域中の前記画素の奥行き値に基づいて、前記ユーザーの頭部の奥行き質量の中心を計算するステップと、
前記奥行き質量の中心に基づいて、前記ユーザーの頭部の前記回転を決定するステップとを含む、方法。
【請求項１０】
奥行き画像の複数の画素の奥行き値を受信し、
前記奥行き値を解析して、ユーザーの頭部を含む画素の第１のサブセットを含む頭部領域を識別し、
前記画素の第１のサブセットの奥行き値を解析することによって背景の奥行き値を決定し、
奥行き質量の中心を、前記背景の奥行き値を超えない奥行き値を有する前記頭部領域中の画素の第２のサブセットの奥行き値の関数として計算し、前記奥行き質量の中心が、前記画素の第２のサブセットの前記奥行き値および前記背景の奥行き値から決定された均一密度の固体(solid)の質量の中心を算定することによって計算され、
前記ユーザーの頭部の中心に対応する前記頭部領域中の位置を識別し、
前記奥行き質量の中心および前記ユーザーの頭部の前記中心に対応する前記頭部領域中の前記位置に基づいて、前記ユーザーの頭部の回転を決定する
ように構成されたプロセッサを備える、コンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、奥行きに基づく質量の中心からの頭部回転のトラッキングに関する。
【背景技術】
【０００２】
[0001]多くのソフトウェアアプリケーションでは、ユーザーの頭部の向きは、入力の実際のかつそのままの形として使用されうる。例えば、３次元（３Ｄ）ゲーム、仮想現実環境および視覚化では、頭部の向きは、場面を視認するカメラの向きを制御するために使用されて、ユーザーが体験をより制御できるようにして、イマージョン（ｉｍｍｅｒｓｉｏｎ）を高めて、他の仕事のために、ジョイスティック、マウスまたはハットスイッチなどのいくつかの他の手段によってカメラの制御からユーザーの手を自由にする。これは、例えば、フライトシミュレーターおよびドライビングシミュレーターのファンの間では人気があり、彼らが仮想コックピットを見回し周囲を迅速に走査することを可能にする。
【０００３】
[0002]従来より、これらのタイプの頭部の向きのトラッキングシステムは、２つの手法のうち１つを選択することが多かった。トラッキングを可能にするために、ユーザーの頭部または帽子に取り付けたリフレクターまたは能動型赤外線ＬＥＤなどの特別なハードウェアをユーザーに付加する必要があるものがある。これは、ユーザーの快適さに影響を及ぼし、トラッキング体験のための準備が必要となり、またＬＥＤに給電するバッテリまたはケーブルを必要とする。ハードウェアの拡張をしないでユーザーをトラッキングする方法では、カメラ情報を処理し頭部向きを決定するためには、非常に複雑で計算処理上で高価なアルゴリズムが必要となる。この情報が、ＲＧＢ（すなわち、カラー）カメラからもたらされるとき、その成果物の質は、多くの現在の実施の場合と同様に照明によって影響されうる。このトピック上の学究的文献に記述されたアルゴリズムの多くは、大きな処理資源を必要とし、そのため多くのアプリケーションでは非実用的なものとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願発明の一実施例は、例えば、奥行きに基づく質量の中心からの頭部回転のトラッキングに関する。
【課題を解決するための手段】
【０００５】
[0003]この概要は、以降の「発明を実施するための形態」でさらに説明される概念の選択肢を概略化した形で紹介するために提供される。この概要は、特許請求の主題の主要な特徴または本質的な特徴を識別するものではなく、特許請求の主題の範囲の決定を補助するものとして使用されるものでもない。
【０００６】
[0004]本発明の実施形態は、奥行き画像からの奥行き値を使用することによって、ユーザーの頭部の回転を決定することに関する。ユーザーの頭部を含む奥行き画像の範囲は、頭部領域として識別されうる。次いで、頭部領域中の画素からの奥行き値は、ユーザーの頭部の回転と相関する奥行き質量の中心を計算するために使用されうる。したがって、ユーザーの頭部の回転は、ユーザーの頭部について計算された奥行き質量の中心に基づいて決定されうる。
【０００７】
[0005]本発明は、添付の図面を参照して以下に詳細に説明される。
【図面の簡単な説明】
【０００８】
【図１】[0006]本発明の実施形態を実施する際使用するのに適した例示的なコンピューティング環境のブロック図である。
【図２】[0007]本発明の一実施形態による、ユーザーの頭部の奥行き質量の中心を決定し、この奥行き質量の中心を用いてユーザーの頭部の回転を決定するための方法を示す流れ図である。
【図３】[0008]図３Ａは、本発明の実施形態による、ユーザーの頭部の周りで識別された頭部領域をもつ奥行き画像を示す図である。図３Ｂは、本発明の実施形態による、ユーザーの頭部の周りで識別された頭部領域をもつ奥行き画像を示す図である。
【図４】[0009]ユーザーの頭部の頂部、および、画素の奥行き値に対応する、所与のリファレンス位置から頭部上の点までの距離を示す平面図である
【図５】[0010]図５Ａは、ユーザーの頭部が左側または右側に回転するにつれて、左側または右側にシフトする奥行き質量の中心をもつユーザーの頭部の頂部を示す平面図である。図５Ｂは、ユーザーの頭部が左側または右側に回転するにつれて、左側または右側にシフトする奥行き質量の中心をもつユーザーの頭部の頂部を示す平面図である。図５Ｃは、ユーザーの頭部が左側または右側に回転するにつれて、左側または右側にシフトする奥行き質量の中心をもつユーザーの頭部の頂部を示す平面図である。
【図６】[0011]本発明の実施形態による、背景の奥行き値を用いてユーザーの頭部の奥行き質量の中心およびユーザーの頭部の回転を決定するための方法を示す流れ図である。
【図７】[0012]所与の点に対応する画素の奥行き値および背景の奥行き値に基づいて決定された所与の点に対するユーザーの頭部の奥行きを示す平面図である。
【発明を実施するための形態】
【０００９】
[0013]本発明の主題は、法的要件を満たすように本明細書において具体的に説明される。ただし、その説明はそれ自体、本特許の範囲を限定するものではない。正しくは、発明者は、現在および今後の他の技術と併せて、本文書において説明されるものと異なるステップまたは同様のステップの組合せを含む他の方式でも特許請求の主題が実施されうることを企図してきた。さらに、用語「ステップ」および／または「ブロック」は、使用された方法の異なる要素を包含するように本明細書において使用されてよく、これら用語は、個々のステップの順序が明確に述べられた場合を除き、本明細書において開示された様々なステップ間のいかなる特定の順序も意味すると解釈されるべきではない。
【００１０】
[0014]本発明の実施形態は、奥行きカメラからの距離情報および軽量化計算メトリックを用いてユーザーの頭部の回転をトラッキングすることを対象とする。この手法は、極めて少ないメモリおよびＣＰＵ消費で、リアルタイムに実行することが可能である。加えて、この手法は、ユーザーの頭部にいかなる特別なハードウェアも付け加える必要がなく、ＲＧＢカメラを使用する必要もない。このように、本発明の実施形態は、任意の種々の異なる用途のために、ユーザーの頭部の回転を決定するのに有用である。これは、限定はしないが、ビデオゲームまたは他の仮想環境用のカメラ視点を制御するために回転を使用するステップを含むことができる。
【００１１】
[0015]本発明の実施形態に従って、奥行き画像は、ユーザーが配置された範囲から取り込まれうる。当技術分野で知られているように、奥行き画像は、画素それぞれの奥行き値をもついくつかの画素を備えることができる。画素それぞれの奥行き値は、奥行きカメラが視認する範囲内の対象物上の点とリファレンス位置との間の距離に対応する。奥行き画像内のユーザーの頭部を含む範囲は、頭部領域として識別されうる。次いで、頭部領域内の画素の奥行き値は、ユーザーの頭部の奥行き質量の中心を計算するために使用されうる。奥行き質量の中心は、均一密度の固体の質量の中心に対応することができ、質量の厚さは、頭部領域内の画素の奥行き値の関数である。この手法は、奥行き画像からの奥行きデータに依存するので、これは、本明細書において「奥行き質量の中心」と呼ばれる。概念的に、奥行きは、密度に代わるものとみなしてよい。いくつかの実施形態では、これは、背景の奥行き値を設定するステップと、頭部領域中の画素の奥行き値と背景の奥行き値との差によって決定される頭部領域中のユーザーの頭部の厚さを備える固体の奥行き質量の中心を決定するステップとを含むことができる。次いで、こうした実施形態での奥行き質量の中心は、固体が均一密度であると仮定すると固体の質量の中心にほぼ対応する。
【００１２】
[0016]奥行き質量の中心は、ユーザーの頭部の回転と適切な相関関係をもたらす。このように、ユーザーの頭部の回転は、奥行き画像から計算された奥行き質量の中心に基づいて決定されうる。いくつかの実施形態では、この回転は、奥行き質量の中心の位置とやはり奥行き画像から決定されうるユーザーの頭部の中心の位置との差に基づくことができる
[0017]したがって、一態様では、本発明の一実施形態は、１つまたは複数のコンピューティングデバイスで使用されるときこの１つまたは複数のコンピューティングデバイスに方法を実行させる、コンピューター使用可能命令を記憶する１つまたは複数のコンピューター記憶媒体を対象とする。この方法は、奥行き画像の奥行き画像データを受信するステップを含み、奥行き画像データは、複数の画素それぞれの奥行き値を含む。この方法は、奥行き画像の頭部領域を識別するステップも含み、頭部領域は、ユーザーの頭部に対応する。この方法は、背景の奥行き値を決定するステップをさらに含む。この方法は、ユーザーの頭部の奥行き質量の中心を、頭部領域中の画素の奥行き値、背景の奥行き値および頭部領域中の画素の位置の関数として計算するステップも含む。この方法は、頭部位置の中心を識別するステップをさらに含む。この方法は、奥行き質量の中心および頭部位置の中心に基づいてユーザーの頭部の回転を決定するステップをさらに含む。
【００１３】
[0018]別の実施形態では、本発明の一態様は、奥行き画像を用いてユーザーの頭部の回転を決定するための方法を対象とする。この方法は、奥行き画像の頭部領域の画素に対応する奥行き画像データを受信するステップを含む。この方法は、頭部領域の画素の奥行き値に基づいて、ユーザーの頭部の奥行き質量の中心を計算するステップも含む。この方法は、奥行き質量の中心に基づいて、ユーザーの頭部の回転を決定するステップをさらに含む。
【００１４】
[0019]本発明のさらなる実施形態は、奥行き画像の複数の画素の奥行き値を受信し、この奥行き値を解析してユーザーの頭部を含む画素の第１のサブセットを含む頭部領域を識別し、画素の第１のサブセットの奥行き値を解析することによって背景の奥行き値を決定し、奥行き質量の中心を、背景の奥行き値を超えない奥行き値を有する頭部領域中の画素の第２のサブセットの奥行き値の関数として計算し、奥行き質量の中心が、画素の第２のサブセットの奥行き値および背景の奥行き値から決定された均一密度の固体の質量の中心を算定することによって計算され、ユーザーの頭部の中心に対応するこの頭部領域中の位置を識別し、奥行き質量の中心およびユーザーの頭部の中心に対応する頭部領域中の位置に基づいて、ユーザーの頭部の回転を決定する、ように構成されたプロセッサを備えるコンピューティングデバイスを対象とする。
【００１５】
[0020]本発明の実施形態の要旨について簡単に説明してきたが、本発明の様々な態様の全体的なコンテキストを提供するために、本発明の実施形態が実施されうる例示的な動作環境を以下に説明する。始めに、特に図１を参照すると、本発明の実施形態を実施するための例示的動作環境が、示され、一般に、コンピューティングデバイス１００と呼ばれる。コンピューティングデバイス１００は、適したコンピューティング環境の一例であるだけであり、本発明の使用または機能性の範囲に対して何らかの限定を提案するものではない。コンピューティングデバイス１００は、図示された構成要素のいずれか１つまたは組合せに関するいずれの従属性または要件を有するとして解釈されるべきでもない。
【００１６】
[0021]本発明は、コンピューターまたは、携帯情報端末（ｐｅｒｓｏｎａｌ  ｄａｔａ  ａｓｓｉｓｔａｎｔ）もしくは他の携帯型デバイスなどの他のマシンによって実行されるプログラムモジュールなどのコンピューター実行可能命令を含む、コンピューターコードまたはマシン使用可能命令の全体的なコンテキストにおいて説明されうる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むプログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実行するコードを参照する。本発明は、携帯型デバイス、家電製品、汎用コンピューター、より専門的なコンピューティングデバイス等を含む、種々のシステム構成で実践されうる。本発明は、タスクが通信ネットワークを通してリンクされた遠隔処理デバイスによって実行される分散型コンピューティング環境でも実践されうる。
【００１７】
[0022]図１を参照すると、コンピューティングデバイス１００は、メモリ１１２、１つまたは複数のプロセッサ１１４、１つまたは複数のプレゼンテーションコンポーネント１１６、入力／出力（Ｉ／Ｏ）ポート１１８、入力／出力コンポーネント１２０および実例的な電源１２２などのデバイスを、直接または間接的に結合するバス１１０を含む。バス１１０は、１つまたは複数のバス（アドレスバス、データバスまたはその組合せなど）としうるものを表す。図１の様々なブロックは、明瞭さのために線で示され、実際には、様々なコンポーネントの描写はそれほど明確ではなく、比喩的に言えば、この線は、より正確には灰色で曖昧（ｇｒｅｙ  ａｎｄ  ｆｕｚｚｙ）である。例えば、表示デバイスなどのプレゼンテーションコンポーネントをＩ／Ｏコンポーネントとみなすこともありうる。プロセッサはメモリも有する。本発明者は、こうしたことが当技術分野の本質であることを理解し、図１は、単に本発明の１つまたは複数の実施形態に関連して使用されうる例示的コンピューティングデバイスを示す図であることを重ねて述べる。全てが図１の範囲内で「コンピューティングデバイス」を参照して企図されるように、「ワークステーション」「サーバー」「ラップトップ」「携帯型デバイス」等のこうしたカテゴリ間の区別をしない。
【００１８】
[0023]コンピューティングデバイス１００は、通常、種々のコンピューター可読媒体を含む。コンピューター可読媒体は、コンピューティングデバイス１００によってアクセスされうる任意の使用可能な媒体とすることができ、また、揮発性媒体も不揮発性媒体も、リムーバブル媒体もノンリムーバブル媒体も含む。例として、限定せず、コンピューター可読媒体は、コンピューター記憶媒体および通信媒体を備えることができる。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実施される、揮発性媒体も不揮発性媒体も、リムーバブル媒体もノンリムーバブル媒体も含む。コンピューター記憶媒体には、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルヴァーサタイルディスク（ＤＶＤ）もしくは他の光ディスク記憶デバイス、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または、所望の情報を記憶しコンピューティングデバイス１００によってアクセス可能な他の任意の媒体が含まれる。通信媒体は、通常、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波もしくは他のトランスポート機構などの変調データ信号中で実現し、また、任意の情報配信媒体を含む。用語「変調データ信号」とは、信号中の情報を符号化するような方式で、１つまたは複数のその特性を設定させるまたは変えさせる信号を意味する。例として、限定せず、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音波、ＲＦ、赤外線および他の無線媒体などの無線媒体が含まれる。上記のいずれの組合せも、コンピューター可読媒体の範囲に含まれるべきである。
【００１９】
[0024]メモリ１１２は、揮発性メモリおよび／または不揮発性メモリの形式のコンピューター記憶媒体を含む。このメモリは、リムーバブル、ノンリムーバブルまたはその組合せであってよい。例示的ハードウェアデバイスには、ソリッドステートメモリ、ハードドライブ、光ディスクドライブ等が含まれる。コンピューティングデバイス１００は、メモリ１１２またはＩ／Ｏコンポーネント１２０などの様々なエンティティからのデータを読み込む１つまたは複数のプロセッサを含む。プレゼンテーションコンポーネント１１６は、ユーザーまたは他のデバイスにデータ表示を示す。例示的プレゼンテーションコンポーネントには、ディスプレイデバイス、スピーカー、印刷コンポーネント、振動コンポーネント等が含まれる。
【００２０】
[0025]Ｉ／Ｏポート１１８により、コンピューティングデバイス１００が、Ｉ／Ｏコンポーネント１２０を含む、組み込み式もありうる他のデバイスに論理的に結合されるようになる。実例としてのコンポーネントには、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナー、プリンター、無線デバイス等が含まれる。
【００２１】
[0026]ここで図２を参照して、本発明の実施形態による、ユーザーの頭部の奥行き質量の中心を決定し、この奥行き質量の中心を用いてユーザーの頭部の回転を決定するための方法２００を示す流れ図を提供する。ブロック２０２に示すように、始めに奥行き画像データが受信される。これは、単一の奥行き画像フレームの奥行き画像データであってよい。この奥行き画像は、周知の奥行きカメラ技術を用いて取り込まれてよい。当技術分野で知られているように、奥行き画像データは、奥行き画像内のいくつかの画素それぞれの奥行き値を備えることができる。所与の画素の奥行き値は、画像化される対象物上の点とリファレンス位置との間の距離に対応する。
【００２２】
[0027]ブロック２０４に示すように、ユーザーの頭部の周りの範囲は、頭部領域として奥行き画像内で識別される。本明細書で使用される頭部領域は、ユーザーの頭部を含むものとして識別された奥行き画像内の画素の広がりである。この頭部領域は、このユーザーの頭部の広がりまたはユーザーの頭部の部分領域を含むことができる。加えて、頭部領域は、本発明の実施形態に従って、奥行き画像の任意の形状またはサイズの範囲でありうる。これを、図３Ａおよび図３Ｂに例として図示する。例えば、図３Ａに、ユーザー３０２Ａを含む奥行き画像３００Ａを示し、ここではユーザーの頭部の周りの矩形範囲が、頭部領域３０４Ａとして識別された。図３Ｂに、ユーザー３０２Ｂを含む奥行き画像３００Ｂを示し、ここでは、ユーザーの頭部の周りの円形範囲が、頭部領域３０４Ａとして識別された。奥行き画像３００Ａおよび３００Ｂは、本明細書において図示するために簡略化されており、実際には、奥行き画像は、おそらくより複雑になり、異なった奥行きの多数の対象物をもつ範囲を取り込むことが理解されるべきである。加えて、図３Ａおよび図３Ｂは、ユーザーの全身を含む奥行き画像３００Ａおよび３００Ｂを図示するが、奥行き画像は、ユーザーの身体の一部（例えば、ユーザーの腰部からユーザーの頭部まで）を取り込むだけでよいことが理解されるべきである。
【００２３】
[0028]頭部領域は、本発明の様々な実施形態に従っていくつかの別々の方式で奥行き画像内で識別されうる。いくつかの実施形態では、システムは、奥行き画像を解析して頭部領域を自動的に識別する。これは、人間の頭部のサイズおよび形状にほぼ対応する、奥行き画像中の対象物のシルエットを識別するステップを含むことができる。この手法は、計算処理上で比較的軽量化となる。この手法の一例として、一実施形態では、対象物は、似た奥行きをもつ画素の範囲を見つけ出し、異なる奥行きをもつ画素の範囲によって縁部を作り出させることによって、奥行き画像内でほぼ識別されうる。いくつかの別々の対象物が、奥行き画像内で識別されうる。このように、別々の対象物が、それぞれ解析されて人間の頭部のサイズおよび形状にもっとも厳密に対応するものを決定することができる。これは、まず人間の身体のサイズおよび形状に厳密に対応するシルエットを見つけ出すステップと、次いで人間の頭部のサイズおよび形状に対応する対象物の一部を見つけ出すステップとを含むことができる。
【００２４】
[0029]他の実施形態では、頭部領域は、ユーザーによって手動で設定されうる。例えば、ユーザーが頭部位置を指定することができるユーザーインターフェース（ＵＩ）が提供されうる。このＵＩは、ユーザーのリアルタイム画像を含むことができ、ユーザーが、（例えば、境界ボックスを左側、右側、頂部側、底部側に移動することによって）ユーザーの頭部の周りの表示された頭部領域の境界を移動できるようにすることができる。この手法は、ユーザーが固定いすに着席しているときなど、ユーザーの頭部が同じ範囲に留まるような、ユーザーがおそらく動き回らないであろうという状況で特に適用可能となりうる。ユーザーが頭部領域を手動で設定できることによって、上述のような、奥行き画像を解析して頭部領域を識別するプロセスは回避されうる。
【００２５】
[0030]さらなる実施形態では、頭部領域は、システムによって設定された固定領域とすることができ、ユーザーは、頭部領域に対応する範囲内にユーザーの頭部を配置するように指示されうる。例えば、ユーザーの頭部の表示および頭部領域に対応するボックスを示すようなＵＩが提供されうる。次いで、ユーザーは、ＵＩ中のユーザーの頭部がＵＩに示されるボックス中に位置するようにユーザー自身を配置するように指示されることになる。
【００２６】
[0031]再び図２を参照すると、ブロック２０６に示すように、奥行き質量の中心は、頭部領域中の画素の奥行き値に基づいて、ユーザーの頭部について計算される。前述したように、奥行き質量の中心は、奥行き画像の頭部領域中の画素からの奥行き値に基づいて、均一密度の固体として決定された質量の中心であると概して言うことができる。奥行き質量の中心は、ユーザーの頭部に対応する体積またはユーザーの頭部と奥行き値を生成するために使用されるリファレンス位置との間の範囲に対応する体積に基づくことができる（例えば、ユーザーの頭部の奥行き質量の中心は、前者の体積に直接比例することになるが、ユーザーの頭部の奥行き質量の中心は、後者の体積に間接的に比例することになる。）。概して言えば、アルゴリズムは、ユーザーの頭部の奥行き質量の中心を、画素それぞれの奥行き値（例えば、奥行き画像を取り込んだ奥行きカメラによって決定される、対象物からリファレンス位置までの距離）、および画素それぞれのＸ位置（すなわち水平位置）の関数として計算するために使用されうる。これは、頭部領域中の全ての画素またはその一部を含むことができる。いくつかの実施形態では、縁部付近の画素は重みがより小さくなるように、画素それぞれのＸ位置の関数として、重みが付けられうる。これは、縁部付近のノイズの考慮に役立つことができる。
【００２７】
[0032]概念的に、これは、図４および図５Ａ〜図５Ｂに図示される。特に、図４は、ユーザーの頭部の頂部４０２および奥行き画像の頭部領域として画像化される範囲４０４を示す平面図を図示する。奥行き画像の画素それぞれは、いくつかのリファレンス位置４０６に対する対象物上の点の距離ＺＮを示す奥行き値を有する。
【００２８】
[0033]図５Ａから理解できるように、ユーザーが前方を見ているとき、頭部領域５０４Ａの中心点５０６Ａの両側の奥行き値は、ほとんど同一となり、奥行き質量の中心（図５Ａに図示せず）は、中心点５０６Ａ付近になるように計算されるはずである。ただし、図５Ｂに示すように、ユーザーがユーザーの頭部５０２Ｂをユーザーの左側に回転させたならば、頭部領域５０４Ｂに対応する範囲内のユーザーの頭部５０２Ｂのより多くの部分が、ユーザーの左側にシフトすることになり、ユーザーの頭部の質量の中心もユーザーの左側にシフトすることになる。これは、ユーザーの頭部５０２Ｂとの距離が、右側に比較して左側で集合的により短くなるという点で、奥行き画像に反映されることになる。結果として、奥行き質量の中心５０８Ｂは、ユーザーの中心点５０６Ｂの左側に位置するようなこうした奥行き値に基づいて計算されることになる。図５Ｂに示すように、奥行き質量の中心５０８Ｂは、Ｘ方向に沿った位置に対応する。あるいは、図５Ｃに示すように、ユーザーがユーザーの頭部５０２Ｃをユーザーの右側に回転させたならば、頭部領域５０４Ｃに対応する範囲内のユーザーの頭部５０２Ｃのより多くの部分が、ユーザーの右側にシフトすることになり、ユーザーの頭部の質量の中心もユーザーの右側にシフトすることになる。これは、ユーザーの頭部５０２Ｃとの距離が、左側に比較して右側が集合的により短くなるという点で、奥行き画像に反映されることになる。結果として、奥行き質量の中心５０８Ｃは、ユーザーの中心点５０６Ｃの右側に位置するこうした奥行き値に基づいて計算されることになる。
【００２９】
[0034]再び図２に戻ると、ブロック２０８に示すように、ブロック２０６で計算された奥行き質量の中心に基づいて、ユーザーの頭部の回転が決定される。例えば、図５Ｂに示すように、Ｘ方向に沿った奥行き質量の中心５０８Ｂの位置は、ユーザーの頭部５０２Ｂが、ユーザーの左側に回転した程度を表すことができる。同様に、図５Ｃに示すように、Ｘ方向に沿った奥行き質量の中心５０８Ｃの位置は、ユーザーの頭部５０２Ｃが、ユーザーの右側に回転した程度を表すことができる。いくつかの実施形態では、ユーザーの頭部の回転は、ユーザーの頭部の奥行き質量の中心と中心位置とを比較することによって決定されうる。例えば、これは、中心位置５０６Ｂと共に図５Ｂの奥行き質量の中心の位置を含むことができる。
【００３０】
[0035]ブロック２０８で決定されるユーザーの頭部の回転は、種々の異なる用途のいずれかで使用されうる。例としてだけで、限定せず、いくつかの実施形態では、ユーザーの頭部の回転は、ゲームまたは他の仮想世界のカメラ視点の回転を制御するために使用されうる。
【００３１】
[0036]いくつかの実施形態では、ユーザーの頭部の奥行き質量の中心は、背景の奥行きに対する画素それぞれでのユーザーの頭部の奥行きまたは厚さを計算するために、リファレンス点として背景の奥行きを用いて決定されうる。この手法について、図６の方法６００を参照して説明し、図７に概念的に図示する。図６に示すように、背景の奥行き値は、ブロック６０２で決定される。これは、例えば、（例えば、図２のブロック２０４を参照して先に述べたように）奥行き画像の頭部領域を識別した後に行われうる。
【００３２】
[0037]背景の奥行き値は、本発明の実施形態の範囲内で種々の方式で決定されうる。いくつかの実施形態では、頭部領域内の画素からの最大奥行き値は、背景の奥行き値として単純に設定されうる。他の実施形態では、背景の奥行き値は、頭部領域中の画素の奥行き値から計算される平均奥行き値の関数とすることができる。例えば、頭部領域中の全ての画素の平均奥行き値が、計算され、一定量の奥行き（例えば、１０ｃｍ〜２０ｃｍ）は、背景の奥行き値を生成するために、その平均奥行き値の上に加算されうる。いくつかの例では、平均値は、頭部領域の中心付近の範囲中の画素などの頭部領域中の画素の一部のみから計算されうる。さらなる実施形態では、背景の奥行き値は、ユーザーによって手動で設定されうる。例えば、先に述べたようにユーザーが頭部領域を手動で設定するとき、背景の奥行き値を設定するための手動の手法が使用されうる。概して言えば、ユーザーが頭部領域の境界範囲を移動および設定するだけでなく、背景奥行き値を設定することもできるようにするＵＩが提供されうる。重ねて言うが、この手法は、ユーザーの頭部がほぼ同じ場所に留まるような、ユーザーがおそらく動き回らないであろうという状況でより適用可能となりうる。
【００３３】
[0038]ブロック６０４に示すように、背景の奥行き値より大きい奥行き値をもつ頭部領域中の画素は、無視されうる。このように、背景の奥行き値より小さい奥行き値をもつ画素のみが、次に、さらなる処理について考慮される。本質において、背景の奥行き値より大きい奥行き値をもつ頭部領域の一部が、さらなる処理から除外され削除されうる。
【００３４】
[0039]ブロック６０６に示すように、残りの画素の奥行き値、背景の奥行き値および残りの画素のＸ位置（すなわち、水平位置）を用いて、ユーザーの頭部の奥行き質量の中心が計算される。いくつかの実施形態に従って、これは、画素それぞれの奥行き値と背景の奥行き値との差に基づいて、画素それぞれでのユーザーの頭部の奥行き（すなわち、厚さ）を決定するステップを含むことができる。これは、図７に概念的に図示される。特に、図７に、ユーザーの頭部７０２の頂部および奥行き画像の頭部領域に対応する範囲７０４を示す平面図を図示する。画素Ａの奥行き値は、リファレンス位置（図示せず）からユーザーの頭部７０２上の点７０８までの距離ＺＡ７０６に対応することになり、背景の奥行き値は、リファレンス位置からの距離ＺＢ７１０に対応することになる。距離ＺＡ７０６とＺＢ７１０の差は、点７０８でのユーザーの頭部の奥行き（すなわち、厚さ）ＤＡ７１２に対応することになる。
【００３５】
[0040]したがって、いくつかの実施形態では、奥行き質量の中心は、画素それぞれの奥行き値と背景の奥行き値との差に基づいて、画素ぞれぞれでのユーザーの頭部の奥行き値（すなわち、厚さ）を計算することによって決定されうる。画素ぞれぞれでのユーザーの頭部の奥行きを、画素それぞれのＸ位置と掛け合わせ、これらの値を合計し、この合計値を、画素それぞれのユーザーの頭部の奥行きの合計で除して、ユーザーの頭部の奥行き質量の中心を計算することができる。この手法は、以下の式に示されうる。
【００３６】
【数１】
2014516187.tif 000003
【００３７】
[0041]式中、ＣＤＭは、奥行き質量の中心を示し、Ｘｉは画素ｉのＸ位置、Ｄｉは画素ｉでのユーザーの頭部の奥行きである。上記のように、所与の画素でのユーザーの頭部の奥行き（すなわち、Ｄｉ）は、画素の奥行き値（すなわち、リファレンス点から画像化された対象物上の点までの距離）と背景の奥行き値との差である。この方式では、奥行き質量の中心は、均一密度の固体の質量の中心と類似しており、この固体は、奥行き値に対応するユーザーの頭部の厚さおよび背景の奥行き値に対応する。いくつかの実施形態では、縁部付近の画素は重みがより小さくなるように、画素それぞれのＸ位置の関数として、重みが付けられうる。
【００３８】
[0042]再び図６を参照すると、奥行き質量の中心を決定するステップに加えて、ユーザーの頭部の中心位置も、ブロック６０８で示すように決定されうる。いくつかの実施形態では、これは、単純に頭部領域の中心になりうる。他の実施形態では、これは、ユーザーの頭部のシルエットの中心とすることができ、ブロック６０４での背景の奥行き値を超える奥行き値をもつ画素を除外した後の残りの画素に対応すると考えてよい。いくつかの実施形態では、奥行き質量の中心のための上記の式と同様の式は、考えられる全ての画素のユーザーの頭部の奥行きの同一値（例えば、１の値）を単純に使用することによって、頭部位置の中心を決定するために使用されうる。
【００３９】
[0043]ブロック６１０に示すように、ユーザーの頭部の回転は、ブロック６０６で決定された奥行き質量の中心とブロック６０８で決定された頭部位置の中心とを比較することによって決定される。先に記述したように、ユーザーの頭部の回転は、種々の異なる用途のいずれかで使用されうる。例としてだけで、限定せず、いくつかの実施形態では、ユーザーの頭部の回転は、ゲームまたは仮想世界のカメラ視点の回転を制御するために使用されうる。
【００４０】
[0044]いくつかの実施形態では、ユーザーがユーザーの頭部に何か（例えば、前側につばのある帽子または標準形状のある種のヘルメット）を着用している場合に、これは、回転とともに左／右側にシフトする奥行き質量をさらに提供しまた頭部形状を標準化することによって、トラッキングを改善することができる。これは、例えば、ユーザーの頭部が十分にトラッキングされない状況で、または確実に一貫性のある体験ができるように使用されうる。特別な事例として、この手法は、ユーザーがヘルメットを着用するアミューズメントパークでのシミュレーションゲームなどの状況で使用されることが可能であり、全てのユーザーが同一のヘルメットを着用するので、風変わりな形状の髪型またはユーザー間で著しく異なる他の形状／サイズによりシステムの問題が生じることはない。
【００４１】
[0045]本明細書において説明してきた実施形態では、奥行き質量の中心が、水平面でユーザーの頭部の回転を決定するＸ方向（すなわち、水平方向）で決定されてきたが、いくつかの実施形態では、垂直面でユーザーの頭部の回転を決定するＹ方向（すなわち、垂直方向）で、奥行き質量の中心を決定する同様の手法を使用することもできることが理解されるべきである。加えて、本明細書において説明したユーザーの頭部の回転を決定するプロセスは、ユーザーの頭部の回転を経時的にトラッキングする奥行き画像の別々のフレーム用に連続して繰り返されうる。いかなるおよび全てのこのような変更およびその組合せは、本発明の実施形態の範囲内であることが企図される。
【００４２】
[0046]理解されうるように、本発明の実施形態は、奥行き画像から計算された奥行き質量の中心に基づいて、ユーザーの頭部の回転決定するステップを提供する。本発明について、特定の実施形態に関して説明してきたが、これは、全ての点で、制限するためではなく実例として挙げるためのものである。代替実施形態は、本発明は、その範囲を逸脱することなく属することが当業者には明らかであろう。
【００４３】
[0047]先の記述から、本発明は、明白な、かつシステムおよび方法に特有の他の利点と共に、先に明記した全ての目標および目的を達成するためによく適合されたものであることがわかる。一定の特徴および部分的組合せは、有用であり、他の特徴および部分的組合せを参照することなしに使用されうることが理解されたい。これは、特許請求の範囲によって企図され、またその範囲内にある。
【図１】
2014516187.tif 000004
【図２】
2014516187.tif 000005
【図３Ａ】
2014516187.tif 000006
【図３Ｂ】
2014516187.tif 000007
【図４】
2014516187.tif 000008
【図５Ａ】
2014516187.tif 000009
【図５Ｂ】
2014516187.tif 000010
【図５Ｃ】
2014516187.tif 000011
【図６】
2014516187.tif 000012
【図７】
2014516187.tif 000013
【国際調査報告】
2014516187.tif 000014
2014516187.tif 000015
2014516187.tif 000016