本発明の実施形態は、グローブの指先の磁気追跡、ならびに関連方法及びシステムを提供する。
概して、手/指のポーズ(pose)、あるいは姿勢または構えを取り込む入力デバイスを作るために、指先及び指関節を追跡する磁気追跡システムが提供される。一実施形態において、多数の磁気センサ(例えばホール効果センサ)が手の上に(例えば指先ごとに1つずつ)配置され、3つの空間的に離間した電磁石が手首に配置される。センサがそれぞれの電磁石から個別の読み出しを行えるように電磁石は順番に巡回され、それからセンサごとの3つの読み出しは、手首に対する指先の三次元(3D)位置を計算するために使用され得る。指先の3D位置を考慮すると、逆運動学を利用して、指のポーズを(例えばどの指関節が曲げられているか、及び曲げ量を特定して)1つの可能な形状(またはいくつかのほぼ同一の形状)に還元することが可能である。さらに、手とデバイス間の正確なインタープレイを示すために、磁気エミッタが物理コントローラデバイス等の他のデバイスに配置可能であり、これらのデバイスに対する指先のポーズを特定するよう指先センサと共に使用され得る(例えば自身の手がコントローラデバイスを握っていることを示す表示レンダリングがユーザに提供され得る)。
一実施形態において、グローブインタフェースオブジェクトが提供され、当該グローブインタフェースオブジェクトは、グローブインタフェースオブジェクトの手首領域に配置された複数の電磁石と、グローブインタフェースオブジェクトの指先領域にそれぞれ配置された複数の磁気センサであって、それぞれの電磁石の起動時、それぞれの電磁石までの距離を示すデータを生成するようにそれぞれ構成される前記磁気センサと、時分割多重化割付で電磁石の起動及び磁気センサの読み出しを制御するように構成されるコントローラであって、それぞれの磁気センサは1つの電磁石の起動中に読み出される前記コントローラと、ヘッドマウントディスプレイ上に提示される仮想環境においてレンダリングされ得る仮想手のポーズを表すデータを生成する処理を行うために、磁気センサの読み出しから導き出されるデータをコンピューティングデバイスへ送信するように構成されるトランスミッタとを備える。
一実施形態において、時分割多重化割付は、個別の時間枠内のそれぞれの電磁石の起動を提供する電磁石の起動の反復パターンと、電磁石のうちの所定の1つの起動時間枠内におけるそれぞれの磁気センサの読み出しとにより規定される。
一実施形態において、複数の電磁石は、手首領域に非同一線上に配置された少なくとも3つの電磁石を規定する。
一実施形態において、複数の磁気センサは、グローブインタフェースオブジェクトの5つの指先領域にそれぞれ配置された5つの磁気センサを規定する。
一実施形態において、複数の磁気センサのそれぞれは、電磁石のうちの1つにより生成される磁場に応じて電圧を生成するように構成される。
一実施形態において、グローブインタフェースオブジェクトはさらに、インタラクティブ環境において取り込まれたグローブインタフェースオブジェクトの画像の分析に基づいて追跡されるように構成される照光追跡可能オブジェクトを備え、照光追跡可能オブジェクトの追跡により、仮想環境内の仮想手の位置が規定される。
一実施形態において、グローブインタフェースオブジェクトはさらに、加速度計、ジャイロスコープ、及び磁力計で構成されるグループから選択される少なくとも1つの慣性センサを備える。
別の実施形態において、方法が提供され、当該方法は、それぞれの電磁石の起動期間を実質的に重複しないよう規定するために、グローブインタフェースオブジェクトの手首部分に配置された複数の電磁石を連続的に起動及び停止することと、それぞれの電磁石の起動中に、グローブインタフェースオブジェクトの指先部分にそれぞれ配置された複数の磁気センサを使用して、起動している電磁石により生成される磁場強度を感知することと、感知された磁場強度を処理して、感知された磁場強度から導き出されるデータを生成することと、ヘッドマウントディスプレイ上に提示される仮想環境においてレンダリングされ得る仮想手のポーズがグローブインタフェースオブジェクトの物理的ポーズと実質的に類似するよう、仮想手のポーズを表すデータを生成する処理を行うために、感知された磁場強度から導き出されるデータをコンピューティングデバイスへ送信することとを含む。
一実施形態において、感知された磁場強度を処理することは、それぞれの磁気センサからそれぞれの電磁石までの距離を特定することと、特定された距離に基づいて複数の電磁石に対する各磁気センサの相対位置を特定することとを含む。
一実施形態において、仮想手のポーズを規定する処理は、各磁気センサの相対位置を処理して、仮想手の対応仮想指のポーズを規定することを含む。
一実施形態において、複数の電磁石は、グローブインタフェースオブジェクトの手首部分に非同一線上に配置された少なくとも3つの電磁石を含む。
一実施形態において、複数の電磁石に対する所定の磁気センサの相対位置は、それぞれの電磁石により規定される原点と、所定の磁気センサからそれぞれの電磁石までの特定された距離により規定される大きさとを有する円弧の交点により規定される。
一実施形態において、複数の電磁石を連続的に起動及び停止することは、電磁石の起動期間の反復サイクルを規定する。
一実施形態において、複数の磁気センサのそれぞれは、電磁石のうちの1つにより生成される磁場に応じて電圧を生成するように構成される。
別の実施形態において、方法が提供され、当該方法は、グローブインタフェースオブジェクトの手首部分に配置された第1電磁石を起動して、第1磁場を生成することと、グローブインタフェースオブジェクトの複数の指先部分のそれぞれにて第1磁場強度を測定することと、第1電磁石を停止することと、グローブインタフェースオブジェクトの手首部分に配置された第2電磁石を起動して、第2磁場を生成することと、グローブインタフェースオブジェクトの複数の指先部分のそれぞれにて第2磁場強度を測定することと、第2電磁石を停止することと、グローブインタフェースオブジェクトの手首部分に配置された第3電磁石を起動して、第3磁場を生成することと、グローブインタフェースオブジェクトの複数の指先部分のそれぞれにて第3磁場強度を測定することと、第3電磁石を停止することと、グローブインタフェースオブジェクトのそれぞれの指先部分に関して、指先部分にて測定された第1、第2、及び第3磁場強度に基づいて指先部分の位置を示す位置データを生成することと、ヘッドマウントディスプレイ上に提示される仮想環境においてレンダリングされ得る仮想手の形状がグローブインタフェースオブジェクトの物理的形状と実質的に類似するよう、仮想手の形状を表すデータを生成する処理を行うために、位置データをコンピューティングデバイスへ送信することとを含む。
一実施形態において、第1電磁石の起動及び停止は、第1磁場強度の測定が行われる第1電磁石の起動期間を規定し、第2電磁石の起動及び停止は、第2磁場強度の測定が行われる第2電磁石の起動期間を規定し、第3電磁石の起動及び停止は、第3磁場強度の測定が行われる第3電磁石の起動期間を規定し、第1、第2、及び第3電磁石の起動期間は、実質的に重複しない。
一実施形態において、方法はさらに、仮想手の形状とグローブインタフェースオブジェクトの物理的形状との間にリアルタイムな一致をもたらすために、方法のそれぞれの動作を巡回的に行うことを含む。
一実施形態において、所定の指先部分の位置は、それぞれの電磁石により規定される原点と、測定された磁場強度から特定される所定の指先部分からそれぞれの電磁石までの距離により規定される大きさとを有する円弧の交点により規定される。
一実施形態において、第1、第2、及び第3電磁石は、グローブインタフェースオブジェクトの手首部分に非同一線上に配置される。
一実施形態において、複数の指先部分のそれぞれにて磁場強度を測定することは、複数の指先部分に配置されたホール効果センサにより行われる。
別の実施形態において、方法が提供され、当該方法は、画像取り込みデバイスを使用して、インタラクティブ環境の画像を取り込むことと、取り込んだ画像を処理して、インタラクティブ環境においてグローブインタフェースオブジェクト上の追跡可能オブジェクトの位置を追跡することであって、追跡可能オブジェクトの追跡された位置は仮想環境内の仮想手の位置を規定する、取り込んだ画像を処理して、インタラクティブ環境においてグローブインタフェースオブジェクト上の追跡可能オブジェクトの位置を追跡することと、グローブインタフェースオブジェクトの指先部分に配置された複数の近接センサから、グローブインタフェースオブジェクト上に配置された複数のエミッタのそれぞれまでの距離を示す指近接度データを受信することと、近接度データを処理して、エミッタに対する指先部分の位置を特定することと、ヘッドマウントディスプレイ上のレンダリングのために、指先部分の位置を適用して、仮想環境内の仮想手の仮想指のポーズを規定することとを含む。
一実施形態において、指近接度データの受信は、時分割多重化割付でのエミッタの起動及び近接センサの読み出しから規定され、それぞれの近接センサは、1つのエミッタの起動中に読み出され、時分割多重化割付は、個別の時間枠内のそれぞれのエミッタの起動を提供するエミッタの起動の反復パターンと、エミッタのうちの所定の1つの起動時間枠内におけるそれぞれの近接センサの読み出しとにより規定される。
一実施形態において、複数のエミッタは、グローブインタフェースオブジェクトの手首部分に非同一線上に配置された少なくとも3つの電磁石を規定する。
一実施形態において、複数の近接センサは、グローブインタフェースオブジェクトの5つの指先部分にそれぞれ配置された5つの磁気センサを規定する。
一実施形態において、追跡可能オブジェクトは、取り込まれた画像において特定されやすいように照光される。
一実施形態において、方法はさらに、グローブインタフェースオブジェクト上に規定される方位センサから方位データを受信することと、方位データを処理して、仮想環境内の仮想手の方位を規定することとを含む。
一実施形態において、方位センサは、加速度計、ジャイロスコープ、及び磁力計で構成されるグループから選択される。
別の実施形態において、方法が提供され、当該方法は、グローブインタフェースオブジェクト上に配置された複数のグローブエミッタを起動することと、グローブインタフェースオブジェクトの指先部分に配置された複数の近接センサを使用して、グローブエミッタまでの指先部分の近接度を特定することと、グローブインタフェースオブジェクトの位置が周辺デバイスから所定距離内にあるという判定に応じて、周辺デバイスに配置された複数の周辺エミッタを起動し、近接センサを使用してグローブエミッタまでの指先部分の近接度を特定することから、近接センサを使用して周辺エミッタまでの指先部分の近接度を特定することへ移行することと、を含む。
一実施形態において、移行は、グローブエミッタの起動を終了することを含む。
一実施形態において、グローブエミッタの起動は、グローブエミッタの巡回的起動順序を規定し、所定のグローブエミッタの1つの起動時間枠内に、それぞれの近接センサから近接度データが読み出される。
一実施形態において、グローブインタフェースオブジェクトの位置が周辺デバイスから所定距離内にあることの判定は、取り込まれたインタラクティブ環境の画像データを処理して、グローブインタフェースオブジェクトの位置と周辺デバイスの位置とを特定することを含む。
一実施形態において、グローブインタフェースオブジェクトの位置の特定は、周辺デバイス上の2次周辺エミッタを起動することと、近接センサを使用して2次周辺エミッタまでの指先部分の近接度を特定することとを含み、移行は2次周辺エミッタの起動を終了することを含む。
一実施形態において、グローブエミッタは、グローブインタフェースオブジェクトの手首部分に配置される。
一実施形態において、グローブエミッタ及び周辺エミッタは電磁石により規定され、近接センサは磁気センサにより規定される。
別の実施形態において、インタラクティブアプリケーションとのインタフェースを行うシステムが提供され、当該システムは、グローブインタフェースオブジェクトと、周辺デバイスとを備え、グローブインタフェースオブジェクトは、複数のグローブエミッタと、グローブインタフェースオブジェクトの指先部分に配置され、かつグローブエミッタまでの指先部分の近接度を示すように構成される複数の近接センサと、複数のグローブエミッタの起動及び近接センサの読み出しを制御するように構成されるグローブコントローラとを含み、周辺デバイスは、複数の周辺エミッタと、グローブインタフェースオブジェクトの位置が周辺デバイスから所定距離内にあるという判定に応じて、周辺エミッタを起動するように構成される周辺コントローラとを含み、近接センサはさらに、グローブインタフェースオブジェクトの位置が所定距離内にあるという判定に応じて、グローブエミッタまでの指先部分の近接度を示すことから、周辺エミッタまでの指先部分の近接度を示すことへ移行する。
一実施形態において、グローブコントローラは、グローブインタフェースオブジェクトの位置が所定距離内にあるという判定に応じて、グローブエミッタの起動を終了するように構成される。
一実施形態において、グローブコントローラは、グローブエミッタの巡回的起動順序を規定するように構成され、所定のグローブエミッタの1つの起動時間枠内に、それぞれの近接センサから近接度データが読み出される。
一実施形態において、周辺デバイスはさらに、2次周辺エミッタを含み、周辺コントローラは、グローブインタフェースオブジェクトの位置を特定するために使用される2次周辺エミッタの起動を制御するように構成され、グローブコントローラは、近接センサを読み出して、グローブインタフェースオブジェクトの位置を規定する2次周辺エミッタまでの指先部分の近接度を特定するように構成され、周辺コントローラは、さらにグローブインタフェースオブジェクトの位置が所定距離内にあるという判定に応じて、2次周辺エミッタの起動を終了するように構成される。
一実施形態において、グローブエミッタは、グローブインタフェースオブジェクトの手首部分に配置される。
一実施形態において、グローブエミッタ及び周辺エミッタは電磁石により規定され、近接センサは磁気センサにより規定される。
本発明の他の態様は、本発明の原理の実施例を示す添付図面と合わせて下記の発明を実施するための形態から明らかとなるであろう。
本発明は、添付図面と合わせて以下の説明を参照することにより、最も良く理解されるであろう。
下記の実施形態は、グローブインタフェースオブジェクト、ならびに関連システム、方法、及び装置を提供する。
一実施形態において、方法、システム、画像取り込みオブジェクト、センサ、及び関連インタフェースオブジェクト(例えばグローブ)は、ディスプレイスクリーン上で実質的リアルタイムにレンダリングされるように構成されるデータを処理するように構成される。例えば、ユーザの手が位置を変えた(例えば手が動いた、指が曲がった、多数の指が曲がった、指が他の指に触れた、及び/またはジェスチャが行われた)時、位置の変化はディスプレイ上で実質的リアルタイムに表示されるように構成される。
ディスプレイは、ヘッドマウントディスプレイ(HMD)のディスプレイ、第2スクリーンのディスプレイ、ポータブルデバイスのディスプレイ、コンピュータディスプレイ、ディスプレイパネル、または遠隔接続ユーザのディスプレイ(例えばコンテンツを閲覧、もしくはインタラクティブ体験を共有していてもよい)等であり得る。いくつかの実施形態において、取り込まれたユーザの手の位置、感知された圧力、接触した指、及び/または手/指ジェスチャは、テレビゲーム内で、仮想世界シーン、共有仮想空間、現実世界のユーザの延長であるテレビゲームキャラクタで、インタラクトを行うために利用される、または単純に、ディスプレイスクリーン上に示される仮想オブジェクトもしくは文書、テキスト、及び画像等に対応付けられたオブジェクトに対し、接触、保持、プレイ、インタフェース、または交信を行う方法を提供する。
さらに他の実施形態において、マルチユーザゲームにおいて、多数のユーザにより仮想グローブが装着され得る。このような実施例において、各ユーザは、1つまたは2つのグローブを使用し得る。遠隔地からの共有空間もしくは共有ゲームにおいて、クラウドゲームシステム、ネットワーク型デバイス、及び/またはソーシャルネットワーク型共同作業空間を使用して、ユーザは、共同配置され得る、あるいはインタフェースし得る。いくつかの実施形態において、1人または複数の遠隔ユーザは、文書、スクリーン、アプリケーション、図、またはビジネス情報等を調べるために、グローブを利用して、共同的にインタラクトし得る。このような実施態様において、共同作業するユーザは、自身のグローブを利用して、オブジェクトに触れる、オブジェクトを動かす、表面に接する、オブジェクトに圧力を加える、オブジェクトをぎゅっと握る、オブジェクトを投げる、またはジェスチャ行動もしくは動作を行うことなどができる。
共同作業中、1人のユーザの手による動きは、他のユーザには、共同作業空間において実際のユーザが物、オブジェクトを動かしている、または行動を起こしているように見え得る。さらに共同作業環境内で、2人の遠隔ユーザが文書を調べている場合、グローブを装着しているユーザは、仮想ページ上の物を指す、仮想ホワイトボード上に合わせて描く、仮想紙を持ち上げ動かす、握手する、アイテムを動かす等、行うことが可能である。いくつかの共同作業環境において、ユーザのうちの1人または複数は、HMDを装着していてもよい。HMDが1つまたは複数のグローブ(例えば1人または複数のユーザにより装着される)と共に使用される場合、ユーザは自身の手を使って、オブジェクト、ページを動かす、仮想キーボードを打つ、仮想ページを動かす、物を叩く、物に圧力を加える等といった共同作業を行うことが可能な仮想環境をユーザは見ることができる。
従って、1つまたは複数のセンサを含む、及び/または圧力を検出可能である、及び/または指の曲がっている位置を検出可能である、及び/または方位を検出可能である、及び/または慣性移動を検出可能であるといったグローブの使用は、幅広い使用範囲を提供可能であることを理解されたい。例示的使用は、テレビゲーム、娯楽活動、スポーツ関連活動、旅行及び探検関連活動、人と人との交信(例えば遠隔ユーザの握手)、ビジネス活動、ロボット制御(例えばロボット手術)等を非限定的に含み得る。一実施態様において、グローブインタフェースにより提供されるこの種類のインタラクティビティは、人の体の他の部分(例えば腕、脚、足等)に取り付けられ得る、あるいは対応付けられ得る追加のセンサにまで拡張され得る。グローブに加えて、例えばジャケット、ズボン、靴、帽子等の異なる種類の衣類も想定される。
しかしながら、本発明は、これらの具体的な詳細のうちの一部または全てがなくとも実行可能であることは、当業者には明らかであろう。他の事例では、本発明を不必要に曖昧にしないために、周知のプロセス動作は詳細に説明されていない。
図1は、本発明の実施形態による、テレビゲームのインタラクティブゲームプレイのためのシステムを例示する。ヘッドマウントディスプレイ(HMD)102を装着しているユーザ100が示される。HMD102は、眼鏡、ゴーグル、またはヘルメットと同様に装着され、ユーザ100にテレビゲームまたは他のコンテンツを表示するように構成される。HMD102の表示機構はユーザの目の極めて近くで提供されるため、HMD102はユーザに非常に臨場感のある体験を提供する。従って、HMD102は、ユーザの視野の大部分または全体さえも占める表示領域を、それぞれのユーザの目に提供し得る。
一実施形態において、HMD102は、コンピュータ106に接続され得る。コンピュータ106への接続は、有線または無線であり得る。コンピュータ106は、当技術分野において周知の任意の汎用または専用コンピュータであり得、ゲーム機、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイルデバイス、セルラー電話、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイス等を含むが、これに限定されない。一実施形態において、コンピュータ106は、テレビゲームを実行し、HMD102によるレンダリングのためにテレビゲームから映像と音声を出力するように構成され得る。
ユーザ100は、グローブインタフェースオブジェクト104を操作して、テレビゲームに対する入力を行い得る。さらに、カメラ108は、ユーザ100が位置するインタラクティブ環境の画像を取り込むように構成され得る。これらの取り込まれた画像は、ユーザ100、HMD102、及びグローブインタフェースオブジェクト104の位置及び動きを特定するために分析され得る。一実施形態において、グローブインタフェースオブジェクト104は、その位置と方位を特定するために追跡可能なライトを含む。さらに、HMD102は、HMD102の位置及び方位を特定するために追跡可能な1つまたは複数のライトを含み得る。カメラ108は、インタラクティブ環境から音を取り込むために、1つまたは複数のマイクロホンを含み得る。マイクロホンアレイにより取り込まれた音は、音源の位置を特定するように処理され得る。特定された位置からの音は、選択的に使用され得る、または特定された位置以外からの他の音を除外するように処理され得る。さらに、カメラ108は、多重画像取り込みデバイス(例えば立体画像カメラ)、IRカメラ、デプスカメラ、及びそれらの組み合わせを含むように規定され得る。
別の実施形態において、コンピュータ106は、ネットワークを介したクラウドゲームプロバイダ112との通信において、シンクライアントとして機能する。クラウドゲームプロバイダ112は、ユーザ102によりプレイされているテレビゲームを保持及び実行する。コンピュータ106は、HMD102、グローブインタフェースオブジェクト104、及びカメラ108からの入力をクラウドゲームプロバイダへ送信し、クラウドゲームプロバイダは、入力を処理して、実行中のテレビゲームのゲーム状態に作用する。映像データ、音声データ、及び触覚フィードバックデータ等の実行中のテレビゲームからの出力は、コンピュータ106へ送信される。コンピュータ106はさらに、送信前にデータを処理し得る、あるいは関連デバイスへデータを直接送信し得る。例えば、映像及び音声ストリームはHMD102に提供されるが、振動フィードバックコマンドはグローブインタフェースオブジェクト104に提供される。
一実施形態において、HMD102、グローブインタフェースオブジェクト104、及びカメラ108自体が、ネットワーク110と接続してクラウドゲームプロバイダ112と通信するネットワーク型デバイスであり得る。例えば、コンピュータ106は、テレビゲーム処理を行わないがネットワークトラフィックの流れを促進するルータ等のローカルネットワークデバイスであり得る。HMD102、グローブインタフェースオブジェクト104、及びカメラ108によるネットワークへの接続は、有線または無線であり得る。
さらに、本開示における実施形態はヘッドマウントディスプレイに関連して説明され得るが、他の実施形態において、テレビ、プロジェクタ、LCDディスプレイスクリーン、ポータブルデバイススクリーン(例えばタブレット、スマートフォン、ラップトップ等)、あるいは本実施形態に従って映像をレンダリングする及び/またはインタラクティブシーンもしくは仮想環境の表示を提供するように構成され得る任意の他の種類のディスプレイを非限定的に含む非頭部搭載ディスプレイが代用され得ることは理解されよう。
図2は、本発明の実施形態による、ヘッドマウントディスプレイ(HMD)を例示する。示されるように、HMD102は、複数のライト200A〜Hを含む。これらのライトのそれぞれは、特定の形を有するように構成されてもよく、同一または異なる色を有するように構成可能である。ライト200A、200B、200C、及び200Dは、HMD102の前面に配置される。ライト200E、及び200Fは、HMD102の側面に配置される。そしてライト200G、及び200Hは、HMD102の前面及び側面に及ぶように、HMD102の角に配置される。ユーザがHMD102を使用するインタラクティブ環境の取り込み画像において、ライトが特定され得ることは理解されよう。ライトの特定及び追跡に基づいて、インタラクティブ環境内のHMD102の位置及び方位が特定され得る。ライトのうちのいくつかは、画像取り込みデバイスに対するHMD102の特定の向きによっては、視覚的に取り込み可能または不可能であることが、さらに理解されよう。また、ライトの別の部分(例えばライト200G及び200H)は、画像取り込みデバイスに対するHMD102の向きによっては、画像取り込みにさらされ得る。
一実施形態において、ライトは、付近にいる他の人に対し、HMDの現行状態を示すように構成され得る。例えば、ライトの一部または全ては、点滅し、あるオン/オフ構造を有するように構成されるある色装置、強度装置、またはHMD102の現行状態を示す他の装置を有するように構成され得る。実施例として、ライトは、メニューインタフェースを移動する、またはゲーム設定を行うといったテレビゲームの他の非アクティブゲームプレイ態様(その間ゲームタイムラインまたはゲームシーンは停止または一時停止され得る)に対し、テレビゲームのアクティブゲームプレイ(一般にアクティブタイムライン内またはゲームシーン内に起こるゲームプレイ)中には、異なる形状を表示するように構成され得る。ライトはまた、ゲームプレイの相対強度レベルを示すように構成され得る。例えば、ゲームプレイの強度が高まると、ライトの強度、または点滅速度も高まり得る。このように、ユーザの周りにいる人は、HMD102上のライトを見て、ユーザが激しいゲームプレイに活発に参加しており、今の時点では邪魔されたくないであろうことを理解し得る。
HMD102は加えて、1つまたは複数のマイクロホンを含み得る。例示される実施形態において、HMD102は、HMD102の前面に規定されたマイクロホン204A及び204Bと、ならびにHMD102の側面に規定されたマイクロホン204Cとを含む。マイクロホンのアレイを使用して、それぞれのマイクロホンからの音は処理され、音源の位置が特定され得る。この情報は、不要な音源の除外、音源と視覚識別との対応付け等を含む様々な方法で利用され得る。
HMD102はまた、1つまたは複数の画像取り込みデバイスを含み得る。例示される実施形態において、HMD102は、画像取り込みデバイス202A及び202Bを含むように示される。立体画像取り込みデバイスを使用して、環境の三次元(3D)画像及び映像が、HMD102の観点から取り込まれ得る。このような映像はユーザに提示され、HMD102を装着している間、「ビデオシースルー」能力がユーザに提供され得る。すなわち、厳密に言えばユーザはHMD102を通して外部を見ることはできないが、画像取り込みデバイス202A及び202Bにより取り込まれた映像により、HMD102を通して見ているかのようにHMD102の外部環境を見ることが可能な機能的等価物が提供され得る。このような映像は、拡張現実体験を提供するために仮想要素と共に拡張され得る、または他のやり方で仮想要素と共に合併または融合され得る。例示される実施形態においては、2つのカメラがHMD102の前面に示されているが、HMD102上に設置され、任意の方向に向けられた外向きカメラは、任意の数存在し得ることは理解されよう。例えば、別の実施形態においては、環境のさらなるパノラマ画像取り込みを提供するために、HMD102の側面に搭載されたカメラが存在し得る。
図3は、本発明の実施形態による、テレビゲームの実施と連動したHMD102の機能を概念的に例示する。テレビゲームの実施は、入力を受信してテレビゲームのゲーム状態を更新するゲームエンジン320により規定される。テレビゲームのゲーム状態は、オブジェクトの存在及び位置、仮想環境の状況、イベントのトリガ、ユーザプロファイル、表示に対する視点等、現行のゲームプレイの様々な態様を規定するテレビゲームの様々なパラメータの値により、少なくとも部分的に規定され得る。
例示される実施形態において、ゲームエンジンは、実施例として、コントローラ入力314、音声入力316、及び動作入力318を受信する。コントローラ入力314は、手持ち型ゲームコントローラ(例えばSony DUALSHOCK(登録商標)4無線コントローラ、Sony Playstation(登録商標)Move動作コントローラ)、またはグローブインタフェースオブジェクト104等、HMD102とは分離したゲームコントローラの操作から規定され得る。実施例として、コントローラ入力314には、方向入力、ボタン押下、トリガ起動、動き、ジェスチャ、またはゲームコントローラの操作から処理される他の種類の入力が含まれ得る。音声入力316は、HMD102のマイクロホン302から、または画像取り込みデバイス108もしくはローカル環境内の他の場所に含まれるマイクロホンから、処理され得る。動作入力318は、HMD102に含まれる動作センサ300から、またはHMD102の画像を取り込む画像取り込みデバイス108から、処理され得る。ゲームエンジン320は、テレビゲームのゲーム状態を更新するためにゲームエンジンの構成に従って処理された入力を受信する。ゲームエンジン320は、ゲーム状態データを処理してユーザに提示するコンテンツを規定する様々なレンダリングモジュールに対し、ゲーム状態データを出力する。
例示される実施形態において、映像レンダリングモジュール322は、HMD102上に提示される映像ストリームをレンダリングするように規定される。映像ストリームは、ディスプレイ/プロジェクタ機構310により提示され、光学部品308を通してユーザの目306により見られ得る。音声レンダリングモジュール304は、ユーザによる聴聞のために音声ストリームをレンダリングするように構成される。一実施形態において、音声ストリームは、HMD102に対応付けられたスピーカ304を通して出力される。スピーカ304は、オープンエア型スピーカ、ヘッドホン、またはその他の種類の音声提供可能なスピーカの形態を取り得ることを理解されたい。
一実施形態において、ユーザの視線の追跡を可能にするために、視線追跡カメラ312がHMD102に含まれる。視線追跡カメラは、ユーザの目の画像を取り込み、取り込まれた画像はユーザの視線方向を特定するために分析される。一実施形態において、ユーザの視線方向に関する情報は、映像レンダリングに作用するように使用され得る。例えば、ユーザの目が特定の方向を見ていると判定された場合、ユーザが見ている領域にさらなる詳細またはより早い更新を提供する等、その方向の映像レンダリングは優先され得る、または強調され得る。ユーザの視線方向は、ヘッドマウントディスプレイに相対して、ユーザが置かれる現実環境に相対して、及び/またはヘッドマウントディスプレイ上でレンダリングされている仮想環境に相対して、規定され得ることを理解されたい。
概して、視線追跡カメラ312により取り込まれた画像の分析は、単独で考慮される場合、HMD102に対するユーザの視線方向を規定する。しかしながら、HMD102の追跡された位置及び方位と組み合わせて考慮される場合、HMD102の位置及び方位はユーザの頭の位置及び方位と同義であるため、ユーザの現実世界の視線方向が特定され得る。すなわち、ユーザの現実世界の視線方向は、ユーザの目の位置移動の追跡、ならびにHMD102の位置及び方位の追跡から特定され得る。仮想環境の視野がHMD102上にレンダリングされると、仮想環境においてユーザの仮想世界の視線方向を特定するために、ユーザの現実世界の視線方向が適用され得る。
加えて、触覚フィードバックモジュール326は、HMD102、またはコントローラ104等のユーザにより操作される別のデバイスに含まれる触覚フィードバックハードウェアに対し、信号を提供するように構成される。触覚フィードバックは、振動フィードバック、温度フィードバック、圧力フィードバック等、様々な種類の触感覚の形態を取り得る。
記されたように、本明細書において説明されるHMDデバイスは、ユーザの視野の大部分または全体でさえ覆って、ユーザに非常に臨場感のある体験を提供することが可能である。このHMD体験の臨場的態様を踏まえると、特にユーザは自身の手または自身が保持しているオブジェクト(例えばコントローラ)を見ることができないであろうことから、ユーザに対し直感的制御機構を提供することが望ましい。よって、本明細書において説明される発明の実施形態に従って、グローブインタフェースオブジェクトのために、方法、装置、及びシステムが提供される。
本開示を通して、グローブインタフェースオブジェクト、ならびに指、掌、及び他の手の部分を含むユーザの手に関して論及が行われる。説明の簡潔性及び本開示の分かりやすさのために、グローブインタフェースオブジェクトとユーザの手(及び/または手の部分)は、数々の事例において互換的及び/または代替的に論及され得ることが、当業者には理解されよう。すなわち、グローブインタフェースオブジェクトはユーザの手の活動の検出を行う、または検出を容易にするように構成されるため、ユーザの手により規定される活動(例えばポーズ、位置、動き、方位、位置、行動等)は、ユーザの手に装着されているグローブインタフェースオブジェクトにも属する。従って、本開示におけるある態様をユーザの手に属する言葉を使用して議論することが、説明目的では便利であり得る。しかしながら、グローブインタフェースオブジェクトがユーザの手に装着され、その上でユーザの手に属する言葉が適用され得る、あるいは実際にはグローブインタフェースオブジェクトにより規定され得ることは容易に理解され、これは説明の文脈から当業者には明らかである。
図4Aは、本発明の実施形態による、複数のエミッタ及び近接センサがその上に規定されたグローブインタフェースオブジェクトを例示する。示されるように、グローブインタフェースオブジェクト400は、親指部分402a、人差し指部分402b、中指部分402c、薬指部分402d、及び小指部分402eを含む様々な指部分を含む。複数の近接センサは、グローブインタフェースオブジェクト400の指先部分/領域に実質的に規定される。すなわち、近接センサは、ユーザの指の末節骨部に対応する、または末節骨部を受けるグローブインタフェースオブジェクト400の指部分の末端部上/内、あるいは末端部にもしくは近くに規定される。いくつかの実施態様において、指先部分/領域は、末節骨のある遠位部(例えば遠位半分、遠位第三、遠位第四等)に対応するが、他の実施態様においては、指先部分/領域は末節骨全体に対応する。指の指先部分/領域は、指の上面、底面、側面、及び/または先端、ならびに/あるいはそれらの任意の部分的組み合わせを含み得る。例示される実施形態において、近接センサ404a、404b、404c、404d、及び404eはそれぞれ、親指部分402a、人差し指部分402b、中指部分402c、薬指部分402d、及び小指部分402eの指先/先端に規定される。加えて、近接センサ406が、グローブインタフェースオブジェクト400の手の甲部分または掌部分に規定される。近接センサは、複数のエミッタ422a、422b、及び422cのそれぞれまでの距離/近接度を示すデータを生成するように構成される。
例示される実施形態において、エミッタは、グローブインタフェースオブジェクト400の手首部分424に規定される。いくつかの実施態様において、手首部分424は、グローブインタフェースオブジェクト400が装着された時にユーザの手首を取り巻くブレスレットとして規定される。手首部分424は、指部分及び掌部分等のグローブインタフェースオブジェクト400の残りの部分がグローブインタフェースオブジェクト400を装着するユーザの手の動きに従って動いても、ユーザの手首/前腕に対して実質的に動かない状態を維持する(例えば安定した向きを有する)ように構成される。手首部分424をユーザの手首/前腕に対し実質的に安定した向きで維持することにより、エミッタも手首/前腕に対し実質的に安定した向きで維持されるため、エミッタに対する指先部分の近接度は一貫して追跡され、ユーザの手首/前腕までのユーザの指先の近接度を確実に示し得る。
いくつかの実施態様において、手首部分424は、ユーザの前腕の遠位部上に位置するように構成される。本明細書において使用される用語「手首」は、手首の中央部を備える手首関節に加えて、前腕の遠位部も含み得る。前腕の遠位部は、回内及び回外動作の対象となるが、橈側偏位及び尺側偏位を含む周縁動作、または掌屈及び背屈/伸展等の屈曲動作といった、手首関節により促進される手の他の動作の対象とはならない。よって、手首部分424を前腕の遠位部に固定することで、手首部分424に規定されたエミッタは、手首関節により促進される前述の手の動きから生じる変化の検出を容易にする基準位置として機能することが可能となる。
様々な実施態様において、手首部分424は、手首部分424の頑丈な配置を提供する任意の周知のデバイス、構造、または方法により、ユーザの手首/前腕(例えば前腕の遠位端/部)に固定され得るため、手首部分424の位置/向きは、ユーザの前腕の遠位端/部と比べてユーザの手/指の動きにより実質的に影響を受けない。いくつかの実施形態において、手首部分424は、手首部分をユーザの手首/前腕に固定するゴムバンドを含む。いくつかの実施形態において、手首部分424は、留め金、バックル、紐、ストラップ、または手首部分424をユーザの手首/前腕に固定する他の機構を含む。いくつかの実施形態において、当機構は、異なるサイズの手首/前腕に対応するために、調整可能であり得る。いくつかの実施形態において、手首部分424の内面は、手首部分424が滑らないように、ユーザの手首/前腕の皮膚に対し摩擦を提供する素材から規定される。いくつかの実施形態において、内面は、リブ、ディンプル等、滑りを防ぐために構成される三次元面構造または模様を含み得る。
いくつかの実施態様において、エミッタは電磁石により規定され、近接センサはホール効果センサ等の磁気センサにより規定される。概して、ホール効果センサは、磁場に応じてその出力電圧を変える変換器である。ホール効果センサは、電流が流れる矩形p型半導体物質(例えばガリウムヒ素、アンチモン化インジウム、ヒ化インジウム)で構成され得る。センサが磁場内に配置されると、磁束線は、半導体スラブの両側に、電荷キャリア(電子及び正孔)を偏向させる力を及ぼす。電荷キャリアが半導体物質を通して受ける磁力によりもたらされる電荷キャリアの移動は、半導体物質の2側面間に電位差を生じる電荷キャリアの蓄積を引き起こす。出力電圧(ホール電圧)は、半導体物質を通る磁場強度に比例する。ホール効果センサは、磁場を検出するのに使用され得る磁気センサの一例である。他の実施形態においては、磁場を検出及び測定可能な他の種類の磁気センサが使用され得る。
いくつかの実施態様において、エミッタは超音波エミッタにより規定され、近接センサは超音波周波数を検出可能なマイクロホンにより規定される。いくつかの実施態様において、エミッタはRFエミッタにより規定され、近接センサはRF検出器により規定される。様々な実施形態において、エミッタ及び近接センサは、信号を発するエミッタと、当該信号を検出可能な近接センサとの任意の組み合わせにより規定され、近接センサは検出された信号に基づいて、エミッタまでの近接センサの近接度/距離を示すデータを生成することは理解されよう。概して、本明細書において論じられる実施形態は、電磁石により規定されるエミッタ、及びホール効果センサ等の磁気センサにより規定される近接センサに関して説明される。しかしながら、他の実施形態において、本開示の範囲から逸脱することなく、同一または同様の機能を達成するために、他の種類のエミッタ及び近接センサが代用可能であることは理解されよう。
グローブインタフェースオブジェクト400は、近接センサ及びエミッタの動作を制御するように構成されるコントローラ408を含む。例示される実施形態において、コントローラ408は、手首部分424の一部として規定されるが、他の実施形態においては、コントローラ408(またはその特定サブコンポーネントのうちのいずれか)は、グローブインタフェースオブジェクト400上または内の別の場所に配置可能である。一実施形態において、コントローラ408は、コントローラ、ならびに近接センサ及びエミッタを作動させる電力を供給する電源410と、ゲーム機等の外部コンピューティングデバイスとデータを送受信する有線/無線送受信器412と、プログラム命令を実行するプロセッサ414と、データ及びプログラム命令を記憶するメモリ416と、エミッタの動作を制御するエミッタコントローラ418と、近接センサの動作を制御するセンサコントローラ420といった様々なコンポーネントを含む。
いくつかの実施態様において、コントローラ408は、時分割多重化割付でエミッタの起動及び近接センサの読み出しを制御するように構成される。すなわち、各エミッタの別個の起動期間を規定するために、エミッタは連続的に起動及び停止される。所定のエミッタの各起動期間中、現在起動している所定のエミッタまでの各近接センサの近接度/距離を示すセンサデータを取得するために、それぞれの近接センサが読み出され得る。時分割多重化割付は、下記の具体的実施例の検討を通して、より明確に理解されよう。
引き続き図4Aを参照すると、いくつかの実施態様において、エミッタ及び近接センサを制御するために以下の時分割多重化割付が使用される。第1時間枠の間に、第1エミッタ422aが起動され、それぞれの近接センサの読み出しが行われ、第1時間枠に続く第2時間枠の間に、第2エミッタ422bが起動され、それぞれの近接センサの2回目の読み出しが行われ、第2時間枠に続く第3時間枠の間に、第3エミッタ422cが起動され、それぞれの近接センサの3回目の読み出しが行われる。エミッタの当起動順序は巡回的に繰り返され、エミッタの起動期間のサイクル/順序が規定され得る。いくつかの実施態様において、所定のエミッタの各起動時間枠は、他のエミッタの他の起動時間枠を実質的に含めないことは理解されよう。言い換えると、エミッタの起動時間枠は、お互いに実質的に重複しない。しかしながら、いくつかの実施形態において、エミッタの起動に重複があり得ることは理解されよう。例えば、1つのエミッタが停止されている際に、次のエミッタが同時に起動され得るため、両エミッタの起動時間枠に重複が存在し得る(例えば電磁石のコイル内のインダクタンスによる可能性がある)。いくつかの実施態様において、このような割付は実質的に重複しないように構成され、所定のエミッタが独占的に起動している時間は別のエミッタと重複する時間よりも実質的に長く、近接センサの読み出しはこの独占的起動時間中に起こる。他の実施態様においては、割付は、実質的に重複するように構成され得る。様々な実施形態において、近接センサは各エミッタの独占的起動時間中に読み出されるため、エミッタの起動順序によりそれぞれのエミッタが異なる時間に独占的に起動することが規定されるならば、重複する時間の長さは異なり得ることが理解されよう。
例えば、エミッタが電磁石を備え、近接センサがホール効果センサ等の磁気センサを備える実施態様において、1つの電磁石の停止は、別の電磁石の同時の起動と一致または重複し得る。このように、1つの電磁石の起動状態から次の電磁石の起動状態への遷移に費やされる時間を最小限にするように、電磁石の起動/停止時の時間が節約される。このような実施態様において、ホール効果センサがこのような起動期間中に読み出される時に各電磁石の磁場がお互いに実質的に干渉しないように、お互いを排除した各電磁石の起動期間を規定することが重要であることは理解されよう。
いくつかの実施態様において、エミッタは、非同一線上に配置される。すなわち、全てのエミッタが実質的に単一線上に規定されるとは限らない。実施例として、引き続き図4Aを参照すると、一実施形態において、エミッタは、ユーザの手首を取り巻く構成で配置されるように、グローブインタフェースオブジェクト400の手首部分424上に配置される。このような配置は、グローブインタフェースオブジェクト400がユーザの手に装着された時に、ユーザの手首を取り巻く非同一線配列で手首部分424に並べられたエミッタ422a、422b、及び422cを示す断面図Aに関して示される。
いくつかの実施態様において、非同一線上に配置された少なくとも3つのエミッタが存在する。非同一線上に配置された少なくとも3つのエミッタを有することにより、そして所定の近接センサからそれぞれのエミッタまでの距離を特定することにより、エミッタに対する所定の近接センサの具体的な位置を特定することが可能となる。エミッタに対する所定の近接センサの位置を特定するために必要となる特別計算は、当業者には明らかであるため、ここで詳しく論述されない。しかしながら、概して、このような特定は、それぞれのエミッタから規定される線分の交点を特定することを伴い、各線分は、エミッタのうちの1つで規定される1つの終点と、交点で規定される別の終点とを有する。線分は、所定の近接センサにより生成されるデータから特定されるように、それぞれのエミッタから所定の近接センサまでの近接度/距離により規定される長さを有する。別の方法で説明すると、エミッタに対する所定の近接センサの位置は、エミッタの位置により規定される原点と、所定の近接センサまでのそれぞれのエミッタの距離により規定される大きさとを有する円弧の交点により規定される。
実施例として、図4Aを参照すると、グローブインタフェースオブジェクト400の人差し指部分402bの先端に配置された人差し指近接センサ404bの位置は、以下の方法で規定され得る。それぞれのエミッタの起動期間中に、人差し指近接センサ404bは読み出され、近接センサ404Bからそれぞれのエミッタまでの距離が特定され得る。第1エミッタ422aに位置する原点と、人差し指近接センサ404bから第1エミッタ422aまでの距離により規定される大きさとを有する第1円弧が規定され得る。第2エミッタ422bに位置する原点と、人差し指近接センサ404bから第2エミッタ422bまでの距離により規定される大きさとを有する第2円弧が規定され得る。第3エミッタ422cに位置する原点と、人差し指近接センサ404bから第3エミッタ422cまでの距離により規定される大きさとを有する第3円弧が規定され得る。当情報に基づいて、エミッタに対する人差し指近接センサの位置は、第1、第2、第3円弧の交点に規定され得る。エミッタに対する他の近接センサの位置の特定にも、同様の手順が適用され得ることは、当業者には明らかであろう。
例示される実施形態に示されるように、近接センサは、グローブインタフェースオブジェクトの指先に提供される。論述される原理に従って、これらの近接センサのそれぞれは、エミッタに対するグローブインタフェースオブジェクトの指先の位置を特定するために使用され得る。他の実施態様において、追加近接センサがグローブインタフェースオブジェクト上または内に配置され、しかも追加近接センサは、エミッタに対するグローブインタフェースオブジェクトの特定部分の具体的位置を特定するために使用され得ることは理解されよう。実施例として、近接センサ406が、グローブインタフェースオブジェクトの手の甲部分または掌部分のいずれかに配置されているように示される。近接センサ406は、グローブインタフェースオブジェクトの手の甲部分または掌部分の位置を特定するために使用され、これによりユーザの手首の屈曲動作により促進されるユーザの手の屈曲及び偏位も示し得る。
図4Bは、本発明の実施形態による、多数の近接センサがその上に規定されたグローブインタフェースオブジェクトを例示する。例示される実施形態において、グローブインタフェースオブジェクト400の指先部分に規定された近接センサ404a〜eに加えて、グローブインタフェースオブジェクト装着時にユーザの手の指の関節に一致するようにグローブインタフェースオブジェクトの指部分に沿って配置された近接センサが存在する。これらは、遠位指節間関節に一致するように配置された近接センサ430a〜dと、近位指節間関節に一致するように配置された近接センサ432a〜eと、中手指節関節に一致するように配置された近接センサ434a〜eとを含む。グローブインタフェースオブジェクト400装着時にユーザの手の関節に一致する近接センサを提供することにより、ユーザの手のポーズが高精度で特定され得る。
図5は、本発明の実施形態による、グローブインタフェースオブジェクトのいくつかのエミッタ及びセンサの時分割多重化割付での動作を概念的に例示する図表である。本実施形態を論述するために、エミッタは、複数の電磁石M1、M2、及びM3で構成される。しかしながら、他の実施形態においては、同様の効果を達成するために他の種類のエミッタが使用され得る。同じように、本実施形態において、複数の磁気センサS1、S2、S3、S4、及びS5が、グローブインタフェースオブジェクトの指部分(例えば指先)上に規定される。他の実施形態においては、エミッタからの放出を検出可能な任意の種類のセンサが存在し得る。
第1時間枠T1の間に、電磁石M1は独占的に起動する。すなわち、第1時間枠T1の間に、電磁石M1は起動状態であり、一方電磁石M2及びM3は停止状態である。この起動時間枠T1の間に、それぞれのセンサS1、S2、S3、S4、及びS5が読み出される。第1時間枠T1に続く第2時間枠T2の間に、電磁石M2は起動状態であり、一方電磁石M1及びM3は停止状態であるように、電磁石M2は独占的に起動する。第2時間枠T2の間に、それぞれのセンサS1、S2、S3、S4、及びS5が読み出される。第2時間枠T2に続く第3時間枠T3の間に、電磁石M3は起動状態であり、一方電磁石M1及びM2は停止状態であるように、電磁石M3は独占的に起動する。第3時間枠T3の間に、それぞれのセンサS1、S2、S3、S4、及びS5が読み出される。
時間枠T1、T2、及びT3の1サイクルが終わると、それぞれのセンサは各電磁石の起動中に1度読み出されていることとなる(すなわち本実施例において、各センサは3つの電磁石にそれぞれ対応して3度読み出される)。いくつかの実施態様において、各センサは、電磁石により生成される磁場強度を検出するように構成される。磁場強度は距離により変わるため、検出された磁場強度は、電磁石までの所定センサの距離を示し得る。従って、各センサに対しサイクルごとに行われる3度の読み出しは、それぞれの電磁石までのセンサの距離を示す。論述されたように、これらの距離に基づいて、電磁石に対する所定センサの相対位置が特定され得る。例示される実施形態において、3つの電磁石と5つのセンサが示されるが、しかしながら他の実施形態において、4つ以上の電磁石と6つ以上のセンサが存在し得ることは理解されよう。
従って前述によれば、電磁石に対するそれぞれのセンサの相対位置が特定され得る。センサがグローブインタフェースオブジェクトの指先に配置される実施態様において、グローブインタフェースオブジェクトの指先の位置が、従って特定され得る。それぞれの電磁石の連続的起動は、反復され得る電磁石の起動サイクルを規定する。各サイクルの電磁石の起動中に、センサの位置(及び拡張して言えばユーザの指先の位置)が更新されることは理解されよう。このように、電磁石の起動期間中のセンサの読み出しと組み合わせて電磁石の起動の反復サイクルを生成することにより、センサの位置は継続的に追跡され得る。
センサの位置が継続的に追跡されるため、ユーザの指のリアルタイムな相対位置が提供され得ることは理解されよう。いくつかの実施態様において、グローブインタフェースオブジェクト上のセンサの追跡から特定されるユーザの手のポーズを追跡するポーズを有するように、仮想環境内の仮想手が制御される。これにより、ユーザの手/指の動きはリアルタイムに仮想手により実質的に複製されるため、ユーザは仮想手のポーズのリアルタイムな制御を有することになる。
いくつかの実施態様において、ローカル環境内の他の磁場源により生成され得る周囲磁場の存在を特定し、考慮することが望ましくあり得る。従って、引き続き図5を参照すると、一実施形態において、時間枠T4中、それぞれの電磁石が停止されている間にそれぞれのセンサが読み出される。電磁石が停止されている間に行われるセンサの読み出しは、ローカル環境内に存在し得る磁場強度を示す。よって、電磁石の起動期間中のセンサの読み出しに基づいてグローブインタフェースオブジェクトの電磁石に対するセンサの位置を特定する際、これらの周囲磁場を考慮するために、これらの読み出しが利用され得る。例えば、所定のセンサに関して、電磁石のうちの1つの起動中に行われた読み出しから、周囲読み出しが差し引かれ得る。
いくつかの実施形態において、周囲センサ読み出し(すなわち電磁石停止時におけるセンサのうちの1つまたは複数の読み出し)は、電磁石の起動サイクルごとに1度行われる。しかしながら、他の実施形態において、周囲センサ読み出しは、電磁石のN回の起動サイクルごとに1度行われ、Nは任意の自然数である。それぞれの電磁石の起動率より低い率で周囲センサ読み出しを行うことにより、周囲センサ読み出しが同じ率で行われる場合よりも少ない処理リソースが周囲読み出しのために消費されるが、しかしながら、周囲読み出しの追跡の忠実度は低減する。
いくつかの実施態様において、グローブインタフェースオブジェクトが高い割合で動いていると判断されると、周囲読み出しは高い頻度で行われ、グローブインタフェースオブジェクトが低い割合で動いていると判断されると、周囲読み出しは低い頻度で行われるように、周囲読み出しの頻度は、グローブインタフェースオブジェクト全体の動作量に積極的に相関する。例えば、いくつかの実施態様において、グローブインタフェースオブジェクトが所定の時間、静止位置にあると判断されると、周囲読み出しは行われなくなる。グローブインタフェースオブジェクトの位置は、グローブインタフェースオブジェクトに含まれる動作センサから、グローブインタフェースオブジェクトもしくはその特定部分の視覚追跡から、またはグローブインタフェースオブジェクトの位置を追跡するその他の方法からのデータに基づいて特定され得ることは理解されよう。
前述の実施態様において、それぞれの電磁石のそれぞれの起動期間中に、それぞれのセンサが1度読み出されることは、概して説明された。しかしながら、他の実施態様において、それぞれの電磁石の起動期間中に、必ずしも全てのセンサが読み出されるわけではない。言い換えると、いくつかの実施形態において、所定のセンサは電磁石の各起動サイクル中に読み出されるが、他の実施形態において、所定のセンサは電磁石の各起動サイクル中に読み出されなくてもよい。すなわち、所定のセンサは、毎N番目の起動サイクル中に読み出され、Nは任意の自然数である。電磁石の特定の起動サイクル中にセンサを選択的に読み出すことにより、特定のセンサ(及び拡張して言えばユーザのある指先)は、他より優先的に追跡され得る。例えば、特定のテレビゲーム活動に関して、人差し指の動きは親指の動きよりも重要であるという場合もあり得る。従って、人差し指センサの読み出しを親指センサよりも高い頻度で(すなわち所定の時間単位により多くの起動サイクル中に)行うことが望ましくあり得る。このように、人差し指の追跡忠実度が親指よりも高くなるように、システムリソースに優先割り当てが行われ得る。
さらに概念を拡張させると、センサのうちのいずれかを読み出す具体的な割合は、グローブインタフェースオブジェクトが使用されているインタラクティブアプリケーション(例えばテレビゲーム)の状況に従って、システムにより動的に調整され得る。例えば、テレビゲームの実行は、所定のセンサが読み出される割合(起動サイクルごと)を規定するパラメータを設定し、動的に調整し得る。
システムのハードウェア(例えばグローブインタフェースオブジェクト及びグローブインタフェースオブジェクトがデータを送信する送信先であるコンピューティングデバイス)の処理能力に応じて、センサの読み出しは、順番に処理され得る(例えば電磁石の所定の起動期間中に、センサの一部または全てが事前に規定された順序で読み出される)、あるいは並行して処理され得る(例えば電磁石の所定の起動期間中に、センサの一部または全てが同時に読み出される)。例えば、いくつかの実施態様において、グローブインタフェースオブジェクトは、マルチチャネルサンプリング能力を含み得るため、そのセンサの一部または全ては同時に読み出され得る。その後、電磁石に対するセンサの位置を特定及び追跡する読み出しの処理は、並行及び/または順番に行われ得る。
電磁石の起動及びセンサの読み出し(及び指先等のグローブインタフェースオブジェクトの部分の位置を特定及び追跡する関連処理)の時分割多重化割付は、多数のグローブインタフェースオブジェクト(例えば1人のユーザの各手に左と右のグローブ、多数のユーザのそれぞれに左及び/または右のグローブ)が使用されているシナリオにまで拡張され得ることが理解されよう。例えば、左手のグローブインタフェースオブジェクトの電磁石の起動(及びそれに伴うセンサ読み出し)のサイクルは、右手のグローブインタフェースオブジェクトの電磁石の起動(及びそれに伴うセンサの読み出し)のサイクルと、交互に行われ得る。
いくつかの実施形態において、第1グローブインタフェースオブジェクトの起動サイクルの後に、第2グローブインタフェースオブジェクトの起動サイクルが続き、その後第3グローブインタフェースオブジェクトの起動サイクル等が続き、その後第1グローブインタフェースオブジェクトへ戻って全順序を繰り返すように、多数のグローブのそれぞれに関して電磁石の起動(及びそれに伴うセンサの読み出し)のサイクル自体は巡回的に行われ、これによりグローブインタフェースオブジェクトの指先または他の部分の追跡が促進される。
本開示において、ユーザの手首上または近くに配置された電磁石に関して実施形態は説明されるが、他の実施形態において、このような電磁石は、ユーザの掌、手の甲、前腕、胴、もしくは他の体の部分の上または近くといった他の場所、HMD上等に配置され得ることを理解されたい。電磁石は、本明細書において論述される実施形態に従って説明される機能を提供する任意の場所に配置され得る。
図6は、本発明の実施形態による、グローブインタフェースオブジェクトの様々な電磁石に対する電源投入を示すいくつかのグラフを例示する。グラフ600は、いくつかの電磁石M1、M2、及びM3のそれぞれにより生成される磁場を例示する。示されるように、それぞれの電磁石の磁場は、それぞれの電磁石が独占的に起動する期間を規定する。しかしながら、1つの電磁石の停止及び次の電磁石の起動の間に(例えばM1が停止されていてM2が起動されている時)、重複が存在する。また、グローブインタフェースオブジェクトのセンサが読み出される時点であるサンプリング時間ST1、ST2、ST3、ST4、ST5、及びST6が、グラフ600上に記される。例示される実施形態において、センサは、磁場が実質的にピーク強度に達する対応時点に、読み出される。しかしながら、他の実施形態において、センサが読み出される時の磁場強度が一貫しているという条件で、センサは、磁場が他の相対強度に達する対応時点に、読み出され得る。すなわち、電磁石M1の起動中にセンサが読み出される度に、電磁石M1の強度は同じである。
グラフ602、604、及び606は、それぞれの電磁石M1、M2、及びM3に印加される電圧を、それぞれ例示する。示されるように、いくつかの実施態様において、磁場を強める特定の電圧(例えば正電圧)が、所定の電磁石(例えばM1)に印加される。特定の時間が経過後、磁場の低減を促進し及び/または任意の誘導/一時磁化効果(または潜在磁場)を相殺するために、特定の電圧は反転され得る(例えば負電圧)。潜在磁場は電磁石コイルのインダクタンスから生じ得る故に、磁場における変化をより早くもたらすために、ダイオードが使用され得る。
図7は、本発明の実施形態による、周辺デバイスと共に使用されるように構成されるグローブインタフェースオブジェクトを例示する。例示される実施形態において、グローブインタフェースオブジェクトは、グローブインタフェースオブジェクトの手首部分に規定されたエミッタ702a、702b、及び702cを含む。複数のセンサ704a、704b、704c、704d、及び704eは、グローブインタフェースオブジェクト700の指先部分に規定される。また、グローブインタフェースオブジェクトにより、保持または交信され得る周辺デバイス710も示される。例示される実施形態において、周辺デバイス710は、取り込まれた画像データの分析に基づく追跡を容易にするために照光され得る照光オブジェクト712を含む動作コントローラである。さらに、周辺デバイス710は、入力を提供するボタン714等の様々な種類の入力デバイス、ならびに加速度計、磁力計、ジャイロスコープ等の様々な種類の動作センサを含み得る。特定の動作コントローラが示されるが、他の実施態様において、周辺デバイス710は、本明細書において論述される原理に従ってインタラクティブアプリケーションに対し入力を提供するために使用されるその他の種類のインタラクティブ機器であり得ることは理解されよう。周辺デバイスは、ゲーム機等のコンピューティングデバイスと無線で通信し得る。
周辺デバイスは、グローブインタフェースオブジェクト700上のセンサにより感知され得るエミッタ716a、716b、及び716cを含み得る。周辺エミッタ716a、716b、及び716cは、グローブインタフェースオブジェクト上のエミッタに関して説明されたのと同様の方法または同じ方法で操作され得る。より具体的には、センサは、周辺エミッタにより発せられる信号強度を検出し、周辺エミッタまでのセンサの近接度/距離を示すデータを生成し得る。この情報は、周辺デバイスに対するユーザの手の方位/配置を特定するように処理され得る。
さらに、様々な実施態様において、センサ(704a、704b、704c、704d、及び704e)の動作と組み合わせたグローブエミッタ(702a、702b、及び702c)及び周辺エミッタ(716a、716b、及び716c)の動作は、様々な設定を有し得る。一般的に、センサの一部または全ては、グローブインタフェースオブジェクトまたは周辺デバイス上の特定エミッタの起動中に読み出される。エミッタの起動に関するいくつかの可能な設定が、以下に論述される。
いくつかの実施態様において、グローブエミッタ及び周辺エミッタの両方に対するセンサ位置の追跡を可能にするために、グローブエミッタ及び周辺エミッタは組み合わせて使用される。いくつかの実施態様において、これは、グローブエミッタ及び周辺エミッタの起動順序を、お互いに時分割多重化することを伴い得る。例えば、グローブエミッタと周辺エミッタの起動順序がお互いに混ぜ合わさるように、グローブエミッタの起動は周辺エミッタの起動と交代に行われ得る。別の実施形態において、それぞれのグローブエミッタ及び周辺エミッタは、起動順序を交互に入れ替え得る。
いくつかの実施態様において、空間内のグローブインタフェースオブジェクト及び周辺オブジェクトの位置は追跡され、両デバイス上のエミッタの起動は、空間内のそれらの位置に基づいて特定及び制御される。例えば、一実施形態において、グローブインタフェースオブジェクト及び周辺デバイスが事前に規定された距離を越えて離れた場合、グローブエミッタが使用され、一方周辺エミッタは停止され、使用されない。しかしながら、グローブインタフェースオブジェクトと周辺デバイスの離れている距離が事前に規定された距離以下となった場合、グローブエミッタは停止され、使用されなくなり、一方周辺エミッタは起動され、使用される。従って、センサは、グローブエミッタまでの近接度を感知することから、周辺エミッタまでの近接度を感知することへ移行する。エミッタのうちの1つの集合からもう一方へ移行することにより、多重化されるエミッタの数が削減され(エミッタの両集合を同時に使用することと比べて)、グローブエミッタが停止される場合、例えばグローブインタフェースオブジェクトの消費電力が削減されることで、さらなる利益がもたらされ得ることが理解されよう。
別の実施態様において、グローブエミッタ対周辺エミッタの使用は、デバイスが入力を提供するインタラクティブアプリケーションまたはテレビゲームにより制御され得る。例えば、テレビゲームの一部分間において周辺デバイスは入力に使用されないため、周辺エミッタは停止され、一方グローブエミッタは起動され、使用される。ところが、テレビゲームの別の部分間において周辺デバイスは入力に使用されるため、グローブエミッタは停止され、一方周辺エミッタは起動され、使用される。
ユーザがヘッドマウントディスプレイ(HMD)を使用する時、ユーザは、HMDの外部であるローカル環境を見る能力を有し得ない。しかしながら、グローブインタフェースオブジェクト上のセンサを使用して周辺デバイス上のエミッタを検出することで、グローブインタフェースオブジェクトに対する周辺デバイスの位置は特定され得る。さらに、例えばHMD上にレンダリングされる仮想空間内に存在する対応仮想手及び仮想オブジェクトの配置を規定するために、ユーザの手及び周辺デバイスの配置は正確に規定され得る。例えば、周辺デバイスは、仮想空間内の仮想オブジェクト(例えば剣または銃等の武器)の位置を規定し、仮想手は、ユーザが周辺デバイスを保持するのと同様のやり方で、仮想オブジェクトを保持しているように表示され得る。周辺デバイスに関するユーザの指の動きは追跡され、仮想オブジェクトに関する仮想手の指の対応する動きとしてレンダリングされ得る。
図8は、本発明の実施形態による、キーボード周辺デバイスとインタラクトするように構成されるペアのグローブインタフェースオブジェクトを例示する。近接センサ802a〜eを含む右手グローブインタフェースオブジェクト800が示され、左手グローブインタフェースオブジェクト804は近接センサ806a〜eを含む。近接センサ802a〜e及び806a〜eは、それぞれのグローブインタフェースオブジェクト上に規定されるエミッタ(例えばグローブインタフェースオブジェクトの手首部分上に規定される)を検出するように構成され得る。
キーボード周辺デバイス810は、インタラクティブアプリケーションに対する入力を提供する様々なキー812を含み得る。キーボード810は、インタラクティブアプリケーションを実行するコンピューティングデバイスと無線で通信し得る。キーボード810はさらに、近接センサ802a〜e及び806a〜eにより検出可能なエミッタ814a〜cを含む。いくつかの実施態様において、エミッタ814a〜cは磁場を生成する電磁石であり、近接センサは磁場を検出する磁気センサ(例えばホール効果センサ)である。前述のように、エミッタの起動及び近接センサの読み出しは、時分割多重化割付で構成され得る。このような割付により、エミッタに対する近接センサの位置は、特定及び追跡され得る。そしてこの拡張により、近接センサがグローブインタフェースオブジェクトの指先部分に配置される実施態様において、キーボード周辺デバイスに対する指先の位置が、特定及び追跡され得る。
グローブインタフェースオブジェクト上の近接センサを使用して周辺デバイス上に配置されたエミッタを検出する前述の構成により、周辺デバイスに関するユーザの手の非常に正確な追跡が可能となる。従って、実施例として、ユーザの手に対応する仮想手は、仮想空間において高い忠実度で、キーボード周辺デバイス810に対応する仮想キーボードとインタラクトしているように表示され得る。例示される実施形態において、キーボードは具体的に示されるが、様々な他の実施形態において、任意の種類の周辺デバイスが、本明細書において説明されるのと同様の機能を提供するように構成され得ることを理解されたい。
別の実施形態において、周辺デバイス810は、具体的にキーボードのキーを含まなくてもよいが、ユーザの手がインタラクトし得るインタラクティブ面を規定し得る。周辺デバイスのインタラクティブ面に対するユーザの手(指先を含む)の相対位置は、前述の方法に従って特定及び追跡され得る。さらに、周辺デバイスは、仮想空間内における仮想オブジェクトを規定し、ユーザの手に対応する仮想手は、周辺デバイスとのグローブインタフェースオブジェクトのインタラクションにより規定されるやり方で、仮想オブジェクトとインタラクトしているように表示され得る。仮想オブジェクトは、任意の構成を有するように規定され、非限定的に任意のサブオブジェクトを含み得ることは理解されよう。例えば、仮想オブジェクトは、仮想キーボードの規定に影響し、仮想手は、周辺デバイス810に関するグローブインタフェースオブジェクトの指先の動きにより規定される通りに、仮想キーボードとインタラクトしているように表示され得る。
仮想オブジェクトは周辺デバイスのインタラクティブ面に対応する仮想面を有し、仮想面との仮想手のインタラクションは、周辺デバイスのインタラクティブ面とのグローブインタフェースオブジェクトのインタラクションにより規定され得る。この種の仕組みは、ユーザによる仮想オブジェクトとのインタラクションを直感的に容易にし得る。例えば、仮想オブジェクトは、タッチスクリーンインタフェースを有するデバイスであり得、ユーザは従って、周辺デバイスのインタラクティブ面とインタラクトすることにより仮想タッチスクリーンとインタラクトし得る。タッチ、タップ、スワイプ、ジェスチャ、複数指タッチ/ジェスチャ等を含む、周辺デバイスのインタラクティブ面との様々な種類のインタラクションは、検出及び認識され得ることを理解されたい。別の実施例として、仮想オブジェクトは入力デバイスを含み、ユーザは、周辺デバイスとインタラクトすることにより、仮想入力デバイスとインタラクトし得る。
いくつかの実施態様において、周辺デバイス810は、さらに長距離エミッタ816a〜cを含み得る。長距離エミッタは、エミッタ814a〜cよりも強い信号を提供するように構成され、よってより遠い距離にあるグローブインタフェースオブジェクトの近接センサによっても検出可能である。いくつかの実施態様において、長距離エミッタは、グローブインタフェースオブジェクトの近接センサが事前に規定された閾値を超える距離にある時に使用されるが、エミッタ814a〜cは、グローブインタフェースオブジェクトの近接センサが事前に規定された閾値以下の距離にある時に使用される。グローブインタフェースオブジェクトが閾値を超える場所から閾値内に移動したと判断される場合、システムは、長距離エミッタ816a〜cの使用から、標準エミッタ814a〜cの使用へ移行し得る。
いくつかの実施態様において、周辺デバイス810は、視覚的追跡のために照光され得る照光オブジェクト818を含み得る。すなわち、周辺デバイスが位置するインタラクティブ環境の取り込まれた画像の分析に基づいて照光オブジェクトは認識され、よって周辺デバイスの位置及び/または方位は特定及び追跡され得る。
図9は、本発明の実施形態による、近接センサを有する1つまたは複数のグローブインタフェースオブジェクトの粗大追跡及び精密追跡を提供するように構成される長距離及び近距離エミッタを有する周辺デバイスを例示する。下記に論述される実施態様において、エミッタは電磁石として規定され、近接センサはホール効果センサ等の磁気センサであるが、しかしながら、他の実施態様において、他の種類のエミッタ及び対応近接センサが使用され得る。示されるように、デバイス900は、長距離電磁石(エミッタ)902a〜d、及び近距離電磁石(エミッタ)904a〜cを含む。長距離及び近距離電磁石は、グローブインタフェースオブジェクトの磁気センサにより感知される磁場を規定するように起動され、デバイス900に対するグローブインタフェースオブジェクト(例えば指先)の位置及び/または方位の特定及び追跡を提供し得る。デバイス900に対するグローブインタフェースオブジェクトの相対位置を特定するために電磁石及び磁場センサを使用することは、電磁石の制御及びセンサの読み出しの時分割多重化割付を含む前述の動作原理に従って行われ得る。
いくつかの実施態様において、長距離及び近距離電磁石の起動は距離次第である。例えば、一実施形態において、グローブインタフェースオブジェクトの位置(例えばその上に規定される磁気センサの位置により特定される)がデバイス900からの事前に規定された距離閾値910を超える場合、近距離電磁石904a〜cは停止され、一方長距離電磁石902a〜dが起動される。ところが、グローブインタフェースオブジェクトの位置が事前規定距離閾値910内である場合、近距離電磁石は起動され、一方長距離電磁石は停止される。いくつかの実施態様において、グローブインタフェースオブジェクトが閾値910に達した場合、システムは、近/長距離電磁石のいずれかを使用することから、電磁石のもう一方の集合を使用することへ移行し、センサ読み出し/データは、電磁石のうちの1つの集合までの近接度/距離を示すことから、電磁石のうちのもう一方の集合までの近接度/距離を示すことへ移行する。いくつかの実施態様において、グローブインタフェースオブジェクト(及び近接センサ)が、事前に規定された時間の長さ、または事前に規定されたサイクル数のセンササンプリングもしくは電磁石の起動の閾値910を超えた後に、移行は発生する。
いくつかの実施態様において、追跡精度は、電磁石からの近接センサ(またはグローブインタフェースオブジェクト)の距離に応じて調節される。例えば、いくつかの実施態様において、近接センサのサンプリング率及び電磁石(例えば電磁石904a〜c及び/または902a〜d)の起動順序の該当頻度は、電磁石から近接センサの距離が長くなるにつれ、減少する。このように、グローブインタフェースオブジェクトがデバイス900に近づくと、追跡はより正確かつきめ細かくなり、グローブインタフェースオブジェクトがデバイス900から離れると、追跡はより粗くなり、より少ない帯域幅及び処理リソースを使用する。
電磁石(またはデバイス900)からの距離に応じた前述の追跡精度の変化は、長距離及び近距離電磁石と組み合わせて適用され得ることは理解されよう。例えば、一実施形態において、グローブインタフェースオブジェクトがデバイス900から閾値距離910内にあり、近距離電磁石が活動的に使用される場合、近接センサのサンプリング率及び近距離電磁石の起動順序の該当頻度は、第1レベルに設定される。一方、グローブインタフェースオブジェクトがデバイス900から閾値距離910を越え、長距離電磁石が活動的に使用される場合、近接センサのサンプリング率及び近距離電磁石の起動順序の該当頻度は、第1レベルより低い第2レベルに設定される。このように、閾値距離910以内の領域は精密追跡領域と規定され、閾値距離910を越える領域は粗大追跡領域と規定される。
いくつかの実施態様において、別の距離閾値912を越えると、デバイス900のどの電磁石も起動されないように規定される。従って、このような実施態様において、粗大追跡領域は、距離閾値910及び距離閾値912により境界を規定される。グローブインタフェースオブジェクトが距離閾値912を超える場合、グローブインタフェースオブジェクトの近接センサは、デバイス900までの近接度を示すために使用されない。
前述の実施態様において、デバイス900及びその電磁石までのグローブインタフェースオブジェクト及びその近接センサの近接度または距離に関して論及が行われた。グローブインタフェースオブジェクトとデバイス900のお互いに対する位置の特定は、前述の磁気追跡方法に基づいて、及び/または他の方法、例えば視覚追跡(例えばインタラクティブ環境の画像を取り込み、画像認識を採用してグローブインタフェースオブジェクト及び/またはデバイス900を認識し追跡する)、ならびにグローブインタフェースオブジェクト及び/またはデバイス900に含まれる動作センサ(例えば加速度計、ジャイロスコープ、磁力計)の使用により行われ得ると考えられる。
組み合わせて適用される本概念のうちのいくつかを例示する一実施形態において、グローブインタフェースオブジェクトが閾値912を超える場合、デバイス900に対するグローブインタフェースオブジェクトの磁気追跡は行われない。しかしながら、グローブインタフェースオブジェクトの指先によるグローブインタフェースオブジェクト自体に対する磁気追跡(例えばグローブインタフェースオブジェクトの手首部分上の電磁石を使用)は、行われ得る。空間内のグローブインタフェースオブジェクトの位置は、視覚追跡及び/またはグローブインタフェースオブジェクト内の動作センサの使用により特定され、空間内のデバイス900の位置もまた、視覚追跡及び/またはデバイス900内の動作センサの使用により特定され得る。グローブインタフェースオブジェクトが閾値912を超えて、粗大追跡領域内に移動した場合(視覚追跡及び/または動作センサ追跡から特定)、デバイス900の長距離電磁石902a〜dが起動され、グローブインタフェースオブジェクトの近接センサが少なくとも部分的に使用され、長距離電磁石に対する近接度及び/または相対位置が特定される。この間、長距離電磁石の起動順序は、グローブインタフェースオブジェクトの手首の電磁石の起動順序と多重化され得るため、近接センサは、異なるサンプリングサイクル中に両電磁石集合に対する近接度/相対位置を示し得る。グローブインタフェースオブジェクトが閾値910を超えて精密追跡領域に入った場合、近距離電磁石904a〜cは、長距離電磁石よりも高い起動順序頻度で起動される。グローブインタフェースオブジェクトの手首の電磁石は、この時点で完全に停止され得るため、近接センサは、近距離電磁石に対する近接度を独占的に示す。
粗大及び精密追跡を含む磁気追跡を使用するための構成の具体的な実施例は、追跡に基づいた視覚及び動作センサ等の他の種類の追跡と組み合わせて、単に実施例として非限定的に説明されている。簡潔性のため、これらの追跡方法の全ての可能な組み合わせが詳しく説明されているとは限らない。しかしながら、本明細書において論述される原理及び方法のうちのいずれも、お互いに組み合わせて適用されることで他の実施形態を規定し得るが、これは本開示の一部として考えられることは当業者には明らかであろう。
いくつかの実施態様において、ローカル環境内のグローブインタフェースオブジェクトの位置及び/または方位を特定するために、視覚追跡が使用されるが、ユーザの指の位置を含むユーザの手(複数可)の精密位置を取得するためには、本明細書において説明される磁気追跡スキーマが使用される。この情報は、インタラクティブアプリケーションに対する入力として使用され得る。
別の実施態様において、2つの個別に規定された長距離及び近距離電磁石を有する代わりに、同様の効果を達成するために、1つの電磁石集合が、高力構成(長距離追跡用)及び低力構成(近距離追跡用)で使用され得る。高力構成が使用される場合、起動順序の頻度は低力構成よりも低く設定されてもよく、これによりバッテリ電源が節約される。
様々な実施態様において、長距離及び近距離電磁石の数は異なり得る。異なる実施態様において、長距離電磁石よりも多い、または少ない近距離電磁石が存在し得る。同じ電磁石集合が長距離及び近距離追跡に使用される実施態様において、起動され使用される電磁石の数は、同じように異なり得る。
いくつかの実施態様において、精密追跡はレンダリング(例えば対応仮想手)に利用され、一方粗大追跡はジェスチャ認識に利用される。いくつかのアプリケーションにおいて、またはインタラクティビティの特定の時間(例えば仮想手が現行の視錐台内に存在しない時間)の間に、対応仮想手のレンダリングはあり得ず、このような状況においては、ジェスチャ認識をするために粗大追跡で足りる。一方仮想手が活発にレンダリングされている時、レンダリングの高い忠実度及び応答性を提供するために、精密追跡が採用され得る。
加えて、長距離及び短距離追跡が周辺デバイスに関して説明されているが、任意の数の規定範囲が存在し、ならびに/あるいは近接センサのサンプリング率及び電磁石の起動順序の頻度は、テレビゲームといったインタラクティブアプリケーション等により設定される距離、指の動きの速力、バッテリ寿命に応じて、継続的に変化し得ることは理解されよう。さらに、同様の原理が、グローブインタフェースオブジェクトにのみ適用され、近接センサのサンプリング率及びグローブインタフェースオブジェクトの電磁石の起動頻度は、インタラクティブアプリケーション等により設定されるグローブの位置(例えば事前に規定された範囲/領域/位置内)、グローブの方位に応じて、変化し得る。例えば、ユーザの手が休止位置を示す下向きにある場合、サンプリング率及び起動頻度は下げられ、一方ユーザの手がインタラクティビティのために上げられている場合、サンプリング率及び起動頻度は高められ得る。
論述されたように、ユーザがHMDを装着時、ユーザのローカル環境の視野は妨げられ得るため、ローカル環境内の物理デバイスの場所を見つけインタラクトすることが難しくなる。しかしながら、周囲デバイス上のエミッタ及びグローブインタフェースオブジェクト上の対応近接センサのシステムを使用することで、周辺デバイスに対するユーザの手の近接度及び相対位置は特定可能である。このような情報は、ユーザが周辺デバイスを見ることができない時に、ユーザが周辺デバイスを見つけるのを支援するために使用され得る。例えば、HMD上でレンダリングされているユーザの視野(例えば仮想環境のユーザ視野)においてインジケータが表示され、インジケータはローカル環境内の周辺デバイスの位置を示すように構成される。インジケータと仮想手の間の位置関係が、周辺デバイスとユーザの手の間の関係を正確に表すように、ユーザの手に対応する仮想手も表示され得る。従って、ユーザは、HMD上に表示されるシーンに基づいて、周辺デバイスまで自分の手を導くことが可能である。
ユーザがHMD装着時に周辺デバイスを見つける支援に加えて、本明細書において説明される磁気追跡方法は、HMD上に表示されている視野(例えば仮想空間の視野)内の周辺デバイスに対するユーザの手及び指の位置を、ユーザが見ることを可能にするために使用され得る。例えば、仮想手は周辺デバイスの表示とインタラクトしているように表示され、仮想手の動きは、グローブインタフェースオブジェクトを介して検出されるユーザの手の動きに対応する。このように、ユーザは、HMD上にレンダリングされる仮想空間内の対応インタラクションを見ることができるため、直接の目線を有していないにもかかわらず、直感的に周辺デバイスとインタラクトすることができる。
加えて、実施形態は、ヘッドマウントディスプレイに関して説明されている。しかしながら、他の実施形態において、テレビ、プロジェクタ、LCDディスプレイスクリーン、ポータブルデバイススクリーン(例えばタブレット、スマートフォン、ラップトップ等)、または本発明の本実施形態に従って映像をレンダリングするように構成され得る任意の他の種類のディスプレイといった非頭部搭載ディスプレイが代用され得ることを理解されたい。
図10Aは、本発明の実施形態による、グローブインタフェースオブジェクトを使用してインタラクティブアプリケーションとインタフェースを行うシステムを概略的に例示する。グローブインタフェースオブジェクト1000は、屈曲センサ1010、圧力センサ1012、接触スイッチ1014、慣性センサ1016、及び生体センサ1018を含む。データストリームプロセッサ1020は、様々なセンサからのデータを処理するように構成される。様々な実施形態において、データストリームプロセッサ1020は、感知された活動を数量化する値の決定、ポーズ、ジェスチャ、動きの特定等を含む様々な範囲でセンサデータを処理し得ることは理解されよう。触覚フィードバックコントローラ1022は、触覚フィードバックデバイス1024の動作を制御するように構成される。ライトコントローラ1026は、ライト1028の動作を制御するように構成される。通信インタフェースは、他のデバイスへのデータ、または他のデバイスからのデータを通信するように構成される。
グローブインタフェースオブジェクトはさらに、エミッタの起動及び停止を含む、エミッタ1034の動作を制御するエミッタコントローラ1032を含む。近接センサコントローラ1036は、近接センサの起動(例えば近接センサに対し電流を供給する)及び読み出しを含む、近接センサ1038の動作を制御する。エミッタコントローラ1032及び近接センサコントローラ1036は、エミッタの起動/停止及び近接センサの読み出しの時分割多重化を提供するように構成され得る。
コンピューティングデバイス1040は、テレビゲームを実行し、グローブインタフェースオブジェクト1000と通信するように構成される。テレビゲームは、ディスプレイ/HMD1042上にレンダリングされる。画像/音取り込みデバイス1044は、ユーザが置かれるインタラクティブ環境から画像と音を取り込む。本明細書において論述されるグローブインタフェースオブジェクトの機能を発揮させるために、コンピューティングデバイス1040は、センサデータ等のグローブインタフェースオブジェクトからのデータ受信し、そしてコンピューティングデバイスはまた、グローブインタフェースオブジェクト1000の様々なデバイスの動作を制御するコマンドを生成し得ることを理解されたい。
図10Bは、本発明の実施形態による、コンピューティングデバイス1040の追加コンポーネントを例示する。グローブインタフェースオブジェクト1000は、グローブインタフェースオブジェクトの様々なセンサから検出/処理された手ジェスチャデータを、手ジェスチャ識別装置1050へ提供する。手ジェスチャ識別装置1050は、ユーザの手のポーズを特定する手ポーズ識別子1052、ならびにユーザの手のポーズにおける動き及び/または変化等、ユーザの手の動的動きを特定する手動き識別子1054を規定し得る。これらは、グローブインタフェースオブジェクト1000から検出されたジェスチャを規定し、規定されたジェスチャはテレビゲーム1060へ入力として供給される。一実施形態において、様々なジェスチャを規定する参考データを含むジェスチャライブラリ1056が提供され、参考データは、テレビゲームに対するジェスチャを特定するために使用され得る。
本明細書において説明される実施形態によれば、様々なセンサから様々なエミッタまでの距離を示すデータは、エミッタに対するセンサの相対位置を特定するために、生成され処理され得る。この情報は、ユーザの手のポーズを特定及び/または推測するために使用され得る。例えば、ユーザの手首(エミッタが配置されている手首)に対する指先(センサが配置されている指先)の位置を特定することで、逆運動学処理によりユーザの手のポーズは特定され得る。これには、ユーザの指のポーズ(例えば特定の関節(例えば指関節)の屈曲といったユーザの指の屈曲及び偏位を含む)、ならびにユーザの手首のポーズ(ユーザの手首の屈曲及び偏位を含む)等の様々な態様の特定が含まれ得る。いくつかの実施形態において、参照テーブルの使用等により、センサデータは、手のポーズに関連付けられ得ることは理解されよう。いくつかの実施態様において、ユーザの手のモデルは、コンピューティングデバイスにより生成され、グローブインタフェースオブジェクトからの入力は、モデルを更新するために使用される。
加えて、ゲームシステムは、ゲーム内の状況に基づいて、サンプリング頻度及びグローブインタフェースオブジェクトからの放出を制御し得る。
画像データプロセッサ1058は、画像取り込みデバイス1044により取り込まれた画像を処理し、グローブインタフェースオブジェクト1000上のライト等の追跡可能オブジェクトを特定する。手追跡プロセッサ1062は、特定された追跡可能オブジェクト、ならびにグローブインタフェースオブジェクト1000からの慣性データ1072に基づいて、ユーザの手の位置追跡1064及び方位追跡1066を行うように構成される。グローブインタフェースオブジェクトの位置及び方位(ユーザの手により規定される)はまた、テレビゲーム1060に対する入力としても提供され得る。テレビゲーム1060は、触覚フィードバックデータ1074を生成し、グローブインタフェースオブジェクト1000へ送信し得る。これにより触覚フィードバックが生み出される。テレビゲーム1076はまた、グローブインタフェースオブジェクト1000上のライトを制御するために、ライト制御データ1076を生成し得る。加えて、テレビゲーム1060は、ディスプレイ/HMD1042によるレンダリングのために映像/音声データ1078を生成する。
いくつかの実施形態において、グローブインタフェースオブジェクトは、内側グローブ及び外側グローブにより規定される。内側グローブは、取り外し可能で洗濯可能であり、一方外側グローブは、本明細書において説明されるグローブインタフェースオブジェクトの機能のためのハードウェアを含む。加えて、内側グローブは、ユーザからグローブインタフェースオブジェクトのハードウェアを絶縁する絶縁体として機能し得る。
いくつかの実施形態において、触覚フィードバックは、ユーザが自身の指を表面に沿って動かすと、生地を刺激するように様々な頻度で指先を振動させることで提供され得る。
いくつかの実施形態において、力フィードバック機構が、グローブインタフェースオブジェクトに含まれ得る。ユーザの手/指の動きが行われた時に生じる抗力を刺激するために、ユーザの手/指の動きに対抗するデバイスが含まれ得る。例えば、力フィードバック機構は、ある人の指を閉じる動作に対抗し、よってオブジェクトを握る/保持する感覚を刺激し得る。
いくつかの実施形態において、フィードバック機構として手の少なくとも一部に圧力を加える圧力フィードバック機構が提供され得る。例えば、仮想オブジェクトを触れる時等、クランプはフィードバックとして指に圧力をかけ得る。
仮想環境内における仮想手または他のオブジェクトのリアルタイムな制御を提供するために、グローブインタフェースオブジェクトにより提供される入力が適用され得ることを理解されたい。いくつかの実施形態において、グローブインタフェースオブジェクトにより提供される入力は、オブジェクトの操作を可能にする等、仮想環境における非手状オブジェクトの制御を提供する。いくつかの実施形態において、グローブインタフェースオブジェクトにより提供される入力は、ユーザにより制御されるキャラクタの腕または手状オブジェクトのリアルタイムな制御を提供する。HMDデバイス上の演出状況において使用されると、グローブインタフェースオブジェクトは、仮想環境におけるキャラクタの腕/手または同様の付属器官の制御に関して、非常に臨場感があり直感的な体験を提供可能となる。すなわち、グローブインタフェースオブジェクトにより提供されるリアルタイムな制御及び応答性と、HMDデバイスの臨場感の高い演出とを組み合わせることにより、ユーザは、仮想腕/手または付属器官が本当に自分の腕/手であるかのような感覚を体験し得る。
さらに、インタラクティブアプリケーションのインタラクティブセッション内で、仮想手は、インタラクティブアプリケーションの実行状態に応じて表示され得る、あるいは表示され得ないことは理解されよう。例えば、テレビゲームにおいて、仮想手が表示されることを要求し得る、または要求し得ない様々なステージ/シーン/タスク/レベル/等があり得る。さらに、仮想環境の状況または内容に応じて、仮想手のレンダリングは仮想環境内に表示され得る、あるいは表示され得ない。例えば、特定オブジェクトが仮想シーンに存在する時、またはユーザが特定オブジェクトに近づいてそれを操作する、あるいはそれとインタラクトする時、仮想手は表示され得る(または表示可能な状態にされる)。
いくつかの実施態様において、ユーザの手/指のポーズ及び/または動きは、本明細書において論述される原理に従ってグローブインタフェースオブジェクトの追跡から特定され得るジェスチャを規定し得る。特定されたジェスチャは、仮想環境においてある行動を起こすように構成され得る。すなわち、仮想環境を生成しているインタラクティブアプリケーションに対して特定入力をもたらすように、ジェスチャは認識され関連付けられる。様々な実施形態において、仮想手は、ジェスチャ特定と連動して、表示され得る、あるいは表示され得ない。
図11を参照すると、本発明の実施形態による、グローブインタフェースオブジェクト104のコンポーネントを例示する図が示される。グローブインタフェースオブジェクト104は、プログラム命令を実行するプロセッサ1100を含む。メモリ1102は、記憶目的で提供され、揮発性及び不揮発性メモリの両方を含み得る。バッテリ1106は、グローブインタフェースオブジェクト104の電源として提供される。動作検出モジュール1108は、磁力計1110、加速度計1112、ジャイロスコープ1114等の様々な種類の動作感知ハードウェアのうちのいずれかを含み得る。
グローブインタフェースオブジェクト104は、音声出力を提供するスピーカ1120を含む。また、周辺環境からの音、ユーザによるスピーチ等を含む実環境からの音声を取り込むために、マイクロホン1122が含まれ得る。グローブインタフェースオブジェクト104は、ユーザに触覚フィードバックを提供する触覚フィードバックモジュール1124を含む。一実施形態において、触覚フィードバックモジュール1124は、ユーザに触覚フィードバックを提供するために、グローブインタフェースオブジェクト104の動き及び/または振動を生じることが可能である。
LED1126は、グローブインタフェースオブジェクト104の状態の視覚インジケータとして提供される。例えば、LEDは、バッテリレベル、電源の入った状態等を示し得る。USBインタフェース1130は、周辺デバイスの接続、または他のポータブルデバイス、コンピュータ等の他のデバイスへの接続を可能にするインタフェースの一例として含まれる。グローブインタフェースオブジェクト104の様々な実施形態において、グローブインタフェースオブジェクト104のより良い接続性を可能にするために、様々な種類のインタフェースのうちのいずれかが含まれ得る。
無線ネットワーク技術を介してインターネットまたはローカルエリアネットワークへの接続を可能にするために、WiFiモジュール1132が含まれる。また、他のデバイスへの無線接続を可能にするために、グローブインタフェースオブジェクト104は、ブルートゥースモジュール1134を含む。他のデバイスへの接続のために、通信リンク1136も含まれ得る。一実施形態において、通信リンク1136は、無線通信のために赤外線通信を使用する。他の実施形態において、通信リンク1136は、他のデバイスと通信するために、様々な無線または有線伝送プロトコルのうちのいずれかを使用し得る。
入力インタフェースをユーザに提供するために、入力ボタン/センサ1138は含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等、様々な種類の入力インタフェースのうちのいずれかが含まれ得る。超音波技術を介した他のデバイスとの通信を容易にするために、超音波通信モジュール1140がグローブインタフェースオブジェクト104に含まれ得る。
ユーザからの生理学的データの検出を可能にするために、生体センサ1142が含まれる。一実施形態において、生体センサ1142は、ユーザの皮膚を通してユーザの生体電気信号を検出するために、1つまたは複数の乾電極を含む。
グローブインタフェースオブジェクト104の前述のコンポーネントは、グローブインタフェースオブジェクト104に含まれ得る単なる代表的コンポーネントとして説明されている。本発明の様々な実施形態において、グローブインタフェースオブジェクト104は、様々な前述のコンポーネントのうちのいくつかを含み得る、または含み得ない。本明細書において説明される本発明の態様を簡易にするために、現在説明されていないが当技術分野で周知の他のコンポーネントを、グローブインタフェースオブジェクト104の実施形態はさらに含み得る。
本発明の様々な実施形態において、前述のグローブインタフェースオブジェクトは、様々なインタラクティブ機能を提供するために、ディスプレイ上に表示されるインタラクティブアプリケーションと連動して使用され得ることが、当業者には理解されよう。本明細書において説明される代表的実施形態は、限定としてではなく、実施例としてのみ提供される。
図12を参照すると、本発明の実施形態による、ヘッドマウントディスプレイ102のコンポーネントを例示する図が示される。ヘッドマウントディスプレイ102は、プログラム命令を実行するプロセッサ1300を含む。メモリ1302は、記憶目的で提供され、揮発性及び不揮発性メモリの両方を含み得る。ユーザが見ることができる視覚インタフェースを提供するディスプレイ1304が含まれる。バッテリ1306は、ヘッドマウントディスプレイ102の電源として提供される。動作検出モジュール1308は、磁力計1310、加速度計1312、ジャイロスコープ1314等の様々な種類の動作感知ハードウェアのうちのいずれかを含み得る。
加速度計は、加速及び重力誘起反力を測定するデバイスである。単一及び複数軸モデルが、様々な方向における加速の大きさ及び方向を検出するために利用可能である。傾き、振動、及び衝撃を感知するために、加速度計が使用される。一実施形態において、3つの加速度計1312は重力の方向を提供するため使用され、2つの角(世界空間ピッチ及び世界空間ロール)の絶対基準を与える。
磁力計は、ヘッドマウントディスプレイ付近の磁場の強度及び方向を測定する。一実施形態において、3つの磁力計1310がヘッドマウントディスプレイ内で使用され、世界空間ヨー角の絶対基準を確保する。一実施形態において、磁力計は、±80マイクロステラである地磁場に範囲設定されるように設計される。磁力計は金属の影響を受け、実際のヨーによる単調なヨー測定を提供する。磁場は環境内の金属により歪み得るものであり、これはヨー測定において歪みを生じる。必要であれば、この歪みは、ジャイロスコープまたはカメラ等の他のセンサからの情報を用いて校正可能である。一実施形態において、加速度計1312は、ヘッドマウントディスプレイ102の傾き及び方位を取得するために磁力計1310と共に使用される。
いくつかの実施態様において、ヘッドマウントディスプレイの磁力計は、他の傍にあるデバイス内の電磁石が起動していない時間の間に読み出されるように構成される。
ジャイロスコープは、角運動量の原理に基づいて、方位を測定または維持するための装置である。一実施形態において、3つのジャイロスコープ1314は、慣性感知に基づいてそれぞれの軸(x、y及びz)にわたる動きに関する情報を提供する。ジャイロスコープは、高速回転の検出を支援する。しかしながら、ジャイロスコープは、絶対基準の存在なしに経時的にドリフト可能である。これは周期的にジャイロスコープの再設定することを必要とし、オブジェクト、加速度計、磁力計等の視覚追跡に基づいた位置/方位特定といった他の入手可能な情報を用いて行われ得る。
実環境の画像及び画像ストリームを取り込むために、カメラ1316が提供される。後方指向のカメラ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ている時にユーザから外に向けられている)と、前方指向のカメラ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ている時にユーザに向けられている)とを含む複数のカメラが、ヘッドマウントディスプレイ102に含まれ得る。加えて、実環境におけるオブジェクトの深度情報を感知するために、デプスカメラ1318がヘッドマウントディスプレイ102に含まれ得る。
ヘッドマウントディスプレイ102は、音声出力を提供するスピーカ1320を含む。また、周辺環境からの音、ユーザによるスピーチ等を含む実環境からの音声を取り込むために、マイクロホン1322が含まれ得る。ヘッドマウントディスプレイ102は、ユーザに触覚フィードバックを提供する触覚フィードバックモジュール1324を含む。一実施形態において、触覚フィードバックモジュール1324は、ユーザに触覚フィードバックを提供するために、ヘッドマウントディスプレイ102の動き及び/または振動を生じることが可能である。
LED1326は、ヘッドマウントディスプレイ102の状態の視覚インジケータとして提供される。例えば、LEDは、バッテリレベル、電源の入った状態等を示し得る。ヘッドマウントディスプレイ102がメモリカードからの情報を読み出し、メモリカードに情報を書き込むことを可能にするために、カードリーダ1328が提供される。USBインタフェース1330は、周辺デバイスの接続、または他のポータブルデバイス、コンピュータ等の他のデバイスへの接続を可能にするインタフェースの一例として含まれる。ヘッドマウントディスプレイ102の様々な実施形態において、ヘッドマウントディスプレイ102のより良い接続性を可能にするために、様々な種類のインタフェースのうちのいずれかが含まれ得る。
無線ネットワーク技術を介してインターネットまたはローカルエリアネットワークへの接続を可能にするために、WiFiモジュール1332が含まれる。また、他のデバイスへの無線接続を可能にするために、ヘッドマウントディスプレイ102は、ブルートゥースモジュール1334を含む。他のデバイスへの接続のために、通信リンク1336も含まれ得る。一実施形態において、通信リンク1336は、無線通信のために赤外線通信を使用する。他の実施形態において、通信リンク1336は、他のデバイスと通信するために、様々な無線または有線伝送プロトコルのうちのいずれかを使用し得る。
入力インタフェースをユーザに提供するために、入力ボタン/センサ1338は含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等、様々な種類の入力インタフェースのうちのいずれかが含まれ得る。超音波技術を介した他のデバイスとの通信を容易にするために、超音波通信モジュール1340がヘッドマウントディスプレイ102に含まれ得る。
ユーザからの生理学的データの検出を可能にするために、生体センサ1342が含まれる。一実施形態において、生体センサ1342は、ユーザの皮膚を通してユーザの生体電気信号を検出するために、1つまたは複数の乾電極を含む。
映像入力1344は、HMD上のレンダリングのために、1次処理コンピュータ(例えば主要ゲーム機)からの映像信号を受信するように構成される。いくつかの実施態様において、映像入力はHDMI入力である。
ヘッドマウントディスプレイ102の前述のコンポーネントは、ヘッドマウントディスプレイ102に含まれ得る単なる代表的コンポーネントとして説明されている。本発明の様々な実施形態において、ヘッドマウントディスプレイ102は、様々な前述のコンポーネントのうちのいくつかを含み得る、または含み得ない。本明細書において説明される本発明の態様を簡易にするために、現在説明されていないが当技術分野で周知の他のコンポーネントを、ヘッドマウントディスプレイ102の実施形態はさらに含み得る。
図13は、本発明の様々な実施形態による、ゲームシステム1400のブロック図である。ゲームシステム1400は、ネットワーク1415を介して1つまたは複数のクライアント1410に対し映像ストリームを提供するように構成される。ゲームシステム1400は通常、映像サーバシステム1420と、任意のゲームサーバ1425とを含む。映像サーバシステム1420は、最小限のサービス品質で、1つまたは複数のクライアント1410に対し映像ストリームを提供するように構成される。例えば、映像サーバシステム1420は、テレビゲームの状態またはテレビゲーム内の視点を変更するゲームコマンドを受信し、この状況変更を反映する更新された映像ストリームをクライアント1410に最小遅延時間で提供し得る。テレビサーバシステム1420は、映像ストリームを、まだ規定されていないフォーマットを含む多種多様な代替映像フォーマットで提供するように構成され得る。さらに、映像ストリームは、多種多様なフレームレートでユーザへ提示されるように構成される映像フレームを含み得る。通常のフレームレートは毎秒30フレーム、毎秒60フレーム、及び毎秒120フレームである。しかし本発明の代替実施形態においては、より高いまたはより低いフレームレートが含まれる。
本明細書において個別に1410A、1410B等と称されるクライアント1410は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲーム機、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、及び/または手持ち型ゲームプレイデバイス等を含み得る。通常、クライアント1410は、符号化された映像ストリームを受信し、映像ストリームを復号化し、復号化の結果映像をユーザ、例えばゲームのプレーヤに提示するように構成される。符号化された映像ストリームを受信し、及び/または映像ストリームを復号化するプロセスは通常、クライアントの受信バッファに個々の映像フレームを記憶することを含む。映像ストリームは、クライアント1410と一体のディスプレイ上、またはモニタもしくはテレビ等の分離デバイス上で、ユーザに提示され得る。クライアント1410は、任意で複数のゲームプレーヤをサポートするように構成される。例えば、ゲーム機は、2人、3人、4人以上の同時プレーヤをサポートするように構成され得る。これらのプレーヤのそれぞれは、個別の映像ストリームを受信し得る、あるいは単一の映像ストリームは、各プレーヤのために特別に生成された、例えば各プレーヤの視点に基づいて生成されたフレームの領域を含み得る。クライアント1410は、任意で地理的に分散される。ゲームシステム1400に含まれるクライアントの数は、1つまたは2つから数千、数万以上にまで幅広く変化し得る。本明細書において用いられるように、用語「ゲームプレーヤ」は、ゲームをプレイする人を指すために用いられ、用語「ゲームプレイデバイス」は、ゲームをプレイするために使用されるデバイスを指すために用いられる。いくつかの実施形態において、ゲームプレイデバイスは、ユーザにゲーム体験を伝えるために協働する複数のコンピューティングデバイスを指し得る。例えば、ゲーム機及びHMDは、HMDを通して見られるゲームを伝達するために、映像サーバシステム1420と協働し得る。一実施形態において、ゲーム機は、映像サーバシステム1420から映像ストリームを受信し、ゲーム機は、レンダリングのためにHMDに対し、映像ストリームを転送する、または映像ストリームを更新する。
クライアント1410は、ネットワーク1415を介して映像ストリームを受信するように構成される。ネットワーク1415には、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/またはプライベートネットワーク等を含む通信ネットワークのうちの任意の種類が含まれ得る。典型的実施形態において、映像ストリームは、TCP/IPまたはUDP/IP等の標準プロトコルにより通信される。あるいは、映像ストリームは、プロプライエタリ規格により通信される。
クライアント1410の典型的実施例として、プロセッサと、不揮発性メモリと、ディスプレイと、復号化ロジックと、ネットワーク通信能力と、入力デバイスとを備えるパーソナルコンピュータがある。復号化ロジックは、コンピュータ可読媒体に記憶されたハードウェア、ファームウェア、及び/またはソフトウェアを含み得る。映像ストリームを復号化(及び符号化)するシステムは、当技術分野においてよく知られており、使用されている特定の符号化スキームに応じて変わる。
クライアント1410は、必須ではないが、受信した映像を変更するように構成されるシステムをさらに含む。例えば、クライアントは、1つの映像を別の映像上に重ねるために、及び/または映像を切り取るために等、さらなるレンダリングを行うように構成され得る。例えば、クライアント1410は、I‐フレーム、P‐フレーム、及びB‐フレーム等の様々な種類の映像フレームを受信し、かつこれらのフレームをユーザに対し表示する画像へと処理するように構成され得る。いくつかの実施形態において、クライアント1410のうちの構成要素は、映像ストリームに対しさらなるレンダリング、シェーディング、または3D変換等の動作を行うように構成され得る。クライアント1410の構成要素は、任意で複数の音声または映像ストリームを受信するように構成される。クライアント1410の入力デバイスには、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、位置指示デバイス、力フィードバックデバイス、動作及び/または位置感知デバイス、マウス、タッチスクリーン、神経インタフェース、カメラ、及び/またはまだ開発中の入力デバイス等が含まれ得る。
クライアント1410が受信する映像ストリーム(及び任意で音声ストリーム)は、映像サーバシステム1420により生成及び提供される。本明細書の別の箇所でさらに説明されるように、この映像ストリームは映像フレームを含む(ならびに音声フレームは音声ストリームを含む)。映像フレームは、ユーザに表示される画像に有意義に寄与するように構成される(例えばそれらは好適なデータ構造のピクセル情報を含む)。本明細書において使用される用語「映像フレーム」は、ユーザに表示される画像に例えば作用する等、寄与するように構成される情報を主として含むフレームを指すために使用される。「映像フレーム」に関する本明細書における教示のうちの大半は、「音声フレーム」にも適用可能である。
クライアント1410は通常、ユーザからの入力を受信するように構成される。これらの入力は、テレビゲームの状態を変化する、あるいはゲームプレイに作用するように構成されるゲームコマンドを含み得る。ゲームコマンドは、入力デバイスを用いて受信され、及び/またはクライアント1410上で実行されているコンピューティング命令により自動で生成され得る。受信されたゲームコマンドは、ネットワーク1415を介してクライアント1410から、映像サーバシステム1420及び/またはゲームサーバ1425へ通信される。例えば、いくつかの実施形態において、ゲームコマンドは、映像サーバシステム1420を介してゲームサーバ1425へ通信される。いくつかの実施形態において、ゲームコマンドの別個の複製が、クライアント1410から、ゲームサーバ1425及び映像サーバシステム1420へ通信される。ゲームコマンドの通信は、任意でコマンドの識別に依存する。ゲームコマンドは、クライアント1410Aに音声または映像ストリームを提供するために使用されるものとは異なる経路または通信チャネルを通して、クライアント1410Aから任意で通信される。
ゲームサーバ1425は任意で、映像サーバシステム1420とは異なるエンティティにより運営される。例えば、ゲームサーバ1425は、マルチプレーヤゲームの発行者により運営され得る。この実施例において、映像サーバシステム1420は、ゲームサーバ1425によるクライアントとして任意で見なされ、ゲームサーバ1425の視点から、先行技術のゲームエンジンを実行する先行技術のクライアントであると見られるように任意で構成される。映像サーバシステム1420とゲームサーバ1425間の通信は、ネットワーク1415を介して任意で起こる。よって、ゲームサーバ1425は、ゲームサーバシステム1420を含む多数のクライアントに対しゲーム状態情報を送信する先行技術のマルチプレーヤゲームサーバであり得る。映像サーバシステム1420は、ゲームサーバ1425の多数のインスタンスと同時に通信するように構成され得る。例えば、映像サーバシステム1420は、異なるユーザに対し複数の異なるテレビゲームを提供するように構成され得る。これらの異なるテレビゲームのそれぞれは、異なるゲームサーバ1425によりサポートされ、及び/または異なるエンティティにより発行され得る。いくつかの実施形態において、映像サーバシステム1420の地理的に分散したいくつかのインスタンスは、複数の異なるユーザにゲーム映像を提供するように構成され得る。映像サーバシステム1420のこれらのインスタンスのそれぞれが、ゲームサーバ1425の同一インスタンスと通信し得る。映像サーバシステム1420と1つまたは複数のゲームサーバ1425間の通信は、専用通信チャネルを介して任意で起こる。例えば、映像サーバシステム1420はゲームサーバ1425に対し、これらの2つのシステム間の通信専用の高帯域幅チャネルを介して接続され得る。
映像サーバシステム1420は、映像源1430と、入出力デバイス1445と、プロセッサ1450と、非一時的ストレージ1455とを少なくとも備える。映像サーバシステム1420は、1つのコンピューティングデバイスを含み得る、あるいは複数のコンピューティングデバイス間に分散され得る。これらのコンピューティングデバイスは、ローカルエリアネットワーク等の通信システムを介して任意で接続される。
映像源1430は、例えば動画を形成するストリーミング映像もしくは映像フレーム一式といった映像ストリームを提供するように構成される。いくつかの実施形態において、映像源1430は、テレビゲームエンジン及びレンダリングロジックを含む。テレビゲームエンジンは、プレーヤからゲームコマンドを受信し、かつ受信したコマンドに基づいてテレビゲームの状態の複製を保持するように構成される。このゲーム状態は、ゲーム環境内のオブジェクトの位置、ならびに通常では視点を含む。ゲーム状態はまた、プロパティ、画像、色、及び/またはオブジェクトのテクスチャも含み得る。ゲーム状態は、ゲームルール、ならびに移動する、方向転換する、攻撃する、焦点を設定する、インタラクトする、及び/または使用する等のゲームコマンドに基づいて通常維持される。ゲームエンジンの一部は、ゲームサーバ1425内に任意で配置される。ゲームサーバ1425は、地理的分散クライアントを用いて多数のプレーヤから受信したゲームコマンドに基づいて、ゲームの状態の複製を維持し得る。これらの事例において、ゲーム状態はゲームサーバ1425により映像源1430に提供され、ゲーム状態の複製が記憶され、レンダリングが行われる。ゲームサーバ1425は、ネットワーク1415を介してクライアント1410から直接ゲームコマンドを受信し、及び/または映像サーバシステム1420を介してゲームコマンドを受信し得る。
映像源1430は、例えばストレージ1455等のコンピュータ可読媒体に記憶されたハードウェア、ファームウェア、及び/またはソフトウェアといったレンダリングロジックを通常含み得る。このレンダリングロジックは、ゲーム状態に基づいて、映像ストリームの映像フレームを作成するように構成される。レンダリングロジックの全てまたは一部は任意で、グラフィック処理ユニット(GPU)内に配置される。レンダリングロジックは、ゲーム状態及び視点に基づいて、オブジェクト間の三次元空間関係を特定し、及び/または好適なテクスチャ等を適用するように構成される処理段階を通常含む。レンダリングロジックは、クライアント1410へ通信する前に、通常符号化された生の映像を生成する。例えば、生の映像は、Adobe Flash(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC‐1、WMA、Huffyuv、Lagarith、MPG‐x.Xvid.FFmpeg、x264、VP6‐8、realvideo、またはmp3等に従って符号化され得る。符号化プロセスは、遠隔デバイス上のデコーダへ伝達するために任意でパッケージされる映像ストリームを生成する。映像ストリームは、フレームサイズ及びフレームレートにより特徴付けられる。典型的なフレームサイズは、800×600、1280×720(例えば720p)、1024×768を含むが、その他のフレームサイズも使用可能である。フレームレートは、毎秒の映像フレームの数である。映像ストリームは、様々な種類の映像フレームを含み得る。例えば、H.264規格は、「P」フレーム及び「I」フレームを含む。I‐フレームは、ディスプレイデバイス上の全てのマクロブロック/ピクセルをリフレッシュする情報を含み、一方P‐フレームは、そのサブセットをリフレッシュする情報を含む。P‐フレームは通常、I‐フレームよりデータサイズが小さい。本明細書において使用される用語「フレームサイズ」は、フレーム内のピクセル数を指すように意図されている。用語「フレームデータサイズ」は、フレームを記憶するために必要となるバイト数を指すように使用される。
代替実施形態において、映像源1430は、カメラ等の映像記録デバイスを含む。このカメラは、コンピュータゲームの映像ストリームに含まれ得る遅延またはライブ映像を生成するために使用され得る。その結果の映像ストリームは任意で、レンダリングされた画像、及び静止画または動画カメラを使用して記録された画像の両方を含む。映像源1430はまた、映像ストリームに含まれる予定の以前記録した映像を記憶するように構成されるストレージデバイスを含み得る。映像源1430はまた、例えば人といったオブジェクトの動作または位置を検出するように構成される動作または位置感知デバイスと、ゲーム状態を特定する、あるいは検出された動作及び/または位置に基づいた映像を生成するように構成されるロジックとを含み得る。
映像源1430は任意で、他の映像上に配置されるように構成されたオーバーレイを提供するように構成される。例えば、これらのオーバーレイは、コマンドインタフェース、ログイン命令、ゲームプレーヤへのメッセージ、他のゲームプレーヤの画像、他のゲームプレーヤの配信映像(例えばウェブカメラ映像)を含み得る。クライアント1410Aがタッチスクリーンインタフェースまたは視線検出インタフェースを含む実施形態において、オーバーレイは、仮想キーボード、ジョイスティック、及び/またはタッチパッド等を含み得る。オーバーレイの1つの実施例において、プレーヤの声は音声ストリーム上に重ねられる。映像源1430はさらに、1つまたは複数の音声源を任意で含む。
映像サーバシステム1420が複数のプレーヤからの入力に基づいてゲーム状態を維持するように構成される実施形態において、各プレーヤは、視野の位置及び方向を含む異なる視点を有し得る。映像源1430は任意で、各プレーヤの視点に基づいて、各プレーヤに別個の映像ストリームを提供するように構成される。さらに、映像源1430は、それぞれのクライアント1410に対し、異なるフレームサイズ、フレームデータサイズ、及び/または符号化を提供するように構成され得る。映像源1430は任意で、三次元映像を提供するように構成される。
入出力デバイス1445は、映像サーバシステム1420のために、映像、コマンド、情報要求、ゲーム状態、視線情報、デバイス動作、デバイス位置、ユーザ動作、クライアント識別、プレーヤ識別、ゲームコマンド、セキュリティ情報、及び/または音声等の情報を、送信及び/または受信するように構成される。入出力デバイス1445は通常、ネットワークカードまたはモデム等の通信ハードウェアを含む。入出力デバイス1445は、ゲームサーバ1425、ネットワーク1415、及び/またはクライアント1410と通信するように構成される。
プロセッサ1450は、本明細書において論述される映像サーバシステム1420の様々なコンポーネント内に含まれる、例えばソフトウェアといったロジックを実行するように構成される。例えば、プロセッサ1450は、映像源1430、ゲームサーバ1425、及び/またはクライアント性能特定器1460の機能を実行するように、ソフトウェア命令でプログラムされ得る。映像サーバシステム1420は、プロセッサ1450の複数のインスタンスを任意で含む。プロセッサ1450はまた、映像サーバシステム1420が受信したコマンドを実行するように、または本明細書において論述されるゲームシステム1400の様々な要素の動作を調整するように、ソフトウェア命令でプログラムされ得る。プロセッサ1450は、1つまたは複数のハードウェアデバイスを含み得る。プロセッサ1450は電子プロセッサである。
ストレージ1455は、非一時的アナログ及び/またはデジタルストレージデバイスを含む。例えば、ストレージ1455は、映像フレームを記憶するように構成されるアナログストレージデバイスを含み得る。ストレージ1455は、例えばハードドライブ、光学ドライブ、またはソリッドステートストレージといったコンピュータ可読デジタルストレージを含み得る。ストレージ1415は、映像フレーム、人工フレーム、映像フレームと人工フレームの両方を含む映像ストリーム、音声フレーム、及び/または音声ストリーム等を記憶するように構成される(例えば好適なデータ構造またはファイルシステムとして)。ストレージ1455は任意で、複数のデバイス間に分散される。いくつかの実施形態において、ストレージ1455は、本明細書の別の箇所で論述される映像源1430のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要時にいつでも支給可能なフォーマットで記憶され得る。
映像サーバシステム1420はさらに、クライアント性能特定器1460を任意で備える。クライアント性能特定器1460は、クライアント1410Aまたは1410B等のクライアントの性能を遠隔で特定するように構成される。これらの性能には、クライアント1410A自体の性能、ならびにクライアント1410Aと映像サーバシステム1420間の1つまたは複数の通信チャネルの性能の両方が含まれ得る。例えば、クライアント性能特定器1460は、ネットワーク1415を通して、通信チャネルを試すように構成され得る。
クライアント性能特定器1460は、手動または自動で、クライアント1410Aの性能を特定(例えば発見)し得る。手動特定は、クライアント1410Aと通信して、ユーザに性能を提供するように依頼することを含む。例えば、いくつかの実施形態において、クライアント性能特定器1460は、画像及び/またはテキスト等をクライアント1410Aのブラウザ内に表示するように構成される。一実施形態において、クライアント1410Aは、ブラウザを含むHMDである。別の実施形態において、クライアント1410Aは、HMD上に表示され得るブラウザを有するゲーム機である。表示されるオブジェクトは、ユーザに、クライアント1410Aのオペレーティングシステム、プロセッサ、映像デコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報を入力するように要求する。ユーザにより入力された情報は、クライアント性能特定器1460へ返信される。
自動特定は、例えば、クライアント1410A上のエージェントの実行により、及び/またはクライアント1410Aへテスト映像を送信することにより、起こり得る。エージェントは、ウェブページに埋め込まれた、またはアドオンとしてインストールされた、ジャバスクリプト等のコンピューティング命令を備え得る。エージェントは任意で、クライアント性能特定器1460により提供される。様々な実施形態において、エージェントは、クライアント1410Aの処理能力、クライアント1410Aの復号化及び表示能力、クライアント1410Aと映像サーバシステム1420間の通信チャネルの遅延時間信頼性及び帯域幅、クライアント1410Aのディスプレイの種類、クライアント1410A上に存在するファイアウォール、クライアント1410Aのハードウェア、クライアント1410A上で実行されるソフトウェア、及び/またはクライアント1410A内のレジストリエントリ等を見つけ出し得る。
クライアント性能特定器1460は、コンピュータ可読媒体に記憶されたハードウェア、ファームウェア、及び/またはソフトウェアを含む。クライアント性能特定器1460は任意で、映像サーバシステム1420の1つまたは複数の他の要素とは別に、コンピューティングデバイス上に配置される。例えば、いくつかの実施形態において、クライアント性能特定器1460は、クライアント1410と、映像サーバシステム1420の複数のインスタンスとの間の通信チャネルの特性を特定するように構成される。これらの実施形態において、クライアント性能特定器により発見される情報は、クライアント1410のうちの1つに対しストリーミング映像を伝達するのに、映像サーバシステム1420のどのインスタンスが最適であるかを特定するのに使用され得る。
本発明の実施形態は、手持ちデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのもしくはプログラム可能な一般消費者向け電気製品、小型コンピュータ、及びメインフレームコンピュータ等を含む様々なコンピュータシステム構成により実行され得る。本発明はまた、有線ベースまたは無線のネットワークを通してリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境においても、実行可能である。
前の実施形態を念頭に、本発明は、コンピュータシステムに記憶されるデータを伴う様々なコンピュータ実施動作を採用可能であることを理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本発明の一部を形成する、本明細書において説明される動作のうちのいずれも、有益な機械動作である。本発明はまた、これらの動作を実行するためのデバイスまたは機器に関する。機器は、必要な目的のために特別に構築され得る、あるいは機器は、コンピュータに記憶されたコンピュータプログラムにより選択的に起動または構成される汎用コンピュータであり得る。特に、様々な汎用機械は、本明細書における教示に従って書かれるコンピュータプログラムと共に使用可能である、あるいは、必要動作を実行するためにより特化された機器を構築するほうがより好都合であり得る。
本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化可能である。コンピュータ可読媒体は、後にコンピュータシステムにより読み出され得るデータを記憶可能な任意のデータストレージデバイスである。コンピュータ可読媒体の実施例には、ハードドライブ、ネットクワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD‐ROM、CD‐R、CD‐RW、磁気テープ、ならびに他の光学及び非光学データストレージデバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で記憶及び実行されるように、ネットワーク結合されたコンピュータシステム上に分散されたコンピュータ可読有形媒体を含み得る。
方法動作は特定の順序で説明されたが、オーバーレイ動作の処理が所望するやり方で実行される限り、動作の合間に他の維持管理動作が実行され得る、または動作がわずかに異なる時間に起こるように調整され得る、またはシステム内に動作が分散され得ることにより、様々な処理関連間隔で処理動作の発生が可能となることを理解されたい。
前述の発明は、理解の明確化のために若干詳細に説明されたが、ある変形及び変更は、添付の請求項の範囲内で実行可能であることは明らかであろう。従って、本実施形態は、限定するものではなく例示としてみなされるべきであり、本発明は、本明細書において提供される詳細に限定されるべきではないが、本開示の範囲内及び均等物内において変更され得る。