(57)【要約】  本出願は、仮想シーンのシーン画像を送信するための方法に関する。当該方法は、表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得するステップであって、表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、ステップと、第1の時点を取得するステップであって、第1の時点は、第1のレンダリング画像に対するレンダリングが終了した時点である、ステップと、第2の時点を取得するステップであって、第2の時点は、直近に符号化が実行された時点である、ステップと、第1の時点と第2の時点との間の期間が第1の期間閾値以上である場合、第1のレンダリング画像を符号化することにより、符号化画像を取得するステップと、端末に復号及び表示させるために符号化画像を端末に送信するステップとを含む。
2021513440.tif 000002
【特許請求の範囲】
【請求項１】
サーバが実行する、仮想シーンのシーン画像を送信するための方法であって、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得するステップであって、前記表示対象の画像は、仮想シーンの表示データが変化した場合にキャプチャーにより取得される、ステップと、
第1の時点を取得するステップであって、前記第1の時点は、前記第1のレンダリング画像に対するレンダリングが終了した時点である、ステップと、
第2の時点を取得するステップであって、前記第2の時点は、直近に符号化が実行された時点である、ステップと、
前記第1の時点と前記第2の時点との間の期間が第1の期間閾値以上である場合、前記第1のレンダリング画像を符号化することにより、符号化画像を取得するステップと、
端末に復号及び表示させるために前記符号化画像を前記端末に送信するステップと
を含む方法。
【請求項２】
第3の時点を取得するステップであって、前記第3の時点は、第2のレンダリング画像に対するレンダリングが終了すると推定される時点であり、前記第2のレンダリング画像は、前記第1のレンダリング画像の次フレームのレンダリング画像である、ステップと、
前記第1の時点と前記第2の時点との間の前記期間が前記第1の期間閾値未満である場合、前記第3の時点と前記第2の時点との間の期間を取得するステップと、
前記第3の時点と前記第2の時点との間の前記期間が第2の期間閾値よりも大きい場合、前記第1のレンダリング画像をバッファリングするステップであって、前記第2の期間閾値は前記第1の期間閾値よりも大きい、ステップと
を更に含む、請求項１に記載の方法。
【請求項３】
第3の時点を取得する前記ステップは、
レンダリングされたレンダリング画像のそれぞれのレンダリングが終了した時点を取得するステップと、
前記レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と前記第1の時点とに従って前記第3の時点を取得するステップと
を含む、請求項２に記載の方法。
【請求項４】
前記レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と前記第1の時点とに従って前記第3の時点を取得する前記ステップは、以下の式
【数３】
2021513440.tif 000005
により第3の時点Tn+1を計算するステップであって、Tn+1は前記第3の時点であり、Tnは前記第1の時点であり、Tn-iは前記第1のレンダリング画像の前の第iのフレームの画像に対するレンダリングが終了した時点である、ステップを含む、請求項３に記載の方法。
【請求項５】
前記第1のレンダリング画像をバッファリングする前記ステップの後に、
第4の時点までに前記第2のレンダリング画像に対するレンダリングが終了していない場合、前記第1のレンダリング画像を符号化することにより、前記符号化画像を取得するステップであって、前記第4の時点は前記第2の時点よりも遅く、前記第4の時点と前記第2の時点との間の期間は前記第2の期間閾値の整数倍である、ステップを更に含む、請求項２に記載の方法。
【請求項６】
前記第3の時点と前記第2の時点との間の前記期間が前記第2の期間閾値以下である場合、前記第1のレンダリング画像を破棄するステップを更に含む、請求項２に記載の方法。
【請求項７】
仮想シーンのシーン画像を送信するための装置であって、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得するように構成されたレンダリングモジュールであって、前記表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、レンダリングモジュールと、
第1の時点及び第2の時点を取得するように構成された時点取得モジュールであって、前記第1の時点は、前記第1のレンダリング画像に対するレンダリングが終了した時点であり、前記第2の時点は、直近に符号化が実行された時点である、時点取得モジュールと、
前記第1の時点と前記第2の時点との間の期間が第1の期間閾値以上である場合、前記第1のレンダリング画像を符号化することにより、符号化画像を取得するように構成された符号化モジュールと、
端末に復号及び表示させるために前記符号化画像を前記端末に送信するように構成された送信モジュールと
を含む装置。
【請求項８】
前記時点取得モジュールは、第3の時点を取得するように更に構成され、前記第3の時点は、第2のレンダリング画像に対するレンダリングが終了すると推定される時点であり、前記第2のレンダリング画像は、前記第1のレンダリング画像の次フレームのレンダリング画像であり、
当該装置は、
前記第1の時点と前記第2の時点との間の前記期間が前記第1の期間閾値未満である場合、前記第3の時点と前記第2の時点との間の期間を取得するように構成された期間取得モジュールと、
前記第3の時点と前記第2の時点との間の前記期間が第2の期間閾値よりも大きい場合、前記第1のレンダリング画像をバッファリングするように構成されたバッファリングモジュールであって、前記第2の期間閾値は前記第1の期間閾値よりも大きい、バッファリングモジュールと
を更に含む、請求項７に記載の装置。
【請求項９】
前記時点取得モジュールは、
レンダリングされたレンダリング画像のそれぞれのレンダリングが終了した時点を取得し、
前記レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と前記第1の時点とに従って前記第3の時点を取得する
ように構成される、請求項８に記載の装置。
【請求項１０】
前記時点取得モジュールは、以下の式
【数４】
2021513440.tif 000006
により第3の時点Tn+1を計算するように構成され、
Tn+1は前記第3の時点であり、Tnは前記第1の時点であり、Tn-iは前記第1のレンダリング画像の前の第iのフレームの画像に対するレンダリングが終了した時点である、請求項９に記載の装置。
【請求項１１】
前記符号化モジュールは、前記第1のレンダリング画像がバッファリングされた後に、第4の時点までに前記第2のレンダリング画像に対するレンダリングが終了していない場合、前記第1のレンダリング画像を符号化することにより、前記符号化画像を取得するように更に構成され、前記第4の時点は前記第2の時点よりも遅く、前記第4の時点と前記第2の時点との間の期間は前記第2の期間閾値の整数倍である、請求項８に記載の装置。
【請求項１２】
前記第3の時点と前記第2の時点との間の前記期間が前記第2の期間閾値以下である場合、前記第1のレンダリング画像を破棄するように構成された破棄モジュールを更に含む、請求項８に記載の装置。
【請求項１３】
プロセッサ及びメモリを含むコンピュータデバイスであって、前記メモリは、少なくとも1つの命令を記憶し、前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得する動作であって、前記表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、動作と、
第1の時点を取得する動作であって、前記第1の時点は、前記第1のレンダリング画像に対するレンダリングが終了した時点である、動作と、
第2の時点を取得する動作であって、前記第2の時点は、直近に符号化が実行された時点である、動作と、
前記第1の時点と前記第2の時点との間の期間が第1の期間閾値以上である場合、前記第1のレンダリング画像を符号化することにより、符号化画像を取得する動作と、
端末に復号及び表示させるために前記符号化画像を前記端末に送信する動作と
を実行する、コンピュータデバイス。
【請求項１４】
前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
第3の時点を取得する動作であって、前記第3の時点は、第2のレンダリング画像に対するレンダリングが終了すると推定される時点であり、前記第2のレンダリング画像は、前記第1のレンダリング画像の次フレームのレンダリング画像である、動作と、
前記第1の時点と前記第2の時点との間の前記期間が前記第1の期間閾値未満である場合、前記第3の時点と前記第2の時点との間の期間を取得する動作と、
前記第3の時点と前記第2の時点との間の前記期間が第2の期間閾値よりも大きい場合、前記第1のレンダリング画像をバッファリングする動作であって、前記第2の期間閾値は前記第1の期間閾値よりも大きい、動作と
を実行する、請求項１３に記載のコンピュータデバイス。
【請求項１５】
前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
レンダリングされたレンダリング画像のそれぞれのレンダリングが終了した時点を取得する動作と、
前記レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と前記第1の時点とに従って前記第3の時点を取得する動作と
を実行する、請求項１４に記載のコンピュータデバイス。
【請求項１６】
前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
以下の式
【数５】
2021513440.tif 000007
により第3の時点Tn+1を計算する動作であって、Tn+1は前記第3の時点であり、Tnは前記第1の時点であり、Tn-iは前記第1のレンダリング画像の前の第iのフレームの画像に対するレンダリングが終了した時点である、動作を実行する、請求項１５に記載のコンピュータデバイス。
【請求項１７】
コンピュータ読み取り可能記憶媒体であって、
少なくとも1つの命令を記憶し、前記少なくとも1つの命令がプロセッサにより実行されると、前記プロセッサは、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得する動作であって、前記表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、動作と、
第1の時点を取得する動作であって、前記第1の時点は、前記第1のレンダリング画像に対するレンダリングが終了した時点である、動作と、
第2の時点を取得する動作であって、前記第2の時点は、直近に符号化が実行された時点である、動作と、
前記第1の時点と前記第2の時点との間の期間が第1の期間閾値以上である場合、前記第1のレンダリング画像を符号化することにより、符号化画像を取得する動作と、
端末に復号及び表示させるために前記符号化画像を前記端末に送信する動作と
を実行する、コンピュータ読み取り可能記憶媒体。
【請求項１８】
前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
第3の時点を取得する動作であって、前記第3の時点は、第2のレンダリング画像に対するレンダリングが終了すると推定される時点であり、前記第2のレンダリング画像は、前記第1のレンダリング画像の次フレームのレンダリング画像である、動作と、
前記第1の時点と前記第2の時点との間の前記期間が前記第1の期間閾値未満である場合、前記第3の時点と前記第2の時点との間の期間を取得する動作と、
前記第3の時点と前記第2の時点との間の前記期間が第2の期間閾値よりも大きい場合、前記第1のレンダリング画像をバッファリングする動作であって、前記第2の期間閾値は前記第1の期間閾値よりも大きい、動作と
を実行する、請求項１７に記載のコンピュータ読み取り可能記憶媒体。
【請求項１９】
前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
レンダリングされたレンダリング画像のそれぞれのレンダリングが終了した時点を取得する動作と、
前記レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と前記第1の時点とに従って前記第3の時点を取得する動作と
を実行する、請求項１８に記載のコンピュータ読み取り可能記憶媒体。
【請求項２０】
前記少なくとも1つの命令が前記プロセッサにより実行されると、前記プロセッサは、
以下の式
【数６】
2021513440.tif 000008
により第3の時点Tn+1を計算する動作であって、Tn+1は前記第3の時点であり、Tnは前記第1の時点であり、Tn-iは前記第1のレンダリング画像の前の第iのフレームの画像に対するレンダリングが終了した時点である、動作を実行する、請求項１９に記載のコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本出願は、2018年6月15日に中国国家知識産権局に出願された「METHOD  FOR  TRANSMITTING  SCENE  IMAGE  OF  VIRTUAL  SCENE,  COMPUTER  DEVICE,  AND  STORAGE  MEDIUM」という名称の中国特許出願第2018106210567号に対する優先権を主張し、その全内容を援用する。
【０００２】
［技術分野］
本出願の実施形態は、画像処理の技術分野に関し、特に、仮想シーン(場面)のシーン画像を送信するための方法及び装置、コンピュータデバイス並びにコンピュータ読み取り可能記憶媒体に関する。
【背景技術】
【０００３】
ネットワーク及び電子技術の継続的な発展により、オンラインクラウドアプリケーションの適用範囲はますます広がってきており、クラウド仮想シーン(例えば、クラウドゲーム)はオンラインクラウドアプリケーションの比較的重要なものとなっている。
【０００４】
関連技術では、クラウド仮想シーンの画像レンダリング(描画)のプロセスはサーバ上で実行される。一例では、サーバは、仮想シーンの表示インタフェースの画像をキャプチャーし、画像をレンダリングすることにより、レンダリング画像を取得する。他の例では、サーバは、一定のフレームレートに従って、符号化対象のレンダリング画像が所定の期間毎に存在するか否かを決定する。存在する場合、符号化対象のレンダリング画像は符号化されて端末に送信され、端末は取得されたレンダリング画像を復号して画像を表示する。
【発明の概要】
【０００５】
本出願の様々な実施形態によれば、仮想シーンのシーン画像を送信するための方法、コンピュータデバイス及びコンピュータ読み取り可能記憶媒体が提供される。
【０００６】
サーバにより実行される、仮想シーンのシーン画像を送信するための方法が提供され、当該方法は、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得するステップであって、表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、ステップと、
第1の時点を取得するステップであって、第1の時点は、第1のレンダリング画像に対するレンダリングが終了した時点である、ステップと、
第2の時点を取得するステップであって、第2の時点は、直近に符号化が実行された時点である、ステップと、
第1の時点と第2の時点との間の期間が第1の期間閾値以上である場合、第1のレンダリング画像を符号化することにより、符号化画像を取得するステップと、
端末に復号及び表示させるために符号化画像を端末に送信するステップと
を含む。
【０００７】
仮想シーンのシーン画像を送信するための装置が提供され、当該装置は、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得するように構成されたレンダリングモジュールであって、表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、レンダリングモジュールと、
第1の時点及び第2の時点を取得するように構成された時点取得モジュールであって、第1の時点は、第1のレンダリング画像に対するレンダリングが終了した時点であり、第2の時点は、直近に符号化が実行された時点である、時点取得モジュールと、
第1の時点と第2の時点との間の期間が第1の期間閾値以上である場合、第1のレンダリング画像を符号化することにより、符号化画像を取得するように構成された符号化モジュールと、
端末に復号及び表示させるために符号化画像を端末に送信するように構成された送信モジュールと
を含む。
【０００８】
プロセッサ及びメモリを含むコンピュータデバイスが提供され、メモリは、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットを記憶し、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットがロードされ、プロセッサにより実行されて、仮想シーンのシーン画像を送信するための上記の方法を実現する。
【０００９】
コンピュータ読み取り可能記憶媒体が提供され、当該記憶媒体は、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットを記憶し、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットがロードされ、プロセッサにより実行されて、仮想シーンのシーン画像を送信するための上記の方法を実現する。
【００１０】
本出願の1つ以上の実施形態の詳細は、添付の図面及び以下の説明において提供される。本出願の他の特徴及び利点は、明細書、添付の図面及び特許請求の範囲を参照することでより明確になる。
【図面の簡単な説明】
【００１１】
本出願の実施形態における技術的解決策をより明確に説明するために、以下に、実施形態を説明するために必要な添付の図面について簡単に紹介する。明らかに、以下の説明における添付の図面は、本出願のいくつかの実施形態を示しているに過ぎず、当業者は、創造的取り組みを行うことなく、添付の図面から他の図面を導くことができる。
【図１】例示的な実施形態による端末の概略構造図である。
【図２】実施形態による仮想シーンの表示インタフェースの概略図である。
【図３】例示的な実施形態によるシーン画像を送信するためのシステムの概略構造図である。
【図４】図３の実施形態におけるクラウドゲームシステムのシステムアーキテクチャ図である。
【図５】例示的な実施形態による仮想シーンのシーン画像の送信のフローチャートである。
【図６】例示的な実施形態による仮想シーンのシーン画像の送信のフローチャートである。
【図７】図６の実施形態におけるアプリケーション又は仮想シーンの表示インタフェースの隣接フレームのレンダリング時間間隔及び統計回数の概略図である。
【図８】図６の実施形態におけるアプリケーション又は仮想シーンの表示インタフェースの隣接フレームのレンダリング時間間隔及び統計回数の概略図である。
【図９】図６の実施形態におけるアプリケーション又は仮想シーンの表示インタフェースの隣接フレームのレンダリング時間間隔及び統計回数の概略図である。
【図１０】図６の実施形態におけるアプリケーション又は仮想シーンの表示インタフェースの隣接フレームのレンダリング時間間隔及び統計回数の概略図である。
【図１１】図６の実施形態における画像レンダリング及び符号化シーケンスの概略図である。
【図１２】図６の実施形態における新たに生成されたレンダリング画像の処理の概略図である。
【図１３】図６の実施形態におけるバッファリングされたレンダリング画像の符号化の概略図である。
【図１４】図６の実施形態における画像レンダリング及び符号化シーケンスの他の概略図である。
【図１５】例示的な実施形態によるシーン画像を送信するための装置の構成ブロック図である。
【図１６】例示的な実施形態によるコンピュータデバイスの概略構造図である。
【発明を実施するための形態】
【００１２】
例示的な実施形態がここに詳細に記載されており、その例が添付の図面に示されている。添付の図面を参照して以下の説明が行われる場合、別段の指示がない限り、異なる添付の図面における同じ符号は、同じ要素又は類似の要素を表す。以下の例示的な実施形態に記載の以下の実現方式は、本出願に合致する全ての実現方式を表すとは限らない。これらの実現方式は、添付の特許請求の範囲に詳細に記載され且つ本出願のいくつかの態様に合致する装置及び方法の単なる例に過ぎない。
【００１３】
本出願の実施形態は、画像表示の解決策を提供する。当該解決策は、複数のユーザが対面状態にある場合に、仮想シーンのシーンパラメータを同期させることができる。理解の便宜上で、本出願の実施形態における用語について説明する。
【００１４】
(1)クラウドゲーム:クラウドゲームはクラウドコンピューティングに基づくゲームモードである。クラウドゲームの実行モードでは、全てのゲームがサーバ端末上で実行される。サーバ端末は、レンダリングされたゲーム画像を圧縮し、圧縮されたゲーム画像をネットワークでユーザ側の端末に送信する。ゲーム画像は端末により復号されて直接表示される。
【００１５】
(2)仮想シーンは、コンピュータを使用することにより生成される仮想シーン環境である。例えば、仮想シーンはゲームシーンでもよい。仮想シーンは、マルチメディア仮想世界を提供してもよく、マルチメディア仮想世界により、ユーザは、仮想シーン内の操作可能な仮想オブジェクトを制御するために、操作デバイス又は操作インタフェースを使用して、仮想オブジェクトの視野角から仮想シーン内のオブジェクト、キャラクタ及び背景を観察したり、或いは、仮想オブジェクトを使用して、仮想シーン内のオブジェクト、キャラクタ、背景又は他の仮想オブジェクトと相互作用したりすることが可能になる。例えば、ユーザは、標的の敵を攻撃するために仮想兵士を操作する。
【００１６】
仮想シーンは、通常では、端末のようなコンピュータデバイス上のアプリケーションにより生成され、端末のハードウェア(例えば、画面)により表示される。端末は、スマートフォン、タブレットコンピュータ又は電子書籍リーダのような移動端末でもよい。代替として、端末は、ノートブックコンピュータ又は静止型コンピュータのようなパーソナルコンピュータデバイスでもよい。
【００１７】
図１は、例示的な実施形態による端末の概略構造図である。図１に示すように、端末は、マザーボード110と、外部入出デバイス120と、メモリ130と、外部インタフェース140と、容量性タッチシステム150と、電源160とを含む。
【００１８】
プロセッサ及びコントローラのような処理要素は、マザーボード110に一体化される。
【００１９】
外部入出力デバイス120は、表示コンポーネント(例えば、表示画面)と、サウンド再生コンポーネント(例えば、スピーカ)と、サウンド取得コンポーネント(例えば、マイクロホン)と、様々なタイプのボタンとを含んでもよい。
【００２０】
メモリ130は、プログラムコード及びデータを記憶する。
【００２１】
外部インタフェース140は、イヤホンインタフェースと、充電インタフェースと、データインタフェースとを含んでもよい。
【００２２】
容量性タッチシステム150は、表示コンポーネント又は外部入出力デバイス120のボタンに一体化されてもよく、容量性タッチシステム150は、表示コンポーネント又はボタン上でユーザにより実行されたタッチ操作を検出するように構成される。
【００２３】
電源160は、端末内の他のコンポーネントに電力を供給するように構成される。
【００２４】
本出願の実施形態では、マザーボード110内のプロセッサは、メモリ内に記憶されたプログラムコード及びデータを実行又は起動することにより仮想シーンの画像を生成し、外部入出力デバイス120を使用することにより仮想シーンの生成された画像を提示してもよい。仮想シーンの画像を生成するために使用されるデータは、クラウドサーバにより送信されるレンダリング画像のデータでもよい。仮想シーンを提示するプロセスにおいて、ユーザが仮想シーンと相互作用する場合に実行されるタッチ操作は、容量性タッチシステム150を使用することにより検出されてもよい。
【００２５】
仮想シーンは三次元仮想シーンでもよく、或いは、仮想シーンは二次元仮想シーンでもよい。仮想シーンが三次元仮想シーンである例を使用すると、図２は、例示的な実施形態による仮想シーンの表示インタフェースの概略図である。図２に示すように、仮想シーンの表示インタフェース200は、仮想オブジェクト210と、三次元仮想シーンの環境画像220と、少なくとも1つのグループの仮想制御ボタン230と、仮想オブジェクト240とを含む。仮想オブジェクト210は、端末に対応するユーザアカウントにおいてユーザが現在制御しているオブジェクトでもよい。仮想制御ボタン230は、選択可能な制御要素である。すなわち、ユーザは、仮想制御ボタン230を使用することにより仮想オブジェクト210を操作してもよい。仮想オブジェクト240は、ユーザが直接制御できないオブジェクトでもよい。すなわち、仮想オブジェクト240は、アプリケーションにより自律的に制御されるか、或いは、仮想オブジェクト240は、他の端末に対応するユーザアカウントにより制御される仮想オブジェクトでもよい。ユーザは、仮想オブジェクト210と相互作用するように仮想オブジェクト210を制御してもよく、例えば、仮想オブジェクト240を攻撃するように仮想オブジェクト210を制御してもよい。
【００２６】
図２において、仮想オブジェクト210及び仮想オブジェクト240は、三次元仮想シーンにおける三次元モデルであり、表示インタフェース200に表示される三次元仮想シーンの環境画像は、仮想オブジェクト210の視野角から観察されるオブジェクトを含む。例えば、図２に示すように、仮想オブジェクト210の視野角から観察されたとき、三次元仮想シーンの表示環境画像220は、地面224と、空225と、水平線223と、丘221と、工場222とを含む。
【００２７】
仮想オブジェクト210は、ユーザの制御下でリアルタイムに移動してもよい。例えば、図２に示す仮想制御ボタン230は、仮想オブジェクト210の移動を制御するように構成された仮想ボタンである。ユーザが仮想制御ボタン230にタッチした場合、仮想オブジェクト210は、仮想シーン内で仮想制御ボタン230の中心に対してタッチポイントの方向に移動してもよい。
【００２８】
図３は、例示的な実施形態による仮想シーンのシーン画像を送信するためのシステムの概略構造図である。システムは、複数の端末320と、サーバ340とを含む。
【００２９】
端末320は、携帯電話、タブレットコンピュータ、電子書籍リーダ、スマート眼鏡、スマートウォッチ、MP3(Moving  Picture  Experts  Group  Audio  Layer  III)プレイヤ、MP4(Moving  Picture  Experts  Group  Audio  Layer  IV)プレイヤ等でもよい。
【００３０】
端末320は、仮想シーンの表示インタフェースを提示するように構成された端末でもよい。対応して、サーバ340は、仮想シーンをサポートするアプリケーションに対応するサーバでもよい。
【００３１】
端末320は、通信ネットワークによりサーバ340に接続される。任意選択で、通信ネットワークは有線ネットワーク又は無線ネットワークである。
【００３２】
サーバ340は、サーバ若しくは複数のサーバを含むサーバクラスタ又は仮想化プラットフォーム若しくはクラウドコンピューティングサービスセンタである。
【００３３】
任意選択で、システムは、管理デバイス360を更に含んでもよい。管理デバイス360は、通信ネットワークによりサーバ340に接続される。任意選択で、通信ネットワークは有線ネットワーク又は無線ネットワークである。
【００３４】
任意選択で、無線ネットワーク又は有線ネットワークは、標準的な通信技術及び/又はプロトコルを使用する。ネットワークは通常ではインターネットであるが、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、移動ネットワーク、有線ネットワーク若しくは無線ネットワーク、又は専用ネットワーク若しくは仮想専用ネットワークのいずれかの組み合わせを含んでもよい。また、これらに限定されることなく、他のネットワークでもよい。いくつかの実施形態では、ハイパーテキストマークアップ言語(HTML)及び拡張可能マークアップ言語(XML)のような技術及び/又はフォーマットが、ネットワークを通じて交換されるデータを表すために使用される。さらに、全部又は一部のリンクは、セキュアソケット層(SSL)、トランスポート層セキュリティ(TLS)、仮想プライベートネットワーク(VPN)及びインターネットプロトコルセキュリティ(IPsec)のような従来の暗号化技術を使用することにより暗号化されてもよい。いくつかの他の実施形態では、カスタム及び/又は専用のデータ通信技術も、上記のデータ通信技術の代わりに、或いはこれらに加えて使用されてもよい。
【００３５】
可能な実現方式では、仮想シーンのシーン画像を送信するための上記のシステムはクラウドゲームシステムでもよい。例えば、図４は、本出願の実施形態におけるクラウドゲームシステムのシステムアーキテクチャ図である。図４に示すように、クラウドゲームシステムは、仮想化クラウド41と、クラウドベースのユーザ研究制御センタ42と、管理者デバイス43と、ユーザ研究者端末44と、プレイヤ端末45を含む。仮想化クラウド41及びクラウドベースのユーザ研究制御センタ42は、サーバ340上に配置される。管理者デバイス43は、管理デバイス360に対応し、ユーザ研究者端末44及びプレイヤ端末45は、端末320に対応する。
【００３６】
図４のシステムに示すように、仮想化クラウド41は、ハードウェアデバイスの実行に基づく仮想マシンでもよく、シミュレータ(例えば、Androidシミュレータ、Windowsシミュレータ、iOSシミュレータ及びWebシミュレータ)が仮想マシン上で実行される。シミュレータは、プレイヤ端末45のシステム環境をシミュレーションし、シミュレーションされたシステム環境により実行されるゲームプログラムに基づいて仮想シーン(すなわち、ゲーム又はアプリケーションに対応するシーン)を生成し、プレイヤ端末45及びユーザ研究者端末44に表示させるためにクラウドベースのユーザ研究制御センタ42を使用することにより、仮想シーンの画像をプレイヤ端末45及びユーザ研究者端末44に送信するように構成される。仮想シーンの画像を表示するプロセスにおいて、プレイヤ端末45は、プレイヤの操作を更に受信し、プレイヤの操作データをクラウドベースのユーザ研究制御センタ42に送信し、クラウドベースのユーザ研究制御センタ42は、操作データを仮想化クラウド41に送信する。仮想化クラウド41のシミュレータは、プレイヤの操作データに従って仮想シーンを制御する。例えば、本出願の実施形態では、仮想化クラウド41は、仮想マシンにより生成された仮想シーンのインタフェース及びサウンドを、H.264/先進的音響符号化(AAC)オーディオ及びビデオストリームに符号化し、ストリームの形式でオーディオ及びビデオストリームを、端末にインストールされたクライアントに送信してもよい。同時に、ゲーム又はアプリケーションを操作するために、クライアントのタッチ操作イベントが取得され、仮想化クラウド41のシミュレータに返信される。
【００３７】
さらに、クラウドベースのユーザ研究制御センタ42は、仮想シーンの画像及びユーザの操作を更にアーカイブする。
【００３８】
本出願の解決策では、サーバにより画像符号化を実行するプロセスにおいて、端末上に仮想シーンを提示する遅延を低減する改善策が行われてもよい。図５は、例示的な実施形態による仮想シーンのシーン画像の送信のフローチャートである。図５に示すように、サーバは、表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得する。ここで、表示対象の画像は、表示データが変化した場合に仮想シーンの表示データをキャプチャーすることにより取得される(51)。サーバは、第1の時点を取得し、第1の時点は、第1のレンダリング画像に対するレンダリングが終了した時点である(52)。サーバは、第1の時点と第2の時点との間の期間が第1の期間閾値以上である場合、第1のレンダリング画像を符号化することにより、符号化画像を取得する。ここで、第2の時点は、直近に符号化が実行された時点である(53)。サーバは、端末に復号及び表示させるために符号化画像を端末に送信する(54)。
【００３９】
図５の解決策を使用することにより、サーバは、仮想シーンを生成し、レンダリング対象の画像をキャプチャーし、仮想シーンの表示データが変化した場合にレンダリングを実行することにより、第1のレンダリング画像を取得する。第1のレンダリング画像に対するレンダリングが終了した時点と直近に符号化が実行された時点との間の間隔が特定の閾値以上である場合、第1のレンダリング画像が符号化されて送信される。したがって、次の一定の符号化サイクルの到来を待つ必要はなく、画像符号化の適時性が向上し、端末側の画像提示の遅延が低減される。
【００４０】
さらに、図５の解決策では、サーバは、仮想シーンの表示データが変化した場合にのみ、レンダリング対象の画像をキャプチャーするため、レンダリング及び符号化の不要なステップが低減され、ネットワークリソースの利用率が向上する。
【００４１】
図６は、例示的な実施形態による仮想シーンのシーン画像を送信するための方法のフローチャートである。仮想シーンのシーン画像を送信するための方法は、図３のシステムのサーバに適用されてもよい。図６に示すように、仮想シーンのシーン画像を送信するための方法は、以下のステップを含んでもよい。
【００４２】
ステップ601.表示データが変化した場合、仮想シーンの変化した表示データをキャプチャーすることにより、表示対象の画像を取得する。
【００４３】
表示データは、仮想シーンの表示インタフェース上に表示される画像データでもよい。仮想シーンの表示インタフェースは、仮想シーンが端末上に表示される場合の表示インタフェースでもよい。同じ仮想シーンについて、異なる端末上に表示される仮想シーンの表示インタフェースは、同じでもよく或いは異なってもよい。
【００４４】
本出願の実施形態では、サーバが仮想シーンを生成した後に、仮想シーンの表示インタフェース内のインタフェース内容(すなわち、表示データ)が監視されてもよい。インタフェース内容の変化が検出された場合、表示対象の画像を取得するために、インタフェース画像がキャプチャーされる。一方、インタフェースの内容に変化が存在しない場合、インタフェース画像はキャプチャーされなくてもよい。
【００４５】
例えば、実際の適用の中で、サーバは、Qemu(ハードウェアデバイスをシミュレートするように構成された純粋なソフトウェア実装仮想シミュレータ)+KVM(オープンソースシステム仮想化モジュール)の仮想マシンを使用することによりオンデマンドのレンダリングを実行してもよく、例えば、OpenGL(Open  Graphics  Library)レンダリングは、インタフェース内容が変化した場合にのみ実行される。
【００４６】
ステップ602.表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得する。
【００４７】
例えば、Androidシステム環境のシミュレーションが一例として使用され、Androidシミュレータは、シミュレーションされたAndroidシステムにおいてeglSwapBuffers関数を呼び出して、最終的な画面内容をレンダリングする。
【００４８】
本出願の実施形態では、フレームの画像に対するレンダリングが終了した後に、仮想マシンは、レンダリングが終了したコードにコールバックを追加して、符号化を実行するか否かを決定するその後のプロセスをトリガしてもよい。
【００４９】
ステップ603.第1の時点を取得する。ここで、第1の時点は、第1のレンダリング画像に対するレンダリングが終了した時点である。
【００５０】
例えば、サーバ内の仮想マシンは、表示対象の画像をレンダリングする。レンダリングが終了した場合、仮想マシンは、レンダリングが終了した時点を第1の時点として取得してもよい。
【００５１】
ステップ604.第1の時点と第2の時点との間の期間が、第1の期間閾値未満であるか否かを決定する。第1の期間閾値未満である場合、ステップ605が実行される。第1の期間閾値以上である場合、ステップ606が実行される。
【００５２】
第2の時点は、直近に符号化が実行された時点である。
【００５３】
実際の適用の中で、異なる端末は異なる性能パラメータを有する。いくつかの端末は、高いフレームレートでの画像復号及び表示をサポートするために比較的高いハードウェア性能を有するが、いくつかの端末は、低いフレームレートでの画像復号をサポートするために比較的低いハードウェア性能を有する。
【００５４】
本出願の実施形態では、低性能端末の復号性能を考慮して、最小符号化間隔(すなわち、第1の期間閾値)がサーバにおいて設定されてもよい。直近のフレームの画像をレンダリングした後に、サーバは、レンダリングにより取得された現在のレンダリング画像が、直ちに符号化されてユーザ側の端末に送信される必要があるか否かを決定してもよい。
【００５５】
ステップ605.第1のレンダリング画像を符号化することにより、符号化画像を取得する。
【００５６】
本出願の実施形態では、第1のレンダリング画像に対するレンダリングが終了した時点と直近に符号化が実行された時点との間の期間が、最小符号化間隔以上であると決定された場合、サーバは、新たに取得されたレンダリング画像を直ちに符号化してもよい。
【００５７】
例えば、Tnは、現在の画像(すなわち、第1のレンダリング画像)のレンダリングが終了した時点を表し、Elastは、Tnの直近に符号化が実行された時点を表し、Iminは、符号化の許容最小間隔、すなわち、第1の期間閾値を表す。Tn-Elast≧Iminという条件の場合、サーバは、現在の画像を直ちに符号化し、ElastをTnとして更新する。
【００５８】
ステップ606.第3の時点と第2の時点との間の期間を取得する。
【００５９】
第3の時点は、第2のレンダリング画像に対するレンダリングが終了すると推定される時点である。第2のレンダリング画像は、第1のレンダリング画像の次フレームのレンダリング画像である。
【００６０】
本出願の実施形態では、第3の時点は、予測により取得されてもよい。例えば、サーバは、それぞれの前のフレームの画像に対するレンダリングが終了した時点を参照して、次フレームの画像に対するレンダリングが終了する時点(すなわち、第3の時点)を予測してもよい。
【００６１】
任意選択で、第3の時点が取得される場合、サーバは、レンダリングされたレンダリング画像のそれぞれのレンダリングが終了した時点を取得し、レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と第1の時点とに従って第3の時点を取得してもよい。
【００６２】
可能な実現方式では、サーバは、レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間の平均値を計算して、平均期間を取得し、第1の時点に平均期間を加算して、第3の時点を取得してもよい。
【００６３】
本出願の実施形態では、サーバは、仮想シーンの表示データが変化した場合にのみ画像をキャプチャーしてレンダリングする。したがって、2つの隣接するフレームの画像に対するレンダリングが終了した時点の間に、非常に大きい差が存在する可能性があり(例えば、仮想シーンの表示インタフェースが長期間変化しないままである場合、連続的にキャプチャーされてレンダリングされる画像の2つのフレームの間の時間間隔が大きくなる可能性がある)、或いは、非常に小さい差が存在する可能性がある(例えば、仮想シーンの表示インタフェースが頻繁に変化する場合、連続的にキャプチャーされてレンダリングされる画像の2つのフレームの間の時間間隔が小さくなる可能性がある)。したがって、サーバが第3の時点を取得する場合、さらに、予測結果において、それぞれのレンダリング画像に対するレンダリングが終了した時点に対する異なる影響度が総合的に考慮されてもよい。
【００６４】
実際の適用の中で、現時点に近い2つの隣接するフレームの画像に対するレンダリングが終了した時点の間隔は、通常では、次フレームの画像に対するレンダリングが終了する時点の予測結果により大きい影響を与える。例えば、最近レンダリングされた2つのフレームの画像に対するレンダリングが終了した時点の間の間隔が比較的大きい場合、次フレームの画像に対するレンダリングが終了する時点と現時点との間の間隔は、大きくなる可能性が高い。逆に、最近レンダリングされた2つのフレームの画像に対するレンダリングが終了した時点の間の間隔が比較的小さい場合、次フレームの画像に対するレンダリングが終了する時点と現時点との間隔は、小さくなる可能性が高い。
【００６５】
上記の分析に基づいて、本出願の実施形態では、サーバは、以下の式により第3の時点Tn+1を計算してもよい。
【００６６】
【数１】
2021513440.tif 000003
Tn+1は第3の時点であり、Tnは第1の時点であり、Tn-iは第1のレンダリング画像の前の第iのフレームの画像に対するレンダリングが終了した時点である。式に示すように、レンダリング画像において、現時点に近い2つの隣接するフレームの画像に対するレンダリングが終了した時点の間の間隔は、通常では、Tn+1の予測結果に対してより大きい影響を与える。現時点の前の第1のフレームの画像及び第2のフレームの画像に対するレンダリングが終了した時点の間の間隔は、予測結果に最も大きい影響を与え(すなわち、最大の重みを有する)、予測結果に対してそれぞれ2つの隣接するフレームの画像に対するレンダリングが終了した時点の間の間隔の影響は、指数関数的に減少する(すなわち、重みが指数関数的に減少する)。
【００６７】
ステップ607.第3の時点と第2の時点との間の期間が、第2の期間閾値よりも大きいか否かを決定する。第2の期間閾値よりも大きい場合、ステップ608が実行される。第2の期間閾値以下である場合、ステップ609が実行される。
【００６８】
第2の期間閾値は、第1の期間閾値よりも大きい。
【００６９】
本出願の実施形態では、第1のレンダリング画像に対するレンダリングが終了した時点と直近に符号化が実行された時点との間の期間が最小符号化間隔未満であると決定された場合、且つ、同時に新たに取得されたレンダリング画像が符号化されて端末に送信された場合、比較的低い性能を有する端末は、直近のフレームにおける画像を依然として復号して表示しており、現在の画像を復号して表示することができないという問題が生じる可能性がある。したがって、第1のレンダリング画像に対するレンダリングが終了した時点と直近に符号化が実行された時点との間の期間が最小符号化間隔未満である場合、サーバは、上記のステップを使用して、次フレームのレンダリング画像に対するレンダリングが終了する時点を予測し、現在のレンダリング画像(すなわち、第1のレンダリング画像)を保持する必要があるか否かを決定する。
【００７０】
ステップ608.第1のレンダリング画像をバッファリングする。
【００７１】
本出願の実施形態では、端末が仮想シーンの最新の変化した表示インタフェースをユーザに適時に提示することを可能にするために、サーバは、最大符号化フレーム間隔Imaxを予め設定してもよい。Tn+1-Elast>Imaxである場合、次に符号化が実行される時点においてレンダリング画像を生成しない。この時点で、サーバは現在のレンダリング画像をバッファリングし、次に符号化が実行される必要がある時点まで待機して符号化を実行してもよい。
【００７２】
上記の分析によれば、Iminの主な目的は、ユーザ端末により受け入れられることができる最大符号化レートを設定することである(ユーザ端末が復号を実行するには送信が速すぎる場合を回避するため)。一方、Imaxの主な目的は、ユーザが最新の画像を適時に見ることである。サーバは、直近に生成されて符号化されていない画像をキャプチャーし、適時に符号化を実行し、期間Imaxの間隔で画像をユーザ端末に送信することを試みる。
【００７３】
この出願の実施形態では、サーバは、ほとんどの端末により受信可能なフレームレートの範囲を取得するために、事前に多数の携帯電話のような移動端末の符号化及び復号能力の統計情報を収集してもよい。Imin及びImaxは、フレームレートの範囲に基づいて、実際の適用の中の様々な仮想シーンのリフレッシュフレームレートの統計情報と組み合わせて決定される。
【００７４】
図７〜図１０は、本出願の実施形態における、アプリケーション又は仮想シーンの表示インタフェースの隣接するフレームのレンダリング時間間隔及び統計回数の4つの概略図である。実際の適用の中で、アプリケーション又は仮想シーンの表示インタフェースのリフレッシュレートは通常では毎秒30フレーム(FPS)又は60FPSであり、対応するリフレッシュ時間間隔はそれぞれ15ms及び30msである。図７〜図１０において、横軸は、隣接するフレームのレンダリングの時間間隔であり、縦軸は、隣接するフレームのレンダリングの時間間隔が統計により取得された対応する時間間隔内にある回数である。図７〜図１０から分かるように、アプリケーション又は仮想シーンのほとんどの表示インタフェースにおいて、隣接するフレームのレンダリングの時間間隔は、主に15ms〜17msの範囲及び32ms〜34msの範囲に入り、同じ期間内の間隔は、基本的には互いに一致する。ほとんどの端末により受信可能なフレームレートの範囲と組み合わせて、本出願の実施形態では、Imin及びImaxは約30msに設定されてもよい。例えば、Iminは29msに設定されてもよく、Imaxは34msに設定されてもよい。明らかに、実際の適用の中で、Imin<Imaxが満たされるという条件で、サーバは、Imin及びImaxを約30msの他の値に設定してもよい。
【００７５】
本出願の実施形態では、サーバが第1のレンダリング画像をバッファリングする際に、直近のレンダリングにより取得されたレンダリング画像がバッファに存在する場合、サーバは、直近にレンダリングされた画像をバッファから削除して保存してもよい。すなわち、或るフレームのレンダリング画像に対するレンダリングが終了した場合、サーバは、次の符号化時間までには新たなレンダリング画像が生成されないと予測し、現在のレンダリング画像をバッファリングする。しかし、実際には、次の符号化時間の前に新たなレンダリング画像が生成される。この時点で、仮想シーンの最新のインタフェースがユーザに適時に提示されることを確保するために、以前にバッファリングされたレンダリング画像は廃棄される必要がある。次の符号化の際に、サーバは、直近にレンダリングされたレンダリング画像を直接符号化する。
【００７６】
ステップ609.第1のレンダリング画像を破棄する。
【００７７】
本出願の実施形態では、Tn+1-Elast≦Imaxである場合、次の符号化の前に、新たなフレームのレンダリング画像(すなわち、第2のレンダリング画像)が生成されると推定される。ユーザが適時に仮想シーンの最新の表示インタフェースを見ることを可能にするために、サーバは、次に符号化が行われる必要がある場合、現在のレンダリング画像を直接破棄し、新たなレンダリング画像を直接符号化してもよい。
【００７８】
図１１は、本出願の実施形態における画像レンダリング及び符号化シーケンスの概略図である。上記の解決策を使用することにより、仮想シーンの表示インタフェースのリフレッシュ間隔が主に15msから17msの間にある場合、理想的な場合には、サーバは、2つのフレームのレンダリング画像から1つのフレームのレンダリング画像を選択し、直ちにビデオ符号化を実行し、レンダリング画像をユーザ端末に送信してもよい。図１１に示すように、Tn-Elast<Imin且つTn+1-Elast≦Imaxである場合、サーバは、2つの隣接するフレームのうち一方を破棄する(図１１において、レンダリング画像B、レンダリング画像D及びレンダリング画像Fは破棄され、レンダリング画像A、レンダリング画像C及びレンダリング画像Eは符号化される)。仮想シーンの表示インタフェースのリフレッシュ間隔が主に32msから34msの間にある場合、理想的な場合には、クラウドサーバは各フレームのレンダリング画像を符号化してもよい。
【００７９】
上記の解決策を使用することにより、サーバは、可変の動的なフレームレートを使用して、新たに生成されたレンダリング画像をリアルタイムに符号化し、端末の復号能力とサーバのレンダリングフレームレートを組み合わせて、適切なImin及びImaxを設定する。図１２は、本出願の実施形態における新たに生成されたレンダリング画像の処理の概略図である。図１２に示すように、サーバが新たに生成されたレンダリング画像を検出した場合(ステップ1201)、次フレームのレンダリング画像が生成される推定時点が更新され(ステップ1202)、現時点(すなわち、第1の時点)が符号化が可能な時間内にあるか否かが決定され(ステップ1203)、すなわち、最新の符号化時間と現時点との間の期間がImin以上であるか否かが決定される。現時点が符号化が実行できる時間内にある(すなわち、直近の符号化の時間と現時点との間隔がIminよりも大きい)場合、新たに生成されたレンダリング画像はH.264符号化され(ステップ1204)、最新の符号化時間が更新される(ステップ1205)。現時点が符号化時間内にない(すなわち、直近の符号化の時間と現時点との間の間隔がImin以下である)場合、新たに生成されたレンダリング画像がバッファリングされる必要があるか否かが決定され(ステップ1206)、すなわち、最新の符号化時間と次フレームのレンダリング画像のが生成される推定時点との間の期間がImaxよりも大きいか否かが決定される。新たに生成されたレンダリング画像がバッファリングされる必要がある(すなわち、最新のエンコーディング時間と次フレームのレンダリング画像が生成される推定時点との間の期間がImaxよりも大きい)場合、新たに生成されたレンダリング画像はバッファリングされる(ステップ1207)。逆に、レンダリング画像がバッファリングされる必要がないと決定される(すなわち、最新の符号化時間と次フレームのレンダリング画像が生成される推定時点との間の期間がImax以下である)場合、新たに生成されたレンダリング画像は破棄される(ステップ1208)。
【００８０】
ステップ610.第4の時点までに第2のレンダリング画像に対するレンダリングが終了していない場合、第1のレンダリング画像を符号化することにより、符号化画像を取得する。
【００８１】
第4の時点は第2の時点よりも遅く、第4の時点と第2の時点との間の期間は第2の期間閾値の整数倍である。
【００８２】
本出願の実施形態では、サーバが動的なフレームレートを使用することにより新たに生成されたレンダリング画像をリアルタイムに符号化する場合とは異なる処理を実現するために、サーバは、バッファ内のレンダリング画像の符号化の監視を定期的に更に実行して、符号化が実行される必要がある時点までに、符号化される必要がある新たなレンダリング画像が生成されない場合、バッファリングされたレンダリング画像を符号化する。
【００８３】
例えば、図１３は、本出願の実施形態におけるバッファリングされたレンダリング画像を符号化する概略図である。図１３に示すように、符号化の監視のプロセスにおいて、サーバはウェイクアップ時間を決定する。ここで、ウェイクアップ時間はelastである。ウェイクアップ時間は、符号化が開始すると推定される時点を表す。符号化が終了する毎に、最初に設定されるウェイクアップ時間は、現在の符号化時間の時点Elastとなる。
【００８４】
a)サーバは、符号化間隔が最大時間間隔Imaxを超えると決定し(ステップ1301)、すなわち、現在の時間Tnと直近のウェイクアップ時間との間の期間がImaxであり、Tn≧elast+Imaxである場合、サーバは、符号化の状態を検査して、最新のレンダリング画像がバッファに存在するか否かを決定する(ステップ1302)。
【００８５】
b)新たなレンダリング画像がバッファに存在する場合、符号化されていないレンダリング画像はH.264符号化され(ステップ1303)、符号化の後に最新の符号化時間がElast=elastとして更新される(ステップ1304)。
【００８６】
c)新たな符号化されていないレンダリング画像がバッファに存在しない場合、符号化は実行されず、ウェイクアップ時間elastのみが更新される。ここで、更新されたウェイクアップ時間は、直近のウェイクアップ時間とImaxとの和である。
【００８７】
図１４は、本出願の実施形態における画像レンダリング及び符号化シーケンスの他の概略図である。図１４に示すように、以下が行われる。
【００８８】
サーバは、時点T1においてレンダリング画像Bのレンダリングを終了する。ここで、時点T1と直近に符号化が実行された時点との間の期間は、Imin未満である。したがって、レンダリング画像Bは、直接符号化されてクライアントに送信できない。さらに、次フレームのレンダリング画像Cの推定生成時間は、次に符号化が実行される必要がある時点T2よりも遅い。したがって、サーバは、レンダリング画像Bをバッファリングする。時点T2において、サーバは、レンダリング画像Bがバッファに存在し、以前に符号化されたレンダリング画像がレンダリング画像Aであると検出し、レンダリング画像Bが符号化されて端末に送信される。レンダリング画像Cは、時点T3において生成される。T3とT2との間の期間はImin未満であり、次の符号化時間はT2+Imaxである。サーバは、次フレームのレンダリング画像Cの生成時間がT2+Imaxより後のTpであると推定し、その結果、レンダリング画像Cをバッファリングする。しかし、レンダリング画像Dの実際の生成時間はT4であり、T4-T2はImaxよりも大きい。したがって、サーバは、レンダリング画像Dを直ちに符号化して端末に送信する。
【００８９】
本出願に示す解決策を使用することにより、仮想シーン(例えば、クラウドゲーム)の表示インタフェースの内容が変化していない場合、サーバは符号化を実行しなくてもよい。推定符号化時間までに新たなレンダリング画像が生成されない場合、符号化も実行されないため、サーバ端末の処理リソースを節約することができる。動的フレームレート符号化は、従来の一定レートのサンプリング及び符号化と組み合わされ、動的なフレームレートを使用することにより、新たに生成されたレンダリング画像のリアルタイム符号化とは異なる処理を実現する。
【００９０】
本出願及び図１１〜図１４の解決策では、H.264符号化モードが、説明のための例として使用されている。実際の適用の中で、サーバは、H.264符号化モードとは異なる他の符号化モード(例えば、H.265符号化モード)を使用することにより、レンダリング画像を符号化してもよい。符号化モードは、この出願の実施形態では限定されない。
【００９１】
ステップ611.端末に復号及び表示させるために符号化画像を端末に送信する。
【００９２】
本出願の実施形態におけるリアルタイム符号化解決策を使用することにより、レンダリング画像が生成される時間とレンダリング画像が符号化される時間との間の時間間隔が効果的に低減できる。実験結果は、関連技術において一定フレームレート符号化を使用する解決策と比較して、本出願における解決策は、画像の各フレームに対して平均16msだけ待ち時間を低減でき、その結果、クラウドゲームのユーザ体験を大幅に改善できることを示している。さらに、本願の実施形態では、シーン内容が変化していない場合、符号化は実行されないため、サーバにより画像符号化を実行することにより引き起こされるリソース消費及びネットワーク伝送トラフィックが効果的に低減できる。
【００９３】
要するに、本出願の実施形態における解決策を使用することにより、サーバは、仮想シーンを生成し、レンダリング対象の画像をキャプチャーし、仮想シーンの表示データが変化した場合にレンダリングを実行することにより、第1のレンダリング画像を取得する。第1のレンダリング画像に対するレンダリングが終了した時点と直近に符号化が実行された時点との間の間隔が特定の閾値以上である場合、第1のレンダリング画像が符号化されて送信されるため、次の一定の符号化サイクルまで待つ必要はなく、画像符号化の適時性が向上し、端末側の画像提示の遅延が低減される。
【００９４】
さらに、本出願の実施形態における解決策を使用することにより、サーバは、仮想シーンの表示インタフェースが変化した場合にのみ、レンダリング対象の画像をキャプチャーしてレンダリングを実行するため、レンダリング及び符号化の不要なステップを低減し、ネットワークリソースの利用率が向上する。
【００９５】
さらに、本出願の実施形態における解決策を使用することにより、第1の時点と第2の時点との間の期間が第1の期間閾値未満であり、第3の時点と第2の時点との間の期間が第2の期間閾値よりも大きい場合、第1のレンダリング画像がバッファリングされる。第1のレンダリング画像は、第4の時点までに第2のレンダリング画像に対するレンダリングが終了していない場合に符号化される。動的フレームレート符号化は、従来の一定レートのサンプリング及び符号化と組み合わされ、動的なフレームレートを使用することにより、新たに生成されたレンダリング画像のリアルタイム符号化とは異なる処理を実現する。
【００９６】
図１５は、例示的な実施形態による仮想シーンのシーン画像を送信するための装置の概略構造図である。仮想シーンのシーン画像を送信するための装置は、図５又は図６に示す実施形態においてサーバにより実行されるステップの全部又は一部を実行するためにサーバにおいて使用されてもよい。仮想シーンのシーン画像を送信するための装置は、
表示対象の画像をレンダリングすることにより、第1のレンダリング画像を取得するように構成されたレンダリングモジュール1501であって、表示対象の画像は、仮想シーンの表示データが変化した場合にデータのキャプチャーにより取得される、レンダリングモジュール1501と、
第1の時点及び第2の時点を取得するように構成された時点取得モジュール1502であって、第1の時点は、第1のレンダリング画像に対するレンダリングが終了した時点であり、第2の時点は、直近に符号化が実行された時点である、時点取得モジュール1502と、
第1の時点と第2の時点との間の期間が第1の期間閾値以上である場合、第1のレンダリング画像を符号化することにより、符号化画像を取得するように構成された符号化モジュール1503と、
端末に復号及び表示させるために符号化画像を端末に送信するように構成された送信モジュール1504と
を含んでもよい。
【００９７】
任意選択で、時点取得モジュール1502は、第3の時点を取得するように更に構成され、第3の時点は、第2のレンダリング画像に対するレンダリングが終了すると推定される時点であり、第2のレンダリング画像は、第1のレンダリング画像の次のレンダリング画像であり、当該装置は、
第1の時点と第2の時点との間の期間が第1の期間閾値未満である場合、第3の時点と第2の時点との間の期間を取得するように構成された期間取得モジュールと、
第3の時点と第2の時点との間の期間が第2の期間閾値よりも大きい場合、第1のレンダリング画像をバッファリングするように構成されたバッファリングモジュールであって、第2の期間閾値は第1の期間閾値よりも大きい、バッファリングモジュールと
を更に含む。
【００９８】
任意選択で、第3の時点が取得される場合、時点取得モジュール1502は、具体的には、
レンダリングされたレンダリング画像のそれぞれのレンダリングが終了した時点を取得し、
レンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と第1の時点とに従って第3の時点を取得する
ように構成される。
【００９９】
任意選択で、第3の時点がレンダリング画像内のそれぞれ2つの隣接するレンダリング画像に対するレンダリングが終了した時点の間の期間と第1の時点とに従って取得される場合、時点取得モジュール1502は、具体的には、以下の式
【０１００】
【数２】
2021513440.tif 000004
により第3の時点Tn+1を計算するように構成され、
Tn+1は第3の時点であり、Tnは第1の時点であり、Tn-iは第1のレンダリング画像の前の第iのフレームの画像に対するレンダリングが終了した時点である。
【０１０１】
任意選択で、符号化モジュール1503は、第1のレンダリング画像がバッファリングされた後に、第4の時点までに第2のレンダリング画像に対するレンダリングが終了していない場合、第1のレンダリング画像を符号化することにより、符号化画像を取得するように更に構成され、第4の時点は第2の時点よりも遅く、第4の時点と第2の時点との間の期間は第2の期間閾値の整数倍である。
【０１０２】
任意選択で、当該装置は、
第3の時点と第2の時点との間の期間が第2の期間閾値以下である場合、第1のレンダリング画像を破棄するように構成された破棄モジュールを更に含む。
【０１０３】
モジュールの機能を実現するプロセスについては、図５又は図６の実施形態における説明を参照してもよい。
【０１０４】
図５及び図６のフローチャートの各ステップは矢印に従って順に示されているが、これらのステップは必ずしも矢印により示される順序に従って実行される必要はないことが理解されるべきである。本出願において明示的に指定されない限り、ステップのシーケンスは厳密には限定されず、ステップは他のシーケンスで実行されてもよい。さらに、図５及び図６のステップの少なくとも一部は、複数のサブステップ又は複数の段階を含んでもよい。サブステップ又は段階は、必ずしも同時に実行される必要はなく、異なる時点に実行されてもよい。サブステップ又は段階は、必ずしも順に実行される必要はなく、他のステップの少なくとも1つの部分又は他のステップ若しくは段階のサブステップと順に実行されてもよい。
【０１０５】
図１６は、例示的な実施形態によるコンピュータデバイスの概略構造図である。コンピュータデバイス1600は、中央処理装置(CPU)1601と、ランダムアクセスメモリ(RAM)1602及び読み取り専用メモリ(ROM)1603を含むシステムメモリ1604と、システムメモリ1604及びCPU1601を接続するシステムバス1605とを含む。コンピュータデバイス1600は、コンピュータ内のコンポーネントの間で情報を伝送するように構成された基本入出力(I/O)システム1606と、オペレーティングシステム1613、アプリケーション1614及び他のプログラムモジュール1615を記憶するように構成された大容量記憶デバイス1607とを更に含む。
【０１０６】
基本I/Oシステム1606は、情報を表示するように構成されたディスプレイ1608と、ユーザにより情報を入力するために使用されるマウス又はキーボードのような入力デバイス1609とを含む。ディスプレイ1608及び入力デバイス1609は共に、システムバス1605に接続された入出力(I/O)コントローラ1610によりCPU1601に接続される。基本I/Oシステム1606は、キーボード、マウス又は電子スタイラスのような複数の他のデバイスからの入力を受け付けて処理するI/Oコントローラ1610を更に含んでもよい。同様に、I/Oコントローラ1610は、表示画面、プリンタ又は他のタイプの出力デバイスに出力を更に提供する。
【０１０７】
大容量記憶デバイス1607は、システムバス1605に接続された大容量記憶コントローラ(図示せず)を使用することによりCPU1601に接続される。大容量記憶デバイス1607及び関連するコンピュータ読み取り可能媒体は、コンピュータデバイス1600のための不揮発性ストレージを提供する。すなわち、大容量記憶デバイス1607は、ハードディスク又はCD-ROMドライブのようなコンピュータ読み取り可能媒体(図示せず)を含んでもよい。
【０１０８】
一般的に、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体と、通信媒体とを含んでもよい。コンピュータ記憶媒体は、コンピュータ読み取可能命令、データ構造、プログラムモジュール又は他のデータのような情報を記憶しており且ついずれかの方法又は技術を使用することにより実現される揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ又は他のソリッドステート記憶技術、CD-ROM、DVD又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気記憶デバイスを含む。明らかに、コンピュータ記憶媒体が、上記のいくつかのタイプに限定されないことは、当業者により認識され得る。システムメモリ1604及び大容量記憶デバイス1607は、一般的にメモリと呼ばれてもよい。
【０１０９】
コンピュータデバイス1600は、システムバス1605に接続されたネットワークインタフェースユニット1611を使用することにより、インターネット又は他のネットワークデバイスに接続されてもよい。
【０１１０】
メモリは、1つ以上のプログラムを更に含む。1つ以上のプログラムがメモリに記憶される。CPU1601は、図５及び図６に示す仮想シーンのシーン画像を送信するための方法を実現するために1つ以上のプログラムを実行する。
【０１１１】
例示的な実施形態では、命令を含む非一時的なコンピュータ読み取り可能記憶媒体、例えば、コンピュータプログラム(命令)を含むメモリが更に提供され、プログラム(命令)は、本出願の各実施形態において仮想シーンのシーン画像を送信するための方法を遂行するために、コンピュータ装置内のプロセッサにより実行されてもよい。例えば、非一時的なコンピュータ読み取り可能記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データメモリデバイス等でもよい。
【０１１２】
当業者は、上記の実施形態における方法のプロセスの全部又は一部が、関連するハードウェアに命令するコンピュータプログラムにより実現されてもよいことを理解し得る。プログラムは、不揮発性コンピュータ読み取り可能記憶媒体に記憶されてもよい。プログラムが実行されると、上記の方法の実施形態のプロセスが実行される。本出願において提供される実施形態で使用されるメモリ、ストレージ、データベース又は他の媒体へのいずれかの言及は、不揮発性及び/又は揮発性メモリを含んでもよい。不揮発性メモリは、ROM、プログラム可能ROM(PROM)、電気的プログラム可能ROM(EPROM)、電気的消去可能プログラム可能ROM(EEPROM)又はフラッシュを含んでもよい。揮発性メモリは、RAM又は外部高速キャッシュを含んでもよい。限定ではなく例示として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張SDRAM(ESDRAM)、シンクロナスリンク(Synchlink)DRAM(SLDRAM)、ランバスダイレクトRAM(RDRAM)、ダイレクトランバスダイナミックRAM(DRDRAM)及びランバスダイナミックRAM(DRAM)のような様々な形式で利用可能である。
【０１１３】
明細書を検討して本開示を実現した後に、当業者は、本出願の他の実現方式を容易に考えることができる。本出願は、本出願の一般的な原理に従った本出願のいずれかの変形、使用又は適合をカバーすることを意図しており、当該技術分野における周知の知識及び従来の技術的手段を含み、本出願においては開示されていない。本明細書及び実施形態は、単に例として考えられ、本出願の実際の範囲及び真意は、以下の特許請求の範囲により示される。
【０１１４】
本出願は、上記に記載されており、添付の図面に示されている正確な構造に限定されず、本出願の範囲から逸脱することなく、修正及び変更が行われてもよいことが理解されるべきである。本出願の範囲は、添付の特許請求の範囲によってのみ限定される。
【図１】
2021513440.tif 000009
【図２】
2021513440.tif 000010
【図３】
2021513440.tif 000011
【図４】
2021513440.tif 000012
【図５】
2021513440.tif 000013
【図６】
2021513440.tif 000014
【図７】
2021513440.tif 000015
【図８】
2021513440.tif 000016
【図９】
2021513440.tif 000017
【図１０】
2021513440.tif 000018
【図１１】
2021513440.tif 000019
【図１２】
2021513440.tif 000020
【図１３】
2021513440.tif 000021
【図１４】
2021513440.tif 000022
【図１５】
2021513440.tif 000023
【図１６】
2021513440.tif 000024
【国際調査報告】
2021513440.tif 000025
2021513440.tif 000026
2021513440.tif 000027
2021513440.tif 000028