(57)【要約】  ビデオクリップのシーンにより対話型のユーザ制御を処理する方法が提供される。この方法では、まず、ビデオクリップのシーンと対話するユーザの頭部を特定する。次に、ビデオクリップが表示されている間、ユーザの特定された頭部がトラッキングされ、トラッキングにより、ユーザの頭部の位置の変化の検出が可能となる。次に、ユーザの頭部の位置の変化に従って視錐台が調整される。表示されている可視ボリュームを定義するために対話型のユーザ制御を可能にするコンピュータ可読媒体、コンピュータ装置及びシステムも含まれる。【選択図】図１２
2007506186.tif 000002
【特許請求の範囲】
【請求項１】
ビデオクリップのシーンにより対話型のユーザ制御を処理する方法であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定する段階と、
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングして、前記ユーザの前記頭部の位置の変化を検出する段階と、を含み、
前記トラッキングにより、
前記ビデオクリップのフレーム内で検索領域を特定して、前記検索領域内の値とテンプレート値とを比較し、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整する、方法。
【請求項２】
前記頭部の仮想位置が仮想ウィンドウの中央点に垂直な場合に、前記仮想ウィンドウの外縁と前記頭部の前記仮想位置との間に設定された三角形視線投影（triangular gaze projection）によって視錐台が最初に定義される、
請求項１記載の方法。
【請求項３】
前記視錐台の調整では、前記頭部の前記仮想位置が前記仮想ウィンドウの前記中央点に対して垂直ではなくなるように移動する、
請求項２記載の方法。
【請求項４】
前記頭部の前記仮想位置が前記仮想ウィンドウの前記中央点に対して垂直ではなくなると、前記三角形視線投影の角度が変化して、前記三角形視線投影の角度の前記変化は、前記ビデオクリップによって提示されるシーンの視角を変化して表示させる、
請求項３記載の方法。
【請求項５】
前記シーンの視角の前記変化は、前記シーンとの前記対話を可能にするための前記ユーザの前記頭部の動作の前記検出の結果として生じる、
請求項４記載の方法。
【請求項６】
前記ユーザの前記頭部の特定は、前記頭部のための顔のテンプレートをキャプチャすることを有する、
請求項１記載の方法。
【請求項７】
前記ユーザの前記頭部の位置の前記変化は、前記ユーザの前記頭部の位置の前記変化に応じて前記シーンの視角が変更されるように前記視錐台の継続的な調整を可能にする、前記ビデオクリップの連続的にトラッキングされるフレーム毎の変化である、
請求項６記載の方法。
【請求項８】
前記テンプレートの前記キャプチャは、前記ユーザの前記頭部用のマーカのない前記顔の画像を取得することを含む、
請求項６記載の方法。
【請求項９】
前記キャプチャを可能にするためのカメラを用いる、
請求項６記載の方法。
【請求項１０】
前記ビデオクリップは、ビデオゲームのビデオクリップである、
請求項１記載の方法。
【請求項１１】
前記ユーザの前記頭部の動作のトラッキングによる前記シーンとの前記対話は、前記ビデオゲームと対話するためのユーザによるハンドヘルド制御から独立している、
請求項１０記載の方法。
【請求項１２】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする操作方法は、
前記頭部の顔の部分をトラッキングして、
前記顔の部分に関連するグレースケール画像データと前記顔の部分のテンプレートに関連する画像とを比較すること、を含む、
請求項１記載の方法。
【請求項１３】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整する操作方法は、
前記ビデオクリップの前記シーンの対象点を特定して、
前記対象点が、連続するビデオクリップ内に表示される際に一定の位置に現れるように前記視錐台を変更すること、を含む、
請求項１記載の方法。
【請求項１４】
ビデオクリップのシーンにより対話型のユーザ制御を処理する方法であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定する段階と、
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングして、前記ユーザの前記頭部の位置の変化を検出する段階と、を含み、
前記トラッキングにより、
前記ビデオクリップのフレーム内で検索領域を特定して、前記検索領域内の値をテンプレート値と比較し、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する、方法。
【請求項１５】
前記頭部の仮想位置が仮想ウィンドウの中央点に垂直な場合に、前記仮想ウィンドウの外縁と前記頭部の前記仮想位置との間に設定された三角形視線投影によって視錐台が定義される、
請求項１４記載の方法。
【請求項１６】
前記視錐台の移動では、前記頭部の前記仮想位置が前記仮想ウィンドウの前記中央点に垂直に維持される、
請求項１５記載の方法。
【請求項１７】
前記変換により、前記仮想ウィンドウを介して提示される前記シーンの変化が可能となる、
請求項１５記載の方法。
【請求項１８】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする操作方法は、
前記特定された頭部のために前記ビデオクリップの各フレームの一部をスキャンすることを含む、
請求項１４記載の方法。
【請求項１９】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する操作方法は、
ビューポートに対して前記頭部の横方向の向きを維持しつつ、前記視錐台によって定義されるシーンをシフトさせることを含む、
請求項１４記載の方法。
【請求項２０】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する操作方法は、
ビューポートのサイズを調整することによって前記シーン内の物体に焦点を保つことを含む、
請求項１４記載の方法。
【請求項２１】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する操作方法は、
ユーザの前記頭部の位置の前記変化に従って前記ユーザの前記頭部を中心に前記視錐台を回転させることを含む、
請求項１４記載の方法。
【請求項２２】
ビューポートを介して表示される可視ボリュームを管理する方法であって、
ユーザの頭部の位置を特定する段階と、
異なる位置において、前記ユーザの前記頭部に関連する画像データをキャプチャする段階と、
前記画像データ内に定義された検索領域をスキャンする段階と、
前記検索領域内で前記ユーザの前記頭部の前記異なる位置を特定する段階と、
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する段階と、を含む、方法。
【請求項２３】
前記画像データ内に定義された検索領域をスキャンする操作方法は、
連続するビデオフレーム間で前記ユーザの前記頭部が動作する最大距離に従って前記検索領域の境界を定義することを含む、
請求項２２記載の方法。
【請求項２４】
前記画像データ内に定義された検索領域をスキャンする操作方法は、
前記ユーザの前記頭部の顔の領域のテンプレートと前記検索領域の前記スキャンによって生成された対応する画像領域とを比較することを含む、
請求項２２記載の方法。
【請求項２５】
ユーザの頭部の位置を特定する操作方法は、
前記頭部の顔の領域を表す画像データをキャプチャして、
前記顔の領域を表す前記画像データを記憶することを含む、
請求項２２記載の方法。
【請求項２６】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する操作方法は、
前記頭部の前記位置の動作の程度に従って、表示中の前記可視ボリュームの変更を定義することを含む、
請求項２２記載の方法。
【請求項２７】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する操作方法は、
前記頭部と前記ビューポートとの間の距離に従って前記可視ボリュームに関連するスケールを調整することを含む、
請求項２２記載の方法。
【請求項２８】
ビデオクリップのシーンにより対話型のユーザ制御を処理するプログラム命令を有するコンピュータ可読媒体であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定するプログラム命令と、
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングすることで、前記ユーザの前記頭部の位置の変化を検出可能とするプログラム命令と、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整するプログラム命令と、を備え、
前記トラッキングする前記プログラム命令は、
前記ビデオクリップのフレーム内で検索領域を特定するプログラム命令と、
前記検索領域内の値とテンプレート値とを比較するプログラム命令と、を有する、
コンピュータ可読媒体。
【請求項２９】
ユーザの頭部を特定する前記プログラム命令は、
前記頭部のための顔のテンプレートをキャプチャするプログラム命令を有する、
請求項２８記載のコンピュータ可読媒体。
【請求項３０】
前記ユーザの前記頭部の位置の前記変化は、前記ユーザの前記頭部の位置の前記変化に応じて前記シーンの視角が変更されるように前記視錐台の継続的な調整を可能にする、前記ビデオクリップの連続的にトラッキングされるフレーム毎の変化である、
請求項２８記載のコンピュータ可読媒体。
【請求項３１】
前記テンプレートをキャプチャする前記プログラム命令は、
前記ユーザの前記頭部用のマーカのない前記顔の画像を取得するプログラム命令を有する、
請求項２９記載のコンピュータ可読媒体。
【請求項３２】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする前記プログラム命令は、
前記頭部の顔の部分をトラッキングするプログラム命令と、
前記顔の部分に関連するグレースケール画像データと前記顔の部分のテンプレートに関連する画像とを比較するプログラム命令と、を有する、
請求項２８記載のコンピュータ可読媒体。
【請求項３３】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整する前記プログラム命令は、
前記ビデオクリップの前記シーンの対象点を特定するプログラム命令と、
前記対象点が連続するビデオクリップ内に表示される際に一定の位置に現れるように、前記視錐台を変更するプログラム命令と、を有する、
請求項２８記載のコンピュータ可読媒体。
【請求項３４】
ビデオクリップのシーンにより対話型のユーザ制御を処理するプログラム命令を有するコンピュータ可読媒体であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定するプログラム命令と、
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングすることで、前記ユーザの前記頭部の位置の変化を検出可能とするプログラム命令と、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動するプログラム命令と、を備え、
前記トラッキングする前記プログラム命令は、
前記ビデオクリップのフレーム内で検索領域を特定するプログラム命令と、
前記検索領域内の値とテンプレート値とを比較するプログラム命令と、を有する、
コンピュータ可読媒体。
【請求項３５】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする前記プログラム命令は、
前記特定された頭部のために前記ビデオクリップの各フレームの一部をスキャンするプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３６】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する前記プログラム命令は、
ビューポートに対して前記頭部の横方向の向きを維持しつつ、前記視錐台によって定義されるシーンをシフトさせるプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３７】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する前記プログラム命令は、
ビューポートのサイズを調整することによって前記シーン内の物体に焦点を保つプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３８】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する前記プログラム命令は、
ユーザの前記頭部の位置の前記変化に従って前記ユーザの前記頭部を中心に前記視錐台を回転させるプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３９】
ビューポートを介して表示される可視ボリュームを管理するプログラム命令を有するコンピュータ可読媒体であって、
ユーザの頭部の位置を特定するプログラム命令と、
前記ユーザの前記頭部に関連する画像データを異なる位置においてキャプチャする段階と、
前記画像データ内に定義された検索領域をスキャンする段階と、
前記検索領域内で前記ユーザの前記頭部の前記異なる位置を特定する段階と、
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整するプログラム命令と、を含む、
コンピュータ可読媒体。
【請求項４０】
前記検索領域内で前記ユーザの前記頭部の前記異なる位置を特定する前記プログラム命令は、
前記頭部のテンプレートと前記異なる位置における前記頭部のテンプレートとに関連する値の差を計算するプログラム命令を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４１】
前記画像データ内に定義された検索領域をスキャンする前記プログラム命令は、
連続するビデオフレーム間を前記ユーザの前記頭部が動作する最大距離に従って前記検索領域の境界を定義するプログラム命令を有する、
請求項４０記載のコンピュータ可読媒体。
【請求項４２】
前記画像データ内に定義された検索領域をスキャンする前記プログラム命令は、
前記ユーザの前記頭部の顔の領域のテンプレートと前記検索領域の前記スキャンによって生成された対応する画像領域とを比較するプログラム命令を有する、
請求項４０記載のコンピュータ可読媒体。
【請求項４３】
ユーザの頭部の位置を特定する前記プログラム命令は、
前記頭部の顔の領域を表す画像データをキャプチャするプログラム命令と、
前記顔の領域を表す前記画像データを記憶するプログラム命令と、を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４４】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する前記プログラム命令は、
前記頭部の前記位置の動作の程度に従って、表示中の前記可視ボリュームの変更を定義するプログラム命令を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４５】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する前記プログラム命令は、
前記頭部と前記ビューポートとの間の距離に従って前記可視ボリュームに関連するスケールを調整するプログラム命令を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４６】
表示されている可視ボリュームを定義するために対話型のユーザ制御を可能にするシステムであって、
コンピュータ装置と、
前記コンピュータ装置と通信しており、視錐台によって定義される画像データを表示するように構成されたディスプレイ画面と、
前記コンピュータ装置と通信しており、制御目標の位置の変化をキャプチャ可能なトラッキング装置と、を有し、
前記制御目標の前記位置の変化により、前記ディスプレイ画面に対する前記視錐台の位置合せが影響を受ける、システム。
【請求項４７】
前記トラッキング装置はカメラである、
請求項４６記載のシステム。
【請求項４８】
前記コンピュータ装置はビデオゲームコンソールである、
請求項４６記載のシステム。
【請求項４９】
前記コンピュータ装置は、仮想カメラ位置に関連するビューの変化に、前記制御目標の前記位置変化に関連する座標をマップするように構成されている、
請求項４６記載のシステム。
【請求項５０】
前記コンピュータ装置は、視錐台及び前記制御目標の前記位置の変化に関連する前記視錐台のために、前記ディスプレイ画面に関連する平面に対して実質的に垂直な視線方向を維持するように構成されている、
請求項４６記載のシステム。
【請求項５１】
前記コンピュータ装置は、前記視錐台が調整されたときに、前記画像データに関連するビューポートのサイズを調整して前記視錐台内の物体に焦点が保たれるように構成されている、
請求項４６記載のシステム。
【請求項５２】
コンピュータ装置であって、
制御目標のテンプレートを記憶するように構成されたメモリと、
前記制御目標をトラッキングするビデオ信号を受信可能なプロセッサと、を備え、
前記プロセッサは、
前記ビデオ信号のフレームの一部を前記テンプレートと比較するロジックと、
前記テンプレートに関連する前記制御目標の位置に対する、前記フレームの前記一部の前記制御目標の位置の変化を特定するロジックと、
前記制御目標の元の位置に関連する視錐台を調整するために、前記制御目標の前記位置の前記変化を変換するロジックと、を有する、
コンピュータ装置。
【請求項５３】
前記制御目標の元の位置に関連する視錐台を調整するために、前記制御目標の前記位置の前記変化を変換する前記ロジックは、
前記コンピュータ装置と通信しているディスプレイ画面に表示された、可視シーンの境界をシフトさせるロジックを有する、
請求項５２記載のコンピュータ装置。
【請求項５４】
前記コンピュータ装置はビデオゲームコンソールである、
請求項５２記載のコンピュータ装置。
【請求項５５】
前記テンプレートはグレースケール画像データとして記憶されている、
請求項５２記載のコンピュータ装置。
【請求項５６】
前記ビデオ信号のフレームの一部を前記テンプレートと比較する前記ロジックは、
前記ビデオ信号の前記フレームの前記一部をスキャンするロジックを有する、
請求項５２記載のコンピュータ装置。
【請求項５７】
前記制御目標はユーザの頭部である、
請求項５２記載のコンピュータ装置。
【請求項５８】
前記制御目標の元の位置に関連する視錐台を調整するために、前記制御目標の前記位置の前記変化を変換する前記ロジックは、
前記頭部とビューポートとの距離に従って表示信号に関連するスケールを調整するロジックを有する、
請求項５７記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にビデオ処理に関し、特に、対話型エンターテイメントアプリケーションで表現されているビューを調整するために、ユーザの頭部の動作によって仮想カメラの制御を可能にするインターフェイスに関する。
【背景技術】
【０００２】
対話型エンターテイメント産業は、対話型ビデオゲームのプレイ時に、ユーザができるだけリアルな体験をできるように努力している。現在、対話型アプリケーションの実行中に画面に表示されるシーンのビューでは、マーカを用いずに動作をキャプチャする場合に、トラッキングされた実際の動作に従ってシーンのビューを定義することができない。ユーザは、不便なマーカを着用しなければならない場面もあり、煩わしく、このためマーカに関連するアプリケーションが広く受け入れられずにいる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
リアルな体験を提供する試みの１つに、検出された動作に対して、予め用意された応答を用意しておく方法がある。すなわち、ユーザがモニタされており、ユーザが頭を下げたりジャンプすると、アプリケーションの対応するキャラクタも頭を下げたりジャンプする。しかし、ユーザが見ているディスプレイ画面に表示されたシーンのビューと、ユーザの動作とに相関性はない。そのため、表示されているシーンのビューを変えるには、ユーザが、ジョイスティックを操作しなければならなくなる。さらに、さまざまなシーン動作機能を利用するには、ユーザが、多くの難解な命令を記憶する必要がある。例えば、シーン内の角を曲がった先を覗く場合に、ユーザは、所望の機能を実現するため、ジョイスティックの操作と併せて、一連のボタン操作を行う必要がある場合がある。明らかなように、この操作は、エミュレーションのために関連付けられる物理的動作（すなわち角を曲がった先を覗くこと）とまったく関連がない。
【０００４】
前述の内容を鑑みて、対話型エンターテイメントアプリケーションの実行中に、ユーザにマーカを着用させることなく、ユーザの実際の動作に関連付けて表示されるシーンのビューを変更するように構成された方法及び装置を提供することが求められている。
【課題を解決するための手段】
【０００５】
概して、本発明は、表示されたシーンに関連する視錐台を調整するために、マーカを着用していないユーザの頭部の動作をトラッキングする方法及び装置を提供することによって、前述のニーズを満たす。本発明は、方法、システム、コンピュータ可読媒体又は装置などの多くの方法で実施できる点を理解すべきである。以下に本発明のいくつかの発明の実施形態を記載する。
【０００６】
一実施形態では、ビデオクリップのシーンにより対話型のユーザ制御を処理する方法が提供される。この方法では、まず、ビデオクリップのシーンに相互に作用するユーザの頭部を特定する。次に、ビデオクリップの表示中にユーザの特定された頭部がトラッキングされ、このトラッキングによりユーザの頭部の位置の変化が検出可能となる。次に、ユーザの頭部の位置の変化に従って視錐台が調整される。
【０００７】
別の実施形態では、ビデオクリップのシーンにより対話型のユーザ制御を処理する方法が提供される。この方法では、まず、ビデオクリップのシーンに相互に作用するユーザの頭部を特定する。次に、ビデオクリップの表示中にユーザの特定された頭部がトラッキングされ、このトラッキングによりユーザの頭部の位置の変化の検出が可能となる。次に、ユーザの頭部の位置の変化に従って視錐台が移動される。
【０００８】
さらに別の実施形態では、ビューポートを介して表示される可視ボリューム（visible volume）を管理する方法が提供される。この方法では、まず、ユーザの頭部の位置を特定する。次に、ユーザの頭部の位置がビューポートに対してトラッキングされる。次に、ビューポートに対するユーザの頭部の位置に基づいて可視ボリュームが調整される。
【０００９】
別の実施形態では、ビデオクリップのシーンにより対話型のユーザ制御を処理するプログラム命令を有するコンピュータ可読媒体が提供される。コンピュータ可読媒体は、ビデオクリップのシーンに相互に作用するユーザの頭部を特定するプログラム命令を有する。ビデオクリップの表示中にユーザの特定された頭部をトラッキングすることでユーザの頭部の位置の変化を検出可能なプログラム命令と、ユーザの頭部の位置の変化に従って視錐台を調整するプログラム命令と、が含まれる。
【００１０】
さらに別の実施形態では、ビデオクリップのシーンにより対話型のユーザ制御を処理するプログラム命令を有するコンピュータ可読媒体が提供される。コンピュータ可読媒体は、ビデオクリップのシーンに相互に作用するユーザの頭部を特定するプログラム命令を有する。ビデオクリップの表示中にユーザの特定された頭部をトラッキングすることでユーザの頭部の位置の変化を検出可能なプログラム命令と、ユーザの頭部の位置の変化に従って視錐台を移動するプログラム命令と、が含まれる。
【００１１】
さらに別の実施形態では、ビューポートを介して表示される可視ボリュームを管理するプログラム命令を有するコンピュータ可読媒体が提供される。コンピュータ可読媒体は、ユーザの頭部の位置を特定するプログラム命令を有する。ユーザの頭部の位置をビューポートに対してトラッキングするプログラム命令と、ビューポートに対するユーザの頭部の位置に基づいて可視ボリュームを調整するプログラム命令とが含まれる。
【００１２】
別の実施形態では、表示されている可視ボリュームを定義するために対話型のユーザ制御を可能にするシステムが提供される。システムはコンピュータ装置を有する。コンピュータ装置と通信するディスプレイ画面が含まれる。ディスプレイ画面は、視錐台によって定義された画像データを表示するように構成されている。コンピュータ装置と通信するトラッキング装置が含まれる。トラッキング装置は、制御目標の位置の変化をキャプチャ可能であり、制御目標の位置の変化により、ディスプレイ画面に対する視錐台の位置合せが影響を受ける。
【００１３】
さらに別の実施形態では、コンピュータ装置が提供される。コンピュータ装置は、制御目標のテンプレートを記憶するように構成されたメモリを有する。制御目標をトラッキングするビデオ信号を受信可能なプロセッサが含まれる。プロセッサは、ビデオ信号のフレームの一部をテンプレートと比較するロジックと、テンプレートに関連する制御目標の位置に対する、フレームの一部内の制御目標の位置の変化を特定するロジックと、制御目標の元の位置に関連する視錐台を調整するために、制御目標の位置の変化を変換するロジックと、を有する。
【発明を実施するための最良の形態】
【００１４】
本発明の他の態様及び利点は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【００１５】
本発明とその更なる利点とは、添付の図面を参照して以下の記載を読めば、よりよく理解できるであろう。
【００１６】
ユーザの頭部の動作に従って、対話型エンターテイメントアプリケーションで表示されているシーンの視点を調整するための発明が開示される。以下の説明では、本発明を十分に理解できるように、具体的な詳細を数多く記載する。しかし、本発明の詳細な内容の一部又はすべてを用いなくとも本発明を実施し得ることは当業者にとって自明である。場合によっては、本発明を不必要にわかりにくくしないように、公知のプロセス操作については詳しく記載しない。
【００１７】
本発明の実施形態は、マーカを使用することなく制御目標をトラッキングすることにより、対話型エンターテイメントアプリケーション中に仮想カメラに関連する視点を変更する。このため、ディスプレイ画面に表示されている可視シーンが、制御目標の実際の動作によって影響される（is effected to）。すなわち、制御目標がトラッキングされ、制御目標の動作が変換されて、ディスプレイ画面に表示される可視シーンを定義している視錐台が変更される。説明の便宜上、ここに記載する実施形態では、制御目標をユーザの頭部とする。もちろん、ユーザの頭部の特定の特徴（顔面、あるいは顔の他の適切な特徴など）がトラッキングされてもよい。従って、ジョイスティックコントローラを使用して、表示されている可視シーンの視点を決める仮想カメラを動かすのではなく、画像キャプチャ装置によってトラッキングされているユーザの頭部の座標の変化から、新しい視点を決め、続いてこの新しい視点に関連する画像データを表示する。上で述べたように、制御目標のトラッキングは、制御目標に固定されたマーカを使用することなく行われる。そのためにユーザは、トラッキングのための装置を着用する必要がない。当業者は、画像キャプチャ装置が、ウェブカメラなど、適切なカメラであれば、どのようなものであってもよいことを理解するであろう。
【００１８】
一実施形態では、トラッキング対象の制御目標に対応する、実世界の物理的動作が、可視シーンを定義している仮想カメラの仮想動作に変換される。次に、仮想世界の可視シーンが仮想ウィンドウにより表示され、次にビューポートと呼ばれる画面座標を有する矩形の領域に描画される。ビューポートは、テレビモニタ、コンピュータモニタなど、適切なディスプレイ画面であれば、どのようなものであってもよい。ここに記載する実施形態はビデオゲームアプリケーションについて言及しているが、これらの実施形態は、適切な対話型エンターテイメントアプリケーションであれば、どのようなものにも適用することができる。したがって、ビデオゲームアプリケーションに関して、ソニーコンピュータエンターテインメント社が製造している「プレイステーション２」（登録商標）などの適切なビデオゲームコンソールであれば、どのようなものでも後述する実施形態と共に採用することができる。しかし、ビデオゲームコンソールを含む実施形態が、ビデオゲームコンソールの代わりに任意の適切なコンピュータ装置も含んでいてもよい。例えば、オンラインゲームアプリケーションに関していうと、コンピュータ装置はサーバであってもよい。
【００１９】
一実施形態では、ビデオカメラが画像表示装置の近くに配置され、ユーザの動作を検出するためにユーザの方に向けて設置される。より詳細には、ユーザの頭部又は顔に関連する位置の変化がビデオカメラによって検出される。各ビデオフレームが処理されて、ビデオフレームの一部を、特定のユーザからキャプチャした顔テンプレート或いは基準顔テンプレートと比較することで、画像内でユーザの頭部の位置が特定される。顔テンプレートは、最初に、ユーザがディスプレイ画面内に定義されたキャプチャ領域の中に顔を納めることでキャプチャされる。ユーザの顔がキャプチャ領域内に収められると、ユーザの顔の画像が、グレースケール画像データ或いはメモリに記憶するのに適した他の適切な画像データとして記憶されるように、システムに信号が送られる。対話型エンターテイメントアプリケーションを実行している間、シーンのビューに使用する仮想視点と視錐台が、トラッキングされたユーザの頭部又は顔の位置に対応するように変更される。更に、ビデオ画像内のこれら顔／頭部の特徴のスケールから、カメラとユーザの頭部の距離が決定できる。頭部の位置から仮想ビューへのマッピングは、アプリケーションによって決まる。例えば、ゲーム開発者が、頭部の位置から仮想ビューへのマッピングを定義している要素を決定することができる。
【００２０】
図１は、視錐台を示す簡略模式図である。一般に知られているように、視錐台は、表示のため視覚化対象を定義するのに使用される。従って、視点１００を始点とする角錐が定義される。視錐台１０６は、視点１００を頂点とする角錐の４つの側面に囲まれている。視錐台１０６は、視点１００から定義される角錐を、近平面１０２によって、前端すなわち視点に近い位置において切り取った角錐台であると考えることができる。遠平面１０４は、角錐を遠端において切り取る。そのために視錐台１０６は、角錐台のボリューム（truncated pyramid volume）を定義しており、ビューポートを介して表示される可視ボリュームは、視錐台１０６の角錐台のボリュームにより定義される。視錐台により、可視物体を二次元の画面に表示するために、三次元空間内に定義されている物体を選別できるようになることを当業者は理解するであろう。従って、平面１０２は、視錐台１０６内に定義されている物体が表示される仮想のディスプレイ画面、すなわちビューポートとみなすことができる。
【００２１】
図２は、本発明の一実施形態による、アプリケーションの開発者が設定可能な仮想空間の視点を示す簡略模式図である。視点１１０は、仮想ウィンドウ１０８まで特定の距離が関連付けられている。その距離を設けることで、仮想ウィンドウ１０８を介して表示されているシーンを変更することができる。すなわち距離１１１は、仮想ウィンドウ１０８に表示されているシーンのスケールを定義するのに使用することができる。図からわかるように、表示されているシーンを操作するために、視点１１０を仮想ウィンドウ１０８に近づけたり或いは離したりすることができる。ビデオゲームアプリケーションに関していうと、距離１１１はゲーム開発者又はプログラマによって自由に設定される。このために距離１１１を操作して、仮想ウィンドウ１０８のすぐ上に存在するか、仮想ウィンドウ１０８からかなりの距離が離れているか、あるいはこの両者の中間の任意の距離に存在するという効果を付与することができる。例えば、ビデオゲームアプリケーションに関して、走っているキャラクタには、そのキャラクタの前に直接地面を表示させるために、仮想ウィンドウ１０８に比較的近い距離が関連付けられる。別の実施形態では、飛行中の飛行機からの視野を表示しているアプリケーションは、広域の視野の効果を付与するために、長い距離と関連付けられる。
【００２２】
図３は、本発明の一実施形態による、三次元立方体内のユーザの相対位置を使用して、対話型エンターテイメントアプリケーション中に、表示されているシーンに作用する世界空間構成の上面図を示す簡略模式図である。ここでは、画像キャプチャ装置１１６は、三次元立方体１１４によって定義されるキャプチャ領域内で制御目標１１２（ユーザの頭部又は顔の領域など）をトラッキングするように構成されている。更に下記に詳述するように、画像キャプチャ装置１１６は、ディスプレイ画面１１８に表示されている画像データ（すなわちシーン）を制御しているコンピュータ装置と通信している。このため、キャプチャ領域内で制御目標１１２が動作すると、ディスプレイ画面１１８に表示されている可視シーンを定義している視錐台を、この動作に対応して変化させるために、画像キャプチャ装置１１６によってキャプチャされた位置の変化が変換される。例えば、図１において説明した制御目標１１２に対応する頂点を有する角錐が、視錐台を定義する。更に下記に詳述するように、制御目標１１２の動作によって、表示されているシーンのビューが、制御目標の動作に対して変化する。一実施形態では、画像キャプチャ装置１１６は、この三次元ボリュームに対する頭部１１２の位置を特定するために、三次元立方体１１４の各種象限を拡大するように構成されている。画像キャプチャ装置１１６は、キャプチャ領域内でユーザの頭部をトラッキングすることができる適切なカメラであれば、どのようなものであってもよいという点に留意すべきである。トラッキングは、マーカを使用しない方法によって行われるという点に、更に留意すべきである。
【００２３】
引き続き図３を参照すると、一実施形態では、画像キャプチャ装置１１６は、深度カメラである。例えば、米国特許出願番号第１０／３６５，１２０号（発明の名称：「リアルタイムモーションキャプチャのための方法及び装置（Method and Apparatus for Real Time Motion Capture）」）に記載される深度カメラは、制御目標１１２から表示画面１１８への距離を測定することができる代表的な深度カメラである。３ＤＶシステムズ（3DV SYSTEMS）又はカネスタ（CANESTA）により提供される深度カメラを、ここに記載した実施形態用の画像キャプチャ装置１１６として使用してもよい。このためにディスプレイ画面１１８に表示されているビューは、キャプチャ領域１１４内の制御目標１１２の動作により変更される。さらに、ユーザの頭部からディスプレイ画面への距離が変わるのに伴い、表示中の画像データに関連するスケールが操作される。別の実施形態では、深度機能を有さない画像キャプチャ装置を使用してもよい。その場合、制御目標１１２は、ユーザの頭部又は顔の領域であり、ユーザの頭部からディスプレイ画面への距離の変化を変換するために、ユーザの頭部に関連する顔のサイズが、連続するビデオフレーム同士で比較されてもよい。例えば、連続するビデオフレームにおけるユーザの頭部又は他の適当な制御目標のサイズの約１５％以内の変化を使用して、ディスプレイ画面１１８に表示されているシーンのスケールが操作される。深度機能を有しない画像キャプチャ装置１１６を使用する場合には、深度カメラを使用する場合と比べて、より高性能のプロセッサが必要となることを、当業者は理解するであろう。
【００２４】
図４は、ユーザの頭部の動作に従って、表示されている視点を調整するように構成されたシステムのための他の顔の向きを示す、本発明の一実施形態の簡略模式図である。ここでは、最初に画像１２０ａがユーザの頭部のテンプレートとしてキャプチャされる。画像１２０ａがキャプチャされると、軸１２２に対して顔の向きを回転させた関連する画像１２０ｂ、１２０ｃが生成される。すなわち、画像１２０ａの顔を所定の方向に傾けて画像１２０ｂが作成され、画像１２０ａの顔を他の所定の方向に傾けて画像１２０ｃが作成され、これにより頭部の追加の三次元位置が特定される。当業者は、元のテンプレートの顔の向き又はサイズを変更して、多数の他のテンプレートを生成できることを理解するであろう。更に、元のキャプチャ画像の向き又はサイズを適切に変化させてもよい。一実施形態では、向き又はサイズの変化の程度が決定されて、シーンのビューの変更に使用される。
【００２５】
図５は、テンプレートの生成並びにテンプレートとビデオデータのフレーム内の領域とのマッチングを示す、本発明の一実施形態の簡略模式図である。ここでテンプレート１２４ａは、前述のように初期化時に作成される。一実施形態では、テンプレート１２４ａのサイズが１２×１６ピクセルの領域である。領域１３０は、ビデオデータのフレームを表している。ビデオデータのフレーム内に、検索領域１２６が定義される。一実施形態では、検索領域１２６に関連するサイズは、フレーム間でユーザが移動可能な距離（明確にはピクセル）によって決定される。例えばユーザがフレーム間に８ピクセル移動すると、検索領域１２６のサイズは、この動作をキャプチャできるよう、この動作に適応可能なように構成される。このために一実施形態では、検索領域１２６において定義されたテンプレートと、記憶されているテンプレート１２４ａとの間に一致をみつけるため、検索領域内でビデオデータの各フレームが検索され、これによりユーザの動作の変化が計算可能となる。別の実施形態では、前述したようにメモリに記憶されているテンプレート１２４ａと、検索領域１２６内の対応する領域１２４ｂとについて、Ｌ１ノルム計算と呼ばれる絶対差分和方式によって一致をみつける。すなわち、テンプレート１２４ａと比較したスコアが最も小さい検索領域内の領域をみつけるために、テンプレート１２４ａの各ピクセルに関連する値が、検索領域１２６において定義されている領域内の対応するピクセルから減算される。例えば、テンプレート１２４ａと領域１２４ｂとの対応するピクセル値が減算される。次に、テンプレート１２４ａと領域１２４ｂの比較に関連するスコアを得るために、各減算値の絶対値が求められ、その合計が求められる。テンプレート１２４ａと比較して最もスコアが小さい検索領域１２６内の対応領域が、一致する可能性の最も高い候補である。一実施形態では、探索領域１２６内の領域とテンプレート１２４ａとが一致していると判定するために、閾値スコアを求める必要がある。一致がみつからない場合、一実施形態では、制御目標の位置が前のフレームで決定された位置のままとされる。絶対差分和による比較は、例示のみを目的として取り上げたに過ぎず、限定を意図したものではないことを当業者は理解するであろう。すなわち、スコアを計算するために、差の二乗を求めるなどの他の適した手法を使用してもよい。要するに、各減算値から正値を生成する方法であれば、どのようなものでもスコアの計算に使用することができる。
【００２６】
引き続き図５を参照すると、一実施形態では、一致を判定するための画像データは、対応する画像データの各ピクセルと関連するグレースケール輝度値である。ピクセルと関連する他の適切な値も、テンプレート１２４ａとの一致を判定する計算に使用できるということは、当業者にとって明らかであろう。対話型エンターテイメントアプリケーションの実行中に、検索領域１２６が、表示領域１３０内の新しいデフォルト位置に設定されることがあるという点に留意すべきである。更に、ユーザの顔の特徴のトラッキングの機能を拡張するために、テンプレートに使用する画像データは動的データであってもよい。従って、ユーザの頭部の顔の領域をトラッキングしているときに、ユーザがキャプチャ装置から顔をそむけた場合、顔の領域が外れたときにキャプチャされた画像データが、初期値の顔の領域と置き換えられてトラッキングされてもよい。
【００２７】
図６Ａ、６Ｂは、ビューポートに対する制御目標の位置の変化に従って視錐台を変化させる様子を示す、本発明の一実施形態の簡略模式図である。図６Ａにおいて、初期位置のユーザの頭１３４ａがトラッキングされ、これによって、ビューポート１３２の背後、かつ側界線１３６ａ、１３６ｂの間に存在する可視ボリューム１３６を定義している視錐台が定義される。ユーザの頭部の位置１３４ｂに示すように、ユーザの頭部がビューポート１３２に近づくと、関連する視錐台が変更される。すなわち、ビューポート１３２の背後、かつ側界線１３８ａ、１３８ｂの間で規定される視錐台１３８は、視錐台１３６に対して後方に視野角が広がっている。この効果は、窓の外を眺める場合にたとえて説明できるという点に留意すべきである。すなわち、人物が窓から遠く離れれば離れる程、視野角が狭くなる。
【００２８】
図６Ｂは、本発明の一実施形態による、視錐台の横方向の非対称動作を説明するための図である。ここでは、ユーザの頭部が最初に位置１３３ａにあり、ビューポート１３２の背後、且つ側界線１４２ａ、１４２ｂの間に視錐台１４２が定義される。ユーザの頭部の位置が位置１３３ｂに移動すると、視錐台１４２と比較して視錐台１４０の境界が変更される。すなわち、側界線１４０ｂによって定義されるように、位置１３３ｂのユーザにとって、ビューポート１３２の右辺を通る視角が広くなる。しかし、ビューポート１３２の左辺を通る視角は、側界線１４０ａを通る視錐台１４０では狭くなっている。図６Ｂを参照すると、視錐台１４２は、対称形の視錐台を定義しているという点に留意すべきである。すなわち、位置１３３ａのユーザの頭部からの視線は、ビューポート１３２によって定義される平面の中心１３５に垂直である。しかし、ユーザの位置が位置１３３ｂに移動すると、視錐台は前述のように調整されて非対称となる。このように、位置１３３ｂからの視線方向（eye-gaze direction）は、ビューポート１３２の中央に対して垂直でない。換言すれば、ビュー平面は視線方向に対して垂直でなくなるが、これはビデオゲームのビューでは例外的である。ディスプレイは、シーンへの仮想ウィンドウとみなすことができ、前述の実施形態では、視錐台を調整することで、ユーザの頭部が移動すると、当該ユーザがこのウィンドウを通して見ることができるように表示する。これにより、視差効果だけではなく、視角の変化も付与されるという点に留意すべきである。
【００２９】
図６Ｃは、制御目標の動作に伴って視錐台を移動させ、これによって視差効果を付与する様子を示す、本発明の一実施形態の簡略模式図である。ここでは、ユーザの頭部又はユーザの頭部の顔の特徴が位置１３５ａから位置１３５ｂに動作しても、対応するビューポートの中央点に対する視線方向の垂直角が維持される。このため、ユーザの頭部の位置の変化に伴って視点１３２が移動するように見える。この方法はストレイフィング（strafing）と呼ばれることがある。位置１３５ａ、１３５ｂの対応する視錐台の境界が動作すると、この対応する視錐台によりキャプチャされる可視ボリュームが変化するという点に留意すべきである。一実施形態では、対称な視錐台が保たれつつ、ユーザの頭の上下動作がトラッキングされて、ゲームの視錐台によって異なる視点が提供される。例えばステルスゲーム又は一人称シューティングゲームなどのように、角を曲がった先を覗くために、図６Ｃの実施形態で説明したように、仮想カメラの方向を維持することが重要であることを、当業者は理解するであろう。ユーザが小さいウィンドウを見ていると感じないように、より大きなウィンドウをユーザに提供するために、ビューポート１３２として機能しているテレビ画面は、ユーザの全視野に対するよりも非常に大きく表示されうるということを、当業者は理解するであろう。
【００３０】
図７Ａ、Ｂは、仮想世界ビューを実世界ビューと比較している、本発明の一実施形態の簡略模式図である。図７Ａにおいて、仮想世界ビューは、位置１４４ａ、１４４ｂを始点として仮想ビューポート１４２aを通る視錐台によって定義される。図７Ｂにおいて、実世界ビューは、位置１４４ａ’、１４４ｂ’に関連しており、ビューポート１４２ｂを通る視錐台によって定義される。仮想世界の位置１４４ａは、実世界の位置１４４ａ’に対応しているという点に留意すべきである。同様に、位置１４４ｂは位置１４４ｂ’に対応している。更に、ビデオゲームアプリケーション又は他の任意の対話型エンターテイメントアプリケーション関して、ビューポート１４２ｂは、テレビ画面又は他の適当な種類のディスプレイ画面であれば、どのようなものでもよい。図７Ａでは、仮想カメラは位置１４４ａ、１４４ｂに関連している。図７Ｂの実世界構成では、カメラ等のトラッキング装置が、初期位置１４４ａ’から次の位置１４４ｂ’までのユーザの頭部の動作をトラッキングする。この動作は、そのシーンについて、コード開発者によって設定されたように実世界において解釈される。次に、図７Ｂの実世界の物理的動作が、仮想カメラを動作させて実世界のビューポート１４２ｂに表示させるシーンを定義するために、図７Ａの仮想世界の仮想動作に変換又はマップされる。動作のスケールが、実世界と仮想世界とで必ずしも一致する必要がないという点に留意すべきである。しかし、対話型エンターテイメントアプリケーションの実行中に、ユーザは、ビューの動作を自分が制御しているという印象を受ける。
【００３１】
図８は、ビューポート内で物体の位置を固定するように構成された視錐台を示す、本発明の一実施形態の簡略模式図である。ここでは、物体１５０は、対象点（interest point）の中央を定めている。すなわち、ビューポート１４２に対する位置１４４ａ’、１４４ｂ’などの様々な位置と関連する視錐台は、物体１５０を中心としている。従って、物体１５０は、異なる位置１４４ａ’、１４４ｂ’からシーン内の一定の位置に見える。例えばゲームにおいて、何らかの理由で重要な像がある場合に、前述の構成により、その像をシーンの中央点又は対象点に固定することが可能となる。このために、シーンの表示が物理的に正しくない可能性があっても、ユーザの注意が像に向くようになる。図８に示すように、物体１５０の相対位置を維持するために、ビューポート１４２のサイズが調整される。
【００３２】
図９は、物体を異なる角度から眺めるビューポート回転方式を示す、本発明の一実施形態の簡略模式図である。ここでは、仮想カメラが複数の視錐台１５４−１〜１５４−ｎを定義するために経路１５２を旋回し、さまざまな角度で物体１５６のビューを提供する。そのためにこの実施形態は、人の肩ごしに覗く場合、或いは人物が物体１５６に対して経路１５２を移動する（すなわち三人称ゲームで周回カメラを動作させる）場合に使用することができる。図１０は、ユーザの頭部が固定位置にあるが、ユーザの頭部の動作の仕方に従って視錐台が回転する方式を示す簡略模式図である。例えば、ユーザが所定の位置で頭部を傾けるか又はひねると、これにより異なる視錐台が定義される。ここでは、視錐台１６２−１〜１６２−ｎは、ユーザの頭部に対応する位置１６０を中心に定義される。本実施形態では、ユーザが、フライトシミュレーションアプリケーションでコックピットを眺め回したり、ドライブシミュレーションアプリケーションで車両の窓から外を見ることができるようになる。
【００３３】
図１１は、対話型のユーザ制御によって表示されている可視ボリュームを定義できるように構成されたシステムを示す、本発明の一実施形態の簡略模式図である。ここでは、ディスプレイ装置１６４が、コントローラ１７０を有するコンピュータ装置１６８と通信する。カメラ１１６は、ユーザ１７２を監視するように構成されている。すなわち、ユーザ１７２が動くと、前述のように、カメラ１１６がユーザの顔の領域１７４の動作の位置をトラッキングする。顔の領域の動きに応じて、表示されているシーンをキャプチャしている仮想カメラ１７６の位置が調整されて、ディスプレイ装置１６４を介して表示されるシーンが変更される。例えば、カメラ１１６は、コンピュータ装置１６８のメモリに格納されているテンプレートと比較することによって、位置が特定されたユーザの頭部をトラッキングするように構成することができる。図５を参照して記載したように、コンピュータ装置１６８は、テンプレートをカメラ１１６によってキャプチャされたビデオフレームデータと比較する。例えば、ユーザ１７２が頭を動かして角を曲がった先を覗く場合、仮想カメラ１７６が調整されて、ディスプレイ装置１６４にビューが提示され、角を曲がって存在するシーンが提示される。
【００３４】
図１２は、ビューポートを介して可視ボリュームの表示を管理するための操作方法を示す、本発明の一実施形態のフローチャート図である。この方法は操作方法１８０で始まり、ユーザの頭部が特定される。例えば、ユーザの頭部からテンプレートを生成して以下の記載のように使用するために、ユーザの頭部が初期化される。一実施形態としてユーザの頭部の初期化では、ユーザの頭部のグレースケール画像をキャプチャして、その画像をメモリに記憶する。図１を参照して記載したように、可視ボリュームは、表示するシーンを定義している視錐台の一部とすることができる。次に、操作方法１８２に進み、ユーザの頭部の位置がビューポートに対してトラッキングされる。例えば、ユーザが頭を傾ける、回転させる、或いは別の位置に動かすと、新しい位置又は向きが、ビューポートに対してトラッキングされる。前述のように、ビューポートは、テレビ画面又は他の適当なディスプレイ画面であればよい。更にユーザの頭部の動作が、カメラ（深度キャプチャ機能を備えていても、或いは備えていなくてもよい）によってキャプチャされる。次に、操作方法１８４に進み、頭部の位置の変化に従って視錐台が変換される。図７〜１０を参照して前述したように、視錐台を任意の回数だけ変換してもよい。更に、トラッキングのために頭部のテンプレートが使用されるが、頭部のテンプレートの代わりに数多くの他の方式を採用してもよいことを、当業者は理解するであろう。例えば、ユーザの頭部の位置をマーカを使用しないで決定する適切な方式であれば、どのような方式でも使用することができる。一実施形態では、ビューポートに対するユーザの頭部の相対距離もトラッキングされ、表示されているシーンに関連するスケールが調整される。
【００３５】
以上まとめると、前述した実施形態は、頭部の動作に関連させて視点を動作させるために、ユーザの頭部のトラッキングを可能にする。トラッキングはマーカを使用せずに行われ、これによって、特にバーチャルリアリティアプリケーションについて、ユーザは以前受けていた制約から解放される。表示制御アプリケーションのために、代表的なアプリケーションを提示したが、ここに記載されている実施形態が、多数の他の適当なアプリケーションによって使用することができることを理解すべきである。例えば追加の例には、３Ｄカットシーン（3D cut-scene）、映画又は再生におけるビューの変更の指示、深度を示すキュー（depth-cue）を使用して、頭部の動作の視差から得られる距離の決定（プラットフォーマ（platformer）ゲームにおいてジャンプすべき距離など）、通常の視野を狭くして恐怖を与える効果（フラッシュライトで小さな領域を照らして表示し、多くを見ようとして頭を動かすようにユーザを仕向けるなど）、ユーザの表示に関連したイベントのトリガとしての頭部の動作の使用（ユーザが絶壁を見下ろして目眩を起こしていることを示すためにゆがみ効果を生じさせる、ユーザが何かを見たときに、ゲームキャラクタの反応を引き起こすなど）などがある。別の実施形態では、ライフルの狙いを定めるときに、ライフルの十字線越しに凝視するように、ユーザの頭部の小さな動きに従って、仮想カメラを細かく動作させるスナイパーモードを提供してもよい。
【００３６】
ここに記載されている実施形態は、オンラインゲームアプリケーションにも適用可能であるという点を理解すべきである。すなわち、前述の実施形態は、インターネットなどの分散ネットワークを介してビデオ信号を複数のユーザに送信するサーバで行われ、ノイズ（noisy）のある遠隔地点でプレーヤが相互に通信できるようにする。ここに記載した実施形態は、ハードウェア実装、ソフトウェア実装のいずれによって実装されてもよいという点を更に理解すべきである。すなわち、前述の機能の説明を組み合わせて、ユーザの頭部又は顔の領域を特定及びトラッキングして、トラッキングされた動作を変換して、表示のためのシーンを定義するように構成されたマイクロチップを定義してもよい。
【００３７】
前述の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する各種コンピュータ実装オペレーションを使用してもよい点を理解すべきである。これらのオペレーションには、物理量の物理的な操作を必要とする操作が含まれる。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号又は磁気信号の形を取るが、必ずしもこれらに限定されない。更に、実行される操作は、生成、識別、決定又は比較などと呼ばれることが多い。
【００３８】
前述した発明は、携帯式デバイス、マイクロプロセッサシステム、マイクロプロセッサベース又はプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成によって実施することができる。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、通信ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される。
【００３９】
本発明は、コンピュータ可読媒体上の計算機可読コードとして実施することができる。コンピュータ可読媒体は、コンピュータシステムによって後から読取ることができるデータを記憶できるデータ記憶装置であればよい。コンピュータ可読媒体には、例えば、ハードディスク、ネットワーク接続記憶装置（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、及び他の光学式データ記憶装置及び非光学式データ記憶装置などがある。また、コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されてもよい。
【００４０】
前述に、本発明を明確に理解できるように多少詳細に記載したが、添付の特許請求の範囲内で変更例又は変形例を実施できることは明らかである。従って、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲及びその均等物の範囲内で変更されてもよい。特許請求の範囲において、各種構成要素及び／又はステップの順序は、請求項に明示的に記載されていない限り、特定の操作の順序を示すものではない。
【図面の簡単な説明】
【００４１】
【図１】視錐台を示す簡略模式図である。
【図２】本発明の一実施形態による、アプリケーションの開発者が設定可能な仮想空間の視点を示す簡略模式図である。
【図３】本発明の一実施形態による、三次元立方体内のユーザの相対位置を使用して、対話型エンターテイメントアプリケーション中に、表示されているシーンに作用する世界空間構成の上面図を示す簡略模式図である。
【図４】本発明の一実施形態による、ユーザの頭部の動作に従って、表示されている視点を調整するように構成されたシステムのための他の顔の向きを示す簡略模式図である。
【図５】本発明の一実施形態による、テンプレートの生成並びにテンプレートとビデオデータのフレーム内の領域とのマッチングを示す簡略模式図である。
【図６Ａ】本発明の一実施形態による、ビューポートに対する制御目標の位置の変化に従って、視錐台を変化させる様子を示す簡略模式図である。
【図６Ｂ】本発明の一実施形態による、ビューポートに対する制御目標の位置の変化に従って、視錐台を変化させる様子を示す簡略模式図である。
【図６Ｃ】本発明の一実施形態による、制御目標の動作に伴って視錐台を移動させ、これによって視差効果を付与する様子を示す簡略模式図である。
【図７Ａ】本発明の一実施形態による、仮想世界ビューを実世界ビューと比較している簡略模式図である。
【図７Ｂ】本発明の一実施形態による、仮想世界ビューを実世界ビューと比較している簡略模式図である。
【図８】本発明の一実施形態による、ビューポート内で物体の位置を固定するように構成された視錐台を示す簡略模式図である。
【図９】本発明の一実施形態による、物体を異なる角度から眺めるビューポート回転方式を示す簡略模式図である。
【図１０】本発明の一実施形態による、ユーザの頭部が固定位置にあるが、ユーザの頭部の動作の仕方に従って視錐台が回転する方式を示す簡略模式図である。
【図１１】本発明の一実施形態による、対話型のユーザ制御によって、表示されている可視ボリュームを定義できるように構成されたシステムを示す簡略模式図である。
【図１２】本発明の一実施形態による、ビューポートを介して可視ボリュームの表示を管理するための操作方法を示すフローチャート図である。
【図１】
2007506186.tif 000003
【図２】
2007506186.tif 000004
【図３】
2007506186.tif 000005
【図４】
2007506186.tif 000006
【図５】
2007506186.tif 000007
【図６Ａ】
2007506186.tif 000008
【図６Ｂ】
2007506186.tif 000009
【図６Ｃ】
2007506186.tif 000010
【図７Ａ】
2007506186.tif 000011
【図７Ｂ】
2007506186.tif 000012
【図８】
2007506186.tif 000013
【図９】
2007506186.tif 000014
【図１０】
2007506186.tif 000015
【図１１】
2007506186.tif 000016
【図１２】
2007506186.tif 000017
【手続補正書】
【提出日】平成17年7月14日(2005.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオクリップのシーンにより対話型のユーザ制御を処理する方法であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定する段階と、
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングして、前記ビデオクリップの各フレームについて前記ユーザの前記頭部の位置の変化を検出する段階と、を含み、
前記トラッキングにより、
前記ビデオクリップのフレームの一部内で検索領域を特定して、前記検索領域内の値とテンプレート値とを比較し、
前記ビデオクリップの各フレームについて前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整する、方法。
【請求項２】
前記頭部の仮想位置が仮想ウィンドウの中央点に垂直な場合に、前記仮想ウィンドウの外縁と前記頭部の前記仮想位置との間に設定された三角形視線投影（triangular gaze projection）によって視錐台が最初に定義される、
請求項１記載の方法。
【請求項３】
前記視錐台の調整では、前記頭部の前記仮想位置が前記仮想ウィンドウの前記中央点に対して垂直から所定の角度をなすように移動する、
請求項２記載の方法。
【請求項４】
前記頭部の前記仮想位置が前記仮想ウィンドウの前記中央点に対して垂直から前記所定の角度をなすと、前記三角形視線投影の角度が変化して、前記三角形視線投影の角度の前記変化は、前記ビデオクリップによって提示されるシーンの視角を変化して表示させる、
請求項３記載の方法。
【請求項５】
前記シーンの視角の前記変化は、前記シーンとの前記対話を可能にするための前記ユーザの前記頭部の動作の前記検出の結果として生じる、
請求項４記載の方法。
【請求項６】
前記ユーザの前記頭部の特定は、前記頭部のための顔のテンプレートをキャプチャすることを有する、
請求項１記載の方法。
【請求項７】
前記ユーザの前記頭部の位置の前記変化は、前記ユーザの前記頭部の位置の前記変化に応じて前記シーンの視角が変更されるように前記視錐台の継続的な調整を可能にする、前記ビデオクリップの連続的にトラッキングされるフレーム毎の変化である、
請求項６記載の方法。
【請求項８】
前記テンプレートの前記キャプチャは、前記ユーザの前記頭部用のマーカのない前記顔の画像を取得することを含む、
請求項６記載の方法。
【請求項９】
前記キャプチャを可能にするためのカメラを用いる、
請求項６記載の方法。
【請求項１０】
前記ビデオクリップは、ビデオゲームのビデオクリップである、
請求項１記載の方法。
【請求項１１】
前記ユーザの前記頭部の移動のトラッキングによる前記シーンとの前記対話は、前記ビデオゲームと対話するためのユーザによるハンドヘルド制御から独立している、
請求項１０記載の方法。
【請求項１２】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする操作方法は、
前記頭部の顔の部分をトラッキングして、
前記顔の部分に関連するグレースケール画像データと前記顔の部分のテンプレートに関連する画像とを比較すること、を含む、
請求項１記載の方法。
【請求項１３】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整する操作方法は、
前記ビデオクリップの前記シーンの対象点を特定して、
前記対象点が、連続するビデオクリップ内に表示される際に前記シーン内で一定の位置に現れるように前記視錐台を変更すること、を含む、
請求項１記載の方法。
【請求項１４】
ビデオクリップのシーンにより対話型のユーザ制御を処理する方法であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定する段階と、
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部を各フレームにおいてトラッキングして、前記ユーザの前記頭部の位置の変化を検出する段階と、を含み、
前記トラッキングにより、
前記ビデオクリップのフレームの一部内で検索領域を特定して、前記検索領域内の値をテンプレート値と比較し、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する、方法。
【請求項１５】
前記頭部の仮想位置が仮想ウィンドウの中央点に垂直な場合に、前記仮想ウィンドウの外縁と前記頭部の前記仮想位置との間に設定された三角形視線投影によって視錐台が定義される、
請求項１４記載の方法。
【請求項１６】
前記視錐台の移動では、前記頭部の前記仮想位置が前記仮想ウィンドウの前記中央点に垂直に維持される、
請求項１５記載の方法。
【請求項１７】
前記変換により、前記仮想ウィンドウを介して提示される前記シーンの変化が可能となる、
請求項１５記載の方法。
【請求項１８】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする操作方法は、
前記特定された頭部のために前記ビデオクリップの各フレームの前記一部をスキャンすることを含む、
請求項１４記載の方法。
【請求項１９】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する操作方法は、
ビューポートに対して前記頭部の横方向の向きを維持しつつ、前記視錐台によって定義されるシーンをシフトさせることを含む、
請求項１４記載の方法。
【請求項２０】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する操作方法は、
ビューポートのサイズを調整することによって前記シーン内の物体に焦点を保つことを含む、
請求項１４記載の方法。
【請求項２１】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する操作方法は、
ユーザの前記頭部の位置の前記変化に従って前記ユーザの前記頭部を中心に前記視錐台を回転させることを含む、
請求項１４記載の方法。
【請求項２２】
ビューポートを介して表示される可視ボリュームを管理する方法であって、
ユーザの頭部の位置を特定する段階と、
異なる位置において、前記ユーザの前記頭部に関連する画像データをキャプチャする段階と、
前記画像データの一部内に定義された検索領域をスキャンする段階と、
前記検索領域内で前記ユーザの前記頭部の前記異なる位置を特定する段階と、
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する段階と、を含む、方法。
【請求項２３】
前記画像データ内に定義された検索領域をスキャンする操作方法は、
連続するビデオフレーム間を前記ユーザの前記頭部が移動する最大距離に従って前記検索領域の境界を定義することを含む、
請求項２２記載の方法。
【請求項２４】
前記画像データ内に定義された検索領域をスキャンする操作方法は、
前記ユーザの前記頭部の顔の領域のテンプレートと前記検索領域の前記スキャンによって生成された対応する画像領域とを比較することを含む、
請求項２２記載の方法。
【請求項２５】
ユーザの頭部の位置を特定する操作方法は、
前記頭部の顔の領域を表す画像データをキャプチャして、
前記顔の領域を表す前記画像データを記憶することを含む、
請求項２２記載の方法。
【請求項２６】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する操作方法は、
前記頭部の前記位置の動作の程度に従って、表示中の前記可視ボリュームの変更を定義することを含む、
請求項２２記載の方法。
【請求項２７】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する操作方法は、
前記頭部と前記ビューポートとの間の距離に従って前記可視ボリュームに関連するスケールを調整することを含む、
請求項２２記載の方法。
【請求項２８】
ビデオクリップのシーンにより対話型のユーザ制御を処理するプログラム命令を有するコンピュータ可読媒体であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定するプログラム命令と、
前記ビデオクリップの表示中に各フレーム内で前記ユーザの前記特定された頭部をトラッキングすることで、前記ビデオクリップの各フレームについて前記ユーザの前記頭部の位置の変化を検出可能とする前記プログラム命令と、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整するプログラム命令と、を備え、
前記トラッキングする前記プログラム命令は、
前記ビデオクリップのフレームの一部内で検索領域を特定するプログラム命令と、
前記検索領域内の値とテンプレート値とを比較するプログラム命令と、を有する、
コンピュータ可読媒体。
【請求項２９】
ユーザの頭部を特定する前記プログラム命令は、
前記頭部用の顔のテンプレートをキャプチャするプログラム命令を有する、
請求項２８記載のコンピュータ可読媒体。
【請求項３０】
前記ユーザの前記頭部の位置の前記変化は、前記ユーザの前記頭部の位置の前記変化に応えて前記シーンの視角が変更されるように前記ビデオクリップの各フレームの後に前記視錐台の継続的な調整を可能にする、前記ビデオクリップの連続的にトラッキングされるフレーム毎の変化である、
請求項２８記載のコンピュータ可読媒体。
【請求項３１】
前記テンプレートをキャプチャする前記プログラム命令は、
前記ユーザの前記頭部用のマーカのない前記顔の画像を取得するプログラム命令を有する、
請求項２９記載のコンピュータ可読媒体。
【請求項３２】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする前記プログラム命令は、
前記頭部の顔の部分をトラッキングするプログラム命令と、
前記顔の部分に関連するグレースケール画像データと前記顔の部分のテンプレートに関連する画像とを比較するプログラム命令と、を有する、
請求項２８記載のコンピュータ可読媒体。
【請求項３３】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を調整する前記プログラム命令は、
前記ビデオクリップの前記シーンの対象点を特定するプログラム命令と、
前記対象点が連続するビデオクリップ内に表示される際に前記シーン内の一定の位置に現れるように、前記視錐台を変更するプログラム命令と、を有する、
請求項２８記載のコンピュータ可読媒体。
【請求項３４】
ビデオクリップのシーンにより対話型のユーザ制御を処理するプログラム命令を有するコンピュータ可読媒体であって、
前記ビデオクリップの前記シーンと対話するユーザの頭部を特定するプログラム命令と、
前記ビデオクリップの表示中に各フレームにおいて前記ユーザの前記特定された頭部をトラッキングすることで、前記ユーザの前記頭部の位置の変化を検出可能とするプログラム命令と、
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動するプログラム命令と、を備え、
前記トラッキングする前記プログラム命令は、
前記ビデオクリップのフレームの一部内で検索領域を特定するプログラム命令と、
前記検索領域内の値とテンプレート値とを比較するプログラム命令と、を有する、
コンピュータ可読媒体。
【請求項３５】
前記ビデオクリップの表示中に前記ユーザの前記特定された頭部をトラッキングする前記プログラム命令は、
前記特定された頭部を求めて前記ビデオクリップの各フレームの前記一部をスキャンするプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３６】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する前記プログラム命令は、
ビューポートに対して前記頭部の横方向の向きを維持しつつ、前記視錐台によって定義されるシーンをシフトさせるプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３７】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する前記プログラム命令は、
ビューポートのサイズを調整することによって前記シーン内の物体に焦点を保つプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３８】
前記ユーザの前記頭部の位置の前記変化に従って視錐台を移動する前記プログラム命令は、
ユーザの前記頭部の位置の前記変化に従って前記ユーザの前記頭部を中心に前記視錐台を回転させるプログラム命令を有する、
請求項３４記載のコンピュータ可読媒体。
【請求項３９】
ビューポートを介して表示される可視ボリュームを管理するプログラム命令を有するコンピュータ可読媒体であって、
ユーザの頭部の位置を特定するプログラム命令と、
前記ユーザの前記頭部に関連する画像データを異なる位置においてキャプチャするプログラム命令と、
前記画像データの一部内に定義された検索領域をスキャンするプログラム命令と、
前記検索領域内で前記ユーザの前記頭部の前記異なる位置を特定するプログラム命令と、
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整するプログラム命令と、を含む、
コンピュータ可読媒体。
【請求項４０】
前記検索領域内で前記ユーザの前記頭部の前記異なる位置を特定する前記プログラム命令は、
前記頭部のテンプレートと前記異なる位置における前記頭部のテンプレートとに関連する値の差を計算するプログラム命令を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４１】
前記画像データ内に定義された検索領域をスキャンする前記プログラム命令は、
連続するビデオフレーム間を前記ユーザの前記頭部が移動する最大距離に従って前記検索領域の境界を定義するプログラム命令を有する、
請求項４０記載のコンピュータ可読媒体。
【請求項４２】
前記画像データ内に定義された検索領域をスキャンする前記プログラム命令は、
前記ユーザの前記頭部の顔の領域のテンプレートと前記検索領域の前記スキャンによって生成された対応する画像領域とを比較するプログラム命令を有する、
請求項４０記載のコンピュータ可読媒体。
【請求項４３】
ユーザの頭部の位置を特定する前記プログラム命令は、
前記頭部の顔の領域を表す画像データをキャプチャするプログラム命令と、
前記顔の領域を表す前記画像データを記憶するプログラム命令と、を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４４】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する前記プログラム命令は、
前記頭部の前記位置の動作の程度に従って、表示中の前記可視ボリュームの変更を定義するプログラム命令を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４５】
前記ビューポートに対する前記ユーザの前記頭部の前記位置に基づいて前記可視ボリュームを調整する前記プログラム命令は、
前記頭部と前記ビューポートとの間の距離に従って前記可視ボリュームに関連するスケールを調整するプログラム命令を有する、
請求項３９記載のコンピュータ可読媒体。
【請求項４６】
表示されている可視ボリュームを定義するために対話型のユーザ制御を可能にするシステムであって、
コンピュータ装置と、
前記コンピュータ装置と通信しており、視錐台によって定義される画像データを表示するように構成されたディスプレイ画面と、
前記コンピュータ装置と通信しており、制御目標の位置の変化をフレーム単位でキャプチャ可能なトラッキング装置と、を有し、
各フレーム後に決定された前記制御目標の前記位置の変化により、前記ディスプレイ画面に対する前記視錐台の位置合せが影響を受ける、システム。
【請求項４７】
前記トラッキング装置はカメラである、
請求項４６記載のシステム。
【請求項４８】
前記コンピュータ装置はビデオゲームコンソールである、
請求項４６記載のシステム。
【請求項４９】
前記コンピュータ装置は、仮想カメラ位置に関連するビューの変化に、前記制御目標の前記位置変化に関連する座標をマップするように構成されている、
請求項４６記載のシステム。
【請求項５０】
前記コンピュータ装置は、視錐台及び前記制御目標の前記位置の変化に関連する前記視錐台のために、前記ディスプレイ画面に関連する平面に対して実質的に垂直な視線方向を維持するように構成されている、
請求項４６記載のシステム。
【請求項５１】
前記コンピュータ装置は、前記視錐台が調整されたときに、前記画像データに関連するビューポートのサイズを調整して前記視錐台内の物体に焦点が保たれるように構成されている、
請求項４６記載のシステム。
【請求項５２】
コンピュータ装置であって、
制御目標のテンプレートを記憶するように構成されたメモリと、
前記制御目標をトラッキングしているビデオ信号を受信可能なプロセッサと、を備え、
前記プロセッサは、
前記ビデオ信号のフレーム毎にその一部を前記テンプレートと比較するロジックと、
前記テンプレートに関連する前記制御目標の位置に対する、各フレームについて前記フレームの前記一部内の前記制御目標の位置の変化を特定するロジックと、
前記制御目標の元の位置に関連する視錐台を調整するために、各フレームについて前記制御目標の前記位置の前記変化を変換するロジックと、を有する、
コンピュータ装置。
【請求項５３】
前記制御目標の元の位置に関連する視錐台を調整するために、前記制御目標の前記位置の前記変化を変換する前記ロジックは、
前記コンピュータ装置と通信しているディスプレイ画面に表示された、可視シーンの境界をシフトさせるロジックを有する、
請求項５２記載のコンピュータ装置。
【請求項５４】
前記コンピュータ装置はビデオゲームコンソールである、
請求項５２記載のコンピュータ装置。
【請求項５５】
前記テンプレートはグレースケール画像データとして記憶されている、
請求項５２記載のコンピュータ装置。
【請求項５６】
前記ビデオ信号のフレームの一部を前記テンプレートと比較する前記ロジックは、
前記ビデオ信号の前記フレームの前記一部をスキャンするロジックを有する、
請求項５２記載のコンピュータ装置。
【請求項５７】
前記制御目標はユーザの頭部である、
請求項５２記載のコンピュータ装置。
【請求項５８】
前記制御目標の元の位置に関連する視錐台を調整するために、前記制御目標の前記位置の前記変化を変換する前記ロジックは、
前記頭部とビューポートとの距離に従って表示信号に関連するスケールを調整するロジックを有する、
請求項５７記載のコンピュータ装置。
【国際調査報告】
2007506186.tif 000018
2007506186.tif 000019
2007506186.tif 000020