(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】遮られた物理的オブジェクトの位置を示すこと
(51)【国際特許分類】
G06T 19/00 20110101AFI20231114BHJP
【FI】
G06T19/00 600
【外国語出願】
(21)【出願番号】P 2022045469
(22)【出願日】2022-03-22
【審査請求日】2022-03-28
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-01-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100210239
【氏名又は名称】富永 真太郎
(72)【発明者】
【氏名】パヴェル ヴェセリノフ デュドゥレノフ
(72)【発明者】
【氏名】エドウィン イスカンダル
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2018-022292(JP,A)
【文献】特開2003-044868(JP,A)
【文献】特開2015-143976(JP,A)
【文献】特開2005-293142(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
を含
み、
前記物理的オブジェクトが、物理的エージェントに対応し、前記方法が、前記環境データに基づいて、前記物理的エージェントに関連付けられた移動特性を検出することを更に含み、前記メッシュを生成することが、更に、前記移動特性が移動基準を満たすと判定したことに応じている、
方法。
【請求項2】
前記メッシュを表示することが、前記コンピュータ生成コンテンツの前記一部分に関連付けられた透明度特性を増加させることに対応する、請求項1に記載の方法。
【請求項3】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
を含み、
前記メッシュが、前記物理的オブジェクトに関連付けられた影を示す
、方法。
【請求項4】
前記方法が、前記メッシュを前記非一時的メモリに記憶することを更に含み、前記メッシュを表示することが、前記メッシュを前記物理的オブジェクトに関連付けられた前記環境データの一部分と合成することを含み、前記合成することが、前記非一時的メモリから前記メッシュを取り出すことを含む、請求項1に記載の方法。
【請求項5】
前記環境データに基づいて、前記物理的オブジェクトに関連付けられた複数の位置値を判定することを更に含み、前記複数の位置値が、前記第1の位置値を含み、前記メッシュを生成することが、前記複数の位置値に基づく、請求項1に記載の方法。
【請求項6】
前記遮蔽基準が満たされていることを識別することが、
前記複数の位置値の少なくとも一部分に基づいて、前記コンピュータ生成コンテンツの前記一部分が前記ディスプレイ上で前記物理的オブジェクトの前記対応する部分と少なくとも部分的に重なり合うと判定することと、
前記複数の位置値の少なくとも一部分に基づいて、前記コンピュータ生成コンテンツの前記一部分が前記物理的オブジェクトに関連付けられたそれぞれの深度値未満のそれぞれの深度値に関連付けられていると判定することと、
を含む、
請求項5に記載の方法。
【請求項7】
前記1つ以上の環境センサが、深度データを出力する深度センサを含み、前記複数の位置値が、前記深度データに基づく複数の深度値を含み、前記深度値が、前記物理的エージェントを特徴付けており、前記メッシュが、前記複数の深度値に基づく体積メッシュに対応する、請求項5に記載の方法。
【請求項8】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
を含み、
前記遮蔽基準が満たされていることを識別することが、前記コンピュータ生成コンテンツの前記一部分が閾値を上回る不透明度特性に関連付けられていると判定することを含む
、方法。
【請求項9】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
前記環境データに基づいて、前記物理的オブジェクトに関連付けられたセマンティック値を取得することと、
前記セマンティック値がオブジェクト基準を満たすと判定することと、
を含み、
前記メッシュを生成することが、更に、前記セマンティック値が前記オブジェクト基準を満たすと判定したことに応じている、
方法。
【請求項10】
前記セマンティック値が物理的エージェントを示す場合に、前記セマンティック値が前記オブジェクト基準を満たす、請求項9に記載の方法。
【請求項11】
前記セマンティック値が既定のオブジェクトタイプを示す場合に、前記セマンティック値が前記オブジェクト基準を満たす、請求項9に記載の方法。
【請求項12】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
を含み、
前記物理的オブジェクトが、物理的エージェントに対応し、前記方法が、前記環境データに基づいて、前記物理的エージェントに関連付けられた姿勢特性を判定することを更に含み、前記メッシュを生成することが、更に、前記姿勢特性が姿勢基準を満たすと判定したことに応じている
、方法。
【請求項13】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
を含み、
前記電子デバイスが、視線追跡データを出力するアイトラッカを含み、前記視線追跡データが、ユーザの視線位置を示し、前記メッシュを生成することが、更に、前記視線位置が前記コンピュータ生成コンテンツの前記一部分に対する近接閾値を満たすと判定したことに応じている
、方法。
【請求項14】
前記第1の位置値に基づいて、前記物理的オブジェクトの前記対応する部分に関連付けられた輪郭を判定することを更に含み、前記メッシュを生成することが、前記輪郭に基づく、請求項1に記載の方法。
【請求項15】
前記1つ以上の環境センサが、画像データを出力する画像センサを含み、前記画像データが、前記物理的オブジェクトを表す、請求項1に記載の方法。
【請求項16】
方法であって、
1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む電子デバイスにおいて、
前記ディスプレイ上にコンピュータ生成コンテンツを表示することと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別することと、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成することと、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示することと、
を含み、
前記1つ以上の環境センサが、物理的環境からの周囲光を感知して、対応する周囲光データを出力する、周囲光センサを含み、前記対応する周囲光データが、前記物理的オブジェクトに関連付けられている
、方法。
【請求項17】
前記1つ以上の環境センサが、深度センサデータを出力する深度センサを含み、前記深度センサデータが、前記物理的オブジェクトに関連付けられた1つ以上の深度値を示す、請求項1に記載の方法。
【請求項18】
1つ以上の環境センサと、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定するためのオブジェクトトラッカと、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別するためのコンテンツ識別器と、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成するためのメッシュ生成器であって、前記コンテンツ識別器が前記遮蔽基準を満たすコンピュータ生成コンテンツの前記一部分を識別したことに基づいて、前記メッシュを生成する、メッシュ生成器と、
前記コンピュータ生成コンテンツの前記一部分と重なり合う前記メッシュを表示するためのディスプレイと、
を備え
、
前記物理的オブジェクトが、物理的エージェントに対応し、前記オブジェクトトラッカが、前記環境データに基づいて、前記物理的エージェントに関連付けられた移動特性を検出し、前記メッシュを生成することが、更に、前記移動特性が移動基準を満たすと判定したことに応じている、
システム。
【請求項19】
1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、1つ以上のプロセッサと、1つ以上の環境センサと、ディスプレイとを有する電子デバイスによって実行されると、前記電子デバイスに、
前記ディスプレイ上にコンピュータ生成コンテンツを表示させ、
前記1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定させ、
前記第1の位置値に基づいて、前記物理的オブジェクトの対応する部分に対する遮蔽基準を満たす前記コンピュータ生成コンテンツの一部分を識別させ、
前記遮蔽基準が満たされていることを識別したことに応じて、
前記第1の位置値に基づいて、前記物理的オブジェクトに関連付けられたメッシュを生成させ、
前記ディスプレイ上に前記メッシュであって、前記メッシュが、前記コンピュータ生成コンテンツの前記一部分と重なり合う、前記メッシュを表示さ
せ、
前記物理的オブジェクトが、物理的エージェントに対応し、前記命令が、前記電子デバイスに、前記環境データに基づいて、前記物理的エージェントに関連付けられた移動特性を検出させ、前記メッシュを生成することが、更に、前記移動特性が移動基準を満たすと判定したことに応じている、
非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンテンツを表示することに関し、具体的には、物理的オブジェクトに関連付けられたインジケータを表示することに関する。
【背景技術】
【0002】
いくつかの状況では、デバイスは、ディスプレイ上に、物理的オブジェクトの少なくとも第1の部分を遮るコンピュータ生成コンテンツを表示する。物理的オブジェクトは、デバイスのユーザにとって関心があることがある。コンピュータ生成コンテンツが物理的オブジェクトの第2の部分を遮らない場合、ユーザは、ディスプレイ上で第2の部分を見ることができ、したがって、遮蔽に気付くことができる。ユーザが第2の部分を見たことに基づいて、ユーザは、物理的オブジェクトのより多くを視認可能にするために、コンピュータ生成コンテンツを再配置する、又はデバイスを再配置することができる。しかしながら、デバイスは、コンピュータ生成コンテンツを再配置する、又はデバイスを再配置するために、計算リソースを利用する。更に、コンピュータ生成コンテンツが物理的オブジェクトの全体を遮る場合、ユーザが物理的オブジェクトの存在にまったく気付かないため、ユーザ体験が劣化する。
【発明の概要】
【0003】
いくつかの実装形態によれば、方法は、1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイとを有する電子デバイスにおいて実行される。この方法は、ディスプレイ上にコンピュータ生成コンテンツを表示することを含む。この方法は、1つ以上の環境センサからの環境データに基づいて、物理的オブジェクトに関連付けられた第1の位置値を判定することを含む。この方法は、第1の位置値に基づいて、物理的オブジェクトの対応する部分に対する遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別することを含む。この方法は、遮蔽基準が満たされていることを識別したことに応じて、第1の位置値に基づいて、物理的オブジェクトに関連付けられたメッシュを生成することと、ディスプレイ上にメッシュを表示することと、を含む。メッシュは、コンピュータ生成コンテンツの一部分と重なり合う。
【0004】
いくつかの実装形態によれば、電子デバイスは、1つ以上のプロセッサと、非一時的メモリと、1つ以上の環境センサと、ディスプレイと、を含む。1つ以上のプログラムは、非一時的メモリに記憶され、1つ以上のプロセッサによって実行されるように構成されており、1つ以上のプログラムは、本明細書に記載の方法のいずれかの動作を実行する又は実行させる命令を含む。いくつかの実装形態によれば、非一時的コンピュータ可読記憶媒体は、内部に命令を記憶しており、この命令は、電子デバイスの1つ以上のプロセッサによって実行されると、デバイスに本明細書に記載の方法のいずれかの動作を実行させる又は動作の実行を引き起こさせる。いくつかの実装形態によれば、電子デバイスは、本明細書に記載の方法のいずれかの動作を実行する又は実行させる手段を含む。いくつかの実装形態によれば、電子デバイスで使用するための情報処理装置は、本明細書に記載の方法のいずれかの動作を実行する又は実行させる手段を含む。
【図面の簡単な説明】
【0005】
説明される様々な実装形態のより良好な理解のために、以下の図面と併せて、以下の「発明を実施するための形態」を参照されたい。類似の参照番号は、それらの図の全体を通して対応する部分を指す。
【
図1】いくつかの実装形態に係る、ポータブル多機能デバイスの一例のブロック図である。
【
図2A】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2B】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2C】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2D】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2E】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2F】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2G】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2H】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2I】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2J】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2K】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2L】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図2M】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイスの例である。
【
図3】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分に対応するメッシュを生成及び表示するシステムのブロック図の例である。
【
図4】いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する方法のフロー図の例である。
【発明を実施するための形態】
【0006】
いくつかの状況では、デバイスは、ディスプレイ上に、物理的(例えば、現実世界の)オブジェクトの少なくとも第1の部分を遮る(例えば、視野から遮断する)コンピュータ生成コンテンツを表示する。物理的オブジェクトは、デバイスのユーザにとって関心があることがある。例えば、物理的オブジェクトは、ユーザの物理的環境を通って歩く個人などの物理的エージェントである。コンピュータ生成コンテンツが物理的オブジェクトの第2の部分を遮らない場合、ユーザは、ディスプレイ上で第2の部分を見ることができ、したがって、遮蔽に気付くことができる。したがって、ユーザは、物理的オブジェクトのより多くを視認可能にするために、コンピュータ生成コンテンツを再配置することができる。例えば、ユーザは、メニューインタフェースを却下する(例えば、閉じる)、又は仮想ディスプレイスクリーンを動作環境内の異なる位置に移動させることができる。デバイスは、コンピュータ生成コンテンツを再配置するために、計算リソースを利用する。追加的又は代替的に、ユーザは、デバイスが物理的オブジェクトのより多くを含む更新された視認領域を有するように、デバイスを再配置する(例えば、物理的環境に対してデバイスを再配置する又は向きを変える)ことができる。デバイスは、デバイスの再配置に基づいて、位置センサデータの取得及び処理に関連付けられた追加の計算リソースを利用する。更に、ユーザのコンピュータ生成コンテンツが物理的オブジェクトの全体を遮る場合、ユーザが物理的オブジェクトの存在にまったく気付かないため、ユーザ体験が劣化する。
【0007】
対照的に、様々な実装形態は、コンピュータ生成コンテンツによって遮られた物理的エージェントの一部分を示すオブジェクトインジケータを表示するための方法、システム、及び電子デバイスを含む。そのために、電子デバイスは、画像データ、深度データ、及び周囲光データの組み合わせなどの環境データの関数に基づいて、物理的オブジェクトに関連付けられた複数の位置値を判定する。コンピュータ生成コンテンツを表示している間に、電子デバイスは、複数の位置値に基づいて、物理的オブジェクトの対応する部分に対する遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別する。例えば、コンピュータ生成コンテンツは、ディスプレイ上で物理的オブジェクトと少なくとも部分的に重なり合う。別の例として、物理的オブジェクトは、コンピュータ生成コンテンツに関連付けられた第1の深度値よりも大きい1つ以上の深度値に関連付けられている。電子デバイスは、物理的オブジェクトの対応する部分を示すオブジェクトインジケータを表示する。オブジェクトインジケータは、コンピュータ生成コンテンツの一部分と重なり合う。いくつかの実装形態では、電子デバイスは、物理的オブジェクトに関連付けられたセマンティック値に基づいて、セマンティック値が物理的エージェント(例えば、人、動物、又はロボット)又は既定の(例えば、ユーザが定義した)オブジェクトを示す場合などに、オブジェクトインジケータを表示する。例えば、電子デバイスは、物理的オブジェクトを表す画像データをキャプチャする画像センサを含み、電子デバイスは、「人」を意味的に識別するために、画像データに対してセマンティックセグメンテーションを実行する。
【0008】
いくつかの実装形態では、電子デバイスは、複数の位置値に基づいて、物理的オブジェクトに関連付けられたメッシュを生成し、電子デバイスは、メッシュをオブジェクトインジケータとして表示する。例えば、メッシュは、物理的オブジェクトに関連付けられた深度値(単数又は複数)に基づく体積(例えば、3次元(3D))メッシュであり、深度値(単数又は複数)は、深度センサからの深度データ内に示されている。いくつかの実装形態では、電子デバイスは、電子デバイスの非一時的メモリ(例えば、バッファ)にメッシュを記憶する。電子デバイスは、メッシュを環境データの対応する部分と合成するために、非一時的メモリからメッシュを取り出すことができる。言い換えれば、電子デバイスは、メッシュ生成中にメッシュを記憶するため及び合成中にメッシュを取り出すために共通のメモリを利用する。したがって、電子デバイスは、メッシュ生成中にメッシュを第1のメモリに記憶すること、第1のメモリから第2のメモリにメッシュをコピーすること、及び合成中に第2のメモリからメッシュを取り出すことと比較して、より少ない待ち時間で、かつより少ない計算リソースを使用しながら、メッシュを合成する。
【0009】
[説明]
ここで、添付図面に実施例が示される実装形態への詳細な参照が行われる。以下の詳細な説明では、説明される様々な実装形態の完全な理解を提供するために、数多くの具体的な詳細が記載されている。しかしながら、記載されている様々な実装形態は、これらの具体的な詳細なしに実施することができることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実装形態の態様を不必要に不明瞭にしないように、詳細には説明されていない。
【0010】
本明細書では、第1、第2などの用語は、いくつかの実施例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実装形態の範囲から逸脱することなく、第1の接触は、第2の接触と呼ぶことができ、同様に、第2の接触は、第1の接触と呼ぶことができる。第1の接触及び第2の接触は両方とも接触であるが、文脈がそうではないことを明確に示さない限り、それらは同じ接触ではない。
【0011】
本明細書に記載する様々な実装形態の説明で使用される用語は、特定の実装形態を説明することのみを目的とし、限定的であることは意図されていない。説明される様々な実装形態の説明及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
【0012】
本明細書で使用されるとき、用語「if(~の場合)」は、任意選択的に、文脈に応じて「when(~のとき)」、又は「upon(~すると)」、又は「in response to determining(~と判定したことに応じて)」、又は「in response to detecting(~を検出したことに応じて)」を意味するものと解釈される。同様に、語句「if it is determined(~と判定される場合)」又は「if (a stated condition or event) is detected((述べられた条件又はイベント)が検出される場合)」は、任意選択的に、文脈に応じて「upon determining(~と判定すると)」若しくは「in response to determining(~と判定したことに応じて)」、又は「upon detecting(the stated condition or event)((述べられた条件又はイベント)を検出すると)」若しくは「in response to detecting(the stated condition or event)((述べられた条件又はイベント)を検出したことに応じて)」を意味するものと解釈される。
【0013】
物理的環境とは、人々が電子デバイスの助けなしに、感知及び/又は対話することができる物理的世界を指す。物理的環境は、物理的表面又は物理的オブジェクトなどの物理的特徴を含むことができる。例えば、物理的環境は、物理的な木、物理的な建物、及び物理的な人々を含む物理的な公園に対応する。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、かつ/又はそれと対話することができる。対照的に、拡張現実(extended reality、XR)環境は、人々が電子デバイスを介して感知及び/又は対話する、全体的又は部分的にシミュレートされた環境を指す。例えば、XR環境は、拡張現実(augmented reality、AR)コンテンツ、複合現実(mixed reality、MR)コンテンツ、仮想現実(virtual reality、VR)コンテンツなどを含むことができる。XRシステムでは、人の身体運動のサブセット又はその表現が追跡され、それに応じて、XR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調整される。一例として、XRシステムは、頭部の移動を検出し、それに応じて、そのようなビュー及び音が物理的環境において変化するのと同様に、人に提示されるグラフィカルコンテンツ及び音場を調整することができる。別の例として、XRシステムは、XR環境を提示する電子デバイス(例えば、携帯電話、タブレット、ラップトップなど)の移動を検出し、それに応じて、そのようなビュー及び音が物理的環境において変化するのと同様に、人に提示されたグラフィカルコンテンツ及び音場を調整することができる。状況によっては(例えば、アクセス性の理由から)、XRシステムは、身体運動の表現(例えば、音声コマンド)に応じて、XR環境内のグラフィカルコンテンツの特性(単数又は複数)を調整することができる。
【0014】
人が様々なXR環境を感知し、かつ/又はそれと対話することを可能にする、多くの異なるタイプの電子システムが存在する。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(heads-up displays、HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する若しくは有さない、装着型コントローラ又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。代替的に、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の撮像センサ、及び/又は物理的環境の音声をキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。ヘッドマウントシステムは、不透明ディスプレイではなく、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。いくつかの実装形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィカル画像を人の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
【0015】
図1は、いくつかの実装形態に係る、ポータブル多機能デバイス100(簡潔にするために本明細書では「電子デバイス100」とも呼ばれることがある)の一例のブロック図である。電子デバイス100は、メモリ102(例えば、1つ以上の非一時的コンピュータ可読記憶媒体)と、メモリコントローラ122と、1つ以上の処理ユニット(CPU)120と、周辺機器インタフェース118と、入力/出力(input/output、I/O)サブシステム106と、ディスプレイシステム112と、慣性測定ユニット(inertial measurement unit、IMU)130と、画像センサ(単数又は複数)143(例えば、カメラ)と、接触強度センサ(単数又は複数)165と、オーディオセンサ(単数又は複数)113(例えば、マイクロフォン)と、視線追跡センサ(単数又は複数)164(例えば、ヘッドマウントデバイス(head-mountable device、HMD)内に含まれる)と、先端追跡センサ150と、他の入力又は制御デバイス(単数又は複数)116と、を含む。いくつかの実装形態では、電子デバイス100は、携帯電話、タブレット、ラップトップ、ウェアラブルコンピューティングデバイス、ヘッドマウントデバイス(HMD)、ヘッドマウントエンクロージャ(例えば、電子デバイス100は、ヘッドマウントエンクロージャ内に摺動する、又は別の方法でそれに取り付けられる)などのうちの1つに対応する。いくつかの実装形態では、ヘッドマウントエンクロージャは、ディスプレイを有する電子デバイス100を受け入れるためのレセプタクルを形成するように成形されている。
【0016】
いくつかの実装形態では、周辺機器インタフェース118、1つ以上の処理ユニット120、及びメモリコントローラ122は、任意選択的に、チップ103などの単一チップ上に実装される。いくつかの他の実装形態では、それらは、任意選択的に、別々のチップ上に実装される。
【0017】
I/Oサブシステム106は、ディスプレイシステム112及び他の入力又は制御デバイス116などの、電子デバイス100の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156と、画像センサコントローラ158と、強度センサコントローラ159と、オーディオコントローラ157と、視線追跡コントローラ160と、他の入力又は制御デバイス用の1つ以上の入力コントローラ152と、IMUコントローラ132と、先端追跡コントローラ180と、プライバシーサブシステム170と、を含む。1つ以上の入力コントローラ152は、他の入力又は制御デバイス116から電気信号を受信し、それらへ電気信号を送信する。その他の入力又は制御デバイス116は任意選択で、物理的ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的実装形態では、1つ以上の入力コントローラ152は、任意選択的に、キーボード、赤外線ポート、ユニバーサルシリアルバス(Universal Serial Bus、USB)ポート、スタイラス、指装着型デバイス、及び/又はマウスなどのポインタデバイスのうちのいずれかと結合される(又は、いずれにも結合されない)。1つ以上のボタンは、任意選択的に、プッシュボタンを含む。いくつかの実装形態では、他の入力又は制御デバイス116は、特定のオブジェクトに対する電子デバイス100の位置及び/又は向きに関する情報を取得する位置システム(例えば、GPS)を含む。いくつかの実装形態では、他の入力又は制御デバイス116は、物理的環境内の物理的オブジェクトを特徴付ける深度情報を取得する深度センサ及び/又は飛行時間センサを含む。いくつかの実装形態では、他の入力又は制御デバイス116は、物理的環境からの周囲光を感知して、対応する周囲光データを出力する、周囲光センサを含む。
【0018】
ディスプレイシステム112は、電子デバイス100とユーザの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、ディスプレイシステム112から電気信号を受信し、かつ/又はそれへ電気信号を送信する。ディスプレイシステム112は、ユーザに視覚出力を表示する。視覚出力は、任意選択的に、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(本明細書では「コンピュータ生成コンテンツ」と呼ばれることもある)を含む。いくつかの実装形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。本明細書で使用されるように、用語「アフォーダンス」は、ユーザ-対話形式のグラフィカルユーザインタフェースオブジェクト(例えば、グラフィカルユーザインタフェースオブジェクトに向かって方向付けられた入力に応答するように構成されたグラフィカルユーザインタフェースオブジェクト)を指す。ユーザ対話形式のグラフィカルユーザインタフェースオブジェクトの例は、ボタン、スライダ、アイコン、選択可能メニュー項目、スイッチ、ハイパーリンク、又はその他のユーザインタフェースコントロールを含むが、それらに限定されない。
【0019】
ディスプレイシステム112は、触覚及び/又は触知の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有することができる。ディスプレイシステム112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、ディスプレイシステム112上で接触(及び接触の任意の移動又は中断)を検出し、検出された接触をディスプレイシステム112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的な実装形態では、ディスプレイシステム112とユーザの間の接触点は、ユーザの指又は指装着型デバイスに対応する。
【0020】
ディスプレイシステム112は、任意選択的に、LCD(liquid crystal display)(液晶ディスプレイ)技術、LPD(light emitting polymer display)(発光ポリマーディスプレイ)技術、又はLED(light emitting diode)(発光ダイオード)技術を使用するが、他の実装形態では、他のディスプレイ技術が使用される。ディスプレイシステム112及びディスプレイコントローラ156は、任意選択的に、容量技術、抵抗性技術、赤外線技術、及び表面音響波技術、並びに、ディスプレイシステム112との1つ以上の接触点を判定するためのその他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在既知の又は後に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びその任意の移動又は中断を検出する。
【0021】
ユーザは、任意選択的に、スタイラス、指装着型デバイス、指などの任意の好適なオブジェクト又は付属物を使用して、ディスプレイシステム112と接触する。いくつかの実装形態では、ユーザインタフェースは、指ベースの接触及びジェスチャで動作するように設計されるが、これらは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど正確でないことがある。いくつかの実装形態では、電子デバイス100は、指による粗い入力を、正確なポインタ/カーソルの位置又はユーザによって所望されているアクションを実行するためのコマンドに変換する。
【0022】
オーディオ回路はまた、音波からオーディオセンサ113(例えば、マイクロフォン)によって変換された電気信号を受信する。オーディオ回路は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路から取り出され、かつ/又はメモリ102及び/若しくはRF回路に送信される。いくつかの実装形態では、オーディオ回路はまた、ヘッドセットジャックを含む。ヘッドセットジャックは、オーディオ回路と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0023】
慣性測定ユニット(IMU)130は、電子デバイス100に対する様々な力、角速度、及び/又は磁場情報を測定するために、加速度計、ジャイロスコープ、及び/又は磁気計を含む。したがって、様々な実装形態によれば、IMU130は、電子デバイス100が特定の方向に振られている、回転されている、移動されているなどの、電子デバイス100の1つ以上の位置変化入力を検出する。
【0024】
画像センサ(単数又は複数)143は、静止画像及び/又はビデオをキャプチャする。いくつかの実装形態では、タッチスクリーンを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用するために有効化するように、画像センサ143は、電子デバイス100の前面のタッチスクリーンの反対側である、電子デバイス100の背面に配置されている。いくつかの実装形態では、ユーザの画像が取得されるように(例えば、自撮りのため、ユーザがタッチスクリーン上で他のテレビ会議参加者を見ている間のテレビ会議のためなど)、別の画像センサ143が電子デバイス100の前面に配置されている。いくつかの実装形態では、画像センサ(単数又は複数)は、HMD内に統合される。例えば、画像センサ(単数又は複数)143は、物理的環境内の物理的オブジェクト(例えば、物理的エージェント)を表す画像データを出力する。
【0025】
接触強度センサ165は、電子デバイス100上の接触の強度(例えば、電子デバイス100のタッチ感知面上のタッチ入力)を検出する。接触強度センサ165は、I/Oサブシステム106内の強度センサコントローラ159と結合されている。接触強度センサ(単数又は複数)165は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を含む。接触強度センサ(単数又は複数)165は、物理的環境から接触強度情報(例えば、圧力情報又は圧力情報のプロキシ)を受信する。いくつかの実装形態では、少なくとも1つの接触強度センサ165は、電子デバイス100のタッチ感知面と並置されている、又はそれに近接している。いくつかの実装形態では、少なくとも1つの接触強度センサ165は、電子デバイス100の側面上に位置する。
【0026】
視線追跡センサ(単数又は複数)164は、電子デバイス100のユーザの視線を検出し、ユーザの視線位置を示す視線追跡データを生成する。様々な実装形態では、視線追跡データは、ヘッドマウントデバイス(HMD)、ヘッドマウントエンクロージャ、又はヘッドアップディスプレイ内のディスプレイパネルなどのディスプレイパネル上のユーザの固定点(例えば、注視点)を示すデータを含む。
【0027】
先端追跡センサ150は、ユーザの先端の位置を示す先端追跡データを取得する。例えば、いくつかの実装形態では、先端追跡センサ150は、特定のオブジェクト内のユーザの手又は指の位置を示す手追跡データを取得する手追跡センサに対応する。いくつかの実装形態では、先端追跡センサ150は、コンピュータビジョン技術を利用して、カメラ画像に基づいて、先端の姿勢を推定する。
【0028】
様々な実装形態では、電子デバイス100は、先端追跡データ、視線データ、及び/又はユーザに関連付けられた身体位置データに含まれるユーザ情報などのユーザ情報に関連付けられた1つ以上のプライバシー設定フィルタを含むプライバシーサブシステム170を含む。いくつかの実装形態では、プライバシーサブシステム170は、電子デバイス100又はその部分がユーザ情報を取得及び/又は送信することを選択的に防止及び/又は制限する。この目的のために、プライバシーサブシステム170は、ユーザにユーザの選好及び/又は選択を促したことに応じて、ユーザからユーザの選好及び/又は選択を受信する。いくつかの実装形態では、プライバシーサブシステム170は、プライバシーサブシステム170がユーザからインフォームドコンセントを取得するまで、電子デバイス100がユーザ情報を取得及び/又は送信することを防止する。いくつかの実装形態では、プライバシーサブシステム170は、特定のタイプのユーザ情報を匿名化する(例えば、スクランブルをかける又は不明瞭化する)。例えば、プライバシーサブシステム170は、どのタイプのユーザ情報をプライバシーサブシステム170が匿名化するかを指定するユーザ入力を受信する。別の例として、プライバシーサブシステム170は、ユーザ指定とは無関係に(例えば、自動的に)、機密情報及び/又は識別情報を含む可能性が高い特定のタイプのユーザ情報を匿名化する。
【0029】
図2A~
図2Mは、いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する電子デバイス210の例である。様々な実装形態では、電子デバイス210は、
図1に示す電子デバイス100と同様であり、それから適合されている。電子デバイス210は、物理的環境200に関連付けられている(例えば、その中に配置されている)。物理的環境200は、第1の壁202と、第2の壁204と、第1の壁202に対して位置する物理的サイドボード220と、を含む。
図2Aに示すように、ユーザ50は、物理的環境200の一部分に面している電子デバイス210を保持している。
【0030】
電子デバイス210は、ディスプレイ212を含む。ディスプレイ212は、物理的環境200の一部分を含む視認可能領域214に関連付けられている。
図2Aに示すように、視認可能領域214は、物理的サイドボード220と、第1の壁202の一部分と、第2の壁204の一部分と、を含む。視認可能領域214は、物理的環境200に対する電子デバイス210の位置又は向きの関数である。
【0031】
いくつかの実装形態では、電子デバイス210は、ディスプレイを含むモバイルデバイスに対応する。例えば、電子デバイス210は、スマートフォン、タブレット、又はラップトップに対応する。いくつかの実装形態では、電子デバイス210は、物理的環境200の表現を表示するための一体型ディスプレイ(例えば、内蔵ディスプレイ)を含むスマートウォッチ又はヘッドマウントデバイス(HMD)などのウェアラブルデバイスに対応する。いくつかの実装形態では、電子デバイス210は、ヘッドマウントエンクロージャを含む。ヘッドマウントエンクロージャは、ディスプレイを有する別のデバイスを取り付けることができる取り付け領域を含むことができる。ヘッドマウントエンクロージャは、ディスプレイを含む別のデバイス(例えば、電子デバイス210)を受け入れるためのレセプタクルを形成するように成形されていてもよい。例えば、いくつかの実装形態では、電子デバイス210は、ヘッドマウントエンクロージャ内に摺動する/スナップ嵌めされる、又は別の方法で取り付けられる。いくつかの実装形態では、ヘッドマウントエンクロージャに取り付けられたデバイスのディスプレイは、物理的環境200の表現を提示する(例えば、表示する)。例えば、いくつかの実装形態では、電子デバイス210は、ヘッドマウントエンクロージャに取り付けることができる携帯電話に対応する。
【0032】
電子デバイス210は、物理的環境200を特徴付ける対応するセンサデータを出力する1つ以上の環境センサを含む。例えば、いくつかの実装形態では、環境センサ(単数又は複数)は、シーンカメラなどの画像センサを含む。いくつかの実装形態では、画像センサは、物理的環境200を特徴付ける画像データを取得し、電子デバイス210は、ディスプレイ212上に表示するための表示データを生成するために、画像データをコンピュータ生成コンテンツと合成する。表示データは、XR環境によって特徴付けられてもよい。
【0033】
いくつかの実装形態では、ディスプレイ212は、シースルーディスプレイに対応する。シースルーディスプレイは、物理的環境200からの周囲光がシースルーディスプレイに入って表示されることを可能にする。例えば、シースルーディスプレイは、光学シースルーを伴うガラスなどの半透明ディスプレイである。いくつかの実装形態では、シースルーディスプレイは、光学HMD(optical HMD、OHMD)などの、物理的環境200の光学シースルーを可能にする付加ディスプレイである。画像データを合成することを含む実装形態とは異なり、付加ディスプレイは、ユーザがディスプレイ212を通して見ることを可能にしながら、ディスプレイ212から投影された画像を反射することができる。HMDは、物理的環境200の表示を可能にするために、シースルーディスプレイに入る周囲光にコンピュータ生成コンテンツを追加することができる。いくつかの実装形態では、シースルーディスプレイは、フォトクロミックレンズを含む。
【0034】
図2Bに示すように、電子デバイス210は、ディスプレイ212上にコンピュータ生成コンテンツを表示する。すなわち、コンピュータ生成コンテンツは、コンピュータ生成視認画面230を含み、コンピュータ生成視認画面230自体は、コンピュータ生成された犬232を含む。コンピュータ生成コンテンツは、メニュー(例えば、ヘッドアップディスプレイ(HUD))、3次元(3D)コンテンツ(例えば、仮想カウチ)などの任意のタイプのコンテンツに対応することができることを当業者は理解するであろう。いくつかの実装形態では、電子デバイス210は、コンピュータ生成コンテンツを記憶し、ローカルメモリ(例えば、キャッシュ又はRAM)からコンピュータ生成コンテンツを取り出す。いくつかの実装形態では、電子デバイス210は、コンピュータ生成コンテンツをサーバからダウンロードすることなどによって、別のシステムからコンピュータ生成コンテンツを取得する。
【0035】
いくつかの実装形態では、
図2Cに示すように、電子デバイス210は、ユーザ50の視線を追跡するアイトラッカ216を含む。そのために、アイトラッカ216は、ユーザ50の視線位置を示す視線追跡データ218を出力する。視線位置は、第1のレチクル219によって示されるように、コンピュータ生成された犬232に向けられている。オブジェクトインジケータを表示するかどうか及びどのように表示するかを判定するための視線位置の利用については、以下で説明する。
【0036】
図2Dに示すように、物理的エージェント240(例えば、個人)は、ユーザ50が位置する部屋に物理的エージェント240が入るときなどに、物理的環境200内を移動する。特に、物理的エージェント240の一部分は、視認可能領域214内にあり、電子デバイス210が物理的エージェント240を検出することを可能にする。
【0037】
環境データ244に基づいて、電子デバイス210は、オブジェクトトラッカ242を介して、物理的オブジェクトに関連付けられた複数の位置値248を判定する。電子デバイス210は、環境データ244を出力する1つ以上の環境センサを含む。例えば、1つ以上の環境センサは、物理的環境200からの周囲光を感知して、物理的環境200を表す対応する画像データを出力する、画像センサを含む。電子デバイス210は、コンピュータビジョン技術などにより、画像データに基づいて、複数の位置値248を識別することができる。例えば、電子デバイス210は、物理的オブジェクトの第1の部分に対応する第1のピクセル値を識別し、物理的オブジェクトの第2の部分に対応する第2のピクセル値を識別する。いくつかの実装形態では、環境データ244は、画像データと深度センサデータとの組み合わせを含む。
【0038】
別の例として、
図2Dを参照すると、複数の位置値248は、物理的エージェント240に関連付けられている。複数の位置値248は、物理的エージェント240のそれぞれの複数の位置を示す。例えば、複数の位置値248のうちの第1の位置値は、物理的エージェント240の右手の第1の位置を示し、第1の位置は、
図2Dの第2のレチクル246によって示されている。他の位置値は、左手、腹部、脚、頭部、顔などの物理的エージェント240の他の部分を示す。他の位置値に関連付けられたレチクルの例示は、明確化及び簡潔さのために
図2D~
図2Mから省略されている。いくつかの実装形態では、電子デバイス210は、物理的環境200を表す画像データを出力する画像センサを含み、オブジェクトトラッカ242は、物理的エージェント240の一部分に対応する画像データのピクセルのサブセットを(例えば、コンピュータビジョン技術により)識別する。例えば、ピクセルのサブセットの各々は、複数の位置値248の対応する1つに対応する。いくつかの実装形態では、オブジェクトトラッカ242は、「頭部」、「左手」、「右手」、「顔」などの1つ以上の対応するセマンティック値を判定するために、物理的エージェント240の1つ以上の部分を(例えば、セマンティックセグメンテーションにより)意味的に識別する。いくつかの実装形態では、電子デバイス210は、物理的エージェント240の一部分に関連付けられた深度データを出力する深度センサを含み、複数の位置値248は、深度データ内に示された1つ以上の深度値を含む。いくつかの実装形態では、電子デバイス210は、複数の位置値248を判定するために、複数の別個の環境センサ(例えば、画像センサ、深度センサ、周囲光センサ)からのデータを使用する。
【0039】
電子デバイス210は、複数の位置値248に基づいて、物理的オブジェクトの対応する部分に対する遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別するコンテンツ識別器250を含む。例えば、
図2Dを参照すると、コンテンツ識別器250は、物理的エージェント240及びコンピュータ生成コンテンツの一部分が
図2Dで互いに重なり合わないと判定し、したがって、遮蔽基準は満たされない。言い換えれば、コンテンツ識別器250は、遮蔽基準を満たすコンピュータ生成コンテンツの任意の部分をまだ識別していない。
図2Dに更に示すように、第1の移動線260によって示されるように、物理的エージェント240は、物理的サイドボード220の前に、物理的環境200にわたって左向きに移動し始める。
【0040】
物理的エージェント240の移動に基づいて、
図2Eに示すように、コンピュータ生成視認画面230は、物理的エージェント240の対応する部分(例えば、脚の上)を遮る。したがって、物理的エージェント240の対応する部分は、表示されていない。(
図2Eの第2のレチクル246によって示されるように)更新された複数の位置値248に基づいて、コンテンツ識別器250は、物理的エージェント240の対応する部分に対する遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別する。そのために、いくつかの実装形態では、コンテンツ識別器250は、画像データ内に表されるように、コンピュータ生成コンテンツの一部分が物理的エージェント240の対応する部分と重なり合う重複領域を識別する。コンテンツ識別器250は、遮蔽基準を満たすコンピュータ生成コンテンツの一部分として、重複領域を識別する。いくつかの実装形態では、コンテンツ識別器250は、コンピュータ生成コンテンツの閾値数よりも多い数のピクセルが物理的エージェント240の対応する部分と重なり合う場合に、コンピュータ生成コンテンツの一部分が遮蔽基準を満たすと判定する。別の例として、いくつかの実装形態では、画像データに基づいて重複領域を識別することと組み合わせて、コンテンツ識別器250は、遮蔽基準が満たされているかどうかを判定するために、1つ以上の深度値を使用する。この例を続けると、コンテンツ識別器250は、1つ以上の深度値がコンピュータ生成コンテンツの重複部分に関連付けられた第1の深度値よりも大きいため、コンピュータ生成コンテンツの重複部分が遮蔽基準を満たすと判定する。物理的エージェント240の第2の部分(例えば、脚)は、
図2Eのコンピュータ生成コンテンツの下で視認可能であるが、いくつかの実装形態では、物理的エージェント240は、完全に遮られ、コンテンツ識別器250は、遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別することを、当業者は理解するであろう。
【0041】
更に、
図2Eに示すように、距離線251は、(第1のレチクル219によって示される)視線位置と(第2のレチクル246によって示される)物理的エージェント240の追跡された部分と間の距離を示す。いくつかの実装形態では、電子デバイス210は、以下に記載されるように、オブジェクトインジケータを表示するかどうかを判定するために、距離を使用する。
【0042】
電子デバイス210は、物理的エージェント240の対応する部分を示すオブジェクトインジケータを表示する。オブジェクトインジケータは、遮蔽基準を満たすコンピュータ生成コンテンツの一部分と重なり合う。オブジェクトインジケータを表示することによって、電子デバイス210は、物理的エージェント240の遮蔽部分の位置に関するインジケータをユーザ50に提供する。したがって、物理的エージェント240の遮蔽部分を視認可能にするために、ユーザ50がコンピュータ生成コンテンツ又は電子デバイス210を再配置する必要がないため、ユーザ体験が強化され、電子デバイス210は、計算(例えば、プロセッサ及びセンサ)リソースを節約する。様々な実装形態によれば、オブジェクトインジケータは、様々な方法で表示することができる。
【0043】
例えば、
図2Fに示すように、電子デバイス210は、ディスプレイ212上に、オブジェクトインジケータに対応する輪郭262を表示する。輪郭262は、物理的エージェント240の対応する部分上に重ね合わされる。そのために、電子デバイス210は、複数の位置値248に基づいて、輪郭262を判定する。例えば、輪郭262は、物理的エージェント240の対応する部分の外側境界(例えば、シルエット)を示す。いくつかの実装形態では、電子デバイス210は、物理的エージェント240の対応する部分に関連付けられた環境データ244の一部分(例えば、画像データのピクセルのサブセット)と輪郭262を合成する。
【0044】
様々な実装形態によれば、オブジェクトインジケータは、物理的エージェント240に関連付けられたメッシュに対応する。メッシュは、様々なテクスチャを有することができる。いくつかの実装形態では、メッシュのテクスチャは、ユーザ50がコンピュータ生成視認画面230を介して物理的エージェント240を部分的又は全体的に見ることを可能にする。例えば、
図2Gを参照すると、電子デバイス210は、物理的エージェント240の外側境界よりわずかに大きいメッシュ263を生成及び表示する。電子デバイス210は、複数の位置値248の少なくとも一部分に基づいて、メッシュ263を生成する。メッシュ263は、
図2Gの点線の輪郭によって示される細長いバブルを含むことができる。メッシュ263は、コンピュータ生成視認画面230の対応する部分と合成されると、
図2Gに示すように、物理的エージェント240をディスプレイ212上で視認可能にする。言い換えれば、メッシュ263は、コンピュータ生成視認画面230の対応する部分のブレークスルーを可能にし、その結果、ユーザ50は、コンピュータ生成視認画面230を介して物理的エージェント240の現実の物理的表現を見ることができる。いくつかの実装形態では、電子デバイス210は、物理的エージェント240がユーザ50に面しており、かつ物理的エージェント240の腕がユーザ50に振られているときなど、物理的エージェント240がユーザ50の注意を引くことを試みていると判定したことに応じて、メッシュ263を生成する。
【0045】
いくつかの実装形態では、メッシュは、物理的エージェント240に関連付けられた影を示す。例えば、
図2Hを参照すると、電子デバイス210は、物理的エージェント240に関連付けられた影を示すメッシュ264を生成及び表示する。いくつかの実装形態では、電子デバイス210は、物理的エージェント240がコンピュータ生成視認画面230の背後にあるが、ユーザ50の注意を引くことを試みていないと判定したことに基づいて、(例えば、メッシュ263により、ブレークスルーするのではなく)影を示すメッシュ264を生成する。例えば、物理的エージェント240は、ユーザ50から離れて向いていて、ユーザ50から離れて移動していて、かつ/又は全体的に閾値量未満移動している。
【0046】
メッシュ264は、物理的エージェント240の対応する部分に関連付けられている。メッシュ264は、メッシュ264をコンピュータ生成視認画面230の背景から区別するために、クロスハッチパターンを有する。いくつかの実装形態では、メッシュ264は、別個の幾何学的要素及びトポロジー要素の集合として、物理的エージェント240の対応する部分を表す。電子デバイス210は、複数の位置値248に基づいて、メッシュ264を生成する。メッシュ264は、メッシュ264が三角形及び四辺形要素の組み合わせを含む場合など、二次元(2D)であってもよい。例えば、電子デバイス210は、物理的エージェント240の対応する部分を表す画像データに基づいて、2Dメッシュを判定する。
【0047】
メッシュ263及び/又はメッシュ264は、メッシュが四面体、四角錐、三角柱、及び六面体要素の組み合わせを含む場合など、体積(例えば、3次元(3D))であってもよい。例えば、複数の位置値248は、複数の深度値を含み、電子デバイス210は、複数の深度値に基づいて、体積メッシュを判定する。いくつかの実装形態では、電子デバイス210は、物理的エージェント240の対応する部分に関連付けられた点郡データに基づいて、体積メッシュを判定する。
【0048】
いくつかの実装形態では、電子デバイス210は、(第1のレチクル219によって示される)視線位置がコンピュータ生成コンテンツの一部分に対する近接閾値を満たすと判定したことに応じて、オブジェクトインジケータを表示する。例えば、
図2F及び
図2Hを参照すると、視線位置と(第2のレチクル246によって示される)物理的エージェント240の一部分との間の距離が閾値距離未満であるため、電子デバイス210は、視線位置が近接閾値を満たすと判定する。したがって、電子デバイス210は、
図2Fの輪郭262又は
図2Hのメッシュ264などのオブジェクトインジケータを表示する。反例として、
図2Mを参照すると、物理的エージェント240が視線位置から離れて移動する結果として、視線位置が近接閾値を満たすことを中止するため、例えば、視線位置が物理的エージェント240から閾値距離よりも大きく離れているため、電子デバイス210は、オブジェクトインジケータ(メッシュ264)を表示することを中止する。
【0049】
図2Iに示すように、物理的エージェント240は、回転インジケータ266によって示されるように、第2の壁204から離れる方向に向くために、回転する。回転に基づいて、オブジェクトトラッカ242は、環境データ244に基づいて更新された複数の位置値248を判定し、電子デバイス210は、それに応じてメッシュ264を更新する。すなわち、
図2Jに示すように、更新されたメッシュ264は、物理的エージェント240の回転を反映する向きを有する。
【0050】
図2Kに示すように、物理的エージェント240は、第2の移動線268によって示されるように、第2の壁204から離れるように歩き始める。物理的エージェント240が歩くにつれて、オブジェクトトラッカ242は、環境データ244に基づいて更新された複数の位置値248を判定し、電子デバイス210は、
図2Lに示すように、それに応じてメッシュ264を更新する。
【0051】
図2Mに示すように、物理的エージェント240は、歩行を終了し、電子デバイス210は、環境データ244に基づいて、更新された複数の位置値248を判定する。いくつかの実装形態では、視線位置と物理的エージェント240の一部分との間の距離が閾値量よりも大きいため、電子デバイス210は、更新された複数の位置値248に基づいて、視線位置が近接閾値を満たさないと判定する。したがって、
図2Mに示すように、電子デバイス210は、メッシュ264を表示することを中止する。したがって、いくつかの状況では、電子デバイス210は、オブジェクトインジケータ(例えば、メッシュ264)を持続的に表示しないことによって、処理リソースを節約する。リソース節約の別の例は、
図2Dに示されており、オブジェクトトラッカ242は、物理的エージェント240の一部分を識別するが、遮蔽基準が満たされないため、電子デバイス210は、オブジェクトインジケータを表示しない。
【0052】
図3は、いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分に対応するメッシュを生成及び表示するシステム300のブロック図の例である。関連する特徴が示されているが、当業者であれば、本明細書に開示される例示的な実装形態のより適切な態様を曖昧にしないように簡潔化するために、様々な他の特徴が示されていないことを、本開示から理解するであろう。いくつかの実装形態では、システム300又はその一部分は、
図2A~
図2Mを参照して説明した電子デバイス210などの電子デバイスに統合される。
【0053】
物理的オブジェクトを追跡するために、システム300は、オブジェクトトラッカ242を含む。オブジェクトトラッカ242は、環境データ244の関数に基づいて、物理的オブジェクトに関連付けられた複数の位置値248を判定する。そのために、システム300は、環境データ244を出力する1つ以上の環境センサ310を含む。例えば、環境センサ(単数又は複数)310は、画像センサ(例えば、カメラ)312、深度センサ314、及び周囲光センサ316の組み合わせを含む。例えば、画像センサ312は、物理的環境の1つ以上の画像を出力する。この例を続けると、オブジェクトトラッカ242は、画像(単数又は複数)内で、物理的オブジェクトの第1の部分に関連付けられた1つ以上のピクセルの第1のセット、物理的オブジェクトの第2の部分に関連付けられた1つ以上のピクセルの第2のセットなどを識別する。オブジェクトトラッカ242は、インスタンスセグメンテーション又はセマンティックセグメンテーションなど、画像(単数又は複数)のピクセルを識別するために、(任意選択的に、ニューラルネットワークの助けを借りて)コンピュータビジョン技術を利用することができる。別の例として、深度センサ314は、物理的環境に関連付けられた深度データを出力する。この例を続けると、深度データに基づいて、オブジェクトトラッカ242は、物理的オブジェクトの第1の部分に関連付けられた第1の深度値、物理的オブジェクトの第2の部分に関連付けられた第2の深度値などを識別する。また別の例として、周囲光センサ316は、物理的オブジェクトから反射した周囲光を感知し、対応する周囲光データを出力する。この例を続けると、周囲光データに基づいて、オブジェクトトラッカ242は、物理的オブジェクトの第1の部分に関連付けられた第1の周囲光値、物理的オブジェクトの第2の部分に関連付けられた第2の周囲光値などを識別する。
【0054】
いくつかの実装形態では、複数の位置値248は、異なる環境センサからのデータに基づく位置値を含む。例えば、オブジェクトトラッカ242は、画像センサ312からの画像データの1つ以上のピクセルの第1のセットを識別することによって、複数の位置値248のうちの第1の位置値を判定し、深度センサ314からの深度データに基づいて第1の深度値を識別することによって、複数の位置値248のうちの第2の位置値を判定する。この例を続けると、複数の位置値248のうちの第1の位置値及び複数の位置値248のうちの第2の位置値は、物理的オブジェクトの同じ部分又は異なる部分に関連付けられてもよい。
【0055】
システム300は、コンテンツ識別器250を含む。コンテンツ識別器250は、複数の位置値248に基づいて、物理的オブジェクトの対応する部分に対する遮蔽基準340を満たすコンピュータ生成コンテンツ320の一部分を識別する。例えば、
図2Bを参照すると、コンピュータ生成コンテンツ320は、コンピュータ生成された犬232を含むコンピュータ生成視認画面230を含む。別の例として、コンピュータ生成コンテンツは、静止画像又はビデオストリーム(例えば、一連の画像)によって特徴付けられてもよく、2D又は3Dコンテンツであってもよい。
【0056】
いくつかの実装形態では、遮蔽基準340は、コンピュータ生成コンテンツ320の不透明度に基づく。例えば、物理的オブジェクトがコンピュータ生成コンテンツ320の一部分を介して視認可能でない場合など、部分的に、コンピュータ生成コンテンツ320の一部分が閾値を上回る不透明度特性に関連付けられているため、コンテンツ識別器250は、遮蔽基準340を満たすコンピュータ生成コンテンツ320の一部分を識別する。
【0057】
いくつかの実装形態では、遮蔽基準340は、物理的オブジェクトに対するコンピュータ生成コンテンツ320の位置に基づく。例えば、いくつかの実装形態では、コンテンツ識別器250は、物理的オブジェクトの対応する部分と少なくとも部分的に重なり合うコンピュータ生成コンテンツ320の一部分を識別する。一例として、
図2Eに示すように、コンテンツ識別器250は、複数の位置値248に基づいて、物理的エージェント240の(例えば、その脚の上の)対応する部分と重なり合うコンピュータ生成視認画面230の一部分を識別する。この例を続けると、複数の位置値248は、物理的エージェント240の対応する部分を表す、画像センサからの画像のピクセルのセットを含むことができる。
【0058】
いくつかの実装形態では、遮蔽基準340は、物理的オブジェクトの深度に対するコンピュータ生成コンテンツ320の深度に基づく。一例として、
図2Eに示すように、複数の位置値248は、物理的エージェント240の一部分に関連付けられた1つ以上の深度値を含む。したがって、コンピュータ生成視認画面230の一部分が物理的エージェント240の一部分に関連付けられた1つ以上の深度値未満の第1の深度値に関連付けられているため、コンテンツ識別器250は、遮蔽基準340を満たすコンピュータ生成視認画面230の一部分を識別する。言い換えれば、コンピュータ生成視認画面230の一部分は、物理的エージェント240の一部分よりも電子デバイス210に近い。
【0059】
一方、所与の時間に、物理的エージェントの一部分に関連付けられた深度値(単数又は複数)は、コンピュータ生成視認画面に関連付けられた深度値未満であってもよい。例えば、ディスプレイを見ているユーザの観点から、物理的エージェントの一部分は、コンピュータ生成視認画面の前にある。いくつかの実装形態では、物理的エージェントがコンピュータ生成視認画面の前にあることに基づいて、電子デバイスは、コンピュータ生成視認画面の対応する部分を遮る物理的エージェントの一部分を表示する。更に、電子デバイスは、物理的エージェントのシルエット(例えば、プロファイル)に従うメッシュを有し、細長いバブルを有さない、メッシュを生成することができる。したがって、メッシュは、コンピュータ生成視認画面の対応する部分を透明にするように機能することができ、その結果、物理的エージェントは、コンピュータ生成視認画面の対応する部分を現実的に遮っているように見える。
【0060】
いくつかの実装形態では、遮蔽基準340は、相対位置と相対深度との組み合わせに基づく。例えば、
図2Dを参照すると、コンピュータ生成コンテンツに関連付けられた第1の深度値は、物理的エージェント240の一部分に関連付けられた1つ以上の深度値未満であるが、コンピュータ生成コンテンツと物理的エージェント240の一部分との間に位置重複がないため、遮蔽基準340は満たされない。反例として、
図2Eを参照すると、コンピュータ生成コンテンツが物理的エージェント240の一部分と重なり合うため、遮蔽基準340は満たされる。
【0061】
いくつかの実装形態では、遮蔽基準340を満たすコンピュータ生成コンテンツ320の一部分を識別したことに応じて、コンテンツ識別器250は、メッシュを生成するようにメッシュ生成器330に命令する。メッシュは、物理的オブジェクトの対応する部分を示し、メッシュは、コンピュータ生成コンテンツの一部分と重なり合う。例えば、メッシュは、
図2Gを参照して説明したメッシュ263又は
図2H~
図2Mを参照して説明したメッシュ264に対応する。
【0062】
いくつかの実装形態では、メッシュ生成器330は、メッシュを選択的に生成する。例えば、(例えば、
図2Dに示すように)コンテンツ識別器250が遮蔽基準340を満たすコンピュータ生成コンテンツ320の一部分を識別しない場合、コンテンツ識別器250は、メッシュを生成しないようにメッシュ生成器330に命令する。別の例として、(例えば、
図2A~
図2Mを参照して説明した)アイトラッカ216を含む実装形態では、メッシュの生成は、アイトラッカ216からの視線追跡データの関数であってもよい。例えば、視線追跡データ内に示された視線位置に基づいて、メッシュ生成器330は、視線位置がコンピュータ生成コンテンツ320の識別された部分に対する近接閾値を満たすかどうかを判定する。いくつかの実装形態では、メッシュ生成器330は、(例えば、
図2Lに示す)視線位置が近接閾値を満たすと判定したことに応じて、メッシュを生成し、(例えば、
図2Mに示す)視線位置が近接閾値を満たさないと判定したことに応じて、メッシュを生成することを取り止める。したがって、システム300は、メッシュを持続的に生成することを回避することによって、リソース利用を低減する。
【0063】
いくつかの実装形態では、システム300は、メッシュを記憶するためのバッファ332を含む。そのために、システム300は、メッシュ生成器330からのメッシュをバッファ332に記憶する。バッファ332は、キャッシュ、ランダムアクセスメモリ(random-access memory、RAM)などのうちの1つに対応することができる。例えば、電子デバイス210は、バッファ332に対応する非一時的メモリを含み、電子デバイス210は、非一時的メモリにメッシュ264を記憶する。
【0064】
いくつかの実装形態では、システム300は、合成サブシステム350を含む。様々な実装形態によれば、システム300は、バッファ332から合成サブシステム350にメッシュを提供し、合成サブシステム350は、次いで、メッシュを環境データ244及びコンピュータ生成320と合成する。例えば、合成サブシステム350からメッシュ要求を受信したことに応じて、システム300は、メッシュをバッファ332から取り出し、メッシュを合成サブシステム350に提供する。コンテンツ識別器250が遮蔽基準340を満たすコンピュータ生成コンテンツ320の一部分を識別する場合、要求は、コンテンツ識別器250から発信することができる。システム300は、表示のために、合成サブシステム350の出力をディスプレイ212に提供する。したがって、システム300は、メッシュの記憶及び合成中のメッシュの取り出しのために、共通のメモリ(例えば、バッファ332)を使用する。したがって、合成サブシステム350は、メッシュ生成中にメッシュを第1のメモリに記憶すること、第1のメモリから第2のメモリにメッシュをコピーすること、及び合成中に第2のメモリからメッシュを取り出すことと比較して、より少ない待ち時間で、かつより少ない計算リソースを使用しながら、メッシュを合成する。
【0065】
いくつかの実装形態では、合成サブシステム350は、部分的又は完全な透明度の外観を作成するために、メッシュ及びコンピュータ生成コンテンツ320に基づいて、アルファ合成(例えば、アルファブレンディング)を実行する。例えば、2Gを参照すると、合成サブシステム350は、(例えば、カメラによってキャプチャされた)物理的エージェント240の一部分及びコンピュータ生成320の対応する部分をアルファブレンディングし、その結果、コンピュータ生成320の対応する部分は、物理的エージェント240の一部分のビュー内で部分的又は完全に透明に見える。
【0066】
図4は、いくつかの実装形態に係る、物理的オブジェクトの遮蔽部分を示すオブジェクトインジケータを表示する方法400のフロー図の例である。様々な実装形態では、方法400又はその一部分は、電子デバイス(例えば、
図1の電子デバイス100又は
図2A~2Mの電子デバイス210)によって実行される。様々な実装形態では、方法400又はその一部分は、システム300によって実行される。様々な実装形態では、方法400又はその一部分は、スマートフォン、タブレット、又はウェアラブルデバイスなどのモバイルデバイスによって実行される。様々な実装形態では、方法400又はその一部分は、ディスプレイを含むヘッドマウントデバイス(HMD)によって実行される。いくつかの実装形態では、方法400は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む、処理ロジックによって実行される。いくつかの実装形態では、方法400は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
【0067】
ブロック402によって表されるように、いくつかの実装形態では、方法400は、1つ以上の環境センサから環境データを取得することを含む。例えば、
図3を参照すると、環境センサ(単数又は複数)は、画像センサ312、深度センサ314、及び周囲光センサ316の組み合わせを含む。環境センサの他の例としては、慣性測定ユニット(IMU)、同時位置特定及びマッピング(simultaneous localization and mapping、SLAM)センサ、及び視覚慣性オドメトリ(visual inertial odometry、VIO)センサが挙げられる。環境データは、それぞれのセンサに関連付けられた現在の視認可能領域の関数に基づくことができる。例えば、
図2Aを参照すると、電子デバイス210に統合された画像センサは、ディスプレイ212に関連付けられた視認可能領域214にほぼ対応する姿勢を有する。したがって、画像センサからの画像データは、第1の壁202、第2の壁204、及び物理的サイドボード220のそれぞれの表現を含む。
【0068】
ブロック404によって表されるように、方法400は、環境データの関数に基づいて、物理的オブジェクトに関連付けられた複数の位置値を判定することを含む。複数の位置値は、物理的オブジェクトの複数の位置にそれぞれ関連付けられている。物理的オブジェクトは、物理的エージェント(例えば、人、動物、又はロボット)又は無生物物理的物品(例えば、テーブル上に位置するステープラ)などの任意のタイプの物理的(例えば、現実世界の)オブジェクトに対応することができる。一例として、
図2Eを参照すると、オブジェクトトラッカ242は、物理的エージェント240の右手に関連付けられた(第2のレチクル246によって示される)第1の位置値、物理的エージェント240の左手に関連付けられた第2の位置値(図示せず)、物理的エージェント240の顔に関連付けられた第3の位置値(図示せず)などを判定する。複数の位置値は、(画像センサからの画像データ内の)ピクセルのセット、(深度センサからの深度データ内の)1つ以上の深度値、及び(周囲光センサからの周囲光データ内の)1つ以上の周囲光値の組み合わせを含むことができる。様々な実装形態では、方法400は、インスタンスセグメンテーション又はセマンティックセグメンテーションなど、環境データにコンピュータビジョン技術を適用することによって、複数の位置値を判定することを含む。
【0069】
ブロック406によって表されるように、いくつかの実装形態では、方法400は、コンピュータ生成コンテンツを表示することを含む。例えば、
図2Bを参照すると、電子デバイス210は、ディスプレイ212上に、コンピュータ生成視認画面230及びコンピュータ生成された犬232を表示する。
【0070】
いくつかの実装形態では、コンピュータ生成コンテンツは、コンピュータ生成コンテンツの表示が物理的オブジェクトとは無関係である場合など、物理的オブジェクトに関連付けられていない。言い換えれば、ディスプレイによって提供される視認可能領域内の物理的オブジェクトの存在は、コンピュータ生成コンテンツに影響を与えない。
【0071】
ブロック408によって表されるように、方法400は、複数の位置値の少なくとも一部分に基づいて、物理的オブジェクトの対応する部分に対する遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別することを含む。例えば、コンピュータ生成コンテンツの一部分は、物理的オブジェクトの対応する部分を遮り、物理的オブジェクトの対応する部分は、コンピュータ生成コンテンツの一部分の表示がなかったら、視認可能である。
【0072】
ブロック410によって表されるように、いくつかの実装形態では、遮蔽基準は、物理的オブジェクトの位置に対するコンピュータ生成コンテンツの位置に基づく。そのために、いくつかの実装形態では、方法400は、物理的オブジェクトの対応する部分と少なくとも部分的に重なり合うコンピュータ生成コンテンツ320の一部分を識別することを含む。一例として、
図2Eに示すように、コンテンツ識別器250は、複数の位置値248に基づいて、物理的エージェント240の(例えば、その脚の上の)対応する部分と重なり合うコンピュータ生成視認画面230の一部分を識別する。前の例では、複数の位置値248は、物理的エージェント240の対応する部分を表す、画像センサからの画像のピクセルのセットを含むことができる。
【0073】
ブロック412によって表されるように、いくつかの実装形態では、遮蔽基準は、物理的オブジェクトの深度に対するコンピュータ生成コンテンツの深度に基づく。一例として、
図2Eに示すように、複数の位置値248は、物理的エージェント240の一部分に関連付けられた1つ以上の深度値を含む。したがって、コンピュータ生成視認画面230の一部分が物理的エージェント240の一部分に関連付けられた1つ以上の深度値未満の第1の深度値に関連付けられているため、コンテンツ識別器250は、遮蔽基準340を満たすコンピュータ生成視認画面230の一部分を識別する。
【0074】
ブロック414によって表されるように、いくつかの実装形態では、遮蔽基準は、コンピュータ生成コンテンツに関連付けられた不透明度に部分的に基づく。例えば、
図2Eを参照すると、コンピュータ生成視認画面230の一部分が閾値を上回る不透明度特性に関連付けられているため、コンテンツ識別器250は、遮蔽基準340を満たすコンピュータ生成視認画面230の一部分を識別する。したがって、物理的エージェント240の対応する部分は、コンピュータ生成視認画面230の一部分を介してディスプレイ上で視認可能ではない。
【0075】
いくつかの実装形態では、遮蔽基準は、コンピュータ生成コンテンツに関連付けられた相対位置、相対深度、及び不透明度の組み合わせに基づく。
【0076】
ブロック416によって表されるように、いくつかの実装形態では、方法400は、物理的オブジェクトに関連付けられたセマンティック値がオブジェクト基準を満たすと判定することを含む。そのために、方法400は、画像センサ(例えば、
図3の画像センサ312)からの画像データに対してセマンティックセグメンテーションを実行することなどによって、セマンティック値を取得することを含む。いくつかの実装形態では、セマンティック値が人、動物、又はロボットなどの物理的エージェントを示す場合に、セマンティック値は、オブジェクト基準を満たす。いくつかの実装形態では、セマンティック値がトレンドの又は一般的なオブジェクトタイプなどの既定のオブジェクトタイプを示す場合に、セマンティック値は、オブジェクト基準を満たす。例えば、既定のオブジェクトタイプは、ユーザ入力(例えば、テキスト文字列)を介して指定される。いくつかの実装形態では、セマンティック値がオブジェクト基準を満たすと判定したことに応じて、方法400は、以下で説明するブロック422によって表される方法400の一部分に進む。
【0077】
ブロック418によって表されるように、いくつかの実装形態では、物理的オブジェクトが物理的エージェントに対応する場合、方法400は、物理的エージェントが姿勢基準又は移動基準を満たすかどうかを判定することを含む。そのために、方法400は、環境データに基づいて、物理的エージェントに関連付けられた姿勢特性を判定すること、又は物理的エージェントに関連付けられた移動特性を検出することを含む。例えば、方法400は、物理的エージェントがデバイスに面していることを姿勢特性が示す、例えば、セマンティックセグメンテーション出力値が「顔」又は「目」である場合に、物理的エージェントが姿勢基準を満たすと判定することを含む。別の例として、方法400は、物理的エージェントの腕が振られていることを移動特性が示す場合に、物理的エージェントが移動基準を満たすと判定することを含む。いくつかの実装形態では、物理的エージェントが姿勢基準又は移動基準を満たすと判定したことに応じて、方法400は、以下で説明するブロック422によって表される方法400の一部分に進む。
【0078】
ブロック420によって表されるように、いくつかの実装形態では、方法400は、視線位置がコンピュータ生成コンテンツの一部分に対する近接閾値を満たすと判定することを含む。例えば、
図2Eを参照すると、アイトラッカ216は、ユーザ50の視線位置を示す視線追跡データ218を出力する。更に、視線位置とコンピュータ生成視認画面230の識別された部分との間の距離線251によって表される距離が閾値未満であるため、電子デバイス210は、視線位置が近接閾値を満たすと判定する。したがって、電子デバイス210は、ディスプレイ212上に、オブジェクトインジケータ(例えば、
図2Fの輪郭262及び
図2Hのメッシュ264)を表示する。反例として、
図2Mを参照すると、距離線251によって表される距離が閾値未満であることを中止するため、電子デバイス210は、メッシュ264を表示することを中止する。いくつかの実装形態では、視線位置が近接閾値を満たすと判定したことに応じて、方法400は、以下で説明するブロック422によって表される方法400の一部分に進む。
【0079】
ブロック422によって表されるように、いくつかの実装形態では、方法400は、複数の位置値に基づいて、物理的オブジェクトに関連付けられたメッシュを生成することを含む。したがって、方法400は、ブロック416、418、及び/又は420の出力を使用して、メッシュを生成するかどうかを判定することを含むことができ、それによって、最適化及びリソースの節約を可能にすることができる。いくつかの実装形態では、メッシュを生成することは、遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別したことに応じている。したがって、方法400を実行する電子デバイス又はシステムは、メッシュを選択的に生成し、それによって、メッシュを生成することが適切でない場合にリソース利用を回避することができる。
図3を参照すると、メッシュ生成器330は、複数の位置値248に基づいて、メッシュを生成することができる。ブロック424によって表されるように、いくつかの実装形態では、メッシュは、体積(例えば、3D)メッシュに対応する。そのために、いくつかの実装形態では、方法400は、深度センサから深度データ内の複数の深度値を取得することと、複数の深度値に少なくとも部分的に基づいて、体積メッシュを生成することと、を含む。いくつかの実装形態では、方法400は、メッシュを生成するために、物理的オブジェクトを表す画像データに対して輪郭多角形関数(例えば、マーチング二乗関数)を適用することを含む。
【0080】
ブロック426によって表されるように、いくつかの実装形態では、メッシュは、コンピュータ生成コンテンツに対するブレークスルーを可能にする。例えば、
図2Gを参照すると、メッシュ263は、コンピュータ生成視認画面230の対応する部分の場合に合成されると、物理的エージェント240をディスプレイ212上で視認可能にする。例えば、いくつかの実装形態では、方法400は、コンピュータ生成コンテンツに対して見かけの透明度を生成するために、アルファブレンディングを利用することを含む。
【0081】
ブロック428によって表されるように、いくつかの実装形態では、メッシュは、物理的エージェントに関連付けられた影を示す。例えば、
図2Hを参照すると、メッシュ264は、物理的エージェント240の特徴(例えば、目、鼻)を示すことなく、物理的エージェント240の影を示す。いくつかの実装形態では、影の暗さは、物理的オブジェクトの深度に対するコンピュータ生成コンテンツの深度に基づく。例えば、
図2Hを参照すると、物理的エージェント240がコンピュータ生成視認画面230の近くに移動する(例えば、それぞれの深度値間の差を減少させる)につれて、メッシュ264に関連付けられた影は、より暗くなり、物理的エージェント240がコンピュータ生成視認画面230から離れて移動するにつれて、その逆も同様になる。いくつかの実装形態では、それぞれの深度値間の差が閾値量より大きい場合、方法400は、影メッシュを表示することを中止することを含む。例えば、(ディスプレイを見ているユーザの観点から)物理的エージェントがコンピュータ生成コンテンツの背後の相当な距離にある場合、物理的エージェントがユーザの注意を引くことを試みている可能性は低い。したがって、この場合に影を表示することは、ユーザに役立つ可能性が低い。
【0082】
ブロック430によって表されるように、いくつかの実装形態では、方法400は、メッシュを非一時的メモリに記憶することを含む。例えば、方法400を実行する電子デバイスは、非一時的メモリを含み、メッシュを非一時的メモリに記憶する。別の例として、
図3を参照すると、システム300は、メッシュ生成器330からのメッシュをバッファ332に記憶する。
【0083】
ブロック432によって表されるように、方法400は、物理的オブジェクトの対応する部分を示すオブジェクトインジケータを表示することを含む。オブジェクトインジケータは、コンピュータ生成コンテンツの一部分と重なり合う。いくつかの実装形態では、方法400は、ブロック408によって表される、遮蔽基準を満たすコンピュータ生成コンテンツの一部分を識別したことに応じて、オブジェクトインジケータを表示することを含む。オブジェクトインジケータは、物理的環境内の物理的オブジェクトの位置を示す。
【0084】
いくつかの実装形態では、オブジェクトインジケータを表示することは、
図2Fに示す輪郭262などの、コンピュータ生成コンテンツの一部分上に重ね合わされた輪郭を表示することに対応する。そのために、方法400は、複数の位置値に基づいて、物理的オブジェクトの対応する部分に関連付けられた輪郭を判定することを含む。いくつかの実装形態では、輪郭オーバーレイは、コンピュータ生成コンテンツの一部分に対する色コントラスト閾値及び/又はルミナンスコントラスト閾値を満たし、それにより、輪郭は、コンピュータ生成コンテンツの一部分上に容易に視認可能に重ね合わされる。
【0085】
いくつかの実装形態では、オブジェクトインジケータを表示することは、物理的エージェントの対応する部分をディスプレイ上で視認可能にするために、コンピュータ生成コンテンツの一部分に関連付けられた透明度特性を増加させることに対応する。例えば、方法400は、コンピュータ生成コンテンツの一部分にマスクを適用することを含む。合成サブシステム(例えば、合成サブシステム350)は、マスクを適用することができる。
【0086】
ブロック434によって表されるように、いくつかの実装形態では、方法400は、
図2Gに示すメッシュ263又は
図2Hに示すメッシュ264など、オブジェクトインジケータとしてメッシュを表示することを含む。そのために、いくつかの実装形態では、ブロック436によって表されるように、方法400は、メッシュを物理的オブジェクトに関連付けられた環境データの一部分と(例えば、合成サブシステム350により)合成することを含む。合成することは、非一時的メモリからメッシュを取り出すことを含む。したがって、方法400は、メッシュ生成中のメッシュの記憶及び合成中のメッシュの取り出しのために、共通の非一時的メモリを利用し、それによって、待ち時間及び計算費用を低減する。
【0087】
本開示は、様々な特徴を説明するが、そのどの特徴も単独で、本明細書に開示される利点に関与することはない。当業者には明らかであるように、本明細書に開示される様々な特徴は、組み合わせることができる、修正することができる、又は省略することができることが理解されるであろう。本明細書に具体的に開示されるもの以外の他の組み合わせ及びサブ組み合わせは、当業者には明らかであり、本開示の一部を成すことが意図される。様々な方法が、様々なフローチャートステップ及び/又は段階に関連して、本明細書に開示される。多くの場合、フローチャートに示される複数のステップ及び/又は段階が単一のステップ及び/又は段階として実行できるように、特定のステップ及び/又は段階は、一緒に組み合わせることができることが理解されるであろう。また、特定のステップ及び/又は段階は、別個に実行される追加のサブ構成要素に分割することができる。場合によっては、ステップ及び/又は段階の順序は再配置することができ、特定のステップ及び/又は段階は完全に省略することができる。また、本明細書に開示される方法は、本明細書に示して開示されるそれらの方法への追加のステップ及び/又は段階も実行できるように非限定的であると理解されるべきである。
【0088】
本明細書に開示される方法及びタスクの一部又は全ては、コンピュータシステムによって実行することができ、完全に自動化することができる。コンピュータシステムとして、いくつかの場合、説明される機能を実行するためにネットワークを介して通信及び相互運用する複数の別個のコンピュータ又はコンピューティングデバイス(例えば、物理サーバ、ワークステーション、ストレージアレイなど)を含むことができる。このようなコンピューティングデバイスのそれぞれは、典型的には、メモリ又は他の非一時的コンピュータ可読記憶媒体又はデバイスに記憶されたプログラム命令又はモジュールを実行するプロセッサ(又は複数のプロセッサ)を含む。本明細書に開示される様々な機能は、そのようなプログラム命令に実装することができるが、開示される機能の一部又は全ては、代替的に、コンピュータシステムの特定用途向け回路(例えば、ASIC又はFPGA又はGP-GPU)に実装することができる。コンピュータシステムが複数のコンピューティングデバイスを含む場合、これらのデバイスは、同一の場所に配置することができる、又は同一の場所に配置されなくてもよい。開示された方法及びタスクの結果は、異なる状態に変換することによって、ソリッドステートメモリチップ及び/又は磁気ディスクなどの物理記憶デバイスに永続的に記憶することができる。
【0089】
本明細書で定義される様々なプロセスは、ユーザの個人情報を取得及び利用する選択肢を考慮する。例えば、そのような個人情報は、電子デバイス上に改善されたプライバシー画面を提供するために利用することができる。しかしながら、そのような個人情報が収集される範囲において、そのような情報は、ユーザのインフォームドコンセントを伴って取得されるべきである。本明細書に記載されるように、ユーザは、ユーザの個人情報の使用に対する知識及び制御を有するべきである。
【0090】
個人情報は、正当かつ合理的な目的のためにのみ適切な当事者によって利用されることになる。そのような情報を利用する当事者は、少なくとも適切な法律及び規制に従ったプライバシーポリシー及び慣行を順守する。加えて、そのようなポリシーは、十分に確立され、ユーザにアクセス可能であり、かつ政府/業界の標準に準拠している又はそれを上回っていると認識されるものである。更に、これらの当事者は、任意の合理的かつ正当な目的を除いて、そのような情報を流通、販売、又は別の方法で共有しない。
【0091】
しかしながら、ユーザは、そのような当事者が個人情報にアクセスする、又は別の方法で取得することができる程度を制限することができる。例えば、ユーザの個人情報が様々なエンティティによってアクセスできるかどうかをユーザが決定することができるように、設定又は他の選好を調整することができる。更に、本明細書で定義されるいくつかの特徴は、個人情報を使用する文脈で説明されているが、これらの特徴の様々な態様は、そのような情報を使用する必要なしに実装することができる。一例として、ユーザの選好、アカウント名、及び/又は位置履歴が収集される場合、この情報は、情報が対応するユーザを識別しないように、不明瞭化する、又は他の方法で一般化することができる。
【0092】
本開示は、本明細書に示す実装形態に限定されることを意図するものではない。本開示に記載される実装形態に対する様々な修正は、当業者には容易に明らかになり得、本明細書で定義される一般的な原理は、本開示の趣旨又は範囲から逸脱することなく他の実装形態に適用することができる。本明細書で提供される本発明の教示は、他の方法及びシステムに適用することができ、上記で説明された方法及びシステムに限定されるものではなく、上記で説明された様々な実装形態の要素及び作用を組み合わせて更なる実装形態を提供することができる。したがって、本明細書に記載の新規の方法及びシステムは、様々な他の形態で実装することができる。更に、本明細書に記載される方法及びシステムの形態の様々な省略、置換、及び変更は、本開示の趣旨から逸脱することなく行うことができる。添付の特許請求の範囲及びそれらの等価物は、本開示の範囲及び趣旨に含まれるようなそのような形態又は修正を網羅することを意図している。