(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022024100
(43)【公開日】2022-02-08
(54)【発明の名称】検出された手入力に基づく仮想手ポーズのレンダリング
(51)【国際特許分類】
G06F 3/01 20060101AFI20220201BHJP
G06F 3/0346 20130101ALI20220201BHJP
【FI】
G06F3/01 510
G06F3/0346 425
【審査請求】有
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2021187719
(22)【出願日】2021-11-18
(62)【分割の表示】P 2021113293の分割
【原出願日】2018-09-20
(31)【優先権主張番号】15/721,651
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】横川 裕
(57)【要約】 (修正有)
【課題】検出された手入力に基づく仮想手ポーズをレンダリングするデバイス、方法及びシステムを提供する。
【解決手段】方法は、ゲームコントローラデバイス104a、104bから、ユーザ100の手ポーズを識別するコントローラ入力を受信することと、所定の目標入力に対するコントローラ入力の類似度を特定することと、ヘッドマウントディスプレイ(HMD)102を介してユーザが見ることができる仮想空間において、コントローラデバイスに対応する仮想手をレンダリングすることと、を含む。仮想手は、類似度が所定閾値を超える場合には、仮想手のポーズが所定の手ポーズに一致するようにレンダリングされ、類似度が所定閾値を超えない場合には、コントローラ入力の変化に応答して仮想手のポーズが動的に変化するようにレンダリングする。
【選択図】
図6A
【特許請求の範囲】
【請求項1】
コントローラデバイスから、ユーザの手ポーズを識別するコントローラ入力を受信することと、
所定の目標入力に対する前記コントローラ入力の類似度を特定することと、
仮想空間において、前記コントローラデバイスに対応する仮想手をレンダリングすることであって、
前記類似度が所定閾値を超える場合には、前記仮想手のポーズが所定の手ポーズに一致するように前記仮想手はレンダリングされ、
前記類似度が前記所定閾値を超えない場合には、前記コントローラ入力の変化に応答して前記仮想手のポーズが動的に変化するように前記仮想手はレンダリングされる、
前記仮想手をレンダリングすることと、
を含む方法。
【請求項2】
前記仮想手のポーズは、前記仮想手の仮想指の姿勢により定義され、前記仮想空間内の前記仮想手の位置及び配向とは無関係であり、前記所定の手ポーズは、前記仮想手の前記仮想指の所定の姿勢を定義する、請求項1に記載の方法。
【請求項3】
前記仮想指の前記姿勢は、前記仮想指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される、請求項2に記載の方法。
【請求項4】
前記コントローラ入力の変化に応答して前記仮想手のポーズが動的に変化するように前記仮想手をレンダリングすることは、前記コントローラ入力の変化に応答して前記仮想手の少なくとも1つの仮想指の前記姿勢を変えることを含む、請求項1に記載の方法。
【請求項5】
前記類似度が前記所定閾値を超える前記コントローラ入力の変化では、前記仮想手のポーズに変化が生じないように、前記類似度が前記所定閾値を超え続ける時間にわたり、前記所定の手ポーズの前記レンダリングが維持される、請求項1に記載の方法。
【請求項6】
前記ユーザの前記手ポーズは、前記ユーザの手の指の姿勢により定義され、ローカル環境内の前記ユーザの手の位置及び配向とは無関係であり、前記コントローラ入力は、前記ユーザの手の指の姿勢を識別する、請求項1に記載の方法。
【請求項7】
前記ユーザの手の前記指の前記姿勢は、前記ユーザの手の前記指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される、請求項6に記載の方法。
【請求項8】
プログラム命令が組み込まれた非一時的コンピュータ可読媒体であって、前記プログラム命令は、少なくとも1つのコンピューティングデバイスにより実行されると、前記少なくとも1つのコンピューティングデバイスに方法を実行させ、前記方法は、以下の動作、
コントローラデバイスから、ユーザの手ポーズを識別するコントローラ入力を受信することと、
所定の目標入力に対する前記コントローラ入力の類似度を特定することと、
仮想空間において、前記コントローラデバイスに対応する仮想手をレンダリングすることであって、
前記類似度が所定閾値を超える場合には、前記仮想手のポーズが所定の手ポーズに一致するように前記仮想手はレンダリングされ、
前記類似度が前記所定閾値を超えない場合には、前記コントローラ入力の変化に応答して前記仮想手のポーズが動的に変化するように前記仮想手はレンダリングされる、
前記仮想手をレンダリングすることと、
を含む、
非一時的コンピュータ可読媒体。
【請求項9】
前記仮想手のポーズは、前記仮想手の仮想指の姿勢により定義され、前記仮想空間内の前記仮想手の位置及び配向とは無関係であり、前記所定の手ポーズは、前記仮想手の前記仮想指の所定の姿勢を定義する、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記仮想指の前記姿勢は、前記仮想指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記コントローラ入力の変化に応答して前記仮想手のポーズが動的に変化するように前記仮想手をレンダリングすることは、前記コントローラ入力の変化に応答して前記仮想手の少なくとも1つの仮想指の前記姿勢を変えることを含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記類似度が前記所定閾値を超える前記コントローラ入力の変化では、前記仮想手のポーズに変化が生じないように、前記類似度が前記所定閾値を超え続ける時間にわたり、前記所定の手ポーズの前記レンダリングが維持される、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記ユーザの前記手ポーズは、前記ユーザの手の指の姿勢により定義され、ローカル環境内の前記ユーザの手の位置及び配向とは無関係であり、前記コントローラ入力は、前記ユーザの手の指の姿勢を識別する、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記ユーザの手の前記指の前記姿勢は、前記ユーザの手の前記指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
ユーザの手ポーズを識別するコントローラ入力を生成するコントローラデバイスと、
所定の目標入力に対する前記コントローラ入力の類似度を特定し、仮想空間において、前記コントローラデバイスに対応する仮想手をレンダリングするコンピューティングデバイスであって、
前記類似度が所定閾値を超える場合には、前記仮想手のポーズが所定の手ポーズに一致するように前記仮想手はレンダリングされ、
前記類似度が前記所定閾値を超えない場合には、前記コントローラ入力の変化に応答して前記仮想手のポーズが動的に変化するように前記仮想手はレンダリングされる、
前記コンピューティングデバイスと、
を備える、システム。
【請求項16】
前記仮想手のポーズは、前記仮想手の仮想指の姿勢により定義され、前記仮想空間内の前記仮想手の位置及び配向とは無関係であり、前記所定の手ポーズは、前記仮想手の前記仮想指の所定の姿勢を定義する、請求項15に記載のシステム。
【請求項17】
前記仮想指の前記姿勢は、前記仮想指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される、請求項16に記載のシステム。
【請求項18】
前記コントローラ入力の変化に応答して前記仮想手のポーズが動的に変化するように前記仮想手をレンダリングすることは、前記コントローラ入力の変化に応答して前記仮想手の少なくとも1つの仮想指の前記姿勢を変えることを含む、請求項15に記載のシステム。
【請求項19】
前記類似度が前記所定閾値を超える前記コントローラ入力の変化では、前記仮想手のポーズに変化が生じないように、前記類似度が前記所定閾値を超え続ける時間にわたり、前記所定の手ポーズの前記レンダリングが維持される、請求項15に記載のシステム。
【請求項20】
前記ユーザの前記手ポーズは、前記ユーザの手の指の姿勢により定義され、ローカル環境内の前記ユーザの手の位置及び配向とは無関係であり、前記コントローラ入力は、前記ユーザの手の指の姿勢を識別する、請求項15に記載のシステム。
【請求項21】
前記ユーザの手の前記指の前記姿勢は、前記ユーザの手の前記指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される、請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検出された手入力に基づく仮想手ポーズのレンダリングに関する。
【背景技術】
【0002】
ビデオゲーム産業は、長年にわたり数多くの変化を経験している。コンピューティング能力が拡張したことにより、ビデオゲームの開発者も同様に、このコンピューティング能力の向上を活用したゲームソフトウェアを製作している。この目標に向かって、ビデオゲーム開発者は、高度な演算及び数学を組み込んだゲームをコーディングして、非常に詳細で魅力的なゲーム体験を生み出している。
【0003】
例示的なゲームプラットフォームには、Sony PlayStation(登録商標)、Sony PlayStation2(登録商標)(PS2)、Sony PlayStation3(登録商標)(PS3)、及びSony PlayStation4(登録商標)(PS4)が挙げられ、それぞれがゲーム機の形態で販売されている。周知のように、ゲーム機は、ディスプレイ(通常はテレビ)に接続して、ハンドヘルドコントローラを介してユーザインタラクションを可能にするように設計されている。ゲーム機は、CPUを含む特別処理ハードウェア、集中的なグラフィック動作を処理するグラフィックシンセサイザ、ジオメトリ変換を行うベクトルユニット、並びに他のグルーハードウェア、ファームウェア及びソフトウェアを備えるように、設計されている。ゲーム機はさらに、ゲーム機を介したローカルプレイ用のゲームディスクを受け取る光ディスクリーダを備えるように設計され得る。ユーザがインターネットを介して、他のユーザに対して、または他のユーザと共に、インタラクティブにプレイすることができるオンラインゲームも可能である。ゲームの複雑さがプレーヤを魅了し続けていることから、ゲーム及びハードウェアの製造業者は、さらなるインタラクティビティ及びコンピュータプログラムを可能にするために革新し続けている。
【0004】
コンピュータゲーム産業において成長傾向にあるのが、ユーザとゲームシステムとの間のインタラクションを増やすゲームの開発である。より豊かなインタラクティブ体験を達成する1つの方法として、ワイヤレスゲームコントローラの使用があり、プレーヤの動きを追跡して、その動きをゲームへの入力として使用するために、ゲームシステムによりワイヤレスゲームコントローラの動きが追跡される。一般に、ジェスチャ入力は、コンピューティングシステム、ビデオゲーム機、スマート家電などの電子デバイスを用いて、電子デバイスが取り込んだプレーヤによるあるジェスチャに反応することを指す。
【0005】
さらに没入感のあるインタラクティブ体験を達成する別の方法として、ヘッドマウントディスプレイ(HMD)の使用がある。ヘッドマウントディスプレイは、ユーザにより装着され、仮想空間のビューなど、様々なグラフィックを提示するように構成され得る。ヘッドマウントディスプレイ上で提示されるグラフィックは、ユーザの視野の大部分または全体にまで及び得る。よって、ヘッドマウントディスプレイ(HMD)は、ユーザの動きに応答する方法で仮想環境の三次元リアルタイムビューをレンダリングするため、HMDは、ユーザに視覚的に没入感のある仮想現実体験を提供することができる。HMDを装着しているユーザは、全方向に自由に移動することができ、これに応じてHMDを介して全方向の仮想環境のビューが提供され得る。
【0006】
このような背景において、本開示の実施態様が生じる。
【発明の概要】
【0007】
本開示の実施態様は、検出された手入力に基づく仮想手ポーズのレンダリングに関するデバイス、方法、及びシステムを含む。
【0008】
いくつかの実施態様では、方法が提供され、方法は、コントローラデバイスから、ユーザの手ポーズを識別するコントローラ入力を受信することと、所定の目標入力に対するコントローラ入力の類似度を特定することと、仮想空間において、コントローラデバイスに対応する仮想手をレンダリングすることであって、類似度が所定閾値を超える場合には、仮想手ポーズが所定の手ポーズに一致するように仮想手はレンダリングされ、類似度が所定閾値を超えない場合には、コントローラ入力の変化に応答して仮想手ポーズが動的に変化するように仮想手はレンダリングされる、仮想手をレンダリングすることと、を含む。
【0009】
いくつかの実施態様では、仮想手ポーズは、仮想手の仮想指の姿勢により定義され、仮想空間内の仮想手の位置及び配向とは無関係であり、所定の手ポーズは、仮想手の仮想指の所定の姿勢を定義する。
【0010】
いくつかの実施態様では、仮想指の姿勢は、仮想指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される。
【0011】
いくつかの実施態様では、コントローラ入力の変化に応答して仮想手ポーズが動的に変化するように仮想手をレンダリングすることは、コントローラ入力の変化に応答して仮想手の少なくとも1つの仮想指の姿勢を変えることを含む。
【0012】
いくつかの実施態様では、類似度が所定閾値を超えるコントローラ入力の変化では、仮想手ポーズに変化が生じないように、類似度が所定閾値を超え続ける時間にわたり、所定の手ポーズのレンダリングが維持される。
【0013】
いくつかの実施態様では、ユーザの手ポーズは、ユーザの手の指の姿勢により定義され、ローカル環境内のユーザの手の位置及び配向とは無関係であり、コントローラ入力は、ユーザの手の指の姿勢を識別する。
【0014】
いくつかの実施態様では、ユーザの手の指の姿勢は、ユーザの手の指の屈曲、伸展、外転、内転、及び/または回旋のうちの1つ以上の動作の量により、定義される。
【0015】
いくつかの実施態様では、非一時的コンピュータ可読媒体には、プログラム命令が組み込まれており、プログラム命令は、少なくとも1つのコンピューティングデバイスにより実行されると、少なくとも1つのコンピューティングデバイスに方法を実行させ、方法は、以下の動作、コントローラデバイスから、ユーザの手ポーズを識別するコントローラ入力を受信することと、所定の目標入力に対するコントローラ入力の類似度を特定することと、仮想空間において、コントローラデバイスに対応する仮想手をレンダリングすることであって、類似度が所定閾値を超える場合には、仮想手ポーズが所定の手ポーズに一致するように仮想手はレンダリングされ、類似度が所定閾値を超えない場合には、コントローラ入力の変化に応答して仮想手ポーズが動的に変化するように仮想手はレンダリングされる、仮想手をレンダリングすることの、以上の動作を含む。
【0016】
いくつかの実施態様では、システムが提供され、システムは、ユーザの手ポーズを識別するコントローラ入力を生成するコントローラデバイスと、所定の目標入力に対するコントローラ入力の類似度を特定し、仮想空間において、コントローラデバイスに対応する仮想手をレンダリングするコンピューティングデバイスであって、類似度が所定閾値を超える場合には、仮想手ポーズが所定の手ポーズに一致するように仮想手はレンダリングされ、類似度が所定閾値を超えない場合には、コントローラ入力の変化に応答して仮想手ポーズが動的に変化するように仮想手はレンダリングされる、コンピューティングデバイスと、を備える。
【0017】
本開示の他の態様及び利点は、本開示の原理を例として示す添付図面と併せて、下記の発明を実施するための形態から明らかになる。
【図面の簡単な説明】
【0018】
本開示は、添付図面と併せて、下記の説明を参照することにより、よりよく理解され得る。
【0019】
【
図1】本開示の一実施態様による、ヘッドマウントディスプレイ(HMD)を介して仮想環境とインタラクションを行うためのシステムを示す。
【0020】
【
図2A】本開示の実施態様による、仮想空間とインタラクションを行うためのコントローラデバイス104を示す。
【
図2B】本開示の実施態様による、仮想空間とインタラクションを行うためのコントローラデバイス104を示す。
【
図2C】本開示の実施態様による、仮想空間とインタラクションを行うためのコントローラデバイス104を示す。
【
図2D】本開示の実施態様による、仮想空間とインタラクションを行うためのコントローラデバイス104を示す。
【0021】
【
図3A】本開示の実施態様による、指ごとに2つの近接センサを使用して、ユーザの人差し指、中指、薬指、及び小指の屈曲/伸展を検出するように構成されたコントローラデバイスを示す。
【
図3B】本開示の実施態様による、指ごとに2つの近接センサを使用して、ユーザの人差し指、中指、薬指、及び小指の屈曲/伸展を検出するように構成されたコントローラデバイスを示す。
【0022】
【
図4A】本開示の一実施態様による、複数の屈曲センサを組み込んだグローブインタフェースオブジェクトのフォームファクタのコントローラデバイスを示す。
【0023】
【
図4B】本開示の一実施態様による、屈曲センサが画定されたグローブインタフェースオブジェクトの側面図を示す。
【0024】
【
図4C】本開示の一実施態様による、複数の屈曲センサがグローブインタフェースオブジェクトの関節領域に位置付けられたグローブインタフェースオブジェクトを示す。
【0025】
【
図5A】本開示の実施態様による、コントローラデバイスの底面図を示す。
【
図5B】本開示の実施態様による、コントローラデバイスの上面図を示す。
【0026】
【
図5C】本開示の実施態様による、コントローラデバイスの例を示す。
【0027】
【
図6A】本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザ、及びこのような操作に基づいた仮想手の図を示す。
【
図6B】本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザ、及びこのような操作に基づいた仮想手の図を示す。
【
図6C】本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザ、及びこのような操作に基づいた仮想手の図を示す。
【0028】
【
図7A】本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザ、及びこのような操作に基づいた仮想手の図を示す。
【
図7B】本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザ、及びこのような操作に基づいた仮想手の図を示す。
【
図7C】本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザ、及びこのような操作に基づいた仮想手の図を示す。
【0029】
【
図8】本開示の実施態様による、様々な可能な手ポーズを示す。
【0030】
【
図9A】本開示の実施態様による、HMDを通して見える仮想空間でインタラクションするユーザを示す。
【
図9B】本開示の実施態様による、HMDを通して見える仮想空間でインタラクションするユーザを示す。
【0031】
【
図10A】本開示の実施態様による、仮想空間内のアバターを示す。
【
図10B】本開示の実施態様による、仮想空間内のアバターを示す。
【
図10C】本開示の実施態様による、仮想空間内のアバターを示す。
【
図10D】本開示の実施態様による、仮想空間内のアバターを示す。
【0032】
【
図11A】本開示の実施態様による、ユーザの手の異なる指の伸展量を経時的に示すグラフである。
【
図11B】本開示の実施態様による、ユーザの手の異なる指の伸展量を経時的に示すグラフである。
【
図11C】本開示の実施態様による、ユーザの手の異なる指の伸展量を経時的に示すグラフである。
【
図11D】本開示の実施態様による、ユーザの手の異なる指の伸展量を経時的に示すグラフである。
【
図11E】本開示の実施態様による、ユーザの手の異なる指の伸展量を経時的に示すグラフである。
【0033】
【
図12】本開示の実施態様による、目標手ポーズに対するユーザの手ポーズの類似度を経時的に示すグラフである。
【0034】
【
図13A-1】本開示の実施態様による、ヘッドマウントディスプレイ(HMD)を示す。
【
図13A-2】本開示の実施態様による、ヘッドマウントディスプレイ(HMD)を示す。
【0035】
【
図13B】一実施態様による、HMDユーザがクライアントシステムとインタフェースし、クライアントシステムが第2の画面と称される第2の画面ディスプレイにコンテンツを提供する一例を示す。
【0036】
【
図14】本開示の一実施態様による、実行中のビデオゲームと連動するHMDの機能を概念的に示す。
【0037】
【
図15】本開示の一実施態様による、ヘッドマウントディスプレイの構成要素を示す。
【0038】
【
図16】本開示の様々な実施態様による、ゲームシステム1600のブロック図である。
【発明を実施するための形態】
【0039】
本開示の下記の実施態様は、検出された手入力に基づく仮想手ポーズのレンダリングに関するデバイス、方法、及びシステムを提供する。しかしながら、目下説明される具体的な詳細の一部または全てがなくとも本開示を実施できることは、当業者には明らかである。他の例では、本開示を不必要に不明瞭にしないために、周知のプロセス動作は詳細に説明されていない。
【0040】
仮想手であるかユーザの実際の現実手であるかにかかわらず、本明細書で使用される手の「ポーズ」という用語は、手自体の構成を指し、これは、空間(仮想または現実)における手の全体的な位置(例えば空間座標位置)または全体的な配向(例えばロール、ピッチ、またはヨーの量)とは無関係である。手とは、手のひらと、親指、人差し指、中指、薬指、及び小指(それぞれ指1~指5と番号付けることもできる)を含む指とを含むと、定義される。手のポーズは、指の姿勢により定義される(所与の指の姿勢も空間における指の全体的な位置または全体的配向とは無関係である)。指の姿勢は、屈曲、伸展、外転、内転、及び/または回旋の量により、定義され得る。
【0041】
限定ではなく例として、拳は、指が概して高度の屈曲及び内転を示す一種の手ポーズである。拳の手ポーズは、指の姿勢により定義され、さらに、空間環境における手の全体の位置及び配向とは無関係であることが、理解される。
【0042】
概して、本開示の実施態様では、ユーザの実際の手からの入力が、目標入力集合との一致レベルの閾値に達すると、ユーザの実際の手からの入力を介して動作が制御される仮想手は、ある所定の仮想手ポーズを有するようにレンダリングされ得るシステム及び方法が提供される。例えば、ユーザは、ユーザの手の指の姿勢を検出するセンサを含むコントローラデバイス(例えばハンドヘルドコントローラ、グローブインタフェースオブジェクトなど)を、操作し得る。このようなセンサからの感知入力値は、ユーザの手の指の姿勢を示す。
【0043】
しかしながら、コントローラデバイスの感知能力は、ユーザの指の姿勢を検出するコントローラデバイスの能力に制限され得る。例えば、センサは、屈曲または伸展など特定の種類の指の動きのみを検出し、ユーザの指のこのような動作の全範囲を捉えない限られた範囲内でのみ、このような動きを検出し得る。さらに、コントローラデバイス自体のフォームファクタ、及びコントローラデバイス上のセンサの位置付けは、実際には、ユーザの手で操作して、同時にコントローラデバイスを介して検出可能な入力を提供することができる方法を、制限し得る。例えば、センサは特別に位置付けられ得、よって、ユーザは、センサに動きを検出されるために、特定の場所に指を配置する必要がある。
【0044】
コントローラデバイスのこれらの特有の制限を考えると、手の動きの検出に高度に特化したコントローラデバイスでも、潜在的な手ポーズの範囲は、コントローラデバイスの能力を容易に超え得ることが、明らかとなる。さらに、コントローラデバイスがユーザの手の所望の手ポーズを検出することができる場合でも、ユーザがHMDを装着している場合、ユーザは自身の手を見ることができず、よって、仮想環境で所与の状況に対し所望の手ポーズを作れない場合がある。仮想現実で高品質のユーザ体験を提供する上で重要な部分は、レンダリングされた仮想手が自分自身の手であるかのようにユーザが感じるように、ユーザの実際の手に対応する仮想手をレンダリングすることである。これは、ユーザの実際の手の動きにより生成される入力に仮想手の仮想指が応答することを可能にすることにより、部分的に達成される。しかしながら、このようにしても、上記のように、特定の所望の手ポーズがユーザにより形成されない場合がある(実に、コントローラのハードウェア制限により、形成され同時に正確に検出されることもできない場合がある)。
【0045】
従って、本開示の実施態様に従って、本開示の方法及びシステムは、ユーザの手ポーズを示す感知入力に基づいて、並びに、環境状況、実行する特定のタスク、ユーザの手の位置と配向、及びその変化(動き)などの他の状況要因にも基づいて、所定の仮想手ポーズをレンダリングすることを提供する。概して、目標入力集合に近い入力、あるいは所与の所定手ポーズを形成したいというユーザの所望を示す入力が受信された場合に、所定の仮想手ポーズがレンダリングされ、一方、入力が目標入力集合に近くない、あるいは入力が所与の所定手ポーズを形成したいというユーザの所望を示さない場合には、入力変化が仮想指の姿勢の変化としてリアルタイムでレンダリングされるように、仮想指の姿勢は入力により動的に制御される。
【0046】
様々な実施態様において、方法、システム、画像取り込みオブジェクト、センサ、及び関連インタフェースオブジェクト(例えばグローブ、コントローラ、周辺デバイスなど)は、表示画面上で実質的リアルタイムにレンダリングされるように構成されたデータを処理するように構成される。概して、実施態様は、ヘッドマウントディスプレイ(HMD)であるディスプレイを参照して説明される。しかし、他の実施態様では、ディスプレイは、第2の画面、ポータブルデバイスのディスプレイ、コンピュータディスプレイ、ディスプレイパネル、または1人以上のリモート接続ユーザ(例えばコンテンツを閲覧中、またはインタラクティブ体験を共有中であり得るユーザ)のディスプレイなどであり得る。
【0047】
図1は、本開示の実施態様による、ヘッドマウントディスプレイ(HMD)を介して仮想環境とインタラクションを行うためのシステムを示す。HMDは、仮想現実(VR)ヘッドセットとも称され得る。本明細書で使用される「仮想現実」(VR)という用語は、一般に、HMDの動き(ユーザにより制御される)にリアルタイムで応答して仮想空間内にいる感覚をユーザに提供する方法により、HMD(またはVRヘッドセット)を介して仮想空間を見ることを伴う、仮想空間/環境とのユーザインタラクションを指す。例えば、ユーザは、所与の方向を向くと仮想空間の3次元(3D)ビューを見ることができ、ユーザが横側を向いて同様にHMDの向きを変えると、仮想空間におけるその横側へのビューが、HMD上でレンダリングされる。例示される実施態様では、ヘッドマウントディスプレイ(HMD)102を装着しているユーザ100が示される。HMD102は、眼鏡、ゴーグル、またはヘルメットと同様の方法で装着され、ユーザ100にビデオゲームまたは他のコンテンツを表示するように構成される。HMD102の表示機構は、ユーザの目の極めて近くに設置されるため、HMD102はユーザに、非常に没入感のある体験を提供する。従って、HMD102は、ユーザの視野の大部分または全体さえも占める表示領域を、ユーザの目のそれぞれに提供することができ、また三次元の奥行き及び遠近感を有する視界を提供し得る。
【0048】
例示される実施態様では、HMD102は、コンピュータ106に無線で接続される。別の実施態様では、HMD102は、有線接続を介してコンピュータ106に接続される。コンピュータ106は、当技術分野で既知の任意の汎用または専用コンピュータであり得、これには、ゲーム機、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイルデバイス、セルラー電話、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイスなどが含まれるが、これらに限定されない。いくつかの実施態様では、コンピュータ106は、ビデオゲームを実行し、HMD102によるレンダリングのためにビデオゲームからの映像及び音声を出力するように構成され得る。いくつかの実施態様では、コンピュータ106は、HMDを通して見ることができる仮想空間/環境を提供する任意の他の種類のインタラクティブアプリケーションを実行するように構成される。送受信機110は、ビデオゲームからの映像及び音声を、HMD102上でレンダリングするために、HMD102に送信するように(有線接続または無線接続により)構成される。送受信機110は、HMD102へデータを送信する送信機、並びにHMD102により送信されたデータを受信する受信機を含む。
【0049】
いくつかの実施態様では、HMD102はまた、HMD102及びコンピュータ106の両方が接続されたネットワーク112を介するなど、代替的な機構またはチャネルを通して、コンピュータと通信し得る。
【0050】
ユーザ100は、インタフェースオブジェクト104を操作して、ビデオゲームへの入力を行い得る。さらに、カメラ108は、ユーザ100が位置するインタラクティブ環境の画像を取り込むように構成され得る。これらの取り込み画像を分析して、ユーザ100、HMD102、及びインタフェースオブジェクト104の位置及び動きが特定され得る。様々な実施態様では、インタフェースオブジェクト104は、追跡可能な光源、及び/または慣性センサ(複数可)を含み、これにより、インタフェースオブジェクトの位置及び配向の特定、並びに動きの追跡が可能となる。
【0051】
いくつかの実施態様では、磁場を放出する磁気源116が設置され、これにより、HMD102及びインタフェースオブジェクト104の磁気追跡が可能となる。HMD102及びインタフェースオブジェクト104内の磁気センサは、磁場(例えば強度、配向)を検出するように構成され得、この情報を使用して、HMD102及びインタフェースオブジェクト104の位置及び/または配向が、特定及び追跡され得る。
【0052】
いくつかの実施態様では、インタフェースオブジェクト104は、HMD102と相対的に追跡される。例えば、HMD102は、インタフェースオブジェクト104を含む画像を取り込む外向きカメラを有し得る。取り込み画像を分析して、HMD102に対するインタフェースオブジェクト104の位置/配向が特定され、HMDの既知の位置/配向を使用して、ローカル環境におけるインタフェースオブジェクト104の位置/配向が特定され得る。
【0053】
HMD102に表示される仮想現実シーンとユーザがインタフェースする方法は、様々であり得、インタフェースオブジェクト104に加えて他のインタフェースデバイスも使用することができる。例えば、様々な種類の片手用コントローラだけでなく、両手用コントローラも使用することができる。いくつかの実施態様では、コントローラに含まれる光源を追跡することにより、またはコントローラに関連する形状、センサ、及び慣性データを追跡することにより、コントローラ自体の追跡を行うことができる。これらの様々な種類のコントローラを使用することで、または1つ以上のカメラにより取り込まれたユーザによる手のジェスチャを使用するだけでも、HMD102に提示される仮想現実環境に対しインタフェース、制御、操作、インタラクション、及び参加を行うことが可能である。
【0054】
さらに、HMD102は、HMD102の位置及び配向を特定するために追跡可能な1つ以上の光源を含み得る。カメラ108は、インタラクティブ環境から音を取り込むための1つ以上のマイクロホンを含み得る。マイクロホンアレイにより取り込まれた音は、音源の位置を特定するように処理され得る。特定された位置からの音は、選択的に利用され得る、または特定された位置以外からの他の音を排除するように処理され得る。さらに、カメラ108は、複数の画像取り込みデバイス(例えば立体カメラ対)、IRカメラ、深度カメラ、及びこれらの組み合わせを含むように定義され得る。
【0055】
いくつかの実施態様では、コンピュータ106は、ネットワーク112を介してクラウドゲームプロバイダ114と通信するシンクライアントとして機能する。このような実施態様では、一般的に、クラウドゲームプロバイダ114は、ユーザ102によりプレイされているビデオゲームを維持し実行する。コンピュータ106は、HMD102、インタフェースオブジェクト104、及びカメラ108からの入力をクラウドゲームプロバイダへ送信し、クラウドゲームプロバイダは、入力を処理して、実行中のテレビゲームのゲーム状態に作用する。映像データ、音声データ、及び触覚フィードバックデータなどの実行中のビデオゲームからの出力は、コンピュータ106へ送信される。コンピュータ106はさらに、データを送信前に処理し得る、またはデータを関連デバイスに直接送信し得る。例えば、映像及び音声ストリームはHMD102に提供されるが、触覚/振動フィードバック命令はインタフェースオブジェクト104に提供される。
【0056】
いくつかの実施態様では、HMD102、インタフェースオブジェクト104、及びカメラ108は、それ自体がネットワーク112と接続して、例えばクラウドゲームプロバイダ114と通信するネットワーク化デバイスであり得る。いくつかの実施態様では、コンピュータ106は、ビデオゲーム処理を行わないがネットワークトラフィックの流れを促進するルータなどのローカルネットワークデバイスであり得る。HMD102、インタフェースオブジェクト104、及びカメラ108によるネットワークへの接続は、有線または無線であり得る。
【0057】
さらに、本開示の実施態様はヘッドマウントディスプレイに関連して説明され得るが、別の実施態様では、ポータブルデバイス画面(例えばタブレット、スマートフォン、ラップトップなど)、あるいは本実施態様に従って映像をレンダリングし及び/またはインタラクティブシーンもしくは仮想環境の表示を提供するように構成され得る任意の他の種類のディスプレイを、非限定的に含む非ヘッドマウント式ディスプレイが代用され得ることが理解される。
【0058】
図2A、
図2B、
図2C、及び
図2Dは、本開示の実施態様による、仮想空間とインタラクションを行うためのコントローラデバイス104を示す。概して、コントローラデバイス104は、手で保持され、及び/またはユーザの手200に固定されるように構成される。いくつかの実施態様では、コントローラデバイス104をユーザの手200に固定するためのストラップ(またはバンド、または他の取り付け機構)が提供される(図示せず)。いくつかの実施態様では、このようなストラップは、ユーザの手200の手のひら部分に巻き付いて、コントローラデバイス104をユーザの手のひらに対し固定するように構成される。いくつかの実施態様では、このような手のひらストラップは、使用時にユーザの手のひらを実質的に取り巻くように構成され、ストラップの一部/全長は、コントローラデバイス104の側面に固定され/取り付けられ、これにより、コントローラデバイスがユーザの手に固定される。いくつかの実施態様では、ストラップ機構は、ロック機構を含み、これにより、ストラップは、コントローラをユーザの手のひらに対し固定するロック構成と、ストラップを緩め及び/またはストラップの一部をコントローラ本体から離す解放構成とで、切り替えられることが可能となる。従って、ロック機構により、コントローラデバイスは、ユーザの手にしっかりと保持され得る、またはユーザの手から部分的に離れ得る。
【0059】
いくつかの実施態様では、コントローラデバイス104は、コントローラデバイス104をユーザの手首に固定するリストストラップ250を含む。
【0060】
コントローラデバイス104は、コントローラデバイス104が配備されるローカル環境の3次元現実空間内で追跡可能であるように構成される。そのために、コントローラデバイス104は、限定ではなく例として1つ以上の加速度計、磁力計、及びジャイロスコープを含む様々な動作/配向/慣性センサのうちのいずれかを有し得る。さらに、コントローラデバイス104は、磁気源216により放出される磁場の強度及び/または配向を検出するように構成された1つ以上の磁気センサ214を含み得る。いくつかの実施態様では、磁気源216は、コンピューティングデバイス106に接続され得る及び/またはコンピューティングデバイス106により制御され得る周辺デバイスのフォームファクタで、配備される。いくつかの実施態様では、磁気源216は、画像取り込みデバイス108などの既存の周辺デバイス内に配置され得る。いくつかの実施態様では、磁気源216は、コンピューティングデバイス106内に配置され得る。動作/配向/慣性センサ及び磁気センサからのデータまたは情報は、コントローラデバイス104の位置及び配向を特定し追跡するように、処理され得る。このようなデータ処理は、コントローラデバイス104及び/またはコンピューティングデバイス106により実行され得る。
【0061】
例示される実施態様では、コントローラデバイス104は、ユーザの手200により保持または把持されるように構成された本筐体212を含む。コントローラデバイス104はさらに、親指パッド218を含み、これは、コントローラデバイス104を保持する時にユーザの手200の親指202が自然と下がる場所に、位置付けられる。いくつかの実施態様では、親指パッドは、タッチベース入力を提供することができるタッチ感知表面またはタッチパッドである。いくつかの実施態様では、親指パッドは、方向指示入力を容易にする方向指示パッドである。いくつかの実施態様では、親指パッドは、クリック可能である、またはボタンと同様に押下することができる。
【0062】
親指パッド218はさらに、親指パッド218への親指202の近接度を検出するように構成された近接センサ234を含む。こうすることで、近接センサ234は、ユーザの親指202の屈曲または伸展の量を示し得る。
【0063】
コントローラデバイス104を操作する時に、トリガ220は、ユーザの手200の人差し指204により操作されるように構成され、一方トリガ222は、ユーザの手200の中指206により操作されるように構成される。トリガ220及び222はさらに、近接センサ236及び238(
図2Bに図示)をそれぞれ含み、これらは、トリガ220及び222へのユーザの人差し指204及び中指206の近接度をそれぞれ検出するように構成される。従って、近接センサ236及び238は、人差し指及び中指の屈曲または伸展の量を、それぞれ示す。すなわち、ユーザの人差し指204の屈曲量が増加すると(伸展量が減少すると)、近接センサ236への人差し指204の近接度は増加し、ユーザの人差し指204の屈曲量が減少すると(伸展量が増加すると)、近接センサ236への人差し指204の近接度は減少する。同様に、ユーザの中指206の屈曲量が増加すると(伸展量が減少すると)、近接センサ238への中指206の近接度は増加し、ユーザの中指206の屈曲量が減少すると(伸展量が増加すると)、近接センサ238への中指206の近接度は減少する。
【0064】
さらに、コントローラデバイス104は、近接センサ240及び242(
図2Cに図示)を含み、これらは、ユーザの薬指208及び小指210の近接度をそれぞれ検出するように、筐体212の下部に沿った位置に配置される。従って、近接センサ240及び242は、薬指及び小指の屈曲または伸展の量を、それぞれ示す。すなわち、ユーザの薬指208の屈曲量が増加すると(伸展量が減少すると)、近接センサ240への薬指208の近接度は増加し、ユーザの薬指208の屈曲量が減少すると(伸展量が増加すると)、近接センサ240への薬指208の近接度は減少する。同様に、ユーザの小指210の屈曲量が増加すると(伸展量が減少すると)、近接センサ242への小指210の近接度は増加し、ユーザの小指210の屈曲量が減少すると(伸展量が増加すると)、近接センサ242への小指210の近接度は減少する。
【0065】
コントローラデバイス104はさらに、近接センサ226、228、230、及び232を有するバンド224を含む。バンド224の構造により、これらの近接センサは、人差し指、中指、薬指、及び小指が伸展した時に、これらの指の指先にそれぞれ近接するように位置付けられる。言い換えると、ユーザの人差し指204の伸展量が増加すると(屈曲量が減少すると)、近接センサ226への人差し指204の近接度は増加し、ユーザの人差し指204の伸展量が減少すると(屈曲量が増加すると)、近接センサ226への人差し指204の近接度は減少する。ユーザの中指206の伸展量が増加すると(屈曲量が減少すると)、近接センサ228への中指206の近接度は増加し、ユーザの中指206の伸展量が減少すると(屈曲量が増加すると)、近接センサ228への中指206の近接度は減少する。ユーザの薬指208の伸展量が増加すると(屈曲量が減少すると)、近接センサ230への薬指208の近接度は増加し、ユーザの薬指208の伸展量が減少すると(屈曲量が増加すると)、近接センサ230への薬指208の近接度は減少する。ユーザの小指210の伸展量が増加すると(屈曲量が減少すると)、近接センサ232への小指210の近接度は増加し、ユーザの小指210の伸展量が減少すると(屈曲量が増加すると)、近接センサ232への小指210の近接度は減少する。
【0066】
前述を考慮して、
図3A及び
図3Bを参照すると、コントローラデバイス104は、指ごとに2つの近接センサを使用して、ユーザの人差し指、中指、薬指、及び小指の屈曲/伸展を検出するように構成される。従って、各指は、対応する1対の近接センサを有し、センサは、センサが割り当てられた所与の指の屈曲/伸展の平面に実質的に沿った指の可動域の両端に、整列される。例えば、ユーザの人差し指204を検出するように構成されたセンサ226及び236は、ユーザの人差し指204の屈曲/伸展の平面に実質的に沿って、整列される。さらに、センサ226は、人差し指204が伸展した時に、人差し指204の遠位端部に近くなるように(ことによると接触するように)位置付けられ、一方センサ236は、人差し指204が伸展した時に、人差し指204の近位端部により近くなるように位置付けられる。他の指に関しても、同様のセンサ対の配置及び位置付けが適用されることが、理解される。
【0067】
従って、いくつかの実施態様では、ユーザの指が伸展した時のユーザの指の遠位端部及び近位端部に対するセンサそれぞれの位置付けに基づいて、センサ226、228、230、及び232は遠位センサとみなされ、一方センサ236、238、240、及び242は近位センサとみなされる。所与の指の近位センサ及び遠位センサの対は、所与の指の姿勢を特定するために、一緒に利用される。所与の指の遠位センサ及び近位センサの近接感知範囲は、互いに重複し得ることが理解される。従って、いくつかの実施態様では、指の姿勢が最大限に屈曲した姿勢から最大限に伸展した姿勢に変化すると(例えばコントローラデバイス104の構造/形態により許容されるように)、指は、最初に、近位センサでのみ検出可能であり得(遠位センサの検出範囲内ではないため)、次に、指が近位センサの検出範囲内にまだ存在しながら遠位センサの検出範囲に入ると、近位センサ及び遠位センサの両方で検出可能となり得、最終的に、指が近位センサの検出範囲から離れると、遠位センサでのみ検出可能となり得る。
【0068】
図3Bは、本開示の実施態様による、4つのボタン/トリガを有するコントローラデバイス104を示す。コントローラデバイス104は、前述の実施態様に類似するが、ユーザの薬指及び小指によりそれぞれ押下されるように構成されたトリガ/ボタン300及び302をさらに含む。例示される実施態様では、近接センサ240及び242は、トリガ/ボタン300及び302にそれぞれ含まれる。トリガ/ボタン220、222、330、及び302のそれぞれは、力フィードバック、振動フィードバックなどの触覚フィードバックを提供するように構成され得る。さらに、いくつかの実施態様では、コントローラデバイス104の本体212は、振動フィードバックを提供するように構成され得る。
【0069】
具体的に示されていないが、いくつかの実施態様では、コントローラデバイス104は、1つ以上の光源または被照明体を含み得、これは、ローカル環境の取り込み画像内で認識され、コントローラデバイス104の位置及び配向の追跡を可能にするために追跡され得る。限定ではなく例として、1つ以上の光源は、コントローラデバイス104のバンド224に沿って及び/または筐体212に沿って、位置付けられ得る。
【0070】
図4Aは、本開示の一実施態様による、複数の屈曲センサを組み込んだグローブインタフェースオブジェクト400のフォームファクタのコントローラデバイス104を示す。
図4Aはさらに、本開示の実施態様による、屈曲センサの回路を概略的に示す。示されるように、グローブインタフェースオブジェクト400は、グローブインタフェースオブジェクト400のそれぞれの指の上面に沿って画定された屈曲センサを含む。例えば、人差し指402は、人差し指の付け根関節が存在する人差し指402の付け根から、人差し指402の先端まで延びる屈曲センサ404を含む。例示される実施態様では、屈曲センサは、グローブインタフェースオブジェクトのそれぞれの指の上面に沿って位置付けられ、これは、ユーザの指の上側、すなわちユーザの手の甲(ユーザの手のひら側とは反対側)に関連する。しかしながら、別の実施態様では、屈曲センサは、指の側面に沿って、または指の底面(すなわち指の手のひら対向側)に沿ってなど、グローブインタフェースオブジェクトの指部分の周りの他の場所に位置付けできることが、理解される。
【0071】
各屈曲センサは、ユーザの指など、ユーザの手の一部の屈曲を検出するように構成される。いくつかの実施態様では、屈曲センサは、屈曲感知抵抗器を含むように定義され、抵抗器の屈曲量に基づいて、抵抗が変化する。屈曲センサの例は、当技術分野では知られており、製造されたもの及び/またはSpectra Symbolなどにより販売されているものを含む。いくつかの実施態様では、屈曲感知抵抗器の屈曲が増加すると、抵抗器の抵抗が増加する。
図4Aを引き続き参照すると、各屈曲センサは、単一アナログ入力(A0~A5)に接続され、合計5つのアナログ入力を生成する。グローブインタフェースオブジェクトの屈曲を検出するために、屈曲を検出及び/または定量化することができる任意の種類の屈曲センサが利用され得ることが、理解される。
【0072】
図4Bは、本開示の一実施態様による、屈曲センサが画定されたグローブインタフェースオブジェクトの側面図を示す。例示される実施態様では、グローブインタフェースオブジェクト400の人差し指402は、人差し指402の側面に沿って画定された屈曲センサ410を有する。所与の指の側面に沿った距離は、指が屈曲した時に、指の上面または底面の距離ほど著しく変化しないため、屈曲センサをグローブインタフェースオブジェクトの指の側面に沿って位置付けることは、有利であり得る。一般的には、指が屈曲すると(すなわち閉じられると)、指の上面に沿った長さは増大し、指の底面に沿った長さは減少する。従って、屈曲センサが指の上面に沿って位置付けられた時、屈曲センサに実質的に弾性がない場合には、屈曲センサは、指を引き戻して指の屈曲に抵抗する傾向があり得る。
【0073】
図4Bはさらに、グローブインタフェースオブジェクト400の親指部分に沿って位置付けられた屈曲センサ416を示す。また、人差し指と親指との間の外転/内転を検出するために、グローブインタフェースオブジェクトの人差し指と親指との間の部分に沿って、屈曲センサ412が位置付けられる。
【0074】
図4Cは、本開示の一実施態様による、複数の屈曲センサがグローブインタフェースオブジェクトの関節領域に位置付けられたグローブインタフェースオブジェクトを示す。例示される実施態様では、例えば、グローブインタフェースオブジェクトの人差し指部分402は、ユーザの人差し指の遠位指節間関節の屈曲を検出するように位置付けられた屈曲センサ420と、ユーザの人差し指の近位指節間関節の屈曲を検出するように位置付けられた屈曲センサ422と、ユーザの人差し指の付け根関節(中手指節関節)の屈曲を検出するように位置付けられた屈曲センサ424と、を含む。グローブインタフェースオブジェクト400の他の指の部分も、ユーザの手の指の様々な関節の屈曲を検出するために同様に位置付けられた屈曲センサを含む。
【0075】
さらに、グローブインタフェースオブジェクト400の指部分の間に、屈曲センサ426などの屈曲センサが配置され、屈曲センサ426は、人差し指と中指との間の屈曲または広がりを検出するように位置付けられる。例示される実施態様では、他の屈曲センサも、隣接する指の間の広がりを検出するために、隣接する指の間に同様に位置付けられる。
【0076】
さらに、ユーザの手首の屈曲を検出するように、屈曲センサ428が、グローブインタフェースオブジェクト400の上手首部分に沿って位置付けられる。いくつかの実施態様では、屈曲センサは、グローブインタフェースオブジェクトの下手首部分に沿って位置付けられる。いくつかの実施態様では、手首の横方向の屈曲を検出するために、手首の側面に沿って追加の屈曲センサが位置付けられ得る。
【0077】
いくつかの実施態様では、グローブインタフェースオブジェクトの屈曲センサを較正するための較正手順が提供される。例えば、較正手順では、屈曲センサがその最小屈曲位置及び/またはその最大屈曲位置に配置されるように、ユーザがグローブインタフェースオブジェクトを操作する必要があり得る。これらの位置で屈曲センサデータを読み取って、各屈曲センサの屈曲センサデータの上限/下限及び/または範囲が定義され得る。
【0078】
図5Aは、本開示の実施態様による、コントローラデバイスの底面図を示す。例示される実施態様では、コントローラデバイス104は、ハンドヘルド動作コントローラの形態である。示されるように、コントローラデバイス104は、ユーザの手により把持/保持されるように構成された筐体500を含む。コントローラデバイス104はさらに、コントローラデバイス104の画像ベース追跡を促進するために、使用中に照明される被照明体502を含む。すなわち、例えばカメラ108により取り込まれたローカルインタラクティブ環境の取り込み画像を分析して、被照明体の位置が特定及び追跡され、これにより、コントローラデバイス104の追跡は促進される。
【0079】
コントローラデバイス104をユーザの手に固定してコントローラデバイス104の偶発的な落下を防止するために、コントローラデバイス104はさらに、ユーザの手のひらに巻き付くように構成されたハンドストラップ504を含み、これにより、ユーザの手が完全に開いている(指が伸展した)時でも、コントローラデバイス104はユーザの手のひらと接触した状態が保持される。コントローラデバイス104はまた、コントローラデバイス104をユーザの手首に固定するように構成されたリストストラップ506を含む。コントローラデバイス104はさらに、ユーザの手がコントローラデバイス104を保持している時に、ユーザの手の人差し指により操作されるように構成されたトリガ508を含む。
【0080】
ユーザの手の指の姿勢を検出するために、コントローラデバイス104は、複数の近接センサを含み、これは、ユーザがコントローラデバイス104を保持/操作/使用している時、近接センサに近接するユーザの指部分の存在の有無、及び/またはユーザの指部分までの距離を、検出するように構成される。これらには、近接センサ510a、510b、512、514a~c、516a~c、及び518a~cが含まれる。
【0081】
様々な近接センサは、どちらの手がコントローラデバイス104を保持しているか、及びユーザの手のサイズに応じて、ユーザの指の異なる部分の存在/不在/距離を検出し得る。概して平均サイズの手に関しては、示されるコントローラデバイス104がユーザの右手で保持されている場合では、近接センサ510aは、右親指の近接度を検出するように構成され、一方近接センサ510b及び512は、右人差し指の部分の近接度を検出するように構成される。近接センサ512は、トリガ508と一体化され、これにより、トリガ機能及び近接感知の両方が同時に提供されることが理解される。ユーザの右手で保持されるコントローラデバイス104の参照を続けると、近接センサ514a、514b、及び514cは、ユーザの右中指の様々な部分の近接度を検出するように構成され、近接センサ516a、516b、及び516cは、ユーザの右薬指の様々な部分の近接度を検出するように構成され、近接センサ518a、518b、及び518cは、ユーザの右小指の様々な部分の近接度を検出するように構成される。
【0082】
ユーザの手の指の姿勢は、近接センサからの感知入力に基づいて特定または推測され得ることが、理解される。例えば、近接センサからの感知入力は、ユーザの手の様々な指の屈曲または伸展の量を特定するように処理され得る。
【0083】
さらに、ユーザの右手で保持されるコントローラデバイス104を参照して前述は説明されたが、コントローラデバイス104は、ユーザの左手でも操作されてもよく、この場合、様々な近接センサからの感知入力は、ユーザの左手の指の姿勢を示すことが、理解される。例えば、例示される実施態様では、近接センサ510bによりユーザの左親指の姿勢が感知され、一方、近接センサ510a及び512によりユーザの左人差し指の姿勢が感知される。近接センサ514a、514b、及び514cによりユーザの左中指の姿勢が感知され、近接センサ516a、516b、及び516cによりユーザの左薬指の姿勢が感知され、近接センサ518a、518b、及び518cによりユーザの左小指の姿勢が感知される。
【0084】
図5Bは、本開示の実施態様による、コントローラデバイス104の上面図を示す。示されるように、コントローラデバイス104は、様々なボタン520a、520b、520c、520d、522、及び524を含む。別の実施態様では、コントローラデバイス104は、ジョイスティック、タッチパッド、方向指示パッドなどの様々な他の種類の入力デバイスのうちのいずれかを含み得ることを、理解されたい。
【0085】
例示の実施態様に示されるように、追加の近接センサ510c及び510dが存在する。ユーザが自身の右手でコントローラデバイス104を保持/操作している時、近接センサ510cは、ユーザの右親指の存在を検出し得、従って、ユーザの右親指の屈曲または伸展を示し得る。同様に、近接センサ510dは、ユーザの右人差し指の存在を示し得る。コントローラデバイス104がユーザの左手で操作されている時は、反対のシナリオが適用される。
【0086】
図5Cは、本開示の実施態様による、コントローラデバイス104の例を示す。例示される実施態様では、コントローラデバイス104は、ユーザの手で保持される本体530と、エミッタ534a、534b、及び534cなどの様々なエミッタを含むバンド532とを含む。いくつかの実施態様では、エミッタは、可視光を放射する光源であり得、一方、別の実施態様では、エミッタは、赤外線などの非可視波長を放射し得る。エミッタは、コントローラデバイス104を含むローカル環境の取り込み画像内で、認識されるように構成される。さらに、エミッタの位置及び配向を含む、取り込み画像内のエミッタの構成は、ローカルインタラクティブ環境におけるコントローラデバイス104の位置及び配向を特定し追跡するように、処理され得る。
【0087】
特に示されていないが、コントローラデバイス104はまた、コントローラデバイス104をユーザの手及び/または手首に固定するための1つ以上のストラップまたは他の機構を、含んでもよい。
【0088】
例示される実施態様では、コントローラデバイス104は、ユーザの手の姿勢を検出するように構成されたいくつかのトリガを含む。トリガには、ユーザの親指の姿勢を検出するトリガ536と、ユーザの人差し指の姿勢を検出するトリガ538と、ユーザの中指の姿勢を検出するトリガ540と、ユーザの薬指の姿勢を検出するトリガ542と、ユーザの小指の姿勢を検出するトリガ544とが含まれる。
【0089】
概して、所与のトリガの押下は、対応する指の屈曲を示し、一方、所与のトリガの解放は、対応する指の伸展を示す。例えば、トリガ536の押下は、親指の屈曲を示し、一方トリガ536の解放は、親指の伸展を示す。トリガ538の押下は、ユーザの人差し指の屈曲を示し、トリガ538の解放は、ユーザの人差し指の伸展を示す。同様の動作が、中指、薬指、及び小指にそれぞれ関連するトリガ540、542、及び544に適用される。
【0090】
トリガは、トリガの押下量または解放量の範囲を感知するように構成されることを、理解されたい。すなわち、トリガは、押下された状態または解放された状態の2値状態だけでなく、トリガが押下された量または解放された量も、検出することができる。所与のトリガからの感知入力は、トリガの移動可能範囲内のトリガの位置を示すことができ、これにより、所与のトリガが押下された量、または所与のトリガが解放された量が示される。従って、感知入力は、所与のトリガにより感知された指の屈曲量または伸展量を示し得る。
【0091】
さらに、いくつかの実施態様では、トリガは、ユーザに触覚フィードバックを提供するように構成され得る。例えば、トリガは、コントローラデバイス104により制御される仮想手で仮想オブジェクトに触れるなど、仮想空間内でのインタラクションに応答して、抵抗、振動、または他の触覚感覚を提供するように構成され得る。
【0092】
コントローラデバイス104は、1つ以上の加速度計、磁力計、またはジャイロスコープなどの様々な動作センサ及び/または慣性センサのうちのいずれかを含み得る。
【0093】
さらに、コントローラデバイス104は、1つ以上の磁気センサを含み得、これは、コントローラデバイス104が配置されるローカル環境内に位置する磁気エミッタにより放出される磁場を、検出するように構成される。例えば、磁気エミッタは、周辺デバイス(画像取り込みデバイス108など)、コンピューティングデバイス(コンピューティングデバイス106など)、またはローカル環境内の他のデバイスに、含まれ得る。磁気センサは、磁場を感知し、磁気センサが感知した磁場の強度(磁気エミッタからの距離を示す)、また磁場に対する磁気センサの配向を示すデータを出力し得る。このデータを利用して、ローカル環境内のコントローラデバイス104の位置及び配向が特定され得る。
【0094】
図6Aは、本開示の実施態様による、ユーザの手ポーズを検出するコントローラの操作を通して仮想空間とインタラクションするユーザを示す。示されるように、ユーザ100は、HMD102を通して仮想空間を見て、ユーザの左手及び右手でコントローラデバイス104a及び104bをそれぞれ操作する。コントローラデバイス104a及び104bは、ユーザの手の指の姿勢を、少なくとも部分的に検出することができる。コントローラデバイス104a及び104bは、近接センサ、トリガ、屈曲センサ、または他の機構を使用して、ユーザの手の指の姿勢の検出を可能にし得る。
【0095】
例示される実施態様では、拡大
図600により、コントローラデバイス104aを保持するユーザの左手602が示される。示されるように、ユーザの左手602は、コントローラデバイス104aの周りを握り、指は、屈曲を示し、個々の指の姿勢を検出するように構成されたコントローラデバイス104aのそれぞれの場所、例えばトリガまたは近接センサが配置された場所で、コントローラデバイス104aに接触している。いくつかの実施態様では、コントローラデバイス104aは、ユーザの左手の指の屈曲量または伸展量を示すセンサ入力を提供する。
【0096】
ユーザ100に現実味のある体験を提供するために、ユーザの手に対応する仮想手(例えばユーザ100に対応する仮想空間内のアバターの手)の指は、コントローラデバイス104からの感知入力の変化に動的に応答する方法で、仮想空間内でリアルタイムにレンダリングされ得る。すなわち、限定ではなく例として、コントローラデバイス104aからの感知入力を通して検出される屈曲量/伸展量は、ユーザの左手の指の屈曲/伸展から生じ、これは、仮想空間内の対応する仮想左手の屈曲量/伸展量を制御し得る。このような応答性の高い仮想手の動的制御を提供することは、ユーザ100に臨場感を与え、ユーザの実際の手の指の動きはリアルタイムに、対応する仮想手の動きとして即座にマッピング及びレンダリングされ、よってユーザは、仮想手が自分の手であるかのように感じる。いくつかの実施態様では、これは、システムの第1の動作モードを定義する。
【0097】
前述の仮想手のリアルタイム応答レンダリングの提供により、現実味のある仮想現実体験が提供される。しかし、コントローラデバイス104aの構成により、ユーザ100は、握り拳などの特定の所望の手ポーズを作ることが不可能であり得る。このような手ポーズは、ユーザの左手602の中にコントローラデバイス104aが存在するため、不可能であり得る。従って、コントローラデバイス104aにより前述のような現実味のある方法で仮想手の動的応答レンダリングを提供する場合、これは、恐らくコントローラデバイス104aのハードウェア構成の制限が原因で、特定の手ポーズはこのレンダリング構成を通して達成できないことも意味し得る。
【0098】
よって、いくつかの実施態様では、第2の動作モードが提供され、第2の動作モードでは、コントローラデバイス104aからの感知入力を基に判定されるように、ユーザの手ポーズが所望の拳の手ポーズに十分近いと判定されると、対応する仮想手のポーズは、所定の手ポーズとして所望の拳の手ポーズを形成するように構成される。このようにして、ユーザの手ポーズが所定の手ポーズに所定の程度近づくと、仮想手のレンダリングされたポーズは、所定の手ポーズ(この場合では拳)に「切り替わる」。いくつかの実施態様では、これは、ユーザの手ポーズが、所定の手ポーズとの類似レベルの閾値に達したことに基づいて、定義される。いくつかの実施態様では、これは、目標入力集合に一致する、または目標入力集合との類似レベルの閾値に達した感知入力集合(例えば目標入力集合の特定の範囲に入る感知入力集合)により、定義される。
【0099】
特定の感知入力集合が握り拳のレンダリングにマッピングされている場合でも、全ての望ましい状況で、ユーザ100は尚も、特定の感知入力集合を生じるのに必要なやり方で自分の手をコントローラ104aの周りに合わせられない場合があり、これは、HMD102を装着しているユーザ100は自分の手が見えないことに部分的に起因し得ることに、留意されたい。よって、いくつかの実施態様では、仮想手を所望の手ポーズにレンダリングすることを達成するために、ユーザは自分の手を非常に特殊なポーズにする必要がないように、所望の手ポーズまたは目標入力集合に十分類似する可能なポーズまたは入力の範囲を有効にすることが望ましい。
【0100】
例示される実施態様を引き続き参照すると、
図6Bは、本開示の実施態様による、ユーザの左手602に対応する仮想手604の図を示す。示されるように、仮想手604は、前述の第1の動作モードに従ってレンダリングされ、ユーザの左手602の指の動きは、仮想手604の指の動きとしてリアルタイムにレンダリングされる。いくつかの実施態様によれば、例示される仮想手604は、コントローラデバイス104aからの感知入力により定義され、かつ感知入力に基づいてユーザの左手602の実際の姿勢を正確に模倣するように構成された構造で示され、これは、感知入力に基づいたユーザの左手602の個々の指の姿勢のレンダリングを含む。例えば、感知入力は、ユーザの左手602指の屈曲量/伸展量を示し得、これは、仮想手604の指の屈曲量/伸展量に正確に相関され、レンダリングされ得る。従って、感知入力から特定されたユーザの左手602指の屈曲/伸展の変化は、仮想手604の対応する指の屈曲/伸展の変化として、反映される。
【0101】
しかし、上記のように、コントローラデバイス104aの存在(及び/またはユーザ自身の動作可能な手の操作)が原因で、ユーザが握り拳の手ポーズを作ることがない、または実際にそうすることができないことがある。従って、いくつかの実施態様では、ユーザの手ポーズが握り拳に十分似ていることを、コントローラデバイス104aからの感知入力が示す場合には、
図6Cの参照に示されるように、仮想手604は、握り拳の手ポーズを有するようにレンダリングされる。すなわち、コントローラデバイス104aからの感知入力が、目標入力との類似度の閾値を越えると判定された場合には、仮想手604は、握り拳の手ポーズを有するように仮想空間内でレンダリングされる。このようにして、目標入力に対する感知入力の類似度が閾値レベルを超えない限り、仮想手604は、コントローラデバイス104aにより感知されたユーザの指の動きに応答して、自由な指の動きを示す。一方、感知入力が目標入力との類似度の閾値を超える限り、仮想手604は、感知入力の変化に関係なく、握り拳としてレンダリングされる。すなわち、感知入力が目標入力との類似度の閾値を超え続ける限り、感知入力の変化(例えばユーザの指の姿勢の変化から生じる)により仮想手604のポーズが変わることはなく、仮想手604のポーズは、引き続き握り拳の手ポーズでレンダリングされる。
【0102】
本実施態様では、仮想手604は、感知入力が目標入力との類似度の閾値を超える時、所定の握り拳の手ポーズに「切り替わる」と説明されたが、仮想手604の握り拳の手ポーズへの遷移は、滑らかな遷移として動画化され得ることを理解されたい。これは、仮想手604の個々の指の現在の姿勢(例えば
図6Bで示される姿勢)から、所定の拳の手ポーズにより定義される仮想手604の個々の指の姿勢(
図6Cで示される姿勢)へ、仮想手604の個々の指の遷移を動画化することを含み得る。実際には、仮想手604が徐々に閉じて拳となる動画遷移を示すように、仮想手604はレンダリングされる。これにより、拳の手ポーズへの見栄えがより自然な遷移を提供することができる。実際には、遷移の動画化は、各指のセンサ値に基づいて、現在の手ポーズと目標となる所定の拳の手ポーズとの混合により、遷移ポーズを生成することを必要とする。いくつかの実施態様では、混合量は、使用されている所定の手ポーズの正規化されたスコアの残余として、概念化され得る。例えば、遷移の動画化は、1.0から所定のポーズスコアの合計を差し引いたものに等しい。
【0103】
動画化された遷移は、目標入力に対する感知入力の類似度が、閾値を超えるものから閾値を超えないものに変化する逆の状況で提供されてもよいことが、理解される。例えば、ここで説明される実施態様を引き続き参照すると、仮想手604は、
図6Cに示される閉じた拳の手ポーズから、
図6Bに示される手ポーズ(コントローラデバイス104aからの感知入力により定義され、感知入力に応答して変化する手ポーズ)へ、滑らかに遷移するように動画化され得る。その結果、仮想手604は徐々に開き、次いで仮想手604の指は、ユーザ入力に基づいて応答的に関節運動するようになる。
【0104】
前述の実施態様は、特に拳の手ポーズを参照して説明されたが、説明される概念は、任意の手ポーズ、並びにユーザの指の姿勢の感知を含むユーザの手ポーズを感知する任意の種類のコントローラデバイスに適用できることが理解される。
【0105】
図7Aは、本開示の実施態様による、HMDを通して見える仮想空間とインタラクションするユーザを示す。自分の左手及び右手でコントローラデバイス104a及び104bをそれぞれ操作するユーザ100が示される。コントローラデバイスは、ユーザの手のポーズを検出するように構成され、仮想空間内の対応する仮想手は、ユーザの手のポーズに基づいて(例えばユーザの手のポーズを模倣する方法で)レンダリングされ得る。前述のように、コントローラデバイス104a/bは、ユーザ100の手の個々の指の姿勢を検出し得、対応する仮想手の対応する指の姿勢は、同様または同一にレンダリングされ得る。これは、仮想手の指の姿勢のリアルタイム制御に部分的に起因して、仮想現実体験に臨場感を与える。
【0106】
コントローラデバイス104bを操作しているユーザの右手702を示す拡大
図700では、ユーザの右手702の親指及び人差し指がコントローラデバイス104bの周りで屈曲されて/丸められており、一方中指、薬指、及び小指は伸展されていることが分かる。対応するアバターの仮想手704がユーザの右手702のポーズを正確に模倣するように、この手のポーズは、
図7Bに示されるようにレンダリングされ得る。
【0107】
しかし、いくつかの実施態様では、仮想手704のポーズを異なるようにレンダリングすることが望ましい。例えば、
図7Aに示されるユーザの手のポーズは、仮想空間内の仮想オブジェクトをつまむというユーザの意図を示す場合がある。従って、仮想手704は代わりに、見た目の美しいつまむ手ポーズをレンダリングするように、
図7Cに示される所定の手ポーズに従ってレンダリングされ得る。ユーザの右手702の実際の親指と人差し指は指先で触れていないが、
図7Cに示されるレンダリングされたつまむ手ポーズでは、仮想手704の親指と人差し指の指先は、触れている、またはほぼ触れていることが理解される。さらに、ユーザの右手702の実際の中指、薬指、及び小指は、真っ直ぐに伸展しているが、
図7Cで示されるレンダリングされたつまみ手ポーズでは、これらの指は、示されるように美しく少し丸められ徐々に伸ばされる/広げられる。
【0108】
いくつかの実施態様では、コントローラデバイス104bからの感知入力が目標入力に十分類似していると判定された時、例えば感知入力と目標入力との類似度が所定の閾値を超えた時に、
図7Cに示される所定のつまむ手ポーズが形成されるように、仮想手704のレンダリングは構成され得る。限定ではなく例として、感知入力は、近接センサ、トリガ、屈曲センサなど、またはユーザの右手702の指の姿勢の態様を感知し定量化し得る任意の他のセンサといった、コントローラデバイス104bのセンサからの感知データ値により、定義され得る。いくつかの実施態様では、センサは、ユーザの右手702の指の屈曲/伸展を検出する。いくつかの実施態様では、感知入力は、ユーザの右手702の指のそれぞれに対応するセンサからの感知データ値の集合を含む。目標入力は、感知データ値のそれぞれに対応する目標値の集合により定義される。
【0109】
例えば、例として人差し指などの指のうちの1つを検討すると、コントローラデバイス104bは、人差し指の屈曲を検出する人差し指センサを含み得、よって、感知入力は、ユーザの右手の人差し指の屈曲量を示す人差し指センサからの感知データ値を含む。同様に、コントローラデバイス104bは、他の指の屈曲量を示す、他の指のそれぞれに対応するセンサを含み得る。従って、感知入力は、これらのセンサのそれぞれからの感知データ値を含み、これにより、ユーザの右手702のそれぞれの指の屈曲量が示される。
【0110】
目標入力は、それぞれのセンサの目標データから成り、よって、ユーザの右手702の目標手ポーズを定義する。センサからの感知データ値が類似レベルの閾値を超えるほど目標データ値と類似していると集合的に判定されると、仮想手704は、例示される実施態様で示されたように、所定のつまむ手ポーズを有するようにレンダリングされ得る。感知データ値と目標データ値との類似レベルが閾値を超え続ける限り、感知データ値の変化(例えば少なくとも1本の指の姿勢の変化により生じる)は、仮想手704のレンダリングされる手ポーズに反映されないことを、理解されたい。類似度が閾値レベルを超えなくなるまで、所定のつまむ手ポーズが維持される。
【0111】
上記は所定のつまむ手ポーズを参照して説明されたが、本原理は、限定なしに任意の他の手ポーズに適用され得ることが理解される。さらに、指ごとに1つのセンサを有するコントローラデバイス104bを参照したが、指ごとに複数のセンサがあってもよい、従って指ごとに複数の感知データ値及び対応する目標データ値があってもよいことが、理解される。上記のように、複数のセンサを利用して、所与の指の姿勢が検出され得る。
【0112】
いくつかの実施態様では、目標入力集合に対する感知入力集合の類似度は、以下のように特定され得る。
【数1】
【0113】
Eは、目標入力集合からのコントローラ感知入力集合の全体的な偏差である。Eの値は、偏差と正の相関関係にあり、Eの値の増加は、目標入力集合からのコントローラ感知入力の偏差の増大を示す。
【0114】
コントローラ感知入力集合は、ユーザの手の指のそれぞれに対応するコントローラセンサからの感知入力値から成り、Sxは、指xの感知入力値である。
【0115】
目標入力集合は、ユーザの手の指のそれぞれに対応する目標入力値から成り、Txは、指xの目標入力値である。
【0116】
Rxは、所与の感知入力値とその対応する目標入力値との未加工の差(Sx-Tx)をスケーリングするために使用される任意のスケーリング係数である。例えば、いくつかの実施態様では、Rxは、TxからのSxの最大可能偏差に等しく、差を1にスケーリングする。
【0117】
Wxは、所与の感知入力値とその対応する目標入力値との平方差に適用される重み付け係数である。感知入力値のうちの特定のものが、感知入力値の他のものと比較して、より大きいまたはより小さい影響を及ぼすことができるように、重み付け係数を構成/調整することができる。
【0118】
いくつかの実施態様では、偏差関数を正規化/スケーリングするために、重み付け係数は合計すると所定値Pとなる。例えば、前述のようにRxが、TxからのSxの最大可能偏差に等しい場合、いくつかの実施態様では、P=1であり、これはEの値を1にスケーリングする。
【0119】
Mは、目標入力集合に対するコントローラ感知入力の類似度または類似量を示す類似性インジケータであり、これはEの関数として特定され、MはEと逆相関関係にある。言い換えると、偏差Eが減少すると、類似度Mは増加する。例えば、いくつかの実施態様では、Mは以下のように表される。
【0120】
【0121】
ここでEmaxは、Eの最大可能値である。Emaxが1に正規化されている実施態様では、M=1-Eである。
【0122】
前述のように、類似度Mが閾値レベルを超えると、仮想手は、所定の手ポーズを有するようにレンダリングされる。
【0123】
いくつかの実施態様では、目標入力に対するコントローラ感知入力の類似度は、閾値レベル未満の偏差に関して定義されることを、理解されたい。言い換えると、目標入力からのコントローラ感知入力の偏差が閾値量未満である時に、仮想手は、所定の手ポーズを有するようにレンダリングされる。
【0124】
上記は、目標入力値に対するコントローラ入力値の類似度を特定する方法の一例であり、限定ではなく例として提供される。他の実施態様では、値の集合の類似度を特定する様々な他の方法のうちのいずれかが適用され得る。さらに、手の各指に関して単一のコントローラ感知入力値が説明されたが、手の各指に関して任意の数のコントローラ感知入力値が存在してもよく、しかも、これらに対応する目標値が存在してもよいことを、理解されたい。
【0125】
上記は概して、仮想手が「切り替わる」ことができる単一の所定の手ポーズを参照して説明されたが、様々な実施態様では、ユーザの手ポーズが十分に所定の手ポーズに近い時(例えば閾値レベルを超える目標入力に対する感知入力の類似度により定義される)、仮想手がレンダリングされ得る所定の手ポーズは、任意の数存在してもよいことを、理解されたい。
【0126】
図8は、本開示の実施態様による、様々な可能な手ポーズを示す。手ポーズ800では、親指が伸展し、一方残りの指は屈曲している/閉じている。いくつかの実施態様では、手ポーズ800は、親指を立てるまたはヒッチハイクのポーズとして、使用または解釈され得る。手ポーズ802は、全ての指が伸展した開いた手であるが、人差し指、中指、薬指、小指は、互いに隣接して内転している。限定ではなく例として、手ポーズ802は、拍手するために使用され得る。手ポーズ804は、別の開いた手ポーズであるが、指は、離れて広がるように外転している。限定ではなく例として、手ポーズ804は、物体をつかむ、物体を捕らえる、またはじゃんけんで遊ぶために、使用され得る。
【0127】
手ポーズ806は、閉じた拳であり、限定ではなく例として、仮想空間内でパンチをするために使用され得る。手ポーズ808は、人差し指が伸展し、残りの指は概して屈曲している/閉じているポーズを提供する。手ポーズ808は、指を指す、数字の1を示す、仮想空間内の仮想オブジェクトを触るなどのために、使用され得る。
【0128】
手ポーズ810は、2本の指が伸展したポーズであり、数字の2、ピースサイン、幸せなどを示し得る。手ポーズ812は、3本の指が伸展したポーズである。手ポーズ814は、4本の指が伸展し、親指が折りたたまれたポーズである。
【0129】
手ポーズ816は、親指と小指が伸展し、残りの指が丸まっているポーズである。手ポーズ818は、人差し指と小指が伸展し、他の指が丸まっているポーズである。
【0130】
手ポーズ820は、親指と人差し指がつまむ形を成しているポーズである。手ポーズ822は、部分的に閉じた手であり、全ての指が丸まっているが、拳のようにしっかりと閉じていない。
【0131】
これらのポーズは、限定ではなく例として示され、説明されている。さらなる可能な所定手ポーズは任意の数存在し得、これに従って仮想手がレンダリングされ得ることを、理解されたい。
【0132】
いくつかの実施態様では、手ポーズは、手話の手ポーズを含み、仮想現実環境で手話を促進するために使用され得る。
【0133】
様々な実施態様では、本明細書で説明される所定の手ポーズを採用するシステムは、インタラクション(ビデオゲーム内など)のレベルまたはステージまたは環境状況、仮想空間で行うタスク、ユーザの手の位置、ユーザの手の配向、ユーザの手の動作(速度、軌道、配向変化などを含む)、認識されたユーザの手のジェスチャなどの状況要因を含む、仮想空間内のユーザのインタラクションの状況に応じて、所定の手ポーズのうちの異なる手ポーズを有効にするように構成され得る。任意のこのような要因を互いに組み合わせて適用して、レンダリングのために所与の所定手ポーズを有効にする場合が判定され得ることが、理解される。
【0134】
図9Aは、本開示の実施態様による、HMDを通して見える仮想空間でインタラクションするユーザを示す。ユーザ100は、例示の実施態様に示されるように、自分の右手702でコントローラデバイス104を操作し、対応する仮想手902は、HMD102を通してレンダリングされる仮想空間の例示された
図900に示されるように、仮想空間でレンダリングされる。例示される実施態様では、ユーザ100のアバターの前にドア904があるというインタラクション状況が示される。従って、この状況に基づいて、ドア904のドアノブをつかむための所定の手ポーズが有効化され得、よって、コントローラデバイス104から受信したユーザ定義のコントローラ入力が目標入力に十分な程度一致する場合、仮想手902は、所定のつかむ手ポーズを有するようにレンダリングされる。
【0135】
別の実施態様では、所定のつかむ手ポーズは、コントローラデバイス104から受信したコントローラ入力から特定されるユーザの右手702の動作に基づいて、有効化される。例えば、ユーザの手702の動きが特定の速度未満である場合に、つかむ手ポーズを有効化するように、システムは構成され得る。
【0136】
例示される実施態様の上記の要因に基づいて所定のつかむ手ポーズが有効化される代わりに、別の実施態様では、所定の手ポーズは有効化されない。すなわち、例えば、位置状況(ドアの前のユーザ(アバター)の位置)、またはユーザの手の動作(例えば閾値速度未満の動作)に基づいて、所定の手ポーズは有効化されない。
【0137】
図9Bは、コントローラデバイス104を操作し、HMD102を通して仮想空間を見ているが、異なる状況にあるユーザ100を示す。HMD102上でレンダリングされる仮想空間のビュー910により示されるように、パンチングバッグ914を含むようなインタラクション状況である。従って、このインタラクション状況に基づいて、拳の手ポーズが使用に有効化され得、よって、コントローラデバイス104からのコントローラ感知入力が目標入力と十分一致すると、例示の実施態様に示されるように、対応する仮想手912は拳としてレンダリングされる。
【0138】
いくつかの実施態様では、ユーザの手702の動作に基づいて、拳の手ポーズは有効化される。例えば、ユーザがパンチを繰り出す準備をしているように、自分の手を上げて引いている状態が検出され得る。この動きの認識により、拳の手ポーズを有効化する根拠が提供され得、よって、仮想手912は、前述のようにコントローラ入力に基づいて拳としてレンダリングされる。所定の拳ポーズはまた、例えば、恐らく所定閾値を超える速度でユーザの手が前に進む動作で認識されたように、パンチを繰り出す際に認識されたユーザの手の動きに応答して、有効化され得ることが、理解される。
【0139】
ビデオゲームを含むインタラクティブアプリケーションは、異なる所定の手ポーズを実施するように、及び異なる所定の手ポーズを異なるステージまたは他のインタラクティビティ状況で実施するように、構成できることが、理解される。従って、有効化される特定の手ポーズは、状況の変化に応じて、及びユーザの手、腕、及びアバターの動きといったユーザが開始したアクティビティに応じて、時間と共に変化し得る。
【0140】
例えば、ユーザがじゃんけんのゲームに参加する場合には、
図8を参照して前述された開いた手ポーズ804、拳の手ポーズ806、及び2本指の手ポーズ810が選択され、使用のために有効化され得る。
【0141】
いくつかの実施態様では、ユーザが仮想空間内で仮想オブジェクトをつかもうとする場合には、開いた手ポーズ804が有効化され、一方、ユーザが平手でたたく動作または拍手の動作を行うなど、別の種類のアクティビティを試みていることが検出された場合には、開いた手ポーズ802が有効化される。この例では、ユーザによりコントローラデバイスを通して同じ感知入力が提供されるが、インタラクティビティ状況に応じて、異なる仮想手のレンダリングが生成される。
【0142】
図10Aは、本開示の実施態様による、仮想空間内のアバターを示す。例示される実施態様では、アバター1000は、コントローラからの感知入力により制御される仮想手を有する。アバター1000は、ボード1002の前に立っており、ボード1002上には、仮想手の指で絵を描くまたは色を塗ることができる。いくつかの実施態様では、描画/彩色に利用可能な色を制御するために、前腕1004は回外し、手1006は手のひら側が上を向き、そしてカラーインジケータボール1008は、手1006の手のひらの中にレンダリングされる。いくつかの実施態様では、手1006の指でボール1008に触れることにより、描画に利用できる色を調整/変更/制御することが可能である。例えば、人差し指、中指、薬指、または小指でカラーインジケータボール1008に触れると、赤、緑、または青などの色の相対量が増加し得、一方親指でカラーインジケータボール1008に触れると、色の強度が減少し得る。
【0143】
図10Bでは、前腕1004は、
図10Aに示される位置に対して若干回内し、仮想手1006の手のひらは垂直方向に回転している。
図10Cでは、前腕1004は、仮想手1006の手のひらが垂直を超えて、かつ2つのイベントが起こる閾値を超えて回転するように、回内し続けている。まず、カラーインジケータボールがレンダリングされなくなる。次に、仮想手1006の親指を仮想手1006の手のひらに向けて内側に押し込む/折り畳む/屈曲させる仮想手1006の所定の手ポーズが実施される。この所定の手ポーズは、仮想手1006の親指は関与せずに、人差し指、中指、薬指、及び小指で色を塗れるように構成される。これは
図10Dでより明確に示され、前腕1004はさらに回外し、手1006の人差し指、中指、薬指、及び小指は、外向きに配置され、ボード1002上に指で色を塗る準備ができている。
【0144】
図11A~Eは、本開示の実施態様による、ユーザの手の異なる指の伸展量を経時的に示すグラフである。例示される伸展量は、前述のように、コントローラデバイス104上のセンサから特定され得る。各指の伸展は、0~10のスケールで示され、これは、本開示の原理を説明する目的で任意に選択された。概して、値0は所与の指の最小伸展を示し、一方、値10は最大伸展を示す。
【0145】
図11Aに示されるように、親指の伸展は、時間T
0における値6から、時間T
1における値0に変化する。
図11Bに示されるように、人差し指の伸展は、時間T
0における値3から、時間T
1における値9に変化する。
図11Cに示されるように、中指の伸展は、時間T
0における値6から、時間T
1における値1.5に変化する。
図11Dに示されるように、薬指の伸展は、時間T
0における値5から、時間T
1における値1.75に変化する。
図11Eに示されるように、小指の伸展は、時間T
0における値4から、時間T
1における値1に変化する。
【0146】
時間T
1の前に、対応する仮想手の指は、ユーザの指の伸展の変化(例えばコントローラデバイス104のセンサにより検出された変化)に応答して、自由に操作可能であり得る。しかし、時間T
1にて、仮想手のレンダリングは、所定の手ポーズに「切り替わり」得る、すなわち同化し得る。限定ではなく例として、例示される実施態様では、所定の手ポーズは、
図8で示される手ポーズ808であり得、恐らく指を指す、数字の1を示す、仮想空間内の仮想オブジェクトまたは他のレンダリングされたアイテムに触れるなどの目的で、人差し指が完全に伸展し、残りの指が屈曲している。
【0147】
時間T1での所定の手ポーズへの変形は、ユーザの手のポーズが、所定の手のポーズへの特定レベルの同化に達することから、起こり得る。いくつかの実施態様では、これは、それぞれの指の伸展値が同時にそれぞれの所定範囲に入ることを、必要とし得る。いくつかの実施態様では、これは、指の伸展値が目標伸展値集合との類似レベルの閾値に達することを、必要とし得る。本実施態様における伸展値の使用は、ユーザの指の姿勢の測定の一例であることを、理解されたい。概念を一般化すると、本開示の実施態様では、所定の手ポーズへの変形は、ユーザの指の測定された姿勢により引き起こされ得、例えば、所定範囲に入るまたは所定目標値との類似レベルの閾値に達するセンサデータ値、またはセンサデータから処理された値により定義され得る。
【0148】
図12は、本開示の実施態様による、目標手ポーズに対するユーザの手ポーズの類似度を経時的に示すグラフである。例示される実施態様では、ポーズ類似度は、時間と共に変化する。ポーズ類似度が閾値レベルに達すると、仮想空間内の対応する仮想手のポーズは、所定の手ポーズを有するようにレンダリングされ、実質的には所定の手ポーズに「切り替わる」。これらの期間は、期間P
1、P
2、及びP
3として示される。一方、期間F
1、F
2、及びF
3と示されるポーズ類似度が閾値を超えない期間中は、仮想手のレンダリングは、所定の手ポーズに同化せず、代わりに、ユーザの手の指の姿勢に従ってリアルタイムに応答的にレンダリングされる。期間P
1、P
2、及びP
3の間は、類似レベルが閾値を上回ったままであるため、ユーザの指の姿勢に変化があっても、仮想手のポーズに変化は生じない。しかし、期間F
1、F
2、及びF
3の間は、ユーザの指の姿勢のいかなる変化も即座に、仮想空間内の仮想手の対応する指の姿勢の変化として、リアルタイムにレンダリングされる。
【0149】
図13A-1及び
図13A-2は、本開示の実施態様による、ヘッドマウントディスプレイ(HMD)を示す。
図13A-1は特に、本開示の実施態様による、HMDの一例であるPlayStation(登録商標)VRヘッドセットを示す。示されるように、HMD102は、複数の光源1300A~Hを含む。これらの光源のそれぞれは、特定の形状を有するように構成されてもよく、同一または異なる色を有するように構成することができる。光源1300A、1300B、1300C、及び1300Dは、HMD102の前面に配置される。光源1300E及び1300Fは、HMD102の側面に配置される。そして光源1300G及び1300Hは、HMD102の前面及び側面にまたがるように、HMD102の角に配置される。ユーザがHMD102を使用するインタラクティブ環境の取り込み画像において、光源は特定され得ることが理解される。光源の特定及び追跡に基づいて、インタラクティブ環境内のHMD102の位置及び配向が特定され得る。光源のうちのいくつかは、画像取り込みデバイスに対するHMD102の特定の配向によっては、視覚的に取り込み可能または不可能であることが、さらに理解される。また、画像取り込みデバイスに対するHMD102の配向によっては、光源の別の部分(例えば光源1300G及び1300H)が、画像取り込みにさらされ得る。
【0150】
一実施態様では、光源は、周りにいる他の人に対し、HMDの現行状態を示すように構成され得る。例えば、光源の一部または全ては、特定の配色、強度案配を有するように構成され、点滅し、特定のオン/オフ構成またはHMD102の現行状態を示す他の配置を有するように構成され得る。例として、光源は、ビデオゲームの活動的ゲームプレイ(一般に活動的タイムライン中にまたはゲームシーン内で起こるゲームプレイ)中には、メニューインタフェースの閲覧またはゲーム設定の実施(その間ゲームタイムラインまたはゲームシーンは停止または一時停止され得る)などのビデオゲームの他の非活動的ゲームプレイ態様とは、異なる設定を表すように構成され得る。光源はまた、ゲームプレイの相対激度レベルを示すように構成され得る。例えば、ゲームプレイの激しさが高まると、光源の強度、または点滅速度が高まり得る。このようにして、ユーザの周りにいる人は、HMD102上の光源を見て、ユーザが激しいゲームプレイに活発に参加していて、今は邪魔されたくないであろうと、理解し得る。
【0151】
HMD102はさらに、1つ以上のマイクロホンを含み得る。例示される実施態様では、HMD102は、HMD102の前面に画定されたマイクロホン1304A及び1304Bと、HMD102の側面に画定されたマイクロホン1304Cとを含む。マイクロホンアレイを利用して、マイクロホンのそれぞれからの音が、音源の位置を特定するように処理され得る。この情報は、不要な音源の除外、音源と視覚的識別との関連付けなどを含む様々な方法で利用され得る。
【0152】
HMD102はまた、1つ以上の画像取り込みデバイスを含み得る。例示される実施態様では、画像取り込みデバイス1302A及び1302Bを含むHMD102が示される。立体視用画像取り込みデバイスペアを利用して、HMD102の観点から、環境の三次元(3D)画像及び映像が取り込まれ得る。このような映像はユーザに提示され、HMD102を装着している間、「ビデオシースルー」能力がユーザに提供され得る。すなわち、厳密に言うとユーザはHMD102を通して外部を見ることはできないが、それにもかかわらず、画像取り込みデバイス1302A及び1302B(または例えば、HMD102の外側本体上に配置された1つ以上の外向き(例えば正面向き)カメラ)により取り込まれる映像により、HMD102を通して見ているかのようにHMD102の外部の環境を見ることができるに等しい機能が提供され得る。このような映像は、拡張現実体験を提供するために仮想要素で拡張することができる、あるいは別の方法で仮想要素と組み合わされ得る、または融合され得る。例示される実施態様では、2つのカメラがHMD102の前面に示されるが、HMD102上に設置され任意の方向に配向された外向きカメラは、任意の数存在してもよいことが、理解される。例えば、別の実施態様では、環境のさらなるパノラマ画像取り込みを提供するために、HMD102の側面に搭載されたカメラが存在し得る。さらに、いくつかの実施態様では、このような外向きカメラを使用して、他の周辺デバイス(例えばコントローラなど)が追跡され得る。すなわち、HMD上のこのような外向きカメラからの取り込み画像において、HMDに対する周辺デバイスの位置/配向が特定され追跡され得、次いで、ローカル環境内のHMDの既知の位置/配向を使用して、周辺デバイスの実際の位置/配向が特定され得る。
【0153】
図13Bは、HMD102のユーザ100が、クライアントシステム106とインタフェースし、クライアントシステム106が、第2の画面1307と称される第2の画面ディスプレイにコンテンツを提供する一例を示す。クライアントシステム106は、HMD102から第2の画面1307へのコンテンツ共有を処理するための集積電子装置を含み得る。別の実施態様は、クライアントシステムと、HMD102及び第2の画面1307のそれぞれとの間をインタフェースする別個のデバイス、モジュール、コネクタを含み得る。この一般的な例では、ユーザ100は、HMD102を装着し、インタフェースオブジェクト104でもあり得るコントローラを使用してビデオゲームをプレイしている。ユーザ100によるインタラクティブなプレイにより、ビデオゲームコンテンツ(VGC)が生成され、HMD102にインタラクティブに表示される。
【0154】
一実施態様では、HMD102に表示されているコンテンツは、第2の画面1307に共有される。一例では、第2の画面1307を見ている人は、ユーザ100がHMD102でインタラクティブにプレイしているコンテンツを見ることができる。別の実施態様では、別のユーザ(例えばプレーヤ2)がクライアントシステム106とインタラクションを行い、第2の画面コンテンツ(SSC)が生成され得る。コントローラ104と同様にインタラクションを行うプレーヤ(または任意の種類のユーザインタフェース、ジェスチャ、発声、または入力)により生成される第2の画面コンテンツは、クライアントシステム106へのSSCとして生成され得、これは、HMD102から受信されるVGCと共に、第2の画面1307上に表示され得る。
【0155】
従って、HMDユーザと同じ場所または離れた場所に存在し得る他のユーザによるインタラクティビティは、HMDユーザ、及び第2の画面1307上でHMDユーザがプレイするコンテンツを見ることができるユーザの両者にとって、ソーシャルで、インタラクティブで、さらに没入感があり得る。例示されるように、クライアントシステム106は、インターネット1310に接続され得る。インターネットは、様々なコンテンツソース1320からのコンテンツへのアクセスも、クライアントシステム106に提供し得る。コンテンツソース1320は、インターネットを介してアクセス可能な任意の種類のコンテンツを含み得る。
【0156】
このようなコンテンツは、映像コンテンツ、動画コンテンツ、ストリーミングコンテンツ、ソーシャルメディアコンテンツ、ニュースコンテンツ、友人コンテンツ、広告コンテンツなどを含み得るが、これらに限定されない。一実施態様では、ゲームプレイ中にインタラクティビティに対応付けられたマルチメディアコンテンツをHMDに提供するように、クライアントシステム106を使用して、HMDユーザ用のコンテンツを同時に処理することができる。次いで、クライアントシステム106は、ビデオゲームコンテンツとは無関係であり得る他のコンテンツも、第2の画面に提供することができる。クライアントシステム106は、一実施態様では、コンテンツソース1320のうちの1つから、またはローカルユーザもしくはリモートユーザから、第2の画面のコンテンツを受信し得る。
【0157】
図14は、本開示の一実施態様による、実行中のビデオゲームまたは他のアプリケーションと連動するHMD102の機能を概念的に示す。実行中のビデオゲーム/アプリケーションは、入力を受信してビデオゲーム/アプリケーションのゲーム/アプリケーション状態を更新するゲーム/アプリケーションエンジン1420により定義される。ビデオゲームのゲーム状態は、オブジェクトの存在及び位置、仮想環境の状況、イベントのトリガ、ユーザプロファイル、ビューの観点など、現行のゲームプレイの様々な態様を定義するビデオゲームの様々なパラメータの値により、少なくとも部分的に定義され得る。
【0158】
例示される実施態様では、ゲームエンジンは、例として、コントローラ入力1414、音声入力1416、及び動作入力1418を受信する。コントローラ入力1414は、ハンドヘルドゲームコントローラ(例えばSony DUALSHOCK(登録商標)4ワイヤレスコントローラ、Sony PlayStation(登録商標)Moveモーションコントローラ)、または方向指示インタフェースオブジェクト104など、HMD102とは別個のゲームコントローラの操作から定義され得る。例として、コントローラ入力1414には、方向指示入力、ボタン押下、トリガ起動、動き、ジェスチャ、またはゲームコントローラの操作から処理される他の種類の入力が、含まれ得る。いくつかの実施態様では、ゲームコントローラの動きは、HMD102に対するゲームコントローラの位置/配向を提供するHMD102の外向きカメラ1411を通して、追跡される。音声入力1416は、HMD102のマイクロホン1402から、または画像取り込みデバイス1413もしくはローカル環境内の他の場所に含まれるマイクロホンから、処理され得る。動作入力1418は、HMD102に含まれる動作センサ1400から、及び/またはHMD102の画像を取り込む画像取り込みデバイス1413から、及び/またはHMD102の外向きカメラ1411から、処理され得る。ゲームエンジン1420は、ゲームエンジンの構成に従って処理された入力を受信し、ビデオゲームのゲーム状態を更新する。ゲームエンジン1420は、様々なレンダリングモジュールにゲーム状態データを出力し、様々なレンダリングモジュールは、ゲーム状態データを処理して、ユーザに提示するコンテンツを定義する。
【0159】
例示される実施態様では、映像レンダリングモジュール1422は、HMD102上で提示する映像ストリームをレンダリングするように定義される。映像ストリームは、ディスプレイ/プロジェクタ機構1410により提示され、光学素子1408を通してユーザの目1406により見られ得る。音声レンダリングモジュール1424は、ユーザが聴く音声ストリームをレンダリングするように構成される。一実施態様では、音声ストリームは、HMD102に対応付けられたスピーカ1404を通して出力される。スピーカ1404は、オープンエア型スピーカ、ヘッドホン、または音声提供可能な任意の他の種類のスピーカの形態を取り得ることを、理解されたい。
【0160】
一実施態様では、ユーザの視線の追跡を可能にするために、視線追跡カメラ1412がHMD102に含まれる。視線追跡カメラは、ユーザの目の画像を取り込み、取り込まれた画像は、ユーザの視線方向を特定するために分析される。一実施態様では、ユーザの視線方向に関する情報を利用して、映像レンダリングに影響が与えられ得る。例えば、ユーザの目が特定の方向を見ていると判定されると、ユーザが見ている領域にさらなる詳細またはより早い更新を提供することなどにより、その方向の映像レンダリングが優先され得る、または強調され得る。ユーザの視線方向は、ヘッドマウントディスプレイに相対して、ユーザが存在する現実環境に相対して、及び/またはヘッドマウントディスプレイ上でレンダリングされている仮想環境に相対して、定義され得ることを理解されたい。
【0161】
概して、視線追跡カメラ1412により取り込まれた画像の分析は、単独で検討する場合、HMD102に対するユーザの視線方向を提供する。しかし、HMD102の追跡された位置及び配向と組み合わせて検討する場合、HMD102の位置及び配向は、ユーザの頭部の位置及び配向と同義であることから、ユーザの現実世界の視線方向が特定され得る。すなわち、ユーザの現実世界の視線方向は、ユーザの目の位置移動の追跡、並びにHMD102の位置及び配向の追跡から、特定され得る。仮想環境のビューがHMD102上にレンダリングされると、仮想環境におけるユーザの仮想世界の視線方向を特定するために、ユーザの現実世界の視線方向が適用され得る。
【0162】
さらに、触覚フィードバックモジュール1426は、HMD102、またはインタフェースオブジェクト104などのユーザが操作する別のデバイスのいずれかに含まれる触覚フィードバックハードウェアに対し、信号を提供するように構成される。触覚フィードバックは、振動フィードバック、温度フィードバック、圧力フィードバックなど、様々な種類の触感覚の形態を取り得る。インタフェースオブジェクト104は、このような形態の触覚フィードバックをレンダリングする対応ハードウェアを含み得る。
【0163】
図15を参照すると、本開示の一実施態様による、ヘッドマウントディスプレイ102の構成要素を例示する図が示される。ヘッドマウントディスプレイ102は、プログラム命令を実行するプロセッサ1500を含む。メモリ1502は、記憶目的で提供され、揮発性及び不揮発性メモリの両方を含み得る。ユーザが見得る視覚インタフェースを提供するディスプレイ1504が含まれる。バッテリ1506は、ヘッドマウントディスプレイ102の電源として提供される。動作検出モジュール1508は、磁力計1510、加速度計1512、及びジャイロスコープ1514などの様々な種類の動作感知ハードウェアのうちのいずれかを含み得る。
【0164】
加速度計は、加速及び重力誘起反力を測定するデバイスである。様々な方向の加速の大きさ及び方向を検出するために、単一軸モデル及び複数軸モデルが利用可能である。加速度計を使用して、傾き、振動、及び衝撃が感知される。一実施態様では、3つの加速度計1512を使用して重力の方向が提供され、これは2つの角(世界空間ピッチ及び世界空間ロール)の絶対基準を与える。
【0165】
磁力計は、ヘッドマウントディスプレイ付近の磁場の強度及び方向を測定する。一実施態様では、3つの磁力計1510がヘッドマウントディスプレイ内で使用され、世界空間ヨー角の絶対基準を確保する。一実施態様では、磁力計は、±80マイクロステラの地磁場範囲を有するように設計される。磁力計は、金属の影響を受けるが、実際のヨーによる単調なヨー測定を提供する。磁場は環境内の金属により歪むことがあり、これによりヨー測定に歪みが生じる。必要に応じて、この歪みは、ジャイロスコープまたはカメラなどの他のセンサからの情報を用いて、較正することができる。一実施態様では、加速度計1512を磁力計1510と共に使用して、ヘッドマウントディスプレイ102の傾き及び方位が取得される。
【0166】
いくつかの実施態様では、ヘッドマウントディスプレイの磁力計は、他の近くのデバイス内の電磁石が作動していない時に読み出されるように構成される。
【0167】
ジャイロスコープは、角運動量の原理に基づいて、配向を測定または維持するためのデバイスである。一実施態様では、3つのジャイロスコープ1514が、慣性感知に基づいて、それぞれの軸(x、y、及びz)にわたる動きに関する情報を提供する。ジャイロスコープは、高速回転の検出に役立つ。しかし、ジャイロスコープは、絶対基準が存在しないと、時間と共に浮動し得る。このため、定期的にジャイロスコープを再設定する必要があり、再設定は、オブジェクトの視覚追跡、加速度計、磁力計などに基づく位置/配向特定といった、他の利用可能な情報を用いて行われ得る。
【0168】
実環境の画像及び画像ストリームを取り込むために、カメラ1516が提供される。後面カメラ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ている時にユーザから離れる方向を向くカメラ)と、前面カメラ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ている時にユーザ側を向くカメラ)とを含む複数のカメラが、ヘッドマウントディスプレイ102に含まれ得る。さらに、実環境内のオブジェクトの深度情報を感知するために、深度カメラ1518がヘッドマウントディスプレイ102に含まれ得る。
【0169】
ヘッドマウントディスプレイ102は、音声出力を提供するスピーカ1520を含む。また、周辺環境からの音、ユーザによる発言などを含む実環境からの音声を取り込むために、マイクロホン1522が含まれ得る。ヘッドマウントディスプレイ102は、ユーザに触覚フィードバックを提供する触覚フィードバックモジュール1524を含む。一実施態様では、触覚フィードバックモジュール1524は、ユーザに触覚フィードバックを提供するために、ヘッドマウントディスプレイ102の動き及び/または振動を引き起こすことが可能である。
【0170】
LED1526は、ヘッドマウントディスプレイ102の状態の視覚的インジケータとして提供される。例えば、LEDは、バッテリレベル、電源オン状態などを示し得る。ヘッドマウントディスプレイ102がメモリカードからの情報を読み出し、メモリカードに情報を書き込むことを可能にするために、カードリーダ1528が提供される。周辺デバイスの接続、または他のポータブルデバイス、コンピュータなどの他のデバイスへの接続を可能にするインタフェースの一例として、USBインタフェース1530が含まれる。ヘッドマウントディスプレイ102の様々な実施態様では、ヘッドマウントディスプレイ102のより良い接続性を可能にするために、様々な種類のインタフェースのうちのいずれかが含まれ得る。
【0171】
無線ネットワーク技術を介してインターネットまたはローカルエリアネットワークへの接続を可能にするために、WiFi(登録商標)モジュール1532が含まれる。また、他のデバイスへの無線接続を可能にするために、ヘッドマウントディスプレイ102は、ブルートゥース(登録商標)モジュール1534を含む。他のデバイスへの接続のために、通信リンク1536も含まれ得る。一実施態様では、通信リンク1536は、無線通信に赤外線伝送を利用する。別の実施態様では、通信リンク1536は、他のデバイスと通信するために、様々な無線または有線伝送プロトコルのうちのいずれかを利用し得る。
【0172】
ユーザに入力インタフェースを提供するために、入力ボタン/センサ1538が含まれる。ボタン、タッチパッド、ジョイスティック、トラックボールなどの様々な種類の入力インタフェースのうちのいずれかが含まれ得る。超音波技術を介した他のデバイスとの通信を促進するために、超音波通信モジュール1540が、ヘッドマウントディスプレイ102に含まれ得る。
【0173】
ユーザからの生理学的データの検出を可能にするために、生体センサ1542が含まれる。一実施態様では、生体センサ1542は、ユーザの皮膚を通してユーザの生体電気信号を検出する1つ以上の乾電極を含む。
【0174】
映像入力1544は、HMD上のレンダリングのために、1次処理コンピュータ(例えば主要ゲーム機)からの映像信号を受信するように構成される。いくつかの実施態様では、映像入力はHDMI(登録商標)入力である。
【0175】
ヘッドマウントディスプレイ102の前述の構成要素は、ヘッドマウントディスプレイ102に含まれ得る単なる例示的な構成要素として説明されている。本開示の様々な実施態様では、ヘッドマウントディスプレイ102は、前述の様々な構成要素のうちのいくつかを含んでもよく、含まなくてもよい。本明細書において説明される本開示の態様を簡易にするために、ここでは記述されていないが当技術分野では既知の他の構成要素が、ヘッドマウントディスプレイ102の実施態様に、さらに含まれ得る。
【0176】
図16は、本開示の様々な実施態様による、ゲームシステム1600のブロック図である。ゲームシステム1600は、1つ以上のクライアント1610に対し、ネットワーク1615を介して映像ストリームを提供するように構成される。ゲームシステム1600は通常、映像サーバシステム1620と、任意のゲームサーバ1625とを含む。映像サーバシステム1620は、1つ以上のクライアント1610に対し、最低限のサービス品質の映像ストリームを提供するように構成される。例えば、映像サーバシステム1620は、ビデオゲームの状態またはビデオゲーム内の視点を変更するゲームコマンドを受信し、この状態変更を反映した更新済映像ストリームを、最小の遅延時間でクライアント1610に提供し得る。映像サーバシステム1620は、映像ストリームを、まだ定義されていないフォーマットを含む多種多様な代替的映像フォーマットで提供するように構成され得る。さらに、映像ストリームは、多種多様なフレームレートでユーザに提示されるように構成された映像フレームを含み得る。通常のフレームレートは、毎秒30フレーム、毎秒60フレーム、及び毎秒120フレームである。しかし、本開示の代替的な実施態様には、より高いまたはより低いフレームレートが含まれる。
【0177】
本明細書で個別に1610A、1610Bなどと称されるクライアント1610には、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲーム機、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、及び/またはハンドヘルドゲームプレイデバイスなどが含まれ得る。通常、クライアント1610は、符号化された映像ストリームを受信し、映像ストリームを復号化し、結果得られる映像をユーザ、例えばゲームのプレーヤに提示するように構成される。符号化された映像ストリームを受信する及び/または映像ストリームを復号化するプロセスは通常、クライアントの受信バッファに個々の映像フレームを記憶することを含む。映像ストリームは、クライアント1610に統合されたディスプレイ上、またはモニタもしくはテレビなどの別個のデバイス上で、ユーザに提示され得る。クライアント1610は任意で、複数のゲームプレーヤを支援するように構成される。例えば、ゲーム機は、2人、3人、4人以上の同時プレーヤを支援するように構成され得る。これらのプレーヤのそれぞれは、別個の映像ストリームを受信し得る、または単一の映像ストリームは、各プレーヤのために特別に生成された、例えば各プレーヤの視点に基づいて生成されたフレームの領域を含み得る。クライアント1610は、任意で地理的に分散される。ゲームシステム1600に含まれるクライアントの数は、1つまたは2つから、数千、数万以上まで、大幅に異なり得る。本明細書で使用される用語「ゲームプレーヤ」は、ゲームをプレイする人を指すために用いられ、用語「ゲームプレイデバイス」は、ゲームをプレイするために使用するデバイスを指すために用いられる。いくつかの実施態様では、ゲームプレイデバイスは、ユーザにゲーム体験を届けるために協働する複数のコンピューティングデバイスを指し得る。例えば、ゲーム機及びHMDは、映像サーバシステム1620と協働して、HMDを通して見るゲームを配信し得る。一実施態様では、ゲーム機は、映像サーバシステム1620から映像ストリームを受信し、ゲーム機は、映像ストリームまたは映像ストリームへの更新を、レンダリングのためにHMDへ転送する。
【0178】
クライアント1610は、ネットワーク1615を介して映像ストリームを受信するように構成される。ネットワーク1615は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/またはプライベートネットワークなどを含む任意の種類の通信ネットワークであり得る。典型的な実施態様では、映像ストリームは、TCP/IPまたはUDP/IPなどの標準プロトコルを介して通信される。あるいは、映像ストリームは、独自の規格を介して通信される。
【0179】
クライアント1610の典型的な例には、プロセッサと、不揮発性メモリと、ディスプレイと、復号化ロジックと、ネットワーク通信能力と、入力デバイスとを備えるパーソナルコンピュータが挙げられる。復号化ロジックには、コンピュータ可読媒体に格納されたハードウェア、ファームウェア、及び/またはソフトウェアが含まれ得る。映像ストリームを復号化(及び符号化)するシステムは、当技術分野で周知のものであり、使用される特定の符号化スキームに応じて異なる。
【0180】
クライアント1610は、必須ではないが、受信した映像を修正するように構成されたシステムを、さらに含み得る。例えば、クライアントは、1つの映像の別の映像へのオーバーレイ、及び/または映像の切り取りなどを行うため、さらなるレンダリングを実行するように構成され得る。例えば、クライアント1610は、Iフレーム、Pフレーム、及びBフレームなどの様々な種類の映像フレームを受信し、これらのフレームを処理して、ユーザに表示するための画像にするように構成され得る。いくつかの実施態様では、クライアント1610の構成員は、映像ストリームに対し、さらなるレンダリング、シェーディング、または3D変換などの動作を行うように構成される。クライアント1610の構成員は任意で、複数の音声ストリームまたは映像ストリームを受信するように構成される。クライアント1610の入力デバイスには、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動作及び/または位置感知デバイス、マウス、タッチスクリーン、神経インタフェース、カメラ、並びに/あるいは開発中の入力デバイスなどが、含まれ得る。
【0181】
クライアント1610が受信する映像ストリーム(及び任意で音声ストリーム)は、映像サーバシステム1620により生成及び提供される。本明細書の別の箇所でさらに説明されるように、この映像ストリームは、映像フレームを含む(及び音声ストリームは音声フレームを含む)。映像フレームは、ユーザに表示する画像に有意義に寄与するように構成される(例えば映像フレームは、好適なデータ構造の画素情報を含む)。本明細書において使用される用語「映像フレーム」は、ユーザに示される画像に寄与する、例えば作用するように構成された情報を主に含むフレームを指すために使用される。「映像フレーム」に関する本明細書の教示のほとんどは、「音声フレーム」にも適用することができる。
【0182】
クライアント1610は通常、ユーザからの入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更する、あるいはゲームプレイに作用するように構成されたゲームコマンドを含み得る。ゲームコマンドは、入力デバイスを用いて受信することができ、及び/またはクライアント1610上で実行されるコンピューティング命令により自動的に生成され得る。受信されたゲームコマンドは、ネットワーク1615を介してクライアント1610から、映像サーバシステム1620及び/またはゲームサーバ1625へ通信される。例えば、いくつかの実施態様では、ゲームコマンドは、映像サーバシステム1620を介してゲームサーバ1625へ通信される。いくつかの実施態様では、クライアント1610から、ゲームコマンドの別個の複製が、ゲームサーバ1625及び映像サーバシステム1620へ通信される。ゲームコマンドの通信は、任意でコマンドの識別に依存する。ゲームコマンドは任意で、クライアント1610Aに音声ストリームまたは映像ストリームを提供するために使用される経路または通信チャネルとは異なる経路または通信チャネルを通して、クライアント1610Aから通信される。
【0183】
ゲームサーバ1625は任意で、映像サーバシステム1620とは異なるエンティティにより運用される。例えば、ゲームサーバ1625は、マルチプレーヤゲームのパブリッシャーにより運用され得る。この例では、映像サーバシステム1620は、任意でゲームサーバ1625によりクライアントとして見られ、任意でゲームサーバ1625の観点から、従来技術のゲームエンジンを実行する従来技術のクライアントに見えるように構成される。映像サーバシステム1620とゲームサーバ1625との間の通信は、任意でネットワーク1615を介して行われる。よって、ゲームサーバ1625は、映像サーバシステム1620を含む複数のクライアントにゲーム状態情報を送信する従来技術のマルチプレーヤゲームサーバであり得る。映像サーバシステム1620は、ゲームサーバ1625の複数のインスタンスと同時に通信するように構成され得る。例えば、映像サーバシステム1620は、異なるユーザに複数の異なるビデオゲームを提供するように構成され得る。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ1625により支援され得る、及び/または異なるエンティティにより発行され得る。いくつかの実施態様では、映像サーバシステム1620のいくつかの地理的に分散されたインスタンスは、複数の異なるユーザにゲーム映像を提供するように構成される。映像サーバシステム1620のこれらのインスタンスのそれぞれは、ゲームサーバ1625の同じインスタンスと通信し得る。映像サーバシステム1620と1つ以上のゲームサーバ1625との間の通信は、任意で専用通信チャネルを介して行われる。例えば、映像サーバシステム1620は、ゲームサーバ1625に対し、これらの2つのシステム間の通信専用である高帯域幅チャネルを介して接続され得る。
【0184】
映像サーバシステム1620は少なくとも、映像源1630と、I/Oデバイス1645と、プロセッサ1650と、非一時的ストレージ1655とを備える。映像サーバシステム1620は、1つのコンピューティングデバイスを含み得る、または複数のコンピューティングデバイスに分散され得る。これらのコンピューティングデバイスは任意で、ローカルエリアネットワークなどの通信システムを介して接続される。
【0185】
映像源1630は、例えば動画を形成するストリーミング映像または一連の映像フレームといった映像ストリームを提供するように構成される。いくつかの実施態様では、映像源1630は、ビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、プレーヤからゲームコマンドを受信し、受信したコマンドに基づいてビデオゲームの状態の複製を保持するように構成される。このゲーム状態は、ゲーム環境内のオブジェクトの位置、並びに通常では視点を含む。ゲーム状態はまた、プロパティ、画像、色、及び/またはオブジェクトの質感も含み得る。ゲーム状態は通常、ゲーム規則、並びに移動、方向転換、攻撃、焦点の設定、インタラクション、及び/または使用などのゲームコマンドに基づいて、維持される。ゲームエンジンの一部は任意で、ゲームサーバ1625内に配置される。ゲームサーバ1625は、地理的分散クライアントを用いて複数のプレーヤから受信したゲームコマンドに基づいて、ゲームの状態の複製を保持し得る。これらの事例では、ゲーム状態はゲームサーバ1625により映像源1630に提供され、ゲーム状態の複製が記憶され、レンダリングが行われる。ゲームサーバ1625は、ネットワーク1615を介して直接クライアント1610からゲームコマンドを受信してもよく、及び/または映像サーバシステム1620を介してゲームコマンドを受信してもよい。
【0186】
映像源1630は通常、例えばストレージ1655などのコンピュータ可読媒体に格納されたハードウェア、ファームウェア、及び/またはソフトウェアといったレンダリングロジックを含む。このレンダリングロジックは、ゲーム状態に基づいて、映像ストリームの映像フレームを作成するように構成される。レンダリングロジックの全てまたは一部は任意で、グラフィック処理ユニット(GPU)内に配置される。レンダリングロジックは通常、ゲーム状態及び視点に基づいて、オブジェクト間の3次元空間関係を特定するように、及び/または好適な質感などを適用するように構成された処理段階を含む。レンダリングロジックは、未加工映像を生成し、未加工映像は通常、クライアント1610へ通信する前に符号化される。例えば、未加工映像は、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が含まれるが、任意の他のフレームサイズも使用されてもよい。フレームレートは、1秒あたりの映像フレームの数である。映像ストリームは、様々な種類の映像フレームを含み得る。例えば、H.264規格は、「P」フレーム及び「I」フレームを含む。Iフレームは、ディスプレイデバイス上の全てのマクロブロック/画素を更新する情報を含み、一方、Pフレームは、その部分集合を更新する情報を含む。Pフレームは通常、Iフレームよりデータサイズが小さい。本明細書において使用される用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するのに必要なバイト数を指すために使用される。
【0187】
代替的な実施態様では、映像源1630は、カメラなどの映像記録デバイスを含む。このカメラを使用して、コンピュータゲームの映像ストリームに含めることができる遅延映像またはライブ映像が生成され得る。結果得られる映像ストリームには、レンダリングされた画像と、静止画カメラまたは動画カメラを使用して記録された画像との両方が任意で含まれる。映像源1630はまた、映像ストリームに含めるため事前に記録した映像を記憶するように構成されたストレージデバイスも含み得る。映像源1630はまた、例えば人といったオブジェクトの動作または位置を検出するように構成された動作または位置感知デバイスと、検出された動作及び/または位置に基づいてゲーム状態の特定または映像の生成を行うように構成されたロジックとを含み得る。
【0188】
映像源1630は任意で、他の映像上に配置されるように構成されたオーバーレイを提供するように構成される。例えば、これらのオーバーレイには、コマンドインタフェース、ログイン指示、ゲームプレーヤへのメッセージ、他のゲームプレーヤの画像、他のゲームプレーヤの映像配信(例えばウェブカメラ映像)が含まれ得る。タッチスクリーンインタフェースまたは視線検出インタフェースを含むクライアント1610Aの実施態様では、オーバーレイには、仮想キーボード、ジョイスティック、及び/またはタッチパッドなどが含まれ得る。オーバーレイの一例では、プレーヤの声が音声ストリームにオーバーレイされる。映像源1630は任意で、1つ以上の音声源をさらに含む。
【0189】
映像サーバシステム1620が複数のプレーヤからの入力に基づいてゲーム状態を維持するように構成された実施態様では、ビューの位置及び方向を含む視点は、各プレーヤで異なり得る。映像源1630は任意で、各プレーヤの視点に基づいて、別個の映像ストリームを各プレーヤに提供するように構成される。さらに、映像源1630は、クライアント1610のそれぞれに、異なるフレームサイズ、フレームデータサイズ、及び/または符号化を提供するように構成され得る。映像源1630は任意で、3D映像を提供するように構成される。
【0190】
I/Oデバイス1645は、映像サーバシステム1620のために、映像、コマンド、情報要求、ゲーム状態、視線情報、デバイス動作、デバイス位置、ユーザ動作、クライアント識別、プレーヤ識別、ゲームコマンド、セキュリティ情報、及び/または音声などの情報を、送信及び/または受信するように構成される。I/Oデバイス1645は通常、ネットワークカードまたはモデムなどの通信ハードウェアを含む。I/Oデバイス1645は、ゲームサーバ1625、ネットワーク1615、及び/またはクライアント1610と通信するように構成される。
【0191】
プロセッサ1650は、本明細書で論述される映像サーバシステム1620の様々な構成要素内に含まれるロジック、例えばソフトウェアを実行するように構成される。例えば、プロセッサ1650は、映像源1630、ゲームサーバ1625、及び/またはクライアントクオリファイア1660の機能を実行するように、ソフトウェア命令でプログラムされ得る。映像サーバシステム1620は任意で、プロセッサ1650の複数のインスタンスを含む。プロセッサ1650はまた、映像サーバシステム1620が受信したコマンドを実行するように、または本明細書において論述されるゲームシステム1600の様々な要素の動作を調整するように、ソフトウェア命令でプログラムされ得る。プロセッサ1650は、1つ以上のハードウェアデバイスを含み得る。プロセッサ1650は、電子プロセッサである。
【0192】
ストレージ1655は、非一時的アナログ及び/またはデジタルストレージデバイスを含む。例えば、ストレージ1655は、映像フレームを記憶するように構成されたアナログストレージデバイスを含み得る。ストレージ1655は、例えばハードドライブ、光学ドライブ、またはソリッドステートストレージといったコンピュータ可読デジタルストレージを含み得る。ストレージ1655は、映像フレーム、人工フレーム、映像フレームと人工フレームの両方を含む映像ストリーム、音声フレーム、及び/または音声ストリームなどを記憶するように構成される(例えば好適なデータ構造またはファイルシステムにより)。ストレージ1655は任意で、複数のデバイスに分散される。いくつかの実施態様では、ストレージ1655は、本明細書の別の箇所で論述される映像源1630のソフトウェア構成要素を格納するように構成される。これらの構成要素は、必要時にすぐに提供できる形式で格納され得る。
【0193】
映像サーバシステム1620は任意で、クライアントクオリファイア1660をさらに備える。クライアントクオリファイア1660は、クライアント1610Aまたは1610Bなどのクライアントの能力をリモートで特定するように構成される。これらの能力には、クライアント1610A自体の能力、並びにクライアント1610Aと映像サーバシステム1620との間の1つ以上の通信チャネルの能力の両方が含まれ得る。例えば、クライアントクオリファイア1660は、ネットワーク1615を通して、通信チャネルをテストするように構成され得る。
【0194】
クライアントクオリファイア1660は、手動または自動で、クライアント1610Aの能力を特定(例えば発見)し得る。手動特定は、クライアント1610Aのユーザと通信して、ユーザに能力を提供するように依頼することを含む。例えば、いくつかの実施態様では、クライアントクオリファイア1660は、クライアント1610Aのブラウザ内に画像及び/またはテキストなどを表示するように構成される。一実施態様では、クライアント1610Aは、ブラウザを含むHMDである。別の実施態様では、クライアント1610Aは、HMD上に表示され得るブラウザを有するゲーム機である。表示されるオブジェクトは、ユーザに、クライアント1610Aのオペレーティングシステム、プロセッサ、映像デコーダの種類、ネットワーク接続の種類、ディスプレイの解像度などの情報を入力するように要求する。ユーザにより入力された情報は、クライアントクオリファイア1660へ返信される。
【0195】
自動特定は、例えば、クライアント1610A上でエージェントを実行することにより、及び/またはクライアント1610Aにテスト映像を送信することにより、行われ得る。エージェントは、ウェブページに埋め込まれた、またはアドオンとしてインストールされたジャバスクリプトなどのコンピューティング命令を備え得る。エージェントは任意で、クライアントクオリファイア1660により提供される。様々な実施態様では、エージェントは、クライアント1610Aの処理能力、クライアント1610Aの復号化及び表示能力、クライアント1610Aと映像サーバシステム1620との間の通信チャネルの遅延時間信頼性及び帯域幅、クライアント1610Aのディスプレイの種類、クライアント1610A上に存在するファイアウォール、クライアント1610Aのハードウェア、クライアント1610A上で実行されるソフトウェア、及び/またはクライアント1610A内のレジストリエントリなどを、見つけ出すことができる。
【0196】
クライアントクオリファイア1660は、コンピュータ可読媒体に格納されたハードウェア、ファームウェア、及び/またはソフトウェアを含む。クライアントクオリファイア1660は任意で、映像サーバシステム1620の他の1つ以上の要素とは別個のコンピューティングデバイス上に配置される。例えば、いくつかの実施態様では、クライアントクオリファイア1660は、クライアント1610と映像サーバシステム1620の複数のインスタンスとの間の通信チャネルの特性を特定するように構成される。これらの実施態様では、クライアントクオリファイアが発見した情報を使用して、クライアント1610のうちの1つにストリーミング映像を配信するのに最も好適な映像サーバシステム1620のインスタンスが特定され得る。
【0197】
本開示の実施態様は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのもしくはプログラム可能な一般消費者向け電化製品、小型コンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成により実施され得る。本開示はまた、有線ベースネットワークまたは無線ネットワークを通してリンクされるリモート処理デバイスによりタスクが行われる分散コンピューティング環境においても、実施することができる。
【0198】
前述の実施態様を念頭に、本開示は、コンピュータシステムに記憶されるデータを伴う様々なコンピュータ実施動作を使用し得ることを理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示の一部を形成する、本明細書で説明される動作のいずれも、有用な機械動作である。本開示はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築され得る、あるいは装置は、コンピュータに記憶されたコンピュータプログラムにより選択的に有効化または構成される汎用コンピュータであり得る。具体的には、様々な汎用機械を、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができる、あるいは、必要な動作を実行するためにさらに特化した装置を構築するほうがより便利であり得る。
【0199】
本開示はまた、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化することができる。コンピュータ可読媒体は、後でコンピュータシステムにより読み出され得るデータを記憶可能な任意のデータストレージデバイスである。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データストレージデバイスが挙げられる。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で記憶及び実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。
【0200】
方法動作は特定の順序で説明されたが、オーバーレイ動作の処理が所望のやり方で実行される限り、動作の合間に他の維持管理動作が実行されてもよく、または動作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に動作を分散することで、様々な処理関連間隔で処理動作が起こることを可能にしてもよいことを、理解されたい。
【0201】
前述の開示は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかである。従って、本実施態様は、限定ではなく例示としてみなされるべきであり、本開示は、本明細書において提供される詳細に限定されるべきではなく、本開示の範囲内及び均等物内で変更されてもよい。
【手続補正書】
【提出日】2021-12-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザの手で保持されるように構成された本筐体と、
前記本筐体の第1の端部から前記本筐体の第2の端部に延びたバンドと、
前記本筐体に沿って配置された複数の近接センサと、を備え、
前記近接センサは、前記ユーザの手の指が実質的に伸びている場合に、前記ユーザの手の指の近位端部に近くなるように、配置されている、
コントローラデバイス。
【請求項2】
前記近接センサは、所定の指の伸展量が増加する場合に、対応する近接センサへの前記所定の指の近接度が減少し、前記所定の指の屈曲量が増加する場合に、前記対応する近接センサへの前記所定の指の近接度が増加するように、配置されている、
請求項1に記載のコントローラデバイス。
【請求項3】
前記複数の近接センサは、前記ユーザの手の指の屈曲または伸展の平面に実質的に沿って整列するように、配置されている、
請求項1に記載のコントローラデバイス。
【請求項4】
前記複数の近接センサは、前記ユーザの手の人差し指の屈曲または伸展の検知に割り当てられた第1の近接センサを含む、
請求項1に記載のコントローラデバイス。
【請求項5】
前記複数の近接センサは、前記ユーザの手の中指の屈曲または伸展の検知に割り当てられた第2の近接センサを含む、
請求項4に記載のコントローラデバイス。
【請求項6】
前記本筐体の前記第1の端部に配置された親指近接センサを、さらに備え、
前記親指近接センサは、前記ユーザの手の親指の近接を検知するように構成されている、
請求項1に記載のコントローラデバイス。
【請求項7】
前記バンドに沿って配置された複数の放射体を、さらに備え、
前記放射体は、前記コントローラデバイスが配置されているローカル環境の撮影画像内で認識されるように構成されており、
前記認識は、前記ローカル環境内の前記コントローラデバイスの位置または向きを特定するために処理される、
請求項1に記載のコントローラデバイス。
【請求項8】
前記複数の放射体は、可視光線または赤外線を発するように構成されている、
請求項7に記載のコントローラデバイス。
【請求項9】
前記本筐体に沿って配置された少なくとも1つのトリガを、さらに備え、
少なくとも1つの前記近接センサは、前記少なくとも1つのトリガに配置されている、
請求項1に記載のコントローラデバイス。
【請求項10】
前記少なくとも1つのトリガは、前記ユーザの手の人差し指によって操作されるように構成された第1のトリガと、前記ユーザの手の中指によって操作されるように構成された第2のトリガとを含む、
請求項9に記載のコントローラデバイス。
【請求項11】
ユーザの手で保持されるように構成された本筐体と、
前記本筐体の第1の端部から前記本筐体の第2の端部に延びたバンドと、
前記本筐体に沿って配置された第1の近接センサの組と、
前記バンドに沿って配置された第2の近接センサの組と、を備え、
前記第1の近接センサの組は、前記ユーザの指が実質的に伸びている場合に、前記ユーザの手の指の近位端部に近くなるように、配置されており、
前記第2の近接センサの組は、前記ユーザの指が実質的に伸びている場合に、前記ユーザの手の前記指の遠位端部に近くなるように、前記バンドによって配置されている、
コントローラデバイス。
【請求項12】
前記第1および第2の近接センサの組は、前記ユーザの手の前記指の屈曲または伸展の平面に実質的に沿って整列するように、配置されている、
請求項11に記載のコントローラデバイス。
【請求項13】
前記第1および第2の近接センサユニットの組は、前記ユーザの手の人差し指の屈曲または伸展の検知に割り当てられた第1の近接センサの対を画定する、
請求項11に記載のコントローラデバイス。
【請求項14】
前記第1および第2の近接センサユニットの組は、前記ユーザの手の中指の屈曲または伸展の検知に割り当てられた第2の近接センサの対を画定する、
請求項13に記載のコントローラデバイス。
【請求項15】
前記本筐体の前記第1の端部に配置された親指近接センサを、さらに備え、
前記親指近接センサは、前記ユーザの手の親指の近接を検知するように構成されている、
請求項11に記載のコントローラデバイス。
【請求項16】
前記バンドに沿って配置された複数の放射体を、さらに備え、
前記放射体は、前記コントローラデバイスが配置されているローカル環境の撮影画像内で認識されるように構成されており、
前記認識は、前記ローカル環境内の前記コントローラデバイスの位置または向きを特定するために処理される、
請求項11に記載のコントローラデバイス。
【請求項17】
前記複数の放射体は、可視光線または赤外線を発するように構成されている、
請求項16に記載のコントローラデバイス。
【請求項18】
前記本筐体に沿って配置された少なくとも1つのトリガを、さらに備え、
少なくとも1つの前記第1の近接センサの組は、前記少なくとも1つのトリガに配置されている、
請求項11に記載のコントローラデバイス。
【請求項19】
前記少なくとも1つのトリガは、前記ユーザの手の人差し指によって操作されるように構成された第1のトリガと、前記ユーザの手の中指によって操作されるように構成された第2のトリガとを含む、
請求項18に記載のコントローラデバイス。