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

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

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特表2023-513915画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム
<>
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図1
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図2
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図3
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図4
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図5
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図6
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図7
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図8
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図9
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図10
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図11
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図12
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図13
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図14
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図15
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図16
  • 特表-画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-04
(54)【発明の名称】画面更新方法、装置、コンピュータデバイス及びコンピュータプログラム
(51)【国際特許分類】
   A63F 13/525 20140101AFI20230328BHJP
   A63F 13/35 20140101ALI20230328BHJP
   A63F 13/211 20140101ALI20230328BHJP
   A63F 13/428 20140101ALI20230328BHJP
【FI】
A63F13/525
A63F13/35
A63F13/211
A63F13/428
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022549018
(86)(22)【出願日】2021-06-16
(85)【翻訳文提出日】2022-08-12
(86)【国際出願番号】 CN2021100301
(87)【国際公開番号】W WO2022022132
(87)【国際公開日】2022-02-03
(31)【優先権主張番号】202010731481.9
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.ANDROID
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲呉▼ 家平
(57)【要約】
本出願は、画面更新方法、装置、コンピュータデバイス、および記憶媒体に関する。前記方法は、端末から送信されたセンサーデータを受信し、センサーデータが端末のハードウェアセンサーにより収集されたものであることと、センサーデータを仮想センサーに書き込み、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられることと、仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することと、端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示することと、を含む。
【特許請求の範囲】
【請求項1】
サーバにより実行される画面更新方法であって、
端末から送信されたセンサーデータを受信するステップであって、前記センサーデータは、前記端末のハードウェアセンサーにより収集されたものであるステップと、
前記センサーデータを仮想センサーに書き込むステップであって、前記仮想センサーは、ハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップと、
前記端末に前記更新マルチメディアデータを返信することにより、前記端末が前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、を含むことを特徴とする画面更新方法。
【請求項2】
前記端末から送信されたセンサーデータを受信する前に、前記方法は、さらに、
前記端末から送信されたアプリケーション起動命令を受信するステップであって、前記アプリケーション起動命令には前記端末の端末識別子及びアプリケーション識別子が付けられたステップと、
前記アプリケーション起動命令に基づいて、アイドルコンテナプールから前記アプリケーション識別子に対応するターゲットコンテナを取得し、前記ターゲットコンテナを起動し、前記ターゲットコンテナと前記端末識別子とを関連付けるステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記センサーデータには前記端末識別子が付けられており、
前記端末から送信されたセンサーデータを受信するステップは、
アプリケーションプログラムエージェントにより前記端末から送信されたセンサーデータを受信し、前記端末識別子に基づいて前記センサーデータを前記ターゲットコンテナに入力するステップであって、前記ターゲットコンテナは、前記アプリケーション識別子に対応するアプリケーションプログラム、センサーサービスモジュール、仮想センサー及びアプリケーションプログラムのバックエンドを含み、前記センサーサービスモジュールは、前記センサーサービスを提供するために用いられるステップと、
前記アプリケーションプログラムのバックエンドは前記アプリケーションプログラムエージェントから入力された前記センサーデータを受信し、前記センサーデータを前記仮想センサーに書き込むために用いられるステップと、
前記アプリケーションプログラムは前記センサーサービスモジュールを呼び出して前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面をアプリケーションプログラムのバックエンドに送信するために用いられるステップと、
前記アプリケーションプログラムのバックエンドはさらに、更新されたマルチメディア画面に基づいて対応する前記更新マルチメディアデータを生成し、前記アプリケーションプログラムエージェントにより前記更新マルチメディアデータを前記端末に送信するために用いられるステップと、を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記仮想センサーは仮想センサー抽象化レイヤ及び共有メモリを含み、前記仮想センサー抽象化レイヤは仮想センサーリスト及びセンサーインタフェースを提供するために用いられ、前記共有メモリは仮想センサーデバイスを生成するために用いられることを特徴とする請求項1に記載の方法。
【請求項5】
前記端末から送信されたセンサーデータを受信する前に、前記方法は、さらに、
前記端末から送信された仮想センサー制御命令を受信するステップであって、前記仮想センサー制御命令にはセンサータイプ識別子が付けられるステップと、
前記仮想センサー制御命令に基づいて、前記仮想センサー抽象化レイヤにより前記センサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、前記ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するステップと、
前記ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、前記端末に前記ハードウェアセンサー制御命令を返信することにより、前記端末が前記現在のオンオフ状態に基づいて前記ターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うステップと、を含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記端末から送信された仮想センサー制御命令を受信した後、前記方法は、さらに、
前記仮想センサー制御命令に基づいて、前記センサーサービスにより前記仮想センサー抽象化レイヤにおけるセンサー作成関数を呼び出すステップと、
前記センサー作成関数に基づいて前記センサーインタフェース及び共有メモリを生成するステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記仮想センサー制御命令に基づいて、前記仮想センサー抽象化レイヤにより前記センサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、前記ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するステップは、
前記仮想センサーリストに前記センサータイプ識別子が含まれる場合、前記センサーサービスにより前記センサーインタフェースを呼び出して前記ターゲット仮想センサーデバイスのオンオフ状態を更新し、前記ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するステップと、
前記ターゲット仮想センサーデバイスの現在のオンオフ状態を前記共有メモリにおける現在のオンオフ状態統計リストに書き込み、前記現在のオンオフ状態統計リストには複数の仮想センサーデバイスの現在のオンオフ状態が含まれるステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項8】
前記ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、前記端末に前記ハードウェアセンサー制御命令を返信することにより、前記端末が前記現在のオンオフ状態に基づいて前記ターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うステップは、
前記共有メモリから前記現在のオンオフ状態統計リストを読み取り、対応するハードウェアセンサー制御命令を生成するステップであって、前記ハードウェアセンサー制御命令には前記現在のオンオフ状態統計リストが付けられるステップと、
前記端末に前記ハードウェアセンサー制御命令を返信することにより、前記端末が前記ハードウェアセンサー制御命令に基づいて履歴のオンオフ状態統計リストを取得し、前記履歴のオンオフ状態統計リストと現在のオンオフ状態統計リストの差異に基づいて、対応するターゲットハードウェアセンサーのオンオフ状態を更新するステップと、を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記センサーデータを仮想センサーに書き込むステップは、
前記センサーデータを前記共有メモリにおけるキューの末尾に書き込み、キューの末尾識別子を更新するステップを含み、
前記仮想センサーから前記センサーデータを読み取るステップは、
前記キューの先頭からセンサーデータを読み取り、かつキューの先頭識別子を更新するステップを含むことを特徴とする請求項4に記載の方法。
【請求項10】
前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップは、
仮想センサーに書き込まれたセンサーデータが予め設定された書き込み閾値よりも大きい場合、予め設定されたバックオフ閾値を取得するステップと、
前記予め設定されたバックオフ閾値に基づいて前記キューの先頭識別子を更新し、ターゲットキューの先頭識別子を取得するステップと、
前記キューから、前記ターゲットキューの先頭識別子と前記キューの末尾識別子との間のセンサーデータをターゲットセンサーデータとするステップと、
前記ターゲットセンサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップと、を含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップは、
パノラマ画面を取得するステップであって、前記マルチメディア画面は前記パノラマ画面における第一視点にマッチングしている画面であり、前記第一視点は現在の観察視点であるステップと、
前記センサーデータに基づいて前記第一視点を調整し、第二視点を取得するステップと、
前記パノラマ画面から前記第二視点にマッチングしている画面を確定し、対応するマルチメディア視点更新データを生成し、前記マルチメディア視点更新データを前記更新マルチメディアデータとするステップとを含み、
前記端末に前記更新マルチメディアデータを返信することにより、前記端末が前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップは、
前記端末に前記マルチメディア視点更新データを返信することにより、前記端末が前記マルチメディア視点更新データに基づいて現在の表示画面を第一視点に対応する画面から第二視点に対応する画面に切り替えるステップを含むことを特徴とする請求項1~10のいずれか1項に記載の方法。
【請求項12】
サーバにより実行される画面更新方法であって、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するステップと、
前記センサーデータをサーバに送信することにより、前記サーバがアプリケーションプログラムのバックエンドにより前記センサーデータを仮想センサーに書き込み、アプリケーションプログラムにより前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいて前記アプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、前記仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
前記サーバから返信された前記更新マルチメディアデータを受信するステップと、
前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、を含むことを特徴とする方法。
【請求項13】
画面更新装置であって、
端末から送信されたセンサーデータを受信するために用いられるものであって、前記センサーデータは前記端末のハードウェアセンサーにより収集されたものであるセンサーデータ受信モジュールと、
前記センサーデータを仮想センサーに書き込むために用いられるものであって、前記仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるセンサーデータ書き込みモジュールと、
前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するために用いられるマルチメディアデータ生成モジュールと、
前記端末に前記更新マルチメディアデータを返信することにより、前記端末が前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられるマルチメディアデータ送信モジュールとを含むことを特徴とする装置。
【請求項14】
画面更新装置であって、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するために用いられるセンサーデータ取得モジュールと、
前記センサーデータをサーバに送信することにより、前記サーバはアプリケーションプログラムのバックエンドにより前記センサーデータを仮想センサーに書き込み、アプリケーションプログラムにより前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいて前記アプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成するために用いられるものであって、前記仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるセンサーデータ送信モジュールと、
前記サーバから返信された前記更新マルチメディアデータを受信するために用いられるマルチメディアデータ受信モジュールと、
前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられるマルチメディア画面表示モジュールと、を含むことを特徴とする装置。
【請求項15】
コンピュータ読み取り可能な命令が記憶されているメモリ及び一つ又は複数のプロセッサが含まれるコンピュータデバイスであって、
前記コンピュータ読み取り可能な命令が前記一つ又は複数のプロセッサにより実行されると、前記一つ又は複数のプロセッサが請求項1~11又は12のいずれか1項に記載の方法のステップを実現することを特徴とするコンピュータデバイス。
【請求項16】
コンピュータ読み取り可能な命令が記憶されている一つ又は複数のコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な命令が一つ又は複数のプロセッサにより実行されると、請求項1~11又は12のいずれか1項に記載の方法のステップを実現することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は2020年07月27日に中国専利局に提出した、出願番号が202010731481.9であり、発明の名称が「画面更新方法、装置、コンピュータデバイス及び記憶媒体」の中国特許出願の優先権を主張し、その全ての内容は援用により本出願に結合される。
【0002】
本出願はコンピュータ技術分野に関し、特に画面更新方法、装置、コンピュータデバイス及び記憶媒体に関する。
【背景技術】
【0003】
コンピュータ技術の発展に伴い、アプリケーションプログラムは端末にインストールされて実行される必要がなく、アプリケーションプログラムがサーバに実行される。例えば、クラウドゲームはクラウドコンピューティングを基礎とするゲーム方式であり、クラウドゲームの実行モードでは、全てのゲームはサーバ側で実行され、レンダリング済みのゲーム画面を圧縮した後にネットワークを介して端末に伝送する。
【0004】
従来の技術において、端末に実行されたアプリケーションプログラムは一般的にハードウェアセンサーを使用してユーザーの動作を検出し、それにより端末表示画面の更新を実現する。例えば、端末に実行されたローカルゲームは端末上の加速度センサーによりユーザーの揺れ動作を検出することで、ゲーム画面の移動を実現する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、アプリケーションプログラムがサーバに実行され、サーバにはハードウェアセンサーがないため、ユーザーの動作を検出することで端末表示画面の更新を実現することができない。
【課題を解決するための手段】
【0006】
画面更新方法であって、
端末から送信されたセンサーデータを受信し、センサーデータは端末のハードウェアセンサーにより収集されたものであることと、
センサーデータを仮想センサーに書き込み、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられることと、
仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することと、
端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示することと、を含む。
【0007】
一実施例において、ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、端末にハードウェアセンサー制御命令を返信することにより、端末は現在のオンオフ状態に基づいてターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うことは、
共有メモリから現在のオンオフ状態統計リストを読み取り、対応するハードウェアセンサー制御命令を生成し、ハードウェアセンサー制御命令には現在のオンオフ状態統計リストが付けられることと、端末にハードウェアセンサー制御命令を返信することにより、端末はハードウェアセンサー制御命令に基づいて履歴のオンオフ状態統計リストを取得し、履歴のオンオフ状態統計リストと現在のオンオフ状態統計リストの差異に基づいて対応するターゲットハードウェアセンサーのオンオフ状態を更新することとを含む。
【0008】
画面更新装置であって、
端末から送信されたセンサーデータを受信するために用いられるものであって、センサーデータが端末のハードウェアセンサーにより収集されたものであるセンサーデータ受信モジュールと、
センサーデータを仮想センサーに書き込むために用いられるものであって、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるセンサーデータ書き込みモジュールと、
仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するために用いられるマルチメディアデータ生成モジュールと、
端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられるマルチメディアデータ送信モジュールと、を含む。
【0009】
コンピュータ読み取り可能な命令が記憶されているメモリ及びプロセッサが含まれるコンピュータデバイスであって、
前記コンピュータ読み取り可能な命令が前記プロセッサにより実行されると、
端末から送信されたセンサーデータを受信し、センサーデータが端末のハードウェアセンサーにより収集されたものであるステップと、
センサーデータを仮想センサーに書き込み、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップと、
端末に更新マルチメディアデータを返信することにより、端末が更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、が実現される。
【0010】
コンピュータ読み取り可能な命令が記憶されたコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な命令が前記プロセッサにより実行されると、
端末から送信されたセンサーデータを受信し、センサーデータが端末のハードウェアセンサーにより収集されたものであるステップと、
センサーデータを仮想センサーに書き込み、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップと、
端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、が実現される。
【0011】
画面更新方法であって、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得することと、
センサーデータをサーバに送信することにより、サーバはアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられることと、
サーバから返信された更新マルチメディアデータを受信することと、
更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示することと、を含む。
【0012】
画面更新装置であって、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するために用いられるセンサーデータ取得モジュールと、
センサーデータをサーバに送信することにより、サーバはアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成するものであって、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるセンサーデータ送信モジュールと、
サーバから返信された更新マルチメディアデータを受信するために用いられるマルチメディアデータ受信モジュールと、
更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられるマルチメディア画面表示モジュールと、を含む。
【0013】
コンピュータ読み取り可能な命令が記憶されているメモリ、及びプロセッサが含まれるコンピュータデバイスであって、
前記コンピュータ読み取り可能な命令が前記プロセッサにより実行されると、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するステップと、
センサーデータをサーバに送信することにより、サーバがアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
サーバから返信された更新マルチメディアデータを受信するステップと、
更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、が実現される。
【0014】
コンピュータ読み取り可能な命令が記憶されたコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な命令がプロセッサにより実行されると、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するステップと、
センサーデータをサーバに送信することにより、サーバはアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
サーバから返信された更新マルチメディアデータを受信するステップと、
更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、が実現される。
【0015】
コンピュータプログラム製品又はコンピュータプログラムであって、前記コンピュータプログラム製品又はコンピュータプログラムはコンピュータ読み取り可能な命令が含まれ、前記コンピュータ読み取り可能な命令はコンピュータ読み取り可能な記憶媒体に記憶され、コンピュータデバイスのプロセッサは前記コンピュータ読み取り可能な記憶媒体から前記コンピュータ読み取り可能な命令を読み取り、前記プロセッサは前記コンピュータ読み取り可能な命令を実行することにより、前記コンピュータデバイスは上記画面更新方法のステップを実行する。
【0016】
本発明の実施例における技術案をより明らかに説明するために、以下は実施例の記載にとって必要な図面を簡単に説明し、明らかに、以下の記載における図面は、本発明の実施例のみであり、当業者にとって、進歩性に値する労働をしない前提で、さらに提供された図面に応じて他の図面を取得できる。
【図面の簡単な説明】
【0017】
図1】一実施例における画面更新方法の応用環境図である。
図2】一実施例における画面更新方法のフローチャートである。
図3】一実施例における仮想センサー及びハードウェアセンサーの構造模式図である。
図4】一実施例におけるクラウドゲームの設定のインタフェース模式図である。
図5】一実施例におけるターゲットコンテナを起動するフローチャートである。
図6】一実施例における仮想センサー及びハードウェアセンサーを制御するフローチャートである。
図7】他の実施例における仮想センサー及びハードウェアセンサーを制御するフローチャートである。
図8】一実施例におけるセンサーオンオフ状態監視の原理模式図である。
図9】一実施例におけるセンサーデータ伝送の原理模式図である。
図10】一実施例におけるセンサーデータのスクリーニングのフローチャートである。
図11】一実施例における画面更新方法に対応する全体アーキテクチャ模式図である。
図12】一実施例における端末画面更新のインタフェース模式図である。
図13】他の実施例における画面更新方法のフローチャートである。
図14】一実施例における画面更新装置の構造ブロック図である。
図15】他の実施例における画面更新装置の構造ブロック図である。
図16】一実施例におけるコンピュータデバイスの内部構造図である。
図17】一実施例におけるコンピュータデバイスの内部構造図である。
【発明を実施するための形態】
【0018】
本出願の目的、技術案及び利点をより明確にするために、以下に図面及び実施例を参照して、本出願をさらに詳細に説明する。なお、ここで説明された具体的な実施例は単に本出願を解釈するためだけであり、本出願を限定するものではない。
【0019】
本出願の提供する画面更新方法は、図1に示すような応用環境に応用することができる。ここで、端末102はネットワークを介してサーバ104と通信する。端末102はローカルのハードウェアセンサーによりセンサーデータを収集し、サーバ104に送信することができる。サーバ104は、センサーデータをローカルの仮想センサーに書き込むことができる。サーバ104上の仮想センサーの構造は端末102上のハードウェアセンサーの構造に対応し、仮想センサーはセンサーサービスをサポートするために用いられることができる。サーバ104は仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することができる。サーバ104は更新マルチメディアデータを端末102に送信することができる。端末102は更新マルチメディアデータを受信した後、該更新マルチメディアデータに対応する更新マルチメディア画面をローカルに表示することができる。
【0020】
ここで、端末102は様々なパーソナルコンピュータ、ノートパソコン、スマートフォン、タブレットコンピュータ及び携帯型ウェアラブルデバイスに限定されず、サーバ104は独立したサーバ又は複数のサーバで構成されたサーバクラスタ又はクラウドサーバで実現されることができる。
【0021】
上記画面更新方法では、サーバにハードウェアセンサー構造に対応する仮想センサーが予め構築され、仮想センサーはセンサーデータを記憶しセンサーサービスをサポートするために用いられることができ、それによりクラウドサーバにアプリケーションプログラムが実行されるシーンでは、サーバにはハードウェアセンサーがなくても、仮想センサーでセンサーサービスを起動して端末のハードウェアセンサーを制御することができ、サーバは仮想センサーからユーザー操作によりトリガされ、ハードウェアセンサーにより収集され、かつ端末から送信されたセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することができ、端末は更新マルチメディアデータを受信した後、更新マルチメディアデータに対応するマルチメディア画面を表示することができ、最終的に該シーンでもハードウェアセンサーによりユーザーの端末に対する操作を検出することによりアプリケーションプログラムの端末での表示画面を更新することができることを実現する。
【0022】
クラウドゲーム(Cloud gaming)はゲームオンデマンド(gaming on demand)と呼ばれてもよく、クラウドコンピューティング技術を基礎とするオンラインゲーム技術である。クラウドゲーム技術は、グラフィック処理とデータ演算能力が相対的に限られた軽端デバイス(thinclient)が高品質のゲームを実行することができる。クラウドゲームのシーンでは、ゲームはプレーヤーのゲーム端末ではなく、クラウドサーバに実行され、かつクラウドサーバによりゲームシーンをビデオオーディオストリームにレンダリングし、ネットワークを介してプレーヤーのゲーム端末に伝送する。プレーヤーのゲーム端末は強力なグラフィック演算及びデータ処理能力を有する必要がなく、基本的なストリーミングメディア再生能力及びプレーヤーの入力命令を取得してクラウドサーバに送信する能力を有するだけでよい。
【0023】
一実施例では、図2に示すように、画面更新方法が提供され、該方法を図1のサーバに適用することを例として説明して、以下のステップを含む。
【0024】
ステップS202では、端末から送信されたセンサーデータを受信し、センサーデータは、端末のハードウェアセンサーにより収集されたものである。
【0025】
ここで、ハードウェアセンサーは端末内に配置されたハードウェアデバイスであり、データを収集するために用いられる。ハードウェアセンサーのタイプは限定されず、ジャイロセンサー、加速度センサー、重力センサー、磁場センサー、地磁気センサーなどを含む。一つの端末において、複数種類のハードウェアセンサーが配置されることが多く、異なるタイプのデータをそれぞれ収集する。
【0026】
具体的には、端末はアプリケーションクライアントにより仮想センサーのオン命令を取得し、仮想センサーのオン命令をサーバに送信することができ、仮想センサーのオン命令にはセンサータイプ識別子が付けられる。サーバは仮想センサーのオン命令を受信した後、該センサータイプ識別子に対応する仮想センサーデバイスをオンにして、対応するハードウェアセンサーのオン命令を生成することができ、ハードウェアセンサーのオン命令には該センサータイプ識別子が付けられる。端末はハードウェアセンサーのオン命令を受信した後、該センサータイプ識別子に対応するハードウェアセンサーをオンにすることができ、さらにユーザーはハードウェアセンサーにより端末のアプリケーションクライアントにおいてマルチメディア画面を切り替えることを実現することができる。例えば、カヤック系ゲームアプリケーションにおいて加速度センサーをオンにし、プレーヤーは端末上の加速度センサーによりカヤックの進行方向を制御し、さらに現在表示されているゲーム画面を切り替えることができる。旅行系地図アプリケーションにおいて加速度センサーをオンにし、ユーザーは端末上の加速度センサーにより現在表示されている観光地の画面を切り替えることができる。ハードウェアセンサーをオンにした後、端末はハードウェアセンサーによるリアルタイムに収集されたセンサーデータを取得し、サーバに送信することができる。
【0027】
ステップS204では、センサーデータを仮想センサーに書き込み、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられる。
【0028】
ここで、仮想センサーはサーバ内に配置された仮想デバイスであり、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられる。センサーサービスはサーバ上のセンサーサービスモジュールにより提供される機能であり、仮想センサーを制御するために用いられる。センサーサービスモジュールはセンサーサービスをサーバ上のセンサー管理モジュールに登録することができる。センサー管理モジュールは、センサーサービスの登録、センサーサービスの送信及びセンサーサービスの健康状態の検査に用いられる。仮想センサーは仮想センサー抽象化レイヤ及び共有メモリを含む。
【0029】
具体的には、サーバに仮想センサーが予め構築され、仮想センサーの構造は端末におけるハードウェアセンサーの構造に対応する。サーバはセンサーデータを受信した後、センサーデータを仮想センサーに書き込み、センサーデータを仮想センサーにキャッシュすることができる。続いて、サーバにおけるアプリケーションプログラム(端末上のアプリケーションプログラムに対応する)はセンサーサービスを呼び出すことにより仮想センサーからセンサーデータを読み取ることができる。
【0030】
一実施例では、仮想センサーは仮想センサー抽象化レイヤ及び共有メモリを含み、仮想センサー抽象化レイヤは仮想センサーリスト及びセンサーインタフェースを提供するために用いられ、共有メモリは仮想センサーデバイスを生成するために用いられる。
【0031】
具体的には、仮想センサーは仮想センサー抽象化レイヤ及び共有メモリを含む。仮想センサー抽象化レイヤはセンサーインタフェースを提供し、上層センサーサービスモジュールはセンサーインタフェースを呼び出すことにより仮想センサーデバイスを駆動して呼び出すことができる。仮想センサー抽象化レイヤはさらに仮想センサーリストを提供し、上層センサーサービスモジュールは仮想センサーリストを検索することにより現在サポートするセンサー種類及び対応する特性を知ることができる。サーバはある仮想センサーをオン又はオフする場合、まず仮想センサーリストに対応するセンサー種類が存在するか否かを検索し、見つけた場合に次の操作を行い、そうでなければ端末にオン失敗又はオフ失敗の通知メッセージを返信する。また、サーバは共有メモリを作成することによりハードウェアセンサーデバイスを仮想することができる。
【0032】
図3を参照し、図3は一実施例におけるハードウェアセンサーと仮想センサーの構造模式図である。図3を参照し、ハードウェアセンサーはセンサーハードウェア抽象化レイヤ(Sensor HAL)及びハードウェアセンサーデバイス(Real Sensor Device)を含む。センサーハードウェア抽象化レイヤは複数のセンサーインタフェースを提供する。仮想センサーは仮想センサーハードウェア抽象化レイヤ(Virtual Sensor HAL、即ち仮想センサー抽象化レイヤ)及び共有メモリを含む。センサーハードウェア抽象化レイヤは仮想センサーハードウェア抽象化レイヤに対応し、ハードウェアセンサーデバイスは共有メモリに対応する。同様に、仮想センサーハードウェア抽象化レイヤも複数のセンサーインタフェースを提供する。共有メモリに基づいて少なくとも一つの仮想センサーデバイス(Virtual Sensor Device)を生成することができ、例えば全ての仮想センサーデバイスが一つの共有メモリを共有することができる。センサーサービスモジュールはセンサーインタフェースを呼び出すことにより仮想センサーデバイスに対する全ての操作を行い、仮想センサー抽象化レイヤはいずれも共有メモリに対する対応する操作により実現することができる。センサーインタフェースは具体的には活性化インタフェース(activateインタフェース)、遅延設定インタフェース(setDelayインタフェース)、読み取りインタフェース(pollインタフェース)、パラメータ設定インタフェース(batchインタフェース)、クリアインタフェース(flushインタフェース)などを含んでもよい。activateインタフェースはセンサーデバイスを起動又は停止するために用いられる。setDelayインタフェースはセンサーデバイスのサンプリングレートを設定するために用いられ、初回設定時にのみ呼び出す。pollインタフェースはセンサーデータを読み取るために用いられる。batchインタフェースはセンサーデバイスのパラメータを設定するために用いられ、例えばサンプリングレート及び最大報告遅延を設定する。flushインタフェースはセンサーデータをクリアするために用いられる。このように、サーバにハードウェアセンサー構造に対応する仮想センサーが構築され、サーバにはハードウェアセンサーがなくても、仮想センサーはサーバがセンサーサービスを成功的に起動することを保証することもできる。
【0033】
ステップS206では、仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成する。
【0034】
ここで、マルチメディア画面は仮想オブジェクトの現在の観察視点で仮想環境を観察して得られた画面である。仮想環境は端末にアプリケーションプログラムが実行される場合に表示されたものであって、例えばクラウドゲームアプリケーションプログラムにおけるあるクラウドゲームのゲーム画面、旅行アプリケーションプログラムにおけるある観光地の地図画面などである。仮想オブジェクトは仮想環境における活動可能なオブジェクトであり、具体的には仮想人物、仮想動物等であってもよい。マルチメディア画面は、仮想環境における複数の環境要素に基づいてレンダリングして得られた画面である。環境要素とは仮想環境の構成要素を指し、具体的には仮想人物、仮想建物、仮想ツールなどを含むことができ、マルチメディアデータはレンダリングされたマルチメディア画面を符号化して生成されたマルチメディアデータであり、具体的にはオーディオデータ、ビデオデータ及びテキストデータなどを含んでもよい。
【0035】
具体的には、サーバはローカルのアプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、ローカルのアプリケーションプログラムによりセンサーデータに基づいて視点調整データを確定し、視点調整データに基づいて現在の該アプリケーションプログラムに対応するマルチメディア画面を更新し、更新マルチメディア画面を取得し、更新マルチメディア画面を符号化して対応する更新マルチメディアデータを取得することができる。
【0036】
一実施例では、サーバ上のアプリケーションプログラムのバックエンドはセンサーデータを仮想センサーにおける共有メモリに書き込むことができ、サーバ上のアプリケーションプログラムはセンサーサービスを呼び出して仮想センサー抽象化レイヤを介して共有メモリからセンサーデータを取得することができる。
【0037】
ステップS208では、端末に更新マルチメディアデータを返信することにより、端末が更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示する。
【0038】
具体的には、サーバは更新マルチメディアデータを端末に送信することができる。端末は更新マルチメディアデータを受信した後、更新マルチメディアデータを復号し、対応する更新マルチメディア画面を取得し、該更新マルチメディア画面を表示する。
【0039】
例を挙げて説明し、クラウドゲームのシーンでは、端末にクラウドゲームクライアントが実行され、プレーヤーはクラウドゲームクライアントでいずれのクラウドゲームを開くことができ、例えば射撃ゲームであり、さらにクラウドゲームサーバはローカルに該クラウドゲームに対応するアプリケーションプログラムが実行される。図4を参照し、図4は一実施例におけるゲーム配置インタフェースのインタフェース模式図である。プレーヤーは射撃ゲームのゲーム配置インタフェースにおいてジャイロセンサーをオンにするためのボタンをトリガすることができ、図4における領域402に示すとおりである。さらに、クラウドゲームサーバは対応する仮想ジャイロセンサーをオンにすることができ、さらに端末は対応するハードウェアジャイロセンサーをオンにすることができる。プレーヤーは端末を移動させることにより射撃時の観察視点を制御することができる。プレーヤーが端末を移動させると、端末上のハードウェアジャイロセンサーは対応するセンサーデータを収集し、センサーデータをクラウドゲームサーバに送信することができる。クラウドゲームサーバはセンサーデータを受信した後、センサーデータを仮想センサーに書き込むことができる。クラウドゲームサーバ上の射撃ゲームアプリケーションプログラムは仮想センサーからセンサーデータを読み取り、センサーデータに基づいて射撃視点を調整し、射撃画面を更新し、対応する更新マルチメディアデータを生成することができる。クラウドゲームクライアントはクラウドゲームサーバから返信された更新マルチメディアデータを受信し、該更新マルチメディアデータに対応する更新射撃画面を表示することができる。このように、従来の技術においてプレーヤーは指でスクリーンにタッチすることにより射撃視点及び射撃画面を切り替える必要があることに対し、本出願において、プレーヤーは端末を移動させることにより射撃視点及び射撃画面の切り替えを実現することができ、かつプレーヤーは指でスクリーンにタッチして射撃操作を行うだけでよく、スクリーンに他のタッチ操作を行うことにより射撃視点の切り替えを実現する必要がなく、このように銃器を移動させることにより射撃視点を調整し、指を引くことにより射撃する実際の射撃シーンに近づく。
【0040】
上記画面更新方法では、端末から送信されたセンサーデータを受信し、センサーデータが端末のハードウェアセンサーにより収集されたものであり、センサーデータを仮想センサーに書き込み、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられ、仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成し、端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示する。このように、サーバにハードウェアセンサー構造に対応する仮想センサーが予め構築され、仮想センサーはセンサーデータを記憶しセンサーサービスをサポートするために用いられることができ、それによりクラウドサーバにアプリケーションプログラムが実行されるシーンでは、サーバにはハードウェアセンサーがなくても、仮想センサーでセンサーサービスを起動して端末のハードウェアセンサーを制御することができ、サーバは仮想センサーからユーザー操作によりトリガされ、ハードウェアセンサーにより収集され、かつ端末から送信されたセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することができ、端末は更新マルチメディアデータを受信した後、更新マルチメディアデータに対応するマルチメディア画面を表示することができ、最終的に該シーンでもハードウェアセンサーによりユーザーの端末に対する操作を検出することによりアプリケーションプログラムの端末での表示画面を更新することができることを実現する。
【0041】
一実施例では、図5に示すように、端末から送信されたセンサーデータを受信する前に、画面更新方法はさらに以下を含む。
【0042】
ステップS502では、端末から送信されたアプリケーション起動命令を受信し、アプリケーション起動命令には端末の端末識別子及びアプリケーション識別子が付けられる。
【0043】
ステップS504では、アプリケーション起動命令に基づいて、アイドルコンテナプールからアプリケーション識別子に対応するターゲットコンテナを取得し、ターゲットコンテナを起動し、ターゲットコンテナと端末識別子とを関連付ける。
【0044】
ここで、アプリケーション起動命令はサーバに配置されたターゲットコンテナを起動するために用いられ、ターゲットコンテナ内にアプリケーションプログラムが配置される。サーバに少なくとも一つのコンテナが配置されることができ、オペレーティングシステムがコンテナに実行され、アプリケーションプログラムがオペレーティングシステムに実行される。一つのコンテナに一つのアプリケーションプログラムがインストールされ、異なるコンテナにインストールされたアプリケーションプログラムは同じであってもよく異なってもよく、サーバはコンテナにおけるアプリケーションプログラムのアプリケーション識別子と該コンテナとを関連付けることができる。コンテナの実行状態に応じてサーバ上のコンテナをアイドルコンテナとサービスコンテナに分けることができる。コンテナの実行状態は、アイドル状態とサービス状態とを含む。コンテナがアイドル状態にある場合、該コンテナが実行されていなく、端末に割り当てられてアプリケーションプログラムを実行せず、該コンテナはアイドルコンテナであることを示す。コンテナがサービス状態にある場合、該コンテナが実行中であり、端末に割り当てられてアプリケーションプログラムを実行し、該コンテナはサービスコンテナであることを示す。アイドルコンテナプールは少なくとも一つのアイドルコンテナを含む。
【0045】
具体的には、端末にアプリケーションクライアントが実行されることができ、アプリケーションクライアントはサーバが現在インストールと実行をサポートするアプリケーションリストを表示することができ、アプリケーションリストにアプリケーション識別子、アプリケーションスコア、アプリケーション紹介などの情報を表示することができ、ユーザーが各アプリケーションプログラムを基本的に理解しやすい。端末はユーザーによるアプリケーションリストのいずれかのアプリケーションプログラムに作用するトリガ操作を受信することができ、該トリガ操作に基づいてアプリケーション起動命令を生成し、アプリケーション起動命令には端末の端末識別子及びユーザーによりトリガされたアプリケーションプログラムのアプリケーション識別子が付けられる。端末はアプリケーション起動命令をサーバに送信し、サーバはアプリケーション起動命令を受信した後、該端末に対応するターゲットコンテナを割り当てることができる。具体的には、サーバは、ターゲットコンテナとしてアプリケーション起動命令に基づいてアイドルコンテナプールにおいて該アプリケーション識別子に関連するアイドルコンテナを検索して、該ターゲットコンテナを起動して実行し、ターゲットコンテナと端末識別子とを関連付け、それにより該ターゲットコンテナを該端末に割り当ててサービスを行うことができる。ターゲットコンテナを起動した後、マルチメディア画面をリアルタイムに生成し、マルチメディア画面に対応するマルチメディアデータを端末にリアルタイムに伝送することができ、端末上のアプリケーションクライアントはマルチメディアデータに基づいて対応するマルチメディア画面を表示することができる。
【0046】
例を挙げて説明すると、端末上のアプリケーションクライアントはクラウドゲームクライアントであり、クラウドゲームクライアントは射撃系クラウドゲーム、格闘系ゲーム、運転系クラウドゲームを表示する。ユーザーはクラウドゲームクライアントで運転系クラウドゲームをクリックすることができ、さらにクラウドゲームサーバは該端末に対して運転系クラウドゲームに対応するターゲットコンテナを割り当てて実行することができ、それにより端末に運転系クラウドゲームに対応するゲーム画面を表示することができる。ここで、トリガ操作は具体的にはタッチ操作、カーソル操作、キー操作又は音声操作であってもよい。
【0047】
本実施例では、アプリケーションプログラムをサーバのコンテナにインストールし、サーバのコンテナによりアプリケーションプログラムを実行し、それによりユーザーは端末にアプリケーションプログラムをインストールする必要がなく、さらに端末の記憶リソースを効果的に節約する。
【0048】
一実施例では、端末から送信された端末識別子が付けられたセンサーデータを受信することは、アプリケーションプログラムエージェントにより端末から送信されたセンサーデータを受信し、端末識別子に基づいてセンサーデータをターゲットコンテナに入力し、ターゲットコンテナがアプリケーション識別子に対応するアプリケーションプログラム、センサーサービスモジュール、仮想センサー及びアプリケーションプログラムのバックエンドを含み、センサーサービスモジュールがセンサーサービスを提供するために用いられることと、アプリケーションプログラムのバックエンドはアプリケーションプログラムエージェントから入力されたセンサーデータを受信し、センサーデータを仮想センサーに書き込むために用いられることと、アプリケーションプログラムはセンサーサービスモジュールを呼び出して仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面をアプリケーションプログラムのバックエンドに送信するために用いられることと、アプリケーションプログラムのバックエンドはさらに、更新されたマルチメディア画面に基づいて対応する更新マルチメディアデータを生成し、アプリケーションプログラムエージェントにより更新マルチメディアデータを端末に送信するために用いられることと、を含む。
【0049】
具体的には、サーバはアプリケーションプログラムエージェント及びターゲットコンテナを含み、ターゲットコンテナはアプリケーションプログラム、センサーサービスモジュール、仮想センサー及びアプリケーションプログラムのバックエンドを含む。アプリケーションプログラム及び仮想センサーはセンサーサービスモジュールによりデータ伝送を行い、ターゲットコンテナ及びアプリケーションプログラムエージェントはアプリケーションプログラムのバックエンドによりデータ伝送を行い、ターゲットコンテナ及び端末はアプリケーションプログラムエージェントによりデータ伝送を行う。アプリケーションプログラムエージェントは端末から送信されたセンサーデータを受信し、センサーデータをターゲットコンテナに入力することができる。アプリケーションプログラムエージェントは具体的にはセンサーデータをターゲットコンテナにおけるアプリケーションプログラムのバックエンドに入力することができる。アプリケーションプログラムのバックエンドはセンサーデータを仮想センサーに書き込み、センサーデータを仮想センサーにキャッシュする。アプリケーションプログラムはセンサーサービスモジュールを呼び出して仮想センサーからセンサーデータを読み取ることができ、アプリケーションプログラムはセンサーデータに基づいてマルチメディア画面を更新し、更新マルチメディア画面を取得し、更新マルチメディア画面をアプリケーションプログラムのバックエンドに送信することができ、アプリケーションプログラムのバックエンドは更新マルチメディア画面を符号化して更新マルチメディアデータを取得し、更新マルチメディアデータをアプリケーションプログラムエージェントに送信する。アプリケーションプログラムエージェントは更新マルチメディアデータを端末に送信する。
【0050】
一実施例では、アプリケーションプログラムエージェントと端末はwebrtc(Web Real-Time Communication、ウェブページリアルタイム通信)技術に基づいてデータ伝送を行う。アプリケーションプログラムエージェントはwebrtcのデータチャネルにより端末から送信されたセンサーデータを受信することができる。アプリケーションプログラムエージェントはwebrtcのビデオチャネルにより端末に更新マルチメディアデータを送信することができる。さらに、アプリケーションプログラムエージェントは更新マルチメディアデータをデータ圧縮し、圧縮された更新マルチメディアデータを端末に送信し、それによりネットワーク伝送のデータ量を低減し、データ伝送の速度を向上させることができる。
【0051】
本実施例では、アプリケーションプログラム、センサーサービスモジュール、仮想センサー、アプリケーションプログラムのバックエンド、アプリケーションプログラムエージェントと端末との間の協働により、サーバと端末との間にデータ伝送を規則的に行うことを保証することができる。
【0052】
一実施例では、図6に示すように、端末から送信されたセンサーデータを受信する前に、画面更新方法はさらに以下を含む。
【0053】
ステップS602では、端末から送信された仮想センサー制御命令を受信し、仮想センサー制御命令にはセンサータイプ識別子が付けられる。
【0054】
ここで、仮想センサー制御命令は仮想センサーデバイスのオンオフ状態を制御するためであり、具体的には仮想センサーデバイスをオンにするためであってもよく、仮想センサーデバイスをオフにするためであってもよい。センサータイプ識別子は識別子であり、センサータイプを一意に識別するために用いられ、具体的には数字、アルファベット、文字のうちの少なくとも一種を含んでもよい。
【0055】
具体的には、端末はアプリケーションプログラムの配置インタフェースを表示することができ、アプリケーションプログラムの配置インタフェースにセンサー制御動作をトリガするためのコントロールが表示され、例えば加速度センサーのオン又はオフを制御するコントロールである。ユーザーによる該コントロールに作用するトリガ操作を検出すると、端末は該コントロールに対応するセンサータイプ識別子に基づいて仮想センサー制御命令を生成し、仮想センサー制御命令をサーバに送信する。一実施例では、端末は仮想センサー制御命令をサーバ上のアプリケーションプログラムエージェント、アプリケーションプログラムのバックエンドによりターゲットコンテナにおけるアプリケーションプログラムに送信することができる。
【0056】
ステップS604では、仮想センサー制御命令に基づいて、仮想センサー抽象化レイヤによりセンサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得する。
【0057】
ここで、オンオフ状態はオン状態及びオフ状態を含む。オン状態とオフ状態とは、互いに排他的な状態である。現在のオンオフ状態とは、ターゲット仮想センサーデバイスにより更新されたオンオフ状態である。
【0058】
具体的には、サーバは仮想センサー制御命令を受信した後、仮想センサー抽象化レイヤによりセンサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を元のオフ状態から排他的なオン状態に変更するか、又は、センサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を元のオン状態から排他的なオフ状態に変更することができる。もちろん、仮想センサー制御命令には具体的な制御タイプが付けられることもでき、制御タイプはオン又はオフを含む。サーバは仮想センサー制御命令を受信した後、制御タイプに基づいてターゲット仮想センサーデバイスのオンオフ状態を変更し、例えば、制御タイプはオンであり、ターゲット仮想センサーデバイスの元のオンオフ状態がオフ状態である場合、サーバはターゲット仮想センサーデバイスのオンオフ状態をオン状態に変更し、ターゲット仮想センサーデバイスの元のオンオフ状態がオン状態である場合、ターゲット仮想センサーデバイスのオンオフ状態をオン状態に維持する。一実施例では、ターゲットコンテナにおけるアプリケーションプログラムは仮想センサー制御命令を受信した後、仮想センサー抽象化レイヤによりセンサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得する。
【0059】
ステップS606では、ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、端末にハードウェアセンサー制御命令を返信することにより、端末が現在のオンオフ状態に基づいてターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行う。
【0060】
ここで、ハードウェアセンサー制御命令はハードウェアセンサーデバイスのオンオフ状態を制御するためであり、具体的にはハードウェアセンサーデバイスをオンにするためであってもよく、ハードウェアセンサーデバイスをオフにするためであってもよい。
【0061】
具体的には、ターゲット仮想センサーデバイスのオンオフ状態の更新が完了した後、サーバはターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、端末に送信する。端末はハードウェアセンサー制御命令を受信した後、ターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーのオンオフ状態をターゲット仮想センサーデバイスの現在のオンオフ状態と一致するように変更する。例えば、仮想加速度センサーデバイスの現在のオンオフ状態がオン状態である場合、ハードウェアセンサー制御命令は端末に対してハードウェア加速度センサーのオンオフ状態をオン状態に変更するように指示するために用いられ、即ち、ハードウェア加速度センサーをオンにする。一実施例では、サーバ上のアプリケーションプログラムのバックエンドはターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、アプリケーションプログラムエージェントにより端末にハードウェアセンサー制御命令を返信する。
【0062】
本実施例では、端末から送信された仮想センサー制御命令はサーバに対して対応するターゲット仮想センサーデバイスのオンオフ状態を更新するように指示することができ、それによりサーバローカルの仮想センサーデバイスをオン又はオフにすることを実現し、サーバがターゲット仮想センサーデバイスの現在のオンオフ状態に基づいて生成されたハードウェアセンサー制御命令は、端末に対してターゲット仮想センサーデバイスに対応するターゲット物理センサーのオンオフ状態を更新するように指示することができ、それにより端末ローカルのハードウェアセンサーをオンにする又はオフにすることを実現し、最終的に仮想センサーデバイスと対応する物理センサーは状態同期を実現し、端末とサーバとの間でセンサーデータを伝送しやすい。
【0063】
一実施例では、端末から送信された仮想センサー制御命令を受信した後、画面更新方法は、さらに、仮想センサー制御命令に基づいて、センサーサービスにより仮想センサー抽象化レイヤにおけるセンサー作成関数を呼び出すことと、センサー作成関数に基づいてセンサーインタフェース及び共有メモリを生成することとを含む。
【0064】
具体的には、仮想センサー抽象化レイヤにおいてセンサー作成関数が定義され、センサー作成関数はセンサーインタフェース及び共有メモリを生成するために用いられる。ターゲットコンテナにおけるアプリケーションプログラムが初めて仮想センサー制御命令を受信すると、アプリケーションプログラムはセンサーサービスによりセンサー作成関数を呼び出し、センサー作成関数に基づいて各センサーインタフェースを生成し、センサー作成関数に基づいて共有メモリを生成して仮想センサーデバイスを実現する。続いて、アプリケーションプログラムはセンサーサービスによりactivateインタフェースを呼び出して対応する仮想センサーデバイスをオン又はオフにすることができ、センサーサービスによりpollインタフェースを呼び出してセンサーデータを読み取ることができる。
【0065】
一実施例では、仮想センサー抽象化レイヤにおけるsensors_module_mothods構造体はopen_sensors関数(センサー作成関数)が定義される。ターゲットコンテナにおけるアプリケーションプログラムがセンサーサービスによりopen関数を呼び出す場合、sensors_module_mothodsにおけるopen_sensors関数を呼び出し、open_sensors関数によりセンサーインタフェースを作成し、open_sensors関数によりlinux標準インタフェースに基づいて共有メモリ(/dev/shm/sensors)を作成する。
【0066】
一実施例では、図7に示すように、仮想センサー制御命令に基づいて、仮想センサー抽象化レイヤによりセンサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得することは、以下を含む。
【0067】
ステップS604Aでは、仮想センサーリストにセンサータイプ識別子が含まれる場合、センサーサービスによりセンサーインタフェースを呼び出してターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得する。
【0068】
具体的には、サーバは仮想センサー制御命令を受信した後、センサーサービスを呼び出して仮想センサー抽象化レイヤの仮想センサーリストにおいて該センサータイプ識別子が存在するか否かを検索することができる。該センサータイプ識別子が存在する場合、サーバが該センサータイプ識別子に対応するターゲット仮想センサーデバイスを現在的にサポートすることを確定する。それにより、サーバはセンサーサービスによりセンサーインタフェースを呼び出してターゲット仮想センサーデバイスのオンオフ状態を更新することができ、すなわちサーバ上のセンサーサービスモジュールはセンサーインタフェース(activateインタフェース)を呼び出してターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得することができる。例えば、オンオフ状態がオン状態とオフ状態のみであるため、0はオフ状態を表し、1はオン状態を表してもよい。仮想センサー制御命令がターゲット仮想センサーデバイスのオンを制御するために用いられると、サーバはターゲット仮想センサーデバイスのオンオフ状態を1で表すことができる。一実施例では、ターゲットコンテナにおけるアプリケーションプログラムはセンサーサービスを呼び出すことにより、センサーサービスモジュールがセンサーインタフェースを呼び出してターゲット仮想センサーデバイスのオンオフ状態を更新するように指示する。
【0069】
ステップS604Bでは、ターゲット仮想センサーデバイスの現在のオンオフ状態を共有メモリにおける現在のオンオフ状態統計リストに書き込み、現在のオンオフ状態統計リストは複数の仮想センサーデバイスの現在のオンオフ状態が含まれる。
【0070】
具体的には、サーバはターゲット仮想センサーデバイスの現在のオンオフ状態を共有メモリにおける現在のオンオフ状態統計リストに書き込み、すなわちターゲット仮想センサーデバイスの現在のオンオフ状態を共有メモリにおける現在のオンオフ状態統計リストに保存することができる。現在のオンオフ状態統計リストは複数の仮想センサーデバイスの現在のオンオフ状態を含み、現在のオンオフ状態統計リストを検索することにより各仮想センサーデバイスが現在オン状態であるかオフ状態であるかをタイムリーに知ることができる。
【0071】
本実施例では、仮想センサーリストにセンサータイプ識別子が含まれる場合、サーバはターゲット仮想センサーデバイスに対するオンオフ状態更新操作を実行し、オンオフ状態更新操作の有効性を保証することができる。ターゲット仮想センサーデバイスの現在のオンオフ状態を共有メモリにおける現在のオンオフ状態統計リストに書き込み、後続の端末がターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーを正確に識別して制御することを容易にする。
【0072】
一実施例では、図7に示すように、ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、端末にハードウェアセンサー制御命令を返信することにより、端末が現在のオンオフ状態に基づいてターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うことは、以下を含む。
【0073】
ステップS606Aでは、共有メモリから現在のオンオフ状態統計リストを読み取り、対応するハードウェアセンサー制御命令を生成し、ハードウェアセンサー制御命令には現在のオンオフ状態統計リストが付けられる。
【0074】
ステップS606Bでは、端末にハードウェアセンサー制御命令を返信することにより、端末がハードウェアセンサー制御命令に基づいて履歴のオンオフ状態統計リストを取得し、履歴のオンオフ状態統計リストと現在のオンオフ状態統計リストの差異に基づいて対応するターゲットハードウェアセンサーのオンオフ状態を更新する。
【0075】
ここで、現在のオンオフ状態統計リストは最新に生成されたオンオフ状態統計リストである。履歴のオンオフ状態統計リストとは、前回生成されたオンオフ状態統計リストである。端末はオンオフ状態統計リストが付けられたハードウェアセンサー制御命令を受信するたびに、オンオフ状態統計リストをローカルに保存する。
【0076】
具体的には、サーバは共有メモリにおけるオンオフ状態統計リストをリアルタイムに監視することができる。サーバは仮想センサー制御命令に基づいてターゲット仮想センサーデバイスのオンオフ状態を更新することによりオンオフ状態統計リストが変化する場合、サーバは共有メモリから現在のオンオフ状態統計リストを読み取り、現在のオンオフ状態統計リストが付けられたハードウェアセンサー制御命令を生成し、ハードウェアセンサー制御命令を端末に送信することができる。端末はハードウェアセンサー制御命令を受信した後、現在のオンオフ状態統計リストをローカルに保存し、ローカルに前回保存された履歴のオンオフ状態統計リストを取得し、現在のオンオフ状態統計リスト及び履歴のオンオフ状態統計リストを照合すればターゲット仮想センサーデバイスのオンオフ状態が変化するか否か、及びターゲット仮想センサーデバイスの現在のオンオフ状態を確定することができる。リストの情報の照合に基づいてターゲット仮想センサーデバイスのオンオフ状態が変化すると発見すれば、端末はターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーのオンオフ状態をターゲット仮想センサーデバイスの現在のオンオフ状態と一致するように変更することができる。端末はセンサータイプ識別子に基づいてターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーを確定することができ、ターゲット仮想センサーデバイスとターゲットハードウェアセンサーはセンサータイプ識別子が一致する。
【0077】
一実施例では、ターゲットコンテナにおけるアプリケーションプログラムはactivateインタフェースにより指定されたセンサーの現在のオンオフ状態を取得し、共有メモリにおける一つの32ビットの変数startedSensorsに保存することができ、startedSensorsうち各ビットの変数は一つのセンサーを表し、0はオフを表し、1はオンを表す。図8を参照し、サーバ上のアプリケーションプログラムのバックエンドは仮想センサー抽象化レイヤによりstartedSensorsにおける各センサーのオンオフ状態の変化をリアルタイムに監視することができる。startedSensorsが変化すると監視すると、サーバ上のアプリケーションプログラムのバックエンドはstartedSensors変数をsocketプロトコルによりサーバ上のアプリケーションプログラムエージェントに送信し、さらにアプリケーションプログラムエージェントを介して端末に送信し、端末はstartedSensorsを受信した後に、前回保存されたstartedSensorsと比較し、比較結果に基づいて各センサーのオンオフ状態の変化を確定し、例えば0から1になり、又は1から0になり、さらに端末は対応するハードウェアセンサーをオン又はオフにする。端末はstartedSensorsに基づいてmSensorNum及びmSensorsを確定することができ、mSensorNumは端末による受信されたオンにしようとするセンサーの個数であり、mSensors数組はオンにする必要があるセンサーの種類を保存し、端末はAndroid SDKのregisterListener関数によりこれらのセンサーをオンにすることができる。Android SDKのonSensorChangedコールバック関数においてセンサーデータを取得し、かつwebrtcのデータチャネルを介してサーバ上のアプリケーションプログラムエージェントに送信し、アプリケーションプログラムエージェントはさらにセンサーデータをsocketによりアプリケーションプログラムのバックエンドに伝送し、アプリケーションプログラムのバックエンドは受信されたセンサーデータを共有メモリにおけるキューに書き込み、仮想センサーハードウェア抽象化レイヤによりキューから読み取りアプリケーションプログラムに送信する。
【0078】
本実施例では、現在のオンオフ状態統計リストが付けられたハードウェアセンサー制御命令を生成し、端末に送信することにより、端末は履歴のオンオフ状態統計リストと現在のオンオフ状態統計リストとの差異に基づいて対応するターゲットハードウェアセンサーのオンオフ状態を正確に更新することができる。
【0079】
一実施例では、センサーデータを仮想センサーに書き込むことは、センサーデータを共有メモリにおけるキューの末尾に書き込み、かつキューの末尾識別子を更新することを含む。仮想センサーからセンサーデータを読み取ることは、キューの先頭からセンサーデータを読み取り、かつキューの先頭識別子を更新することを含む。
【0080】
具体的には、仮想センサー抽象化レイヤ及びアプリケーションプログラムのバックエンドは共有メモリによりセンサーデータの伝送を行い、具体的には共有メモリにセンサーデータを記憶するための一つのキューを作成し、キューは先入れ先出しの原則に従う。サーバ上のアプリケーションプログラムのバックエンドは端末から送信された一本のセンサーデータを取得するたびに、それを共有メモリにおけるキューの末尾に書き込み、キューの末尾ポインタを更新し、すなわちキューの末尾識別子を更新する。ターゲットコンテナにおけるアプリケーションプログラムはセンサーサービスにより仮想センサー抽象化レイヤのpollインタフェースを呼び出して共有メモリにおけるキューの先頭から対応するセンサーデータを読み取り、キューの先頭ポインタを更新し、すなわちキューの先頭識別子を更新する。
【0081】
図9を参照し、仮想センサーハードウェア抽象化レイヤとアプリケーションプログラムのバックエンドは、共有メモリ(/dev/shm/sensors)によりセンサーデータ(sensors_event_t)伝送を行う。共有メモリに一つのキューを作成し、アプリケーションプログラムのバックエンドは端末から一本のセンサーデータを取得し、それをキューの末尾(tail)に書き込み、かつtailポインタを更新し、tail=(tail+1)%(Queue Length)。ここでQueue Lengthはキューの長さである。かつ共有メモリにintタイプ変数mLastWrapCntを導入し、tailポインタがheadポインタを超えることによる巻回の回数を記録する。同時に、仮想センサー抽象化レイヤはキューの先頭(head)から対応するセンサーデータを読み取りかつheadポインタを更新し、head=(head+1)%(Queue Length)。
【0082】
本実施例では、キューによりセンサーデータを記憶し、一本のセンサーデータを書き込むたびにキューの末尾識別子を更新し、一本のセンサーデータを読み取るたびにキューの先頭識別子を更新し、それによりセンサーデータの書き込み及び読み取りの秩序性を保証することができ、同時に、キューの先頭識別子及びキューの末尾識別子は後続の迅速な確定及び最新記憶されたセンサーデータの読み取りに役立つ。
【0083】
一実施例では、図10に示すように、仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することは、以下を含む。
【0084】
ステップS1002では、仮想センサーに書き込まれたセンサーデータが予め設定された書き込み閾値よりも大きい場合、予め設定されたバックオフ閾値を取得する。
【0085】
ステップS1004では、予め設定されたバックオフ閾値に基づいてキューの先頭識別子を更新し、ターゲットキューの先頭識別子を取得する。
【0086】
ステップS1006では、キューから、ターゲットキューの先頭識別子とキューの末尾識別子との間のセンサーデータをターゲットセンサーデータとする。
【0087】
ステップS1008では、ターゲットセンサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成する。
【0088】
具体的には、ネットワークが常に正常である場合、センサーデータの読み取り速度と書き込み速度は基本的に一致し、このようにサーバは常に最新のセンサーデータに基づいてマルチメディア画面を更新することができ、それによりユーザーの端末に対する最新の移動操作にタイムリーに応答し、端末に画面の正確な切り替えをタイムリーに実現する。しかし、ネットワークに一時的な異常が発生されることによる端末とサーバが一時的に接続を切断する場合、ハードウェアセンサーによるリアルタイムに収集されたセンサーデータが端末に堆積される。ネットワークが正常に回復すると、端末は堆積されたセンサーデータを共にサーバに送信し、サーバ上のアプリケーションプログラムのバックエンドは堆積されたセンサーデータを共に共有メモリのキューに書き込む。それにより、サーバ上のアプリケーションプログラムはまず古いセンサーデータを読み取る必要があり、まず古いセンサーデータに基づいてマルチメディア画面を更新し、それによりユーザーの端末に対する最新の移動操作に対する遅延応答を引き起こし、端末に画面の正確な切り替えをタイムリーに実現することができない。仮想センサーに書き込まれたセンサーデータが予め設定された書き込み閾値より大きい場合、センサーデータの書き込み速度が読み取り速度より大きいことを示し、この場合にサーバ上のアプリケーションプログラムは予め設定されたバックオフ閾値を取得することができ、予め設定されたバックオフ閾値に基づいてキューの先頭識別子をバックオフさせ、ターゲットキューの先頭識別子を取得する。サーバ上のアプリケーションプログラムはpollインタフェースを呼び出してキューからターゲットキューの先頭識別子とキューの末尾識別子との間のセンサーデータをターゲットセンサーデータとして読み取り、すなわちキューから最新に書き込まれた予め設定されたバックオフ閾値数のセンサーデータを読み取り、最新に書き込まれたターゲットセンサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成する。ここで、予め設定されたバックオフ閾値は実際の需要に応じてカスタマイズすることができる。
【0089】
一実施例では、head==tailの場合、二種類の状況があり、一つの状況について、キューがアイドルであり、仮想センサーハードウェア抽象化レイヤの読み取りがブロックされ、睡眠を行い、アプリケーションプログラムのバックエンドがデータを書き込むことを待ち、一般的にサーバによるアプリケーションプログラムの実行開始直後に現れ、もう一つの状況について、アプリケーションプログラムのバックエンドによる書き込みが速すぎることにより、tailポインタがheadポインタを超えて巻回することを引き起こし、この場合にアプリケーションプログラムのバックエンドはmLastWrapCnt変数に1を加算することにより、巻回の回数に1を加算することを示す。巻回の場合に、仮想センサーの抽象化レイヤの読み取り速度がアプリケーションプログラムのバックエンドの書き込み速度より遅いことを示す。端末はネットワークの上りジッタが発生されることにより送信されたセンサーデータの遅延ジッタを引き起こす場合に、センサーデータは端末に数十本堆積される可能性があり、そして、堆積された数十本のセンサーデータがアプリケーションプログラムのバックエンドに瞬時に送信され、アプリケーションプログラムのバックエンドによりキューに書き込み、それによりtailポインタがheadポインタを超えて巻回することを引き起こす。このとき、仮想センサー抽象化レイヤは最新に書き込まれたセンサーデータを読み取るべきである。したがって、headポインタに予め設定されたバックオフ閾値をバックさせることにより、仮想センサー抽象化レイヤは最新に書き込まれたセンサーデータを読み取り、例えばheadポインタに10をバックさせ、仮想センサー抽象化レイヤは最新に書き込まれた10本のセンサーデータを読み取り、それにより読み取りが遅すぎることによる古いセンサーデータを常に読み取って画面切替遅延を発生することを回避する。また、後続の新たに書き込まれたデータは元の位置に記憶された古いデータを自動的にカバーする。
【0090】
本実施例では、センサーデータの書き込み速度が読み取り速度より大きい場合、予め設定されたバックオフ閾値を取得し、予め設定されたバックオフ閾値に基づいてキューの先頭識別子を調整し、最新に書き込まれたセンサーデータを迅速に読み取ることを保証することができ、それにより画面をタイムリーかつ正確に切り替えることを保証する。
【0091】
一実施例では、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することは、パノラマ画面を取得し、マルチメディア画面はパノラマ画面における第一視点にマッチングしている画面であり、第一視点は現在の観察視点であることと、センサーデータに基づいて第一視点を調整し、第二視点を取得することと、パノラマ画面から第二視点にマッチングしている画面を確定し、対応するマルチメディア視点更新データを生成し、マルチメディア視点更新データを更新マルチメディアデータとすることとを含む。端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示することは、端末にマルチメディア視点更新データを返信することにより、端末はマルチメディア視点更新データに基づいて現在の表示画面を第一視点に対応する画面から第二視点に対応する画面に切り替えることを含む。
【0092】
ここで、パノラマ画面は仮想オブジェクトが仮想環境を360度観察して得られた画面である。マルチメディア画面はハードウェアセンサーをオンにした後にユーザーが端末の空間での状態を変更する前に、端末が現在表示する画面であって、仮想オブジェクトが現在の観察視点(第一視点)で仮想環境を観察して得られた画面である。例えば、兵士ゲームキャラクタが現在の位置で真北方向に向かって観察して得られた画面である。マルチメディア視点更新データは視点更新された更新マルチメディア画面に対応する更新マルチメディアデータを指す。
【0093】
具体的には、センサーデータにはタイムスタンプが付けられ、サーバはローカル又は他のサーバから該タイムスタンプに対応するパノラマ画面を取得することができる。例えば、アプリケーションプログラムが旅行アプリケーションである場合、サーバはローカルから仮想オブジェクトによる現在の時刻で観光地Aを360度観察して得られたパノラマ画面を取得することができる。アプリケーションプログラムがクラウドゲームアプリケーションである場合、サーバはゲームサーバから仮想オブジェクトによる現在時刻で周囲のゲーム環境を360度観察して得られたパノラマ画面を取得することができる。サーバはセンサーデータを分析し、端末の移動方向及び移動角度を確定し、端末の移動方向及び移動角度に基づいて第一視点を調整し、第二視点を取得する。サーバはパノラマ画面から現在位置での仮想オブジェクトによる第二視点で仮想環境を観察して得られた画面を確定し、対応するマルチメディア視点更新データを生成し、マルチメディア視点更新データを更新マルチメディアデータとして端末に送信することができる。端末はマルチメディア視点更新データを受信した後、マルチメディア視点更新データに基づいて現在の表示画面を第一視点に対応する画面から第二視点に対応する画面に切り替えることができる。例えば、ユーザーが空間で端末を回転させる操作に基づいて、兵士ゲームキャラクタの観察視点は真北方向から真東方向に段階的に調整され、端末は表示画面に対応する真北方向に対応する画面を正東方向に対応する画面に段階的に切り替える。このように、ユーザーがスクリーンでクリック又はドラッグの操作を行うことにより端末表示画面の切り替えを実現する必要がある従来の技術に比べて、本実施において、ユーザーは簡単に端末を移動するだけで端末表示画面の切り替えを実現することができ、ユーザー操作を簡略化し、利便性を向上させる。
【0094】
図11を参照し、図11は画面更新方法に対応する全体アーキテクチャ模式図である。クラウドゲームを例として説明し、図11に示すように、クラウドゲームサーバにターゲットコンテナ(Androidコンテナ)が実行され、ターゲットコンテナにおけるオペレーティングシステムがAndroidシステムである。ターゲットコンテナはクラウドゲームアプリケーションプログラム(Game App)、センサー管理モジュール(Sensor Manager)、センサーサービスモジュール(Sensor Service)、仮想センサー及びクラウドゲームのバックエンドを含む。仮想センサーは、仮想センサー抽象化レイヤ(Vritual Sensor HAL)と、仮想センサーデバイス(Vritual Sensor Device)とを含む。ハードウェアセンサー構造に対応する仮想センサーを構築することによりクラウドゲームアプリケーションプログラムがセンサーサービスを成功的に起動することを確保することができる。クラウドゲームサーバはさらにクラウドゲームエージェントを含む。クラウドゲームサーバと端末はネットワークを介して通信し、クラウドゲームサーバとゲームサーバはネットワークを介して通信する。
【0095】
1、クラウドゲームを起動する
【0096】
クラウドゲームエージェントは端末から送信されたクラウドゲームの起動命令を受信し、クラウドゲームの起動命令にはクラウドゲーム識別子が付けられる。クラウドゲームサーバはクラウドゲームの起動命令に基づいてクラウドゲーム識別子に対応するターゲットコンテナを実行し、ターゲットコンテナにクラウドゲーム識別子に対応するクラウドゲームアプリケーションプログラムがインストールされる。
【0097】
2、仮想センサーデバイス及びハードウェアセンサーをオンにする
【0098】
クラウドゲームエージェントは端末から送信された仮想センサーのオン命令を受信し、仮想センサーのオン命令にはジャイロセンサーのセンサータイプ識別子が付けられる。クラウドゲームエージェントは仮想センサーのオン命令をクラウドゲームのバックエンドによりクラウドゲームアプリケーションプログラムに送信する。クラウドゲームアプリケーションプログラムはセンサー管理モジュールによりセンサーサービスモジュールを呼び出し、センサーサービスモジュールにより仮想センサー抽象化レイヤが提供するセンサー作成関数を呼び出し、センサー作成関数に基づいて各センサーインタフェース及び共有メモリを生成し、共有メモリにより少なくとも一つの仮想センサーデバイスを生成し、共有メモリにセンサーデータを記憶するためのキューが作成される。さらに、クラウドゲームアプリケーションプログラムは仮想センサー抽象化レイヤで提供されるactivateインタフェースを呼び出して仮想ジャイロセンサーデバイスをオンにして、仮想センサー抽象化レイヤにより仮想ジャイロセンサーデバイスのオン状態を共有メモリにおける32ビットの変数startedSensorsに保存し、ここで各ビットは一つのセンサーを表し、0はオフを表し、1はオンを表す。クラウドゲームのバックエンドはstartedSensorsが変化することを監視すると、startedSensors変数をsocketによりクラウドゲームエージェントに送信し、さらにクラウドゲームエージェントを介して端末に送信する。端末は該startedSensorsを受信した後、前回保存されたstartedSensorsと比較し、比較結果に基づいて対応するハードウェアジャイロセンサーをオンにする。
【0099】
3、センサーデータを伝送する
【0100】
端末上のハードウェアジャイロセンサーは、ユーザーが端末の空間での状態を変更することによって生成されたセンサーデータを収集する。クラウドゲームのバックエンドがクラウドゲームエージェントにより端末から取得した各センサーデータは時間順序に従って共有メモリにおけるキューの末尾(tail)に順に書き込まれ、かつtailポインタを更新し、tail=(tail+1)%(Queue Length)。ここで、Queue Lengthはキューの長さである。かつ共有メモリにintタイプ変数mLastWrapCntを導入し、tailポインタがheadポインタを超えることによる巻回の回数を記録する。クラウドゲームアプリケーションプログラムは仮想センサー抽象化レイヤで提供されるpollインタフェースを呼び出すことによりキューの先頭(head)からセンサーデータを読み取り、headポインタを更新し、head=(head+1)%(Queue Length)。tailポインタ、headポインタ及びmLastWrapCntに基づいて巻回が発生されると判断する場合、クラウドゲームアプリケーションプログラムはheadポインタに予め設定されたバックオフ閾値をバックさせることにより、クラウドゲームアプリケーションプログラムは最新に書き込まれた予め設定されたバックオフ閾値数のセンサーデータを読み取ることができる。
【0101】
4、視点及び画面を切り替える
【0102】
クラウドゲームアプリケーションプログラムはゲームサーバからパノラマ画面と現在の観察視点(第一視点)に対応するマルチメディア画面を取得し、読み取られたセンサーデータに基づいて第一視点を調整し、第二視点を取得し、パノラマ画面から第一視点に対応する更新マルチメディア画面を確定し、更新マルチメディア画面をクラウドゲームのバックエンドに送信する。クラウドゲームのバックエンドは更新マルチメディア画面を符号化して対応する更新マルチメディアデータを取得し、更新マルチメディアデータをクラウドゲームエージェントに送信する。クラウドゲームエージェントは更新マルチメディアデータを端末に送信する。端末は更新マルチメディアデータを受信した後、対応する更新マルチメディア画面を復号して表示する。
【0103】
図12を参照し、ユーザーは端末1200を手で持ち、端末1200に射撃系ゲームのゲーム画面が表示される。ユーザーは既にゲーム配置インタフェースにジャイロセンサーをオンにした。ユーザーが端末の空間での状態を変更する前に、該端末にマルチメディア画面1210が表示される。マルチメディア画面1210は仮想オブジェクト1211が第一視点で仮想環境を観察して得られたゲーム画面であり、マルチメディア画面1210にターゲットオブジェクト1212が含まれる。ユーザーが端末の空間での状態を変更する場合、例えば端末に一定の角度を回転させるように制御する場合、端末1200は画面をマルチメディア画面1210から更新マルチメディア画面1220に切り替える。更新マルチメディア画面1220は仮想オブジェクト1211が第二視点で仮想環境を観察して得られたゲーム画面であり、マルチメディア画面1220にターゲットオブジェクト1212が含まれる。仮想オブジェクト1211の観察視点が変化するため、ターゲットオブジェクト1212のゲーム画面での表示位置も対応して変化する。
【0104】
一実施例では、図13に示すように、画面更新方法を提供し、該方法を図1における端末に適用することを例として説明し、以下のステップを含む。
【0105】
ステップS1302では、ローカルのハードウェアセンサーにより収集されたセンサーデータを取得する。
【0106】
具体的には、端末にアプリケーションクライアントが実行されることができ、アプリケーションクライアントはサーバが現在インストールと実行をサポートするアプリケーションリストを表示することができる。端末はユーザーによるアプリケーションリストのいずれかのアプリケーションプログラムに作用するトリガ操作を受信することができ、該トリガ操作に基づいてアプリケーション起動命令を生成し、アプリケーション起動命令はサーバに対して該アプリケーションプログラムが配置されたアイドルコンテナを実行するように指示するために用いられる。それにより、端末はサーバから送信された該アプリケーションプログラムに対応するアプリケーション画面を表示することができる。端末はアプリケーション画面においてユーザーによるセンサー配置に対するトリガ操作に基づいて仮想センサーのオン命令を生成し、仮想センサーのオン命令をサーバに送信することができ、仮想センサーのオン命令にはセンサータイプ識別子が付けられる。サーバは仮想センサーのオン命令を受信した後、該センサータイプ識別子に対応する仮想センサーデバイスをオンにし、対応するハードウェアセンサーのオン命令を生成することができ、ハードウェアセンサーのオン命令には該センサータイプ識別子が付けられる。端末はハードウェアセンサーのオン命令を受信した後、該センサータイプ識別子に対応するハードウェアセンサーをオンにすることができる。その後、ユーザーが端末の空間での状態を変更する場合、ハードウェアセンサーは対応するセンサーデータを収集することができる。
【0107】
ステップS1304では、センサーデータをサーバに送信することにより、サーバはアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられる。
【0108】
具体的には、端末はセンサーデータをサーバに送信することができる。サーバにハードウェアセンサー構造に対応する仮想センサーが予め構築され、仮想センサーはサーバがセンサーサービスを起動することを補助することができる。サーバはさらにアプリケーションプログラム及びアプリケーションプログラムのバックエンドを含む。サーバはセンサーデータを受信した後、アプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、センサーデータを仮想センサーにキャッシュすることができる。サーバにおけるアプリケーションプログラムはセンサーサービスを呼び出して仮想センサーからセンサーデータを読み取り、センサーデータに基づいて視点調整データを確定し、視点調整データに基づいて現在の観察視点に対応するマルチメディア画面を更新することができる。サーバにおけるアプリケーションプログラムは更新されたマルチメディア画面をサーバにおけるアプリケーションプログラムのバックエンドに送信し、アプリケーションプログラムのバックエンドが更新されたマルチメディア画面に基づいてターゲット観察視点に対応する更新マルチメディアデータを生成する。ターゲット観察視点は、視点調整データに基づいて、現在の観察視点が調整されたものである。
【0109】
理解されるように、サーバがデータ処理を行う具体的な過程は前記各関連実施例に記載の方法を参照することができ、ここでは説明を省略する。
【0110】
ステップS1306では、サーバから返信された更新マルチメディアデータを受信する。
【0111】
ステップS1308では、更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示する。
【0112】
具体的には、端末はサーバから返信された更新マルチメディアデータを受信し、更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示することができる。このように、ユーザーが端末の空間での状態を変更することによる生成されたセンサーデータに基づいて視点調整を実現することができ、端末に視点調整されたアプリケーション画面を表示する。
【0113】
上記画面更新方法において、ローカルのハードウェアセンサーにより収集されたセンサーデータを取得することと、センサーデータをサーバに送信することにより、サーバはアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられることと、サーバから返信された更新マルチメディアデータを受信することと、更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示することとを含む。このように、サーバにハードウェアセンサー構造に対応する仮想センサーが予め構築され、仮想センサーはセンサーデータを記憶しセンサーサービスをサポートするために用いられることができ、それによりクラウドサーバにアプリケーションプログラムが実行されるシーンでは、サーバにはハードウェアセンサーがなくても、仮想センサーでセンサーサービスを起動して端末のハードウェアセンサーを制御することができ、サーバは仮想センサーからユーザー操作によりトリガされ、ハードウェアセンサーにより収集され、かつ端末から送信されたセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成することができ、端末は更新マルチメディアデータを受信した後、更新マルチメディアデータに対応するマルチメディア画面を表示することができ、最終的に該シーンでもハードウェアセンサーによりユーザーの端末に対する操作を検出することによりアプリケーションプログラムの端末での表示画面を更新することができることを実現する。
【0114】
理解されるように、上記フローチャートにおける各ステップは矢印の指示に応じて順次表示されるが、これらのステップは必ずしも矢印の指示の順序に応じて順次実行される必要はない。本明細書に明確な説明がない限り、これらのステップの実行は厳密な順序に限定されず、これらのステップは他の順序で実行されてもよい。また、上記フローチャートにおける少なくとも一部のステップは複数のステップ又は複数の段階を含むことができ、これらのステップ又は段階は必ずしも同じタイミングで実行して完了するとは限らず、異なるタイミングで実行されてもよく、これらのステップ又は段階の実行順序も必ずしも順次行われるとは限らず、他のステップ又は他のステップにおけるステップ又は段階の少なくとも一部と順番に又は交互に実行されてもよい。
【0115】
実施例において、図14に示すように、画面更新装置を提供し、該装置はソフトウェアモジュール又はハードウェアモジュールを採用することができ、又は両者の組み合わせはコンピュータデバイスの一部となり、該装置は具体的に、センサーデータ受信モジュール1402、センサーデータ書き込みモジュール1404、マルチメディアデータ生成モジュール1406及びマルチメディアデータ送信モジュール1408を含み、ここで、
センサーデータ受信モジュール1402は、端末から送信されたセンサーデータを受信するために用いられ、センサーデータが端末のハードウェアセンサーにより収集されたものであり、
センサーデータ書き込みモジュール1404は、センサーデータを仮想センサーに書き込むために用いられ、仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられ、
マルチメディアデータ生成モジュール1406は、仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するために用いられ、
マルチメディアデータ送信モジュール1408は、端末に更新マルチメディアデータを返信することにより、端末は更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられる。
【0116】
一実施例では、画面更新装置はさらに、
端末から送信されたアプリケーション起動命令を受信するために用いられるものであって、アプリケーション起動命令には端末の端末識別子及びアプリケーション識別子が付けられる第一命令受信モジュールと、
アプリケーション起動命令に基づいて、アイドルコンテナプールからアプリケーション識別子に対応するターゲットコンテナを取得し、ターゲットコンテナを起動し、ターゲットコンテナと端末識別子が関連付けられるために用いられる第一命令処理モジュールとを含む。
【0117】
一実施例では、センサーデータには前記端末識別子が付けられ、センサーデータ受信モジュールはさらに、アプリケーションプログラムエージェントにより端末から送信されたセンサーデータを受信し、端末識別子に基づいてセンサーデータをターゲットコンテナに入力するために用いられる。ターゲットコンテナがアプリケーションプログラム、センサーサービスモジュール、仮想センサー及びアプリケーションプログラムのバックエンドを含み、センサーサービスモジュールがセンサーサービスを提供するために用いられる。アプリケーションプログラムのバックエンドはアプリケーションプログラムエージェントから入力されたセンサーデータを受信し、センサーデータを仮想センサーに書き込むために用いられる。アプリケーションプログラムは、センサーサービスモジュールを呼び出して仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面をアプリケーションプログラムのバックエンドに送信するために用いられる。アプリケーションプログラムのバックエンドはさらに、更新されたマルチメディア画面に基づいて対応する更新マルチメディアデータを生成し、アプリケーションプログラムエージェントにより更新マルチメディアデータを端末に送信するために用いられる。
【0118】
一実施例では、仮想センサーは仮想センサー抽象化レイヤ及び共有メモリが含まれ、仮想センサー抽象化レイヤは仮想センサーリスト及びセンサーインタフェースを提供するために用いられ、共有メモリは仮想センサーデバイスを生成するために用いられる。
【0119】
一実施例では、画面更新装置はさらに、
端末から送信された仮想センサー制御命令を受信するために用いられ、仮想センサー制御命令にはセンサータイプ識別子が付けられる第二命令受信モジュールと、
仮想センサー制御命令に基づいて、仮想センサー抽象化レイヤによりセンサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するために用いられる第二命令処理モジュールと、
ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、端末にハードウェアセンサー制御命令を返信することにより、端末は現在のオンオフ状態に基づいてターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うために用いられる命令送信モジュールと、を含む。
【0120】
一実施例では、第二命令処理モジュールはさらに、仮想センサー制御命令に基づいて、センサーサービスにより仮想センサー抽象化レイヤにおけるセンサー作成関数を呼び出し、センサー作成関数に基づいてセンサーインタフェース及び共有メモリを生成するために用いられる
【0121】
一実施例では、第二命令処理モジュールはさらに、仮想センサーリストにセンサータイプ識別子が含まれる場合、センサーサービスによりセンサーインタフェースを呼び出してターゲット仮想センサーデバイスのオンオフ状態を更新し、ターゲット仮想センサーデバイスの現在のオンオフ状態を取得し、ターゲット仮想センサーデバイスの現在のオンオフ状態を共有メモリにおける現在のオンオフ状態統計リストに書き込み、現在のオンオフ状態統計リストに複数の仮想センサーデバイスの現在のオンオフ状態が含まれるために用いられる。
【0122】
一実施例では、命令送信モジュールはさらに、共有メモリから現在のオンオフ状態統計リストを読み取り、対応するハードウェアセンサー制御命令を生成し、ハードウェアセンサー制御命令には現在のオンオフ状態統計リストが付けられ、端末にハードウェアセンサー制御命令を返信することにより、端末はハードウェアセンサー制御命令に基づいて履歴のオンオフ状態統計リストを取得し、履歴のオンオフ状態統計リストと現在のオンオフ状態統計リストの差異に基づいて対応するターゲットハードウェアセンサーのオンオフ状態を更新するために用いられる。
【0123】
一実施例では、センサーデータ書き込みモジュールはさらに、センサーデータを共有メモリにおけるキューの末尾に書き込み、かつキューの末尾識別子を更新するために用いられる。マルチメディアデータ生成モジュールはさらに、キューの先頭からセンサーデータを読み取り、かつキューの先頭識別子を更新するために用いられる。
【0124】
一実施例では、マルチメディアデータ生成モジュールはさらに、仮想センサーに書き込まれたセンサーデータが予め設定された書き込み閾値より大きい場合、予め設定されたバックオフ閾値を取得し、予め設定されたバックオフ閾値に基づいてキューの先頭識別子を更新し、ターゲットキューの先頭識別子を取得し、キューから、ターゲットキューの先頭識別子とキューの末尾識別子との間のセンサーデータをターゲットセンサーデータとし、ターゲットセンサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するために用いられる。
【0125】
一実施例では、マルチメディアデータ生成モジュールはさらに、パノラマ画面を取得し、マルチメディア画面はパノラマ画面における第一視点にマッチングしている画面であり、第一視点は現在の観察視点であり、センサーデータに基づいて第一視点を調整し、第二視点を取得し、パノラマ画面から第二視点にマッチングしている画面を確定し、対応するマルチメディア視点更新データを生成し、マルチメディア視点更新データを更新マルチメディアデータとするために用いられる。マルチメディアデータ送信モジュールはさらに、端末にマルチメディア視点更新データを返信することにより、端末はマルチメディア視点更新データに基づいて現在の表示画面を第一視点に対応する画面から第二視点に対応する画面に切り替えるために用いられる。
【0126】
一実施例では、図15に示すように、画面更新装置を提供し、該装置はソフトウェアモジュール又はハードウェアモジュールを採用することができ、又は両者の組み合わせはコンピュータデバイスの一部となり、該装置は具体的に、センサーデータ取得モジュール1502、センサーデータ送信モジュール1504、マルチメディアデータ受信モジュール1506及びマルチメディア画面表示モジュール1508を含み、ここで、
センサーデータ取得モジュール1502は、ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するために用いられ、
センサーデータ送信モジュール1504は、センサーデータをサーバに送信することにより、サーバはアプリケーションプログラムのバックエンドによりセンサーデータを仮想センサーに書き込み、アプリケーションプログラムにより仮想センサーからセンサーデータを読み取り、センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいてアプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成するために用いられ、仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられ、
マルチメディアデータ受信モジュール1506は、サーバから返信された更新マルチメディアデータを受信するために用いられ、
マルチメディア画面表示モジュール1508は、更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられる。
【0127】
画面更新装置の具体的な限定については上記の画面更新方法に対する限定を参照することができ、ここでは説明を省略する。上記画面更新装置における各モジュールは、全部又は一部がソフトウェア、ハードウェア及びその組み合わせによって実現されることができる。上記各モジュールはハードウェアの形式でコンピュータデバイスにおけるプロセッサに埋め込まれ又は独立してもよく、ソフトウェアの形式でコンピュータデバイスにおけるメモリに記憶されてもよく、プロセッサが以上の各モジュールに対応する操作を呼び出して実行しやすい。
【0128】
一実施例では、コンピュータデバイスを提供し、該コンピュータデバイスはサーバであってもよく、その内部構造図は図16に示すとおりである。該コンピュータデバイスはシステムバスを介して接続されたプロセッサ、メモリ及びネットワークインタフェースを含む。ここで、該コンピュータデバイスのプロセッサは計算及び制御能力を提供するために用いられる。このコンピュータデバイスのメモリは、不揮発性記憶媒体と、内部メモリとを含む。該不揮発性記憶媒体は、オペレーティングシステム、コンピュータ読み取り可能な命令、及びデータベースが記憶される。該内部メモリは不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータ読み取り可能な命令の実行ための環境を提供する。該コンピュータデバイスのデータベースは、複数のコンテナやセンサーデータ等を記憶するためのものである。該コンピュータデバイスのネットワークインタフェースは、外部の端末とネットワークを介して通信するためのものである。該コンピュータ読み取り可能な命令はプロセッサにより実行されると、画面更新方法を実現する。
【0129】
一実施例では、コンピュータデバイスを提供し、該コンピュータデバイスは端末であってもよく、その内部構造図は図17に示すとおりである。該コンピュータデバイスはシステムバスを介して接続されたプロセッサ、メモリ、通信インタフェース、表示画面及び入力装置を含む。ここで、該コンピュータデバイスのプロセッサは計算及び制御能力を提供するために用いられる。該コンピュータデバイスのメモリは、不揮発性記憶媒体と、内部メモリとを含む。該不揮発性記憶媒体は、オペレーティングシステムおよびコンピュータ読み取り可能な命令が記憶される。該内部メモリは不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータ読み取り可能な命令の実行ための環境を提供する。該コンピュータデバイスの通信インタフェースは外部の端末と有線又は無線方式の通信を行うために用いられ、無線方式はWIFI、事業者ネットワーク、NFC(近距離通信)又は他の技術により実現することができる。該コンピュータ読み取り可能な命令はプロセッサにより実行されると、画面更新方法を実現する。該コンピュータデバイスの表示画面は液晶表示画面又は電子インク表示画面であってもよく、該コンピュータデバイスの入力装置は表示画面にカバーされたタッチ層であってもよく、コンピュータデバイスの筐体に設置されたキー、トラックボール又はタッチパッドであってもよく、外部に接続されたキーボード、タッチパッド又はマウス等であってもよい。
【0130】
当業者であれば理解されるように、図16図17に示される構造は、本出願の技術案に関連する部分的な構造のブロック図だけであり、本出願の技術案が適用されるコンピュータデバイスを限定するものではなく、具体的なコンピュータデバイスは図に示されるものより多い又はより少ない部品を含むことができ、又はいくつかの部品を組み合わせ、又は異なる部品配置を有する。
【0131】
一実施例では、コンピュータ読み取り可能な命令が記憶されたメモリ及び一つ又は複数のプロセッサが含まれるコンピュータデバイスをさらに提供し、コンピュータ読み取り可能な命令が一つ又は複数のプロセッサにより実行されると、上記各方法の実施例におけるステップが実現される。
【0132】
一実施例では、コンピュータ読み取り可能な命令が記憶された一つ又は複数の不揮発性コンピュータ読み取り可能な記憶媒体を提供し、該コンピュータ読み取り可能な命令が一つ又は複数のプロセッサにより実行されると、上記各方法の実施例におけるステップが実現される。
【0133】
一実施例では、コンピュータ読み取り可能な命令が含まれるコンピュータプログラム製品又はコンピュータプログラムを提供し、該コンピュータ読み取り可能な命令はコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータデバイスのプロセッサはコンピュータ読み取り可能な記憶媒体から該コンピュータ読み取り可能な命令を読み取り、プロセッサは該コンピュータ読み取り可能な命令を実行することにより、該コンピュータデバイスは上記各方法実施例におけるステップを実行する。
【0134】
当業者であれば、上記実施例方法における全部又は一部のフローを実現することは、コンピュータ読み取り可能な命令により関連するハードウェアを命令して完了することができると理解することができ、前記コンピュータ読み取り可能な命令は不揮発性コンピュータ読み取り可能な記憶媒体に記憶することができ、該コンピュータ読み取り可能な命令は実行されると、上記各方法の実施例のフローを含むことができる。ここで、本出願が提供する各実施例において使用されるメモリ、記憶、データベース又は他の媒体に対する任意の引用は、いずれも不揮発性及び揮発性メモリのうちの少なくとも一方を含むことができる。不揮発性メモリはリードオンリメモリ(Read-Only Memory、ROM)、磁気テープ、フロッピーディスク、フラッシュメモリ又は光メモリなどを含むことができる。揮発性メモリは、ランダムアクセスメモリ(Random Access Memory、RAM)または外部キャッシュメモリを含むことができる。限定ではなく説明として、RAMは様々な形式であってもよく、例えばスタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)又はダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)などである。
【0135】
以上の実施例の各技術的特徴は任意の組み合わせを行うことができ、説明を簡潔にするために、上記実施例における各技術的特徴の全ての可能な組み合わせを説明しないが、これらの技術的特徴の組み合わせに矛盾がない限り、いずれも本明細書に記載の範囲であると考えられるべきである。
【0136】
以上に記載の実施例は本出願のいくつかの実施形態のみを示し、その説明は具体的で詳細であるが、本発明の特許範囲を限定するものと理解すべきではない。当業者にとって、本出願の構想から逸脱することなく、さらにいくつかの変形及び改良を行うことができ、これらはいずれも本出願の保護範囲に属する。したがって、本出願の特許の保護範囲は添付の特許請求の範囲を基準とすべきである。
【符号の説明】
【0137】
1402 センサーデータ受信モジュール
1404 センサーデータ書き込みモジュール
1406 マルチメディアデータ生成モジュール
1408 マルチメディアデータ送信モジュール
1502 センサーデータ取得モジュール
1504 センサーデータ送信モジュール
1506 マルチメディアデータ受信モジュール
1508 マルチメディア画面表示モジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
【手続補正書】
【提出日】2022-08-12
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
サーバにより実行される画面更新方法であって、
端末から送信されたセンサーデータを受信するステップであって、前記センサーデータは、前記端末のハードウェアセンサーにより収集されたものであるステップと、
前記センサーデータを仮想センサーに書き込むステップであって、前記仮想センサーは、ハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップと、
前記端末に前記更新マルチメディアデータを返信することにより、前記端末が前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、を含むことを特徴とする画面更新方法。
【請求項2】
前記端末から送信されたセンサーデータを受信する前に、前記方法は、さらに、
前記端末から送信されたアプリケーション起動命令を受信するステップであって、前記アプリケーション起動命令には前記端末の端末識別子及びアプリケーション識別子が付けられたステップと、
前記アプリケーション起動命令に基づいて、アイドルコンテナプールから前記アプリケーション識別子に対応するターゲットコンテナを取得し、前記ターゲットコンテナを起動し、前記ターゲットコンテナと前記端末識別子とを関連付けるステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記センサーデータには前記端末識別子が付けられており、
前記端末から送信されたセンサーデータを受信するステップは、
アプリケーションプログラムエージェントにより前記端末から送信されたセンサーデータを受信し、前記端末識別子に基づいて前記センサーデータを前記ターゲットコンテナに入力するステップであって、前記ターゲットコンテナは、前記アプリケーション識別子に対応するアプリケーションプログラム、センサーサービスモジュール、仮想センサー及びアプリケーションプログラムのバックエンドを含み、前記センサーサービスモジュールは、前記センサーサービスを提供するために用いられるステップと、
前記アプリケーションプログラムのバックエンドは前記アプリケーションプログラムエージェントから入力された前記センサーデータを受信し、前記センサーデータを前記仮想センサーに書き込むために用いられるステップと、
前記アプリケーションプログラムは前記センサーサービスモジュールを呼び出して前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面をアプリケーションプログラムのバックエンドに送信するために用いられるステップと、
前記アプリケーションプログラムのバックエンドはさらに、更新されたマルチメディア画面に基づいて対応する前記更新マルチメディアデータを生成し、前記アプリケーションプログラムエージェントにより前記更新マルチメディアデータを前記端末に送信するために用いられるステップと、を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記仮想センサーは仮想センサー抽象化レイヤ及び共有メモリを含み、前記仮想センサー抽象化レイヤは仮想センサーリスト及びセンサーインタフェースを提供するために用いられ、前記共有メモリは仮想センサーデバイスを生成するために用いられることを特徴とする請求項1に記載の方法。
【請求項5】
前記端末から送信されたセンサーデータを受信する前に、前記方法は、さらに、
前記端末から送信された仮想センサー制御命令を受信するステップであって、前記仮想センサー制御命令にはセンサータイプ識別子が付けられるステップと、
前記仮想センサー制御命令に基づいて、前記仮想センサー抽象化レイヤにより前記センサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、前記ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するステップと、
前記ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、前記端末に前記ハードウェアセンサー制御命令を返信することにより、前記端末が前記現在のオンオフ状態に基づいて前記ターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うステップと、を含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記端末から送信された仮想センサー制御命令を受信した後、前記方法は、さらに、
前記仮想センサー制御命令に基づいて、前記センサーサービスにより前記仮想センサー抽象化レイヤにおけるセンサー作成関数を呼び出すステップと、
前記センサー作成関数に基づいて前記センサーインタフェース及び共有メモリを生成するステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記仮想センサー制御命令に基づいて、前記仮想センサー抽象化レイヤにより前記センサータイプ識別子に対応するターゲット仮想センサーデバイスのオンオフ状態を更新し、前記ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するステップは、
前記仮想センサーリストに前記センサータイプ識別子が含まれる場合、前記センサーサービスにより前記センサーインタフェースを呼び出して前記ターゲット仮想センサーデバイスのオンオフ状態を更新し、前記ターゲット仮想センサーデバイスの現在のオンオフ状態を取得するステップと、
前記ターゲット仮想センサーデバイスの現在のオンオフ状態を前記共有メモリにおける現在のオンオフ状態統計リストに書き込み、前記現在のオンオフ状態統計リストには複数の仮想センサーデバイスの現在のオンオフ状態が含まれるステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項8】
前記ターゲット仮想センサーデバイスの現在のオンオフ状態に基づいてハードウェアセンサー制御命令を生成し、前記端末に前記ハードウェアセンサー制御命令を返信することにより、前記端末が前記現在のオンオフ状態に基づいて前記ターゲット仮想センサーデバイスに対応するターゲットハードウェアセンサーに対してオンオフ状態同期を行うステップは、
前記共有メモリから前記現在のオンオフ状態統計リストを読み取り、対応するハードウェアセンサー制御命令を生成するステップであって、前記ハードウェアセンサー制御命令には前記現在のオンオフ状態統計リストが付けられるステップと、
前記端末に前記ハードウェアセンサー制御命令を返信することにより、前記端末が前記ハードウェアセンサー制御命令に基づいて履歴のオンオフ状態統計リストを取得し、前記履歴のオンオフ状態統計リストと現在のオンオフ状態統計リストの差異に基づいて、対応するターゲットハードウェアセンサーのオンオフ状態を更新するステップと、を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記センサーデータを仮想センサーに書き込むステップは、
前記センサーデータを前記共有メモリにおけるキューの末尾に書き込み、キューの末尾識別子を更新するステップを含み、
前記仮想センサーから前記センサーデータを読み取るステップは、
前記キューの先頭からセンサーデータを読み取り、かつキューの先頭識別子を更新するステップを含むことを特徴とする請求項4に記載の方法。
【請求項10】
前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップは、
仮想センサーに書き込まれたセンサーデータが予め設定された書き込み閾値よりも大きい場合、予め設定されたバックオフ閾値を取得するステップと、
前記予め設定されたバックオフ閾値に基づいて前記キューの先頭識別子を更新し、ターゲットキューの先頭識別子を取得するステップと、
前記キューから、前記ターゲットキューの先頭識別子と前記キューの末尾識別子との間のセンサーデータをターゲットセンサーデータとするステップと、
前記ターゲットセンサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップと、を含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するステップは、
パノラマ画面を取得するステップであって、前記マルチメディア画面は前記パノラマ画面における第一視点にマッチングしている画面であり、前記第一視点は現在の観察視点であるステップと、
前記センサーデータに基づいて前記第一視点を調整し、第二視点を取得するステップと、
前記パノラマ画面から前記第二視点にマッチングしている画面を確定し、対応するマルチメディア視点更新データを生成し、前記マルチメディア視点更新データを前記更新マルチメディアデータとするステップとを含み、
前記端末に前記更新マルチメディアデータを返信することにより、前記端末が前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップは、
前記端末に前記マルチメディア視点更新データを返信することにより、前記端末が前記マルチメディア視点更新データに基づいて現在の表示画面を第一視点に対応する画面から第二視点に対応する画面に切り替えるステップを含むことを特徴とする請求項1~10のいずれか1項に記載の方法。
【請求項12】
サーバにより実行される画面更新方法であって、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するステップと、
前記センサーデータをサーバに送信することにより、前記サーバがアプリケーションプログラムのバックエンドにより前記センサーデータを仮想センサーに書き込み、アプリケーションプログラムにより前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいて前記アプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成し、前記仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるステップと、
前記サーバから返信された前記更新マルチメディアデータを受信するステップと、
前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するステップと、を含むことを特徴とする方法。
【請求項13】
画面更新装置であって、
端末から送信されたセンサーデータを受信するために用いられるものであって、前記センサーデータは前記端末のハードウェアセンサーにより収集されたものであるセンサーデータ受信モジュールと、
前記センサーデータを仮想センサーに書き込むために用いられるものであって、前記仮想センサーがハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるセンサーデータ書き込みモジュールと、
前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、対応する更新マルチメディアデータを生成するために用いられるマルチメディアデータ生成モジュールと、
前記端末に前記更新マルチメディアデータを返信することにより、前記端末が前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられるマルチメディアデータ送信モジュールとを含むことを特徴とする装置。
【請求項14】
画面更新装置であって、
ローカルのハードウェアセンサーにより収集されたセンサーデータを取得するために用いられるセンサーデータ取得モジュールと、
前記センサーデータをサーバに送信することにより、前記サーバはアプリケーションプログラムのバックエンドにより前記センサーデータを仮想センサーに書き込み、アプリケーションプログラムにより前記仮想センサーから前記センサーデータを読み取り、前記センサーデータに基づいてマルチメディア画面を更新し、更新されたマルチメディア画面に基づいて前記アプリケーションプログラムのバックエンドにより対応する更新マルチメディアデータを生成するために用いられるものであって、前記仮想センサーはハードウェアセンサーの構造に対応し、センサーサービスをサポートするために用いられるセンサーデータ送信モジュールと、
前記サーバから返信された前記更新マルチメディアデータを受信するために用いられるマルチメディアデータ受信モジュールと、
前記更新マルチメディアデータに基づいて対応する更新マルチメディア画面を表示するために用いられるマルチメディア画面表示モジュールと、を含むことを特徴とする装置。
【請求項15】
コンピュータ読み取り可能な命令が記憶されているメモリ及び一つ又は複数のプロセッサが含まれるコンピュータデバイスであって、
前記コンピュータ読み取り可能な命令が前記一つ又は複数のプロセッサにより実行されると、前記一つ又は複数のプロセッサが請求項1~11又は12のいずれか1項に記載の方法のステップを実現することを特徴とするコンピュータデバイス。
【請求項16】
コンピュータプログラムであって、コンピュータ読み取り可能な記憶媒体に記憶されており
前記コンピュータプログラムが一つ又は複数のプロセッサにより実行されると、請求項1~11又は12のいずれか1項に記載の方法のステップを実現することを特徴とするコンピュータプログラム
【国際調査報告】