(58)【調査した分野】(Int.Cl.,DB名)
前記仮想オブジェクトのコンテンツが前記人に無関係である、請求項1に記載のヘッドマウントディスプレイによって表示される仮想オブジェクトを位置決めするための方法。
前記仮想オブジェクトが前記人の前記顔の上に重ね合わされるように前記仮想オブジェクトを表示するステップの後に、しきい値時間期間の後に第2の人の第2の顔の上に重ね合わされるように前記仮想オブジェクトを再配置するステップ
をさらに含む、請求項1に記載のヘッドマウントディスプレイによって表示される仮想オブジェクトを位置決めするための方法。
前記仮想オブジェクトが前記人の前記顔の上に重ね合わされるように前記仮想オブジェクトを表示するステップの後に、ユーザがしきい値角度よりも高く見上げていると判定するステップと、
前記ユーザが前記しきい値角度よりも高く見上げていると判定するステップに応答して、前記仮想オブジェクトが前記人の前記顔の上に重ね合わされないように前記仮想オブジェクトを再配置するステップと
をさらに含む、請求項1に記載のヘッドマウントディスプレイによって表示される仮想オブジェクトを位置決めするための方法。
前記仮想オブジェクトが前記ヘッドマウントディスプレイのユーザにのみ可視となるように、前記仮想オブジェクトが前記ヘッドマウントディスプレイによって提示される、請求項1に記載のヘッドマウントディスプレイによって表示される仮想オブジェクトを位置決めするための方法。
前記人の前記顔と前記仮想オブジェクトとが前記ヘッドマウントディスプレイのユーザに同時に可視となるように前記仮想オブジェクトが透過的になる、請求項1に記載のヘッドマウントディスプレイによって表示される仮想オブジェクトを位置決めするための方法。
前記仮想オブジェクトが前記ヘッドマウントディスプレイのユーザにのみ可視となるように、前記仮想オブジェクトが前記ヘッドマウントディスプレイによって提示される、請求項9に記載のシステム。
前記人の前記顔と前記仮想オブジェクトとが前記ヘッドマウントディスプレイのユーザに同時に可視となるように前記仮想オブジェクトが透過的になる、請求項9に記載のシステム。
ヘッドマウントディスプレイによって表示される仮想オブジェクトを位置決めするための、非一時的プロセッサ可読記録媒体上に常駐するコンピュータプログラムであって、プロセッサに、
複数の人のための人ランキングのセットを受け取ることと、
複数の仮想オブジェクトのための仮想オブジェクトランキングのセットをユーザから受け取ることと、
現実世界の場面内の人の顔の位置を判定することと、
前記人の一意な識別情報を判定することと、
前記現実世界内の前記人の相対的なランキングを、前記人の前記一意な識別情報と前記人ランキングのセットに基づいて決定することであって、前記相対的なランキングは前記現実世界の場面内の他の人に対して相対的である、決定することと、
前記人の前記相対的なランキングと仮想オブジェクトランキングの前記セットの両方に基づいて前記複数の仮想オブジェクトの中から仮想オブジェクトを選択することであって、前記選択された仮想オブジェクトのランクは前記人の相対的なランキングと相関する、選択することと、
前記ヘッドマウントディスプレイを介して、前記仮想オブジェクトが前記人の前記顔の上に重ね合わされるように前記仮想オブジェクトを表示させることと
を行わせるように構成されたプロセッサ可読命令を含むコンピュータプログラム。
前記仮想オブジェクトが前記ヘッドマウントディスプレイのユーザにのみ可視となるように、前記仮想オブジェクトが前記ヘッドマウントディスプレイによって提示される、請求項17に記載のコンピュータプログラム。
前記人の前記顔と前記仮想オブジェクトとが前記ヘッドマウントディスプレイのユーザに同時に可視となるように前記仮想オブジェクトが透過的になる、請求項17に記載のコンピュータプログラム。
しきい値時間期間の後に第2の人の第2の顔の上に重ね合わされるように前記仮想オブジェクトを再配置するための手段であって、再配置することは、前記仮想オブジェクトが前記人の前記顔の上に重ね合わされるように前記仮想オブジェクトを表示した後に行われる、再配置するための手段
をさらに含む、請求項25に記載の装置。
ユーザがしきい値角度よりも高く見上げていると判定するための手段であって、判定することは、前記仮想オブジェクトが前記人の前記顔の上に重ね合わされるように前記仮想オブジェクトを表示した後に行われる、判定するための手段と、
前記仮想オブジェクトが前記人の前記顔の上に重ね合わされないように前記仮想オブジェクトを再配置するための手段であって、再配置することは、前記ユーザが前記しきい値角度よりも高く見上げていると判定することに応答して行われる、再配置するための手段と
をさらに含む、請求項25に記載の装置。
【発明を実施するための形態】
【0014】
ユーザによって閲覧されている場面の上に情報を重ね合わせるために、拡張現実眼鏡などの拡張現実(AR)デバイスの一部であり得るヘッドマウントディスプレイ(HMD)が使用され得る。HMDを装着しておりかつARデバイスを使用しているユーザは、他の人および物体など、現実世界のオブジェクトを含んでいる場面を閲覧し得る。ARデバイスは、場面に関する情報をキャプチャし、場面内の現実世界のオブジェクトに少なくとも部分的に基づいて、ユーザに仮想オブジェクトとして場面上に重ね合わされる情報を提示し得る。仮想オブジェクトは、ユーザのみが仮想オブジェクトを閲覧することができるような方法で提示され得、HMDによって提示される仮想オブジェクトを他の人が見ることが実質的に防がれ得る。したがって、ARデバイスを使用する間、ユーザは、ユーザだけが閲覧するための1つまたは複数の仮想オブジェクトで重ね合わされた現実世界の場面を閲覧し得る。これらの1つまたは複数の仮想オブジェクトと対話することは、仮想オブジェクトを読み取るかまたは場合によっては閲覧するためにユーザがユーザの眼を移動および/または合焦させることを伴い得る。
【0015】
ARデバイスのHMDによって場面の上に重ね合わされた仮想オブジェクトとユーザが対話していることは、通常、ユーザの眼、頭、手、および/または他の体移動に基づいて、ユーザの近傍にいる他の人に明らかになり得る。たとえば、ユーザが場面のつまらない部分(天井、床、または空の椅子など)を見ているように見える場合、HMDによってユーザに提示された仮想オブジェクトにユーザがユーザの注意を向けており、したがって、話をしている、現実世界の場面中に存在する人など、社会的に期待されているものにユーザがユーザの注意を向けていないことが、ユーザの近くにいる人にとって明らかになり得る。
【0016】
ユーザがソーシャル環境においてARデバイスを使用しているとき、ユーザは、近傍に存在する他の人と対話している(たとえば、他の人の話を聞いている、他の人を注視している)ように見えることを望み得る。ユーザが、1人または複数の他の人と対話しているように見えることを望む間に、ユーザは、ARデバイスのHMDを介してユーザに提示された1つまたは複数の仮想オブジェクトにユーザの注意のうちの少なくとも一部を向け得る。従来の構成では、1人または複数の他の人がユーザを見ている場合、ユーザが、現実世界の場面中に存在する人ではなく仮想オブジェクトにユーザの注意を向けているときはユーザの眼および/または顔の動きに基づいて明らかになり得る。たとえば、ユーザが仮想オブジェクトにユーザの注意を向けている間に、ユーザが、上、下、左、および右を間欠的に見つめ、関心がほとんどない現実世界のオブジェクト(たとえば、白地の壁または床)の方向を少なくとも時々見つめているように見え得る。さらに、前後に迅速に移動するなどのユーザの眼の動きは、ユーザが、仮想オブジェクトのテキストを読み取っているかまたは仮想オブジェクトと対話している可能性があることを他の人に明らかにし得る。
【0017】
ユーザが、外見上、仮想オブジェクトと対話しているように見えるのではなく、ユーザは、場面中の1人または複数の他の人と社会的に関わり合っているように見えることを望み得る。ユーザが室内の他の人と社会的に関わり合っているように見えるために、ユーザが、現在話をしている人など、室内の1人または複数の人を見ているように少なくとも見え得るように、ユーザと場面中に存在する1人または複数の他の人との間のアイコンタクト(または、少なくともアイコンタクトの外見)が有益であり得る。この外見を与えるために、ユーザが顔の上に重ね合わされた仮想オブジェクトを見ているとき、ユーザの注意が仮想オブジェクトに完全にまたは部分的に向けられているかどうかにかかわらず、ユーザが、室内の他の人と社会的に関わり合っているように見えるように、ARデバイスのHMDによってユーザに表示される仮想オブジェクトは、場面中に存在する人の顔(および/または頭)の上に重ね合わされ得る。
【0018】
人と仮想オブジェクトとにはランキングが割り当てられ得る。たとえば、人は、ユーザがどのくらい頻繁に人と対話する傾向があるのかまたはユーザが人と対話するのをどのくらい快適に感じるのかに従ってユーザによってランク付けされ得る。一例として、ユーザの妻は、最高位にランク付けされ得、ユーザの息子は、第2位にランク付けされ得、一方、ユーザの職場の上司は下位にランク付けされ得る。ユーザにHMDによって表示される仮想オブジェクトの場合、ユーザは、たとえば、ユーザの電子メールアカウントを最高位にランク付けし、ユーザのソーシャルメディアページを第2位にランク付けし得る。これらの人および仮想オブジェクトのランキングは、誰の顔がどの仮想オブジェクトで重ね合わされるかを判定するために使用され得る。たとえば、最高ランクの仮想オブジェクトは、場面中に存在する最高ランクの人の顔の上に重ね合わされるように提示され得る。
【0019】
前の例を参照すると、ユーザがユーザの息子だけと室内にいる場合、電子メールアカウントが最高ランキングを与えられており、息子が場面中に存在する最高ランクの人であるので、息子の顔がユーザの電子メールアカウントで重ね合わされ得る。しかしながら、ユーザの妻およびユーザの息子など、複数の人がユーザによって観測される場面中にいる場合、妻の顔がユーザの電子メールアカウントで重ね合わされ得、息子の顔がユーザのソーシャルメディアアカウントで重ね合わされ得る。妻または息子が、ユーザと話をしているかまたはユーザを見ている場合、ユーザが、人の顔の上に拡張現実デバイスによって重ね合わされた仮想オブジェクトにユーザの注意を少なくとも部分的に向けている間、ユーザは、妻または息子を見ていて、妻または息子と社会的に関わり合っているように見え得る。
【0020】
どの人の顔の上に仮想オブジェクトが重ね合わされるかを判定する仮想オブジェクトおよび人のランキングの使用に影響を及ぼすいくつかの条件が存在し得る。たとえば、最高ランクの仮想オブジェクトが話をしている人の顔の上に重ね合わされ得る。したがって、ユーザが、話をしている(典型的な会話中に変化することが予想され得る)誰かにユーザの注意を向ける場合、ユーザは、特定の仮想オブジェクトを見続けることができる。場面中に存在する他の顔の上に重ね合わされる仮想オブジェクトは、話をしている人の顔の上に重ね合わされている最も優先度の高い仮想オブジェクトに適応するために再割り当てされ得る。
【0021】
仮想オブジェクトが、現実世界の場面中の顔と同様の距離だけユーザから離れているように見えるように、仮想オブジェクトが人の顔の上に重ね合わされ得る。人が移動するにつれて、その人に関連する仮想オブジェクトがその人とともに移動し得る。人の顔または頭によるわずかなまたは急激な移動が仮想オブジェクトの移動を生じない(したがって、たとえば、仮想オブジェクトのテキストが読み取りやすくなる)ように、仮想オブジェクトは、単に部分的に人の顔にアンカリングされ得る。さらに、仮想オブジェクトは、ユーザの頭または眼がしきい値角度の範囲内で水平線と整合されるときに限り人の顔にアンカリングされたままであり得る。ユーザがはっきりと見上げるまたは見下げる場合、仮想オブジェクトは、人の顔からアンカリング解除され得、代わりに、空間中でフロートしているように見え得る。
【0022】
他の人々とともに場面中に存在する間、典型的な人は、(話をしていることも話をしていないこともある)人を比較的短い時間期間の間直接見る傾向があり得る。したがって、HMDを装着しているユーザが、落ち着かなくなるほど長い時間期間の間人を見つめているように見える可能性を低減するために、仮想オブジェクトは、場面の仮想視界内で位置をシフトし得る。たとえば、仮想オブジェクトは、様々な人の顔の上に重ね合わされるのをシフトし得る。いくつかの実施形態では、仮想オブジェクトは、場面中で話をしているどの人の顔または頭の上にも重ね合わされ得る。したがって、仮想オブジェクトが移動する間にユーザが仮想オブジェクトを見続ける場合、ユーザが話をしている人と関わり合っているように見える。いくつかの実施形態では、顔または頭が仮想オブジェクトでカバーされた人が現実世界の場面内を移動するかまたはそこを離れる場合、その人に関連する仮想オブジェクトは、現実世界の場面中で次に最も近い人に再配置され得る。
【0023】
いくつかの実施形態では、人の顔の上に重ね合わされた仮想オブジェクトは、ユーザとその人との間の対話を容易にし得る。たとえば、ユーザが聴覚障害者である場合、仮想オブジェクトは、その人が何を話したかを述べるテキストを含み得る。したがって、ユーザは、その人が何を述べたかを読み取りながら、その人とのアイコンタクトを維持しているように少なくとも見え得る。いくつかの実施形態では、人の外国語での話からユーザのネイティブ言語への翻訳を与えるために同様のテキストが使用され得る。話者とのアイコンタクトを維持しているように少なくとも見えるユーザの能力をさらに容易にするために、話者の眼を直接見ているように少なくとも見えながら話がユーザに読み取られ得るように、そのような表示されたテキストは、人の顔(より詳細には、人の眼)の上をスクロールされ得る。
【0024】
図1に、場面内に存在する人の顔の上にARデバイスのHMDによって表示される仮想オブジェクトを重ね合わせるように構成されたシステム100の一実施形態を示す。したがって、システム100は、ARデバイスの構成要素のうちの少なくともいくつかを表し得る。システム100は、画像キャプチャモジュール110と、顔識別および追跡モジュール120と、顔重ね合わせモジュール130と、通信モジュール140と、ユーザ選好モジュール150と、ユーザインターフェースモジュール160と、ディスプレイモジュール170とを含み得る。システム100の他の実施形態は、より少ない数またはより多い数の構成要素を含み得る。簡単のために、電源構成要素など、一般に知られている構成要素が
図1から省略されている。
【0025】
画像キャプチャモジュール110は、ユーザによって閲覧されている場面の画像を周期的にキャプチャするように構成され得る。たとえば、画像キャプチャモジュール110は、ユーザによって閲覧されている場面の視界をキャプチャするように位置決めされた画像キャプチャデバイスを含み得る。画像キャプチャモジュール110は、カメラを含み得る。カメラは、それがユーザによって閲覧される場面の画像をキャプチャするようにポイントされ得る。画像キャプチャモジュール110は、画像を迅速にキャプチャし得る。たとえば、画像キャプチャモジュール110によって1秒ごとに複数のフレームがキャプチャされ得る。これらの画像の一部または全部は、人およびそれらの識別情報など、現実世界の場面内の様々なオブジェクトの位置を判定するために処理され得る。
【0026】
画像キャプチャモジュール110によってキャプチャされた画像は、顔識別および追跡モジュール120にパスされ得る。顔識別および追跡モジュール120は、画像キャプチャモジュール110から受け取った画像内に存在する各顔の位置を最初に特定し得る。顔識別および追跡モジュール120は、次いで、顔が以前に識別された顔に対応するかどうかを判定し得る。顔識別および追跡モジュール120は、家族、同僚、および/または隣人など、ユーザが以前に対話した人についての識別情報データベース125へのアクセスを有し得る。識別情報データベース125は、人の顔の画像など、人を識別するのに十分な情報を含み得る。人は、ユーザ入力に基づいて識別情報データベース125に追加され得る。いくつかの実施形態では、識別情報データベース125は、リモートでアクセスされ、複数のARデバイスを使用してキャプチャされた人の識別情報を含んでいる。したがって、識別情報データベース125は、システム100のユーザによって知られている人より多くの人についての識別情報を含み得る。
【0027】
顔が位置を特定され、場合によっては、識別されると、顔の位置と顔に関連する人の識別情報とが顔重ね合わせモジュール130にパスされ得る。顔に関連する人の識別情報が識別されない場合、顔が未知の人に関連付けられるという指示が顔重ね合わせモジュール130にパスされ得る。
【0028】
顔重ね合わせモジュール130は、顔識別および追跡モジュール120から顔(および/または頭)に関連する位置および識別情報を受け取り得る。顔重ね合わせモジュール130は、顔が仮想オブジェクトで重ね合わされるべきであるかどうかを判定し得る。たとえば、ユーザから受け取った入力に基づいて、顔重ね合わせモジュール130は、いかなる顔の上にも仮想オブジェクトを重ね合わせないことがある。(すなわち、ユーザは、顔の上への仮想オブジェクトの重ね合わせをオンおよびオフする能力を有し得る。)顔重ね合わせモジュール130は、どの仮想オブジェクトが顔の上に重ね合わされるべきであるかを判定し得る。どの仮想オブジェクトが顔の上に重ね合わされるべきであるかを判定することは、顔に関連する人の識別情報、顔に関連する人が話をしているかどうか、ユーザが人を見ているかどうか、ユーザが人と話をしているかどうか、および/またはユーザによって定義されるユーザ選好のセットに基づき得る。
【0029】
動き/焦点追跡モジュール135は、ユーザの頭の角度および/またはユーザの眼の焦点の方向を判定するために使用され得る。ユーザの頭の角度を追跡するために、加速度計またはジャイロスコープが使用され得る。いくつかの実施形態では、ユーザの頭の角度に応じて、人の顔の上に重ね合わされた仮想オブジェクトは、表示のために顔からアンカリング解除され得る。これは、ユーザがユーザの注意を仮想オブジェクトに向けていることを近傍にいる他の人が分かるかどうかをユーザが気にかけない場合、有用であり得る。代替的に、ユーザは、ユーザの注意を仮想オブジェクトに実際には向けている間、考え込んでいるかのように見上げ得る。
【0030】
動き/焦点追跡モジュール135は、ユーザの眼の焦点がどこに向けられているかを判定するために使用され得るカメラまたは他の形態の眼追跡デバイスを含み得る。ユーザの頭が特定の角度にある必要があるのではなく、ユーザの眼の焦点の方向が、人の顔の上に重ね合わされた仮想オブジェクトが表示のためにアンカリング解除され得るかどうかを判定し得る。したがって、ユーザの頭の角度および/またはユーザの眼の焦点の方向によって判定され得るユーザの画角が水平線からのしきい値角度を超えた場合、人の顔の上に重ね合わされた仮想オブジェクトは、表示のためにアンカリング解除され得、水平連なりで構成されるなど代替形式で提示され得る。
【0031】
ユーザ選好モジュール150は、
図3に関して説明するような仮想オブジェクトのランキングおよび/または人のランキングを記憶するように構成されたコンピュータ可読記憶媒体であり得る。これらのランキングに基づいて、どの仮想オブジェクトがどの顔の上に重ね合わされるかが判定され得る。人のランキングの場合、ユーザは、画像が前にキャプチャされてある人をユーザのその人との快適レベルに基づいてランク付けし得る。たとえば、ユーザが落ち着かなくなる人(たとえば、ユーザの上司)が存在するとき、ユーザは、その人の顔の上に仮想オブジェクトを重ね合わせることを望まないことがある。ユーザが気楽に感じる人(たとえば、ユーザの娘)の場合、ユーザは、仮想オブジェクトを重ね合わせることを望み得る。画像キャプチャモジュール110によってその画像が前にキャプチャされてある人は、ランク付けされるか、またはさもなければ快適レベルを割り当てられ得る。
【0032】
仮想オブジェクトもランク付けされ得る。そのようなランクは、ユーザ選好モジュール150によって記憶され得る。ユーザは、仮想オブジェクトがユーザによってどのくらいの頻度で閲覧されることが望まれたのかに基づいて仮想オブジェクトにランキングを割り当て得る。たとえば、ユーザは、ユーザの電子メールアカウントに最高ランキングを割り当て、その後、ストックティッカー、ソーシャルメディアページ、ニュースウェブページなどを割り当て得る。したがって、人が場面内に存在するとき、最高ランクの仮想オブジェクトがその人の顔の上に重ね合わされ得る。
【0033】
仮想オブジェクトのランキングは、仮想オブジェクトが人の顔の上に重ね合わされるべきであるかどうかおよびどの仮想オブジェクトがそうされるべきであるかを判定するために人のランキングと組み合わせて使用され得る。たとえば、ユーザによって閲覧される場面内に複数の人が存在する場合、最高ランクの仮想オブジェクトが場面中の最高ランクの人の顔の上に重ね合わされ得る。たとえば、2番目に高いランクの仮想オブジェクトは、場面中の2番目に高いランクの人の顔の上に重ね合わされ得る。それらの人のうちの1人が場面を離れる場合、どの仮想オブジェクトがどの人の顔の上に重ね合わされるかが再評価され得る。
【0034】
どの仮想オブジェクトが人の顔の上に重ね合わされるかの判定は人の識別情報に基づき得るが、仮想オブジェクトのコンテンツは人の識別情報に関係しないことを理解されたい。これの例として、ソーシャルメディアページについて考えてみる。生成されたソーシャルメディアは、ユーザにとって人の顔の上に表示され得る。人のランキングと仮想オブジェクトのランキングとに基づいて、ソーシャルメディアページ仮想オブジェクトが人の顔の上に重ね合わされ得るが、ソーシャルメディアページのコンテンツはその人の識別情報に無関係であり得る。ソーシャルメディアページは、ARデバイスのユーザに関係し、顔の上にソーシャルメディアページが重ね合わさられる人に関係し得ない。したがって、仮想オブジェクトのコンテンツは、顔の上に仮想オブジェクトが重ね合わされる人にかかわらず変化し得ない。
【0035】
顔の位置、顔に関連する人の識別情報および、場合によっては、ユーザ選好モジュール150からのランキングに基づいて、顔重ね合わせモジュール130は、場面中に存在する人の顔の上に仮想オブジェクトを重ね合わせ得る。したがって、仮想オブジェクトは、ユーザにのみ可視となり得、場面中の人の顔の上に重ね合わされるように見え得る。したがって、ユーザが重ね合わされた仮想オブジェクトを見ているとき、ユーザが人の顔を見ている(たとえば、アイコンタクトしている)ようにその人には見え得る。場面中に存在する複数の人の顔の上に複数の仮想オブジェクトが同時に重ね合わされ得る。したがって、ユーザが1人の人から別の人にユーザの焦点を切り替える場合、ユーザは、ユーザがどの仮想オブジェクトを見ているかをも切り替え得る。
【0036】
ディスプレイモジュール170は、ユーザに仮想オブジェクトを提示するために、顔重ね合わせモジュール130のための出力デバイスとして働き得る。ディスプレイモジュール170は、ヘッドマウントディスプレイ(HMD)であり得る。たとえば、ディスプレイモジュール170は、ユーザの一方または両方の眼に光を直接投影するか、またはユーザが閲覧する反射面上に光を投影するプロジェクタを含み得る。いくつかの実施形態では、ユーザは、ディスプレイモジュール170によって光が投影される眼鏡(または単一レンズ)を装着する。したがって、ユーザは、場面中に存在する仮想オブジェクトと現実世界のオブジェクトとを同時に閲覧し得る。ユーザが、仮想オブジェクトの後ろに人の顔などの現実世界のオブジェクトを少なくとも部分的に見ることが依然としてできるように、重ね合わされた仮想オブジェクトは半透明になり得る。ディスプレイモジュール170は、ユーザのみが仮想オブジェクトを閲覧することができるように構成され得る。ユーザの近傍に存在する他の人にとって、ディスプレイモジュール170はHMDであり得るので、仮想オブジェクトは実質的に可視でないことがある。したがって、ユーザの近傍にいる他の人にとって、ディスプレイモジュール170がユーザに1つまたは複数の仮想オブジェクトを提示しているのかまたは提示していないのかを見分けること、および/あるいは仮想オブジェクトが場面中に存在する人の顔または頭の上に重ね合わされるかどうかを見分けることが可能でないことがある。
【0037】
ユーザインターフェースモジュール160は、ユーザがシステム100に入力を与えることを可能にし得る。たとえば、ユーザインターフェースモジュール160は、それの上に1つまたは複数のボタンを有するブレスレットであり得る。ユーザは、システム100に入力を与えるためにこれらのボタンを作動させ得る。たとえば、ユーザは、仮想オブジェクトおよび/または人のランキングを与えること、顔の重ね合わせをアクティブ化/非アクティブ化すること、ならびに/あるいは仮想オブジェクトと対話すること(たとえば、ユーザの電子メールアカウント内の電子メールを開くこと)を行いたいと希望し得る。ブレスレットはユーザインターフェースの1つの形態であるが、動き/焦点追跡モジュール135に組み込まれ得るボイス認識モジュールまたはアイトラッキングモジュールなど、ユーザが入力を与えるために様々な他のユーザインターフェースが使用され得ることを理解されたい。
【0038】
システム100のモジュールのうちの少なくともいくつかは、
図9のコンピュータシステムなどのコンピュータ化デバイスを使用して実装され得る。システム100のモジュールは、より少ない数またはより多い数のモジュールに組み合わされるかまたは分割され得る。複数のモジュールがコンピュータ化デバイスによって実装され得る。たとえば、顔識別および追跡モジュール120ならびに顔重ね合わせモジュール130は、コンピュータ化デバイス(たとえば、プロセッサ、コンピュータシステム)によって実行される命令として実装され得る。さらに、システム100のモジュール間の接続は例示的なものであり、他の実施形態では、モジュールは別様に相互接続され得ることを理解されたい。システム100のモジュールのいずれの間の通信も可能であり得る。
【0039】
図2に、仮想オブジェクトが場面内に存在する複数の人の顔の上に重ね合わされた、ユーザによって閲覧される、場面の一人称視点200の一実施形態を示す。一人称視点200は、ARデバイスのHMDを装着しているユーザから見たものである。たとえば、
図1のシステム100は、仮想オブジェクトがHMDによって場面の上に重ね合わされ得るようにユーザによって装着(または場合によっては、使用)され得る。したがって、
図2の仮想視界を作成するために、場面内に存在する人の顔を仮想オブジェクトで重ね合わせるように構成されたシステム100または何らかの他のシステムが使用され得る。
【0040】
一人称視点200は、場面内に存在する人の顔を仮想オブジェクトで重ね合わせるように構成されたシステム100または何らかの他のシステムを使用するユーザによって見られ得る。一人称視点200の場面では、人210および人220の2人の人が存在する。人210は、(人210が図の中から直接見ているように表されるように)ユーザを直接見ている。したがって、人210とユーザとは、会話などで社会的に関わり合っていることがある。人220は、概して、ユーザに対面しており、話をしている。たとえば、人220は、(プレゼンテーション中などに)人々のグループに講演する話者であり得る。人220は、人210よりもユーザからより遠くに離れて位置し得る。
【0041】
人210の顔の上に、仮想オブジェクト230が重ね合わされている。ユーザが仮想オブジェクト230を見ている間、(アイコンタクトしているように見えることなどによって)ユーザが人210にユーザの注意を向けているように人210(および近傍にいる他の人)に見え得る。しかしながら、ユーザは、代わりに、人210の顔の上に重ね合わされた仮想オブジェクト230にユーザの注意のうちの少なくとも一部を向けていることがある。仮想オブジェクト230がユーザにHMDによって表示されるので、HMDが存在するのかまたは人210の顔の上に仮想オブジェクトが重ね合わされているのかを近傍にいる他の人は気づき得ない。したがって、ユーザのみが仮想オブジェクト230を見得る。人210を見て、人210と社会的に対話しているように見えながら、ユーザは、たとえば、電子メールを読み取り得る。
図2の例では、人210の顔がユーザの電子メールアカウントで重ね合わされる。したがって、仮想オブジェクト230のコンテンツは、人210に無関係であり得る(すなわち、仮想オブジェクト230のコンテンツは、どの人の顔にそれが重ね合わされるかに基づいて変動し得ない)。
【0042】
はっきり言えば、仮想オブジェクトのコンテンツが人から分離されることを理解されたい。したがって、仮想オブジェクトの形状またはコンテンツは人の識別情報に関係しない。たとえば、ユーザの電子メールアカウントが人210の顔の上に重ね合わされ得る。ユーザの電子メールアカウントが人220の顔の上に重ね合わされる場合、ユーザの電子メールアカウントのコンテンツは同一のままとなり、単に仮想アカウントとして提示される電子メールアカウントの位置が変化し得る。
【0043】
人220の顔の上に、仮想オブジェクト240が重ね合わされる。ユーザが仮想オブジェクト240を見ている間、アイコンタクトしているように見えること、人220が何を言っているのか聞くことなどによって、ユーザが人220にユーザの注意を向けているように人220(および人210など、近傍にいる他の人)に見え得る。仮想オブジェクト240がユーザにHMDによって表示されるので、HMDが存在するのかまたは人220の顔の上に仮想オブジェクトが重ね合わされているのかを近傍にいる他の人は気づき得ない。人220を見て、人220と社会的に対話しているように見えながら、ユーザは、ユーザのソーシャルメディアアカウント(たとえば、Facebook、Twitter)を閲覧し得る。
図2の例では、人220の顔がユーザのソーシャルメディアアカウントで重ね合わされる。したがって、仮想オブジェクト240のコンテンツは、人220に無関係であり得る(すなわち、仮想オブジェクト240のコンテンツは、どの人の顔にそれが重ね合わされるかに基づいて変動し得ない)。
【0044】
どの仮想オブジェクトがどの人の顔の上に重ね合わされるかは、仮想オブジェクトおよび/または人にユーザによって割り当てられた(または自動的に割り当てられた)ランキングに基づき得る。たとえば、ユーザは、様々な仮想オブジェクトにランキングを割り当て得る。
図3に、仮想オブジェクトランキングおよび人ランキングのランキング表300の一実施形態を示す。ランキング表300は、
図1のシステム100のユーザ選好モジュール150の一部として記憶され得る。したがって、ランキング表300は、コンピュータ可読記憶媒体を使用して記憶され得る。ランキング表300では、ARデバイスのユーザは、仮想オブジェクトランキング列310において仮想オブジェクトにランキング順序を割り当て、人ランキング列320において人にランキング順序を割り当てている。
【0045】
ランキング表300によれば、最高ランクの仮想オブジェクトは、場面内に存在する最高ランクの人の顔の上に重ね合わされ得る。一例として、ランキング表300において、ユーザは、ユーザの電子メールアカウントに最高ランキングを割り当て、ユーザのソーシャルメディアアカウントに2番目に高いランキングを割り当てている。
【0046】
図2の図示の実施形態では、ユーザは、(この例では、「ネッドスミス」である)人210と社会的に関わり合っており、したがって、人210は、ランキング表300によれば、ユーザの電子メールアカウントである、第1位にランク付けされた仮想オブジェクト230の表示のために使用されるように選択される。ランキング表300によれば、ユーザのソーシャルメディアアカウントである第2位にランク付けされた仮想オブジェクト240は、存在する他の人、この例では「トーニャドウ」である人220の顔の上に重ね合わされる。他の人が場面に入る場合、追加の仮想オブジェクトもそれらの人の顔の上に重ね合わされ、その結果、どの仮想オブジェクトがどの人に割り当てられるかが変化し得る。
【0047】
ランキング表300の図示の実施形態では、最高ランクの仮想オブジェクトが人ランキング列320にリストされている最高ランクの人の上に重ね合わされる。他の実施形態では、特定の仮想オブジェクトが特定の人に関連付けられ得る。たとえば、「トミーボディ」などの人が、ユーザによって閲覧される場面内に存在するとき、天気ウィジェットがトミーボディの顔の上に重ね合わされ得る。ランキング表300は、ARデバイスによって識別情報が記憶されていない人を考慮に入れ得る。たとえば、「未知の人」が人ランキング列320内にリストされ得る。したがって、ARデバイスによって認識されないユーザによって閲覧される場面内に人が存在するとき、そのような人は、依然として仮想オブジェクトでそれら人の顔が重ね合わされ得る。たとえば、ユーザによって閲覧される場面で未知の人しか存在しない場合、ユーザの電子メールアカウントが仮想オブジェクトとしてその未知の人の顔の上に重ね合わされ得る。
【0048】
ランキング表300の人ランキングは、ユーザが気楽に感じる人および/あるいはユーザがその人の顔の上に仮想オブジェクトが重ね合わされることを望むかまたは望まない人に基づいて、ユーザによって確立され得る。たとえば、ユーザは、ユーザの妻の周りにいて気楽なので、ユーザは彼の妻に高いランキングを与え得る。これにより、ユーザによって閲覧される場面内に妻が存在するとき、妻の顔が最高ランクの仮想オブジェクトのうちの1つを表示するために使用されることになり得る。妻が場面を離れる場合、存在する次に高いランクの人が最高ランクの仮想オブジェクトを表示するために使用され得る。したがって、場面中に存在する最高ランクの人の顔が、最高ランクの仮想オブジェクトを表示するために使用され得る。したがって、ユーザによって最も高いランクを受けた仮想オブジェクトは、ユーザが一緒にいて最も気楽に感じる人の顔の上に重ね合わされ得る。ユーザは、決してその上に仮想オブジェクトを重ね合わせない顔としていくつかの顔を指定することが可能であり得る。たとえば、ユーザは、ユーザの上司の顔の上に仮想オブジェクトを重ね合わせたいと決して希望しないことがある。ユーザは、その人の顔の上に仮想オブジェクトが決して重ね合わされない人を指定することが可能であり得る。
【0049】
いくつかの実施形態では、人のランキングは、ユーザがARデバイスを使用している間に(たとえば、先月または昨年などの時間期間にわたって)最も頻繁にユーザの視界中に現れた誰かに基づき得る。したがって、最も頻繁に現れた人が最高ランキングを受け得る。そのような実施形態では、人のランキングはユーザ入力なしに維持され得る。より頻繁にユーザによって閲覧されるのが頻繁に切り替わり(したがって、ランクを交換する)人の場合、各人の顔の上に重ね合わされる仮想オブジェクトがあまりに頻繁に切り替わらないように、人のランキングを変更する前にユーザの視界中に存在する時間量のしきい値差に達する必要があり得る。たとえば、父親は、彼の株価情報が彼の息子の顔の上に重ね合わされて見えるのに慣れていることがある。そのようなしきい値が存在することによって、父親は、わずかにより頻繁に妻を見るようになった場合でも、しきい値によって、息子および妻のランキング変化が息子の顔の上に重ね合わされて見える株価情報に影響を及ぼし得ない。
【0050】
人のランキングに加えて、その上に重ね合わされる仮想オブジェクトのためにどの人が選択されるかが人の顔の輝度に基づき得る。たとえば、光の下に位置している人は、影の中に位置している人よりもその人の顔がより明るくなり得る。したがって、仮想オブジェクトをユーザに十分に可視にするためにHMDが多くの光を出力する必要がないので、影の中に位置している人の顔の上に重ね合わされる仮想オブジェクトを提示するためにより少ない電力を消費し得る。さらに、テキストが存在する場合、仮想オブジェクトをより暗い顔の上に重ね合わせることによって、テキストがより読みやすくなり得る。
【0051】
再び
図2を参照すると、仮想オブジェクト230および240などの仮想オブジェクトは半透明になり得る。したがって、ユーザは、仮想オブジェクトまたは仮想オブジェクトが重ね合わされる人の顔のいずれかにユーザの注意を向けることが可能であり得る。仮想オブジェクトの不透明度はユーザによって設定され得る。いくつかの実施形態では、ユーザは、異なる仮想オブジェクトおよび/または異なる人に異なるレベルの不透明度を割り当てることが可能であり得る。いくつかの実施形態では、仮想オブジェクトの透明度は、ユーザの眼の焦点に少なくとも部分的に基づき得る。たとえば、ユーザの眼が仮想オブジェクトの後ろの人の顔に焦点を当てようと試みている場合、仮想オブジェクトをより透過的にすること、移動すること、縮小すること、および/またはぼかすことが行われ得る。ユーザの眼が、人の顔の上に重ね合わされた仮想オブジェクトに焦点を当てようと試みているように見える場合、仮想オブジェクトを拡大すること、移動すること、シャープにすることおよび/または、より不透明にすることが行われ得る。システム100を参照すると、ユーザの眼の焦点は、動き/焦点追跡モジュール135を使用して判定され得る。
【0052】
仮想オブジェクトのサイズは、人からユーザの距離に従って変動し得る。
図2に示すように、人210は、人220よりもユーザの近くにいる。したがって、仮想オブジェクト230は、仮想オブジェクト240よりも大きい。したがって、仮想オブジェクトのサイズおよび/または方向は、仮想オブジェクトが重ね合わされる、人の顔の距離および/または方向に対応し得る。仮想オブジェクトのサイズは、人がユーザに近づくかまたは遠ざかるにつれて動的に調整され得る。仮想オブジェクトに最小サイズおよび/または最大サイズが設定され得、したがって、人がユーザから十分に離れると、仮想オブジェクトのサイズは最小値に達し得、もはや変化し得ない。同様に、人がユーザに十分に近づくと、仮想オブジェクトのサイズは最大値に達し得、もはや変化し得ない。
【0053】
人が話すにつれてその人の顔が様々な方向に移動し得るとき、仮想オブジェクトは、その人の移動とともに追跡するために直ちに移動し得ない。むしろ、仮想オブジェクトの位置が人の顔の新しい位置に調整される前に、その人がある時間期間の間移動している必要があり得る。仮想オブジェクトのそのような遅延移動は、ユーザが仮想オブジェクトのテキストまたはグラフィカル特徴を閲覧するのを容易にするのを支援し得る。たとえば、
図2の人210を参照すると、会話中に人210の顔がわずかに左右に移動する場合、仮想オブジェクト230は、人210の顔よりも少ししか移動しないことも移動することもある。仮想オブジェクトの反応速度は、ユーザによって設定され得る。いくつかの実施形態では、人がよく移動している(たとえば、歩き回っている)場合、人の顔の上に重ね合わされる仮想オブジェクトは、別の人の上に重ね合わされるように再割り当てされ得る。そのような再割当ては、ユーザが仮想オブジェクトと対話する(たとえば、読み取る)のを容易にし得る。したがって、人がどれくらい静止しているかは、その人の顔の上にどの(もしあれば)仮想オブジェクトが重ね合わされるべきであるかを判定する際に考慮に入れられ得る。
【0054】
ユーザが、落ち着かなくなるほど長い時間期間の間同じ人を誤って見つめないように、仮想オブジェクトは、所定の位置に周期的に移動し得る。たとえば、
図2を参照すると、ユーザが仮想オブジェクト230を見るのに夢中になった場合、人210が見つめられていると人210が感じることになるので、ユーザは人210を落ち着かなくさせ得る。これは、人210とユーザとの間に会話がない場合特にそうであり得る。ユーザ定義の時間期間の後など、時々、仮想オブジェクト230は、場所を仮想オブジェクト240または何らかの他の仮想オブジェクトと交換し得る。いくつかの実施形態では、ユーザの近傍にいる人に対するユーザの注意を向けなおすことをユーザに「強制する」ために仮想オブジェクトが周期的に消失し得る。いくつかの実施形態では、ユーザが仮想オブジェクトに注意を向けて費やした時間量をユーザに思い出させるために、消失するのではなく、警報(警告「光」または仮想オブジェクトの外見の変化など)がHMDを介してユーザに提示され得る。
【0055】
図4に、ユーザが見ている方向に基づいて仮想オブジェクトが再配置される場面の一人称視点の一実施形態を示す。一人称視点400は、ARデバイスのHMDを装着しているユーザから見たものである。たとえば、
図1のシステム100は、仮想オブジェクトがHMDによって場面の上に重ね合わされ得るようにユーザによって装着(または場合によっては、使用)され得る。したがって、場面内に存在する人の顔を仮想オブジェクトで重ね合わせるように構成されたシステム100または何らかの他のシステムは、
図4の仮想視界を作成するために使用され得る。
【0056】
ユーザが見ている場所に基づいて、仮想オブジェクトは、人の顔の上に重ね合わされた状態から仮想オブジェクト自体を「引き離し」得る。たとえば、ユーザが床または天井を見ている場合(それは、ユーザの頭および/または眼の角度に基づいて検出され得る)、ユーザに現在表示されている仮想オブジェクトは、人の顔の上に重ね合わされるのを中止し得、ユーザに異なる構成では表示され得る。
図2を参照すると、ユーザが天井のほうを見上げる場合、仮想オブジェクト230および240は、それぞれ人210および220の顔から引き離され得、異なる構成で表示され得る。一人称視点400は、(ユーザの頭の角度および/または視覚の方向がしきい値角度よりも大きいことに基づいて判定される)ユーザの視覚がはっきりと上に向けられた場合に、仮想オブジェクト230および240がユーザにどのように提示され得るかを表す。したがって、仮想オブジェクトは、連なりでまたは他の構成で構成され、人の顔からアンカリング解除され得る。ユーザの視覚が人の場面まで下がって戻ると、仮想オブジェクト230および240は、それぞれ人210および220の顔の上に再び重ね合わされ得る。
【0057】
図5に、ユーザを見ている人の眼の上を仮想オブジェクトのテキストがスクロールする場面の一人称視点500の一実施形態を示す。一人称視点500は、ARデバイスのHMDを装着しているユーザから見たものである。たとえば、
図1のシステム100は、仮想オブジェクトがHMDによって場面の上に重ね合わされ得るようにユーザによって装着(または場合によっては、使用)され得る。したがって、場面内に存在する人の顔を仮想オブジェクトで重ね合わせるように構成されたシステム100または何らかの他のシステムは、
図5の仮想視界を作成するために使用され得る。
【0058】
さらに、ユーザが見ている人とのアイコンタクトをユーザが維持する外見を維持するために、仮想オブジェクトは、人の眼の上に重ね合わされ得る。さらに、情報を読み取るためにユーザの眼の焦点位置が変化する必要がないように仮想オブジェクトがスクロールされ得る。たとえば、仮想オブジェクト510は、(イメージング矢印によって示されるように)右から左にスクロールされているストックティッカーである。人210の眼を見ているように見えながら、ユーザは、目をそらすかまたはユーザの眼を移動することなしに、仮想オブジェクト510にユーザの注意のうちの少なくとも一部を向け得る。仮想オブジェクト510は、人210が見ているものの転移など、株価情報以外の他の情報を表示し得る。
【0059】
図1のシステム100あるいはユーザによって閲覧される場面中に存在する人の顔または頭の上に重ね合わされる仮想オブジェクトを提示するための同様のシステムを使用して様々な方法が実行され得る。
図6に、ヘッドマウントディスプレイによって表示される仮想オブジェクトを重ね合わせるための方法600の一実施形態を示す。方法600は、HMDを有するARデバイスとして機能するように構成された
図1のシステム100または何らかの他のシステムを使用して実行され得る。コンピュータシステムまたは、より一般的には、コンピュータ化デバイスは、方法600のステップのうちの少なくともいくつかを実行するために使用され得る。方法600を実行するための手段は、カメラ、顔識別および追跡モジュール、顔重ね合わせモジュール、識別情報データベース、動き/焦点追跡モジュール、通信モジュール、ユーザインターフェースモジュール、ディスプレイモジュール、およびユーザ選好モジュールなど、画像キャプチャモジュールを含む。モジュールの機能のうちの少なくともいくつかは、プロセッサを使用して実行され得る。
【0060】
ステップ610において、場面の画像がキャプチャされ得る。場面は、ARデバイスのユーザに可視である現実世界のエンティティ(たとえば、人々および/またはオブジェクト)のものであり得る。場面は、ユーザの眼で直接ユーザによってライブで閲覧され得る。場面は、表示画像としてユーザに提示され得ない。場面の画像は、毎秒複数回(たとえば、30フレーム毎秒)など、周期的にキャプチャされ得る。
図1のシステム100を参照すると、画像をキャプチャするために、カメラなどの画像キャプチャモジュールが使用され得る。方法600全体にわたって、表示される仮想オブジェクトの位置を更新するために、場面の画像がキャプチャされ続け得ることを理解されたい。
【0061】
ステップ620において、場面内の顔の位置(ロケーション)が判定され得る。判定された場面内の顔の位置の数は、場面内に存在する人の数に基づき得る。場面内に顔が存在しない場合、顔の位置は判定され得ない。たとえば、5人が存在する場合、顔の5つの位置が判定され得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の顔の位置を判定し得る。
【0062】
ステップ630において、場面内のステップ620において位置を特定された顔ごとに、顔に関連する人の識別情報の判定が実行され得る。顔の画像を人の記憶された表現と比較するために、システム100の識別情報データベース125など、識別情報のデータベースがアクセスされ得る。人の識別情報が識別され得ない場合、顔は、未知の人に属するものとして扱われ得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の識別情報を判定し得る。
【0063】
ステップ640において、場面内に存在する人の顔の上への重ね合わせのために仮想オブジェクトが選択され得る。複数の人が存在する場合、複数の仮想オブジェクトが選択され得る。前に説明したように、どの仮想オブジェクトが人の顔の上に提示されるべきかを判定するために、人および/または仮想オブジェクトのためのランキングシステムが使用され得る。いくつかの実施形態では、仮想オブジェクトを表示のために選択し、人の顔の上に重ね合わせることは、どの人がユーザの最も近くにいるのか、どの人が通話をしているのか、および/またはどの人がユーザを見ているのかを判定することを伴い得る。さらに、どの仮想オブジェクトが人の顔の上に重ね合わされるかは、あらかじめ定義された時間量の後に変動し得る。いくつかの実施形態では、どの仮想オブジェクトが人の顔の上に重ね合わされるかは、ランキング表300中に提示されたランキングなど、ユーザによって設定された仮想オブジェクトおよび/または人のランキングに基づき得る。仮想オブジェクトが人の顔の上に重ね合わされるか否か、および/またはどの仮想オブジェクトが重ね合わされるかを判定するために、
図1のユーザインターフェースモジュール160などを介したユーザ入力も使用され得る。たとえば、ユーザは、ユーザがどの仮想オブジェクトと対話することを希望するかを選択し得る。
【0064】
ステップ650において、仮想オブジェクトが、表示のために人の顔の上に重ね合わされ得る。ステップ620において識別された位置に基づいて人の顔の上に提示されるべき仮想オブジェクトがHMDによって位置を特定され得る。仮想オブジェクトは、ウェブページ、電子メールアカウント、ソーシャルメディアアカウント、ストックティッカー、アプリケーション、ゲームなど、ユーザが閲覧することを望む任意の形態のテキスト、グラフィックス、および/またはデータであり得る。
【0065】
仮想オブジェクトのコンテンツは、顔の上に仮想オブジェクトが重ね合わされる人に無関係であり得る。したがって、人の識別情報および人の身体特性にかかわらず、仮想オブジェクトのコンテンツがユーザに提示され得る。現実世界の場面は、ユーザによって直接閲覧され得るが、仮想オブジェクトは、仮想オブジェクトが人の顔(または頭)の上に重ね合わされて見えるように、眼鏡などを介してユーザに投影され得る。ユーザに仮想オブジェクトを提示するためにHMDが使用され得るので、ユーザのほかの他の人は仮想オブジェクトを閲覧することが不可能であり得る。
【0066】
複数の人が存在する場合、異なる仮想オブジェクトが各人の顔または頭の上に重ね合わされた状態で、複数の仮想オブジェクトが提示され得る。人が移動するにつれて、仮想オブジェクトは、仮想オブジェクトが少なくとも人の顔の上に近似的に重ね合わされたままであるように移動し得る。仮想オブジェクトのテキストまたは他の要素をユーザがより容易に閲覧することが可能になるように、人の顔または頭のわずかな移動は仮想オブジェクトの位置に影響を及ぼし得ない。仮想オブジェクトのサイズは、仮想オブジェクトが重ね合わされる人とユーザとの間の距離に基づいて調整され得る。仮想オブジェクトが人の顔の上に重ね合わされることによって、ユーザが仮想オブジェクトにユーザの注意の少なくとも一部を向けている間に、ユーザは、アイコンタクトを維持している(または、少なくともその人を見ている)ようにその人に見えることが可能であり得る。
【0067】
ユーザの眼の焦点に基づいて、重ね合わされた仮想オブジェクトの提示が調整され得る。ユーザの眼の焦点が、仮想オブジェクトが重ね合わされた人に向けられる場合、仮想オブジェクトは、より透過的にされ得る、より小さくされ得る、ぼかされ得る、および/または移動され得る。ユーザの眼の焦点が、仮想オブジェクトに向けられる場合、仮想オブジェクトは、より不透明にされ得る、より大きくされ得る、シャープにされ得る、および/または移動され得る。仮想オブジェクトは、HMDを装着しているユーザにしか可視でないので、仮想オブジェクトの外見のそのような変化は、ユーザのほかのすべての人に不可視であり得る。したがって、ユーザがユーザの眼の焦点を調整することによって、ユーザは、人とその人の顔の上に重ね合わされる仮想オブジェクトとの間でユーザの注意を切り替えることができる。
【0068】
図7に、話をしている人の顔の上にヘッドマウントディスプレイによって表示される仮想オブジェクトを重ね合わせるための方法700の一実施形態を示す。方法700は、HMDを有するARデバイスとして機能するように構成された
図1のシステム100または何らかの他のシステムを使用して実行され得る。コンピュータシステムまたは、より一般的には、コンピュータ化デバイスは、方法700のステップのうちの少なくともいくつかを実行するために使用され得る。方法700を実行するための手段は、カメラ、顔識別および追跡モジュール、顔重ね合わせモジュール、識別情報データベース、動き/焦点追跡モジュール、通信モジュール、ユーザインターフェースモジュール、オーディオキャプチャモジュール、ディスプレイモジュール、およびユーザ選好モジュールなど、画像キャプチャモジュールを含む。モジュールの機能のうちの少なくともいくつかは、プロセッサを使用して実行され得る。
【0069】
ステップ710において、場面の画像がキャプチャされ得る。場面は、ARデバイスのユーザに可視である現実世界のエンティティ(たとえば、人々および/またはオブジェクト)のものであり得る。場面は、ユーザの眼で直接ユーザによってライブで閲覧され得る。場面は、表示画像としてユーザに提示され得ない。場面の画像は、毎秒複数回(たとえば、30フレーム毎秒)など、周期的にキャプチャされ得る。
図1のシステム100を参照すると、画像をキャプチャするために、カメラなどの画像キャプチャモジュールが使用され得る。方法700全体にわたって、表示される仮想オブジェクトの位置を更新するために、場面の画像がキャプチャされ続け得ることを理解されたい。
【0070】
ステップ720において、場面内の顔の位置(ロケーション)が判定され得る。判定された場面内の顔の位置の数は、場面内に存在する人の数に基づき得る。場面内に顔が存在しない場合、顔の位置は判定され得ない。たとえば、5人が存在する場合、顔の5つの位置が判定され得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の顔の位置を判定し得る。
【0071】
ステップ730において、場面内のステップ720において位置を特定された顔ごとに、どの人が話をしているかの判定が実行され得る。複数の人が話をしている場合、ユーザに最も近い話をしている人および/またはユーザを見ている話をしている人が判定され得る。
図3のランキング表300と同様に、ユーザは、話をしている人の上に仮想オブジェクトがどのように重ね合わされるべきであるかについてのランキング表を定義し得る。一例として、話者の挙動に基づいて、仮想オブジェクトの不透明度が設定され得る。
【0073】
表1は、例示的なものであり、ユーザは、場面中で話をしている人の上に仮想オブジェクトが重ね合わされる状況をカスタマイズすることを許可され得ることを理解されたい。いくつかの実施形態では、場面中の人のランキングにかかわらず、かつ人の顔の上にすでに重ね合わされている別の仮想オブジェクトにかかわらず、最高ランクの仮想オブジェクトが人の顔の上に重ね合わされる(すでに重ね合わされていた任意の他の仮想オブジェクトは移動または非表示にされる)。したがって、ユーザが、偶然話をしている誰かを見ている場合、ユーザは、ユーザの最高ランクの仮想オブジェクトを閲覧し続け得る。
【0074】
ステップ740において、場面内に存在する話をしている人の顔の上への重ね合わせのために仮想オブジェクトが選択され得る。仮想オブジェクトのためのランキングシステムが存在するとき、最高ランクの仮想オブジェクトが話をしている人の顔の上に重ね合わされ得る。人の顔の上に重ね合わされる仮想オブジェクトは、あらかじめ定義された時間量の後に変動し得る。仮想オブジェクトが人の顔の上に重ね合わされるか否か、および/またはどの仮想オブジェクトが重ね合わされるかを判定するために、
図1のユーザインターフェースモジュール160などを介したユーザ入力も使用され得る。たとえば、ユーザは、ユーザがどの仮想オブジェクトと対話することを希望するかを選択し得る。
【0075】
ステップ750において、仮想オブジェクトが、表示のために話をしている人の顔の上に重ね合わされ得る。ステップ720において識別された位置とステップ730の判定とに基づいて人の顔の上に提示されるべき仮想オブジェクトがHMDによって位置を特定され得る。仮想オブジェクトは、ウェブページ、電子メールアカウント、ソーシャルメディアアカウント、ストックティッカー、アプリケーション、ゲームなど、ユーザが閲覧することを望む任意の形態のテキスト、グラフィックス、および/またはデータであり得る。
【0076】
図6に関して詳しく説明するように、仮想オブジェクトのコンテンツは、顔の上に仮想オブジェクトが重ね合わされる人に無関係であり得る。したがって、人の識別情報および人の身体特性にかかわらず、仮想オブジェクトのコンテンツがユーザに提示され得る。現実世界の場面は、ユーザによって直接閲覧され得るが、仮想オブジェクトは、仮想オブジェクトが人の顔(または頭)の上に重ね合わされて見えるように、眼鏡などを介してユーザに投影され得る。ユーザに仮想オブジェクトを提示するためにHMDが使用され得るので、ユーザのほかの他の人は仮想オブジェクトを閲覧することが不可能であり得る。
【0077】
話をしている人が変化する場合、仮想オブジェクトは、ステップ760において、現在話をしている人の上に重ね合わされ得る。したがって、仮想オブジェクトは、場面内で話をしている誰かの上に重ね合わされたままになるように動的に移動され得る。誰も話をしていない場合、仮想オブジェクトは、話をしていた前の人の上に重ね合わせられたままになり得る。話者が移動するにつれて、仮想オブジェクトは、仮想オブジェクトが少なくとも話者の顔の上に近似的に重ね合わされたままであるように移動し得る。仮想オブジェクトのテキストまたは他の要素をユーザがより容易に閲覧することが可能になるように、人の顔または頭のわずかな移動は仮想オブジェクトの位置に影響を及ぼし得ない。仮想オブジェクトのサイズは、仮想オブジェクトが重ね合わされる人とユーザとの間の距離に基づいて調整され得る。仮想オブジェクトが人の顔の上に重ね合わされることによって、ユーザが仮想オブジェクトにユーザの注意の少なくとも一部を向けている間に、ユーザは、アイコンタクトを維持している(または、少なくともその人を見ている)ようにその人に見えることが可能であり得る。
【0078】
ユーザの眼の焦点に基づいて、重ね合わされた仮想オブジェクトの提示が調整され得る。ユーザの眼の焦点が、仮想オブジェクトが重ね合わされた話者に向けられる場合、仮想オブジェクトは、より透過的にされ得る、より小さくされ得る、ぼかされ得る、および/または移動され得る。ユーザの眼の焦点が、仮想オブジェクトに向けられる場合、仮想オブジェクトは、より不透明にされ得る、より大きくされ得る、シャープにされ得る、および/または移動され得る。仮想オブジェクトは、HMDを装着しているユーザにしか可視でないので、仮想オブジェクトの外見のそのような変化は、ユーザのほかの、話者を含むすべての人に不可視であり得る。したがって、ユーザがユーザの眼の焦点を調整することによって、ユーザは、話者とその話者の顔の上に重ね合わされる仮想オブジェクトとの間でユーザの注意を切り替えることができる。代替的に、ユーザの焦点を判定するためにボタンのプッシュなど、別の形態のユーザ入力が使用され得る。
【0079】
図8に、仮想オブジェクトがユーザによって閲覧された時間量に基づいて人の顔の上へのヘッドマウントディスプレイによって表示される仮想オブジェクトの重ね合わせを調整するための方法800の一実施形態を示す。方法800は、HMDを有するARデバイスとして機能するように構成された
図1のシステム100または何らかの他のシステムを使用して実行され得る。コンピュータシステムまたは、より一般的には、コンピュータ化デバイスは、方法800のステップのうちの少なくともいくつかを実行するために使用され得る。方法800を実行するための手段は、カメラ、顔識別および追跡モジュール、顔重ね合わせモジュール、識別情報データベース、動き/焦点追跡モジュール、通信モジュール、ユーザインターフェースモジュール、ディスプレイモジュール、およびユーザ選好モジュールなど、画像キャプチャモジュールを含む。モジュールの機能のうちの少なくともいくつかは、プロセッサを使用して実行され得る。
【0080】
ステップ810において、場面の画像がキャプチャされ得る。場面は、ARデバイスのユーザに可視である現実世界のエンティティ(たとえば、人々および/またはオブジェクト)のものであり得る。場面は、ユーザの眼で直接ユーザによってライブで閲覧され得る。場面は、表示画像としてユーザに提示され得ない。場面の画像は、毎秒複数回(たとえば、30フレーム毎秒)など、周期的にキャプチャされ得る。
図1のシステム100を参照すると、画像をキャプチャするために、カメラなどの画像キャプチャモジュールが使用され得る。方法800全体にわたって、表示される仮想オブジェクトの位置を更新するために、場面の画像がキャプチャされ続け得ることを理解されたい。
【0081】
ステップ820において、場面内の顔の位置(ロケーション)が判定され得る。判定された場面内の顔の位置の数は、場面内に存在する人の数に基づき得る。場面内に顔が存在しない場合、顔の位置は判定され得ない。たとえば、5人が存在する場合、顔の5つの位置が判定され得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の顔の位置を判定し得る。
【0082】
ステップ830において、場面内のステップ820において位置を特定された顔ごとに、顔に関連する人の識別情報の判定が実行され得る。顔の画像を人の記憶された表現と比較するために、システム100の識別情報データベース125など、識別情報のデータベースがアクセスされ得る。人の識別情報が識別され得ない場合、顔は、未知の人に属するものとして扱われ得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の識別情報を判定し得る。いくつかの実施形態では、場面内に存在する人の識別情報を判定するのではなく、
図7の方法700において説明したように、どの人が話をしているのかが識別され得る。
【0083】
ステップ840において、場面内に存在する人の顔の上への重ね合わせのために仮想オブジェクトが選択され得る。複数の人が存在する場合、複数の仮想オブジェクトが選択され得る。前に説明したように、どの仮想オブジェクトが人の顔の上に提示されるべきかを判定するために、人および/または仮想オブジェクトのためのランキングシステムが使用され得る。いくつかの実施形態では、仮想オブジェクトを表示のために選択し、人の顔の上に重ね合わせることは、どの人がユーザの最も近くにいるのか、どの人が通話をしているのか、および/またはどの人がユーザを見ているのかを判定することを伴い得る。仮想オブジェクトが人の顔の上に重ね合わされるか否か、および/またはどの仮想オブジェクトが重ね合わされるかを判定するために、
図1のユーザインターフェースモジュール160などを介したユーザ入力も使用され得る。たとえば、ユーザは、ユーザが対話することを希望する仮想オブジェクトを選択し得る。
【0084】
ステップ850において、仮想オブジェクトが、表示のために人の顔の上に重ね合わされ得る。ステップ820において識別された位置に基づいて人の顔の上に提示されるべき仮想オブジェクトがHMDによって位置を特定され得る。仮想オブジェクトは、ウェブページ、電子メールアカウント、ソーシャルメディアアカウント、ストックティッカー、アプリケーション、ゲームなど、ユーザが閲覧することを望む任意の形態のテキスト、グラフィックス、および/またはデータであり得る。仮想オブジェクトのコンテンツは、顔の上に仮想オブジェクトが重ね合わされる人に無関係であり得る。したがって、人の識別情報および人の身体特性にかかわらず、仮想オブジェクトのコンテンツがユーザに提示され得る。現実世界の場面は、ユーザによって直接閲覧され得るが、仮想オブジェクトは、仮想オブジェクトが人の顔(または頭)の上に重ね合わされて見えるように、眼鏡などを介してユーザに投影され得る。ユーザに仮想オブジェクトを提示するためにHMDが使用され得るので、ユーザのほかの他の人は仮想オブジェクトを閲覧することが不可能であり得る。
【0085】
ステップ860において、ユーザが仮想オブジェクトを見るのに費やした時間量が判定され得る。これは、ユーザが見ている方向とユーザの眼の焦点とを監視することによって達成され得る。ユーザが長期間にわたって特定の仮想オブジェクトを見ないことが望ましいことがある。各仮想オブジェクトが別の人の顔の上に重ね合わされ得るので、ユーザが仮想オブジェクトを見るのに長い時間期間を費やす場合、その人は、その人が見つめられているかのように感じ得る。さらに、これは、ユーザが、場面中で起こっていることではなく仮想オブジェクトにユーザの注意を向けていることを人に暴露し得る。ユーザは、ユーザが通知され、仮想オブジェクトの提示が調整された後の時間量を定義し得る。いくつかの実施形態では、20秒など、あらかじめ定義されたしきい値時間量が使用され得る。
【0086】
ステップ870において、ユーザは、20秒などのしきい値時間期間の間特定の仮想オブジェクトを見ていることがある、および/またはそれに焦点を当てていることがある。しきい値時間期間を満たしたかまたは超えたので、仮想オブジェクトは、場面内に存在する第2の顔の上に重ね合わされ得る。したがって、ユーザが仮想オブジェクトを見続ける場合、ユーザは、異なる人を見ているように見えることになる。いくつかの実施形態では、第2の顔の上に仮想オブジェクトを重ね合わせるのではなく、ユーザが長期間にわたって特定の仮想オブジェクトを見ていることをユーザに思い出させるために、ユーザに警報が表示され得る。たとえば、ユーザに点滅光が表示され得ること、仮想オブジェクト自体が点滅されるかまたは外見が変更され得ること、仮想オブジェクトがより透過的にされ得ること、仮想オブジェクトのサイズが縮小され得ること、仮想オブジェクトが非表示にされ得ることなどがある。いくつかの実施形態では、ユーザが仮想オブジェクトを閲覧している時間期間の間ずっと、仮想オブジェクトがだんだん透過的になり得る。したがって、ユーザが仮想オブジェクトをより長く閲覧するほど、ユーザが仮想オブジェクトにユーザの注意をどのくらい長く向けていたかがユーザにより明らかになる。ユーザが別の仮想オブジェクトに、または仮想オブジェクトの後ろの人にユーザの眼の焦点を切り替える場合、ステップ850において監視される時間量がリセットされ得る。ユーザがARデバイス上のボタンを押すなど、何らかの他の形態のユーザ入力も、ステップ860において判定された時間量をリセットするために使用され得る。
【0087】
方法600および方法700の場合と同様に、ユーザの眼の焦点に基づいて、重ね合わされた仮想オブジェクトの提示が調整され得る。ユーザの眼の焦点が、仮想オブジェクトが重ね合わされた人に向けられる場合、仮想オブジェクトは、より透過的にされ得る、より小さくされ得る、ぼかされ得る、および/または移動され得る。ユーザの眼の焦点が、仮想オブジェクトに向けられる場合、仮想オブジェクトは、より不透明にされ得る、より大きくされ得る、シャープにされ得る、および/または移動され得る。仮想オブジェクトは、HMDを装着しているユーザにしか可視でないので、仮想オブジェクトの外見のそのような変化は、ユーザのほかのすべての人に不可視であり得る。したがって、ユーザがユーザの眼の焦点を調整することによって、ユーザは、人とその人の顔の上に重ね合わされる仮想オブジェクトとの間でユーザの注意を切り替えることができる。ユーザが人または異なる仮想オブジェクトにユーザの注意を向けたときはいつでも、ステップ860において判定された時間量はリセットされ得る。したがって、ユーザがユーザの眼の焦点を周期的に変更する限り、仮想オブジェクトの表示はそのままであり得る。
【0088】
図9に、ユーザが見ている場所に基づいて話をしている人の顔の上にHMDによって重ね合わせた仮想オブジェクトの表示を調整するための方法900の一実施形態を示す。方法900は、HMDを有するARデバイスとして機能するように構成された
図1のシステム100または何らかの他のシステムを使用して実行され得る。コンピュータシステムまたは、より一般的には、コンピュータ化デバイスは、方法900のステップのうちの少なくともいくつかを実行するために使用され得る。方法900を実行するための手段は、カメラ、顔識別および追跡モジュール、顔重ね合わせモジュール、識別情報データベース、動き/焦点追跡モジュール、通信モジュール、ユーザインターフェースモジュール、ディスプレイモジュール、およびユーザ選好モジュールなど、画像キャプチャモジュールを含む。モジュールの機能のうちの少なくともいくつかは、プロセッサを使用して実行され得る。
【0089】
ステップ910において、場面の画像がキャプチャされ得る。場面は、ARデバイスのユーザに可視である現実世界のエンティティ(たとえば、人々および/またはオブジェクト)のものであり得る。場面は、ユーザの眼で直接ユーザによってライブで閲覧され得る。場面は、表示画像としてユーザに提示され得ない。場面の画像は、毎秒複数回(たとえば、30フレーム毎秒)など、周期的にキャプチャされ得る。
図1のシステム100を参照すると、画像をキャプチャするために、カメラなどの画像キャプチャモジュールが使用され得る。方法900全体にわたって、表示される仮想オブジェクトの位置を更新するために、場面の画像がキャプチャされ続け得ることを理解されたい。
【0090】
ステップ920において、場面内の1つまたは複数の顔の位置(ロケーション)が判定され得る。判定された場面内の顔の位置の数は、場面内に存在する人の数に基づき得る。場面内に顔が存在しない場合、顔の位置は判定され得ない。たとえば、5人が存在する場合、顔の5つの位置が判定され得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の顔の位置を判定し得る。
【0091】
ステップ930において、場面内のステップ920において位置を特定された顔ごとに、顔に関連する人の識別情報が判定され得る。顔の画像を人の記憶された表現と比較するために、システム100の識別情報データベース125など、識別情報のデータベースがアクセスされ得る。人の識別情報が判定され得ない場合、顔は、未知の人に属するものとして扱われ得る。
図1のシステム100を参照すると、顔識別および追跡モジュール120は、画像キャプチャモジュール110によってキャプチャされた画像内に存在する1人または複数の人の識別情報を判定し得る。
【0092】
ステップ940において、場面内に存在する1人または複数の人の顔の上への重ね合わせのために仮想オブジェクトが選択され得る。複数の人が存在する場合、複数の仮想オブジェクトが選択され得る。前に説明したように、どの仮想オブジェクトが人の顔の上に提示されるべきかを判定するために、人および/または仮想オブジェクトのためのランキングシステムが使用され得る。いくつかの実施形態では、仮想オブジェクトを表示のために選択し、人の顔の上に重ね合わせることは、どの人がユーザの最も近くにいるのか、どの人が通話をしているのか、および/またはどの人がユーザを見ているのかを判定することを伴い得る。さらに、どの仮想オブジェクトが人の顔の上に重ね合わされるかは、あらかじめ定義された時間量の後に変動し得る。仮想オブジェクトが人の顔の上に重ね合わされるか否か、および/またはどの仮想オブジェクトが重ね合わされるかを判定するために、
図1のユーザインターフェースモジュール160などを介したユーザ入力も使用され得る。たとえば、ユーザは、ユーザがどの仮想オブジェクトと対話することを希望するかを選択し得る。
【0093】
ステップ950において、仮想オブジェクトが、表示のために人の顔の上に重ね合わされ得る。ステップ920において識別された位置に基づいて人の顔の上に提示されるべき仮想オブジェクトがHMDによって位置を特定され得る。仮想オブジェクトは、ウェブページ、電子メールアカウント、ソーシャルメディアアカウント、ストックティッカー、アプリケーション、ゲームなど、ユーザが閲覧することを望む任意の形態のテキスト、グラフィックス、および/またはデータであり得る。仮想オブジェクトのコンテンツは、顔の上に仮想オブジェクトが重ね合わされる人に無関係であり得る。したがって、人の識別情報および人の身体特性にかかわらず、仮想オブジェクトのコンテンツがユーザに提示され得る。現実世界の場面は、ユーザによって直接閲覧され得るが、仮想オブジェクトは、仮想オブジェクトが人の顔(または頭)の上に重ね合わされて見えるように、眼鏡などを介してユーザに投影され得る。ユーザに仮想オブジェクトを提示するためにHMDが使用され得るので、ユーザのほかの他の人は仮想オブジェクトを閲覧することが不可能であり得る。
【0094】
複数の人が存在する場合、
図2の一人称視点200などにおいて、異なる仮想オブジェクトが各人の顔または頭の上に重ね合わされた状態で、複数の仮想オブジェクトが提示され得る。人が移動するにつれて、仮想オブジェクトは、仮想オブジェクトが少なくとも人の顔の上に近似的に重ね合わされたままであるように移動し得る。仮想オブジェクトのテキストまたは他の要素をユーザがより容易に閲覧することが可能になるように、人の顔または頭のわずかな移動は仮想オブジェクトの位置に影響を及ぼし得ない。仮想オブジェクトのサイズは、仮想オブジェクトが重ね合わされる人とユーザとの間の距離に基づいて調整され得る。仮想オブジェクトが人の顔の上に重ね合わされることによって、ユーザが仮想オブジェクトにユーザの注意の少なくとも一部を向けている間に、ユーザは、アイコンタクトを維持している(または、少なくともその人を見ている)ようにその人に見えることが可能であり得る。
【0095】
ステップ960において、ユーザが天井または床を見ていると判定され得る。これは、いくつかの方法の合成物であり得る。いくつかの実施形態では、ユーザが(たとえば、天井を)見上げているまたは(たとえば、床を)見下ろしている可能性があるかどうかを判定するために、ユーザの頭の角度および/またはユーザの眼が見ている方向が水平線からのしきい値角度と比較され得る。一例として、しきい値角度は、水平線の上下60°であり得る。他の実施形態では、ユーザが天井または床を見ているかどうかを判定するためのオブジェクト認識のために、ステップ910においてキャプチャされた画像のうちの1つまたは複数が使用され得る。ユーザが見上げているかまたは見下げている場合、これは、仮想オブジェクトがユーザに表示される形式をARデバイスが変更するためのトリガとなり得る。たとえば、これは、場面内に存在する人の顔の上に仮想オブジェクトが重ね合わされるべきではなく、むしろ、天井または床の上に重ね合わされる代替形式で提示されるべきであることを示すユーザから入力の形態であり得る。天井を見上げていることまたは床を見下げていることは、ユーザが仮想オブジェクトと対話しているという手掛かりを場面内に存在する人に必ずしも与えるとは限らないことがある。むしろ、ユーザは、集中しているかまたは考え込んでいるように見え得る。
【0096】
ステップ970において、場面内に存在する人の顔の上に重ね合わせられた仮想オブジェクトの各々は、それらの人の上に重ね合わされるのを中止し得、代わりに、ユーザが見上げている場合は、天井の上に、またはユーザが見下げている場合は、床の上に重ね合わされ得る。したがって、ユーザが天井を見上げているか、または床を見下げているとき、場面内の人の移動は、仮想オブジェクトの提示に影響を及ぼし得ない。仮想オブジェクトは、
図3の場合のようにユーザに提示され得る。たとえば、各仮想オブジェクトは、ユーザに水平連なりの同じサイズで提示され得る。ユーザは、拡大のために特定の仮想オブジェクトを選択することが可能であり得る。ユーザが天井を見上げているか、または床を見下げているとき、ユーザへの仮想オブジェクトの提示のために他の表示形式も使用され得る。
【0097】
ステップ980において、ユーザの焦点が人を含んでいる場面に戻ったと判定され得る。これは、いくつかの方法の合成物であり得る。いくつかの実施形態では、ユーザが場面内の人を見ている可能性があるかどうかを判定するために、ユーザの頭の角度および/またはユーザの眼が見ている方向が水平線からのしきい値角度と比較され得る。一例として、しきい値角度は、水平線の上下45°であり得る。他の実施形態では、ユーザが人のおおまかな方向を見ているかどうかを判定するためのオブジェクト認識のために、ステップ910においてキャプチャされた画像のうちの1つまたは複数が使用され得る。ユーザが見上げているかまたは見下げている場合、これは、仮想オブジェクトが場面内に存在する人の顔の上に重ね合わされてユーザに表示される形式をARデバイスが変更するためのトリガとなり得る。
【0098】
ステップ990において、仮想オブジェクトは、場面内に存在する人の顔の上に重ね合わされるように戻り得る。したがって、仮想オブジェクトは、ステップ950において仮想オブジェクトが重ね合わされたのと同じ人の顔の上に重ね合わされ得る。たとえば、ユーザが再び天井を見上げるかまたは床を見下ろした場合、方法900のそのようなステップが繰り返され得、ステップ960および970が繰り返され得る。
【0099】
上記の説明は、仮想オブジェクトが人の顔の上に重ね合わされることに焦点を当てているが、仮想オブジェクトが人の顔からの距離を維持される実施形態が作成され得ることを理解されたい。たとえば、仮想オブジェクトが人の顔の左側または右側までの距離が維持され得、したがって、会話中のユーザによる左側または右側への一瞥が仮想オブジェクトを閲覧するために使用され得る。
【0100】
図10に示すコンピュータシステムは、前に説明したARデバイスの一部分として組み込まれ得る。たとえば、コンピュータシステム1000は、本出願で説明するHMDおよびARデバイスの構成要素のうちのいくつかを表すことができる。コンピュータシステム1000は、
図1のシステム100の様々な構成要素の機能を実行し得る。コンピュータシステム1000は、装着可能なモバイルデバイスに組み込まれ得る。
図10は、様々な他の実施形態によって提供される方法を実行することができるコンピュータシステム1000の一実施形態の概略図を提供する。
図10が、その一部または全部を適宜利用することができる様々な構成要素を概略的に示すものにすぎないことに留意されたい。したがって、
図10は、個別のシステム要素が、比較的分離方式でまたは比較的より一体方式で、どのように実装され得るかを広範囲に示している。
【0101】
コンピュータシステム1000は、バス1005を介して電気的に結合され得る(あるいはその他の様式で、適宜、通信し得る)ハードウェア要素を含むように示されている。ハードウェア要素には、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の(デジタル信号処理チップ、グラフィックス加速プロセッサなどの)専用プロセッサを含む1つもしくは複数のプロセッサ1010と、限定はしないが、マウス、キーボードなどを含むことができる1つもしくは複数の入力デバイス1015と、限定はしないが、表示デバイス、プリンタなどを含むことができる1つもしくは複数の出力デバイス1020とが含まれ得る。
【0102】
コンピュータシステム1000は、1つまたは複数の非一時的ストレージデバイス1025をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的ストレージデバイス1025は、限定することなく、ローカルおよび/もしくはネットワークアクセス可能な記憶装置を含むことができ、ならびに/または限定することなく、プログラム可能、フラッシュ更新可能などとすることができる、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリメモリ(「ROM」)などのソリッドステートストレージデバイスを含み得る。そのようなストレージデバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む任意の適切なデータストアを実装するように構成され得る。
【0103】
コンピュータシステム1000は、限定はしないが、モデム、ネットワークカード(ワイヤレスまたは有線)、赤外線通信デバイス、ワイヤレス通信デバイス、および/もしくは(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)チップセット、ならびに/または同様のものを含むことができる、通信サブシステム1030をも含み得る。通信サブシステム1030は、ネットワーク(一例を挙げると、以下で説明するネットワークなど)、他のコンピュータシステム、および/または本明細書で説明した任意の他のデバイスとデータを交換することを可能にし得る。多くの実施形態では、コンピュータシステム1000は、上記で説明したようにRAMデバイスまたはROMデバイスを含むことができる作業メモリ1035をさらに含むことになる。
【0104】
コンピュータシステム1000は、本明細書で説明するように、オペレーティングシステム1040、デバイスドライバ、実行可能ライブラリ、および/または様々な実施形態によって提供されるコンピュータプログラムを含み得、かつ/もしくは方法を実装し、かつ/もしくは他の実施形態によって実現されるシステムを構成するように設計され得る、1つもしくは複数のアプリケーションプログラム1045などの他のコードを含む、作業メモリ1035内に現在配置されているものとして図示されている、ソフトウェア要素をも含むことができる。単に例として、上記で説明した方法に関して説明した1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することも可能であり、次いで、一態様において、そのようなコードおよび/または命令は、説明した方法に従って1つまたは複数のオペレーションを実行するように汎用コンピュータ(または他のデバイス)を構成し、および/または適合させるために使用され得る。
【0105】
これらの命令および/またはコードのセットは、上記で説明した非一時的ストレージデバイス1025などの非一時的コンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム1000などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体が命令/コードを記憶した汎用コンピュータをプログラムする、構成する、および/または適合させるために使用され得るように、記憶媒体は、コンピュータシステムから分離され得(たとえば、コンパクトディスクなどの取外し可能媒体)、かつ/またはインストールパッケージ内に備えられ得る。これらの命令は、コンピュータシステム1000で実行可能であり、かつ/または、(たとえば、様々な一般的に利用できるコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム1000上にコンパイルおよび/またはインストールすると、ソースコードおよび/または実行コードの形態を取り、次いで実行可能コードの形態を取る、実行可能コードの形態を取り得る。
【0106】
特定の要件に従って実質的な変形が行われ得ることが、当業者には明らかであろう。たとえば、カスタマイズされたハードウェアも使用され得、かつ/または特定の要素が、ハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、もしくはその両方で実装され得る。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が使用され得る。
【0107】
上述のように、一態様では、いくつかの実施形態は、(コンピュータシステム1000などの)コンピュータシステムを使用して、本発明の様々な実施形態による方法を実行し得る。一組の実施形態によれば、そのような方法の手順の一部または全部は、プロセッサ1010が作業メモリ1035内に収容されている(オペレーティングシステム1040および/またはアプリケーションプログラム1045などの他のコードに組み込まれる場合がある)1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、コンピュータシステム1000によって実行される。そのような命令は、非一時的ストレージデバイス1025のうちの1つまたは複数のなどの別のコンピュータ可読記録媒体から作業メモリ1035に読み込まれ得る。単に例として、作業メモリ1035に含まれている命令のシーケンスの実行は、プロセッサ1010に、本明細書に記載された方法の1つまたは複数の手順を実行させ得る。
【0108】
本明細で使用する「機械可読記録媒体」および「コンピュータ可読記録媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピュータシステム1000を使用して実装される一実施形態では、様々なコンピュータ可読記録媒体は、実行のためにプロセッサ1010に命令/コードを与えることに関与し得、かつ/またはそのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装形態では、コンピュータ可読記録媒体は、物理記憶媒体および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態を取り得る。不揮発性媒体には、たとえば、非一時的ストレージデバイス1025などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、限定はしないが、作業メモリ1035などのダイナミックメモリが含まれる。
【0109】
一般的な形態の物理コンピュータ可読記録媒体および/または有形コンピュータ可読記録媒体には、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、何らかのパターンで穴があけられている任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、あるいはコンピュータが命令および/またはコードを読み取ることができる任意の他の媒体が含まれる。
【0110】
様々な形態のコンピュータ可読記録媒体は、実行のためにプロセッサ1010に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与し得る。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、命令をその動的メモリ内にロードし、コンピュータシステム1000によって受信および/または実行されるべき伝送媒体上の信号として、命令を送信し得る。
【0111】
通信サブシステム1030(および/またはその構成要素)は、一般に信号を受信し、次いでバス1005は、信号(および/または信号によって搬送されたデータ、命令など)を作業メモリ1035に搬送し、プロセッサ1010は、そこから命令を取り出し、実行する。作業メモリ1035によって受信された命令は、随意に、プロセッサ1010による実行の前または後のいずれかに非一時的ストレージデバイス1025に記憶され得る。
【0112】
上記で説明した方法、システム、およびデバイスは例である。様々な構成は、様々な手順または構成要素を適宜、省略、置換、または追加し得る。たとえば、代替の構成では、本方法は、説明した順序とは異なる順序で実行され得、かつ/または様々なステージが、追加、省略、および/もしくは連結され得る。また、いくつかの構成に関して説明した特徴が様々な他の構成内に組み合わされ得る。構成の様々な態様および要素は、同様の方式で組み合わされ得る。また、技術は発展するものであり、したがって、要素の多くは例であり、本開示の範囲または特許請求の範囲を限定しない。
【0113】
(実装形態を含む)例示的な構成を完全に理解するために、説明には具体的な詳細が与えられている。しかしながら、構成は、これらの具体的な詳細なしに実施され得る。たとえば、構成を不明瞭にしないように、よく知られている回路、プロセス、アルゴリズム、構造、および技法を不要な詳細なしに示してある。この説明は、例示的な構成を与えるものに過ぎず、特許請求の範囲の範囲、適用可能性または構成を制限するものではない。むしろ、これらの構成の上述の説明は、説明した技法を実装するための有効な説明を当業者に提供することになる。本開示の趣旨または範囲から逸脱することなく、要素の機能および構成に様々な変更を加え得る。
【0114】
また、構成は、流れ図またはブロック図として示されるプロセスとして説明され得る。それぞれ動作を逐次プロセスとして説明し得るが、動作の多くは、並行して、または同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、図に含まれていない追加のステップを有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの非一時的コンピュータ可読記録媒体に記憶され得る。プロセッサは説明したタスクを実行し得る。
【0115】
いくつかの例示的な構成について説明してきたが、本開示の趣旨から逸脱することなく様々な変更、代替構造、および均等物が使用され得る。たとえば、上記の要素は、より大きいシステムの構成要素であり得、ここにおいて、他の規則が、本発明の適用例よりも優先されるか、または本発明の適用例を変更し得る。また、上記の要素が考慮される前に、その間に、またはその後に、いくつかのステップが行われ得る。したがって、上記の説明は、特許請求の範囲を制限しない。