(57)【要約】  モバイルデバイスに関連付けられたアプリケーションを管理するための技法が提供される。本明細書で開示する技法は、モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得して、画像から抽出されたオブジェクトの属性に基づいて、画像内のオブジェクトを識別して、1つまたは複数のアプリケーションがオブジェクトに関連付けられるかどうかを決定するための技法を含む。実世界オブジェクトに関連付けられた1つまたは複数のアプリケーションが存在する場合、そのオブジェクトに関連付けられたアプリケーションはモバイルデバイス上で自動的に起動され得る。実世界オブジェクトとアプリケーションとの間の関連付けは、そのオブジェクトが1つもしくは複数のアプリケーションに関連付けられていることを示す、オブジェクト上のアイコン、シンボル、または他のマーキングなど、視覚的インジケータによって識別され得る。
2016519800.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスに関連付けられたアプリケーションを管理するための方法であって、
前記モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得するステップと、
前記画像から抽出された前記オブジェクトの属性に基づいて、前記画像内の前記オブジェクトを識別するためのオブジェクト識別手順を開始するステップと、
前記オブジェクト識別手順に基づいて、前記オブジェクトに関連付けられたアプリケーションを識別するステップと、
前記アプリケーションを前記モバイルデバイスで自動的に起動するステップと
を含む方法。
【請求項２】
前記オブジェクト識別手順が、前記画像から前記属性を抽出するステップと、前記画像から抽出された前記属性を前記モバイルデバイスに記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、前記画像内の前記オブジェクトを識別するステップとを含む、請求項1に記載の方法。
【請求項３】
前記ローカルデータベース内のオブジェクトに関連付けられた前記属性が探索ツリーに編成され、前記画像から抽出された前記属性を前記ローカルデータベース内に含まれたオブジェクトに関連付けられた前記属性と比較する前記ステップが、前記画像から抽出された前記属性および前記探索ツリーに基づいて、前記画像内の前記オブジェクトを識別するステップを含む、請求項2に記載の方法。
【請求項４】
前記画像から抽出された前記属性を前記ローカルデータベース内のオブジェクトに関連付けられた前記属性と比較することによって、前記オブジェクトが識別されていないことに応答して、前記オブジェクトの前記画像または前記画像から抽出された前記属性を遠隔サーバ上に配置された視覚探索エンジンに送るステップと、
前記遠隔サーバ上に配置された前記視覚探索エンジンから前記オブジェクトの識別を受信するステップと
をさらに含む、請求項2に記載の方法。
【請求項５】
前記オブジェクトに関連付けられた前記アプリケーションを識別する前記ステップが、前記モバイルデバイスに記憶されたローカルデータベースを使用して、前記オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するステップを含む、請求項1に記載の方法。
【請求項６】
前記オブジェクト識別手順を開始する前記ステップが、
前記オブジェクトの前記画像または前記画像から抽出された前記属性を遠隔サーバ上に配置された視覚探索エンジンに送るステップを含む
請求項1に記載の方法。
【請求項７】
前記オブジェクトに関連付けられた前記アプリケーションを識別する前記ステップが、前記視覚探索エンジンから前記オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信するステップを含む、請求項6に記載の方法。
【請求項８】
前記アプリケーションを自動的に起動する前記ステップが、前記アプリケーションが前記モバイルデバイスにインストールされているかどうかを決定するステップを含む、請求項1に記載の方法。
【請求項９】
前記アプリケーションを前記モバイルデバイスで自動的に起動する前記ステップが、
前記アプリケーションが前記モバイルデバイスにインストールされている場合、前記アプリケーションを起動するステップと、
前記アプリケーションが前記モバイルデバイスにインストールされていない場合、前記アプリケーションを獲得するためのインターフェースを表示して、前記アプリケーションが獲得された場合、前記インターフェースに対する入力に基づいて、前記アプリケーションを起動するステップと
を含む、請求項8に記載の方法。
【請求項１０】
前記オブジェクトに関連付けられた複数の候補アプリケーションを識別するステップと、
前記複数の候補アプリケーションから前記アプリケーションを選択するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
前記複数の候補アプリケーションから前記アプリケーションを選択する前記ステップが、ユーザ選択に基づいて前記アプリケーションを選択するステップを含む、請求項10に記載の方法。
【請求項１２】
前記複数の候補アプリケーションのリスティングを表示するステップと、
前記表示されたリスティングからの前記ユーザ選択を提供するようにユーザにプロンプトを出すステップと
をさらに含む、請求項11に記載の方法。
【請求項１３】
前記複数の候補アプリケーションの前記リスティングを表示する前記ステップが、推定された関連性に従って、前記リスティングの前記複数の候補アプリケーションを順序付けするステップを含む、請求項12に記載の方法。
【請求項１４】
前記複数の候補アプリケーションから前記アプリケーションを選択する前記ステップが、ユーザプロファイルに基づいて前記アプリケーションを選択するステップを含む、請求項10に記載の方法。
【請求項１５】
ユーザ入力、または前記モバイルデバイスの観測された使用パターンのうちの少なくとも1つに基づいて、前記ユーザプロファイルを構築するステップ
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記アプリケーションが拡張現実アプリケーションである、請求項1に記載の方法。
【請求項１７】
モバイルデバイスに関連付けられたアプリケーションを管理するための装置であって、
前記モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得するための手段と、
前記画像から抽出された前記オブジェクトの属性に基づいて、前記画像内の前記オブジェクトを識別するためのオブジェクト識別手順を開始するための手段と、
前記オブジェクト識別手順に基づいて、前記オブジェクトに関連付けられたアプリケーションを識別するための手段と、
前記アプリケーションを前記モバイルデバイスで自動的に起動するための手段と
を含む装置。
【請求項１８】
前記オブジェクト識別手順が、前記画像から前記属性を抽出するための手段と、前記画像から抽出された前記属性を前記モバイルデバイスに記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、前記画像内の前記オブジェクトを識別するための手段とを含む、請求項17に記載の装置。
【請求項１９】
前記画像から抽出された前記属性を前記ローカルデータベース内のオブジェクトに関連付けられた前記属性と比較することによって、前記オブジェクトが識別されていないことに応答して、前記オブジェクトの前記画像または前記画像から抽出された前記属性を遠隔サーバ上に配置された視覚探索エンジンに送るための手段と、
前記遠隔サーバ上に配置された前記視覚探索エンジンから前記オブジェクトの識別を受信するための手段と
をさらに含む、請求項18に記載の装置。
【請求項２０】
前記オブジェクトに関連付けられた前記アプリケーションを識別するための前記手段が、前記モバイルデバイスに記憶されたローカルデータベースを使用して、前記オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するための手段を含む、請求項17に記載の装置。
【請求項２１】
前記オブジェクト識別手順を開始するための前記手段が、
前記オブジェクトの前記画像または前記画像から抽出された前記属性を遠隔サーバ上に配置された視覚探索エンジンに送るための手段
を含む、請求項17に記載の装置。
【請求項２２】
前記オブジェクトに関連付けられた前記アプリケーションを識別するための前記手段が、前記視覚探索エンジンから前記オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信するための手段を含む、請求項21に記載の装置。
【請求項２３】
前記アプリケーションを自動的に起動するための前記手段が、前記アプリケーションが前記モバイルデバイスにインストールされているかどうかを決定するための手段を含む、請求項17に記載の装置。
【請求項２４】
前記アプリケーションを前記モバイルデバイスで自動的に起動するための前記手段が、
前記アプリケーションが前記モバイルデバイスにインストールされている場合、前記アプリケーションを起動するための手段と、
前記アプリケーションが前記モバイルデバイスにインストールされていない場合、前記アプリケーションを獲得するためのインターフェースを表示して、前記アプリケーションが獲得された場合、前記インターフェースに対する入力に基づいて前記アプリケーションを起動するための手段と
を含む、請求項23に記載の装置。
【請求項２５】
前記オブジェクトに関連付けられた複数の候補アプリケーションを識別するための手段と、
前記複数の候補アプリケーションから前記アプリケーションを選択するための手段と
をさらに含む、請求項17に記載の装置。
【請求項２６】
前記複数の候補アプリケーションから前記アプリケーションを選択するための前記手段が、ユーザ選択に基づいて前記アプリケーションを選択するための手段を含む、請求項25に記載の装置。
【請求項２７】
前記複数の候補アプリケーションから前記アプリケーションを選択するための前記手段が、ユーザプロファイルに基づいて前記アプリケーションを選択するための手段を含む、請求項25に記載の装置。
【請求項２８】
前記アプリケーションが拡張現実アプリケーションである、請求項17に記載の装置。
【請求項２９】
モバイルデバイスに関連付けられたアプリケーションを管理するためのコンピュータ可読命令を記憶した非一時的コンピュータ可読媒体であって、コンピュータに、
前記モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得することと、
前記画像から抽出された前記オブジェクトの属性に基づいて、前記画像内の前記オブジェクトを識別するためのオブジェクト識別手順を開始することと、
前記オブジェクト識別手順に基づいて、前記オブジェクトに関連付けられたアプリケーションを識別することと、
前記アプリケーションを前記モバイルデバイスで自動的に起動することと
を行わせるように構成された命令を含む非一時的コンピュータ可読媒体。
【請求項３０】
モバイルデバイスに関連付けられたアプリケーションを管理するための装置であって、
データをワイヤレスに送受信するように構成されたトランシーバと、
非一時的コンピュータ可読メモリと、
前記非一時的コンピュータ可読メモリ内に記憶されたプロセッサ実行可能コードを含む複数のモジュールと、
前記非一時的コンピュータ可読メモリに接続され、前記非一時的コンピュータ可読メモリ内に記憶された前記複数のモジュールにアクセスするように構成されたプロセッサとを含み、前記複数のモジュールが、
前記モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得するように構成された画像捕捉モジュールと、
前記画像から抽出された前記オブジェクトの属性に基づいて、前記画像内の前記オブジェクトを識別するためのオブジェクト識別手順を開始して、前記オブジェクト識別手順に基づいて、前記オブジェクトに関連付けられたアプリケーションを識別するように構成された画像識別モジュールと、
前記アプリケーションを前記モバイルデバイスで自動的に起動するように構成されたアプリケーションランチャーモジュールと
を少なくとも含む、装置。
【請求項３１】
前記画像識別モジュールが、前記オブジェクト識別手順を実行して、前記画像から前記属性を抽出して、前記画像から抽出された前記属性を前記モバイルデバイスに記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、前記画像内の前記オブジェクトを識別するように構成される、請求項30に記載の装置。
【請求項３２】
前記画像識別モジュールが、
前記画像から抽出された前記属性を前記ローカルデータベース内のオブジェクトに関連付けられた前記属性と比較することによって、前記オブジェクトが識別されていないことに応答して、前記オブジェクトの前記画像または前記画像から抽出された前記属性を遠隔サーバ上に配置された視覚探索エンジンに送ることと、
前記遠隔サーバ上に配置された前記視覚探索エンジンから前記オブジェクトの識別を受信することと
を行うようにさらに構成される、請求項31に記載の装置。
【請求項３３】
前記オブジェクトに関連付けられた前記アプリケーションを識別するように構成された前記画像識別モジュールが、前記モバイルデバイスに記憶されたローカルデータベースを使用して、前記オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するようにさらに構成される、請求項30に記載の装置。
【請求項３４】
前記オブジェクト識別手順を開始するように構成された前記画像識別モジュールが、前記オブジェクトの前記画像または前記画像から抽出された前記属性を遠隔サーバ上に配置された視覚探索エンジンに送るようにさらに構成される、請求項30に記載の装置。
【請求項３５】
前記オブジェクトに関連付けられた前記アプリケーションを識別するように構成された前記画像識別モジュールが、前記視覚探索エンジンから前記オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信するようにさらに構成される、請求項34に記載の装置。
【請求項３６】
前記アプリケーションを自動的に起動するように構成された前記アプリケーションランチャーが前記アプリケーションが前記モバイルデバイスにインストールされているかどうかを決定するようにさらに構成される、請求項30に記載の装置。
【請求項３７】
前記アプリケーションを前記モバイルデバイスで自動的に起動するように構成された前記アプリケーションランチャーモジュールが前記アプリケーションが前記モバイルデバイスにインストールされている場合、前記アプリケーションを起動するようにさらに構成され、前記装置が、前記アプリケーションが前記モバイルデバイスにインストールされていない場合、前記アプリケーションを獲得するためのインターフェースを表示するように構成されたアプリケーション獲得モジュールをさらに含み、前記アプリケーションランチャーモジュールが、前記アプリケーションが獲得された場合、前記インターフェースに対する入力に基づいて前記アプリケーションを起動するように構成される、請求項36に記載の装置。
【請求項３８】
前記画像識別モジュールが、前記オブジェクトに関連付けられた複数の候補アプリケーションを識別することと、前記複数の候補アプリケーションから前記アプリケーションを選択することとを行うようにさらに構成される、請求項30に記載の装置。
【請求項３９】
前記複数の候補アプリケーションから前記アプリケーションを選択するように構成された前記アプリケーションランチャーモジュールが、ユーザ選択に基づいて前記アプリケーションを選択するようにさらに構成される、請求項38に記載の装置。
【請求項４０】
前記複数の候補アプリケーションから前記アプリケーションを選択するように構成された前記アプリケーションランチャーモジュールが、ユーザプロファイルに基づいて前記アプリケーションを選択するようにさらに構成される、請求項38に記載の装置。
【請求項４１】
前記アプリケーションが拡張現実アプリケーションである、請求項30に記載の装置。
【請求項４２】
オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するための方法であって、
モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信するステップと、
アプリケーションデータベース内の前記情報に関連付けられたアプリケーションコンテンツを識別するステップであって、前記アプリケーションデータベースが、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含み、各アプリケーションが、少なくとも1つのオブジェクトおよび/もしくはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、識別するステップと、
前記識別されたアプリケーションコンテンツを前記モバイルデバイスまたは前記視覚探索サーバに送信するステップと
を含む方法。
【請求項４３】
前記情報がオブジェクトおよび/またはオブジェクトタイプを含み、前記アプリケーションコンテンツが、前記オブジェクトおよび/または前記オブジェクトタイプに関連付けられたアプリケーションのリストを含む、請求項42に記載の方法。
【請求項４４】
前記情報が一意のアプリケーション識別子を含み、前記アプリケーションコンテンツが、前記モバイルデバイスに関する実行可能アプリケーションコンテンツを含む、請求項42に記載の方法。
【請求項４５】
前記情報が、前記モバイルデバイスによって捕捉された前記オブジェクトの画像から捕捉されたオブジェクトの属性を含み、識別する前記ステップが前記属性に基づく、請求項42に記載の方法。
【請求項４６】
前記情報がオブジェクトの識別子を含み、識別する前記ステップが前記識別子に基づく、請求項42に記載の方法。
【請求項４７】
オブジェクトの識別子または前記オブジェクトの画像から抽出可能な前記オブジェクトの属性をアプリケーションプロバイダから受信するステップと、前記オブジェクトに関連付けられたアプリケーションを前記アプリケーションプロバイダから受信するステップと、前記識別子または前記属性を前記アプリケーションデータベース内に記憶するステップと、前記アプリケーションが前記記憶された識別子または属性に関連付けられるように、前記アプリケーションを前記アプリケーションデータベース内に記憶するステップとをさらに含む、請求項42に記載の方法。
【請求項４８】
オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するための装置であって、
モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信するための手段と、
アプリケーションデータベース内の前記情報に関連付けられたアプリケーションコンテンツを識別するための手段であって、前記アプリケーションデータベースが、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含み、各アプリケーションが、少なくとも1つのオブジェクトおよび/もしくはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、識別するための手段と、
前記識別されたアプリケーションコンテンツを前記モバイルデバイスまたは前記視覚探索サーバに送信するための手段と
を含む装置。
【請求項４９】
前記情報がオブジェクトおよび/またはオブジェクトタイプを含み、前記アプリケーションコンテンツが、前記オブジェクトおよび/または前記オブジェクトタイプに関連付けられたアプリケーションのリストを含む、請求項48に記載の装置。
【請求項５０】
前記情報が一意のアプリケーション識別子を含み、前記アプリケーションコンテンツが、前記モバイルデバイスに関する実行可能アプリケーションコンテンツを含む、請求項48に記載の装置。
【請求項５１】
前記情報が、前記モバイルデバイスによって捕捉された前記オブジェクトの画像から抽出されたオブジェクトの属性を含み、識別するための前記手段が、前記属性に基づいて前記アプリケーションコンテンツを識別するための手段を含む、請求項48に記載の装置。
【請求項５２】
前記情報がオブジェクトの識別子を含み、識別するための前記手段が、前記識別子に基づいて前記アプリケーションコンテンツを識別するための手段を含む、請求項48に記載の装置。
【請求項５３】
オブジェクトの識別子またはオブジェクトの画像から抽出可能な前記オブジェクトの属性をアプリケーションプロバイダから受信するための手段と、前記オブジェクトに関連付けられたアプリケーションを前記アプリケーションプロバイダから受信するための手段と、前記識別子または前記属性を前記アプリケーションデータベース内に記憶するための手段と、前記アプリケーションが前記記憶された識別子または属性に関連付けられるように、前記アプリケーションを前記アプリケーションデータベース内に記憶するための手段とをさらに含む、請求項48に記載の装置。
【請求項５４】
オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するためのコンピュータ可読命令を記憶した非一時的コンピュータ可読媒体であって、コンピュータに、
モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信することと、
アプリケーションデータベース内の前記情報に関連付けられたアプリケーションコンテンツを識別することであって、前記アプリケーションデータベースが、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含み、各アプリケーションが、少なくとも1つのオブジェクトおよび/もしくはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、識別することと、
前記識別されたアプリケーションコンテンツを前記モバイルデバイスまたは前記視覚探索サーバに送信することと
を行わせるように構成された命令を含む非一時的コンピュータ可読媒体。
【請求項５５】
前記情報がオブジェクトおよび/またはオブジェクトタイプを含み、前記アプリケーションコンテンツが、前記オブジェクトおよび/または前記オブジェクトタイプに関連付けられたアプリケーションのリストを含む、請求項54に記載の非一時的コンピュータ可読媒体。
【請求項５６】
前記情報が一意のアプリケーション識別子を含み、前記アプリケーションコンテンツが、前記モバイルデバイスに関する実行可能アプリケーションコンテンツを含む、請求項54に記載の非一時的コンピュータ可読媒体。
【請求項５７】
前記情報が、前記モバイルデバイスによって捕捉された前記オブジェクトの画像から抽出されたオブジェクトの属性を含み、前記コンピュータに、前記アプリケーションコンテンツを識別させるように構成された前記命令が、前記コンピュータに、前記属性に基づいて前記アプリケーションコンテンツを識別させるように構成された命令を含む、請求項54に記載の非一時的コンピュータ可読媒体。
【請求項５８】
前記情報がオブジェクトの識別子を含み、前記コンピュータに、前記アプリケーションコンテンツを識別させるように構成された前記命令が、前記コンピュータに、前記識別子に基づいて前記アプリケーションコンテンツを識別させるように構成された命令を含む、請求項54に記載の非一時的コンピュータ可読媒体。
【請求項５９】
前記コンピュータに、
オブジェクトの識別子または前記オブジェクトの画像から抽出可能な前記オブジェクトの属性をアプリケーションプロバイダから受信することと、
前記オブジェクトに関連付けられたアプリケーションを前記アプリケーションプロバイダから受信することと、
前記識別子または前記属性を前記アプリケーションデータベース内に記憶することと、
前記アプリケーションが前記記憶された識別子または属性に関連付けられるように、前記アプリケーションを前記アプリケーションデータベース内に記憶することと
を行わせるように構成された命令をさらに含む、請求項54に記載の非一時的コンピュータ可読媒体。
【請求項６０】
オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するための装置であって、
モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信するように構成されたトランシーバと、
複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含むアプリケーションデータベースであって、各アプリケーションが、少なくとも1つのオブジェクトおよび/もしくはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、アプリケーションデータベースと、
前記アプリケーションデータベース内の前記情報に関連付けられたアプリケーションコンテンツを識別するように構成されたプロセッサとを備え、
前記トランシーバが、前記識別されたアプリケーションコンテンツを前記モバイルデバイスまたは前記視覚探索サーバに送信するようにさらに構成される、装置。
【請求項６１】
前記情報がオブジェクトおよび/またはオブジェクトタイプを含み、前記アプリケーションコンテンツが、前記オブジェクトおよび/または前記オブジェクトタイプに関連付けられたアプリケーションのリストを含む、請求項60に記載の装置。
【請求項６２】
前記情報が一意のアプリケーション識別子を含み、前記アプリケーションコンテンツが、前記モバイルデバイスに関する実行可能アプリケーションコンテンツを含む、請求項60に記載の装置。
【請求項６３】
前記情報が、前記モバイルデバイスによって捕捉されたオブジェクトの画像から抽出された前記オブジェクトの属性を含み、前記プロセッサが、前記属性に基づいて前記アプリケーションコンテンツを識別するように構成される、請求項60に記載の装置。
【請求項６４】
前記情報がオブジェクトの識別子を含み、前記プロセッサが、前記識別子に基づいて前記アプリケーションコンテンツを識別するように構成される、請求項60に記載の装置。
【請求項６５】
前記プロセッサが、
オブジェクトの識別子または前記オブジェクトの画像から抽出可能な前記オブジェクトの属性をアプリケーションプロバイダから受信することと、
前記オブジェクトに関連付けられたアプリケーションを前記アプリケーションプロバイダから受信することと、
前記識別子または前記属性を前記アプリケーションデータベース内に記憶することと、
前記アプリケーションが前記記憶された識別子または属性に関連付けられるように、前記アプリケーションを前記アプリケーションデータベース内に記憶することと
を行うようにさらに構成される、請求項60に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイルフォン、タブレットコンピュータ、携帯情報端末、および他のそのようなデバイスなど、モバイルデバイスの技術的進歩は、増大したプロセッサ電力、改善されたディスプレイ品質、ならびにアプリケーションをダウンロードおよび実行する能力を備えたデバイスを利用可能にした。多くのモバイルデバイスは、静止画像、ビデオ、または両方を捕捉することができるカメラを含む。これらのデバイスの多くは、ブロードバンドネットワーク上で通信して、コンテンツを他のデバイスと共有すること、およびインターネットからマルチメディアコンテンツを受信することができる。
【発明の概要】
【課題を解決するための手段】
【０００２】
本開示による、モバイルデバイスに関連付けられたアプリケーションを管理するための方法の例は、モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得するステップと、画像から抽出されたオブジェクトの属性に基づいて、画像内のオブジェクトを識別するためのオブジェクト識別手順を開始するステップと、オブジェクト識別手順に基づいて、オブジェクトに関連付けられたアプリケーションを識別するステップと、アプリケーションをモバイルデバイス上で自動的に起動するステップとを含む。
【０００３】
そのような方法の実装形態は、次の特徴の1つまたは複数を含み得る。オブジェクト識別手順は、画像から属性を抽出するステップと、画像から抽出された属性をモバイルデバイス上に記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、画像内のオブジェクトを識別するステップとを含む。ローカルデータベース内のオブジェクトに関連付けられた属性は探索ツリーに編成され、画像から抽出された属性をローカルデータベース内に含まれたオブジェクトに関連付けられた属性と比較するステップは、画像から抽出された属性および探索ツリーに基づいて、画像内のオブジェクトを識別するステップを含む。画像から抽出された属性をローカルデータベース内のオブジェクトに関連付けられた属性と比較することによって、そのオブジェクトが識別されていないことに応答して、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送るステップ、および遠隔サーバ上に配置された視覚探索エンジンからオブジェクトの識別を受信するステップ。オブジェクトに関連付けられたアプリケーションを識別するステップは、モバイルデバイス上に記憶されたローカルデータベースを使用して、オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するステップを含む。オブジェクト識別手順を開始するステップは、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送るステップを含む。オブジェクトに関連付けられたアプリケーションを識別するステップは、視覚探索エンジンからオブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信するステップを含む。アプリケーションを自動的に起動するステップは、アプリケーションがモバイルデバイス上にインストールされているかどうかを決定するステップを含む。アプリケーションをモバイルデバイス上で自動的に起動するステップは、アプリケーションがモバイルデバイス上にインストールされている場合、そのアプリケーションを起動するステップと、アプリケーションがモバイルデバイス上にインストールされていない場合、そのアプリケーションを獲得するためのインターフェースを表示して、アプリケーションが獲得された場合、インターフェースに対する入力に基づいて、アプリケーションを起動するステップとを含む。オブジェクトに関連付けられた複数の候補アプリケーションを識別するステップ、および複数の候補アプリケーションからアプリケーションを選択するステップ。複数の候補アプリケーションからアプリケーションを選択するステップは、ユーザ選択に基づいてアプリケーションを選択するステップを含む。複数の候補アプリケーションのリスティングを表示するステップ、および表示されたリスティングからユーザ選択を提供するようにユーザにプロンプトを出すステップ。複数の候補アプリケーションのリスティングを表示するステップは、推定された関連性に従って、リスティング上の複数の候補アプリケーションを順序付けするステップを含む。複数の候補アプリケーションからアプリケーションを選択するステップは、ユーザプロファイルに基づいてアプリケーションを選択するステップを含む。ユーザ入力、またはモバイルデバイスの観測された使用パターンのうちの少なくとも1つに基づいて、ユーザプロファイルを構築するステップ。アプリケーションは拡張現実アプリケーションである。
【０００４】
本開示による、モバイルデバイスに関連付けられたアプリケーションを管理するための装置は、モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得するための手段と、画像から抽出されたオブジェクトの属性に基づいて、画像内のオブジェクトを識別するためのオブジェクト識別手順を開始するための手段と、オブジェクト識別手順に基づいて、オブジェクトに関連付けられたアプリケーションを識別するための手段と、アプリケーションをモバイルデバイス上で自動的に起動するための手段とを含む。
【０００５】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。オブジェクト識別手順は、画像から属性を抽出するための手段と、画像から抽出された属性をモバイルデバイス上に記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、画像内のオブジェクトを識別するための手段とを含む。ローカルデータベース内のオブジェクトに関連付けられた属性は探索ツリーに編成され、画像から抽出された属性をローカルデータベース内に含まれたオブジェクトに関連付けられた属性と比較するための手段は、画像から抽出された属性および探索ツリーに基づいて、画像内のオブジェクトを識別するための手段を含む。画像から抽出された属性をローカルデータベース内のオブジェクトに関連付けられた属性と比較することによって、そのオブジェクトが識別されていないことに応答して、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送るための手段、および遠隔サーバ上に配置された視覚探索エンジンからオブジェクトの識別を受信するための手段。オブジェクトに関連付けられたアプリケーションを識別するための手段は、モバイルデバイス上に記憶されたローカルデータベースを使用して、オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するための手段を含む。オブジェクト識別手順を開始するための手段は、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送るための手段を含む。オブジェクトに関連付けられたアプリケーションを識別するための手段は、視覚探索エンジンからオブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信するための手段を含む。アプリケーションを自動的に起動するための手段は、アプリケーションがモバイルデバイス上にインストールされているかどうかを決定するための手段を含む。アプリケーションをモバイルデバイス上で自動的に起動するための手段は、アプリケーションがモバイルデバイス上にインストールされている場合、そのアプリケーションを起動するための手段と、アプリケーションがモバイルデバイス上にインストールされていない場合、そのアプリケーションを獲得するためのインターフェースを表示して、アプリケーションが獲得された場合、インターフェースに対する入力に基づいてアプリケーションを起動するための手段とを含む。オブジェクトに関連付けられた複数の候補アプリケーションを識別するための手段、および複数の候補アプリケーションからアプリケーションを選択するための手段。複数の候補アプリケーションからアプリケーションを選択するための手段は、ユーザ選択に基づいてアプリケーションを選択するための手段を含む。複数の候補アプリケーションのリスティングを表示するための手段、および表示されたリスティングからユーザ選択を提供するようにユーザにプロンプトを出すための手段。複数の候補アプリケーションのリスティングを表示するための手段は、推定された関連性に従って、リスティング上の複数の候補アプリケーションを順序付けするための手段を含む。複数の候補アプリケーションからアプリケーションを選択するための手段は、ユーザプロファイルに基づいてアプリケーションを選択するための手段を含む。ユーザ入力、またはモバイルデバイスの観測された使用パターンのうちの少なくとも1つに基づいて、ユーザプロファイルを構築するための手段。アプリケーションは拡張現実アプリケーションである。
【０００６】
本開示による例示的な非一時的コンピュータ可読媒体は、モバイルデバイスに関連付けられたアプリケーションを管理するためのコンピュータ可読命令を記憶している。これらの命令は、コンピュータに、モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得することと、画像から抽出されたオブジェクトの属性に基づいて、画像内のオブジェクトを識別するためのオブジェクト識別手順を開始することと、オブジェクト識別手順に基づいて、オブジェクトに関連付けられたアプリケーションを識別することと、アプリケーションをモバイルデバイス上で自動的に起動することとを行わせる。
【０００７】
そのような非一時的コンピュータ可読媒体の実装形態は、次の特徴のうちの1つまたは複数を含み得る。オブジェクト識別手順を実行するためのコードは、コンピュータに、画像から属性を抽出することと、画像から抽出された属性をモバイルデバイス上に記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、画像内のオブジェクトを識別することとを行わせるためのコードを含む。ローカルデータベース内のオブジェクトに関連付けられた属性は探索ツリーに編成され、コンピュータに、画像から抽出された属性をローカルデータベース内に含まれたオブジェクトに関連付けられた属性と比較させるためのコードは、コンピュータに、画像から抽出された属性および探索ツリーに基づいて、画像内のオブジェクトを識別させるためのコードを含む。コンピュータに、画像から抽出された属性をローカルデータベース内のオブジェクトに関連付けられた属性と比較することによって、オブジェクトが識別されていないことに応答して、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送ること、および遠隔サーバ上に配置された視覚探索エンジンからオブジェクトの識別を受信することを行わせるコード。コンピュータに、オブジェクトに関連付けられたアプリケーションを識別させるためのコードは、コンピュータに、モバイルデバイス上に記憶されたローカルデータベースを使用して、オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別させるためのコードを含む。コンピュータに、オブジェクト識別手順を開始させるためのコードは、コンピュータに、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送らせるためのコードを含む。コンピュータに、オブジェクトに関連付けられたアプリケーションを識別させるためのコードは、コンピュータに、視覚探索エンジンからオブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信させるためのコードを含む。コンピュータに、アプリケーションを自動的に起動させるためのコードは、コンピュータに、アプリケーションがモバイルデバイス上にインストールされているかどうかを決定させるためのコードを含む。コンピュータに、アプリケーションをモバイルデバイス上で自動的に起動させるためのコードは、コンピュータに、アプリケーションがモバイルデバイス上にインストールされている場合、そのアプリケーションを起動させ、アプリケーションがモバイルデバイス上にインストールされていない場合、そのアプリケーションを獲得するためのインターフェースを表示させ、アプリケーションが獲得された場合、インターフェースに対する入力に基づいてアプリケーションを起動させるためのコードを含む。コンピュータに、オブジェクトに関連付けられた複数の候補アプリケーションを識別すること、および複数の候補アプリケーションからアプリケーションを選択することを行わせるコード。コンピュータに、複数の候補アプリケーションからアプリケーションを選択させるためのコードは、コンピュータに、ユーザ選択に基づいてアプリケーションを選択させるためのコードを含む。コンピュータに、複数の候補アプリケーションのリスティングを表示すること、および表示されたリスティングからユーザ選択を提供するようにユーザにプロンプトを出すことを行わせるコード。コンピュータに、複数の候補アプリケーションのリスティングを表示することを行わせるためのコードは、コンピュータに、推定された関連性に従って、リスティング上の複数の候補アプリケーションを順序付けさせるためのコードを含む。コンピュータに、複数の候補アプリケーションからアプリケーションを選択させるためのコードは、コンピュータに、ユーザプロファイルに基づいてアプリケーションを選択させるためのコードを含む。コンピュータに、ユーザ入力、またはモバイルデバイスの観測された使用パターンのうちの少なくとも1つに基づいて、ユーザプロファイルを構築させるためのコード。アプリケーションは拡張現実アプリケーションである。
【０００８】
本開示による、モバイルデバイスに関連付けられたアプリケーションを管理するための例示的な装置は、データをワイヤレスに送受信するように構成されたトランシーバと、非一時的コンピュータ可読メモリと、非一時的コンピュータ可読メモリ内に記憶されたプロセッサ実行可能コードを含む複数のモジュールと、非一時的コンピュータ可読メモリに接続され、非一時的コンピュータ可読メモリ内に記憶された複数のモジュールにアクセスするように構成されたプロセッサとを含む。この装置はまた、モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得するように構成された画像捕捉モジュールと、画像から抽出されたオブジェクトの属性に基づいて、画像内のオブジェクトを識別するためのオブジェクト識別手順を開始して、オブジェクト識別手順に基づいて、オブジェクトに関連付けられたアプリケーションを識別するように構成された画像識別モジュールと、アプリケーションをモバイルデバイス上で自動的に起動するように構成されたアプリケーションランチャーとを含む。
【０００９】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。オブジェクト識別手順を実行するように構成された画像識別モジュールは、画像から属性を抽出することと、画像から抽出された属性をモバイルデバイス上に記憶されたローカルデータベース内のオブジェクトに関連付けられた属性と比較して、画像内のオブジェクトを識別することとを行うように構成される。ローカルデータベース内のオブジェクトに関連付けられた属性は探索ツリーに編成され、画像から抽出された属性をローカルデータベース内に含まれたオブジェクトに関連付けられた属性と比較するように構成された画像識別モジュールは、画像から抽出された属性および探索ツリーに基づいて、画像内のオブジェクトを識別するようにさらに構成される。画像識別モジュールは、画像から抽出された属性をローカルデータベース内のオブジェクトに関連付けられた属性と比較することによって、オブジェクトが識別されていないことに応答して、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送ることと、遠隔サーバ上に配置された視覚探索エンジンからオブジェクトの識別を受信することとを行うようにさらに構成される。オブジェクトに関連付けられたアプリケーションを識別するように構成された画像識別モジュールは、モバイルデバイス上に記憶されたローカルデータベースを使用して、オブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するようにさらに構成される。オブジェクト識別手順を開始するように構成された画像識別モジュールは、オブジェクトの画像または画像から抽出された属性を遠隔サーバ上に配置された視覚探索エンジンに送るようにさらに構成される。オブジェクトに関連付けられたアプリケーションを識別するように構成された画像識別モジュールは、視覚探索エンジンからオブジェクトに関連付けられた1つまたは複数のアプリケーションを識別する情報を受信するようにさらに構成される。アプリケーションを自動的に起動するように構成されたアプリケーションランチャーモジュールは、アプリケーションがモバイルデバイス上にインストールされているかどうかを決定するようにさらに構成される。アプリケーションをモバイルデバイス上で自動的に起動するように構成されたアプリケーションランチャーモジュールは、アプリケーションがモバイルデバイス上にインストールされている場合、そのアプリケーションを起動するようにさらに構成され、装置は、モバイルデバイス上にアプリケーションがインストールされていない場合、そのアプリケーションを獲得するためのインターフェースを表示し、アプリケーションが獲得された場合、インターフェースに対する入力に基づいてアプリケーションを起動するように構成されたアプリケーション獲得モジュールをさらに含む。画像識別モジュールは、オブジェクトに関連付けられた複数の候補アプリケーションを識別することと、複数の候補アプリケーションからアプリケーションを選択することとを行うようにさらに構成される。複数の候補アプリケーションからアプリケーションを選択するように構成されたアプリケーションランチャーモジュールは、ユーザ選択に基づいてアプリケーションを選択するようにさらに構成される。アプリケーションランチャーモジュールは、複数の候補アプリケーションのリスティングを表示することと、表示されたリスティングからユーザ選択を提供するようにユーザにプロンプトを出すようにさらに構成される。複数の候補アプリケーションのリスティングを表示するように構成されたアプリケーションランチャーモジュールは、推定された関連性に従って、リスティング上の複数の候補アプリケーションを順序付けするようにさらに構成される。複数の候補アプリケーションからアプリケーションを選択するように構成されたアプリケーションランチャーモジュールは、ユーザプロファイルに基づいてアプリケーションを選択するようにさらに構成される。アプリケーションランチャーモジュールは、ユーザ入力、またはモバイルデバイスの観測された使用パターンのうちの少なくとも1つに基づいて、ユーザプロファイルを構築するようにさらに構成される。アプリケーションは拡張現実アプリケーションである。
【００１０】
本開示による、モバイルデバイスによって捕捉された画像に関連付けられたアプリケーションを識別するための例示的な方法は、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信するステップと、その情報に基づいてオブジェクトを識別するステップと、識別されたオブジェクトに関連付けられたアプリケーションを識別するステップと、識別されたオブジェクトに関連付けられたアプリケーションの識別を少なくとも含む情報をモバイルデバイスに送信するステップとを含む。
【００１１】
そのような方法の実装形態は、次の特徴の1つまたは複数を含み得る。情報はオブジェクトの画像を含み、オブジェクトを識別するステップは、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別するステップを含む。情報は画像から抽出されたオブジェクトの属性を含み、オブジェクトを識別するステップは、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較するステップを含む。識別されたオブジェクトに関連付けられたアプリケーションを識別するステップは、識別されたオブジェクトに関連付けられた情報をアプリケーションポータルサーバに送るステップと、アプリケーションに関連付けられたアプリケーション識別子をアプリケーションポータルサーバから受信するステップとを含み、アプリケーションポータルサーバは、複数のアプリケーションサーバからの複数のアプリケーションを記憶するように構成され、各アプリケーションは、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプに関連付けられる。モバイルデバイスに送信される情報はアプリケーション識別子を含む。モバイルデバイスに送信される情報は、アプリケーション識別子を使用して、アプリケーションポータルサーバからアプリケーションをダウンロードするためのモバイルデバイスに対する命令を含む。識別されたオブジェクトに関連付けられたアプリケーションに関連付けられた実行可能アプリケーションコンテンツをアプリケーションポータルサーバから要求するステップであって、要求がアプリケーション識別子を含む、要求するステップ、および、実行可能アプリケーションコンテンツをアプリケーションポータルサーバから受信するステップ、情報をモバイルデバイスに送信するステップは、実行可能アプリケーションコンテンツをモバイルデバイスに送信するステップを含む。
【００１２】
本開示による、モバイルデバイスによって捕捉された画像に関連付けられたアプリケーションを識別するための例示的な装置は、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信するための手段と、その情報に基づいてオブジェクトを識別するための手段と、識別されたオブジェクトに関連付けられたアプリケーションを識別するための手段と、識別されたオブジェクトに関連付けられたアプリケーションの識別を少なくとも含む情報をモバイルデバイスに送信するための手段とを含む。
【００１３】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトの画像を含み、オブジェクトを識別するための手段は、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別するための手段を含む。情報は画像から抽出されたオブジェクトの属性を含み、オブジェクトを識別するための手段は、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較するための手段を含む。識別されたオブジェクトに関連付けられたアプリケーションを識別するための手段は、識別されたオブジェクトに関連付けられた情報をアプリケーションポータルサーバに送るための手段と、アプリケーションに関連付けられたアプリケーション識別子をアプリケーションポータルサーバから受信するための手段とを含み、アプリケーションポータルサーバは、複数のアプリケーションサーバからの複数のアプリケーションを記憶するように構成され、各アプリケーションは、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプに関連付けられる。モバイルデバイスに送信される情報はアプリケーション識別子を含む。モバイルデバイスに送信される情報は、アプリケーション識別子を使用して、アプリケーションポータルサーバからアプリケーションをダウンロードするためのモバイルデバイスに対する命令を含む。識別されたオブジェクトに関連付けられたアプリケーションに関連付けられた実行可能アプリケーションコンテンツをアプリケーションポータルサーバから要求するための手段であって、要求がアプリケーション識別子を含む、要求するための手段、および、実行可能アプリケーションコンテンツをアプリケーションポータルサーバから受信するための手段、情報をモバイルデバイスに送信することは、実行可能アプリケーションコンテンツをモバイルデバイスに送信することを含む。識別されたオブジェクトに関連付けられたアプリケーションを識別するための手段は、識別されたオブジェクトに関連付けられた複数のアプリケーションからアプリケーションを選択するための手段を含む。
【００１４】
本開示による例示的な非一時的コンピュータ可読媒体は、モバイルデバイスによって捕捉された画像に関連付けられたアプリケーションを識別するためのコンピュータ可読命令を記憶している。これらの命令は、コンピュータに、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信することと、その情報に基づいてオブジェクトを識別することと、識別されたオブジェクトに関連付けられたアプリケーションを識別することと、識別されたオブジェクトに関連付けられたアプリケーションの識別を少なくとも含む情報をモバイルデバイスに送信することとを行わせるように構成される。
【００１５】
そのような非一時的コンピュータ可読媒体の実装形態は、次の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトの画像を含み、コンピュータに、オブジェクトを識別させるように構成された命令は、コンピュータに、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別させるように構成された命令を含む。情報は画像から抽出されたオブジェクトの属性を含み、コンピュータに、オブジェクトを識別するように構成された命令は、コンピュータに、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性を比較させるように構成された命令を含む。コンピュータに、識別されたオブジェクトに関連付けられたアプリケーションを識別するように構成された命令は、コンピュータに、識別されたオブジェクトに関連付けられた情報をアプリケーションポータルサーバに送ることと、アプリケーションに関連付けられたアプリケーション識別子をアプリケーションポータルサーバから受信することとを行わせるように構成された命令を含み、アプリケーションポータルサーバは、複数のアプリケーションサーバからの複数のアプリケーションを記憶するように構成され、各アプリケーションは、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプに関連付けられる。モバイルデバイスに送信される情報はアプリケーション識別子を含む。モバイルデバイスに送信される情報は、アプリケーション識別子を使用して、アプリケーションポータルサーバからアプリケーションをダウンロードするためのモバイルデバイスに対する命令を含む。コンピュータに、識別されたオブジェクトに関連付けられたアプリケーションに関連付けられた実行可能アプリケーションコンテンツをアプリケーションポータルサーバから要求することであって、要求がアプリケーション識別子を含む、要求することと、実行可能アプリケーションコンテンツをアプリケーションポータルサーバから受信することとを行わせるように構成された命令、この場合、コンピュータに、情報をモバイルデバイスに送信させるように構成された命令は、コンピュータに、実行可能アプリケーションコンテンツをモバイルデバイスに送信させるように構成された命令を含む。
【００１６】
本開示による、モバイルデバイスによって捕捉された画像に関連付けられたアプリケーションを識別するための例示的な装置は、データをワイヤレスに送受信するように構成されたトランシーバと、非一時的コンピュータ可読メモリと、非一時的コンピュータ可読メモリ内に記憶されたプロセッサ実行可能コードを含む複数のモジュールと、非一時的コンピュータ可読メモリに接続され、非一時的コンピュータ可読メモリ内に記憶された複数のモジュールにアクセスするように構成されたプロセッサとを含む。この装置はまた、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信することと、その情報に基づいてオブジェクトを識別することと、識別されたオブジェクトに関連付けられたアプリケーションを識別することと、識別されたオブジェクトに関連付けられたアプリケーションの識別を少なくとも含む情報をモバイルデバイスに送信することとを行わせるように構成された視覚探索エンジンモジュールを含む。
【００１７】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトの画像を含み、オブジェクトを識別するように構成された視覚探索エンジンモジュールは、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別するようにさらに構成される。情報は画像から抽出されたオブジェクトの属性を含み、オブジェクトを識別するように構成された視覚探索エンジンモジュールは、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較するようにさらに構成される。識別されたオブジェクトに関連付けられたアプリケーションを識別するように構成された視覚探索エンジンモジュールは、識別されたオブジェクトに関連付けられた情報をアプリケーションポータルサーバに送ることと、アプリケーションに関連付けられたアプリケーション識別子をアプリケーションポータルサーバから受信することとを行うようにさらに構成され、アプリケーションポータルサーバは、複数のアプリケーションサーバからの複数のアプリケーションを記憶するように構成され、各アプリケーションは、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプに関連付けられる。モバイルデバイスに送信される情報はアプリケーション識別子を含む。モバイルデバイスに送信される情報は、アプリケーション識別子を使用して、アプリケーションポータルサーバからアプリケーションをダウンロードするためのモバイルデバイスに対する命令を含む。識別されたオブジェクトに関連付けられたアプリケーションに関連付けられた実行可能アプリケーションコンテンツをアプリケーションポータルサーバから要求することであって、要求がアプリケーション識別子を含む、要求することと、実行可能アプリケーションコンテンツをアプリケーションポータルサーバから受信することと、実行可能アプリケーションコンテンツをモバイルデバイスに送信することとを行うように構成されたアプリケーション獲得モジュール。識別されたオブジェクトに関連付けられたアプリケーションを識別するように構成された視覚探索エンジンモジュールは、識別されたオブジェクトに関連付けられた複数のアプリケーションからアプリケーションを選択するようにさらに構成される。
【００１８】
本開示による、モバイルデバイスによって捕捉された画像に関連付けられたオブジェクトを識別するための例示的な方法は、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信するステップと、その情報に基づいてオブジェクトを識別するステップと、識別されたオブジェクトの識別を少なくとも含む情報をモバイルデバイスに送信するステップとを含む。
【００１９】
そのような方法の実装形態は、次の特徴の1つまたは複数を含み得る。情報はオブジェクトの画像を含み、オブジェクトを識別するステップは、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別するステップを含む。情報は、画像から抽出されたオブジェクトの属性を含み、オブジェクトを識別するステップは、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較するステップを含む。
【００２０】
本開示による、モバイルデバイスによって捕捉された画像に関連付けられたオブジェクトを識別するための例示的な装置は、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信するための手段と、その情報に基づいてオブジェクトを識別するための手段と、識別されたオブジェクトの識別を少なくとも含む情報をモバイルデバイスに送信するための手段とを含む。
【００２１】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトの画像を含み、オブジェクトを識別するための手段は、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別するための手段を含む。情報は画像から抽出されたオブジェクトの属性を含み、オブジェクトを識別するための手段は、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較するための手段を含む。
【００２２】
本開示による例示的な非一時的コンピュータ可読媒体は、モバイルデバイスによって捕捉された画像に関連付けられたオブジェクトを識別するためのコンピュータ可読命令を記憶している。これらの命令は、コンピュータに、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信することと、その情報に基づいてオブジェクトを識別することと、識別されたオブジェクトの識別を少なくとも含む情報をモバイルデバイスに送信することとを行わせるように構成される。
【００２３】
そのような非一時的コンピュータ可読媒体の実装形態は、次の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトの画像を含み、コンピュータに、オブジェクトを識別させるように構成された命令は、コンピュータに、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別させるように構成された命令を含む。情報は画像から抽出されたオブジェクトの属性を含み、コンピュータに、オブジェクトを識別させるように構成された命令は、コンピュータに、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較させるように構成された命令を含む。
【００２４】
本開示による、モバイルデバイスによって捕捉された画像に関連付けられたオブジェクトを識別するための装置は、データをワイヤレスに送受信するように構成されたトランシーバと、非一時的コンピュータ可読メモリと、非一時的コンピュータ可読メモリ内に記憶されたプロセッサ実行可能コードを含む複数のモジュールと、非一時的コンピュータ可読メモリに接続され、非一時的コンピュータ可読メモリ内に記憶された複数のモジュールにアクセスするように構成されたプロセッサと、視覚探索エンジンモジュールとを含む。視覚探索エンジンモジュールは、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像に関する情報をモバイルデバイスから受信することと、その情報に基づいてオブジェクトを識別することと、識別されたオブジェクトの識別を少なくとも含む情報をモバイルデバイスに送信することとを行うように構成される。
【００２５】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトの画像を含み、オブジェクトを識別するように構成された視覚探索エンジンモジュールは、画像または画像から抽出されたオブジェクトの属性をオブジェクトデータベースのコンテンツと比較して、画像内のオブジェクトを識別するようにさらに構成される。情報は画像から抽出されたオブジェクトの属性を含み、オブジェクトを識別するように構成された視覚探索エンジンモジュールは、オブジェクトの属性をオブジェクトデータベース内のオブジェクトに関連付けられた属性と比較するようにさらに構成される。
【００２６】
本開示による、オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するための例示的な方法は、モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信するステップと、アプリケーションデータベース内の情報に関連付けられたアプリケーションコンテンツを識別するステップであって、アプリケーションデータベースが、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含み、各アプリケーションが、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、識別するステップと、識別されたアプリケーションコンテンツをモバイルデバイスまたは視覚探索サーバに送信するステップとを含む。
【００２７】
そのような方法の実装形態は、次の特徴の1つまたは複数を含み得る。情報はオブジェクトおよび/またはオブジェクトタイプを含み、アプリケーションコンテンツは、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストを含む。情報は一意のアプリケーション識別子を含み、アプリケーションコンテンツは、モバイルデバイスに関する実行可能アプリケーションコンテンツを含む。情報は、モバイルデバイスによって捕捉されたオブジェクトの画像から抽出されたオブジェクトの属性を含み、識別するステップはそれらの属性に基づく。情報はオブジェクトの識別子を含み、識別するステップはその識別子に基づく。アプリケーションプロバイダから、オブジェクトの識別子またはオブジェクトの画像から抽出可能なオブジェクトの属性を受信するステップ、オブジェクトに関連付けられたアプリケーションをアプリケーションプロバイダから受信するステップ、識別子または属性をアプリケーションデータベース内に記憶するステップ、および、アプリケーションが記憶された識別子または属性に関連付けられるように、アプリケーションをアプリケーションデータベース内に記憶するステップ。
【００２８】
本開示による、オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するための例示的な装置は、モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信するための手段と、アプリケーションデータベース内の情報に関連付けられたアプリケーションコンテンツを識別するための手段であって、アプリケーションデータベースが、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含み、各アプリケーションが、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、識別するための手段と、アプリケーションコンテンツをモバイルデバイスまたは視覚探索サーバに送信するための手段とを含む。
【００２９】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトおよび/またはオブジェクトタイプを含み、アプリケーションコンテンツは、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストを含む。情報は一意のアプリケーション識別子を含み、アプリケーションコンテンツは、モバイルデバイスに関する実行可能アプリケーションコンテンツを含む。情報は、モバイルデバイスによって捕捉されたオブジェクトの画像から抽出されたオブジェクトの属性を含み、識別するための手段は、それらの属性に基づいてアプリケーションコンテンツを識別するための手段を含む。情報はオブジェクトの識別子を含み、識別するための手段は、その識別子に基づいてアプリケーションコンテンツを識別するための手段を含む。オブジェクトの識別子またはオブジェクトの画像から抽出可能なオブジェクトの属性をアプリケーションプロバイダから受信するための手段、オブジェクトに関連付けられたアプリケーションをアプリケーションプロバイダから受信するための手段、識別子または属性をアプリケーションデータベース内に記憶するための手段、および、アプリケーションが記憶された識別子または属性に関連付けられるように、アプリケーションをアプリケーションデータベース内に記憶するための手段。
【００３０】
本開示による例示的な非一時的コンピュータ可読媒体は、オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するためのコンピュータ可読命令を記憶している。これらの命令は、コンピュータに、モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信することと、アプリケーションデータベース内の情報に関連付けられたアプリケーションコンテンツを識別することであって、アプリケーションデータベースが、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含み、各アプリケーションが、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、識別することと、識別されたアプリケーションコンテンツをモバイルデバイスまたは視覚探索サーバに送信することを行わせるように構成される。
【００３１】
そのような非一時的コンピュータ可読媒体の実装形態は、次の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトおよび/またはオブジェクトタイプを含み、アプリケーションコンテンツは、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストを含む。情報は一意のアプリケーション識別子を含み、アプリケーションコンテンツは、モバイルデバイスに関する実行可能アプリケーションコンテンツを含む。情報は、モバイルデバイスによって捕捉されたオブジェクトの画像から抽出されたオブジェクトの属性を含み、コンピュータに、アプリケーションコンテンツを識別させるように構成された命令は、コンピュータに、それらの属性に基づいてアプリケーションコンテンツを識別させるように構成された命令を含む。情報はオブジェクトの識別子を含み、コンピュータに、アプリケーションコンテンツを識別させるように構成された命令は、コンピュータに、その識別子に基づいてアプリケーションコンテンツを識別させるように構成された命令を含む。コンピュータにオブジェクトの識別子またはオブジェクトの画像から抽出可能なオブジェクトの属性を、アプリケーションプロバイダから受信すること、オブジェクトに関連付けられたアプリケーションをアプリケーションプロバイダから受信すること、識別子または属性をアプリケーションデータベース内に記憶すること、および、アプリケーションが記憶された識別子または記憶された属性に関連付けられるように、アプリケーションをアプリケーションデータベース内に記憶することを行わせるように構成された命令。
【００３２】
本開示による、オブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションコンテンツを提供するための例示的な装置は、モバイルデバイスまたは視覚探索サーバから、アプリケーションコンテンツに対する要求に関する情報を受信するように構成されたトランシーバと、複数のアプリケーションプロバイダからの複数のアプリケーションに関連付けられたアプリケーションコンテンツを含むアプリケーションデータベースであって、各アプリケーションが、少なくとも1つのオブジェクトおよび/またはオブジェクトタイプ、ならびに一意のアプリケーション識別子に関連付けられる、アプリケーションデータベースと、プロセッサとを含む。プロセッサは、アプリケーションデータベース内の情報に関連付けられたアプリケーションコンテンツを識別するように構成され、トランシーバは、識別されたアプリケーションコンテンツをモバイルデバイスまたは視覚探索サーバに送信するようにさらに構成される。
【００３３】
そのような装置の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。情報はオブジェクトおよび/またはオブジェクトタイプを含み、アプリケーションコンテンツは、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストを含む。情報は一意のアプリケーション識別子を含み、アプリケーションコンテンツは、モバイルデバイスに関する実行可能アプリケーションコンテンツを含む。情報は、モバイルデバイスによって捕捉されたオブジェクトの画像から抽出されたオブジェクトの属性を含み、プロセッサは、それらの属性に基づいてアプリケーションコンテンツを識別するように構成される。情報はオブジェクトの識別子を含み、プロセッサは、識別子に基づいてアプリケーションコンテンツを識別するように構成される。プロセッサは、オブジェクトの識別子またはオブジェクトの画像から抽出可能なオブジェクトの属性をアプリケーションプロバイダから受信することと、オブジェクトに関連付けられたアプリケーションをアプリケーションプロバイダから受信することと、識別子または属性をアプリケーションデータベース内に記憶することと、アプリケーションが記憶された識別子または属性に関連付けられるように、アプリケーションをアプリケーションデータベース内に記憶することとを行うようにさらに構成される。
【００３４】
本明細書で説明する項目および/または技法は、以下の能力のうちの1つまたは複数、ならびに言及されていない他の能力を提供することができる。
【図面の簡単な説明】
【００３５】
【図１】ワイヤレス通信システムの簡略図である。
【図２】図1に示す移動局を実装するために使用され得るモバイルデバイスの機能ブロック図である。
【図３】図2に示すメモリの機能モジュールを示す、図1に示した移動局の機能ブロック図である。
【図４】図1に示した視覚探索サーバを実装するために使用され得るコンピュータシステムの機能ブロック図である。
【図５】モバイルデバイスに関連付けられたアプリケーションを管理するためのプロセスのブロックフロー図である。
【図６】モバイルデバイスに関連付けられたカメラを使用して捕捉されたオブジェクトの画像内のオブジェクトを識別するためのプロセスのブロックフロー図である。
【図７】モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像内で識別されたオブジェクトに関連付けられたアプリケーションを識別するためのプロセスのブロックフロー図である。
【図８】アプリケーションをモバイルデバイス上で起動するためのプロセスのブロックフロー図である。
【図９】モバイルデバイス上で起動するための候補アプリケーションを選択するためのプロセスのブロックフロー図である。
【図１０】モバイルデバイスに関連付けられたカメラによって捕捉された画像内のオブジェクトを識別して、そのオブジェクトに関連付けられた少なくとも1つの候補アプリケーションを識別するためのプロセスのブロックフロー図である。
【図１１】図1に示したアプリケーションポータルサーバを実装するために使用され得るコンピュータシステムのブロック図である。
【図１２】モバイルデバイスのカメラを使用して捕捉された画像内のオブジェクトを識別するためのプロセスのブロックフロー図である。
【図１３】モバイルデバイスのカメラによって捕捉された画像内のオブジェクトに関連付けられたオブジェクトおよび/またはオブジェクトタイプを識別するためのプロセスのブロックフロー図である。
【図１４】オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーション情報を提供するためのプロセスのブロックフロー図である。
【図１５】アプリケーションデータストア内のアプリケーション情報を更新するためのプロセスのブロックフロー図である。
【図１６】特定のアプリケーションに関連付けられたアプリケーション情報をモバイルデバイスまたは視覚探索サーバに提供するためのプロセスのブロックフロー図である。
【発明を実施するための形態】
【００３６】
モバイルデバイスに関連付けられたアプリケーションを管理するための技法が提供される。本明細書で開示する技法は、モバイルデバイスに関連付けられたカメラから見たオブジェクトの画像を取得して、画像から抽出されたオブジェクトの属性に基づいて、画像内のオブジェクトを識別して、1つまたは複数のアプリケーションがオブジェクトに関連付けられるかどうかを決定するための技法を含む。モバイルデバイスは、モバイルデバイスのカメラを実世界オブジェクト(ターゲット)に向けることによって、モバイルデバイスのユーザが拡張現実(AR)アプリケーションもしくは他のアプリケーションなどのアプリケーションを識別、開始、および/または獲得するのを可能にするランチャー機能を含み得る。本明細書で使用する「アプリケーション」という用語は、コンピューティングアプリケーション、すなわち、モバイルデバイス上で特定のタスクもしくはタスクのセットを実行するように設計されたコンピュータプログラムまたはコンピュータソフトウェア構成要素を指す。アプリケーションは、モバイルデバイスのプロセッサによって実行および/または解釈され得るプロセッサ実行可能プログラムコードのセットを含み得る。アプリケーションはまた、モバイルデバイスのファームウェアおよび/またはハードウェア内で、かつ/あるいはモバイルデバイスのオペレーティングシステムの一部として実装される1つもしくは複数のルーチンを実行するように構成され得る。いくつかの実施形態では、アプリケーションは、オペレーティングシステムおよび/またはモバイルデバイスのネイティブ機能から分離可能である。たとえば、いくつかの実装形態では、アプリケーションは、モバイルデバイスの他の動作に影響を及ぼさずに、モバイルデバイスからダウンロード、記憶、更新、および/または削除され得る。いくつかの実施形態では、アプリケーションは、下位機能ではなく、またはモバイルデバイスの別の動作のサブプロセスとして呼び出されず、むしろ、モバイルデバイスの使用によって別々に選択可能であり得、かつ/または活性化され得る。
【００３７】
(本明細書ではターゲットも呼ぶ)実世界オブジェクトに関連付けられた1つまたは複数のアプリケーションが存在する場合、オブジェクトに関連付けられたアプリケーションは、モバイルデバイス上で自動的に起動され得る。実世界オブジェクトとアプリケーションとの間の関連付けは、いくつかの実施形態では、そのオブジェクトが1つもしくは複数のアプリケーションに関連付けられていることを示すか、あるいは潜在的に関連付けられたアプリケーションに関するデータベースを探索するために使用され得る、オブジェクト上のアイコン、シンボル、または他のマーキングなど、視覚的インジケータによって識別され得る。
【００３８】
図1は、モバイルデバイスに関連付けられたアプリケーションを管理するための技法が実装され得るワイヤレス通信システムの略図である。図1に示す例では、ワイヤレスネットワーク環境は、ワイヤレスアクセスポイント115と、基地局140と、複数のモバイルデバイス120と、ネットワーク110と、視覚探索サーバ125と、アプリケーションポータルサーバ145とを含む。
【００３９】
図1に示す例示的なネットワーク環境は、単一のワイヤレスアクセスポイント115を含むが、本明細書で開示する技法を実装するために使用され得る他のネットワーク環境は、より多くのワイヤレスアクセスポイントまたはより少ないワイヤレスアクセスポイントのいずれかを含み得る。「アクセスポイント」という用語は、簡単のために使用されるが、より具体的には、その一例が、一般にWi-Fiと呼ばれるIEEE 802.11規格ファミリーを含むIEEE 802シリーズ準拠ネットワークなど、ワイヤレスローカルエリアネットワーク内のアクセスポイントを含む通信デバイスを指す。たとえば、Bluetooth（登録商標）を使用するデバイスは、本開示による通信デバイスであり得る。したがって、アクセスポイントという用語の使用は、他の種類の通信ネットワークを除かない。さらに、ワイヤレスアクセスポイント115は、IEEE 802シリーズからの規格に加えて、またはその代わりに、他のワイヤレス通信規格を実装するように構成され得る。ワイヤレスアクセスポイント115はまた、モバイル通信ネットワークに関する基地局として動作するように構成されたフェムトセルとして実装され得る。ワイヤレスアクセスポイント115は、固定位置に配置されてよく、または可動式であってもよい。たとえば、ワイヤレスアクセスポイント115は、WiFiホットスポットを提供するように構成され、かつ、WiFiホットスポットにネットワーク接続性を提供するために、モバイル通信ネットワーク、たとえば、WANにワイヤレスに接続するように構成されたモバイルデバイスであり得る。
【００４０】
基地局140は、モバイルデバイス120など、複数のモバイルデバイスとワイヤレスに通信するように構成され得る。基地局140は、モバイル通信ネットワークプロバイダに関連付けられることが可能であり、モバイルデバイスに関する1つまたは複数のワイヤレス通信プロトコルを使用して通信するように構成され得る。たとえば、基地局140は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、シングルキャリアFDMA(SC-FDMA)、ロングタームエボリューション(LTE:Long Term Evolution)、および/または他のワイヤレス通信プロトコルなど、ワイヤレス通信プロトコルのうちの1つもしくは複数を使用するように構成され得る。たとえば、基地局140は、LTEワイヤレス通信規格を埋め込んだワイヤレス通信システムの発展型NodeB(eNB)であり得る。本明細書で論じるワイヤレス通信は、基地局140によって実装され得るタイプのワイヤレスプロトコルのうちのいくつかの単なる例であり、本明細書で論じる技法をこれらのプロトコルを使用するワイヤレス通信ネットワークに限定することは意図されない。
【００４１】
図1に示す例示的なネットワーク環境はまた、2つのモバイルデバイス120を含むが、本明細書で開示する技法を実装するために使用され得る他のネットワーク環境は、より多くのモバイルデバイスまたはより少ないモバイルデバイスのいずれかを含み得る。モバイルデバイス120は、たとえば、ワイヤレスアクセスポイント115またはワイヤレス基地局140のうちの1つを介して、1つもしくは複数の視覚探索サーバ125および/あるいはアプリケーションポータルサーバ145と通信するように構成され得る。視覚探索サーバ125は、モバイルデバイス120から受信された画像に関連付けられた画像コンテンツおよび/または記述子、キーポイント、ならびに/あるいは他の情報もしくは属性に関する探索を実行して、その画像内のオブジェクトの識別を試みるように構成され得る。視覚探索サーバ125は、モバイルデバイス120からの要求に応答して、画像内のオブジェクトの識別をモバイルデバイス120に提供すること、および/またはそのようなオブジェクトに関連付けられた他の情報もしくは属性をモバイルデバイス120に提供することができる。視覚探索サーバ125はまた、1つまたは複数のアプリケーションをオブジェクトに関連付けて、それらのアプリケーションに関連付けられたアプリケーション識別子をモバイルデバイス120に提供するように構成され得る。視覚探索サーバ125はまた、識別されたアプリケーションに関連付けられた実行可能アプリケーションコンテンツを取得するように構成され得、アプリケーションポータルサーバ145からアプリケーションを取得するように構成され得る。アプリケーションポータルサーバ145は、アプリケーション開発者がアプリケーションを登録して、それらのアプリケーションを、アプリケーションをオブジェクトおよび/もしくはオブジェクトのタイプに関連付けるために使用され得る記述子、キーポイント、および/あるいは他の情報または属性に関連付けるのを可能にするように構成され得る。アプリケーションポータルサーバ145は、アプリケーションを、1つもしくは複数のアプリケーションのアプリケーション識別子を有するオブジェクトおよび/またはオブジェクトのタイプに関連付けるために使用され得る記述子、キーポイント、ならびに/あるいは他の情報もしくは属性同士の間の関連付けを提供することができ、視覚探索サーバ125は、この情報を使用して、モバイルデバイス120に提供されることになる、かつ/またはモバイルデバイス120上で起動されることになる1つもしくは複数のアプリケーションを選択することができる。視覚探索サーバ125の例示的な実装形態は図4に提供され、アプリケーションポータル145の例示的な実装形態は図11に提供される。他の実装形態では、視覚探索サーバ125およびアプリケーションポータルサーバ145の1つまたは複数の機能を単一のサーバ上またはサーバのセット上に組み合わせることができる。他の実装形態では、ネットワーク環境は、情報および/または電子コンテンツをモバイルデバイス120に提供するように構成されることも可能な他のサーバ(図示せず)を含み得る。
【００４２】
図2は、図1に示したモバイルデバイス120など、モバイルデバイスを実装するために使用され得るシステムアーキテクチャの例である。モバイルデバイス120は、図2に示す構成要素のうちのいくつかまたはすべてを含むことが可能であり、図3に示さない追加の構成要素を含むことが可能であり、下で詳細に説明する図5〜図9に示すプロセスの段階の少なくともいくつかなど、様々な機能を実装するように構成され得る。いくつかの実施形態では、モバイルデバイス120は、図2に示す構成要素のうちの1つまたは複数を省くことができる。モバイルデバイス120は、モバイルフォン、タブレットコンピュータ、携帯情報端末、または他のそのようなポータブルコンピューティングデバイスであり得る。
【００４３】
モバイルデバイス120は、センサー205(たとえば、ジャイロ、加速度計、慣性測定ユニット(IMU)、および/または他のタイプのセンサー)と、センサー205によって集められたデータを処理するためのセンサープロセッサ210とを含み得る。センサーによって集められたデータを使用して、たとえば、モバイルデバイス120の位置を決定する際に有用であり得る移動局の向き、移動局の加速度もしくは速度、および/または他の情報を決定することができる。センサー205によって集められたデータをやはり使用して、モバイルデバイス120の位置を決定するために使用される測位エンジンを含めて、モバイルデバイス120上で1つまたは複数のアプリケーションに入力を提供することができる。
【００４４】
モバイルデバイス120はまた、カメラ215およびカメラプロセッサ220を含み得る。カメラ215は、画像および/またはビデオコンテンツを捕捉するように構成され得る。カメラプロセッサ220は、カメラ215によって集められたデータを処理して、カメラによって集められたデータを、モバイルデバイス120上で1つもしくは複数のアプリケーションによって使用され得、かつ/またはモバイルデバイス120のディスプレイ225上で閲覧され得るフォーマットに変換するように構成され得る。カメラプロセッサ220は、カメラから集められたデータに対する様々なタイプの画像またはビデオの処理を実行して、ディスプレイ225に表示するコンテンツを準備するように構成され得る。
【００４５】
ディスプレイ225は、タッチセンサー235を含むタッチスクリーンインターフェースであり得る。グラフィックスプロセッサ230は、ディスプレイ225上に表示するグラフィカルデータを生成するために使用され得る。モバイルデバイス120上のアプリケーションならびに/または、オペレーティングシステムおよび測位エンジンなど、他の実行可能プログラムは、ソフトウェアおよび/またはハードウェアで実装可能であり、ディスプレイ225上に画像またはビデオコンテンツを表示するためのコマンドをグラフィックスプロセッサ230に送るように構成され得る。タッチセンサープロセッサ240は、タッチセンサー235によって出力されるデータを処理して、ユーザがいつタッチスクリーンに触れたかを識別することができる。タッチセンサープロセッサ240は、タッチスクリーンの複数の指で触れることを含めて、様々なタッチジェスチャを識別するように構成され得る。オペレーティングシステム、アプリケーション、および/または測位エンジンは、タッチセンサープロセッサ240によって決定されたジェスチャ情報を使用して、ユーザ入力を少なくとも一部決定すること、ユーザ入力を受信すること、およびユーザ入力に応答することができる。
【００４６】
いくつかの実装形態では、ディスプレイ225は、モバイルデバイス120のユーザによって装着され得る頭部到着ディスプレイ(HMD)を含み得る。そのような実装形態では、ディスプレイ225は、ユーザの頭部に装着され、有線接続および/またはワイヤレス接続を介してモバイルデバイス120の他の構成要素に接続され得る個別のユニットとして実装され得る。ディスプレイ225は、それを通してHMDのユーザがHMDの視界内のオブジェクトの実世界視野を取得することができる透明または半透明の構成要素を含む光学シースルー構成要素(optical see-through component)を提供するように構成可能であり、HMDは、HMDの視界内のオブジェクトの実世界視野上に拡張現実コンテンツをオーバーレイするように構成され得る。ディスプレイ225がHMDを含む、いくつかの実装形態では、カメラ215は、カメラ215の視界がHMDのユーザの視界の少なくとも一部を捕捉し得るように、カメラ215の視界がHMDのユーザの視界に整合するように搭載され得る。
【００４７】
通信コントローラ250は、モバイルデバイス120が1つまたは複数のワイヤレスプロトコルを使用して通信するのを可能にする、1つまたは複数のワイヤレス送信機、受信機、トランシーバなどを含み得る。通信コントローラ250は、デバイスが、ワイヤレスに通信することができる近くのワイヤレスデバイスにデータを送り、それらのワイヤレスデバイスからデータを受信するのを可能にするように構成され得る。たとえば、通信コントローラ250は、モバイルデバイス120が、ワイヤレスアクセスポイント115、基地局140、サーバ125、および/または他のモバイルデバイス120と直接的もしくは間接的に通信するのを可能にするように構成され得る。通信コントローラ250はまた、モバイルデバイス120が、モバイルデバイス120がその位置を決定するために使用することができる航行信号を受信するのを可能にするように構成され得る。たとえば、通信コントローラ250は、GPSシステム、GLONASSシステム、Galileoシステム、および/または他のSPSなど、1つもしくは複数の衛星測位システム(SPS)に属する衛星ビークル(SV)からの信号を受信するように構成され得る。通信コントローラ250は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、シングルキャリアFDMA(SC-FDMA)、ロングタームエボリューション(LTE)、および/または他のワイヤレス通信プロトコルなど、ワイヤレス通信プロトコルのうちの1つもしくは複数を使用するように構成され得る。通信コントローラ250はまた、モバイルデバイス120が、Bluetooth（登録商標）、ZigBee、WiFi、WiMax、および/または他のワイヤレス通信プロトコルなど、1つもしくは複数の他のワイヤレスプロトコルを使用してデータをワイヤレスに送ること、ならびに/あるいは受信することを可能にするように構成され得る。
【００４８】
メモリ260は、モバイルデバイス120の様々な構成要素によって使用されるデータを記憶するための揮発性メモリおよび/または永続的な非一時的メモリを含む。メモリ260は、デバイスに含まれるプロセッサのうちの1つまたは複数に関するプロセッサ実行可能プログラムコードを記憶するために使用され得る。
【００４９】
プロセッサコントローラ255は、センサープロセッサ210、カメラプロセッサ220、グラフィックスプロセッサ230、およびタッチセンサープロセッサ240のうちの1つまたは複数を制御するように構成され得る。センサープロセッサ210、カメラプロセッサ220、グラフィックスプロセッサ230、およびタッチセンサープロセッサ240のうちの1つもしくは複数はまた、プロセッサコントローラ255によって実装され得る。プロセッサコントローラ255はまた、プロセッサ実行可能プログラムコードを実行するように構成され得る。図2に示すモバイルデバイス120の特定の例示的な実装形態は、複数のプロセッサ210、220、230、240、およびプロセッサコントローラ255を含むが、プロセッサ210、220、230、240、および/またはプロセッサコントローラ255のうちのいくつかもしくはすべては、汎用プロセッサあるいは中央処理装置(CPU)によって実装され得る。さらに、プロセッサ210、220、230、240、およびプロセッサコントローラ255の機能の少なくとも一部は、モバイルデバイス120のメモリ260内に記憶されたプロセッサ実行可能プログラムコードとして実装され得る。
【００５０】
図3は、図2に示したメモリの機能モジュールを示す、図1に示した移動局の機能ブロック図である。たとえば、モバイルデバイス120は、画像捕捉モジュール362と、画像識別モジュール364と、アプリケーションランチャーモジュール366と、アプリケーション獲得モジュール368と、拡張現実モジュール370とを含み得る。画像捕捉モジュール362、画像識別モジュール364、アプリケーションランチャーモジュール366、アプリケーション獲得モジュール368、および/または拡張現実モジュール370は、代替的に、メモリ260内のプロセッサ実行可能プログラムコードとして実装されるのではなく、汎用プロセッサもしくはCPUによって、および/または他のハードウェア内で実装され得る。
【００５１】
モバイルデバイス120は、オブジェクトデータベース350およびオブジェクトアプリケーションデータベース355を含み得る。オブジェクトデータベース350およびオブジェクトアプリケーションデータベース355は、モバイルデバイス120のメモリ260内で実装可能であり、かつ/またはモバイルデバイス120の別の非一時的、永続的メモリ内で実装され得る。オブジェクトデータベース350およびオブジェクトアプリケーションデータベース355は、フラッシュメモリ、SD-Card、または他のタイプのリムーバブルメモリなど、モバイルデバイス120に関連付けられたリームバブルコンピュータ可読媒体内に記憶され得る。
【００５２】
画像捕捉モジュール362は、モバイルデバイス120のカメラ215の視界内のオブジェクトの画像を捕捉するように構成され得る。画像捕捉モジュール362は、ユーザがカメラ上の画像捕捉ボタンを押下すること、またはユーザが音声コマンドを話すことなど、ユーザコマンドに応答して、カメラ215の視界内のオブジェクトの画像を捕捉するように構成され得る。画像捕捉モジュール362はまた、モバイルデバイス120のカメラ215の視界内のオブジェクトの画像を自動的に捕捉するように構成され得る。たとえば、画像捕捉モジュール362は、モバイルデバイス120のカメラ215の視界内のオブジェクトの画像を周期的に捕捉するように構成され得る。
【００５３】
画像捕捉モジュール362はまた、モバイルデバイス120のカメラ215を使用して、一連の画像を捕捉するように、かつ/またはビデオコンテンツを捕捉するように構成され得る。画像捕捉モジュール362は、モバイルデバイスのカメラ215によって捕捉されたビデオコンテンツから1つまたは複数の画像を抽出するように構成され得る。画像捕捉モジュール362は、捕捉された画像を画像識別モジュール364に提供して、モバイルデバイス120のカメラ215によって捕捉された1つまたは複数の画像内の1つまたは複数のオブジェクトを識別する機会を画像識別モジュール364に提供するように構成され得る。
【００５４】
画像識別モジュール364は、モバイルデバイス120のカメラ215によって捕捉された画像内またはビデオコンテンツ内に含まれたオブジェクトを識別するように構成され得る。画像識別モジュール364は、モバイルデバイス120のカメラ215によって捕捉された画像内のオブジェクトの識別を自動的に試みるように構成可能であり、オブジェクトを識別するためのユーザコマンドもしくはユーザ入力によってトリガされ得るか、またはオブジェクト上のアイコン、シンボル、もしくは他のマーキングが画像識別モジュール364によって認識されるとき、自動的にトリガされ得る。画像識別モジュール364は、その上にそのアイコン、シンボル、または他のマーキングが見えるオブジェクトがモバイルデバイス120上で実行され得る1つもしくは複数のアプリケーションに関連付けられることを示す、ある種のアイコン、シンボル、または他のマーキングを認識するように構成され得る。カメラ215によって捕捉された画像内にそのようなアイコン、シンボル、または他のマーキングが識別される場合、画像識別モジュール364は、そのアイコン、シンボル、または他のマーキングに関連付けられたオブジェクトを識別するように構成され得る。画像識別モジュール364は、実世界オブジェクトに関連付けられたアイコン、シンボル、または他のマーキングがそのオブジェクトおよび/もしくはそのオブジェクトに関連付けられたアプリケーションを識別する何らかの情報を伝えず、代わりに、そのアイコン、シンボル、または他のマーキングが、そのオブジェクトに関連付けられた1つもしくは複数のアプリケーションが存在することを画像識別モジュール364に通知するように構成され得る。
【００５５】
画像識別モジュール364はまた、オブジェクトに関するアイコン、シンボル、または他のマーキングを含まないオブジェクトを識別するように構成され得る。たとえば、画像識別モジュール364は、モバイルデバイス120のカメラ215の視界内のオブジェクトを識別するためのユーザコマンドまたはユーザ入力によってトリガされるように構成され得る。画像識別モジュール364は、モバイルデバイス120のカメラ215の視界内のオブジェクトを自動的に走査して、検出するように構成され得る。たとえば、画像識別モジュール364は、モバイルデバイス120のユーザがカメラをオブジェクトに向けること、および/もしくはカメラをオブジェクト全域でパンすることによって、カメラ215によって捕捉されたビデオコンテンツならびに/または画像コンテンツを受信して、カメラ215の視界内のオブジェクトの検出および識別を試みるように構成され得る。一実装形態では、モバイルデバイス120はHMDを含むことが可能であり、モバイルデバイス120は、HMDの視野内のオブジェクトに関するアプリケーションを自動的にダウンロードおよび/または起動するように構成され得る。このようにして、ユーザは、ユーザに近い可能性がある、かつ/もしくはユーザに見える可能性がある様々なオブジェクトのうちのいずれかに関連付けられたアプリケーションを容易に発見および/または起動することができる。
【００５６】
画像識別モジュール364は、画像識別プロセスがトリガされるとき、拡張現実コンテンツをモバイルデバイスのディスプレイ225上に表示するように拡張現実モジュール370に命令するように構成され得る。たとえば、画像識別モジュール364がオブジェクト識別プロセスをトリガするアイコンまたは他のマーキングを識別した場合、画像識別モジュール364は、動画または他の拡張現実コンテンツを表示して、その実世界オブジェクトに関連付けられた1つもしくは複数のアプリケーションが存在すること、ならびに/あるいはそのオブジェクトおよび関連付けられたアプリケーションを識別するプロセスが開始されていることをユーザに示すように構成され得る。たとえば、拡張現実モジュール370は、1つもしくは複数のアプリケーションに関連付けられ得るオブジェクト上で認識されたアイコン、シンボル、または他のマーキングを動画にするように構成され得る。
【００５７】
画像識別モジュール364はまた、オブジェクトの画像をオブジェクトデータベース350のコンテンツと比較して、画像内のオブジェクトおよび/またはオブジェクトタイプを識別し、もしあれば、どのアプリケーションが画像内のそのオブジェクトおよび/またはオブジェクトタイプに関連付けられるかを識別するように構成され得る。画像識別モジュール364は、画像内のオブジェクトに関連付けられた属性、記述子、キーポイント、および/もしくは他の情報を識別ならびに/または抽出して、画像内のオブジェクトの属性をオブジェクトアプリケーションデータベース350内に記憶されたオブジェクトの属性と比較して、カメラ150によって捕捉されたオブジェクトを識別するように構成され得る。
【００５８】
画像識別モジュール364は、画像内のオブジェクトを識別するための様々な技法を使用するように構成され得る。たとえば、画像識別モジュール364は、オブジェクトを記述するための自然特徴記述子を使用し、オブジェクトの画像内の類似の特徴を探索して、そのオブジェクトの識別を試みるオブジェクト認識のための1つまたは複数の方法を使用するように構成され得る。画像識別モジュール364は、知られているオブジェクトに関連付けられたしきい値数を超える特徴がモバイルデバイスのカメラ215によって捕捉された画像内の特徴に整合するとき、画像内のオブジェクトを識別するように構成され得る。したがって、画像識別モジュール364によって識別および/または抽出された属性は、画像からの特徴、記述子、キーポイント、および/または他の情報もしくは他の属性を含み得る。
【００５９】
画像識別モジュール364が使用できる一技法は、オブジェクトの画像から自然特徴記述子を導出して、それらの特徴を、モバイルデバイスのオブジェクトデータベース350内に記憶され得る、知られているオブジェクトの特徴記述子と比較するスケール不変特徴変換(SIFT:scale-invariant feature transform)技法である。SIFT技法は、一般に、オブジェクトの画像内のそのオブジェクトを識別するために後で使用され得る同じオブジェクトの画像間で変化すべきではない特徴を選択する。たとえば、モバイルデバイス120に関連付けられたカメラ215によって捕捉された画像と、データベースを構築するために使用されたオブジェクトの基準画像との間の画像スケールの変化がオブジェクトを認識する画像識別モジュール364の能力に干渉しないように特徴記述子を選択することができる。カメラ215によって捕捉された画像内のオブジェクトを認識するための画像識別モジュール364の能力が、カメラ215によって捕捉された画像とデータベースを作成するために使用される基準画像との間で照明の違いによって影響を受けないように特徴記述子を選択することもできる。カメラ215によって捕捉された画像内および基準画像内のオブジェクトの向きが、オブジェクトを認識するための画像識別モジュール364の能力に影響を与えずに異なり得るように特徴記述子を選択することもできる。
【００６０】
画像識別モジュール364が使用できる別の技法は、次いで、そのオブジェクトのオブジェクト画像を識別するために使用され得る、オブジェクトの局所的特徴を識別するための高速化ロバスト特徴(SURF:Speeded Up Robust Features)技法である。画像識別モジュール364が使用できるさらに別の技法は、画像内のオブジェクトを識別するためのバイナリロバストインデペンデントエレメンタリーフィーチャ(BRIEF:Binary Robust Independent Elementary Features)技法である。
【００６１】
オブジェクトデータベース350は、画像識別モジュール364が、モバイルデバイス120のカメラ215によって捕捉された画像内のオブジェクトを表す可能性が最も高い、単一のオブジェクトまたはオブジェクトのタイプをオブジェクトアプリケーションデータベース350から識別することができるように、探索ツリー、ハッシュテーブル、または他のタイプの探索データ構造など、効率的な探索データ構造に編成され得る。画像識別モジュール364は、オブジェクトデータベース350の効率的な探索データ構造を移動して、記述子に関連付けられた自然な特徴点を比較して、カメラ215によって捕捉されたオブジェクトの画像から抽出された特徴点に整合する、そのオブジェクトに関連付けられた十分な特徴点を有するオブジェクトをデータベースから識別するように構成され得る。画像識別モジュール364は、カメラ215によって捕捉された画像から抽出されたしきい値数を超える特徴点に整合するオブジェクトをオブジェクトデータベース350から選択するように構成され得る。
【００６２】
画像識別モジュール364は、オブジェクトアプリケーションデータベース355を探索することによって、かつ/あるいは直接的に、または視覚探索サーバ125を介して間接的に、アプリケーションポータルサーバ145からアプリケーションコンテンツを取得することによって、オブジェクトまたはオブジェクトのタイプに関連付けられた、1つもしくは複数のアプリケーションを選択するように構成され得る。オブジェクトアプリケーションデータベース355は、オブジェクトおよび/またはオブジェクトのタイプと、それらのオブジェクトに関連付けられたアプリケーションとの間のマッピングを提供するように構成され得る。アプリケーションとオブジェクトおよび/またはオブジェクトのタイプとの間の関連付けは、アプリケーションの開発者によって行われることが可能であり、アプリケーションポータルサーバ145を使用して定義され得る。アプリケーションポータルサーバ145の例示的な実装形態を図11に示し、これについては後ほど詳細に説明する。いくつかの実装形態では、オブジェクトアプリケーションデータベース355内のコンテンツは、モバイルデバイスの製造会社よって、かつ/またはモバイルデバイス120に関連付けられたワイヤレスネットワークプロバイダによって追加され得る。モバイルデバイス120はまた、オブジェクトアプリケーションデータベース355内に含まれた情報を更新するために、アプリケーションポータルサーバ145に周期的に問い合わせるように構成され得る。アプリケーションポータルサーバ145はまた、オブジェクトおよび/またはオブジェクトタイプとアプリケーションとの間のマッピングに対する更新に応答して、オブジェクトアプリケーションデータベース内のコンテンツに対する更新をモバイルデバイス120にプッシュするように構成され得る。
【００６３】
画像識別モジュール364は、モバイルデバイス120のカメラによって捕捉された画像内で識別されたオブジェクトおよび/またはオブジェクトのタイプの識別を使用して、アプリケーションデータベース355から1つもしくは複数のアプリケーションを選択するように構成され得る。オブジェクトおよび/またはオブジェクトのタイプの識別は、画像識別モジュール364からの要求に応答して、画像識別モジュール364によって、または視覚探索サーバ125によって実行されている可能性がある。
【００６４】
オブジェクトアプリケーションデータベース355は、1つもしくは複数のアプリケーションのアプリケーション識別子を様々なオブジェクトおよび/またはオブジェクトタイプに関連付けるデータを含むことが可能であり、画像識別モジュール364は、画像内のオブジェクトおよび/またはオブジェクトのタイプの識別を使用して、オブジェクトアプリケーションデータベース355からそのオブジェクトあるいはオブジェクトのタイプに関連付けられた1つもしくは複数のアプリケーションを選択するように構成され得る。
【００６５】
画像識別モジュール364は、モバイルデバイスのユーザが関心を持つ可能性があるコンテンツを含むアプリケーションの複数の階層を有するオブジェクトおよび/またはオブジェクトのタイプに整合する異なる階層のアプリケーションを選択するように構成され得る。たとえば、モバイルデバイスのユーザがレーニア山(Mount Rainier)の写真を撮る場合、画像識別モジュール364は、画像識別モジュール364および/または視覚探索サーバ125に利用可能な情報に基づいて、その画像がレーニア山(Mount Rainier)であることを識別することが可能であり得る。画像識別モジュール364は、レーニア山(Mount Rainier)にだけ関連するアプリケーションコンテンツを選択するように構成され得るか、またはモバイルデバイス120のユーザがやはり関心を持つ可能性がある追加のコンテンツを選択するように構成され得る。たとえば、モバイルデバイス120は、ワシントン州の山、一般的な山に関する、かつ/または、ハイキング、登山、およびキャンプなど、山岳活動に関する追加のコンテンツを選択するように構成され得る。画像識別モジュール364および/または視覚探索サーバ125はまた、山の画像としてその画像を識別することができるが、その画像内で捕捉された正確なオブジェクトを識別することができない可能性があり、画像識別モジュール364は、一般的な山に関するコンテンツ、ならびに/または、ハイキング、登山、およびキャンプなど、山岳関連活動に関する情報を含むアプリケーションを選択することができる。画像識別モジュール364は、複数のレベルの階層情報に関連付けられたアプリケーションコンテンツを選択するように構成され得る。たとえば、ユーザが、モバイルデバイス120のカメラ215を用いて、ニューヨーク市のエンパイヤーステートビルディング(Empire State Building)の画像を捕捉する場合、画像識別モジュール364は、エンパイヤーステートビルディング(Empire State Building)自体に関連するアプリケーション、ならびに異なる階層レベルにおける関連アプリケーションを選択するように構成され得る。たとえば、画像識別モジュール364は、1つ上位の階層レベルでマンハッタンでの展望台を有する超高層ビルに関連するアプリケーションコンテンツ、および、さらに上位の階層レベルでのニューヨーク市のランドマークに関連付けられたアプリケーションコンテンツを選択するように構成され得る。階層レベルは、アプリケーションのリストがモバイルデバイス120のユーザに提示される場合、アプリケーションを提示する順序を決定するためにアプリケーションランチャーモジュール366によって使用され得る。
【００６６】
画像識別モジュール364はまた、モバイルデバイス120のカメラ215によって捕捉された画像内のオブジェクトの識別を試みるとき、モバイルデバイスの位置を使用するように構成可能であり、オブジェクトアプリケーションデータベース355からアプリケーションを選択するとき、かつ/またはアプリケーションポータルサーバ145からアプリケーション情報を取得するとき、位置を考慮に入れることもできる。
【００６７】
モバイルデバイス120がカスタマに提供される前に、何らかの時点で、たとえば、デバイスの製造会社によって、もしくはモバイルデバイスにワイヤレスネットワークサービスを提供するサービスプロバイダによって、オブジェクトデータベース350および/またはオブジェクトアプリケーションデータベース355を情報で埋めることができる。モバイルデバイス120上にインストールされた1つまたは複数のアプリケーションでオブジェクトアプリケーションデータベース355を埋めることもできる。視覚探索サーバ125によって提供されたデータでオブジェクトデータベース350を埋めることもでき、モバイルデバイス120上で実行するのに適した、アプリケーションポータルサーバ145からの実行可能アプリケーションコンテンツでオブジェクトアプリケーションデータベース355を埋めることができる。たとえば、サーバ125は、それらのオブジェクトに関連付けられた1つまたは複数のアプリケーションを有し得るオブジェクトを識別するためのデータをモバイルデバイス120に提供するように構成され得る。オブジェクトデータベース350およびオブジェクトアプリケーションデータベース355を使用して、最近識別されたオブジェクトおよび/またはアプリケーションを記憶するために使用され得るキャッシュを実装することも可能であり、オブジェクトを識別するため、および/もしくはオブジェクトに関連付けられたアプリケーションを識別するための要求をサーバに送るのに先立って、画像識別モジュール364が探索するように構成され得る最近のオブジェクトならびに/あるいはアプリケーションに関して、キャッシュのコンテンツを探索することができる。
【００６８】
画像識別モジュール364はまた、カメラ215によって捕捉された画像を識別のためにサーバ125に送るように構成され得る。サーバ125は、画像識別モジュール364によって送られた画像内のオブジェクトを識別し、かつ/あるいは、画像内のオブジェクトに関連付けられた1つもしくは複数のアプリケーションを識別して、オブジェクトおよび/またはアプリケーションを識別する情報を画像識別モジュール364に提供するように構成され得る。画像識別モジュール364はまた、画像に加えて、もしくはその代わりに、オブジェクトの画像から抽出された属性および/または特徴をサーバ125に送るように構成され得る。サーバ125は、画像内のオブジェクトを識別するとき、画像に加えて、もしくはその代わりに、オブジェクトの画像から抽出された属性および/または特徴を使用するように構成され得る。
【００６９】
拡張現実モジュール370は、モバイルデバイス120のディスプレイ225上に拡張現実コンテンツを表示するように構成され得る。たとえば、拡張現実モジュール370は、モバイルデバイス120のディスプレイ225上に表示された実世界コンテンツ上に拡張現実コンテンツをオーバーレイするように構成され得る。拡張現実モジュール370は、モバイルデバイスのカメラ215によって捕捉された静止画像、一連の画像、またはビデオコンテンツの上にオーバーレイされた拡張現実コンテンツを表示するように構成され得る。一例では、モバイルデバイス120は、カメラ215の視界内に実世界シーンを表示するアプリケーションを含むことが可能であり、拡張現実モジュール370は、実世界シーン上に表示され得る拡張現実コンテンツを提供するように構成され得る。拡張現実モジュール370は、実世界シーン内のおもちゃなどの非動画オブジェクトをオーバーレイする動画フィギュアなど、オブジェクトを実世界シーン上にオーバーレイし得るコンテンツを生成するように構成され得る。拡張現実コンテンツは、地図などの情報オーバーレイと、関心ポイントの識別子と、ディスプレイ225上に表示されている実世界シーン内のオブジェクトに関連付けられた他の情報とを含むことも可能である。拡張現実コンテンツはまた、実世界シーンの一部にフィルタを用いて、1つまたは複数の実世界オブジェクトの外観を変更することができる。たとえば、拡張現実コンテンツは、実世界オブジェクトの色の彩度を変更するため、および/または実世界オブジェクトのコントラストを変更するためのフィルタを含み得る。
【００７０】
アプリケーションランチャーモジュール366は、画像識別モジュール364によって識別されている実世界オブジェクトに関連付けられたアプリケーションを起動するように構成され得る。オブジェクトはそのオブジェクトに関連付けられている複数のアプリケーションを有し得る。たとえば、キャンディーバーは、そのキャンディーバーに関連付けられたゲームアプリケーションおよびマップアプリケーションを有し得る。ゲームアプリケーションは、モバイルデバイスのユーザが、そのキャンディーバーのマーケティング、またはそのキャンディーバーの生産者とのマーケティング合意を締結している第三者に関連付けられたコンテンツに関連し得るゲームをプレイすることを可能にする。キャンディーバーに関連付けられたマップアプリケーションは、そのキャンディーバーおよび/またはそのキャンディーバーの生産者によって生産された他の製品を販売する、モバイルデバイス120に近接する小売店のリストを提供するように構成され得る。
【００７１】
アプリケーションランチャーモジュール366は、特定のオブジェクトに関連付けられた複数のアプリケーションが存在する場合、自動的に起動されることになるアプリケーションを選択するようにモバイルデバイス120のユーザにプロンプトを出すように構成され得る。たとえば、アプリケーションランチャーモジュール366は、オブジェクトに関連付けられたアプリケーションのリストをモバイルデバイスのユーザに提示するように構成可能であり、ユーザは、そのユーザが起動することを望むアプリケーションを選択することができる。アプリケーションランチャーモジュール366はまた、モバイルデバイス120のユーザのユーザプロファイルおよび/または使用プロファイルに基づいて、そのオブジェクトに関連付けられたアプリケーションのリストからアプリケーションを自動的に選択するように構成され得る。モバイルデバイス120のユーザのユーザプロファイルおよび/または使用プロファイルは、最もよく使用されるアプリケーションおよび/もしくはアプリケーションのタイプ、ならびに/または最近使用されたアプリケーションおよび/もしくはアプリケーションのタイプなどの情報を含むことも可能である。たとえば、ユーザのユーザプロファイルが、そのユーザが、あるタイプのゲームなど、あるタイプのアプリケーションを好むことを示す場合、アプリケーションランチャーモジュール366は、オブジェクトに関連付けられた他のタイプのアプリケーションに比べて、そのユーザによって好まれるタイプのゲームを自動的に選択するように構成され得る。アプリケーションランチャーモジュール366はまた、モバイルデバイス120上のそのユーザの使用プロファイルに基づいてアプリケーションを選択するように構成され得る。たとえば、モバイルデバイス120のユーザに関連付けられた使用パターンが、そのユーザは、通常、ゲームをプレイしないが、そのユーザに割引情報または特売情報を提供するアプリケーションを使用することを示す場合、アプリケーションランチャーモジュール366は、ゲームアプリケーションに比べて、そのような割引情報または特売情報モバイルデバイス120のユーザに提供するアプリケーションを選択するように構成され得る。
【００７２】
アプリケーションランチャーモジュール366はまた、モバイルデバイスのユーザの購入履歴および/またはダウンロード履歴に基づいて、起動するアプリケーションを選択するように構成され得る。アプリケーションランチャーモジュール366は、オブジェクトに関連付けられた他のタイプのアプリケーションに比べて、モバイルデバイス120のユーザが、通常、使用するタイプのアプリケーションを選択することができる。アプリケーションランチャーモジュール366はまた、位置データを使用して、モバイルデバイス120のユーザに関してどのアプリケーションを選択するかを決定するように構成され得る。たとえば、アプリケーションランチャーモジュール366は、GPSおよび/もしくは他のSPSデータならびに/または他の位置データを使用して、どのアプリケーションを選択するかを決定するように構成され得る。たとえば、アプリケーションランチャーモジュール366は、モバイルデバイスの位置に関連付けられた地理的領域に関して局在化されたコンテンツを含むアプリケーションを選択するように構成され得る。
【００７３】
アプリケーション獲得モジュール368は、そのアプリケーションがモバイルデバイス120上ですでに利用可能でない場合、オブジェクトに関連付けられたアプリケーションを獲得するように構成され得る。アプリケーション獲得モジュール368は、モバイルデバイス上で実行され得るアプリケーションを提供する、モバイルデバイスに関連付けられたアプリケーションサーバにアクセスするように構成され得る。アプリケーション獲得モジュール368はまた、アプリケーションサーバからアプリケーションを自動的にダウンロードおよびインストールして、そのアプリケーションが、そのとき、モバイルデバイス120上で起動されるのに利用可能であることをアプリケーションランチャーモジュール366に通知するように構成され得る。アプリケーションランチャーモジュール366は、そのような通知の後、そのアプリケーションを自動的に起動することができる。アプリケーション獲得モジュール368はまた、ユーザが支払い明細、および/または、電子メールアドレス、電話番号、もしくはユーザがそのアプリケーションをダウンロードし得る前に、アプリケーション発行者によって要求され得る、ユーザに関連付けられた他の情報など、他の情報にアクセスするのを可能にするインターフェースを提供するように構成され得る。さらに、アプリケーション獲得モジュール368は、ユーザがアプリケーションを獲得するのを可能にするインターフェースを、たとえば、ディスプレイ225を使用して表示させるように構成され得る。たとえば、インターフェースは、新しいアプリケーションがダウンロードされていることをユーザが確認することを要求する確認スクリーンであってよく、またはインターフェースは、すべて、ユーザによる選択時に自動的に起動され得るアプリケーションもしくはアプリケーションのリストに対するリンクであってよい。いくつかの実施形態では、インターフェースは、アプリケーション獲得モジュール368がそのストアにデバイスを導いた後、アプリケーションストアによって表示されるインターフェースである。
【００７４】
図4は、図1に示した視覚探索サーバ125を実装するために使用され得るコンピュータシステムの機能ブロック図である。図4の視覚探索サーバ125を使用して、図10、および図12〜図16に示すプロセスの段階のうちのいくつかまたはすべてを実装することができる。いくつかの実装形態では、視覚探索サーバ125の機能を図11に示すアプリケーションポータルサーバ145の機能と組み合わせることができる。視覚探索サーバ125は、プロセッサ455と、ネットワークインターフェース480と、メモリ460と、オブジェクトデータベース450とを含み得る。視覚探索サーバ125は、メモリ460内に記憶されたプロセッサ実行可能ソフトウェアコードとして実装され得る機能モジュールを含むことも可能である。図4に示す機能モジュールは、代替的に、異なるコンピュータ可読メモリ内に一部または全部記憶されてもよい。たとえば、機能モジュールは、フラッシュメモリ、SD-Card、または他のタイプのリムーバブルメモリなど、視覚探索サーバ125に関連付けられたリームバブルコンピュータ可読媒体内に記憶され得る。図4に示す機能モジュールは、ファームウェア内および/またはハードウェア内で一部もしくは全部実装されてもよい。視覚探索サーバ125は、視覚探索エンジンモジュール462と、アプリケーションランチャーモジュール464と、アプリケーション獲得モジュール466とを含み得る。視覚探索エンジンモジュール462、アプリケーションランチャーモジュール464、および/またはアプリケーション獲得モジュール466は、代替的に、メモリ460内のプロセッサ実行可能プログラムコードとして実装されるのではなく、プロセッサ455など、汎用プロセッサもしくはCPUによって、かつ/または他のハードウェア内で実装され得る。
【００７５】
プロセッサ455は、メモリ460内に記憶されたソフトウェアコードを実行するように構成され得る。たとえば、プロセッサ455は、視覚探索エンジンモジュール462、アプリケーションランチャーモジュール464、およびアプリケーション獲得モジュール466に関連付けられたソフトウェアコードを実行するように構成され得る。プロセッサ455はまた、オペレーティングシステム構成要素、周辺デバイス用のソフトウェアドライバ、および/または視覚探索サーバ125によって実行され得る他のソフトウェアコードなど、サーバ125によって使用される他のソフトウェアコードを実行するように構成され得るが、その記述は、本明細書で開示するシステムおよび方法の動作を理解するために必要とされない。
【００７６】
ネットワークインターフェース480は、双方向のワイヤレスネットワーク通信および/または有線ネットワーク通信を視覚探索サーバ125に提供するように構成され得る。ネットワークインターフェース480は、視覚探索サーバ125が、インターネット、ワイヤレスネットワークサービスプロバイダのコアネットワーク、1つもしくは複数のワイヤレスローカルエリアネットワーク(WLAN)、および/または他のタイプのネットワークなど、1つもしくは複数の中間ネットワークを介してモバイルデバイス120と通信するのを可能にするように構成され得る。視覚探索サーバ125のネットワークインターフェース480とモバイルデバイス120および/またはアプリケーションポータルサーバ145との間のネットワーク通信は、ワイヤレスアクセスポイント115または基地局140など、1つもしくは複数の他のネットワーク要素を介して経路指定され得る。
【００７７】
メモリ460は、視覚探索サーバ125の様々な構成要素によって使用されるデータを記憶するための揮発性メモリおよび/または永続性メモリを含み得る。メモリ460を使用して、プロセッサ455など、視覚探索サーバ125内に含まれるプロセッサのうちの1つまたは複数に関するプロセッサ実行可能プログラムコードを記憶することができる。
【００７８】
視覚探索エンジンモジュール462は、モバイルデバイス120内に含まれた画像識別モジュール364に類似して動作するように構成され得る。視覚探索エンジンモジュール462は、モバイルデバイス120のカメラ215によって捕捉され、モバイルデバイス120によって視覚探索サーバ125に送られる画像内またはビデオコンテンツ内に含まれたオブジェクトを識別するように構成され得る。視覚探索エンジンモジュール462は、モバイルデバイス120から受信された画像内のオブジェクトの識別を自動的に試みるように構成され得るか、または視覚探索エンジンモジュール462は、オブジェクト上のアイコン、シンボル、もしくは他のマーキングが視覚探索エンジンモジュール462によって認識されるときにトリガされ得る。視覚探索エンジンモジュール462は、その上にそのアイコン、シンボル、または他のマーキングが見えるオブジェクトがモバイルデバイス120上で実行され得る1つもしくは複数のアプリケーションに関連付けられることを示す、ある種のアイコン、シンボル、または他のマーキングを認識するように構成され得る。視覚探索エンジンモジュール462は、実世界オブジェクトに関連付けられたアイコン、シンボル、または他のマーキングがそのオブジェクトおよび/もしくはそのオブジェクトに関連付けられたアプリケーションを識別する何らかの情報を伝えず、代わりに、そのアイコン、シンボル、または他のマーキングが、そのオブジェクトに関連付けられた1つもしくは複数のアプリケーションが存在することを視覚探索エンジンモジュール462に通知するように構成され得る。オブジェクトおよび/またはオブジェクトタイプ同士の間のマッピングは、代わりに、アプリケーションポータルサーバ145を介して、アプリケーションコンテンツをモバイルデバイス120に利用可能にするとき、アプリケーション開発者によって決定され得る。
【００７９】
視覚探索エンジンモジュール462は、モバイルデバイス120からのオブジェクトの画像から抽出された画像ならびに/または属性および/もしくは特徴を受信するように構成され得る。視覚探索エンジンモジュール462は、画像内のオブジェクトを識別するとき、画像に加えて、もしくはその代わりに、オブジェクトの画像から抽出された属性および/または特徴を使用するように構成され得る。視覚探索エンジンモジュール462は、視覚探索エンジンモジュール462が画像から抽出したか、またはモバイルデバイス120から受信した属性および/もしくは特徴を使用して、オブジェクトデータベース450内のコンテンツを比較して、モバイルデバイス120から捕捉された画像内のオブジェクトまたはオブジェクトのタイプを識別するように構成され得る。
【００８０】
視覚探索エンジンモジュール462は、画像から抽出された情報および/または属性をオブジェクトデータベース450のコンテンツと比較して、画像内のオブジェクトを識別して、もしあれば、画像内のオブジェクトに関連付けられたアプリケーションを識別するように構成され得る。視覚探索エンジンモジュール462は、オブジェクトの画像からオブジェクトの情報および/または属性を抽出することによって、モバイルデバイス120から受信された画像内のオブジェクトもしくはオブジェクトのタイプを識別するための様々な技法を使用するように構成され得る。たとえば、視覚探索エンジンモジュール462は、SIFT技法、SURF技法、およびBRIEF技法、ならびに他のオブジェクト認識技法を含めて、自然特徴記述子を使用して、オブジェクト記述し、オブジェクトの画像内の類似の特徴を探索して、オブジェクトの識別を試みるオブジェクト認識の1つもしくは複数の方法など、画像識別モジュール364に関して上で説明した技法に類似した技法を使用することができる。視覚探索エンジンモジュール462は、知られているオブジェクトに関連付けられたしきい値数を超える特徴がモバイルデバイス120から受信された画像内の特徴に整合するとき、画像内のオブジェクトまたはオブジェクトのタイプを識別するように構成され得る。
【００８１】
オブジェクトデータベース450は、視覚探索エンジンモジュール462が、モバイルデバイス120から受信された画像内のオブジェクトを表す可能性が最も高い単一のオブジェクトをオブジェクトデータベース450から識別することができるように、探索ツリー、ハッシュテーブル、または他のタイプの探索データ構造など、効率的な探索データ構造に編成され得る。
【００８２】
視覚探索エンジンモジュール462は、オブジェクトの識別および/またはオブジェクトタイプ情報をモバイルデバイス120に提供するように構成可能であり、モバイルデバイス120は、その情報を使用して、アプリケーションポータルサーバ145からオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションを取得することができる。いくつかの実装形態では、視覚探索エンジンモジュール462は、モバイルデバイス120上で1つもしくは複数のアプリケーションを起動するように、かつ/またアプリケーションポータルサーバ145からモバイルデバイス120へのアプリケーションコンテンツのダウンロードを調整するように構成され得るアプリケーションランチャーモジュール464にオブジェクトの識別ならびに/あるいはオブジェクトタイプ情報を提供するように構成され得る。
【００８３】
アプリケーションランチャーモジュール464は、視覚探索エンジンモジュール462がモバイルデバイス120から受信された画像内のオブジェクトおよびまたはオブジェクトタイプを識別することに応答して、モバイルデバイス上でアプリケーションを起動させるように構成され得る。アプリケーションランチャーモジュール464は、特定のオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストに対する要求をアプリケーションポータルサーバ145に送るように構成され得る。アプリケーションランチャーモジュール464は、識別されたアプリケーションコンテンツをモバイルデバイス120にダウンロードすること、および/またはモバイルデバイス120上でこれらのアプリケーションのうちの1つもしくは複数を起動することを調整するように構成され得る。
【００８４】
アプリケーションランチャーモジュール464は、モバイルデバイス120がモバイルデバイス上で利用可能な、アプリケーションポータルサーバ145によって識別された1つまたは複数のアプリケーションをすでに有するかどうかを決定するためのクエリをモバイルデバイス120に送るように構成され得る。アプリケーションランチャーモジュール464は、そのアプリケーションがモバイルデバイス120上ですでに利用可能でない場合、アプリケーションポータルサーバ145からそのアプリケーションを獲得するようにアプリケーション獲得モジュール466に命令するように構成され得る。
【００８５】
アプリケーション獲得モジュール466は、モバイルデバイス120上ですでに利用可能でないアプリケーションを獲得して、そのアプリケーションをモバイルデバイス120に提供するように構成され得る。たとえば、アプリケーション獲得モジュール466は、アプリケーションポータルサーバ145からアプリケーションをダウンロードして、ネットワーク接続を介してそのアプリケーションをモバイルデバイス120にプッシュするように構成され得る。アプリケーション獲得モジュール466はまた、モバイルデバイス120にそのアプリケーションをアプリケーションポータルサーバ145からモバイルデバイス120にダウンロードさせるコマンドをモバイルデバイス120に送るように構成され得る。
【００８６】
アプリケーションランチャーモジュール464は、何らかのアプリケーションをモバイルデバイス120上にダウンロードする前、および/または何らかのアプリケーションをモバイルデバイス120上で起動する前に許可するようにモバイルデバイスのユーザにプロンプトを出すように構成され得る。いくつかの実装形態では、アプリケーションランチャーモジュール464は、モバイルデバイス120によって捕捉された画像のオブジェクトおよび/またはオブジェクトタイプに関係しているとして、アプリケーションポータルサーバ145によって識別された1つもしくは複数のアプリケーションのリストを用いて、モバイルデバイス120のユーザにプロンプトを出すように構成され得る。アプリケーションランチャーモジュール464は、1つまたは複数のアプリケーションのリストをモバイルデバイスのユーザに表示するための命令をモバイルデバイス120に送るように構成され得る。モバイルデバイス120は、ユーザが(もしあれば)どのアプリケーションコンテンツをモバイルデバイスにダウンロードすることを望むか、および(もしあれば)それらのアプリケーションのうちのどれをユーザがモバイルデバイス120上で起動することを望むかをユーザが選択するのを可能にするユーザインターフェースを提供するように構成され得る。
【００８７】
アプリケーションランチャーモジュール464はまた、モバイルデバイス120のユーザのユーザプロファイルおよび/もしくは使用プロファイルに基づいて、モバイルデバイス120上のダウンロードおよび/もしくは起動のために、そのオブジェクトならびに/またはオブジェクトタイプに関連付けられたアプリケーションをアプリケーションのリストから自動的に選択するように構成され得る。アプリケーションランチャーモジュール464は、モバイルデバイス120からプロファイル情報を要求するように構成され得、かつ/またはモバイルデバイス120に関連付けられたネットワークサービスプロバイダからこの情報を取得するように構成され得る。たとえば、ユーザのユーザプロファイルが、そのユーザが、あるタイプのゲームなど、あるタイプのアプリケーションを好むことを示す場合、アプリケーションランチャーモジュール464は、オブジェクトに関連付けられた他のタイプのアプリケーションに比べて、そのユーザによって好まれるタイプのゲームを自動的に選択するように構成され得る。
【００８８】
アプリケーションランチャーモジュール464はまた、モバイルデバイス120上のそのユーザの使用プロファイルに基づいてアプリケーションを選択するように構成され得る。たとえば、モバイルデバイス120のユーザに関連付けられた使用パターンが、そのユーザは、通常、ゲームをプレイしないが、そのユーザに割引情報または特売情報を提供するアプリケーションを使用することを示す場合、アプリケーションランチャーモジュール464は、ゲームアプリケーションに比べて、そのような割引情報または特売情報モバイルデバイス120のユーザに提供するアプリケーションを選択するように構成され得る。アプリケーションランチャーモジュール464はまた、モバイルデバイス120のユーザの購入履歴および/またはダウンロード履歴に基づいて、起動するアプリケーションを選択するように構成され得る。アプリケーションランチャーモジュール464は、オブジェクトに関連付けられた他のタイプのアプリケーションに比べて、モバイルデバイス120のユーザが、通常、使用するタイプのアプリケーションを選択することができる。モバイルデバイス120のユーザの使用パターンおよび/もしくは使用履歴に関する情報は、モバイルデバイス120によって送られること可能であり、かつ/または維持および他のソースから獲得されることが可能である。たとえば、モバイルデバイス120に関連付けられたワイヤレスサービスプロバイダはこの情報を維持することができる。モバイルデバイス120上で使用され得るアプリケーションを販売するアプリケーションストアがモバイルデバイス120のユーザが過去に購入またはダウンロードしたアプリケーションおよび/またはアプリケーションのタイプに関する情報を有することも可能である。
【００８９】
図11は、図1に示したアプリケーションポータルサーバ145を実装するために使用され得るコンピュータシステムの機能ブロック図である。アプリケーションポータルサーバ145は、プロセッサ1155と、ネットワークインターフェース1180と、メモリ1160と、アプリケーションデータベース1150とを含み得る。アプリケーションポータルサーバ145は、アプリケーション開発者がそのアプリケーションを登録するのを可能にし、アプリケーション開発者がそのアプリケーションを特定の特徴もしくは記述子および/またはオブジェクトに関連付けるのを可能にし、モバイルデバイス120ならびに/あるいは視覚探索サーバ125が画像内で識別されたオブジェクトの特徴もしくは記述子および/または識別に基づいてアプリケーションを獲得するのを可能にするように構成され得る。いくつかの実装形態では、アプリケーションポータルサーバ145の機能のうちのいくつかまたはすべてを1つまたは複数のサーバ上の視覚探索サーバ125の機能と組み合わせることが可能である。
【００９０】
アプリケーションポータルサーバ145は、メモリ1160内に記憶されたプロセッサ実行可能ソフトウェアコードとして実装され得る機能モジュールを含むことも可能である。図11に示す機能モジュールは、代替的に、異なるコンピュータ可読メモリ内に一部または全部記憶されてもよい。たとえば、機能モジュールは、フラッシュメモリ、SD-Card、または他のタイプのリムーバブルメモリなど、アプリケーションポータルサーバ145に関連付けられたリームバブルコンピュータ可読媒体内に記憶され得る。図11に示す機能モジュールは、ファームウェア内および/またはハードウェア内で一部もしくは全部実装されてもよい。アプリケーションポータルサーバ145は、アプリケーション要求モジュール1162と、アプリケーションランチャーモジュール1164と、アプリケーション獲得モジュール1166と、アプリケーション登録モジュール1168とを含み得る。視覚探索エンジンモジュール1162、アプリケーションランチャーモジュール1164、アプリケーション登録モジュール1168、および/またはアプリケーション獲得モジュール1166は、代替的に、メモリ1160内のプロセッサ実行可能プログラムとして実装されるのではなく、プロセッサ1155など、汎用プロセッサもしくはCPUによって、かつ/または他のハードウェア内で実装され得る。
【００９１】
プロセッサ1155は、メモリ460内に記憶されたソフトウェアコードを実行するように構成され得る。たとえば、プロセッサ1155は、視覚探索エンジンモジュール1162、アプリケーションランチャーモジュール1164、アプリケーション獲得モジュール1166、およびアプリケーション登録モジュール1168に関連付けられたソフトウェアコードを実行するように構成され得る。プロセッサ1155はまた、オペレーティングシステム構成要素、周辺デバイス用のソフトウェアドライバ、および/またはアプリケーションポータルサーバ145によって実行され得る他のソフトウェアコードなど、アプリケーションポータルサーバ145によって使用される他のソフトウェアコードを実行するように構成され得るが、その記述は、本明細書で開示するシステムおよび方法の動作を理解するために必要とされない。
【００９２】
ネットワークインターフェース1180は、双方向のワイヤレスネットワーク通信および/または有線ネットワーク通信をアプリケーションポータルサーバ145に提供するように構成され得る。ネットワークインターフェース1180は、アプリケーションポータルサーバ145が、インターネット、ワイヤレスネットワークサービスプロバイダのコアネットワーク、1つもしくは複数のワイヤレスローカルエリアネットワーク(WLAN)、および/または他のタイプのネットワークなど、1つもしくは複数の中間ネットワークを介して、モバイルデバイス120と通信するのを可能にするように構成され得る。アプリケーションポータルサーバ145のネットワークインターフェース1180とモバイルデバイス120との間のネットワーク通信は、ワイヤレスアクセスポイント115または基地局140など、1つもしくは複数の他のネットワーク要素を介して経路指定され得る。
【００９３】
メモリ1160は、アプリケーションポータルサーバ145の様々な構成要素によって使用されるデータを記憶するための揮発性メモリおよび/または永続性メモリを含み得る。メモリ1160を使用して、プロセッサ1155など、アプリケーションポータルサーバ145内に含まれるプロセッサのうちの1つまたは複数に関するプロセッサ実行可能プログラムコードを記憶することができる。
【００９４】
アプリケーション要求モジュール1162は、アプリケーション情報に対する、かつアプリケーションコンテンツに対する要求をモバイルデバイス120ならびに/または視覚探索サーバ125から受信するように構成され得る。アプリケーション要求モジュール1162は、特定のオブジェクトおよび/もしくはオブジェクトタイプに関するアプリケーションのリストに対する要求をモバイルデバイス120ならびに/または視覚探索サーバ125から受信するように構成され得る。そのような要求に応答して、アプリケーション要求モジュール1162は、モバイルデバイス120もしくは視覚探索サーバ125からの要求内で識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションに関してアプリケーションデータベース1150を探索するように構成され得る。アプリケーションデータベース1150は、アプリケーション開発者によって提供されたアプリケーション情報を記憶するように構成され得る。アプリケーション情報は、アプリケーションを特定のオブジェクトおよび/またはオブジェクトのタイプに関連付けることができる。アプリケーション要求モジュール1162は、アプリケーション情報に対する要求内に含まれたオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストを作成することができ、そのリストを要求側エンティティ(たとえば、モバイルデバイス120または視覚探索サーバ125)に送るように構成され得る。アプリケーションのリストは、リスト上の各アプリケーションに関連付けられた一意のアプリケーション識別子を含み得る。アプリケーション識別子は、特定のアプリケーションに関連付けられたアプリケーションコンテンツをアプリケーションポータルサーバ145から要求するためにモバイルデバイス120および/または視覚探索サーバ125によって使用され得る。
【００９５】
アプリケーション要求モジュール1162はまた、アプリケーションコンテンツに対する要求をモバイルデバイス120および/または視覚探索サーバ125から受信するように構成され得る。この要求は、1つまたは複数のアプリケーションに関連付けられた一意のアプリケーション識別子を含むことが可能であり、モバイルデバイスに関連付けられたデバイス特定情報を含むことが可能である。モバイルデバイスに関連付けられたデバイス特定情報は、モバイルデバイスに関する製造会社情報、オペレーティングシステムバージョン、および/またはアプリケーション要求モジュール1162がアプリケーションデータベース1150から適切なバージョンのアプリケーションコンテンツを検索するために使用することができる他の情報を含み得る。アプリケーション要求モジュール1162は、要求されたアプリケーションコンテンツをモバイルデバイス120または視覚探索サーバ125に送るように構成され得る。
【００９６】
アプリケーション管理モジュール1164は、アプリケーション開発者がアプリケーションをアプリケーション起動サービスに登録するのを可能にするように構成され得る。アプリケーション管理モジュール1164は、アプリケーション開発者がアプリケーション起動サービスに登録して、新しいアプリケーションをアプリケーションポータルサーバ145にアップロードすること、および/またはアプリケーションポータルサーバ145にすでにアップロードされているアプリケーションに関連付けられた情報を管理することを可能にするユーザインターフェースを提供するように構成され得る。アプリケーション管理モジュール1164は、アプリケーション開発者がそのアプリケーションを特定のオブジェクトおよび/またはオブジェクトタイプに関連付けるのを可能にするように構成され得る。
【００９７】
オブジェクトタイプ情報は、アプリケーション開発者がアプリケーションを関連付けることを望むオブジェクトのタイプに関連付けられた特定の品質、意味記述、特徴、および/または記述子を含み得る。いくつかの実装形態では、アプリケーションは、特定の識別されたオブジェクトに関連付けられるのではなく、ある種のオブジェクトタイプに関連付けられてもよい。そのような実装形態では、アプリケーションのベンダーまたは発行者は、アプリケーションに関連付けられた品質、タイプ、グループ、もしくは記述のセットを提供することができ、そのタイプのオブジェクトがモバイルデバイス120および/あるいはサーバ125のいずれかによって識別されたとき、そのアプリケーションをオブジェクトデータベース450から選択することができる。いくつかの実施形態では、アプリケーション開発者は、アプリケーションに関連付けられた特徴、記述子、および/またはキーポイントを直接識別することができる。したがって、いくつかの実施形態では、画像から抽出されたオブジェクトの属性を使用してアプリケーションを決定することができる。他の実施形態では、上で説明したように、そのような属性を使用して、まずオブジェクトを識別することができ、次いで、識別されたオブジェクトに基づいてアプリケーションを識別することができる。
【００９８】
いくつかの実装形態では、複数の階層レベルの情報をアプリケーションに関連付けることができ、モバイルデバイス120および視覚探索サーバのアプリケーションランチャーモジュールは、この情報を使用して、どのアプリケーションをモバイルデバイス120上にダウンロードするか、および/またはモバイルデバイス120上で起動するかを決定することができる。モバイルデバイス120および視覚探索サーバのアプリケーションランチャーモジュールは、この情報を使用して、アプリケーションのリストをどの順序でモバイルデバイスのユーザに提示するかを決定することができる。たとえば、エンパイヤーステートビルディング(Empire State Building)に関連付けられたコンテンツを有するアプリケーションは、オブジェクトとして、エンパイヤーステート(Empire States)ビルディングに関連付けられることが可能であるが、ニューヨーク市の歴史的ランドマークならびに/またはマンハッタンの展望台を提供する超高層ビルおよび他の位置に関連付けられてもよい。
【００９９】
アプリケーション登録モジュールは、アプリケーション開発者によって提供されたアプリケーションに関連付けられた特徴もしくは記述子および/またはオブジェクトでアプリケーションデータベースを更新するように構成され得る。アプリケーション管理モジュール1164は、起動サービスに登録された各アプリケーションに一意のアプリケーション識別子を割り当てるように構成され得る。アプリケーション識別子を使用して、アプリケーションを照合して、そのアプリケーションに関連付けられたデータを検索することができる。
【０１００】
アプリケーションデータベース1150は、アプリケーションデータに関する永続的なデータストレージを提供する。アプリケーションデータベース1150は、アプリケーションポータルサーバ145内の永続的なコンピュータ可読ストレージ内で、かつ/またはアプリケーションポータルサーバ145によってアクセス可能な外部の永続的なコンピュータ可読ストレージとして実装され得る。アプリケーションデータベース1150は、アプリケーションに関連付けられたアプリケーションデータを記憶するように構成可能であり、各アプリケーションに関連付けられた一意のアプリケーション識別子を使用して、アプリケーションデータがアクセスされるのを可能にするように構成され得る。アプリケーションデータベース1150は、アプリケーション管理モジュールによって提供されるアプリケーション管理ユーザインターフェースからアプリケーションデータを受信して、アプリケーションが関連付けられることになる実行可能アプリケーションコードおよび/または特徴もしくは記述子ならびに/あるいはオブジェクトを記憶するように構成され得る。
【０１０１】
アプリケーションデータベース1150は、異なるタイプおよび/またはバージョンのオペレーティングシステムを有する異なるタイプのモバイルデバイスを操作するように構成された複数のバージョンのアプリケーションを記憶するように構成され得る。アプリケーション要求モジュール1162は、特定のバージョンの実行可能アプリケーションコードに対する要求を受信して、(もしあれば)そのバージョンの実行可能アプリケーションコードをモバイルデバイス120および/または視覚探索サーバ125に提供するように構成され得る。
【０１０２】
図5は、モバイルデバイスに関連付けられたアプリケーションを管理するためのプロセスのブロックフロー図である。図5に示すプロセスは、モバイルデバイス120によって実装され得る。しかしながら、図5に示すプロセスの段階のいくつかまたはすべては、全部または一部、サーバ125によって実装されてもよい。
【０１０３】
図5に示すプロセスは、様々な方法で開始され得る。場合によっては、図5に示すプロセスは、モバイルデバイス120によって表示されるアプリケーションランチャーユーザインターフェース上のアイコンのアクティブ化によって開始され得る。いくつかの実施形態では、図5に示すプロセスは、モバイルデバイス120上のボタンを押下することによって起動され得る。たとえば、図5に示すプロセスは、オブジェクトの画像を捕捉するためにモバイルデバイス120のカメラ215をトリガする、モバイルデバイス上のボタンを押下することによってトリガされ得る。いくつかの実施形態では、ユーザが、たとえば、ビデオフィードを有するカメラインターフェースを閲覧している間、ユーザは、そのビデオフィード内で閲覧可能なオブジェクトに関するアプリケーションを識別することになるボタンまたはアイコンを選択することができる。いくつかの実装形態では、モバイルデバイス120は、モバイルデバイス120がモバイルデバイスのカメラ215の視界の画像またはビデオを表示する拡張現実インターフェースを含むことも可能であり、ユーザはそのオブジェクトに触れるかまたはそのオブジェクトを指すことによってそのオブジェクトを選択することができる。いくつかの実装形態では、図5に示すプロセスは、カメラ215の視野内のオブジェクトを自動的に識別して、それらのオブジェクトに関連付けられたアプリケーションの識別を試みるために、モバイルデバイス120上で連続的に実行しているプロセスによってトリガされ得る。たとえば、後者の例は、ディスプレイ225用のHMDを含むモバイルデバイス120内で実装可能であり、カメラ215はHMD上に取り付けられる。モバイルデバイス120は、モバイルデバイスのユーザがオブジェクトに面しているとき、カメラ215の視界内のオブジェクトの識別を自動的に試みるように構成され得る。
【０１０４】
プロセスは、オブジェクトの画像がモバイルデバイス120に関連付けられたカメラ215によって捕捉されることから開始し得る(段階505)。モバイルデバイス120の画像捕捉モジュール362は、モバイルデバイスに関連付けられたカメラ215の視界内のオブジェクトの画像を捕捉するようにトリガされ得る。画像捕捉モジュール362は、カメラ215を使用して、ビデオまたは一連の画像を捕捉して、捕捉されたコンテンツをディスプレイ225上に表示するように構成され得る。オブジェクトの画像の捕捉は、モバイルデバイス120のユーザによってトリガされ得る。たとえば、モバイルデバイス120は、モバイルデバイス120のユーザがモバイルデバイス120上のボタンを押下することによって、ディスプレイ225の一部に触れることによって、タッチセンサー235をアクティブ化することによって、モバイルデバイス120に音声コマンドを発行することによって、および/または他の技法を介してモバイルデバイスにコマンドを発行することによって、画像を捕捉するためのコマンドを発行することに応答して、モバイルデバイス120に関連付けられたカメラ215の視野内の画像を捕捉するように構成され得る。オブジェクトの画像の捕捉は、モバイルデバイス120によって自動的にトリガされることも可能である。たとえば、モバイルデバイス120は、モバイルデバイス120にカメラ215の視界内のシーンの、モバイルデバイスのカメラ215によって捕捉された視野を表示させることができるアプリケーションを含むように構成され得る。アプリケーションは、写真および/またはビデオコンテンツを捕捉するように設計されたアプリケーションであり得る。アプリケーションは、実世界シーン上に拡張現実コンテンツをオーバーレイするように構成されたアプリケーションであり得る。アプリケーションは、カメラ215によって捕捉された画像を、処理のために、モバイルデバイス120の画像識別モジュール364に周期的に提供するように構成され得る。
【０１０５】
プロセスは、引き続き、モバイルデバイス120に関連付けられたカメラ215によって捕捉されたオブジェクトの画像内のオブジェクトおよび/またはオブジェクトのタイプを識別することができる(段階510)。モバイルデバイスの画像識別モジュール364は、上で説明した様々な技法を使用して、画像内のオブジェクトおよび/またはオブジェクトのタイプを識別するように構成され得る。たとえば、画像内のオブジェクトおよび/またはオブジェクトのタイプは、画像内のオブジェクトの画像から抽出された属性および/または特徴をモバイルデバイス120上もしくは視覚探索サーバ125上のいずれかに記憶されたオブジェクトアプリケーションデータベース内に記憶された識別されたオブジェクトの属性および/または特徴と比較することによって識別され得る。オブジェクトの高さおよび幅の比率、オブジェクトの1つもしくは複数の色、オブジェクトの形状、オブジェクトのサイズ、および/またはオブジェクトの属性など、オブジェクトを識別するための画像内のオブジェクトの属性ならびに/あるいは特徴を使用して、オブジェクトを識別することができる。画像識別モジュール364は、画像内のオブジェクトおよび/またはオブジェクトのタイプを識別するための様々な技法を使用することができる。たとえば、画像識別モジュール364は、SIFT技法、SURF技法、およびBRIEF技法、ならびに他のオブジェクト認識技法など、オブジェクトを記述するために自然特徴記述子を使用し、そのオブジェクトの識別を試みるためにオブジェクトの画像内の類似の特徴を探索するオブジェクト認識のための1つまたは複数の方法を使用することができる。
【０１０６】
プロセスは、引き続き、カメラ215によって捕捉された画像内で識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられた1つもしくは複数のアプリケーションを識別することができる(段階515)。画像識別モジュール364は、アプリケーションデータベース350内に記憶された情報を使用して、オブジェクトに関連付けられたアプリケーションを識別するように構成され得る。いくつかの実装形態では、画像識別モジュール364はまた、特定のオブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションのリストに対する要求をアプリケーションポータルサーバ145に送るように構成され得る。画像識別モジュール364は、モバイルデバイス上のオブジェクトアプリケーションデータベース355内に何の整合も見出されない場合、特定のオブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションのリストに対する要求をアプリケーションポータルサーバ145に送るように構成され得る。いくつかの実装形態では、画像識別モジュール364は、画像識別モジュール364によって識別された特定のオブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションのリストに対する要求をアプリケーションポータルサーバ145に常に送るように構成され得る。
【０１０７】
プロセスは、引き続き、モバイルデバイス上のオブジェクトに関連付けられたアップリケーションを自動的に起動することができる(段階520)。オブジェクトおよび/またはオブジェクトタイプに関連付けられた1つもしくは複数のアプリケーションが識別されると、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションをアプリケーションランチャーモジュール366によって、モバイルデバイス120上で起動することができる。上で説明したように、複数のアプリケーションがオブジェクトに関連付けられる場合、モバイルデバイスのユーザがどのアプリケーションをモバイルデバイス120上にダウンロードすること、および/またはモバイルデバイス120上で起動することを望むかについて入力するように、そのユーザにプロンプトを出すことができる。代替的に、モバイルデバイス120またはサーバ125のいずれかによってオブジェクトに関連付けられた複数のアプリケーションからアプリケーションを自動的に選択することができる。アプリケーションの自動選択は、モバイルデバイスに関連付けられた使用プロファイルまたはモバイルデバイスのユーザに関連付けられたユーザプロファイルに基づき得る。いくつかの実装形態では、アプリケーションは、視覚探索サーバ125のアプリケーションランチャーモジュール464の支援によりモバイルデバイス120上で起動され得る。アプリケーションランチャーモジュール464は、そのアプリケーションがモバイルデバイス120上ですでに利用可能であるかどうかを判断するためのクエリをモバイルデバイス120に送ることができ、かつ/またはモバイルデバイス120用の適切な実行可能アプリケーションコンテンツをモバイルデバイス120にプッシュするように構成され得る。
【０１０８】
図6は、モバイルデバイス120に関連付けられたカメラ215を使用して捕捉されたオブジェクトの画像内のオブジェクトを識別するためのプロセスのブロックフロー図である。図6に示すプロセスを使用して、図5に示したプロセスの段階510を実装することができる。図6に示すプロセスは、モバイルデバイス120によって実装され得る。代替的に、段階605、610、および630は、画像内のオブジェクトを識別して、そのオブジェクトに関連付けられた1つまたは複数のアプリケーションを識別するように構成され得るサーバ125によって実装され得る。
【０１０９】
プロセスは、画像内のオブジェクトの属性を識別することから開始し得る(段階605)。モバイルデバイス120の画像識別モジュール364は、画像内に含まれたオブジェクトの識別および/またはオブジェクトのタイプの決定を試みるために使用され得る画像内のオブジェクトの自然特徴を識別するために、SIRF技法またはBRIEF技法など、オブジェクトを記述するために自然特徴記述子を使用する、1つもしくは複数の技法を適用するように構成され得る。
【０１１０】
プロセスは、引き続き、段階605で識別されたオブジェクトの属性をオブジェクトデータベース350内に記憶されたオブジェクトの属性と比較することができる(段階610)。画像識別モジュール364は、画像内のオブジェクトまたはそのオブジェクトに関連付けられたオブジェクトのタイプの識別を試みる際に、画像内で識別されたオブジェクトの属性をモバイルデバイス120上に記憶されたローカルオブジェクトデータベース350のコンテンツと比較することができる。プロセスは、引き続き、画像識別モジュール364が画像内のオブジェクトに関する整合がオブジェクトアプリケーションデータベース内に見出されたかどうかを決定する(段階615)。整合はオブジェクトおよび/またはオブジェクトタイプを含み得る。たとえば、エンパイヤーステートビルディング(Empire State Building)の画像は、オブジェクトタイプ「エンパイヤーステートビルディング(Empire State Building)」に整合し得、かつ/または「ビルディング」もしくは「構造」のオブジェクトタイプに整合し得る。画像内のオブジェクトに関する整合は、画像内のオブジェクトの属性をオブジェクトデータベース350内のオブジェクトの属性と比較することによって決定され得る。オブジェクトデータベース350は、探索ツリー、ハッシュテーブル、または他のタイプの探索データ構造など、効率的な探索データ構造に配列可能であり、画像内のオブジェクトに関する整合の決定は、効率的な探索データ構造を移動して、モバイルデバイス120のカメラ215によって捕捉された画像内のオブジェクトの属性に最も整合するオブジェクトをオブジェクトデータベース350から選択することを含み得る。
【０１１１】
オブジェクトアプリケーションデータベース内に整合が見出された場合、オブジェクトアプリケーションデータベースから画像内のオブジェクトを識別するオブジェクト情報を検索することができる(段階630)。モバイルデバイス120のローカルオブジェクトデータベース350内に何の整合も見出されなかった場合、モバイルデバイス120の画像識別モジュール364は、画像内のオブジェクトを識別するための要求を視覚探索サーバ125に送るように構成され得る(段階620)。視覚探索サーバ125に対する要求は、段階610で識別された画像ならびに/または画像の属性および/もしくは特徴の複製を含み得る。
【０１１２】
モバイルデバイスは、次いで、オブジェクト識別情報を視覚探索サーバ125から受信することができる(段階625)。オブジェクト識別情報は、モバイルデバイス120から受信された画像内で捕捉されたオブジェクトおよび/またはオブジェクトタイプを識別する情報を含み得る。
【０１１３】
サーバ125が整合するオブジェクトを見出すことができなかった場合、視覚探索サーバ125から戻されたオブジェクト情報は、視覚探索サーバ125によって何の整合も見出されなかったことを示すことができる。視覚探索サーバ125によって何の整合も見出されなかった場合、モバイルデバイス120の画像識別モジュール364は、画像内のオブジェクトまたはオブジェクトのタイプを識別できなかったという表示をモバイルデバイスのユーザに提供するように構成され得る。たとえば、モバイルデバイス120の画像識別モジュール364は、オブジェクト上に疑問符アイコンを表示するなど、オブジェクトが識別できないことを示す拡張現実オーバーレイをオブジェクト上に表示するように構成され得る。モバイルデバイス120の画像識別モジュール364はまた、モバイルデバイス120を使用して、オブジェクトの別の画像の捕捉を試みるようにユーザにプロンプトを出すように構成され得る。モバイルデバイス120の画像識別モジュール364は、オブジェクトの別の画像の捕捉を試みるようにユーザにプロンプトを出すことができるが、これは、周辺光条件(たとえば、オブジェクト上の影もしくは不十分な照明)、オブジェクトが捕捉された角度、または他の要因がオブジェクトの画像からオブジェクトの属性を正確に抽出するためのモバイルデバイス120もしくはサーバ125の能力に影響を及ぼし得るためである。
【０１１４】
図6に示すプロセスのいくつかの実装形態では、モバイルデバイス120の画像識別モジュール364は、段階605、610、615、および630をスキップするように構成可能であり、画像識別モジュール364は、代わりに、プロセスの段階620および625に進むことができる。そのような実装形態では、モバイルデバイス120は、オブジェクト識別を実行するために必要とされる処理能力または他のリソースを有さなくてよく、識別プロセスを実行するように視覚探索サーバ125に要求する。
【０１１５】
図7は、モバイルデバイスに関連付けられたカメラによって捕捉されたオブジェクトの画像内で識別されたオブジェクトに関連付けられたアプリケーションを識別するためのプロセスのブロックフロー図である。図7に示すプロセスを使用して、図5に示したプロセスの段階515を実装することができる。図7に示すプロセスは、モバイルデバイス120によって実装され得る。
【０１１６】
プロセスは、オブジェクトアプリケーションデータベースを探索して、画像内で識別されたオブジェクトが何らかのアプリケーションに関連付けられるかどうかを決定することから開始し得る(段階705)。モバイルデバイス120の画像識別モジュール364は、ローカルオブジェクトアプリケーションデータベース355を探索して、カメラ215によって捕捉された画像内で識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられた何らかのアプリケーションが存在するかどうかを決定するように構成され得る。オブジェクトアプリケーションデータベース355は、オブジェクトおよび/またはオブジェクトタイプによって編成可能であり、各オブジェクトおよび/またはオブジェクトタイプに関連付けられた、1つもしくは複数のアプリケーションを含み得る。オブジェクトアプリケーションデータベース355は、オブジェクトおよび/またはオブジェクトタイプに関連付けられた各アプリケーションに関する一意のアプリケーション識別子を記憶するように構成され得る。一意のアプリケーション識別子を使用して、アプリケーションコンテンツをアプリケーションポータルサーバ145から要求することができる。
【０１１７】
ローカルオブジェクトデータベース350内に整合が見出されたかどうかの決定が画像識別モジュール364によって行われ得る(段階710)。整合が見出された場合、オブジェクトアプリケーションデータベース355から画像識別モジュール364アプリケーション情報を検索することができる(段階725)。オブジェクトアプリケーションデータベース355は、アプリケーションの各々に関連付けられた一意のアプリケーション識別子を提供することができる。画像識別モジュール364は、アプリケーション識別情報をアプリケーションランチャーモジュール366に提供することができ、アプリケーションランチャーモジュール366は、(モバイルデバイス上ですでに利用可能でない場合)アプリケーションポータルサーバ145からアプリケーションコンテンツを獲得して、1つまたは複数のアプリケーションを起動するように構成され得る。
【０１１８】
ローカルオブジェクトアプリケーションデータベース355内にオブジェクトおよび/またはオブジェクトタイプに関する何の整合も見出されない場合、モバイルデバイス120は、画像内で識別されたオブジェクトに関連付けられたアプリケーションに関するアプリケーション情報に対する要求をアプリケーションポータルサーバ145に送るように構成され得る(段階715)。モバイルデバイス120は、次いで、アプリケーション情報をサーバから受信することができる(段階720)。アプリケーションポータルサーバ145に対する要求は、モバイルデバイス120に関して利用可能な何らかのアプリケーションコンテンツが存在するかどうかを決定するとき、アプリケーションポータルサーバ145が使用できる、モバイルデバイス120のハードウェアおよび/またはオペレーティングシステムバージョンに関する情報を含み得る。アプリケーションポータルサーバ145によって何の整合も見出されなかった場合、モバイルデバイス120は、画像内のオブジェクトがそのオブジェクトに関連付けられた任意のアプリケーションを現在有さない、かつ/またはモバイルデバイス120のハードウェアおよび/もしくはオペレーティングシステムバージョンに関して何のアプリケーションコンテンツも利用可能でないという表示をモバイルデバイスのユーザに提供するように構成され得る。アプリケーションポータルサーバ145がオブジェクトおよび/またはオブジェクトタイプに関する整合を見出す場合、アプリケーションポータルサーバ145は、そのオブジェクトおよび/またはオブジェクトタイプに整合するアプリケーションの各々に関するアプリケーション識別子をモバイルデバイス120に送るように構成され得る。アプリケーションポータルサーバ145はまた、アプリケーション記述、サムネイル画像、および/またはアプリケーションに関連する他のコンテンツなど、整合が見出されたアプリケーションに関する追加情報を送るように構成され得る。アプリケーションポータルサーバ145はまた、オブジェクトおよび/またはオブジェクトタイプに整合するアプリケーションに対する要求に応答して、実行可能プログラムコンテンツをモバイルデバイス120に送るように構成され得る。
【０１１９】
オブジェクトおよび/またはオブジェクトタイプは、そのオブジェクトに関連付けられた1つまたは複数のアプリケーションを過去に有した可能性があるが、アプリケーションの発行者は、限定された期間の間だけ、そのアプリケーションをオブジェクトに関連付けた可能性がある。たとえば、アプリケーションは、限定された販売促進期間の間そのオブジェクトに関連付けられている可能性があり、その限定された販売促進期間が経過すると、そのアプリケーションは、そのオブジェクトとそのアプリケーションとの間の関連付けをオブジェクトアプリケーションデータベースから除去することによって、そのオブジェクトと関連付け解除されている可能性がある。アプリケーションはまた、そのアプリケーションがアプリケーションサーバから除去されているため、もはや利用可能でない可能性がある。モバイルデバイス120は、そのオブジェクトに関して何のアプリケーションも見出すことができなかったことを示す、そのオブジェクトに関する拡張現実オーバーレイを提供するように構成され得る。たとえば、モバイルデバイス120は、識別されているが、そのオブジェクトに関連付けられた何のアプリケーションも存在しないオブジェクト上に「X」アイコンをオーバーレイするように構成され得る。
【０１２０】
図8は、アプリケーションをモバイルデバイス上で起動するためのプロセスのブロックフロー図である。図8に示すプロセスを使用して、図5に示したプロセスの段階520を実装することができる。図8に示すプロセスは、モバイルデバイス120によって実装され得る。プロセスは、複数の候補アプリケーションが、カメラ215によって捕捉された画像内のオブジェクトに関連付けられる場合、アプリケーションランチャーモジュール366が候補アプリケーションを選択することから開始し得る(段階805)。複数のアプリケーションをあるオブジェクトに関連付けることが可能であり、それらのアプリケーションのうちの1つをモバイルデバイス120上で起動させるために選択することができる。アプリケーションランチャーモジュール366によって候補アプリケーションが選択されると、モバイルデバイス120上の候補アプリケーションを探索することができる(段階810)。オブジェクトに関連付けられた選択されたアプリケーションは、モバイルデバイス120上にすでにインストールされている可能性がある。アプリケーションランチャーモジュール366は、モバイルデバイス120上にアプリケーション候補が見出されたかどうかを決定することができる(段階815)。
【０１２１】
アプリケーションがモバイルデバイス120上で利用可能でない場合、アプリケーションランチャーモジュール366は、そのアプリケーションをモバイルデバイス120上にダウンロードするための要求をアプリケーションポータルサーバ145に、またはそのアプリケーションが存在する別のアプリケーションソースサーバに送るようにモバイルデバイス120のアプリケーション獲得モジュール368に命令することができる(段階820)。モバイルデバイス120は、次いで、アプリケーションポータルサーバ145または他の遠隔アプリケーションソースサーバ(図示せず)からダウンロードするためのアプリケーションを受信することができる(段階825)。アプリケーションポータルサーバ145または他のアプリケーションソースサーバは、ネットワーク110を介してアプリケーションをモバイルデバイス120に送るように構成され得る。モバイルデバイス120は、支払い明細、および/または、電子メールアドレス、電話番号、もしくは、そのユーザがアプリケーションをダウンロードする前に、アプリケーション発行者によって要求され得る、ユーザに関連付けられた他の情報など、他の情報を要求して、要求された情報をサーバ125あるいは他の遠隔アプリケーションソースサーバに提供するように構成され得る。
【０１２２】
候補アプリケーションがモバイルデバイス上で利用可能であったか、またはサーバ125もしくは別の遠隔アプリケーションサーバから受信されている場合、アプリケーションランチャーモジュール366は、モバイルデバイス120上でアプリケーションを起動するように構成され得る(段階830)。実行可能アプリケーションは、モバイルデバイス120のメモリ260内または別のメモリ内に記憶可能であり、プロセッサコントローラ255は、メモリ260内に記憶されたプロセッサ実行可能アプリケーションコンテンツを実行するように構成され得る。
【０１２３】
図9は、モバイルデバイス上で起動するための候補アプリケーションを選択するためのプロセスのブロックフロー図である。図9に示すプロセスを使用して、図8に示したプロセスの段階830を実装することができる。図9に示すプロセスは、モバイルデバイス120によって実装され得る。代替的に、図9に示すプロセスのステップは、視覚探索サーバ125および/またはアプリケーションポータルサーバ145によって実装可能であり、この場合、サーバは、示したプロセスの段階を実行するためのコマンドまたは一連のコマンドをモバイルデバイス120に送ることができる。
【０１２４】
モバイルデバイス120のカメラ215によって捕捉された画像に関連付けられたオブジェクトおよび/またはオブジェクトタイプに関連付けられた複数のアプリケーションが存在する場合、図9に示すプロセスを使用することができる。プロセスは、アプリケーションランチャーモジュール366がアプリケーション候補のリストをユーザに表示することから開始することが可能であり(段階905)、この場合、アプリケーション候補はそのアプリケーションに関連付けられたアプリケーションである。アプリケーション候補のリストは、モバイルデバイス120上のオブジェクトデータベース350から、かつ/またはアプリケーションポータルサーバ145のアプリケーションデータベース1150から取得され得る。アプリケーションランチャーモジュール366は、アプリケーションのリストをモバイルデバイスのディスプレイ225上に表示するように構成可能であり、モバイルデバイス120は、起動されることになるアプリケーションを選択するユーザ入力を受信するように構成され得る。アプリケーションランチャーモジュール366はまた、アプリケーションの起動を取り消すためのオプションを提供するように構成可能であり、モバイルデバイス120のユーザがアプリケーションの起動を取り消すためのアプリケーションを選択する場合、そのオブジェクトに関連付けられた何のアプリケーションもモバイルデバイス120上で起動されないことになる。アプリケーションランチャーモジュール366は、モバイルデバイスのユーザが起動するアプリケーションを選択したかどうかの決定を下すことができる(段階910)。所定の期間が経過する前に何の選択も受信されない場合、またはデバイス120が、ユーザにプロンプトを出す代わりにアプリケーションを自動的に選択するように構成される場合、モバイルデバイス120のアプリケーションランチャーモジュール366は、モバイルデバイス120上で起動されることになるアプリケーションを自動的に選択するように構成され得る(段階915)。モバイルデバイス120のアプリケーションランチャーモジュール366は、モバイルデバイス120のユーザのユーザプロファイルおよび/または使用プロファイルに基づいて、そのオブジェクトに関連付けられたアプリケーションのリストからアプリケーションを自動的に選択するように構成され得る。たとえば、ユーザのユーザプロファイルが、そのユーザが、あるタイプのゲームなど、あるタイプのアプリケーションを好むことを示す場合、アプリケーションランチャーモジュール366は、オブジェクトに関連付けられた他のタイプのアプリケーションに比べて、そのユーザによって好まれるタイプのゲームを自動的に選択するように構成され得る。次いで、選択されたアプリケーションをモバイルデバイス120上で起動することができる(段階920)。
【０１２５】
図10は、モバイルデバイスに関連付けられたカメラによって捕捉された画像内のオブジェクトを識別して、そのオブジェクトに関連付けられた少なくとも1つの候補アプリケーションを識別するためのプロセスのブロックフロー図である。図10は、モバイルデバイス120によって実装可能であり、図5に示すプロセスの段階510および515を実装するために使用され得るプロセスを示す。図10に示すプロセスは、画像識別モジュール364がモバイルデバイス120のカメラ215によって捕捉された画像内のオブジェクトに関する整合(オブジェクト識別またはオブジェクトタイプ)を見出すことに失敗した場合、モバイルデバイス120の画像識別モジュール364によって実行され得る。図10に示すプロセスはまた、次いで、ローカルオブジェクトデータベース350のコンテンツに基づいて、画像識別モジュール364によって生み出された探索結果と比較され得る識別結果を視覚探索サーバ125から取得することによって、画像識別モジュール364によって行われた識別の信頼度を高めるためにモバイルデバイスの画像識別モジュール364によって実行され得る。図10に示す方法は、モバイルデバイス120が識別プロセスを視覚探索サーバ125に委ねる、前に説明したプロセスの代わりに、モバイルデバイス120によって実装されてもよい。
【０１２６】
図10に示すプロセスでは、モバイルデバイス120の画像識別モジュール364は、モバイルデバイス120に関連付けられたカメラ215によって捕捉された画像をサーバ125に送信することができる(段階1005)。視覚探索サーバ125は、画像内のオブジェクトを識別して、そのオブジェクトに関連付けられたオブジェクト識別および/またはオブジェクトタイプを提供するように構成され得る。視覚探索サーバ125はまた、モバイルデバイス120から受信された画像内のオブジェクトに関連付けられたオブジェクトおよび/またはオブジェクトタイプに関連付けられた少なくとも1つのアプリケーションを識別するように構成され得る。モバイルデバイス120の画像識別モジュール364は、画像内のオブジェクトを識別するオブジェクト情報および(もしあれば)そのオブジェクトに関連付けられた任意のアプリケーションを識別するアプリケーション情報を受信するように構成され得る(段階1010)。代替的に、モバイルデバイスの画像識別モジュール364は、視覚探索サーバ125によって識別されたオブジェクトに関連付けられたアプリケーション識別子および/または実行可能アプリケーションコードだけを視覚探索サーバ125から受信するように構成され得る。
【０１２７】
視覚探索サーバ125によってそのオブジェクトに関して何の整合も見出されない場合、モバイルデバイス120の画像識別モジュール364は、たとえば、粗悪な画像品質により、そのオブジェクトを識別できない場合、オブジェクトの画像を再度捕捉するように、モバイルデバイスのユーザにプロンプトを出すように構成され得る。モバイルデバイス120はまた、そのオブジェクトを識別できないこと、またはそのオブジェクトに関連付けられた何のアプリケーションも存在しないことを示す拡張現実オーバーレイをオブジェクト上に提供するように構成され得る。
【０１２８】
図12は、モバイルデバイスのカメラを使用して捕捉された画像内のオブジェクトを識別するためのプロセスのブロックフロー図である。図12に示すプロセスは、視覚探索サーバ125によって実装され得る。しかしながら、図12に示すプロセスの段階のいくつかまたはすべては、全部または一部、アプリケーションポータルサーバ145によって実装され得る。さらに、いくつかの実装形態では、視覚探索サーバ125およびアプリケーションポータルサーバ145は、同じサーバまたはサーバのセットによって実装され得る。モバイルデバイス120が、そのオブジェクトおよび/または画像内のオブジェクトのオブジェクトタイプを識別する目的で処理するために、モバイルデバイス120のカメラ215によって捕捉されたオブジェクトの画像を視覚探索サーバに送る場合、図12で論じるプロセスを使用することができる。モバイルデバイス120の画像識別モジュール364がオブジェクトを識別することができない場合、画像識別モジュール364が達した結果と比較するために「第2の見解」を提供するため、または代替的に、モバイルデバイス120上のオブジェクトを識別するために、図12に示すプロセスを呼び出すことができる。
【０１２９】
プロセスは、視覚探索サーバ125において、たとえば、インターフェース480を用いて、モバイルデバイス120のカメラ215によって捕捉されたオブジェクトの画像に関する情報を受信することから開始し得る(段階1205)。モバイルデバイス120は、モバイルデバイス120によってオブジェクトの画像から抽出された画像ならびに/または属性および/もしくは特徴を送るように構成され得る。いくつかの実装形態では、オブジェクトの属性および/または特徴は、画像内のオブジェクトに関連付けられたオブジェクトおよび/またはオブジェクトタイプの識別を試みる際に、モバイルデバイス120によって捕捉されたオブジェクトの画像からすでに抽出されている可能性がある。他の実装形態では、オブジェクトの画像だけが、モバイルデバイス120によって視覚探索サーバ125に提供され得る。モバイルデバイス120が、画像識別プロセスを実行するように構成されていない場合、または画像識別モジュール364の識別結果と視覚探索サーバ125の識別結果との間の比較が所望される場合、その画像から抽出された属性および/もしくは特徴を伴わずに、画像が提供され得る。
【０１３０】
プロセスは、引き続き、モバイルデバイス120に関連付けられたカメラ215によって捕捉されたオブジェクトの画像内のオブジェクトおよび/またはオブジェクトのタイプを識別することができる(段階1210)。視覚探索サーバ125の視覚探索エンジンモジュール462は、上で説明した様々な技法を使用して、画像内のオブジェクトおよび/またはオブジェクトのタイプを識別するように構成され得る。たとえば、画像内のオブジェクトおよび/またはオブジェクトのタイプは、画像内のオブジェクトの画像から抽出された属性および/または特徴をオブジェクトデータベース450内に記憶された、識別されたオブジェクトの属性および/または特徴と比較することによって識別され得る。オブジェクトの高さおよび幅の比率、オブジェクトの1つもしくは複数の色、オブジェクトの形状、オブジェクトのサイズ、および/またはオブジェクトの属性など、オブジェクトを識別するための画像内のオブジェクトの属性ならびに/あるいは特徴を使用して、オブジェクトを識別することができる。視覚探索サーバ125の視覚探索エンジンモジュール462は、画像内のオブジェクトおよび/またはオブジェクトのタイプを識別するための様々な技法を使用することができる。たとえば、視覚探索サーバ125の視覚探索エンジンモジュール462は、SIFT技法、SURF技法、およびBRIEF技法、ならびに他のオブジェクト認識技法など、オブジェクトを記述するために自然特徴記述子を使用して、そのオブジェクトの識別を試みるためにオブジェクトの画像内の類似の特徴を探索するオブジェクト認識のための、1つまたは複数の方法を使用することができる。
【０１３１】
プロセスは、引き続き、カメラ215によって捕捉された画像内で識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられた、1つもしくは複数のアプリケーションを識別することができる(段階1215)。画像識別モジュール364は、オブジェクトの識別および/またはオブジェクトタイプ情報をアプリケーションランチャーモジュール464に提供するように構成され得る。アプリケーションランチャーモジュール464は、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーション情報をアプリケーションポータルサーバ145から要求するように構成され得る。いくつかの実装形態では、アプリケーションランチャーモジュール464はまた、特定のオブジェクトまたはオブジェクトタイプに関連付けられたアプリケーションのリストに対する要求をアプリケーションポータルサーバ145に送るように構成され得る。いくつかの実装形態では、段階1115はオプションであり、視覚探索サーバ125は、オブジェクト識別および/またはオブジェクトタイプだけをモバイルデバイス120に提供するように構成され、モバイルデバイス120は、オブジェクトおよび/またはオブジェクトタイプに関連付けられた何らかのアプリケーションを識別ならびに取得するように構成される。
【０１３２】
プロセスは、引き続き、たとえば、インターフェース480を用いて、識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションの識別を少なくとも含む情報をモバイルデバイスに送信することができる(段階1220)。オブジェクトおよび/またはオブジェクトタイプに関連付けられた、1つもしくは複数のアプリケーションが識別されると、アプリケーションランチャーモジュール464は、その1つのアプリケーションおよび/または複数のアプリケーションの各々に関連付けられたアプリケーション識別子をモバイルデバイス120に送ることができ、この場合、アプリケーション識別子情報は、視覚探索サーバ125のアプリケーション獲得モジュール466によってアプリケーションポータルサーバ145から取得された。いくつかの実装形態では、アプリケーション獲得モジュール466は、実行可能アプリケーションコンテンツをアプリケーションポータルサーバ145からダウンロードして、そのコンテンツをモバイルデバイス120にプッシュするように構成され得る。さらに別の実装形態では、ランチャーモジュール464は、識別されたアプリケーションをアプリケーションポータルサーバ145からダウンロードするようにモバイルデバイス120のアプリケーション獲得モジュール368に命令するように構成され得る。
【０１３３】
図13は、モバイルデバイスのカメラによって捕捉された画像内のオブジェクトに関連付けられたオブジェクトおよび/またはオブジェクトタイプを識別するためのプロセスのブロックフロー図である。図13に示すプロセスは、視覚探索サーバ125によって実装され得る。しかしながら、図13に示すプロセスの段階のいくつかまたはすべては、全部または一部、アプリケーションポータルサーバ145によって実装され得る。さらに、いくつかの実装形態では、視覚探索サーバ125およびアプリケーションポータルサーバ145は、同じサーバまたはサーバのセットによって実装され得る。モバイルデバイス120が、そのオブジェクトおよび/または画像内のオブジェクトのオブジェクトタイプを識別する目的で処理するために、モバイルデバイス120のカメラ215によって捕捉されたオブジェクトの画像を視覚探索サーバに送る場合、図13で論じるプロセスを使用することができる。モバイルデバイス120の画像識別モジュール364がオブジェクトを識別することができない場合、画像識別モジュール364が達した結果と比較するために「第2の見解」を提供するため、または代替的に、モバイルデバイス120上のオブジェクトを識別するために、図13に示すプロセスを呼び出すことができる。図13に示すプロセスでは、モバイルデバイス120は、そのオブジェクトおよび/または画像内のオブジェクトのオブジェクトタイプを識別するために視覚探索サーバ125だけに依存し、そのオブジェクトおよび/もしくはオブジェクトタイプに関連付けられた何らかのアプリケーションを識別ならびに/または獲得するために視覚探索サーバ125に依存しない。
【０１３４】
プロセスは、視覚探索サーバ125において、たとえば、インターフェース480を用いて、モバイルデバイス120のカメラ215によって捕捉されたオブジェクトの画像に関する情報を受信することから開始し得る(段階1305)。モバイルデバイス120は、モバイルデバイス120によってオブジェクトの画像から抽出された画像ならびに/または属性および/もしくは特徴を送るように構成され得る。いくつかの実装形態では、オブジェクトの属性および/または特徴は、画像内のオブジェクトに関連付けられたオブジェクトおよび/またはオブジェクトタイプの識別を試みる際に、モバイルデバイス120によって捕捉されたオブジェクトの画像からすでに抽出されている可能性がある。他の実装形態では、オブジェクトの画像だけが、モバイルデバイス120によって視覚探索サーバ125に提供され得る。モバイルデバイス120が、画像識別プロセスを実行するように構成されていない場合、または画像識別モジュール364の識別結果と視覚探索サーバ125の識別結果との間の比較が所望される場合、その画像から抽出された属性および/もしくは特徴を伴わずに、画像が提供され得る。
【０１３５】
プロセスは、引き続き、モバイルデバイス120に関連付けられたカメラ215によって捕捉されたオブジェクトの画像内のオブジェクトおよび/またはオブジェクトのタイプを識別することができる(段階1310)。視覚探索サーバ125の視覚探索エンジンモジュール462は、上で説明した様々な技法を使用して、画像内のオブジェクトおよび/またはオブジェクトのタイプを識別するように構成され得る。たとえば、画像内のオブジェクトおよび/またはオブジェクトのタイプは、画像内のオブジェクトの画像から抽出された属性および/または特徴をオブジェクトデータベース450内に記憶された、識別されたオブジェクトの属性および/または特徴と比較することによって識別され得る。オブジェクトの高さおよび幅の比率、オブジェクトの1つもしくは複数の色、オブジェクトの形状、オブジェクトのサイズ、および/またはオブジェクトの属性など、オブジェクトの属性ならびに/あるいは特徴を使用して、オブジェクトを識別することができる。視覚探索サーバ125の視覚探索エンジンモジュール462は、画像内のオブジェクトおよび/またはオブジェクトのタイプを識別するための様々な技法を使用することができる。たとえば、視覚探索サーバ125の視覚探索エンジンモジュール462は、SIFT技法、SURF技法、およびBRIEF技法、ならびに他のオブジェクト認識技法など、オブジェクトを記述するために自然特徴記述子を使用して、そのオブジェクトの識別を試みるためにオブジェクトの画像内の類似の特徴を探索するオブジェクト認識のための、1つまたは複数の方法を使用することができる。
【０１３６】
プロセスは、引き続き、たとえば、インターフェース480を用いて、モバイルデバイス120によって提供された画像内のオブジェクトおよび/またはオブジェクトタイプの識別を少なくとも含む情報をモバイルデバイスに送信することができる(段階1315)。視覚探索エンジンモジュール462は、何らかの結果が見出された場合、オブジェクトの識別および/またはオブジェクトタイプ情報をモバイルデバイスに送信することができる。そうでない場合、視覚探索エンジンモジュール462は、その画像内のオブジェクトを識別することができないというメッセージをモバイルデバイス120に送ることができる。
【０１３７】
図14は、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーション情報を提供するためのプロセスのブロックフロー図である。図14に示すプロセスは、アプリケーションポータルサーバ145によって実装され得る。いくつかの実装形態では、視覚探索サーバ125およびアプリケーションポータルサーバ145は、同じサーバまたはサーバのセットによって実装され得る。モバイルデバイス120もしくは視覚探索サーバ125が特定のオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーション情報に対する要求を送り、アプリケーションポータルサーバ145がその要求以内で識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションのリストを提供することができる場合、図14で論じるプロセスを使用することができる。
【０１３８】
プロセスは、アプリケーションポータルサーバ145において、たとえば、インターフェース1180を使用して、特定のオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーション情報に対する要求を受信することから開始し得る(段階1405)。アプリケーション要求モジュール1162は、モバイルデバイス120または視覚探索サーバ125によって送られた要求を受信するように構成され得る。いくつかの実施形態では、特定のオブジェクトおよび/もしくはオブジェクトタイプに関する情報の代わりに、あるいそれに加えて、特徴記述子またはキーポイントなど、画像から抽出されたオブジェクトの属性を受信することができる。
【０１３９】
アプリケーション要求モジュール1162は、次いで、アプリケーションデータベース1150にアクセスして、識別されたオブジェクトおよび/またはオブジェクトタイプに関連付けられた何らかのアプリケーションを識別することができる(段階1410)。アプリケーション要求モジュール1162は、アプリケーションデータベース1150のコンテンツに基づいて、オブジェクトおよび/またはオブジェクトタイプ(もしくは、オブジェクト属性)に関連付けられたアプリケーションのリストを作成するように構成され得る。
【０１４０】
次いで、アプリケーション要求モジュール1162は、たとえば、インターフェース1180を用いて、アプリケーション情報を要求側エンティティに送信するように構成され得る(段階1415)。アプリケーション要求モジュール1162は、オブジェクトおよび/もしくはオブジェクトタイプに関連付けられたアプリケーションのリストをそのオブジェクトおよび/もしくはオブジェクトタイプに関連付けられたアプリケーションのリストを要求したモバイルデバイス120または視覚探索サーバ125に送信するように構成され得る。
【０１４１】
図15は、アプリケーションデータストア内のアプリケーション情報を更新するためのプロセスのブロックフロー図である。図15に示すプロセスは、アプリケーションポータルサーバ145によって実装され得る。いくつかの実装形態では、視覚探索サーバ125およびアプリケーションポータルサーバ145は、同じサーバ上またはサーバのセット上で実装され得る。アプリケーション開発者がアプリケーションポータルサーバ145によって提供されるアプリケーションコンテンツを追加または修正することを望む場合、図15で論じるプロセスを使用することができる。アプリケーションを追加すること、アプリケーションを更新すること、アプリケーションをアプリケーションポータルサーバ145から除去することが可能である前に、アプリケーション開発者が認証資格を提供する認証プロセスが図15に示すプロセスに先行し得る。
【０１４２】
この方法は、アプリケーションポータルサーバ145が、たとえば、インターフェース1180を用いて、1つまたは複数のモバイルデバイス上で実行可能アプリケーションに関連付けられたアプリケーション情報を更新するための要求を受信することから開始し得る(段階1505)。アプリケーションポータルサーバ145のアプリケーション管理モジュール1164は、その要求を処理するように構成され得る。アプリケーション情報は、特定のタイプのモバイルデバイスに関して構成されたアプリケーションの1つもしくは複数のバージョン、および/またはモバイルデバイス上のオペレーティングシステムのバージョンに関する実行可能プログラムコードを含み得る。アプリケーション情報は、アプリケーションの記述、アプリケーションに関連付けられたサムネイル画像、および/またはアプリケーションに関連付けられた他のコンテンツを含むことも可能である。
【０１４３】
次いで、アプリケーションデータストアはその要求を用いて提供されたアプリケーション情報で更新され得る(段階1510)。要求がそのデータベース内に現在含まれていない新しいアプリケーションに関連付けられる場合、アプリケーション管理モジュール1164は、新しい一意のアプリケーション識別子をそのアプリケーションに割り当てて、その要求を用いて提供されたアプリケーション情報でアプリケーションデータベース1150を更新するように構成され得る。その要求が既存のアプリケーションに関連付けられる場合、アプリケーション管理モジュール1164は、アプリケーションデータベース1150内でそのアプリケーションに関連付けられたアプリケーション情報を更新することができる。
【０１４４】
図16は、特定のアプリケーションに関連付けられたアプリケーション情報をモバイルデバイスまたは視覚探索サーバに提供するためのプロセスのブロックフロー図である。図16に示すプロセスは、アプリケーションポータルサーバ145によって実装され得る。いくつかの実装形態では、視覚探索サーバ125およびアプリケーションポータルサーバ145は、同じサーバ上またはサーバのセット上で実装され得る。モバイルデバイス120または視覚探索サーバ125が特定のアプリケーション識別子に関連付けられたアプリケーションコンテンツに対する要求を送る場合、図16で論じるプロセスを使用することができる。
【０１４５】
プロセスは、アプリケーションポータルサーバ145において、たとえば、インターフェース1180を用いて、特定のアプリケーション識別子に関連付けられたアプリケーションコンテンツに対する要求を受信することから開始し得る(段階1605)。アプリケーション要求モジュール1162は、モバイルデバイス120または視覚探索サーバ125によって送られた要求を受信するように構成され得る。アプリケーション識別子は、アプリケーションポータルサーバ145からアクセスされ得る特定のアプリケーションを識別するために使用され得る一意の識別子を提供する。アプリケーションポータルサーバ145は、ルックアップおよび/もしくはアプリケーションコンテンツを要求側エンティティに送ることに進む前に、モバイルデバイス120ならびに/または視覚探索サーバ125がそのコンテンツにアクセスすることを許可されるかどうかを決定するために認証ステップを実行するように構成され得る。
【０１４６】
アプリケーション要求モジュール1162は、次いで、アプリケーションデータベース1150にアクセスして、その要求内に含まれたアプリケーション識別子に関連付けられた何らかのアプリケーションを識別することができる(段階1610)。アプリケーション要求モジュール1162は、要求されたアプリケーションに関連付けられた一意のアプリケーション識別子を使用して、そのアプリケーションに関するコンテンツにアクセスするように構成され得る。
【０１４７】
アプリケーション要求モジュール1162は、次いで、どのエンティティがアプリケーションコンテンツを要求したかに応じて、たとえば、インターフェース1180を用いて、要求されたアプリケーションコンテンツをモバイルデバイス120または視覚探索サーバ125に送信するように構成され得る(段階1615)。いくつかの実装形態では、アプリケーション要求モジュール1162は、実行可能プログラムコードをモバイルデバイス120に、かつ/もしくは視覚探索サーバ125に送るように、またはモバイルデバイス120および/もしくは視覚探索サーバ125に要求されたコンテンツをアプリケーションポータルサーバ145からダウンロードさせるコマンドを送るように構成され得る。その要求が無効なアプリケーション識別子内に含まれる場合、アプリケーション要求モジュール1162は、アプリケーション識別子が有効でなかったというメッセージを要求側エンティティに送るように構成され得る。その要求が、もはや利用可能でないコンテンツに関連付けられたアプリケーション識別子内に含まれる場合、アプリケーション要求モジュール1162は、そのアプリケーション識別子がもはや有効でないというメッセージをサーバに送るように構成され得る。
【０１４８】
以下の例示的な使用例は、本明細書で説明する様々なシステムおよびプロセスがともに、どのようにモバイルデバイス120にアプリケーションコンテンツを提供するかを示す、いくつかの例を提供する。これらの例は、オブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションコンテンツをモバイルデバイス120に提供するために、本明細書で示す様々なプロセスをともにどのように使用することができるかを示すことを単に意図し、これらの例は網羅的であること、または限定的であることを意図しない。これらのプロセスの他の組合せが可能である。
【０１４９】
一例では、モバイルデバイス120は、オブジェクトの画像を捕捉して、そのオブジェクトの画像および/またはモバイルデバイス120によってその画像から抽出されたそのオブジェクトに関する記述子のセットを視覚探索サーバ125に送ることができる。いくつかの実装形態では、モバイルデバイスは、図5に示したプロセスの段階510を実装するために使用され得る、図6に示したプロセスにおいてなど、オブジェクトの画像を視覚探索サーバに送る前に、まず、そのオブジェクトの識別を試みることができる。視覚探索サーバ125は、図13で示したプロセスにおいてなど、そのオブジェクトの識別および/または画像内のオブジェクトのオブジェクトタイプを戻すように構成され得る。視覚探索サーバ125は、画像から抽出された特徴および/または記述子をモバイルデバイス120に提供するように構成可能であり、モバイルデバイス120は、その特徴および/または記述子をアプリケーションポータルサーバ145に送り、それらの記述子に関連付けられたアプリケーションコンテンツを受信することができる。
【０１５０】
視覚探索サーバ125はまた、図12に示したプロセスにおいてなど、モバイルデバイス120から受信されたオブジェクトの画像および/またはオブジェクトに関する記述子のセットに応答して、アプリケーション情報をモバイルデバイス120に提供するように構成され得る。視覚探索サーバ125によって提供されるアプリケーション情報は、そのオブジェクトおよび/またはオブジェクトタイプに関連付けられたアプリケーションに関する1つもしくは複数のアプリケーション識別子を含むことが可能であるか、あるいはアプリケーションコンテンツ自体を含むことが可能である。(図12に示したプロセスにおいてなど)視覚探索サーバ125によってアプリケーション識別子がモバイルデバイス120に提供される場合、モバイルデバイス120は、アプリケーションコンテンツのうちのいずれかがモバイルデバイス上ですでに利用可能であるかどうかを決定して、視覚探索サーバ125によって提供されたアプリケーション識別子を使用して、モバイルデバイス120上で利用可能でない何らかのアプリケーションコンテンツをアプリケーションポータルサーバ145から要求するように構成され得る。アプリケーションポータルサーバ145は、(図14に示すプロセスにおいてなど)アプリケーション識別子を受信して、それらのアプリケーション識別子に関連付けられたアプリケーションコンテンツをモバイルデバイス120に提供するように構成され得る。
【０１５１】
別の例では、モバイルデバイス120は、オブジェクトの画像を捕捉して、そのオブジェクトを識別するために、そのオブジェクトの画像を視覚探索サーバ125に送ることができる。いくつかの実装形態では、モバイルデバイスは、図5に示したプロセスの段階510を実装するために使用され得る、図6に示したプロセスにおいてなど、オブジェクトの画像を視覚探索サーバ125に送る前に、まず、そのオブジェクトの識別を試みることができる。他の実装形態では、モバイルデバイス120は、図10に示したプロセスにおいてなど、まず、オブジェクトの識別を試みずに、識別のために、オブジェクトの画像を視覚探索サーバ125に送るように構成され得る。いくつかの実装形態では、視覚探索サーバ125は、図13に示したプロセスにおいてなど、オブジェクトの画像を受信して、そのオブジェクトを識別して、そのオブジェクトの識別を少なくとも含む情報をモバイルデバイス120に送るように構成され得る。モバイルデバイス120に提供された情報は、オブジェクト識別子および/またはモバイルデバイス120によって捕捉された画像内のオブジェクトに関連付けられた記述子のセットなど、そのオブジェクトの識別を含み得る。次いで、モバイルデバイス120は、画像内のオブジェクトに関連付けられたオブジェクト識別子および/または記述子のセットをアプリケーションポータルサーバ145に送り、アプリケーションコンテンツをアプリケーションポータルサーバ145から受信するように構成され得る。このプロセスは、アプリケーションポータルサーバ145がモバイルデバイス120または視覚探索サーバ125からアプリケーション識別子を受信して、それらのアプリケーション識別子に関連付けられたアプリケーションコンテンツを要求側エンティティに提供するように構成され得る、図14に示したプロセスに類似する。しかしながら、この例では、アプリケーションポータルサーバ145は、オブジェクト識別子および/もしくは画像内のオブジェクトに関連付けられた記述子のセットを受信して、モバイルデバイス120から受信されたオブジェクト識別子および/もしくは記述子のセットに基づいて、そのオブジェクトならびに/または画像内のオブジェクトのオブジェクトタイプに関連付けられたアプリケーションコンテンツを識別するように構成され得る。
【０１５２】
別の例では、モバイルデバイス120は、オブジェクトの画像を捕捉して、そのオブジェクトの画像をアプリケーションポータルサーバ145に、かつ/またはモバイルデバイス120によってその画像から抽出されたそのオブジェクトに関する記述子のセットをアプリケーションポータルサーバ145に送ることができる。このプロセスは、視覚探索サーバ125がモバイルデバイス120に関連付けられたカメラ215によって捕捉されたオブジェクトの画像に関する画像情報を受信するように構成され得る、図12で論じるプロセスに類似するが、この例示的な使用例では、アプリケーションポータルサーバ145は、視覚探索サーバ125から画像情報を受信するように構成され得る。その場合、アプリケーションポータルサーバ145は、モバイルデバイス120から受信された画像情報を視覚探索サーバ125に送るように構成され得る。視覚探索サーバ125は、段階1205で、画像情報がアプリケーションポータルサーバ145から受信されて、視覚探索サーバ125がそのオブジェクトおよび/またはモバイルデバイスによって捕捉された画像からのオブジェクトのオブジェクトタイプに関連付けられた少なくとも1つのアプリケーションの識別をアプリケーションポータルサーバ145に送る、図12に示すプロセスに類似したプロセスを実行するように構成され得る。アプリケーションポータルサーバ145は、少なくとも1つのアプリケーションの識別を使用して、アプリケーションコンテンツをモバイルデバイス120に提供するように構成され得る。代替的に、視覚探索サーバ125は、段階1205で、画像情報がアプリケーションポータルサーバ145から受信されて、視覚探索サーバ125がオブジェクトおよび/またはモバイルデバイスによって捕捉された画像からのオブジェクトのオブジェクトタイプをアプリケーションポータルサーバ145に送る、図13に示すプロセスに類似したプロセスを実行するように構成され得る。その場合、アプリケーションポータルサーバ145は、そのオブジェクトおよび/もしくは視覚探索サーバ125から受信されたオブジェクトタイプを使用して、そのオブジェクトならびに/またはオブジェクトタイプに関連付けられたアプリケーションコンテンツをルックアップして、アプリケーションコンテンツをモバイルデバイスに提供することができる。
【０１５３】
他の検討事項
【０１５４】
特許請求の範囲を含め本明細書で使用される場合に、「少なくとも1つの」という前置きが付けられた、項目の列挙で使用される「または」は、選言的な列挙を示しており、たとえば「A、BまたはCのうちの少なくとも1つ」という列挙は、AもしくはBもしくはCもしくはABもしくはACもしくはBCもしくはABC(すなわち、AとBとC)を、または1つより多い特性との組合せ(たとえば、AA、AAB、ABBC、など)を意味する。
【０１５５】
特許請求の範囲を含め、本明細書で使用する場合、特に明記しない限り、機能または動作が項目または条件「に基づく」という文言は、機能または動作が述べられた項目または条件に基づくこと、また、述べられた項目または条件に加えて1つもしくは複数の項目および/あるいは条件に基づき得ることを意味する。
【０１５６】
ワイヤレス通信ネットワークは、ワイヤレスに送信されるすべての通信を有するものではないが、ワイヤレスに送信される少なくともいくつかの通信を有するように構成される。
【０１５７】
他の例および実装形態が、本開示および添付の請求項の範囲および趣旨の中にある。たとえば、ソフトウェアの性質により、上で説明した機能は、プロセッサ、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらの任意の組合せによって実行されるソフトウェアを使用して実装され得る。機能を実装する特徴はまた、機能の一部が異なる物理的位置で実装されるように分散された状態を含む、様々な位置に物理的に位置していてもよい。また、請求項を含めて本明細書で使用される場合、「のうちの少なくとも1つ」を伴う項目の列挙において使用されるような「または」は、たとえば、「A、B、またはCの少なくとも1つ」という列挙が、AもしくはBもしくはCもしくはABもしくはACもしくはBCもしくはABC(すなわち、AおよびBおよびC)、または2つ以上の特徴を伴う組合せ(たとえば、AA、AAB、ABBCなど)を意味するように、選言的な列挙を示す。
【０１５８】
さらに複数の発明が開示されている場合がある。
【０１５９】
説明した構成に対して、大幅な変形が特定の要件に従って行われ得る。たとえば、カスタマイズされたハードウェアが使用されてもよく、および/または特定の要素が、ハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、または両方で実装されてよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続を使用することができる。
【０１６０】
一般的な形態の物理的および/または有形コンピュータ可読媒体は、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、後に説明するような搬送波、あるいは、コンピュータが命令および/またはコードを読み取ることができる任意の他の媒体を含む。
【０１６１】
上記で論じた方法、システム、およびデバイスは、例である。様々な構成は、様々な手順または構成要素を適宜、省略、置換、または追加し得る。たとえば、代替的な構成では、方法は、説明したものとは異なる順序で実行されてよく、様々なステップが追加され、省略され、または結合されてよい。また、いくつかの構成に関して説明された特徴は、様々な他の構成で組み合わされてよい。構成の様々な態様および要素は同様の方式で組み合わされ得る。また、技術は進化するので、要素の多くは例であり、本開示または請求項の範囲を限定しない。
【０１６２】
例示的な構成(実装形態を含む)の完全な理解をもたらすために、具体的な詳細が説明において与えられている。しかしながら、構成はこれらの具体的な詳細を伴わずに実施され得る。たとえば、構成を不明瞭にするのを避けるために、既知の回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細を伴わずに示されてきた。この説明は、例示的な構成を提供するのみであり、請求項の範囲、適用可能性、または構成を限定しない。むしろ、構成の前述の説明は、説明された技法を実装するための説明を与える。本開示の趣旨または範囲から逸脱することなく、様々な変更が要素の機能および構成において行われ得る。
【０１６３】
また、構成は、フロー図またはブロック図として示されるプロセスとして説明されることがある。各々は順次的なプロセスとして動作を説明することがあるが、動作の多くは、並列に、または同時に実行され得る。加えて、動作の順序は並べ替えられ得る。プロセスは、図に含まれない追加の段階または機能を有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施されるとき、タスクを実行するためのプログラムコードまたはコードセグメントが、記憶媒体のような非一時的コンピュータ可読媒体に記憶され得る。そのような非一時的コンピュータ可読媒体は、メモリ260および/またはメモリ460によって実装され得る。プロセッサは、説明したタスクを実行することができ、たとえば、プロセッサ210、220、230、240、および455のうちの1つまたは複数は、図5〜図10、および図12〜図16に関して説明した機能のうちの1つまたは複数を実行するように構成され得る。
【０１６４】
いくつかの例示的な構成について説明してきたが、本開示の趣旨から逸脱することなく、様々な変更、代替構造、および均等物が使用され得る。たとえば、上記の要素は、より大きいシステムの構成要素であり得、他の規則が、本発明の適用例よりも優先されるか、または本発明の適用例を変更し得る。また、上の要素が考慮される前、その間、またはその後、多数の動作が行われ得る。したがって、上の説明は、請求項の範囲を限定しない。
【符号の説明】
【０１６５】
110  ネットワーク
115  ワイヤレスアクセスポイント
120  モバイルデバイス
125  視覚探索サーバ、サーバ
140  基地局
145  アプリケーションポータルサーバ
205  センサー
210  センサープロセッサ、プロセッサ
215  カメラ
220  カメラプロセッサ、プロセッサ
225  ディスプレイ
230  グラフィックスプロセッサ、プロセッサ
235  タッチセンサー
240  タッチセンサープロセッサ、プロセッサ
250  通信コントローラ
255  プロセッサコントローラ
260  メモリ
350  オブジェクトデータベース
355  オブジェクトアプリケーションデータベース
362  画像捕捉モジュール
364  画像識別モジュール
366  アプリケーションランチャーモジュール
368  アプリケーション獲得モジュール
370  拡張現実モジュール
450  オブジェクトデータベース
455  プロセッサ
460  メモリ
462  視覚探索エンジンモジュール
464  アプリケーションランチャーモジュール
466  アプリケーション獲得モジュール
480  ネットワークインターフェース
1150  アプリケーションデータベース
1155  プロセッサ
1160  メモリ
1162  アプリケーション要求モジュール
1164  アプリケーションランチャーモジュール
1166  アプリケーション獲得モジュール
1168  アプリケーション登録モジュール
1180  ネットワークインターフェース
【図２】
2016519800.tif 000003
【図３】
2016519800.tif 000004
【図４】
2016519800.tif 000005
【図５】
2016519800.tif 000006
【図６】
2016519800.tif 000007
【図７】
2016519800.tif 000008
【図８】
2016519800.tif 000009
【図９】
2016519800.tif 000010
【図１０】
2016519800.tif 000011
【図１１】
2016519800.tif 000012
【図１２】
2016519800.tif 000013
【図１３】
2016519800.tif 000014
【図１４】
2016519800.tif 000015
【図１５】
2016519800.tif 000016
【図１６】
2016519800.tif 000017
【図１】
2016519800.tif 000018
【国際調査報告】
2016519800.tif 000019
2016519800.tif 000020
2016519800.tif 000021
2016519800.tif 000022