以下では、図面を参照しながら本発明の様々な例示的な実施例、特徴、及び態様について詳細に説明する。図面において、同じ参照符号は、同じ又は類似の機能を有する要素を示す。実施例の様々な態様が図面に示されているが、特に明記しない限り、図面を必ずしも縮尺通りに描く必要はない。
本明細書において、「例示的」という用語は、「例、実施例、又は説明として使用される」こと意味する。本明細書において、「例示的」として説明される任意の実施例は、他の実施例よりも優れていると解釈されるべきではない。
本明細書における「及び/又は」という用語は、関連付けられた対象を説明する単なる関連付けであり、3種類の関係が存在し得ることを表示し、例えば、A及び/又はBは、Aが独立で存在する場合、AとBが同時に存在する場合、Bが独立で存在する場合などの3つの場合を表示する。さらに、本明細書における「少なくとも1つ」という用語は、複数のうちの1つ又は複数のうちの少なくとも2つの任意の組み合わせを表示し、例えば、A、B、Cのうちの少なくとも1つを含むことは、A、B及びCで構成されるセットから選択された任意の1つ又は複数の要素を含むことを表示する。
さらに、本発明をより効果的に説明するために、以下の具体的な実施形態において多くの具体的な詳細が与えられる。当業者なら自明であるが、本発明は、いくつかの特定の詳細なしに実施することもできる。いくつかの実施例では、本発明の要点を強調するために、当業者に周知の方法、手段、要素、及び回路については詳細な説明を省略する。
ARアプリケーションを適用する前に、ユーザはARアプリケーションを端末機器にダウンロードする必要がある。ARアプリケーションをダウンロードするとき、ARアプリケーションに関連するARリソースをパッケージ化して同時にダウンロードすると、ARアプリケーションのインストールパッケージが大きくなりすぎる。ARアプリケーションをダウンロードしてインストールした後、クラウドサーバからすべてのARリソースをロードする場合、ネットワーク送信に時間がかかりすぎる。
上記の技術的問題を解決するために、本発明の実施例では、リソースローディング方法を提供し、VPS(Visual Positioning Service、視覚的ポジショニングシステム)視覚的ポジショニングを介して端末機器の位置情報を決定し、次に、端末機器の位置情報に従ってARリソースをロードすることができる。いくつかの実施例では、図1を参照すると、ARアプリケーションインストールパッケージは、ARリソースを含まないか、又はARリソースの一部を含み、端末機器は、ARアプリケーションをダウンロードしてインストールした後、ARプログラムを使用するプロセスで、端末機器の位置情報に従って、ARリソースを段階的にロードすることができる。例えば、端末機器は、位置1でARリソース1、ARリソース2及びARリソース3をロードし、位置2でARリソース4、ARリソース5及びARリソース6をロードする。このようにして、ARアプリケーションのインストールパッケージを軽量化し、ARアプリケーションのダウンロード及びインストールの効率を向上させることができる。
図2は、本発明の実施例によるリソースローディング方法のフローチャートである。前記リソースローディング方法は、端末機器(以下では、第1電子機器と称する)によって実行され、端末機器は、ユーザ機器(User Equipment、UE)、モバイル機器、ユーザ端末、端末、セルラ電話、コードレス電話、携帯情報端末(Personal Digital Assistant、PDA)、ハンドヘルドデバイス、計算機器、車載機器、ウェアラブル機器などであり得る。前記方法は、プロセッサがメモリに記憶されたコンピュータ可読命令を呼び出すことで実現できる。
図2に示されるように、前記リソースローディング方法は、以下のステップを含み得る。
ステップS21において、第2電子機器にポジショニング情報を送信し、ポジショニング情報は、前記第2電子機器が前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定し、前記第1電子機器の位置情報に従って、ローディング対象拡張現実(AR)リソースを決定するために使用される。
ステップS22において、前記第2電子機器によって送信された前記ローディング対象ARリソースを受信し、前記ローディング対象ARリソースを対応的に表示する。
本発明の実施例では、上記の第2電子機器は、例えば、クラウドサーバなどを含み得る。第1電子機器は、第2電子機器にポジショニング情報を送信することができ、当該ポジショニング情報は、第1電子機器の位置情報(第1電子機器は、ポジショニング操作を実行することにより位置情報を取得する)を含み得、第2電子機器は、ポジショニング情報から第1電子機器の位置情報を取得する。
1つの可能な実施形態では、前記ポジショニング情報は、第1電子機器の所在位置の環境画像を含み、前記環境画像は、前記第2電子機器が環境画像に従って第1電子機器の位置情報を決定するために使用される。
例えば、SFM(Structure from Motion、運動からの構造復元)空間再構築技術などの空間再構築技術を介して空間を再構築して、空間の3次元モデルを取得することができる。第1電子機器は、その所在位置の環境画像を収集し、当該環境画像を含むポジショニング情報を第2電子機器に送信することができる。第2電子機器は、当該ポジショニング情報を受信した後、当該環境画像及び3次元モデルに従って、第1電子機器に対して視覚的ポジショニングを実行して、第1電子機器の位置情報を取得することができる。
第2電子機器は、第1電子機器の位置情報を取得した後、第1電子機器の位置情報に従って、すべてのARリソースから、ローディング対象ARリソースを決定することができ(ARアプリケーションのインストールパッケージにARリソースの一部が含まれている場合、インストールパッケージにカプセル化されていない残りのARリソースからローディング対象ARリソースを決定することができる)、第1電子機器にローディング対象ARリソースを送信することができる。
いくつかの実施例では、第2電子機器は、第1電子機器の位置情報を取得した後、位置情報及び第1の電子機器の位置情報がロード条件を満たすARリソースが、ローディング対象ARリソースであると決定することができる。例えば、ARリソースの位置情報と第1の電子機器の位置情報との間の距離が距離閾値内にある場合、ロード条件を満たすと決定し、当該ARリソースがローディング対象ARリソースであると決定することができる。又は、第1電子機器の位置情報に従って、ローディング対象範囲を決定(例えば、第1電子機器の位置情報を中心として、1つの領域を決定し、当該領域は、ローディング対象範囲である)でき、ARリソースの位置情報が当該ローディング対象範囲内にある場合、当該ARリソースは、ローディング対象ARリソースであると決定することができる。
第1電子機器は、ローディング対象ARリソースを受信した後、ローディング対象ARリソースを対応的に表示することができる。例えば、ローカルにロードされていない第1電子機器のローディング対象ARリソースを表示するか、又は、ローカルにロードされたがバージョンが更新されたローディング対象ARリソースについて、それに対応するロードプロンプト情報を表示する。当該ロードプロンプト情報は、当該ローディング対象ARリソースを更新するか否かをユーザに確認するために使用され、ロードプロンプト情報に対するユーザの確認操作に応答して、対応する表示をすることができる。例えば、ロードの確認操作に応答して、ローディング対象ARリソースをロード及び表示し、ローカルにキャッシュされたバージョンを削除するか、又は、ロードしないという確認操作に応答して、当該ローディング対象ARリソースをロードせず、ローカルにキャッシュされたバージョンのローディング対象ARリソースを表示する。
このようにして、第1電子機器は、第2電子機器にポジショニング情報を送信することができ、前記ポジショニング情報は、前記第2電子機器が前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定し、前記第1電子機器の位置情報に従って、ローディング対象拡張現実(AR)リソースを決定するために使用され、それにより、第1電子機器は、前記第2電子機器によって送信された前記ローディング対象ARリソースを受信し、前記ローディング対象ARリソースを対応的に表示することができる。本発明の実施例によるリソースローディング方法によれば、第1電子機器の位置情報に従って、対応するロードARリソースを決定及びロードできるため、ARアプリケーションをダウンロードするときにすべてのARリソースをダウンロードすることによって引き起こされる、ARアプリケーションのインストールパッケージが大きすぎるという問題が軽減される。それにより、ARアプリケーションのインストールパッケージを軽量化し、ユーザの使用に影響を与えることなく、ARアプリケーションのダウンロード及びインストールの効率を向上させることができる。
1つの可能な実施形態では、前記第2電子機器によって送信された前記ローディング対象ARリソースを受信し、前記ローディング対象ARリソースを対応的に表示することは、
前記第2電子機器によって送信された前記ローディング対象ARリソースの識別情報を受信することと、
前記ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定することと、
前記目標ARリソースの識別情報をARリソース取得要求に含めて、前記第2電子機器に前記ARリソース取得要求を送信することであって、前記ARリソース取得要求は、前記第2電子機器が前記ARリソース取得要求に応答して、前記目標ARリソースの識別情報に対応する目標ARリソースを取得するために使用される、ことと、
前記第2電子機器によって送信された前記目標ARリソースを受信及び表示することと、を含む。
例えば、第2電子機器は、第1電子機器の位置情報に従って、すべてのARリソースから、ローディング対象ARリソースを決定し、ローディング対象ARリソースの識別情報を取得することができる。ここで、ローディング対象ARリソースの識別情報は、ローディング対象ARリソースを識別するために使用されることができる。例えば、ローディング対象ARリソースの識別情報は、ローディング対象ARリソースのID及び名前を含んでもよいし、ローディング対象ARリソースのバージョン情報などを含んでもよい。
第1電子機器は、ローカルにキャッシュされたARリソースの識別情報及びローディング対象ARリソースの識別情報に従って、ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定することができる。
1つの可能な実施形態では、前記ローディング対象ARリソースの識別情報は、ARリソース識別子及びARリソースバージョン情報を含み、前記ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定することは、
任意のローディング対象ARリソースの識別情報について、前記ARリソース識別子に対応するARリソースがローカルにキャッシュされていない場合、又は、ローカルにキャッシュされたARリソース識別子に対応するARリソースのARリソースバージョン情報が、前記ARリソースバージョン情報と一致しない場合、前記ローディング対象ARリソースの識別情報が目標ARリソースの識別情報であると決定することを含む。
例えば、任意のローディング対象ARリソースの識別情報について、ローカルにキャッシュされたARリソースに対応するARリソース識別子に、当該ローディング対象ARリソースの識別情報に含まれるARリソース識別子が存在しない場合、当該ローディング対象ARリソースがローカルにキャッシュされていないと決定し、この場合、当該ローディング対象ARリソースの識別情報を、目標ARリソースの識別情報として決定することができる。又は、ローカルにキャッシュされたARリソースに対応するARリソース識別子に、当該ローディング対象ARリソースの識別情報に含まれるARリソース識別子が存在するが、ローカルにキャッシュされた当該ARリソース識別子に対応するARリソースのARリソースバージョン情報が、ローディング対象ARリソースの識別情報に含まれるARリソースのバージョン情報と一致しない場合、当該ローディング対象ARリソースがバージョンアップされたと決定できるので、当該ローディング対象ARリソースの識別情報を目標ARリソースの識別情報として決定することができる。
目標ARリソースを決定した後、第1電子機器は、目標ARリソースの識別情報に従って、第2電子機器にARリソース取得要求を送信することができる。第2電子機器は、当該ARリソース取得要求を受信した後、目標ARリソースの識別情報に従って、対応する目標ARリソースを取得し、第1電子機器に目標ARリソースを送信することができる。
第1電子機器は、第2電子機器によって送信された目標ARリソースを受信し、第1電子機器の表示画面に当該目標ARリソースを表示することができる。第1電子機器が異なるバージョンの目標ARリソースをキャッシュした場合、キャッシュされた履歴バージョンを削除し、第2電子機器によって送信された目標ARリソースをキャッシュすることができることに留意されたい。例えば、ARリソースがAR広告板1で、ローカルにキャッシュされたバージョンがバージョン1.0であり、第2電子機器によって送信されたバージョンがバージョン2.0である場合、ローカルにキャッシュされたバージョン1.0のAR広告板1を削除し、第2電子機器によって送信されたバージョン2.0のAR広告板1をキャッシュすることができる。
このようにして、第1電子機器の位置情報に従って、ARリソースを段階的にロードすることができ、ARアプリケーションのインストールパッケージを軽量化し、ARリソースをロードするプロセスにおけるロードの精度と効率を向上させることができる。
1つの可能な実施形態では、前記第2電子機器によって送信された前記ローディング対象ARリソースを受信し、前記ローディング対象ARリソースを対応的に表示することは、
前記第2電子機器によって送信された前記ローディング対象ARリソースを受信することと、
前記ローディング対象ARリソースから目標ARリソースを決定することと、
前記目標ARリソースを表示することと、を含み得る。
例えば、第2電子機器は、第1電子機器にローディング対象ARリソースを送信することができ、第1電子機器は、ローディング対象ARリソースを受信した後、ローディング対象ARリソースから目標ARリソースを決定し、目標ARリソースをロード及び表示することができる。ここて、目標ARリソースを決定する方法については、前述した実施例を参照することができ、ここでは繰り返して説明しない。
1つの可能な実施形態では、以下の条件が満たされる場合、前記第2電子機器にポジショニング情報を送信し、前記条件は、
時間周期において、前記第1電子機器が移動した距離が距離閾値を超えるという条件、
前記時間周期において、前記第1電子機器のリアルタイム位置情報がポジショニング領域の外側にあるという条件、及び
前の時間周期が終わって、新しい時間周期が開始するという条件のうちのいずれかであり得、ここで、前記ポジショニング領域は、前記時間周期の初期時刻に対応する前記第1電子機器の位置情報を中心とした領域である。
例えば、第1電子機器は、時間周期Tごとに第2電子機器に位置情報を送信することができ、当該時間周期Tは、事前に設定してもよいし、第1電子機器の移動速度に従って決定してもよい。例えば、第1電子機器の移動速度が比較的速い場合、それに応じて比較的短い時間周期Tを設定でき、第1電子機器の移動速度が比較的遅い場合、比較的に長い時間周期Tを設定できる。又は時間周期内で、時間周期の最初時刻に対応する前記第1電子機器の位置情報を中心として、ポジショニング領域を事前に設定でき、第1電子機器のリアルタイム位置がポジショニング領域外にある場合、第2電子機器にポジショニング情報を送信することにより、第2の電子機器とのインタラクションプロセスを簡素化し、リソース利用を改善することができる。
図3は、本発明の実施例によるリソースローディング方法のフローチャートであり、当該リソースローディング方法は、クラウドサーバ(以下では、第2電子機器と称する)に適用できる。図3を参照すると、本発明の実施例によるリソースローディング方法は、以下のステップを含み得る。
ステップS31において、第1電子機器によって送信されたポジショニング情報を受信する。
ステップS32おいて、前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定する。
ステップS33おいて、前記第1電子機器の位置情報に従って、拡張現実ARリソースから、ローディング対象ARリソースを決定する。
ステップS34おいて、前記ローディング対象ARリソースを、前記ローディング対象ARリソースの表示先である前記第1電子機器に送信する。
例えば、第1電子機器は、ポジショニング操作を実行することができ、第1電子機器の位置情報を取得した後、第2電子機器にポジショニング情報を送信し、当該ポジショニング情報は、第1電子機器の位置情報を含み得る。第2電子機器は、ポジショニング情報を受信した後、ポジショニング情報から第1電子機器の位置情報を取得できる。
又は、1つの可能な実施形態では、前記ポジショニング情報は、前記第1電子機器の所在位置の環境画像を含み、前記ポジショニング情報に従って第1電子機器の位置情報を決定することは、
第1電子機器の所在位置の環境画像に従って、第1電子機器に対して視覚的ポジショニングを実行して、前記第1電子機器の位置情報を取得することを含み得る。
例えば、第1電子機器は、第1電子機器の所在位置の環境画像を含むポジショニング情報を第2電子機器に送信することができる(具体的なプロセスについては、前述した実施例を参照することができ、ここでは繰り返して説明しない)。第2電子機器は、ポジショニング要求を受信した後、環境画像と、事前に空間を再構築することによって得られた3次元モデルとに従って、第1電子機器に対して視覚的ポジショニングを実行して、第1電子機器の位置情報を取得することができ、本発明の実施例は、視覚的ポジショニングの具体的なプロセスを限定せず、任意の視覚的ポジショニング方法であってもよい。
第2電子機器は、第1電子機器の位置情報を取得した後、第1電子機器の位置情報及び各ARリソースの位置情報に従って、ARリソースからローディング対象ARリソースを決定することができる。いくつかの実施例では、第2電子機器は、位置情報及び第1電子機器の位置情報がロード条件を満たすARリソースがローディング対象ARリソースであると決定することができる。例えば、ARリソースの位置情報と第1の電子機器の位置情報との間の距離が距離閾値内にある場合、それがロード条件を満たすと決定でき、当該ARリソースがローディング対象ARリソースであると決定することができる。又は、第1電子機器の位置情報に従って、ローディング対象範囲を決定でき(例えば、第1電子機器の位置情報を中心として1つの領域を決定し、当該領域は、ローディング対象範囲である)、ARリソースの位置情報が当該ローディング対象範囲内にある場合、ARリソースがローディング対象ARリソースであると決定することができる。
第2電子機器は、ローディング対象ARリソースを決定した後、ローディング対象ARリソースを取得し、第1電子機器にローディング対象ARリソースを送信することができる。それにより、第1電子機器は、ARリソースのキャッシュ状況に従って、ローディング対象ARリソースをロード及び表示することができる。例えば、ローディング対象ARリソースが第1電子機器にキャッシュされていない場合、又は、キャッシュされたローディング対象ARリソースのARリソースバージョン情報が、当該ローディング対象ARリソースバージョン情報と一致しない場合、当該ローディング対象ARリソースをロード及び表示する。
このようにして、第2電子機器は、前記第1電子機器によって送信されたポジショニング情報を受信し、前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定することができる。第2電子機器は、前記第1電子機器の位置情報に従って、拡張現実ARリソースからローディング対象ARリソースを決定して、前記第1電子機器に前記ローディング対象ARリソースを送信することにより、前記第1電子機器が、前記ローディング対象ARリソースを対応的に表示するようにする。本発明の実施例によるリソースローディング方法によれば、第1電子機器の位置情報に従って、ARリソースを段階的にロードすることができるため、ARアプリケーションをダウンロードするときにすべてのARリソースをダウンロードすることによって引き起こされる、ARアプリケーションのインストールパッケージが大きすぎるという問題が軽減される。それにより、ARアプリケーションのインストールパッケージを軽量化し、ユーザの使用に影響を与えることなく、ARアプリケーションのダウンロード及びインストールの効率を向上させることができる。
1つの可能な実施形態では、前記第1電子機器に前記ローディング対象ARリソースを送信することは、
前記第1電子機器に前記ローディング対象ARリソースの識別情報を送信することであって、前記ローディング対象ARリソースの識別情報は、前記第1電子機器が前記ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定するために使用される、ことと、
前記第1電子機器によって送信された、前記目標ARリソースの識別情報を含むARリソース取得要求を受信することと、
前記ARリソース取得要求に応答して、前記目標ARリソースの識別情報に対応する目標ARリソースを取得し、前記目標ARリソースを、前記目標ARリソースの表示先である前記第1電子機器に送信することとを、含み得る。
例えば、第2電子機器は、ローディング対象ARリソースを決定した後、ローディング対象ARリソースの識別情報を取得し、第1電子機器にローディング対象ARリソースの識別情報を送信することができる。第1電子機器は、ローカルにキャッシュされたARリソースの状況に従って、ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定することができる(具体的なプロセスについては、前述した実施例を参照することができ、ここでは繰り返して説明しない)。
第1電子機器は、目標ARリソースの識別情報を決定した後、目標ARリソースの識別情報を含むARリソース取得要求を第2電子機器に送信することができる。第2電子機器は、当該ARリソース取得要求を受信した後、目標ARリソースの識別情報に従って、対応する目標ARリソースを取得し、目標ARリソースを第1電子機器に送信してキャッシュ及び表示することができる。このように、第1電子機器の位置情報に従ってARリソースを段階的にロードすることができ、ARアプリケーションのインストールパッケージを軽量化し、ARリソースをロードするプロセスにおけるロードの精度と効率を向上させることができる。
1つの可能な実施形態では、前記第1電子機器の位置情報に従って、拡張現実ARリソースからローディング対象ARリソースを決定することは、
前記第1電子機器の位置情報に従って、ローディング対象範囲を決定することと、
任意のARリソースについて、前記ARリソースに対応する位置情報が前記ローディング対象範囲内にある場合、前記ARリソースがローディング対象ARリソースであると決定することと、を含み得る。
例えば、第1電子機器の位置情報を基準点として、ローディング対象範囲を決定することができる。例えば、第1電子機器の位置情報を中心点として、円形、長方形、又は多角形の領域を決定し、当該領域はローディング対象範囲であり、当該領域のサイズは、事前設定又は動的に決定することができ、本発明の実施例はこれを特に限定しない。
第2電子機器は、位置情報がローディング対象範囲内にあるARリソースをローディング対象ARリソースとして決定することができる。例えば、図4を参照すると、第1電子機器の位置情報であるP0を中心点として、円形領域をローディング対象範囲として決定できる。この場合、当該ローディング対象範囲内にあるARリソース1、ARリソース2、及びARリソース3を、目標ARリソースとして決定することができる。
1つの可能な実施形態では、前記第1電子機器の位置情報に従って、ローディング対象範囲を決定することは、
範囲構築データを決定することと、
前記第1電子機器の位置情報及び前記範囲構築データに従って、ローディング対象範囲を決定することと、を含み得る。
例えば、上記の範囲構築データは、ローディング対象範囲の領域を限定するために使用されるパラメータであり得る。例えば、ローディング対象範囲が円形領域である場合、前記範囲構築データは、円形領域の半径であり得、ローディング対象範囲が長方形である場合、前記範囲構築データは、長方形領域の長さと幅などの2つのデータを含み得る。当該範囲構築データのサイズは、事前に設定することも、ロード要件に応じて決定することもできる。例えば、より速いロード速度が必要な場合は、範囲構築データを小さく設定できる。
範囲構築データ及び前記第1電子機器の位置情報に従って、ローディング対象範囲を決定することができる。例えば、ローディング対象範囲が円形領域である場合、第1電子機器の位置であるP0を円の中心とし、範囲構築データを半径として円形領域を構築して、ローディング対象範囲を取得することができる。又は、ローディング対象範囲が長方形である場合、第1電子機器の位置であるP0を中心とし、範囲構築データを長さと幅として長方形の領域を構築して、ローディング対象範囲を取得することができる。
上記のローディング対象範囲である円形領域又は長方形領域は、本発明の実施例におけるローディング対象範囲の一例であり、実際、ローディング対象範囲は任意の形状をとることができ、本発明の実施例は、これらを限定しないことに留意されたい。
1つの可能な実施形態では、前記ポジショニング情報はさらに、前記第1電子機器のネットワーク信号品質及び/又は前記第1電子機器の移動速度を含み得、前記範囲構築データを決定することは、
ネットワーク信号品質に従って、前記ネットワーク信号品質に対応する範囲構築データを決定すること、及び/又は、
移動速度に従って、前記移動速度に対応する範囲構築データを決定すること、を含み得る。
例えば、第1電子機器がポジショニング情報を送信するとき、第1電子機器のネットワーク信号品質を検出し、及び/又は第1電子機器の移動速度(速度及び加速度などのデータを含み得る)を決定し、第1電子機器のネットワーク信号品質及び/又は第1電子機器の移動速度をポジショニング情報に含めて第2電子機器に送信することができる。
いくつかの実施例では、ネットワーク信号品質は、例えば、良好、普通、不良などの複数のレベルに分割することができる(本発明の実施例では、ネットワーク信号品質レベルの分割方式及び分割レベルを限定しない)。ここで、ネットワーク信号品質が良好である場合、対応する範囲構築データは第1範囲構築データであり、ネットワーク信号品質が普通である場合、対応する範囲構築データは第2範囲構築データであり、ネットワーク信号品質が不良である場合、対応する範囲構築データは第3範囲構築データであり、第1範囲構築データは第2範囲構築データより大きく、第2範囲構築データは第3範囲構築データより大きい。
第2電子機器は、第1電子機器のネットワーク信号品質に従って、ネットワーク信号品質に対応する範囲構築データを決定することができるので、ネットワーク信号品質が良好である場合、より広い範囲構築データを設定することができ、このようにして、ローディング対象範囲を拡大して、第1電子機器がより多くのARリソースをロードするようにする。ネットワーク信号品質が不良である場合、より小さい範囲構築データを設定することができ、このようにして、範囲を縮小して、第1電子機器がより少ないARリソースをロードするようにする。このようにして、第1電子機器は、ネットワーク信号品質に従ってARリソースを適応的にロードでき、より良いユーザ体験もたらすことができる。
いくつかの実施例では、移動速度を複数の速度範囲に分割することもできる。例えば、0~1m/sを第1速度範囲とし、1m/s~2m/sを第2速度範囲(1m/sを含まない)とし、2m/sを超える速度を第3速度範囲とする。ここで、第1速度範囲は第4範囲構築データに対応し、第2速度範囲は第5範囲構築データに対応し、第3速度範囲は第6範囲建設データに対応し、第4範囲構築データは第5範囲構築データより小さく、第5範囲構築データは第6範囲構築データより小さい。
第2電子機器は、第1電子機器の移動速度に従って、移動速度に対応する範囲構築データを決定でき、例えば、第1電子機器の移動速度が第1速度範囲内にある場合、範囲構築データは、第4範囲構築データであると決定することができる。このようにして、第1電子機器の移動速度に従って、範囲構築データを動的に決定できるので、第1電子機器の移動速度が比較的速い場合、より大きい範囲構築データを設定することができ、このようにして、ローディング対象範囲を拡大して、第1電子機器がより多くのARリソースをロードするようにする。第1電子機器の移動速度が比較的遅い場合、より小さい範囲構築データを設定することができ、このようにして、ローディング対象範囲を縮小して、第1電子機器がより少ないARリソースをロードするようにする。このようにして、ARリソースのロードプロセスは、第1電子機器の移動プロセスに適合させることができ、第1電子機器の移動速度が比較的速いために、第1電子機器が第1電子機器の所在位置のARリソースをまだロードしていないという問題を軽減し、より良いユーザ体験をもたらすことができる。
1つの可能な実施形態では、前記第1電子機器の位置情報及び前記範囲構築データに従って、前記ローディング対象範囲を決定することは、
前記第1電子機器の位置情報及び前記範囲構築データに従って、初期ローディング対象範囲を決定することと、
位置情報が前記初期ローディング対象範囲内にあるARリソースの数を決定することと、
前記ARリソースの数に従って、前記範囲構築データを調整し、調整後の範囲構築データを取得することと、
前記調整後の範囲構築データ及び前記第1電子機器の位置情報に従って、前記ローディング対象範囲を決定することと、を含み得る。
例えば、第2電子機器は、範囲構築データを決定した後、範囲構築データ及び前記第1電子機器の位置情報に従って、初期ローディング対象範囲を決定することができる。例えば、第1電子機器の位置を円心とし、範囲構築データを半径として円形の初期ローディング対象範囲を構築することができる。位置情報が当該初期ローディング対象範囲内にあるARリソースの数を決定し、位置情報が当該初期ローディング対象範囲内にあるARリソースの数が多い場合(例えば、第1閾値より大きい場合)、事前に設定された調整ポリシーに従って範囲構築データを縮小することができ、又は、位置情報が当該初期ローディング対象範囲内にあるARリソースの数が少ない場合(例えば、第2閾値より小さい場合)、事前に設定された調整ポリシーに従って範囲構築データを拡大することができ、調整後の範囲構築データ及び前記第1電子機器の位置情報に従って、ローディング対象範囲を決定することができる(具体的なプロセスについては、前述した実施例を参照することができ、ここでは繰り返して説明しない)。このようにして、第2電子機器は、ローディング対象範囲を動的に調整でき、それにより、第1電子機器によってロードされるARリソースの数を調整することにより、ロード速度を確保し、ARリソースをロードすることによるユーザの待機問題を軽減し、ユーザ体験を向上させることができる。
1つの可能な実施形態では、前記第1電子機器の位置情報に従って、拡張現実ARリソースからローディング対象ARリソースを決定することは、
各ARリソースの位置情報と前記第1電子機器の位置情報との間の距離を決定することと、
各ARリソースを距離の昇順で並び替えた後、最初のプリセット数のARリソースをローディング対象ARリソースとして決定することと、を含み得る。
例えば、各ARリソースの位置情報と前記第1電子機器の位置情報との間の距離を決定し、各ARリソースを距離の昇順で並び替えた後、シーケンス内の最初のプリセット数のARリソースをローディング対象ARリソースとして決定でき(又は、各ARリソースを距離の降順で並び替えた後、シーケンス内の最後のプリセット数のARリソースをローディング対象ARリソースとして決定できる)、当該プリセット数は、事前設定された数値であり得る。例えば、プリセット数を5に設定する場合、シーケンスの上位5つのARリソースをローディング対象ARリソースとして決定することができる。このようにして、ロード速度を確保し、ユーザ体験を向上させることができる。
当業者が本発明の実施例をよりよく理解できるようにするために、以下では、具体的な例を介して、本発明の実施例を説明する。
図5を参照すると、第1電子機器は、その所在位置の環境画像を収集し、収集した環境画像に従って、第2電子機器にポジショニング情報を送信することができる。第2電子機器は、ポジショニング情報を受信した後、第1電子機器の所在位置の環境画像に従って視覚的ポジショニングを実行して、第1電子機器の位置情報を取得することができる。第2電子機器は、範囲構築データを決定し、第1電子機器の位置情報を中心点として、ローディング対象範囲を構築することができる。ローディング対象範囲内にあるすべてのARリソースの識別情報(ARリソース名、ARリソースバージョン情報)を取得し、取得したARリソースの識別情報を、ローディング対象ARリソースの識別情報として第1電子機器に送信する。
第1電子機器は、ローディング対象ARリソースの識別情報を受信した後、それをローカルにキャッシュされたARリソースと比較し、ローディング対象ARリソースの識別情報に対応するARリソースがローカルにキャッシュされていない場合、又は、ローカルにキャッシュされたローディング対象ARリソースのバージョン情報が、前記ローディング対象ARリソースのARリソースバージョン情報と一致しない場合、当該ローディング対象ARリソースの識別情報が目標ARリソースの識別情報であると決定でき、目標ARリソースの識別情報に従って、リソース取得要求を第2電子機器に送信する。
第2電子機器は、リソース取得要求に従って目標ARリソースを取得し、第1電子機器に目標ARリソースを送信する。第1電子機器は、目標ARリソースを受信してキャッシュ及び表示し、時間周期Tの後、又は、第1電子機器が移動した距離が距離閾値を超える場合、上記のプロセスをもう一度繰り返す。
本発明の実施例によるリソースローディング方法によれば、第1電子機器の位置情報に従って、対応する目標ARリソースをロードでき、それにより、すべてのARリソースをダウンロードすることによって引き起こされる、ARアプリケーションのインストールパッケージが大きすぎるという問題が軽減される。いくつかの実施例では、ARゲームアプリケーション又はARナビゲーションアプリケーションが起動された後、ユーザは、ARゲームまたはARナビゲーションを起動するためにすべてのARリソースが更新されるのを待つ必要はなく、ゲーム中やナビゲーション中に、第1電子機器の位置情報に従って、ARリソースを段階的にロードすることができ、ユーザ体験を向上させることができる。
本発明で言及される上記の各方法の実施例は、原理と論理に違反することなく、相互に組み合わせて、組合せた実施例を形成することができ、紙数に限りがあるので、本発明の実施例では詳細な説明を省略することを理解されたい。当業者なら自明であるが、具体的な実施形態の上記方法において、各ステップの具体的な実行順序は、その機能と可能な内部ロジックによって決定されるべきである。
さらに、本発明の実施例は、リソースローディング装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラムをさらに提供し、これらはすべて、本発明で提供されるリソースローディング方法のいずれかを実現するために使用されることができ、対応する技術的解決策と説明は、方法の実施例の対応する説明を参照することができ、ここでは繰り返して説明しない。
図6は、本発明の実施例によるリソースローディング装置のブロック図であり、前記装置は第1電子機器に適用される。図6に示されるように、前記リソースローディング装置は、第2電子機器にポショニング情報を送信するように構成される送信モジュール61であって、前記ポジショニング情報は、第2電子機器が前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定し、前記第1電子機器の位置情報に従って、ローディング対象拡張現実(AR)リソースを決定するために使用される、送信モジュール61と、前記第2電子機器によって送信された前記ローディング対象ARリソースを受信し、前記ローディング対象ARリソースを対応的に表示するように構成される受信モジュール62と、を備える。
このように、第1電子機器は、第2電子機器にポジショニング情報を送信することができ、それにより、前記第2電子機器は、前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定し、前記第1電子機器の位置情報に従って、ローディング対象拡張現実(AR)リソースを決定することができ、第1電子機器は、前記第2電子機器によって送信された前記ローディング対象ARリソースを受信し、前記ローディング対象ARリソースを対応的に表示することができる。本発明の実施例によるリソースローディング装置によれば、第1電子機器の位置情報に従って、対応するロードARリソースを決定及びロードすることができるため、ARアプリケーションをダウンロードするときにすべてのARリソースをダウンロードすることによって引き起こされる、ARアプリケーションのインストールパッケージが大きすぎるという問題が軽減される。それにより、ARアプリケーションのインストールパッケージを軽量化し、ユーザーの使用に影響を与えることなく、ARアプリケーションのダウンロード及びインストールの効率を向上させることができる。
1つの可能な実施形態では、前記受信モジュールはさらに、前記第2電子機器によって送信されたローディング対象ARリソースの識別情報を受信し、前記ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定し、前記目標ARリソースの識別情報をARリソース取得要求に含めて、前記第2電子機器に前記ARリソース取得要求を送信し、ここで、前記ARリソース取得要求は、前記第2電子機器が前記ARリソース取得要求に応答して、前記目標ARリソースの識別情報に対応する目標ARリソースを取得するために使用され、前記第2電子機器によって送信された前記目標ARリソースを受信及び表示するように構成される。
1つの可能な実施形態では、前記受信モジュールはさらに、前記第2電子機器によって送信されたローディング対象ARリソースを受信し、前記ローディング対象ARリソースから目標ARリソースを決定し、前記目標ARリソースを表示するように構成される。
1つの可能な実施形態では、前記送信モジュールはさらに、以下の条件が満たされる場合、前記第2電子機器にポジショニング情報を送信するように構成され、前記条件は、時間周期において、前記第1電子機器が移動した距離が距離閾値を超えるという条件、前記時間周期において、前記第1電子機器のリアルタイム位置情報がポジショニング領域の外側にあるという条件、及び前の時間周期が終わって、新しい時間周期が開始するという条件のうちのいずれかであり、ここで、前記ポジショニング領域は、前記時間周期の初期時刻に対応する前記第1電子機器の位置情報を中心とした領域である。
1つの可能な実施形態では、前記ローディング対象ARリソースの識別情報は、ARリソース識別子及びARリソースバージョン情報を含み、前記受信モジュールはさらに、任意のローディング対象ARリソースの識別情報について、前記ARリソース識別子に対応するARリソースがローカルにキャッシュされていない場合、又は、ローカルにキャッシュされたARリソース識別子に対応するARリソースのARリソースバージョン情報が前記ARリソースバージョン情報と一致しない場合、前記ローディング対象ARリソースの識別情報が目標ARリソースの識別情報であると決定するように構成される。
1つの可能な実施形態では、前記ポジショニング情報は、第1電子機器の所在位置の環境画像を含み得、前記環境画像は、第2電子機器が環境画像に従って第1電子機器の位置情報を決定するために使用される。
図7は、本発明の実施例によるリソースローディング装置のブロック図であり、前記リソースローディング装置は第2電子機器に適用される。図7に示されるように、前記リソースローディング装置は、第1電子機器によって送信されたポジショニング情報を受信するように構成される受信モジュール71と、前記ポジショニング情報に従って第1電子機器の位置情報を決定するように構成される第1決定モジュール72と、前記第1電子機器の位置情報に従って、拡張現実ARリソースからローディング対象ARリソースを決定するように構成される第2決定モジュール73と、前記ローディング対象ARリソースを、前記ローディング対象ARリソースの表示先である前記第1電子機器に送信するように構成される送信モジュール74と、を備える。
このように、第2電子機器は、前記第1電子機器によって送信されたポジショニング情報を受信することができ、前記ポジショニング情報に従って、前記第1電子機器の位置情報を決定することができる。第2電子機器は、前記第1電子機器の位置情報に従って、拡張現実ARリソースからローディング対象ARリソースを決定して、前記第1電子機器に前記ローディング対象ARリソースを送信することができ、それにより、前記第1電子機器は、前記ローディング対象ARリソースを対応的に表示する。本発明の実施例によるリソースローディング装置によれば、第1電子機器の位置情報に従って、ARリソースを段階的にロードすることができるため、ARアプリケーションをダウンロードするときにすべてのARリソースをダウンロードすることによって引き起こされる、ARアプリケーションのインストールパッケージが大きすぎるという問題が軽減される。それにより、ARアプリケーションのインストールパッケージを軽量化し、ユーザーの使用に影響を与えることなく、ARアプリケーションのダウンロード及びインストールの効率を向上させることができる。
1つの可能な実施形態では、前記送信モジュールはさらに、前記第1電子機器に前記ローディング対象ARリソースの識別情報を送信し、ここで、前記ローディング対象ARリソースの識別情報は、前記第1電子機器が前記ローディング対象ARリソースの識別情報から目標ARリソースの識別情報を決定するために使用され、前記第1電子機器によって送信された、前記目標ARリソースの識別情報を含むARリソース取得要求を受信し、前記ARリソース取得要求に応答して、前記目標ARリソースの識別情報に対応する目標ARリソースを取得し、前記目標ARリソースを、前記目標ARリソースの表示先である前記第1電子機器に送信するように構成される。
1つの可能な実施形態では、前記第2決定モジュールはさらに、第1電子機器の位置情報に従って、ローディング対象範囲を決定し、任意のARリソースについて、前記ARリソースに対応する位置情報が前記ローディング対象範囲内にある場合、前記ARリソースがローディング対象ARリソースであると決定するように構成される。
1つの可能な実施形態では、前記第2決定モジュールはさらに、範囲構築データを決定し、前記第1電子機器の位置情報及び前記範囲構築データに従って、前記ローディング対象範囲を決定するように構成される。
1つの可能な実施形態では、前記ポジショニング情報はさらに、前記第1電子機器のネットワーク信号品質及び/又は前記第1電子機器の移動速度を含み、前記第2決定モジュールはさらに、前記ネットワーク信号品質に従って、前記ネットワーク信号品質に対応する範囲構築データを決定し、及び/又は、移動速度に従って、前記移動速度に対応する範囲構築データを決定するように構成される。
1つの可能な実施形態では、前記第2決定モジュールはさらに、前記第1電子機器の位置情報及び前記範囲構築データに従って、初期ローディング対象範囲を決定し、位置情報が前記初期ローディング対象範囲内にあるARリソースの数を決定し、前記ARリソースの数に従って、前記範囲構築データを調整し、調整後の範囲構築データを取得し、前記調整後の範囲構築データ及び前記第1電子機器の位置情報に従って、前記ローディング対象範囲を決定するように構成される。
1つの可能な実施形態では、前記第2決定モジュールはさらに、各ARリソースの位置情報と前記第1電子機器の位置情報との間の距離を決定し、各ARリソースを距離の昇順で並び替えた後、最初のプリセット数のARリソースをローディング対象ARリソースとして決定するように構成される。
1つの可能な実施形態では、前記ポジショニング情報は、前記第1電子機器の所在位置の環境画像を含み、前記第1決定モジュールはさらに、第1電子機器の所在位置の環境画像に従って、前記第1電子機器に対して視覚的ポジショニングを実行して、前記第1電子機器の位置情報を取得するように構成される。
いくつかの実施例では、本発明の実施例で提供されるリソースローディング装置に含まれる機能又はモジュールは、上記の方法の実施例で説明された方法を実行するために用いられることができ、その具体的な実現については、上記の方法の実施例の説明を参照することができ、簡潔にするために、ここでは繰り返して説明しない。
本発明の実施例は、コンピュータプログラム命令が記憶されたコンピュータ可読記憶媒体をさらに提供し、前記コンピュータプログラム命令がプロセッサにより実行されるときに、上記のリソースローディング方法を実現する。コンピュータ可読記憶媒体は、不揮発性コンピュータ可読記憶媒体であり得る。
本発明の実施例は、プロセッサと、プロセッサ実行可能な命令を記憶するように構成されるメモリとを備える、電子機器をさらに提供し、ここで、前記プロセッサは、前記メモリに記憶された命令を呼び出して実行することにより、上記のリソースローディング方法を実行するように構成される。
本発明の実施例は、コンピュータ可読コードを含むコンピュータプログラム製品をさらに提供し、コンピュータ可読コードが機器で実行されるときに、前記機器内のプロセッサに、上記の実施例のいずれかで提供されるリソースローディング方法を実現するための命令を実行させる。
本発明の実施例は、コンピュータ可読コードを含む別のコンピュータプログラム製品をさらに提供し、当該コンピュータ可読命令が実行されるときに、コンピュータに、上記の実施例のいずれかで提供されるリソースローディング方法を実行させる。
電子機器は、端末、サーバ、又は他の形の機器として提供することができる。
図8は、本発明の実施例による電子機器800を示すブロック図である。例えば、電子機器800は、携帯電話、コンピュータ、デジタル放送端末、メッセージング装置、ゲームコンソール、タブレットデバイス、医療機器、フィットネス機器、携帯情報端末などの端末であってもよい。
図8を参照すると、電子機器800は、処理コンポーネント802、メモリ804、電源コンポーネント806、マルチメディアコンポーネント808、オーディオコンポーネント810、入力/出力(I/O)インターフェース812、センサコンポーネント814、及び通信コンポーネント816のうちの1つ又は複数を含み得る。
処理コンポーネント802は通常、電子機器800の全体的な動作、例えば、表示、電話の呼び出し、データ通信、カメラ動作及び記録動作に関連する動作を制御する。処理コンポーネント802は、上記の方法のステップの全部又は一部を完了するための1つ又は複数のプロセッサ820を備えることができる。さらに、処理コンポーネント802は、処理コンポーネント802と他のコンポーネントとの間のインタラクションを容易にするための1つ又は複数のモジュールを備えることができる。例えば、処理コンポーネント802は、マルチメディアコンポーネント808と処理コンポーネント802との間のインタラクションを容易にするためのマルチメディアモジュールを含み得る。
メモリ804は、電子機器800での動作をサポートするための様々なタイプのデータを記憶するように構成される。これらのデータの例には、電子機器800で動作する任意のアプリケーション又は方法の命令、連絡先データ、電話帳データ、メッセージ、画像、ビデオなどが含まれる。メモリ804は、任意のタイプの揮発性又は不揮発性ストレージデバイス又はそれらの組み合わせによって実現でき、当該ストレージデバイスは、例えば、静的ランダムアクセスメモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク又は光ディスクなどであり得る。
電源コンポーネント806は、電子機器800の各コンポーネントに電力を供給する。電源コンポーネント806は電源管理システム、1つ又は複数の電源、及び電子機器800のための電力生成、管理及び配分に関連する他のコンポーネントを含むことができる。
マルチメディアコンポーネント808は、前記電子機器800とユーザとの間で出力インターフェースを提供する画面を含む。いくつかの実施例では、画面は液晶ディスプレイ(LCD)及びタッチパネル(TP)を含むことができる。画面がタッチパネルを含む場合、画面は、ユーザからの入力信号を受信するためのタッチスクリーンとして実現できる。タッチパネルは、タッチ、スワイプ、及びタッチパネルでのジェスチャを検知するための1つ又は複数のタッチセンサを含む。前記タッチセンサは、タッチ又はスワイプ動作の境界を感知するだけでなく、前記タッチ又はスワイプ動作に関連する持続時間と圧力も検出する。いくつかの実施例では、マルチメディアコンポーネント808は、フロンドカメラ及び/又はリアカメラを備える。電子機器800が、撮影モード又は撮像モードなどの動作モードにある場合、フロンドカメラ及び/又はリアカメラは、外部マルチメディアデータを受信することができる。各フロンドカメラ及びリアカメラは、固定光学レンズシステムであってもよいし、焦点距離及び光学ズーム機能を有するものであってもよい。
オーディオコンポーネント810は、オーディオ信号を出力及び/又は入力するように構成される。例えば、オーディオコンポーネント810は、マイクロフォン(MIC)を含み、前記マイクロフォンは、電子機器800が、呼び出しモード、記録モード、又は音声認識モードなどの動作モードにある場合、外部オーディオ信号を受信するように構成される。受信されたオーディオ信号は、メモリ804に記憶されてもよいし、通信コンポーネント816によって送信されてもよい。いくつかの実施例では、オーディオコンポーネント810は、オーディオ信号を出力するためのスピーカをさらに含む。
I/Oインターフェース812は、処理コンポーネント802と周辺インターフェースモジュールとの間のインターフェースを提供し、前記周辺インターフェースモジュールは、キーボード、クリックホイール、ボタンなどであり得る。これらのボタンは、ホームボタン、音量ボタン、スタートボタン、及びロックボタンなどを含んでもよいが、これらに限定されない。
センサコンポーネント814は、各態様の状態評価を電子機器800に提供するための1つ又は複数のセンサを含む。例えば、センサコンポーネント814は、電子機器800のオン/オフ状態及びコンポーネントの相対的な位置を検出でき、例えば、前記コンポーネントが電子機器800のディスプレイ及びキーパッドであることを検出でき、センサコンポーネント814はまた、電子機器800又は電子機器800のコンポーネントの位置の変化、ユーザと電子機器800との接触の有無、電子機器800の方位又は加速/減速、及び電子機器800の温度変化を検出できる。センサコンポーネント814は、物理的接触なしに近くの物体の存在を検出するように構成される近接センサを含み得る。センサコンポーネント814は、相補型金属酸化膜半導体(CMOS)又は電荷結合装置(CCD)画像センサなどの画像化用途で使用される光センサを含み得る。いくつかの実施例では、当該センサコンポーネント814は、さらに、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、又は温度センサを含み得る。
通信コンポーネント816は、電子機器800と他の機器との間の有線又は無線通信を実現するように構成される。電子機器800は、通信規格に基づく無線ネットワーク、例えば、無線ネットワーク(WiFi)、第2世代移動通信技術(2G)又は第3世代移動通信技術(3G)、又はそれらの組み合わせにアクセスできる。1つの例示的な実施例では、通信コンポーネント816は、放送チャネルを介して外部放送管理システムからの放送信号又は放送関連情報を受信する。1つの例示的な実施例では、前記通信コンポーネント816はさらに、近距離通信を促進させるために、近距離無線通信(NFC)モジュールを含む。例えば、NFCモジュールは、無線周波数識別(RFID)技術、赤外線データ協会(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(登録商標)(BT)技術及び他の技術に基づいて実現できる。
例示的な実施例では、電子機器800は、上記の方法を実行するための1つ又は複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ又は他の電子要素によって実現されることができる。
例示的な実施例では、コンピュータプログラム命令を含むメモリ804などの不揮発性コンピュータ可読記憶媒体をさらに提供し、前記コンピュータプログラム命令は、電子機器800のプロセッサ820によって実行されることにより、上記の方法を完了することができる。
図9は、本発明の実施例による電子機器1900を示すブロック図である。例えば、電子機器1900は、サーバとして提供することができる。図9を参照すると、電子機器1900は、1つ又は複数のプロセッサを含む処理コンポーネント1922と、処理コンポーネント1922実行可能な命令(アプリケーションなど)を記憶するためのメモリリソースを代表するメモリ1932と、を備える。メモリ1932に記憶されたアプリケーションは、それぞれが1セットの命令に対応する1つ又は複数のモジュールを含み得る。さらに、処理コンポーネント1922は、命令を実行することにより、上記の方法を実行するように構成される。
電子機器1900はさらに、電子機器1900の電力管理を実行するように構成される電源コンポーネント1926と、電子機器1900をネットワークに接続するように構成される有線又は無線ネットワークインターフェース1950と、入力/出力(I/O)インターフェース1958と、を備えることができる。電子機器1900は、メモリ1932に記憶されたオペレーティングシステム、例えば、Microsoft Serverオペレーティングシステム(Windows(登録商標) ServerTM)、Appleのグラフィカルユーザーインターフェイスオペレーティングシステム(Mac OS XTM)、マルチユーザー及びマルチプロセスのコンピューターオペレーティングシステム(Unix(登録商標))、 フリーでオープンソースのコードUnix(登録商標)ライクなオペレーティングシステム(Linux(登録商標))、オープンソースのUnix(登録商標)ライクなオペレーティングシステム(FreeBSDTM)又は類似するものに基づいて動作できる。
例示的な実施例では、コンピュータプログラム命令を含むメモリ1932などの不揮発性コンピュータ可読記憶媒体をさらに提供し、前記コンピュータプログラム命令は、電子機器1900の処理コンポーネント1922によって実行されることにより、上記の方法を完了することができる。
本発明は、システム、方法及び/又はコンピュータプログラム製品であり得る。コンピュータプログラム製品は、コンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体を含み得、当該コンピュータ可読プログラム命令は、プロセッサに、本発明の実施例の各態様を実現させるように構成される。
コンピュータ可読記憶媒体は、命令実行機器によって使用される命令を保持及び記憶することができる有形機器であり得る。コンピュータ可読記憶媒体は、例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置又は上記の任意の適当な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例(非包括的リスト)としては、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピー(登録商標)ディスク、機械的符号化装置、例えば命令が記憶されるパンチカード又はスロット内の突起構造、及び上記の任意の適当な組み合わせを含む。本明細書で使用するコンピュータ可読記憶媒体は、瞬時信号自体、例えば、無線電波又は他の自由に伝播される電磁波、導波路又は他の伝送媒体を経由して伝播される電磁波(例えば、光ファイバーケーブルを通過するパルス光)、又は電線を経由して伝送される電気信号と解釈されるものではない。
本明細書で説明するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング/処理機器にダウンロードされるか、インターネット、ローカルエリアネットワーク、広域ネットワーク及び/又は無線ネットワークなどのネットワークによって外部のコンピュータ又は外部記憶装置にダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光ファイバー伝送、無線伝送、ルーター、ファイアウォール、交換機、ゲートウェイコンピュータ及び/又はエッジサーバを含み得る。各計算/処理機器内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、他の計算/処理機器のコンピュータ可読記憶媒体への記憶のために当該コンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、C++などのオブジェクト指向プログラミング言語、及び「C」言語又は類似するプログラミング言語などの一般的な手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで書かれたソースコード又は目標コードであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータにおいて実行されてもよいし、部分的にユーザのコンピュータにおいて実行されてもよいし、スタンドアロンソフトウェアパッケージとして実行されてもよいし、部分的にユーザのコンピュータにおいてかつ部分的にリモートコンピュータにおいて実行されてもよいし、又は完全にリモートコンピュータもしくはサーバにおいて実行されてもよい。リモートコンピュータに関与する場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の種類のネットワークを経由してユーザのコンピュータに接続されてもよいし、又は、(例えばインターネットサービスプロバイダを利用してインターネットを経由して)外部コンピュータに接続されてもよい。いくつかの実施例では、コンピュータ可読プログラム命令の状態情報を利用して、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブル論理アレイ(PLA)などの電子回路をパーソナライズすることで、該電子回路はコンピュータ可読プログラム命令を実行し、それにより本発明の各態様を実現できるようになる。
ここで、本発明の実施例による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照しながら本発明の各態様を説明したが、フローチャート及び/又はブロック図の各ブロック、及びフローチャート及び/又はブロック図の各ブロックの組み合わせは、いずれもコンピュータ可読プログラム命令によって実現できることを理解されたい。
これらのコンピュータ可読プログラム命令は、機械を製造するために、共通コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサへ提供されることができ、それにより、これらの命令はコンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行され、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実現する手段を創出する。さらに、これらのコンピュータ可読プログラム命令をコンピュータ可読記憶媒体に記憶し、コンピュータ、プログラマブルデータ処理装置及び/又は他の機器が、これらの命令に応じて特定の方式で動作することができる。したがって、命令が記憶されたコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実現する命令を含む製品を備える。
さらに、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、又は他の機器にロードして、コンピュータ、他のプログラマブルデータ処理装置、又は他の機器に一連の動作ステップを実行させることにより、コンピュータ、他のプログラマブルデータ処理装置、又は他の機器でる命令を実行することで、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実現する。
添付の図面のフローチャート及びブロック図は、本発明の複数の実施例に係るシステム、方法及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び動作を示す。この点では、フローチャート又はブロック図における各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を代表することができ、前記モジュール、プログラムセグメント又は命令の一部は、指定された論理機能を実現するための1つ又は複数の実行可能な命令を含む。いくつかの代替としての実現では、ブロックでマークされた機能は、図面でマークされた順序とは異なる順序で実行できる。例えば、2つの連続的なブロックは、実際には実質的に同時に実行でき、関連する機能によっては、逆の順序で実行されることもできる。さらに、ブロック図及び/又はフローチャートにおける各ブロック、及びブロック図及び/又はフローチャートにおけるブロックの組み合わせは、指定される機能又は動作を実行するハードウェアに基づく専用システムによって実現してもよいし、又は専用ハードウェアとコンピュータ命令との組み合わせによって実現してもよいことに注意すべきである。
当該コンピュータプログラム製品は、具体的に、ハードウェア、ソフトウェア又はそれらの組み合わせの方式によって実現されることができる。1つの代替実施例では、前記コンピュータプログラム製品は、具体的には、コンピュータ記憶媒体として実現され、別の代替実施例では、コンピュータプログラム製品は、具体的には、例えば、ソフトウェア開発キット(Software Development Kit、SDK)などのソフトウェア製品として実現される。
以上、本発明の各実施例について説明したが、上記の説明は、例示的なものであり、網羅的なものではなく、本発明は、開示された各実施例に限定されない。説明された各実施例の範囲及び要旨を逸脱することなく、様々な修正及び変更は、当業者によって容易に想像し得るものである。本明細書で使用される用語は、各実施例の原理、実際の適用又は市場における技術への技術的改善を好適に解釈するためのものであるか、又は他の当業者に本明細書に開示される各実施例を理解させるためのものである。