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

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

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

特許7393361ビジュアルサーチのためのデジタル補足関連付けおよび検索
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】ビジュアルサーチのためのデジタル補足関連付けおよび検索
(51)【国際特許分類】
   H04L 67/02 20220101AFI20231129BHJP
   G06F 16/73 20190101ALI20231129BHJP
   G06F 16/783 20190101ALI20231129BHJP
【FI】
H04L67/02
G06F16/73
G06F16/783
【請求項の数】 18
(21)【出願番号】P 2020570146
(86)(22)【出願日】2019-06-21
(65)【公表番号】
(43)【公表日】2021-08-30
(86)【国際出願番号】 US2019036542
(87)【国際公開番号】W WO2019245801
(87)【国際公開日】2019-12-26
【審査請求日】2020-12-16
【審判番号】
【審判請求日】2022-05-10
(31)【優先権主張番号】16/014,520
(32)【優先日】2018-06-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/014,512
(32)【優先日】2018-06-21
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ジョイス,アラン
(72)【発明者】
【氏名】チュン,エドガー
(72)【発明者】
【氏名】ヤン,ヂョー
(72)【発明者】
【氏名】メサ,イアン
(72)【発明者】
【氏名】オルソン,ジョセフ
【合議体】
【審判長】須田 勝巳
【審判官】林 毅
【審判官】吉田 美彦
(56)【参考文献】
【文献】米国特許出願公開第2018/0165370(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L67/02
G06F16/73
G06F16/783
(57)【特許請求の範囲】
【請求項1】
コンピュータで実行される方法であって、
検索サーバが、デジタル補足サーバからウェブページを受信することと、
前記検索サーバが、前記ウェブページのメタデータを分析することにより、画像補足アンカーと、当該画像補足アンカーに関連付けられたデジタル補足とを取得することと、
前記検索サーバが、前記デジタル補足と前記画像補足アンカーとを関連付けたデータ構造インスタンスを生成することとを含み、前記デジタル補足は仮想コンテンツであり
前記検索サーバのデータベースに前記データ構造インスタンスを格納することと
前記検索サーバが、クライアントコンピューティングデバイスから、物理的オブジェクトの画像を含む画像コンテンツクエリを受信することとを備え、前記データベースは複数の他のデータ構造インスタンスを含み、前記複数の他のデータ構造インスタンスの各々は、デジタル補足と、各デジタル補足に関連付けられた一つまたは複数の画像補足アンカーとを含み、前記方法はさらに、
記検索サーバが、前記画像コンテンツクエリの受信に応じて、前記画像コンテンツクエリに含まれる画像から識別される画像補足アンカーに関連付けられたデジタル補足を取得することと、
前記取得したデジタル補足を前記クライアントコンピューティングデバイスに送信して、前記クライアントコンピューティングデバイスに、前記デジタル補足を拡張現実コンテンツとして、前記物理的オブジェクトの画像上にオーバーレイして表示させることとを含む、方法。
【請求項2】
記ウェブページを含む複数のウェブページをクローリングすることをさらに含む、請求項に記載のコンピュータで実行される方法。
【請求項3】
前記データ構造インスタンスを前記ウェブページの人気スコアに関連付けることをさらに含む、請求項またはに記載のコンピュータで実行される方法。
【請求項4】
ウェブページに基づいて、前記データ構造インスタンスを前記画像補足アンカーの関連性スコアと関連付けることをさらに含む、請求項のいずれかに記載のコンピュータで実行される方法。
【請求項5】
前記メタデータは、名前、説明、画像、および統一資源位置指定子を含む、請求項1~のいずれかに記載のコンピュータで実行される方法。
【請求項6】
前記メタデータは、アプリケーションの識別子を含む、請求項に記載のコンピュータで実行される方法。
【請求項7】
取得したデジタル補足を前記クライアントコンピューティングデバイスに送信することは、デジタル補足のリストを送信することを含み、前記リストは、前記データ構造インスタンスからのデジタル補足と、前記複数の他のデータ構造インスタンスのうちの1つからのデジタル補足とを含み、前記人気スコアに基づいて順序付けされている、請求項に記載のコンピュータで実行される方法。
【請求項8】
前記取得したデジタル補足を前記クライアントコンピューティングデバイスに送信することは、デジタル補足のリストを送信することを含み、前記リストは、前記データ構造インスタンスからのデジタル補足と、前記複数の他のデータ構造インスタンスのうちの1つからのデジタル補足とを含み、前記関連性スコアに基づいて順序付けされている、請求項4に記載のコンピュータで実行される方法。
【請求項9】
コンピューティングデバイスであって、
少なくとも1つのプロセッサと、
命令を格納しているメモリとを備え、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記コンピューティングデバイスに、
デジタル補足サーバからウェブページを受信させ
前記ウェブページのメタデータを分析させることにより、画像補足アンカーと、当該画像補足アンカーに関連付けられたデジタル補足とを取得させ
記デジタル補足と前記画像補足アンカーとを関連付けたデータ構造インスタンスを生成させ、前記デジタル補足は仮想コンテンツであり、
データベースに前記データ構造インスタンスを格納させ、
クライアントコンピューティングデバイスから、物理的オブジェクトの画像を含む画像コンテンツクエリを受信させ、前記データベースは複数の他のデータ構造インスタンスを含み、前記複数の他のデータ構造インスタンスの各々は、デジタル補足と、各デジタル補足に関連付けられた一つまたは複数の画像補足アンカーとを含み、
記画像コンテンツクエリの受信に応じて、前記画像コンテンツクエリに含まれる画像から識別される画像補足アンカーに関連付けられたデジタル補足取得させ、
当該取得したデジタル補足を前記クライアントコンピューティングデバイスに送信させて、前記クライアントコンピューティングデバイスに、前記デジタル補足を拡張現実コンテンツとして、前記物理的オブジェクトの画像上にオーバーレイして表示させる、コンピューティングデバイス。
【請求項10】
前記命令は、前記コンピューティングデバイスに、さらに、
前記ウェブページを含む複数のウェブページをクローリングさせる、請求項9に記載のコンピューティングデバイス。
【請求項11】
前記命令は、前記コンピューティングデバイスに、さらに、
前記データ構造インスタンスを前記ウェブページの人気スコアに関連付けることをさらに実行させる、請求項9または10に記載のコンピューティングデバイス。
【請求項12】
前記命令は、前記コンピューティングデバイスに、さらに、
ウェブページに基づいて、前記データ構造インスタンスを前記画像補足アンカーの関連性スコアと関連付けることをさらに実行させる、請求項9~11のいずれかに記載のコンピューティングデバイス。
【請求項13】
前記メタデータは、名前、説明、画像、および統一資源位置指定子を含む、請求項9~12のいずれかに記載のコンピューティングデバイス。
【請求項14】
前記メタデータは、アプリケーションの識別子を含む、請求項13に記載のコンピューティングデバイス。
【請求項15】
取得したデジタル補足を前記クライアントコンピューティングデバイスに送信することは、デジタル補足のリストを送信ことを含み、前記リストは、前記データ構造インスタンスからのデジタル補足と、前記複数の他のデータ構造インスタンスのうちの1つからのデジタル補足とを含み、前記人気スコアに基づいて順序付けされている、請求項11に記載のコンピューティングデバイス。
【請求項16】
前記取得したデジタル補足を前記クライアントコンピューティングデバイスに送信することは、前記デジタル補足のリストを送信することを含み、前記リストは、前記データ構造インスタンスからのデジタル補足と、前記複数の他のデータ構造インスタンスのうちの1つからのデジタル補足とを含み、前記関連性スコアに基づいて順序付けされている、請求項12に記載のコンピューティングデバイス。
【請求項17】
コンピューティングデバイスであって、
少なくとも1つのプロセッサと、
命令を格納しているメモリとを備え、前記命令は、少なくとも1つのプロセッサによって実行されると、前記コンピューティングデバイスに、請求項1~のいずれかに記載の方法を実行させる、コンピューティングデバイス。
【請求項18】
命令を含むコンピュータプログラムであって、前記命令は1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1~のいずれかに記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本出願は、2018年6月21日に出願された「DIGITAL SUPPLEMENT ASSOCIATION AND RETRIEVAL FOR VISUAL SEARCH」と題する米国非仮特許出願第16/014,520号の継続出願であり、その優先権を主張するものであり、その開示は参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
背景
スマートフォンのようなモバイルコンピューティングデバイスは、多くの場合、カメラを含む。これらのカメラは、当該コンピューティングデバイスの周囲の環境におけるエンティティの画像を取得するために使用され得る。これらのエンティティに関連する様々なタイプのコンテンツまたは経験は、当該モバイルコンピューティングデバイスを介してユーザに利用可能であり得る。
【発明の概要】
【0003】
概要
本開示は、ビジュアルサーチのためのデジタル補足関連付けおよび検索のためのシステムおよび方法を説明する。たとえば、本明細書で説明されるシステムおよび技術は、ビジュアルサーチに応答する、拡張現実(AR)コンテンツまたは経験などのデジタル補足を提供するために使用され得る。ビジュアルサーチは、例えば、画像または画像内で識別されたエンティティに基づき得る。デジタル補足は、例えば、画像に関連付けられた情報または機能を提供することを含み得る。
【課題を解決するための手段】
【0004】
一局面は、デジタル補足を指定するデータを受信することを含むコンピュータで実行される方法であり、当該データは、デジタル補足と、当該デジタル補足を画像コンテンツに関連付けるための補足アンカーとを識別する。当該方法はまた、デジタル補足および補足アンカーを指定するデータ構造インスタンスを生成することを含む。当該方法は、データ構造インスタンスを生成した後に、少なくともデータ構造インスタンスを複数の他のデータ構造インスタンスを含むデータベースに格納することに基づいて、画像によるデジタル補足のトリガを有効化することをさらに含む。他のデータ構造インスタンスの各々は、デジタル補足と、1つまたは複数の補足アンカーとを指定する。
【0005】
別の局面は、少なくとも1つのプロセッサと、命令を記憶するメモリとを含むコンピューティングデバイスである。当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コンピューティングデバイスに、デジタル補足を指定するデータを受信させ、当該データは、デジタル補足と、当該デジタル補足を画像コンテンツに関連付けるための補足アンカーと、コンテキスト情報とを受信させる。当該命令はまた、当該コンピューティングデバイスに、デジタル補足と補足アンカーとコンテキスト情報とを指定するデータ構造インスタンスを生成させる。当該命令はさらに、当該コンピューティングデバイスに、データ構造インスタンスを生成した後に、当該データ構造インスタンスを複数の他のデータ構造インスタンスを含むデータベースに格納することに少なくとも基づいて、画像によるデジタル補足のトリガを有効化する。当該他のデータ構造インスタンスの各々は、デジタル補足と、1つまたは複数の補足アンカーとを指定する。
【0006】
さらに別の局面は、コンピューティングデバイスから画像コンテンツクエリを受信することと、当該画像コンテンツクエリに基づいて補足アンカーを識別することとを含む、コンピュータで実行される方法である。当該方法はまた、識別された補足アンカーに基づいてデジタル補足の順序付けられたリストを生成することと、当該順序付けられたリストをクライアントコンピューティングデバイスに送信することとを含む。
【0007】
1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。他の特徴は、当該説明および図面ならびに特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0008】
図1】例示的な実施形態に従うシステムを示すブロック図である。
図2図1のクライアントコンピューティングデバイスの実施形態がデジタル補足にアクセスしている例示的な物理的空間の三人称視点である。
図3】本明細書で説明される実施形態に従う、デジタル補足のトリガを有効化する例示的な方法の図である。
図4】本明細書で説明される実施形態に従う、デジタル補足のトリガを有効化する例示的な方法の図である。
図5】本明細書で説明される実施形態に従う、デジタル補足を検索して提示する例示的な方法の図である。
図6】本明細書で説明される実施形態に従う、画像に基づいてデジタル補足を識別して提示する例示的な方法の図である。
図7A】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図7B】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図7C】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図8A】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図8B】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図8C】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図9A】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図9B】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図10A】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図10B】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図10C】画像コンテンツ検索を行なってデジタル補足を表示するために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図11A】店内で様々な画像コンテンツ検索を行うために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図11B】店内で様々な画像コンテンツ検索を行うために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図11C】店内で様々な画像コンテンツ検索を行うために、図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図12A】様々な画像コンテンツ検索中に図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図12B】様々な画像コンテンツ検索中に図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図12C】様々な画像コンテンツ検索中に図1のクライアントコンピューティングデバイスの実施形態によって表示されるユーザインターフェイス画面の概略図である。
図13】本明細書で説明される技術を実施するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの一例の概略図である。
【発明を実施するための形態】
【0009】
詳細な説明
本開示は、画像コンテンツに基づくデジタル補足の識別および提示を単純化する技術的改善を記載する。本明細書で説明される技術のある実施形態は、特定のタイプの画像コンテンツに関連のあるデジタル補足のインデックスを生成し、クライアントコンピューティングデバイスから受信された画像コンテンツクエリに応答してそれらのデジタル補足を提供する。このインデックスにより、ユーザは、世界中に配置されたネットワークアクセス可能なリソース(例えば、ウェブページ)によって提供される、関連のあるデジタル補足にアクセスできる。このことは、情報のより効率的な検索を可能にする機能的なデータ構造を提供し得る。
【0010】
例えば、スマートフォンのようなクライアントコンピューティングデバイスは、エンティティのような、補足アンカーの画像を取得し得る。次いで、クライアントコンピューティングデバイスは、識別された補足アンカーに関連付けられるデジタル補足を検索するために、画像に基づく画像コンテンツクエリをサーバコンピューティングデバイスに送信し得る。ある実施形態では、補足アンカーは、クライアントコンピューティングデバイス周囲の物理的環境に基づき、デジタル補足は、物理的環境におけるユーザの経験を補足し得る仮想コンテンツである。
【0011】
画像コンテンツクエリは、(例えば、識別された補足アンカーのインジケータのような)画像から決定される画像またはデータを含み得る。画像から決定されるデータの例は、例えば、光学的文字認識を使用して画像から抽出されるテキストである。画像から抽出されるデータの他の例は、当該画像、エンティティの識別子または説明、製品、または、当該画像で識別されるエンティティのタイプにある、バーコード、QR(登録商標)コード等を含む。
【0012】
エンティティ、製品、またはエンティティタイプは、たとえば、畳み込みニューラルネットワークシステムのようなニューラルネットワークシステムを使用して画像内で識別され得る。エンティティ、製品、またはエンティティタイプの識別子または説明は、エンティティ、製品、またはエンティティタイプに関連するデータベース内のレコードへのメタデータまたは参照を含み得る。エンティティの非限定的な例は、建物、技術の作品、製品、書籍、ポスター、写真、カタログ、サイン、文書(例えば、名刺、レシート、クーポン、カタログ)、人々、および身体部分を含む。
【0013】
補足アンカーに関連付けられる様々なタイプのデジタル補足が利用可能であり得る。デジタル補足は、インターネット上で利用可能なウェブページのような、ネットワークアクセス可能なリソースによって提供され得る。画像コンテンツクエリに応答して、これらのデジタル補足の位置を特定して提供する方法が必要である。ある実施形態は、画像コンテンツクエリに応答する際に使用するエンティティに関連付けられたデジタル補足のインデックスを生成して維持する。インデックスは、例えば、ネットワークアクセス可能なリソースをクローリングして当該ネットワークアクセス可能なリソースがデジタル補足を含むかまたは提供するか否かを判断し、それらのデジタル補足に関連付けられる補足アンカーを決定することによって、追加され得る。
【0014】
例えば、ネットワークアクセス可能なリソースは、デジタル補足が関連付けられる補足アンカー(例えば、テキスト、コード、エンティティ、またはエンティティの種類)を識別するメタデータを含み得る。メタデータは、ハイパーテキスト転送プロトコル(HTTP)要求に応答してネットワークアクセス可能なリソースによって含められ得る。メタデータは、XML(extensible markup language)、JavaScript Object Notation(JSON)、または他のフォーマットのような、様々なフォーマットで提供され得る。
【0015】
デジタル補足のためのメタデータは、以下のうちの1つまたは複数、すなわち、タイプインジケータ、アンカーインジケータ、名前、説明、コンテンツのスニペット(すなわち、コンテンツの一部分の抜粋またはプレビュー)、関連画像、デジタル補足へのURLのようなリンク、および、当該デジタル補足に関連付けられるアプリケーションの識別子、を含み得る。メタデータはまた、デジタル補足の発行者に関する情報を含み得る。たとえば、メタデータは、発行者名、発行者の説明、および、当該発行者に関連付けられる画像またはアイコンのうちの1つまたは複数を含み得る。ある実施形態では、メタデータは、デジタル補足を提供することに関連付けられるコンテキスト情報を含む。例えば、メタデータはまた、デジタル補足を提供すること又はデジタル捕捉にアクセスすることに関連付けられる条件(例えば、地理的条件、必要なアプリケーション)を含み得る。
【0016】
識別されたデジタル補足は、メモリに記憶されるインデックスに追加され得る。少なくともある実施形態では、デジタル補足のための関連付けられた補足アンカーは、インデックスに対するキーとして使用される。デジタル補足はまた、様々なスコアに関連付けられ得る。例えば、デジタル補足は、当該デジタル補足または当該デジタル補足に関連付けられるネットワークアクセス可能なリソースを参照する他のリンクが(例えば、ネットワークアクセス可能なリソースをクローリングしている間に)どれだけ見つかったかと、それらのリンクを提供するネットワークアクセス可能なリソースの名声とに基づく名声スコアに関連付けられ得る。別の例として、デジタル補足は、特定のアンカーに対するデジタル補足(または関連付けられるネットワークアクセス可能なリソース)の関連性に対応する1つまたは複数の関連性スコアに関連付けられ得る。関連性スコアはまた、キーワードまたは主題に関連付けられ得る。関連性スコアは、デジタル補足の内容、ネットワークアクセス可能なリソースの内容、ネットワークアクセス可能なリソースにリンクするサイトの内容、およびネットワークアクセス可能なリソースへのリンクの内容(たとえばテキスト)のうちの1つまたは複数に基づいて決定され得る。
【0017】
図1は、例示的な実施形態に従うシステム100を示すブロック図である。システム100は、デジタル補足をエンティティまたはエンティティタイプに関連付けることができ、ビジュアルサーチに応答してデジタル補足を取り出すことができる。ビジュアルサーチは、画像コンテンツに基づく検索である。例えば、ビジュアルサーチは、画像コンテンツクエリに基づいて実行され得る。画像コンテンツクエリは、画像または他の画像コンテンツに基づくクエリである。例えば、画像コンテンツクエリは、画像を含み得る。ある実施形態では、画像コンテンツクエリは、画像に基づくテキストまたはデータを含み得る。例えば、テキストまたはデータは、画像内の1つまたは複数のエンティティを認識することによって生成され得る。一部の画像コンテンツクエリは、画像を含まない(例えば、画像コンテンツクエリは、画像から生成されたデータまたはテキストのみを含み得る)。ある実施形態では、システム100は、クライアントコンピューティングデバイス102と、検索サーバ152と、デジタル補足サーバ172とを含む。また、クライアントコンピューティングデバイス102、検索サーバ152、およびデジタル補足サーバ172が通信し得るネットワーク190も示されている。
【0018】
クライアントコンピューティングデバイス102は、プロセッサアセンブリ104、通信モジュール106、センサシステム110、およびメモリ120を含み得る。センサシステム110は、カメラアセンブリ112、慣性運動ユニット(IMU)114、および全地球測位システム(GPS)受信機116のような、様々なセンサを含み得る。センサシステム110の実施形態はまた、例えば、光センサ、音声センサ、画像センサ、距離および/または近接センサ、容量センサなどの接触センサ、タイマ、および/または、他のセンサ、および/または、センサの異なる組み合せを含む他のセンサを含み得る。ある実施形態では、クライアントコンピューティングデバイス102は、モバイルデバイス(たとえば、スマートフォン)である。
【0019】
カメラアセンブリ112は、クライアントコンピューティングデバイス102の周りの物理的空間の画像または映像を取得する。カメラアセンブリ112は、1つまたは複数のカメラを含み得る。カメラアセンブリ112はまた、赤外線カメラを含み得る。カメラアセンブリ112で取得された画像は、アンカーを補足するために、および画像コンテンツクエリを形成するために識別するために、使用され得る。
【0020】
ある実施形態では、カメラアセンブリ112によって取得された画像はまた、メモリ120または外部コンピューティングデバイスから受信された物理的空間の表現に基づいて、内部空間のような物理的空間内のクライアントコンピューティングデバイス102の位置および向きを決定するために使用され得る。ある実施形態では、物理的空間の表現は、当該物理的空間の視覚的特徴(例えば、現実空間の画像から抽出される特徴)を含み得る。当該表現はまた、それらの特徴に関連付けられて、物理的空間の1つまたは複数の画像に基づいて物理的空間内の位置および/または場所を決定するために視覚的位置決めシステムによって使用され得る位置決定データを含み得る。当該表現はまた、物理的空間内の少なくともいくつかの構造の三次元モデルを含み得る。ある実施形態では、当該表現は、物理的空間の3次元モデルを含まない。
【0021】
IMU114は、クライアントコンピューティングデバイスの動作、動き、および/または加速度を検出し得る。IMU114は、たとえば、加速度計、ジャイロスコープ、磁力計、および他のそのようなセンサのような様々な異なるタイプのセンサを含み得る。クライアントコンピューティングデバイス102の向きは、IMU114またはGPS受信機116によって提供されるデータに基づいて検出および追跡され得る。
【0022】
GPS受信機116は、GPS衛星によって発信される信号を受信し得る。信号は、衛星の時間および位置を含む。いくつかの(例えば、少なくとも4つの)衛星から信号を受信することに基づいて、GPS受信機116は、クライアントコンピューティングデバイス102のグローバル位置を決定し得る。
【0023】
メモリ120は、アプリケーション122、他のアプリケーション140、およびデバイス測位システム142を含み得る。他のアプリケーション140は、クライアントコンピューティングデバイス102上で実行するためにインストールされるかまたはそうでなければ利用可能である任意の他のアプリケーションを含む。ある実施形態では、アプリケーション122は、他のアプリケーション140のうちの1つに、デジタル補足を提供させ得る。ある実施形態では、いくつかのデジタル補足は、他のアプリケーション140が、デジタル補足に関連付けられ又は当該デジタル補足を提供するために必要とされる特定のアプリケーションを含む場合にのみ、利用可能であり得る。
【0024】
デバイス測位システム142は、クライアントコンピューティングデバイス102の位置を決定する。デバイス測位システム142は、クライアントコンピューティングデバイス102の位置および向きをグローバルにまたは物理的空間内で決定するために、センサシステム110を使用し得る。ある実施形態では、デバイス測位システム142は、たとえば、セルラー三角測量に基づいて、クライアントコンピューティングデバイス102の位置を決定する。
【0025】
ある実施形態では、クライアントコンピューティングデバイス102は、カメラアセンブリ112によって取得された画像(またはそれらの画像から抽出される特徴)を、物理的空間の表現内の特徴の既知の配置と比較し、物理的空間内のクライアントコンピューティングデバイス102の6自由度の姿勢(たとえば、位置および向き)を決定する視覚的測位システムを含み得る。
【0026】
アプリケーション122は、補足アンカー識別エンジン124、デジタル補足検索エンジン126、デジタル補足提示エンジン128、および、ユーザインターフェイスエンジン130を含み得る。アプリケーション122のある実施形態は、より少ない、追加の、または他の構成要素を含み得る。
【0027】
補足アンカー識別エンジン124は、例えば、カメラアセンブリ112で取得された画像に基づいて補足アンカーを識別する。ある実施形態では、補足アンカー識別エンジン124は、テキストを識別するために画像を分析する。当該テキストは、次いで、アンカーを識別するために使用され得る。例えば、テキストは、知識グラフ内のノードにマッピングされ得る。たとえば、テキストは、人、場所、製品、建物、アートワーク、映画、または他のタイプのエンティティのような、エンティティの名前として認識され得る。ある実施形態では、テキストは、特定のエンティティに一般に関連付けられるフレーズとして、または、特定のエンティティを記述するフレーズとして認識され得る。例えば、テキストは、次いで、当該特定のエンティティに関連付けられたアンカーとして認識され得る。
【0028】
ある実施形態では、補足アンカー識別エンジン124は、画像内でバーコード、QRコード(登録商標)、または別のタイプのコードのような、1つまたは複数のコードを識別する。次いで、コードは、補足アンカーにマッピングされ得る。
【0029】
補足アンカー識別エンジン124は、画像内の少なくともいくつかのタイプのエンティティを認識できる機械学習モジュールを含み得る。例えば、機械学習モジュールは、ニューラルネットワークシステムを含み得る。ニューラルネットワークは、機械学習に使用される計算モデルであり、重み付き接続を有する層に編成されたノードから構成される。ニューラルネットワークをトレーニングすることは、複数のトレーニング例を使用し、各例は入力および所望の出力であり、一連の反復ラウンドにわたって、ニューラルネットワークが所与の入力に対して所望の出力を提供する可能性を増加させる層間の接続の重み値を決定する。各トレーニングラウンドの間、当該重みは、誤った出力値に対処するように調整される。トレーニングされると、ニューラルネットワークは、提供された入力に基づいて出力を予測するために使用され得る。
【0030】
ある実施形態では、ニューラルネットワークシステムは、畳み込みニューラルネットワーク(CNN)を含む。畳み込みニューラルネットワーク(CNN)は、ニューラルネットワークの層のうちの少なくとも1つが畳み込み層であるニューラルネットワークである。畳み込み層は、前の層の値のサブセットにカーネル関数を適用することに基づいて層の値が計算される層である。ニューラルネットワークをトレーニングすることは、トレーニング例に基づいてカーネル関数の重みを調整することを含み得る。典型的には、同じカーネル関数が、畳み込み層における各値を計算するために使用され得る。したがって、畳み込み層をトレーニングしながら学習しなければならない重みは、ニューラルネットワークにおいて完全に接続された層(例えば、ある層内の各値が、前の層内の各値の独立して調整されて重み付けされた組み合わせとして計算される層)よりもはるかに少ない。畳み込み層の重みは通常より少ないため、畳み込み層をトレーニングすることおよび使用することは、同等の完全に接続された層よりも少ないメモリ、プロセッササイクル、および時間を必要とし得る。
【0031】
補足アンカー識別エンジン124が画像内のエンティティまたはエンティティタイプを認識した後、エンティティまたはエンティティタイプのテキスト記述が生成され得る。加えて、エンティティまたはエンティティタイプは、補足アンカーにマッピングされ得る。ある実施形態では、補足アンカーは、1つまたは複数のデジタル補足に関連付けられる。
【0032】
ある実施形態では、補足アンカー識別エンジン124は、認識されたアンカーの信頼スコアを決定する。より高い信頼スコアは、より低い信頼スコアが決定された場合よりも、画像からのコンテンツ(例えば、画像、抽出されたテキスト、バーコード、QRコード(登録商標))が、決定されたアンカーに関連付けられる可能性が高いことを示し得る。
【0033】
図1の例は、クライアントコンピューティングデバイス102上のアプリケーション122の構成要素として補足アンカー識別エンジン124を示すが、ある実施形態は、検索サーバ152上の補足アンカー識別エンジンを含む。例えば、クライアントコンピューティングデバイス102は、カメラアセンブリ112によって取得された画像を検索サーバ152に送信することができ、検索サーバ152は、画像内の補足アンカーを識別し得る。
【0034】
ある実施形態では、補足アンカー識別エンジン124は、潜在的な補足アンカーを識別する。例えば、補足アンカー識別エンジン124は、画像内の様々なエンティティを識別(認識)し得る。次いで、認識されたエンティティの識別子は、検索サーバ152に送信されることができ、検索サーバ152は、エンティティのいずれかが任意の補足アンカーに関連付けられているかどうかを決定し得る。ある実施形態では、検索サーバ152は、識別されたエンティティが補足アンカーでない場合であっても、識別されたエンティティをコンテキスト情報として使用し得る。
【0035】
デジタル補足検索エンジン126は、デジタル補足を検索する。例えば、デジタル補足検索エンジン126は、補足アンカー識別エンジン124によって識別された補足アンカーに関連付けられるデジタル補足を検索し得る。ある実施形態では、デジタル補足検索エンジン126は、検索サーバ152またはデジタル補足サーバ172からデジタル補足を検索する。
【0036】
例えば、補足アンカーが識別された後、デジタル補足検索エンジン126は、識別された補足アンカーに関連付けられる1つまたは複数のデジタル補足を検索し得る。デジタル補足検索エンジン126は、画像(または画像内の補足アンカーまたはエンティティの識別子)を含む画像コンテンツクエリを生成し得、その画像コンテンツクエリを検索サーバ152に送信し得る。画像コンテンツクエリはまた、クライアントコンピューティングデバイス102の位置のようなコンテキスト情報を含み得る。ある実施形態では、名前、画像、または説明のような、デジタル補足に関連するデータが取り出されて、(例えば、ユーザインターフェイスエンジン130によって)ユーザに提示される。複数のデジタル補足が提示される場合、ユーザは、ユーザインターフェイスエンジン130によって生成されたユーザインターフェイスを介して、デジタル補足のうちの1つを選択し得る。
【0037】
デジタル補足提示エンジン128は、デジタル補足をクライアントコンピューティングデバイス102上に提示するか、または提示させる。ある実施形態では、デジタル補足提示エンジン128は、クライアントコンピューティングデバイスに他のアプリケーション140のうちの1つを開始させる。ある実施形態では、デジタル補足提示エンジン128は、情報またはコンテンツを表示させる。例えば、デジタル補足提示エンジン128は、ユーザインターフェイスエンジン130に、クライアントコンピューティングデバイス102によって表示されるデジタル補足からの情報またはコンテンツを含むユーザインターフェイスを生成させ得る。ある実施形態では、デジタル補足提示エンジン128は、デジタル補足検索エンジン126がデジタル補足を検索することによってトリガされる。次いで、デジタル補足提示エンジン128は、デジタル補足に関連付けられるコンテンツを表示するために、ディスプレイデバイス108をトリガし得る。ある実施形態では、デジタル補足提示エンジン128は、デジタル補足検索エンジン126がデジタル補足を検索する時とは異なる時にデジタル補足を表示させる。例えば、デジタル補足は、第1の時点で画像コンテンツクエリに応答して検索されてもよく、また、デジタル補足は、第2の時点で提示され得る。例えば、デジタル補足は、第1の時間(例えば、ユーザがカタログを見ている間、または店にいる間である)にカタログまたは店からの家財道具または家具の画像に基づく画像コンテンツクエリに応答して検索され得る。家財道具または家具のARコンテンツを含むデジタル補足は、第2の時間(例えば、ユーザが家財道具または家具が設置され得る部屋にいる間)に提示され得る。
【0038】
ユーザインターフェイスエンジン130は、ユーザインターフェイスを生成する。ユーザインターフェイスエンジン130はまた、クライアントコンピューティングデバイス102に、生成されたユーザインターフェイスを表示させることもできる。生成されたユーザインターフェイスは、例えば、デジタル補足からの情報またはコンテンツを表示し得る。ある実施形態では、ユーザインターフェイスエンジン130は、各々がデジタル補足に関連付けられる複数のユーザ作動可能な制御を含むユーザインターフェイスを生成する。例えば、ユーザは、(例えば、タッチスクリーン上のコントロールに触れること、マウスまたは別の入力装置を使用してコントロールをクリックすること、またはそうでなければコントロールを作動させることによって)、ユーザ作動可能な制御のうちの1つを作動させ得る。
【0039】
検索サーバ152は、コンピューティングデバイスである。検索サーバ152は、画像コンテンツクエリのような検索要求に応答し得る。当該応答は、画像コンテンツクエリに潜在的に関連する1つまたは複数のデジタル補足を含み得る。ある実施形態では、検索サーバ152は、メモリ160と、プロセッサアセンブリ154と、通信モジュール156とを含む。メモリ160は、コンテンツクローラ162、デジタル補足検索エンジン164、および、デジタル補足データ記憶部166を含み得る。
【0040】
コンテンツクローラ162は、デジタル補足を識別するためにネットワークアクセス可能なリソースをクローリングし得る。例えば、コンテンツクローラ162は、デジタル補足サーバ172によって提供されるウェブページのような、インターネットを介してアクセス可能なウェブページにアクセスし得る。ネットワークアクセス可能なリソースをクローリングすることは、ウェブサーバからリソースを要求することと、当該リソースの少なくとも一部分を分析することとを含み得る。デジタル補足は、デジタル補足に関する情報を提供するXMLまたはJSONデータのような、ネットワークアクセス可能なリソースによって提供されるメタデータに基づいて識別され得る。ある実施形態では、クローラは、以前にクロールされたネットワークアクセス可能なリソースからリンクを抽出することに基づいて、ネットワークアクセス可能なリソースを識別する。コンテンツクローラ162はまた、ユーザによって提出された入力の受信に基づいて、クロールすべきネットワークアクセス可能なリソースを識別し得る。例えば、ユーザは、ウェブフォームまたはアプリケーションプログラミングインターフェイス(API)を介して、デジタル補足を含むネットワークアクセス可能なリソースにURL(または他の情報)を提出し得る。ある実施形態では、コンテンツクローラ162は、識別されたデジタル補足のインデックスを生成する。コンテンツクローラ162はまた、関連性スコアまたは人気(名声)スコアのような、デジタル補足に関連付けられるスコアを生成し得る。
【0041】
デジタル補足検索エンジン164は、検索クエリを受信し、1つまたは複数の潜在的に関連するデジタル補足を含み得る応答を生成する。例えば、デジタル補足検索エンジン164は、クライアントコンピューティングデバイス102から画像コンテンツクエリを受信し得る。画像コンテンツクエリは、画像を含み得る。デジタル補足検索エンジン164は、画像内の補足アンカーを識別し得、識別された補足アンカーに基づいて、関連付けられた、または潜在的に関連するデジタル補足を識別し得る。デジタル補足検索エンジン164は、デジタル補足または当該デジタル補足にアクセスするために使用され得る情報を含む応答をクライアントコンピューティングデバイス102に送信し得る。ある実施形態では、デジタル補足検索エンジン164は、複数のデジタル補足に関連付けられる情報を返し得る。例えば、デジタル補足のリストは、クエリに対する応答に含まれ得る。当該リストは、補足アンカーへの関連性、人気、またはデジタル補足の他の特性に基づいて、順序付けされ得る。
【0042】
画像コンテンツクエリは、例えば、カメラアセンブリ112によって取得された画像、または、カメラアセンブリ112によって取得された画像に関連付けられるテキストもしくは他のデータを含み得る。画像コンテンツクエリはまた、クライアントコンピューティングデバイス102の位置またはクライアントコンピューティングデバイス102のユーザの識別子のような他の情報を含み得る。ある実施形態では、検索サーバ152は、(例えば、もし、ユーザが、当該ユーザの位置に関する情報をユーザのアカウントに関連付ける位置サービスをクライアントコンピューティングデバイス102上で有効にした場合)、ユーザ識別子からクライアントコンピューティングデバイス102の予想される位置を決定し得る。
【0043】
デジタル補足データ記憶部166は、デジタル補足に関する情報を記憶する。ある実施形態では、デジタル補足データ記憶部166は、デジタル補足のインデックスを含む。例えば、インデックスは、コンテンツクローラ162によって生成され得る。デジタル補足検索エンジン164は、検索クエリに応答するためにインデックスを使用し得る。
【0044】
デジタル補足サーバ172は、コンピューティングデバイスである。デジタル補足サーバ172は、デジタル補足を提供する。ある実施形態では、デジタル補足サーバ172は、メモリ180と、プロセッサアセンブリ174と、通信モジュール176とを含む。メモリ180は、デジタル補足182およびメタデータ184を含み得る。ある実施形態では、メモリ180はまた、必ずしもデジタル補足ではないウェブページのような他のネットワークアクセス可能なリソースを含み得る。たとえば、メモリ180は、1つまたは複数のデジタル補足に関する詳細およびそれらのデジタル補足にアクセスする方法を提供するためのメタデータを含むウェブページを記憶し得る。さらに、メモリ180は、例えば、ウェブページおよびデジタル補足のようなネットワークアクセス可能なリソースを用いてHTTP要求のような要求に応答する、ウェブサーバのようなリソースサービス提供エンジンを含み得る。
【0045】
デジタル補足182は、ユーザの周囲の物理的環境において何かに対する補足として提供され得る任意の種類のコンテンツである。デジタル補足182はまた、(例えば、ユーザ周辺の以前の物理的環境の)格納された画像を補足できる任意のタイプのコンテンツを含み得る。例えば、デジタル補足は、画像、当該画像内で識別されるオブジェクトもしくは製品、または、場所のような補足アンカーに関連付けられ得る。デジタル補足182は、1つまたは複数の画像、オーディオコンテンツ、テキストデータ、映像、ゲーム、データファイル、アプリケーション、または構造化されたテキスト文書を含み得る。構造化されたテキスト文書の例は、ハイパーテキストマークアップ言語(HTML)文書、XML文書、および他の種類の構造化されたテキスト文書を含む。
【0046】
デジタル補足182は、アプリケーションを起動させることができ、そのアプリケーションに対するパラメータを定義し得る。デジタル補足182はまた、要求をサーバに送信させ(例えば、HTTP要求)、その要求に対するパラメータを定義し得る。ある実施形態では、デジタル補足182は、購入を完了するためのワークフローのような、活動を完了するためのワークフローとして開始する。例えば、デジタル補足182は、特定の商品をユーザのショッピングカートに追加し、クーポンコードを追加し、そして、購入確認ページを検索するサーバに、HTTP要求を送信し得る。
【0047】
メタデータ184は、デジタル補足を記述するデータである。メタデータ184は、デジタル補足サーバ172によって提供される又は他の場所に提供される、1つまたは複数のデジタル補足を記述し得る。デジタル補足のためのメタデータ184は、以下のうちの1つ以上を含み得る:タイプインジケータ、アンカーインジケータ、名前、説明、プレビュースニペットまたは抜粋、関連する画像、デジタル補足に対するURLのようなリンク、およびデジタル補足に関連付けられるアプリケーションの識別子。メタデータはまた、発行者名、発行者の説明、および発行者に関連付けられる画像またはアイコンのような、デジタル補足の発行者に関する情報を含み得る。ある実施形態では、メタデータはまた、デジタル補足に関するコンテキスト情報、またはデジタル補足を提供するために満足しなければならないコンテキスト情報を含む。例えば、メタデータは、デジタル補足にアクセスするために満たされなければならない条件(例えば、地理的条件、クライアントコンピューティングデバイス要件、必要なアプリケーション)を含み得る。例示的なコンテキスト情報は、位置、画像内で識別されるエンティティ、または画像内で識別される複数のエンティティ(例えば、いくつかのデジタル補足は、画像内で認識されるエンティティの組み合わせを必要とする場合がある)を含む。認識されたエンティティは、補足アンカーであり得る。ある実施形態では、認識されたエンティティは、アンカーを補足せず、代わりにコンテキスト情報を提供する。メタデータ184はまた、デジタル補足に関連付けられる補足アンカー(例えば、テキスト、コード、エンティティ、またはエンティティのタイプ)を含み得る。
【0048】
メタデータ184は、様々な形式で格納され得る。ある実施形態では、メタデータ184はデータベースに格納される。メタデータ184は、XMLファイル、JSONファイル、または他のフォーマットファイルとして格納され得る。ある実施形態では、デジタル補足サーバ172は、データベースからメタデータ184を取り出し、XML、JSONとしてメタデータ184をフォーマットし、またはそうでなければ、クライアントまたは検索サーバ152からの要求に対する応答を提供する。例えば、検索サーバ152は、デジタル補足データ記憶部166に記憶され、かつ、クライアントコンピューティングデバイス102からの検索要求に応答するために使用されるデータを生成するために、メタデータ184にアクセスし得る。
【0049】
通信モジュール106は、検索サーバ152またはデジタル補足サーバ172のような、他のコンピューティングデバイスと通信するための1つまたは複数のデバイスを含む。通信モジュール106は、ネットワーク190のような無線または有線ネットワークを介して通信し得る。検索サーバ152の通信モジュール156およびデジタル補足サーバ172の通信モジュール176は、通信モジュール106と同様であり得る。
【0050】
ディスプレイデバイス108は、例えば、LCD(液晶ディスプレイ)画面、LED(発光ダイオード)画面、OLED(有機発光ダイオード)画面、タッチ画面、または画像もしくは情報をユーザに表示するための任意の他の画面もしくはディスプレイを含み得る。ある実施形態では、ディスプレイデバイス108は、ユーザの目の一部に光を投影するように構成された光プロジェクタを含む。
【0051】
メモリ120は、1つまたは複数の非一時的コンピュータ読み取り可能な記憶媒体を含み得る。メモリ120は、取得された画像に基づいて画像コンテンツクエリを生成し、画像コンテンツクエリを送信し、当該画像コンテンツクエリに対する応答を受信し、画像コンテンツクエリに対する応答において識別されるデジタル補足を提示するために、のように、本明細書で説明される技術を実施するためにクライアントコンピューティングデバイス102によって使用可能な命令およびデータを記憶し得る。検索サーバ152のメモリ160およびデジタル補足サーバ172のメモリ180は、メモリ120と同様であり得、それぞれ、検索サーバ152およびデジタル補足サーバ172の技術を実施するために使用可能なデータ命令を記憶し得る。
【0052】
プロセッサアセンブリ104は、ビジュアルサーチのためのデジタル補足関連付けおよび検索に関連付けられる様々なタスクを実行するために、メモリ120によって格納された命令のような、命令を実行可能な1つまたは複数のデバイスを含む。たとえば、プロセッサアセンブリ104は、中央処理ユニット(CPU)および/またはグラフィックプロセッサユニット(GPU)を含み得る。たとえば、GPUが存在する場合、ユーザインターフェイスの生成および表示、またはデジタル補足の部分の表示のような、いくつかの画像/ビデオレンダリングタスクは、CPUからGPUにオフロードされ得る。ある実施形態では、いくつかの画像認識タスクはまた、CPUからGPUにオフロードされ得る。
【0053】
図1は示さないが、ある実施形態は、ヘッドマウンテッドディスプレイデバイス(HMD)を含む。HMDは、クライアントコンピューティングデバイス102とは別個のデバイスであってもよく、または、クライアントコンピューティングデバイス102は、HMDを含み得る。ある実施形態では、クライアントコンピューティングデバイス102は、ケーブルを介してHMDと通信する。例えば、クライアントコンピューティングデバイス102は、映像信号および/またはオーディオ信号をHMDに送信して、ユーザに表示することができ、HMDは、動き、位置、および/または、向き情報をクライアントコンピューティングデバイス102に送信し得る。
【0054】
クライアントコンピューティングデバイス102はまた、ワイヤレス通信プロトコルを使用してクライアントコンピューティングデバイス102と通信するコントローラのような、様々なユーザ入力構成要素(図示しない)を含み得る。ある実施形態では、クライアントコンピューティングデバイス102は、有線接続(例えば、ユニバーサルシリアルバス(USB)ケーブル)を介して、または無線通信プロトコル(例えば、任意のWiFiプロトコル、任意のBlueToothプロトコル、Zigbee(登録商標)など)を介して、HMD(図示しない)と通信し得る。ある実施形態では、クライアントコンピューティングデバイス102は、HMDの構成要素であり、HMDのハウジング内に収容され得る。
【0055】
ネットワーク190は、インターネット、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、および/または任意の他のネットワークであり得る。クライアントコンピューティングデバイス102は、例えば、オーディオ/映像信号を受信でき、これは、一例の例示的な実施形態では、デジタル補足の一部として、ネットワークを介して提供され得る。
【0056】
図2は、クライアントコンピューティングデバイス102の実施形態がデジタル補足にアクセスしている例示的な物理的空間200の三人称視点である。この例では、物理的空間200はオブジェクト222を含む。ここで、オブジェクト222は、物理的空間200の壁上のアートワークである。オブジェクト222は、クライアントコンピューティングデバイス102のカメラアセンブリ112の視野204内に含まれる。
【0057】
例示的なユーザインターフェイス画面206も示されている。ユーザインターフェイス画面206は、例えば、クライアントコンピューティングデバイス102のユーザインターフェイスエンジン130によって生成され得る。ユーザインターフェイス画面206は、画像表示パネル208およびデジタル補足選択パネル210を含む。画像表示パネル208は、画像を表示する。例えば、画像表示パネル208は、クライアントコンピューティングデバイス102のカメラアセンブリ112からのリアルタイムフィードに対応する画像を示し得る。ある実施形態では、画像表示パネル208は、以前に取得された画像またはクライアントコンピューティングデバイス102のメモリ120から取り出された画像を示す。
【0058】
ある実施形態では、ユーザインターフェイス画面206は、クライアントコンピューティングデバイス102のディスプレイデバイス上でユーザに提示される。ある実施形態では、ユーザインターフェイス画面206は、物理的空間の画像(または、コンピューティングデバイスのカメラによって取得されている映像フィード)上にそのようにオーバーレイされ得る。加えて、ユーザインターフェイス画面206は、ユーザによって装着されたHMDを使用して、ユーザの視野にわたってARコンテンツとして表示され得る。
【0059】
画像表示パネル208はまた、画像に関連する注釈またはユーザインターフェイス要素を含み得る。例えば、画像表示パネル208は、画像内のオブジェクト(例えば、オブジェクト222)が補足アンカーとして認識されたというインジケータを含み得る。当該インジケータは、識別された補足アンカーに関連付けられるデジタル補足に関する情報にアクセスまたは閲覧するための、ユーザ作動可能コントロールを含み得る。ある状況では、画像表示パネル208に表示される画像は、補足アンカーとして認識される複数のオブジェクトを含んでもよく、画像表示パネル208は、それらの補足アンカーを識別するために画像を重ねる複数の注釈を含み得る。
【0060】
補足アンカーは、クライアントコンピューティングデバイス102の補足アンカー識別エンジンによって認識され得る。ある実施形態では、補足アンカーは、画像を検索サーバ152に送信することによって識別される。次いで、検索サーバ152は、画像を分析し、当該画像内の補足アンカーを識別し得る。ある実施形態では、検索サーバ152は、補足アンカーに関連付けられる位置(たとえば、画像座標)または任意の識別されたオブジェクトのディメンジョンのうちの1つまたは複数を、クライアントコンピューティングデバイス102に送信し得る。次いで、クライアントコンピューティングデバイス102は、画像内の補足アンカー(または関連付けられたオブジェクト)を識別する注釈を示すためにユーザインターフェイス画面を更新し得る。ある実施形態では、クライアントコンピューティングデバイス102は、カメラアセンブリ112によって取得された映像ストリーム(たとえば、順次に取得された画像シーケンス)内の補足アンカー(または関連付けられたオブジェクト)の位置を追跡し得る(例えば、補足アンカー識別エンジン124は、検索サーバ152によって識別された補足アンカーを追跡し得る)。
【0061】
デジタル補足選択パネル210は、提示のためのデジタル補足をユーザが選択することを可能にする。例えば、デジタル補足選択パネル210は、各々がデジタル補足に関連付けられるユーザ作動可能コントロールを含むメニューを含み得る。この例では、デジタル補足選択パネル210は、各々が関連付けられたデジタル補足に関する情報を含む、ユーザ作動可能コントロール212およびユーザ作動可能コントロール214を含む。例えば、当該ユーザ作動可能コントロールは、検索サーバ152から受信され得る、名前(またはタイトル)、簡単な説明、および当該デジタル補足に関連付けられた画像のうちの1つまたは複数を表示し得る。ユーザ作動可能コントロール212またはユーザ作動可能コントロール214が作動すると、関連付けられたデジタル補足のコンテンツがユーザに提示され得る。デジタル補足をユーザに提示することは、クライアントコンピューティングデバイス102に、当該デジタル補足からの画像、映像、テキスト、他のコンテンツ、またはそれらの組み合わせを含むユーザインターフェイス画面を表示させることを含み得る。ある実施形態では、デジタル補足コンテンツは、画像またはカメラフィード上で画像表示パネル208上にオーバーレイとして表示される。デジタル補足コンテンツは、三次元の拡張現実コンテンツであり得る。
【0062】
ある実施形態では、デジタル補足を提示することは、クライアントコンピューティングデバイス102にインストールされているアプリケーション(例えば、他のアプリケーション140の1つ)を起動することを含む。デジタル補足を提示することはまた、当該デジタル補足に関連付けられるURLに要求を送信することを含み得る。当該要求は、画像内で識別される製品またはオブジェクトの識別子のような、デジタル補足に関連付けられたパラメータを含み得る。ある実施形態では、画像コンテンツクエリからの画像(または他のコンテンツ)は、当該要求とともにパラメータを渡される。画像はまた、デジタル補足サーバ172に関連付けられたAPIを介して提供され得る。ある実施形態では、クライアントコンピューティングデバイス102は、画像をデジタル補足サーバ172に送信する。ある実施形態では、検索サーバ152は、画像をデジタル補足サーバ172に送信し得る。例えば、ユーザがデジタル補足を選択することに応答して、クライアントコンピューティングデバイス102は、選択のインジケータを検索サーバ152に送信でき、次いで、検索サーバ152は、対応するデジタル補足サーバに画像を送信し得る。クライアントコンピューティングデバイス102はまた、デジタル補足サーバ172が画像にアクセスするために使用できる検索サーバ152上の場所にURLを送信し得る。有益なことに、これらの実施は、当該クライアントコンピューティングデバイスが送信する必要があるデータの量を削減し得る。
【0063】
ユーザ作動可能コントロール212に関連付けられたデジタル補足は、美術館からの情報のようなオブジェクト222についての情報を表示させ得る。ユーザ作動可能コントロール214に関連付けられたデジタル補足は、美術館に関連する情報を表示させ得る。例えば、デジタル補足の提示は、美術館ツアー上の停止場所を完了したとして印をつけさせ、次の停止場所の情報を表示させ得る。
【0064】
図3は、本明細書で説明される実施形態に従う、デジタル補足のトリガを有効化する例示的な方法300の図である。この方法300は、例えば、検索サーバ152のコンテンツクローラ162によって実行されて、ユーザが画像コンテンツクエリに基づいてデジタル補足にアクセスすることを可能にし得る。
【0065】
動作302において、デジタル補足を指定するデータが受信される。当該データは、デジタル補足およびデジタル補足が提供されるべき状況を識別し得る。デジタル補足を指定するデータは、様々な方法で受信され得る。例えば、デジタル補足を指定するデータは、デジタル補足に関するメタデータを含むウェブページのようなネットワークアクセス可能なリソースから受信され得る。デジタル補足を指定するデータはまた、例えば、検索サーバ152によって提供されるAPIまたはフォームを介して受信され得る。デジタル補足を指定するデータはまた、メモリロケーションまたはデータストアから受信され得る。
【0066】
デジタル補足に関するデータは、デジタル補足にアクセスするためにクライアントコンピューティングデバイスによって使用可能なアクセスデータを含み得る。例えば、アクセスデータは、デジタル補足のURLと、そのURLに渡されるパラメータとを含み得る。アクセスデータはまた、アプリケーションの識別子および当該アプリケーションのためのパラメータを含み得る。デジタル補足に関するデータはまた、デジタル補足に関する記述データを含み得る。当該記述データは、デジタル補足に関する情報をユーザに(例えば、ユーザがデジタル補足を選択し得るメニュー上で)提示するためにクライアントコンピューティングデバイスによって使用され得る。当該記述データは、たとえば、名前(またはタイトル)、説明、出版社の名前、および画像を含み得る。デジタル補足に関するデータはまた、補足アンカーの識別子を含み得る。
【0067】
動作304において、受信データに基づくデータ構造インスタンスが生成される。データ構造は、例えば、データベース内のレコードであり得る。データベースはリレーショナルデータベースであってもよく、データ構造インスタンスは、補足アンカーに関連付けられた1つまたは複数のレコードに(たとえば、外のキーを介して)リンクされ得る。
【0068】
動作306において、データ構造インスタンスを生成した後、画像コンテンツクエリによるデジタル補足の検索が可能になる。例えば、データ構造インスタンスに関連付けられたデータベースフィールドは、デジタル補足検索エンジン164が、当該関連付けられたデジタル補足にアクセスして返すことができるように、アクティブに設定され得る。ある実施形態では、デジタル補足のトリガは、データベースのレコードを保存またはコミットすることを含み得る。ある実施形態では、デジタル補足の検索を可能にすることは、クライアントコンピューティングデバイスによるデジタル補足のトリガを有効化することを含む。例えば、インスタンスが生成された後、デジタル補足は、検索に応答してクライアントコンピューティングデバイスに戻され、クライアントコンピューティングデバイスによってアクティブにされ又は提示され得る。
【0069】
図4は、本明細書で説明される実施形態に従う、デジタル補足のトリガを有効化する例示的な方法400の図である。この方法400は、例えば、検索サーバ152のコンテンツクローラ162によって実行されて、ユーザが画像コンテンツクエリに基づいてデジタル補足にアクセスすることを可能にし得る。
【0070】
動作402において、ネットワークアクセス可能なリソースが分析される。ある実施形態では、ネットワークアクセス可能なリソースは、たとえば、デジタル補足サーバ172によって提示されるウェブページである。ある実施形態では、一組のネットワークアクセス可能なリソースが分析される。当該一組のネットワークアクセス可能なリソースは、フォームまたはAPIを介した提出に基づいて生成され得る。ある実施形態では、当該一組のネットワークアクセス可能なリソースは、URLを識別するために他のネットワークアクセス可能なリソースをクローリングすることによって生成され得る。このクローリングプロセスは、再帰的に実行され得る。
【0071】
動作404において、ネットワークアクセス可能なリソース内のデジタル補足に関連付けられるメタデータが識別される。ある実施形態では、ネットワークアクセス可能なリソースは、デジタル補足に関連付けられるメタデータのインジケータを含み得る。例えば、ネットワークアクセス可能なリソースは、メタデータを含むネットワークアクセス可能なリソースの一部分を識別するタグを含み得る。当該タグは、特定のタイプまたは属性を有するXMLタグであり得る。当該タグは、メタデータを含むJSONデータ構造を含むスクリプトタグのようなHTMLタグであり得る。
【0072】
動作406において、メタデータに基づくデジタル補足データ構造インスタンスが生成される。動作406は、動作304と同様であり得る。
【0073】
動作408において、画像コンテンツクエリが受信される。画像コンテンツクエリは、例えば、クライアントコンピューティングデバイス102のようなクライアントコンピューティングデバイスによって送信され得る。ある実施形態では、画像コンテンツクエリは画像を含む。画像コンテンツクエリはまた、画像を記述するテキストデータを含み得る。たとえば、テキストデータは、当該クライアントコンピューティングデバイスのカメラアセンブリによって取得された画像内の補足アンカーの識別子を含み得る。ある実施形態では、画像コンテンツクエリはまた、当該クライアントコンピューティングデバイスの位置またはクライアントコンピューティングデバイスに関連付けられたユーザアカウントの識別子のような、他の情報を含む。
【0074】
動作410において、複数のデジタル補足データ構造インスタンスは、画像コンテンツクエリに基づいて識別される。ある実施形態では、補足アンカーは、画像コンテンツクエリで提供される画像内で識別される。次いで、補足アンカーは、関連付けられたデジタル補足についてインデックスまたはデータベースに問い合わせるために使用され得る。ある実施形態では、クエリとともに提供される他のデータは、クライアントコンピューティングデバイスの位置またはユーザアカウントに関連付けられた情報のような、デジタル補足も識別するために使用され得る。ある実施形態では、複数の補足アンカーは、関連付けられる補足アンカーを識別するために使用され得る。
【0075】
動作412において、複数のデジタル補足データ構造インスタンスの順序付けが、決定される。当該順序付けは、デジタル補足に関連付けられる様々なスコア、または画像コンテンツクエリに対するデジタル補足の関連性に基づき得る。ある実施形態では、画像コンテンツクエリに対するデジタル補足の関連性に対応する関連性スコアは、複数のデジタル補足データ構造インスタンスを順序付けるために使用され得る
関連性スコアは、デジタル補足の内容、当該デジタル補足にリンクするネットワークアクセス可能なリソース(または、デジタル補足に関連付けられたネットワークアクセス可能なリソース)のコンテンツ、リンクテキスト、または、他のネットワークアクセス可能なリソース上のデジタル補足へのリンクの近くのコンテンツのうちの1つまたは複数のような、複数の因子から決定され得る。
【0076】
スコアはまた、人気メトリックに基づき得る。名声メトリックは、人気メトリックの一例である。当該名声メトリックは、何個の他のネットワークリソースがデジタル補足にリンクするかと、それらの他のネットワークアクセス可能なリソースの名声スコアとの組み合わせに基づき得る。ある実施形態では、人気スコアは、デジタルリソースがどのくらい頻繁に選択されるか又は選択されたかに基づき得る。ある実施形態では、人気スコアは、デジタルリソースが画像コンテンツクエリのためにどのくらい頻繁に選択されるかに対応し得る。
【0077】
スコアは、決定されてもよく、又は、データストアもしくはAPIから取り出され得る。ある実施形態では、APIは、デジタル補足のスコアを取り出すためにアクセスされる。例えば、スコアは、補足アンカーに基づく検索用語に関してデジタルリソースの関連性および/または人気を決定した検索エンジンから検索され得る。
【0078】
複数のデジタル補足データ構造はまた、特定のユーザ(例えば、クライアントコンピューティングデバイスのユーザ)による使用頻度または当該特定のユーザによる最近の使用(recency)に基づいて順序付けされ得る。ある実施形態では、複数のデジタル補足データ構造は、ランダムに順序付けられる。
【0079】
動作414において、画像コンテンツクエリは、複数のデジタル補足データ構造インスタンスに基づいて応答される。例えば、複数のデジタル補足データ構造インスタンスに関連付けられる情報は、動作412において決定された順序でクライアントコンピューティングデバイスに送信され得る。ある実施形態では、当該情報は、デジタル補足のユーザ選択を受信するように構成されたメニューまたは別のタイプのユーザインターフェイス内に示され得る記述データを含む。当該情報はまた、デジタル補足にアクセスまたは提示するためにクライアントコンピューティングデバイスによって使用され得るアクセスデータを含み得る。
【0080】
図5は、本明細書で説明される実施形態に従う、デジタル補足を検索し提示する例示的な方法500の図である。この方法500は、画像コンテンツクエリに基づいてデジタル補足を識別して当該デジタル補足にアクセスするために、例えば、クライアントコンピューティングデバイス102のアプリケーション122によって実行され得る。
【0081】
動作502において、画像に基づく画像コンテンツクエリは、サーバコンピューティングデバイス(例えば、検索サーバ152)に送信される。例えば、画像は、クライアントコンピューティングデバイス102のカメラアセンブリ112で取得され得る。当該画像はまた、カメラアセンブリ112によって以前に取得された画像のような記憶された画像であり得る。ある実施形態では、画像コンテンツクエリは、画像のみを含む。ある実施形態では、画像コンテンツクエリは、追加情報を含む。たとえば、画像コンテンツクエリは、クライアントコンピューティングデバイス102の位置またはクライアントコンピューティングデバイス102のユーザに関連付けられたアカウントの識別子のような情報を含み得る。アプリケーション122はまた、(例えば、補足アンカー識別エンジン124を用いて)画像内のアンカーを識別し得る。画像コンテンツクエリは、識別されたアンカーの識別子(例えば、テキスト、数字、または他の種類の識別子)を含み得る。少なくともある実施形態では、画像コンテンツクエリは、画像を含まない。
【0082】
ある実施形態では、画像コンテンツクエリをサーバに送信することは、APIを呼び出すことを含む。ある実施形態では、画像コンテンツクエリをサーバに送信することは、サーバによって提供されるAPIを呼び出すことを含む。ある実施形態では、画像コンテンツクエリをサーバに送信することは、HTTPプロトコルを使用して(例えば、GETリクエストまたはPOSTリクエストを提出して)フォームを提出することを含む。
【0083】
動作504において、デジタル補足を識別する画像コンテンツクエリに対する応答が受信される。当該応答は、検索サーバ152からネットワーク190を介して受信され得る。応答は、検索サーバ152によって画像コンテンツクエリに基づいて識別された1つまたは複数のデジタル補足を含み得る。例えば、応答は、デジタル補足に関連付けられたデータのアレイを含み得る。ある実施形態では、デジタル補足に関連付けられたデータは、ユーザが選択するためのデジタル補足オプションを提示するために使用され得る記述データを含み得る。例えば、記述データは、名前、短い説明、発行者名、および画像を含み得る。データはまた、URLを介した要求に含める当該URLおよびパラメータ、またはアプリケーション名および関連パラメータのようなアクセスデータを含み得る。当該データはまた、(例えば、補足アンカーが検索サーバ152によって識別される場合)画像コンテンツクエリで送信される画像における補足アンカーの位置、座標、または寸法を含み得る。
【0084】
動作506では、デジタル補足に関連付けられる情報を含むユーザインターフェイス画面が表示される。ある実施形態では、ユーザインターフェイス画面は、(たとえば、提供された座標に基づいて)識別された補足アンカーをオーバーレイする注釈を含む。注釈は、識別された補足アンカーに関連付けられた画像内のオブジェクトに関する情報を提供し得る。当該注釈は、デジタル補足を提示または起動するように作動され得る、ユーザ作動可能コントロールを含み得る。ユーザインターフェイス画面はまた、動作504において受信された応答において識別される複数のデジタル補足から選択するために使用され得るデジタル補足選択パネルを含み得る。ある実施形態では、ユーザインターフェイス画面は、デジタル補足によって指定されたURLを開くウェブブラウザによって生成され得る。ユーザインターフェイス画面はまた、デジタル補足を提供するために起動される別のアプリケーションによって生成され得る。
【0085】
図6は、本明細書で説明される実施形態に従う、画像に基づいてデジタル補足を識別および提示する例示的な方法600の図である。この方法600は、画像コンテンツクエリに基づいてデジタル補足を識別して当該デジタル補足にアクセスするために、例えば、クライアントコンピューティングデバイス102のアプリケーション122によって実行され得る。
【0086】
動作602において、画像が取得される。例えば、画像は、クライアントコンピューティングデバイス102のカメラアセンブリ112によって取得され得る。ある実施形態では、一連の画像(すなわち、映像)が、カメラアセンブリ112によって取得され得る。
【0087】
動作604において、画像に基づく画像コンテンツクエリは、検索サーバ152のようなサーバコンピューティングデバイスに送信される。動作604は、動作502と同様であり得る。画像のシーケンスが取得される実施形態では、画像コンテンツクエリは、複数の画像または画像のシーケンスを含み得る。ある実施形態では、画像のシーケンスは、当該サーバコンピューティングデバイスにストリーミングされ得る。
【0088】
動作606において、複数のデジタル補足を識別する画像コンテンツクエリに対する応答が受信される。動作606は、前述の動作504と同様であり得る。
【0089】
動作608において、複数のデジタル補足から一つのデジタル補足を選択するためのユーザ作動可能コントロールを含むユーザインターフェイス画面が表示される。例えば、デジタル補足選択パネルが表示され得る。デジタル補足選択パネルは、応答において識別される複数のデジタル補足のうちの1つに各々が関連付けられる複数のユーザ作動可能コントロールを含み得る。デジタル補足選択は、サーバコンピューティングデバイスによって提供されるデジタル補足の順序付けまたはランキングに基づいて、ユーザ作動可能な制御を準備し得る。デジタル補足選択パネルは、ユーザが作動可能コントロールを垂直に、水平に、またはその他の方法で配置し得る。ユーザ作動可能コントロールは、ユーザがデジタル補足を選択するかどうかを決定する際に考慮できる、関連付けられたデジタル補足に関する情報に関連付けられるか、または当該情報を含み得る。例えば、表示される情報は、デジタル補足の名前、説明、画像、および発行者名のうちの1つまたは複数を含み得る。
【0090】
動作610において、デジタル補足を選択するためのユーザ入力が受け取られる。ユーザ入力は、マウスまたは他のデバイスを用いたクリックであり得る。ユーザ入力はまた、スタイラスまたは指からのタッチ入力であり得る。ユーザ入力の別の例は、略タッチ入力(例えば、指またはポインティングデバイスを画面に近接して保持すること)である。ある実施形態では、ユーザ入力はまた、手のジェスチャ、頭の動き、目での動作、または発話入力を含み得る。
【0091】
動作612において、情報は、選択されたデジタル補足に関連付けられたリソースに提供される。例えば、クライアントコンピューティングデバイスのユーザについての情報は、(情報を提供する許可が提供されている場合)デジタル補足を提供するサーバに送信され得る。情報はまた、デジタル補足を提供するアプリケーションに提供され得る。様々な種類の情報が提供され得る。例えば、情報は、ユーザ名、ユーザの嗜好、または場所のようなユーザ情報を含み得る。
【0092】
情報はまた、画像または画像のシーケンスのような画像コンテンツクエリに関連付けられる情報を含み得る。情報はまた、画像内の1つまたは複数の補足アンカーの識別子および/または位置を含み得る。この情報は、デジタル補足をユーザに提供するために使用され得る。例えば、デジタル補足のARコンテンツは、画像に基づいて形成されて位置決めされ得る。
【0093】
情報は、クライアントコンピューティングデバイス102によって、デジタル補足に関連付けられるリソース(例えば、デジタル補足サーバ172)に直接送信され得る。ある実施形態では、情報は、検索サーバ152によって、デジタル補足に関連付けられているリソースに提供される(例えば、クライアントコンピューティングデバイスは、それほど多くのデータを送信する必要がない)。これらの実施のうちの少なくともいくつかでは、クライアントコンピューティングデバイス102は、選択されたデジタル補足を識別する選択情報を検索サーバ152に送信し得る。選択を受信し、ユーザが情報の共有を許可したことを確認すると、検索サーバ152は、デジタル補足を提供するリソースに情報を送信し得る。クライアントコンピューティングデバイス102はまた、情報を共有できるようにユーザに促し得る。ある実施形態では、検索サーバ152は、デジタル補足データ構造インスタンス(これは、デジタル補足に関連付けられるメタデータに基づくことができる)に基づいてリソースに送信する情報を決定し得る。
【0094】
動作614において、ユーザインターフェイスは、選択されたデジタル補足に基づいて更新される。動作614は、動作506と同様であり得る。
【0095】
図7A~7Cは、画像コンテンツ検索を行なってデジタル補足を表示するためにクライアントコンピューティングデバイス102の実施形態によって表示されるユーザインターフェイス画面の概略図である。図7Aには、ユーザインターフェイス画面700aが示されている。ユーザインターフェイス画面700aは、画像表示パネル708および情報パネル730を含む。この例では、画像表示パネル708は、(例えば、店内で見つけるかもしれない)ワインボトルで一杯の棚の画像を表示している。画像表示パネル708はまた、インジケータ740およびインジケータ742を含む。これらのインジケータの各々は、当該インジケータの下の画像に示されるワインボトルが補足アンカー(例えば、この場合、認識された製品として)として認識されていることを示す。インジケータ740およびインジケータ742は、ユーザ作動可能コントロールの例である。情報パネル730内では、「興味があるものをタップして下さい」という指示が提供される。
【0096】
図7Bでは、ユーザインターフェイス画面700bが、ユーザがインジケータ740を作動させた後に示される。作動後、デジタル補足からの注釈744が表示される。注釈744は、ユーザが購入するワインのボトルを選択するのに役立ち得る、ワインの格付けに関する情報を含む。
【0097】
図7Cでは、別のユーザインターフェイス画面700cは、ユーザがインジケータ740を作動させた後に示される。ユーザインターフェイス画面700cは、(例えば、注釈744の作動後、またはユーザが図7Bの情報パネル730上でスワイプアップする場合)、ユーザインターフェイス画面700bが表示されることの代わりに又はそれに加えて、示される。図7Cには、拡張された情報パネル732が示されている。拡張された情報パネル732は、図7Aおよび図7Bで取り上げられた情報パネル730よりも多くのユーザインターフェイス画面700cを占める。
【0098】
拡張情報パネル732は、デジタル補足選択パネル710およびデジタル補足コンテンツ表示パネル734を含む。デジタル補足選択パネル710は、ユーザ作動可能コントロール712と、ユーザ作動可能コントロール714と、(部分的にしか見えない)ユーザ作動可能コントロール716とを含む。ある実施形態では、ユーザがデジタル補足選択パネル710上でスワイプすると、追加のユーザ作動可能コントロールが表示され得る。デジタル補足選択パネル710のユーザ作動可能コントロールは、ランク付けされた順序で配列され得る。ユーザ作動可能コントロール712は、食事ペアリングのためのデジタル補足に関連付けられる。ユーザ作動可能コントロール712が作動すると、選択されたワインのための食べ物および食事のペアリング情報を表示するデジタル補足が表示され得る。ユーザ作動可能コントロール714は、写真を保存するデジタル補足に関連付けられている。作動すると、写真を保存するアプリケーションが作動させられて画像が提供され得る。追加の情報は、識別された補足アンカーのような写真と共に保存され得る。
【0099】
デジタル補足コンテンツ表示パネル734は、デジタル補足からのコンテンツを表示し得る。デジタル補足コンテンツ表示パネル734は、デフォルトのデジタル補足を、または、識別された補足アンカーに関連付けられている最高ランクのデジタル補足を表示し得る。この例では、デジタル補足コンテンツ表示パネル734は、選択された補足アンカーに関連付けられている製品に関する製品情報を含む。この場合、ワイン名、レーティング、原産地、画像、およびコメントが提供される。
【0100】
図8A~8Cは、画像コンテンツ検索を行なってデジタル補足を表示するためにクライアントコンピューティングデバイス102の実施形態によって表示されるユーザインターフェイス画面の概略図である。この例では、画像コンテンツ検索は、レシートの画像に基づく。
【0101】
図8Aには、ユーザインターフェイス画面800aが示されている。ユーザインターフェイス画面800aは、画像表示パネル808および情報パネル830を含む。この例では、画像表示パネル808は、レストランからのレシートの画像を表示している。画像表示パネル808はまた、インジケータ840と、インジケータ842と、注釈844と、ハイライトオーバーレイ846とを含む。この場合、インジケータ840は、文書として当該レシートに関連付けられており、インジケータ842は、当該レシートに名付けられた特定のレストランに関連付けられている。識別されたレシート文書および識別されたレストラン名は、両方とも補足アンカーの例である。
【0102】
注釈844は、先端計算器を提供するデジタル補足に関連付けられている。この例では、例示的な先端計算器が注釈844に含まれ、画像表示パネル808上の適切な位置に重ねられる。ある実施形態では、デジタル補足は、デフォルトによって選択されてもよく、適切な補足アンカーを識別すると表示され得る。ハイライトオーバーレイ846は、先端計算器のデジタル補足によって使用される情報を含むレシート文書の一部分上にオーバーレイされる。
【0103】
この例では、情報パネル830に表示される項目は、インジケータ840が作動されたかのように、文書としてのレシートに関連する。ある実施形態では、識別された補足アンカーは、たとえば、ユーザの過去の動作、同様の画像に対する他のユーザの動作、補足アンカーの信頼スコア、または、補足アンカーが関連する画像の部分の位置またはサイズに基づく、ユーザの可能性のある関連性または関心に基づいて、ランク付けされる。次いで、情報パネル830は、少なくともある実施形態では、最も高くランク付けされた補足アンカーに関連する項目を表示し得る。もし、代わりに、インジケータ842が作動された場合、情報パネル830は、特定のレストランに関する項目を含み得る。
【0104】
ここで、情報パネル830は、デジタル補足選択パネル810を含む。当該デジタル補足パネルは、ユーザ作動可能コントロール812と、ユーザ作動可能コントロール814と、ユーザ作動可能コントロール816とを含む。この例では、ユーザ作動可能コントロール812は先端計算器のデジタル補足に関連付けられており、ユーザ作動可能コントロール814はチェック分割デジタル補足に関連付けられており、ユーザ作動可能コントロール816は経費報告デジタル補足に関連付けられている。例えば、ユーザ作動可能コントロール812が作動すると、先端計算器のパラメータを調整するためのユーザインターフェイスコントロールは、(例えば、パーセンテージを調整するために)表示され得る。
【0105】
図8Bでは、ユーザインターフェイス画面800bは、ユーザがユーザ作動可能コントロール814を作動させた後に示されている。作動後、ユーザが請求書をどのように分割するかを計算するのに役立つ項目を含む拡張情報パネル832が、示される。例えば、請求書を分割する人数は、それぞれが支払うべき額を決定するために入力され得る。
【0106】
図8Cでは、ユーザインターフェイス画面800cは、ユーザがユーザ作動可能コントロール816を作動させた後に示される。作動後、ユーザが経費報告書にレシートを記憶するのに役立つ項目を含む拡張情報パネル834が示される。例えば、ユーザは、レシートが関連付けられるべき経費報告(例えば、「シドニー旅行2018」)を選択できる。一度当該経費報告が選択されると、レシートの画像は経費報告提出または管理システムにアップロードされ得る。ある実施形態では、画像表示パネル808に表示される全画像がアップロードされる。ある実施形態では、画像の一部分がアップロードされる(例えば、画像は、レシートのみを含むようにトリミングされる)。
【0107】
図9Aおよび図9Bは、画像コンテンツ検索を行なってデジタル補足を表示するためにクライアントコンピューティングデバイス102の実施形態によって表示されるユーザインターフェイス画面の概略図である。この例では、画像コンテンツ検索は、顔の画像に基づく。
【0108】
図9Aには、ユーザインターフェイス画面900aが示されている。ユーザインターフェイス画面900aは、画像表示パネル908および情報パネル930を含む。この例では、画像表示パネル908は、顔の画像を表示している。ここで、当該顔は、補足アンカーの一例である。情報パネル930は、画像(すなわち顔)内の補足アンカーについて識別されたデジタル補足のためのユーザ作動可能コントロール912を含む。ユーザ作動可能コントロール912は、眼鏡に結び付けるためのデジタル補足に関連付けられている。
【0109】
図9Bでは、ユーザインターフェイス画面900bは、ユーザがユーザ作動可能コントロール912を作動させた後に示される。作動後、ユーザが画像内の顔上の眼鏡を視覚的に試すのを助けるための項目を含む拡張情報パネル932が示される。ここでは、複数の眼鏡スタイルが表示されており、ユーザは試行するペアを選択できる。一対の眼鏡を選択すると、ARコンテンツ960は、画像表示パネル908に重ねられる。ここで、ARコンテンツ960は、選択された眼鏡に対応し、画像内の顔に合致する大きさである。ある実施形態では、眼鏡を試着するためのデジタル補足が選択されると、画像表示パネル908に示される画像は、デジタル補足を提供するサーバに送信され、それにより、当該画像は、ARコンテンツ960をどこに、かつ、どのように配置して、どのような大きさとするべきか、または、眼鏡を試着するように推奨すべきかを決定するために、分析され得る。
【0110】
図10A~10Cは、画像コンテンツ検索を行なってデジタル補足を表示するためにクライアントコンピューティングデバイス102の実施形態によって表示されるユーザインターフェイス画面の概略図である。この例では、画像コンテンツ検索は、カタログ内の家具の画像に基づく。
【0111】
図10Aには、ユーザインターフェイス画面1000aが示されている。ユーザインターフェイス画面1000aは、画像表示パネル1008を含む。この例では、画像表示パネル1008は、家具カタログのページの一部の画像を表示している。画像表示パネルはまた、インジケータ1040と、インジケータ1042と、インジケータ1044とを含む。この例では、インジケータ1040はベッドに関連付けられており、インジケータ1042は装飾品に関連付けられており、インジケータ1044はラグに関連付けられている。カタログにおけるベッド、装飾品、およびラグの画像は、補足アンカーの例である。
【0112】
図10Bでは、ユーザインターフェイス画面1000bは、(例えば、インジケータ1040が表示される場所またはその近くで画面に触れることによって)ユーザがインジケータ1040を選択した後に、示される。ユーザインターフェイス画面1000bは、デジタル補足選択パネル1010および情報パネル1030を含む。情報パネル1030は、選択されたインジケータに関連付けられている補足アンカーに関する情報(例えば、製品名、説明、画像)を含む。
【0113】
デジタル補足選択パネル1010は、ユーザ作動可能コントロール1012およびユーザ作動可能コントロール1014を含む。ユーザ作動可能コントロール1012は、家庭内ビューを提供するデジタル補足に関連付けられている。ユーザ作動可能コントロール1014は、別のデジタル補足(例えば、ソーシャルメディアサイトに投稿するためのデジタル補足)に関連付けられている。
【0114】
図10Cでは、ユーザインターフェイス画面1000cは、ユーザ作動可能コントロール1012の作動後に示される。ユーザインターフェイス画面1000cは、画像表示パネル1008と、デジタル補足選択パネル1010と、縮小情報パネル1032とを含む。縮小情報パネル1032は、作動されると、情報パネルをポップアップさせて表示させられ得るユーザ作動可能コントロールを含み得る。
【0115】
ここで、画像表示パネル1008は、部屋の画像を表示し、ARコンテンツ1060を含む。ARコンテンツ1060は、画像パネル上に重ねられたインジケータ1040に関連付けられているベッドの3Dモデルを含む。ユーザは、ベッドが室内にどのように適合するかを見るために、室内のARコンテンツ1060の位置を調節し得る。ある実施形態では、家庭内ビューのためのデジタル補足が選択されると、画像表示パネル1008に示される画像は、デジタル補足を提供するサーバに送信され、それにより、当該画像は、ARコンテンツ1060をどこに、かつ、どのように位置付けて、どのような大きさとするべきかを決定するために分析され得る。ある実施形態では、ARコンテンツ1060は、画像コンテンツクエリよりも後に提供され得る。
【0116】
図11A~11Cは、店内で様々な画像コンテンツ検索を行うためにクライアントコンピューティングデバイス102の実施形態によって表示されるユーザインターフェイス画面の概略図である。この例では、画像コンテンツ検索は、店内で取得された商品の画像に基づく。
【0117】
図11Aには、ユーザインターフェイス画面1100aが示されている。ユーザインターフェイス画面1100aは、画像表示パネル1108および情報パネル1130を含む。この例では、画像表示パネル1108は、店内で撮影された画像を表示している。画像表示パネル1108はまた、花瓶に関連付けられているインジケータ1140を含む。画像表示パネル1108に表示される花瓶は、補足アンカーの一例である。情報パネル1130は、当該花瓶に関する商品情報および当該花瓶を購入するための機能性を含むデジタル補足を表示している。デジタル補足は、例えば、花瓶の購入を開始するワークフローを含み得る。この例において、当該デジタル補足は、画像コンテンツおよびクライアントコンピューティングデバイスの位置に基づいて識別され、それにより、画像が取得された店によって公開された(または店に関連付けられている)デジタル補足が識別され得、また、クライアントコンピューティングデバイスが店内にあるときに画像コンテンツクエリに対し、高ランキングの結果として提供され得る。ある実施形態では、もしクライアントコンピューティングデバイスの位置が変更された場合、同じ画像に対して異なるデジタル補足が提供されるであろう。
【0118】
図11Bには、ユーザインターフェイス画面1100bが示されている。ユーザインターフェイス画面1100bは、画像表示パネル1108および情報パネル1130を含む。この例では、画像表示パネル1108は、店内で取得された別の画像を表示している。画像表示パネル1108はまた、ラグに関連付けられているインジケータ1142を含む。画像表示パネル1108に表示されるラグは、補足アンカーの一例である。情報パネル1130は、ラグに関する製品情報およびサイズを選択してラグを購入するための機能性を含むデジタル補足を表示している。図11Aのように、当該デジタル補足は、画像コンテンツおよびクライアントコンピューティングデバイスの位置に基づいて識別される。
【0119】
図11Cには、ユーザインターフェイス画面1100cが示されている。ユーザインターフェイス画面1100cは、画像表示パネル1108および情報パネル1130を含む。この例では、画像表示パネル1108は、店内で取得された別の画像を表示している。画像表示パネル1108はまた、花瓶に関連付けられているインジケータ1144を含む。画像表示パネル1108に表示される花瓶は、補足アンカーの一例である。情報パネル1130は、花瓶に関する製品情報を含むデジタル補足を表示している。情報パネル1130はまた、クーポンインジケータ1132およびクーポンを引き換えるための機能性を含む。クーポンを引き換えることは、販売店に関連付けられているウェブサイトから割引価格で商品を購入することを含み得る。ある実施形態では、清算の間割引を確保するために使用され得るクーポンコードが提示される。図11Aおよび11Bと同様に、デジタル補足は、画像コンテンツおよびクライアントコンピューティングデバイスの位置に基づいて識別される。
【0120】
図12A図12Cは、様々な画像コンテンツ検索中にクライアントコンピューティングデバイス102の実施形態によって表示されるユーザインターフェイス画面の概略図である。この例では、画像コンテンツ検索は、(例えば、映画館で取得されるかもしれない)映画ポスターの画像に基づく。
【0121】
図12Aには、ユーザインターフェイス画面1200aが示されている。ユーザインターフェイス画面1200aは、画像表示パネル1208を含む。この例では、画像表示パネル1208は、映画ポスターの画像を表示している。画像表示パネル1208はまた、画像内で識別された映画ポスターに関連付けられているインジケータ1240を含む。映画ポスターは、補足アンカーの一例である。インジケータ1240は、作動されるとデジタル補足またはデジタル補足を選択するためのメニューを表示する、ユーザ作動可能コントロールを含み得る。
【0122】
図12Bには、ユーザインターフェイス画面1200bが示されている。画像表示パネル1208はまた、画像内で識別された映画ポスターに関連付けられているプレビューデジタル補足1242を含む。例えば、プレビューデジタル補足1242は、(図12Aの)インジケータ1240の作動後に示され得る。プレビューデジタル補足1242は、識別された映画ポスターに関連付けられている映画からの画像または映像を映画ポスターの画像の上に重ね合わせ得る。
【0123】
図12Cには、ユーザインターフェイス画面1200cが示されている。画像表示パネル1208は、格付けインジケータ1244および格付けインジケータ1246も含む。格付けインジケータ1244および格付けインジケータ1246は、映画ポスターを含む画像コンテンツクエリに応答して、1つまたは複数のデジタル補足によって生成され得る。デジタル補足は、例えば、映画ポスターに関連付けられている映画のために、格付け情報を画像内で重ね合わせ得る。格付けインジケータ1244および格付けインジケータ1246は、作動されると、格付けおよび関連付けられる映画に関する追加情報を示させるユーザ作動可能コントロールを含み得る。
【0124】
図13は、本明細書で説明される(例えば、クライアントコンピューティングデバイス102、検索サーバ152、およびデジタル補足サーバ172を実施するための)技術とともに使用され得る、コンピュータデバイス1300およびモバイルコンピュータデバイス1350の例を示す。コンピューティングデバイス1300は、プロセッサ1302と、メモリ1304と、記憶装置1306と、メモリ1304および高速拡張ポート1310に接続するための高速インターフェイス1308と、低速バス1314および記憶装置1306に接続するための低速インターフェイス1312とを含む。構成要素1302,1304,1306,1308,1310および1312の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに、または必要に応じて他の方法で据え付けられ得る。プロセッサ1302は、高速インターフェイス1308に結合されたディスプレイ1316のような外部の入力/出力装置上にGUIのためのグラフィカル情報を表示するために、メモリ1304または記憶装置1306に格納された命令を含む、コンピューティングデバイス1300内での実行のための命令を処理できる。他の実施形態では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよびタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス1300が接続されてもよく、各デバイスは、(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0125】
メモリ1304は、コンピューティングデバイス1300内の情報を記憶する。一実施形態では、メモリ1304は1つまたは複数の揮発性メモリユニットである。別の実施形態では、メモリ1304は、1つまたは複数の不揮発性メモリユニットである。メモリ1304はまた、磁気または光ディスクのような別の形態のコンピュータ読み取り可能な記憶媒体であり得る。
【0126】
記憶装置1306は、コンピューティングデバイス1300のために大容量ストレージを提供し得る。一実施形態では、記憶装置1306は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光学ディスク装置、またはテープ装置、フラッシュメモリもしくは他の同様のソリッドステートメモリ装置、またはストレージエリアネットワークもしくは他の構成内の装置を含むデバイスのアレイなどのコンピュータ読み取り可能な記憶媒体であり得るか、またはそれを含み得る。コンピュータプログラム製品は、情報担体で有形に具現化され得る。コンピュータプログラム製品はまた、実行されると、上述の方法のような1つまたは複数の方法を実行する命令を含み得る。情報担体は、メモリ1304、記憶装置1306、またはプロセッサ1302上のメモリのようなコンピュータ読み取り可能な記憶媒体または機械可読媒体である。
【0127】
高速コントローラ1308は、コンピューティングデバイス1300のための帯域幅集約的動作を管理する一方、低速コントローラ1312は、より低い帯域幅集約的動作を管理する。このような機能の割り当ては、例示にすぎない。一実施形態では、高速コントローラ1308は、メモリ1304に、(例えば、グラフィックプロセッサ又はアクセラレータを介して)ディスプレイ1316に、および、様々な拡張カード(図示しない)を受け入れることができる高速拡張ポート1310に結合されている。この実施形態では、低速コントローラ1312は、記憶装置1306および低速拡張ポート1314に結合されている。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含み得る低速拡張ポートは、例えば、ネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータのようなネットワーキングデバイスのように、1つまたは複数の入力/出力装置に結合され得る。
【0128】
コンピューティングデバイス1300は、図に示されるように、いくつかの異なる形態で実施され得る。例えば、それは、標準サーバ1320として、またはそのようなサーバのグループにおいて複数回実施され得る。また、それは、ラックサーバシステム1324の一部として実施され得る。加えて、それは、ラップトップコンピュータ1322のようなパーソナルコンピュータとして実施され得る。代替的には、コンピューティングデバイス1300からの構成要素は、デバイス1350のようなモバイルデバイス(図示しない)内の他の構成要素と組み合わされ得る。そのようなデバイスの各々は、コンピューティングデバイス1300,1350のうちの1つまたは複数を含み得、また、システム全体は、互いに通信する複数のコンピューティングデバイス1300、1350から構成され得る。
【0129】
コンピューティングデバイス1350は、構成要素のうち特に、プロセッサ1352、メモリ1364、ディスプレイ1354のような入力/出力装置、通信インターフェイス1366、およびトランシーバ1368を含む。デバイス1350はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスのような記憶装置を備え得る。構成要素1350,1352,1364,1354,1366および1368の各々は、様々なバスを使用して相互接続されており、構成要素のいくつかは、共通のマザーボード上に、または必要に応じて他の方法で、据え付けられ得る。
【0130】
プロセッサ1352は、メモリ1364に格納された命令を含む、コンピューティングデバイス1350内で命令を実行できる。当該プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実施され得る。当該プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス1350によって実行されるアプリケーション、およびデバイス1350によるワイヤレス通信のような、デバイス1350の他の構成要素の協調を提供し得る。
【0131】
プロセッサ1352は、ディスプレイ1354に結合された制御インターフェイス1358およびディスプレイインターフェイス1356を介してユーザと通信し得る。ディスプレイ1354は、例えば、TFT LCD(Thin-Film-Transistor Liquid Crystal display)、LED(Light Emitting Diode)、OLED(Organic Light Emitting Diode)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス1356は、グラフィックおよび他の情報をユーザに提示するためにディスプレイ1354を駆動するための適切な回路を含み得る。制御インターフェイス1358は、ユーザからコマンドを受信し、それらを変換してプロセッサ1352に提出し得る。加えて、外部インターフェイス1362は、デバイス1350と他のデバイスとの近距離通信を可能にするために、プロセッサ1352と通信して提供され得る。外部インターフェイス1362は、たとえば、ある実施形態では有線通信のために、または、他の実施形態では無線通信のために準備し得、複数のインターフェイスも使用され得る。
【0132】
メモリ1364は、コンピューティングデバイス1350内の情報を記憶する。メモリ1364は、1つまたは複数のコンピュータ読み取り可能な記憶媒体、1つまたは複数の揮発性メモリユニット、または1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実施され得る。拡張メモリ1374はまた、例えば、SIMM(Single In-Line Memory Module)カードインターフェイスを含み得る拡張インターフェイス1372を介してデバイス1350に提供および接続され得る。そのような拡張メモリ1374は、デバイス1350のための追加の記憶空間を提供でき、または、デバイス1350のためのアプリケーションまたは他の情報を記憶し得る。具体的には、拡張メモリ1374は、上述のプロセスを実行または補足するための命令を含むことができ、また、セキュアな情報も含み得る。したがって、たとえば、拡張メモリ1374は、デバイス1350のためのセキュリティモジュールとして提供され得、また、デバイス1350の安全な使用を可能にする命令でプログラムされ得る。加えて、セキュアなアプリケーションは、SIMMカード上に識別情報をハッキング不能に置くことのように、追加の情報と共にSIMMカードを介して提供され得る。
【0133】
当該メモリは、以下で説明されるように、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含み得る。一実施形態では、コンピュータプログラム製品は、情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると、上述の方法のような、1つまたは複数の方法を実行する命令を含む。情報担体は、例えばトランシーバ1368または外部インターフェイス1362を介して受信され得る、メモリ1364、拡張メモリ1374、またはプロセッサ1352上のメモリのようなコンピュータ読み取り可能な記憶媒体または機械読み取り可能な媒体である。
【0134】
デバイス1350は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス1366を介してワイヤレスで通信し得る。通信インターフェイス1366は、とりわけ、GSM(登録商標)ボイス呼、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSのような様々なモードまたはプロトコルの下で通信を提供し得る。そのような通信は、例えば、無線周波数トランシーバ1368を介して行われ得る。加えて、ブルートゥース、Wi-Fi、または他のそのようなトランシーバ(図示しない)を用いてのように、短距離通信が発生し得る。加えて、GPS(全地球測位システム)受信機モジュール1370は、デバイス1350上で実行するアプリケーションによって必要に応じて使用され得る、追加のナビゲーションおよび位置に関連付けられた無線データをデバイス1350に提供し得る。
【0135】
デバイス1350はまた、ユーザから発話情報を受信し、それを使用可能なデジタル情報に変換し得る、音声コーデック1360を使用して、聴覚的に通信し得る。音声コーデック1360は、同様に、例えば、デバイス1350のハンドセット内のスピーカを介してのように、ユーザのための可聴音を生成し得る。そのような音は、音声電話からの音を含んでもよく、記録された音(例えば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス1350上で動作するアプリケーションによって生成される音も含み得る。
【0136】
コンピューティングデバイス1350は、図に示されるように、いくつかの異なる形態で実施され得る。例えば、それは、携帯電話1380として実施され得る。また、それは、スマートフォン1382、パーソナルデジタルアシスタント、または他の同様のモバイルデバイスの一部として実施され得る。
【0137】
本明細書で説明されるシステムおよび技術の様々な実施形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合せで実現され得る。これらの様々な実施は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合された、専用のまたは汎用であり得る少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能な、および/または解釈可能な、1つまたは複数のコンピュータプログラムにおける実施を含み得る。
【0138】
これらのコンピュータプログラム(また、プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサのための機械命令を含み、高水準手続きおよび/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実施され得る。本明細書で使用されるように、「機械読み取り可能な媒体」、「コンピュータ読み取り可能な記憶媒体」という用語は、機械読み取り可能な信号として機械命令を受信する機械読み取り可能な媒体を含む、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械読み取り可能な信号」は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を指す。
【0139】
ユーザとの対話を提供するために、本明細書で説明されるシステムおよび技術は、ユーザに情報を表示するためのディスプレイデバイス(LED(発光ダイオード)またはOLED(有機LED)またはLCD(液晶ディスプレイ)モニタ/スクリーン)と、ユーザがコンピュータに入力を与え得るキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)と、を有するコンピュータ上で実施され得る。他の種類のデバイスもまた、ユーザとの相互作用を提供するために使用されることができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、また、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。
【0140】
本明細書で説明されるシステムおよび技術は、(たとえば、データサーバとしての)バックエンドコンポーネントを含む、または、(たとえば、アプリケーションサーバとしての)ミドルウェアコンポーネントを含む、または、フロントエンドコンポーネント(例えば、ユーザが本明細書に記載するシステムおよび技術の実施形態と相互作用し得るグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)を含む、または、そのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組み合せを含む、コンピューティングシステムにおいて実施され得る。システムの構成要素は、デジタルデータ通信(例えば、通信ネットワーク)の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【0141】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に、互いに遠隔であり、典型的には、通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0142】
ある実施形態では、図13に示されるコンピューティングデバイスは、ARヘッドセット/HMDデバイス1390とインターフェイスして、挿入されたコンテンツを物理的空間内で視聴するための拡張環境を生成するためのセンサを含み得る。例えば、図13に示されるコンピューティングデバイス1350または他のコンピューティングデバイスに含まれる1つまたは複数のセンサは、ARヘッドセット1390に入力を与えることができ、または、一般にAR空間に入力を与え得る。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、バイオメトリックセンサ、温度センサ、湿度センサ、および周囲光センサを含み得るが、これらに限定されない。コンピューティングデバイス1350は、センサを使用して、AR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を決定でき、そして、その絶対位置および/または検出された回転は、AR空間への入力として使用され得る。例えば、コンピューティングデバイス1350は、コントローラ、レーザポインタ、キーボード、武器のような仮想オブジェクトとしてAR空間に組み込まれ得る。AR空間に組み込まれるとき、ユーザによるコンピューティングデバイス/仮想オブジェクトの位置決めは、ユーザが、AR空間内において特定の方法で仮想オブジェクトを見るように、コンピューティングデバイスを位置決めすることを可能にし得る。例えば、仮想オブジェクトがレーザポインタを表す場合、ユーザは、コンピューティングデバイスが実際のレーザポインタであるかのように、当該コンピューティングデバイスを操作し得る。ユーザは、コンピューティングデバイスを左右に、上下に、円形に動かすことができ、レーザポインタを使用するのと同様に当該デバイスを使用できる。ある実施形態では、ユーザは、仮想レーザポインタを使用して、目標とする所を狙うことが得る。
【0143】
ある実施形態では、コンピューティングデバイス1350に含まれるか又はそれに結合される1つまたは複数の入力デバイスは、AR空間への入力として使用され得る。入力装置は、タッチスクリーン、キーボード、1つまたは複数のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロフォン、入力機能を有するイヤホンまたは耳の穴に差し込むタイプのイヤホン(buds)、ゲームコントローラ、または他の接続可能な入力装置を含み得るが、これらに限定されない。コンピューティングデバイスがAR空間に組み込まれるとき、コンピューティングデバイス1350に含まれる入力デバイスと相互作用するユーザは、AR空間において特定のアクションを生じさせることができる。
【0144】
ある実施形態では、コンピューティングデバイス1350のタッチスクリーンは、AR空間内でタッチパッドとしてレンダリングされ得る。ユーザは、コンピューティングデバイス1350のタッチスクリーンと相互作用し得る。相互作用は、例えばARヘッドセット1390において、AR空間内でレンダリングされたタッチパッド上での動きとしてレンダリングされる。当該レンダリングされた動きは、AR空間内で仮想オブジェクトを制御できる。
【0145】
ある実施形態では、コンピューティングデバイス1350に含まれる1つまたは複数の出力デバイスは、AR空間内でARヘッドセット1390のユーザに出力および/またはフィードバックを提供できる。出力および/またはフィードバックは、視覚的、触覚的、または音声であり得る。出力および/またはフィードバックは、振動、1つまたは複数のライトまたはストロボの点灯および消灯または点滅および/または発光、アラームを鳴動すること、チャイムを鳴らすこと、楽曲を演奏すること、および、オーディオファイルの演奏を含み得るが、これらに限定されない。出力デバイスは、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、およびスピーカを含み得るが、これらに限定されない。
【0146】
ある実施形態では、コンピューティングデバイス1350は、コンピュータによって生成される3D環境において別のオブジェクトとして現れ得る。ユーザによるコンピューティングデバイス1350との相互作用(例えば、回転すること、振ること、タッチスクリーンに触れること、タッチスクリーンを横切って指をスワイプすること)は、AR空間内におけるオブジェクトとの相互作用と解釈され得る。AR空間におけるレーザポインタの例において、コンピューティングデバイス1350は、コンピュータによって生成される3D環境における仮想レーザポインタとして現れる。ユーザがコンピューティングデバイス1350を操作すると、AR空間内のユーザは、レーザポインタの動きを見る。ユーザは、コンピューティングデバイス1350またはARヘッドセット1390上のAR環境におけるコンピューティングデバイス1350との相互作用からのフィードバックを受信する。コンピューティングデバイスとのユーザの相互作用は、制御可能なデバイスのためのAR環境において生成されるユーザインターフェイスとの相互作用に変換され得る。
【0147】
ある実施形態では、コンピューティングデバイス1350は、タッチスクリーンを含み得る。例えば、ユーザは、制御可能なデバイスのためのユーザインターフェイスと相互作用するためにタッチスクリーンと相互作用できる。例えば、タッチスクリーンは、制御可能なデバイスの特性を制御できるスライダのようなユーザインターフェイス要素を含み得る。
【0148】
コンピューティングデバイス1300は、限定はしないが、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含む、様々な形態のデジタルコンピュータおよびデバイスを表すことが意図される。コンピューティングデバイス1350は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスのようなモバイルデバイスの様々な形態を表すことが意図される。本明細書に示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本明細書で説明され、および/または請求される発明の実施形態を限定することを意図していない。
【0149】
いくつかの実施形態が説明された。しかしながら、本明細書の精神および範囲から逸脱することなく、様々な修正が行われ得ることが理解されるであろう。
【0150】
加えて、図に示される論理フローは、望ましい結果を達成するために、示された特定の順序または逐次の順序を必要としない。加えて、他のステップが提供されてもよく、または、ステップが記載されたフローから排除されてもよく、他の構成要素が当該記載されたシステムに追加されてもよく、または、当該システムら除去され得る。したがって、他の実施形態は、以下の特許請求の範囲内である。
【0151】
説明される実施形態のいくつかの特徴が本明細書に記載されるように説明されたが、多くの修正、置換、変更、および均等物が当業者には想起されるであろう。したがって、添付の特許請求の範囲は、実施形態の範囲内に含まれるそのようなすべての修正および変更を網羅することを意図していることを理解されたい。それらは、限定ではなく例として提示されたにすぎず、形態および詳細の様々な変更が行われ得ることを理解されたい。本明細書で説明される装置および/または方法の任意の部分は、相互に排他的な組み合わせを除き、任意の組み合わせで組み合わせられ得る。本明細書で説明される実施形態は、説明された異なる実施形態の機能、構成要素、および/または特徴の様々な組み合せ、および/または、サブコンビネーションを含み得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図10C
図11A
図11B
図11C
図12
図13