IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-534769実時間捕獲された関心領域を使用した低電力機械学習
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-26
(54)【発明の名称】実時間捕獲された関心領域を使用した低電力機械学習
(51)【国際特許分類】
   G06V 10/25 20220101AFI20240918BHJP
   H04N 23/60 20230101ALI20240918BHJP
   H04N 23/63 20230101ALI20240918BHJP
   H04N 23/65 20230101ALI20240918BHJP
   G06F 3/04845 20220101ALI20240918BHJP
【FI】
G06V10/25
H04N23/60 300
H04N23/63
H04N23/65 100
G06F3/04845
H04N23/60 500
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024508516
(86)(22)【出願日】2022-08-12
(85)【翻訳文提出日】2024-04-05
(86)【国際出願番号】 US2022074912
(87)【国際公開番号】W WO2023019247
(87)【国際公開日】2023-02-16
(31)【優先権主張番号】63/260,206
(32)【優先日】2021-08-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/260,207
(32)【優先日】2021-08-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/819,154
(32)【優先日】2022-08-11
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/819,170
(32)【優先日】2022-08-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ガングリー,シャミック
(72)【発明者】
【氏名】クーパー,エミリー・バーバラ
(72)【発明者】
【氏名】ボンドラン,ゲイリー・リー,ジュニア
【テーマコード(参考)】
5C122
5E555
【Fターム(参考)】
5C122EA42
5C122EA52
5C122FC07
5C122FH09
5C122FH10
5C122FH11
5C122FH14
5C122FJ03
5C122FK09
5C122GC07
5C122GC14
5C122GC52
5C122GD01
5C122GD12
5C122GE11
5C122GG08
5C122HA13
5C122HA35
5C122HA85
5C122HB01
5C122HB05
5E555AA66
5E555BA04
5E555BA08
5E555BB04
5E555BB08
5E555BC09
5E555BE17
5E555CA42
5E555CB45
5E555CB47
5E555CC06
5E555CC19
5E555DA09
5E555DB25
5E555DC09
5E555DD01
5E555DD08
5E555EA04
5E555EA19
5E555EA22
5E555EA23
5E555EA24
5E555FA00
(57)【要約】
画像内容を生成するためのシステムおよび方法が説明される。システムおよび方法は、コンピューティングデバイスのセンサに、そのセンサによって捕獲された光データと関連付けられた画像内容を識別させる要求を受け取ることに応答して、第1の画像解像度を有する第1のセンサデータストリームを検出することと、第2の画像解像度を有する第2のセンサデータストリームを検出することとを含むことができる。システムおよび方法は、コンピューティングデバイスの処理回路機構によって、第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することと、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を決定することと、少なくとも1つの関心領域を表すクロップされた画像を生成することとを同じく含むことができる。
【特許請求の範囲】
【請求項1】
画像処理方法であって、
コンピューティングデバイスのセンサに、前記センサによって捕獲された光データと関連付けられた画像内容を識別させる要求を受け取ることに応答して、
第1の画像解像度を有する、前記光データに基づく第1のセンサデータストリームを検出すること、および
第2の画像解像度を有する、前記光データに基づく第2のセンサデータストリームを検出することと、
前記コンピューティングデバイスの処理回路機構によって、前記第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することと、
前記処理回路機構によって、前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を決定することと、
前記処理回路機構によって、前記少なくとも1つの関心領域を表すクロップされた画像を生成することと
を含み、前記生成することは、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域の前記第1の複数のピクセルを画定する前記クロッピング座標を使用して、前記第2のセンサデータストリーム中の第2の複数のピクセルを識別することと、
前記第2のセンサデータストリームを前記第2の複数のピクセルにクロッピングすることと
を含む画像処理方法。
【請求項2】
前記クロップされた画像の機械可読バージョンを生成するために、前記処理回路機構によって、前記クロップされた画像に光学文字解像を実施することと、
複数の探索結果を生成するために、前記処理回路機構によって、前記クロップされた画像の前記機械可読バージョンを使用して探索照会を実施することと、
前記コンピューティングデバイスのディスプレイ上に探索結果を表示させることと
をさらに含む、請求項1に記載の画像処理方法。
【請求項3】
前記第2のセンサデータストリームは前記コンピューティングデバイス上のメモリに記憶され、
前記画像処理方法は、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域を識別することに応答して、メモリに記憶されている前記第2のセンサデータ中の対応する少なくとも1つの関心領域を検索することと、
前記第2のセンサデータストリームの検出およびアクセスを継続している間、前記第1のセンサデータストリームへのアクセスを制限することと
をさらに含む、請求項1または請求項2に記載の画像処理方法。
【請求項4】
前記少なくとも1つの関心領域を表す前記クロップされた画像を生成することに応答して、生成された前記クロップされた画像を前記コンピューティングデバイスと通信しているモバイルデバイスに伝送させることと、
前記モバイルデバイスから、前記少なくとも1つの関心領域に関する情報を受け取ることと、
前記コンピューティングデバイスのディスプレイ上に前記情報を表示させることと
をさらに含む、先行する請求項のいずれかに記載の画像処理方法。
【請求項5】
前記コンピューティングデバイスは電池電力供給コンピューティングデバイスであり、
前記第1の画像解像度は低画像解像度を有し、前記第2の画像解像度は高画像解像度を有し、
前記少なくとも1つの関心領域を識別することは、前記コンピューティングデバイス上で実行し、かつ、前記第1のセンサデータを入力として使用する機械学習アルゴリズムによって、前記第1のセンサデータの中で表されている文章または少なくとも1つのオブジェクトを識別することをさらに含む、
先行する請求項のいずれかに記載の画像処理方法。
【請求項6】
前記処理回路機構は、少なくとも、
前記第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサを含み、
前記第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサを含み、前記第1のセンサデータストリームの前記第1の画像解像度は前記第2のデータセンサストリームの前記第2の画像解像度より低い、
先行する請求項のいずれかに記載の画像処理方法。
【請求項7】
前記少なくとも1つの関心領域を表す前記クロップされた画像を前記生成することは、前記少なくとも1つの関心領域が閾値条件に合致することの検出に応答して実施され、前記閾値条件は、前記第2のセンサデータストリーム中の前記第2の複数のピクセルのブレが小さいことの検出を含む、先行する請求項のいずれかに記載の画像処理方法。
【請求項8】
ウェアラブルコンピューティングデバイスであって、
少なくとも1つの処理デバイスと、
光データを捕獲するように構成された少なくとも1つの画像センサと、
実行されると前記ウェアラブルコンピューティングデバイスが動作を実施することになる命令を記憶するメモリと
を備え、前記動作は、
前記少なくとも1つの画像センサに前記光データと関連付けられた画像内容を識別させる要求を受け取ることに応答して、
第1の画像解像度を有する、前記光データに基づく第1のセンサデータストリームを検出すること、および
第2の画像解像度を有する、前記光データに基づく第2のセンサデータストリームを検出することと、
前記第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することと、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を決定することと、
前記少なくとも1つの関心領域を表すクロップされた画像を生成することと、を含み、前記生成することは、前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域の前記第1の複数のピクセルを画定する前記クロッピング座標を使用して、前記第2のセンサデータストリーム中の第2の複数のピクセルを識別することと、前記第2のセンサデータストリームを前記第2の複数のピクセルにクロッピングすることとを含む、
ウェアラブルコンピューティングデバイス。
【請求項9】
前記少なくとも1つの画像センサは、トリガされて高画像解像度モードでの動作に切り換わるまで低画像解像度モードで動作するように構成された二重ストリーム画像センサである、請求項8に記載のウェアラブルコンピューティングデバイス。
【請求項10】
前記動作は、
前記クロップされた画像の機械可読バージョンを生成するために、前記クロップされた画像に光学文字解像を実施することと、
複数の探索結果を生成するために、前記クロップされた画像の前記機械可読バージョンを使用して探索照会を実施することと、
実施された前記光学文字解像を前記ウェアラブルコンピューティングデバイスのスピーカから音声出力させることと
をさらに含む、請求項8または請求項9に記載のウェアラブルコンピューティングデバイス。
【請求項11】
前記第2のセンサデータストリームは前記ウェアラブルコンピューティングデバイス上のメモリに記憶され、前記動作は、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域を識別することに応答して、メモリに記憶されている前記第2のセンサデータ中の対応する少なくとも1つの関心領域を検索することと、
前記第2のセンサデータストリームの検出およびアクセスを継続している間、前記第1のセンサデータストリームへのアクセスを制限することと
をさらに含む、先行する請求項のいずれかに記載のウェアラブルコンピューティングデバイス。
【請求項12】
前記動作は、
前記少なくとも1つの関心領域を表す前記クロップされた画像を生成することに応答して、生成された前記クロップされた画像を前記ウェアラブルコンピューティングデバイスと通信しているモバイルデバイスに伝送させることと、
前記モバイルデバイスから、前記少なくとも1つの関心領域に関する情報を受け取ることと、
前記ウェアラブルコンピューティングデバイスで前記情報を出力させることと
をさらに含む、先行する請求項のいずれかに記載のウェアラブルコンピューティングデバイス。
【請求項13】
前記第1の画像解像度は低画像解像度を有し、前記第2の画像解像度は高画像解像度を有し、
前記少なくとも1つの関心領域を識別することは、前記ウェアラブルコンピューティングデバイス上で実行し、かつ、前記第1のセンサデータを入力として使用する機械学習アルゴリズムによって、前記第1のセンサデータの中で表されている文章または少なくとも1つのオブジェクトを識別することをさらに含む、
先行する請求項のいずれかに記載のウェアラブルコンピューティングデバイス。
【請求項14】
前記少なくとも1つの処理デバイスは、
前記第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサと、
前記第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサとを含み、前記第1のセンサデータストリームの前記第1の画像解像度は前記第2のデータセンサストリームの前記第2の画像解像度より低い、
先行する請求項のいずれかに記載のウェアラブルコンピューティングデバイス。
【請求項15】
命令がその上に記憶された非一時的コンピュータ可読媒体であって、前記命令は、処理回路機構によって実行されると、ウェアラブルコンピューティングデバイスに、
第1の画像解像度を有する、前記ウェアラブルコンピューティングデバイスのセンサによって獲得された光データに基づく第1のセンサデータストリームを検出することと、
第2の画像解像度を有する、前記光データに基づく第2のセンサデータストリームを検出することと、
前記第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することと、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を決定することと、
前記少なくとも1つの関心領域を表すクロップされた画像を生成することとを行わせ、
前記生成することは、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域の前記第1の複数のピクセルを画定する前記クロッピング座標を使用して、前記第2のセンサデータストリーム中の第2の複数のピクセルを識別することと、
前記第2のセンサデータストリームを前記第2の複数のピクセルにクロッピングすることと
を含む、非一時的コンピュータ可読媒体。
【請求項16】
前記処理回路機構は、前記ウェアラブルコンピューティングデバイスに、
前記クロップされた画像の機械可読バージョンを生成するために、前記クロップされた画像に光学文字解像を実施することと、
複数の探索結果を生成するために、前記クロップされた画像の前記機械可読バージョンを使用して探索照会を実施することと、
前記ウェアラブルコンピューティングデバイスのディスプレイ上に探索結果を表示することとを行わせる
ようにさらに構成される、請求項15に記載のコンピュータ可読媒体。
【請求項17】
前記第2のセンサデータストリームは前記ウェアラブルコンピューティングデバイス上のメモリに記憶され、前記処理回路機構は、前記ウェアラブルコンピューティングデバイスに、
前記第1のセンサデータストリーム中の前記少なくとも1つの関心領域を識別することに応答して、メモリに記憶されている前記第2のセンサデータ中の対応する少なくとも1つの関心領域を検索することと、
前記第2のセンサデータストリームの検出およびアクセスを継続している間、前記第1のセンサデータストリームへのアクセスを制限することとを行わせる
ようにさらに構成される、請求項15または請求項16に記載のコンピュータ可読媒体。
【請求項18】
前記処理回路機構は、前記ウェアラブルコンピューティングデバイスに、
前記少なくとも1つの関心領域を表す前記クロップされた画像を生成することに応答して、生成された前記クロップされた画像を前記ウェアラブルコンピューティングデバイスと通信しているモバイルデバイスに伝送することと、
前記モバイルデバイスから、前記少なくとも1つの関心領域に関する情報を受け取ることと、
前記ウェアラブルコンピューティングデバイスのディスプレイ上に前記情報を表示することとを行わせる
ようにさらに構成される、先行する請求項のいずれかに記載のコンピュータ可読媒体。
【請求項19】
前記第1の画像解像度は低画像解像度を有し、前記第2の画像解像度は高画像解像度を有し、
前記少なくとも1つの関心領域を識別することは、前記ウェアラブルコンピューティングデバイス上で実行し、かつ、前記第1のセンサデータを入力として使用する機械学習アルゴリズムによって、前記第1のセンサデータの中で表されている文章または少なくとも1つのオブジェクトを識別することをさらに含む、
先行する請求項のいずれかに記載のコンピュータ可読媒体。
【請求項20】
前記処理回路機構は、少なくとも、
前記第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサを含み、
前記第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサを含み、前記第1のセンサデータストリームの前記第1の画像解像度は前記第2のデータセンサストリームの前記第2の画像解像度より低い、
先行する請求項のいずれかに記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年8月11日に出願した、米国特許出願第17/819,170号の継続であり、かつ、その出願の優先権を主張するものであり、また、米国特許出願第17/819,154号の継続で、かつ、その出願の優先権を主張するものであり、これらの出願は、いずれも、2021年8月12日に出願した、米国仮特許出願第63/260,206号の利益、および米国仮特許出願第63/260,207号の利益を同じく主張するものである。これらのすべての出願の開示は、参照によりそれらの全体が本明細書に組み込まれている。
【0002】
また、本出願は、2021年8月12日に出願した米国仮特許出願第63/260,206号、および2021年8月12日に出願した米国仮特許出願第63/260,207号の優先権を主張するものであり、それらの開示は、参照によりそれらの全体が本明細書に組み込まれている。
【0003】
技術分野
本説明は、一般に、画像内容を処理するために使用される方法、デバイスおよびアルゴリズムに関する。
【背景技術】
【0004】
背景
コンピュータビジョン技術により、コンピュータは、画像を解析し、かつ、画像から情報を引き出すことができる。このようなコンピュータビジョン技術は、処理および電力消費に関して、場合によってはコストがかかる。モバイルコンピューティングデバイスに対する性能と電力消費のバランスに対する要求はますます高まっているため、デバイス製造者は、モバイルコンピューティングデバイスの限界に過剰な負担をかけることを回避するために、画像劣化とデバイス性能のバランスを保つようにデバイスを構成することに取り組んでいる。
【発明の概要】
【0005】
概要
1つまたは複数のコンピュータのシステムは、動作中、システムにアクションを実施させることになるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せをシステム上にインストールすることによって特定の動作またはアクションを実施するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、その装置がアクションを実施することになる命令を含むことによって特定の動作またはアクションを実施するように構成することができる。
【0006】
一般的な一態様では、画像処理方法が説明される。方法は、ウェアラブルまたは非ウェアラブルコンピューティングデバイスのセンサに、そのセンサによって捕獲された光データと関連付けられた画像内容を識別させる要求を受け取ることに応答して、第1の画像解像度を有する、光データに基づく第1のセンサデータストリームを検出することと、第2の画像解像度を有する、光データに基づく第2のセンサデータストリームを検出することとを含むことができる。
【0007】
方法は、ウェアラブルまたは非ウェアラブルコンピューティングデバイスの処理回路機構によって、第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することと、処理回路機構によって、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を決定することと、処理回路機構によって、少なくとも1つの関心領域を表すクロップされた画像を生成することとをさらに含むことができる。生成することは、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を使用して、第2のセンサデータストリーム中の第2の複数のピクセルを識別することと、第2のセンサデータストリームを第2の複数のピクセルにクロッピングすることとを含むことができる。
【0008】
実施態様は、以下の特徴のうちのいずれかを単独で、あるいは組み合わせて含むことができる。方法は、クロップされた画像の機械可読バージョンを生成するために、処理回路機構によって、クロップされた画像に光学文字解像を実施することと、複数の探索結果を生成するために、処理回路機構によって、クロップされた画像の機械可読バージョンを使用して探索照会を実施することと、ウェアラブルまたは非ウェアラブルコンピューティングデバイスのディスプレイ上に探索結果を表示させることとを同じく含むことができる。
【0009】
いくつかの実施態様では、第2のセンサデータストリームはウェアラブルまたは非ウェアラブルコンピューティングデバイス上のメモリに記憶され、また、方法は、第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することに応答して、メモリに記憶されている第2のセンサデータ中の対応する少なくとも1つの関心領域を検索することと、第2のセンサデータストリームの検出およびアクセスを継続している間、第1のセンサデータストリームへのアクセスを制限することとをさらに含むことができる。
【0010】
いくつかの実施態様では、方法は、少なくとも1つの関心領域を表すクロップされた画像を生成することに応答して、生成されたクロップ画像をウェアラブルまたは非ウェアラブルコンピューティングデバイスと通信しているモバイルデバイスに伝送させることと、モバイルデバイスから、少なくとも1つの関心領域に関する情報を受け取ることと、ウェアラブルまたは非ウェアラブルコンピューティングデバイスのディスプレイ上にその情報を表示させることとをさらに含むことができる。
【0011】
いくつかの実施態様では、コンピューティングデバイスは電池電力供給コンピューティングデバイスであり、また、第1の画像解像度は低画像解像度を有し、第2の画像解像度は高画像解像度を有する。いくつかの実施態様では、少なくとも1つの関心領域を識別することは、ウェアラブルまたは非ウェアラブルコンピューティングデバイス上で実行し、かつ、第1のセンサデータを入力として使用する機械学習アルゴリズムによって、第1のセンサデータの中で表されている文章または少なくとも1つのオブジェクトを識別することをさらに含む。
【0012】
いくつかの実施態様では、処理回路機構は、少なくとも、第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサと、第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサとを含み、第1のセンサデータストリームの第1の画像解像度は第2のデータセンサストリームの第2の画像解像度より低い。
【0013】
いくつかの実施態様では、少なくとも1つの関心領域を表すクロップされた画像を生成することは、その少なくとも1つの関心領域が閾値条件に合致することの検出に応答して実施され、閾値条件は、第2のセンサデータストリーム中の第2の複数のピクセルのブレが小さいことの検出を含む。
【0014】
第2の一般的な態様では、ウェアラブルコンピューティングデバイスが説明される。ウェアラブルコンピューティングデバイスは、少なくとも1つの処理デバイスと、光データを捕獲するように構成された少なくとも1つの画像センサと、実行されるとウェアラブルコンピューティングデバイスが動作を実施することになる命令を記憶するメモリとを含み、動作は、少なくとも1つの画像センサに光データと関連付けられた画像内容を識別させる要求を受け取ることに応答して、第1の画像解像度を有する、光データに基づく第1のセンサデータストリームを検出することと、第2の画像解像度を有する、光データに基づく第2のセンサデータストリームを検出することとを含む。
【0015】
動作は、第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することと、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を決定することと、少なくとも1つの関心領域を表すクロップされた画像を生成することとをさらに含むことができ、生成することは、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標を使用して、第2のセンサデータストリーム中の第2の複数のピクセルを識別することと、第2のセンサデータストリームを第2の複数のピクセルにクロッピングすることとを含む。
【0016】
実施態様は、以下の特徴のうちのいずれかを単独で、あるいは組み合わせて含むことができる。いくつかの実施態様では、少なくとも1つの画像センサは、トリガされて高画像解像度モードでの動作に切り換わるまで低画像解像度モードで動作するように構成された二重ストリーム画像センサである。いくつかの実施態様では、動作は、クロップされた画像の機械可読バージョンを生成するために、クロップされた画像に光学文字解像を実施することと、複数の探索結果を生成するために、クロップされた画像の機械可読バージョンを使用して探索照会を実施することと、ウェアラブルコンピューティングデバイスのディスプレイ上に探索結果を表示させることとをさらに含む。いくつかの実施態様では、ウェアラブルコンピューティングデバイスは、実施された光学文字解像をウェアラブルコンピューティングデバイスのスピーカから音声出力させることができる。
【0017】
いくつかの実施態様では、第2のセンサデータストリームはウェアラブルコンピューティングデバイス上のメモリに記憶され、また、動作は、第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することに応答して、メモリに記憶されている第2のセンサデータ中の対応する少なくとも1つの関心領域を検索することと、第2のセンサデータストリームの検出およびアクセスを継続している間、第1のセンサデータストリームへのアクセスを制限することとをさらに含む。
【0018】
いくつかの実施態様では、動作は、少なくとも1つの関心領域を表すクロップされた画像を生成することに応答して、生成されたクロップ画像をウェアラブルコンピューティングデバイスと通信しているモバイルデバイスに伝送させることと、モバイルデバイスから、少なくとも1つの関心領域に関する情報を受け取ることと、ウェアラブルコンピューティングデバイスのディスプレイ上にその情報を表示させることとをさらに含む。いくつかの実施態様では、動作は、ウェアラブルコンピューティングデバイスで情報を出力させる(例えば音声、視覚、触覚、等々)ことを含む。
【0019】
いくつかの実施態様では、第1の画像解像度は低画像解像度を有し、第2の画像解像度は高画像解像度を有し、また、動作は、少なくとも1つの関心領域を識別することをさらに含むことができ、少なくとも1つの関心領域を識別することは、ウェアラブルコンピューティングデバイス上で実行し、かつ、第1のセンサデータを入力として使用する機械学習アルゴリズムによって、第1のセンサデータの中で表されている文章または少なくとも1つのオブジェクトを識別することをさらに含む。
【0020】
いくつかの実施態様では、少なくとも1つの処理デバイスは、第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサと、第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサとを含み、第1のセンサデータストリームの第1の画像解像度は第2のデータセンサストリームの第2の画像解像度より低い。
【0021】
説明される技術の実施態様は、ハードウェア、方法またはプロセス、あるいはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含むことができる。1つまたは複数の実施態様についての詳細は、添付の図面および以下の説明の中で示される。他の特徴は、その説明および図面から、また、特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0022】
図1】本開示全体を通して説明される実施態様による、限られたコンピューテーション資源および/または電力資源を使用して画像内容を生成し、かつ、処理するためのウェアラブルコンピューティングデバイスの例を示す図である。
図2】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理を実施するためのシステムを示す図である。
図3A】本開示全体を通して説明される実施態様によるウェアラブルコンピューティングデバイスの例を示す図である。
図3B】本開示全体を通して説明される実施態様によるウェアラブルコンピューティングデバイスの例を示す図である。
図4A】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図4B】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図4C】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図5A】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図5B】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図6A】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図6B】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図6C】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図7A】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図7B】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図7C】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図である。
図8A】本開示全体を通して説明される実施態様による、画像処理タスクを実施するために単一の画像センサを使用して二重解像度画像センサをエミュレートするための例示的流れ図である。
図8B】本開示全体を通して説明される実施態様による、画像処理タスクを実施するために単一の画像センサを使用して二重解像度画像センサをエミュレートするための例示的流れ図である。
図9】本開示全体を通して説明される実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するためのプロセスの一例を線図化したフローチャートである。
図10】本明細書において説明される技術と共に使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【0023】
詳細な説明
様々な図面における同様の参照記号は同様の要素を示している。
【0024】
本開示は、ウェアラブルコンピューティングデバイスによるコンピュータビジョンタスクの効果的な実施を可能にすることができる画像処理を実施するためのシステムおよび方法を説明する。例えば本明細書において説明されるシステムおよび方法は、プロセッサ、センサ、ニューラルネットワークおよび/または画像解析アルゴリズムを利用して、画像中の文章、記号および/もしくはオブジェクトを認識し、ならびに/または画像から情報を引き出すことができる。いくつかの実施態様では、本明細書において説明されるシステムおよび方法は、少ないコンピューテーションモードおよび/または低電力モードで動作しつつ、このようなタスクを実施することができる。例えば本明細書において説明されるシステムおよび方法は、コンピュータビジョンタスクおよび画像解析タスクを実施する際に使用される画像データの量を最少化して、特定のハードウェアおよび/またはデバイス資源(例えばメモリ、プロセッサ、ネットワーク帯域幅、等々)の使用を少なくすることができる。
【0025】
資源の使用を少なくするようにウェアラブルコンピューティングデバイスを構成することにより、タスクを他のデバイス(例えばサーバ、モバイルデバイス、他のコンピュータ、等々)に送ることなく、このようなデバイスによる、比較的低電力のコンピューテーションタスクのデバイスのオンボードでの実施を可能にする利点を提供することができる。例えば画像全体を解析する代わりに、本明細書において説明されるシステムおよび方法は、画像データ中の関心領域(ROI)を識別することができ、また、これらの領域のうちの1つまたは複数をウェアラブルコンピューティングデバイスのオンボードで解析することができる。解析する情報の量を少なくし、その一方で依然として正確な結果を維持することにより、画像全体を解析する資源負担なしに、ウェアラブルコンピューティングデバイス上で複雑な画像処理タスクを実施することを可能にすることができる。
【0026】
いくつかの実施態様では、本明細書において説明されるシステムおよび方法は、このようなデバイスが有効な画像処理タスクを実施することができ、その一方でコンピューテーション負荷および/または電力を低減することを保証するために、デバイス上で実行されるように構成することができる。例えば本明細書において説明されるシステムおよび方法によれば、ウェアラブルデバイスは、特定の技術を利用して電力、メモリおよび/または処理消費を低減しつつ、オブジェクト検出タスク、光学文字認識(OCR)タスク、および/または他の画像処理タスクを実施することを可能とし得る。
【0027】
いくつかの実施態様では、本明細書において説明されるシステムおよび方法は、他の資源および/またはデバイスによる援助なしに、複雑な画像処理コンピューテーションをウェアラブルデバイス上で実行することができることを保証することができる。例えば従来のシステムは、コンピューテーション的にヘビーな画像処理タスクを実施するために、他の通信可能に結合されたモバイルデバイス、サーバおよび/またはオフボードシステムの援助を要求することができる。本明細書において説明されるシステムおよび方法は、例えばサーバよりもコンピューテーション能力が低く、その一方で依然として、完全で、かつ、正確な画像処理能力を提供するデバイスによって処理を行うことができる画像の部分(例えばROI、オブジェクト、クロップされた画像内容、等々)を生成する利点を提供する。
【0028】
本明細書において説明されるシステムおよび方法は、ウェアラブルコンピューティングデバイスが、低電力消費および/または低処理消費を利用して、オブジェクト検出、動き追跡、顔認識、OCRタスク、等々などのコンピュータビジョンタスクを実施する機械学習知能(例えばニューラルネットワーク、アルゴリズム、等々)を使用することを可能にし得る。
【0029】
いくつかの実施態様では、本明細書において説明されるシステムおよび方法は、より少ない処理資源および/または電力資源を利用するために、拡張可能レベルの画像処理を使用することができる。例えば低解像度画像信号プロセッサを使用して、低解像度画像ストリームに低レベル画像処理タスクを実施することができ、一方、高解像度画像信号プロセッサを使用して、高解像度画像ストリームに高レベル画像処理タスクを実施することができる。いくつかの実施態様では、低解像度画像信号プロセッサからの出力を入力として追加センサ、検出器、機械学習ネットワークおよび/またはプロセッサに提供することができる。このような出力は、低解像度画像からの対応するピクセル、関心領域および/または認識された画像内容を表す画像内容を含むより高い解像度の画像中の内容を識別するために使用することができる画像の一部(例えばピクセル、関心領域、認識された画像内容、等々)を表すことができる。
【0030】
いくつかの実施態様では、本明細書において説明されるシステムおよび方法は、ウェアラブルコンピューティングデバイスのオンボードの1つまたは複数のセンサを利用して、検出タスクおよび/または処理タスクを分割することができる。例えばウェアラブルコンピューティングデバイスは、複数の画像から高解像度画像ストリームと低解像度画像ストリームの両方を検索することができる二重ストリームセンサ(例えばカメラ)を含むことができる。例えば低解像度画像ストリームは、場面カメラとして機能するセンサによって捕獲することができる。高解像度画像ストリームは、詳細カメラとして機能する同じセンサによって捕獲することができる。一方または両方のストリームを異なるプロセッサに提供して画像処理タスクを実施することができる。いくつかの実施態様では、個々のストリームを使用して、コンピュータビジョンタスク、機械学習タスクおよび/または他の画像処理タスクの実施に使用するための異なる情報を生成することができる。
【0031】
図1は、本開示全体を通して説明される実施態様による、限られたコンピューテーション資源および/または電力資源を使用して画像内容を生成し、かつ、処理するためのウェアラブルコンピューティングデバイス100の例である。この例では、ウェアラブルコンピューティングデバイス100は、ARスマート眼鏡の形態で示されている。しかしながら任意のフォームファクタの電池電力供給デバイスを代用し、本明細書において説明されているシステムおよび方法と組み合わせることができる。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、1つまたは複数のセンサ、低電力アイランドプロセッサ、高電力アイランドプロセッサ、コアプロセッサ、エンコーダ、等々のうちのいずれか、またはすべてと組み合わせたシステムオンチップ(SOC)アーキテクチャ(図示せず)を含む。
【0032】
動作中、ウェアラブルコンピューティングデバイス100は、カメラ、画像センサ、等々によって場面102を捕獲することができる。ウェアラブルコンピューティングデバイス100はユーザ104が着用することができ、また、ユーザが操作することができる。場面102は、物理的内容ならびに拡張現実(AR)内容を含むことができる。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、モバイルコンピューティングデバイス106などの他のデバイスと通信可能に結合することができる。
【0033】
動作中、モバイルコンピューティングデバイス106は、二重ストリーム画像センサ108(例えば二重解像度画像センサ)を含むことができる。二重ストリーム画像センサ108は低解像度画像ストリーム110を低解像度(例えば軽量)画像信号プロセッサ112に提供することができる。二重ストリーム画像センサ108は、同時に、高解像度画像ストリーム114をバッファ116に提供することができる。高解像度画像信号プロセッサ118は、追加処理を実施するためにバッファ116から高解像度画像ストリーム114を獲得することができる。低解像度画像ストリーム110は、例えばROI検出器120を介して1つまたは複数のROI(例えば文章、オブジェクト、手、段落、等々)を識別するMLモデルに提供することができる。プロセッサ112は、1つまたは複数のROIと関連付けられたROI座標122(例えばクロッピング座標)を決定することができる。
【0034】
高解像度画像信号プロセッサ112はROI座標122を受け取る(または要求する)ことができ、また、ROI座標122を使用して1つまたは複数の高解像度画像を高解像度画像ストリーム114からクロップすることができる。例えばプロセッサ112は、ROIが識別された、関連する低解像度画像フレームと同じ捕獲時間に一致するフレームおよび領域を高解像度画像ストリーム114内で決定するために、低解像度画像ストリーム110と関連付けられたROI座標122を検索することができる。高解像度画像信号プロセッサ118は、次に、画像を同じクロッピングROI座標122にクロップすることができる。クロップされた画像124は、MLエンジン(例えば、それらに限定されないが、OCR、オブジェクト認識、深層段落化、手検出、顔検出、記号検出、等々を含むコンピュータビジョンタスクを実施するための、例えばMLプロセッサ126)に提供することができる。
【0035】
非制限例では、二重ストリーム画像センサ108によって捕獲された光データと関連付けられた画像内容を識別する要求に応答して、ウェアラブルコンピューティングデバイス100をトリガして実時間画像処理を開始することができる。要求は、ウェアラブルコンピューティングデバイス100を着用しているユーザからのものであってもよい。実時間画像処理は、第1のセンサデータストリーム(例えば低解像度画像ストリーム110)および第2のセンサデータストリーム(例えば高解像度画像ストリーム114)を検出することで開始することができる。ウェアラブルコンピューティングデバイス100は、次に、少なくとも1つの関心領域(例えばROI 128およびROI 130)を識別することができる。この例では、ROI 128はアナログクロックを含み、また、ROI 130はプレゼンテーションの文章および画像を含む。デバイス100は第1のストリーム(例えば低解像度画像ストリーム110)を解析して、ROI 128および130のためのクロッピング座標を決定することができる。
【0036】
ウェアラブルコンピューティングデバイス100は、低解像度画像ストリーム110からのROI 128および130に対応する高解像度画像ストリーム114の1つまたは複数の画像フレームをクロップするために、バッファ116から高解像度画像ストリーム114を獲得して、高解像度画像ストリーム114内の同じ対応する(例えばフレーム内の同じ捕獲時間、同じクロッピング座標)ROI 128および130を識別することができる。クロップされた1つまたは複数の画像フレームをオンボードMLプロセッサ126に提供して、クロップされた画像の追加処理を実施することができる。画像解析のために、画像をクロッピングして、より少ない画像内容(例えばより少ない視覚センサデータ、画像の部分、等々)を提供することにより、画像全体の解析が要求される従来のMLプロセッサよりも少ない電力および短い待ち時間を使用してML処理が実施されることになり得る。したがってウェアラブルコンピューティングデバイス100は、OCR、オブジェクト認識、深層段落化、手検出、顔検出、記号検出、等々などのタスクのためのML処理を実時間で実施することができる。
【0037】
例えばウェアラブルコンピューティングデバイス100は、ROI 130を識別し、画像クロッピングを実施し、また、ML処理を使用して、ユーザ104の手がROI 130の画像および文章を指していることを決定することができる。処理は、ROI 130に対する手検出およびOCRを実施することができる。同様に、プレゼンテーション中に音声内容を利用することができる場合、ウェアラブルコンピューティングデバイス100は、ユーザ104がROI 130を指したタイムスタンプに関してROI 128を評価することができる。タイムスタンプ(例えば9:05)を使用して、ROI 130と関連付けられた音声データ(例えば写し)を検索し、かつ、解析することができる。このような音声データは、ウェアラブルコンピューティングデバイス100のディスプレイ上でのプレゼンテーションのために視覚文章に変換することができる。したがってMLプロセッサ126はROIを選択することができるが、出力132によって示されているようにROIを相関させることも同じく可能である。出力132は、ウェアラブルコンピューティングデバイス100のディスプレイ上に提示することができる。
【0038】
複数のプロセッサブロック(例えばプロセッサ112、プロセッサ118、プロセッサ126、等々)が示されているが、単一のプロセッサを利用して、ウェアラブルコンピューティングデバイス100上ですべての処理タスクを実施することも可能である。すなわち個々のプロセッサブロック112、118および126は、ウェアラブルコンピューティングデバイス100のオンボードの単一のプロセッサ上で実行することができる異なるアルゴリズムまたはコード断片を表すことができる。
【0039】
いくつかの実施態様では、オブジェクトおよび/またはROIは、プロセッサ112または118によってクロップされるのではなく、二重ストリーム画像センサ108でクロップすることができる。上で詳細に説明したいくつかの実施態様では、オブジェクトおよび/またはROIは、画像信号プロセッサ112または画像信号プロセッサ118のいずれかでクロップすることができる。いくつかの実施態様では、クロップする代わりに、ROIを準備して、ウェアラブルコンピューティングデバイス100と通信しているモバイルデバイスに送ることが可能である。モバイルデバイスはROIをクロップし、クロップされた画像をウェアラブルコンピューティングデバイス100に提供して戻すことができる。
【0040】
図2は、本開示全体を通して説明されている実施態様による、ウェアラブルコンピューティングデバイス100上で画像処理を実施するためのシステム200を示したものである。いくつかの実施態様では、画像処理はウェアラブルコンピューティングデバイス100上で実施される。いくつかの実施態様では、画像処理は1つまたは複数のデバイスの間で共有される。例えば画像処理は、ウェアラブルコンピューティングデバイス100上で部分的に完了し、また、モバイルコンピューティングデバイス202(例えばモバイルコンピューティングデバイス106など)および/またはサーバコンピューティングデバイス204上で部分的に完了することができる。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100上で画像処理が実施され、このような処理からの出力がモバイルコンピューティングデバイス202および/またはサーバコンピューティングデバイス204に提供される。
【0041】
いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は1つまたは複数のコンピューティングデバイスを含み、これらのデバイスのうちの少なくとも1つは、着用することができ、あるいは人の肌の近傍に置くことができるディスプレイデバイスである。いくつかの例では、ウェアラブルコンピューティングデバイス100は1つもしくは複数のウェアラブルコンピューティングデバイス構成要素であるか、または1つもしくは複数のウェアラブルコンピューティングデバイス構成要素を含む。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、光ヘッド-マウンテドディスプレイ(OHMD)デバイス、透明ヘッド-アップディスプレイ(HUD)デバイス、仮想現実(VR)デバイス、ARデバイスなどのヘッド-マウンテドディスプレイ(HMD)デバイスを含むことができ、あるいはセンサ、ディスプレイおよびコンピューティング能力を有するゴーグルまたはヘッドセットなどの他のデバイスを含むことができる。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100はAR眼鏡(例えばスマート眼鏡)を含む。AR眼鏡は、一対の眼鏡の形で設計された光ヘッド-マウンテドディスプレイデバイスを表している。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100はスマートウォッチであるか、またはスマートウォッチを含む。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は一個の宝石であるか、または一個の宝石を含む。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100はリングコントローラデバイスもしくは他のウェアラブルコントローラであるか、またはリングコントローラデバイスもしくは他のウェアラブルコントローラを含む。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100はイヤホン/ヘッドホンもしくはスマートイヤホン/ヘッドホンであるか、またはイヤホン/ヘッドホンもしくはスマートイヤホン/ヘッドホンを含む。
【0042】
図2に示されているように、システム200は、モバイルコンピューティングデバイス202および任意選択でサーバコンピューティングデバイス204に通信可能に結合されたウェアラブルコンピューティングデバイス100を含む。いくつかの実施態様では、通信可能結合はネットワーク206を介して生じ得る。いくつかの実施態様では、通信可能結合は、ウェアラブルコンピューティングデバイス100、モバイルコンピューティングデバイス202および/またはサーバコンピューティングデバイス204の間で直接生じ得る。
【0043】
ウェアラブルコンピューティングデバイス100は1つまたは複数のプロセッサ208を含み、1つまたは複数のプロセッサ208は、1つまたは複数の機械実行可能命令、またはソフトウェア片、ファームウェア片あるいはそれらの組合せを実行するように構成された基板の中に形成することができる。プロセッサ208は半導体をベースとするプロセッサであってもよく、また、デジタル論理を実施することができる半導体材料を含むことができる。プロセッサ208は、ほんのいくつかの例を挙げると、CPU、GPUおよび/またはDSPを含むことができる。
【0044】
ウェアラブルコンピューティングデバイス100は1つまたは複数のメモリデバイス210を含むことも可能である。メモリデバイス210は、プロセッサ208が読み出し、および/または実行することができるフォーマットで情報を記憶する任意のタイプの記憶デバイスを含むことができる。メモリデバイス210は、プロセッサ208によって実行されると、特定の動作を実施するアプリケーションおよびモジュールを記憶することができる。いくつかの例では、外部記憶デバイスにアプリケーションおよびモジュールを記憶して、メモリデバイス210にロードすることができる。メモリ210は、例えばウェアラブルコンピューティングデバイス100のための画像内容および/または音声内容を記憶し、かつ、検索するためのバッファ212へのアクセスを含むことができ、またはそのようなアクセスを有することができる。
【0045】
ウェアラブルコンピューティングデバイス100はセンサシステム214を含む。センサシステム214は、画像データを検出し、および/または獲得するように構成された1つまたは複数の画像センサ216を含む。いくつかの実施態様では、センサシステム214は複数の画像センサ216を含む。示されているように、センサシステム214は1つまたは複数の画像センサ216を含む。画像センサ216は、画像(例えばピクセル、フレームおよび/または画像の部分)およびビデオを捕獲し、かつ、記録することができる。
【0046】
いくつかの実施態様では、画像センサ216は、赤、緑および青(RGB)カメラである。いくつかの例では、画像センサ216はパルスレーザセンサ(例えばLiDARセンサ)および/または深度カメラを含む。例えば画像センサ216は、画像フレーム226によって表される画像を構築するために使用される情報を検出し、かつ、伝えるように構成されたカメラであってもよい。画像センサ216は画像およびビデオの両方を捕獲し、かつ、記録することができる。
【0047】
動作中、画像センサ216は、ウェアラブルコンピューティングデバイス100が起動されている間、画像データ(例えば光センサデータ)を連続的または周期的に獲得する(例えば捕獲する)ように構成されている。いくつかの実施態様では、画像センサ216は、常時オンセンサとして動作するように構成されている。いくつかの実施態様では、画像化センサ216は、関心オブジェクトまたは関心領域の検出に応答して起動することができる。
【0048】
いくつかの実施態様では、画像センサ216は、二重解像度ストリーミングモードで機能するように構成された単一のセンサである。例えば画像センサ216は、低画像解像度を有する複数の画像を捕獲する(例えば受け取る、獲得する、等々)低解像度ストリーミングモードで動作することができる。センサ216は、高画像解像度を有する同じ複数の画像を捕獲する(例えば受け取る、獲得する、等々)高解像度ストリーミングモードで同時に動作することができる。二重モードは、低画像解像度を有する第1の画像ストリーム、および高画像解像度を有する第2の画像ストリームとして複数の画像を捕獲し、または検索することができる。
【0049】
いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、より少ない処理資源および/または電力資源を利用するために、画像センサ216を使用して、拡張可能レベルの画像処理を使用することができる。例えば本明細書において説明されているシステムおよび方法は、低レベル画像処理、中間レベル画像処理、高レベル画像処理、および/またはこれらのレベルの間の任意の組合せ、および/または2つ以上の異なるタイプの画像信号プロセッサを使用することによるこれらのレベルの任意の組合せを使用することができる。いくつかの実施態様では、本明細書において説明されているシステムおよび方法は、画像処理技術を実施する場合、画像の解像度を変えることも可能である。
【0050】
本明細書において使用されているように、高レベル処理は高解像度画像内容に対する画像処理を含む。例えば内容(例えばオブジェクト)認識を実施するためのコンピュータビジョン技術は高レベル処理と見なすことができる。中間レベル画像処理は、画像メタデータから場面記述を引き出す処理タスクを含み、例えば画像メタデータは、場面の部分の位置および/または形状を示すことができる。低レベル画像処理は、画像から記述を引き出し、その一方で場面オブジェクトおよびオブザーバ詳細を無視することを含む。
【0051】
センサシステム214は慣性運動ユニット(IMU)センサ218を同じく含むことができる。IMUセンサ218は、ウェアラブルコンピューティングデバイス100の運動、動きおよび/または加速度を検出することができる。IMUセンサ218は、例えば加速度計、ジャイロスコープ、磁力計および他のこのようなセンサなどの様々な異なるタイプのセンサを含むことができる。
【0052】
いくつかの実施態様では、センサシステム214は、ウェアラブルコンピューティングデバイス100によって受け取られる音声を検出するように構成された音声センサ220を同じく含むことができる。センサシステム214は、光センサ、距離および/もしくは近接センサ、容量センサなどの接触センサ、タイマーならびに/または他のセンサならびに/または異なる組合せのセンサなどの他のタイプのセンサを含むことができる。センサシステム214を使用して、ウェアラブルコンピューティングデバイス100の位置および/または配向と関連付けられた情報を獲得することができる。
【0053】
ウェアラブルコンピューティングデバイス100は、低解像度画像ストリーム(例えば低解像度画像ストリーム110)からの画像を処理するための低解像度画像信号プロセッサ222を同じく含むことができる。低解像度画像信号プロセッサ222は低電力画像信号プロセッサと呼ぶことも可能である。ウェアラブルコンピューティングデバイス100は、高解像度画像ストリーム(例えば高解像度画像ストリーム114)からの画像を処理するための高解像度画像信号プロセッサ224を同じく含むことができる。高解像度画像信号プロセッサ224は高電力画像信号プロセッサと呼ぶことも可能である(低解像度画像信号プロセッサ222に対して)。画像ストリームは複数の画像フレーム226を含むことができ、個々の画像フレーム226は特定の画像解像度228を有する。動作中、画像センサ216は、低電力低解像度(LPLR)モードおよび/または高電力高解像度(HPLR)モードのいずれか、または両方で動作するために二重機能であってもよい。
【0054】
ウェアラブルコンピューティングデバイス100は、ROI 232および/またはオブジェクト234を検出するように構成された関心領域(ROI)検出器230を含むことができる。さらに、ウェアラブルコンピューティングデバイス100は、画像内容(例えば画像フレーム226)およびROI 232をクロッピング座標238に従ってクロップするように構成されたクロッパ236を含むことができる。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、特定のピクセルブロック、画像内容、等々を圧縮するように構成されたエンコーダ240を含む。エンコーダ240は、圧縮のための画像内容を例えばバッファ212から受け取ることができる。
【0055】
低解像度画像信号プロセッサ222は、低電力コンピューテーションを実施して、センサ216からの画像の生成されたストリームを解析し、画像内の関心オブジェクトおよび/または関心領域を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件256と合致すると、そのオブジェクトおよび/または領域に関連するバウンディングボックスおよび/または他の座標を識別することができる。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトもしくは領域に的が絞られており、依然としてブレが小さく(例えば運動ブレが小さい)、および/または適切な露出を有し、および/またはコンピューティングデバイスのビューの中で検出された特定のオブジェクトを有していることの何らかの決定またはすべての決定に関連していてもよい。
【0056】
ウェアラブルコンピューティングデバイス100は、無線信号を介して他のコンピューティングデバイスと通信するように構成された1つまたは複数のアンテナ242を同じく含むことができる。例えばウェアラブルコンピューティングデバイス100は1つまたは複数の無線信号を受信し、その無線信号を使用して、モバイルコンピューティングデバイス202および/またはサーバコンピューティングデバイス204などの他のデバイス、あるいはアンテナ242のレンジ内の他のデバイスと通信することができる。無線信号は、短距離接続(例えばBluetooth接続または近距離場通信(NFC)接続)またはInternet接続(例えばWi-Fiまたはモバイルネットワーク)などの無線接続を介してトリガすることができる。
【0057】
ウェアラブルコンピューティングデバイス100はディスプレイ244を含む。ディスプレイ244は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ディスプレイ(OLED)、電気泳動ディスプレイ(EPD)、またはLED光源を採用したマイクロ-投影ディスプレイを含むことができる。いくつかの例では、ディスプレイ244はユーザの視野の上に投影される。いくつかの例では、AR眼鏡の事例では、ディスプレイ244は、AR眼鏡を着用しているユーザがディスプレイ244によって提供される画像を見ることができるだけでなく、投影された画像の背後のAR眼鏡の視野の中に配置された情報を同じく見ることができるよう、透明または半透明のディスプレイを提供することができる。
【0058】
ウェアラブルコンピューティングデバイス100は、ウェアラブルコンピューティングデバイス100の動作を容易にするための様々な制御システムデバイスを含む制御システム246を同じく含む。制御システム246は、プロセッサ208、センサシステム214および/またはウェアラブルコンピューティングデバイス100の構成要素に動作可能に結合されたプロセッサ248(例えばCPU、GPU、DSP、等々)を利用することができる。
【0059】
ウェアラブルコンピューティングデバイス100はUIレンダラー250を同じく含む。UIレンダラー250は、ディスプレイ244と共に機能して、ユーザインタフェースオブジェクトまたは他の内容をウェアラブルコンピューティングデバイス100のユーザに描写することができる。例えばUIレンダラー250は、ウェアラブルコンピューティングデバイス100によって捕獲された画像を受け取って、追加ユーザインタフェース内容を生成し、かつ、ディスプレイ244上に描写することができる。
【0060】
ウェアラブルコンピューティングデバイス100は通信モジュール252を同じく含む。通信モジュール252により、ウェアラブルコンピューティングデバイス100は、ウェアラブルコンピューティングデバイス100のレンジ内の別のコンピューティングデバイスと情報を交換するために通信することができる。例えばウェアラブルコンピューティングデバイス100は、例えば有線接続、例えばWi-FiもしくはBluetoothを介した無線接続、または他のタイプの接続を介した通信を容易にするために、別のコンピューティングデバイスに動作可能に結合することができる。
【0061】
いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、ネットワーク206を介してサーバコンピューティングデバイス204および/またはモバイルコンピューティングデバイス202と通信するように構成される。サーバコンピューティングデバイス204は、いくつかの異なるデバイス、例えば標準サーバ、このようなサーバのグループまたはラックサーバシステムの形態を取る1つまたは複数のコンピューティングデバイスを表すことができる。いくつかの実施態様では、サーバコンピューティングデバイス204は、プロセッサおよびメモリなどの構成要素を共有する単一のシステムである。ネットワーク206は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワークまたは他のタイプのデータネットワークなどのInternetおよび/または他のタイプのデータネットワークを含むことができる。ネットワーク206は、ネットワーク206内でデータを受け取り、および/または伝送するように構成される任意の数のコンピューティングデバイス(例えばコンピュータ、サーバ、ルータ、ネットワークスイッチ、等々)を同じく含むことができる。
【0062】
いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、ウェアラブルコンピューティングデバイス100のオンボードで機械学習タスクを実施するニューラルネットワークNN254を同じく含む。ニューラルネットワークを機械学習モデルおよび/またはオペレーションと共に使用して、特定の画像内容を生成し、修正し、予測し、および/または検出することができる。いくつかの実施態様では、センサ216によって獲得されたセンサデータ上で実施される画像処理は機械学習(ML)推論操作と呼ばれる。推論操作は、1つまたは複数の予測を実施する(あるいは1つまたは複数の予測をもたらす)MLモデルを必要とする画像処理動作、ステップまたはサブ-ステップと呼ぶことができる。ウェアラブルコンピューティングデバイス100によって実施される特定のタイプの画像処理は、MLモデルを使用して予測することができる。例えば機械学習は、推論と呼ばれるプロセスである、新しいデータに関する決定を表示するために、既存のデータからデータを学習する統計的アルゴリズムを使用することができる。言い換えると、推論は、既に訓練済みのモデルを獲得し、かつ、その訓練済みモデルを使用して予測するプロセスを意味している。推論のいくつかの例には、画像認識(例えばOCR文章認識、顔認識、顔、身体またはオブジェクト追跡、等々)、および/または認知(例えば常時オン音声知覚、声-入力要求音声知覚、等々)を含むことができる。
【0063】
いくつかの実施態様では、MLモデルは1つまたは複数のNN254を含む。NN254は、一連の隠れた層を介して入力層によって受け取られる入力を変換し、出力層を介して出力を生成する。個々の層は、ノードのセットのサブセットで構築される。隠れた層中のノードは、先行する層中のすべてのノードに完全に接続され、それぞれの出力を隣の層中のすべてのノードに提供する。単一の層中のノードは互いに独立して機能する(すなわち接続を共有しない)。出力中のノードは、変換された入力を要求元プロセスに提供する。いくつかの実施態様では、ウェアラブルコンピューティングデバイス100によって利用されるNN254は、完全には接続されないNNである畳込みニューラルネットワークである。
【0064】
通常、ウェアラブルコンピューティングデバイス100は、NNおよび分類器(図示せず)を使用して訓練データを生成し、かつ、MLタスクを実施することができる。例えばプロセッサ208は、例えばROI 232が画像センサ216によって捕獲された画像フレーム226内に含まれているか否かを検出する分類器を実行するように構成することができる。ROI 232は関心オブジェクトと呼ぶことも可能である。分類器はMLモデルを含むことができ、またはMLモデルによって定義することができる。MLモデルは、予測する(例えばROI 232が画像フレーム226内に含まれているか否か)ためにMLモデルによって使用されるいくつかのパラメータを定義することができる。MLモデルは比較的小さくてもよく、また、画像全体ではなく、ROI上で機能するように構成することができる。したがって分類器は、その比較的小さいMLモデルを通して電力を節約し、かつ、待ち時間を短くするように機能するように構成することができる。
【0065】
いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、MLモデルを実行してROIデータセット(例えばROI 232)をコンピュートするROI分類器を使用することができる。いくつかの例では、ROI 232は、オブジェクト場所データおよび/またはバウンディングボックスデータセットの例を表している。ROI 232は、ROIが画像フレーム226内で位置している場所を定義するデータであってもよい。
【0066】
動作中、ウェアラブルコンピューティングデバイス100は、二重解像度画像センサ(例えば画像センサ216)で画像内容(例えば複数の画像/フレーム)を受け取ることができ、または捕獲することができる。画像内容は、複数の画像/フレームの高解像度画像を高解像度画像信号プロセッサ224に同じく送っている間に低解像度画像信号プロセッサ222に送られる低解像度画像であってもよい。低解像度画像は、次に、ニューラルネットワーク254などのオンボード機械学習モデルに送ることができる。NN254はROI検出器230を利用して、1つまたは複数のROI(例えば文章、オブジェクト、画像、フレーム、ピクセル、等々)を識別することができる。識別されたROIは、各々決定済みクロッピング座標238と関連付けることができる。ウェアラブルコンピューティングデバイス100は、このようなクロッピング座標238を高解像度画像信号プロセッサ224に伝送して、検出されたROIに対応する低解像度画像のクロップ座標に基づいて高解像度画像をクロッピングさせることができる。クロップされた画像は元の高解像度画像よりも小さく、したがってウェアラブルコンピューティングデバイス100は、NN254を使用して、クロップされた画像に機械学習アクティビティ(例えばOCR、オブジェクト検出、等々)を実施することができる。
【0067】
いくつかの実施態様では、ウェアラブルコンピューティングデバイス100は、クロップされた領域上で他のビジョン-ベースアルゴリズムを実施することができる。例えばクロップされた領域上でオブジェクト認識を実施して、認識されたオブジェクトと関連付けられた情報を識別し、かつ、利用することができる。例えば特定の製品、ランドマーク、店先、工場、動物および/または他の様々な一般的なオブジェクトおよび/またはオブジェクト分類器を認識し、かつ、ユーザのための追加情報を決定するための入力として使用することができる。いくつかの実施態様では、クロップされた領域上でバーコード認識および読取りを実施して、表示することができ、可聴的に提供することができ、あるいは他の出力であってもよい追加情報をウェアラブルコンピューティングデバイス100上で識別し、かつ、提供することができる。いくつかの実施態様では、クロップされた領域上で顔検出を実施することにより、認識された顔の上にAR内容および/またはVR内容を配置して、認識された顔の特定の特徴を捕獲し、顔の特定の特徴をカウントし、等々を可能にすることができる。いくつかの実施態様では、クロップされた領域上で特徴追跡(例えば特徴点検出)を実施して、オブジェクト運動および/またはユーザ運動を追跡することができる。
【0068】
図3Aおよび図3Bは、本開示全体を通して説明されている実施態様によるARウェアラブルコンピューティングデバイスの例の様々な図を示したものである。図3Aは、本開示全体を通して説明されている実施態様によるウェアラブルコンピューティングデバイスの例の正面図である。この例では、ウェアラブルコンピューティングデバイスは一対のAR眼鏡300A(例えば図1のウェアラブルコンピューティングデバイス100)である。通常、AR眼鏡300Aは、システム200の任意の構成要素またはすべての構成要素を含むことができる。AR眼鏡300Aは、一対の眼鏡の形状で設計された光ヘッド-マウンテドディスプレイデバイスを表すスマート眼鏡として示すことも可能である。例えばスマート眼鏡は、着用者が眼鏡を通して見ている物のそばに情報を追加する(例えばディスプレイを投影する)眼鏡である。
【0069】
AR眼鏡300Aは、本明細書において説明されているウェアラブルコンピューティングデバイスとして示されているが、他のタイプのウェアラブルコンピューティングデバイスも可能である。例えばウェアラブルコンピューティングデバイスは、それらに限定されないが、光ヘッド-マウンテドディスプレイ(OHMD)デバイスなどのヘッド-マウンテドディスプレイ(HMD)デバイス、透明ヘッド-アップディスプレイ(HUD)デバイス、拡張現実(AR)デバイス、またはセンサ、ディスプレイおよびコンピューティング能力を有するゴーグルもしくはヘッドセットなどの他のデバイスを含む任意の電池電力供給デバイスを含むことができる。いくつかの例では、ウェアラブルコンピューティングデバイス300Aは、時計、モバイルデバイス、一個の宝石、リングコントローラまたは他のウェアラブルコントローラであってもよい。
【0070】
図3Aに示されているように、AR眼鏡300Aはフレーム302を含み、フレーム302の中(またはフレーム302のガラス部分の中)にはディスプレイデバイス304が結合されている。AR眼鏡300Aは、音声出力デバイス306、照明デバイス308、知覚システム310、制御システム312、少なくとも1つのプロセッサ314およびカメラ316を同じく含む。
【0071】
ディスプレイデバイス304は、バードバスまたは導波路光学に使用されるデバイスなどのシースルーニアアイディスプレイを含むことができる。例えばこのような光学設計は、表示源から、45度の角度で着座しているビームスプリッタとして機能するテレプロンプターガラスの一部に光を投影することができる。ビームスプリッタにより、表示源からの光を部分的に反射させ、かつ、残りの光を透過させることができる反射値および透過値を許容することができる。このような光学設計によれば、ユーザは、ディスプレイによって生成されるデジタル画像(例えばUI要素、仮想内容、等々)の隣の世界の中に両方の物理的アイテムを見ることができる。いくつかの実施態様では、導波路光学を使用して、AR眼鏡300Aのディスプレイデバイス304の上に内容を描写することができる。
【0072】
音声出力デバイス306(例えば1つまたは複数のスピーカ)はフレーム302に結合することができる。知覚システム310は、AR眼鏡300Aの動作を容易にするための様々な制御システムデバイスを含む、様々な知覚デバイスおよび制御システム312を含むことができる。制御システム312は、制御システム312の構成要素に動作可能に結合されたプロセッサ314を含むことができる。
【0073】
カメラ316は静止画像および/または動画像を捕獲することができる。いくつかの実施態様では、カメラ316は、カメラ316からの外部オブジェクトの距離に関連するデータを収集することができる深度カメラであってもよい。いくつかの実施態様では、カメラ316は、例えば外部デバイス上の1つまたは複数の光マーカ、例えば入力デバイス上の光マーカなど、あるいはスクリーン上の指を検出し、かつ、追従することができる点追跡カメラであってもよい。いくつかの実施態様では、AR眼鏡300Aは、カメラ316の視野の中のオブジェクト(例えば仮想および物理的)を検出するために、例えばカメラ316と共に選択的に動作させることができる照明デバイス308を含むことができる。照明デバイス308は、カメラ316の視野の中のオブジェクトを検出するために、例えばカメラ316と共に選択的に動作させることができる。
【0074】
AR眼鏡300Aは、プロセッサ314および制御システム312と通信する通信モジュール(例えば通信モジュール252)を含むことができる。通信モジュールは、AR眼鏡300A内に収納されているデバイス同士の間の通信、ならびに例えばコントローラ、モバイルデバイス、サーバおよび/または他のコンピューティングデバイスなどの外部デバイスとの通信を提供することができる。通信モジュールにより、AR眼鏡300Aは、別のコンピューティングデバイスと通信して情報を交換することができ、また、AR眼鏡300Aのレンジ内の他のデバイスまたは環境中の他の識別可能要素を認証することができる。例えばAR眼鏡300Aは、例えば、有線接続、例えばWi-FiもしくはBluetoothを介した無線接続、または他のタイプの接続を介した通信を容易にするために、別のコンピューティングデバイスに動作可能に結合することができる。
【0075】
図3Bは、本開示全体を通して説明されている実施態様によるAR眼鏡300Aの背面図300Bである。AR眼鏡300Bは、図1のウェアラブルコンピューティングデバイス100の例であってもよい。AR眼鏡300Bは、着用者が眼鏡を通して見ている物のそばに情報を追加する(例えばディスプレイ320を投影する)眼鏡である。いくつかの実施態様では、情報を投影する代わりに、ディスプレイ320はイン-レンズマイクロディスプレイである。いくつかの実施態様では、AR眼鏡300B(例えば眼鏡またはスペクタクル)は、典型的には鼻にかけるブリッジ324、および耳にかける蔓326(例えばテンプルまたはテンプルピース)を利用している、人の眼の前でレンズを保持するフレーム302に取り付けられたレンズ322(例えばガラスレンズまたはハードプラスチックレンズ)を含むビジョンエイドである。
【0076】
図4A図4Cは、本開示全体を通して説明されている実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図400A、400Bおよび400Cを示したものである。例えば流れ図400A~400Cは、1つまたは複数の画像センサ216を使用して、ウェアラブルコンピューティングデバイス100によって実施することができる。図400A図400Cの例では、センサ402は二重ストリームモードで機能することができ、センサ402は、入ってくる(すなわち捕獲された)低解像度画像ストリームおよび入ってくる(すなわち捕獲された)高解像度画像ストリームの両方を連続的に、かつ、同時に処理する。
【0077】
図4Aは、ウェアラブルコンピューティングデバイスにインストールされ、画像データのストリームを捕獲または受け取るように構成された画像センサ402の使用を示す流れ図400Aである。センサ402は画像内容の2つのストリームを捕獲し、かつ、出力することができる。例えばセンサ402は、全視野を使用して捕獲される複数の高解像度画像フレーム(例えばカメラ/センサ402の最大解像度)を獲得することができる。複数の高解像度画像フレームはバッファ404に記憶することができる。通常、高電力画像信号プロセッサ406を任意選択で利用して、高解像度画像フレームの解析を実施することができる。
【0078】
さらに、センサ402は、全視野を使用して捕獲される複数の低解像度画像フレームを(同時に)獲得することができる。低解像度画像フレームは低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像410(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。
【0079】
低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、画像410の生成されたストリームを解析し、それにより画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトもしくは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、ボックスの4つの隅の各々のクロッピング座標を表すことができる。いくつかの実施態様では、バウンディングボックスは箱形でなくてもよく、その代わりに三角形、円形、楕円形または他の形状であってもよい。
【0080】
図4Bは、ウェアラブルコンピューティングデバイスにインストールされ、画像データのストリームを捕獲または受け取るように構成された画像センサ402の使用を示す流れ図400Bである。図4Aと同様、センサ402は画像内容の2つのストリーム、すなわち複数の高解像度画像フレームおよび複数の低解像度画像フレームを捕獲し、かつ、出力することができる。複数の高解像度画像フレームはバッファ404に提供することができる。
【0081】
低解像度画像フレームは低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像410(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。
【0082】
低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、画像410の生成されたストリームを解析し、それにより画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトもしくは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、関心領域または関心オブジェクト414を表すクロッピング座標を表すことができる。関心オブジェクトまたは関心領域414が決定され、また、閾値条件が合致していると、高電力画像信号プロセッサ406は、バッファ404から高解像度画像フレーム(例えば関心オブジェクトまたは関心領域が識別された低解像度画像フレームと同じ捕獲時間と一致する生フレーム)を検索する(または受け取る)。
【0083】
例えばクロッピング座標および検索された高解像度画像フレームは、高電力画像信号プロセッサ406に入力として提供することができる(例えば矢印416)。高電力画像信号プロセッサ406は、低解像度画像フレームから決定された関心オブジェクトおよび/または関心領域にクロップされる処理済み(例えばデベイヤーされ、色補正され、陰影補正され、等々された)画像418を出力することができる。このクロップされた最大解像度画像418は、さらなる処理のために追加オンボードデバイスまたはオフボードデバイスに提供することができる。
【0084】
いくつかの実施態様では、複数の画像フレームではなく、高電力画像信号プロセッサを介して単一の高解像度画像を処理し、コンピューテーション電力および/またはデバイス電力を節約することができる。下流側処理は、高解像度画像全体ではなく、クロップされた画像418で動作することができるため、このようなさらなる下流側処理によって、さらなるコンピューテーション電力および/またはデバイス電力が同じく発生し得る。
【0085】
一般に、関心オブジェクトおよび/または関心領域が識別された後、低電力画像信号プロセッサ408は、低解像度画像フレームのストリームの処理を継続しないことがあり得る。いくつかの実施態様では、低電力画像信号プロセッサ408をスタンバイモードに置いて、その前に提供され/識別された画像フレームに対するさらなる品質計量を待機させることができる。いくつかの実施態様では、センサ402は、低解像度画像ストリームへの認知機能の実施(すなわちML処理)のトリガを継続することができ、これは、下流側機能への出力にさらに影響を及ぼすことができる。
【0086】
図4Cは、追加下流側処理の例を示す流れ図400Cである。示されているように、クロップされた画像418は関心領域を表している。クロップされた画像418は、画像418(すなわち画像)をメモリにバッファすることなくエンコーダ(例えば圧縮)ブロックに伝送することができる高解像度画像である。エンコーダの圧縮された出力はバッファ422にバッファされ、かつ、暗号化ブロック424によって暗号化される。暗号化された画像418はバッファ426にバッファし、かつ、例えばWi-Fi(例えばネットワーク206)を介してコンパニオンモバイルコンピューティングデバイス202に送ることができる。モバイルコンピューティングデバイス202は、コンピューテーション電力、メモリ、および例えばウェアラブルコンピューティングデバイス100上でサポートされるよりも複雑な処理をサポートする電池容量を含むように構成することができる。追加下流側処理は、全体画像ではなく、画像内容のクロップされたバージョンを利用するため、下流側処理は、コンピューテーション、メモリおよび電池電力を節約する利点を同じく有する。例えばクロップされた画像418ではなく、より大きい画像に対するWi-Fiを介した追加パケットは、より大量の電力を使用して送られる。
【0087】
図5Aおよび図5Bは、本開示全体を通して説明されている実施態様による、ウェアラブルコンピューティングデバイス上で画像処理タスクを実施するための例示的流れ図500Aおよび500Bを示したものである。例えば流れ図500Aおよび500Bは、1つまたは複数の画像センサ216を使用して、ウェアラブルコンピューティングデバイス100によって実施することができる。図500Aおよび図500Bの例では、センサ402は二重ストリームモードで機能することができ、センサ402は、入ってくる(すなわち捕獲された)低解像度画像ストリームおよび入ってくる(すなわち捕獲された)高解像度画像ストリームの両方を連続的に、かつ、同時に処理する。
【0088】
図5Aは、例えばウェアラブルコンピューティングデバイス100にインストールされ、画像データのストリームを捕獲または受け取るように構成された画像センサ402の使用を示す流れ図500Aである。センサ402は画像内容の2つのストリームを捕獲し、かつ、出力することができる。例えばセンサ402は、全視野を使用して捕獲される複数の高解像度画像フレーム(例えばカメラ/センサ402の最大解像度)を獲得することができる。この例では、複数の高解像度画像フレームは高電力画像信号プロセッサ406によって処理することができる。処理された高解像度画像フレームは、次に、エンコーダ502によって符号化することができ(例えば圧縮することができ)、また、バッファ404に記憶することができる。これは、圧縮に先だって高解像度画像フレームを記憶するバッファメモリおよびメモリ帯域幅を節約する利点を提供する。この例は、その代わりに圧縮し、圧縮されていない元の画像フレームではなく、高解像度画像フレームの圧縮されたバージョンを記憶する。
【0089】
さらに、センサ402は、全視野を使用して捕獲される複数の低解像度画像フレームを(同時に)獲得することができる。低解像度画像フレームは低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像410(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。
【0090】
低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、画像410の生成されたストリームを解析し、それにより画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、例えばボックスの4つの隅の各々のクロッピング座標を表すことができる。
【0091】
図5Bは、例えば1つまたは複数の画像フレーム410から部分画像内容を生成するためのプロセスを示す流れ図500Bである。図5Aと同様、センサ402は、少なくとも1つの高解像度画像フレームおよび少なくとも1つの低解像度画像フレームを含む画像内容の2つのストリームを捕獲し、かつ、出力することができる。この例では、少なくとも1つの高解像度画像フレームは高電力画像信号プロセッサ406によって処理することができる。処理された高解像度画像フレームは、次に、エンコーダ502によって符号化し(例えば圧縮し)、かつ、バッファ404に記憶することができる。
【0092】
さらに、センサ402は少なくとも1つの低解像度画像フレームを(同時に)獲得することができ、この少なくとも1つの低解像度画像フレームは低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、少なくとも1つの低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である少なくとも1つの画像410(例えばYUV-フォーマット化画像)を生成する。
【0093】
低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、少なくとも1つの画像410を解析し、それにより例えば少なくとも1つの画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、例えばボックスの4つの隅の各々のクロッピング座標を表すことができる。
【0094】
ROIまたは関心オブジェクトが決定され、また、閾値条件が合致していると、クロッピング座標(例えばクロッピング座標238)をクロッパ(例えばクロッパ236)に伝送することができ、あるいはクロッパ(例えばクロッパ236)によって獲得され得る。流れ図500Bは、次に、バッファ404から少なくとも1つの高解像度画像を検索することができる。検索された高解像度画像は、次に、低解像度画像に対して決定されたクロッピング座標に従って、関心領域または関心オブジェクトにクロップされる504。高解像度画像は、通常、関心領域または関心オブジェクトが識別された低解像度画像と同じ捕獲時間を有している。クロップの出力は、高解像度画像のクロップされた部分506を含むことができる。追加下流側処理は、ウェアラブルコンピューティングデバイス100のオンボードまたはオフボードで実施することができる。
【0095】
より高いコンピューテーション資源および電力資源を有するデバイス上で生じる従来の画像解析とは異なり、本明細書において説明されているシステムは、高解像度画像の連続処理を回避することができる。さらに、ウェアラブルコンピューティングデバイス100によってスケーリングが実施されないため、本明細書において説明されているシステムは、スケーリングのためのコンピューテーション資源を回避することができる。さらに、低解像度画像ストリームと高解像度画像ストリームの両方を利用する典型的な画像解析システムは、ストリーム毎に個別のバッファ付き記憶装置を使用する。本明細書において説明されているシステムは、高解像度画像のためにバッファを利用して、低解像度画像のためのバッファの使用を回避し、これは、メモリトラフィックおよび/またはメモリを少なくする利点を提供する。
【0096】
図6A図6Cは、本開示全体を通して説明されている実施態様による、ウェアラブルコンピューティングデバイス100上で画像処理タスクを実施するための例示的流れ図600A、600Bおよび600Cを示したものである。図600A図600Cの例では、センサ402は単一ストリームモードで機能することができ、センサ402は、入ってくる(すなわち捕獲された)低解像度画像ストリームまたは入ってくる(すなわち捕獲された)高解像度画像ストリームのいずれかの単一モード解析を処理する。センサ402は、次に、二重ストリームモードで機能して、入ってくる(すなわち捕獲された)低解像度画像ストリームおよび入ってくる(すなわち捕獲された)高解像度画像ストリームの両方を連続的に、かつ、同時に処理するようにトリガすることができる。
【0097】
図6Aは、例えばウェアラブルコンピューティングデバイス100にインストールされた画像センサ402の使用を示す流れ図600Aである。センサ402は、二重モード処理と単一モード処理の間で切り換わるように構成することができる。例えばセンサ402は、最初に、低解像度画像ストリーム(例えば複数の逐次画像フレーム)をストリームし/捕獲するモードで機能することができる。最初の捕獲および/または画像検索ステージにおける高解像度画像解析が回避されるため、このようなモードは、ウェアラブルコンピューティングデバイス100のためのコンピューテーション電力および電池電力を節約することができる。バッファ404および高電力画像信号プロセッサ406を利用して使用することができるが、この例では不能にされている。
【0098】
動作中、低解像度画像フレームを低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像410(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、画像410の生成されたストリームを解析し、それにより画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。
【0099】
関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、例えばボックスの4つの隅の各々のクロッピング座標を表すことができる。関心領域または関心オブジェクトおよびクロッピング座標の識別は、センサ402による二重ストリームモードでの動作の開始を可能にするためのトリガであってもよい。
【0100】
いくつかの実施態様では、二重ストリームモードを開始するためのトリガは、すべてではなく、いくつかの閾値条件が合致すると生じ得る。例えばウェアラブルコンピューティングデバイス100は、カメラ焦点に対する閾値条件およびカメラ露出に対する閾値条件に合致する関心オブジェクトを認識することができる。しかしながらオブジェクトは移動し得る(例えば運動ブレを有し得る)ため、ウェアラブルコンピューティングデバイス100は、最終条件が合致すると、プロセッサ118を使用した高解像度画像の捕獲を準備するために、二重ストリームモードの使用をトリガすることができる。これは、二重ストリームモードをスイッチオンするために数フレームの遅延が存在する場合に有利であり得る。すなわち二重ストリームモードを実行している時間期間は、ほぼすべての閾値条件が合致し、また、検出し、かつ、決定するための最終閾値条件が、今度の画像フレーム中で生じることが予測されると、突入する移行時間期間であってもよい。
【0101】
図6Bは、ウェアラブルコンピューティングデバイス100にインストールされた画像センサ402の使用を示す流れ図600Bであり、センサ402は二重ストリームモードに切り換えられている。二重ストリームモードに切り換えるためのトリガは、1つまたは複数の関心オブジェクトまたは関心領域の検出を含むことができる。二重ストリームモードはセンサ402をトリガして、既にストリームしている低解像度画像フレームに加えて、高解像度画像フレームの捕獲(またはさもなければ獲得)を開始させる。いくつかの実施態様では、高解像度画像ストリームのいくつかの画像フレームを使用して、自動利得測定、露出設定および焦点設定を構成することができる。高解像度画像ストリームのための構成が完了すると、ストリームを同期させることができ、また、低解像度画像フレームは、矢印602で示されているように、図6Aと同じフローを介して継続することができる。しかしながらセンサ402は、プロセッサを使用して高解像度画像フレームのバッファを開始することができる(バッファ404を使用して)。バッファ404は、センサが画像ストリーミングの開始から連続二重ストリームモードで動作する場合に使用されるバッファよりも小さくてもよい。
【0102】
図6Cは、ウェアラブルコンピューティングデバイス100にインストールされ、単一モードストリーミングから二重モードストリーミングに切り換えられた後に画像データのストリームを捕獲または受け取るように構成された画像センサ402の使用を示す流れ図600Cである。動作中、センサ402は、全視野を使用して捕獲される複数の高解像度画像フレーム(例えばカメラ/センサ402の最大解像度)を獲得することができる。複数の高解像度画像フレームはバッファ404に記憶することができる。
【0103】
低解像度画像フレームはセンサ402によって継続して捕獲および/または獲得され、また、低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像410(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、画像410の生成されたストリームを解析し、それにより画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。
【0104】
閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、関心領域または関心オブジェクト414を表すクロッピング座標を表すことができる。関心オブジェクトまたは関心領域414が決定され、また、閾値条件が合致していると、高電力画像信号プロセッサ406は、バッファ404から高解像度画像フレーム(例えば関心オブジェクトまたは関心領域が識別された低解像度画像フレームと同じ捕獲時間と一致する生フレーム)を検索する(または受け取る)。
【0105】
クロッピング座標および検索された高解像度画像フレームは、高電力画像信号プロセッサ406に入力として提供することができる(例えば矢印604)。高電力画像信号プロセッサ406は、低解像度画像フレームから決定された関心オブジェクトおよび/または関心領域にクロップされる処理済み(例えばデベイヤーされ、色補正され、陰影補正され、等々された)画像606を出力することができる。このクロップされた最大解像度画像606は、さらなる処理のために追加オンボードデバイスまたはオフボードデバイスに提供することができる。
【0106】
図7A図7Cは、本開示全体を通して説明されている実施態様による、ウェアラブルコンピューティングデバイス100上で画像処理タスクを実施するための例示的流れ図700A、700Bおよび700Cを示したものである。図700A図700Cの例では、センサ402は第1のモードで機能することができ、次に、第2のモードで機能するようにトリガすることができる。例えばセンサ402は、低解像度ストリーミングモードで内容のストリームおよび/または捕獲を開始するようにトリガすることができ、低解像度画像が捕獲され、かつ、利用される。1つまたは複数の関心オブジェクトおよび/または関心領域を検出すると、センサ402は高解像度ストリーミングモードに切り換わることができ、高解像度画像が利用される。
【0107】
図7Aは、例えばウェアラブルコンピューティングデバイス100にインストールされた画像センサ402の使用を示す流れ図700Aである。この例ではセンサ402は、最初に、低解像度画像ストリーム(例えば複数の逐次画像フレーム)をストリームし、および/または捕獲する(あるいはさもなければ獲得する)低解像度ストリーミングモードで機能することができる。
【0108】
動作中、低解像度画像フレームを低電力画像信号プロセッサ408に提供することができる。プロセッサ408は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像410(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。低電力画像信号プロセッサ408は低電力コンピューテーション412を実施して、画像410の生成されたストリームを解析し、それにより画像410内の関心オブジェクトおよび/または関心領域414を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。
【0109】
関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、例えばボックスの4つの隅の各々のクロッピング座標を表すことができる。関心領域または関心オブジェクトおよびクロッピング座標の識別は、センサ402による低解像度ストリーミングモードから高解像度ストリーミングモードへの切換えを可能にするためのトリガであってもよい。
【0110】
図7Bは、ウェアラブルコンピューティングデバイス100にインストールされた画像センサ402の使用を示す流れ図700Bであり、センサ402は、低解像度ストリーミングモードから高解像度ストリーミングモードに切り換わるようにトリガされている。このようなモード切換えのトリガは、1つまたは複数の関心オブジェクトまたは関心領域の検出を含むことができる。低解像度ストリーミングモードから高解像度ストリーミングモードへの切換えは、センサ402をトリガして、高解像度画像フレームの捕獲(またはさもなければ獲得)を開始させ、その一方で低解像度画像フレームの捕獲(またはさもなければ獲得)を停止させる。
【0111】
この例では、高電力画像信号プロセッサ406によって少なくとも1つの高解像度画像フレームを処理することができる。処理された高解像度画像フレームのうちの1つまたは複数は、低解像度画像704(または画像ストリーム)を生成するために、スケーリングされる(例えば解像度がスケールダウンされる)スケーラ702に提供することができる。高電力画像信号プロセッサ406は、画像704(または画像ストリーム)上で低電力コンピューテーション412を実施することができる。低電力コンピューテーションは、少なくとも1つの画像704を解析して、例えば少なくとも1つの画像704内の関心オブジェクトおよび/または関心領域706を検出することを含むことができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。閾値条件は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、例えばボックスの4つの隅の各々のクロッピング座標を表すことができる。高電力画像信号プロセッサ406は、最大高解像度画像708をバッファ710に同じくバッファすることができる。画像708は、高解像度画像から恩恵を受けることができる動作のために使用することができる。
【0112】
図7Cは、ウェアラブルコンピューティングデバイス100にインストールされた画像センサ402の使用を示す流れ図700Cである。この例におけるセンサ402は、ROI 706のクロッピング座標を決定することに応答して高解像度ストリーミングモードに切り換えられている。例えばROI 706(または関心オブジェクト)が決定され、また、閾値条件が合致していると、クロッピング座標(例えばクロッピング座標238)をクロッパ(例えばクロッパ236)に伝送することができ、あるいはクロッパ(例えばクロッパ236)によって獲得され得る。バッファ710から高解像度画像708を検索することができる。検索された高解像度画像708は、次に、低解像度画像704に対して決定された(例えばROI 706の)クロッピング座標に従って、関心領域または関心オブジェクトにクロップされる712。高解像度画像708は、通常、関心領域または関心オブジェクト706が識別された低解像度画像704と同じ捕獲時間を有している。クロップの出力は、高解像度画像のクロップされた部分714を含むことができる。追加下流側処理は、ウェアラブルコンピューティングデバイス100のオンボードまたはオフボードで実施することができる。
【0113】
いくつかの実施態様では、センサ402は、低解像度ストリーミングモードの使用と高解像度ストリーミングモードの使用の間の高速動的切換えを実施する時期を決定することができる。例えばセンサ402は、センサデータ(例えば画像データ、ピクセル、光データ、等々)を高電力画像信号プロセッサ406または低電力画像信号プロセッサ408に提供する時期を決定することができる。決定は、例えば電力の使用およびシステム待ち時間を低減し、および/またはさもなければ最少にする目的で、画像ストリームに関して生じる、検出された事象に基づくことができる。検出される例示的事象には、オブジェクト、ROI、動きまたは動きの停止、照明の変化、新しいユーザ、別のユーザ、別のオブジェクト、等々のうちの任意の1つまたは複数の検出を含むことができる。
【0114】
この例では、ウェアラブルコンピューティングデバイス100をトリガして、低解像度を有する内容で動作させることができ、また、高解像度を有する内容に切り換えることができる。画像ストリームの低解像度および高解像度の両方を利用することができるため、ウェアラブルコンピューティングデバイス100は、バッファされたデータから内容を検索することなく、2つのストリームから選択することができる。これは、コンピューテーション切換えコスト、メモリコスト、およびメモリからの内容の検索コストを節約することができる。
【0115】
図8Aおよび図8Bは、本開示全体を通して説明されている実施態様による、画像処理タスクを実施するために単一の画像センサを使用して二重解像度画像センサをエミュレートするための例示的流れ図800Aおよび800Bを示したものである。この例では、二重ストリーム出力センサ(例えばセンサ402)は、場面カメラ802を表すために、低解像度で広い視野を有する第1の画像ストリームを出力するように構成することができる。同様に、センサは、詳細カメラ804を表すために、高解像度で狭い視野を有する第2のストリームを出力するように構成することができる。
【0116】
図8Aは、ウェアラブルコンピューティングデバイスにインストールされ、画像データのストリームを捕獲または受け取るように構成された画像センサ(例えば場面カメラ802および詳細カメラ804)の使用を示す流れ図800Aである。詳細カメラ804は、高解像度画像ストリーム(例えば複数の画像フレーム)を獲得し(例えば捕獲し)、かつ、出力することができる。複数の高解像度画像フレームはバッファ806に記憶することができる。通常、高電力画像信号プロセッサ808は、任意選択で利用可能であり、高解像度画像フレームの解析を実施することができる。
【0117】
場面カメラ802は、複数の低解像度画像フレームを(同時に)獲得し(例えば捕獲し)、かつ、出力することができる。低解像度画像フレームは低電力画像信号プロセッサ810に提供することができる。プロセッサ810は、低解像度画像フレームを処理して、デベイヤーされ、色補正され、および陰影補正される画像である画像812(例えば1つまたは複数の画像)のストリーム(例えばYUV-フォーマット化画像ストリーム)を生成する。
【0118】
低電力画像信号プロセッサ810は低電力コンピューテーション814を実施して、画像812の生成されたストリームを解析し、それにより画像812内の関心オブジェクトおよび/または関心領域816を検出することができる。検出は、手検出、オブジェクト検出、段落検出、等々を含むことができる。関心オブジェクトおよび/またはROIが検出され、また、このような領域またはオブジェクトの検出が閾値条件と合致すると、そのオブジェクトおよび/または領域のバウンディングボックスが識別される。バウンディングボックスは、ボックスの4つの隅の各々のクロッピング座標を表すことができる。閾値条件は場面カメラビューの中のトリガ事象を表すことができ、例えば検出されたトリガ事象に基づいて、単一捕獲(または短い捕獲バースト)のための詳細カメラに切り換えさせることができる。閾値条件(例えばトリガ事象)は、例えば画像のビューの中で条件および/またはアイテムが認識されると生じ得る。
【0119】
図8Bは、ウェアラブルコンピューティングデバイスにインストールされ、画像データのストリームを捕獲または受け取るように構成された画像センサ(例えば場面カメラ802および詳細カメラ804)の使用を示す流れ図800Bである。図8Aと同様、場面カメラ802は、1つまたは複数の低解像度画像(例えば画像フレーム)を捕獲および出力し、低電力画像信号プロセッサ810を使用して画像を処理し、および/または低電力コンピュート814を使用してコンピューテーションを実施して低解像度画像812を生成し、かつ、関心オブジェクトおよび/または関心領域816を決定することができる。
【0120】
関心オブジェクトおよび/または関心領域816が識別され、また、閾値条件が合致していることが決定されると、バッファ806から高解像度画像を検索することができる。例えば高電力画像信号プロセッサ808は、低解像度画像812およびクロップされたROI 816のクロッピング座標を使用して、バッファ806に記憶されている、画像812と同じ時間に捕獲された、高解像度で、かつ、より狭い視野の画像内の同じROI 816を識別することができる。
【0121】
例えばクロッピング座標(例えば矢印818)および検索された高解像度画像フレームは、高電力画像信号プロセッサ808に入力として提供することができる。高電力画像信号プロセッサ808は、低解像度画像フレームから決定された関心オブジェクトおよび/または関心領域にクロップされる処理済み(例えばデベイヤーされ、色補正され、陰影補正され、等々された)画像820を出力することができる。このクロップされた最大解像度画像820は、さらなる処理のために追加オンボードデバイスまたはオフボードデバイスに提供することができる。
【0122】
いくつかの実施態様では、複数の画像フレームではなく、高電力画像信号プロセッサを介して単一の高解像度画像を処理し、コンピューテーション電力および/またはデバイス電力を節約することができる。下流側処理は、高解像度画像全体ではなく、クロップされた画像820で動作することができるため、このようなさらなる下流側処理によって、さらなるコンピューテーション電力および/またはデバイス電力が同じく発生し得る。
【0123】
図4Aから図8Bは、単一のセンサを利用して二重センサ(例えば場面カメラおよび詳細カメラ)の機能性を提供する流れ図を示している。センサは少なくとも2つのストリームを異なる解像度および/または異なる視野で出力することができるため、いくつかの実施態様では、個別のセンサを必要とすることなく、二重モードで機能するように単一のセンサの出力を構成することができる。例えば第1のストリームは、画像の低解像度ストリームのための広い視野を出力して場面カメラを表すように構成することができる。同様に、第2のストリームは、画像の高解像度ストリームのための狭い視野を出力して詳細カメラを表すように構成することができる。
【0124】
図9は、本開示全体を通して説明されている実施態様による、コンピューティングデバイス上で画像処理タスクを実施するためのプロセス900の一例を線図化したフローチャートである。いくつかの実施態様では、コンピューティングデバイスは、電池で電力が供給されるウェアラブルコンピューティングデバイスである。いくつかの実施態様では、コンピューティングデバイスは、電池で電力が供給される非ウェアラブルコンピューティングデバイスである。
【0125】
プロセス900は、少なくとも1つの処理デバイス、スピーカ、任意選択のディスプレイ能力、および実行されると、特許請求の範囲に記載されている複数の動作およびコンピュータが実行するステップを処理デバイスが実施することになる命令を記憶するメモリを有するコンピューティングデバイス上の画像処理システムを利用することができる。一般に、ウェアラブルコンピューティングデバイス100、システム200および/または1000を使用して、プロセス900を説明し、かつ、実行することができる。ウェアラブルコンピューティングデバイス100ならびにシステム200および/または1000の組合せは、いくつかの実施態様では単一のシステムを表すことができる。通常、プロセス900は、本明細書において説明されているシステムおよびアルゴリズムを利用して、1つまたは複数の関心領域を実時間で(例えば捕獲時に)識別するための画像データを検出し、この画像データは、ウェアラブルコンピューティングデバイス100上で画像処理を実施するために使用されるデータの量を少なくするためにクロップすることができる。
【0126】
ブロック902で、プロセス900は、画像内容(または画像内容を識別する要求)の受取りを待機することを含むことができる。例えばウェアラブルコンピューティングデバイス100上の画像センサ216は、画像内容を受け取り、捕獲し、または検出することができる。内容の受取り、またはセンサによって捕獲された光データと関連付けられた画像内容をセンサ216に識別させるこのような要求の受取りに応答して、センサ216ならびに/またはプロセッサ208、222および/もしくは224は、ブロック904で、第1の画像解像度を有する第1のセンサデータストリームを検出することができ、第1のセンサデータストリームは光データに基づいていてもよい。例えば画像センサ216は、画像センサ216で受け取った光データに基づいて低画像解像度データストリームを検出することができ、また、その低画像解像度データストリームを低解像度画像信号プロセッサ222に提供することができる。さらに、ブロック906で、センサ216ならびに/またはプロセッサ208、222および/もしくは224は、第2の画像解像度を有する第2のセンサデータストリームを検出することができ、第2のセンサデータストリームは同じく光データに基づく。例えば画像センサ216は、画像センサ216で受け取った光データに基づいて高画像解像度データストリームを検出することができ、また、その高画像解像度データストリームを高解像度画像信号プロセッサ224に提供することができる。
【0127】
動作中、第1のセンサデータストリームおよび第2のデータストリームは、同じ時間に、および/または第2のセンサデータストリームからの高解像度画像のタイムスタンプと一致する第1のセンサデータストリームから低解像度画像を獲得するために相互参照することができる捕獲時間に対する相関で捕獲し、および/または受け取ることができる。
【0128】
ブロック908で、プロセス900は、ウェアラブルコンピューティングデバイス100の処理回路機構によって、第1のセンサデータストリーム中の少なくとも1つの関心領域を識別することを含む。例えば画像センサ216によって獲得された画像フレーム226内の1つまたは複数のROI 232を識別することができる。画像フレーム226は、低解像度画像信号プロセッサ222および/またはROI検出器230によって解析済みであってもよい。ROIは、ピクセル、縁検出座標、オブジェクト形状または検出、あるいは他の領域またはオブジェクト識別メトリックによって画定することができる。いくつかの実施態様では、ROIは画像ストリーム中のオブジェクトまたは他の画像内容であってもよい。
【0129】
いくつかの実施態様では、処理回路機構は、第1のセンサデータストリーム(例えば低解像度ストリーム)上で画像信号処理を実施するように構成された第1の画像プロセッサ(例えば低解像度プロセッサ222)、および第2のセンサデータストリーム(例えば高解像度ストリーム)上で画像信号処理を実施するように構成された第2の画像プロセッサ(例えば高解像度画像信号プロセッサ224)を含むことができる。通常、第1のセンサデータストリームの第1の画像解像度は第2のデータセンサストリームの第2の画像解像度より低い。
【0130】
ブロック910で、プロセス900は、処理回路機構によって、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標238を決定することを含む。例えば低解像度画像信号プロセッサ222は、画像フレーム226、解析された解像度228およびROI検出器230を利用して、オブジェクト234または関心領域(ROI)232を画定するためのクロッピング座標を識別することができる。
【0131】
ブロック912で、プロセス900は、処理回路機構によって、少なくとも1つの関心領域を表すクロップされた画像を生成することを含む。クロップされた画像を生成することは、ブロック914で、第1のセンサデータストリーム中の少なくとも1つの関心領域の第1の複数のピクセルを画定するクロッピング座標238を使用して、第2のセンサデータストリーム中の第2の複数のピクセルの識別をトリガするクロッパ236を含むことができ、また、ブロック916で第2のセンサデータストリームを第2の複数のピクセルにクロッピングすることを含むことができる。生成されるクロップ画像は、最初に識別された関心領域または関心オブジェクトの高解像度バージョンであってもよい。
【0132】
いくつかの実施態様では、少なくとも1つの関心領域(またはオブジェクト)を表すクロップされた画像を生成することは、その少なくとも1つの関心領域が閾値条件256に合致することの検出に応答して実施される。一般に、閾値条件256は、画像のストリームの画像フレーム中のオブジェクトまたは領域に対する特定の高水準の品質を表すことができる。いくつかの実施態様では、閾値条件256は、第2のセンサデータストリーム中の第2の複数のピクセルのブレが小さいことの検出を含むことができる。いくつかの実施態様では、閾値条件256は、第2の複数のピクセルが特定の画像露出測定値を有していることの検出を含むことができる。いくつかの実施態様では、閾値条件256は、第2の複数のピクセルに的が絞られていることの検出を含むことができる。
【0133】
例えば閾値条件は、そのオブジェクトまたは領域に的が絞られており、依然としてブレが小さく、および/または適切な露出を有していることの何らかの決定またはすべての決定に関連していてもよい。バウンディングボックスは、関心領域または関心オブジェクト414を表すクロッピング座標を表すことができる。関心オブジェクトまたは関心領域(例えば第2の複数のピクセル)が決定され、また、閾値条件が合致していると、高電力画像信号プロセッサは、高解像度画像フレーム(例えば関心オブジェクトまたは関心領域が識別された低解像度画像フレームと同じ捕獲時間と一致する生フレーム)を検索する(または受け取る)ことができる。
【0134】
クロップされた高解像度画像は、追加画像解析のために使用することができる。例えば処理回路機構224は、クロップされた画像に光学文字解像(OCR)を実施して、クロップされた画像の機械可読バージョン(例えば出力132)を生成することを含むことができる。処理回路機構224は、次に、クロップされた画像(例えば画像418)の機械可読バージョンを使用して探索照会を実施し、それにより複数の探索結果(例えば出力132に示されている)を生成することができ、この探索結果をトリガして、ウェアラブルコンピューティングデバイス100のディスプレイ244上に表示することができる。いくつかの実施態様では、探索照会を実施する代わりに、クロップされた画像にOCRを実施して、ウェアラブルコンピューティングデバイス100上でユーザに表示することができ、ユーザに読んで聞かせることができ、および/またはさもなければユーザによって消費される出力として提供することができる出力132を生成することができる。例えば実施されたOCRの音声出力は、ウェアラブルコンピューティングデバイス100のスピーカから提供することができる。
【0135】
いくつかの実施態様では、第2のセンサデータストリームはウェアラブルコンピューティングデバイス100上のメモリに記憶される。例えば高解像度画像ストリームは、後で、高解像度画像ストリームと関連付けられた画像フレームおよびメタデータにアクセスするために、バッファ404に記憶することができる。第1のセンサデータストリーム中の少なくとも1つの関心領域(またはオブジェクト)の識別に応答して、処理回路機構224は、メモリに記憶されている第2のセンサデータ中の対応する少なくとも1つの関心領域(またはオブジェクト)を検索することができる。例えばバッファされたデータにアクセスして、低解像度画像ストリーム中の関心領域(またはオブジェクト)の中で識別された画像内容の高解像度バージョンを獲得することができる。さらに、ウェアラブルコンピューティングデバイス100は、第2のセンサデータストリーム(例えば高解像度画像ストリーム)の検出およびアクセスを継続している間、第1のセンサデータストリーム(例えば低解像度画像ストリーム)へのアクセスの制限をトリガすることができる。すなわち、関心オブジェクトまたは関心領域が決定されると、ウェアラブルコンピューティングデバイス100は、もはや、低解像度画像ストリームと関連付けられた電力または資源の使用を望むことはあり得ず、ストリームへのアクセスを制限して、低解像度画像ストリームのストリーミング、記憶および/またはアクセスに関する資源および/または電力の過剰使用を回避することができる。
【0136】
いくつかの実施態様では、プロセス900は、少なくとも1つの関心領域を表すクロップされた画像の生成に応答して、生成されたクロップ画像をコンピューティングデバイスと通信しているモバイルデバイスに伝送することを同じく含むことができる。例えばウェアラブルコンピューティングデバイス100上で高解像度画像の識別およびクロッピングが実施されると、ウェアラブルコンピューティングデバイス100は、クロップされた画像を追加処理のためにモバイルデバイス202に伝送することができる。例えばモバイルデバイス202は、関心領域または関心オブジェクトに関するデータまたは情報を生成することができる。モバイルデバイス202はウェアラブルコンピューティングデバイス100より高い電力資源および/またはコンピューテーション資源を有することができ、したがって生成されたデータおよび/または情報をモバイルデバイス202上で検索し、および/または計算して、ウェアラブルコンピューティングデバイス100に送り返すことができる。ウェアラブルコンピューティングデバイス100は、少なくとも1つの関心領域に関する情報をモバイルデバイスから受け取ることができ、また、ウェアラブルコンピューティングデバイス100のディスプレイ244上にその情報を表示させることができる。
【0137】
いくつかの実施態様では、第1の画像解像度は低画像解像度を有し、また、第2の画像解像度は高画像解像度を有している。少なくとも1つの関心領域または関心オブジェクトの識別は、ウェアラブルコンピューティングデバイス100上で実行する機械学習アルゴリズムの使用をさらに含むことができる(例えばNN254を介して)。機械学習アルゴリズムは、第1のセンサデータを入力として使用して、第1のセンサデータの中で表された文章または少なくとも1つのオブジェクトを識別することができる。例えば第1のデータセンサストリームは低解像度のデータセンサストリームであってもよいが、機械学習アルゴリズムは、文章またはオブジェクトを画像ストリームの中で見ることができることを決定することができる。
【0138】
例えばウェアラブルコンピューティングデバイス100は、機械学習アルゴリズムを使用して、低解像度画像の中に特定の画像内容(例えばオブジェクト、ROI)が存在している(例えば描写されている、または表現されている)ことを決定することができる。クロッパ236は、決定された未知の画像内容をクロッピング座標238にクロップすることができ、また、クロップされた画像を訓練された機械学習アルゴリズムに提供して、特定の画像内容が関心オブジェクトおよび/または関心領域を表しているかどうかを決定することができる。例えばクロップする画像内容を決定するための機械学習アルゴリズムは、捕獲された画像の1つまたは複数の詳細を識別することを含むことができる。識別された詳細は、その詳細が認識可能なオブジェクト、記号、オブジェクト部分、等々を含んでいるかどうかを解析することができる。
【0139】
例えばその詳細が認識可能オブジェクトとして識別されると、ウェアラブルコンピューティングデバイス100は、そのオブジェクトの特定の特徴の認識を試行することができる。例えばオブジェクトがソーダ缶である場合、ウェアラブルコンピューティングデバイス100はどのブランドのソーダかを評価することができる。機械学習アルゴリズムは、デバイス上で(例えばウェアラブルコンピューティングデバイス100上で)、低解像度画像全体にわたって軽量検出器アーキテクチャを実行して、特定のパターンのROI(または関心オブジェクト)座標を識別することができる。例えば機械学習アルゴリズムは、出力として、ソーダ缶のブランドがパターンによって識別することができる文章のクラスタ化領域であること、およびさらなる解析のためにパターンをクロップアウトし、かつ、使用することができることを決定することができる。例えばパターンは、クロッピングの座標を示す機械学習アルゴリズム出力に基づいてクロップすることができる。次に、これらの座標を使用して、同じ場面(例えば文章のクラスタ化領域)の高解像度画像の一部を選択することができる。その部分をさらに解析してブランドを決定することができる。高解像度の一部は低解像度画像から検索された入力に基づいて使用されるため、機械学習アルゴリズムは、最大高解像度画像の解析が回避されたため、ウェアラブルコンピューティングデバイス100上でエネルギーおよび待ち時間を最適化する利点を提供することができる。
【0140】
本開示全体を通して説明されている例は、コンピュータおよび/またはコンピューティングシステムを意味することができる。本明細書において使用されているように、コンピュータ(および/またはコンピューティング)システムは、非制限で、ハードウェア、ファームウェアおよびソフトウェアを使用して構成された、本明細書において説明されているコンピュータ化技術のうちの1つまたは複数を実施するための1つまたは複数のデバイスの任意の適切な組合せを含む。本明細書において使用されているコンピュータ(および/またはコンピューティング)システムは、単一のコンピューティングデバイスであっても、あるいは集合的に動作する、データの記憶および機能の実行が様々なコンピューティングデバイスの間に分散された複数のコンピューティングデバイスであってもよい。
【0141】
本開示全体を通して説明されている例は、拡張現実(AR)を意味することができる。本明細書において使用されているように、ARは、コンピュータシステムが少なくとも1つの仮想態様および現実の少なくとも1つの態様を含む知覚認知を容易にするユーザ経験を意味している。AR経験は、それらに限定されないが、電池電力供給ウェアラブルコンピューティングデバイス、または電池電力供給非ウェアラブルコンピューティングデバイスを含む複数のタイプのコンピュータシステムのうちのいずれかによって提供することができる。いくつかの実施態様では、ウェアラブルコンピューティングデバイスはARヘッドセットを含むことができ、ARヘッドセットは、それらに限定されないが、AR眼鏡、別のウェアラブルARデバイス、タブレット、時計またはラップトップコンピュータを含むことができる。
【0142】
いくつかのタイプのAR経験では、ユーザは、コンピュータシステムが介在することなく、現実の態様を自身の知覚で直接認知することができる。例えばウェアラブルコンピューティングデバイス100などのいくつかのAR眼鏡は、画像(例えば認知される仮想態様)をユーザの網膜に向け、その一方で眼は、AR眼鏡によって生成された光ではない他の光を同じく重ね合わせることができるように設計されている。別の例として、イン-レンズマイクロディスプレイをシースルーレンズに埋め込むことも可能であり、あるいは投影されたディスプレイをシースルーレンズに重ねることも可能である。他のタイプのAR経験では、コンピュータシステムは、1つまたは複数の方法でユーザの現実(例えば認知される実態様)の印象を改善し、相補し、改変し、および/または可能にすることができる。いくつかの実施態様では、AR経験はコンピュータシステムのディスプレイデバイスのスクリーン上で認知される。例えばいくつかのARヘッドセットおよび/またはAR眼鏡は、ユーザの眼の前に配置されたディスプレイデバイス上にユーザの周囲の環境のカメラ画像を提示するために、カメラフィードスルーを使用して設計される。
【0143】
図10は、ここで説明されている技術と共に使用することができる(例えばウェアラブルコンピューティングデバイス100(例えばクライアントコンピューティングデバイス)、サーバコンピューティングデバイス204および/またはモバイルデバイス202を実現するために)コンピュータデバイス1000およびモバイルコンピュータデバイス1050の例を示したものである。コンピューティングデバイス1000は、プロセッサ1002、メモリ1004、記憶デバイス1006、メモリ1004および高速拡張ポート1010に接続する高速インタフェース1008、低速バス1014および記憶デバイス1006に接続する低速インタフェース1012を含む。これらの構成要素1002、1004、1006、1008、1010および1012の各々は、様々なバスを使用して相互接続されており、また、共通のマザーボードの上に取り付けることができ、あるいは適切な他の方法で取り付けることができる。プロセッサ1002は、コンピューティングデバイス1000内で実行するために命令を処理することができ、命令は、高速インタフェース1008に結合されたディスプレイ1016などの外部入力/出力デバイス上のGUIのための図形情報を表示するための、メモリ1004の中または記憶デバイス1006の上に記憶されている命令を含む。他の実施態様では、適切である場合、複数のメモリおよび複数のタイプのメモリと共に複数のプロセッサおよび/または複数のバスを使用することができる。また、複数のコンピューティングデバイス1000を接続することができ、個々のデバイスが必要な動作の一部を提供する(例えばサーババンク、ブレードサーバのグループまたは多重プロセッサシステムとして)。
【0144】
メモリ1004は、コンピューティングデバイス1000内の情報を記憶している。一実施態様では、メモリ1004は1つまたは複数の揮発性メモリユニットである。別の実施態様では、メモリ1004は1つまたは複数の不揮発性メモリユニットである。メモリ1004はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
【0145】
記憶デバイス1006は、コンピューティングデバイス1000のための大容量記憶装置を提供することができる。一実施態様では、記憶デバイス1006は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイスまたはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、あるいは記憶領域ネットワークまたは他の構成のデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であってもよく、あるいはそのようなコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報キャリアの中に実体的に実装することができる。コンピュータプログラム製品も、実行されると、上で説明した方法などの1つまたは複数の方法を実施する命令を同じく含むことができる。情報キャリアは、メモリ1004、記憶デバイス1006またはプロセッサ1002上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0146】
高速コントローラ1008はコンピューティングデバイス1000のための帯域幅集約動作を管理し、一方、低速コントローラ1012は、より低い帯域幅集約動作を管理している。機能のこのような割振りは単に例示的なものにすぎない。一実施態様では、高速コントローラ1008は、メモリ1004、ディスプレイ1016(例えばグラフィックスプロセッサまたはアクセレレータを介して)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート1010に結合されている。実施態様では、低速コントローラ1012は記憶デバイス1006および低速拡張ポート1014に結合されている。様々な通信ポート(例えばUSB、Bluetooth、Ethernet、無線Ethernet)を含むことができる低速拡張ポートは、キーボード、ポインティングデバイス、スキャナーなどの1つまたは複数の入力/出力デバイス、あるいは例えばネットワークアダプタを介したスイッチまたはルータなどのネットワーキングデバイスに結合することができる。
【0147】
コンピューティングデバイス1000は、図に示されているようにいくつかの異なる形態で実現することができる。例えばコンピューティングデバイス1000は、標準サーバ1020として実現することができ、あるいはこのようなサーバのグループの複数倍で実現することができる。コンピューティングデバイス1000はラックサーバシステム1024の部分として実現することも同じく可能である。さらに、コンピューティングデバイス1000は、ラップトップコンピュータ1022などのパーソナルコンピュータの中で実現することも可能である。別法として、コンピューティングデバイス1000からの構成要素は、デバイス1050などのモバイルデバイス(図示せず)の中の他の構成要素と組み合わせることも可能である。このようなデバイスの各々は、コンピューティングデバイス1000、1050のうちの1つまたは複数を含むことができ、また、互いに通信している複数のコンピューティングデバイス1000、1050でシステム全体を構築することが可能である。
【0148】
コンピューティングデバイス1050は、構成要素の中でもとりわけ、プロセッサ1052、メモリ1064、ディスプレイ1054などの入力/出力デバイス、通信インタフェース1066およびトランシーバ1068を含む。デバイス1050は、追加記憶装置を提供するためのマイクロドライブまたは他のデバイスなどの記憶デバイスを同じく備えることができる。これらの構成要素1050、1052、1064、1054、1066および1068の各々は様々なバスを使用して相互接続され、また、これらの構成要素のうちのいくつかは共通のマザーボードの上に取り付けることができ、あるいは適切な他の方法で取り付けることができる。
【0149】
プロセッサ1052は、コンピューティングデバイス1050内で命令を実行することができ、命令は、メモリ1064に記憶されている命令を含む。プロセッサは、個別の複数のアナログプロセッサおよびデジタルプロセッサを含む複数のチップのチップセットとして実現することができる。プロセッサは、例えばユーザインタフェース、デバイス1050によって実行されるアプリケーション、およびデバイス1050による無線通信の制御などの、デバイス1050の他の構成要素の協調を提供することができる。
【0150】
プロセッサ1052は、ディスプレイ1054に結合された制御インタフェース1058およびディスプレイインタフェース1056を介してユーザと通信することができる。ディスプレイ1054は、例えばTFT LCD(薄膜トランジスタ液晶ディスプレイ)、およびLED(発光ダイオード)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインタフェース1056は、ディスプレイ1054を駆動して図形および他の情報をユーザに提示するための適切な回路機構を含むことができる。制御インタフェース1058は、ユーザからコマンドを受け取り、かつ、プロセッサ1052に実行依頼するためにそれらを変換することができる。さらに、デバイス1050による他のデバイスとの近接場通信を可能にするために、プロセッサ1052と通信している外部インタフェース1062を提供することができる。外部インタフェース1062は、例えばいくつかの実施態様では有線通信を提供することができ、あるいは他の実施態様では無線通信を提供することができ、また、複数のインタフェースを使用することも可能である。
【0151】
メモリ1064はコンピューティングデバイス1050内の情報を記憶している。メモリ1064は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、あるいは1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実現することができる。拡張メモリ1074を提供して、拡張インタフェース1072を介してデバイス1050に接続することも可能であり、拡張インタフェース1072は例えばSIMM(単一イン-ラインメモリモジュール)カードインタフェースを含むことができる。このような拡張メモリ1074は、デバイス1050のための余分の記憶空間を提供することができ、あるいはアプリケーションまたはデバイス1050のための他の情報を記憶することも可能である。詳細には、拡張メモリ1074は、上で説明したプロセスを実施し、あるいは補足するための命令を含むことができ、また、セキュア情報を同じく含むことができる。したがって例えば拡張メモリ1074は、デバイス1050のためのセキュリティモジュールとして提供することができ、また、デバイス1050のセキュアな使用を許容する命令を使用してプログラムすることができる。さらに、SIMMカードを介して、追加情報と共にセキュアアプリケーションを提供することも可能であり、例えば識別情報を非ハック可能方法でSIMMカード上に置くことができる。
【0152】
メモリは、例えば以下で考察されるようにフラッシュメモリおよび/またはNVRAMメモリを含むことができる。一実施態様では、コンピュータプログラム製品は、情報キャリアの中に実体的に実装される。コンピュータプログラム製品は、実行されると、上で説明した方法などの1つまたは複数の方法を実施する命令を含む。情報キャリアは、例えばトランシーバ1068または外部インタフェース1062を介して受け取ることができる、メモリ1064、拡張メモリ1074またはプロセッサ1052上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0153】
デバイス1050は、必要に応じてデジタル信号処理回路機構を含むことができる通信インタフェース1066を介して無線で通信することができる。通信インタフェース1066は、とりわけGSM(登録商標)音声呼出し、SMS、EMS、またはMMSメッセージ発信、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000またはGPRSなどの様々なモードまたはプロトコルの下で通信を提供することができる。このような通信は、例えば無線周波数トランシーバ1068を介して生じ得る。さらに、Bluetooth、Wi-Fiまたは他のこのようなトランシーバ(図示せず)などを使用した短距離通信が生じ得る。さらに、GPS(全地球測位システム)レシーバモジュール1070は、追加航法および場所関連無線データをデバイス1050に提供することができ、適切である場合、デバイス1050上で実行しているアプリケーションはこの無線データを使用することができる。
【0154】
デバイス1050は、音声コーデック1060を使用して音声で通信することも可能であり、音声コーデック1060は、話された情報をユーザから受け取り、かつ、それを有用なデジタル情報に変換することができる。音声コーデック1060は、同様に、例えばデバイス1050のハンドセット中のスピーカなどを介して、ユーザのための可聴音を生成することができる。このような音は、音声電話呼出しからの音を含むことができ、録音された音(例えば音声メッセージ、音楽ファイル、等々)を含むことができ、また、デバイス1050上で動作しているアプリケーションによって生成される音を同じく含むことができる。
【0155】
コンピューティングデバイス1050は、図に示されているようにいくつかの異なる形態で実現することができる。例えばコンピューティングデバイス1050はセルラー電話1080として実現することができる。コンピューティングデバイス1050は、スマートフォン1082、パーソナルデジタルアシスタントまたは他の同様のモバイルデバイスの一部として実現することも可能である。
【0156】
ここで説明されているシステムおよび技術の様々な実施態様は、デジタル電子回路機構、集積回路機構、特殊設計ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組合せの中で実現することができる。これらの様々な実施態様は、記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受け取り、かつ、それらにデータおよび命令を伝送するように結合された、専用または汎用であってもよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行することができ、および/または解釈することができる1つまたは複数のコンピュータプログラムにおける実施態様を含むことができる。
【0157】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとして同じく知られている)はプログラマブルプロセッサのための機械命令を含み、また、高水準手続きおよび/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実現することができる。本明細書において使用されているように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(例えば磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を意味している。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を意味している。
【0158】
ユーザとの対話を提供するために、ここで説明されているシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス(LED(発光ダイオード)またはOLED(有機LED)、あるいはLCD(液晶ディスプレイ)モニタ/スクリーン)、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)を有するコンピュータ上で実現することができる。他の種類のデバイスを使用してユーザとの対話を提供することも可能であり、例えばユーザに提供されるフィードバックは、任意の形態の知覚フィードバック(例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であってもよく、また、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受け取ることができる。
【0159】
ここで説明されているシステムおよび技術は、後置構成要素(例えばデータサーバとして)を含むコンピューティングシステム、またはミドルウェア構成要素(例えばアプリケーションサーバ)を含むコンピューティングシステム、または前置構成要素(例えばユーザがここで説明されているシステムおよび技術の実施態様と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、またはこのような後置構成要素、ミドルウェア構成要素もしくは前置構成要素の任意の組合せの中で実現することができる。システムの構成要素は、任意の形態または任意の媒体のデジタルデータ通信(例えば通信ネットワーク)によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)およびInternetがある。
【0160】
コンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは、通常、互いに遠隔であり、また、典型的には通信ネットワークを介して対話している。クライアントとサーバの関係は、それぞれのコンピュータ上で実行しており、クライアント-サーバ関係を互いに有しているコンピュータプログラムによって生じる。
【0161】
いくつかの実施態様では、図に示されているコンピューティングデバイスは、ARヘッドセット/HMDデバイス1090とインタフェースして、物理空間内の挿入された内容を見るための拡張環境を生成するセンサを含むことができる。例えば図に示されているコンピューティングデバイス1050または他のコンピューティングデバイス上に含まれている1つまたは複数のセンサは、ARヘッドセット1090に入力を提供することができ、あるいは通常、AR空間に入力を提供することができる。センサは、それらに限定されないが、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生物測定センサ、温度センサ、湿度センサおよび周辺光センサを含むことができる。コンピューティングデバイス1050は、これらのセンサを使用して、AR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を決定することができ、決定された絶対位置および/または検出された回転は、次に、AR空間への入力として使用することができる。例えばコンピューティングデバイス1050は、コントローラ、レーザポインタ、キーボード、武器、等々などの仮想オブジェクトとしてAR空間に組み込むことができる。AR空間に組み込まれる際に、ユーザがコンピューティングデバイス/仮想オブジェクトを配置することにより、ユーザは、AR空間の中で特定の方法で仮想オブジェクトを見るようにコンピューティングデバイスを配置することを可能とし得る。
【0162】
いくつかの実施態様では、コンピューティングデバイス1050の上に含まれている、またはコンピューティングデバイス1050に接続されている1つまたは複数の入力デバイスをAR空間への入力として使用することができる。入力デバイスは、それらに限定されないが、タッチスクリーン、キーボード、1つまたは複数のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロホン、入力機能性を有するイヤホンもしくはバッド、ゲーミングコントローラまたは他の接続可能入力デバイスを含むことができる。コンピューティングデバイスがAR空間に組み込まれる際に、ユーザがコンピューティングデバイス1050の上に含まれている入力デバイスと対話することにより、AR空間中で特定のアクションを生じさせることができる。
【0163】
いくつかの実施態様では、コンピューティングデバイス1050のタッチスクリーンは、AR空間におけるタッチパッドとして表示することができる。ユーザはコンピューティングデバイス1050のタッチスクリーンと対話することができる。対話は、例えばARヘッドセット1090の中で、AR空間における表示されたタッチパッド上の動きとして表示される。表示された動きは、AR空間における仮想オブジェクトを制御することができる。
【0164】
いくつかの実施態様では、コンピューティングデバイス1050の上に含まれている1つまたは複数の出力デバイスは、AR空間のARヘッドセット1090のユーザに出力および/またはフィードバックを提供することができる。出力およびフィードバックは、視覚、触覚または音声であってもよい。出力および/またはフィードバックは、それらに限定されないが、振動、1つまたは複数の光またはストローブのターンオンおよびオフまたはブリンキングおよび/またはフラッシング、警報音を発すること、チャイムを鳴らすこと、歌を歌うこと、および音声ファイルを鳴らすことを含むことができる。出力デバイスは、それらに限定されないが、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストローブおよびスピーカを含むことができる。
【0165】
いくつかの実施態様では、コンピューティングデバイス1050は、コンピュータ生成3D環境に別のオブジェクトとして出現し得る。ユーザによるコンピューティングデバイス1050との対話(例えば回転、揺さぶり、タッチスクリーンの接触、タッチスクリーン上における指の滑らせ)は、AR空間におけるオブジェクトとの対話として解釈され得る。AR空間におけるレーザポインタの例では、コンピューティングデバイス1050は、コンピュータ生成3D環境に仮想レーザポインタとして出現する。ユーザがコンピューティングデバイス1050を操ると、AR空間のユーザはレーザポインタの動きを見る。ユーザは、コンピューティングデバイス1050上、またはARヘッドセット1090上のAR環境におけるコンピューティングデバイス1050との対話からフィードバックを受け取る。コンピューティングデバイスとのユーザの対話は、制御可能デバイスのためのAR環境で生成されたユーザインタフェースとの対話に翻訳することができる。
【0166】
いくつかの実施態様では、コンピューティングデバイス1050はタッチスクリーンを含むことができる。例えばユーザはタッチスクリーンと対話して、制御可能デバイスのためのユーザインタフェースと対話することができる。例えばタッチスクリーンは、制御可能デバイスの特性を制御することができるスライダなどのユーザインタフェース要素を含むことができる。
【0167】
コンピューティングデバイス1000には、それらに限定されないが、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含む、様々な形態のデジタルコンピュータおよびデバイスを表すことが意図されている。コンピューティングデバイス1050には、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことが意図されている。ここで示されている構成要素、それらの接続および関係、ならびにそれらの機能には、単に例示的なものにすぎないことが意味されており、また、本文書で記述され、および/または特許請求されている主題の実施態様を制限することは意味されていない。
【0168】
いくつかの実施形態が説明されている。しかしながら本明細書の精神および範囲を逸脱することなく様々な修正を加えることができることは理解されよう。
【0169】
さらに、図に示されている論理フローには、所望の結果を達成するための示されている特定の順序または逐次順序は不要である。さらに、他のステップを提供することも可能であり、あるいは説明されているフローからステップを除去することも可能であり、また、他の構成要素を説明されているシステムに追加し、あるいはシステムから除去することも可能である。したがって他の実施形態は、以下の特許請求の範囲の範囲内である。
【0170】
以上の説明に加えて、ユーザは、本明細書において説明されているシステム、プログラムまたは特徴が、ユーザ情報(例えばユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、職業、ユーザの好み、またはユーザの現在の場所に関する情報)の収集を可能にすることができるかどうか、および本明細書において説明されているシステム、プログラムまたは特徴がそれらをいつ可能にすることができるかの両方に関して、また、サーバから内容または通信がユーザに送られるかどうかに関して、ユーザが選ぶことができる制御を備えることができる。さらに、個人的に識別可能な情報が除去されるよう、記憶または使用に先だって特定のデータを1つまたは複数の方法で処理することも可能である。例えばユーザのための個人的に識別可能な情報を決定することができないよう、ユーザの身元を処理することができ、あるいはユーザの特定の場所を決定することができないよう、場所情報(都市、郵便番号または国家レベルなど)が獲得されるユーザの地理的場所を一般化することができる。したがってユーザは、ユーザに関してどのような情報が収集され、その情報がどのように使用されているか、また、ユーザに提供されるのはどのような情報か、についての制御を有することができる。
【0171】
以上、説明されている実施態様の特定の特徴について、本明細書において説明されている通りに例証したが、当業者には多くの修正、置換、変更および等価物が思い浮かぶことであろう。したがって添付の特許請求の範囲には、すべてのこのような修正および変更を実施態様の範囲の範疇として包含することが意図されていることを理解されたい。それらは単なる例として提示されているにすぎず、何ら制限的なものではなく、また、形態および詳細に様々な変更を加えることができることを理解されたい。本明細書において説明されている装置および/または方法のあらゆる部分は、相互に排他的な組合せを除き、任意の組合せで組み合わせることができる。本明細書において説明されている実施態様は、説明されている異なる実施態様の機能、構成要素および/または特徴の様々な組合せおよび/または副組合せを含むことができる。
図1
図2
図3A
図3B
図4A
図4B
図4C
図5A
図5B
図6A
図6B
図6C
図7A
図7B
図7C
図8A
図8B
図9
図10
【手続補正書】
【提出日】2024-05-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像処理方法であって、
コンピューティングデバイスによって、画像センサから、第1の画像解像度を有する第1のセンサデータストリームを受け取ることと、
前記第1のセンサデータストリームを入力として利用して前記第1のセンサデータストリームにおいて表されているテキストを識別することにより、関心領域を識別することと、
記第1のセンサデータストリーム中の前記関心領域のためのクロッピング座標を決定することと、
前記画像センサから、前記第1の画像解像度とは異なる第2の画像解像度を有する第2のセンサデータストリームを受け取ることと、
前記第1のセンサデータストリーム中の前記関心領域のための前記クロッピング座標に基づいて、前記第2のセンサデータストリーム中の前記関心領域を表すクロップされた画像を生成することと、
を含む画像処理方法。
【請求項2】
前記クロップされた画像の機械可読バージョンを生成するために前記クロップされた画像に光学文字解像を実施することと、
複数の探索結果を生成するために前記クロップされた画像の前記機械可読バージョンを使用して探索照会を実施することと、
前記コンピューティングデバイスのディスプレイ上に前記複数の探索結果を表示ることと
をさらに含む、請求項1に記載の画像処理方法。
【請求項3】
前記第2のセンサデータストリームは前記コンピューティングデバイス上のメモリに記憶され、
前記画像処理方法は、
前記第1のセンサデータストリーム中の前記テキストを識別することに応答して、メモリに記憶されている前記第2のセンサデータストリーム中の対応する関心領域を検索することと、
前記第2のセンサデータストリームの検出およびアクセスを継続している間、前記第1のセンサデータストリームへのアクセスを制限することと
をさらに含む、請求項1または請求項2に記載の画像処理方法。
【請求項4】
記クロップされた画像を前記コンピューティングデバイスと通信しているモバイルデバイスに伝送ることと、
前記モバイルデバイスから、前記関心領域に関する情報を受け取ることと、
前記コンピューティングデバイスのディスプレイ上に前記情報を表示ることと
をさらに含む、請求項1または請求項2に記載の画像処理方法。
【請求項5】
記第1の画像解像度は前記第2の画像解像度より低く
記関心領域を識別することは、前記コンピューティングデバイス上で実行する機械学習アルゴリズムを使用して実施される
請求項1または請求項2に記載の画像処理方法。
【請求項6】
前記コンピューティングデバイスは、少なくとも、
前記第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサを含み、
前記第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサを含み、前記第1のセンサデータストリームの前記第1の画像解像度は前記第2のセンサデータストリームの前記第2の画像解像度より低い、
請求項1または請求項2に記載の画像処理方法。
【請求項7】
記関心領域を表す前記クロップされた画像を前記生成することは、前記関心領域が閾値条件に合致することの検出に応答して実施され、前記閾値条件は、前記第2のセンサデータストリームのブレが小さいことの検出を含む、請求項1または請求項2に記載の画像処理方法。
【請求項8】
ンピューティングデバイスであって、
理デバイスと、
光データを捕獲し、前記光データに基づいて、第1の画像解像度を有する第1のセンサデータストリームと前記第1の画像解像度とは異なる第2の画像解像度を有する第2のセンサデータストリームを出力するように構成された画像センサと、
実行されると前記コンピューティングデバイスが動作を実施することになる命令を記憶するメモリと
を備え、前記動作は、
記第1のセンサデータストリーム中の関心領域を識別することと、
前記第1のセンサデータストリーム中の記関心領域のためのクロッピング座標を決定することと、
前記第1のセンサデータストリーム中の前記関心領域のための前記クロッピング座標に基づいて、前記第2のセンサデータストリーム中の記関心領域を表すクロップされた画像を生成することと、を含む、
ンピューティングデバイス。
【請求項9】
記画像センサは、トリガされて高画像解像度モードでの動作に切り換わるまで低画像解像度モードで動作するように構成された二重ストリーム画像センサである、請求項8に記載のコンピューティングデバイス。
【請求項10】
前記動作は、
前記クロップされた画像の機械可読バージョンを生成するために、前記クロップされた画像に光学文字解像を実施することと、
複数の探索結果を生成するために、前記クロップされた画像の前記機械可読バージョンを使用して探索照会を実施することと、
記光学文字解像の音声を前記コンピューティングデバイスのスピーカから出ることと
をさらに含む、請求項8または請求項9に記載のコンピューティングデバイス。
【請求項11】
前記第2のセンサデータストリームは前記コンピューティングデバイス上のメモリに記憶され、前記動作は、
前記第1のセンサデータストリーム中の前記関心領域を識別することに応答して、メモリに記憶されている前記第2のセンサデータストリーム中の対応する関心領域を検索することと、
前記第2のセンサデータストリームの検出およびアクセスを継続している間、前記第1のセンサデータストリームへのアクセスを制限することと
をさらに含む、請求項8または請求項9に記載のコンピューティングデバイス。
【請求項12】
前記動作は、
記クロップされた画像を前記コンピューティングデバイスと通信しているモバイルデバイスに伝送ることと、
前記モバイルデバイスから、前記関心領域に関する情報を受け取ることと、
記コンピューティングデバイスで前記情報を出力ることと
をさらに含む、請求項8または請求項9に記載のコンピューティングデバイス。
【請求項13】
前記第1の画像解像度は前記第2の画像解像度より低く
記関心領域を識別することは、前記コンピューティングデバイス上で実行し、かつ、前記第1のセンサデータストリームを入力として使用する機械学習アルゴリズムによって、前記第1のセンサデータストリームの中で表されているテキストを識別することをさらに含む、
請求項8または請求項9に記載のコンピューティングデバイス。
【請求項14】
記処理デバイスは、
前記第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサと、
前記第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサとを含み、前記第1のセンサデータストリームの前記第1の画像解像度は前記第2のセンサデータストリームの前記第2の画像解像度より低い、
請求項8または請求項9に記載のコンピューティングデバイス。
【請求項15】
命令を有し、前記命令は、処理回路機構によって実行されると、コンピューティングデバイスに、
第1の画像解像度を有する第1のセンサデータストリームを受け取ることと、
前記第1の画像解像度とは異なる第2の画像解像度を有する第2のセンサデータストリームを検出することと、
前記第1のセンサデータストリームを入力として利用する、前記第1のセンサデータストリーム中に表されているテキストを識別することにより、関心領域を識別することと、
前記第1のセンサデータストリーム中の前記関心領域のためのクロッピング座標を決定することと、
前記第1のセンサデータストリーム中の記関心領域のための前記クロッピング座標に基づいて、前記第2のセンサデータストリーム中の前記関心領域を表すクロップされた画像を生成することと
を行わせコンピュータプログラム
【請求項16】
前記コンピュータプログラムは、前記コンピューティングデバイスに、
前記クロップされた画像の機械可読バージョンを生成するために、前記クロップされた画像に光学文字解像を実施することと、
複数の探索結果を生成するために、前記クロップされた画像の前記機械可読バージョンを使用して探索照会を実施することと、
記コンピューティングデバイスのディスプレイ上に探索結果を表示することと
を行わせる請求項15に記載のコンピュータプログラム
【請求項17】
前記第2のセンサデータストリームは前記コンピューティングデバイス上のメモリに記憶され、前記コンピュータプログラムは、前記コンピューティングデバイスに、
前記第1のセンサデータストリームにおいて表されている前記テキストを識別することに応答して、メモリに記憶されている前記第2のセンサデータストリーム中の対応する関心領域を検索することと、
前記第2のセンサデータストリームの検出およびアクセスを継続している間、前記第1のセンサデータストリームへのアクセスを制限することとを行わせる
請求項15または請求項16に記載のコンピュータプログラム
【請求項18】
前記コンピュータプログラムは、前記コンピューティングデバイスに、
記クロップされた画像を前記コンピューティングデバイスと通信しているモバイルデバイスに伝送することと、
前記モバイルデバイスから、前記関心領域に関する情報を受け取ることと、
記コンピューティングデバイスのディスプレイ上に前記情報を表示することと
を行わせる、請求項15または請求項16に記載のコンピュータプログラム
【請求項19】
前記第1の画像解像度は前記第2の画像解像度よりも低く
記関心領域を識別することは、前記コンピューティングデバイス上で実行する機械学習アルゴリズムを利用して行われる
請求項15または請求項16に記載のコンピュータプログラム
【請求項20】
前記処理回路機構は、少なくとも、
前記第1のセンサデータストリームに画像信号処理を実施するように構成された第1の画像プロセッサを含み、
前記第2のセンサデータストリームに画像信号処理を実施するように構成された第2の画像プロセッサを含み、前記第1のセンサデータストリームの前記第1の画像解像度は前記第2のセンサデータストリームの前記第2の画像解像度より低い、
請求項15または請求項16に記載のコンピュータプログラム
【国際調査報告】