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

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

▶ テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッドの特許一覧

特表2024-522972ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム
<>
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図1
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図2
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図3
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図4
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図5
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図6
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図7
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図8
  • 特表-ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-25
(54)【発明の名称】ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラム
(51)【国際特許分類】
   A63F 13/52 20140101AFI20240618BHJP
   A63F 13/837 20140101ALI20240618BHJP
   A63F 13/355 20140101ALI20240618BHJP
   A63F 13/55 20140101ALI20240618BHJP
   G06T 19/00 20110101ALI20240618BHJP
   H04N 21/2343 20110101ALI20240618BHJP
【FI】
A63F13/52
A63F13/837
A63F13/355
A63F13/55
G06T19/00 A
H04N21/2343
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023571123
(86)(22)【出願日】2022-08-09
(85)【翻訳文提出日】2023-11-27
(86)【国際出願番号】 CN2022111061
(87)【国際公開番号】W WO2023029900
(87)【国際公開日】2023-03-09
(31)【優先権主張番号】202111010058.0
(32)【優先日】2021-08-31
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ANDROID
2.アンドロイド
(71)【出願人】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ユアン,ジュンシャオ
【テーマコード(参考)】
5B050
5C164
【Fターム(参考)】
5B050AA03
5B050BA08
5B050BA09
5B050CA07
5B050CA08
5B050EA24
5B050EA26
5B050FA02
5C164FA06
5C164GA01
5C164MA03S
5C164PA38
5C164SB02P
5C164SC11P
5C164YA21
(57)【要約】
本出願はビデオフレームのレンダリング方法、装置、機器及び記憶媒体を開示し、コンピュータ技術の分野に属する。当該方法は、サーバーが第1の端末に対応する第1のビデオフレームを取得するステップであって、当該第1のビデオフレームはターゲット仮想シーン内の被制御仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、当該被制御仮想オブジェクトは当該第1の端末によって制御される仮想オブジェクトであるステップと、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、サーバーが当該第1の端末の第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップと、サーバーが当該第2のビデオフレームを当該第1の端末に送信するステップであって、当該第1の端末は当該第2のビデオフレームを表示するように構成されるステップと、を含む。


【特許請求の範囲】
【請求項1】
ビデオフレームのレンダリング方法であって、
サーバーが第1の端末に対応する第1のビデオフレームを取得するステップであって、前記第1のビデオフレームは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、前記被制御仮想オブジェクトは前記第1の端末によって制御される仮想オブジェクトであるステップと、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップであって、前記ターゲット仮想オブジェクトは前記第1の端末によって再レンダリングする必要がある仮想オブジェクトであるステップと、
前記サーバーが前記第2のビデオフレームを前記第1の端末に送信するステップであって、前記第1の端末は前記第2のビデオフレームを表示するように構成されるステップと、を含む、
レンダリング方法。
【請求項2】
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップは、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが第1のレンダリングパラメータを取得するステップであって、前記第1のレンダリングパラメータは前記第1のパラメータにおける第1の角度及び第1の距離に対応するレンダリングパラメータであり、前記第1の角度は前記被制御仮想オブジェクトと前記ターゲット仮想オブジェクトとの間の角度であり、前記第1の距離は前記被制御仮想オブジェクトと前記ターゲット仮想オブジェクトとの間の距離であるステップと、
前記サーバーが前記第1のレンダリングパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第2のビデオフレームを取得するステップと、を含む、
請求項1に記載のレンダリング方法。
【請求項3】
前記サーバーが前記第1のレンダリングパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第2のビデオフレームを取得するステップは、
前記サーバーが前記第1のレンダリングパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトの複数のターゲット画素点のターゲット画素値を決定するステップと、
前記サーバーが前記ターゲット画素値を使用して、前記第1のビデオフレームにおける前記複数のターゲット画素点の画素値を更新することで、前記第2のビデオフレームを取得するステップと、を含む、
請求項2に記載のレンダリング方法。
【請求項4】
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップは、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1のパラメータから第1のレンダリングパラメータ及び第2のレンダリングパラメータを取得するステップと、
前記サーバーが前記第1のビデオフレームにおいて前記第1のレンダリングパラメータ及び前記第2のレンダリングパラメータを使用して、前記ターゲット仮想オブジェクト及び前記被制御仮想オブジェクトをそれぞれレンダリングすることで、前記第2のビデオフレームを取得するステップと、を含む、
請求項1に記載のレンダリング方法。
【請求項5】
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップは、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記ターゲット仮想シーンにおける前記被制御仮想オブジェクトの位置を決定するステップと、
前記被制御仮想オブジェクトが前記ターゲット仮想シーンのターゲットサブシーンに位置する場合、前記サーバーが前記第1のパラメータに基づいて前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第2のビデオフレームを取得するステップと、を含む、
請求項1に記載のレンダリング方法。
【請求項6】
前記被制御仮想オブジェクトが前記ターゲット仮想シーンのターゲットサブシーンに位置しない場合、前記サーバーが前記第1のビデオフレームを前記第2のビデオフレームとして決定するステップをさらに含む、
請求項5に記載のレンダリング方法。
【請求項7】
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得する前に、
前記サーバーが前記第1のビデオフレームに対して画像認識を行うことで、前記第1のビデオフレームのタイプを決定するステップをさらに含み、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが第1のパラメータに基づいて前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップは、
前記タイプは前記第1のビデオフレームが前記ターゲット仮想オブジェクトを表示することを示す場合、前記サーバーが前記第1のパラメータに基づいて前記ターゲット仮想オブジェクトをレンダリングすることで、前記第2のビデオフレームを取得するステップを含む、
請求項1に記載のレンダリング方法。
【請求項8】
前記サーバーが前記第1の端末に対応する第3のビデオフレームを取得するステップであって、前記第3のビデオフレームは前記ターゲット仮想シーンにターゲットイベントが発生した後に、前記被制御仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、前記ターゲットイベントは、前記被制御仮想オブジェクトが前記ターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことであるステップと、
前記サーバーが前記ターゲットイベントに対応する第1のアニメーション及び前記ターゲットイベントに対応する第1のオーディオを取得するステップであって、前記第1のオーディオは前記第1の端末のオーディオであるステップと、
前記サーバーが前記第3のビデオフレームにおいて前記第1の仮想オブジェクトが打ち負かされた領域を決定するステップと、
前記サーバーが前記ターゲットイベントに対応する第1のアニメーションを前記領域に追加して、第4のビデオフレームを取得するステップと、
前記サーバーが前記第4のビデオフレーム及び前記第1のオーディオを前記第1の端末に送信するステップであって、前記第1の端末は前記第4のビデオフレームを表示しながら前記第1のオーディオを再生するように構成されるステップと、をさらに含む、
請求項1に記載のレンダリング方法。
【請求項9】
前記ターゲット仮想シーンは第2の仮想オブジェクトをさらに含み、前記第2の仮想オブジェクトは第2の端末によって制御される仮想オブジェクトであり、前記第2の端末は前記第1の端末と異なる端末であり、
前記サーバーが前記第2の端末に対応する第5のビデオフレームを取得するステップであって、前記第5のビデオフレームは前記第2の仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで得られる得ビデオフレームであるステップと、
前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第5のビデオフレームに対してターゲット処理を行うことで、第6のビデオフレームを取得するステップと、
前記サーバーが前記第6のビデオフレームを前記第2の端末に送信するステップであって、前記第2の端末は前記第6のビデオフレームを表示するように構成されるステップと、をさらに含む、
請求項1に記載のレンダリング方法。
【請求項10】
前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第5のビデオフレームに対してターゲット処理を行うことで、第6のビデオフレームを取得するステップは、
前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、下前記サーバーが前記第2の端末の第2のパラメータに基づいて、前記第5のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第6のビデオフレームを取得するステップと、
前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1のパラメータに基づいて前記第5のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第6のビデオフレームを取得するステップと、
前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、前記サーバーが前記ターゲット仮想オブジェクトに対応する第2のアニメーションを前記第5のビデオフレームに追加して、前記第6のビデオフレームを取得するステップとのうちの何れか1つを含む、
請求項9に記載のレンダリング方法。
【請求項11】
前記被制御仮想オブジェクトと前記第2の仮想オブジェクトとが前記ターゲット仮想シーンのターゲットサブシーンに同時に位置し、前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第5のビデオフレームに対してターゲット処理を行うことが、第6のビデオフレームを取得するステップは、
前記第5のビデオフレームが前記ターゲット仮想オブジェクトを表示する場合、前記サーバーが前記被制御仮想オブジェクトと前記第2の仮想オブジェクトとの仮想レベルを比較するステップと、
前記被制御仮想オブジェクトの仮想レベルが前記第2の仮想オブジェクトの仮想レベルよりも高い場合、前記サーバーが前記第1のパラメータに基づいて前記第5のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第6のビデオフレームを取得するステップと、
前記被制御仮想オブジェクトの仮想レベルが前記第2の仮想オブジェクトの仮想レベルよりも低い場合、前記サーバーが前記第2の端末の第2のパラメータに基づいて前記第5のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第6のビデオフレームを取得するステップと、
前記被制御仮想オブジェクトの仮想レベルと前記第2の仮想オブジェクトの仮想レベルとが同じである場合、前記サーバーが第3のパラメータに基づいて、前記第5のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、前記第6のビデオフレームを取得するステップと、を含む、
請求項9に記載のレンダリング方法。
【請求項12】
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得した後に、
前記サーバーが前記ターゲット仮想オブジェクトに対応する第2のアニメーション及び第2のオーディオを取得するステップと、
前記サーバーが前記ターゲット仮想オブジェクトに対応する第2のアニメーションを前記第2のビデオフレームに追加して、第7のビデオフレームを取得するステップと、
前記サーバーが前記第7のビデオフレーム及び前記第2のオーディオを前記第1の端末に送信するステップであって、前記第1の端末は前記第7のビデオフレームを表示しながら前記第2のオーディオを再生するように構成されるステップと、をさらに含む、
請求項1に記載のレンダリング方法。
【請求項13】
前記第2のビデオフレームを前記第1の端末に送信するステップであって、前記第1の端末は前記第2のビデオフレームを表示するように構成されるステップの後に、
前記サーバーが複数の前記第2のビデオフレームを第1のビデオフレームセットに集約し、前記第1のビデオフレームセットを前記第1の端末に送信するステップであって、前記第1の端末は前記第1のビデオフレームセットを他の端末と共有するように構成されるステップと、
前記サーバーが前記第2のビデオフレームと前記第1のビデオフレームとを連結することで、連結ビデオフレームを取得し、複数の前記連結ビデオフレームを第2のビデオフレームセットに集約し、前記第2のビデオフレームセットを前記第1の端末に送信するステップであって、前記第1の端末は前記第2のビデオフレームセットを他の端末と共有するように構成されるステップとのうちの何れか1つをさらに含む、
請求項1~12のいずれか1項に記載のレンダリング方法。
【請求項14】
ビデオフレームのレンダリングシステムであって、
第1の端末、第1のサーバー及び第2のサーバーを含み、前記第1の端末、前記第1のサーバー、及び前記第2のサーバーは通信接続され、
前記第1のサーバーは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで、前記第1の端末に対応する第1のビデオフレームを取得し、前記第1のビデオフレームを前記第2のサーバーに送信するように構成され、前記被制御仮想オブジェクトは前記第1の端末によって制御される仮想オブジェクトであり、
前記第2のサーバーは、前記第1のビデオフレームを受信するように構成され、
前記第2のサーバーはさらに、前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記第1の端末の第1のパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するように構成され、
前記第2のサーバーはさらに、前記第1の端末に前記第2のビデオフレームを送信するように構成され、
前記第1の端末は、前記第2のビデオフレームを受信したことに応答して、前記第2のビデオフレームを表示するように構成される、
レンダリングシステム。
【請求項15】
1つ又は複数のプロセッサーと、
前記1つ又は複数のプロセッサーによってロードされて実行されることで、請求項1~請求項12のいずれか1項に記載のビデオフレームのレンダリング方法を実現する少なくとも1つのコンピュータプログラムが記憶されている1つ又は複数のメモリと、を含む、
サーバー。
【請求項16】
コンピュータに、請求項1~請求項12のいずれか1項に記載のビデオフレームのレンダリング方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は2021年08月31日にて提出され、出願番号が202111010058.0であり、発明の名称が「ビデオフレームのレンダリング方法、装置、機器及び記憶媒体」である中国特許出願の優先権を主張して、その全ての内容は参照により本出願に援用されている。
【0002】
本出願はコンピュータ技術の分野に関し、特に、ビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラムに関する。
【背景技術】
【0003】
クラウドコンピューティング技術の成熟に伴って、ユーザーはクラウドコンピューティングによって端末が完成し難いタスクを実現することができる。例えば、クラウドゲームの分野では、ユーザーはクラウドコンピューティング技術によって端末にもともとスムーズに動作できないゲームをプレーする場合がある。ゲームに関するバックグランド処理は何れもクラウドゲームサーバーによって完成され、端末はクラウドゲームサーバーに制御情報を送信するだけで済み、当該制御情報はゲームシーンにおけるゲームオブジェクトを制御するために用いられる。クラウドゲームサーバーは当該制御情報に基づいてバックグランド処理を行うことでビデオフレームを取得することができ、クラウドゲームサーバーは当該ビデオフレームを端末に送信し、端末は当該ビデオフレームを表示すればよい。
【0004】
関連技術において、ゲームシーンにおけるあるゲームオブジェクトについて、そのゲームオブジェクトの表示効果は、技術者によってゲームを設計する際に事前に配置され、例えば、ゲームシーンにおける1台の車について、その車の色及びスタイルは何れも技術者によって事前に配置された。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本出願の実施例は、クラウドアプリケーションにおいて仮想オブジェクトに対して二次レンダリングを行う機能を提供するビデオフレームのレンダリング方法、装置、機器及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【0006】
1つの態様によれば、ビデオフレームのレンダリング方法を提供し、
サーバーが第1の端末に対応する第1のビデオフレームを取得するステップであって、前記第1のビデオフレームは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、前記被制御仮想オブジェクトは前記第1の端末によって制御される仮想オブジェクトであるステップと、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するステップであって、前記ターゲット仮想オブジェクトは前記第1の端末によって再レンダリングする必要がある仮想オブジェクトであるステップと、
前記サーバーが前記第2のビデオフレームを前記第1の端末に送信するステップであって、前記第1の端末は前記第2のビデオフレームを表示するように構成されるステップと、を含む。
【0007】
1つの態様によれば、ビデオフレームのレンダリングシステムを提供し、
第1の端末、第1のサーバー及び第2のサーバーを含み、前記第1の端末、前記第1のサーバー、及び前記第2のサーバーは通信接続され、
前記第1のサーバーは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで、前記第1の端末に対応する第1のビデオフレームを取得し、前記第1のビデオフレームを前記第2のサーバーに送信するように構成され、前記被制御仮想オブジェクトは前記第1の端末によって制御される仮想オブジェクトであり、
前記第2のサーバーは、前記第1のビデオフレームを受信するように構成され、
前記第2のサーバーはさらに、前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記第1の端末の第1のパラメータに基づいて、前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するように構成され、
前記第2のサーバーはさらに、前記第1の端末に前記第2のビデオフレームを送信するように構成され、
前記第1の端末は、前記第2のビデオフレームを受信したことに応答して、前記第2のビデオフレームを表示するように構成される。
【0008】
1つの態様によれば、ビデオフレームのレンダリング装置を提供し、
第1の端末に対応する第1のビデオフレームを取得するためのものであって、前記第1のビデオフレームは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から前記ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、前記被制御仮想オブジェクトは前記第1の端末によって制御される仮想オブジェクトである第1のビデオフレーム取得モジュールと、
前記第1のビデオフレームが前記第1の端末のターゲット仮想オブジェクトを表示する場合、前記サーバーが前記第1の端末の第1のパラメータに基づいて前記第1のビデオフレームにおける前記ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するためのものであって、前記ターゲット仮想オブジェクトは前記第1の端末によって再レンダリングする必要がある仮想オブジェクトであるレンダリングモジュールと、
前記第2のビデオフレームを前記第1の端末に送信するためのものであって、前記第1の端末は前記第2のビデオフレームを表示するように構成される送信モジュールと、を含む。
【0009】
1つの態様によれば、1つ又は複数のプロセッサーと、前記1つ又は複数のプロセッサーによってロードされて実行されることで、前記ビデオフレームのレンダリング方法を実現する少なくとも1つのコンピュータプログラムが記憶されている1つ又は複数のメモリとを含むサーバーを提供する。
【0010】
1つの態様によれば、プロセッサーによってロードされた実行されることで、前記ビデオフレームのレンダリング方法を実現する少なくとも1つのコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。
【0011】
1つの態様によれば、プロセッサーによって実行される場合、前記ビデオフレームのレンダリング方法を実現するプログラムコードを含むコンピュータプログラム製品を提供する。
【発明の効果】
【0012】
本出願の実施例で提供される技術案によれば、ある仮想オブジェクト表示効果を変更したいと、第1の端末によって当該仮想オブジェクトに対して第1のパラメータを決定し、当該第1のパラメータに基づいて、ビデオフレームに対して二次レンダリングを行うことで、第2のビデオフレームを取得し、第1のビデオフレームと比較すると、第2のビデオフレームに表示される仮想オブジェクトの表示効果は、第1の端末によって当該仮想オブジェクトに対して配置された表示効果でもある。このような技術案によれば、クラウドアプリケーションにおいて仮想オブジェクトに対して二次レンダリングを行う機能を提供し、ユーザーは仮想シーンにおけるある仮想オブジェクトの表示効果を迅速且つ効果的に調整することができ、これにより、クラウドアプリケーションの機能範囲は拡張され、クラウドアプリケーションのパーソナライズを向上させ、クラウドアプリケーションがより広く伝播されるようにする。
【図面の簡単な説明】
【0013】
本出願の実施例における技術案をより明らかに説明するために、以下、実施例を説明するために必要な図面を簡単に説明し、明らかに、以下の説明における図面は本出願のいくつかの実施例に過ぎず、当業者にとって、創造的な労働をしない前提で、さらにこれらの図面に基づいて他の図面を得ることができる。
図1】本出願の実施例で提供されるビデオフレームのレンダリング方法の実施環境の概略図である。
図2】本出願の実施例で提供されるビデオフレームのレンダリング方法のフローチャートである。
図3】本出願の実施例で提供されるビデオフレームのレンダリング方法のフローチャートである。
図4】本出願の実施例で提供されるインターフェースの概略図である。
図5】本出願の実施例で提供されるインターフェースの概略図である。
図6】本出願の実施例で提供されるビデオフレームのレンダリング方法のフローチャートである。
図7】本出願の実施例で提供されるインターフェースの概略図である。
図8】本出願の実施例で提供されるビデオフレームのレンダリング装置の構成概略図である。
図9】本出願の実施例で提供されるサーバーの構成概略図である。
【発明を実施するための形態】
【0014】
本出願の目的、技術案及び利点をより明確にするために、以下図面を参照して本出願の実施形態をさらに詳細に記述する。
【0015】
本出願における「第1」「第2」などの用語は作用及び機能が基本的に同様である同一項又は類似項を区別するために用いられ、ここで、「第1」、「第2」、「第n」の間は論理的または時系列的な依存関係を持たず、数及び実行順序を限定していないことを理解されたい。
【0016】
本出願における「少なくとも1つ」という用語は1つ又は複数を指し、「複数」の意味は2つ又は2つ以上であり、例えば、複数の参照顔画像は、2つ又は2つ以上の参照顔画像を指す。
【0017】
クラウドアプリケーションは、従来のアプリケーションの「ロカールインストール、ロカールコンピューティング」の使用形態を、「オンデマンド」サービスに変更し、インターネットやローカルエリアネットワークを介してリモートサーバークラスタに接続して操作制御し、サービスロジック又はコンピューティングタスクを完成する新規のアプリケーションである。クラウドアプリケーションはリモートサーバークラスタで動作するが、そのインターフェースは端末に表示され、これによって、端末のランニングコストを低減し、作業効率を大幅に向上させることができる。
【0018】
クラウドゲーム(Cloud Gaming)はゲームオンデマンド(Gaming on Demand)とも呼ばれ、クラウドコンピューティング技術を基礎とするオンラインゲーム技術である。クラウドゲーム技術により、グラフィックス処理及びデータコンピューティング能力が比較的に限られているシンクライアント(thin client)は高品質のゲームを実行することができる。クラウドゲームのシーンでは、ゲームはプレイヤのゲーム端末ではなく、クラウドサーバーで実行され、クラウドサーバーはゲームシーンをビデオとオーディオのストリームにレンダリングし、ネットワークを介してプレイヤのゲーム端末に伝送する。プレイヤのゲーム端末は、強いグラフィックコンピューティング及びデータ処理能力を備える必要がなく、基本的なストリーミングメディア再生能力、及びプレイヤの入力命令を取得してクラウドサーバーに送信する能力のみを有すれば良い。
【0019】
仮想シーンは、アプリケーションプログラムが実行される際に表示(又は提供)される仮想シーンである。当該仮想シーンは、実世界のシミュレーション環境であるか、又は半シミュレーション半架空の仮想環境であるか、又は完全架空の仮想環境である。仮想シーンは、2次元仮想シーン、2.5次元仮想シーン又は3次元仮想シーンのうちのいずれか1つであってもよく、本願の実施例では、仮想シーンの次元を限定しない。例えば、仮想シーンは、空、陸地、海洋などを含み、当該陸地は砂漠、都市などの環境要素を含み、ユーザーは、仮想オブジェクトが当該仮想シーン内で移動するように制御することができる。
【0020】
仮想オブジェクトとは、仮想シーンにおける活動可能なオブジェクトを意味する。当該活動可能なオブジェクトは、仮想人物、仮想動物又はアニメーション人物など、例えば仮想シーンに表示される人物、動物、植物、油樽、壁、石などである。当該仮想オブジェクトは、当該仮想シーンにおけるユーザーを代表するための仮想的な仮想イメージであってもよい。仮想シーンには、仮想オブジェクトが複数含まれてもよく、各仮想オブジェクトは仮想シーンにおいて独自の形状及び体積を有し、仮想シーンのスペースの一部を占有する。
【0021】
いくつかの実施例において、当該仮想オブジェクトは、クライアント上の操作により制御されるプレイヤーキャラクタであるか、又は訓練を通じて仮想シーン対戦に設置された人工知能(Artificial Intelligence、AI)であるか、又は仮想シーンに設置されたノンプレイヤーキャラクタ(Non-Player Character、NPC)である。いくつかの実施例において、当該仮想オブジェクトは、仮想シーン内で競合する仮想人物である。いくつかの実施例において、当該仮想シーンにおいて、インタラクションに参加する仮想オブジェクトの数は予め設定されてもよいし、又はインタラクションに加入するクライアントの数に応じて動的に決定されてもよい。
【0022】
シューティングゲームの例では、ユーザーは、該仮想シーンの大空に自由に落下したり、パラシュートを開いて落下したり、陸地で走ったり、ジャンプしたり、這ったり、前に曲がって歩いたりするように、仮想オブジェクトを制御してもよいし、海で泳いだり、浮いたり、ダイビングしたりするように、仮想オブジェクトを制御してもよい。なお、ユーザーは、仮想乗り物を乗って仮想シーン内を移動するように、仮想オブジェクトを制御してもよい。例えば、仮想乗り物は、仮想自動車、仮想航空機、仮想ヨットなどであり、ここで、単なる上記のシーンを一例にして説明しているが、本発明の実施例はこれらに限定されない。ユーザーは、インタラクションプロップを介して他の仮想オブジェクトと対決などのインタラクションを行うように、仮想オブジェクトを制御してもよい。例えば、このインタラクションプロップは、仮想手榴弾、仮想クラスター地雷、仮想粘着性手榴弾(「仮想粘弾」略称される)などの投擲タイプのインタラクションプロップであってもよいし、仮想マシンガン、仮想ハンドガン、仮想ライフルなどの射撃タイプのインタラクションプロップであってもよいが、本出願では、インタラクションプロップのタイプを具体的に限定していない。
【0023】
Android(アンドロイド)コンテナは、Androidをコンテナイメージにパッケージングしてから、標準コンテナイメージを通じて発布するものであり、キャリアはOCI(Open Container Initiative)をサポートする任意のコンテナシェルであるため、k8s(kubernetes、コンテナ管理エンジン)を通じて楽に簡単にメンテナンスでき、k8sの強大なメンテナンスツールにより、クラウド上で数千のサーバークラスタを容易にデプロイできる。
【0024】
図1は本出願の実施例で提供されるビデオフレームのレンダリング方法の実施環境の概略図であり、図1を参照し、当該実施環境は、第1の端末110、クライアントサーバー120、第1のサーバー130、ゲームサーバー140、及び第2のサーバー150を含むことができる。いくつかの実施例において、第1の端末110、クライアントサーバー120、第1のサーバー130、ゲームサーバー140、及び第2のサーバー150はブロックチェーンシステムにおけるノードであり、第1の端末110、クライアントサーバー120、第1のサーバー130、ゲームサーバー140及び第2のサーバー150の間で互いに伝送されるデータもブロックチェーンに記憶される。
【0025】
第1の端末110は無線ネットワーク又は有線ネットワークを介してクライアントサーバー120に接続される。任意選択で、第1の端末110はスマートフォン、タブレット、ノートパソコン、デスクトップパソコン、スマートウォッチなどであってもよいが、これらに限定されていない。第1の端末110には仮想シーンの表示をサポートするクライアントをインストールして実行する。
【0026】
クライアントサーバー120はクライアントにサービスを提供するサーバーであり、クライアントサーバー120は独立の物理サーバー、又は複数の物理サーバーからなるサーバークラスタ、或いは分散型システムであり、若しくは、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティーサービス、コンテンツデリバリーネットワーク(Content Delivery Network、CDN)、ビッグデータ及び人工智能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するサーバーである。第1の端末110は実行しているクライアントを介してクライアントサーバー120にログインし、クライアントサーバー120はユーザーアカウントに関するサービス、例えば、ユーザーアカウント検証の関連サービス、又はユーザーアカウントに対応するクラウドゲーム期間を決定するサービス、或いはユーザーアカウントに対応するパーソナライズ設置を記憶するサービスを提供するが、本出願の実施例では、それを限定していない。つまり、クライアントサーバー120は第1の端末110で動作するクライアントと第1のサーバー130とを接続する仲介者である。
【0027】
第1のサーバー130は独立の物理サーバー、又は複数の物理サーバーからなるサーバークラスタ、或いは分散型システムであり、若しくは、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティーサービス、コンテンツデリバリーネットワーク、及びビッグデータ及び人工智能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するサーバーである。第1のサーバー130は仮想シーンの表示に関するバックグランドサービスを提供し、第1の端末110と第1のサーバー130との間は無線ネットワーク又は有線ネットワークを介して接続され、第1の端末110は、仮想シーンにおける仮想オブジェクトを制御するための制御情報を第1のサーバー130に送信することができる。第1のサーバー130は当該制御情報に基づいて仮想シーンをレンダリングする。第1のサーバー130とクライアントサーバー120との間は無線ネットワーク又は有線ネットワークを介して接続され、第1のサーバー130はクライアントサーバー120からユーザーアカウントの関連情報を取得して、当該関連情報に基づいてゲームの初期化などの関連操作を行うことができる。任意選択で、当該第1のサーバー130はクラウドサーバーである。
【0028】
ゲームサーバー140は独立の物理サーバー、又は複数の物理サーバーからなるサーバークラスタ、或いは分散型システムであり、若しくは、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティーサービス、コンテンツデリバリーネットワーク、及びビッグデータ及び人工智能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するサーバーである。ゲームサーバー140と第1のサーバー120との間は無線ネットワーク又は有線ネットワークを介して接続され、ゲームサーバー140にはゲームキャラクターに関する情報、例えば、ゲームキャラクターの友達、アドレス帳、ゲームキャラクターのレベル、ゲームキャラクターの名称などの関連情報が記憶されている。第1のサーバー130はゲームサーバー140から、ゲームキャラクターに関する情報を取得でき、1つのユーザーアカウントは、複数のゲームキャラクターに対応可能であり、クライアントサーバー120はユーザーアカウントに関する情報を記憶するように構成され、ゲームサーバー140はゲームキャラクターに関する情報を記憶するように構成される。
【0029】
第2のサーバー150は独立の物理サーバー、又は複数の物理サーバーからなるサーバークラスタ、或いは分散型システムであり、若しくはクラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティーサービス、コンテンツデリバリーネットワーク、及びビッグデータ及び人工智能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するサーバーである。第2のサーバー150は仮想シーンの二次レンダリングに関するサービスを提供し、第2のサーバー150と第1のサーバー120との間は無線ネットワーク又は有線ネットワークを介して接続され、第1のサーバー120は、仮想シーンをレンダリングしたビデオフレームを第2のサーバー150に送信することができる。第2のサーバー150は、ユーザーのパーソナライズ処理を実現するために、当該ビデオフレームに対して二次レンダリングを行う。第2のサーバー150は、二次レンダリング後のビデオフレームを第1の端末110に送信でき、第1の端末110は二次レンダリング後のビデオフレームを表示する。また、第2のサーバー150とクライアントサーバー130との間は無線ネットワーク又は有線ネットワークを介して接続され、第2のサーバー150はクライアントサーバー130から、ユーザーアカウントに対応するパーソナライズ設置を取得し、当該パーソナライズ設置に基づいて第1のサーバー120から送信されたビデオフレームに対して二次レンダリングを行うことで、二次レンダリング後のビデオフレームを取得することができる。いくつかの実施例において、第2のサーバー150は第1のサーバー130に集積され、第2のサーバー150の機能は第1のサーバー130で動作するシステムによって実現される。任意選択で、第2のサーバー150はシーン管理サーバーであってもよい。
【0030】
当業者であれば、上記の第1の端末の数が多かれ少なかれあり得ることを知っているであろう。例えば、上記の第1の端末はただ1つであり、又は数十又は数百、或いはそれ以上の数であってもよい、この場合、上記の実施環境には他の第1の端末をさらに含む。本出願の実施例では、第1の端末の数及び装置タイプを限定していない。
【0031】
本出願の実施例で提供されるビデオフレームのレンダリング方法の適用シーンを説明した後、以下、上記の実施環境を結合して、本出願の実施例で提供されるビデオフレームのレンダリング方法の適用シーンを説明し、以下の説明において、第1の端末は上記の実施環境における第1の端末110であり、クライアントサーバーは上記の実施環境におけるクライアントサーバー120であり、第1のサーバーは上記の実施環境における第1のサーバー130であり、ゲームサーバーは上記の実施環境におけるゲームサーバー140であり、第2のサーバーは上記の実施環境における第2のサーバー150である。
【0032】
本出願の実施例で提供されるビデオフレームのレンダリング方法は、様々なクラウドゲームのシーン、例えばファーストパーソンシューティング(First-person Shooting、FPS)ゲーム、サードパーソンシューティングゲーム(Third-Personal Shooting、TPS)ゲーム、マルチプレイヤーオンラインバトルアリーナ(Multiplayer Online Battle Arena、MOBA)、チェスゲーム又はオートバトラーゲームに適用されてもよいが、本出願の実施例では、それを限定していない。
【0033】
本出願の実施例で提供されるビデオフレームのレンダリング方法がFPSゲームに適用されることを例とし、ユーザーは第1の端末でクラウドゲームクライアントを起動させ、クラウドゲームクライアントにおいてユーザーアカウントにログインし、即ち、ユーザーはクラウドゲームクライアントに、ユーザーアカウント及び対応するパスワードを入力し、ログインコントロールをクリックしてログインする。ログインコントロールに対するクリック操作を検出したことに応答して、第1の端末はクライアントサーバーにユーザーアカウント及び対応するパスワードを含むログイン要求を送信する。クライアントサーバーは、ログイン要求を受信した後、ログイン要求からユーザーアカウント及び対応するパスワードを取得して検証する。クライアントサーバーは、ユーザーアカウント及び対応するパスワードを検証した後に、第1の端末にログイン成功情報を送信する。第1の端末は、ログイン成功情報を受信した後、クライアントサーバーにユーザーアカウントを含むクラウドゲーム取得要求を送信する。クライアントサーバーは、クラウドゲーム取得要求を取得した後、クラウドゲーム取得要求に含まれるユーザーアカウントに基づいてクエリして、当該ユーザーアカウントに対応する複数のクラウドゲームを取得し、当該複数のクラウドゲームの識別子を第1の端末に送信し、第1の端末は当該複数のクラウドゲームの識別子をクラウドゲームクライアントに表示する。ユーザーは第1の端末を介して、クラウドゲームクライアントに表示される複数のクラウドゲームの識別子からプレーしたいFPSゲームの識別子、つまり、プレーしたいFPSゲームを選択する。ユーザーがクラウドゲームクライアントにおいてFPSゲームを選択した後、第1の端末はクライアントサーバーにゲーム起動命令を送信し、ゲーム起動命令にはユーザーアカウント、当該FPSゲームの識別子及び第1の端末のハードウェア情報を含んでおり、第1の端末のハードウェア情報は第1の端末のスクリーン解像度、第1の端末の型番などを含むが、本出願の実施例では、それを限定していない。クライアントサーバーは、当該ゲーム起動命令を受信した後、ゲーム起動命令を第1のサーバーに送信する。第1のサーバーは、当該ゲーム起動命令を受信した後、当該ゲーム起動命令からユーザーアカウント、当該FPSゲームの識別子及び第1の端末のハードウェア情報を取得する。第1のサーバーは第1の端末のハードウェア情報に基づいて当該FPSゲームを初期化することで、レンダリングされたゲーム画面と第1の端末との間のマッチングを実現し、当該FPSゲームに対応するゲームサーバーに当該ユーザーアカウントを送信する。ゲームサーバーは、当該ユーザーアカウントを受信した後、当該ゲームアカウントに対応する情報を第1のサーバーに送信する。第1のサーバーは当該ゲームアカウントに対応する情報に基づいて当該FPSゲームを起動させる。当該FPSゲームの実行中で、ユーザーは第1の端末を介して、移動させるように当該FPSにおける被制御仮想オブジェクトを制御することができ、つまり、第1の端末は被制御仮想オブジェクトの制御情報を第1のサーバーに送信し、第1のサーバーは当該制御情報に基づいて当該FPSの仮想シーンをレンダリングすることで、第1のビデオフレームを取得する。第1のサーバーは当該第1のビデオフレームを第2のサーバーに送信し、ユーザーは、ゲームの開始前、当該FPSゲームにおけるある仮想オブジェクトに対してパーソナライズ設置を行って、例えば当該FPSゲームにおける車両を赤に設置すると、第2のサーバーは第1のビデオフレームに対して画像認識を行うことで、当該第1のビデオフレームが車両を含むかどうかを決定することができる。第2のサーバーは当該第1のビデオフレームが車両を表示すると決定した場合、クライアントサーバーから当該車両の第1のパラメータを取得し、当該第1のパラメータは、クライアントサーバーがユーザーによる当該車両のパラメータ設置に基づいて決定されるものである。第2のサーバーは当該第1のパラメータに基づいて、当該第1のビデオフレームにおける当該車両をレンダリングすることで、第2のビデオフレームを取得し、第2のビデオフレームを第1の端末に送信する。ユーザーは第1の端末を介して当該第2のビデオフレームを閲覧することができる。当該FPSゲームにおいて、技術者は当該車両の色を青に設置すると、上記のステップによって、当該車両の色をユーザーが設置した赤に調整でき、当該車両のパーソナライズされた配置を実現する。
【0034】
ここで、以上、第1のビデオフレームを処理することを例として説明し、当該FPSゲームの実行中で、複数の連続したビデオフレームが存在し、当該複数のビデオフレームは、第1の端末が表示するために、何れも上記の方式で処理される。
【0035】
また、MOBAゲーム、TPSゲーム、チェスゲーム及びオートバトラーゲームは何れも上記のステップを採用して処理され得、例えば、MOBAゲームにおいて、ユーザーが第1の端末を介してMOBAゲームにおける木を桃の花に設置した場合、第2のサーバーは第1のビデオフレームから木を認識し、木を桃の花に対して二次レンダリングを行うことで、第2のビデオフレームを取得し、第2のビデオフレームを第1の端末に送信して表示することができる。
【0036】
また、上記のFPSゲーム、MOBAゲーム、チェスゲーム又はオートバトラーゲームを除いて、本出願の実施例で提供されるビデオフレームのレンダリング方法は他のタイプのクラウドゲームに適用されることができるが、本出願の実施例では、それを限定していない。
【0037】
本出願の実施例で提供されるビデオフレームのレンダリング方法の実施環境及び適用シーンを説明した後、以下、本出願の実施例で提供されるビデオフレームのレンダリング方法を説明する。
【0038】
図2は本出願の実施例で提供されるビデオフレームのレンダリング方法のフローチャートであり、図2を参照し、方法が第2のサーバーによって実行されることを例とし、当該方法はステップ201~203を含む。
201において、第2のサーバーは第1の端末に対応する第1のビデオフレームを取得し、当該第1のビデオフレームは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から、当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、当該被制御仮想オブジェクトは当該第1の端末によって制御される仮想オブジェクトである。
【0039】
ターゲット仮想シーン内の被制御仮想オブジェクトの視角から、当該ターゲット仮想シーンをレンダリングすることとは、ターゲット仮想シーンにおいて、被制御仮想オブジェクトが観察した画面をレンダリングすることである。被制御仮想オブジェクトは第1の端末によって制御される仮想オブジェクトであるため、被制御仮想オブジェクトがターゲット仮想シーンにおいて観察した画面は、第1の端末のユーザーがターゲット仮想シーンにおいて見た画面をシミュレーションすることができる。
【0040】
異なる第1の端末の場合、異なる第1の端末は異なる被制御仮想オブジェクトを備え、同一のターゲット仮想シーンにおいて、異なる被制御仮想オブジェクトが観察した画面は異なるため、異なる第1の端末に表示される画面も異なる。そのために、第1の端末の被制御仮想オブジェクトの視角から、当該ターゲット仮想シーンをレンダリングする必要があり、取得されたビデオフレームは第1の端末に対応する。
【0041】
任意選択で、当該第1のビデオフレームは、第1のサーバーによってレンダリングされることで取得され、第2のサーバーに送信される。
【0042】
202において、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは当該第1の端末の第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得する。
【0043】
ターゲット仮想オブジェクトは第1の端末によって設置された仮想オブジェクトであり、第1の端末によって再レンダリングする必要がある仮想オブジェクトである。例えば、ターゲット仮想オブジェクトは、ユーザーが第1の端末を介して選択した仮想オブジェクトであり、又は第1の端末が被制御仮想オブジェクトの位置に基づいて選択した仮想オブジェクトであり、或いは他の方式で設置した仮想オブジェクトである。第1のパラメータは第1の端末の第1のパラメータであり、例えば、ユーザーが第1の端末を介して決定した第1のパラメータであり、又は第1の端末がデフォルトで設置した第1のパラメータである。当該第1のパラメータは第1のビデオフレームにおいてターゲット仮想オブジェクトを再レンダリングすることで第2のビデオフレームを取得するために用いられる。ターゲット仮想オブジェクト及び第1のパラメータの両方は第1の端末を介して配置され、他の端末に影響されないため、仮想シーンのパーソナライズ配置を実現し、仮想シーンにおけるある仮想オブジェクトの表示効果を変更しようとすると、直接に第1の端末を介して配置すればよく、基礎コード及びファイルを変更するように、技術者に連絡する必要がなく、効率が高い。
【0044】
203において、第2のサーバーは当該第2のビデオフレームを当該第1の端末に送信し、当該第1の端末は当該第2のビデオフレームを表示するように構成される。
【0045】
任意選択で、本出願の実施例で提供されるビデオフレームレンダリング方法はクラウドゲームシーンに適用されると、仮想シーン及びビデオフレームに対するレンダリング過程は何れもクラウドで実現され、ここでのクラウドは第2のサーバー(例えば、シーン管理サーバー)、第1のサーバー(例えば、クラウドサーバー)、及び他の関連サーバーの総称である。第2のサーバーは、第1のビデオフレームに対して二次レンダリングを行った後、取得された第2のビデオフレームを第1の端末に送信し、第1の端末はバックグランド処理を行う必要がなく、第2のビデオフレームを直接表示すればよく、効率が高い。
【0046】
なお、本出願の実施例は、ただ第2のサーバーが当該方法を実行することを例とし、他の実施例において、当該方法は他のサーバーによって実行されてもよい。
【0047】
本出願の実施例で提供される技術案によれば、ある仮想オブジェクト表示効果を変更したいと、第1の端末によって当該仮想オブジェクトに対して第1のパラメータを決定し、当該第1のパラメータに基づいて、ビデオフレームに対して二次レンダリングを行うことで、第2のビデオフレームを取得することができる。第1のビデオフレームと比較すると、第2のビデオフレームに表示される仮想オブジェクトの表示効果は、第1の端末によって当該仮想オブジェクトに対して配置された表示効果でもある。このような技術案によれば、クラウドアプリケーションにおいて、仮想オブジェクトに対して二次レンダリングを行う機能を提供し、ユーザーは仮想シーンにおけるある仮想オブジェクトの表示効果を迅速且つ効果的に調整でき、クラウドアプリケーションの機能範囲は拡張され、クラウドアプリケーションのパーソナライズを向上させ、従って、クラウドアプリケーションがより広く伝播されるようにする。
【0048】
上記のステップ201~203は本出願の実施例を簡単に説明し、以下、いくつかの例を結合して、本出願の実施例で提供される技術案をより明らかに記載し、方法が第2のサーバーによって実行されることを例とし、図3を参照し、方法はステップ301~303を含む。301において、第2のサーバーは第1の端末に対応する第1のビデオフレームを取得し、当該第1のビデオフレームは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から、当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、当該被制御仮想オブジェクトは当該第1の端末によって制御される仮想オブジェクトである。
【0049】
任意選択で、ゲームシーンにおいて、ターゲット仮想シーンはクラウドゲームのゲームシーンであり、被制御仮想オブジェクトの視角は被制御仮想オブジェクトの仮想カメラの視角であり、FPSゲームにおいて、被制御仮想オブジェクトの仮想カメラは被制御仮想オブジェクトの頭部に位置し、ユーザーは第1の端末を介してターゲット仮想シーンにおいて移動するように被制御仮想オブジェクトを制御していると、当該仮想カメラも被制御仮想オブジェクトの移動に伴って移動し、当該仮想カメラによって撮影され画面は、被制御仮想オブジェクトがターゲット仮想シーンにおいて観察した画面である。TPSゲームにおいて、被制御仮想オブジェクトの仮想カメラは被制御仮想オブジェクトの上方に位置し、ユーザーは第1の端末を介してターゲット仮想シーンにおいて移動するように被制御仮想オブジェクトを制御すると、当該仮想カメラも被制御仮想オブジェクトの移動に伴って移動し、当該仮想カメラによって撮影され画面は被制御仮想オブジェクトの上方から観察した画面である。クラウドゲームシーンにおいて、当該仮想カメラによって撮影された画面は、クラウドゲームサーバーによってレンダリングされ、ゲーム中に、時系列的に連続している複数の画面が存在するため、当該複数の画面はビデオフレームとも呼ばれる。同様に、他のシーンにおいて、第1のサーバーは、仮想カメラを介してターゲット仮想シーンを撮影して画面を取得してもよく、撮影された画面はビデオフレームとも呼ばれる。任意選択で、第1のサーバーはクラウドサーバーである。
【0050】
可能な実施形態において、第1の端末は第1のサーバーに被制御仮想オブジェクトに関する制御情報を送信し、当該制御情報を受信した後、第1のサーバーは当該制御情報に基づいてターゲット仮想シーン内の被制御仮想オブジェクトの視角を決定する。第1のサーバーは当該被制御仮想オブジェクトの視角に基づいて、当該ターゲット仮想シーンをレンダリングすることで第1のビデオフレームを取得し、当該第1のビデオフレームは第1の端末に対応するビデオフレームである。第1のサーバーは当該第1のビデオフレームを第2のサーバーに送信し、第2のサーバーは当該第1のビデオフレームを取得する。被制御仮想オブジェクトの制御情報はターゲットシーンにおける被制御仮想オブジェクトの位置、向き及び動作を変更するために用いられ、例えば、制御情報は、ターゲット仮想シーンにおいて前後左右へ移動するように被制御仮想オブジェクトを制御してもよく、又はターゲット仮想シーンにおいて左又は右へ回転するように被制御仮想オブジェクトを制御してもよく、或いはターゲット仮想シーンにおいてスクワット、這い、及び仮想プロップの使用などの動作を実行するように被制御仮想オブジェクトを制御してもよい。無論、第1のサーバーは制御情報に基づいて、ターゲット仮想シーンにおいて運動又は動作するように、被制御仮想オブジェクトを制御すると、被制御仮想オブジェクトとバインディングされる仮想カメラも被制御仮想オブジェクトの運動に伴って運動し、被制御仮想オブジェクトが運動又は動作すると、被制御仮想オブジェクトがターゲット仮想シーンを観察する視角は変化し、被制御仮想オブジェクトとバインディングされる仮想カメラは、このような変化を記録できる。任意選択で、第1のサーバーはシーン管理サーバーである。
【0051】
この実施形態において、第1の端末を介して第1のサーバーに被制御仮想オブジェクトの制御情報を送信することができ、第1のサーバーは当該制御情報に基づいてターゲット仮想シーンにおける被制御仮想オブジェクトの視角を決定し、ターゲット仮想シーンにおける被制御仮想オブジェクトの視角に基づいて、ターゲット仮想シーンをレンダリングすることで第1のビデオフレームを取得することができ、従って、第1の端末によるレンダリングを必要とせず、レンダリング効率を向上させ、第2のサーバーは直接に第1のビデオフレームに対して後続の処理をすればよい。
【0052】
例えば、第1の端末はターゲット仮想シーンを表示し、ターゲット仮想シーンに被制御仮想オブジェクトを表示する。第1の端末と第1のサーバーとの間に長接続を確立し、被制御仮想オブジェクトに対する操作に応答して、第1の端末は当該操作に対応する制御情報を第1のサーバーに送信し、長接続は、1つの接続上で複数のデータパケットを連続して送信し得ることを意味し、接続維持期間に、送信するデータパケットがなければ、両方はリンク検出パケットを送信する必要がある。いくつかの実施例において、当該被制御仮想オブジェクトに対する操作はクリック操作及びドラッグ操作を含み、クリック操作は操作コントロールに対するクリック操作であり、例えば、FPSゲームにおいて、発砲コントロールに対するクリック操作である。ドラッグ操作は操作コントロール又は被制御仮想オブジェクトに対するドラッグ操作などであり、例えば、MOBAゲームにおいて、スキルコントロールに対するドラッグ操作などである。当該制御情報を受信した後、第1のサーバーは当該制御情報に基づいてターゲット仮想シーンにおける被制御仮想オブジェクトの位置、姿勢及び動作を決定する。第1のサーバーはターゲット仮想シーンにおける被制御仮想オブジェクトの位置、姿勢及び動作に基づいて、被制御仮想オブジェクトの視角を決定する。第1のサーバーは、被制御仮想オブジェクトの視角に基づいて、当該ターゲット仮想シーンをレンダリングすることで、第1の端末に対応する第1のビデオフレームを取得し、当該第1のビデオフレームは、第1の端末によって送信された制御情報に基づいてレンダリングすることで得られるビデオフレームである。例えば、ユーザーによる当該被制御仮想オブジェクトに対する操作がスクワットコントロールへのクリックであると、第1の端末から第1のサーバーに送信された制御情報は、しゃがむように、被制御仮想オブジェクトを制御するためにも用いられる。第1のサーバーはターゲット仮想シーンにおいてしゃがむように、被制御仮想オブジェクトを制御し、しゃがんだ後の被制御仮想オブジェクトの視角を決定する。しゃがんだ後の被制御仮想オブジェクトの視角に基づいてターゲット仮想シーンをレンダリングすることで第1のビデオフレームを取得する。第1のサーバーは当該第1のビデオフレームを第2のサーバーに送信し、第2のサーバーは当該第1のビデオフレームを取得する。
【0053】
302において、第2のサーバーは当該第1のビデオフレームに対して画像認識を行うことで、当該第1のビデオフレームのタイプを決定する。
【0054】
可能な実施形態において、第2のサーバーはターゲット仮想オブジェクトのテンプレート画像を使用して当該第1のビデオフレームにおいて検出する。当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在することを検出したことに応答して、第2のサーバーは当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないことが検出されたことに応答して、第2のサーバーは当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。ターゲット仮想オブジェクトの識別子は、開始時、クライアントサーバーから第2のサーバーに送信され、第2のサーバーはターゲット仮想オブジェクトの識別子に基づいて認識を必要とするターゲット仮想オブジェクトを決定することができ、例えば、第2のサーバーはターゲット仮想オブジェクトの識別子に基づいて当該識別子に対応付けて記憶されるテンプレート画像、即ち、当該ターゲット仮想オブジェクトのテンプレート画像をクエリし、その後、第1の端末に対応するビデオフレームを取得するたびに、当該テンプレート画像を使用して検出する。
【0055】
ターゲット仮想オブジェクトは第1の端末によって設置された仮想オブジェクトであり、ターゲット仮想オブジェクトはターゲット仮想シーンにおける何れか1つの仮想オブジェクトである。例えば、ターゲット仮想オブジェクトはターゲット仮想シーンにおける仮想自動車、又はターゲット仮想シーンにおける仮想木、或いは仮想シーンにおける仮想家屋、若しくは仮想ガンなどであり、本出願の実施例では、それを限定していない。
【0056】
この実施形態において、第2のサーバーは、テンプレートマッチングにより第1のビデオフレームのタイプを決定することができ、つまり、第1のビデオフレームがターゲット仮想オブジェクトを表示するかどうかを決定し、テンプレートマッチングの速度が速いため、テンプレートマッチングを用いて第1のビデオフレームのタイプを決定する場合、効率も高い。
【0057】
以下、2つの例によって上記の実施形態を説明する。
【0058】
例1:第2のサーバーは当該ターゲット仮想オブジェクトのテンプレート画像を使用して、当該ターゲット仮想オブジェクトのテンプレート画像と第1のビデオフレームにおける複数の領域との間の類似度を取得する。複数の領域に当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度がターゲット類似度条件を満たす領域が存在することに応答して、第2のサーバーは、当該領域が当該ターゲット仮想オブジェクトのテンプレート画像にマッチングすると決定し、当該第1のビデオフレームを第1のタイプとして決定する。複数の領域と当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度がターゲット類似度条件を満たさないことに応答して、第2のサーバーは当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないと決定し、当該第1のビデオフレームを第2のタイプとして決定する。
【0059】
例えば、第2のサーバーは当該ターゲット仮想オブジェクトのテンプレート画像を使用して当該第1のビデオフレーム上でスライドして、当該ターゲット仮想オブジェクトのテンプレート画像と第1のビデオフレーム上の複数の領域との間の類似度を取得し、当該複数の領域は、ターゲット仮想オブジェクトのテンプレート画像が第1のビデオフレーム上でスライドする際にカバーされる領域である。いくつかの実施例において、第2のサーバーは、当該ターゲット仮想オブジェクトのテンプレート画像と複数の領域との間の類似度を決定する場合、カラー値の類似度又は階調値の類似度を用いて実現してもよいが、本出願の実施例では、それを限定していない。複数の領域に当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度が類似度閾値の以上である領域が存在ことに応答して、第2のサーバーは、当該領域が当該ターゲット仮想オブジェクトのテンプレート画像にマッチングすると決定し、当該第1のビデオフレームを第1のタイプとして決定し、つまり、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示する。複数の領域と当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度が類似度閾値よりも小さいことに応答して、第2のサーバーは、当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないと決定し、当該第1のビデオフレームを第2のタイプとして決定し、つまり、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しない。
【0060】
例2:第2のサーバーはターゲット仮想オブジェクトのテンプレート画像に対してズーム処理を行うことで、ターゲット仮想オブジェクトの複数のサイズのテンプレート画像を取得する。第2のサーバーは複数のサイズのテンプレート画像に基づいて、当該ターゲット仮想オブジェクトのテンプレート画像と第1のビデオフレーム上の複数の領域との間の類似度を取得し、複数の領域は異なるサイズを有する領域を含む。複数の領域に当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度がターゲット類似度条件を満たす領域が存在することに応答して、第2のサーバーは、当該領域が当該ターゲット仮想オブジェクトのテンプレート画像にマッチングすると決定し、当該第1のビデオフレームを第1のタイプとして決定する。複数の領域と当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度がターゲット類似度条件を満たさないことに応答して、第2のサーバーは、当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないと決定し、当該第1のビデオフレームを第2のタイプとして決定する。
【0061】
被制御仮想オブジェクトがターゲット仮想シーン内で移動するため、被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の距離は異なるビデオフレームにおいて異なる可能性があり、ターゲット仮想オブジェクトのサイズも異なるビデオフレームにおいて異なる可能性があり、ターゲット仮想オブジェクトのテンプレート画像を複数のサイズのテンプレート画像にスケーリングすることでテンプレートマッチングを行うことにより、テンプレートマッチングの精度を向上させることができる。
【0062】
例えば、第2のサーバーは当該ターゲット仮想オブジェクトのテンプレート画像に対してズーム処理を行うことで、ターゲット仮想オブジェクトの複数のサイズのテンプレート画像を取得する。第2のサーバーは、当該第1のビデオフレーム上でスライドするように、複数のサイズのテンプレート画像を制御し、当該複数のサイズのテンプレート画像と第1のビデオフレーム上の複数の領域との間の類似度を取得し、当該複数の領域は、ターゲット仮想オブジェクトのテンプレート画像が第1のビデオフレーム上でスライドする際にカバーされる領域である。いくつかの実施例において、第2のサーバーは、複数のサイズのテンプレート画像と複数の領域との間の類似度を決定する場合、カラー値の類似度又は階調値の類似度を使用して実現してもよいが、本出願の実施例では、それを限定していない。複数の領域に当該複数のサイズのテンプレート画像のうちの何れか1つのテンプレート画像との間の類似度が類似度閾値の以上である領域が存在することに応答して、第2のサーバーは、当該領域が当該ターゲット仮想オブジェクトのテンプレート画像にマッチングすると決定し、当該第1のビデオフレームを第1のタイプとして決定し、つまり、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示する。複数の領域と当該ターゲット仮想オブジェクトのテンプレート画像との間の類似度が類似度閾値よりも小さいことに応答して、第2のサーバーは、当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないと決定し、当該第1のビデオフレームを第2のタイプとして決定し、つまり、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しない。
【0063】
可能な実施形態において、第2のサーバーは当該第1のビデオフレームを画像認識モデルに入力する。第2のサーバーは当該画像認識モデルによって、当該第1のビデオフレームに対して特徴抽出及び分類を行い、当該第1のビデオフレームのタイプを出力する。
【0064】
当該画像認識モデルはサンプルビデオフレームセットに基づいて訓練することで得られ、サンプルビデオフレームセットはポジティブサンプルビデオフレーム及びネガティブサンプルビデオフレームを含み、ポジティブサンプルビデオフレームはターゲット仮想オブジェクトが表示されるビデオフレームであり、ネガティブサンプルビデオフレームはターゲット仮想オブジェクトが表示されないビデオフレームである。サンプルビデオフレームセットによって訓練することで得られた画像認識モデルは、ビデオフレームにターゲット仮想オブジェクトが表示されているかどうかを判定する能力を具備する。いくつかの実施例において、画像認識モデルは第2のサーバーが事前に訓練したものであり、ゲーム中で当該画像認識モデルを直接使用してビデオフレームのタイプを決定することができる。
【0065】
以下、2つの例を使用して上記の実施形態を説明する。
【0066】
例1:第2のサーバーは、当該第1のビデオフレームを当該画像認識モデルに入力する。第2のサーバーは、当該画像認識モデルによって当該第1のビデオフレームに対して特徴抽出及び完全結合処理を行うことで、当該第1のビデオフレームに対応する確率を取得し、当該確率は、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示する確率である。当該確率が確率の閾値の以上であることに応答して、第2のサーバーは当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該確率が当該確率の閾値よりも小さいことに応答して、第2のサーバーは当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。
【0067】
例えば、第2のサーバーは当該第1のビデオフレームを当該画像認識モデルに入力し、当該画像認識モデルによって、当該第1のビデオフレームに対して畳み込み処理を行うことで第1のビデオフレームの特徴マップを取得する。第2のサーバーは、当該画像認識モデルによって、第1のビデオフレームの特徴マップに対して完全結合処理及び正規化処理を行うことで当該第1のビデオフレームに対応する確率分布列を取得し、正規化処理はS字状成長曲線(Sigmoid)又はソフトマックス(Softmax)関数を使用して行われてもよいが、本出願の実施例では、それを限定していない。確率分布列において第1のタイプに対応する確率が確率の閾値の以上であることに応答して、第2のサーバーは第1のビデオフレームを第1のタイプとして決定し、つまり、第1のビデオフレームがターゲット仮想オブジェクトを表示する。確率分布列において第2のタイプに対応する確率が確率の閾値の以上であることに応答して、第2のサーバーは当該第1のビデオフレームを第2のタイプとして決定し、つまり、第1のビデオフレームがターゲット仮想オブジェクトを表示しない。
【0068】
例2:第2のサーバーは当該第1のビデオフレームを複数の画像ブロックに分割し、当該複数の画像ブロックを当該画像認識モデルに入力する。第2のサーバーは、当該画像認識モデルによって当該複数の画像ブロックに対して特徴抽出及び完全結合処理を行うことで当該複数の画像ブロックのそれぞれに対応する複数の確率を取得し、当該確率は、対応する画像ブロックに当該ターゲット仮想オブジェクトを含む確率である。当該複数の確率のうちの何れか1つの確率が確率の閾値の以上であることに応答して、第2のサーバーは当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該複数の確率が何れも当該確率の閾値よりも小さいことに応答して、第2のサーバーは当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。
【0069】
例えば、第2のサーバーは当該第1のビデオフレームを、同じサイズの複数の画像ブロックに分割し、当該複数の画像ブロックを当該画像認識モデルに入力し、当該画像認識モデルによって当該複数の画像ブロックに対して畳み込み処理を行うことで、複数の画像ブロックの特徴マップを取得する。第2のサーバーは、当該画像認識モデルによって複数の画像ブロックの特徴マップに対して完全結合処理及び正規化処理を行うことで当該複数の画像ブロックに対応する複数の確率を取得し、当該確率は対応する画像ブロックにターゲット仮想オブジェクトが表示される確率であり、正規化処理はS字状成長曲線(Sigmoid)又はソフトマックス(Softmax)関数を使用して行われてもよいが、本出願の実施例では、それを限定していない。何れか1つの確率が確率の閾値の以上であることに応答して、第2のサーバーは第1のビデオフレームを第1のタイプとして決定し、つまり、第1のビデオフレームがターゲット仮想オブジェクトを表示する。複数の確率が確率の閾値よりも小さいことに応答して、第2のサーバーは当該第1のビデオフレームを第2のタイプとして決定し、つまり、第1のビデオフレームがターゲット仮想オブジェクトを表示しない。
【0070】
ここで、ステップ302の後、当該タイプは第1のビデオフレームターゲットに仮想オブジェクトが表示されることを示す場合、第2のサーバーは次のステップ303を実行し、当該タイプは第1のビデオフレームがターゲット仮想オブジェクトを表示しないことを示す場合、第2のサーバーは次のステップ304を実行する。
【0071】
303において、当該タイプは第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示することを示す場合、第2のサーバーは当該第1の端末の第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得する。
【0072】
可能な実施形態において、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のレンダリングパラメータを取得し、当該第1のレンダリングパラメータは、当該第1のパラメータにおける、第1の角度及び第1の距離に対応するレンダリングパラメータであり、当該第1の角度は、当該被制御仮想オブジェクトと当該ターゲット仮想オブジェクトとの間の角度であり、当該第1の距離は、当該被制御仮想オブジェクトと当該ターゲット仮想オブジェクトとの間の距離である。第2のサーバーは当該第1のレンダリングパラメータに基づいて当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。
【0073】
この実施形態において、第1のビデオフレームがターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のレンダリングパラメータに基づいてターゲット仮想オブジェクトに対して二次レンダリングを行うことで、ターゲット仮想オブジェクトの表示効果を変更でき、ゲーム中で、被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の距離及び角度はいつでも変化する可能性があり、異なる距離及び角度は異なるレンダリングパラメータに対応し、第2のサーバーは第1の角度及び第1の距離に基づいて直接に第1のパラメータから第1のレンダリングパラメータを取得でき、第1の角度及び第1の距離に基づいて二次演算を行うことで第1のレンダリングパラメータを取得する必要がなく、効率が高い。
【0074】
例えば、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のサーバーから、被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の第1の角度及び第1の距離を取得する。第2のサーバーは、第1の角度、第1の距離及びターゲット仮想オブジェクトの識別子をクライアントサーバーに送信する。第1の角度、第1の距離、及びターゲット仮想オブジェクトの識別子を受信した後、クライアントサーバーはターゲット仮想オブジェクトの識別子に基づいて第1のパラメータを決定する。クライアントサーバーは第1の角度及び第1の距離に基づいて第1のパラメータからクエリして、第1のレンダリングパラメータを取得し、第1のレンダリングパラメータを第2のサーバーに送信する。第2のサーバーは当該第1のレンダリングパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトの複数のターゲット画素点のターゲット画素値を決定する。第2のサーバーは当該ターゲット画素値を使用して、当該第1のビデオフレームにおける当該複数のターゲット画素点の画素値を更新することで、当該第2のビデオフレームを取得する。
【0075】
当該ターゲット画素点は、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトの画素点であり、当該第1のビデオフレームにおいて当該ターゲット画素点は画素値を有し、当該ターゲット画素値は、当該ターゲット画素点を更新することで取得される画素値であるため、当該ターゲット画素値を使用して、当該ターゲット画素値の元の画素値を更新する。
【0076】
被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の角度は、被制御仮想オブジェクトの向きとターゲット仮想オブジェクトの向きとの間の角度であってもよい。例えば、被制御仮想オブジェクトは、ゲームシーンにおいて仮想ガンを持つゲームキャラクタであると、被制御仮想オブジェクトの向きは仮想ガンの照準方向である。ターゲット仮想オブジェクトは仮想車両であると、ターゲット仮想オブジェクトの向きは仮想車両の真前である。被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の距離は、被制御仮想オブジェクトの中心点とターゲット仮想オブジェクトの中心点との間の距離である。
【0077】
可能な実施形態において、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは当該第1のパラメータから第1のレンダリングパラメータ及び第2のレンダリングパラメータを取得する。当該第1のビデオフレームにおいて第2のサーバーは当該第1のレンダリングパラメータ及び当該第2のレンダリングパラメータを使用して、当該ターゲット仮想オブジェクト及び当該被制御仮想オブジェクトをそれぞれレンダリングすることで、当該第2のビデオフレームを取得する。
【0078】
この実施形態において、第1のパラメータは第1の端末のパラメータであり、当該第1のパラメータには、ターゲット仮想オブジェクトをレンダリングする第1のレンダリングパラメータと、被制御仮想オブジェクトをレンダリングする第2のレンダリングパラメータとを含み、ユーザーは、仮想シーンにおけるターゲット仮想オブジェクトだけではなく、第1の端末によって制御される被制御仮想オブジェクトに対して二次レンダリングを行うこともでき、パーソナライズ及びプレイアビリティを向上させる。
【0079】
例えば、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のサーバーから、被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の第1の角度及び第1の距離を取得する。第2のサーバーは、第1の角度、第1の距離及びターゲット仮想オブジェクトの識別子をクライアントサーバーに送信する。第1の角度、第1の距離及びターゲット仮想オブジェクトの識別子を受信した後、クライアントサーバーはターゲット仮想オブジェクトの識別子に基づいて第1のパラメータを決定する。クライアントサーバーは第1の角度及び第1の距離に基づいて第1のパラメータからクエリして、第1のレンダリングパラメータ及び第2のレンダリングパラメータを取得し、第1のレンダリングパラメータ及び第2のレンダリングパラメータを第2のサーバーに送信する。第1のレンダリングパラメータ及び第2のレンダリングパラメータを受信した後、第2のサーバーは第1のビデオフレームにおいて、第1のレンダリングパラメータを使用してターゲット仮想オブジェクトをレンダリングし、第2のレンダリングパラメータを使用して被制御仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得する。
【0080】
例えば、ユーザーは、ターゲット仮想オブジェクトの表示効果に対してパーソナライズ設置を行いたい場合、また、ターゲット仮想オブジェクトを表示する場合、自分によって制御される被制御仮想オブジェクトの表示効果に対してもパーソナライズ設置を行いたいと、上記の実施形態によって実現される。ターゲット仮想オブジェクトが仮想車両であることを例とし、ユーザーは仮想車両の色を赤に設置したい場合、また、ターゲット仮想シーンに当該仮想車両を表示したい場合、第1の端末によって制御されるゲームキャラクタ(仮想オブジェクト)の服を青に表示でき、上記の実施形態によって、第1のパラメータに第1のレンダリングパラメータ及び第2のレンダリングパラメータを配置する。第1のビデオフレームがターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のレンダリングパラメータを使用してターゲット仮想オブジェクトに対して二次レンダリングを行うとともに、第1のレンダリングパラメータを使用して被制御仮想オブジェクトに対して二次レンダリングを行うことができ、パーソナライズを向上させる。
【0081】
可能な実施形態において、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは当該ターゲット仮想シーンにおける当該被制御仮想オブジェクトの位置を決定する。当該被制御仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに位置する場合、第2のサーバーは当該第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。当該被制御仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに位置しない場合、第2のサーバーは当該第1のビデオフレームを当該第2のビデオフレームとして決定する。
【0082】
ターゲット仮想シーンは複数のサブシーンを含み、複数のサブシーンはターゲット仮想シーンを構成し、例えば、複数のサブシーンは仮想ソーシャルシーン及び仮想戦闘シーンに分けられ、仮想ソーシャルシーンは仮想釣りシーン、仮想チャットルーム、仮想ダンスルーム又は仮想カードルームなどを含み、仮想ソーシャルシーンにおいて、ユーザーは仮想オブジェクトを制御して他のユーザーとコミュニケーションする。仮想戦闘シーンは、ユーザーが仮想オブジェクトを制御して戦闘するシーンである。ターゲットサブシーンは第1の端末によって決定され、仮想ソーシャルシーンであってもよいし、仮想戦闘シーンであってもよいが、本出願の実施例では、それを限定していない。
【0083】
上記の実施形態において、ユーザーは第1の端末によって第1のパラメータを決定できるとともに、ターゲット仮想オブジェクトをレンダリングするターゲットサブシーンも決定でき、パーソナライズ程度を大幅に向上させ、ユーザービスコシティを高める。
【0084】
例えば、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のサーバーから、ターゲット仮想シーンにおける被制御仮想オブジェクトの位置を取得する。即ち、第2のサーバーは第1のサーバーに位置取得要求を送信し、位置取得要求は第1のビデオフレームのタイムスタンプ及び被制御仮想オブジェクトの識別子を含む。位置取得要求を取得した後、第1のサーバーは位置取得要求から第1のビデオフレームのタイムスタンプ及び被制御仮想オブジェクトの識別子を取得し、第1のビデオフレームのタイムスタンプ及び被制御仮想オブジェクトの識別子に基づいてクエリして、第1のビデオフレームのタイムスタンプが示す時点でのターゲット仮想シーンにおける被制御仮想オブジェクトの位置を取得する。第1のサーバーはサーバーに、ターゲット仮想シーンにおける被制御仮想オブジェクトの位置を送信し、当該位置は、被制御仮想オブジェクトが当該ターゲット仮想シーンにおいて所在するサブシーンを示すために用いられる。第2のサーバーは第1のサーバーに位置取得要求を送信しながら、クライアントサーバーにパラメータ取得要求を送信し、パラメータ取得要求はターゲット仮想オブジェクトの識別子を含む。パラメータ取得要求を受信した後、クライアントサーバーはパラメータ取得要求からターゲット仮想オブジェクトの識別子を取得する。クライアントサーバーはターゲット仮想オブジェクトの識別子に基づいてクエリして、ターゲット仮想オブジェクトに対応する第1のパラメータ及びターゲットサブシーンの識別子を取得して第2のサーバーに送信する。第2のサーバーは第1のサーバーから送信された位置、クライアントサーバーから送信された第1のパラメータ及びターゲットサブシーンの識別子を取得する。当該位置が示すサブシーンがターゲットサブシーンである場合、第2のサーバーは第1のパラメータを使用して、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。当該位置が示すサブシーンがターゲットサブシーンではない場合、第2のサーバーは第1のビデオフレームをレンダリングせず、直接に第1のビデオフレームを当該第2のビデオフレームとして決定し、即ち、第2のサーバーは直接に第1のビデオフレームを第1の端末に送信でき、第1の端末は当該第1のビデオフレームを表示する。
【0085】
例えば、ターゲットサブシーンは仮想釣りシーンであり、ターゲット仮想オブジェクトは仮想車両であり、第2のサーバーは、第1のビデオフレームが当該仮想車両を表示し、且つ、被制御仮想オブジェクトが当該仮想釣りシーンに位置すると決定した場合、第1のパラメータを使用して当該仮想車両に対して二次レンダリングを行うことで、当該仮想車両の表示効果を変更する。第2のサーバーは、第1のビデオフレームが当該仮想車両を表示するが、被制御仮想オブジェクトが当該仮想釣りシーンに位置しないと決定した場合、第1のレンダリングパラメータを使用して第1のビデオフレームに対して二次レンダリングを行うことなく、直接に当該第1のビデオフレームを第2のビデオフレームとして決定する。
【0086】
ここで、上記のステップ302では、第2のサーバーは、第1のビデオフレームのタイプを決定することに加えて、第1のビデオフレームが第1のタイプである場合、第1のビデオフレームにおけるターゲット仮想オブジェクトの位置を決定することもできる。第2のサーバーはテンプレートマッチングの方法で第1のビデオフレームのタイプを決定すると、シーンサーバーは、第1のビデオフレームにおけるターゲット仮想オブジェクトのテンプレート画像にマッチングする領域を、ターゲット仮想オブジェクトの第1のビデオフレームにおける位置に決定することができる。第2のサーバーは画像認識モデルを使用して第1のビデオフレームのタイプを決定すれば、画像認識モデルは第1のビデオフレームから検出ボックスを出力でき、当該検出ボックスは第1のビデオフレームにおいてターゲット仮想オブジェクトが所在する位置である。第2のサーバーは、ターゲット仮想オブジェクトの第1のビデオフレームにおける位置を決定した後、第1のレンダリングパラメータに基づいて、第1のビデオフレームにおいてターゲット仮想オブジェクトが所在する位置に対して二次レンダリングを行うことで、第2のビデオフレームを取得することができる。
【0087】
例えば、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のサーバーに相対位置取得要求を送信し、当該相対位置取得要求は、被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の距離を取得するために用いられ、当該相対位置取得要求は被制御仮想オブジェクトの識別子及びターゲット仮想オブジェクトの識別子を含む。相対位置取得要求を受信した後、第1のサーバーは当該相対位置取得要求から被制御仮想オブジェクトの識別子及びターゲット仮想オブジェクトの識別子を取得し、被制御仮想オブジェクトの識別子及びターゲット仮想オブジェクトの識別子に基づいて被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の第1の角度及び第1の距離を決定する。第1のサーバーは第2のサーバーに被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の第1の角度及び第1の距離を送信する。被制御仮想オブジェクトとターゲット仮想オブジェクトとの間の第1の角度及び第1の距離を受信した後、第2のサーバーはクライアントサーバーにレンダリングパラメータ取得要求を送信し、レンダリングパラメータ取得要求は当該第1の角度、第1の距離及びターゲット仮想オブジェクトの識別子を含み、レンダリングパラメータ取得要求をクライアントサーバーに送信する。レンダリングパラメータ取得要求を受信した後、クライアントサーバーはレンダリングパラメータ取得要求から第1の角度、第1の距離、及びターゲット仮想オブジェクトの識別子を取得し、ターゲット仮想オブジェクトの識別子に基づいて第1のパラメータを決定する。クライアントサーバーは第1の角度及び第1の距離に基づいて第1のパラメータからクエリして、第1のレンダリングパラメータを取得し、第1のレンダリングパラメータを第2のサーバーに送信する。第2のサーバーは当該第1のレンダリングパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトの複数のターゲット画素点のターゲット画素値を決定する。第2のサーバーは当該ターゲット画素値を使用して、当該第1のビデオフレームにおける当該複数のターゲット画素点の画素値を更新することで、当該第2のビデオフレームを取得し、即ち、当該ターゲット画素値を使用して、複数のターゲット画素点の画素値を置き換える。いくつかの実施例において、ターゲット画素値はテクスチャデータとも呼ばれる。
【0088】
図4を参照し、第1のサーバーはターゲット仮想シーン内の被制御仮想オブジェクトの視角から、ターゲット仮想シーンをレンダリングすることで第1のビデオフレーム401を取得し、第1のビデオフレーム401は仮想車両402を含み、当該仮想車両402はターゲット仮想オブジェクトである。第2のサーバーは第1のレンダリングパラメータを使用して、仮想車両402に対して二次レンダリングを行うことで、第2のビデオフレーム403を取得する。これから分かるように、第2のビデオフレーム403における仮想車両404と第1のビデオフレーム401とは異なる表示効果を具備する。
【0089】
いくつかの実施例において、第1のサーバー内部にはアンドロイドコンテナがあり、アンドロイドコンテナのレンダリング技術は何れもアンドロイドコンテナ内のレンダリング技術を採用し、その原理は、アンドロイドコンテナ内でGPU(Graphics Processing Unit、グラフィックプロセッサー)に直接アクセスでき、GPUが高同時実行性のコンピューティング能力を具備して、直接にアンドロイドコンテナ内でレンダリングを完成することができ、レンダリング性能を向上させ、多くのレンダリングによる遅延を大幅に低減することができる。1つのアンドロイドコンテナは1つの完全なAndroid(アンドロイド)システムであり、互換性も完璧であり、ゲームのレンダリングを実現できる。ゲームが開始すると、第1のサーバーはクライアントサーバーに、レンダリング完了の指令を送信でき、クライアントサーバーは現在のユーザーアカウントのゲーム期間情報をリアルタイムで記録でき、期間が不十分であると、クライアントサーバーはシグナリングを介して処理するようにクライアントに通知することができる(例えば、期間が不十分である場合、期間不十分をポップアップウインドウで提示する。クラウドゲームが異常である場合、ユーザーに対して異常であることをクライアントにポップアップウインドウで提示させる)。
【0090】
以下、クライアントサーバーがターゲット仮想オブジェクトの第1のパラメータを生成する方法を説明する。
【0091】
可能な実施形態において、第1の端末はターゲット仮想オブジェクトの配置インターフェースを表示し、当該配置インターフェースはターゲット仮想オブジェクトの配置情報を取得する。当該配置インターフェース上の操作に応答して、ターゲット仮想オブジェクトの配置情報をクライアントサーバーに送信する。クライアントサーバーはターゲット仮想オブジェクトの配置情報を受信して、ターゲット仮想オブジェクトの配置情報に基づいて、ターゲット仮想オブジェクトの3次元モデルを作成して、当該3次元モデルに対応する第1のパラメータを取得する。いくつかの実施例において、クライアントサーバーは第1の端末によってログインされたユーザーアカウント(User ID)、ターゲット仮想シーンの識別子(Game ID)、ターゲット仮想オブジェクトの識別子(Object ID)、及び第1のパラメータをバインディングして記憶することで、以降の呼出過程で、表示に基づいて第1のパラメータを決定することができ、効率が高い。
【0092】
例えば、第1の端末はターゲットクラウドゲームの配置インターフェースを表示し、当該配置インターフェースには当該ターゲットクラウドゲームにおける複数の仮想オブジェクトが表示され、当該ターゲットクラウドゲームはユーザーによって選択されたクラウドゲームであり、当該ターゲットクラウドゲームのゲームシーンはターゲット仮想シーンである。当該複数の仮想オブジェクトにおけるターゲット仮想オブジェクトが選択されたことに応答して、第1の端末はターゲット仮想オブジェクトの配置インターフェースを表示し、当該配置インターフェースに複数の配置オプションが表示される。第1の端末は、複数の配置オプションにおける選択されたオプションに基づいて当該ターゲット仮想オブジェクトの配置情報を生成し、当該ターゲット仮想オブジェクトの配置情報をクライアントサーバーに送信する。当該ターゲット仮想オブジェクトの配置情報を受信した後、クライアントサーバーは当該ターゲット仮想オブジェクトの配置情報に基づいてターゲット仮想オブジェクトの初期3次元モデルをレンダリングすることで、当該ターゲット仮想オブジェクトの3次元モデルを取得する。クライアントサーバーは、異なる角度、異なる距離での仮想カメラ及び当該ターゲット仮想オブジェクトの3次元モデルのレンダリングパラメータを取得し、当該異なる角度及び異なる距離でのレンダリングパラメータは当該3次元モデルに対応する第1のパラメータを構成する。
【0093】
例えば、第1の端末はクラウドゲームクライアントを起動させ、クラウドゲームクライアントの実行インターフェースを表示し、実行インターフェースには、選択対象となる複数のクラウドゲームが表示される。複数のクラウドゲームのうちのターゲットクラウドゲームが選択されたことに応答して、第1の端末はターゲットクラウドゲームの配置インターフェースを表示し、当該配置インターフェースには当該ターゲットクラウドゲームにおけるパーソナライズ処理のための複数の仮想オブジェクトが表示され、例えば、当該複数の仮想オブジェクトは仮想車両、仮想木、仮想家屋などを含む。当該複数の仮想オブジェクトのうちのターゲット仮想オブジェクトが選択されたことに応答して、ターゲット仮想オブジェクトが仮想車両であることを例とし、図5を参照し、第1の端末は仮想車両の配置インターフェース501を表示し、配置インターフェース501に複数の第1レベル配置オプション502が表示され、第1レベル配置オプションは仮想車両のタイプを選択するために用いられ、いくつかの実施例において、第1の端末は車両のブランドを使用して仮想車両のタイプを示す。複数の第1レベル配置オプションのうちの何れか1つの第1レベル配置オプションが選択されたことに応答して、第1の端末は当該第1レベル配置オプションに対応する複数の第2レベル配置オプション503を表示し、第2レベル配置オプションは仮想車両のスタイルを選択するために用いられ、いくつかの実施例において、第1の端末は車両の型番を使用して仮想車両のスタイルを示す。複数の第2レベル配置オプションのうちの何れか1つの第2レベル配置オプションが選択されたことに応答して、第1の端末は当該第2レベル配置オプションに対応する複数の第3レベル配置オプション504を表示し、第3レベル配置オプションは仮想車両の色を選択し、例えば赤、黒色、青などである。いくつかの実施例において、複数の第3レベル配置オプションのうちの何れか1つの第3レベル配置オプションが選択されたことに応答し、第1の端末は複数の第4レベル配置オプション505を表示し、第4レベル配置オプションはターゲット仮想オブジェクトの配置情報の適用範囲を選択し、適用範囲は「自分のみ閲覧」、「全員閲覧」、「永続使用」及び「一回使用」などを含み、「自分のみ閲覧」は、ゲーム中、他の端末に対応するビデオフレームではなく、第1の端末に対応するビデオフレームのみに対して二次レンダリングを行うように第2のサーバーに指示する。「全員閲覧」は、ゲーム中、全ての端末に対応するビデオフレームの全部に対して二次レンダリングを行うように、第2のサーバーに指示する。例えば、ターゲット仮想シーンにおける仮想車両は、タイプA-スタイルB-赤にデフォルトで表示され、第1の端末のユーザーは、仮想車両の配置インターフェースを介して、当該仮想車両をタイプC-スタイルD-白に設置し、第1の端末のユーザーは「自分のみ閲覧」を選択した場合、ゲーム中、第1の端末に表示されるターゲット仮想シーンにおいて、仮想車両はタイプC-スタイルD-白に表示され、当該ターゲット仮想シーンを表示する他の端末は、当該仮想車両を依然としてタイプA-スタイルB-赤に表示する。無論、第1の端末のユーザーは「全員閲覧」を選択した場合、ゲーム中、ターゲット仮想シーンを表示する全ての端末は何れも当該仮想車両をタイプC-スタイルD-白に表示する。「永続使用」というオプションに対して、第2のサーバーは各回、今回で決定した配置情報に従ってレンダリングパラメータを決定する。「一回使用」というオプションにについて、第2のサーバーは、今回のゲームのみで、今回で決定した配置情報に従ってレンダリングパラメータを決定する。第1の端末は上記の第1レベル配置オプション、第2レベル配置オプション、第3レベル配置オプション及び第4レベル配置オプションに基づいて、当該ターゲット仮想オブジェクトの設置パラメータを決定し、当該設置パラメータをクライアントサーバーに送信する。クライアントサーバーは当該ターゲット仮想オブジェクトの設置パラメータに基づいて、汎用グラフィックスライブラリ(Open Graphics Library、OpenGL)を使用してターゲット仮想オブジェクトの3次元モデルを作成する。クライアントサーバーは、異なる角度、異なる距離での仮想カメラ及び当該ターゲット仮想オブジェクトの3次元モデルのレンダリングパラメータを取得し、当該異なる角度及び異なる距離でのレンダリングパラメータは、当該3次元モデルに対応する第1のパラメータを構成する。
【0094】
いくつかの実施例において、ターゲット仮想シーンが仮想車両を含むことを例とし、技術者はクライアントサーバーによって、車両の基本情報(ブランドCarType、スタイルCarStyle、色CarCalorなど)に基づいて、大量の仮想車両の3次元モデルを事前に作成し、このような、ゲーム中で、対応する3次元モデルを直接に呼び出すことができ、効率が高い。
【0095】
任意選択で、第2のサーバーは、第2のビデオフレームを取得した後に、以下のステップをさらに実行することができる。可能な実施形態において、第2のサーバーは当該ターゲット仮想オブジェクトに対応する第2のアニメーション及び第2のオーディオを取得する。第2のサーバーは当該ターゲット仮想オブジェクトに対応する第2のアニメーションを当該第2のビデオフレームに追加することで、第7のビデオフレームを取得する。第2のサーバーは当該第7のビデオフレーム及び当該第2のオーディオを当該第1の端末に送信し、当該第1の端末は当該第7のビデオフレームを表示しながら当該第2のオーディオを再生する。第2のビデオフレームに第2のアニメーションを追加する位置は、ユーザー又は技術者によって決定され、例えば、第2のアニメーションをターゲット仮想オブジェクトに隣接する位置、例えばターゲット仮想オブジェクトの上や横などに追加するが、本出願の実施例では、それを限定していない。
【0096】
この実施形態において、第2のサーバーは第1のパラメータに基づいて第1のビデオフレームに対して二次レンダリングを行うことで第2のビデオフレームを取得した後に、さらに、第2のビデオフレームに基づいてレンダリングし、即ち、第2のビデオフレームにターゲット仮想オブジェクトに対応する第2のアニメーションを追加して、第7のビデオフレームを取得することができる。そのほかに、また、ターゲット仮想オブジェクトに対応する第2のオーディオを取得し、第7のビデオフレームを第2のオーディオとともに第1の端末に送信した後、第1の端末は第7のビデオフレームを表示しながら第2のオーディオを再生することができる。第1のパラメータ、第2のアニメーション、及び第2のオーディオは何れもユーザーによって第1の端末を介して決定されたため、同一の第1のビデオフレームは、設置が異なるため、第2のサーバーによって異なる第7のビデオフレームにレンダリングされ、異なる第2のオーディオを構成する可能性があり、これによって、パーソナライズを向上させる。
【0097】
例えば、第2のサーバーはクライアントサーバーからターゲット仮想オブジェクトに対応する第2のアニメーション及び第2のオーディオを取得し、第2のアニメーション及び第2のオーディオは何れも第1の端末によって決定される。即ち、第2のサーバーはクライアントサーバーに第1のアニメーション取得要求を送信し、第1のアニメーション取得要求はターゲット仮想オブジェクトの識別子を含む。第1のアニメーション取得要求を受信した後、クライアントサーバーは第1のアニメーション取得要求からターゲット仮想オブジェクトの識別子を取得し、ターゲット仮想オブジェクトの識別子に基づいてクエリして、ターゲット仮想オブジェクトに対応する第2のアニメーション及び第2のオーディオを取得し、第2のアニメーション及び第2のオーディオを第2のサーバーに送信する。第2のアニメーション及び第2のオーディオを受信した後、第2のサーバーは第2のビデオフレームに第2のアニメーション、例えば、第2のアニメーションの第1のフレームを追加して、第7のビデオフレームを取得する。第2のサーバーは第7のビデオフレーム及び第2のオーディオを第1の端末に送信し、第1の端末は第7のビデオフレーム及び第2のオーディオを受信し、第7のビデオフレームを表示しながら第2のオーディオを再生する。
【0098】
ユーザーの観点から、ターゲット仮想オブジェクトは仮想車両であり、第2のアニメーションは徐々に現れる親指であり、第1のパラメータは当該仮想車両を赤に調整することである。第1の端末に表示される第7のビデオフレームにおいて、当該仮想車両の色は赤であり、当該仮想車両の横に当該親指を表示しながら第2のオーディオを再生する。
【0099】
304において、当該タイプは第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示しないことを示す場合、第2のサーバーは当該第1のビデオフレームを当該第1の端末に送信し、当該第1の端末は当該第1のビデオフレームを表示するように構成される。
【0100】
ステップ304によって、第1のビデオフレームがターゲット仮想オブジェクトを表示しない場合、第2のサーバーは、第1のビデオフレームに対して二次レンダリングを行う必要がなく、直接に第1のビデオフレームを第1の端末に転送し、第1の端末は第1のビデオフレームを表示すればよい。
【0101】
305において、第2のサーバーは当該第2のビデオフレームを当該第1の端末に送信し、当該第1の端末は当該第2のビデオフレームを表示するように構成される。
【0102】
ステップ305によって、第1のビデオフレームがターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のレンダリングパラメータに基づいて第1のビデオフレームに対して二次レンダリングを行うことで第2のビデオフレームを取得し、第2のビデオフレームを第1の端末に送信し、第1の端末に表示される第2のビデオフレームにおけるターゲット仮想オブジェクトは第1の端末によって配置される表示効果で表示され、これによって、ターゲット仮想オブジェクトの表示効果の迅速な調整を実現する。
【0103】
任意選択で、第2のビデオフレームを第1の端末に送信した後、第2のサーバーは以下の何れか1つのステップをさらに実行することができる。可能な実施形態において、第2のサーバーは複数の当該第2のビデオフレームを第1のビデオフレームセットに集約し、当該第1のビデオフレームセットを当該第1の端末に送信し、当該第1の端末は当該第1のビデオフレームセットを他の端末と共有するように構成される。
【0104】
この実施形態において、第2のビデオフレームは、第2のサーバーがユーザーの設置に基づいて二次レンダリングを行うビデオフレームであるため、当該二次ビデオフレームの表示効果はパーソナライズであり、第2のサーバーは当該第2のビデオフレームを第1のビデオフレームセットに集約し、当該第1のビデオフレームセットを第1の端末に送信することができ、第1の端末は当該第1のビデオフレームセットを他の端末と共有することができ、つまり、ユーザーは、自分によるクラウドアプリケーションに対するパーソナライズ設置を他のユーザーと共有することができ、他のユーザーが当該クラウドアプリケーションをプレーするように刺激し、当該クラウドアプリケーションがより広く伝播されるようにする。
【0105】
いくつかの実施例において、第1の端末は、当該第1のビデオフレームセットを取得した後、ソーシャルネットワークを介して当該第1のビデオフレームセットを共有することができ、当該第1のビデオフレームセットをより大幅に伝播する。
【0106】
可能な実施形態において、第2のサーバーは当該第2のビデオフレームと当該第1のビデオフレームとを連結することで、連結ビデオフレームを取得する。第2のサーバーは複数の当該連結ビデオフレームを第2のビデオフレームセットに集約し、当該第2のビデオフレームセットを当該第1の端末に送信し、当該第1の端末は当該第2のビデオフレームセットを他の端末と共有するように構成される。
【0107】
この実施形態において、第2のビデオフレームは、第2のサーバーがユーザーの設置に基づいて二次レンダリングを行うビデオフレームであり、第1のビデオフレームは第1のサーバーによってデフォルトでレンダリングされたビデオフレームであり、第2のビデオフレームと第1のビデオフレームとを連結して連結ビデオフレームとなる後、ユーザーは連結ビデオフレームを見ることでユーザーのパーソナライズ設置をより明らかに見ることができる。第2のサーバーは当該連結ビデオフレームを第2のビデオフレームセットに集約し、当該第2のビデオフレームセットを第1の端末に送信することができる。第1の端末は当該第2のビデオフレームセットを他の端末と共有することができ、つまり、ユーザーは自分によるクラウドアプリケーションに対するパーソナライズ設置を他のユーザーと共有して、他のユーザーが当該クラウドアプリケーションをプレーするように刺激し、当該クラウドアプリケーションがより広く伝播されるようにする。
【0108】
ここで、上記のステップ301~305では、第2のサーバーが第1のビデオフレームを処理することで第2のビデオフレームを取得することを例として説明し、ゲーム中で、第1のサーバーはターゲットシーンをリアルタイムでレンダリングすることで一連のビデオフレームを取得し、当該一連のビデオフレームは何れも第1の端末に対応するビデオフレームであり、第1のビデオフレームは当該一連のビデオフレームのうちの1つのビデオフレームである。当該一連のビデオフレームに対して、第2のサーバーは上記のステップ301~305を実行することができる。
【0109】
任意選択で、第1の端末は「全員に見える」を選択した場合、第2のサーバーは、他の端末に対応するビデオフレームに対して二次レンダリングを行うことで仮想シーンにおけるターゲット仮想オブジェクトの表示効果を変更するように、以下のステップ306~308をさらに実行することができる。
【0110】
306において、第2のサーバーは、当該第2の端末に対応する第5のビデオフレームを取得し、当該第5のビデオフレームは、当該第2の仮想オブジェクトの視角から、当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームである。
【0111】
第2のサーバーが第2の端末に対応する第5のビデオフレームを取得する方法は、第2のサーバーが第1の端末に対応する第1のビデオフレームを取得する方法と同一の発明構想に属し、実現過程について、上記のステップ301の関連記載を参照すればよい。ここで、贅言していない。
【0112】
307において、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、第2のサーバーは、当該第5のビデオフレームに対してターゲット処理を行うことで、第6のビデオフレームを取得する。
【0113】
第5のビデオフレームがターゲット仮想オブジェクトを表示するかどうかを第2のサーバーが決定する方法は、第1のビデオフレームがターゲット仮想オブジェクトを表示するかどうかを第2のサーバーが決定する方法と同一の発明構想に属し、実現過程について、上記のステップ302の関連記載を参照すればよく、ここで、贅言していない。
【0114】
可能な実施形態において、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、第2のサーバーは、当該第2の端末の第2のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。任意選択で、当該第2のパラメータは第2の端末によって決定される。
【0115】
この場合、第2の端末がターゲット仮想オブジェクトに対して第2のパラメータを設置した場合、第2のサーバーは第2のパラメータを使用して第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、第6のビデオフレームを取得することができ、以降、当該第6のビデオフレームを第2の端末に送信して表示させることができる。つまり、第2のサーバーは第1のパラメータを使用して当該ターゲット仮想オブジェクトを含むビデオフレームに対して二次レンダリングを行うことで、二次レンダリング後のビデオフレームを第1の端末に送信できる。第2のサーバーは第2のパラメータを使用して当該ターゲット仮想オブジェクトを含むビデオフレームに対して二次レンダリングを行うことで、二次レンダリング後のビデオフレームを第2の端末に送信する。第1の端末及び第2の端末に表示されるビデオフレームにおいて、当該ターゲット仮想オブジェクトは異なる表示効果を有する可能性がある。例えば、当該ターゲット仮想オブジェクトが仮想車両であることを例とし、第1のパラメータは、当該仮想車両を赤にレンダリングするように指示し、第2のパラメータは、当該仮想車両を青にレンダリングするように指示すれば、第1の端末に表示されるビデオフレームにおいて、当該仮想車両は赤であり、第2の端末に表示されるビデオフレームにおいて、当該仮想車両は青である。
【0116】
例えば、第2の端末がターゲット仮想オブジェクトの第2のパラメータを決定した場合、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、第2のサーバーは第1のサーバーから、第2の仮想オブジェクトとターゲット仮想オブジェクトとの間の第2の角度及び第2の距離を取得する。第2のサーバーは、第2の角度、第2の距離及びターゲット仮想オブジェクトの識別子をクライアントサーバーに送信する。第2の角度、第2の距離及びターゲット仮想オブジェクトの識別子を受信した後、クライアントサーバーはターゲット仮想オブジェクトの識別子に基づいて第2のパラメータを決定する。クライアントサーバーは、第2の角度及び第2の距離に基づいて第2のパラメータからクエリして、第3のレンダリングパラメータを取得し、第3のレンダリングパラメータを第2のサーバーに送信する。第3のレンダリングパラメータを受信した後、第2のサーバーは第5のビデオフレームにおいて、第3のレンダリングパラメータを使用して、ターゲット仮想オブジェクトをレンダリングすることで、第6のビデオフレームを取得する。
【0117】
可能な実施形態において、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、第2のサーバーは、当該第1のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。
【0118】
この場合、第2の端末がターゲット仮想オブジェクトに対して第2のパラメータを設置していないと、第2のサーバーは第1のパラメータを使用して第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで第6のビデオフレームを取得することができ、以降、当該第6のビデオフレームを第2の端末に送信して表示させることができる。つまり、第1の端末及び第2の端末に表示されるビデオフレームにおいて、当該ターゲット仮想オブジェクトは同じ表示効果を具備する。
【0119】
例えば、第2の端末がターゲット仮想オブジェクトの第2のパラメータを決定しないと、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、サーバーは第1のサーバーから、第2の仮想オブジェクトとターゲット仮想オブジェクトとの間の第2の角度及び第2の距離を取得する。第2のサーバーは、第2の角度、第2の距離及びターゲット仮想オブジェクトの識別子をクライアントサーバーに送信する。第2の角度、第2の距離及びターゲット仮想オブジェクトの識別子を受信した後、クライアントサーバーはターゲット仮想オブジェクトの識別子に基づいて第1のパラメータを決定する。クライアントサーバーは第2の角度及び第2の距離に基づいて第1のパラメータからクエリして、第3のレンダリングパラメータを取得し、第3のレンダリングパラメータを第2のサーバーに送信する。第3のレンダリングパラメータを受信した後、第2のサーバーは第5のビデオフレームにおいて、第3のレンダリングパラメータを使用して、ターゲット仮想オブジェクトをレンダリングすることで、第6のビデオフレームを取得する。
【0120】
可能な実施形態において、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、第2のサーバーは、当該第5のビデオフレームに当該ターゲット仮想オブジェクトに対応する第2のアニメーションを追加して、当該第6のビデオフレームを取得する。
【0121】
この実施形態において、第2のサーバーは、ターゲット仮想オブジェクトに対応する第2のアニメーションを第5のビデオフレームに追加することができ、これにより、パーソナライズを向上させる。
【0122】
可能な実施形態において、当該被制御仮想オブジェクト及び当該第2の仮想オブジェクトは当該ターゲット仮想シーンのターゲットサブシーンに同時に位置し、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、第2のサーバーは当該被制御仮想オブジェクトと当該第2の仮想オブジェクトとの仮想レベルを比較する。当該被制御仮想オブジェクトの仮想レベルが当該第2の仮想オブジェクトの仮想レベルよりも高い場合、第2のサーバーは当該第1のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。当該被制御仮想オブジェクトの仮想レベルが当該第2の仮想オブジェクトの仮想レベルよりも低い場合、第2のサーバーは当該第2の端末の第2のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。当該被制御仮想オブジェクトと当該第2の仮想オブジェクトとの仮想レベルが同じである場合、第2のサーバーは第3のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。任意選択で、当該第3のパラメータは第1のサーバーによって設置される。
【0123】
ターゲット仮想シーンは複数のサブシーンを含み、複数のサブシーンはターゲット仮想シーンを構成し、例えば、複数のサブシーンは仮想ソーシャルシーン及び仮想戦闘シーンに分けられ、仮想ソーシャルシーンは仮想釣りシーン、仮想チャットルーム、仮想ダンスルーム又は仮想カードルームなどを含み、仮想ソーシャルシーンにおいて、ユーザーは仮想オブジェクトを制御して他のユーザーとコミュニケーションする。仮想戦闘シーンは、ユーザーが仮想オブジェクトを制御して戦闘するシーンである。ターゲットサブシーンは第1の端末によって決定され、仮想ソーシャルシーンであってもよいし、仮想戦闘シーンであってもよいが、本出願の実施例では、それを限定していない。仮想レベルは、ターゲット仮想シーンにおける仮想オブジェクトのレベルであり、レベルが高いほど、仮想オブジェクトの戦闘能力が強になる。又は、仮想レベルは仮想オブジェクトに対応するゲームアカウントの会員レベルであり、会員レベルが高いほど、クラウドアプリケーションにおいてより多くのサービスを享受できる。
【0124】
この実施形態において、当該被制御仮想オブジェクト及び第2の仮想オブジェクトが当該ターゲットサブシーンに同時に位置する場合、第2のサーバーは被制御仮想オブジェクトと第2の仮想オブジェクトとの仮想レベルに基づいて第1の端末によって設置された第1のパラメータ、又は第2の端末の第2のパラメータを使用してターゲット仮想オブジェクトに対して二次レンダリングを行うことを決定し、これにより、ユーザーのゲーム積極性を向上させるために、仮想オブジェクトの仮想レベルを向上させるようにユーザーに対して励ます。
【0125】
例えば、当該被制御仮想オブジェクト及び当該第2の仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに同時に位置する場合、第2のサーバーはクライアントサーバーに仮想レベル取得要求を送信し、当該仮想レベル取得要求は被制御仮想オブジェクトの識別子及び第2の仮想オブジェクトの識別子を含む。当該仮想レベル取得要求を取得した後、クライアントサーバーは当該仮想レベル取得要求から被制御仮想オブジェクトの識別子及び第2の仮想オブジェクトの識別子を取得し、被制御仮想オブジェクトの識別子及び第2の仮想オブジェクトの識別子に基づいてクエリして、被制御仮想オブジェクトの第1の仮想レベル及び第2の仮想オブジェクトの第2の仮想レベルを取得する。クライアントサーバーは被制御仮想オブジェクトの第1の仮想レベル及び第2の仮想オブジェクトの第2の仮想レベルを第2のサーバーに送信する。第2のサーバーは、被制御仮想オブジェクトの第1の仮想レベル及び第2の仮想オブジェクトの第2の仮想レベルを受信した後、第1の仮想レベルが第2の仮想レベルよりも大きい場合、クライアントサーバーから第1のパラメータを取得し、第1のパラメータを使用して当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。第1の仮想レベルが第2の仮想レベルよりも小さい場合、第2のサーバーはクライアントサーバーから第2のパラメータを取得し、第2のパラメータを使用して当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。第1の仮想レベルが第2の仮想レベルに等しい場合、第2のサーバーはクライアントサーバーから第3のパラメータを取得し、第3のパラメータを使用して当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。いくつかの実施例において、当該第3のパラメータは第1の仮想レベルに基づいて決定される。
【0126】
308において、第2のサーバーは当該第6のビデオフレームを当該第2の端末に送信し、当該第2の端末は当該第6のビデオフレームを表示するように構成される。
【0127】
上記の全ての可能な技術案は、任意に組み合わせて本出願の可能な実施例を構成することができる、ここで、贅言していない。
【0128】
ここで、本出願の実施例はただ、第2のサーバーが当該方法を実行することを例とし、他の実施例において、当該方法は他のサーバーによって実行されてもよい。
【0129】
本出願の実施例で提供される技術案によれば、ある仮想オブジェクトの表示効果を変更したいと、第1の端末によって当該仮想オブジェクトに対して第1のパラメータを決定でき、サーバーは当該第1のパラメータに基づいて、ビデオフレームに対して二次レンダリングを行うことで第2のビデオフレームを取得し、第1のビデオフレームと比較すると、第2のビデオフレームに表示される仮想オブジェクトの表示効果は、第1の端末によって当該仮想オブジェクトに対して配置された表示効果でもある。このような技術案によれば、クラウドアプリケーションにおいて仮想オブジェクトに対して二次レンダリングを行う機能を提供し、ユーザーは仮想シーンにおけるある仮想オブジェクトの表示効果を迅速且つ効果的に調整することができ、これにより、クラウドアプリケーションの機能範囲は拡張され、クラウドアプリケーションのパーソナライズを向上させ、クラウドアプリケーションがより広く伝播されるようにする。
【0130】
上記のステップ301~308を除いて、本出願の実施例は別のビデオフレームのレンダリング方法をさらに提供し、このようなビデオフレームのレンダリング方法は、ターゲット仮想シーンにターゲットイベントが発生する状況に適用され、図6を参照し、方法は以下のステップを含む。
【0131】
601において、第2のサーバーは当該第1の端末に対応する第3のビデオフレームを取得し、当該第3のビデオフレームは、当該ターゲット仮想シーンにターゲットイベントが発生した後に、当該被制御仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、当該ターゲットイベントは当該被制御仮想オブジェクトに関連するイベントである。
【0132】
可能な実施形態において、ターゲット仮想シーンにターゲットイベントが発生したことに応答して、第1のサーバーは第1の端末に対応する第3のビデオフレームを第2のサーバーに送信しながら、第3のビデオフレームとバインディングされる提示情報を第2のサーバーに送信し、当該提示情報はターゲットイベントの識別子を含む。第2のサーバーは第3のビデオフレームを取得するとともに、当該提示情報に基づいてターゲット仮想シーンにターゲットイベントが発生したと決定して、以降の第3のビデオフレームに対するレンダリングをトリガーすることができる。
【0133】
例えば、ターゲットイベントは、被制御仮想オブジェクトがターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことであり、ここで、打ち負かすとは、ターゲット仮想シーンにおける被制御仮想オブジェクトの行為により、第1の仮想オブジェクトのライフ値が0に減少することを意味し、例えば、被制御仮想オブジェクトが仮想ガン/仮想ダガー/仮想手榴弾などを使用して第1の仮想オブジェクトを攻撃することで、第1の仮想オブジェクトのライフ値が0に減少することであり、第1の仮想オブジェクトは、被制御仮想オブジェクトと異なるチームに位置するオブジェクトであり、又は、被制御仮想オブジェクトと敵対する仮想オブジェクトである。ターゲット仮想シーンにおいて被制御仮想オブジェクトが第1の仮想オブジェクトを打ち負かしたことに応答して、第1のサーバーは第2のサーバーに第3のビデオフレームをリアルタイムで送信し、当該第3のビデオフレームは第1の仮想オブジェクトが打ち負かされた後の1番目のビデオフレームである。第1のサーバーは第2のサーバーに第3のビデオフレームを送信しながら、第3のビデオフレームとバインディングされる提示情報を送信し、ターゲットイベントの識別子以外、当該提示情報は、第1の仮想オブジェクトが打ち負かされた位置をさらに含み、以降、第2のサーバーは、当該提示情報に基づいて被制御仮想オブジェクトがターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かすと決定できることに加えて、第3のビデオフレームにおいて第1の仮想オブジェクトが打ち負かされた領域を決定することもできる。いくつかの実施例において、ターゲット仮想シーンにターゲットイベントが発生したことに応答して、第1のサーバーは、さらに、フック(Hook)関数を使用してターゲットイベントをフックし、ターゲットイベントを第2のサーバーに通知することができ、つまり、情報を提示することで、ターゲット仮想シーンにターゲットイベントが発生したことを、第2のサーバーに対して通知する。
【0134】
ここで、以上、ターゲットイベントは被制御仮想オブジェクトがターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かすことであることを例として説明し、他の可能な実施形態において、ターゲットイベントはさらに、被制御仮想オブジェクトがターゲット仮想シーンにおいてターゲット仮想プロップをピックアップしたこと、又は被制御仮想オブジェクトがターゲット仮想シーンにおいてターゲット仮想乗り物を起動させたこと、或いは被制御仮想オブジェクトがターゲット仮想シーンにおいて複数の仮想オブジェクトを連続して打ち負かしたことなどであってもよく、ターゲットイベントは実際の状況に応じて技術者によって設定されるが、本出願の実施例では、それを限定していない。
【0135】
602において、第2のサーバーは、当該ターゲットイベントに対応する第1のアニメーションを当該第3のビデオフレームに追加して、第4のビデオフレームを取得する。
【0136】
可能な実施形態において、ターゲットイベントは、被制御仮想オブジェクトがターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことであり、第2のサーバーは、当該第3のビデオフレームにおいて、当該第1の仮想オブジェクトが打ち負かされた領域を決定する。第2のサーバーは、当該ターゲットイベントに対応する第1のアニメーションを当該領域に追加して、当該第4のビデオフレームを取得する。ターゲットイベントとアニメーションとの間の対応関係は第1の端末によって設置され、例えば、第1の端末を介してターゲットイベントを選択し、クライアントサーバーによって提供された複数のアニメーションからターゲットイベントとバインディングされるアニメーションを選択するか、又は第1の端末によってクライアントサーバーにターゲットイベントに対応する第1のアニメーションをアップロードし、第1の端末によってアップロードされたアニメーションを受信した後、クライアントサーバーは当該アニメーションをターゲットイベントとバインディングする。
【0137】
例えば、第1のサーバーは第2のサーバーに第3のビデオフレームを送信しながら、第3のビデオフレームとバインディングされる提示情報を送信する。第2のサーバーは当該提示情報から、ターゲットイベントの識別子、及び第1の仮想オブジェクトが打ち負かされた位置を取得する。第2のサーバーはターゲットイベントの識別子に基づいて、ターゲットイベントに対応する第1のアニメーションを決定し、第1の仮想オブジェクトが打ち負かされた位置に基づいて、第1の仮想オブジェクトが打ち負かされた領域を決定する。第2のサーバーは当該領域に当該ターゲットイベントに対応する第1のアニメーションを追加して、当該第4のビデオフレームを取得する。
【0138】
例えば、第1のサーバーは第2のサーバーに第3のビデオフレームを送信しながら、第3のビデオフレームとバインディングされる提示情報をさらに送信する。第2のサーバーは、当該提示情報からターゲットイベントの識別子及び第1の仮想オブジェクトが打ち負かされた位置を取得する。第2のサーバーはクライアントサーバーに第2のアニメーション取得要求を送信し、第2のアニメーション取得要求はターゲットイベントの識別子を含む。第2のアニメーション取得要求を受信した、クライアントサーバーは第2のアニメーション取得要求からターゲットイベントの識別子を取得し、ターゲットイベントの識別子に基づいてクエリして、ターゲットイベントに対応する第1のアニメーションを取得し、ターゲットイベントに対応する第1のアニメーションを第2のサーバーに送信する。ターゲットイベントに対応する第1のアニメーションを受信した後、第2のサーバーは当該アニメーションを第1の仮想オブジェクトが打ち負かされた領域に追加して、第4のビデオフレームを取得する。いくつかの実施例において、第2のサーバーは当該アニメーションの第1のフレームを第3のビデオフレームに追加して、第4のビデオフレームを取得することができる。
【0139】
603において、第2のサーバーは当該第4のビデオフレームを当該第1の端末に送信し、当該第1の端末は当該第4のビデオフレームを表示するように構成される。
【0140】
任意選択で、ステップ603の前、第2のサーバーは、当該ターゲットイベントに対応する第1のオーディオを取得することもでき、当該第1のオーディオは当該第1の端末のオーディオである。第2のサーバーは当該第1のオーディオを当該第1の端末に送信し、当該第1の端末は当該第4のビデオフレームを表示しながら当該第1のオーディオを再生するように構成される。ターゲットイベントと第1のオーディオとの間の対応関係は第1の端末によって設置され、例えば、第1の端末によってターゲットイベントを選択し、クライアントサーバーによって提供された複数の第1のオーディオからターゲットイベントとバインディングされる第1のオーディオを選択するか、又は第1の端末によってクライアントサーバーに、ターゲットイベントに対応する第1のオーディオをアップロードし、第1の端末によってアップロードされた第1のオーディオを受信した後、クライアントサーバーは当該第1のオーディオをターゲットイベントとバインディングする。
【0141】
例えば、第1のサーバーは第2のサーバーに第3のビデオフレームを送信しながら、第3のビデオフレームとバインディングされる提示情報をさらに送信する。第2のサーバーは当該提示情報からターゲットイベントの識別子を取得する。第2のサーバーはクライアントサーバーにアニメーション及びオーディオ取得要求を送信し、アニメーション及びオーディオ取得要求はターゲットイベントの識別子を含む。第2のアニメーション取得要求を受信した後、クライアントサーバーは第2のアニメーション取得要求からターゲットイベントの識別子を取得し、ターゲットイベントの識別子に基づいてクエリして、ターゲットイベントに対応する第1のアニメーション及び第1のオーディオを取得し、ターゲットイベントに対応する第1のアニメーション及び第1のオーディオを第2のサーバーに送信する。ターゲットイベントに対応する第1のアニメーション及び第1のオーディオを受信した後、第2のサーバーは当該アニメーションを第3のビデオフレームに追加して、第4のビデオフレームを取得する。第2のサーバーは第1の端末に第4のビデオフレームを送信しながら、第1のオーディオを送信する。第4のビデオフレーム及び第1のオーディオを受信した後、第1の端末は第4のビデオフレームを表示しながら当該第1のオーディオを再生する。
【0142】
依然的に、ターゲットイベントは、被制御仮想オブジェクトが仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことを例とし、被制御仮想オブジェクトが仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことに応答して、第1のサーバーは、第3のビデオフレーム、及び与第3のビデオフレームとバインディングされる提示情報を第2のサーバーに送信し、当該提示情報はターゲットイベントの識別子、及び第1の仮想オブジェクトが打ち負かされた位置を含む。第2のサーバーは、当該提示情報からターゲットイベントの識別子、及び第1の仮想オブジェクトが打ち負かされた位置を取得する。第2のサーバーはクライアントサーバーにアニメーション及びオーディオ取得要求を送信し、アニメーション及びオーディオ取得要求はターゲットイベントの識別子を含む。アニメーション及びオーディオ取得要求を受信した後、クライアントサーバーはアニメーション及びオーディオ取得要求からターゲットイベントの識別子を取得し、ターゲットイベントの識別子に基づいてクエリして、ターゲットイベントに対応する第1のアニメーション及び第1のオーディオを取得し、ターゲットイベントに対応する第1のアニメーション及び第1のオーディオを第2のサーバーに送信する。ターゲットイベントに対応する第1のアニメーション及び第1のオーディオを受信した後、第2のサーバーは当該アニメーションを第3のビデオフレームにおける第1の仮想オブジェクトが打ち負かされた位置を追加して、第4のビデオフレームを取得する。第2のサーバーは第1の端末に第4のビデオフレームを送信しながら第1のオーディオを送信する。第4のビデオフレーム及び第1のオーディオを受信した後、第1の端末は第4のビデオフレームを表示しながら当該第1のオーディオを再生する。当該アニメーションは小人が踊るアニメーションであれば、第4のビデオフレームにおいて、第1の仮想オブジェクトが打ち負かされた位置で当該小人が踊るアニメーションを再生しながら第1のオーディオを再生し、ユーザーはアニメーション及び第1のオーディオを介して自分を刺激してゲームにおいてよりよい表現を得る。図7を参照し、第2のサーバーは第4のビデオフレーム701における第1の仮想オブジェクトが打ち負かされた位置702にアニメーション703を追加する。
【0143】
本出願の実施例で提供される技術案によれば、ターゲット仮想シーンにおいてターゲットイベントを送信する際に、指定されたアニメーションを再生したいと、第1の端末によってターゲットイベントに対してターゲットアニメーションを選択することができる。第2のサーバーによってビデオフレームに対して二次レンダリングを行うことで、第4のビデオフレームを取得し、第3のビデオフレームと比較すると、第4のビデオフレームにおいて第1の端末によって設置されたアニメーションを表示することができる。このような技術案によれば、クラウドアプリケーションにおいてアニメーションに対して二次レンダリングを行う機能を提供し、ユーザーは仮想シーンの表示効果を迅速且つ効果的に調整でき、これにより、クラウドアプリケーションの機能範囲は拡張され、クラウドアプリケーションのパーソナライズを向上させ、クラウドアプリケーションがより広く伝播されるようにする。
【0144】
上記の説明過程で、第1の端末、クライアントサーバー、第1のサーバー、第2のサーバー、及びゲームサーバーはビデオフレームのレンダリングシステムを構成し、図1においてビデオフレームのレンダリング方法の実施環境を説明し、各構成部分の機能を概略的に説明し、以下、上記の方法実施例を結合して、本出願の実施例で提供されるビデオフレームのレンダリングシステムを説明し、図1を参照し、システムは第1の端末、第1のサーバー及び第2のサーバーを含み、当該第1の端末、当該第1のサーバー、及び当該第2のサーバーの間は通信するように接続される。
【0145】
任意選択で、第1のサーバーはクラウドサーバーである。
【0146】
任意選択で、第2のサーバーはシーン管理サーバーである。
【0147】
当該第1のサーバーは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで、当該第1の端末に対応する第1のビデオフレームを取得し、当該第1のビデオフレームを当該第2のサーバーに送信するように構成され、当該被制御仮想オブジェクトは当該第1の端末によって制御される仮想オブジェクトである。
【0148】
当該第2のサーバーは当該第1のビデオフレームを受信する。
【0149】
当該第2のサーバーはさらに、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、当該第1の端末の第1のパラメータに基づいて当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するように構成される。
【0150】
当該第2のサーバーはさらに、当該第1の端末に当該第2のビデオフレームを送信するように構成される。
【0151】
当該第1の端末は、当該第2のビデオフレームを受信したことに応答して、当該第2のビデオフレームを表示する。
【0152】
可能な実施形態において、当該第1の端末はさらに、当該第1のサーバーに制御情報を送信するように構成され、当該制御情報は、当該ターゲット仮想シーンにおける当該被制御仮想オブジェクトの動作を制御するために用いられる。
【0153】
当該第1のサーバーはさらに、当該制御情報に基づいて、当該ターゲット仮想シーンにおける当該被制御仮想オブジェクトの視角を決定し、当該ターゲット仮想シーンにおける当該被制御仮想オブジェクトの視角に基づいて当該ターゲット仮想シーンをレンダリングすることで、当該第1のビデオフレームを取得するように構成される。
【0154】
可能な実施形態において、当該システムはクライアントサーバーをさらに含み、当該第1の端末、当該第1のサーバー、及び当該第2のサーバーのそれぞれと通信接続される。
【0155】
当該第1の端末はさらに、当該ターゲット仮想オブジェクトの配置インターフェースを表示するように構成され、当該配置インターフェースは当該ターゲット仮想オブジェクトの配置情報を取得するように構成される。
【0156】
当該第1の端末はさらに、当該配置インターフェースでの操作に応答して、当該ターゲット仮想オブジェクトの配置情報を当該クライアントサーバーに送信するように構成される。
【0157】
当該クライアントサーバーは当該ターゲット仮想オブジェクトの配置情報を受信して、当該ターゲット仮想オブジェクトの配置情報に基づいて当該ターゲット仮想オブジェクトの3次元モデルを作成し、当該3次元モデルに対応する当該第1のパラメータを取得するように構成される。
【0158】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第1のレンダリングパラメータを取得するように構成され、当該第1のレンダリングパラメータは、当該第1のパラメータにおける第1の角度及び第1の距離に対応するレンダリングパラメータであり、当該第1の角度は、当該被制御仮想オブジェクトと当該ターゲット仮想オブジェクトとの間の角度であり、当該第1の距離は、当該被制御仮想オブジェクトと当該ターゲット仮想オブジェクトとの間の距離である。当該第1のレンダリングパラメータに基づいて当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。
【0159】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のレンダリングパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトの複数のターゲット画素点のターゲット画素値を決定するように構成される。当該ターゲット画素値を使用して、当該第1のビデオフレームにおける当該複数のターゲット画素点の画素値を更新し、当該第2のビデオフレームを取得する。
【0160】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、当該第1のパラメータから第1のレンダリングパラメータ及び第2のレンダリングパラメータを取得するように構成される。当該第1のビデオフレームにおいて、当該第1のレンダリングパラメータ及び当該第2のレンダリングパラメータを使用して、当該ターゲット仮想オブジェクト及び当該被制御仮想オブジェクトをそれぞれレンダリングすることで、当該第2のビデオフレームを取得する。
【0161】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、当該ターゲット仮想シーンにおける当該被制御仮想オブジェクトの位置を決定するように構成される。当該被制御仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに位置する場合、当該第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。当該被制御仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに位置しない場合、当該第1のビデオフレームを当該第2のビデオフレームとして決定する。
【0162】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のビデオフレームに対して画像認識を行うことで、当該第1のビデオフレームのタイプを決定するように構成される。当該タイプは当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す場合、当該第1のパラメータに基づいて、当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。
【0163】
可能な実施形態において、当該第2のサーバーはさらに、当該ターゲット仮想オブジェクトのテンプレート画像を使用して当該第1のビデオフレームにおいて検出するように構成される。当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在することが検出されたことに応答して、当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないことが検出されたことに応答して、当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。
【0164】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のビデオフレームを画像認識モデルに入力するように構成される。当該画像認識モデルによって、当該第1のビデオフレームに対して特徴抽出及び分類を行うことで、当該第1のビデオフレームのタイプを出力する。
【0165】
可能な実施形態において、当該第2のサーバーはさらに、当該第1のビデオフレームを複数の画像ブロックに分割し、当該複数の画像ブロックを当該画像認識モデルに入力するように構成される。当該画像認識モデルによって当該第1のビデオフレームに対して特徴抽出及び分類を行い当該第1のビデオフレームのタイプを出力するステップは、当該画像認識モデルによって、当該複数の画像ブロックに対して特徴抽出及び完全結合処理を行うことで、当該複数の画像ブロックのそれぞれに対応する複数の確率を取得するステップを含み、当該確率は、対応する画像ブロックに当該ターゲット仮想オブジェクトが含まれる確率である。当該複数の確率のうちの何れか1つが確率の閾値以上であることに応答して、当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該複数の確率が当該確率の閾値よりも小さいことに応答して、当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。
【0166】
可能な実施形態において、当該第2のサーバーはさらに、クライアントサーバーから当該第1のパラメータを取得するように構成され、当該クライアントサーバーは、当該第1の端末によってアップロードされた当該ターゲット仮想オブジェクトについての設置パラメータに基づいて、当該ターゲット仮想オブジェクトの3次元モデルを作成するように構成され、当該第1のパラメータは当該3次元モデルの複数のレンダリングパラメータを含む。
【0167】
可能な実施形態において、当該第1のサーバーはさらに、当該ターゲット仮想シーンにターゲットイベントが発生したことに応答して、当該被制御仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで、当該第1の端末に対応する第3のビデオフレームを取得し、当該第3のビデオフレームを当該第2のサーバーに送信するように構成され、当該ターゲットイベントは、当該被制御仮想オブジェクトが当該ターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことである。
【0168】
当該第2のサーバーはさらに、当該ターゲットイベントに対応する第1のアニメーション、及び当該ターゲットイベントに対応する第1のオーディオを取得するように構成され、当該第1のオーディオは当該第1の端末のオーディオである。
【0169】
当該第2のサーバーはさらに、当該第3のビデオフレームにおいて当該第1の仮想オブジェクトが打ち負かされた領域を決定するように構成される。当該ターゲットイベントに対応する第1のアニメーションを当該領域に追加して、当該第4のビデオフレームを取得する。当該第4のビデオフレーム及び当該第1のオーディオを当該第1の端末に送信する。
【0170】
当該第1の端末はさらに、当該第4のビデオフレーム及び当該第1のオーディオを受信したことに応答して、当該第4のビデオフレームを表示しながら当該第1のオーディオを再生するように構成される。
【0171】
可能な実施形態において、当該システムは第2の端末をさらに含み、当該第2の端末、当該第1のサーバー、及び当該第2のサーバーは通信接続され、当該第2の端末は当該第1の端末と異なる端末である。
【0172】
当該第1のサーバーはさらに、当該ターゲット仮想シーンにおける第2の仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで、当該第2の端末に対応する第5のビデオフレームを取得し、当該第5のビデオフレームを当該第2のサーバーに送信するように構成され、当該第2の仮想オブジェクトは当該第2の端末によって制御される仮想オブジェクトである。
【0173】
当該第2のサーバーはさらに、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該第5のビデオフレームに対してターゲット処理を行うことで第6のビデオフレームを取得するように構成される。当該第2の端末に当該第6のビデオフレームを送信する。
【0174】
当該第2の端末は、当該第6のビデオフレームを受信したことに応答して、当該第6のビデオフレームを表示するように構成される。
【0175】
可能な実施形態において、当該第2のサーバーは、さらに、
当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該第2の端末の第2のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得するステップと、
当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該第1のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得するステップと、
当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該ターゲット仮想オブジェクトに対応する第2のアニメーションを当該第5のビデオフレームに追加して、当該第6のビデオフレームを取得するステップとのうちの何れか1つを実行するように構成される。
【0176】
可能な実施形態において、当該第2のサーバーはさらに、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該被制御仮想オブジェクトと当該第2の仮想オブジェクトとの仮想レベルを比較するように構成される。当該被制御仮想オブジェクトの仮想レベルが当該第2の仮想オブジェクトの仮想レベルよりも高い場合、当該第1のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。当該被制御仮想オブジェクトの仮想レベルが当該第2の仮想オブジェクトの仮想レベルよりも低い場合、当該第2の端末の第2のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。当該被制御仮想オブジェクトの仮想レベルと当該第2の仮想オブジェクトの仮想レベルとが同じである場合、第3のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。
【0177】
可能な実施形態において、当該第2のサーバーはさらに、当該ターゲット仮想オブジェクトに対応する第2のアニメーション及び第2のオーディオを取得するように構成される。当該ターゲット仮想オブジェクトに対応する第2のアニメーションを当該第2のビデオフレームに追加して、第7のビデオフレームを取得する。当該第7のビデオフレーム及び当該第2のオーディオを当該第1の端末に送信し、当該第1の端末は当該第7のビデオフレームを表示しながら当該第2のオーディオを再生するように構成される。
【0178】
可能な実施形態において、当該第2のサーバーは、さらに、
複数の当該第2のビデオフレームを第1のビデオフレームセットに集約して、当該第1のビデオフレームセットを当該第1の端末に送信するステップであって、当該第1の端末は当該第1のビデオフレームセットを他の端末と共有するように構成されるステップと、
当該第2のビデオフレームと当該第1のビデオフレームとを連結して、連結ビデオフレームを取得し、複数の当該連結ビデオフレームを第2のビデオフレームセットに集約し、当該第2のビデオフレームセットを当該第1の端末に送信するステップであって、当該第1の端末は当該第2のビデオフレームセットを他の端末と共有するように構成されるステップとのうちの何れか1つを実行するように構成される。
【0179】
可能な実施形態において、当該第2のサーバーはさらに、クライアントサーバーから当該第1のパラメータを取得するように構成され、当該クライアントサーバーは、当該第1の端末によってアップロードされた当該ターゲット仮想オブジェクトについての設置パラメータに基づいて、当該ターゲット仮想オブジェクトの3次元モデルを作成するように構成され、当該第1のパラメータは当該3次元モデルの複数のレンダリングパラメータを含む。
【0180】
以下、図1、及び上記のステップ301~308、601~603を結合して本出願の実施例で提供されるビデオフレームのレンダリングシステムを説明する。
【0181】
第1の端末はターゲット仮想オブジェクトの配置インターフェースを表示し、当該配置インターフェースはターゲット仮想オブジェクトの配置情報を取得するように構成される。当該配置インターフェースでの操作に応答して、ターゲット仮想オブジェクトの配置情報をクライアントサーバーに送信する。クライアントサーバーはターゲット仮想オブジェクトの配置情報を受信して、ターゲット仮想オブジェクトの配置情報に基づいて、ターゲット仮想オブジェクトの3次元モデルを作成して、当該3次元モデルに対応する第1のパラメータを取得する。ゲームシーンを例として、第1の端末はターゲットクラウドゲームを起動させ、クライアントサーバーとの長接続を保持して、クライアントサーバーにゲーム起動命令を送信し、ゲーム起動命令はユーザーアカウント、当該ターゲットクラウドゲームの識別子及び第1の端末のハードウェア情報を含む。当該ゲーム起動命令を受信した後、クライアントサーバーはゲーム起動命令を第1のサーバーに送信し、当該ゲーム起動命令を受信した後、第1のサーバーは当該ゲーム起動命令からユーザーアカウント、当該ターゲットクラウドゲームの識別子及び第1の端末のハードウェア情報を取得する。第1のサーバーは第1の端末のハードウェア情報に基づいて当該ターゲットクラウドゲームを初期化して、レンダリングによるゲーム画面と第1の端末との間のマッチングを実現し、当該ターゲットクラウドゲームに対応するゲームサーバーに当該ユーザーアカウントを送信する。当該ユーザーアカウントを受信した後、ゲームサーバーは当該ゲームアカウントに対応する情報を第1のサーバーに送信し、第1のサーバーは当該ゲームアカウントに対応する情報に基づいて当該ターゲットクラウドゲームを起動させる。当該ターゲットクラウドゲームを実行する過程で、ターゲットクラウドゲームのターゲット仮想シーンを表示し、ターゲット仮想シーンに被制御仮想オブジェクトが表示される。第1の端末は第1のサーバーに被制御仮想オブジェクトの制御情報を送信し、当該制御情報を受信した後、第1のサーバーは当該制御情報に基づいてターゲット仮想シーン内の被制御仮想オブジェクトの視角を決定する。第1のサーバーは当該被制御仮想オブジェクトの視角に基づいて、当該ターゲット仮想シーンをレンダリングすることで、第1のビデオフレームを取得し、当該第1のビデオフレームは第1の端末に対応するビデオフレームである。第1のサーバーは当該第1のビデオフレームを第2のサーバーに送信し、ユーザーは、ゲーム開始前、当該ターゲットクラウドゲームにおけるある仮想オブジェクトに対してパーソナライズ設置を行って、例えば、当該ターゲットクラウドゲームにおける車両を赤に設置すると、第2のサーバーは第1のビデオフレームに対して画像認識を行うことで、当該第1のビデオフレームに車両が含まれるかどうかを決定することができる。第2のサーバーは当該第1のビデオフレームが車両を表示すると決定した場合、クライアントサーバーから当該車両の第1のパラメータを取得し、当該第1のパラメータは、ユーザーが当該車両に対して設置したパラメータに基づいてクライアントサーバーによって決定される。第2のサーバーは当該第1のパラメータに基づいて、当該第1のビデオフレームにおける当該車両をレンダリングすることで、第2のビデオフレームを取得し、第2のビデオフレームを第1の端末に送信し、ユーザーは第1の端末を介して当該第2のビデオフレームを閲覧することができる。当該ターゲットクラウドゲームにおいて、技術者は当該車両の色を青に設置すると、上記のステップによって、当該車両の色を、ユーザーによって設置された赤に調整し、当該車両に対するパーソナライズ配置を実現することができる。
【0182】
本出願の実施例で提供される技術案によれば、ある仮想オブジェクト表示効果を変更したいと、第1の端末によって当該仮想オブジェクトに対して第1のパラメータを決定して、サーバーは当該第1のパラメータに基づいて、ビデオフレームに対して二次レンダリングを行うことで、第2のビデオフレームを取得し、第1のビデオフレームと比較すると、第2のビデオフレームに表示される仮想オブジェクトの表示効果は、第1の端末によって当該仮想オブジェクトに対して配置された表示効果でもある。このような技術案によれば、クラウドアプリケーションにおいて仮想オブジェクトに対して二次レンダリングを行う機能を提供し、ユーザーは仮想シーンにおけるある仮想オブジェクトの表示効果を迅速且つ効果的に調整でき、これにより、クラウドアプリケーションの機能範囲は拡張され、クラウドアプリケーションのパーソナライズを向上させ、クラウドアプリケーションがより広く伝播されるようにする。
【0183】
図8は本出願の実施例で提供されるビデオフレームのレンダリング装置の構成概略図であり、図8を参照し、装置は、
第1の端末に対応する第1のビデオフレームを取得するためのものであって、当該第1のビデオフレームは、ターゲット仮想シーン内の被制御仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、当該被制御仮想オブジェクトは当該第1の端末によって制御される仮想オブジェクトである第1のビデオフレーム取得モジュール801と、
当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、当該第1の端末の第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、第2のビデオフレームを取得するためのレンダリングモジュール802と、
当該第2のビデオフレームを当該第1の端末に送信するためのものであって、当該第1の端末は当該第2のビデオフレームを表示するように構成される送信モジュール803と、を含む。
【0184】
可能な実施形態において、当該レンダリングモジュール802は、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、第1のレンダリングパラメータを取得するように構成され、当該第1のレンダリングパラメータは、当該第1のパラメータにおける第1の角度及び第1の距離に対応するレンダリングパラメータであり、当該第1の角度は、当該被制御仮想オブジェクトと当該ターゲット仮想オブジェクトとの間の角度であり、当該第1の距離は、当該被制御仮想オブジェクトと当該ターゲット仮想オブジェクトとの間の距離である。当該第1のレンダリングパラメータに基づいて当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。
【0185】
可能な実施形態において、当該レンダリングモジュール802は当該第1のレンダリングパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトの複数のターゲット画素点のターゲット画素値を決定するように構成される。当該ターゲット画素値を使用して、当該第1のビデオフレームにおける当該複数のターゲット画素点の画素値を更新することで、当該第2のビデオフレームを取得する。
【0186】
可能な実施形態において、当該レンダリングモジュール802は、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、当該第1のパラメータから第1のレンダリングパラメータ及び第2のレンダリングパラメータを取得するように構成される。当該第1のビデオフレームにおいて、当該第1のレンダリングパラメータ及び当該第2のレンダリングパラメータを使用して、当該ターゲット仮想オブジェクト及び当該被制御仮想オブジェクトをそれぞれレンダリングすることで、当該第2のビデオフレームを取得する。
【0187】
可能な実施形態において、当該レンダリングモジュール802は、当該第1のビデオフレームが当該第1の端末のターゲット仮想オブジェクトを表示する場合、当該ターゲット仮想シーンにおける当該被制御仮想オブジェクトの位置を決定するように構成される。当該被制御仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに位置する場合、当該第1のパラメータに基づいて、当該第1のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得する。
【0188】
可能な実施形態において、当該レンダリングモジュール802はさらに、当該被制御仮想オブジェクトが当該ターゲット仮想シーンのターゲットサブシーンに位置しない場合、当該第1のビデオフレームを当該第2のビデオフレームとして決定するように構成される。
【0189】
可能な実施形態において、当該装置は、
当該第1のビデオフレームに対して画像認識を行うことで、当該第1のビデオフレームのタイプを決定するための画像認識モジュールをさらに含み、
当該レンダリングモジュール802は、当該タイプが、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す場合下、当該第1のパラメータに基づいて、当該ターゲット仮想オブジェクトをレンダリングすることで、当該第2のビデオフレームを取得するように構成される。
【0190】
可能な実施形態において、当該画像認識モジュールは、当該ターゲット仮想オブジェクトのテンプレート画像を使用して当該第1のビデオフレームにおいて検出するように構成される。当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在することが検出されたことに応答して、当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該第1のビデオフレームに当該ターゲット仮想オブジェクトのテンプレート画像にマッチングする領域が存在しないことが検出されたことに応答して、当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。
【0191】
可能な実施形態において、当該画像認識モジュールは、当該第1のビデオフレームを画像認識モデルに入力し、当該画像認識モデルによって、当該第1のビデオフレームに対して特徴抽出及び分類を行い、当該第1のビデオフレームのタイプを出力するように構成される。
【0192】
可能な実施形態において、当該画像認識モジュールは、当該第1のビデオフレームを複数の画像ブロックに分割して、当該複数の画像ブロックを当該画像認識モデルに入力するように構成される。当該画像認識モデルによって、当該複数の画像ブロックに対して特徴抽出及び完全結合処理を行うことで、当該複数の画像ブロックのそれぞれに対応する複数の確率を取得するように構成され、当該確率は、対応する画像ブロックに当該ターゲット仮想オブジェクトが含まれる確率である。当該複数の確率のうちの何れか1つが確率の閾値の以上であることに応答して、当該第1のビデオフレームを第1のタイプとして決定し、当該第1のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示することを示す。当該複数の確率が当該確率の閾値よりも小さいことに応答して、当該第1のビデオフレームを第2のタイプとして決定し、当該第2のタイプは、当該第1のビデオフレームが当該ターゲット仮想オブジェクトを表示しないことを示す。
【0193】
可能な実施形態において、当該装置は、
当該第1の端末に対応する第3のビデオフレームを取得するためのものであって、当該第3のビデオフレームは、当該ターゲット仮想シーンにターゲットイベントが発生した後に、当該被制御仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームであり、当該ターゲットイベントは、当該被制御仮想オブジェクトが当該ターゲット仮想シーンにおいて第1の仮想オブジェクトを打ち負かしたことである第3のビデオフレーム取得モジュールをさらに含み、
当該レンダリングモジュール802はさらに、当該ターゲットイベントに対応する第1のアニメーション及び当該ターゲットイベントに対応する第1のオーディオを取得するように構成され、当該第1のオーディオは当該第1の端末的オーディオである。当該第3のビデオフレームにおいて当該第1の仮想オブジェクトが打ち負かされた領域を決定し、
当該ターゲットイベントに対応する第1のアニメーションを当該領域に追加して、当該第4のビデオフレームを取得する。当該送信モジュール803はさらに、当該第4のビデオフレーム及び当該第1のオーディオを当該第1の端末に送信するように構成され、当該第1の端末は当該第4のビデオフレームを表示しながら当該第1のオーディオを再生するように構成される。
【0194】
可能な実施形態において、当該ターゲット仮想シーンは第2の仮想オブジェクトをさらに含み、当該第2の仮想オブジェクトは第2の端末によって制御される仮想オブジェクトであり、当該第2の端末は当該第1の端末とは異なる端末であり、当該装置は、
当該第2の端末に対応する第5のビデオフレームを取得するためのものであって、当該第5のビデオフレームは、当該第2の仮想オブジェクトの視角から当該ターゲット仮想シーンをレンダリングすることで得られるビデオフレームである第5のビデオフレーム取得モジュールをさらに含み、
当該レンダリングモジュール802はさらに、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該第5のビデオフレームに対してターゲット処理を行うことで、第6のビデオフレームを取得するように構成され、
当該送信モジュール803はさらに、当該第6のビデオフレームを当該第2の端末に送信するように構成され、当該第2の端末は当該第6のビデオフレームを表示するように構成される。
【0195】
可能な実施形態において、当該レンダリングモジュール802はさらに、
当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該第2の端末の第2のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得するステップと、
当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該第1のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得するステップと、
当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該ターゲット仮想オブジェクトに対応する第2のアニメーションを当該第5のビデオフレームに追加して、当該第6のビデオフレームを取得するステップとのうちの何れか1つを実行するように構成される。
【0196】
可能な実施形態において、当該被制御仮想オブジェクトと当該第2の仮想オブジェクトとが当該ターゲット仮想シーンのターゲットサブシーンに同時に位置し、当該レンダリングモジュール802はさらに、当該第5のビデオフレームが当該ターゲット仮想オブジェクトを表示する場合、当該被制御仮想オブジェクトと当該第2の仮想オブジェクトとの仮想レベルを比較するように構成される。当該被制御仮想オブジェクトの仮想レベルが当該第2の仮想オブジェクトの仮想レベルよりも高い場合、当該第1のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。当該被制御仮想オブジェクトの仮想レベルが当該第2の仮想オブジェクトの仮想レベルよりも低い場合、当該第2の端末の第2のパラメータに基づいて当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。当該被制御仮想オブジェクトの仮想レベルと当該第2の仮想オブジェクトの仮想レベルとが同じである場合、第3のパラメータに基づいて、当該第5のビデオフレームにおける当該ターゲット仮想オブジェクトをレンダリングすることで、当該第6のビデオフレームを取得する。
【0197】
可能な実施形態において、当該レンダリングモジュール802はさらに、当該ターゲット仮想オブジェクトに対応する第2のアニメーション及び第2のオーディオを取得するように構成される。当該ターゲット仮想オブジェクトに対応する第2のアニメーションを当該第2のビデオフレームに追加して、第7のビデオフレームを取得し、
当該送信モジュール803はさらに、当該第7のビデオフレーム及び当該第2のオーディオを当該第1の端末に送信するように構成され、当該第1の端末は当該第7のビデオフレームを表示しながら当該第2のオーディオを再生するように構成される。
【0198】
可能な実施形態において、当該装置は、
複数の当該第2のビデオフレームを第1のビデオフレームセットに集約し、当該第1のビデオフレームセットを当該第1の端末に送信するステップであって、当該第1の端末は当該第1のビデオフレームセットを他の端末と共有するように構成されるステップと、
当該第2のビデオフレームと当該第1のビデオフレームとを連結して、連結ビデオフレームを取得し、複数の当該連結ビデオフレームを第2のビデオフレームセットに集約し、当該第2のビデオフレームセットを当該第1の端末に送信するステップであって、当該第1の端末は当該第2のビデオフレームセットを他の端末と共有するように構成されるステップとのうちの何れか1つを実行するように構成されるビデオフレームセット生成モジュールをさらに含む。
【0199】
可能な実施形態において、当該装置は、
クライアントサーバーから当該第1のパラメータを取得するためのパラメータ取得モジュールをさらに含み、当該クライアントサーバーは、当該第1の端末によってアップロードされた当該ターゲット仮想オブジェクトについての設置パラメータに基づいて、当該ターゲット仮想オブジェクトの3次元モデルを作成し、当該第1のパラメータは当該3次元モデルの複数のレンダリングパラメータを含む。
【0200】
ここで、上記の実施例で提供されるビデオフレームのレンダリング装置は、ビデオフレームに対して二次レンダリングを行う場合、ただ上記の各機能モジュールの分割を例として説明したが、実際の適用において、必要に応じて、異なる機能モジュールによって完成されるように、上記の機能を割り当て、即ち、サーバーの内部構造を異なる機能モジュールに分割して、以上に説明された全て又は一部の機能を完成させる。また、上記の実施例で提供されるビデオフレームのレンダリング装置は、ビデオフレームのレンダリング方法実施例とは同一の構想に属し、その具体的な実現過程について、方法実施例を参照すればよく、ここで贅言していない。
【0201】
本出願の実施例で提供される技術案によれば、ある仮想オブジェクト表示効果を変更したいと、第1の端末によって当該仮想オブジェクトに対して第1のパラメータを決定し、サーバーは当該第1のパラメータに基づいて、ビデオフレームに対して二次レンダリングを行うことで第2のビデオフレームを取得し、第1のビデオフレームと比較すると、第2のビデオフレームに表示される仮想オブジェクトの表示効果は、第1の端末によって当該仮想オブジェクトに対して配置された表示効果でもある。このような技術案によれば、クラウドアプリケーションにおいて仮想オブジェクトに対して二次レンダリングを行う機能を提供し、ユーザーは仮想シーンにおけるある仮想オブジェクトの表示効果を迅速且つ効果的に調整でき、これにより、クラウドアプリケーションの機能範囲は拡張され、クラウドアプリケーションのパーソナライズを向上させ、クラウドアプリケーションがより広く伝播されるようにする。
【0202】
以下、サーバーの構造を説明する。図9は本出願の実施例で提供されるサーバーの構造概略図であり、このプロセッサー900は、構成又は性能の違いにより比較的大きな差が発生することができ、1つ又は複数のプロセッサー(Central Processing Units、CPU)901及び1つ又は複数のメモリ902を含んでもよく、ここで、前記メモリ902には、少なくとも1つのコンピュータプログラムが記憶され、前記少なくとも1つのコンピュータプログラは前記1つ又は複数のプロセッサー901によってロードされて実行されることで、上記の各方法の実施例にて提供される方法を実現する。無論、当該サーバー900は、入出力を行うために、有線又は無線ネットワークインターフェース、キーボード及び入力出力インターフェースなどの部材をさらに有してもよく、当該サーバー900は、他の機器機能を実現するための部材をさらに含んでもよく、ここでは詳細な説明を省略する。
【0203】
例示的な実施例において、コンピュータ可読記憶媒体、例えばコンピュータプログラムを含むメモリをさらに提供し、上記のコンピュータプログラムはプロセッサーによって実行されることで、上記の実施例におけるビデオフレームのレンダリング方法を完成させる。例えば、当該コンピュータ可読記憶媒体は、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、読み取り専用の光ディスク (Compact Disc Read-Only Memory、CD-ROM)、磁気テープ、フレキシブルディスク、及び光データ記憶機器などであってもよい。
【0204】
例示的な実施例において、コンピュータプログラム製品又はコンピュータプログラムをさらに提供し、当該コンピュータプログラム製品又はコンピュータプログラムはプログラムコードを含み、当該プログラムコードはコンピュータ可読記憶媒体に記憶され、コンピュータ機器のプロセッサーはコンピュータ可読記憶媒体から当該プログラムコードを読み取って実行することで、上記のビデオフレームのレンダリング方法を当該コンピュータ機器に実行させる。つまり、当該プログラムコードはプロセッサーによって実行されると、上記のビデオフレームのレンダリング方法を実現する。
【0205】
いくつかの実施例において、本出願の実施例に係るコンピュータプログラムは1つのコンピュータ機器上で、又は1つの箇所に位置する複数のコンピュータ機器上で、或いは、複数の箇所に分布され通信ネットワークを介して互いに接続される複数のコンピュータ機器上で実行されるように配置され、複数の箇所に分布されてもよく、通信ネットワークを介して互いに接続される複数のコンピュータ機器はブロックチェーンシステムを構成することができる。
【0206】
当業者であれば、上記の実施例の全て又は一部のステップを実現することは、ハードウェアによって完了されてもよく、関連するハードウェアをプログラムで指示することで実現されてもよいことを理解でき、前記プログラムは、コンピュータ可読記録媒体に記憶されてもよく、上記の記憶媒体は読み取り専用メモリ、磁気ディスク又は光ディスクなどであってもよい。
【0207】
上記は本発明の好ましい実施例に過ぎず、本出願を限定するためのものではなく、本出願の精神及び原則から逸脱することなく行われるあらゆる変更、同等置き換え、改良などは、いずれも本出願の保護範囲内に含まれるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】