(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-16
(54)【発明の名称】ウェアラブルマルチメディアデバイスを用いた動的な光学投影
(51)【国際特許分類】
G09G 5/00 20060101AFI20240808BHJP
G06F 3/04845 20220101ALI20240808BHJP
【FI】
G09G5/00 510B
G06F3/04845
G09G5/00 550C
G09G5/00 530H
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023576194
(86)(22)【出願日】2022-06-10
(85)【翻訳文提出日】2024-02-09
(86)【国際出願番号】 US2022033085
(87)【国際公開番号】W WO2022261485
(87)【国際公開日】2022-12-15
(32)【優先日】2021-06-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521552914
【氏名又は名称】ヒューメイン・インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジェフリー・ジョナサン・スパーガット
(72)【発明者】
【氏名】イムラン・エー・チャウドリ
【テーマコード(参考)】
5C182
5E555
【Fターム(参考)】
5C182AA03
5C182AA04
5C182AA13
5C182AA14
5C182AB01
5C182AB02
5C182AB11
5C182AB37
5C182AC02
5C182AC03
5C182AC12
5C182AC43
5C182BA01
5C182BA03
5C182BA04
5C182BA14
5C182BA25
5C182BA26
5C182BA27
5C182BA29
5C182BA35
5C182BA39
5C182BA45
5C182BA46
5C182BA47
5C182BA55
5C182BA57
5C182BA65
5C182BA66
5C182BA72
5C182BB01
5C182BB11
5C182BC22
5C182BC25
5C182BC26
5C182BC33
5C182CA21
5C182CB13
5C182CB14
5C182CB26
5C182CB32
5C182CB44
5C182CB52
5C182CC13
5C182CC26
5C182DA02
5C182DA03
5C182DA14
5C182DA41
5C182DA52
5C182DA64
5C182DA66
5C182DA68
5E555AA64
5E555BA04
5E555BA29
5E555BB04
5E555BB29
5E555BC08
5E555BE15
5E555CA41
5E555CA42
5E555CB23
5E555CC22
5E555DB53
5E555DC21
5E555DC30
5E555EA11
5E555EA22
5E555FA00
(57)【要約】
ウェアラブルマルチメディアデバイス、およびウェアラブルマルチメディアデバイスによって捕捉されたマルチメディアデータを処理するためのアプリケーションエコシステムを備えたクラウドコンピューティングプラットフォームのための、システム、方法、デバイス、および非一時的コンピュータ可読記憶媒体が開示される。一実施形態では、ウェアラブルマルチメディアデバイスを使用したコンピュータ実装方法が、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3次元(3D)マップを決定することと、投影表面の3Dマップの決定に応答して、投影表面上に光学投影システムによって投影される仮想オブジェクトに関連する歪曲を決定することと、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することと、光学投影システムを使用するとともに調整の結果に基づいて、投影表面上に仮想オブジェクトを投影することとを含む。
【特許請求の範囲】
【請求項1】
ウェアラブルマルチメディアデバイスを使用したコンピュータ実装方法であって、
前記ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3次元(3D)マップを決定するステップと、
前記投影表面の前記3Dマップの決定に応答して、前記投影表面上に光学投影システムによって投影される仮想オブジェクトに関連する歪曲を決定するステップと、
前記決定された歪曲に基づいて、(i)投影される前記仮想オブジェクトの1つもしくは複数の特性、または(ii)前記光学投影システムの少なくとも一方を調整するステップと、
前記光学投影システムを使用するとともに前記調整の結果に基づいて、前記投影表面上に前記仮想オブジェクトを投影するステップと
を含む、コンピュータ実装方法。
【請求項2】
投影される前記仮想オブジェクトの取得に応答して、投影される前記仮想オブジェクトのための前記投影表面を提示するステップ
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
投影される前記仮想オブジェクトのための前記投影表面を提示するステップが、
前記光学投影システムのカバレッジ視野を決定するステップと、
前記光学投影システムの前記カバレッジ視野の決定に応答して、前記光学投影システムの前記カバレッジ視野内に前記投影表面を収容するように、前記光学投影システムと前記投影表面との間の相対位置を調整するステップと
を含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3次元(3D)マップを決定するステップが、
3Dマッピングアルゴリズムを使用して、前記ウェアラブルマルチメディアデバイスの前記少なくとも1つのセンサの前記センサデータを処理して、前記投影表面の前記3Dマップのための3Dマッピングデータを取得するステップ
を含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記決定された歪曲に基づいて、(i)投影される前記仮想オブジェクトの1つもしくは複数の特性、または(ii)前記光学投影システムの少なくとも一方を調整するステップが、
前記投影表面上に投影される前記仮想オブジェクトが、平坦な2次元(2D)表面上に投影される前記仮想オブジェクトと実質的に同じもののように見えるようにするように、前記歪曲を補償するステップ
を含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記投影表面上に投影される前記仮想オブジェクトに関連する前記歪曲を決定するステップが、
前記投影表面の前記3Dマップを、前記光学投影システムの光学投影方向と直交する平坦な2D表面と比較するステップであって、前記3Dマップが、前記平坦な2D表面に対して1つまたは複数の凹凸領域を備える、ステップと、
前記比較の結果に基づいて、前記投影表面上に投影される前記仮想オブジェクトに関連する前記歪曲を決定するステップと
を含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記投影表面上に投影される前記仮想オブジェクトに関連する前記歪曲を決定するステップが、前記投影表面の前記1つまたは複数の凹凸領域上に投影される前記仮想オブジェクトの1つまたは複数のセクションを決定するステップを含み、
前記決定された歪曲に基づいて、(i)投影される前記仮想オブジェクトの1つもしくは複数の特性、または(ii)前記光学投影システムの少なくとも一方を調整するステップが、前記投影表面の前記1つまたは複数の凹凸領域についての情報に基づいて、投影される前記仮想オブジェクトの前記1つまたは複数のセクションの前記1つまたは複数の特性を局所的に調整するステップを含む、
請求項6に記載のコンピュータ実装方法。
【請求項8】
前記投影表面上に投影される前記仮想オブジェクトに関連する前記歪曲を決定するステップが、
前記投影表面の前記3Dマップに基づいて、前記投影表面を複数の領域にセグメント化するステップであって、前記複数の領域がそれぞれ、実質的に平坦である対応する表面を備える、ステップと、
前記投影表面の前記複数の領域に従って、前記仮想オブジェクトを複数のセクションに分割するステップであって、前記仮想オブジェクトの前記複数のセクションの各セクションが、前記光学投影システムによって前記仮想オブジェクトの前記セクションが上に投影されることになる、それぞれの領域に対応する、ステップと、
前記投影表面の前記複数の領域の情報および前記仮想オブジェクトの前記複数のセクションの情報に基づいて、前記仮想オブジェクトに関連する前記歪曲を決定するステップと
を含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記決定された歪曲に基づいて、(i)投影される前記仮想オブジェクトの1つもしくは複数の特性、または(ii)前記光学投影システムの少なくとも一方を調整するステップが、
前記投影表面の前記複数の領域についての前記情報および前記仮想オブジェクトの前記複数のセクションについての前記情報に基づいて、投影される前記仮想オブジェクトの前記複数のセクションの各セクションの1つまたは複数の特性を局所的に調整するステップ
を含む、請求項8に記載のコンピュータ実装方法。
【請求項10】
投影される前記仮想オブジェクトの前記複数のセクションの各セクションの1つまたは複数の特性を局所的に調整するステップが、
投影される前記仮想オブジェクトの前記複数のセクションの各セクションについて、
コンテンツマッピングアルゴリズムを使用して、前記セクションを前記投影表面の前記複数の領域のうちの前記それぞれの領域にマッピングするステップと、
前記それぞれの領域上の前記マッピングされたセクションに基づいて、前記セクションの前記1つまたは複数の特性を調整するステップと
を含む、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記投影表面上に投影される前記仮想オブジェクトに関連する前記歪曲を決定するステップが、
前記投影表面上に前記仮想オブジェクトを投影する前に、前記投影表面上の前記仮想オブジェクトの投影を推定するステップと、
投影される前記仮想オブジェクトと前記仮想オブジェクトの前記推定された投影との比較に基づいて、前記歪曲を決定するステップと
を含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
【請求項12】
前記仮想オブジェクトの前記1つまたは複数の特性が、拡大率、解像度、伸張率、収縮率、または回転角度のうちの少なくとも1つを含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記決定された歪曲に基づいて、(i)投影される前記仮想オブジェクトの1つもしくは複数の特性、または(ii)前記光学投影システムの少なくとも一方を調整するステップが、
前記光学投影システムと前記投影表面との間の距離を調整するステップ、または
前記光学投影システムからの光学投影を前記投影表面に対して傾斜もしくは回転させるステップ
の少なくとも一方を含む、請求項1から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記決定された歪曲に基づいて、(i)投影される前記仮想オブジェクトの1つもしくは複数の特性、または(ii)前記光学投影システムの少なくとも一方を調整するステップが、
前記投影表面上に投影される前記仮想オブジェクトのコンテンツを調整するステップ
を含む、請求項1から13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
前記投影表面上に投影される前記仮想オブジェクトのコンテンツを調整するステップが、
前記投影表面がより広い表面エリアを有しているとの決定に応答して、前記投影表面上に投影される前記仮想オブジェクトのコンテンツの量を増大させるステップ、または
前記投影表面がより狭い表面エリアを有しているとの決定に応答して、前記投影表面上に投影される前記仮想オブジェクトのコンテンツの前記量を低減させるステップ
の一方を含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
前記ウェアラブルマルチメディアデバイスのカメラセンサによって、前記投影表面上の前記投影された仮想オブジェクトの画像を捕捉するステップと、
前記投影表面上の前記投影された仮想オブジェクトの前記捕捉された画像に少なくとも部分的に基づいて、前記仮想オブジェクトに関連する前記歪曲を決定するステップと
を含む、請求項1から15のいずれか一項に記載のコンピュータ実装方法。
【請求項17】
前記センサデータが、
前記投影表面の可変深度、
前記投影表面の移動、
前記光学投影システムの運動、または
前記光学投影システムの光学投影の方向に対する前記投影表面の非垂直角度
のうちの少なくとも1つを含む、請求項1から16のいずれか一項に記載のコンピュータ実装方法。
【請求項18】
前記ウェアラブルマルチメディアデバイスの前記少なくとも1つのセンサが、
加速度計、ジャイロスコープ、磁力計、深度センサ、運動センサ、レーダ、ライダ、飛行時間(TOF)センサ、または1つもしくは複数のカメラセンサ、のうちの少なくとも1つ
を備える、請求項1から17のいずれか一項に記載のコンピュータ実装方法。
【請求項19】
前記少なくとも1つのセンサの更新されたセンサデータに基づいて、前記投影表面の前記3Dマップを動的に更新するステップ
を含む、請求項1から18のいずれか一項に記載のコンピュータ実装方法。
【請求項20】
前記仮想オブジェクトが、
1つまたは複数の画像、テキスト、またはビデオ、あるいは
1つもしくは複数のユーザインターフェース要素またはコンテンツ情報の少なくとも一方を含む仮想インターフェース、
の少なくとも一方を備える、請求項1から19のいずれか一項に記載のコンピュータ実装方法。
【請求項21】
前記仮想オブジェクトが、1つまたは複数の同心リングであって、各リングに複数のノードが埋め込まれており、各ノードがアプリケーションを表す、1つまたは複数の同心リングを備え、
前記コンピュータ実装方法が、
前記少なくとも1つのセンサからの第2のセンサデータに基づいて、前記1つまたは複数の同心リングのうちの少なくとも1つの同心リングの前記複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出するステップと、
前記ユーザ入力に応答して、前記選択された特定のノードに対応するアプリケーションの起動を生じさせるステップと
をさらに含む、請求項1から20のいずれか一項に記載のコンピュータ実装方法。
【請求項22】
前記ウェアラブルマルチメディアデバイスの前記少なくとも1つのセンサからの第2のセンサデータに基づいて、コンテキストを推論するステップと、
前記推論されたコンテキストに基づいて、前記投影表面上に投影される1つまたは複数の第1の仮想インターフェース(VI)要素を備えた第1のVIを生成するステップと
をさらに含み、
前記仮想オブジェクトが、前記1つまたは複数の第1のVI要素を備えた前記第1のVIを備える、
請求項1から21のいずれか一項に記載のコンピュータ実装方法。
【請求項23】
前記光学投影システムを使用して、前記投影表面上に、前記1つまたは複数の第1のVI要素を備えた前記第1のVIを投影するステップと、
前記1つまたは複数の第1のVI要素のうちのある第1のVI要素に向けられたユーザ入力を受け取るステップと、
前記ユーザ入力に応答して、対応するアプリケーションを起動するためのアイコン付きの1つまたは複数の同心リングを備える、第2のVIを生成するステップであって、前記推論されたコンテキストに、より関連のある1つまたは複数のアイコンが、1つまたは複数の他のアイコンとは別様に提示される、ステップと
を含み、
前記仮想オブジェクトが、前記アイコン付きの前記1つまたは複数の同心リングを備えた前記第2のVIを備える、
請求項22に記載のコンピュータ実装方法。
【請求項24】
光学投影システムと、
少なくとも1つのセンサと、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合され、請求項1から23のいずれか一項に記載の前記コンピュータ実装方法を実施するための、前記少なくとも1つのプロセッサによって実行されるプログラミング命令を記憶する、少なくとも1つのメモリと
を備える、ウェアラブルマルチメディアデバイス。
【請求項25】
命令を記憶する1つまたは複数の非一時的コンピュータ可読媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されると前記少なくとも1つのプロセッサに、請求項1から23のいずれか一項に記載の前記コンピュータ実装方法を実施させる、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項26】
ウェアラブルマルチメディアデバイスの光学プロジェクタを使用して、表面上に仮想インターフェース(VI)を投影するステップであって、前記VIが、各リングに複数のノードが埋め込まれ、各ノードがアプリケーションを表す、同心リングを備える、ステップと、
前記ウェアラブルマルチメディアデバイスのカメラまたは深度センサの少なくとも一方からのセンサデータに基づいて、前記複数のリングのうちの少なくとも1つのリングの前記複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出するステップと、
前記入力に応答して、少なくとも1つのプロセッサを用いて、前記選択されたノードに対応するアプリケーションの起動を生じさせるステップと
を含む、方法。
【請求項27】
光学プロジェクタと、
カメラと、
深度センサと、
少なくとも1つのプロセッサと、
命令を記憶する少なくとも1つのメモリと
を備え、前記命令が、前記少なくとも1つのプロセッサによって実行されると前記少なくとも1つのプロセッサに、
前記光学プロジェクタを使用して、表面上に仮想インターフェース(VI)を投影することであって、前記VIが、同心リングであって、各リングに複数のノードが埋め込まれており、各ノードがアプリケーションを表す、同心リングを備える、投影することと、
前記カメラまたは前記深度センサの少なくとも一方からのセンサデータに基づいて、前記複数のリングのうちの少なくとも1つのリングの前記複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出することと、
前記入力に応答して、前記選択されたノードに対応するアプリケーションの起動を生じさせることと
を含む動作を実施させる、ウェアラブルマルチメディアデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許法第119条(e)に基づき、その内容全体がここに参照により組み込まれている2021年6月11日に出願した米国仮特許出願第63/209,943号の優先権を主張するものである。
【0002】
本開示は一般に、ウェアラブルマルチメディアデバイスを用いた動的な光学投影に関する。
【背景技術】
【0003】
どんな表面も投影表面に変えることのできる高精度レーザスキャナが開発されてきた。例えば、レーザにより投影される画像を、ユーザの手の手掌または他の任意の表面上に投影することができる。投影表面の表面プロファイルが、投影表面上の投影された画像の外観の品質に影響を及ぼすことがある。
【発明の概要】
【課題を解決するための手段】
【0004】
ウェアラブルマルチメディアデバイスを用いた動的な光学投影のための、システム、方法、デバイス、および非一時的コンピュータ可読記憶媒体が開示される。ウェアラブルマルチメディアデバイスは、情報を投影光を使用してユーザに視覚的に提示するように構成された光学投影システム(例えばレーザ投影システム)を含むことができる。例えば、光学投影システムは、光を表面上に(例えば、数ある表面の中でもとりわけ、ユーザの手掌上など、ユーザの手の表面、またはテーブル上面上に)、ユーザが仮想オブジェクト、例えば画像、ビデオ、もしくはテキストの表現物、または1つもしくは複数のユーザインターフェース要素を備えた仮想インターフェース(VI)を知覚するような特定の空間的および/または時間的パターンに従って、投影することができる。ユーザは、この仮想オブジェクトと対話するためにジェスチャを実施することができる。
【0005】
いくつかの実装形態では、ユーザがVIを使用して情報を閲覧できるように、ウェアラブルマルチメディアデバイスは、投影表面の3次元(3D)変動を検出し、次いで、仮想オブジェクトの一貫した、歪曲のない投影を維持するように光学投影を動的に調整する。光学投影を調整することは、(i)投影される仮想オブジェクトの1つもしくは複数の特性を調整すること、または(ii)光学投影システム自体を調整することの少なくとも一方を含むことができる。ウェアラブルマルチメディアデバイスは、数ある中でもとりわけ、投影表面の可変深度、投影表面の移動、および/または光学投影の方向に対する投影表面の非垂直角度を含めて、投影表面の3D変動をリアルタイムで検出し、マッピングすることができる。動的な検出では、数ある中でもとりわけ、レーダ、ライダ、および複数のカメラセンサを使用して、投影表面の動的な3D変動をマッピングすることができる。
【0006】
いくつかの実装形態では、ウェアラブルマルチメディアデバイスは、投影表面の3Dマップを使用して、投影表面の3D変動によって生じる任意の潜在的な歪曲を取り除くように、投影される仮想オブジェクトを動的に調整し、それによって、投影された仮想オブジェクトが、普通なら投影表面の3D変動によって生じるはずである歪曲のない状態で、投影表面上でユーザの前に出現するようになる。例えば、仮想オブジェクトは2次元(2D)画像とすることができる。3D変動を有する投影表面上に2D画像が直接投影される場合、ユーザは、投影表面上の、歪曲のある2D画像を見ることがある。そうではなく、開示の実装形態を使用すると、2D画像を、投影表面の3Dマップに基づいて、例えば、数ある中でもとりわけ、伸張する、収縮する、かつ/または回転させることによって、調整しまたは事前歪曲させることができる。調整または事前歪曲された2D画像は、投影表面の3Dマップ上に、例えばテクスチャマッピングによって移すことができ、それにより、ユーザの前に出現する歪曲が取り除かれ得る。「事前歪曲された」という用語は、投影表面によって生じる、後の歪曲の前に、元の仮想オブジェクト、例えば2D画像が調整されることを意味することに留意されたい。「歪曲のない」という用語は、投影表面によって生じる、後の歪曲を補償するように、元の仮想オブジェクトが最初に調整または事前歪曲され、それによって、最終的に投影された仮想オブジェクトが、元の仮想オブジェクトと同じように、歪曲のないように見えるようになることを意味する。
【0007】
光学投影システム自体は、移動しているユーザの身体上に装着されたウェアラブルマルチメディアデバイス内でそれが使用されているときに、静止していてもよく、運動していても、例えば移動していてもよい。光学投影システムの運動は、ウェアラブルマルチメディアデバイスに結合されたセンサ、例えば、数ある中でもとりわけ、加速度計、ジャイロスコープ、および磁力計のうちの1つまたは複数を使用して、リアルタイムで計算することができる。投影表面の3D変動に起因する仮想オブジェクトの調整に加えて、光学投影システム自体の運動を、投影表面上の投影された仮想オブジェクトの一貫した配置を調整し維持するために考慮に入れることもできる。
【0008】
本明細書において説明する実装形態は、さまざまな技術的利点をもたらすことができる。例えば、本技法により、ウェアラブルマルチメディアデバイスが、一貫した、歪曲のない表面投影を維持するように光学投影を動的に調整することが可能になり、それにより、VI上のコンテンツの可読性が促進し、ウェアラブルマルチメディアデバイスのユーザエクスペリエンスが向上し得る。ウェアラブルマルチメディアデバイスは、投影表面の寸法または位置に対する変化をリアルタイムでモニタリングすることができ、また表示される仮想オブジェクト、または光学投影システムについての対応する調整を行い、それによって、投影されたオブジェクトの表示(view)が、歪曲のないもの、継ぎ目のないもの、また連続的なものとなり得るようにすることができる。開示の技法ではまた、3D変動のある投影表面の複数の領域に従って、投影される仮想オブジェクトを複数のセクションに分割することが可能であり、投影された仮想オブジェクトの歪曲を回避または解消するように、個々のセクションを局所的に調整しまたは事前歪曲させ、それによって、投影表面上の仮想オブジェクトの描画がより正確かつ高精度になる。本技法ではまた、ウェアラブルマルチメディアデバイスのいくつかのセンサからのセンサデータを使用して、投影表面の3Dマップを動的に決定すること、かつ/あるいはカスタマイズされたさらなるデバイスを追加することなくプログラミング命令(もしくはソフトウェアアプリケーション)および/またはウェアラブルマルチメディアデバイスの1つもしくは複数のコントローラ(もしくはドライバ)を用いた対応する調整を行うことが可能であり、それにより、コスト効率が高くなり得る。さらに、本技法は、ユーザの手、ユーザの身体の別の部分もしくはウェアラブル衣服上、またはテーブル上面など、さまざまな表面プロファイルを有する投影表面上にさまざまなタイプの仮想オブジェクトを投影するために適用することができ、それにより、ウェアラブルマルチメディアデバイスの自由度および/または適用可能性が向上し得る。例えば、本技法は、光学的に投影される(例えばレーザにより投影される)簡単かつ直感的なVIを提供することができ、このVIは、ユーザが、狭い表面エリア上に光学的に投影されたさまざまなメニューに、ユーザの手掌上などの表面上に投影されたVI要素の上方でのタッチまたは近接(例えばホバリング)によってアクセスできるようにするものである。本技法は、限定された表示スペースおよび/もしくは凹凸のある表面外形を有する、または投影の間に動的に変化する、ユーザの手掌や別の表面エリアなど、従来とは異なる投影表面上の情報に、より容易にアクセスできるようにする。本技法はまた、情報をユーザによってより容易に読み出せるかまたは閲覧できるようにする。本技法はまた、投影表面自体の上に、指定されたコンテンツを概略表示または強調表示することができる。開示の実施形態は、例えば、提示される情報のタイプを、例えばコンテキスト依存のオプションメニューを使用して制限することによって、情報を要約しそれを表面上に提示する。開示の実施形態は、情報を見いだすために表示のスクロール、ドリルダウン、および/または切換えを必要とする従来のユーザインターフェース設計に勝る利点をもたらすが、これらは、ユーザの手掌などの狭い表面エリア上に投影される、光学的に投影される仮想インターフェースにとって実際的ではない。
【0009】
本開示の実装形態は、ウェアラブルマルチメディアデバイスを使用した動的な光学投影のためのコンピュータ実装方法を提供する。方法は、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3次元(3D)マップを決定することと、投影表面の3Dマップの決定に応答して、投影表面上に光学投影システムによって投影される仮想オブジェクトに関連する歪曲を決定することと、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することと、光学投影システムを使用するとともに調整の結果に基づいて、投影表面上に仮想オブジェクトを投影することとを含む。
【0010】
一実施形態では、方法は、投影される仮想オブジェクトの取得に応答して、投影される仮想オブジェクトのための投影表面を提示することをさらに含む。
【0011】
一実施形態では、投影される仮想オブジェクトのための投影表面を提示することが、光学投影システムのカバレッジ視野(field of coverage)を決定することと、光学投影システムのカバレッジ視野の決定に応答して、光学投影システムのカバレッジ視野内に投影表面を収容するように、光学投影システムと投影表面との間の相対位置を調整することとを含む。
【0012】
一実施形態では、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3次元(3D)マップを決定することが、3Dマッピングアルゴリズムを使用して、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータを処理して、投影表面の3Dマップのための3Dマッピングデータを取得することを含む。
【0013】
一実施形態では、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することは、投影表面上に投影される仮想オブジェクトが、平坦な2次元(2D)表面上に投影される仮想オブジェクトと実質的に同じもののように見えるようにするように、歪曲を補償することを含む。
【0014】
一実施形態では、投影表面上に投影される仮想オブジェクトに関連する歪曲を決定することが、投影表面の3Dマップを、光学投影システムの光学投影方向と直交する平坦な2D表面と比較することであって、3Dマップが、平坦な2D表面に対して1つまたは複数の凹凸領域を含む、比較することと、比較の結果に基づいて、投影表面上に投影される仮想オブジェクトに関連する歪曲を決定することとを含む。
【0015】
一実施形態では、投影表面上に投影される仮想オブジェクトに関連する歪曲を決定することが、投影表面の1つまたは複数の凹凸領域上に投影される仮想オブジェクトの1つまたは複数のセクションを決定することを含む。決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することが、投影表面の1つまたは複数の凹凸領域についての情報に基づいて、投影される仮想オブジェクトの1つまたは複数のセクションの1つまたは複数の特性を局所的に調整することを含む。
【0016】
一実施形態では、投影表面上に投影される仮想オブジェクトに関連する歪曲を決定することが、投影表面の3Dマップに基づいて、投影表面を複数の領域にセグメント化することであって、複数の領域がそれぞれ、実質的に平坦である対応する表面を備える、セグメント化することと、投影表面の複数の領域に従って、仮想オブジェクトを複数のセクションに分割することであって、仮想オブジェクトの複数のセクションの各セクションが、光学投影システムによって仮想オブジェクトのそのセクションが上に投影されることになる、それぞれの領域に対応する、分割することと、投影表面の複数の領域の情報および仮想オブジェクトの複数のセクションの情報に基づいて、仮想オブジェクトに関連する歪曲を決定することとを含む。
【0017】
一実施形態では、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することが、投影表面の複数の領域についての情報および仮想オブジェクトの複数のセクションについての情報に基づいて、投影される仮想オブジェクトの複数のセクションの各セクションの1つまたは複数の特性を局所的に調整することを含む。
【0018】
一実施形態では、投影される仮想オブジェクトの複数のセクションの各セクションの1つまたは複数の特性を局所的に調整することが、投影される仮想オブジェクトの複数のセクションの各セクションについて、コンテンツマッピングアルゴリズムを使用して、そのセクションを投影表面の複数の領域のうちのそれぞれの領域にマッピングすることと、それぞれの領域上のマッピングされたセクションに基づいて、そのセクションの1つまたは複数の特性を調整することとを含む。
【0019】
一実施形態では、投影表面上に投影される仮想オブジェクトに関連する歪曲を決定することが、投影表面上に仮想オブジェクトを投影する前に、投影表面上の仮想オブジェクトの投影を推定することと、投影される仮想オブジェクトと仮想オブジェクトの推定された投影との比較に基づいて、歪曲を決定することとを含む。
【0020】
一実施形態では、仮想オブジェクトの1つまたは複数の特性が、拡大率、解像度、伸張率、収縮率、または回転角度のうちの少なくとも1つを含む。
【0021】
一実施形態では、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することが、光学投影システムと投影表面との間の距離を調整すること、または光学投影システムからの光学投影を投影表面に対して傾斜もしくは回転させることの少なくとも一方を含む。
【0022】
一実施形態では、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することが、投影表面上に投影される仮想オブジェクトのコンテンツを調整することを含む。
【0023】
一実施形態では、投影表面上に投影される仮想オブジェクトのコンテンツを調整することが、投影表面がより広い表面エリアを有しているとの決定に応答して、投影表面上に投影される仮想オブジェクトのコンテンツの量を増大させること、または投影表面がより狭い表面エリアを有しているとの決定に応答して、投影表面上に投影される仮想オブジェクトのコンテンツの量を低減させることの一方を含む。
【0024】
一実施形態では、方法は、ウェアラブルマルチメディアデバイスのカメラセンサによって、投影表面上の投影された仮想オブジェクトの画像を捕捉することと、投影表面上の投影された仮想オブジェクトの捕捉された画像に少なくとも部分的に基づいて、仮想オブジェクトに関連する歪曲を決定することとを含む。
【0025】
一実施形態では、センサデータが、投影表面の可変深度、投影表面の移動、光学投影システムの運動、または光学投影システムの光学投影の方向に対する投影表面の非垂直角度のうちの少なくとも1つを含む。
【0026】
一実施形態では、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサが、加速度計、ジャイロスコープ、磁力計、深度センサ、運動センサ、レーダ、ライダ、飛行時間(TOF)センサ、または1つもしくは複数のカメラセンサ、のうちの少なくとも1つを含む。
【0027】
一実施形態では、方法は、少なくとも1つのセンサの更新されたセンサデータに基づいて、投影表面の3Dマップを動的に更新することを含む。
【0028】
一実施形態では、仮想オブジェクトが、1つまたは複数の画像、ビデオ、またはテキスト、あるいは1つもしくは複数のユーザインターフェース要素またはコンテンツ情報の少なくとも一方を含む仮想インターフェース、の少なくとも一方を備える。
【0029】
一実施形態では、仮想オブジェクトが、1つまたは複数の同心リングであって、各リングに複数のノードが埋め込まれており、各ノードがアプリケーションを表す、1つまたは複数の同心リングを含む。
【0030】
一実施形態では、方法は、少なくとも1つのセンサからの第2のセンサデータに基づいて、1つまたは複数の同心リングのうちの少なくとも1つの同心リングの複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出することと、ユーザ入力に応答して、選択された特定のノードに対応するアプリケーションの起動を生じさせることとをさらに含む。
【0031】
一実施形態では、方法は、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサからの第2のセンサデータに基づいて、コンテキストを推論することと、推論されたコンテキストに基づいて、投影表面上に投影される1つまたは複数の第1の仮想インターフェース(VI)要素を備えた第1のVIを生成することとをさらに含む。仮想オブジェクトは、1つまたは複数の第1のVI要素を備えた第1のVIを備える。
【0032】
一実施形態では、方法は、光学投影システムを使用して、投影表面上に、1つまたは複数の第1のVI要素を備えた第1のVIを投影することと、1つまたは複数の第1のVI要素のうちの第1のVI要素に向けられたユーザ入力を受け取ることと、ユーザ入力に応答して、対応するアプリケーションを起動するためのアイコン付きの1つまたは複数の同心リングを含む、第2のVIを生成することであって、推論されたコンテキストに、より関連のある1つまたは複数のアイコンが、1つまたは複数の他のアイコンとは別様に提示される、生成することとをさらに含む。仮想オブジェクトは、アイコン付きの1つまたは複数の同心リングを備えた第2のVIを含む。
【0033】
一実施形態では、方法は、ウェアラブルマルチメディアデバイスの光学プロジェクタを使用して、表面上に仮想インターフェース(VI)を投影することであって、VIが、同心リングであって、各リングに複数のノードが埋め込まれており、各ノードがアプリケーションを表す、同心リングを含む、投影することと、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサからのセンサデータに基づいて、複数のリングのうちの少なくとも1つのリングの複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出することと、入力に応答して、少なくとも1つのプロセッサを用いて、選択されたノードに対応するアプリケーションの起動を生じさせることとを含む。
【0034】
一実施形態では、ウェアラブルマルチメディアデバイスが、光学プロジェクタと、カメラと、深度センサと、少なくとも1つのプロセッサと、命令を記憶する少なくとも1つのメモリとを含み、命令が、少なくとも1つのプロセッサによって実行されると少なくとも1つのプロセッサに、光学プロジェクタを使用して、表面上に仮想インターフェース(VI)を投影することであって、VIが、同心リングであって、各リングに複数のノードが埋め込まれており、各ノードがアプリケーションを表す、同心リングを備える、投影することと、カメラまたは深度センサの少なくとも一方からのセンサデータに基づいて、複数のリングのうちの少なくとも1つのリングの複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出することと、入力に応答して、選択されたノードに対応するアプリケーションの起動を生じさせることとを含む動作を実施させる。
【0035】
本開示による方法が、本明細書において説明する態様および特徴の任意の組合せを含むことがあることを、理解されよう。すなわち、本開示による方法は、本明細書において具体的に説明する態様および特徴の組合せに限定されるのではなく、提供する態様および特徴の任意の組合せも含む、ということである。
【0036】
本開示は、1つまたは複数のプロセッサに結合され、命令がその上に記憶された、1つまたは複数の非一時的コンピュータ可読記憶媒体であって、命令が、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに、本明細書において提供する方法の実施形態による動作を実施させる、1つまたは複数の非一時的コンピュータ可読記憶媒体も提供する。
【0037】
本開示は、本明細書において提供する方法を実装するためのシステムをさらに提供する。システムは、光学投影システムと、少なくとも1つのセンサと、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、命令がその上に記憶された、1つまたは複数のメモリとを含み、命令は、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに、本明細書において提供する方法の実施形態による動作を実施させる。
【0038】
開示の実施形態の詳細は、添付の図面および下の説明中に記載される。他の特徴、目的、および利点が、説明、図面、および特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0039】
【
図1】一実施形態による、ウェアラブルマルチメディアデバイス、およびウェアラブルマルチメディアデバイスによって捕捉されたマルチメディアデータを処理するためのアプリケーションエコシステムを備えたクラウドコンピューティングプラットフォームのための、動作環境のブロック図である。
【
図2A】一実施形態による、
図1のクラウドコンピューティングプラットフォームによって実装されるデータ処理システムのブロック図である。
【
図2B】一実施形態による、ウェアラブルマルチメディアデバイスのためのメッセージングシステムを示す図である。
【
図3】一実施形態による、コンテキストデータストリームを処理するためのデータ処理パイプラインのブロック図である。
【
図4】一実施形態による、輸送アプリケーション用のコンテキストデータストリームを処理するための別のデータ処理のブロック図である。
【
図5】一実施形態による、
図2Aのデータ処理システムによって使用されるデータオブジェクトを示す図である。
【
図6】一実施形態による、データパイプラインプロセスのフロー図である。
【
図7】一実施形態による、クラウドコンピューティングプラットフォームのアーキテクチャの図である。
【
図8】一実施形態による、ウェアラブルマルチメディアデバイスのアーキテクチャの図である。
【
図9】一実施形態による、プロジェクタアーキテクチャのシステムブロック図である。
【
図10】一実施形態による、投影表面としてのユーザの手掌上に投影された例示的な仮想インターフェースの図である。
【
図11A】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11B】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11C】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11D】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11E】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11F】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11G】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11H】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11I】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図11J】一実施形態による、仮想VI要素の例示的な光学投影の図である。
【
図12A】一実施形態による、投影表面上の仮想オブジェクトの例示的な光学投影の図である。
【
図12B】一実施形態による、投影表面上の仮想オブジェクトの例示的な光学投影の図である。
【
図12C】一実施形態による、投影表面上の仮想オブジェクトの例示的な光学投影の図である。
【
図12D】一実施形態による、凹凸のある投影表面上の仮想オブジェクトの例示的な光学投影の図である。
【
図13A】一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理することに関係する例示的な動作の図である。
【
図13B】一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理することに関係する例示的な動作の図である。
【
図13C】一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理することに関係する例示的な動作の図である。
【
図13D】一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理することに関係する例示的な動作の図である。
【
図13E】一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理することに関係する例示的な動作の図である。
【
図14】一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理するためのプロセスのフロー図である。
【
図15】一実施形態による、VI投影を生成するプロセスのフロー図である。
【発明を実施するための形態】
【0040】
さまざまな図面中で使用される同じ参照符号は、同様の要素を示す。
【0041】
例示的なウェアラブルマルチメディアデバイス
本明細書において説明する特徴およびプロセスは、ウェアラブルマルチメディアデバイス上に実装することができる。一実施形態では、ウェアラブルマルチメディアデバイスは、ユーザの衣服または物体にテンションクラスプ(tension clasp)、インターロッキングピンバック(interlocking pin back)、磁石、または他の任意の取付け機構を使用して取り付けることのできる、軽量でスモールフォームファクタのバッテリ給電式デバイスである。ウェアラブルマルチメディアデバイスは、ユーザが、最小のユーザ対話またはデバイスセットアップで、自然発生的にかつ/または連続して、生活上の出来事(「瞬間」)のマルチメディアデータ(例えばビデオ、オーディオ、深度データ、生体測定データ)を捕捉し、取引(例えば金融取引)を文書化できるようにする、デジタル画像捕捉デバイス(例えば180°FOVおよび光学式手振れ補正(OIS))付きカメラ)を含む。ワイヤレスマルチメディアデバイスによって捕捉されたマルチメディアデータ(「コンテキストデータ」)は、アプリケーションエコシステムを備えたクラウドコンピューティングプラットフォームにアップロードされ、このアプリケーションエコシステムにより、コンテキストデータが、1つまたは複数のアプリケーション(例えば人工知能(AI)アプリケーション)によって、ウェアラブルマルチメディアデバイスおよび/または他の任意の再生デバイス上にダウンロードしその上でリプレイすることのできる任意の所望の提示フォーマット(例えば単一の画像、画像ストリーム、ビデオクリップ、オーディオクリップ、マルチメディア提示、または画像ギャラリ)に処理、編集、およびフォーマット化されることが可能になる。例えば、クラウドコンピューティングプラットフォームは、ビデオデータおよびオーディオデータを、ユーザによって指定された任意の所望の映像制作スタイル(例えばドキュメンタリ、ライフスタイル、スナップ(candid)、フォトジャーナリズム、スポーツ、ストリート)に変換することができる。
【0042】
一実施形態では、コンテキストデータは、クラウドコンピューティングプラットフォームのサーバコンピュータによって、ユーザの好みに基づいて処理される。例えば、ユーザの好みに基づいて、ユーザが再び体験したいと欲する瞬間に完全に合わせて、画像をカラーグレーディングし、安定化し、トリミングすることができる。ユーザの好みは、ウェブサイトまたはポータルを通じてアクセス可能なオンラインアカウントを通じてユーザによって作成されたユーザプロファイル内に記憶することもでき、あるいはユーザの好みは、(例えば機械学習を使用して)プラットフォームによって時間にわたって学習することもできる。一実施形態では、クラウドコンピューティングプラットフォームは、スケーラブルな分散コンピューティング環境である。例えば、クラウドコンピューティングプラットフォームは、リアルタイムストリーミングデータパイプラインと、データのストリームを変換しまたはデータのストリームに反応するリアルタイムストリーミングアプリケーションとを備えた、分散ストリーミングプラットフォーム(例えばApache Kafka(商標))とすることができる。
【0043】
一実施形態では、ユーザは、簡単なタッチジェスチャ(例えばタップもしくはスワイプ)を用いて、コマンドを発話することによって、または他の任意の入力機構によって、ウェアラブルマルチメディアデバイス上のコンテキストデータ捕捉セッションを開始および停止することができる。ウェアラブルマルチメディアデバイスがユーザによって装着されていないことを、ウェアラブルマルチメディアデバイスが1つまたは複数のセンサ(例えば近接センサ、光学センサ、加速度計、ジャイロスコープ)を使用して検出したときに、ウェアラブルマルチメディアデバイスの全てまたは一部分が自動的にパワーダウンすることが可能である。
【0044】
任意の所望の暗号化または圧縮技術を使用して、コンテキストデータを暗号化し、圧縮し、ユーザアカウントに関連付けられたオンラインデータベース内に記憶することができる。コンテキストデータは、ユーザによって設定することのできる指定の期間にわたって記憶することができる。ユーザには、ウェブサイト、ポータル、またはモバイルアプリケーションを通じて、自身のデータおよびデータプライバシーを管理するためのオプトイン機構および他のツールが提供されることが可能である。
【0045】
一実施形態では、コンテキストデータは、例えばアプリケーションエコシステム内の拡張現実(AR)アプリケーションおよび仮想現実(VR)アプリケーションを使用して処理することのできる3次元(3D)表面マッピングされたオブジェクトを提供するための点群データを含む。点群データは、ウェアラブルマルチメディアデバイスに埋め込まれた深度センサ(例えばライダまたは飛行時間(TOF))によって生成することができる。
【0046】
一実施形態では、ウェアラブルマルチメディアデバイスは、デバイスを装着しているユーザの、コンテキストデータが捕捉されたときのロケーションおよび配向を決定するための、全地球航法衛星システム(GNSS)レシーバ(例えばグローバルポジショニングシステム(GPS))、および1つまたは複数の慣性センサ(例えば加速度計、ジャイロスコープ)を含む。一実施形態では、コンテキストデータ内の1つまたは複数の画像を、アプリケーションエコシステム内のビジュアルオドメトリアプリケーションなどの位置特定アプリケーションによって使用して、ユーザの位置および配向を決定することができる。
【0047】
一実施形態では、ウェアラブルマルチメディアデバイスは、限定はしないが、周囲光センサ、磁力計、圧力センサ、音声区間検出器などを含む、1つまたは複数の環境センサを含むこともできる。このセンサデータをコンテキストデータ内に含めて、コンテンツ提示を、瞬間を捕捉するために使用することのできる追加の情報で強化することができる。
【0048】
一実施形態では、ウェアラブルマルチメディアデバイスは、心拍センサ、指紋スキャナなど、1つまたは複数の生体測定センサを含むことができる。このセンサデータをコンテキストデータ内に含めて、取引を文書化すること、または瞬間の間のユーザの感情の状態を示すことができる(例えば心拍の上昇は興奮または不安を示すことができる)。
【0049】
一実施形態では、ウェアラブルマルチメディアデバイスは、ヘッドセットまたはイヤホンを接続するヘッドホンジャック、および音声コマンドを受け取り周囲のオーディオを捕捉するための1つまたは複数のマイクロホンを含む。一代替実施形態では、ウェアラブルマルチメディアデバイスは、Bluetooth、IEEE802.15.4(ZigBee(商標))、および近距離無線通信(NFC)を含むがそれらに限定されない、短距離通信技術を含む。短距離通信技術を使用して、ヘッドホンジャックに加えてもしくはその代わりに、ワイヤレスのヘッドセットもしくはイヤホンにワイヤレスで接続することができ、かつ/または短距離通信技術は、他の任意の外部デバイス(例えばコンピュータ、プリンタ、プロジェクタ、テレビ、および他のウェアラブルデバイス)にワイヤレスで接続することができる。
【0050】
一実施形態では、ウェアラブルマルチメディアデバイスは、ワイヤレストランシーバ、ならびにWi-Fi通信技術、3G通信技術、4G通信技術、および5G通信技術を含む多様な通信技術のための通信プロトコルスタックを含む。一実施形態では、頭部のジェスチャを用いたコマンドを提供するため、または空間オーディオの再生を行うなどのために、ヘッドセットまたはイヤホンも、ユーザが面している方向についての情報を提供するセンサ(例えば生体測定センサ、慣性センサ)を含む。一実施形態では、カメラの視野がユーザの視野方向に追従するように、カメラ方向を頭部のジェスチャによって制御することができる。一実施形態では、ウェアラブルマルチメディアデバイスを、ユーザのメガネに埋め込むかまたは取り付けることができる。
【0051】
一実施形態では、ウェアラブルマルチメディアデバイスは、プロジェクタ(例えばレーザプロジェクタ)または他のデジタル投影技術(例えば液晶オンシリコン(LCoSもしくはLCOS)技術、デジタルライトプロセッシング(DLP)技術、もしくは液晶ディスプレイ(LCD)技術)を含み、あるいは外部プロジェクタに有線またはワイヤレスで結合することができ、それにより、ユーザが壁面やテーブル上面などの表面上、またはユーザの手の表面(例えばユーザの手掌)上に、瞬間をリプレイすることが可能になる。別の実施形態では、ウェアラブルマルチメディアデバイスは、プロジェクタまたは他の出力デバイスに接続することのできる出力ポートを含む。
【0052】
一実施形態では、ウェアラブルマルチメディア捕捉デバイスは、タッチジェスチャ(例えばタップジェスチャ、マルチタップジェスチャ、またはスワイプジェスチャ)に応答するタッチ表面を含む。ウェアラブルマルチメディアデバイスは、情報を提示するための小型ディスプレイ、およびオン/オフステータス、電力状況、または他の任意の所望のステータスを示すための1つまたは複数の光インジケータを含むことができる。
【0053】
一実施形態では、クラウドコンピューティングプラットフォームは、ユーザが自身の環境内のオブジェクトを指差して「あの建物は何?」と言うなど、スピーチクエリと組み合わせたコンテキストベースのジェスチャ(例えばエアジェスチャ)によって駆動することができる。クラウドコンピューティングプラットフォームは、エアジェスチャを使用して、カメラの表示域の範囲を狭め、建物を分離する。建物の1つまたは複数の画像が捕捉され、(例えばプライバシーを保護するために)オプションでトリミングされ、クラウドコンピューティングプラットフォームに送出され、クラウドコンピューティングプラットフォームでは、画像認識アプリケーションが画像クエリを実行し、結果を記憶するかまたはユーザに返すことができる。エアジェスチャおよびタッチジェスチャは、例えば表面上に投影されたユーザインターフェース要素に応答して投影された一時的なディスプレイ上で実施することもできる。
【0054】
一実施形態では、ユーザまたは認可された任意の閲覧者のみが、接続された画面(例えばスマートフォン、コンピュータ、テレビなど)上で、または表面上の投影として、瞬間を再び体験できるように、コンテキストデータをデバイス上およびクラウドコンピューティングプラットフォーム上で暗号化することができる。ウェアラブルマルチメディアデバイスの例示的なアーキテクチャについては、
図8を参照して説明する。
【0055】
個人の生活上の出来事に加えて、ウェアラブルマルチメディアデバイスは、現在スマートフォンによってハンドリングされている金融取引の捕捉も簡単にする。日々の取引(例えば商取引、少額取引)の捕捉が、ウェアラブルマルチメディアデバイスによって提供される視覚支援コンテキストアウェアネス(sight assisted contextual awareness)を使用することによって、より簡単に、より迅速に、かつより円滑になる。例えば、ユーザが金融取引(例えば購入すること)に関与しているとき、ウェアラブルマルチメディアデバイスは、日付、時刻、金額、当事者のデジタル画像またはビデオ、オーディオ(例えば取引について説明するユーザのナレーション)、および環境データ(例えばロケーションデータ)を含む、その金融取引を記念するデータを生成する。データは、クラウドコンピューティングプラットフォームに送出されるマルチメディアデータストリーム内に含めることができ、クラウドコンピューティングプラットフォームでは、そのデータをオンラインで記憶し、かつ/または1つもしくは複数の金融アプリケーション(例えば金融管理、会計、予算、税務申告、在庫など)によって処理することができる。
【0056】
一実施形態では、クラウドコンピューティングプラットフォームは、さまざまなサードパーティアプリケーションディベロッパがアプリケーションエコシステム内のそれらのアプリケーションをアップロード、更新、および管理できるようにするグラフィカルユーザインターフェースを、ウェブサイトまたはポータル上に提供する。いくつかの例示的なアプリケーションとしては、限定はしないが、個人のライブブロードキャスティング(例えばInstagram(商標) Life、Snapchat(商標))、高齢者のモニタリング(例えば大切な人が自身の薬を飲んだかを確認するための)、記憶の想起(例えば先週の子どものサッカーの試合を見せること)、および個人案内(例えば、ユーザのロケーションが分かっており、アクションを実施するようにユーザを案内する、AI対応の個人案内)があり得る。
【0057】
一実施形態では、ウェアラブルマルチメディアデバイスは、1つまたは複数のマイクロホン、および1つのヘッドセットを含む。一実施形態では、ヘッドセットワイヤがマイクロホンを含む。一実施形態では、ウェアラブルマルチメディアデバイス上に、ユーザのクエリ、要求、およびコマンドに応答するデジタルアシスタントが実装される。例えば、親によって装着されたウェアラブルマルチメディアデバイスは、子どものサッカーの試合の、特に子どもがゴールを挙げる「瞬間」の、瞬間コンテキストデータを捕捉する。ユーザは、プラットフォームがゴールのビデオクリップを作成し、それを自身のユーザアカウントに記憶するように、(例えばスピーチコマンドを使用して)要求することができる。ユーザによる任意のさらなるアクションなしに、クラウドコンピューティングプラットフォームは、ゴールが挙げられたときの瞬間コンテキストデータの適切な部分を(例えば顔認識、視覚的な手がかり、またはオーディオによる手がかりを使用して)識別し、瞬間コンテキストデータをビデオクリップに編集し、ユーザアカウントに関連付けられたデータベース内にビデオクリップを記憶する。
【0058】
一実施形態では、ウェアラブルマルチメディアデバイスは、バッテリ寿命を維持するための光起電力表面技術(photovoltaic surface technology)、および充電マット上での電磁誘導充電およびワイヤレスオーバージエアー(OTA)充電を可能にするための電磁誘導充電回路(例えばQi)を含むことができる。
【0059】
一実施形態では、ウェアラブルマルチメディアデバイスは、充電式携帯用バッテリパックと磁気により結合または係合するように構成される。携帯用バッテリパックは、永久磁石(例えばN極)が上に配設された係合面を含み、ウェアラブルマルチメディアデバイスは、永久磁石(例えばS極)が上に配設された対応する係合面を有する。任意の所望の形状またはサイズを有する任意数の永久磁石をそれらの係合面上に任意の所望のパターンで配置することができる。
【0060】
永久磁石は、携帯用バッテリパックとウェアラブルマルチメディアデバイスとを一緒に、衣服(例えばユーザのシャツ)が間にある状態で、係合構成で保持する。一実施形態では、携帯用バッテリパックとウェアラブルマルチメディアデバイスは、同じ係合面寸法を有し、したがって、係合構成にあるときに張り出す部分がない。ユーザは、携帯用バッテリパックを自身の衣服の下に配置するとともにウェアラブルマルチメディアデバイスを自身の衣服の外側で携帯用バッテリパックの上面上に配置し、それによって、永久磁石が衣服を通じて互いに引き合うようにすることによって、ウェアラブルマルチメディアデバイスを自身の衣服に、磁気により固定する。
【0061】
一実施形態では、携帯用バッテリパックは、係合構成にある間に共振誘導結合の原理を使用してウェアラブルマルチメディアデバイスにワイヤレスで給電するために使用される、組込みのワイヤレス電力トランスミッタを有する。一実施形態では、ウェアラブルマルチメディアデバイスは、係合構成にある間に携帯用バッテリパックから電力を受け取るために使用される、組込みのワイヤレス電力レシーバを含む。
【0062】
システム概要
図1は、一実施形態による、ウェアラブルマルチメディアデバイス、およびウェアラブルマルチメディアデバイスによって捕捉されたマルチメディアデータを処理するためのアプリケーションエコシステムを備えたクラウドコンピューティングプラットフォームのための、動作環境のブロック図である。動作環境100は、ウェアラブルマルチメディアデバイス101、クラウドコンピューティングプラットフォーム102、ネットワーク103、アプリケーション(「アプリ」)ディベロッパ104、およびサードパーティプラットフォーム105を含む。クラウドコンピューティングプラットフォーム102は、ウェアラブルマルチメディアデバイス101によってアップロードされたコンテキストデータを記憶するための1つまたは複数のデータベース106に結合されている。
【0063】
先に説明したように、ウェアラブルマルチメディアデバイス101は、ユーザの衣服または物体にテンションクラスプ、インターロッキングピンバック、磁石、または他の任意の取付け機構を使用して取り付けることのできる、軽量でスモールフォームファクタのバッテリ給電式デバイスである。ウェアラブルマルチメディアデバイス101は、ユーザが、最小のユーザ対話またはデバイスセットアップで、自然発生的に、「瞬間」のマルチメディアデータ(例えばビデオ、オーディオ、深度データ)を捕捉し、日々の取引(例えば金融取引)を文書化できるようにする、デジタル画像捕捉デバイス(例えば180°FOVおよびOIS付きカメラ)を含む。ウェアラブルマルチメディアデバイス101によって捕捉されたコンテキストデータは、クラウドコンピューティングプラットフォーム102にアップロードされる。クラウドコンピューティングプラットフォーム102は、コンテキストデータが、1つまたは複数のサーバ側アプリケーションによって、ウェアラブルマルチメディアデバイスおよび/または他の再生デバイス上にダウンロードしその上でリプレイすることのできる任意の所望の提示フォーマット(例えば単一の画像、画像ストリーム、ビデオクリップ、オーディオクリップ、マルチメディア提示、画像ギャラリ)に処理、編集、およびフォーマット化されることを可能にする、アプリケーションエコシステムを含む。
【0064】
例として、子どもの誕生日パーティにおいて、親は、カメラレンズが自身の視野方向に面しているように、ウェアラブルマルチメディアデバイスを自身の衣服にクリップ留めする(か、またはデバイスをネックレスもしくはチェーンに取り付け、自身の首周りに装着する)ことができる。カメラは180°FOVを含み、この180°FOVにより、ユーザが現在見ているほとんど全てのものをカメラが捕捉することが可能になる。ユーザは、デバイスの表面をタップし、またはボタンを押し、またはコマンドを発話するだけで、記録を開始することができる。追加のセットアップは必要ない。誕生日の特別な瞬間(例えばロウソクを吹き消すところ)を捕捉したマルチメディアデータストリーム(例えばオーディオ付きビデオ)が記録される。この「コンテキストデータ」は、ワイヤレスネットワーク(例えばWi-Fi、セルラー)を通じてクラウドコンピューティングプラットフォーム102にリアルタイムで送出される。一実施形態では、コンテキストデータは、後にそれをアップロードすることができるように、ウェアラブルマルチメディアデバイス上に記憶される。別の実施形態では、ユーザは、コンテキストデータを別のデバイス(例えばパーソナルコンピュータのハードドライブ、スマートフォン、タブレットコンピュータ、サムドライブ)に転送し、後にアプリケーションを使用してコンテキストデータをクラウドコンピューティングプラットフォーム102にアップロードすることができる。
【0065】
一実施形態では、コンテキストデータは、クラウドコンピューティングプラットフォーム102によってホストされ管理されるアプリケーションエコシステムの1つまたは複数のアプリケーションによって処理される。アプリケーションには、それらの個々のアプリケーションプログラミングインターフェース(API)を通じてアクセスすることができる。コンテキストデータを、データタイプ、データ量、データ品質、ユーザの好み、テンプレート、および/または他の任意の情報のうちの1つまたは複数に基づいて処理して、ユーザの好みに基づく所望の提示を生成するために、クラウドコンピューティングプラットフォーム102によってカスタム分散ストリーミングパイプラインが作成される。一実施形態では、ユーザの好みの有無に関わらず、機械学習技術を使用して、データ処理パイプライン内に含めるのに適切なアプリケーションを自動的に選択することができる。例えば、データベース(例えばNoSQLデータベース)内に記憶された履歴的なユーザコンテキストデータを使用して、データ処理に対するユーザの好みを、任意の適切な機械学習技術(例えば深層学習ニューラルネットワークまたは畳み込みニューラルネットワーク)を使用して決定することができる。
【0066】
一実施形態では、アプリケーションエコシステムは、コンテキストデータを処理するサードパーティプラットフォーム105を含むことができる。コンテキストデータを送出/受信するために、クラウドコンピューティングプラットフォーム102とサードパーティプラットフォーム105との間でセキュリティ保護されたセッションがセットアップされる。この設計により、サードパーティアプリプロバイダが、自身のアプリケーションへのアクセスを制御すること、また更新を提供することができるようになる。他の実施形態では、アプリケーションがクラウドコンピューティングプラットフォーム102のサーバ上で実行され、更新がクラウドコンピューティングプラットフォーム102に送出される。後者の実施形態では、アプリディベロッパ104が、クラウドコンピューティングプラットフォーム102によって提供されるAPIを使用して、アプリケーションエコシステム内に含めるべきアプリケーションをアップロードし、更新することができる。
【0067】
例示的なデータ処理システム
図2Aは、一実施形態による、
図1のウェアラブルマルチメディアデバイスおよびクラウドコンピューティングプラットフォームによって実装されるデータ処理システムのブロック図である。データ処理システム200は、レコーダ201、ビデオバッファ202、オーディオバッファ203、写真バッファ204、取込みサーバ205、データストア206、ビデオプロセッサ207、オーディオプロセッサ208、写真プロセッサ209、およびサードパーティプロセッサ210を含む。
【0068】
ウェアラブルマルチメディアデバイス上で実行されるレコーダ201(例えばソフトウェアアプリケーション)は、カメラおよびオーディオサブシステムによって捕捉されたビデオデータ、オーディオデータ、および写真データ(「コンテキストデータ」)を記録し、それらのデータをそれぞれ、バッファ202、203、204内に記憶する。このコンテキストデータは次いで(例えばワイヤレスOTA技術を使用して)クラウドコンピューティングプラットフォーム102の取込みサーバ205に送出される。一実施形態では、データは、一意のストリーム識別子(streamid)をそれぞれが有する別々のデータストリーム内で送出することができる。ストリームは、次の例示的な属性、すなわちロケーション(例えば緯度、経度)、ユーザ、オーディオデータ、可変な持続時間のビデオストリーム、およびN枚の写真を含むことのできる別個のデータ片である。ストリームは、1からMAXSTREAM_LEN秒の持続時間を有することができ、ただし、この例ではMAXSTREAM_LEN=20秒である。
【0069】
取込みサーバ205は、ストリームを取り込み、プロセッサ207~209の結果を記憶するためにデータストア206内にストリームレコードを作成する。一実施形態では、オーディオストリームが最初に処理され、必要となる他のストリームを決定するために使用される。取込みサーバ205は、ストリームを適切なプロセッサ207~209にstreamidに基づいて送出する。例えば、ビデオストリームはビデオプロセッサ207に送出され、オーディオストリームはオーディオプロセッサ208に送出され、写真ストリームは写真プロセッサ209に送出される。一実施形態では、ウェアラブルマルチメディアデバイスから収集されたデータ(例えば画像データ)の少なくとも一部分が、それを所与のアプリケーションによってさらに処理し、ウェアラブルマルチメディアデバイスまたは他のデバイスに送出し戻すことができるように、メタデータに処理され、暗号化される。
【0070】
プロセッサ207~209は、先に説明したように、プロプライエタリアプリケーションまたはサードパーティアプリケーションを実行することができる。例えば、ビデオプロセッサ207は、ビデオバッファ202内に記憶された未加工のビデオデータをユーザの好みまたは他の情報に基づいて1つまたは複数の画像処理/編集アプリケーション211、212のセットに送出するビデオ処理サーバとすることができる。プロセッサ207は、要求をアプリケーション211、212に送出し、結果を取込みサーバ205に返す。一実施形態では、サードパーティプロセッサ210が、それ自体のプロセッサおよびアプリケーション217を使用して、ストリームのうちの1つまたは複数を処理することができる。別の例では、オーディオプロセッサ208は、オーディオバッファ203内に記憶されたスピーチデータをスピーチトゥテキスト変換アプリケーション213、214に送出するオーディオ処理サーバとすることができる。別の例では、写真プロセッサ209は、写真バッファ204内に記憶された画像データを画像処理アプリケーション215、216に送出する画像処理サーバとすることができる。
【0071】
例示的なメッセージングシステム
図2Bは、一実施形態による、スモールフォームファクタのウェアラブルマルチメディアデバイスのためのメッセージングシステム250を示す。システム250は、深度センサ252、カメラ253(例えば広FOVカメラ)、(例えばマイクロホン、音声増幅器、ラウドスピーカ、コーデックなどを含む)オーディオサブシステム254、全地球航法衛星システム(GNSS)レシーバ255(例えばGPSレシーバチップ)、タッチセンサ256(例えば静電容量式タッチ表面)、光学プロジェクタ257、プロセッサ258、メモリマネージャ259、電力マネージャ260、およびワイヤレストランシーバ(TX)261(例えばWIFI、Bluetooth、近距離(NF)のハードウェアとソフトウェアのスタック)を含む、複数の独立したコンポーネント/ブロック/周辺装置を含む。各ハードウェアコンポーネント252~261は、他のハードウェアコポーネント252~261と、それ自体の専用ソフトウェアエージェントまたはドライバを通じてメッセージバス251経由で通信する。一実施形態では、各コンポーネントは、他のコンポーネントとは独立して動作し、また異なるペースでデータを生成することができる。各コンポーネント252~257は、バス251上のサブスクライバ(データコンシューマ)、データソース、またはサブスクライバとデータソースの両方である。
【0072】
例えば、深度センサ252は、未加工の点群データのストリームを生成し、そのソフトウェアエージェント/ドライバを使用して、データストリームをサブスクライブ側コンポーネントが取り出し、使用できるようにするために、メッセージバス251上に載せる。カメラ253は、画像データ(例えば赤、緑、青(RGB)フレーム)のデータストリームを生成し、そのソフトウェアエージェント/ドライバを使用して、未加工の画像データストリームをメッセージバス251上に載せる。オーディオサブシステム254は、マイクロホンからのユーザスピーチ入力などのオーディオデータのストリームを生成し、そのソフトウェアエージェント/ドライバを使用して、オーディオデータストリームをメッセージバス251上に載せる。GNSS255は、デバイスのロケーションデータ(例えば緯度、経度、高度)のストリームを生成し、そのソフトウェアエージェント/ドライバを使用して、ロケーションデータストリームをメッセージバス251上に載せる。タッチセンサ256は、タッチデータ(例えばタップ、ジェスチャ)のストリームを生成し、そのソフトウェアエージェント/ドライバを使用して、タッチデータストリームをメッセージバス251上に載せる。
【0073】
一実施形態では、加速度計、角速度センサ、磁力計、または高度センサのうちの1つまたは複数を含む慣性計測装置(IMU)が、メッセージバス251に結合され、未加工センサデータまたは処理済みセンサデータ(例えばフィルタリングしたデータ、変換したデータ)を、メッセージバス251に結合された他のコンポーネントに提供する。
【0074】
光学プロジェクタ257、プロセッサ258、メモリマネージャ259、電力マネージャ260、およびワイヤレスTX261は、デバイスのコアシステムリソースであり、図示していない1つまたは複数のバス(例えばシステムバス、電力バス)を通じて一緒に結合される。一実施形態では、これらのコアシステムリソースも、バッテリ充電状態(SOC)、利用可能なメモリ、プロセッサ帯域幅、遠隔ソース用のデータバッファリング(例えばWIFI、Bluetoothデータ)などのシステム情報を他のコンポーネントに提供するための専用のソフトウェアエージェントまたはドライバを有する。これらのコンポーネントはそれぞれ、システム情報を使用して、例えばコアシステムリソースの変化に合わせて調整する(例えばデータ捕捉ペース、デューティサイクルを調整する)ことができる。
【0075】
本明細書において定義するように、「ソフトウェアエージェント」とは、ハードウェアコンポーネントまたはソフトウェアアプリケーションに代わって、データをメッセージバスまたは他のデータパイプラインから入手しかつ/または得るように自律的に動作するコードである。一実施形態では、ソフトウェアエージェントは、デバイスのオペレーティングシステム上で動作し、メモリマネージャ259を通じた下位レベルメモリアクセスにアプリケーションプログラミングインターフェース(API)呼出しを使用する。一実施形態では、ソフトウェアエージェントは、(例えば暗号化キーまたは他の機密データを得るために)共有システムメモリロケーションおよび/またはセキュリティ保護されたメモリロケーションからデータを得ることができる。一実施形態では、ソフトウェアエージェントは、バックグラウンドで実行されるデーモンプロセスである。
【0076】
一実施形態では、深度センサおよび/またはカメラセンサ252、253を使用して、キーボード、ボタン、スライダ、回転ダイヤル、または他の任意のグラフィカルユーザインターフェースアフォーダンスの光学的投影(例えばレーザ投影)を使用したユーザ入力を決定することができる。例えば、光学プロジェクタ257は、レーザプロジェクタ、または投影用の光を発することのできる他の任意のプロジェクタとすることができる。
図11A~
図11Jを参照して説明するように、光学プロジェクタ257を使用して、1つまたは複数のVI要素(例えば仮想ボタン、仮想キーボード、仮想スライダ、仮想ダイヤルなど)を、ユーザの手の手掌など、任意の所望の表面上に投影することができる。カメラセンサ253が、VI要素のロケーションを画像フレーム内に登録することができ、深度センサ252をカメラ画像とともに使用して、ユーザの指のロケーションを登録し、それによって、どのVIにユーザがタッチしているかを決定することができる。
【0077】
例示的なシーン識別アプリケーション
図3は、一実施形態による、コンテキストデータストリームを処理するためのデータ処理パイプラインのブロック図である。本実施形態では、データ処理パイプライン300は、ユーザが観視しているものを、ユーザによって装着されたウェアラブルマルチメディアデバイスによって捕捉されたコンテキストデータに基づいて決定するように作成し構成される。取込みサーバ301が、ウェアラブルマルチメディアデバイスのオーディオバッファ203から、(例えばユーザのナレーションを含む)オーディオストリームを受信し、オーディオストリームをオーディオプロセッサ305に送出する。オーディオプロセッサ305は、オーディオストリームをアプリ306に送出し、このアプリ306が、スピーチトゥテキスト変換を実施し、パースされたテキストをオーディオプロセッサ305に返す。オーディオプロセッサ305は、パースされたテキストを取込みサーバ301に返す。
【0078】
ビデオプロセッサ302が、取込みサーバ301から、パースされたテキストを受け取り、要求をビデオ処理アプリ307に送出する。ビデオ処理アプリ307は、ビデオシーン内のオブジェクトを識別し、パースされたテキストを使用して、オブジェクトにラベル付与する。ビデオ処理アプリ307は、シーンを記述する応答(例えばラベル付与されたオブジェクト)を、ビデオプロセッサ302に送出する。次いで、ビデオプロセッサは、応答を取込みサーバ301に転送する。取込みサーバ301は、応答をデータマージプロセス308に送出し、データマージプロセス308が、応答をユーザのロケーション、配向、およびマップデータとマージする。データマージプロセス308は、シーン記述を伴う応答を、ウェアラブルマルチメディアデバイス上のレコーダ304に返す。例えば、応答は、マップロケーションおよび(例えばシーン内の人々を識別する)シーン内のオブジェクトの記述を含めて、シーンを子どもの誕生日パーティと記述するテキストを含むことができる。レコーダ304は、シーン記述を、ウェアラブルマルチメディアデバイス上に記憶されたマルチメディアデータと(例えばstreamidを使用して)関連付ける。ユーザがデータを呼び戻すとき、データはシーン記述で強化される。
【0079】
一実施形態では、データマージプロセス308は、単なるロケーションおよびマップデータ以上のものを使用することができる。オントロジーの概念があってもよい。例えば、画像内に捕捉されたユーザのお父さんの顔特徴を、クラウドコンピューティングプラットフォームによって認識し、ユーザの名前ではなく「お父さん」として返すことができ、また「555 Main Street、San Francisco、CA」などの住所を、「自宅」として返すことができる。オントロジーは、ユーザに固有のものとすることができ、ユーザの入力から成長し学習することができる。
【0080】
例示的な輸送アプリケーション
図4は、一実施形態による、輸送アプリケーション用のコンテキストデータストリームを処理するための別のデータ処理のブロック図である。本実施形態では、データ処理パイプライン400は、自宅まで乗せてもらうために輸送会社(例えばUber(登録商標)、Lyft(登録商標))を呼び出すように作成される。ウェアラブルマルチメディアデバイスからのコンテキストデータが、取込みサーバ401によって受信され、オーディオバッファ203からのオーディオストリームが、オーディオプロセッサ405に送出される。オーディオプロセッサ405は、オーディオストリームをアプリ406に送出し、アプリ406がスピーチをテキストに変換する。パースされたテキストが、オーディオプロセッサ405に返され、オーディオプロセッサ405は、パースされたテキスト(例えば輸送を求めるユーザスピーチ要求)を取込みサーバ401に返す。処理されたテキストが、サードパーティプロセッサ402に送出される。サードパーティプロセッサ402は、ユーザロケーションおよびトークンを、サードパーティアプリケーション407(例えばUber(登録商標)アプリケーションまたはLyft(商標)(登録商標)アプリケーション)に送出する。一実施形態では、トークンは、ユーザに代わって要求を仲介するために使用される、APIおよび認可トークン(API and authorization token)である。アプリケーション407は、応答データ構造をサードパーティプロセッサ402に返し、応答データ構造は、取込みサーバ401に転送される。取込みサーバ401は、応答データ構造内の車両到着ステータス(ride arrival status)(例えばETA)をチェックし、ユーザコールバックキュー408内にユーザへのコールバックをセットアップする。取込みサーバ401は、車両記述を伴う応答をレコーダ404に返し、その応答をデジタルアシスタントが、ウェアラブルマルチメディアデバイス上のラウドスピーカを通じて、または有線接続もしくはワイヤレス接続を介してユーザのヘッドホンもしくはイヤホンを通じて、ユーザに発話することができる。
【0081】
図5は、一実施形態による、
図2Aのデータ処理システムによって使用されるデータオブジェクトを示す。データオブジェクトは、クラウドコンピューティングプラットフォーム上にインスタンス化されるソフトウェアコンポーネントインフラストラクチャの一部である。「Streams」オブジェクトは、streamid、deviceid、start、end、lat、lon、attributes、およびentitiesというデータを含む。「streamid」は、ストリーム(例えばビデオ、オーディオ、写真)を識別し、「deviceid」は、ウェアラブルマルチメディアデバイス(例えばモバイルデバイスID)を識別し、「start」は、コンテキストデータストリームの開始時間であり、「end」は、コンテキストデータストリームの終了時間であり、「lat」は、ウェアラブルマルチメディアデバイスの緯度であり、「lon」は、ウェアラブルマルチメディアデバイスの経度であり、「attributes」は、例えば誕生日、顔特徴点(facial point)、肌の色合い、オーディオ特性、住所、電話番号などを含み、「entities」は、オントロジーを構成する。例えば、「John Do」という名前は、ユーザに応じて「お父さん」または「兄弟」にマッピングされる。
【0082】
「Users」オブジェクトは、userid、deviceid、email、fname、およびlnameというデータを含む。useridは、ユーザを一意の識別子を用いて識別し、deviceidは、ウェアラブルデバイスを一意の識別子を用いて識別し、emailは、ユーザの登録された電子メールアドレスであり、fnameは、ユーザのファーストネームであり、lnameは、ユーザのラストネームである。「Userdevices」オブジェクトは、useridおよびdeviceidというデータを含む。「Devices」オブジェクトは、deviceid、started、state、modified、およびcreatedというデータを含む。一実施形態では、deviceidは、デバイスの(例えばMACアドレスとは異なる)一意の識別子である。startedは、デバイスが最初に開始されたときである。stateは、オン/オフ/スリープである。modifiedは、最終のステート変更またはオペレーティングシステム(OS)変更を反映する最終更新日である。createdは、初めてデバイスがオンにされたときである。
【0083】
「ProcessingResults」オブジェクトは、streamid、ai、result、callback、duration、およびaccuracyというデータを含む。一実施形態では、streamidは、汎用一意識別子(UUID)としての各ユーザストリームである。例えば、8:00AMから10:00AMまでに開始されたストリームは、id:15h158dhb4を有することになり、10:15AMから10:18AMまでに開始するストリームは、このストリームのためにコンタクトされたUUIDを有することになる。aiは、このストリームのためにコンタクトされたプラットフォームアプリケーションの識別子である。resultは、プラットフォームアプリケーションから送出されたデータである。callbackは、使用されたコールバックである(バージョンが変わることがあり、したがって、プラットフォームが要求をリプレイする必要がある場合、コールバックは追跡される)。accuracyは、結果セットがどれだけ正確であるかについてのスコアである。一実施形態では、処理結果は、1)マージサーバに結果一式を通知すること、2)ユーザエクスペリエンスが向上し得るように、最速のaiを決定すること、および3)最も正確なaiを決定することなど、複数のタスクに使用することができる。ユースケースに応じて、精度よりも速度のほうが好まれることがあり、またはその逆に速度よりも精度のほうが好まれることがある。
【0084】
「Entities」オブジェクトは、entityID、userID、entityName、entityType、およびentityAttributeというデータを含む。entityIDは、エンティティのUUIDであり、エンティティが複数のエントリを有する場合、entityIDはその1つのエンティティを参照する。例えば、「Barack Obama」であれば144というentityIDを有することになり、このentityIDは、関連付けテーブル内で、POTUS44、または「Barack Hussein Obama」、または「Obama大統領」にリンクさせることができる。userIDは、エンティティレコードを作成されたユーザを識別する。entityNameは、userIDがエンティティを呼ぶ名前である。例えば、Malia Obamaの、entityID 144についてのentityNameは、「お父さん」または「パパ」となり得る。entityTypeは、人物、場所、または物である。entityAttributeは、エンティティについての数々の属性であり、これらの属性は、userIDによるそのエンティティの理解に固有のものである。これにより、エンティティ同士がマッピングされ、したがって、例えば、Maliaが「お父さんが見える?」というスピーチクエリを発すると、クラウドコンピューティングプラットフォームは、そのクエリをBarack Hussein Obamaに翻訳し、サードパーティへの要求を仲介する際、またはシステム内で情報を調べる際に、それを使用することができる。
【0085】
例示的なプロセス
図6は、一実施形態による、データパイプラインプロセスのフロー図である。プロセス600は、
図1~
図5を参照して説明したウェアラブルマルチメディアデバイス101およびクラウドコンピューティングプラットフォーム102を使用して実装することができる。
【0086】
プロセス600は、ウェアラブルマルチメディアデバイスからコンテキストデータを受信すること(601)から始まることができる。例えば、コンテキストデータは、ウェアラブルマルチメディアデバイスのカメラおよびオーディオサブシステムによって捕捉された、ビデオ、オーディオ、および静止画像を含むことができる。
【0087】
プロセス600は続いて、コンテキストデータおよびユーザの要求/好みに基づいて、アプリケーションを用いてデータ処理パイプラインを作成する(例えばインスタンス化する)こと(602)ができる。例えば、ユーザの要求または好みに基づいて、またデータタイプ(例えばオーディオ、ビデオ、写真)にも基づいて、コンテキストデータを処理してウェアラブルマルチメディアデバイスまたは別のデバイス上で再生される提示にするためのデータ処理パイプラインを形成するように、1つまたは複数のアプリケーションを論理的に接続することができる。
【0088】
プロセス600は続いて、データ処理パイプライン内でコンテキストデータを処理すること(603)ができる。例えば、瞬間または取引の間のユーザのナレーションからのスピーチを、テキストに変換することができ、そのテキストが次いで、ビデオクリップ内のオブジェクトにラベル付与するために使用される。
【0089】
プロセス600は続いて、データ処理パイプラインの出力をウェアラブルマルチメディアデバイスおよび/または他の再生デバイスに送出すること(604)ができる。
【0090】
クラウドコンピューティングプラットフォームの例示的なアーキテクチャ
図7は、一実施形態による、
図1~
図6を参照して説明したクラウドコンピューティングプラットフォーム102の例示的なアーキテクチャ700である。より多数のまたはより少数のコンポーネントを備えたアーキテクチャを含む、他のアーキテクチャが可能である。いくつかの実装形態では、アーキテクチャ700は、1つまたは複数のプロセッサ702(例えばデュアルコアIntel(登録商標) Xeon(登録商標)プロセッサ)、1つまたは複数のネットワークインターフェース706、1つまたは複数の記憶デバイス704(例えばハードディスク、光ディスク、フラッシュメモリ)、および1つまたは複数のコンピュータ可読媒体708(例えばハードディスク、光ディスク、フラッシュメモリなど)を含む。これらのコンポーネントは、1つまたは複数の通信チャネル710(例えばバス)経由で通信およびデータを交換することができ、通信チャネルには、コンポーネント間でのデータ信号および制御信号の転送を容易にするためのさまざまなハードウェアおよびソフトウェアを利用することができる。
【0091】
「コンピュータ可読媒体」という用語は、限定はしないが、不揮発性媒体(例えば光ディスクまたは磁気ディスク)、揮発性媒体(例えばメモリ)、および伝送媒体を含む、実行のために命令をプロセッサ702に提供することに関与する任意の媒体を指す。伝送媒体には、限定はしないが、同軸ケーブル、銅線、および光ファイバが含まれる。
【0092】
コンピュータ可読媒体708は、オペレーティングシステム712(例えばMac OS(登録商標)サーバ、Windows(登録商標) NTサーバ、Linux(登録商標)サーバ)、ネットワーク通信モジュール714、データ処理命令716、およびインターフェース命令718をさらに含むことができる。
【0093】
オペレーティングシステム712は、マルチユーザ、マルチプロセッシング、マルチタスキング、マルチスレッディング、リアルタイムなどとすることができる。オペレーティングシステム712は、限定はしないが、デバイス702、704、706、および708からの入力を認識し、それらに出力を提供すること、コンピュータ可読媒体708(例えばメモリまたは記憶デバイス)上のファイルおよびディレクトリを常に追跡し、管理すること、周辺デバイスを制御すること、ならびに1つまたは複数の通信チャネル710上のトラフィックを管理することを含む、基本タスクを実施する。ネットワーク通信モジュール714は、ネットワーク接続を確立し維持するためのさまざまなコンポーネント(例えばTCP/IP、HTTPなどの通信プロトコルを実装するためのソフトウェア)、および例えばApache Kafka(商標)を使用して分散ストリーミングプラットフォームを作成するためのさまざまなコンポーネントを含む。データ処理命令716は、
図1~
図6を参照して説明したサーバ側動作を実装するためのサーバ側またはバックエンドのソフトウェアを含む。インターフェース命令718は、
図1を参照して説明したウェアラブルマルチメディアデバイス101、サードパーティアプリケーションディベロッパ104、およびサードパーティプラットフォーム105にデータを送出し、それらからデータを受信するための、ウェブサーバおよび/またはポータルを実装するためのソフトウェアを含む。
【0094】
アーキテクチャ700は、ローカルネットワークまたは分散ネットワーク内にあり1つまたは複数の処理コアをそれぞれが有する1つまたは複数のサーバコンピュータを含む、任意のコンピュータデバイス内に含めることができる。アーキテクチャ700は、並列処理インフラストラクチャもしくはピアツーピアインフラストラクチャの形で、または1つもしくは複数のプロセッサを備えた単一のデバイス上に、実装することができる。ソフトウェアは、複数のソフトウェアコンポーネントを含むこともでき、あるいは単一のコード本体とすることもできる。
【0095】
ウェアラブルマルチメディアデバイスの例示的なアーキテクチャ
図8は、
図1~
図6を参照して説明した特徴およびプロセスを実装する、ウェアラブルマルチメディアデバイスの例示的なアーキテクチャ800のブロック図である。アーキテクチャ800は、メモリインターフェース802、データプロセッサ、画像プロセッサ、または中央処理装置804、および周辺装置インターフェース806を含むことができる。メモリインターフェース802、プロセッサ804、または周辺装置インターフェース806は、別々のコンポーネントとすることもでき、あるいは1つまたは複数の集積回路内に集積することもできる。1つまたは複数の通信バスまたは信号線が、さまざまなコンポーネントを結合することができる。
【0096】
複数の機能を容易にするために、センサ、デバイス、およびサブシステムを周辺装置インターフェース806に結合することができる。例えば、運動検出機能、配向検出機能、生体測定検出機能、および深度検出機能を容易にするために、運動センサ810、生体測定センサ812、および深度センサ814を周辺装置インターフェース806に結合することができる。いくつかの実装形態では、運動センサ810(例えば加速度計、レートジャイロスコープ)を利用して、ウェアラブルマルチメディアデバイスの移動および配向を検出することができる。
【0097】
環境感知機能を容易にするために、環境センサ(例えば温度センサ、気圧計、周囲光)など、他のセンサを、周辺装置インターフェース806に接続することもできる。例えば、生体測定センサ812は、指紋、顔認識、心拍、および他のフィットネスパラメータを検出することができる。一実施形態では、ハプティックモータ(図示せず)を周辺装置インターフェースに結合することができ、ハプティックモータは、ハプティックフィードバックとしての振動パターンをユーザに提供することができる。
【0098】
ジオリファレンシングを可能にするために、ロケーションプロセッサ815(例えばGNSSレシーバチップ)を周辺装置インターフェース806に接続することができる。磁北の方向の決定に使用することのできるデータを提供するために、電子磁力計816(例えば集積回路チップ)を周辺装置インターフェース806に接続することもできる。したがって、電子磁力計816を、電子コンパスアプリケーションによって使用することができる。
【0099】
写真およびビデオクリップの記録などのカメラ機能を容易にするために、カメラサブシステム820および光学センサ822、例えば電荷結合素子(CCD)または相補型金属酸化膜半導体(CMOS)光学センサを利用することができる。一実施形態では、カメラは、180°FOVおよびOISを有する。深度センサ814は、既知のパターンのドットを物体/被写体上に投影する赤外線エミッタを含むことができる。次いで、ドットは、専用の赤外線カメラによって撮影され、深度データを決定するために解析される。一実施形態では、飛行時間(TOF)カメラを使用して、既知の光の速度、および画像の各点についてのカメラと物体/被写体との間の光信号の飛行時間の測定に基づいて、距離を決定することができる。
【0100】
通信機能を、1つまたは複数の通信サブシステム824を通じて容易にすることができる。通信サブシステム824は、1つまたは複数のワイヤレス通信サブシステムを含むことができる。ワイヤレス通信サブシステムは、無線周波レシーバおよびトランスミッタ、ならびに/または光(例えば赤外線)レシーバおよびトランスミッタを含むことができる。有線通信システムは、他の通信デバイス、ネットワークアクセスデバイス、パーソナルコンピュータ、プリンタ、表示画面、またはデータを受信もしくは送信することの可能な他の処理デバイス(例えばプロジェクタ)など、他のコンピューティングデバイスへの有線接続を確立するために使用することのできるポートデバイス、例えばユニバーサルシリアルバス(USB)ポートまたは他の何らかの有線ポート接続を含むことができる。
【0101】
通信サブシステム824の具体的な設計および実装は、デバイスがそれを介して動作することが意図されている、通信ネットワークまたは通信媒体に応じて決まることがある。例えば、デバイスは、グローバルシステムフォーモバイルコミュニケーションズ(GSM)ネットワーク、GPRSネットワーク、拡張データGSM環境(EDGE)ネットワーク、IEEE802.xx通信ネットワーク(例えばWi-Fi、WiMax、ZigBee(商標))、3Gネットワーク、4Gネットワーク、4G LTEネットワーク、符号分割多元接続(CDMA)ネットワーク、近距離無線通信(NFC)、Wi-Fi Direct、およびBluetooth(商標)ネットワークを介して動作するように設計された、ワイヤレス通信サブシステムを含むことができる。ワイヤレス通信サブシステムは、デバイスが他のワイヤレスデバイスのための基地局として構成され得るように、ホスティングプロトコルを含むことができる。別の例として、通信サブシステムは、デバイスが、例えばTCP/IPプロトコル、HTTPプロトコル、UDPプロトコル、ICMPプロトコル、POPプロトコル、FTPプロトコル、IMAPプロトコル、DCOMプロトコル、DDEプロトコル、SOAPプロトコル、HTTP Live Streaming、MPEG Dash、および知られている他の任意の通信プロトコルまたは通信技術など、1つまたは複数のプロトコルまたは通信技術を使用して、ホストデバイスと同期することを可能にすることができる。
【0102】
音声認識機能、音声複製機能、デジタル録音機能、電話機能、およびビームフォーミングなどの音声対応機能を容易にするために、オーディオサブシステム826をスピーカ828および1つまたは複数のマイクロホン830に結合することができる。
【0103】
I/Oサブシステム840は、タッチコントローラ842および/または別の入力コントローラ844を含むことができる。タッチコントローラ842をタッチ表面846に結合することができる。タッチ表面846およびタッチコントローラ842は、例えば、限定はしないが、静電容量性、抵抗性、赤外線、および表面弾性波技術を含むいくつかのタッチ感度技術、ならびにタッチ表面846との1つまたは複数の接触点を決定するための他の近接センサアレイまたは他の要素のいずれかを使用して、接触および移動またはそれらの中断を検出することができる。一実装形態では、タッチ表面846は、仮想ボタンまたはソフトボタンを表示することができ、ユーザがそれを入力/出力デバイスとして使用することができる。
【0104】
他の入力コントローラ844を、1つもしくは複数のボタン、ロッカースイッチ、サムホイール、赤外線ポート、USBポート、および/またはスタイラスなどのポインタデバイスなど、他の入力/制御デバイス848に結合することができる。1つまたは複数のボタン(図示せず)は、スピーカ828および/またはマイクロホン830の音量調節のための上/下ボタンを含むことができる。
【0105】
さらに、情報を投影光の形でユーザに視覚的に提示するために、プロジェクタサブシステム832を周辺装置インターフェース806に接続することができる。プロジェクタサブシステム832は、
図2Bの光学プロジェクタ257を含むことができる。例えば、プロジェクタサブシステム832は、光を表面上に、ユーザが表面上のテキスト、画像、ビデオ、色、パターン、および/または他の任意のグラフィカル情報を知覚するように、特定の空間的および/または時間的パターンに従って、投影することができる。いくつかの実装形態では、プロジェクタサブシステム832は、光を、ユーザの手や手掌など、ユーザの身体の表面上に投影することができる。いくつかの実装形態では、プロジェクタサブシステム832は、光を、壁面、テーブル、机、または他の任意の物体など、ユーザの身体以外の表面上に投影することができる。プロジェクタサブシステム832については、
図9を参照してより詳細に説明する。
【0106】
いくつかの実装形態では、プロジェクタサブシステム832は、対話型仮想インターフェース(VI)をユーザに提供するように、光を表面上に投影する。例えば、プロジェクタサブシステム832は、ユーザが1つまたは複数の対話型ユーザインターフェース要素(例えば選択可能なボタン、ダイヤル、スイッチ、ボックス、画像、ビデオ、テキスト、アイコンなど)を知覚するように、光を表面上に投影することができる。さらに、ユーザは、VIおよびユーザインターフェース要素に対して1つまたは複数のジェスチャを実施することによって、VIと対話することができる。例えば、ユーザは、指差しジェスチャ、タップジェスチャ、スワイプジェスチャ、手を振るジェスチャ、または他の任意のジェスチャを、自身の手および/または指を使用して実施することができる。ウェアラブルマルチメディアデバイスは、実施されたジェスチャを、1つまたは複数のセンサ(例えばカメラ/ビデオサブシステム820、環境センサ817、深度センサ814など)を使用して検出し、それらのジェスチャに関連する1つまたは複数のコマンドを識別し、識別されたコマンドを(例えばプロセッサ804を使用して)実行することができる。例示的なVIについては、下でさらに詳細に説明する。
【0107】
いくつかの実装形態では、デバイス800は、MP3ファイル、AACファイル、空間オーディオファイル、およびMPEGビデオファイルなど、記録したオーディオファイルおよび/またはビデオファイル(空間オーディオを含む)を、ユーザに再生する。いくつかの実装形態では、デバイス800は、MP3プレーヤの機能を含むことができ、他のデバイスにつなぐためのピンコネクタまたは他のポートを含むことができる。他の入力/出力デバイスおよび制御デバイスを使用することもできる。一実施形態では、デバイス800は、オーディオを直接的または間接的な通信リンク経由でアクセサリデバイスにストリーミングするためのオーディオ処理ユニットを含むことができる。
【0108】
メモリインターフェース802をメモリ850に結合することができる。メモリ850は、高速ランダムアクセスメモリ、あるいは1つもしくは複数の磁気ディスク記憶デバイス、1つもしくは複数の光学記憶デバイス、またはフラッシュメモリ(例えばNAND、NOR)などの不揮発性メモリを含むことができる。メモリ850は、Darwin、RTXC、LINUX(登録商標)、UNIX(登録商標)、OS X、iOS、WINDOWS(登録商標)、またはVxWorksなどの組込みオペレーティングシステムなど、オペレーティングシステム852を記憶することができる。オペレーティングシステム852は、基本システムサービスをハンドリングするための、またハードウェア依存のタスクを実施するための、命令を含むことができる。いくつかの実装形態では、オペレーティングシステム852は、カーネル(例えばUNIX(登録商標)カーネル)を含むことができる。
【0109】
メモリ850は、
図1~
図6を参照して説明した、ワイヤレスアクセサリデバイスとのピアツーピア通信を含めて1つまたは複数の追加のデバイス、1つまたは複数のコンピュータまたはサーバとの通信を容易にするための通信命令854も記憶することができる。通信命令854は、デバイスによって使用するための動作モードまたは通信媒体をデバイスの地理的ロケーションに基づいて選択するために使用することもできる。
【0110】
メモリ850は、
図1~
図6を参照して説明した、センサ関連の処理および機能を容易にするためのセンサ処理命令858、ならびに記録機能を容易にするためのレコーダ命令860を含むことができる。他の命令としては、GNSSおよびナビゲーション関連のプロセスを容易にするためのGNSS/ナビゲーション命令、カメラ関連のプロセスを容易にするためのカメラ命令、ならびにタッチ入力を解釈するためのタッチモデルを含むユーザインターフェース処理を容易にするためのユーザインターフェース命令を含み得る。
【0111】
上記で識別した命令およびアプリケーションはそれぞれ、上で説明した1つまたは複数の機能を実施するための命令のセットに対応することができる。これらの命令は、別々のソフトウェアプログラム、プロシージャ、またはモジュールとして実装される必要はない。メモリ850は、追加の命令を含んでもよく、より少数の命令を含んでもよい。さらに、デバイスのさまざまな機能を、1つまたは複数の信号処理回路および/または特定用途向け集積回路(ASIC)で、を含めて、ハードウェアでかつ/またはソフトウェアで実装することができる。
【0112】
図9は、一実施形態による、プロジェクタサブシステム832のシステムブロック
図900である。プロジェクタサブシステム832は、2次元の画素を走査し、画素の2D配列を画像化し、または画像化と走査を混合する。走査型プロジェクタは、光ビームの狭い発散および2次元(2D)走査を直接利用して、画像を画素ごとに「ペイント」する。一実施形態では、水平走査方向および垂直走査方向に別々のスキャナが使用される。他の実施形態では、単一の2軸スキャナが使用される。使用されるスキャナのタイプに応じて、具体的なビーム軌道も変わる。
【0113】
図示の例では、プロジェクタサブシステム832は、コントローラ901、バッテリ902、電力管理チップ(PMIC)903、光学源904、X-Yスキャナ905、ドライバ906、メモリ907(例えばフラッシュメモリ)、デジタル-アナログコンバータ(DAC)908、およびアナログ-デジタルコンバータ(ADC)909を含む、走査型ピコプロジェクタである。光学源904は、レーザ、例えば垂直共振器型面発光レーザ(VCSEL)などの固体レーザ、発光ダイオード(LED)、または投影用の光を発するのに適切な他の任意の光源を含むことができる。プロジェクタサブシステム832は、光学源904としてレーザを用いたレーザ投影システムとすることのできる光学投影システムである。
【0114】
コントローラ901は、X-Yスキャナ905に制御信号を提供する。X-Yスキャナ905は、制御信号に応答して、可動ミラーを使用して、光学源904によって生成された光ビームを2次元で方向制御する。X-Yスキャナ905は、1次元または2次元で制御可能な傾斜角を有する1つまたは複数の微小電気機械(MEMS)マイクロミラーを含む。ドライバ906は、X-Yスキャナ905に制御信号(例えば電圧または電流)を提供するための電力増幅器および他の電子回路(例えばフィルタ、スイッチ)を含む。メモリ907は、プロジェクタによって使用される、投影されるテキストおよび画像用の光パターンを含むさまざまなデータを記憶する。DAC908およびADC909は、デジタル領域とアナログ領域との間のデータ変換を行う。PMIC903は、光学源904をオンおよびオフにすること、ならびに光学源904に供給される電力の量を調整することを含めて、光学源904の電力およびデューティサイクルを管理する。
【0115】
一実施形態では、コントローラ901は、光学投影を入力インターフェースとして使用してユーザ入力がウェアラブルマルチメディアデバイス101によって受け取られるように、カメラ/ビデオサブシステム820からの画像データおよび/または深度センサ814からの深度データを使用して、ユーザの手および/または指の、光学投影上の位置を認識し追跡する。
【0116】
別の実施形態では、プロジェクタサブシステム832は、ベクトルグラフィック投影ディスプレイおよび低電力固定MEMSマイクロミラーを使用して、電力を節減する。プロジェクタサブシステム832は、深度センサを含むので、光学的に投影された画像と対話している指/手上に投影しないようにするために、投影されるエリアを必要に応じてマスクすることができる。一実施形態では、深度センサは、他のデバイス上の入力を制御するためのジェスチャ(例えばTV画面上の画像をスワイプすること、コンピュータ、スマートスピーカと対話することなど)を追跡することもできる。
【0117】
他の実施形態では、ピコプロジェクタの代わりに、液晶オンシリコン(LCoSもしくはLCOS)デジタル投影技術、デジタルライトプロセッシング(DLP)デジタル投影技術、または液晶ディスプレイ(LCD)デジタル投影技術を使用することができる。
【0118】
例示的な投影表面および仮想インターフェース
上で説明したように、ウェアラブルマルチメディアデバイス101は、情報を投影光の形でユーザに視覚的に提示するように構成されたプロジェクタサブシステム832を含むことができる。プロジェクタサブシステム832は、任意の適切な表面を、ユーザに情報を表示するための投影表面に変えることができる。投影表面は、ユーザの手の表面(例えばユーザの手掌)、ユーザの別の身体部分(例えばユーザの腕)、ウェアラブル衣服、画面、壁面、テーブル上面、または他の任意の適切な表面とすることができる。情報は、仮想オブジェクトとすることができる。一実施形態では、仮想オブジェクトは、1つまたは複数の画像もしくはビデオおよび/またはテキストを含む。一実施形態では、仮想オブジェクトは、対話型VIを含む。
【0119】
例示のために、
図10および
図11A~
図11Jでは、ユーザの手1000(例えばユーザの手掌1002)が投影表面の例として使用されており、VIが仮想オブジェクトの例として使用されている。
【0120】
図10に示すように、プロジェクタサブシステム832は、光信号を投影表面、例えばユーザの手掌1002など、ユーザの手1000の表面上に、ユーザが1つまたは複数のユーザインターフェース要素を備えたVI1010を知覚するような特定の空間的および/または時間的パターンに従って、投影することができる。いくつかの実装形態では、VI1010および/またはユーザインターフェース要素は、テキスト、画像、ビデオ、色、パターン、形状、線、または他の任意のグラフィカル情報の、任意の組合せを含むことができる。
【0121】
ユーザは、VIと対話するためのジェスチャを実施することができる。例として、ユーザは、ユーザインターフェース要素のうちの1つまたは複数に向けられた1つまたは複数のジェスチャを実施することができる。例として、ユーザは、ユーザインターフェース要素を指差し、ユーザインターフェース要素を自身の指を使用して(例えば1回、もしくは順に複数回)タッチもしくはタップし、自身の指を使用してユーザインターフェース要素に沿ってスワイプ運動を実施し、自身の手を使用してユーザインターフェース要素に手を振り、ユーザインターフェース要素の上でホバリングし、または手もしくは指による他の任意のジェスチャを実施することができる。ウェアラブルマルチメディアデバイス101は、実施されたジェスチャを1つまたは複数のセンサ(例えばカメラ/ビデオサブシステム820、環境センサ817、深度センサ814など)を使用して検出し、それらのジェスチャに関連する1つまたは複数のコマンドを識別し、識別されたコマンドを(例えばプロセッサ804を使用して)実行することができる。ユーザインターフェース要素および/またはコマンドのうちの少なくともいくつかを使用して、ウェアラブルマルチメディアデバイス101の動作を制御することができる。例えば、ユーザインターフェース要素および/またはコマンドのうちの少なくともいくつかを使用して、ビデオコンテンツおよび/もしくはオーディオコンテンツの生成、コンテンツの閲覧、コンテンツの編集、データの記憶および送信、ならびに/または本明細書において説明する他の任意の動作を、実行または制御することができる。
【0122】
図10に示すように、ユーザの手掌1002は、VI1010を投影するための限定された表面エリアを有することがある。この限定された表面エリアは、VIとのユーザ対話の回数およびタイプを限定することがあり、したがって、入力および出力にVIを利用したアプリケーションの数およびタイプを潜在的に限定することがある。それに加えて、ユーザの手1000は、(全体として指1004と呼び、または個々に指1004と呼ぶ)指1004a、1004b、1004c、1004d、1004eを有することがある。1本もしくは複数本の指1004および/または手掌1002の姿勢は、投影サブシステム832からの光学投影の方向に対してまっすぐである、曲げられている、傾斜している、または回転していることがあり、それにより、投影表面の3D変動が生じ、投影表面上へのVIの投影に影響が及ぶことがある。
【0123】
例示的な仮想インターフェース要素
一実施形態では、本明細書において開示するシステム、例えば
図2Bのシステム250または
図8のシステム800は、限定はしないが、光学的に投影された(例えばレーザにより投影された)ディスプレイ上のVI要素への指入力の結果として生じる近接に応答しまたはそれを認識する。深度センサ(例えば、TOFカメラなどの深度センサ252または814)が、表面(例えば手、テーブルなど)に接近しつつある、その視野(FOV)内の任意の入力要素(例えば指入力)の距離、形状、および体積を捕捉するので、深度画像から得られる、結果として生じる任意の幾何形状を、例えば任意のVI要素(例えば音、視覚性、またはジェスチャ)とともに使用することができる。また、一方の手からもう一方の手までの、またはある指から別の指までの、またはある表面から別の表面までの距離を決定し、それを使用して、ウェアラブルマルチメディアデバイスまたは他のデバイス上で1つまたは複数のアクションをトリガすることができる。例えば、光学投影システム(例えば
図2Bの光学プロジェクタ257または
図8もしくは
図9のプロジェクタサブシステム832)は、表面上に投影されたVI要素を、指がVI要素に接近するときに、指と表面との間の距離に基づいて、拡大することができる。他の実施形態では、システムは、光学的に投影されたディスプレイの規模全体を、投影表面が深度センサからどれだけ離れているかに基づいて、調整することができる。例えば、ユーザが自身の手を投影表面から遠ざけるとき、表面上に投影されたテキストはより大きくなり、それでもなお、例えば、ウェアラブルマルチメディアデバイスまたは他のデバイス上で実施された取引の決済をするために、ユーザが自身の手をテキストの上方で「ホバリングすること」、または自身の指のうちの1本を、もしくは2本を一緒に、移動させることに応答する。
【0124】
図11Aは、一実施形態による、ウェアラブルマルチメディアデバイスの「ホームページ」VI要素を示す。この例および次に続く例では、VIは、ユーザの左手1000の手掌1002上に投影される。しかし、下記のVI要素はどんな表面上にも投影できることに留意されたい。光学投影は、例えば、光学プロジェクタアーキテクチャ、例えば
図2Bの光学プロジェクタ257または
図8もしくは
図9のプロジェクタサブシステム832を使用した、本明細書において説明するウェアラブルマルチメディアデバイスなどのウェアラブルマルチメディアデバイスによって提供することができる。
【0125】
一実施形態では、VI要素1101をユーザがタッチして、
図11Bに示すように手掌1002上に追加のVI要素1102、1103、1104、1105、および1106を投影させることができる。VI要素1102、1103、1104、1105、および1106は、最後の有意の対話からのタイムアウトを有する対話に基づいて、出現および消滅する。別の実施形態では、ユーザの指またはポインティングデバイスの近接(例えば指をVI要素1101の上でホバリングすること)により、追加のVI要素1102、1103、1104、1105、および1106を表示させることができる。
図11Bに示すVI要素は例であり、より多数のまたは少数のVI要素を手掌1002上に投影することができる。次に続く例では、「選択する」という用語は、VI要素を参照して使用されるとき、1本もしくは複数本の指および/またはポインティングデバイス(例えばペンシル)を使用した、タッチと近接のどちらか一方、またはタッチと近接の両方による、ユーザ選択を含む。この例では、VI要素1101は「ホーム画面」VI要素であり、ユーザはそれを、ユーザが表面から現在の光学投影を消去してVIとの新たな対話を開始したいときはいつでも、選択することができる。
【0126】
「付近」VI要素1102を選択すると、
図11Cに示すように、付近のランドマークのVI要素(またはアイコン)1107、1108、および1109が投影される。各VI要素1104、1105、または1106を選択して、さまざまな通信モダリティの追加のVI要素を出現させることができる。例えば、VI要素1104は、追加のインスタントメッセージングVI要素を起動することができ、VI要素1105は、電子メールVI要素を起動することができ、VI要素1106は、追加のTwitter(登録商標) VI要素を起動することができる。VI要素1103は、
図11Fを参照して説明するように、アプリケーションナビゲータを起動する。
【0127】
図11Cは、一実施形態による、
図11Bに示す「付近」VI要素がユーザによって選択された後のVI投影を示す。図示の例では、VI要素1107、1108、1109はそれぞれ、Paris、Franceの3つのランドマーク、マルスコミューン(Mars Commune)、エッフェル塔、およびセーヌ川を表す。一実施形態では、ユーザは、VI要素1107、1108、1109のいずれかを選択して、(例えば
図2BのGNSSレシーバ255または
図8のロケーションプロセッサ815によって決定される)ユーザの現在のロケーションからランドマークへの曲がり角ごとの道順(例えば徒歩、運転、自転車)、(例えばIMUによって決定される)コンパス方位、および限定はしないが、地元の料理店またはホテル、ガソリンスタンドなどの連絡先情報を含む、他の任意の情報など、そのランドマークに関連するコンテンツおよび/またはサービスを得ることができる。3つのロケーションが投影されているが、任意数のランドマークを投影することができる。ユーザ設定を使用して、かつ/またはセンサデータ、ロケーションデータ、およびマップに基づいて推論されたコンテキストを使用して、ユーザがVI要素1102を選択するときにどのランドマークが含められるかを決定することができる。例えば、デフォルトは、公開情報、ユーザ履歴データ、またはユーザの指定の関心に基づく、最も人気のある場所とすることができる。一実施形態では、ユーザ履歴データはユーザ写真ライブラリを含むことができ、ユーザがどのタイプのランドマークを訪問することに関心があるかを、このユーザ写真ライブラリを使用して決定することができる。例えば、写真ライブラリに川の写真がたくさんある場合、VI内に投影されるランドマークとしてセーヌ川が選択される。
【0128】
図11Dは、一実施形態による、VI要素1104(インスタントメッセージングモダリティ)がユーザによって選択された後のVI投影1110を示す。一実施形態では、推論されたコンテキストに基づいてデフォルトのテキストをテキストメッセージに挿入することができる。例えば、インスタントメッセージングセッションが、友人同士で特定のロケーションにおいて会うことを表す場合、
図11Eを参照して説明するように、そのロケーションへの道順を受け取るオプションがオプションメニュー1120内に含められる。推論されたコンテキストは、以前のテキストメッセージ、または電子メール、ツイート、およびソーシャルメディアへの投稿など、他の通信セッションに基づくことができる。例えば、以前のテキストメッセージ、電子メール、ツイート、および他の任意の通信セッションデータは、個人、ロケーション、ビジネス、製品、サービス、気象状況、および通信セッションのコンテキストに関する他のテキストによる手がかりを参照することがある。コンテキストを推論するために、このテキストがパースされ、解析される。一実施形態では、機械学習モデルが、パースされたテキストのサンプルを受け取り、通信セッションのコンテキストを推論/予測するためにトレーニングされる。
【0129】
図11Eは、一実施形態による、ユーザによって選択されるさまざまなオプションを提示するVI要素を示す。図示の例では、選択されたVI要素に応答して、コンテキスト依存のオプションメニュー1120が手掌1002上に投影されている。コンテキスト依存のオプションメニュー1120は、推論された特定のコンテキストに適した任意の所望のオプションを含むことができる。図示の例では、オプションメニューは、連絡先「Oliver」に電話をかけること、特定のロケーションへの道順(例えばOliverに会うためのロケーションへの道順)、および共有すること(例えばOliverに道順を送出すること)を含む。より多数のまたは少数のオプションをオプションメニュー1120内に含めることができ、コンテキスト依存ではないオプションメニューを含めて、任意数のオプションメニューをVI内に含めることができる。
【0130】
図11Fは、一実施形態による、アプリケーションを開始するためのVI要素1130を提示するVI投影を示す。図示の例では、VI要素1130は、ユーザがVI要素1103を選択することによって起動され、またVI要素1130は、リングに埋め込まれたノードがアプリケーションに対応する、2つの同心リングを含む。例えば、内側のリングは、音楽、トーク、カレンダ、および時間のノードを含む。これらのノードのいずれかを選択すると、対応するアプリケーションが起動する。例えば、「トーク」ノードにタッチすると、
図11Gに示すように、VI要素1140が投影される。
【0131】
外側のリングも、アプリケーションに対応するノードを含む。例えば、外側のリングは、健康、カメラ、ナビゲーション、ニュース、電子決済、連絡先/人々、ソーシャルメディア、および想起のノードを含む。一実施形態では、現在の推論されたコンテキストに最も関連のあるアプリケーションに対応するノードが、現在のコンテキストにそれらが関連するという視覚的標識をユーザに提供するように修正される(例えば拡大される)。図示の例では、ノードは、その瞬間にユーザに最も関連のあるもの(例えば通知、時間、ロケーションなど)に基づいてスケーリングする(サイズが大きくなる、または拡大される)。
【0132】
図示の例では、健康アプリケーションがその瞬間に最も関連がある(例えば現在のコンテキストに関連がある)ことを示すために、健康ノードがスケーリングされている。この例では、現在のコンテキストは、ユーザがフィットネス活動に関与していることとすることができる。これは、加速度計および角速度センサからの運動データなどのセンサデータから推論することができる。一実施形態では、ウェアラブルマルチメディアデバイス上のデジタル歩数計からの歩数を使用して、ユーザが、身体活動に関与しており、したがって健康アプリケーションを実行することに関心がある可能性がある、と推論することができる。健康アプリケーションは、ユーザのフィットネス活動(例えば歩数の計数)および他の任意の所望の健康モニタリングを追跡することができる。
【0133】
代替実施形態では、同心円ではなく、同心正方形、同心三角形、同心矩形など、他の同心多角形形状を使用することができる。いくつかの実施形態では、ノードが、任意の所望の形状を有する開曲線に沿って配置される。一実施形態では、1本または複数本の指上に投影が行われる。一実施形態では、例えば1つまたは複数の音声コマンドに応答することや、限定はしないが、拳を握りしめること、手を振ること、指の位置(例えば指間の相対距離)などを含む、手によるジェスチャに応答することなど、タッチ入力または近接タッチ入力以外の1つまたは複数の入力に基づいて、VIが変化し、投影され、または除去される。
【0134】
図11Gは、一実施形態による、
図11Fに示す「トーク」アプリケーションをユーザが選択した後に提示されたVI投影1140を示す。図示の例示的なVI要素は、(例えばVoIP技術を使用して)インターネット通話をするためのVI要素1142、および電子メールを作成し送出するためのVI要素1143を含む。
【0135】
図11Hは、一実施形態による、電子メールアプリケーションの、電子メール送出仮想ボタンが選択された状態のVI投影1150を示す。一実施形態では、電子メールは、(例えばマイクロホンおよびスピーチ認識スタックを使用して)口頭で作成することもでき、あるいは表面上に投影された(例えば机表面上に投影された)光学的に投影される仮想キーボードを通じて作成することもできる。推論されたコンテキストに基づいて作成されたデフォルトのメッセージを、電子メール内に含めることができる。図示の例では、電子メールはImranからParkerに送出される。「久しぶり!次の木曜に寿司を軽くつまみたいね」というデフォルトのメッセージが挿入される。デフォルトのメッセージは、ウェアラブルマルチメディアデバイス上のさまざまなアプリケーションから取得されたコンテキストデータに基づいて推論することができる。例えば、Imranの連絡先リストおよび彼のカレンダに基づいて、システムは、ParkerがImranの、(例えば履歴的な電子メール、テキストメッセージ、通話などの調査に基づいて)指定の期間にわたってまったく通信がなかった友人であると、またImranのカレンダデータに基づいて木曜がImranにとって空いていると、推論することができる。システムは、Imranが寿司を定期的に食べること(もしくは寿司がImranによって好物の料理として指定されたこと)、ならびに/または(例えば電子メールおよび/もしくはカレンダデータに基づいて推論された)最後にImranがParkerと昼食をとったときは寿司店であったことも知ることができる。
【0136】
図11Iは、一実施形態による、
図11Hに示す電子メールアプリケーションの、電子メール編集仮想ボタンが選択された状態のVI投影1152を示す。デフォルトのメッセージが投影された後で、ユーザは、編集仮想ボタンを選択して、ユーザが電子メールを例えばタッチジェスチャ/近接ジェスチャを使用して編集できるようにする電子メール編集インターフェースを投影することができる。
【0137】
図11Jは、一実施形態による、
図11Iに示す電子メールアプリケーションの、電子メール編集オプションが選択された状態であるとともに編集用オプションを表示する、VI投影1154を示す。一実施形態では、電子メール編集モードで、コンテキスト依存のオプションが提示される。この例では、カジュアルな食事かそれともフォーマルな食事かのオプションが投影されている。例えば、Parkerは友人かビジネス上の連絡先/クライアントのどちらか一方であり得、したがって、Imranは、カジュアルな寿司店より、フォーマルな完全サービスの日本料理店のほうを選択するオプションを有する。
【0138】
図11H~
図11Iは、電子メールアプリケーションを対象としているが、図示のVI要素および特徴は、テキストメッセージ、ツイート、およびソーシャルメディアへの投稿など、任意の通信モダリティとともに使用することができる。
【0139】
例示的な調整
投影されるVI、例えば
図11Aから
図11Jのいずれか1つにおいて説明したVIは、2次元(2D)画像とすることができる。(例えば凹凸のある表面または非平坦表面を有する)3D変動を有する投影表面上に2D画像が直接投影される場合、ユーザは、投影表面にわたる2D画像の歪曲を見ることがある。例えば、投影表面の高いほうの領域における部分は、ユーザにはより大きいように見えることがあり、一方、投影表面の低いほうの領域における部分は、ユーザにはより小さいように見えることがある。2D画像が投影表面上に同じ拡大率で投影される場合、より大きいように見える部分とより小さいように見える部分が、歪曲のある投影された2D画像をユーザに対して形成することがある。
【0140】
この歪曲または他の任意の歪曲を補償または解消し、それによって、投影された仮想オブジェクトが歪曲のないように見えるようにするために、上で説明したように、また下で詳細に説明するように、ウェアラブルマルチメディアデバイスは最初に、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3Dマップを決定し、次いで、投影表面上に光学投影システム(例えば
図2Bの光学プロジェクタ257または
図8もしくは
図9の投影サブシステム832)によって投影される仮想オブジェクトに関連する歪曲を決定し、次いで、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整することができる。
【0141】
一実施形態では、
図12A~
図12Bに示すように、ウェアラブルマルチメディアデバイスは、投影される仮想オブジェクトの1つまたは複数の特性、例えば拡大率、解像度、伸張率、収縮率、または回転角度を全体的に調整することができる。一実施形態では、
図12Cに示すように、ウェアラブルマルチメディアデバイスは、投影表面上に投影される仮想オブジェクトのコンテンツを、例えば投影表面の利用可能な平坦表面エリアに多かれ少なかれ基づいて多かれ少なかれコンテンツを表示して、調整することができる。一実施形態では、
図12Dに示すように、ウェアラブルマルチメディアデバイスは、投影表面の凹凸のある領域に基づいて、投影される仮想オブジェクトの1つまたは複数の特性を個々にまたは局所的に調整することができる。
【0142】
図12Aを参照すると、ユーザの手1000上でアプリケーションを開始するためのVI要素1200を提示するVI投影。VI要素1201をユーザがタッチして、ユーザの手1000上にVI要素1200を投影させることができる。VI要素1201は、「ホーム画面」VI要素、例えばVI要素1101とすることができ、ユーザはそれを、ユーザが表面から現在の光学投影を消去してVIとの新たな対話を開始したいときはいつでも、選択することができる。
【0143】
一実施形態では、VI要素1200は、
図11FのVI要素1130に類似しており、またVI要素1200は、リングに埋め込まれたノードがアプリケーションに対応する、2つの同心リングを含む。例えば、内側のリングは、「音楽」、「トーク」、「カレンダ」、および「時間」のノードを含む。これらのノードのいずれかを選択すると、対応するアプリケーションが起動することができる。外側のリングも、アプリケーションに対応するノードを含む。例えば、外側のリングは、「健康」、「カメラ」、「ナビゲーション」、「ニュース」、「電子決済」、「人々(または連絡先)」、「ソーシャルメディア」、および「想起」のノードを含む。一実施形態では、現在の推論されたコンテキストに最も関連のあるアプリケーションに対応するノードを、現在のコンテキストにそれらが関連するという視覚的標識をユーザに提供するように修正(例えば拡大)することができる。
【0144】
代替実施形態では、同心円ではなく、同心正方形、同心三角形、同心矩形など、他の同心多角形形状を使用することができる。一実施形態では、ノードが、任意の所望の形状を有する開曲線に沿って配置される。一実施形態では、1本または複数本の指上に投影が行われる。一実施形態では、例えば1つまたは複数の音声コマンドに応答することや、限定はしないが、拳を握りしめること、手を振ること、指の位置(例えば指間の相対距離)などを含む、手によるジェスチャに応答することなど、タッチ入力または近接タッチ入力以外の1つまたは複数の入力に基づいて、VIが変化し、投影され、または除去される。
【0145】
図12Aに示すように、曲げられた指(例えば1004c、1004d、1004e)のため、ユーザの手1000は、VI要素1200および1201を含む仮想画像を提示するためのそれほど平坦ではないエリアを提供する。仮想画像の一部(例えば「決済」というノード)が、ユーザの手掌1002上に投影されるのではなく、曲げられた指1004e上に投影される。
【0146】
ユーザの手1000の凹凸のある投影表面によって生じる歪曲を回避するために、ウェアラブルマルチメディアデバイスは、VI要素1200および1201を含む仮想画像を、例えば仮想画像の拡大率を低減させるかまたは仮想画像を収縮して全体的に調整し、それによって、
図12Bに示すように、調整された仮想画像1210が、比較的平坦な表面エリアを有するユーザの手掌上に投影されるようにすることができる。
【0147】
別の実施形態では、仮想画像を調整する代わりに、光学投影システムを投影表面に対して相対的に移動させることもでき、あるいは光学投影システムからの光学投影をある角度で傾斜または回転させることもできる。一例では、投影される仮想オブジェクトが、投影表面の推定された投影エリアよりも大きな、推定された投影エリアを有する場合、光学投影システムを投影表面に近づけ、それによって、例えば
図12Bに示すように、仮想オブジェクトが投影表面内に投影され得るようにすることができる。別の例では、投影表面が光学投影に対して傾きを有する場合、光学投影を対応する角度で傾斜させ、それによって、傾斜した光学投影が投影表面に垂直になるようにすることができる。
【0148】
別の実施形態では、仮想画像を全体的に調整する代わりに、ウェアラブルマルチメディアデバイスは、投影表面上に投影される仮想オブジェクトのコンテンツを調整することができる。例えば、
図12Cに示すように、投影された仮想画像1220は、「音楽」、「トーク」、「カレンダ」、および「時間」のノードを有する、仮想要素1200の内側のリングのみを含む。内側のリングは、調整(例えば収縮または伸張)なしで投影することができる。一実施形態では、内側のリングを投影する代わりに、仮想要素1200の外側のリングを、何らかの調整(例えばユーザの手掌1002上に投影されるように収縮すること)を伴って投影されるものとして、選択することができる。ウェアラブルマルチメディアデバイスは、内側のリングを提示するか、それとも外側のリングを提示するかを、ユーザに関連する現在のコンテキストに基づいて決定することができる。例えば、現在のコンテキストは、ユーザがフィットネス活動に関与していることとすることができ、これは、加速度計および角速度センサからの運動データなどのセンサデータから推論することができる。一実施形態では、ウェアラブルマルチメディアデバイス上のデジタル歩数計からの歩数を使用して、ユーザが、身体活動に関与しており、したがって健康アプリケーションを実行することに関心がある可能性がある、と推論することができる。健康アプリケーションは、ユーザのフィットネス活動(例えば歩数の計数)および他の任意の所望の健康モニタリングを追跡することができる。したがって、ウェアラブルマルチメディアデバイスは、「健康」というノードを含む外側のリングを提示することを決定することができる。一実施形態では、投影される内側のリングと外側のリングとの間で選択する代わりに、内側のリングまたは外側のリング内の1つまたは複数のノードを、現在のコンテンツに基づいて変更することができる。例えば、「健康」というノードを例えば「時間」というノードと引き換えに、ユーザの手掌上に投影される内側のリングに移動させることができる。
【0149】
図12Dは、凹凸のある投影表面上の仮想オブジェクトの例示的な光学投影の
図1250である。ウェアラブルマルチメディアデバイスは、投影表面の凹凸のある領域に基づいて、投影される仮想オブジェクトの1つまたは複数の特性を個々にまたは局所的に調整することができる。仮想オブジェクトは2D画像とすることができる。
【0150】
一例では、凹凸のある投影表面は、第1の物体1260(例えばテーブル)上の第1の表面1262、および第2の物体1270(例えばテーブル上の本)上の第2の表面1272を含む。光学投影システムからの光学投影の方向は、第1の表面1262および第2の表面1272に垂直とすることができる。したがって、光学投影に対して、第1の表面1262は、第2の表面1272よりもさらに深さがある。光学投影の発散のため、第1の表面1262上に投影される2D画像の第1のセクション1280Aのほうが、第2の表面1272上に投影される2D画像の第2のセクション1280Bよりも小さいように見えることがある。
【0151】
歪曲を解消し、一貫した、歪曲のない投影された2D画像を維持するために、ウェアラブルマルチメディアデバイスは、2D画像を第1の表面1262および第2の表面1272上に投影する前に、個々にまたは局所的に、第1のセクション1280Aの拡大率を増大させかつ/または第2のセクション1280Bの拡大率を低減させ、それによって、投影された2D画像1280が、同じ拡大率でユーザの前に出現する投影された第1のセクション1280Aおよび投影された第2のセクション1280Bを含むようにすることができる。
【0152】
例示的な動作
図13A~
図13Eは、一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理することに関係する例示的な動作の図である。動作は、ウェアラブルマルチメディアデバイス、例えば
図1~
図12Dを参照して説明したウェアラブルマルチメディアデバイス101を使用して実施することができる。ウェアラブルマルチメディアデバイスは、光学投影システム、例えば
図2Bの光学プロジェクタ257または
図8~
図12Dを参照して説明した投影サブシステム832を含む。ウェアラブルマルチメディアデバイスは、投影される仮想オブジェクトのさまざまなセクションを、投影表面の対応するさまざまな領域に基づいて局所的に調整することができる。例示的な動作は、投影画像の更新またはリフレッシュごとに、または光学投影システムもしくは投影表面の変化に対し、実施することができる。
【0153】
第1に、投影される現在の投影画像が取得される。投影画像は、動画像、例えばビデオフレームとすることもでき、あるいは静止画像、例えばVI1010のようなグラフィカルユーザインターフェース(GUI)とすることもできる。
図13Aに示すように、投影画像1300は、テキストボックス内に「こんにちは!」というテキストを含む静止画像である。
【0154】
第2に、投影される投影画像の取得に応答して、ウェアラブルマルチメディアデバイスは、その投影画像のための投影表面を準備しまたは提示することができる。光学投影システムのカバレッジ視野を最初に決定することができ、次いで、例えばスキャナ905を制御することによって、光学投影システムのカバレッジ視野内に投影表面を収容するように、光学投影システム(例えば光学投影システムからの光学投影)と投影表面との間の相対位置を調整することができる。例えば、
図13Bに示すように、投影表面1320は、光学投影システムの投影視野カバレッジ1310内にある。
【0155】
第3に、投影表面の3Dマップが決定される。ウェアラブルマルチメディアデバイスは、1つまたは複数のセンサ(例えばレーダ、ライダ、TOFセンサ、または複数のカメラセンサ)のセンサデータを使用して、投影表面の動的な3D変動(例えば、数ある中でもとりわけ、深度、角度)をリアルタイムでマッピングすることができる。ウェアラブルマルチメディアデバイスは、3Dマッピングアルゴリズムを使用して、センサデータを処理して、投影表面の3Dマップのための3Dマッピングデータを取得することができる。3Dマッピングアルゴリズムは、点群化、3Dプロファイリング、または他の任意の適切な3Dマッピング技法を含むことができる。例えば、
図13Cは、投影表面1320の3Dマップ1330を示し、ここで、投影表面1320は複数の領域に分割されている。各領域は、深度および角度を含む、そのそれぞれの特性を有する。各領域は、実質的に平坦である対応する表面を有することができる。
【0156】
第4に、投影表面の3Dマップに基づいて、投影画像が調整または事前歪曲される。調整または事前歪曲には、2D投影画像を3D投影表面上に投影することによって生じる歪曲を取り除くように投影画像を投影表面の3Dマップ上に移すための、伸張、収縮、回転、または任意の適切なオペレーションが伴ってよい。ウェアラブルマルチメディアデバイスは、調整オペレーションまたは事前歪曲オペレーションを、テクスチャマッピングまたは任意の局所マッピング技法によって実施することができる。例えば、投影表面の複数の領域に従って、投影画像を複数のセクションに分割することができ、投影画像の各セクションは、光学投影システムによってそのセクションが上に投影されることになる、それぞれの領域に対応し、次いで、投影画像のセクションを、投影表面のそれぞれの領域の情報に基づいて、調整しまたは事前歪曲させることができる。
図13Dは、投影画像1300が投影表面の3Dマップ1330に基づいて調整または事前歪曲された後の、例示的な調整/事前歪曲された投影画像1340を示す。
【0157】
第5に、調整/事前歪曲された投影画像が、光学投影システムによって、投影表面上に投影される。投影画像が投影表面の3Dマップに基づいて調整または事前歪曲されるので、投影表面の3D変動が投影画像の調整または事前歪曲によって補償され、それによって、投影表面上に投影された投影画像が歪曲のないように見えるようになる。例えば、
図13Eに示すように、調整/事前歪曲された投影画像1340は、投影視野カバレッジ1310内の投影表面1320上に投影され、投影された画像1350は、歪曲のないように見える。
【0158】
例示的なプロセス
図14は、一実施形態による、ウェアラブルマルチメディアデバイスを用いて光学投影を管理するためのプロセス1400のフロー図である。いくつかの実施形態では、プロセス1400は、ウェアラブルマルチメディアデバイス、例えば
図1~
図13Eを参照して説明したウェアラブルマルチメディアデバイス101を使用して実施される。ウェアラブルマルチメディアデバイスは、光学投影システム、例えば
図2Bの光学プロジェクタ257または
図8~
図13Eを参照して説明した投影サブシステム832を含む。
【0159】
プロセス1400では、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータに基づいて、投影表面の3Dマップが決定される(1402)。例えば、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサは、加速度計、ジャイロスコープ、磁力計、深度センサ(例えば
図2Bの252もしくは
図8の814)、運動センサ(例えば
図8の810)、レーダ、ライダ、TOFセンサ、光学センサ(例えば
図8の822)、または1つもしくは複数のカメラセンサ(例えば
図8の820)を含むことができる。センサデータは、投影表面の可変深度、投影表面の移動、投影光学システムの運動、または光学投影システムの光学投影の方向に対する投影表面の非垂直角度のうちの少なくとも1つを含むことができる。
【0160】
一実施形態では、プロセス1400は、投影される仮想オブジェクトを取得することと、投影される仮想オブジェクトの取得に応答して、投影される仮想オブジェクトのための投影表面を提示することとを含む。仮想オブジェクトは、1つまたは複数の画像、テキスト、またはビデオ、あるいは1つもしくは複数のユーザインターフェース要素またはコンテンツ情報の少なくとも一方を含む仮想インターフェース、の少なくとも一方を含む。例えば、仮想オブジェクトは、静止画像、例えば
図13Aの投影画像1300、
図10のVI1010、
図11Aから
図11Jのいずれか1つの図のVI、または
図12AのVI1200とすることもでき、あるいは動画像、例えばビデオフレームとすることもできる。VIは、
図15においてさらに詳細に説明するように取得することができる。
【0161】
一実施形態では、例えば
図11Fに示すように、仮想オブジェクトは、1つまたは複数の同心リングであって、各リングに複数のノードが埋め込まれており、各ノードがアプリケーションを表す、1つまたは複数の同心リングを含む。
【0162】
一実施形態では、プロセス1400は、少なくとも1つのセンサからの第2のセンサデータに基づいて、1つまたは複数の同心リングのうちの少なくとも1つの同心リングの複数のノードのうちの特定のノードをタッチまたは近接を通じて選択するユーザ入力を検出することと、ユーザ入力に応答して、例えば
図11Gに示すように、選択された特定のノードに対応するアプリケーションの起動を生じさせることとをさらに含む。例えば、ウェアラブルマルチメディアデバイスは、ジェスチャの認識および制御にカメラまたは深度センサ(例えばライダまたはTOF)を利用することができる。カメラは、手および指の姿勢(例えば3D空間における指差し方向)を検出および認識することができる。画像内の検出されたオブジェクトの2Dまたは3Dバウンディングボックスを推定または予測/分類/アノテーションするために、カメラ画像が、コンピュータビジョンおよび/または機械学習モデルを使用して処理される。
【0163】
一実施形態では、プロセス1400は、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサからの第2のセンサデータに基づいて、コンテキストを推論することと、推論されたコンテキストに基づいて、投影表面上に投影される1つまたは複数の第1の仮想インターフェース(VI)要素を備えた第1のVIを生成することとをさらに含む。仮想オブジェクトは、1つまたは複数の第1のVI要素を備えた第1のVIを含む。
【0164】
一実施形態では、プロセス1400は、(例えば
図11Bに示すように)光学投影システムを使用して、投影表面上に、1つまたは複数の第1のVI要素を備えた第1のVIを投影することと、1つまたは複数の第1のVI要素のうちのある第1のVI要素(例えば
図11Bまたは
図11Cの1103)に向けられたユーザ入力を受け取ることと、ユーザ入力に応答して、対応するアプリケーションを起動するためのアイコン付きの1つまたは複数の同心リングを含む、第2のVI(例えば
図11Fの1130)を生成することであって、推論されたコンテキストに、より関連のある1つまたは複数のアイコン(例えば
図11Fの「人々」、「健康」、または「ナビゲート」)が、1つまたは複数の他のアイコン(例えば
図11Fの「ソーシャル」、「音楽」、「トーク」)とは別様に提示される、生成することとを含む。仮想オブジェクトは、アイコン付きの1つまたは複数の同心リングを備えた第2のVIを含む。
【0165】
例えば、
図11Fに示すように、健康アプリケーションがその瞬間に最も関連がある(例えば現在のコンテキストに関連がある)ことを示すために、健康ノードがスケーリングされている。現在のコンテキストは、ユーザがフィットネス活動に関与していることとすることができる。現在のコンテンツは、加速度計および角速度センサからの運動データなどの第2のセンサデータから推論することができる。一実施形態では、ウェアラブルマルチメディアデバイス上のデジタル歩数計からの歩数を使用して、ユーザが、身体活動に関与しており、したがって健康アプリケーションを実行することに関心がある可能性がある、と推論することができる。健康アプリケーションは、ユーザのフィットネス活動(例えば歩数の計数)および他の任意の所望の健康モニタリングを追跡することができる。
【0166】
一実施形態では、仮想オブジェクトのための投影表面を提示するために、プロセス1400は、光学投影システムのカバレッジ視野を決定することと、例えば
図13Bに示すように、光学投影システムのカバレッジ視野内に投影表面を収容するように、光学投影システムと投影表面との間の相対位置を調整することとを含む。
【0167】
一実施形態では、3Dマッピングアルゴリズムを使用して、ウェアラブルマルチメディアデバイスの少なくとも1つのセンサのセンサデータを処理して、投影表面の3Dマップのための3Dマッピングデータを取得することによって、投影表面の3Dマップを決定することができる。3Dマッピングアルゴリズムは、点群、3Dプロファイリング、または任意の適切なマッピング技法を含むことができる。例えば、
図13Cに示すように、投影表面の3Dマップは、複数の領域を含むことができる。各領域は、深度および角度を含む、そのそれぞれの特性を有することができる。各領域は、実質的に平坦である対応する表面を有することができる。
【0168】
一実施形態では、プロセス1400は、少なくとも1つのセンサの更新されたセンサデータに基づいて、投影表面の3Dマップを動的に更新することを含む。
【0169】
プロセス1400は続いて、投影表面の3Dマップの決定に応答して、投影表面上に光学投影システムによって投影される仮想オブジェクトに関連する歪曲を決定する(1404)。次いで、プロセス1400は、決定された歪曲に基づいて、(i)投影される仮想オブジェクトの1つもしくは複数の特性、または(ii)光学投影システムの少なくとも一方を調整する(1406)。
【0170】
一実施形態では、調整することは、投影表面上に投影される仮想オブジェクトが、平坦な2次元(2D)表面上に投影される仮想オブジェクトと実質的に同じもののように見えるようにするように、決定された歪曲を補償することを含む。
【0171】
一実施形態では、投影表面上に仮想オブジェクトを投影する前に、投影表面上の仮想オブジェクトの投影を推定することと、投影される仮想オブジェクトと仮想オブジェクトの推定された投影との比較に基づいて、歪曲を決定することとによって、歪曲が決定される。
【0172】
一実施形態では、投影表面の3Dマップを、光学投影システムの光学投影方向と直交する平坦な2D表面と比較することと、比較の結果に基づいて、投影表面上に投影される仮想オブジェクトに関連する歪曲を決定することとによって、歪曲が決定される。3Dマップは、平坦な2D表面に対して1つまたは複数の凹凸領域を含むことができる。
【0173】
一実施形態では、投影表面の1つまたは複数の凹凸領域上に投影される仮想オブジェクトの1つまたは複数のセクションを決定することによって、歪曲が決定される。例えば
図12Dに示すように、投影表面の1つまたは複数の凹凸領域についての情報に基づいて、投影される仮想オブジェクトの1つまたは複数のセクションの1つまたは複数の特性を局所的に調整することができる。
【0174】
一実施形態では、(例えば
図13Cに示すように)投影表面の3Dマップに基づいて、投影表面を複数の領域にセグメント化することと、投影表面の複数の領域に従って、仮想オブジェクトを複数のセクションに分割することと、投影表面の複数の領域の情報および仮想オブジェクトの複数のセクションの情報に基づいて、仮想オブジェクトに関連する歪曲を決定することとによって、歪曲が決定される。複数の領域はそれぞれ、実質的に平坦である対応する表面を含むことができる。仮想オブジェクトの複数のセクションの各セクションは、光学投影システムによって仮想オブジェクトのそのセクションが上に投影されることになる、それぞれの領域に対応することができる。
【0175】
一実施形態では、プロセス1400は、投影表面の複数の領域についての情報および仮想オブジェクトの複数のセクションについての情報に基づいて、投影される仮想オブジェクトの複数のセクションの各セクションの1つまたは複数の特性を局所的に調整することを含む。例えば、
図13Dは、
図13Cに示す投影表面の3Dマップに基づいて調整/事前歪曲された投影画像1340を示す。
【0176】
一実施形態では、コンテンツマッピングアルゴリズムを使用して、仮想オブジェクトの複数のセクションの各セクションを投影表面の複数の領域のうちのそれぞれの領域にマッピングすることと、それぞれの領域上のマッピングされたセクションを反転することによって、調整/事前歪曲された仮想オブジェクトを生成することとによって、仮想オブジェクトを局所的に調整することができる。コンテンツマッピングアルゴリズムは、テクスチャマッピングを含むことができる。
【0177】
一実施形態では、決定された歪曲に基づいて、光学投影システムを投影表面に対して相対的に移動させることもでき、あるいは光学投影システムからの光学投影をある角度で傾斜または回転させることもできる。一例では、例えば
図12A~
図12Bに示すように、投影される仮想オブジェクトが、投影表面の推定された投影エリアよりも大きな、推定された投影エリアを有する場合、光学投影システムを投影表面に近づけ、それによって、仮想オブジェクトが投影表面内に投影され得るようにすることができる。別の例では、投影表面が光学投影に対して傾きを有する場合、光学投影を対応する角度で傾斜させ、それによって、傾斜した光学投影が投影表面に垂直になるようにすることができる。
【0178】
一実施形態では、決定された歪曲に基づいて、投影表面上に投影される仮想オブジェクトのコンテンツを調整することができる。例えば、例えば
図12Aおよび
図12Cに示すように、投影表面がより広い表面エリアを有する場合、投影表面上に投影される仮想オブジェクトのコンテンツをより多く提示することができ、投影表面がより狭い表面エリアを有する場合、投影表面上に投影される仮想オブジェクトのコンテンツをより少なく提示することができる。
【0179】
一実施形態では、仮想オブジェクトの1つまたは複数の特性が、拡大率、解像度、伸張率、収縮率、または回転角度のうちの少なくとも1つを含む。
【0180】
プロセス1400は続いて、光学投影システムを使用するとともに調整の結果に基づいて、投影表面上に仮想オブジェクトを投影する(1408)。仮想オブジェクトおよび/または光学投影システムが投影表面の歪曲または3Dマップに基づいて調整されるので、投影表面上の投影された仮想オブジェクトは、例えば
図12B、
図12C、または
図13Eに示すように、歪曲のないように、かつ一貫しているように見えることが可能である。
【0181】
一実施形態では、プロセス1400は、ウェアラブルマルチメディアデバイスのカメラセンサによって、投影表面上の投影された仮想オブジェクトの画像を捕捉することと、投影表面上の投影された仮想オブジェクトの捕捉された画像に少なくとも部分的に基づいて、仮想オブジェクトに関連する歪曲を決定することとをさらに含む。
【0182】
図15は、一実施形態による、VI投影を生成するプロセス1500のフロー図である。プロセス1500は、ウェアラブルマルチメディアデバイス、例えば
図1~
図13Eを参照して説明したウェアラブルマルチメディアデバイス101を使用して実施することができる。ウェアラブルマルチメディアデバイスは、光学投影システム、例えば
図2Bの光学プロジェクタ257または
図8~
図13Eを参照して説明した投影サブシステム832を含む。
【0183】
プロセス1500は、ウェアラブルマルチメディアデバイスのセンサからのセンサデータを受け取るステップ(1502)と、センサデータからコンテキストを推論するステップ(1504)と、表面(例えばユーザの手の手掌)上に、第1の仮想インターフェース(VI)要素を備えたVIを光学的に投影するステップ(1506)と、第1の要素に向けられた第1のユーザ入力(例えばタッチまたはホバリング)を受け取るステップ(1508)とを含む。第1の入力に応答して、プロセス1500は続いて、表面上に投影されたVI内に第2のVI要素を光学的に投影し、第2のVI要素が、複数の同心リングであって、各リングにノードが埋め込まれており、各ノードがアプリケーションに対応する、複数の同心リングを含み、推論されたコンテキストに最も関連のあるアプリケーションに対応するノードが、リング内の他のノードとは別様に投影される(例えば拡大される、彩色される、強調表示される、より高輝度である、アニメーション化される)(1510)。プロセス1500は続いて、第2のVI要素に向けられた第2のユーザ入力を受け取る(1512)。第2のユーザ入力に応答して、プロセス1500は、ウェアラブルマルチメディアデバイスおよび/または別のデバイス上でアクション(例えば対応するアプリケーションの起動)を実施させる(1514)。
【0184】
ここで説明した特徴は、デジタル電子回路として、またはコンピュータハードウェア、コンピュータファームウェア、コンピュータソフトウェアとして、またはそれらの組合せとして、実装することができる。特徴は、プログラマブルプロセッサによって実行できるように、情報担体内、例えば機械可読記憶デバイス内に有形に具現化された、コンピュータプログラム製品として実装することができる。方法ステップは、ここで説明した実装形態の機能を実施するための命令のプログラムを、プログラマブルプロセッサが、入力データに作用し出力を生成することにより実行することによって、実施することができる。
【0185】
ここで説明した特徴は、有利には、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取るように、またデータ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送り出すように結合された、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能な、1つまたは複数のコンピュータプログラムとして実装することができる。コンピュータプログラムは、ある特定のアクティビティを実施するために、またはある特定の結果をもたらすために、コンピュータ内で直接的または間接的に使用することのできる、命令のセットである。コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語(例えばオブジェクティブC、Java)で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含めて、任意の形態でデプロイすることができる。
【0186】
命令のプログラムを実行するのに適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のコンピュータの単独のプロセッサまたは複数のプロセッサもしくはコアのうちの1つを含む。一般に、プロセッサは、読出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリである。一般に、コンピュータは、データファイルを記憶するための大容量記憶デバイスと通信することができる。これらの大容量記憶デバイスとしては、内蔵ハードディスクやリムーバルディスクなどの磁気ディスク;光磁気ディスク;および光ディスクがあり得る。コンピュータプログラム命令およびデータを有形に具現化するのに適した記憶デバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス;内蔵ハードディスクやリムーバルディスクなどの磁気ディスク;光磁気ディスク;ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリを含む。プロセッサおよびメモリは、ASIC(特定用途向け集積回路)によって補完することもでき、あるいはASIC(特定用途向け集積回路)に組み込むこともできる。ユーザとの対話を可能にするために、特徴を、作成者に情報を表示するためのCRT(陰極線管)、LED(発光ダイオード)、またはLCD(液晶ディスプレイ)ディスプレイまたはモニタなどのディスプレイデバイスと、作成者がそれを用いてコンピュータに入力することのできるキーボードおよびマウスやトラックボールなどのポインティングデバイスとを有する、コンピュータ上に実装することができる。
【0187】
開示の実施形態の1つまたは複数の特徴またはステップは、アプリケーションプログラミングインターフェース(API)を使用して実装することができる。APIは、呼出し側アプリケーションと、サービスを提供する、データを提供する、または動作もしくは計算を実施する、他のソフトウェアコード(例えばオペレーティングシステム、ライブラリルーチン、関数)との間で受け渡される、1つまたは複数のパラメータを規定することができる。APIは、API仕様書内に規定された呼出し規約に基づくパラメータリストまたは他の構造を通じて1つまたは複数のパラメータを送出しまたは受け取る、プログラムコード内の1つまたは複数の呼出しとして実装することができる。パラメータは、定数、キー、データ構造、オブジェクト、オブジェクトクラス、変数、データ型、ポインタ、配列、リスト、または別の呼出しとすることができる。API呼出しおよびパラメータは、任意のプログラミング言語で実装することができる。プログラミング言語は、APIをサポートする機能にプログラマがアクセスするために用いる語彙および呼出し規約を規定することができる。いくつかの実装形態では、API呼出しはアプリケーションに、そのアプリケーションを実行するデバイスの、入力能力、出力能力、処理能力、電力能力、通信能力などの能力を報告することができる。
【0188】
以上、いくつかの実装形態について説明してきた。しかし、さまざまな修正を行えることが理解されよう。1つまたは複数の実装形態の要素を、組み合わせ、削除し、修正し、または補完して、さらなる実装形態を形成することができる。さらに別の例では、図中に示した論理フローが、望ましい結果を達成するために、図示の特定の順序、または順番を必要としない。それに加えて、他のステップを設けることもでき、あるいは説明したフローからステップをなくすこともでき、また説明したシステムに他のコンポーネントを追加することもでき、あるいは説明したシステムから他のコンポーネントを取り除くこともできる。したがって、他の実装形態が、以下の特許請求の範囲の範囲内にある。
【符号の説明】
【0189】
100 動作環境
101 ウェアラブルマルチメディアデバイス
102 クラウドコンピューティングプラットフォーム
103 ネットワーク
104 サードパーティアプリケーション(「アプリ」)ディベロッパ
105 サードパーティプラットフォーム
106 データベース
200 データ処理システム
201 レコーダ
202 ビデオバッファ
203 オーディオバッファ
204 写真バッファ
205 取込みサーバ
206 データストア
207 ビデオプロセッサ
208 オーディオプロセッサ
209 写真プロセッサ
210 サードパーティプロセッサ
211 画像処理/編集アプリケーション
212 画像処理/編集アプリケーション
213 スピーチトゥテキスト変換アプリケーション
214 スピーチトゥテキスト変換アプリケーション
215 画像処理アプリケーション
216 画像処理アプリケーション
217 アプリケーション
250 メッセージングシステム
251 メッセージバス
252 深度センサ、ハードウェアコンポーネント
253 カメラ、カメラセンサ
254 オーディオサブシステム
255 全地球航法衛星システム(GNSS)レシーバ、GNSS
256 タッチセンサ
257 光学プロジェクタ、コンポーネント
258 プロセッサ
259 メモリマネージャ
260 電力マネージャ
261 ワイヤレストランシーバ(TX)、ハードウェアコンポーネント
300 データ処理パイプライン
301 取込みサーバ
302 ビデオプロセッサ
304 レコーダ
305 オーディオプロセッサ
306 アプリ
307 ビデオ処理アプリ
308 データマージプロセス
400 データ処理パイプライン
401 取込みサーバ
402 サードパーティプロセッサ
404 レコーダ
405 オーディオプロセッサ
406 アプリ
407 サードパーティアプリケーション
408 ユーザコールバックキュー
600 プロセス
700 アーキテクチャ
702 プロセッサ、デバイス
704 記憶デバイス
706 ネットワークインターフェース、デバイス
708 コンピュータ可読媒体、デバイス
710 通信チャネル
712 オペレーティングシステム
714 ネットワーク通信モジュール
716 データ処理命令、インターフェース命令
718 データ処理命令、インターフェース命令
800 アーキテクチャ、デバイス、システム
802 メモリインターフェース
804 中央処理装置、プロセッサ
806 周辺装置インターフェース
810 運動センサ
812 生体測定センサ
814 深度センサ
815 ロケーションプロセッサ
816 電子磁力計
817 環境センサ
820 カメラサブシステム、カメラ/ビデオサブシステム、カメラセンサ
822 光学センサ
824 通信サブシステム
826 オーディオサブシステム
828 スピーカ
830 マイクロホン
832 プロジェクタサブシステム、投影サブシステム
840 I/Oサブシステム
842 タッチコントローラ
844 別の入力コントローラ、他の入力コントローラ
846 タッチ表面
848 他の入力/制御デバイス
850 メモリ
852 オペレーティングシステム
854 通信命令
858 センサ処理命令
860 レコーダ命令
900 システムブロック図
901 コントローラ
902 バッテリ
903 電力管理チップ(PMIC)
904 光学源
905 X-Yスキャナ
906 ドライバ
907 メモリ
908 デジタル-アナログコンバータ(DAC)
909 アナログ-デジタルコンバータ(ADC)
1000 ユーザの手、ユーザの左手
1002 ユーザの手掌
1004 指
1004a 指
1004b 指
1004c 指
1004d 指
1004e 指
1010 VI
1101 VI要素
1102 「付近」VI要素
1103 VI要素
1104 VI要素
1105 VI要素
1106 VI要素
1107 VI要素(またはアイコン)
1108 VI要素(またはアイコン)
1109 VI要素(またはアイコン)
1110 VI投影
1120 オプションメニュー
1130 VI要素
1140 VI要素、VI投影
1142 VI要素
1143 VI要素
1150 VI投影
1152 VI投影
1154 VI投影
1200 VI要素、仮想要素、VI
1201 VI要素
1210 調整された仮想画像
1220 投影された仮想画像
1250 図
1260 第1の物体
1262 第1の表面
1270 第2の物体
1272 第2の表面
1280 投影された2D画像
1280A 第1のセクション
1280B 第2のセクション
1300 投影画像
1310 投影視野カバレッジ
1320 投影表面
1330 3Dマップ
1340 調整/事前歪曲された投影画像
1350 投影された画像
1400 プロセス
1500 プロセス
【国際調査報告】