(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-08-20
(45)【発行日】2025-08-28
(54)【発明の名称】低消費電力のためのダイナミックキャプチャパラメータ処理
(51)【国際特許分類】
H04N 23/60 20230101AFI20250821BHJP
【FI】
H04N23/60 100
(21)【出願番号】P 2024508515
(86)(22)【出願日】2022-08-12
(86)【国際出願番号】 US2022074915
(87)【国際公開番号】W WO2023019249
(87)【国際公開日】2023-02-16
【審査請求日】2024-05-28
(32)【優先日】2021-08-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-08-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-08-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-08-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ガングリー,シャミック
(72)【発明者】
【氏名】クーパー,エミリー・バーバラ
(72)【発明者】
【氏名】ボンドラン,ゲイリー・リー,ジュニア
【審査官】彦田 克文
(56)【参考文献】
【文献】特開2006-277315(JP,A)
【文献】特開2015-102915(JP,A)
【文献】国際公開第2017/109998(WO,A1)
【文献】特開2006-054519(JP,A)
【文献】特開2010-081100(JP,A)
【文献】特表2015-537325(JP,A)
【文献】特開2009-077066(JP,A)
【文献】米国特許出願公開第2014/0253701(US,A1)
【文献】米国特許出願公開第2015/0042562(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
第1の解像度を有する第1の画像においてテキスト文字のサイズを解析することと、
前記第1の画像における前記テキスト文字の前記サイズの前記解析に基づいて、前記第1の解像度よりも大きい第2の解像度で
の第2の画像のキャプチャをトリガすることと、
前記第2の画像におけるテキスト文字のサイズを解析することと、
前記第2の画像における前記テキスト文字の前記サイズの前記解析に基づき、かつ、前記第2の解像度が所与の条件を満たすことに応じて、前記第2の画像を、コンパニオンデバイスによる光学式文字認識(OCR)処理のために、コンピューティングデバイスから前記コンパニオンデバイスへ送信することと、
を含む、画像処理方法。
【請求項2】
前記
第1の画像は、実世界の物体を
さらに含む、請求項
1に記載の画像処理方法。
【請求項3】
前記テキスト文字の前記サイズが解析されることにより前記テキスト文字の、1文字あたりのピクセル数条件、高さ条件、面積条件の少なくとも1つ
が決定される、請求項
1に記載の画像処理方法。
【請求項4】
画像センサを使用して、前記第1の解像度で前記第1の画像をキャプチャすることをさらに含み、前記第1の解像度は、前記画像センサで定義されたビンに対応する、請求項1
~請求項3のいずれか1項に記載の画像処理方法。
【請求項5】
前記第1の解像度はデフォルト解像度であり、前記第2の解像度はルックアップテーブルのエントリに基づいて定義される、請求項1
~請求項3のいずれか1項に記載の画像処理方法。
【請求項6】
1つまたは複数のプロセッサによって読み取られ実行されると、前記1つまたは複数のプロセッサに画像処理方法を実行させるための命令を含み、
前記画像処理方法は、
第1の解像度を有する第1の画像においてテキスト文字のサイズを解析することと、
前記第1の画像における前記テキスト文字の前記サイズの前記解析に基づいて、前記第1の解像度よりも大きい第2の解像度で
の第2の画像のキャプチャをトリガすることと、
前記第2の画像におけるテキスト文字のサイズを解析することと、
前記第2の画像における前記テキスト文字の前記サイズの前記解析に基づき、かつ、前記第2の解像度が所与の条件を満たすことに応じて、前記第2の画像を、コンパニオンデバイスによる光学式文字認識(OCR)処理のために、コンピューティングデバイスから前記コンパニオンデバイスへ送信することと、
を含む、コンピュータプログラム。
【請求項7】
前記
第1の画像は、実世界の物体を
さらに含む、請求項
6に記載のコンピュータプログラム。
【請求項8】
前記テキスト文字の前記サイズが解析されることにより前記テキスト文字の、1文字あたりのピクセル数条件、高さ条件、面積条件の少なくとも1つ
が決定される、請求項
6に記載のコンピュータプログラム。
【請求項9】
前記画像処理方法は、画像センサを使用して、前記第1の解像度で前記第1の画像をキャプチャすることをさらに含み、前記第1の解像度は、前記画像センサで定義されたビンに対応する、請求項
6~請求項8のいずれか1項に記載のコンピュータプログラム。
【請求項10】
前記第1の解像度はデフォルト解像度であり、前記第2の解像度はルックアップテーブルのエントリに基づいて定義される、請求項
6~請求項8のいずれか1項に記載のコンピュータプログラム。
【請求項11】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに通信可能に結合され、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
第1の解像度を有する第1の画像においてテキスト文字のサイズを解析することと、
前記第1の画像における前記テキスト文字の前記サイズの前記解析に基づいて、前記第1の解像度よりも大きい第2の解像度で
の第2の画像のキャプチャをトリガすることと、
前記第2の画像におけるテキスト文字のサイズを解析することと、
前記第2の画像における前記テキスト文字の前記サイズの前記解析に基づき、かつ、前記第2の解像度が所与の条件を満たすことに応じて、前記第2の画像を、コンパニオンデバイスによる光学式文字認識(OCR)処理のために、コンピューティングデバイスから前記コンパニオンデバイスへ送信することと、
を実行させる複数の命令を記憶するメモリデバイスと、を含む、システム。
【請求項12】
前記
第1の画像は、実世界の物体を
さらに含む、請求項
11に記載のシステム。
【請求項13】
前記テキスト文字の前記サイズが解析されることにより前記テキスト文字の、1文字あたりのピクセル数条件、高さ条件、面積条件の少なくとも1つ
が決定される、請求項
11に記載のシステム。
【請求項14】
前記複数の命令は、前記1つまたは複数のプロセッサに、画像センサを使用して、前記第1の解像度で前記第1の画像をキャプチャすることをさらに実行させ、前記第1の解像度は、前記画像センサで定義されたビンに対応する、請求項
11~請求項13のいずれか1項に記載のシステム。
【請求項15】
前記第1の解像度はデフォルト解像度であり、前記第2の解像度はルックアップテーブルのエントリに基づいて定義される、請求項
11~請求項13のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2021年8月12日に出願された米国仮出願第63/260,206号および米国仮出願第63/260,207号の利益を主張する、2022年8月11日に出願された米国出願第17/819,154号および米国特許出願第17/819,170号の継続出願であり、その優先権を主張するものであり、これらの開示は、参照によりその全体が本明細書に組み込まれる。
【0002】
本出願はまた、2021年8月12日に出願された米国仮出願第63/260,206号、および2021年8月12日に出願された米国仮出願第63/260,207号の優先権を主張し、これらの出願の開示は、参照によりその全体が本明細書に組み込まれる。
【0003】
技術分野
本明細書は、概して、画像コンテンツを処理するために使用される方法、デバイス、およびアルゴリズムに関する。
【背景技術】
【0004】
背景
コンピュータビジョン技術は、コンピュータが画像から情報を分析し抽出することを可能にする。このようなコンピュータビジョン技術は、処理および電力消費に関してコストがかかる場合がある。モバイルコンピューティングデバイスの性能と電力消費のバランスをとる要求が増加し続ける中、デバイス製造者は、モバイルコンピューティングデバイスの限界に過度の負担をかけないように、画像劣化とデバイス性能のバランスをとるようにデバイスを構成することを課せられている。
【発明の概要】
【0005】
概要
1つまたは複数のコンピュータのシステムは、操作中にシステムに動作を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステムにインストールすることによって、特定の操作または動作を実行するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置に動作を実行させる命令を含むことによって、特定の操作または動作を実行するように構成することができる。
【0006】
本開示は、コンピューティングデバイス(例えば、ウェアラブルコンピューティングデバイス)がコンピュータビジョンタスクを効率的に実行(例えば、実施)することを可能にし得る、画像処理を実行するためのシステムおよび方法について説明する。本明細書に記載のシステムおよび方法は、コンピュータビジョンおよび画像解析タスクを実行する際に使用される画像データの量を低減(例えば、最小化)して、特定のハードウェアおよび/またはデバイスリソース(例えば、メモリ、プロセッサ、ネットワーク帯域幅など)の使用を低減することができる。リソースの使用を低減するためにコンピューティングデバイス(例えば、ヘッドマウントデバイス(HMD)、拡張現実(AR)スマートグラス)を構成することは、そのようなデバイスが、デバイスに搭載された比較的低電力の計算タスクを実施し、複雑および/または高電力の処理をコンパニオンデバイス(例えば、サーバ、コンピューティングデバイスと接続されたモバイルデバイス、他のコンピュータなど)にオフロード(例えば、プッシュ)することを可能にするという利点を提供することができる。例えば、光学式文字認識(OCR)の実現可能性の初期評価は、コンピューティングデバイス(例えば、HMD)で実行され得、そして、画像が、OCRを実行するために望ましいキャプチャパラメータ(例えば、十分な解像度)でキャプチャされ得ると決定されるとき、画像は、追加の(例えば、より詳細な、より集中的な)OCR処理のために、コンパニオンデバイスに送られ得る(例えば、無線で送られる)。
【0007】
少なくとも1つの一般的な態様において、画像処理方法は、画像センサを使用して、第1の解像度で第1の生画像をキャプチャすることと、画像信号プロセッサを使用して、第1の生画像をデジタル処理された画像に変換することと、処理条件に基づいてデジタル処理された画像の少なくとも一部を解析することと、を含むことができる。方法は、第1の解像度が処理条件を満たさないと判定することと、第1の解像度よりも大きい第2の解像度で、画像センサにおける第2の生画像のキャプチャをトリガすることと、を含むことができる。方法は、以下の任意の組み合わせを含むことができる。
【0008】
別の一般的な態様では、非一時的な機械読取り可能な有形の媒体は、画像処理方法を実行するために1つまたは複数のプロセッサによって読み取られ実行される命令を記憶しており、この方法は、画像センサを使用して、第1の解像度で第1の生画像をキャプチャすることと、画像信号プロセッサを使用して、第1の生画像をデジタル処理された画像に変換することと、処理条件に基づいてデジタル処理された画像の少なくとも一部を解析することと、を含むことができる。方法は、第1の解像度が処理条件を満たさないと判定することと、第1の解像度よりも大きい第2の解像度で、画像センサにおける第2の生画像のキャプチャをトリガすることと、を含むことができる。方法は、以下の任意の組み合わせを含むことができる。
【0009】
さらに別の一般的な態様では、システムは、プロセッサと、プロセッサに通信可能に結合され、プロセッサによって実行されると、プロセッサに、画像センサを使用して、第1の解像度で第1の生画像をキャプチャすることと、画像信号プロセッサを使用して、第1の生画像をデジタル処理された画像に変換することと、処理条件に基づいてデジタル処理された画像の少なくとも一部を解析することと、を実行させる複数の命令を記憶するメモリデバイスと、を含むことができる。プロセッサは、第1の解像度が処理条件を満たさないと判定し、第1の解像度よりも大きい第2の解像度で、画像センサにおける第2の生画像のキャプチャをトリガするようにされ得る。
【0010】
上述の各態様は、以下の任意の組み合わせを含むことができる。いくつかの実施態様では、デジタル処理された画像の少なくとも一部は、テキスト文字を含む。いくつかの実施態様では、デジタル処理された画像の少なくとも一部は、実世界の物体を含む。いくつかの実施態様では、処理条件は、1文字あたりのピクセル数条件、高さ条件、面積条件の少なくとも1つである。いくつかの実施態様では、第1の生画像をキャプチャするための第1の解像度は、画像センサで定義されたビンに対応する。いくつかの実施態様では、第1の解像度はデフォルト解像度であり、第2の解像度はルックアップテーブルのエントリに基づいて定義される。いくつかの実施態様では、デジタル処理された画像は、コンピューティングデバイスでキャプチャされた第1のデジタル処理された画像である。方法は、第2の生画像を第2のデジタル処理された画像に変換することと、第2の解像度が処理条件を満たすと判定することと、第2の解像度が処理条件を満たすと判定することに応答して、第2のデジタル処理された画像を、さらなる処理のために、コンピューティングデバイスのコンパニオンデバイスに送信することと、も含むことができる。
【図面の簡単な説明】
【0011】
【
図1】本開示全体を通じて説明される実施態様による、限られた計算リソースおよび/または電力リソースを使用して画像コンテンツを生成および処理するためのコンピューティングデバイスの一例を示す図である。
【
図2】本開示全体を通して説明される実施態様による、コンピューティングデバイス上で画像処理を実行するためのシステムを示す図である。
【
図3A】様々なシナリオにおいてHMDディスプレイ内で見ることができる、印刷された単語を有する標識を示す図である。
【
図3B】様々なシナリオにおいてHMDディスプレイ内で見ることができる、印刷された単語を有する標識を示す図である。
【
図3C】様々なシナリオにおいてHMDディスプレイ内で見ることができる、印刷された単語を有する標識を示す図である。
【
図4A】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイスの一例を示す図である。
【
図4B】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイスの一例を示す図である。
【
図5】本明細書で説明する実施態様に関連する方法を示すフローチャートである。
【
図6】本明細書で説明される技術と共に使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【0012】
様々な図面における同様の参照符号は、同様の要素を示す。
詳細な説明
本開示は、コンピューティングデバイス(例えば、ウェアラブルコンピューティングデバイス)がコンピュータビジョンタスクを効率的に実行する(例えば、実施する)ことを可能にし得る、画像処理を実行するためのシステムおよび方法を説明する。例えば、本明細書に記載のシステムおよび方法は、プロセッサ、センサ、ニューラルネットワーク、および/または画像解析アルゴリズムを利用して、画像内のテキスト、記号、および/または物体を認識し、および/または画像から情報を抽出することができる。いくつかの実施態様では、本明細書に記載のシステムおよび方法は、低減された計算モードおよび/または低減された電力モードで動作しながら、そのようなタスクを実行することができる。例えば、本明細書に記載のシステムおよび方法は、コンピュータビジョンおよび画像解析タスクを実行するときに使用される画像データの量を低減(例えば、最小化)して、特定のハードウェアおよび/またはデバイスリソース(例えば、メモリ、プロセッサ、ネットワーク帯域幅など)の使用を低減することができる。
【0013】
リソースの使用を低減するためにコンピューティングデバイス(例えば、ヘッドマウントデバイス(HMD)、拡張現実(AR)スマートグラス)を構成することは、そのようなデバイスがデバイスに搭載された比較的低電力の計算タスクを実行し、複雑および/または高電力の処理をコンパニオンデバイス(例えば、サーバ、コンピューティングデバイスと接続されたモバイルデバイス、他のコンピュータなど)にオフロード(例えば、プッシュ)することを可能にするという利点を提供することができる。
【0014】
例えば、光学式文字認識(OCR)の実現可能性の初期評価は、コンピューティングデバイス(例えば、HMD)で実行され得、そして、画像が、OCRを実行するために望ましいキャプチャパラメータ(例えば、十分な解像度)でキャプチャされ得ると決定されるとき、画像は、追加の(例えば、より詳細な、より集中的な)OCR処理のために、コンパニオンデバイスに送られ得る(例えば、無線で送られる)。
【0015】
別の例として、OCRの初期段階(例えば、テキスト認識のようなOCRパイプラインの初期段階)を実行するための1つまたは複数のキャプチャパラメータ(例えば、解像度、1文字あたりのピクセル数)がコンピューティングデバイスで実行され得る。OCRを実行するために望ましいキャプチャパラメータで画像がキャプチャされ得ると判断されるとき、画像は、詳細OCR処理のためにコンパニオンデバイスに送られ得る(例えば、無線で送られる)。いくつかの実施態様において、詳細OCR処理(または他の処理)は、コンピューティングデバイスで実行されることができ、本明細書で説明される技術は、少なくともいくつかの(例えば、任意の)下流処理の間、エネルギーを節約するのに役立ち得る。
【0016】
いくつかの実施態様では、画像の初期低電力処理は、より高電力および/またはより複雑な処理のために別のデバイスに送られ得る画像をキャプチャするためのターゲットキャプチャパラメータ(例えば、最小解像度、関心領域(ROI)へのクロッピング)を決定するために使用することができる。特定のキャプチャパラメータは、1つまたは複数の処理条件に基づいて決定することができる。ターゲットキャプチャパラメータを決定するための最初の処理は、キャプチャパラメータ選択処理段階と呼ぶことができ、後の処理は、下流画像処理段階と呼ぶことができる。
【0017】
具体例として、画像の少なくとも一部を第1のキャプチャパラメータでキャプチャし、キャプチャパラメータ選択処理段階で、処理条件に基づいて、第1のキャプチャパラメータが後の処理段階で処理される条件を満たさない(例えば、十分に高くない)という判定を行うことができる。処理条件は、後の処理段階での処理(例えば、下流処理)が望ましい態様で実行され得るか否かを決定するために使用される条件とすることができる。第1の解決策の不十分さの判定に応答して、画像の一部を第2のキャプチャパラメータでキャプチャし、処理条件に基づいて、第2のキャプチャパラメータが後の処理段階で処理されるのに十分であるという判定を行うことができる。下流画像処理段階は、例えば、光学式文字認識に関する処理とすることができる。
【0018】
別の具体例として、画像の少なくとも一部を第1のキャプチャパラメータでキャプチャし、キャプチャパラメータ選択処理段階で、処理条件に基づいて、第1のキャプチャパラメータが後の処理段階で処理される条件を満たす(例えば、十分高い)という判定を行うことができる。十分であるという判定に応答して、画像の一部は、下流画像処理段階(例えば、光学式文字認識に関連する処理)で処理することができる。
【0019】
いくつかの実施態様では、キャプチャパラメータ選択処理は、別個の関心領域選択技術を使用して決定された特定の関心領域に基づいて行うことができる。例えば、画像全体を解析する代わりに、画像データにおいて関心領域(ROI)を特定し、それらの領域の1つまたは複数をコンピューティングデバイスに搭載して解析することができる。正確な結果を維持しながら解析する情報量を削減することで、画像全体を解析するリソース負担なしに、複雑な画像処理タスクをコンピューティングデバイス上で実行することを可能にし得る。いくつかの実施態様では、本明細書に記載のシステムおよび方法は、計算負荷および/または電力を低減しつつ、そのようなデバイスが効率的な画像処理タスクを実行し得るように、デバイス上で実行されるように構成され得る。例えば、本明細書に記載のシステムおよび方法は、電力、メモリ、および/または処理消費を低減するための特定の技術を利用しながら、デバイスがオブジェクト検出タスク、光学式文字認識(OCR)タスク、および/または他の画像処理タスクを実行することを可能にし得る。
【0020】
いくつかの実施態様では、本明細書に記載のシステムおよび方法は、複雑な画像処理計算が、他のリソースおよび/またはデバイスからの支援なしにデバイス上で実行され得ることを保証し得る。例えば、従来のシステムは、計算負荷の高い画像処理タスクを実行するために、通信可能に結合された他のモバイルデバイス、サーバ、および/またはオフボードシステムからの支援を要求することがある。本明細書で説明するシステムおよび方法は、完全かつ正確な画像処理能力を提供しつつ、例えばサーバよりも計算能力の低いデバイスによって操作され得る画像の一部を生成するという利点を提供する。
【0021】
本明細書に記載のシステムおよび方法は、コンピューティングデバイスが、低消費電力および/または低処理消費を利用する機械学習インテリジェンス(例えば、ニューラルネットワーク、アルゴリズムなど)を使用して、物体検出、動き追跡、顔認識、OCRタスクなどのコンピュータビジョンタスクを実行することを可能にし得る。
【0022】
図1は、本開示全体を通じて説明される実施態様による、限られた計算リソースおよび/または電力リソースを使用して画像コンテンツを生成および処理するためのコンピューティングデバイス100(例えば、HMD)の一例を示す図である。この例では、コンピューティングデバイス100は、ARスマートグラスの形態で描かれている。しかしながら、任意のフォームファクタが代用され、本明細書に記載されるシステムおよび方法と組み合わされてもよい。いくつかの実施態様では、コンピューティングデバイス100は、1つまたは複数のセンサ、低電力アイランドプロセッサ、高電力アイランドプロセッサ、コアプロセッサ、エンコーダなどのいずれかまたは全てと組み合わせたシステムオンチップ(SOC)アーキテクチャ(図示せず)を含む。
【0023】
動作において、コンピューティングデバイス100(デバイスとも呼ばれ得る)は、例えば、カメラ、画像センサなどを使用して、シーン102の画像をキャプチャすることができる。デバイス100は、ユーザ104によって装着され、操作されてもよい。シーン102は、物理的コンテンツだけでなく、拡張現実(AR)コンテンツを含むことがある。シーン102は、デバイス100を通したビューの観点から示されている。いくつかの実施態様では、コンピューティングデバイス100は、コンパニオンデバイス106(例えば、モバイルコンピューティングデバイス)と通信可能に結合されてもよい。
【0024】
いくつかの実施態様では、コンピューティングデバイス100は、シーン102から画像コンテンツを特定する要求に応答して、リアルタイムの画像処理(例えば、リアルタイムの画像および/または文字認識)を開始するようにトリガされ得る。非限定的な例では、コンピューティングデバイス100は、デバイス100に含まれるセンサによってキャプチャされた光学データに関連付けられた画像コンテンツを特定する要求に応答して、リアルタイム画像処理を開始するようにトリガされてもよい。要求は、デバイス100を装着しているユーザ(例えば、ユーザ104)からのものであってもよい。
【0025】
動作において、コンピューティングデバイス100は、キャプチャパラメータ選択処理段階100-1を含み得る。キャプチャパラメータ選択処理段階100-1における、画像の初期低電力処理は、さらなる処理に望ましい(またはさらなる処理をトリガするための)シーン102の少なくとも一部の画像をキャプチャするためのターゲットキャプチャパラメータ(例えば、最小解像度、関心領域(ROI)へのクロッピング)を決定するために使用され得る。キャプチャパラメータ選択処理段階100-1で決定されたターゲットキャプチャパラメータは、下流画像処理段階100-2内でより高電力および/またはより複雑な処理のためにコンパニオンデバイス106に送られ得る1つまたは複数の追加画像をキャプチャするために使用することができる。下流画像処理段階100-2は、コンパニオンデバイス106内にあるように図示されているが、下流画像処理段階100-2の処理のいずれも、コンピューティングデバイス100で実行することができる。
【0026】
シーン102の少なくとも一部の画像をキャプチャするためのターゲットキャプチャパラメータは、キャプチャパラメータ選択処理段階100-1における1つまたは複数の処理条件101に基づいて決定することができる。ターゲットキャプチャパラメータは、下流画像処理段階100-2で画像を処理するために(処理条件に基づいて)最適化されたキャプチャパラメータとすることができる。具体的には、ターゲットキャプチャパラメータは、1つまたは複数の処理条件101が満たされることに基づいて選択(例えば、収束)され得る。
【0027】
いくつかの実施態様では、ターゲットキャプチャパラメータは、コンテンツをキャプチャするための初期キャプチャパラメータに基づいて選択され得る。いくつかの実施態様では、ターゲットキャプチャパラメータは、初期キャプチャパラメータと同じであるか、または初期キャプチャパラメータと同じであることが特定され得る。いくつかの実施態様では、初期キャプチャパラメータに加えて、複数の中間キャプチャパラメータを、ターゲットキャプチャパラメータが特定されるまで(例えば、収束するまで)テストする(例えば、1つまたは複数の処理条件に対して考慮する)ことができる。中間キャプチャパラメータの少なくとも1つは、中間キャプチャパラメータが1つまたは複数の処理条件101を満たす場合に、ターゲットキャプチャパラメータとして特定され得る。
【0028】
いくつかの実施態様では、キャプチャパラメータ選択処理段階100-1による処理のためのコンテンツは、関心領域130を対象とすることができる。いくつかの実施態様では、関心領域(例えば、クロッピングによって絞り込まれた関心領域)は、ターゲットキャプチャパラメータ処理とともに、またはターゲットキャプチャパラメータ処理の後に選択され得る。いくつかの実施態様では、関心領域は、キャプチャパラメータ選択処理段階100-1の任意の要素(例えば、画像センサ、画像信号プロセッサ、オンデバイス処理など)で選択または処理され得る。
【0029】
具体例として、シーン102内のテキストは、第1の解像度(低解像度、低解像度レベル)を表す初期キャプチャパラメータを使用して第1の画像内にキャプチャされ得る。キャプチャパラメータ選択処理段階100-1は、第1の画像内のテキストが処理条件101を満たさない(例えば、テキスト内の文字が1文字あたりのピクセル閾値(例えば、1文字あたりのピクセル高さ)を下回る)と判定することができる。キャプチャパラメータ選択処理段階100-1による第1の画像(例えば、テキスト)の解析に基づいて処理条件101が満たされないので、第2の解像度(より高い解像度、高解像度レベル)を表す中間キャプチャパラメータを使用して、シーン内のテキストの第2の画像をキャプチャすることができる。キャプチャパラメータ選択処理段階100-1が、第2の画像内のテキストが処理条件101を満たす(例えば、テキスト内の文字が1文字あたりのピクセル閾値を満たすか、または超える)と判定した場合、キャプチャされたテキストの第2の画像は、下流画像処理段階100-2内での処理(例えば、OCR処理)のためにコンパニオンデバイスに送られ得る。
【0030】
いくつかの実施態様では、複数の画像を異なるキャプチャパラメータで同時に、またはほぼ同時にキャプチャすることができる。複数の画像のうちの第1の画像が1つまたは複数の処理条件101を満たすか否かについての評価が実行され得る。複数の画像のうちの第1の画像は、より少ない処理リソースを使用する(例えば、複数の画像のうちの最も少ない処理リソースを使用する)画像であり得る。複数の画像のうちの第1の画像が1つまたは複数の処理条件101を満たす場合、複数の画像のうちの他の画像のさらなる評価は不要であり得る。複数の画像のうちの第1の画像が1つまたは複数の処理条件101を満たさない場合、複数の画像のうちの第2の画像が1つまたは複数の処理条件101を満たすか否かの評価が実行され得る。複数の画像のうちの第2の画像は、複数の画像のうちの第1の画像よりも多くの(例えば、漸増的に多くの)処理リソースを使用する画像であり得る。複数の画像のこのような処理は、複数の画像のうちの1つが、(複数の画像から)最小量の処理リソースを使用しながら、1つまたは複数の処理条件101を満たすと特定されるまで実行され得る。
【0031】
図2は、本開示全体を通して説明される実施態様による、コンピューティングデバイス100上で画像処理を実行するためのシステム200を示す図である。いくつかの実施態様では、画像処理は、コンピューティングデバイス100で実行される。いくつかの実施態様では、画像処理は、1つまたは複数のデバイス間で共有される。例えば、画像処理は、コンピューティングデバイス100上で部分的に完了し、コンパニオンデバイス202(例えば、モバイルコンピューティングデバイス106など)および/またはサーバコンピューティングデバイス204で部分的に完了し得る。いくつかの実施態様では、画像処理は、コンピューティングデバイス100で実行され、そのような処理からの出力は、コンパニオンデバイス202および/またはサーバコンピューティングデバイス204に提供される。
【0032】
図2は、コンピューティングデバイス100に含まれるキャプチャパラメータ選択処理段階100-1の実施態様を示している。図示されていないが、下流画像処理段階100-2をコンパニオンデバイス202に含めることができる。この実施態様では、キャプチャパラメータ選択処理段階100-1は、画像センサ216、画像信号プロセッサ224、およびパラメータ選択プロセッサ227を含む。
【0033】
画像信号プロセッサ224は、画像センサ216によってキャプチャされた生画像(例えば、生画像、アナログ画像)を、パラメータ選択プロセッサ227によって処理可能なデジタル処理画像フォーマットに変換するように構成することができる。例えば、生画像は、さらなる画像処理のためのいくつかの情報を含まない非圧縮画像であり得る。画像信号プロセッサ224は、生画像を、パラメータ選択プロセッサ227などの下流処理によってさらに処理可能なデジタルフォーマットに処理することができる。画像信号プロセッサ224は、例えば、ノイズ低減、自動ホワイトバランスおよび色補正、色補間、ガンマ補正等を実行して、デジタル処理された画像を生成することができる。いくつかの実施態様では、画像信号プロセッサ224は、センサシステム214の一部とすることができる。議論を簡略化するために、画像信号プロセッサ224による、画像センサ216によって生成された画像のデジタルプレゼンテーションへの変換は、そのような変換が下流処理(例えば、パラメータ選択プロセッサ227による処理)の前に生じても、一般に説明から省略される。したがって、下流の構成要素による処理は、本明細書の説明内で言及されなくても、一般に、画像信号プロセッサ224によるデジタル処理の後に実行される。
【0034】
図2に示される実施態様は、議論に焦点を合わせ、この説明における原理を説明するために、OCRプロセスに関連する解像度(例えば、解像度キャプチャパラメータ221、解像度条件222、解像度選択アルゴリズム223)の文脈で議論される。解像度以外の、または解像度に加えて、異なるタイプのキャプチャパラメータ、条件、および/またはプロセスが、少なくとも
図2の実施態様に関連して使用され得る。例えば、本明細書で説明する技術は、バーコード、製品、標識、店頭、ランドマーク、植物、食品、顔、手(例えば、指し示すまたは保持する)、物体(例えば、車、建物、自転車、本、人)、特徴点追跡、および/またはこれらに限定されないような実世界オブジェクトの任意のタイプの処理(例えば、コンピュータビジョン、機械学習)に適用することができる。
【0035】
画像センサ216、画像信号プロセッサ224、およびパラメータ選択プロセッサ227は、キャプチャパラメータ選択処理段階100-1内のパイプラインとして機能することができる。画像解像度は、エネルギー消費を低減または最小化するために、パイプラインのできるだけ早い段階で低減または最小化される。例えば、任意の下流処理(例えば、画像信号プロセス224、パラメータ選択プロセッサ227、通信モジュール252、コンパニオンデバイス202)での処理を低減または最小化できるように、最小解像度の画像を画像センサ216でキャプチャすることができる。画像センサ216においてより高い解像度で画像をキャプチャすることは、下流処理において、電力使用量の増加、待ち時間(例えば、送信待ち時間)の増加等をもたらす可能性がある。
【0036】
上述したように、キャプチャパラメータ選択処理段階100-1は、さらなる処理にとって(および電力節約のために)望ましいシーン102の少なくとも一部の画像をキャプチャするためのターゲット解像度キャプチャパラメータを決定するために使用され得る。キャプチャパラメータ選択処理段階100-1で決定されたターゲット解像度キャプチャパラメータは、下流の画像処理段階内でより高電力および/またはより複雑なOCR処理のためにコンパニオンデバイス202に送られ得る1つまたは複数の追加画像をキャプチャするために使用され得る。
【0037】
解像度キャプチャパラメータ221は、例えば、画像をキャプチャするために画像センサ216によって使用され得るパラメータを表すことができる。図示しないが、異なるタイプの解像度キャプチャパラメータ(例えば、初期解像度キャプチャパラメータ、中間解像度キャプチャパラメータ、およびターゲット解像度キャプチャパラメータ)の各々は、解像度キャプチャパラメータ221によって表すことができ、または一般に解像度キャプチャパラメータ221と呼ぶことができる。例えば、初期またはデフォルトの解像度キャプチャパラメータは、解像度キャプチャパラメータ221と呼ぶことができる。解像度キャプチャパラメータ221は、例えば、解像度の異なる値またはレベルを表すことができる。
【0038】
キャプチャパラメータ選択処理段階100-1は、画像センサ216を使用して1つまたは複数の初期キャプチャパラメータを使用して画像のキャプチャを開始し、さらなる処理のために1つまたは複数のターゲット解像度キャプチャパラメータが決定されるまで、追加の解像度キャプチャパラメータ(例えば、1つまたは複数の中間キャプチャパラメータ)を調整および/または定義するように構成され得る。いくつかの実施態様では、初期キャプチャパラメータをターゲット解像度キャプチャパラメータとして特定することができる。
【0039】
例えば、画像センサ216は、初期解像度キャプチャパラメータ(例えば、デフォルト解像度キャプチャパラメータ、第1の解像度)を使用して画像をキャプチャするように構成され得る。パラメータ選択プロセッサ227は、画像内のコンテンツの少なくとも一部を解析することによって、パラメータ選択プロセッサ227によってキャプチャされたコンテンツがさらなる処理に十分な解像度を有するか否かを判定するように構成され得る。解像度の十分性は、解像度処理条件222のうちの1つまたは複数に基づいて決定することができる。具体的には、画像内のコンテンツが解像度処理条件222のうちの1つまたは複数を満たす場合(例えば、解像度がさらなる処理に十分である場合)、パラメータ選択プロセッサ227は、初期解像度キャプチャパラメータを、画像センサ216を使用して画像コンテンツをキャプチャするためのターゲット解像度キャプチャパラメータとして特定する。
【0040】
別の例として、画像センサ216は、初期解像度キャプチャパラメータ(例えば、第1の解像度)を使用して画像をキャプチャするように構成され得る。パラメータ選択プロセッサ227は、画像内のコンテンツの少なくとも一部を解析することによって、パラメータ選択プロセッサ227によってキャプチャされたコンテンツがさらなる処理に十分な解像度を有するか否かを判定するように構成され得る。解像度がさらなる処理に十分でない場合、パラメータ選択プロセッサ227は、中間解像度キャプチャパラメータを特定する。
【0041】
初期解像度キャプチャパラメータが、1つまたは複数の解像度起訴条件222に基づいて、下流処理のために画像センサ216によって画像をキャプチャするのに適切でないと判定された後、解像度選択アルゴリズム223を使用して、ターゲット解像度キャプチャパラメータが特定されるまで、1つまたは複数の中間解像度キャプチャパラメータを決定することができる。解像度アルゴリズム223は、解像度キャプチャパラメータの予め決定されたセットに基づくことができる。解像度アルゴリズム223は、解像度キャプチャパラメータの予め決定された順序に基づくことができる。解像度アルゴリズム223は、最小限の処理をもたらす解像度キャプチャパラメータを特定することに基づくことができる。
【0042】
解像度選択アルゴリズム223は、例えば、初期解像度キャプチャパラメータの後の解像度キャプチャパラメータ順序を特定するルックアップテーブル(LUT)とすることができ、またはそれに基づくことができる。言い換えれば、異なるキャプチャパラメータ(例えば、キャプチャパラメータレベル)は、ルックアップテーブルを使用して決定され得る。ルックアップテーブルは、望ましい解像度キャプチャパラメータ(または他のタイプのキャプチャパラメータ)を迅速に決定するために使用することができる。
【0043】
例えば、ルックアップテーブルは、初期解像度キャプチャパラメータ(例えば、デフォルト解像度キャプチャパラメータ)を含むことができる。初期解像度キャプチャパラメータに基づいてキャプチャされた第1の画像が、さらなる処理(例えば、下流処理)に対して許容されない場合、第2の画像が、ルックアップテーブル内で特定された中間解像度キャプチャパラメータに基づいてキャプチャされ得る。中間解像度キャプチャパラメータに基づいてキャプチャされた第2の画像がさらなる処理に許容される場合、さらなる処理を実行することができる(中間解像度キャプチャパラメータを最終解像度キャプチャパラメータとすることができる)。中間解像度キャプチャパラメータに基づいてキャプチャされた第2の画像がさらなる処理(例えば、下流処理)に対して許容されない場合、ルックアップテーブル内で特定されたさらに別の中間解像度キャプチャパラメータに基づいて第3の画像をキャプチャすることができる。処理は、最終的な解像度キャプチャパラメータが特定されるまで、反復方式で上述したように進行することができる。解像度キャプチャパラメータ以外の他のパラメータを特定することもできる。
【0044】
いくつかの実施態様において、解像度選択アルゴリズム223は、様々なアルゴリズムおよび/または方程式に基づくことができる。
【0045】
コンピューティングデバイス100は、センサシステム214を含む。センサシステム214は、画像データを検出および/または取得するように構成された画像センサ216を含む。いくつかの実施態様では、センサシステム214は複数の画像センサ216を含む。示されるように、センサシステム214は、1つまたは複数の画像センサ216を含む。画像センサ216は、画像(例えば、ピクセル、フレーム、および/または画像の一部)およびビデオをキャプチャして記録することができる。
【0046】
いくつかの実施態様では、画像センサ216の解像度(例えば、解像度のレベル)は、画像センサ216の予め定義された(例えば、予めプログラムされた)ビニング(例えば、ピクセルのビニング)によって定義され得る。例えば、画像センサ216の増加したピクセル数のビニングは、低下した解像度または解像度レベルをもたらすことができる。増加したピクセル数のビニングは、増加した解像度または解像度レベルをもたらすことができる。
【0047】
処理条件(例えば、処理条件101)の一種であるピクセル毎の閾値の満足度は、距離および現実世界の画像要素サイズ(例えば、実際のフォントサイズ)を含む多くの要因に依存し得る。本明細書で説明する技術は、任意のタイプの画像または画像要素に適用することができるが、便宜上、本明細書で説明する技術をフォントに関して説明する。
【0048】
例えば、比較的大きなフォントを有する文字をキャプチャしたが、画像センサ216から遠く離れている画像(例えば、生画像)は、比較的大きなフォントサイズが画像センサ216から離れた比較的大きな距離から解像され得るので、ピクセル毎の閾値を依然として満足し得る。このような例を
図3Aに示す。
【0049】
図3Aに示すように、「the」という単語が印刷された標識350-1(例えば、現実世界の標識)は、距離D1でHMDディスプレイ310(例えば、ピクセルサイズP1×P2を有する表示ウィンドウ)内で見ることができる。HMD(図示せず)の外向きの画像センサ(例えば、
図2に示す画像センサ216)に関連する視野320が、HMDディスプレイ310内の画像(例えば、生画像)を生成してもよい。この例では、標識上の「the」という単語のサイズは、距離D1において比較的大きいので、HMDディスプレイ310内の単語のサイズも比較的大きい。単語「the」からの文字「t」のピクセル数Q1におけるサイズ(例えば、この例では高さ)は、下流プロセス(例えば、
図1に示す下流画像処理段階100-2)におけるさらなる処理が望ましい態様で実行され得るように、閾値(例えば、十分に大きい)よりも大きくてもよい。
【0050】
図2に戻って、別の例として、比較的小さいフォントで画像センサ216から遠く離れた文字をキャプチャした画像(例えば、生画像)は、比較的小さいサイズが画像センサ216から比較的大きく離れた距離から解像されない可能性があるため、ピクセル毎の閾値を満たさない可能性がある。
図3Aの変形例であるこのような例を
図3Bに示す。
【0051】
図3Bに示すように、「the」という単語が印刷された標識350-2(例えば、現実世界の標識)は、距離D1(
図3Aと同じ距離)でHMDディスプレイ310(例えば、ピクセルサイズP1×P2を有する表示ウィンドウ)内で見ることができる。HMD(図示せず)の外向きの画像センサに関連する視野320は、HMDディスプレイ310内の画像(例えば、生画像)を生成することができる。この例では、標識上の「the」という単語のサイズは、距離D1では比較的小さいので、HMDディスプレイ310内の単語のサイズも比較的小さい。単語「the」からの文字「t」のピクセル数Q2におけるサイズは、下流プロセス(例えば、
図1に示す下流画像処理段階100-2)におけるさらなる処理が望ましい態様で実行され得ないように、閾値よりも小さい場合がある。このような状況では、下流プロセス(例えば、
図1に示す下流画像処理段階100-2)におけるさらなる処理が望ましい態様で実行され得るように、「the」の単語のピクセル数がQ2よりも大きくなり得るように、キャプチャ解像度が増大され得る。
【0052】
いくつかの実施態様では、低解像度画像(例えば、生画像)と高解像度画像を同時にキャプチャするか、またはほぼ同時にキャプチャすることができる。低解像度画像が処理条件(例えば、ピクセル毎の閾値)を満たすかどうかの評価を実行することができる。低解像度画像が処理条件を満たす場合、高解像度の処理は実行されないか、または除外されることがある。低解像度画像が処理条件を満たさない場合、高解像度画像が処理条件(例えば、ピクセル毎の閾値)を満たすかどうかの評価を実行することができる。高解像度画像が処理条件を満たす場合、その高解像度画像はさらなる処理に使用される(またはトリガされる)可能性がある。高解像度画像が処理条件を満たさない場合、より高解像度の画像がキャプチャされ、より高解像度の画像が処理条件(例えば、ピクセル毎の閾値)を満たすかどうかの評価が実行され得る。
【0053】
いくつかの実施態様では、処理は高い処理レベルで開始することができる。例えば、いくつかの実施態様では、低解像度画像(例えば、生画像)と高解像度画像(例えば、生画像)とを同時にキャプチャするか、またはほぼ同時にキャプチャすることができる。高解像度画像が処理条件(例えば、ピクセル毎の閾値)を満たすかどうかの評価を実行することができる。高解像度画像が処理条件を満たす場合、低解像度の処理は実行されないか、または除外され得る。
【0054】
いくつかの実施態様では、処理は高い処理レベルで開始し、望ましい条件が満たされるまで低下させることができる。例えば、いくつかの実施態様では、低解像度画像と高解像度画像を同時にキャプチャするか、ほぼ同時にキャプチャすることができる。高解像度画像が処理条件(例えば、ピクセル毎の閾値)を満たすかどうかの評価を実行することができる。高解像度画像が処理条件を満たす場合、低解像度画像が処理条件(例えば、ピクセル毎の閾値)を満たすかどうかの評価も実行することができる。低解像度画像が処理条件を満たす場合、低解像度画像は(高解像度画像よりも)さらなる処理に使用される(またはトリガされる)可能性がある。画像は、(処理条件に基づいて決定される)最小限のさらなる処理をもたらす可能性がある解像度がキャプチャされるまで、キャプチャされ、評価され得る。
【0055】
別の例として、フォントが比較的小さいが画像センサ216の近くにある文字をキャプチャした画像(例えば、生画像)は、文字が比較的短い距離から解像できるため、フォントが小さくてもピクセル毎の閾値を満たす可能性がある。
図3Bの変形例であるこのような例を
図3Cに示す。
【0056】
図3Cに示すように、「the」という文字が印刷された標識350-3(例えば、現実世界の標識)は、距離D2(
図3Aおよび
図3Bの距離D1よりも小さい)でHMDディスプレイ310(例えば、ピクセルサイズP1×P2を有する表示ウィンドウ)内で見ることができる。HMD(図示せず)の外向きの画像センサに関連する視野320が、HMDディスプレイ310内の画像(例えば、生画像)を生成してもよい。この例では、標識上の「the」という単語のサイズは距離D2において比較的大きいので、HMDディスプレイ310内の単語のサイズも比較的大きい。単語「the」からの文字「t」のピクセル数Q3におけるサイズ(例えば、この例では高さ)は、下流プロセス(例えば、
図1に示す下流画像処理段階100-2)におけるさらなる処理が望ましい態様で実行され得るように、閾値(例えば、十分に大きい)よりも大きくてもよい。
【0057】
上述した実施例にしたがって、ピクセル毎の閾値は、多くの状況において適切なキャプチャ解像度を決定するための強力なツールとなり得る。ピクセル毎の閾値は、例えば、フォントサイズ(例えば、現実世界のフォントサイズ)および/または距離に関する情報なしで決定され得る単一のメトリックであり得る。
【0058】
いくつかの実施態様では、ピクセル毎の閾値は、テキスト情報のスクリプトまたは言語に基づいて決定することができる。いくつかの実施態様では、1つまたは複数の処理条件101は、システムの角度分解能または視力に基づくことができる。角度分解能は、画像(例えば、生画像)をキャプチャする画像センサ(例えば、カメラ)の視野に基づくことができる。いくつかの実施態様では、1つまたは複数の処理条件101は、鮮明度、コントラスト、精度、文字の識別の確信度、および/またはこれらに基づくことができる。
【0059】
いくつかの実施態様では、画像センサ216は赤緑青(RGB)カメラである。いくつかの実施例では、画像センサ216は、パルスレーザセンサ(例えば、LiDARセンサ)および/または深度カメラを含む。例えば、画像センサ216は、画像フレーム226によって表される画像を作成するために使用される情報を検出して伝達するように構成されたカメラであってもよい。画像センサ216は、画像とビデオの両方をキャプチャして記録することができる。
【0060】
動作において、画像センサ216は、デバイス100が起動されている間、連続的または周期的に画像データ(例えば、光学センサデータ)を取得する(例えば、キャプチャする)ように構成される。いくつかの実施態様では、画像センサ216は、常時オンセンサとして動作するように構成される。いくつかの実施態様では、画像センサ216は、物体または関心領域の検出に応答して起動され得る。
【0061】
いくつかの実施態様では、コンピューティングデバイス100は、1つまたは複数のコンピューティングデバイスを含み、デバイスの少なくとも1つは、人の皮膚上にまたは皮膚に近接して装着可能なディスプレイデバイスである。いくつかの例では、コンピューティングデバイス100は、1つまたは複数のコンピューティングデバイスコンポーネントであるか、またはそれを含む。いくつかの実施態様では、コンピューティングデバイス100は、光学ヘッドマウントディスプレイ(OHMD)デバイス、透明ヘッドアップディスプレイ(HUD)デバイス、仮想現実(VR)デバイス、ARデバイス、またはセンサ、ディスプレイ、およびコンピューティング機能を有するゴーグルもしくはヘッドセットなどの他のデバイスなどのヘッドマウントディスプレイ(HMD)デバイスを含み得る。いくつかの実施態様では、コンピューティングデバイス100は、ARメガネ(例えば、スマートグラス)を含む。ARメガネは、一対のメガネの形状に設計された光学ヘッドマウントディスプレイデバイスを表す。いくつかの実施態様において、コンピューティングデバイス100は、スマートウォッチであるか、またはスマートウォッチを含む。いくつかの実施態様において、コンピューティングデバイス100は、宝飾品であるか、または宝飾品を含む。いくつかの実施態様では、コンピューティングデバイス100は、リングコントローラデバイスまたは他のウェアラブルコントローラであるか、またはそれを含む。いくつかの実施態様では、コンピューティングデバイス100は、イヤホン/ヘッドホンまたはスマートイヤホン/ヘッドホンであるか、またはそれを含む。
【0062】
図2に示すように、システム200は、コンパニオンデバイス202および任意選択でサーバコンピューティングデバイス204に通信可能に結合されたコンピューティングデバイス100を含む。いくつかの実施態様では、通信可能な結合は、ネットワーク206を介して発生する可能性がある。いくつかの実施態様では、通信可能な結合は、コンピューティングデバイス100、コンパニオンデバイス202、および/またはサーバコンピューティングデバイス204の間で直接発生してもよい。
【0063】
コンピューティングデバイス100は、1つまたは複数のプロセッサ208を含み、これらのプロセッサは、1つまたは複数の機械実行可能命令またはソフトウェア、ファームウェア、またはそれらの組み合わせを実行するように構成された基板に形成され得る。プロセッサ208は、半導体ベースであることができ、デジタル論理を実行することができる半導体材料を含むことができる。プロセッサ208は、ほんのいくつかの例を挙げると、CPU、GPU、および/またはDSPを含み得る。
【0064】
コンピューティングデバイス100はまた、1つまたは複数のメモリデバイス210を含み得る。メモリデバイス210は、プロセッサ208によって読み取りおよび/または実行され得るフォーマットで情報を記憶する任意のタイプの記憶デバイスを含み得る。メモリデバイス210は、プロセッサ208によって実行されると、特定の動作を実行するアプリケーションおよびモジュールを記憶することができる。いくつかの例では、アプリケーションおよびモジュールは、外部記憶デバイスに記憶され、メモリデバイス210にロードされてもよい。メモリ210は、例えば、デバイス100のための画像コンテンツおよび/または音声コンテンツを記憶および取得するために、バッファ212を含むかまたはバッファ212にアクセスすることができる。
【0065】
センサシステム214は、慣性運動ユニット(IMU)センサ218を含むこともできる。IMUセンサ218は、コンピューティングデバイス100の動き、移動、および/または加速度を検出し得る。IMUセンサ218は、例えば、加速度計、ジャイロスコープ、磁力計、および他のそのようなセンサなどの様々な異なるタイプのセンサを含み得る。
【0066】
いくつかの実施態様では、センサシステム214は、コンピューティングデバイス100によって受信された音声を検出するように構成された音声センサ220も含み得る。センサシステム214は、光センサ、距離センサおよび/または近接センサ、静電容量センサなどの接触センサ、タイマ、および/または他のセンサおよび/またはセンサの異なる組み合わせなどの他のタイプのセンサを含み得る。センサシステム214は、コンピューティングデバイス100の位置および/または向きに関連する情報を取得するために使用され得る。
【0067】
また、コンピューティングデバイス100は、無線信号を介して他のコンピューティングデバイスと通信するように構成された1つまたは複数のアンテナ242を含み得る。例えば、コンピューティングデバイス100は、1つまたは複数の無線信号を受信し、無線信号を使用して、コンパニオンデバイス202および/またはサーバコンピューティングデバイス204などの他のデバイス、またはアンテナ242の範囲内にある他のデバイスと通信することができる。無線信号は、近距離接続(例えば、Bluetooth接続または近距離無線通信(NFC)接続)またはインターネット接続(例えば、Wi-Fiまたはモバイルネットワーク)などの無線接続を介してトリガされてもよい。
【0068】
コンピューティングデバイス100は、ディスプレイ244を含む。ディスプレイ244は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ディスプレイ(OLED)、電気泳動ディスプレイ(EPD)、またはLED光源を採用するマイクロプロジェクションディスプレイを含み得る。いくつかの例では、ディスプレイ244は、ユーザの視野上に投影される。いくつかの例では、ARメガネの場合、ディスプレイ244は、ARメガネを装着したユーザが、ディスプレイ244によって提供される画像だけでなく、投影された画像の背後にあるARメガネの視野内に位置する情報も見ることができるように、透明または半透明のディスプレイを提供することができる。
【0069】
また、コンピューティングデバイス100は、コンピューティングデバイス100の動作を容易にするための様々な制御システムデバイスを含む制御システム246を含む。制御システム246は、コンピューティングデバイス100の構成要素に動作可能に結合されたプロセッサ208および/またはセンサシステム214を利用することができる。
【0070】
コンピューティングデバイス100は、UIレンダラ250も含む。UIレンダラ250は、ディスプレイ244と共に機能して、コンピューティングデバイス100のユーザに対してユーザインターフェースオブジェクトまたは他のコンテンツを描写することができる。例えば、UIレンダラ250は、デバイス100によってキャプチャされた画像を受信して、ディスプレイ244上に追加のユーザインターフェースコンテンツを生成し、レンダリングすることができる。
【0071】
コンピューティングデバイス100はまた、通信モジュール252を含む。通信モジュール252は、コンピューティングデバイス100が、デバイス100の範囲内にある別のコンピューティングデバイスと情報を交換するために通信することを可能にし得る。例えば、コンピューティングデバイス100は、例えば有線接続、例えばWi-FiまたはBluetoothを介した無線接続、または他のタイプの接続を介した通信を容易にするために、他のコンピューティングデバイスに動作可能に結合されてもよい。
【0072】
いくつかの実施態様では、コンピューティングデバイス100は、ネットワーク206を介してサーバコンピューティングデバイス204および/またはコンパニオンデバイス202と通信するように構成される。サーバコンピューティングデバイス204は、例えば標準サーバ、そのようなサーバのグループ、またはラックサーバシステムのような、多数の異なるデバイスの形態をとる1つまたは複数のコンピューティングデバイスを表すことができる。いくつかの実施態様では、サーバコンピューティングデバイス204は、プロセッサおよびメモリなどの構成要素を共有する単一のシステムである。ネットワーク206は、インターネットおよび/またはローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、または他のタイプのデータネットワーク、などの他のタイプのデータネットワークを含むことができる。ネットワーク206はまた、ネットワーク206内でデータを受信および/または送信するように構成された任意の数のコンピューティングデバイス(例えば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)を含み得る。
【0073】
図4Aおよび
図4Bは、本開示全体を通して説明される実施態様による、ARウェアラブルコンピューティングデバイスの一例の様々な図を示す。
図4Aは、本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイスの一例の正面図である。この例では、ウェアラブルコンピューティングデバイスは、一対のARメガネ400A(例えば、
図1のウェアラブルコンピューティングデバイス100)である。一般に、ARメガネ400Aは、システム200の任意の構成要素または全ての構成要素を含み得る。ARメガネ400Aはまた、一対のメガネの形状に設計された光学ヘッドマウントディスプレイデバイスを表すスマートグラスとして示されてもよい。例えば、スマートグラスは、着用者がメガネを通して見るものと並行して情報を追加する(例えば、ディスプレイを投影する)メガネである。
【0074】
ARメガネ400Aは、本明細書で説明されるウェアラブルコンピューティングデバイスとして示されるが、他のタイプのウェアラブルコンピューティングデバイスも可能である。例えば、ウェアラブルコンピューティングデバイスは、光学ヘッドマウントディスプレイ(OHMD)デバイスなどのヘッドマウントディスプレイ(HMD)デバイス、透明ヘッドアップディスプレイ(HUD)デバイス、拡張現実(AR)デバイス、またはセンサ、ディスプレイ、およびコンピューティング機能を有するゴーグルもしくはヘッドセットなどの他のデバイスを含み得る。いくつかの例では、ウェアラブルコンピューティングデバイスは、時計、モバイルデバイス、宝飾品、リングコントローラ、または他のウェアラブルコントローラであってもよい。
【0075】
図4Aに示すように、ARメガネ400Aは、フレーム402を含み、フレーム402内(またはフレーム402のガラス部分内)にディスプレイデバイス404が結合されている。ARメガネ400Aはまた、音声出力デバイス406、照明デバイス408、感知システム410、制御システム412、少なくとも1つのプロセッサ414、およびカメラ416を含む。
【0076】
ディスプレイデバイス404は、バードバス光学系または導波路光学系を使用するものなどのシースルーニアアイディスプレイを含むことができる。例えば、このような光学設計は、ディスプレイ光源からの光を、45度の角度で配置されたビームスプリッタとして機能するテレプロンプターガラスの一部に投影することができる。ビームスプリッタは、ディスプレイ光源からの光を部分的に反射させ、残りの光を透過させる反射値と透過値を可能にすることができる。このような光学設計により、ユーザは、ディスプレイによって生成されたデジタル画像(例えば、UI要素、仮想コンテンツなど)の隣にある世界の物理的アイテムの両方を見ることができる。いくつかの実施態様では、ARメガネ400Aのディスプレイデバイス404にコンテンツを描写するために導波路光学系が使用され得る。
【0077】
音声出力デバイス406(例えば、1つまたは複数のスピーカ)は、フレーム402に結合されてもよい。感知システム410は、ARメガネ400Aの操作を容易にするために、様々な感知デバイスおよび様々な制御システムデバイスを含む制御システム412を含むことができる。制御システム412は、制御システム412の構成要素に動作可能に結合されたプロセッサ414を含むことができる。
【0078】
カメラ416は、静止画像および/または動画像をキャプチャすることができる。いくつかの実施態様では、カメラ416は、カメラ416からの外部物体の距離に関連するデータを収集することができる深度カメラであってもよい。いくつかの実施態様では、カメラ416は、例えば、入力デバイス上の光学マーカまたはスクリーン上の指など、外部デバイス上の1つまたは複数の光学マーカを検出して追跡することができる点追跡カメラであってもよい。いくつかの実施態様では、ARメガネ400Aは、カメラ416の視野内の物体(例えば、仮想および物理)を検出するために、例えば、カメラ416と共に選択的に動作し得る照明デバイス408を含み得る。照明デバイス408は、例えば、カメラ416の視野内の物体の検出のために、カメラ416と共に選択的に動作してもよい。
【0079】
ARメガネ400Aは、プロセッサ414および制御システム412と通信する通信モジュール(例えば、通信モジュール252)を含むことができる。通信モジュールは、ARメガネ400A内に収容されたデバイス間の通信だけでなく、例えばコントローラ、モバイルデバイス、サーバ、および/または他のコンピューティングデバイスなどの外部デバイスとの通信を提供することができる。通信モジュールは、ARメガネ400Aが別のコンピューティングデバイスと情報を交換するために通信し、ARメガネ400Aまたは環境内の他の識別可能な要素の範囲内にある他のデバイスを認証することを可能にすることができる。例えば、ARメガネ400Aは、例えば有線接続、例えばWi-FiまたはBluetoothを介した無線接続、または他のタイプの接続を介した通信を容易にするために、他のコンピューティングデバイスに動作可能に結合されてもよい。
【0080】
図4Bは、本開示全体を通して説明される実施態様による、ARメガネ400Aの背面
図400Bである。ARメガネ400Bは、
図1のウェアラブルコンピューティングデバイス100の一例であってもよい。ARメガネ400Bは、着用者がメガネを通して見るものと並行して情報を追加する(例えば、ディスプレイ420に投影する)メガネである。いくつかの実施態様では、情報を投影する代わりに、ディスプレイ420はレンズ内マイクロディスプレイである。いくつかの実施態様では、ARメガネ400B(例えば、メガネまたは眼鏡)は、人の目の前にレンズを保持するフレーム402に取り付けられたレンズ422(例えば、ガラスまたは硬質プラスチックレンズ)を含む視覚補助具であり、典型的には、鼻の上のブリッジ424、および耳の上に載るつる426(例えば、テンプルまたはテンプル片)を利用する。
【0081】
図5は、本明細書で説明する実施態様に関連する方法を示すフローチャートである。本方法は、少なくとも
図1および
図2に示すキャプチャパラメータ選択処理段階100-1内で実行することができる。
【0082】
本方法は、画像センサを使用して、第1の解像度で第1の生画像をキャプチャすることを含むことができる(ブロック510)。第1の画像は、例えば、
図2に示す画像センサ216を使用してキャプチャすることができる。第1の解像度は、
図2に示す解像度キャプチャパラメータ221内に含めることができる。
【0083】
本方法は、画像信号プロセッサを使用して、第1の生画像をデジタル処理された画像に変換することを含むことができる(ブロック520)。画像信号プロセッサは、例えば、
図2に示す画像信号プロセッサ224であり得る。
【0084】
本方法は、処理条件に基づいてデジタル処理された画像の少なくとも一部を解析することを含むことができる(ブロック530)。解析は、例えば、
図2に示すパラメータ選択プロセッサ227で実行することができる。処理条件は、例えば、
図1に示す処理条件101を含み得る。処理条件の具体例は、
図1に示す解像度処理条件222として示される。
【0085】
本方法は、第1の解像度が処理条件を満たさないと判定することを含むことができる(ブロック540)。判定は、例えば、
図2に示すパラメータ選択プロセッサ227で実行することができる。判定は、
図2に示す解像度選択アルゴリズム223に基づくことができる。
【0086】
本方法は、第1の解像度よりも大きい第2の解像度で、画像センサにおける第2の生画像のキャプチャをトリガすることを含むことができる(ブロック550)。第2の画像は、例えば、
図2に示す画像センサ216を使用してキャプチャすることができる。第2の解像度は、
図2に示す解像度キャプチャパラメータ221内に含めることができる。
【0087】
図6は、本明細書で説明される技術と共に使用され得る(例えば、クライアントコンピューティングデバイス100、サーバコンピューティングデバイス204、および/またはモバイルデバイス202を実装する)コンピュータデバイス1000およびモバイルコンピュータデバイス1050の例を示す。コンピューティングデバイス1000は、プロセッサ1002、メモリ1004、記憶デバイス1006、メモリ1004および高速拡張ポート1010に接続する高速インターフェース1008、および低速バス1014および記憶デバイス1006に接続する低速インターフェース1012を含む。各構成要素1002、1004、1006、1008、1010、および1012は、様々なバスを使用して相互接続されており、共通のマザーボード上に、または適切な他の方法で搭載することができる。プロセッサ1002は、高速インターフェース1008に結合されたディスプレイ1016などの外部入出力デバイス上にGUIのためのグラフィカル情報を表示するために、メモリ1004または記憶デバイス1006に格納された命令を含む、コンピューティングデバイス1000内で実行するための命令を処理することができる。他の実施態様では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリの種類とともに、適宜、使用されてもよい。また、複数のコンピューティングデバイス1000が接続され、各デバイスが必要な動作の一部を提供してもよい(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0088】
メモリ1004は、コンピューティングデバイス1000内の情報を記憶する。ある実施態様では、メモリ1004は、揮発性メモリユニットまたは複数の揮発性メモリユニットである。別の実施態様では、メモリ1004は、不揮発性メモリユニットまたは複数の不揮発性メモリユニットである。メモリ1004はまた、磁気ディスクまたは光ディスクなどの、別の形態のコンピュータ可読媒体であってもよい。
【0089】
記憶デバイス1006は、コンピューティングデバイス1000に大容量記憶装置を提供することができる。一実施態様では、記憶デバイス1006は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似のソリッドステートメモリデバイス、またはストレージエリアネットワークまたは他の構成のデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であるか、またはそれを含むことができる。コンピュータプログラム製品は、情報キャリアに具体化することができる。また、コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実行する命令を含むことができる。情報キャリアは、メモリ1004、記憶デバイス1006、またはプロセッサ1002上のメモリなどのコンピュータまたは機械可読媒体である。
【0090】
高速コントローラ1008は、コンピューティングデバイス1000の帯域幅集約的な操作を管理し、低速コントローラ1012は、低帯域幅集約的な操作を管理する。このような機能の割り当ては、一例である。一実施態様では、高速コントローラ1008は、メモリ1004、ディスプレイ1016(例えば、グラフィックプロセッサまたはアクセラレータを介して)、および高速拡張ポート1010に結合され、様々な拡張カード(図示せず)を受け入れることができる。本実施態様では、低速コントローラ1012は、記憶デバイス1006および低速拡張ポート1014に結合される。様々な通信ポート(例えば、USB、Bluetooth、Ethernet、ワイヤレスEthernet)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入出力デバイス、または、例えば、ネットワークアダプタを介して、スイッチまたはルータなどのネットワークデバイスに結合され得る。
【0091】
コンピューティングデバイス1000は、図示のように、多数の異なる形態で実装されてもよい。例えば、コンピューティングデバイス1000は、標準サーバ1020として実装されてもよいし、そのようなサーバ群で複数回実装されてもよい。また、コンピューティングデバイス1000は、ラックサーバシステム1024の一部として実装してもよい。さらに、コンピューティングデバイス1000は、ラップトップコンピュータ1022のようなパーソナルコンピュータに実装されてもよい。あるいは、コンピューティングデバイス1000からの構成要素は、デバイス1050のようなモバイルデバイス(図示せず)において他の構成要素と組み合わされてもよい。このようなデバイスの各々は、コンピューティングデバイス1000、1050の1つまたは複数を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス1000、1050で構成されることができる。
【0092】
コンピューティングデバイス1050は、他の構成要素の中でも、プロセッサ1052、メモリ1064、ディスプレイ1054などの入出力デバイス、通信インターフェース1066、およびトランシーバ1068を含む。デバイス1050はまた、追加の記憶装置を提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスを備えることもできる。各構成要素1050、1052、1064、1054、1066、および1068は、様々なバスを使用して相互接続され、構成要素のいくつかは、共通のマザーボード上に、または適切な他の方法で搭載されてもよい。
【0093】
プロセッサ1052は、メモリ1064に記憶された命令を含む、コンピューティングデバイス1050内の命令を実行することができる。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサは、例えば、ユーザインターフェースの制御、デバイス1050によって実行されるアプリケーション、およびデバイス1050による無線通信のような、デバイス1050の他の構成要素の調整を提供することができる。
【0094】
プロセッサ1052は、ディスプレイ1054に結合された制御インターフェース1058およびディスプレイインターフェース1056を介してユーザと通信することができる。ディスプレイ1054は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)、LED(発光ダイオード)またはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース1056は、ディスプレイ1054を駆動してグラフィカルなその他の情報をユーザに提示するための適切な回路を含むことができる。制御インターフェース1058は、ユーザからコマンドを受信し、プロセッサ1052に送信するために変換することができる。さらに、外部インターフェース1062が、プロセッサ1052と通信して、デバイス1050と他のデバイスとの近距離通信を可能にするように提供されてもよい。外部インターフェース1062は、例えば、ある実施態様では有線通信を提供し、他の実施態様では無線通信を提供し、複数のインターフェースが使用されることもある。
【0095】
メモリ1064は、コンピューティングデバイス1050内の情報を記憶する。メモリ1064は、コンピュータ可読媒体またはメディア、揮発性メモリユニットまたは複数の揮発性メモリユニット、または不揮発性メモリユニットまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装され得る。拡張メモリ1074もまた、例えばSIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る拡張インターフェース1072を介してデバイス1050に提供および接続され得る。このような拡張メモリ1074は、デバイス1050のための余分な記憶空間を提供することができ、またはデバイス1050のためのアプリケーションまたは他の情報を記憶することもできる。具体的には、拡張メモリ1074は、上述した処理を実行または補足する命令を含んでもよく、また、セキュアな情報を含んでもよい。したがって、例えば、拡張メモリ1074は、デバイス1050のセキュリティモジュールとして提供され、デバイス1050の安全な使用を可能にする命令でプログラムされてもよい。さらに、セキュアアプリケーションは、SIMMカード上に識別情報をハッキング不可能な方法で配置するなどの追加情報とともに、SIMMカードを介して提供されてもよい。
【0096】
メモリは、例えば、後述するように、フラッシュメモリおよび/またはNVRAMメモリを含み得る。一実施態様では、コンピュータプログラム製品は、情報キャリアに具体化することができる。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実行する命令を含む。情報キャリアは、例えば、トランシーバ1068または外部インターフェース1062を介して受信され得る、メモリ1064、拡張メモリ1074、またはプロセッサ1052上のメモリなどの、コンピュータまたは機械可読媒体である。
【0097】
デバイス1050は、必要に応じてデジタル信号処理回路を含み得る通信インターフェース1066を介して無線通信することができる。通信インターフェース1066は、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルでの通信を提供することができる。このような通信は、例えば、無線周波数トランシーバ1068を介して行われる。さらに、Bluetooth、Wi-Fi、または他のそのようなトランシーバ(図示せず)を使用するなどして、近距離通信が行われてもよい。さらに、GPS(全地球測位システム)受信機モジュール1070は、追加のナビゲーションおよび位置関連の無線データをデバイス1050に提供する場合があり、デバイス1050上で実行されるアプリケーションによって適宜使用される場合がある。
【0098】
デバイス1050は、音声コーデック1060を使用して音声通信することもでき、音声コーデック1060は、ユーザから音声情報を受信し、それを使用可能なデジタル情報に変換することができる。音声コーデック1060は、同様に、例えば、デバイス1050のハンドセット内のスピーカを介するなどして、ユーザに対して可聴音を生成してもよい。そのような音は、音声通話からの音を含み、録音された音(例えば、音声メッセージ、音楽ファイルなど)を含み、また、デバイス1050上で動作するアプリケーションによって生成された音を含むことができる。
【0099】
コンピューティングデバイス1050は、図示のように、多数の異なる形態で実装されてもよい。コンピューティングデバイス1050は、例えば、携帯電話1080として実装されてもよい。また、コンピューティングデバイス1050は、スマートフォン1082、パーソナルデジタルアシスタント、または他の同様のモバイルデバイスの一部として実装されてもよい。
【0100】
本明細書で説明するシステムおよび技術の様々な実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらの様々な実施態様は、特殊目的であっても汎用目的であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送信するように結合された少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実装を含むことができる。
【0101】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高レベルの手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装され得る。本明細書で使用される場合、「機械可読媒体」「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含め、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用されるあらゆる信号を指す。
【0102】
ユーザとの対話を提供するために、本明細書で説明するシステムおよび技術は、ユーザに情報を表示するための表示デバイス(LED(発光ダイオード)、またはOLED(有機LED)、またはLCD(液晶ディスプレイ)モニタ/スクリーン)、およびユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上で実装することができる。ユーザとの対話を提供するために、他の種類のデバイスを使用することもできる。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック)とすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形式で受信することができる。
【0103】
本明細書で説明するシステムおよび技術は、バックエンド構成要素(例えば、データサーバとして)を含むコンピューティングシステム、またはミドルウェア構成要素(例えば、アプリケーションサーバ)を含むコンピューティングシステム、またはフロントエンド構成要素(例えば、グラフィカルユーザインターフェースまたはユーザが本明細書で説明するシステムおよび技術の実装と対話することができるウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、またはそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組み合わせで実装することができる。システムの構成要素は、デジタルデータ通信(例えば、通信ネットワーク)の任意の形式または媒体によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが含まれる。
【0104】
コンピューティングシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、一般的に互いに離れており、通常、通信ネットワークを介して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されるコンピュータプログラムによって生じ、互いにクライアントとサーバの関係を有する。
【0105】
いくつかの実施態様では、図に描かれているコンピューティングデバイスは、ARヘッドセット/HMDデバイス1090とインターフェースして、挿入されたコンテンツを物理空間内で見るための拡張環境を生成するセンサを含むことができる。例えば、コンピューティングデバイス1050または図に描かれている他のコンピューティングデバイスに含まれる1つまたは複数のセンサは、ARヘッドセット1090に入力を提供することができ、または一般に、AR空間に入力を提供することができる。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体センサ、温度センサ、湿度センサ、および周囲光センサを含むことができるが、これらに限定されない。コンピューティングデバイス1050は、センサを使用して、AR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を決定することができ、これは、次いで、AR空間への入力として使用され得る。例えば、コンピューティングデバイス1050は、コントローラ、レーザポインタ、キーボード、武器などの仮想物体としてAR空間に組み込むことができる。AR空間に組み込まれたとき、ユーザによるコンピューティングデバイス/仮想物体の位置決めにより、ユーザは、AR空間において特定の態様で仮想物体を見るようにコンピューティングデバイスを位置決めすることができる。
【0106】
いくつかの実施態様では、コンピューティングデバイス1050に含まれる、またはコンピューティングデバイス1050に接続される、1つまたは複数の入力デバイスは、AR空間への入力として使用され得る。入力デバイスは、タッチスクリーン、キーボード、1つまたは複数のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイク、入力機能を有するイヤホンまたはバッド、ゲーミングコントローラ、または他の接続可能な入力デバイスを含むことができるが、これらに限定されない。コンピューティングデバイスがAR空間に組み込まれたときに、コンピューティングデバイス1050に含まれる入力デバイスと対話するユーザは、AR空間において特定のアクションを発生させることができる。
【0107】
いくつかの実施態様では、コンピューティングデバイス1050のタッチスクリーンは、AR空間においてタッチパッドとしてレンダリングされ得る。ユーザは、コンピューティングデバイス1050のタッチスクリーンと対話することができる。対話は、例えばARヘッドセット1090において、AR空間内のレンダリングされたタッチパッド上の動きとしてレンダリングされる。レンダリングされた動きは、AR空間内の仮想物体を制御することができる。
【0108】
いくつかの実施態様では、コンピューティングデバイス1050に含まれる1つまたは複数の出力デバイスは、AR空間においてARヘッドセット1090のユーザに出力および/またはフィードバックを提供することができる。出力およびフィードバックは、視覚的、触覚的、または音声であり得る。出力および/またはフィードバックは、振動、1つまたは複数のライトまたはストロボのオン/オフまたは点滅および/またはフラッシング、アラームの鳴動、チャイムの再生、曲の再生、および音声ファイルの再生を含むことができるが、これらに限定されない。出力デバイスには、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、およびスピーカが含まれるが、これらに限定されない。
【0109】
いくつかの実施態様では、コンピューティングデバイス1050は、コンピュータ生成された3D環境の別の物体として現れることがある。ユーザによるコンピューティングデバイス1050との対話(例えば、回転、振る、タッチスクリーンに触れる、タッチスクリーンを横切って指をスワイプする)は、AR空間内の物体との対話として解釈され得る。AR空間におけるレーザポインタの例では、コンピューティングデバイス1050は、コンピュータ生成された3D環境における仮想レーザポインタとして現れる。ユーザがコンピューティングデバイス1050を操作すると、AR空間内のユーザは、レーザポインタの動きを見る。ユーザは、AR環境におけるコンピューティングデバイス1050との対話からのフィードバックを、コンピューティングデバイス1050上またはARヘッドセット1090上で受け取る。ユーザのコンピューティングデバイスとの対話は、制御可能なデバイスのAR環境において生成されたユーザインターフェースとの対話に変換されてもよい。
【0110】
いくつかの実施態様では、コンピューティングデバイス1050は、タッチスクリーンを含み得る。例えば、ユーザは、制御可能なデバイスのためのユーザインターフェースと対話するために、タッチスクリーンと対話することができる。例えば、タッチスクリーンは、制御可能なデバイスのプロパティを制御できるスライダなどのユーザインターフェース要素を含むことができる。
【0111】
コンピューティングデバイス1000は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含むが、これらに限定されない、様々な形態のデジタルコンピュータおよびデバイスを表すことを意図している。コンピューティングデバイス1050は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことを意図している。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示であることのみを意図しており、本明細書で説明および/または特許請求される主題の実施を制限することを意図していない。
【0112】
多数の実施形態が説明されてきた。それにもかかわらず、本明細書の精神および範囲から逸脱することなく、様々な変更がなされ得ることが理解されるであろう。
【0113】
さらに、図に描かれた論理フローは、望ましい結果を達成するために、示された特定の順序、または連続した順序を必要としない。さらに、記載されたフローから他のステップを設けてもよく、またはステップを削除してもよく、記載されたシステムに他の構成要素を追加してもよく、またはシステムから他の構成要素を削除してもよい。したがって、他の実施形態は、以下の特許請求の範囲の範囲内にある。
【0114】
上記の説明に加えて、本明細書に記載されるシステム、プログラム、または機能が、ユーザ情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクション、またはアクティビティ、職業、ユーザの嗜好、またはユーザの現在位置に関する情報)の収集を可能にする場合、およびユーザがサーバからコンテンツまたは通信を送信される場合の両方について、ユーザが選択を行うことを可能にする制御がユーザに提供され得る。さらに、特定のデータは、保存または使用される前に、個人を特定できる情報が削除されるように、1つまたは複数の方法で処理され得る。例えば、ユーザの身元は、個人を特定できる情報がユーザについて決定されないように処理される場合があり、また、ユーザの地理的位置は、ユーザの特定の位置が決定されないように、位置情報が取得される場所(都市、郵便番号、州レベルなど)で一般化され得る。したがって、ユーザは、ユーザについてどのような情報が収集され、その情報がどのように使用され、どのような情報がユーザに提供されるかを制御することができる。
【0115】
本明細書では、説明した実施態様の特定の特徴を説明したが、当業者には多くの修正、置換、変更、および等価物が生じるであろう。したがって、添付の特許請求の範囲は、実施態様の範囲内に入るような全てのそのような修正および変更をカバーすることが意図されていることを理解されたい。これらは、限定ではなく、例示の方法によってのみ提示されており、形態および詳細における様々な変更がなされ得ることが理解されるべきである。本明細書に記載の装置および/または方法の任意の部分は、相互に排他的な組み合わせを除き、任意の組み合わせで組み合わせることができる。本明細書に記載される実施態様は、記載される異なる実施態様の機能、構成要素および/または特徴の様々な組み合わせおよび/またはサブ組み合わせを含むことができる。