(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-01
(54)【発明の名称】データ処理方法、装置、機器及びコンピュータプログラム
(51)【国際特許分類】
H04N 21/234 20110101AFI20240423BHJP
G06T 7/10 20170101ALI20240423BHJP
G06T 7/00 20170101ALI20240423BHJP
H04N 21/239 20110101ALI20240423BHJP
【FI】
H04N21/234
G06T7/10
G06T7/00 300D
H04N21/239
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023555773
(86)(22)【出願日】2022-08-15
(85)【翻訳文提出日】2023-10-24
(86)【国際出願番号】 CN2022112398
(87)【国際公開番号】W WO2023045619
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】202111123508.7
(32)【優先日】2021-09-24
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リウ,ハイヤン
(72)【発明者】
【氏名】シュー,ミンファ
(72)【発明者】
【氏名】ガオ,ウェイ
(72)【発明者】
【氏名】ツァオ,ルイポン
【テーマコード(参考)】
5C164
5L096
【Fターム(参考)】
5C164FA06
5C164FA22
5C164SB01P
5C164SB29P
5L096FA02
5L096FA06
5L096HA02
5L096JA09
(57)【要約】
本出願は、データ処理方法、装置、機器及び可読記憶媒体を開示し、方法は、第1のクライアントから送信された第1の画像データを取得して受信キューに記憶するステップと、受信キューにおける第1の画像データに対して画像認識処理を行って、第1の画像データの画像認識処理過程で、持続的に取得した第1のクライアントから送信された第2の画像データを受信キューに記憶して、更新受信キューを取得するステップと、画像認識処理によって、オブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信して、更新受信キューにおける最新受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行うステップと、を含む。本出願によって、画像伝送の遅延を減少して、画像認識効率を向上できる。
【特許請求の範囲】
【請求項1】
コンピュータ機器が実行するデータ処理方法であって、
第1のクライアントから送信された第1の画像データを取得して受信キューに記憶するステップであって、前記第1の画像データは、前記第1のクライアントがクラウドアプリケーションを実行する場合に取得した、オブジェクトが含まれる画像データであるステップと、
前記受信キューにおける前記第1の画像データに対して画像認識処理を行って、前記第1の画像データの画像認識処理過程で、持続的に取得した前記第1のクライアントから送信された第2の画像データを前記受信キューに記憶して、更新受信キューを取得するステップと、
画像認識処理によって、前記オブジェクトが前記第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、前記第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信し、前記更新受信キューにおける最後受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行うステップであって、前記ターゲットクラウドアプリケーションサーバーは前記第1のオブジェクト画像データをレンダリングしてレンダリングデータを取得して前記レンダリングデータを前記第1のクライアントに送信するものである、ステップと、
を含む方法。
【請求項2】
前記第1のクライアントから送信された第1の画像データを取得して受信キューに記憶する前記ステップは、
前記第1のクライアントから送信された前記第1の画像データを受信するステップであって、前記第1の画像データは、前記第1のクライアントがオリジナル画像フレームに対して符号化処理を行って取得したデータであり、前記オリジナル画像フレームは、前記第1のクライアントが前記クラウドアプリケーションを実行する場合に収集した画像フレームであるステップと、
前記第1の画像データを受信した受信タイムスタンプを取得し、前記第1の画像データと前記受信タイムスタンプとを関連付けて前記受信キューに記憶するステップと、
を含む請求項1に記載の方法。
【請求項3】
前記受信キューにおける前記第1の画像データに対して画像認識処理を行う前記ステップは、
前記第1の画像データに対して復号処理を行って、初期画像フォーマットを有する復号画像データを取得するステップと、
前記復号画像データに対してフォーマット変換を行って、標準画像フォーマットを有する前記オリジナル画像フレームを取得するステップと、
前記標準画像フォーマットを有する前記オリジナル画像フレームに対して画像認識処理を行うステップと、
を含む請求項2に記載の方法。
【請求項4】
前記標準画像フォーマットを有する前記オリジナル画像フレームに対して画像認識処理を行う前記ステップは、
前記オブジェクトの前記オリジナル画像フレームにおけるオブジェクトエッジキーポイントを認識するステップと、
前記オブジェクトエッジキーポイントを接続して、前記オブジェクトのオブジェクトエッジ曲線を取得するステップと、
前記オリジナル画像フレームにおける前記オブジェクトエッジ曲線がカバーした領域を、前記オブジェクトが前記オリジナル画像フレームにおいて所在する初期オブジェクト領域に決定するステップと、
前記初期オブジェクト領域に基づいて前記第1のオブジェクト領域を決定するステップと、
を含む請求項3に記載の方法。
【請求項5】
前記初期オブジェクト領域に基づいて前記第1のオブジェクト領域を決定する前、当該方法は、
前記初期オブジェクト領域に表示される前記オブジェクトのオブジェクトキー部位を取得するステップと、
前記オブジェクトに対するオブジェクト認識配置情報、及び前記オブジェクト認識配置情報が指示するオブジェクト認識配置部位を取得し、前記オブジェクト認識配置部位を前記オブジェクトキー部位にマッチングするステップと、
前記オブジェクト認識配置部位が前記オブジェクトキー部位にマッチングすると、前記初期オブジェクト領域に基づいて前記第1のオブジェクト領域を決定するステップを実行するステップと、
前記オブジェクト認識配置部位が前記オブジェクトキー部位にマッチングしていないとき、画像認識処理によって前記第1のオブジェクト領域を抽出できないと決定するステップと、
をさらに含む請求項4に記載の方法。
【請求項6】
前記オブジェクト認識配置部位が前記オブジェクトキー部位にマッチングしていないとき、画像認識処理によって前記第1のオブジェクト領域を抽出できないと決定した後、当該方法は、
前記更新受信キューにおける、最初受信タイムスタンプを有する画像データを認識対象となる画像データに決定するステップと、
前記認識対象となる画像データに対して画像認識処理を行って、画像認識処理によって前記オブジェクトが前記認識対象となる画像データにおいて所在する処理対象となるオブジェクト領域を抽出した場合、前記処理対象となるオブジェクト領域を前記ターゲットクラウドアプリケーションサーバーに送信するステップと、
をさらに含む請求項5に記載の方法。
【請求項7】
前記初期オブジェクト領域に基づいて前記第1のオブジェクト領域を決定するステップは、
前記初期オブジェクト領域に表示される前記オブジェクトのオブジェクトキー部位を取得するステップと、
前記オブジェクトキー部位が部位完全性を具備すると、前記初期オブジェクト領域を前記第1のオブジェクト領域に決定するステップと、
前記オブジェクトキー部位が部位完全性を具備していないとき、サンプルデータベースにおけるN個のサンプル画像フレームを取得し、前記N個のサンプル画像フレームから、前記オブジェクトに対応する処理対象となるサンプル画像フレームを取得し、前記処理対象となるサンプル画像フレーム及び前記初期オブジェクト領域に基づいて、前記第1のオブジェクト領域を決定するステップであって、Nは正の整数であるステップと、
を含む請求項4に記載の方法。
【請求項8】
前記処理対象となるサンプル画像フレーム及び前記初期オブジェクト領域に基づいて前記第1のオブジェクト領域を決定する前記ステップは、
前記処理対象となるサンプル画像フレームにおける全体部位情報を取得するステップと、
前記オブジェクトキー部位に基づいて、前記全体部位情報から融合対象となる部位領域を決定するステップと、
前記融合対象となる部位領域と前記初期オブジェクト領域とを融合させて、前記第1のオブジェクト領域を取得するステップと、
を含む請求項7に記載の方法。
【請求項9】
前記第1の画像データは確認対象となる機器識別子を携帯し、前記確認対象となる機器識別子はバインディングクラウドアプリケーションサーバーの機器識別子であり、前記バインディングクラウドアプリケーションサーバーと前記第1のクライアントとはバインディング関係を有し、
前記第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する前記ステップは、
記憶済み機器識別子セットを取得するステップであって、前記記憶済み機器識別子セットはM個の記憶済み機器識別子を含み、1つの記憶済み機器識別子は1つの登録済みクラウドアプリケーションサーバーに対応し、Mは正の整数であるステップと、
前記M個の記憶済み機器識別子に、前記確認対象となる機器識別子にマッチングする記憶済み機器識別子が存在すると、前記確認対象となる機器識別子が指示する前記バインディングクラウドアプリケーションサーバーは登録済みクラウドアプリケーションサーバーに属すると決定し、前記確認対象となる機器識別子が指示する前記バインディングクラウドアプリケーションサーバーを前記ターゲットクラウドアプリケーションサーバーに決定し、前記第1のオブジェクト領域に含まれる第1のオブジェクト画像データを前記ターゲットクラウドアプリケーションサーバーに送信するステップと、
を含む請求項1に記載の方法。
【請求項10】
当該方法は、
登録対象となるクラウドアプリケーションサーバーから送信された登録要求を受信するステップであって、前記登録要求は、前記登録対象となるクラウドアプリケーションサーバーが第2のクライアントから送信されたアプリケーション起動通知を受信した後に生成したものであり、前記アプリケーション起動通知は、前記第2のクライアントが前記クラウドアプリケーションに対するアプリケーション起動操作に応答して生成したものであるステップと、
前記登録要求に基づいて、前記登録対象となるクラウドアプリケーションサーバーの機器指標情報を検出するステップと、
前記機器指標情報が処理品質条件を満たしていると、前記登録対象となるクラウドアプリケーションサーバーの記憶対象となる機器識別子を取得して、前記記憶対象となる機器識別子を前記記憶済み機器識別子セットに記憶し、前記登録対象となるクラウドアプリケーションサーバーを登録済みクラウドアプリケーションサーバーに変換して、前記記憶対象となる機器識別子を記憶済み機器識別子に変換するステップと、
をさらに含む請求項9に記載の方法。
【請求項11】
前記機器指標情報はネットワーク品質パラメータ及び機器バージョンを含み、
前記登録要求に基づいて、前記登録対象となるクラウドアプリケーションサーバーの機器指標情報を検出する前記ステップは、
前記登録要求に基づいて、前記登録対象となるクラウドアプリケーションサーバーのネットワーク品質パラメータ及び機器バージョンを取得するステップと、
前記ネットワーク品質パラメータがパラメータ閾値に達し、且つ前記機器バージョンが品質規格バージョンにマッチングすると、前記機器指標情報が前記処理品質条件を満たしていると決定するステップと、
前記ネットワーク品質パラメータが前記パラメータ閾値に達していないか、又は前記機器バージョンが前記品質規格バージョンにマッチングしていないとき、前記機器指標情報が前記処理品質条件を満たしていないと決定するステップと、
を含む請求項10に記載の方法。
【請求項12】
前記更新受信キューにおける最新受信タイムスタンプを有する第2の画像データに対して画像認識処理を行う前記ステップは、
前記更新受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得するステップと、
前記第2の画像データに対して画像認識処理を行って、前記更新受信キューにおける履歴画像データを同期に削除するステップであって、前記履歴画像データは、前記更新受信キューにおける、受信タイムスタンプが前記第2の画像データより早い画像データであるステップと、
を含む請求項1に記載の方法。
【請求項13】
コンピュータ機器が実行するデータ処理方法であって、
トラフィックサーバーから送信された第1のオブジェクト画像データを受信して、前記第1のオブジェクト画像データをバッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶するステップであって、前記第1のオブジェクト画像データは第1のオブジェクト領域に含まれる画像データであり、前記第1のオブジェクト領域は、前記トラフィックサーバーが第1の画像データに対して画像認識処理を行った後に取得したオブジェクトが前記第1の画像データにおいて所在する領域であり、前記第1の画像データは、第1のクライアントから前記トラフィックサーバーに送信されるデータであり、前記第1の画像データは、前記第1のクライアントがクラウドアプリケーションを実行する場合に取得した前記オブジェクトが含まれる画像データであるステップと、
前記バッファゾーンセットにおける、動作状態が読取状態にある第2のバッファゾーンに未処理オブジェクト画像データが含まれていない場合、前記第1のバッファゾーンの動作状態を前記読取状態に調整し、前記第2のバッファゾーンの動作状態を前記記憶状態に調整し、動作状態が前記読取状態にある前記第1のバッファゾーンから前記第1のオブジェクト画像データを読み取って、前記第1のオブジェクト画像データに対してレンダリング処理を行うステップと、
前記第1のオブジェクト画像データのレンダリング過程で、前記トラフィックサーバーから送信された第2のオブジェクト画像データを受信し、前記第2のオブジェクト画像データを、動作状態が前記記憶状態にある前記第2のバッファゾーンに記憶するステップであって、前記第2のオブジェクト画像データは第2のオブジェクト領域に含まれる画像データであり、前記第2のオブジェクト領域は、前記トラフィックサーバーが前記第1のオブジェクト領域を抽出した後、第2の画像データに対して画像認識処理を行うことで取得され、前記第2のオブジェクト領域は、前記オブジェクトが前記第2の画像データにおいて所在する領域であり、前記第2の画像データは、前記トラフィックサーバーが前記第1のオブジェクト領域を抽出した場合、更新受信キューから取得された最後受信タイムスタンプを有する画像データであり、前記更新受信キューにおける第2の画像データは、前記トラフィックサーバーが前記第1の画像データに対して画像認識処理を行う過程で、前記第1のクライアントから持続的に取得されるデータであるステップと、
前記第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、前記第1のバッファゾーンの動作状態を前記記憶状態に調整し、前記第2のバッファゾーンの動作状態を前記読取状態に調整し、動作状態が前記読取状態にある前記第2のバッファゾーンから前記第2のオブジェクト画像データを読み取って、前記第2のオブジェクト画像データに対してレンダリング処理を行うステップと、
を含む方法。
【請求項14】
前記第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、前記第1のバッファゾーンの動作状態を前記記憶状態に調整し、前記第2のバッファゾーンの動作状態を前記読取状態に調整する前記ステップは、
前記第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、前記第1のバッファゾーンに対応する、前記読取状態を表徴する読取ポインタ識別子、及び前記第2のバッファゾーンに対応する、前記記憶状態を表徴する記憶ポインタ識別子を取得するステップと、
前記第1のバッファゾーンに対応する読取ポインタ識別子を前記記憶ポインタ識別子に切り替えるステップであって、前記記憶ポインタ識別子を有する前記第1のバッファゾーンの動作状態は前記記憶状態であるステップと、
前記第2のバッファゾーンの前記記憶ポインタ識別子を前記読取ポインタ識別子に切り替えるステップであって、前記読取ポインタ識別子を有する前記第2のバッファゾーンの動作状態は前記読取状態であるステップと、
を含む請求項13に記載の方法。
【請求項15】
当該方法は、
第1のバッファゾーン及び第2のバッファゾーンを割り当てるステップと、
前記第1のバッファゾーンの初期ポインタ識別子を記憶ポインタ識別子に設置し、前記第2のバッファゾーンの初期ポインタ識別子を読取ポインタ識別子に設置するステップであって、前記記憶ポインタ識別子を有する前記第1のバッファゾーンの動作状態は前記記憶状態であり、前記読取ポインタ識別子を有する前記第2のバッファゾーンの動作状態は前記読取状態であるステップと、
動作状態が前記記憶状態にある前記第1のバッファゾーン、及び動作状態が前記読取状態にある第2のバッファゾーンに基づいて、前記バッファゾーンセットを生成するステップと、
をさらに含む請求項13に記載の方法。
【請求項16】
コンピュータ機器に配置されるデータ処理装置であって、
第1のクライアントから送信された第1の画像データを取得して受信キューに記憶するデータ取得モジュールであって、前記第1の画像データは前記第1のクライアントがクラウドアプリケーションを実行する場合に取得したオブジェクトが含まれる画像データであるデータ取得モジュールと、
前記受信キューにおける前記第1の画像データに対して画像認識処理を行う画像認識モジュールと、
前記第1の画像データの画像認識処理過程で、持続的に取得した前記第1のクライアントから送信された第2の画像データを、前記受信キューに記憶して、更新受信キューを取得するキュー更新モジュールと、
画像認識処理によって、前記オブジェクトが前記第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、前記第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する領域送信モジュールと、を含み、
前記領域送信モジュールはさらに、前記更新受信キューにおける最後受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行い、前記ターゲットクラウドアプリケーションサーバーは前記第1のオブジェクト画像データをレンダリングしてレンダリングデータを取得し、前記レンダリングデータを前記第1のクライアントに送信するものである、装置。
【請求項17】
コンピュータ機器に配置されるデータ処理装置であって、
トラフィックサーバーから送信された第1のオブジェクト画像データを受信して、バッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶する領域記憶モジュールであって、前記第1のオブジェクト画像データは第1のオブジェクト領域に含まれる画像データであり、前記第1のオブジェクト領域は、前記トラフィックサーバーが第1の画像データに対して画像認識処理を行って取得したオブジェクトが前記第1の画像データにおいて所在する領域であり、前記第1の画像データは第1のクライアントから前記トラフィックサーバーに送信され、前記第1のクライアントがクラウドアプリケーションを実行する場合に取得したオブジェクトが含まれる画像データである領域記憶モジュールと、
バッファゾーンセットにおける、動作状態が読取状態にある第2のバッファゾーンに未処理オブジェクト画像データが含まれていない場合、第1のバッファゾーンの動作状態を読取状態に調整し、前記第2のバッファゾーンの動作状態を記憶状態に調整し、動作状態が読取状態にある前記第1のバッファゾーンから前記第1のオブジェクト領域を読み取って、第1のオブジェクト領域に対してレンダリング処理を行う領域レンダリングモジュールと、
前記第1のオブジェクト領域のレンダリング過程で、前記トラフィックサーバーから送信された第2のオブジェクト画像データを受信して、動作状態が記憶状態にある前記第2のバッファゾーンに記憶する領域受信モジュールであって、前記第2のオブジェクト画像データは第2のオブジェクト領域に含まれる画像データであり、前記第2のオブジェクト領域は、前記トラフィックサーバーが前記第1のオブジェクト領域を抽出した後、第2の画像データに対して画像認識処理を行うことで取得され、前記第2のオブジェクト領域は、オブジェクトが第2の画像データにおいて所在する領域であり、前記第2の画像データは、前記トラフィックサーバーが前記第1のオブジェクト領域を抽出した場合、更新受信キューから取得された最後受信タイムスタンプを有する画像データであり、前記更新受信キューにおける前記第2の画像データは、前記トラフィックサーバーが前記第1の画像データに対して画像認識処理を行う過程で、前記第1のクライアントから持続的に取得されるデータである領域受信モジュールと、
前記第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、前記第1のバッファゾーンの動作状態を記憶状態に調整し、前記第2のバッファゾーンの動作状態を読取状態に調整し、動作状態が読取状態にある前記第2のバッファゾーンから前記第2のオブジェクト画像データを読み取って、前記第2のオブジェクト画像データに対してレンダリング処理を行う状態調整モジュールと、
を含む装置。
【請求項18】
コンピュータ機器であって、プロセッサー、メモリ及びネットワークインターフェースを含み、
前記プロセッサーと、前記メモリと、前記ネットワークインターフェースとは接続され、前記ネットワークインターフェースはネットワーク通信機能を提供し、前記メモリはプログラムコードを記憶し、前記プロセッサーは前記プログラムコードを呼び出すことで、前記コンピュータ機器に請求項1~15の何れか1項に記載の方法を実行させるコンピュータ機器。
【請求項19】
コンピュータプログラムであって、当該コンピュータプログラムはコンピュータ命令を含み、前記コンピュータ命令はコンピュータ可読記憶媒体に記憶され、プロセッサーによって読み取られて実行されると、前記プロセッサーに請求項1~15の何れか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年09月24日にて中国国家知識産権局に提出され、出願番号が第202111123508.7号であり、出願の名称が「データ処理方法、装置、機器及び可読記憶媒体」である中国特許出願の優先権を主張しており、その全ての内容は本出願に援用されている。
【0002】
本出願は、コンピュータ技術分野に関し、特にデータ処理方法、装置、機器及び可読記憶媒体に関する。
【背景技術】
【0003】
電子機器の関連技術の迅速な発展及びインターネットの普及に伴い、電子機器に依存して存在し運転するゲーム産業は飛躍的に発展している。特に、スマートフォン、タブレットなどを代表とするスマート端末が出現した後、ゲーム産業の発展の潜在能力が大きく出ている。
【0004】
ユーザーに没入型体験を提供するために、ユーザーの人体形象に基づいてクラウドゲームにおいて対応する仮想オブジェクト(例えば、仮想動画オブジェクト)を構築して、クラウドゲームにおいて当該仮想オブジェクトを表示し、つまり、仮想オブジェクトによってユーザーを仮想のクラウドゲームシナリオに位置させ、クラウドゲームに対する没入型体験をユーザーに与える。一般的に、当該過程について、端末はカメラを介してユーザー画面を取り込んだ後、直接的に端末でユーザーの人物画像を認識して抽出することで、対応する仮想オブジェクトを取得して表示する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
端末のコンピューティング能力が高くないため、コンピューティング能力の不足による画像認識の効率低下という問題を招致して、さらに、端末が人物画像の認識結果をクラウドに送信する過程で、大きな遅延が存在し、ゲームが仮想オブジェクトを表示する時も、遅延が存在し、これによって、ゲームに表示される仮想オブジェクトの仮想行為がユーザーの現在行為状態にマッチングしない場合がある。
【0006】
本出願の実施例は画像伝送の遅延を減少して、画像認識効率を向上できるデータ処理方法、装置、機器及び可読記憶媒体を提供する。
【課題を解決するための手段】
【0007】
本出願の実施例の1つの態様は、コンピュータ機器が実行するデータ処理方法を提供し、当該方法は、
第1のクライアントから送信された第1の画像データを取得して受信キューに記憶するステップであって、第1の画像データは、第1のクライアントがクラウドアプリケーションを実行する場合、取得したオブジェクトが含まれる画像データであるステップと、
受信キューにおける第1の画像データに対して画像認識処理を行って、第1の画像データの画像認識処理過程で、持続的に取得した第1のクライアントから送信された第2の画像データを受信キューに記憶して、更新受信キューを取得するステップと、
画像認識処理によって、オブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信して、更新受信キューにおける最後受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行うステップであって、ターゲットクラウドアプリケーションサーバーは第1のオブジェクト画像データをレンダリングしてレンダリングデータを取得し、レンダリングデータを第1のクライアントに送信するものであるステップと、を含む。
【0008】
本出願の実施例の1つの態様は、コンピュータ機器に配置されるデータ処理装置を提供し、当該装置は、
第1のクライアントから送信された第1の画像データを取得して受信キューに記憶するデータ取得モジュールであって、第1の画像データは、第1のクライアントがクラウドアプリケーションを実行する場合、取得したオブジェクトが含まれる画像データであるデータ取得モジュールと、
受信キューにおける第1の画像データに対して画像認識処理を行う画像認識モジュールと、
第1の画像データの画像認識処理過程で、持続的に取得した第1のクライアントから送信された第2の画像データを受信キューに記憶して、更新受信キューを取得するキュー更新モジュールと、
画像認識処理によって、オブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する領域送信モジュールであって、ターゲットクラウドアプリケーションサーバーは第1のオブジェクト画像データをレンダリングしてレンダリングデータを取得し、レンダリングデータを第1のクライアントに送信するものである領域送信モジュールと、を含み、
領域送信モジュールはさらに、更新受信キューにおける最後受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行う。
【0009】
本出願の実施例の1つの態様はコンピュータ機器が実行する別のデータ処理方法を提供し、当該方法は、
トラフィックサーバーから送信された第1のオブジェクト画像データを受信して、第1のオブジェクト画像データをバッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶するステップであって、第1のオブジェクト画像データは第1のオブジェクト領域に含まれる画像データであり、第1のオブジェクト領域は、トラフィックサーバーが第1の画像データに対して画像認識処理を行った後、取得したオブジェクトが第1の画像データにおいて所在する領域であり、第1の画像データは第1のクライアントからトラフィックサーバーに送信され、第1のクライアントがクラウドアプリケーションを実行する場合、取得したオブジェクトが含まれる画像データであるステップと、
バッファゾーンセットにおける、動作状態が読取状態にある第2のバッファゾーンには未処理オブジェクト画像データが含まれていないとき、第1のバッファゾーンの動作状態を読取状態に調整し、第2のバッファゾーンの動作状態を記憶状態に調整し、動作状態が読取状態にある第1のバッファゾーンから第1のオブジェクト領域を読み取って、第1のオブジェクト領域に対してレンダリング処理を行うステップと、
第1のオブジェクト領域のレンダリング過程で、トラフィックサーバーから送信された第2のオブジェクト画像データを受信して、動作状態が記憶状態にある第2のバッファゾーンに記憶するステップであって、第2のオブジェクト画像データは第2のオブジェクト領域に含まれる画像データであり、第2のオブジェクト領域は、トラフィックサーバーが第1のオブジェクト領域を抽出した後、第2の画像データに対して画像認識処理を行うことで取得され、第2のオブジェクト領域は、オブジェクトが第2の画像データにおいて所在する領域であり、第2の画像データは、トラフィックサーバーが第1のオブジェクト領域を抽出した場合、更新受信キューから取得された最後受信タイムスタンプを有する画像データであり、更新受信キューにおける第2の画像データは、トラフィックサーバーが第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に取得されるステップと、
第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、第1のバッファゾーンの動作状態を記憶状態に調整し、第2のバッファゾーンの動作状態を読取状態に調整し、動作状態が読取状態にある第2のバッファゾーンから第2のオブジェクト画像データを読み取って、第2のオブジェクト画像データに対してレンダリング処理を行うステップと、を含む。
【0010】
本出願の実施例の1つの態様はコンピュータ機器に配置される別のデータ処理装置を提供し、当該装置は、
トラフィックサーバーから送信された第1のオブジェクト画像データを受信して、バッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶する領域記憶モジュールであって、第1のオブジェクト画像データは第1のオブジェクト領域に含まれる画像データであり、第1のオブジェクト領域は、トラフィックサーバーが第1の画像データに対して画像認識処理を行った後、取得したオブジェクトが第1の画像データにおいて所在する領域であり、第1の画像データは第1のクライアントからトラフィックサーバーに送信され、第1のクライアントがクラウドアプリケーションを実行する場合、取得したオブジェクトが含まれる画像データである領域記憶モジュールと、
バッファゾーンセットにおける、動作状態が読取状態にある第2のバッファゾーンには未処理オブジェクト画像データが含まれていないとき、第1のバッファゾーンの動作状態を読取状態に調整し、第2のバッファゾーンの動作状態を記憶状態に調整し、動作状態が読取状態にある第1のバッファゾーンから第1のオブジェクト領域を読み取って、第1のオブジェクト領域に対してレンダリング処理を行う領域レンダリングモジュールと、
第1のオブジェクト領域のレンダリング過程で、トラフィックサーバーから送信された第2のオブジェクト画像データを受信して、動作状態が記憶状態にある第2のバッファゾーンに記憶する領域受信モジュールであって、第2のオブジェクト画像データは第2のオブジェクト領域に含まれる画像データであり、第2のオブジェクト領域は、トラフィックサーバーが第1のオブジェクト領域を抽出した後、第2の画像データに対して画像認識処理を行うことで取得され、第2のオブジェクト領域は、オブジェクトが第2の画像データにおいて所在する領域であり、第2の画像データは、トラフィックサーバーが第1のオブジェクト領域を抽出した場合、更新受信キューから取得された最後受信タイムスタンプを有する画像データであり、更新受信キューにおける第2の画像データは、トラフィックサーバーが第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に取得される領域受信モジュールと、
第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、第1のバッファゾーンの動作状態を記憶状態に調整し、第2のバッファゾーンの動作状態を読取状態に調整し、動作状態が読取状態にある第2のバッファゾーンから第2のオブジェクト画像データを読み取って、第2のオブジェクト画像データに対してレンダリング処理を行う状態調整モジュールと、を含む。
【0011】
本出願の実施例の1つの態様はコンピュータ機器を提供し、プロセッサー及びメモリを含み、
メモリにはコンピュータプログラムが記憶され、コンピュータプログラムはプロセッサーによって実行されると、プロセッサーに本出願の実施例における方法を実行させる。
【0012】
本出願の実施例の1つの態様はコンピュータ可読記憶媒体を提供し、コンピュータ可読記憶媒体にはコンピュータプログラムが記憶され、コンピュータプログラムはプログラム命令を含み、プログラム命令はプロセッサーによって実行されると、本出願の実施例における方法を実行する。
【0013】
本出願の1つの態様によれば、コンピュータプログラム製品又はコンピュータプログラムを提供し、当該コンピュータプログラム製品又はコンピュータプログラムはコンピュータ命令を含み、当該コンピュータ命令はコンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサーはコンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサーは当該コンピュータ命令を実行することで、当該コンピュータ機器に、本出願の実施例の何れか1つの態様が提供する方法を実行させる。
【発明の効果】
【0014】
本出願の実施例において、クライアント(例えば、第1のクライアント)は、オブジェクトが含まれる第1の画像データを取得した場合、当該第1の画像データを関連コンピュータ機器(例えば、トラフィックサーバー)に送信し、当該トラフィックサーバーは画像認識処理を行って、クライアントのロカールで画像認識を行う必要がなく、高いコンピューティング能力を具備するトラフィックサーバーによって、第1の画像データに対して画像認識処理を行って、画像認識効率及び鮮明さを向上でき、また、本出願において、トラフィックサーバーは受信された第1の画像データを受信キューに記憶し、第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に第2の画像データを同期に取得して、当該第2の画像データを受信キューに記憶して、更新受信キューを取得する。つまり、本出願におけるトラフィックサーバーは第1の画像データに対して画像認識処理を行うとき、第2の画像データの受信を一時停止していなく、受信キューによって画像処理と画像受信との同期進行を実現でき、これによって、画像伝送遅延を低減できる。さらに、トラフィックサーバーは画像認識処理によってオブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、当該第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信して、ターゲットクラウドアプリケーションサーバーはレンダリングを行って、レンダリングによるレンダリングデータを第1のクライアントに送信して、これによって、クラウドアプリケーションに表示できる。また、第1のオブジェクト領域を抽出した後、トラフィックサーバーは、受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得でき、当該第2の画像データを引き続いて処理する。これから分かるように、本出願において、ある画像データに対して画像認識処理を行った後、受信キューから最後受信タイムスタンプを有する画像データを取得して処理し、受信タイムスタンプの時間順序に従って画像データを一々認識していないため、画像データに対する認識効率を向上でき、また、最後受信タイムスタンプを有する画像データはオブジェクトの現在行為に基づいて収集されたため、最後受信タイムスタンプを有する画像データに対して画像認識及び表示を行う場合でも、オブジェクトの現在行為にマッチングする。以上のように、本出願は画像認識効率を向上して、画像伝送の遅延を減少し、クラウドアプリケーションに表示される仮想オブジェクトの仮想行為がオブジェクトの現在行為状態にマッチングすることを保証できる。
【図面の簡単な説明】
【0015】
本発明の実施例又は従来技術における技術案を明らかに説明するために、以下、実施例又は従来技術の記載の必要な図面を簡単に紹介し、明らかに、以下に記載の図面は本発明のいくつかの実施例に過ぎず、当業者にとって、進歩性に値する労働をしないことを前提として、これらの図面に基づいて他の図面を取得できる。
【
図1】本出願の実施例が提供するネットワークアーキテクチャ図である。
【
図2a】本出願の実施例が提供するシナリオ概略図である。
【
図2b】本出願の実施例が提供するシナリオ概略図である。
【
図3】本出願の実施例が提供するデータ処理方法のフロー概略図である。
【
図4】本出願の実施例が提供するフレームスキップ処理の概略図である。
【
図5】本出願の実施例が提供するデータ処理方法のフロー概略図である。
【
図6】本出願の実施例が提供する部位融合のシナリオ概略図である。
【
図7】本出願の実施例が提供する、第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信するフロー概略図である。
【
図8】本出願の実施例が提供するデータ処理方法のフロー概略図である。
【
図9】本出願の実施例が提供するダブルバッファゾーン状態変更の概略図である。
【
図10】本出願の実施例が提供するシステムアーキテクチャ図である。
【
図11】本出願の実施例が提供するシステムフロー概略図である。
【
図12】本出願の実施例が提供するインタラクションフローチャートである。
【
図13】本出願の実施例が提供するデータ処理装置の構造概略図である。
【
図14】本出願の実施例が提供する別のデータ処理装置の構造概略図である。
【
図15】本出願の実施例が提供するコンピュータ機器の構造概略図。
【発明を実施するための形態】
【0016】
以下、本出願の実施例の図面に関連して、本出願の実施例の技術案を明らか且つ完全に記載するが、もちろん、記載する実施例は全ての実施例ではなく、本出願の一部の実施例に過ぎない。本出願の実施例に基づいて、当業者が進歩性に値する労働をしないことを前提として、取得した他の全ての実施例は何れも本出願の保護範囲に属している。
【0017】
図1を参照し、
図1は本出願の実施例が提供するネットワークアーキテクチャ図である。
図1に示すように、当該ネットワークアーキテクチャは、トラフィックサーバー1000、端末機器クラスタ及びクラウドアプリケーションサーバークラスタ10000を含んでもよく、端末機器クラスタは1つ又は複数の端末機器を含んでもよく、ここで、端末機器の数を限定しない。
図1に示すように、複数の端末機器は端末機器100a、端末機器100b、端末機器100c、...、端末機器100nを含んでもよく、
図1に示すように、端末機器100a、端末機器100b、端末機器100c、...、端末機器100nはトラフィックサーバー1000とそれぞれネットワーク接続を行うことで、各端末機器は当該ネットワーク接続を介してトラフィックサーバー1000とデータインタラクションを行う。クラウドアプリケーションサーバークラスタ10000は、1つ又は複数のクラウドアプリケーションサーバーを含んでもよく、ここで、クラウドアプリケーションサーバーの数を限定しない。
図1に示すように、複数のクラウドアプリケーションサーバーはクラウドアプリケーションサーバー10001、クラウドアプリケーションサーバー10002、...、クラウドアプリケーションサーバー1000nを含んでもよく、
図1に示すように、クラウドアプリケーションサーバー10001、クラウドアプリケーションサーバー10002、...、クラウドアプリケーションサーバー1000nはトラフィックサーバー1000とそれぞれネットワーク接続を行うことで、各クラウドアプリケーションサーバーは当該ネットワーク接続を介してトラフィックサーバー1000とデータインタラクションを行う。各クラウドアプリケーションサーバーはクラウドアプリケーションサーバーであってもよく、1つの端末機器は1つのクラウドアプリケーションサーバー(複数の端末機器は同一クラウドアプリケーションサーバーに対応してもよい)に対応し、当端末機器がクラウドアプリケーションを実行するとき、対応するクラウドアプリケーションサーバーは、相応的な機能サービス(例えば、コンピューティングサービス)を提供する。例えば、クラウドアプリケーションはクラウドゲームアプリケーションである場合、当該クラウドアプリケーションサーバーはクラウドゲームサーバーであり、端末機器がクラウドゲームアプリケーションを実行するとき、対応するクラウドゲームサーバーは相応的な機能サービスを提供する。
【0018】
ここで、
図1の各端末機器には何れもクラウドアプリケーションがインストールされてもよく、当該クラウドアプリケーションは各端末機器により実行されると、
図1のトラフィックサーバー1000とそれぞれデータインタラクションを行って、トラフィックサーバー1000は各端末機器からのトラフィックデータを受信できる。
【0019】
当該クラウドアプリケーションは文字、画像、オーディオ及びビデオなどのデータ情報を表示する機能を具備するアプリケーションを含む。例えば、クラウドアプリケーションはエンターテイメントアプリケーション(例えば、ゲームアプリケーション)であってもよく、当該エンターテイメントアプリケーションはユーザーのゲームエンターテイメントに用いられてもよい。本出願におけるトラフィックサーバー1000は、これらのクラウドアプリケーションによりトラフィックデータを取得し、例えば、当該トラフィックデータは、端末機器がカメラコンポーネントによって取り込んだ、ユーザー(オブジェクトと呼ばれてもよい)を含む画像データ(第1の画像データと呼ばれてもよい)であってもよい。
【0020】
そして、第1の画像データを取得した後、トラフィックサーバー1000は当該第1の画像データを受信キューに記憶して、受信キューから当該第1の画像データを取得し、当該第1の画像データに対して画像認識処理を行う。ここで、第1の画像データを取得してトラフィックサーバー1000に送信した後、端末機器は、オブジェクトが含まれる画像データ(第2の画像データと呼ばれてもよい)を持続的に取得し、第1の画像データに対して画像認識処理を行う過程で、トラフィックサーバー1000はさらに、端末機器が取得した第2の画像データを持続的に取得する。第1の画像データと同じように、トラフィックサーバー1000は当該第2の画像データを受信キューに記憶することで、1つ又は複数の第2の画像データが含まれる更新受信キューを取得してもよい。ここで、第1の画像データは、トラフィックサーバー1000が受信した最初の画像データである場合、トラフィックサーバー1000は第1の画像データを受信キューに記憶しなくてもよく、直接的に当該第1の画像データに対して画像認識処理を行って、当該画像認識処理の過程で、端末機器が取り込んだ第2の画像データ(つまり、最初の画像データの後の2番目の画像データ、3番目の画像データ、4番目の画像データ...)を持続的に取得して、当該第2の画像データを受信キューに記憶する。
【0021】
トラフィックサーバー1000は画像認識処理によって、オブジェクトが第1の画像データにおいて所在する領域(第1のオブジェクト領域と呼ばれてもよい)を抽出した後、当該第1の画像データから当該第1のオブジェクト領域に含まれる画像データ(第1のオブジェクト画像データと呼ばれてもよい)を取得し、当該第1のオブジェクト画像データを当該端末機器に対応するクラウドアプリケーションサーバーに送信し、当該クラウドアプリケーションサーバーは当該第1のオブジェクト画像データを読み取ってレンダリングし、レンダリングが完成してレンダリングデータを取得した後、端末機器に送信し、端末機器は当該レンダリングデータをクラウドアプリケーションに表示して出力する。また、トラフィックサーバー1000は、オブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、続けてその他の画像データに対して画像認識処理を行って、例えば、トラフィックサーバー1000は第2の画像データが含まれる更新受信キューから、最後受信タイムスタンプ(「最新受信タイムスタンプ」とも呼ばれる)を有する第2の画像データ(つまり、最後に受信した画像データ)を取得し、そして、当該最後受信タイムスタンプを有する第2の画像データ(ターゲット画像データと呼ばれてもよい)に対して画像認識処理を行う。ここで、トラフィックサーバー1000はターゲット画像データに対して画像認識処理を行う場合、端末機器からの、オブジェクトが含まれる画像データ(第3の画像データと呼ばれてもよい)を持続的に取得して、当該第3の画像データを更新受信キューに記憶して、新たな受信キューを取得する。トラフィックサーバー1000は、オブジェクトがターゲット画像データにおいて所在する領域(第2のオブジェクト領域と呼ばれてもよい)を抽出した場合、ターゲット画像データから当該第2のオブジェクト領域に含まれる画像データ(第2のオブジェクト画像データと呼ばれてもよい)を取得してもよく、さらに、当該第2のオブジェクト画像データを端末機器に対応するクラウドアプリケーションサーバーに送信する。また、当該トラフィックサーバー1000は現在の新たな受信キューから、最後受信タイムスタンプを有する第3の画像データ(新規ターゲット画像データと呼ばれてもよい)を取得して、当該新規ターゲット画像データに対して画像認識処理を行う。
【0022】
ここで、本出願におけるトラフィックサーバー1000はある画像データに対して画像認識処理を行う過程で、その他の画像データを持続的に受信でき、これによって、認識が完成した後受信するように待つ必要がなく、認識と受信との同期を実現でき、画像データの受信遅延を低減できる。また、ある画像データの認識を完成するたびに(オブジェクトが所在する領域を抽出した後)、トラフィックサーバーはフレームスキップ処理を行って(つまり、現在処理が完成した画像データの次の画像データ(受信タイムスタンプが最も近接する画像データ)を取得して画像認識処理を行うことではなく、現在最後受信タイムスタンプを有する画像データを取得して、画像認識処理を行う)、フレームスキップ処理によって、画像データのキューイング遅延を低減できる。最後受信タイムスタンプを有する画像データが収集したユーザーの現在行為であれば、最後受信タイムスタンプを有する画像データに対して画像認識処理を行って表示した後、クラウドアプリケーションに表示されるレンダリングデータは、ユーザーの現在行為に同期してマッチングする。
【0023】
本出願の実施例は複数の端末機器から、トラフィックサーバー1000とデータインタラクションを行う1つの端末機器を選択し、当該端末機器はスマートフォン、タブレット、ノートパソコン、デスクトップパソコン、スマートテレビ、スマートスピーカー、デスクトップコンピュータ、スマートウォッチ、スマート車載機器などのメディアデータ処理機能(例えば、ビデオデータ再生機能、音楽データ再生機能)を有するスマート端末を含んでもよいが、これらに限定されない。例えば、本出願の実施例において、
図1の端末機器100aには上記のクラウドアプリケーションが集積されてもよく、この場合、当該端末機器100aは当該クラウドアプリケーションを介してトラフィックサーバー1000とデータインタラクションを行う。
【0024】
ここで、本出願の実施例が提供する方法はコンピュータ機器によって実行されてもよく、コンピュータ機器はユーザー端末又はトラフィックサーバーを含むが、これらに限定されない。トラフィックサーバーは独立の物理サーバーであってもよいし、複数の物理サーバーからなるサーバークラスタ又は分散型システムであってもよいし、さらに、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウド記憶、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティーサービス、CDN、ビッグデータ及び人工知能プラットフォームなどの基礎的なクラウドコンピューティングサービスを提供するクラウドアプリケーションサーバーであってもよい。
【0025】
端末機器とトラフィックサーバーとは有線又は無線通信方式で直接又は間接的に接続されてもよく、これに対して本出願は限定しない。
【0026】
ここで、上記のコンピュータ機器(例えば、上記のトラフィックサーバー1000、端末機器100a、端末機器100bなど)は分散型システムにおける1つのノードであってもよく、当該分散型システムはブロックチェーンシステムであってもよく、当該ブロックチェーンシステムは当該複数のノードからネットワーク通信の形態で接続されて形成された分散型システムであってもよい。ノードの間はピアツーピア(P2P、Peer To Peer)ネットワークを形成でき、P2Pプロトコルは、伝送制御プロトコル(TCP、Transmission Control Protocol)プロトコルで実行するアプリケーション層プロトコルである。分散型システムにおいて、任意形態のコンピュータ機器、例えばトラフィックサーバー、端末機器などの電子機器は何れも当該ピアツーピアネットワークに加入することで、当該ブロックチェーンシステムにおける1つのノードになる。理解しやすくするために、以下、ブロックチェーンの概念を説明し、即ち、ブロックチェーンは分散型データ記憶、ピアツーピア伝送、コンセンサスメカニズム及び暗号化アルゴリズムなどのコンピュータ技術の新規アプリケーションモードであり、主に時間順序に従ってデータを整理して、台帳に暗号化することで、改ざん及び偽造不能になり、その同時、データの検証、記憶及び更新を行うことができる。コンピュータ機器はブロックチェーンノードである場合、ブロックチェーンの改ざん不能及び偽造防止特性のため、本出願におけるデータ(例えば第1の画像データ、第1のオブジェクト領域、第2のオブジェクト画像データなど)に真実性及び安全性を具備させる。これによって、これらのデータに基づいて関するデータ処理を行って取得した結果がより確実になる。
【0027】
図2aを参照し、
図2aは本出願の実施例が提供するシナリオ概略図である。
図2aの端末機器100aは、上記の
図1に対応する実施例の端末機器クラスタ100における端末機器100aであってもよく、
図2aのトラフィックサーバー1000は上記の
図1に対応する実施例のトラフィックサーバー1000であってもよく、
図2aのクラウドアプリケーションサーバー10001は上記の
図1に対応する実施例のクラウドアプリケーションサーバー10001であってもよい。
【0028】
図2aに示すように、端末機器100aにはゲームアプリケーションが含まれ、ユーザーa(オブジェクトaと呼ばれてもよい)がゲームアプリケーションを起動させた後、端末機器100aはカメラコンポーネント200aによってオブジェクトaが含まれる画面(オリジナル画像フレーム20aと呼ばれてもよい)を収集し、当該オリジナル画像フレームに対して符号化処理(例えば、H264符号化処理)を行って、画像データを取得する。端末機器100aは当該画像データをトラフィックサーバー1000に送信する。トラフィックサーバー1000は当該画像データを受信キューに記憶してから、当該受信キューから当該画像データを取得して、当該画像データに対して復号処理を行って、当該オリジナル画像フレーム20aを取得する。ここで、トラフィックサーバー1000は、受信した各画像データ(最初の画像データを含む)を何れも受信キューに記憶するが、トラフィックサーバー1000が受信した最初の画像データに対しては記憶せず、直接的に復号処理を行ってもよい。例えば、上記のオリジナル画像フレーム20aに対応する画像データは、トラフィックサーバー1000が受信した最初の画像データであれば、トラフィックサーバー1000は記憶ルールに従って、それを受信キューに記憶してから、受信キューから取得してもよいし、それを記憶せず、直接的に復号処理を行って、オリジナル画像フレーム20aを取得してもよい。
【0029】
トラフィックサーバー1000は当該オリジナル画像フレーム20aに対して画像認識処理を行って、画像認識処理によって、当該オリジナル画像フレーム20aにおいてオブジェクトaに対応するオブジェクトエッジ曲線P1を決定する。ここで、ユーザーaは動作行為(例えば、両手上げ、頭振り、しゃがむなど)を持続的に生成し、そうすれば、端末機器100aはオリジナル画像フレーム20aを収集した後、カメラコンポーネント200aによって、オブジェクトaが含まれるオリジナル画像フレームを持続的に収集して、オブジェクトaが含まれる1つのオリジナル画像フレームを成功裏に取得するたびに、端末機器100aはこれに対して符号化処理を行って、画像データを取得してトラフィックサーバー1000に送信する。トラフィックサーバー1000は現在、オリジナル画像フレーム20aに対して画像認識処理を行っても、画像データの受信に影響を与えず、画像認識処理の過程で、トラフィックサーバー1000は端末機器100aから異なる画像データを持続的に取得して、これらの画像データを受信キューに一時記憶する。
【0030】
オブジェクトエッジ曲線P1を決定した後、トラフィックサーバー1000はオリジナル画像フレーム20aからオブジェクトエッジ曲線P1がカバーした全ての領域(オブジェクト領域P2と呼ばれてもよい)を抽出して、オリジナル画像フレーム20aから当該オブジェクト領域に含まれる全ての画像内容を取得することで、当該オブジェクト領域に含まれる全ての画像内容(オブジェクト画像データと呼ばれてもよい)を取得できる。トラフィックサーバー1000は当該端末機器100aに対応するクラウドアプリケーションサーバー(例えば、クラウドアプリケーションサーバー10001)を取得して、当該オブジェクト領域P2に含まれるオブジェクト画像データを当該クラウドアプリケーションサーバー10001に送信する。当該オブジェクト画像データを取得した後、クラウドアプリケーションサーバー10001は当該オブジェクト画像データに対してレンダリング処理を行って、レンダリングデータP3を取得し、クラウドゲームサーバーは当該レンダリングデータP3を対応する端末機器100aに送信する。
【0031】
図2bを参照し、
図2bは本出願の実施例が提供するシナリオ概略図である。
図2bに示すように、当該レンダリングデータP3を受信した後、端末機器100aは当該レンダリングデータP3をゲームアプリケーションに表示する。
図2bに示すように、ゲームの対応する仮想環境(ゲームシナリオであってもよい)には仮想背景(仮想家屋背景)、踊っている仮想オブジェクト2000a(踊っている)、及び踊っている仮想オブジェクト2000bが含まれ、当該仮想環境にはレンダリングデータP3が表示されてもよい。
【0032】
ここで、オリジナル画像フレーム20aからオブジェクト領域P2を抽出した場合、上記のトラフィックサーバー1000はさらに受信キューにおける画像データを処理する。端末機器100aに表示されるレンダリングデータをオブジェクトaの現在の動作行為に合わせるために、トラフィックサーバー1000はフレームスキップ処理を行って、即ち、トラフィックサーバー1000は受信キューにおける最後受信タイムスタンプを有する画像データを取得して、復号及び画像認識処理を行う。最後受信タイムスタンプを有する画像データは、現在時点で端末機器100aが送信した最後の画像データであり、当該画像データはオブジェクトaの最新のリアルタイム的な動作行為に対応する。そうすれば、対応するオブジェクト領域を抽出し、レンダリングして出力した後、表示されるレンダリングデータはオブジェクトの実際の動作行為に合う。
【0033】
ここで、クラウドアプリケーションがゲームアプリケーションであれば、オブジェクトaはゲームプレイヤーであり、対応する人物画像レンダリングデータ(例えばレンダリングデータP3)を当該ゲームアプリケーションに表示し、即ち、プレイヤー人物画像をゲームシナリオに投射することで、ゲームプレイヤーをゲームシナリオに「位置させ」、ゲームプレイヤーの没入感を向上できる。また、本出願の実施例において、受信キューによって画像認識と受信との同期を実現して、画像データの受信遅延を低減でき、また、フレームスキップ処理によって、画像データの認識効率を速めにして、遅延をさらに低減するとともに、ゲームに表示されるプレイヤー人物画像とプレイヤーとの間のマッチング率を向上できる。
【0034】
図3を参照し、
図3は本出願の実施例が提供するデータ処理方法のフロー概略図である。当該方法はコンピュータ機器によって実行され、当該コンピュータ機器は端末機器(例えば、上記の
図1の端末機器クラスタにおける何れか1つの端末機器、例えば端末機器100a)又はトラフィックサーバー(例えば、上記の
図1のトラフィックサーバー1000)によって実行されてもよいし、端末機器及びトラフィックサーバーを含むことで、端末機器とトラフィックサーバーとに共同で実行されてもよい。本実施例において、当該方法が上記のトラフィックサーバーによって実行されることを例として説明する。当該データ処理方法は少なくとも以下のS101~S103を含む。
【0035】
S101:第1のクライアントから送信された第1の画像データを取得して受信キューに記憶し、第1の画像データは、第1のクライアントがクラウドアプリケーションを実行する場合、取得したオブジェクトが含まれる画像データである。
【0036】
本出願において、第1のクライアントは端末機器であってもよく、第1のクライアントにはアプリケーションプログラムが配置され、当該アプリケーションプログラムはクラウドアプリケーション(例えば、ゲームアプリケーション)などであってもよい。クラウドアプリケーションを例として、第1のクライアントを使用すると、ユーザーは第1のクライアントにおいて当該クラウドアプリケーションを起動させ、例えば、ユーザーは当該クラウドアプリケーションをクリックして、起動コントロールをクリックすることで、当該クラウドアプリケーションを実行させる。第1のクライアントは何れか1つのクライアントであってもよい。
【0037】
ここで、ユーザーは第1のクライアントにおけるクラウドアプリケーションを起動させた後、つまり、第1のクライアントがクラウドアプリケーションを実行する場合、第1のクライアントはカメラコンポーネントによってユーザー(オブジェクトと呼ばれてもよい)が含まれる画面を収集し、ユーザーが含まれる画面はオリジナル画像フレームと呼ばれてもよい。第1のクライアントは当該オリジナル画像フレームに対して符号化処理を行って、画像符号化ファイルを取得し、画像符号化ファイルは画像データと呼ばれてもよい。第1のクライアントは画像データをトラフィックサーバー(トラフィックサーバーは、画像復号機能及び画像認識機能を有するサーバーであり、第1のクライアントから送信された符号化ファイルを取得して、復号及び画像認識処理を行う)に送信する。異なる符号化方式において、符号化フォーマットとして、H264符号化方式は高い圧縮率を備え、同一画像に対してH264符号化を行った後、伝送過程で、より少ない帯域幅を占有するため、モバイルビデオアプリケーションにおいてH264は大幅に適用される。そうすれば、本出願において、第1のクライアントとトラフィックサーバーとの間の伝送帯域幅を低減するために、好ましくは、オリジナル画像フレームの符号化方式に対して当該H264符号化方式を選択する。無論、第1のクライアントがオリジナル画像フレームを符号化する符号化方式は、H264以外に、オリジナル画像フレームを符号化できる何れか1つの方式、例えばH262符号化方式、H263符号化方式、H265符号化方式などであってもよく、これに対して本出願は限定しない。
【0038】
本出願において、第1のクライアントから送信された画像データを取得した後、トラフィックサーバーは該画像データを受信キューに記憶する。第1の画像データを例として、第1の画像データを取得した後、トラフィックサーバーは当該第1の画像データを受信キューに記憶し、その具体的な方法は以下の通りである。第1のクライアントから送信された第1の画像データ(第1の画像データは、第1のクライアントがオリジナル画像フレームに対して符号化処理を行うことで得られたデータである)を受信し、そして、トラフィックサーバーは第1の画像データを受信した受信タイムスタンプを取得して、第1の画像データと受信タイムスタンプとを関連付けて受信キューに記憶する。つまり、各画像データを記憶するとき、トラフィックサーバーはその受信時点を併せて記憶する。例えば、画像データAに対して、トラフィックサーバーの受信時点(受信タイムスタンプとしてもよい)は2021年9月5日19:09であれば、トラフィックサーバーは当該画像データAと当該受信時点である2021年9月5日19:09とを関連付けて受信キューに記憶する。ここで、当該受信キューに画像データが記憶されていない場合、当該受信キューは空であってもよい。
【0039】
S102:受信キューにおける第1の画像データに対して画像認識処理を行って、第1の画像データの画像認識処理過程で、持続的に取得した第1のクライアントから送信された第2の画像データを受信キューに記憶して、更新受信キューを取得する。
【0040】
本出願において、第1の画像データを受信キューに記憶した後、当該受信キューから当該第1の画像データを取得して画像認識処理を行う。当該第1の画像データは実際に、画像符号化ファイルであるため、それに対して復号処理を行って復元してオリジナル画像フレームを取得した後、オリジナル画像フレームに対して画像認識処理を行う。その具体的な方法は以下の通り、第1の画像データに対して復号処理を行って、初期画像フォーマットを有する復号画像データを取得して、復号画像データに対してフォーマット変換を行って、標準画像フォーマットを有するオリジナル画像フレームを取得し、そして、標準画像フォーマットを有するオリジナル画像フレームに対して画像認識処理を行う。
【0041】
ここで、標準画像フォーマットは、画像認識処理を統一に行う所定の画像フォーマットであり、例えば、画像認識処理を行う所定の画像はカラーフォーマット(Red Green Blue color mode、RGB color mode)を具備すれば、当該RGBフォーマットは標準画像フォーマットと呼ばれる。第1の画像データに対して復号処理を行った後、初期画像フォーマットを有する復号画像データを取得し、当該初期画像フォーマットが当該標準画像フォーマットであれば、当該復号画像データを、標準画像フォーマットを有するオリジナル画像フレームに決定し、当該初期画像フォーマットが標準画像フォーマットと異なると、当該初期画像フォーマットに対してフォーマット変換を行って、標準画像フォーマットに変換して、標準画像フォーマットを有するオリジナル画像フレームを取得する。例えば、初期画像フォーマットがYUVフォーマットである場合、YUVフォーマットをRGBフォーマットに変換して、RGBフォーマットを有するオリジナル画像フレームを取得する。
【0042】
トラフィックサーバーは復号を行って第1の画像データに対応するオリジナル画像フレームを取得した後、当該標準画像フォーマットを有するオリジナル画像フレームに対して画像認識処理を行って、オブジェクトが当該オリジナル画像フレームにおいて所在する領域(第1のオブジェクト領域と呼ばれてもよい)を決定し、画像認識処理を行って第1のオブジェクト領域を決定する具体的な実現形態について、以降の
図5に対応する実施例の記載を参照すればよい。
【0043】
ここで、本出願において、トラフィックサーバーに第1の画像データを送信した後、第1のクライアントはオブジェクトが含まれる画面(新たなオリジナル画像フレーム)を持続的に収集し、各オリジナル画像フレームに対して符号化処理を行って、画像符号化ファイル(第2の画像データと呼ばれてもよい)を取得する。第1のクライアントは各第2の画像データをトラフィックサーバーに持続的に送信する。第1の画像データに対して画像認識処理を行う過程で、トラフィックサーバーは画像データの受信を一時停止するのではなく、第1のクライアントから第2の画像データを持続的に取得して、当該第2の画像データを受信キューに一時記憶することで、更新受信キューを取得する。
【0044】
S103:画像認識処理によって、オブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、第1のオブジェクト領域をターゲットクラウドアプリケーションサーバーに送信して、更新受信キューにおける最後受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行って、ターゲットクラウドアプリケーションサーバーは第1のオブジェクト領域をレンダリングしてレンダリングデータを取得し、レンダリングデータを第1のクライアントに送信する。
【0045】
本出願において、上記の画像認識処理によって、オブジェクトがオリジナル画像フレームにおいて所在する第1のオブジェクト領域を決定してから、当該オリジナル画像フレームから当該第1のオブジェクト領域に含まれる画像内容(第1のオブジェクト画像データと呼ばれてもよい)を取得し、トラフィックサーバーは第1のオブジェクト領域及び当該第1のオブジェクト領域に含まれる第1のオブジェクト画像データを抽出する。第1のオブジェクト領域及び当該第1のオブジェクト画像データを抽出した場合、トラフィックサーバーは第1のクライアントに対応するターゲットクラウドアプリケーションサーバーを取得して、当該第1のオブジェクト画像データを当該ターゲットクラウドアプリケーションサーバーに送信する。なお、当該ターゲットクラウドアプリケーションサーバーは第1のクライアントに対応するクラウドアプリケーションサーバーであってもよく、当該第1のクライアントがクラウドアプリケーションを実行すると、当該クラウドアプリケーションサーバーは、第1のクライアントに、コンピューティングサービス、例えば中央演算処理装置(Central Processing Unit、CPU)コンピューティングサービス、グラフィックス処理装置(Graphics Processing Unit、GPU)コンピューティングサービスなどを提供する。ターゲットクラウドアプリケーションサーバーは当該第1のオブジェクト画像データに対してレンダリング処理を行うことで、第1のオブジェクト画像データに対応するレンダリングデータを取得して、当該レンダリングデータを第1のクライアントに送信し、第1のクライアントはクラウドアプリケーションに当該レンダリングデータを表示する。
【0046】
ここで、トラフィックサーバーは第1のオブジェクト領域を抽出した後、さらに、他の画像データに対して復号及び画像認識処理を引き続いて行ってもよい。例えば、トラフィックサーバーは、更新受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得して、当該第2の画像データに対して復号及び画像認識処理を行う。
【0047】
トラフィックサーバーが更新受信キューから、最後受信タイムスタンプを有する第2の画像データを取得して、復号及び画像認識処理を行う過程は、フレームスキップ処理とも呼ばれる。
図4を併せて参照し、
図4は本出願の実施例が提供するフレームスキップ処理の概略図である。
図4に示すように、受信キュー40aには画像データ1、画像データ2、画像データ3、画像データ4、画像データ5、画像データ6、画像データ7、画像データ8、画像データ9が含まれ、当該画像データ1~画像データ9は受信タイムスタンプの早い順にソーティングされ、
図4において、記号1、2、3、4、5、6、7、8、9によって順に示され、即ち、画像データ1の受信タイムスタンプは最初の受信タイムスタンプであり、画像データ9の受信タイムスタンプは最後のタイムスタンプである。画像データ1、画像データ2、画像データ3、画像データ4、画像データ5は処理後の画像データであり、画像データ6は、トラフィックサーバーが現在処理している画像データであり、画像データ7、画像データ8、画像データ9は、トラフィックサーバーが画像データ6を処理するとき、受信した画像データであり、画像データ7、画像データ8、画像データ9はキューイングして処理を待つ。
【0048】
図4に示すように、トラフィックサーバーは、オブジェクトが画像データ6において所在するオブジェクト領域を抽出した場合、受信キュー40aの末尾から画像データ9を取得し(即ち、最後受信タイムスタンプを有する画像データを取得する)、画像データ7及び画像データ8をスキップしてから、画像データ9に対して復号及び画像認識処理を行い、以上はフレームスキップ処理過程である。理解しやすくするために、以下、例を挙げて詳しく記載し、トラフィックサーバーが復号して画像認識処理を行うための時間は30msであり、トラフィックサーバーが前後2つの画像データを受信する時間間隔は10ms(即ち、第0ms、1つの画像データを受信し、第10ms、次の画像データを受信し、第20ms、次の画像データを受信する)であると仮定し、画像データ6を処理する過程で、トラフィックサーバーは画像データ7(この場合、受信キューの末尾、画像データ6の後に記憶する)、画像データ8(この場合、受信キューの末尾、画像データ7の後に記憶する)、画像データ9(この場合、受信キューの末尾、画像データ8の後に記憶する)を持続的に受信する。そうすれば、画像データ6を処理した後、受信キューについて受信キュー40aを参照すればよく、この場合、トラフィックサーバーは直接的に受信キューの末尾から最新の画像データ(即ち、画像データ9)を取得し、画像データ7及び画像データ8(画像データ7及び画像データ8は処理されていないが、実際に処理されることがなく、スキップされため、画像データ7及び画像データ8を処理済み画像データに決定する)をスキップする。
【0049】
同じように、
図4に示すように、画像データ9を処理するとき、トラフィックサーバーは画像データ10及び画像データ11(
図4において記号10、11で示す)を持続的に受信して、受信キュー40bを取得し、そうすれば、オブジェクトの画像データ9におけるオブジェクト領域を抽出した場合、受信キュー40bの末尾の画像データ(即ち、最後受信タイムスタンプを有する画像データ11)を取得し、トラフィックサーバーは画像データ10をスキップして、画像データ11に対して復号及び画像認識処理を行う。同じように、画像データ11を処理するとき、トラフィックサーバーは他の画像データを持続的に受信して、受信キュー40cを取得し、画像データ11を処理した後でも、受信キュー40cの末尾の画像データを取得し、このように繰り返して実行し、当該過程について、ここでは繰り返さない。
【0050】
ここで、1つの画像データを処理するたびに、前に並んでいる画像データ(即ち、処理済み画像データ)をクリアし、これによって、受信キューの記憶空間を広げる。例えば、受信キュー40aにおける処理済み画像データには画像データ1~画像データ5が含まれると、画像データ1~画像データ5を削除し、この場合、受信キュー40aには画像データ6~画像データ9のみが含まれる。言い換えると、1つの画像データを処理するたびに、受信キューから最後受信タイムスタンプを有する画像データを取得してから、当該画像データの前(即ち、受信タイムスタンプが当該画像データより早い)に並んでいる画像データ(履歴画像データと呼ばれてもよい)を削除する。例えば、受信キュー40aから画像処理対象となる画像データ9を取得した場合、画像データ9の前の履歴画像データ(画像データ1~画像データ8を含む)を既に削除した。
【0051】
つまり、第1の画像データにおける第1のオブジェクト領域を抽出した場合、処理済み画像データ(第1の画像データを含む)をクリアして、残りの未処理画像データから最後受信タイムスタンプを有する第2の画像データを取得する。同じように、第1の画像データにおける第1のオブジェクト領域を抽出した場合、最後受信タイムスタンプを有する第2の画像データを取得してから、受信タイムスタンプが当該第2の画像データより早い履歴画像データを削除してクリアする(即ち、更新受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得してから、第2の画像データに対して画像認識処理を行って、更新受信キューにおける履歴画像データを同期に削除し、履歴画像データは、更新受信キューにおける、受信タイムスタンプが第2の画像データより早い画像データである)。ここで、どのキューのクリア方式でも、何れもキューの記憶空間を改善するためであり、本出願はキューのクリア方式を具体的に限定しない。
【0052】
ここで、トラフィックサーバーは第1のクライアントから送信された符号化コードストリーム(即ち、画像データ)を受信した後、復号及び画像認識処理(以下、画像処理と呼ばれる)の期間が、両フレーム画像データの受信間隔期間より大きい場合(例えば、画像処理の期間は30msであり、両フレーム画像データの受信間隔期間は10msである)、受信キューが存在しないとき、第1のクライアントはトラフィックサーバーが現在の画像データに対して画像処理を行うようにずっと待つため、画像データの伝送遅延を大幅に増加させ、画像データの伝送効率に大きく影響する。本出願において、受信キューによって画像データを記憶して、画像処理の過程で、トラフィックサーバーは第1のクライアントから送信される画像データを持続的に受信するが、トラフィックサーバーが画像データに対して順に画像処理を行うと、トラフィックサーバーが認識した画像データはオブジェクトの最新状態にあまりマッチングしておらず、トラフィックサーバーが認識した画像データは大きく遅れるため、フレームスキップ処理によって、トラフィックサーバーによる毎回の画像処理は、何れも最新の画像データに対して画像処理を行って、画像認識遅延を低減して、また、トラフィックサーバーの高いコンピューティング能力によって、画像認識効率を向上できる。
【0053】
本出願の実施例において、クライアント(例えば、第1のクライアント)は、オブジェクトが含まれる第1の画像データを取得した場合、当該第1の画像データを関連コンピュータ機器(例えば、トラフィックサーバー)に送信し、当該トラフィックサーバーは画像認識処理を行って、第1のクライアントのロカールで画像認識を行う必要がなく、高いコンピューティング能力を具備するトラフィックサーバーによって、第1の画像データに対して画像認識処理を行って、画像認識効率及び鮮明さを向上できる。また、本出願において、トラフィックサーバーは受信した第1の画像データを受信キューに記憶し、第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に第2の画像データを同期に取得して、当該第2の画像データを受信キューに記憶して、更新受信キューを取得する。つまり、本出願におけるトラフィックサーバーは第1の画像データに対して画像認識処理を行うとき、第2の画像データの受信を一時停止せず、受信キューによって画像処理と画像受信との同期進行を実現でき、これによって、画像伝送遅延を低減できる。さらに、トラフィックサーバーは画像認識処理によってオブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、当該第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信して、ターゲットクラウドアプリケーションサーバーはレンダリングを行って、レンダリングによるレンダリングデータを第1のクライアントに送信して、クラウドアプリケーションに表示できる。また、第1のオブジェクト領域を抽出した後、トラフィックサーバーは、受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得でき、当該第2の画像データを引き続いて処理する。これから分かるように、本出願において、ある画像データに対して画像認識処理を行った後、受信キューから最後受信タイムスタンプを有する画像データを取得して処理し、受信タイムスタンプの時間順序に従って画像データを一々認識するのではなく、画像データに対する認識効率を向上でき、また、最後受信タイムスタンプを有する画像データはオブジェクトの現在行為に基づいて収集されるため、最後受信タイムスタンプを有する画像データに対して画像認識及び表示を行う場合でも、オブジェクトの現在行為にマッチングする。以上のように、本出願は画像認識効率を向上して、画像伝送の遅延を減少し、クラウドアプリケーションに表示される仮想オブジェクトの仮想行為がオブジェクトの現在行為状態にマッチングすることを保証できる。
【0054】
図5を参照し、
図5は本出願の実施例が提供するデータ処理方法のフロー概略図である。当該フローは上記の
図3に対応する実施例に対応し、オリジナル画像フレームに対して画像認識処理を行って、第1のオブジェクト領域を決定するフローについて、
図5を参照すればよく、当該フローは少なくとも以下のS501~S503を含む。
【0055】
S501:オブジェクトのオリジナル画像フレームにおけるオブジェクトエッジキーポイントを認識する。
【0056】
ここで、オブジェクトエッジキーポイントはオブジェクトのオブジェクト輪郭キーポイントであり、オリジナル画像フレームにオブジェクトのキー部位が含まれると、オブジェクト輪郭キーポイントはキー部位の輪郭キーポイントであってもよい。キー部位が頭部であれば、オブジェクトエッジキーポイントは頭部輪郭のキーポイントであり、キー部位が首部であれば、オブジェクトエッジキーポイントは首部輪郭のキーポイントである。
【0057】
オブジェクトのオブジェクトエッジキーポイントの認識は人工知能アルゴリズム、専用のグラフィックス処理装置(Graphics Processing Unit、GPU)などによって行われてもよく、これに対して本出願は限定しない。
【0058】
S502:オブジェクトエッジキーポイントを接続して、オブジェクトのオブジェクトエッジ曲線を取得する。
【0059】
オブジェクトエッジキーポイントを決定した後、これらのオブジェクトエッジポイントを接続する(例えば、隣接する2つのポイントごとに接続する)ことで、オブジェクトに対応するオブジェクトエッジ曲線(オブジェクト輪郭)を取得する。例示的に、上記の
図2aのシナリオ実施例を参照して、
図2aの曲線P1はオブジェクトaのオブジェクト輪郭である。
【0060】
S503:オリジナル画像フレームにおける、オブジェクトエッジ曲線がカバーする領域を、オブジェクトのオリジナル画像フレームにおける初期オブジェクト領域に決定して、初期オブジェクト領域に基づいて第1のオブジェクト領域を決定する。
【0061】
オブジェクトaのオブジェクトエッジ曲線を決定した後、オリジナル画像フレームからオブジェクトエッジ曲線がカバーした領域を決定でき、当該領域を、当該オブジェクトがオリジナル画像フレームにおいて所在する第1のオブジェクト領域とする。例えば、上記の
図2aのシナリオ実施例を参照し、
図2aに示すように、オリジナル画像フレーム20aにおいて、オブジェクトエッジ曲線P2がカバーした領域は領域P2(当該領域P2はオブジェクトaが所在する領域である)であり、当該領域P2を、オブジェクトがオリジナル画像フレームにおいて所在する領域(ここで、第1のオブジェクト領域と呼ばれてもよい)に決定する。
【0062】
可能な実施例において、上記のオブジェクトエッジ曲線がカバーする領域は、初期オブジェクト領域とも呼ばれ、初期オブジェクト領域を決定した後、しばらく初期オブジェクト領域を最終の第1のオブジェクト領域に決定せず、初期オブジェクト領域に基づいて第1のオブジェクト領域を決定し、その具体的な方法は以下の通りであり、初期オブジェクト領域に表示されるオブジェクトのオブジェクトキー部位を取得してから、オブジェクトに対するオブジェクト認識配置情報、及びオブジェクト認識配置情報が指示するオブジェクト認識配置部位を取得し、オブジェクト認識配置部位をオブジェクトキー部位にマッチングし、オブジェクト認識配置部位がオブジェクトキー部位にマッチングすると、初期オブジェクト領域に基づいて第1のオブジェクト領域を決定するステップを実行し、オブジェクト認識配置部位がオブジェクトキー部位にマッチングしないとき、画像認識処理によって第1のオブジェクト領域を抽出できないと決定する。
【0063】
ここで、オブジェクトの初期オブジェクト領域を決定した後、初期オブジェクト領域に表示されるオブジェクトのオブジェクトキー部位(オブジェクトキー部位はオブジェクトの身体部位、例えば頭部、首部、腕部、腹部、脚部、足部などであってもよい)を取得してから、オリジナル画像フレームに含まれる必要があるオブジェクトのオブジェクト認識配置部位(つまり、認識ルールであり、当該認識ルールは、端末機器が収集したオリジナル画像フレームに含まれる必要があるオブジェクトの部位を規定する)を取得する。オブジェクト認識配置部位が脚部であることを例として、端末機器が収集したオリジナル画像フレームにユーザーの脚部が含まれる必要があると規定すると、受信した画像データに対して復号及び画像認識処理を行った後、抽出した初期オブジェクト領域に表示されるオブジェクトキー部位は頭部及び首部であり、そうすれば、当該オブジェクトキー部位(頭部及び首部)がオブジェクト認識配置部位(脚部)にマッチングせず、当該オリジナル画像フレームに表示されるオブジェクトのキー部位が要求に合わないと決定し、この場合、画像認識処理によって第1のオブジェクト領域を抽出できないと直接的に決定できる(つまり、部位が要求に合わなく、抽出に失敗する)。端末機器が収集したオリジナル画像フレームにユーザーの脚部が含まれる必要があると規定すると、受信した画像データに対して復号及び画像認識処理を行った後、抽出した初期オブジェクト領域に表示されるオブジェクトキー部位は脚部であれば、当該オリジナル画像フレームに表示されるオブジェクトのキー部位が要求に合うと決定でき、この場合、初期オブジェクト領域を第1のオブジェクト領域に決定する。
【0064】
可能な実施例の実行において、上記の紹介によれば、オブジェクト認識配置部位がオブジェクトキー部位にマッチングしておらず、画像認識処理によって上記第1のオブジェクト領域を抽出できないと決定した後、トラフィックサーバーは更新受信キューにおける現在画像データの次の画像データを取得して、次の画像データに対して画像処理を行う。例えば、現在画像データが第1の画像データであれば、受信キューにおける第1の画像データの次の画像データ(即ち、受信タイムスタンプが第1の画像データより遅い画像データにおける、最初受信タイムスタンプを有する画像データである)を取得してから、トラフィックサーバーは当該次の画像データに対して画像処理を行う。その具体的な方法は以下の通りであり、即ち、更新受信キューにおける最初受信タイムスタンプを有する第2の画像データを、認識対象となる画像データに決定し、そして、認識対象となる画像データに対して画像認識処理を行って、画像認識処理によってオブジェクトが認識対象となる画像データにおいて所在する処理対象となるオブジェクト領域を抽出した場合、処理対象となるオブジェクト領域をターゲットクラウドアプリケーションサーバーに送信する。
【0065】
実際に、トラフィックサーバーの、現在の画像データ(例えば、第1の画像データ)に対する画像処理期間が十分に短く、効率が十分に速い場合、画像認識処理によって上記第1のオブジェクト領域を抽出できないと決定した後、現在画像データの次の画像データ(最初受信タイムスタンプを有する画像データ)を取得して、次の画像データに対して画像処理を行う。その目的は以下の通りであり、即ち、ユーザーが1つの動作を実行した場合、第1のクライアントは画像フレームを取得して符号化を行った後、トラフィックサーバーに送信し、トラフィックサーバーは、それに含まれるオブジェクトキー部位が規範に合わず、オブジェクト領域及びそのオブジェクト領域に含まれる画像データを抽出できないと迅速に認識した場合、クラウドアプリケーションサーバーは抽出したオブジェクト画像データを受信できないため、それに対してレンダリングして表示できず、この場合、トラフィックサーバーは次の画像データに対して画像処理を行って次の画像データのオブジェクト領域を抽出してから、それに含まれるオブジェクト画像データをクラウドアプリケーションサーバーに送信し、レンダリングして出力する。これによって、クラウドアプリケーションに表示されるユーザー人物画像のジャンピングを減少して、その連続性を高める。無論、以上で画像認識処理によって第1のオブジェクト領域を抽出できないと決定した後、直接的に現在の更新受信キューから、最後受信タイムスタンプを有する第2の画像データ(最初受信タイムスタンプを有する画像データではない)を取得して、画像処理を行ってもよい。どの取得方式でも、何れも画像認識処理によって上記第1のオブジェクト領域を抽出できないと決定した後の可能な処理方式であり、その具体的な処理方式について、実際の状況に応じて手動で設置すればよく、これに対して本出願は限定しない。
【0066】
可能な実施例の実行において、上記の紹介によれば、オブジェクト認識配置部位がオブジェクトキー部位にマッチングすると決定した場合、直接的に初期オブジェクト領域を第1のオブジェクト領域に決定してもよい。また、オブジェクト認識配置部位がオブジェクトキー部位にマッチングすると決定する場合、第1のオブジェクト領域を決定する具体的な方法は以下の通りであってもよく、初期オブジェクト領域に表示されるオブジェクトのオブジェクトキー部位を取得し、オブジェクトキー部位が部位完全性を具備すると、初期オブジェクト領域を第1のオブジェクト領域に決定し、オブジェクトキー部位が部位完全性を具備していないとき、サンプルデータベースにおけるN個(Nは正の整数である)のサンプル画像フレームを取得し、N個のサンプル画像フレームからオブジェクトに対応する処理対象となるサンプル画像フレームを取得し、処理対象となるサンプル画像フレーム及び初期オブジェクト領域に基づいて第1のオブジェクト領域を決定する。
【0067】
なお、処理対象となるサンプル画像フレーム及び初期オブジェクト領域に基づいて第1のオブジェクト領域を決定する具体的な方法は以下の通りであり、処理対象となるサンプル画像フレームにおける全体部位情報を取得してから、オブジェクトキー部位に基づいて、全体部位情報から融合対象となる部位領域を決定し、融合対象となる部位領域と初期オブジェクト領域とを融合させて、第1のオブジェクト領域を取得できる。
【0068】
ここで、本出願はユーザー全体の完全な人物画像サンプルデータ(頭部から足部までの完全な人物画像サンプルデータ)を予め収集し、1のユーザーは1つのサンプル画像フレームに対応し、1つのサンプル画像フレームには1のユーザーの完全な全体人物画像データが表示される。そうすれば、初期オブジェクト領域を抽出して、オブジェクト認識配置部位がオブジェクトキー部位にマッチングすると決定した場合、当該オブジェクトキー部位が部位完全性を具備するかどうかを決定でき、部位完全性を具備すると、直接的に当該初期オブジェクト領域を第1のオブジェクト領域に決定し、当該オブジェクトキー部位が完全性を具備していないとき、サンプルデータベースにおける、当該オブジェクトに対応する処理対象となるサンプル画像フレームを取得してから、当該処理対象となるサンプル画像フレームから、オブジェクトの全体部位情報を取得し、当該全体部位情報に従って、当該初期オブジェクト領域を完全になるように補充して、完全部位が含まれる完全な第1のオブジェクト領域を取得する。
【0069】
理解しやすくするために、
図6を併せて参照し、
図6は本出願の実施例が提供する部位融合のシナリオ概略図である。
図6に示すように、初期オブジェクト領域は初期オブジェクト領域600aであり、初期オブジェクト領域600aに表示されるオブジェクトキー部位は頭部、首部、腕部、胸部、腹部(つまり、ユーザーの上半身部位)を含み、オブジェクト認識配置部位もユーザーの上半身部位であり、つまり、第1のクライアントはユーザーの上半身部位を収集する必要があると、当該初期オブジェクト領域は要求に合う。さらに、当該オブジェクトキー部位が部位完全性を具備するかどうかを決定し、この場合、部位完全性はユーザーの全体的な人物画像完全性(即ち、上半身部位及び下半身部位を含み、つまり、頭部から足部まで)であると規定すれば、当該初期オブジェクト領域600aに表示されるオブジェクトキー部位は部位完全性を具備していない。この場合、トラフィックサーバー1000はサンプルデータベースにおける、当該オブジェクトに対応する処理対象となるサンプル画像フレーム(例えば、処理対象となるサンプル画像フレーム600b)を取得する。
図6に示すように、当該処理対象となるサンプル画像フレームに表示される全体部位情報はオブジェクトの頭部から足部までの完全な情報を含み、この場合、初期オブジェクト領域600aには上半身部位が既に含まれているため、当該処理対象となるサンプル画像フレームにおける下半身部位を、融合対象となる部位領域(即ち、領域600c)に決定して、当該融合対象となる部位領域600cを抽出する。さらに、当該融合対象となる部位領域600cと初期オブジェクト領域600aとを融合させ(例えば、スティッチング)、上半身部位及び下半身部位が含まれる第1のオブジェクト領域600dを取得する。ここで、ユーザーの全体部位情報(例えば、頭部から足部まで)を事前に収集することで、第1のクライアントはユーザーの画面を取得するたびに、ユーザーが毎回、完全部位を収集することができる固定の位置に立つように厳しく要求する必要がなく、ユーザーが柔軟に移動でき、第1のクライアントは一部の部位情報を取得すればよく、トラフィックサーバーは第1のクライアントの一部の部位情報を取得した後、事前に収集した全体部位情報に基づいて補充及びスティッチングを行って、完全な部位を取得でき、このような方式でユーザーのエクスペリエンス及び没入感を向上できる。
【0070】
ここで、上記の過程で、部位完全性はユーザーの上半身部位の完全性であると規定すれば、初期オブジェクト領域600aに表示されるオブジェクトキー部位は実際に、部位完全性を既に具備し、そうすれば、直接的に当該初期オブジェクト領域600aを第1のオブジェクト領域に決定する。
【0071】
上記のサンプルデータベースにおける、当該オブジェクトに対応する処理対象となるサンプル画像フレームを取得する具体的な方法は以下の通りであり、顔マッチングの方式を使用してもよく、ユーザーのサンプル画像フレームを収集するとき、ユーザー識別子(例えば、ユーザー名称、ユーザー番号など)によって対応するサンプル画像フレームをマッキングすることで、各サンプル画像フレームに何れか1つのユーザー識別子(サンプル識別子とも呼ばれる)を具備させる。トラフィックサーバーに画像データを送信するとき、第1のクライアントは当該画像データに含まれるユーザー識別子を携帯して送信し、そうすれば、トラフィックサーバーは携帯されたユーザー識別子及びサンプル画像フレームのサンプル識別子によって、対応する処理対象となるサンプル画像フレームをマッチングする。サンプルデータベースにおける、当該オブジェクトに対応する処理対象となるサンプル画像フレームを取得する具体的な実現形態は、上記に記載の形態に限定されず、本出願はその具体的な実現形態を限定しない。
【0072】
本出願の実施例において、クライアント(例えば、第1のクライアント)は、オブジェクトが含まれる第1の画像データを取得した場合、当該第1の画像データを関連コンピュータ機器(例えば、トラフィックサーバー)に送信し、当該トラフィックサーバーは画像認識処理を行って、クライアントのロカールで画像認識を行う必要がなく、高いコンピューティング能力を具備するトラフィックサーバーによって、第1の画像データに対して画像認識処理を行って、画像認識効率及び鮮明さを向上できる。また、本出願において、トラフィックサーバーは受信した第1の画像データを受信キューに記憶し、第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に第2の画像データを同期に取得して、当該第2の画像データを受信キューに記憶して、更新受信キューを取得する。つまり、本出願におけるトラフィックサーバーは第1の画像データに対して画像認識処理を行うとき、第2の画像データの受信を一時停止せず、受信キューによって画像処理と画像受信との同期進行を実現でき、これによって、画像伝送遅延を低減できる。さらに、トラフィックサーバーは画像認識処理によってオブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、当該第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信して、ターゲットクラウドアプリケーションサーバーはレンダリングを行って、レンダリングによるレンダリングデータを第1のクライアントに送信して、クラウドアプリケーションに表示できる。また、第1のオブジェクト領域を抽出した後、トラフィックサーバーは、受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得でき、当該第2の画像データを引き続いて処理する。これから分かるように、本出願において、ある画像データに対して画像認識処理を行った後、受信キューから最後受信タイムスタンプを有する画像データを取得して処理しており、受信タイムスタンプの時間順序に従って画像データを一々認識していないため、画像データに対する認識効率を向上でき、また、最後受信タイムスタンプを有する画像データはオブジェクトの現在行為に基づいて収集されるため、最後受信タイムスタンプを有する画像データに対して画像認識及び表示を行う場合でも、オブジェクトの現在行為にマッチングする。以上のように、本出願は画像認識効率を向上して、画像伝送の遅延を減少し、クラウドアプリケーションに表示される仮想オブジェクトの仮想行為がオブジェクト現在行為状態にマッチングすることを保証できる。
【0073】
可能な実施例において、各クライアントが初めてクラウドアプリケーションを実行する場合、各クライアントに対応するクラウドアプリケーションサーバーはトラフィックサーバーに登録要求を送信し、当該登録要求はトラフィックサーバーに機器を登録するように要求し、登録した後、トラフィックサーバーはクラウドアプリケーションサーバーに対応する機器識別子を記憶済み機器識別子セットに追加することで、当該クラウドアプリケーションサーバーが登録済みクラウドアプリケーションサーバーであることを証明する。登録済みクラウドアプリケーションサーバーである場合、合法的なクラウドアプリケーションサーバーであることを示し、この場合、トラフィックサーバーは合法的なクラウドアプリケーションサーバーとデータインタラクションを行うことができる。そうすれば、第1のクライアントはトラフィックサーバーに画像データ(例えば第1の画像データ)を送信するとき、バインディング関係を有するクラウドアプリケーションサーバー(バインディングクラウドアプリケーションサーバーとも呼ばれる)の機器識別子(確認対象となる機器識別子とも呼ばれる)を携帯するように送信することで、トラフィックサーバーは機器識別子によって登録されているかどうか(合法であるかどうか)を確認し、当該バインディングクラウドアプリケーションサーバーが登録されていると決定した場合、当該バインディングクラウドアプリケーションサーバーをターゲットクラウドアプリケーションサーバーに決定して、第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する。つまり、以上のように第1のオブジェクト領域を決定した後、トラフィックサーバーはターゲットクラウドアプリケーションサーバーに第1のオブジェクト画像データを送信する前、まず、当該第1のクライアントに対応するクラウドアプリケーションサーバーが登録されているかどうかを決定し、登録されていると決定した場合、当該第1のオブジェクト画像データを対応するターゲットクラウドアプリケーションサーバーに送信する。
【0074】
理解しやすくするために、
図7を参照し、
図7は本出願の実施例が提供する第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信するフロー概略図である。当該フローは、第1の画像データに確認対象となる機器識別子(確認対象となる機器識別子はバインディングクラウドアプリケーションサーバーの機器識別子であり、バインディングクラウドアプリケーションサーバーと第1のクライアントとはバインディング関係を有する)が携帯されることを例として説明し、
図7に示すように、当該フローは少なくとも以下のS701~S704を含む。
【0075】
S701:記憶済み機器識別子セットを取得し、記憶済み機器識別子セットはM個の記憶済み機器識別子を含み、1つの記憶済み機器識別子は1つの登録済みクラウドアプリケーションサーバーに対応し、Mは正の整数である。
【0076】
各クライアントがクラウドアプリケーションを実行する場合(一般的に初めてクラウドアプリケーションを実行する場合)、各クライアントに対応するクラウドアプリケーションサーバーはトラフィックサーバーに登録要求を送信し、当該登録要求は、トラフィックサーバーに機器を登録するように要求し、登録した後、トラフィックサーバーはクラウドアプリケーションサーバーに対応する機器識別子を記憶済み機器識別子セットに追加し、これによって、当該クラウドアプリケーションサーバーが登録済みクラウドアプリケーションサーバーであることを証明できる。クライアントが第2のクライアントであることを例とし、その具体的な方法は以下の通りであり、ユーザーがクライアントを使用してクラウドアプリケーションを起動させた場合、当該第2のクライアントは当該アプリケーション起動操作に応答して、アプリケーション起動通知を生成し、当該アプリケーション起動通知を対応するクラウドアプリケーションサーバー(登録対象となるクラウドアプリケーションサーバーとも呼ばれる)に送信し、この場合、当該登録対象となるクラウドアプリケーションサーバーはアプリケーション起動通知に基づいてトラフィックサーバーに登録要求を送信し、トラフィックサーバーは登録対象となるクラウドアプリケーションサーバーから送信された登録要求を受信して、登録要求に基づいて、登録対象となるクラウドアプリケーションサーバーの機器指標情報を検出し、機器指標情報が処理品質条件を満たしている場合、登録対象となるクラウドアプリケーションサーバーの記憶対象となる機器識別子を取得して、記憶済み機器識別子セットに記憶し、登録対象となるクラウドアプリケーションサーバーを登録済みクラウドアプリケーションサーバーに変換して、記憶対象となる機器識別子を記憶済み機器識別子に変換する。
【0077】
なお、機器指標情報はネットワーク品質パラメータ、機器バージョン、機能モジュール品質指標、記憶空間指標などを含み、機器指標情報の検出は、ある指標が合格であるかどうかを検出することであってもよく、例えば、ネットワーク品質パラメータが合格であるかどうかを検出し、当該ネットワーク品質パラメータが合格であれば、当該登録対象となるクラウドアプリケーションサーバーの機器指標情報が処理品質条件を満たすとみなし、機器指標情報の検出はさらに、2つ又は2つ以上の指標が何れも合格であるかどうかを検出することであってもよく、何れも合格であるという条件のみで、当該登録対象となるクラウドアプリケーションサーバーの機器指標情報が処理品質条件を満たしていると確認する。
【0078】
以下、機器指標情報がネットワーク品質パラメータ及び機器バージョンを含むことを例として、登録対象となるクラウドアプリケーションサーバーの機器指標情報を検出する具体的な方法を説明し、その具体的な方法は以下の通りであり、登録要求に基づいて、登録対象となるクラウドアプリケーションサーバーのネットワーク品質パラメータ及び機器バージョンを取得し、ネットワーク品質パラメータがパラメータ閾値に達して、且つ機器バージョンが品質標準バージョン(品質合格バージョン)にマッチングすると、機器指標情報が処理品質条件を満たしていると決定し、ネットワーク品質パラメータがパラメータ閾値に達していないか、又は機器バージョンが品質標準バージョンにマッチングしていないとき、機器指標情報が処理品質条件を満たしていないと決定する。
【0079】
以上から分かるように、記憶済み機器セットには、異なる登録済みクラウドアプリケーションサーバーに対応する記憶済み機器識別子が記憶されており、第1のクライアントから送信された確認対象となる機器識別子を取得した後、記憶済み機器識別子セットを取得して、確認対象となる機器識別子を記憶済み機器識別子セットにマッチングできる。
【0080】
S702:M個の記憶済み機器識別子に、確認対象となる機器識別子にマッチングする記憶済み機器識別子が存在するかどうかを決定する。
【0081】
YESであれば、以降のS703を実行し、NOであれば、以降のS704を実行する。
【0082】
S703:M個の記憶済み機器識別子に、確認対象となる機器識別子にマッチングする記憶済み機器識別子が存在すると、確認対象となる機器識別子が指示するバインディングクラウドアプリケーションサーバーは登録済みクラウドアプリケーションサーバーに属すると決定し、確認対象となる機器識別子が指示するバインディングクラウドアプリケーションサーバーをターゲットクラウドアプリケーションサーバーに決定し、第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する。
【0083】
確認対象となる機器識別子をM個の記憶済み機器識別子にマッチングし、M個の記憶済み機器識別子に、確認対象となる機器識別子にマッチングする記憶済み機器識別子が存在すると、確認対象となる機器識別子が指示するバインディングクラウドアプリケーションサーバーは登録済みクラウドアプリケーションサーバーに属すると決定し、この場合、当該バインディングクラウドアプリケーションサーバーを当該ターゲットクラウドアプリケーションサーバーに決定し、当該第1のオブジェクト画像データを当該ターゲットクラウドアプリケーションサーバーに送信する。
【0084】
S704:M個の記憶済み機器識別子に記憶済み機器識別子が存在していないとき、機器異常プロンプト情報を生成して第1のクライアントに送信する。
【0085】
確認対象となる機器識別子をM個の記憶済み機器識別子にマッチングし、記憶済み機器識別子セットに、確認対象となる機器識別子にマッチングする記憶済み機器識別子が存在していないとき、確認対象となる機器識別子が指示するバインディングクラウドアプリケーションサーバーは未登録クラウドアプリケーションサーバーに属し、当該バインディングクラウドアプリケーションサーバーは登録されていないと決定し、当該トラフィックサーバーは当該第1のオブジェクト画像データを当該バインディングクラウドアプリケーションサーバーに送信できない。この場合、トラフィックサーバーは機器異常プロンプト情報(サーバー未登録プロンプト情報)を生成し、トラフィックサーバーは当該機器異常プロンプト情報を第1のクライアントに戻し、第1のクライアントは当該機器異常プロンプト情報に基づいて対応するバインディングクラウドアプリケーションサーバーに登録通知を送信し、バインディングクラウドアプリケーションサーバーは当該登録通知に基づいてトラフィックサーバーに登録を要求する。
【0086】
ここで、実際に、トラフィックサーバーに画像データを送信するクライアントは上記の第1のクライアントに限定されず、異なるクライアントを有してもよく、異なるクライアントに対応するクラウドアプリケーションサーバーも異なるため、トラフィックサーバーに登録するクラウドアプリケーションサーバーも複数ある(トラフィックサーバーに接続される複数のクラウドアプリケーションサービスが存在する)。そうすれば、本出願において、記憶済み機器識別子セットを予め記憶して、クライアントが画像データを送信するとき、その対応するクラウドゲームサーバーの機器識別子を携帯して送信することで、クライアントとクラウドアプリケーションサーバーとの間の対応関係を決定できるとともに、当該クラウドアプリケーションサーバーが登録されているかどうかを決定でき、これによって、クライアントが収集したユーザー画面を正確な登録済みクラウドアプリケーションサーバーに送信して、クラウドアプリケーションに表示されるユーザー画面の正確性を向上する。
【0087】
ここで、各クラウドアプリケーションサーバー、例えばターゲットクラウドアプリケーションサーバーにとって、トラフィックサーバーから伝送される人物画像データ(つまり、オブジェクト画像データ、例えば第1のオブジェクト画像データ)を受信する場合、通常の処理ステップは以下の3つを含む。
1.受信バッファゾーンを割り当て、人物画像データ(上記の第1のオブジェクト画像データ)を受信バッファゾーンに書き込む。
2.受信を完成した後、人物画像データをコピーして処理及びレンダリングを行う。
3.レンダリングを完成した後、ステップ1に戻る。
【0088】
つまり、ターゲットクラウドアプリケーションサーバーはまず、人物画像データをバッファゾーンに書き込んで、人物画像データを読み取ってレンダリングし、レンダリングが完成した後、人物画像データを引き続いて受信してバッファゾーンに書き込む。解像度が高い人物画像データに対して、受信されるデータ量が多いため、ターゲットクラウドアプリケーションサーバーがバッファゾーンを割り当て、データをコピーするとき、大量の時間を消費し、以降の人物画像データの受信時間に大きく影響して、大量の遅延を招致する。このように、上記のトラフィックサーバーのフレームスキップ処理によってトラフィックサーバー側の画像受信遅延を低減できるが、クラウドアプリケーションサーバー側には、依然に遅延問題が存在する。遅延をさらに低減するために、本出願はデータ処理方法を提供し、当該方法は、クラウドアプリケーションサーバー側にダブルバッファゾーンを割り当てる。理解しやすくするために、
図8を併せて参照し、
図8は本出願の実施例が提供するデータ処理方法のフロー概略図であり、当該フローはコンピュータ機器によって実行され、当該コンピュータ機器はターゲットクラウドアプリケーションサーバー、例えばクラウドゲームサーバーであってもよく、当該フローは、ターゲットクラウドアプリケーションサーバーがオブジェクト画像データを受信した後のデータ処理過程に対応する。
図8に示すように、当該フローは少なくとも以下のS801~S804を含む。
【0089】
S801:トラフィックサーバーから送信された第1のオブジェクト画像データを受信して、バッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶し、第1のオブジェクト画像データは第1のオブジェクト領域に含まれる画像データであり、第1のオブジェクト領域は、トラフィックサーバーが第1の画像データに対して画像認識処理を行った後に取得したオブジェクトが第1の画像データにおいて所在する領域であり、第1の画像データは第1のクライアントからトラフィックサーバーに送信され、第1のクライアントがクラウドアプリケーションを実行する場合取得したオブジェクトが含まれる画像データである。
【0090】
第1のオブジェクト領域、第1のオブジェクト画像データの決定及び抽出過程について、上記の
図3に対応する実施例のS102の記載を参照すればよく、ここでは繰り返さない。第1のオブジェクト領域を抽出して、第1のオブジェクト画像データを取得した後、トラフィックサーバーは当該第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信し、ターゲットクラウドアプリケーションサーバーは当該第1のオブジェクト画像データをバッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶する。
【0091】
なお、ターゲットクラウドアプリケーションサーバーは同じサイズを有する2つの受信バッファゾーン(Buffer)を予め割り当て、その一方のバッファゾーンの動作状態を記憶状態に設置し、つまり、当該バッファゾーンは実際に記憶バッファゾーンであり、ターゲットクラウドアプリケーションサーバーは受信したデータを当該記憶バッファゾーンに記憶し、その同時に、他方のバッファゾーンの動作状態を読取状態に設置し、つまり、当該バッファゾーンは実際に読取バッファゾーンであり、データを読み取ってレンダリングする必要がある場合、ターゲットクラウドアプリケーションサーバーは当該読取バッファゾーンから読み取る。
【0092】
2つのバッファゾーンを例として、ダブルバッファゾーンを割り当て、バッファゾーンセットを生成する具体的な方法は以下の通りであり、第1のバッファゾーン及び第2のバッファゾーンを予め割り当て、そして、第1のバッファゾーンの初期ポインタ識別子を記憶ポインタ識別子に設置して、第2のバッファゾーンの初期ポインタ識別子を読取ポインタ識別子に設置し、ここで、記憶ポインタ識別子を有する第1のバッファゾーンの動作状態は記憶状態であり、読取ポインタ識別子を有する第2のバッファゾーンの動作状態は読取状態であり、その後、動作状態が記憶状態にある第1のバッファゾーン、及び動作状態が読取状態にある第2のバッファゾーンに基づいて、バッファゾーンセットを生成する。この場合、第1のオブジェクト画像データを受信したとき、第1のバッファゾーンの動作状態が記憶状態にあるため、当該第1のオブジェクト画像データを第1のバッファゾーンに記憶する。
【0093】
S802:バッファゾーンセットにおける、動作状態が読取状態にある第2のバッファゾーンに未処理オブジェクト画像データが含まれていない場合、第1のバッファゾーンの動作状態を読取状態に調整し、第2のバッファゾーンの動作状態を記憶状態に調整し、動作状態が読取状態にある第1のバッファゾーンから第1のオブジェクト画像データを読み取って、第1のオブジェクト画像データに対してレンダリング処理を行う。
【0094】
上記の紹介によれば、第1のバッファゾーンの初期動作状態は記憶状態であり、当該第2のバッファゾーンの初期動作状態は読取状態であると、当該第1の画像データを受信して記憶するとき、ターゲットクラウドアプリケーションサーバーは第2のバッファゾーンに記憶されたデータ(記憶済み画像データとも呼ばれる)を同期に読み取ってレンダリングする。この際、当該第2のバッファゾーンに画像データが記憶されていないとき、当該第2のバッファゾーンには未処理オブジェクト画像データが含まれず、当該第1のオブジェクト画像データを第1のバッファゾーンに記憶した後、当該第1のバッファゾーンの記憶ポインタ識別子を読取ポインタ識別子に切り替え、当該第2のバッファゾーンの記憶ポインタ識別子を記憶ポインタ識別子に切り替え、そうすれば、当該第1のバッファゾーンと第2のバッファゾーンの動作状態とは交換され、第1のバッファゾーンの現在動作状態は読取状態になり、第2のバッファゾーンの現在動作状態は記憶状態になり、この場合、第1のバッファゾーンから当該第1のオブジェクト画像データを読み取って、レンダリング処理を行うとともに、第2のオブジェクト画像データを引き続いて受信して第2のバッファゾーンに記憶する。
【0095】
ここで、ダブルバッファゾーンを設置することで、ターゲットクラウドアプリケーションサーバーはレンダリングの完成を待つ必要がなく、残りのデータを受信し、読み取りと受信との同期を実現でき、受信遅延を大幅に低減できる。
【0096】
ここで、上記の紹介によれば、第1のバッファゾーンの初期動作状態は記憶状態であり、当該第2のバッファゾーンの初期動作状態は読取状態であると、当該第1の画像データを受信して記憶するときターゲットクラウドアプリケーションサーバーは第2のバッファゾーンに記憶されたデータ(記憶済み画像データとも呼ばれる)を同期に読み取ってレンダリングする。当該第2のバッファゾーンに画像データが記憶されているが、全ての画像データの読み取り及びレンダリングが完成した場合、当該第2のバッファゾーンにおける処理済みの画像データをクリアし、この場合、当該第2のバッファゾーンには未処理画像データが含まれていないと決定し、ポインタ識別子を切り替えることで、第1のバッファゾーンの動作状態を読取状態に調整して、第2のバッファゾーンの動作状態を記憶状態に調整する。そして、読取状態にある第1のバッファゾーンから当該第1のオブジェクト画像データを読み取って、レンダリング処理を行う。
【0097】
S803:第1のオブジェクト画像データのレンダリング過程で、トラフィックサーバーから送信された第2のオブジェクト画像データを受信して、動作状態が記憶状態にある第2のバッファゾーンに記憶し、第2のオブジェクト画像データは第2のオブジェクト領域に含まれる画像データであり、第2のオブジェクト領域は、トラフィックサーバーが第1のオブジェクト領域を抽出した後、第2の画像データに対して画像認識処理を行うことで取得され、第2のオブジェクト領域は、オブジェクトが第2の画像データにおいて所在する領域であり、第2の画像データは、トラフィックサーバーが第1のオブジェクト領域を抽出した場合、更新受信キューから取得された最後受信タイムスタンプを有する画像データであり、更新受信キューにおける第2の画像データは、トラフィックサーバーが第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に取得される。
【0098】
第2のオブジェクト領域は、上記のトラフィックサーバーが第2の画像データに対して画像認識処理を行った後、抽出した領域であってもよく、第2のオブジェクト画像データは、第2の画像データにおける、第2のオブジェクト領域に含まれる画像データであってもよい。その具体的な抽出方式は、第1のオブジェクト領域の抽出方式と同様であってもよく、ここでは繰り返さない。
【0099】
第1のオブジェクト画像データのレンダリング過程で、トラフィックサーバーから送信された第2のオブジェクト画像データを受信して、実際に、データを読み取る過程で、ターゲットクラウドアプリケーションサーバーはデータを同期に受信して、現在記憶状態にある第2のバッファゾーンを記憶することで、遅延を低減できる。
【0100】
S804:第1のオブジェクト画像データに対応するレンダリングデータを取得した場合、第1のバッファゾーンの動作状態を記憶状態に調整し、第2のバッファゾーンの動作状態を読取状態に調整し、動作状態が読取状態にある第2のバッファゾーンから第2のオブジェクト画像データを読み取って、第2のオブジェクト画像データに対してレンダリング処理を行う。
【0101】
第1のバッファゾーンに記憶されたデータに対する読み取り及びレンダリングが完成した場合(例えば、第1のバッファゾーンに第1のオブジェクト画像データのみが含まれると、第1のオブジェクト画像データに対応するレンダリングデータを取得した場合でも)、第1のバッファゾーンの動作状態を記憶状態に調整し、第2のバッファゾーンの動作状態を読取状態に調整し、この場合、読取状態にある第2のバッファゾーンから第2のオブジェクト画像データを読み取って、第2のオブジェクト画像データに対してレンダリング処理を行ってもよく、他のオブジェクト画像データを同期に受信して、記憶状態にある第1のバッファゾーンに記憶してもよい。なお、第1のバッファゾーンの動作状態を記憶状態に調整し、第2のバッファゾーンの動作状態を読取状態に調整する具体的な実現形態は、ポインタ識別子の切り替え形態であってもよい。その具体的な方法は以下の通りであり、第1のオブジェクト領域に対応する第1のレンダリングデータを取得した場合、第1のバッファゾーンに対応する、読取状態を表徴する読取ポインタ識別子、及び第2のバッファゾーンに対応する、記憶状態を表徴する記憶ポインタ識別子を取得し、第1のバッファゾーンに対応する読取ポインタ識別子を記憶ポインタ識別子に切り替え、記憶ポインタ識別子を有する第1のバッファゾーンの動作状態は記憶状態であり、第2のバッファゾーンの記憶ポインタ識別子を読取ポインタ識別子に切り替え、読取ポインタ識別子を有する第2のバッファゾーンの動作状態は読取状態である。
【0102】
理解しやすくするために、
図9を併せて参照し、
図9は本出願の実施例が提供するダブルバッファゾーン状態変更の概略図である。
図9に示すように、第1のバッファゾーンがバッファゾーン900aであり、第2のバッファゾーンがバッファゾーン900bであることを例として、この場合、バッファゾーン900aの動作状態は読取状態であり、当該バッファゾーン900aに記憶されるオブジェクト画像データには、オブジェクト画像データ1~オブジェクト画像データ10が含まれ、
図9において順に記号1、2、3、4、5、6、7、8、9、10で示される。当該オブジェクト画像データ1~オブジェクト画像データ7は読取済みのデータであり、オブジェクト画像データ8~オブジェクト画像データ10は読取対象となるデータである。また、当該バッファゾーン900bの動作状態は記憶状態であり、バッファゾーン900aからデータを読み取る過程で、ターゲットクラウドアプリケーションサーバーはオブジェクト画像データを持続的に受信してバッファゾーン900bに記憶し、この場合、バッファゾーン900bで受信されたデータは、オブジェクト画像データ11~オブジェクト画像データ14(バッファゾーン900bには、オブジェクト画像データを受信するための6つの残り空間位置が残っている)を含む。
【0103】
図9に示すように、バッファゾーン900aにおけるデータの読み取りが完成した(即ち、オブジェクト画像データ7~オブジェクト画像データ9の読み取りが完成した)場合、バッファゾーン900aをクリアし、この場合、当該バッファゾーン900bで受信されたデータはオブジェクト画像データ11~オブジェクト画像データ20(
図9において順に記号11、12、13、14、15、16、17、18、19、20で示めされる)を含む。さらに、バッファゾーン900aの動作状態を記憶状態に切り替え、バッファゾーン900bの動作状態を読取状態に切り替え、これによって、ターゲットクラウドアプリケーションサーバーはバッファゾーン900bからデータを読み取り(例えば、オブジェクト画像データ11から順に読み取る)、それと同時に、ターゲットクラウドアプリケーションサーバーはオブジェクト画像データを同期に受信してバッファゾーン900aに記憶する。例えば、新たなオブジェクト画像データ1~新たなオブジェクト画像データ3を受信してから、バッファゾーン900aに記憶する。
【0104】
ここで、上記のバッファゾーン900a及びバッファゾーン900bは何れも理解を容易にするための例示的説明であり、実際の参照意味を具備しない。
【0105】
本出願の実施例において、トラフィックサーバーのフレームスキップ処理によって、トラフィックサーバー側の画像受信遅延を低減して、画像認識効率を向上でき、ターゲットクラウドアプリケーションサーバーのダブルバッファゾーン割り当て処理によって、データをコピーする必要がなく、2つのバッファゾーンの動作状態を切り替えればよく(例えば、ポインタ切り替え)、毎回、バッファゾーン割り当てを行う必要もなく、また、データの受信及びデータの処理(例えば、データを読み取ってレンダリングする)は同時に行うことができ、互いに待つ必要がなく、遅延を低減できる。つまり、トラフィックサーバー側で遅延を低減する上で、ダブルバッファゾーンを設置することで、遅延をさらに低減できる。
【0106】
理解しやすくするために、
図10を併せて参照し、
図10は本出願の実施例が提供するシステムアーキテクチャ図である。
図10のシステムアーキテクチャ図はクラウドアプリケーションを例とし、クラウドアプリケーションに対応するクラウドアプリケーションサーバーはクラウドゲームサーバーであってもよい。
図10に示すように、当該システムアーキテクチャはクライアントクラスタ(クライアント1、クライアント2、...、クライアントnを含む)、トラフィックサーバー(ストリームプッシュサブサーバー及び画像認識サブサーバーを含む。当該ストリームプッシュサブサーバーはクライアントからアップロードされた画像符号化ファイルを受信して復号処理を行って、当該画像認識サブサーバーは、ストリームプッシュサブサーバーによって復号されることで取得された復号画像データに対して画像認識処理を行う)、クラウドゲームサーバーを含んでもよい。以下、具体的に記載する。
【0107】
クライアントクラスタ:各クライアントがクラウドアプリケーション(例えば、クラウドゲームアプリケーション)を実行する場合、クラウドアプリケーションの画面(例えば、クラウドゲームアプリケーションの画面)を展示する。クラウドゲームアプリケーションを実行する場合、カメラによってユーザー画面を収集して、符号化処理を行って、画像データを取得してトラフィックサーバーにおけるストリームプッシュサブサーバー(当該ストリームプッシュサブサーバーは、データ受信機能及び復号機能を具備する何れか1つのサーバーであり、主にクライアントからアップロードされた画像符号化ファイルを受信して復号処理を行う)にアップロードする。
【0108】
ストリームプッシュサブサーバー:クライアントからアップロードされた画像データを受信して復号処理を行って、初期画像フォーマット(例えば、YUVフォーマット)を有する復号画像を取得し、当該復号画像を画像認識サブサーバーに送信する。
【0109】
画像認識サブサーバー:復号画像をYUVフォーマットからRGBフォーマットに変換してから、画像におけるユーザー人物画像データ又は人体キーポイントを認識して抽出し、当該ユーザー人物画像又は人体キーポイントをクラウドゲームサーバーに送信する。ここで、ストリームプッシュサブサーバーと画像認識サブサーバーとは共同でトラフィックサーバーを構成することで、トラフィックサーバーに画像復号、画像認識機能を具備させる。無論、ストリームプッシュサブサーバーと画像認識サブサーバーとは独立のサーバーとして、それぞれ相応的なタスクを実行してもよい(即ち、ストリームプッシュサブサーバーは画像符号化ファイルを受信して復号し、画像認識サブサーバーは復号データに対して画像認識処理を行う)。ここで、データ受信遅延を低減するために、ストリームプッシュサブサーバー及び画像認識サブサーバーは何れもフレームスキップ処理を行ってもよい。
【0110】
クラウドゲームサーバー:当該クラウドゲームサーバーは、クライアントに対応するクラウドアプリケーションサーバーであり、クライアントがクラウドゲームアプリケーションを実行する場合、クラウドゲームサーバーは相応的なコンピューティングサーバーを提供する。クラウドゲームサーバーはユーザー人物画像データ又は人体キーポイントを受信し、ユーザー人物画像データをレンダリングして表示する。又は、クラウドゲームサーバーは人体キーポイントを使用してクラウドゲームアプリケーションにおいて仮想アニメキャラクターを操作して動画を実現する(即ち、ユーザー人物画像をクラウドゲームアプリケーションに投射するのではなく、仮想アニメキャラクターを操作してユーザーの実際の動作状態を同期させる)。
【0111】
理解しやすくするために、
図11を併せて参照し、
図11は本出願の実施例が提供するシステムフロー概略図である。当該フローは、
図10に対応するシステムアーキテクチャに対応する。
図11に示すように、当該フローはS31~S36を含む。
S31:クライアントはカメラ画像を収集する。
S32:クライアントは収集した画像を符号化する。
S33:ストリームプッシュサブサーバーは符号化データを復号する。
S34:画像認識サブサーバーは復号画像をYUVフォーマットからRGBフォーマットに変換する。
S35:クラウドアプリケーションゲームサーバーはユーザー人物画像又は人体キーポイントを認識する。
S36:人物画像又は仮想動画を展示する。
【0112】
S31~S36の具体的な実現形態について、上記
図3、
図5、
図7、
図8に対応する実施例の記載を参照すればよく、ここでは繰り返さず、その有益な効果についても、ここでは繰り返さない。
【0113】
ここで、クライアントはオブジェクトを収集する場合、別のオブジェクトを同時に収集した(別のユーザーが撮像視野内に入る)場合、オブジェクト選択プロンプト情報を生成し、ユーザーにより最終の収集オブジェクトを選択する。又は、クライアントはオブジェクトの鮮明さ及び占有面積に基づいて自動に決定する。例えば、クライアントはオブジェクト1及びオブジェクト2を同時に収集したが、オブジェクト2がレンズから遠く、収集した画面が鮮明ではなく、オブジェクト1がレンズに近く、収集した画面が鮮明であれば、クライアントは自動にオブジェクト1を最終の収集オブジェクトとする。
【0114】
図12を参照し、
図12は本出願の実施例が提供するインタラクションフローチャートである。当該インタラクションフローはクライアント、ストリームプッシュサブサーバー、画像認識サブサーバー及びクラウドアプリケーションサーバー(クラウドゲームサーバーを例とする)の間のインタラクションフローであってもよい。
図12に示すように、当該インタラクションフローは少なくとも以下のS41~S54を含む。
S41:クライアントとストリームプッシュサブサーバーとの間は接続を確立する。
ユーザーがクライアントによってクラウドゲームアプリケーションを起動させた場合、クライアントとストリームプッシュサブサーバーとの間は接続を確立する(例えば、Websocket持続的接続を確立する)。
S42:画像認識サブサーバーとクラウドゲームサーバーとの間は接続を確立する。
ユーザーがクライアントによってクラウドゲームアプリケーションを起動させた場合、クラウドゲームサーバー(クラウドゲームソフトウェアツール開発キット(SDK)が集積される)と画像認識サブサーバーとの間は接続を確立する(例えば、トランスミッションコントロールプロトコル(Transmission Control Protocol、TCP)接続を確立する)。
S43:クラウドゲームサーバーは、対応するクライアントに収集通知を送信する。
収集通知は画像収集開始の通知メッセージであってもよい。
S44:クライアントはストリームプッシュサブサーバーにストリームプッシュメッセージを送信する。
クライアントは収集通知に基づいてカメラを起動させ、クラウドゲームサーバーの機器識別子、収集されたユーザーの識別子、カメラによって収集された画像の幅(width)及び高さ(height)を一緒にストリームプッシュサブサーバーに通知することで、ストリームプッシュサブサーバーはデータを受信するように準備する。ストリームプッシュメッセージは、クラウドゲームサーバーの機器識別子、収集されたユーザーの識別子、カメラによって収集された画像の幅及び高さを含む。
S45:ストリームプッシュサブサーバーは画像認識サブサーバーにストリームプッシュメッセージを送信する。
クライアントのストリームプッシュメッセージを受信した後、ストリームプッシュサブサーバーと画像認識サーバーとはTCP接続を確立して、ストリームプッシュメッセージを画像認識サブサーバーに送信する。
S46:クライアントは画像を収集し始め、符号化する。
S47:クライアントはストリームプッシュサブサーバーに符号化データを送信する。
S48:ストリームプッシュサブサーバーは復号を行って、復号データを取得する。
S49:ストリームプッシュサブサーバーは復号データを画像認識サブサーバーに送信する。
S50:画像認識サブサーバーは復号データに対してフォーマット変換を行うとともに、画像認識を行う。
S51:画像認識サブサーバーは認識データをクラウドゲームサーバーに送信する。
S52:クラウドゲームサーバーは認識データをレンダリングしてレンダリングデータを取得する。
S53:クラウドゲームサーバーはレンダリングデータをクライアントに送信する。
S46~S53の具体的な実現形態について、上記の
図3、
図5、
図7及び
図8に対応する実施例の記載を参照すればよく、ここでは繰り返さず、その有益な効果についても、繰り返さない。
【0115】
図13を参照し、
図13は本出願の実施例が提供するデータ処理装置の構造概略図である。当該データ処理装置はコンピュータ機器に実行されるコンピュータプログラム(プログラムコードを含む)であってもよく、例えば、当該データ処理装置はアプリケーションソフトウェアであり、当該データ処理装置は
図3の方法を実行する。
図13に示すように、当該データ処理装置1は、
第1のクライアントから送信された第1の画像データを取得して受信キューに記憶するデータ取得モジュール11であって、第1の画像データは、第1のクライアントがクラウドアプリケーションを実行する場合、取得したオブジェクトが含まれる画像データであるデータ取得モジュール11と、
受信キューにおける第1の画像データに対して画像認識処理を行う画像認識モジュール12と、
第1の画像データの画像認識処理過程で、持続的に取得した第1のクライアントから送信された第2の画像データを受信キューに記憶して、更新受信キューを取得するキュー更新モジュール13と、
画像認識処理によって、オブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する領域送信モジュール14であって、ターゲットクラウドアプリケーションサーバーは第1のオブジェクト画像データをレンダリングしてレンダリングデータを取得し、レンダリングデータを第1のクライアントに送信する領域送信モジュール14と、を含み、
領域送信モジュール14はさらに、更新受信キューにおける最後受信タイムスタンプを有する第2の画像データに対して画像認識処理を同期に行う。
データ取得モジュール11、画像認識モジュール12、キュー更新モジュール13及び領域送信モジュール14の具体的な実現形態について、上記の
図3に対応する実施例のS101~S103の記載を参照すればよく、ここでは繰り返さない。
【0116】
1つの実施例において、データ取得モジュール11は、
第1のクライアントから送信された第1の画像データを受信する画像受信ユニット111であって、第1の画像データは、第1のクライアントがオリジナル画像フレームに対して符号化処理を行った後に取得されたデータであり、オリジナル画像フレームは、第1のクライアントがクラウドアプリケーションを実行する場合、収集した画像フレームである画像受信ユニット111と、
第1の画像データを受信した受信タイムスタンプを取得して、第1の画像データと受信タイムスタンプとを関連付けるように、受信キューに記憶する記憶ユニット112と、を含む。
画像受信ユニット111及び記憶ユニット112の具体的な実現形態について、上記の
図3に対応する実施例のS101~S103の記載を参照すればよく、ここでは繰り返さない。
【0117】
1つの実施例において、画像認識モジュール12は、
第1の画像データに対して復号処理を行って、初期画像フォーマットを有する復号画像データを取得するデータ復号ユニット121と、
復号画像データに対してフォーマット変換を行って、標準画像フォーマットを有するオリジナル画像フレームを取得するフォーマット変換ユニット122と、
標準画像フォーマットを有するオリジナル画像フレームに対して画像認識処理を行う画像認識ユニット123と、を含む。
なお、データ復号ユニット121、フォーマット変換ユニット122及び画像認識ユニット123の具体的な実現形態について、上記の
図3に対応する実施例のS101の記載を参照すればよく、ここでは繰り返さない。
【0118】
1つの実施例において、画像認識ユニット123は、
オブジェクトのオリジナル画像フレームにおけるオブジェクトエッジキーポイントを認識するキーポイント認識サブユニット1231と、
オブジェクトエッジキーポイントを接続して、オブジェクトのオブジェクトエッジ曲線を取得する曲線接続サブユニット1232と、
オリジナル画像フレームにおける、オブジェクトエッジ曲線がカバーした領域を、オブジェクトがオリジナル画像フレームにおいて所在する初期オブジェクト領域に決定し、初期オブジェクト領域に基づいて第1のオブジェクト領域を決定する領域決定サブユニット1233と、を含む。
なお、キーポイント認識サブユニット1231、曲線接続サブユニット1232及び領域決定サブユニット1233の具体的な実現形態について、上記の
図3に対応する実施例のS102の記載を参照すればよく、ここでは繰り返さない。
【0119】
1つの実施例において、画像認識ユニット123はさらに、オブジェクトに対するオブジェクト認識配置情報、及びオブジェクト認識配置情報が指示するオブジェクト認識配置部位を取得して、オブジェクト認識配置部位をオブジェクトキー部位にマッチングし、オブジェクト認識配置部位がオブジェクトキー部位にマッチングすると、初期オブジェクト領域に基づいて第1のオブジェクト領域を決定するステップを実行し、オブジェクト認識配置部位がオブジェクトキー部位にマッチングしていないとき、画像認識処理によって第1のオブジェクト領域を抽出できないと決定する。
【0120】
1つの実施例において、画像認識ユニット123はさらに、更新受信キューにおける、最初受信タイムスタンプを有する画像データを認識対象となる画像データに決定し、認識対象となる画像データに対して画像認識処理を行って、画像認識処理によってオブジェクトが認識対象となる画像データにおいて所在する処理対象となるオブジェクト領域を抽出した場合、領域送信モジュール14はさらに、処理対象となるオブジェクト領域をターゲットクラウドアプリケーションサーバーに送信する。
【0121】
1つの実施例において、画像認識ユニット123は具体的に、
初期オブジェクト領域に表示されるオブジェクトのオブジェクトキー部位を取得し、
オブジェクトキー部位が部位完全性を具備すると、初期オブジェクト領域を第1のオブジェクト領域に決定し、
オブジェクトキー部位が部位完全性を具備していないとき、サンプルデータベースにおけるN個のサンプル画像フレームを取得し、N個のサンプル画像フレームからオブジェクトに対応する処理対象となるサンプル画像フレームを取得し、処理対象となるサンプル画像フレーム及び初期オブジェクト領域に基づいて第1のオブジェクト領域を決定し、Nは正の整数である。
【0122】
1つの実施例において、画像認識ユニット123は具体的に、
処理対象となるサンプル画像フレームにおける全体部位情報を取得し、
オブジェクトキー部位に基づいて、全体部位情報から融合対象となる部位領域を決定し、
融合対象となる部位領域と初期オブジェクト領域とを融合させて、第1のオブジェクト領域を取得する。
【0123】
1つの実施例において、第1の画像データは確認対象となる機器識別子を携帯し、確認対象となる機器識別子はバインディングクラウドアプリケーションサーバーの機器識別子であり、バインディングクラウドアプリケーションサーバーと第1のクライアントとはバインディング関係を有し、
領域送信モジュール14は、
記憶済み機器識別子セットを取得するセット取得ユニット141であって、記憶済み機器識別子セットはM個の記憶済み機器識別子を含み、1つの記憶済み機器識別子は1つの登録済みクラウドアプリケーションサーバーに対応し、Mは正の整数であるセット取得ユニット141と、
M個の記憶済み機器識別子に、確認対象となる機器識別子にマッチングする記憶済み機器識別子が存在すると、確認対象となる機器識別子が指示するバインディングクラウドアプリケーションサーバーは登録済みクラウドアプリケーションサーバーに属すると決定し、確認対象となる機器識別子が指示するバインディングクラウドアプリケーションサーバーをターゲットクラウドアプリケーションサーバーに決定し、第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信する識別子マッチングユニット142と、を含み、
セット取得ユニット141及び識別子マッチングユニット142の具体的な実現形態について、上記の
図3に対応する実施例のS103の記載を参照すればよく、ここでは繰り返さない。
【0124】
1つの実施例において、当該データ処理装置1は、
登録対象となるクラウドアプリケーションサーバーから送信された登録要求を受信する登録要求受信モジュール15であって、登録要求は、登録対象となるクラウドアプリケーションサーバーが第2のクライアントから送信されたアプリケーション起動通知を受信した後に生成されたものであり、アプリケーション起動通知は、第2のクライアントがクラウドアプリケーションに対するアプリケーション起動操作に応答して生成されたものである登録要求受信モジュール15と、
登録要求に基づいて、登録対象となるクラウドアプリケーションサーバーの機器指標情報を検出する指標検出モジュール16と、
機器指標情報が処理品質条件を満たしている場合、登録対象となるクラウドアプリケーションサーバーの記憶対象となる機器識別子を取得して、記憶対象となる機器識別子を記憶済み機器識別子セットに記憶し、登録対象となるクラウドアプリケーションサーバーを登録済みクラウドアプリケーションサーバーに変換して、記憶対象となる機器識別子を記憶済み機器識別子に変換する識別子追加モジュール17と、をさらに含む。
なお、登録要求受信モジュール15、指標検出モジュール16及び識別子追加モジュール17の具体的な実現形態について、上記の
図3に対応する実施例のS103の記載を参照すればよく、ここでは繰り返さない。
【0125】
1つの実施例において、機器指標情報はネットワーク品質パラメータ及び機器バージョンを含み、
指標検出モジュール16は、
登録要求に基づいて、登録対象となるクラウドアプリケーションサーバーのネットワーク品質パラメータ及び機器バージョンを取得するパラメータ取得ユニット161と、
ネットワーク品質パラメータがパラメータ閾値に達し、且つ機器バージョンが品質規格バージョンにマッチングすると、機器指標情報が処理品質条件を満たしていると決定する指標決定ユニット162と、を含み、
指標決定ユニット162はさらに、ネットワーク品質パラメータがパラメータ閾値に達していないか、又は機器バージョンが品質規格バージョンにマッチングしていないとき、機器指標情報が処理品質条件を満たしていないと決定する。
なお、パラメータ取得ユニット161及び指標決定ユニット162の具体的な実現形態について、上記の
図3に対応する実施例のS103の記載を参照すればよく、ここで繰り返さない。
【0126】
本出願の実施例において、クライアント(例えば、第1のクライアント)は、オブジェクトが含まれる第1の画像データを取得した場合、当該第1の画像データを関連コンピュータ機器(例えば、トラフィックサーバー)に送信し、当該トラフィックサーバーは画像認識処理を行って、クライアントのロカールで画像認識を行う必要がなく、高いコンピューティング能力を具備するトラフィックサーバーによって、第1の画像データに対して画像認識処理を行って、画像認識効率及び鮮明さを向上できる。また、本出願において、トラフィックサーバーは受信された第1の画像データを受信キューに記憶し、第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に第2の画像データを同期に取得して、当該第2の画像データを受信キューに記憶して、更新受信キューを取得する。つまり、本出願におけるトラフィックサーバーは第1の画像データに対して画像認識処理を行うとき、第2の画像データの受信を一時停止せず、受信キューによって画像処理と画像受信との同期進行を実現でき、これによって、画像伝送遅延を低減できる。さらに、トラフィックサーバーは画像認識処理によってオブジェクトが第1の画像データにおいて所在する第1のオブジェクト領域を抽出した場合、当該第1のオブジェクト領域に含まれる第1のオブジェクト画像データをターゲットクラウドアプリケーションサーバーに送信して、ターゲットクラウドアプリケーションサーバーはレンダリングを行って、レンダリングによるレンダリングデータを第1のクライアントに送信して、これによって、クラウドアプリケーションに表示できる。また、第1のオブジェクト領域を抽出した後、トラフィックサーバーは、受信キューにおける最後受信タイムスタンプを有する第2の画像データを取得でき、当該第2の画像データを引き続いて処理する。これから分かるように、本出願において、ある画像データに対して画像認識処理を行った後、受信キューから最後受信タイムスタンプを有する画像データを取得して処理しており、受信タイムスタンプの時間順序に従って画像データを一々認識していないため、画像データに対する認識効率を向上でき、また、最新受信タイムスタンプを有する画像データはオブジェクトの現在行為に基づいて収集されたものであるため、最後受信タイムスタンプを有する画像データに対して画像認識及び表示を行う場合でも、オブジェクトの現在行為にマッチングする。以上のように、本出願は画像認識効率を向上して、画像伝送の遅延を減少し、クラウドアプリケーションに表示される仮想オブジェクトの仮想動作が、オブジェクトの現在行為状態にマッチングすることを保証できる。
【0127】
図14を参照し、
図14は本出願の実施例が提供する別のデータ処理装置の構造概略図である。当該データ処理装置はコンピュータ機器に実行されるコンピュータプログラム(プログラムコードを含む)であってもよく、例えば、当該データ処理装置はアプリケーションソフトウェアであり、当該データ処理装置は
図8の方法を実行する。
図14に示すように、当該データ処理装置2は、
トラフィックサーバーから送信された第1のオブジェクト画像データを受信して、バッファゾーンセットにおける、動作状態が記憶状態にある第1のバッファゾーンに記憶する領域記憶モジュール21であって、第1のオブジェクト画像データは第1のオブジェクト領域に含まれる画像データであり、第1のオブジェクト領域は、トラフィックサーバーが第1の画像データに対して画像認識処理を行った後に取得したオブジェクトが第1の画像データにおいて所在する領域であり、第1の画像データは第1のクライアントからトラフィックサーバーに送信されたものであり、第1のクライアントがクラウドアプリケーションを実行する場合取得したオブジェクトが含まれる画像データである領域記憶モジュール21と、
バッファゾーンセットにおける、動作状態が読取状態にある第2のバッファゾーンに未処理オブジェクト画像データが含まれていないとき、第1のバッファゾーンの動作状態を読取状態に調整し、第2のバッファゾーンの動作状態を記憶状態に調整し、動作状態が読取状態にある第1のバッファゾーンから第1のオブジェクト領域を読み取って、第1のオブジェクト領域に対してレンダリング処理を行う領域レンダリングモジュール22と、
第1のオブジェクト領域のレンダリング過程で、トラフィックサーバーから送信された第2のオブジェクト画像データを受信して、動作状態が記憶状態にある第2のバッファゾーンに記憶する領域受信モジュール23であって、第2のオブジェクト画像データは第2のオブジェクト領域に含まれる画像データであり、第2のオブジェクト領域は、トラフィックサーバーが第1のオブジェクト領域を抽出した後、第2の画像データに対して画像認識処理を行うことで取得されたものであり、第2のオブジェクト領域は、オブジェクトが第2の画像データにおいて所在する領域であり、第2の画像データは、トラフィックサーバーが第1のオブジェクト領域を抽出した場合、受信キューから取得した、最後受信タイムスタンプを有する画像データであり、受信キューにおける第2の画像データは、トラフィックサーバーが第1の画像データに対して画像認識処理を行う過程で、第1のクライアントから持続的に取得されるものである領域受信モジュール23と、
第1のオブジェクト画像データに対応する第1のレンダリングデータを取得した場合、第1のバッファゾーンの動作状態を記憶状態に調整し、第2のバッファゾーンの動作状態を読取状態に調整し、動作状態が読取状態にある第2のバッファゾーンから第2のオブジェクト画像データを読み取って、第2のオブジェクト画像データに対してレンダリング処理を行う状態調整モジュール24と、を含む。
なお、領域記憶モジュール21、領域レンダリングモジュール22、領域受信モジュール23及び状態調整モジュール24の具体的な実現形態について、上記の
図8に対応する実施例のS801~S804の記載を参照すればよく、ここでは繰り返さない。
【0128】
1つの実施例において、状態調整モジュール24は、
第1のオブジェクト領域に対応する第1のレンダリングデータを取得した場合、第1のバッファゾーンに対応する、読取状態を表徴する読取ポインタ識別子、及び第2のバッファゾーンに対応する、記憶状態を表徴する記憶ポインタ識別子を取得する識別子取得ユニット241と、
第1のバッファゾーンに対応する読取ポインタ識別子を記憶ポインタ識別子に切り替える識別子切り替えユニット242であって、記憶ポインタ識別子を有する第1のバッファゾーンの動作状態は記憶状態である識別子切り替えユニット242と、を含み、
識別子切り替えユニット242はさらに、第2のバッファゾーンの記憶ポインタ識別子を読取ポインタ識別子に切り替え、読取ポインタ識別子を有する第2のバッファゾーンの動作状態は読取状態である。
なお、識別子取得ユニット241及び識別子切り替えユニット242の具体的な実現形態について、上記の
図8に対応する実施例のS804の記載を参照すればよく、ここで繰り返さない。
【0129】
1つの実施例において、データ処理装置2は、
第1のバッファゾーン及び第2のバッファゾーンを割り当てるバッファゾーン割り当てモジュール25と、
第1のバッファゾーンの初期ポインタ識別子を記憶ポインタ識別子に設置して、第2のバッファゾーンの初期ポインタ識別子を読取ポインタ識別子に設置する識別子設置モジュール26であって、記憶ポインタ識別子を有する第1のバッファゾーンの動作状態は記憶状態であり、読取ポインタ識別子を有する第2のバッファゾーンの動作状態は読取状態である識別子設置モジュール26と、
動作状態が記憶状態にある第1のバッファゾーン、及び動作状態が読取状態にある第2のバッファゾーンに基づいて、バッファゾーンセットを生成するセット生成モジュール27と、をさらに含み、
バッファゾーン割り当てモジュール25、識別子設置モジュール26及びセット生成モジュール27の具体的な実現形態について、上記の
図8に対応する実施例のS801の記載を参照すればよい。
【0130】
本出願の実施例において、トラフィックサーバーのフレームスキップ処理によって、トラフィックサーバー側の画像受信遅延を低減して、画像認識効率を向上でき、ターゲットクラウドアプリケーションサーバーのダブルバッファゾーン割り当て処理によって、データをコピーする必要がなく、2つのバッファゾーンの動作状態を切り替えればよく、毎回バッファゾーン割り当てを行う必要がなく、また、データの受信及びデータの処理(例えば、データを読み取ってレンダリングする)は同時に行うことができ、互いに待つ必要がなく、遅延を低減できる。つまり、トラフィックサーバー側で遅延を低減する上で、ダブルバッファゾーンを設置することで、遅延をさらに低減できる。
【0131】
図15を参照し、
図15は本出願の実施例が提供するコンピュータ機器の構造概略図である。
図15に示すように、上記の
図13に対応する実施例の装置1又は
図14に対応する実施例の装置2は上記のコンピュータ機器8000に適用されてもよく、上記のコンピュータ機器8000はプロセッサー8001、ネットワークインターフェース8004及びメモリ8005を含んでもよく、また、ユーザーインターフェース8003、及び少なくとも1つの通信バス8002をさらに含んでもよい。通信バス8002はこれらのコンポーネントの間の接続通信を実現する。ユーザーインターフェース8003はディスプレイ(Display)、キーボード(Keyboard)を含んでもよく、好ましくは、標準的な有線インターフェース、無線インターフェースをさらに含んでもよい。好ましくは、ネットワークインターフェース8004は標準的な有線インターフェース、無線インターフェース(例えば、WI-FIインターフェース)を含んでもよい。メモリ8005は高速RAMメモリであってもよいし、不揮発性メモリ(non-volatile memory)、例えば少なくとも1つの磁気ディスクメモリであってもよい。好ましくは、メモリ8005はさらに、上記プロセッサー8001から離れた少なくとも1つの記憶装置であってもよい。
図15に示すように、コンピュータ可読記憶媒体としてのメモリ8005には、オペレーティングシステム、ネットワーク通信モジュール、ユーザーインターフェースモジュール及び機器制御アプリケーションプログラムが含まれてもよい。
【0132】
図15のコンピュータ機器8000において、ネットワークインターフェース8004はネットワーク通信機能を提供でき、ユーザーインターフェース8003は主に、ユーザーに入力インターフェースを提供し、プロセッサー8001はメモリ8005に記憶される機器制御アプリケーションプログラムを呼び出すことで、上記実施例が提供するデータ処理方法を実現する。
【0133】
ここで、本出願の実施例に記載のコンピュータ機器8000は以上の
図3~
図8に対応する実施例の当該データ処理方法の記載を実行してもよいし、以上の
図13に対応する実施例の当該データ処理装置1、又は
図14に対応する実施例の当該データ処理装置2の記載を実行してもよく、ここで、繰り返さない。また、同一方法による有益な効果記載についても、繰り返さない。
【0134】
また、ここで、本出願の実施例はコンピュータ可読記憶媒体をさらに提供し、上記のコンピュータ可読記憶媒体には、上記のデータ処理のコンピュータ機器8000が実行するコンピュータプログラムが記憶され、上記のコンピュータプログラムはプログラム命令を含み、上記のプロセッサーは上記のプログラム命令を実行すると、以上の
図3~
図8に対応する実施例の上記のデータ処理方法の記載を実行でき、ここでは繰り返さない。また、同一方法による有益な効果記載についても、繰り返さない。本出願が係るコンピュータ可読記憶媒体の実施例に開示されていない技術細部について、本出願の方法実施例の記載を参照すればよい。
【0135】
上記のコンピュータ可読記憶媒体は、上記の何れか1つの実施例が提供するデータ処理装置、又は上記のコンピュータ機器の内部記憶ユニット、例えばコンピュータ機器のハードディスク又はメモリであってもよい。当該コンピュータ可読記憶媒体は当該コンピュータ機器の外部記憶機器、例えば、当該コンピュータ機器に配置される接続型ハードディスク、スマートメディアカード(smart media card、SMC)、セキュアデジタル(secure digital、SD)カード、フラッシュメモリカード(flash card)などであってもよい。さらに、当該コンピュータ可読記憶媒体は当該コンピュータ機器の内部記憶ユニットを含むとともに、外部記憶機器を含む。当該コンピュータ可読記憶媒体は当該コンピュータプログラム、当該コンピュータ機器の必要な他のプログラム及びデータを記憶する。当該コンピュータ可読記憶媒体はさらに、出力済みの又は出力対象となるデータを一時的に記憶してもよい。
【0136】
本出願の1つの態様によれば、コンピュータプログラム製品又はコンピュータプログラムを提供し、当該コンピュータプログラム製品又はコンピュータプログラムはコンピュータ命令を含み、当該コンピュータ命令はコンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサーはコンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサーは当該コンピュータ命令を実行することで、当該コンピュータ機器に、本出願の実施例の何れか1つの態様が提供する方法を実行させる。
【0137】
本出願の実施例の明細書、請求項及び図面における「第1」、「第2」などの用語は特定の順序を記載するためのものでなく、異なるオブジェクトを区別するためのものである。また、用語の「含む」及びその任意の変形は非排他的包含を含むように意図される。例えば、一連のステップ又はユニットを含む過程、方法、装置、製品又は機器は挙げられたステップ又はモジュールに限定されず、好ましくは、列挙されていないステップ又はモジュールを含み、或いは、更にこのような過程、方法、装置、製品又は機器の固有の他のステップ、ユニットを含む。
【0138】
当業者であれば意識できるように、本明細書が開示した実施例を結合して記載される各例示的なユニット及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア又は両者の結合によって実現されてもよく、ハードウェアとソフトウェアとの互換性を明らかに説明するために、上記の説明において、機能に応じて各例示の構成及びステップを一般的に記載した。これらの機能はハードウェア形態で実行されるか、それともソフトウェア形態で実行されるかということは、技術案の特定の適用及び設計制約条件に依存する。当業者は各特定の適用に対して異なる方法を使用して記載される機能を実現できるが、このような実現は本出願の範囲を超えない。
【0139】
本出願の実施例が提供する方法及び関連装置は、本出願の実施例が提供する方法フローチャート及び/又は構造概略図を参照して記載され、具体的に、コンピュータ可読命令は方法フローチャート及び/又は構造概略図の各フロー及び/又はブロック、及びフローチャート及び/又はブロック図におけるフロー及び/又はブロックの結合を実現する。これらのコンピュータ可読命令は汎用コンピュータ、専用コンピュータ、埋込型プロセッサー又は他のプログラマブルデータ処理機器のプロセッサーに提供されて、1つのマシンを生成して、コンピュータ又は他のプログラマブルデータ処理機器のプロセッサーによって実行される命令は、フローチャートの1つのフロー又は複数のフロー、及び/又は構造概略図の1つのブロック又は複数のブロックが指定する機能を実現する装置を生成する。これらのコンピュータ可読命令はさらに、特定の方式で動作するようにコンピュータ又は他のプログラマブルデータ処理機器をガイドするコンピュータ可読メモリに記憶されて、当該コンピュータ可読メモリに記憶される命令は、命令装置を含む製品を生成し、当該命令装置はフローチャートの1つのフロー又は複数のフロー、及び/又は構造概略図の1つのブロック又は複数のブロックが指定する機能を実現する。これらのコンピュータ可読命令はさらに、コンピュータ又は他のプログラマブルデータ処理機器に読み込まれることで、コンピュータ又は他のプログラマブル機器で一連の操作ステップを実行してコンピュータが実現する処理を生成して、コンピュータ又は他のプログラマブル機器で実行する命令は、フローチャートの1つのフロー又は複数のフロー、及び/又は構造概略図の1つのブロック又は複数のブロックが指定する機能を実現するステップを提供する。
【0140】
以上の開示は本出願の請求項の範囲を限定せず、本出願の好適な実施例に過ぎないため、本出願請求項に基づいて完成した均等変更は依然的に本出願のカバー範囲に属する。
【国際調査報告】