JP2024517915A - データ処理方法、装置、コンピュータ機器及びコンピュータプログラム - Google Patents

データ処理方法、装置、コンピュータ機器及びコンピュータプログラム Download PDF

Info

Publication number
JP2024517915A
JP2024517915A JP2023569620A JP2023569620A JP2024517915A JP 2024517915 A JP2024517915 A JP 2024517915A JP 2023569620 A JP2023569620 A JP 2023569620A JP 2023569620 A JP2023569620 A JP 2023569620A JP 2024517915 A JP2024517915 A JP 2024517915A
Authority
JP
Japan
Prior art keywords
screen frame
resolution
screen
adjusted
code stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023569620A
Other languages
English (en)
Inventor
ウー,ジアピン
Original Assignee
テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド filed Critical テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Publication of JP2024517915A publication Critical patent/JP2024517915A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本発明はデータ処理方法、コンピュータ機器及び記憶媒体を開示する。該方法は、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出するステップ(ステップS101)と、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得するステップであって、第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い、ステップ(ステップS102)と、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得するステップ(ステップS103)と、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信するステップであって、第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる、ステップ(ステップS104)と、を含む。【選択図】図3

Description

本発明は、2021年8月24日に出願した出願番号が202110974007.3であり、発明の名称が「データ処理方法、コンピュータ機器及び記憶媒体」である中国特許出願に基づく優先権を主張し、その全ての内容を参照により本発明に援用する。
本発明は、データ処理の技術分野に関し、特にデータ処理方法、装置、コンピュータ機器、記憶媒体及びコンピュータプログラム製品に関する。
アプリケーションクライアントに表示される画面フレームは、通常、アプリケーションクライアントのアプリケーションサーバで符号化により得られる。アプリケーションクライアントにおいてシーン切り替え(例えば、ある応用シーンから別の応用シーンへの切り替え)が発生する場合、アプリケーションサーバで符号化により得られたシーン切り替え後の画面フレームのデータ量は通常非常に大きく、この際に、アプリケーションサーバが該画面フレームのコードストリームをアプリケーションクライアントに直接伝送すると、コードストリームの伝送速度が遅くなり、アプリケーションクライアントが該画面フレームを表示する時にタイムラグが発生する。そのため、どのようにコードストリームの伝送速度を向上させて、アプリケーションクライアントが画面フレームを表示する時のスムーズさを向上させるかは、注目されている課題である。
本発明の各実施例は、データ処理方法、装置、コンピュータ機器、記憶媒体及びコンピュータプログラム製品を提供する。
本発明の1つの態様では、アプリケーションサーバが実行するデータ処理方法であって、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、前記第1の画面フレームのデータ量を検出するステップと、前記第1の画面フレームのデータ量がデータ量閾値以上である場合、前記第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得するステップであって、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、ステップと、前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの画面フレームコードストリームを取得するステップと、前記アプリケーションクライアントが前記画面フレームコードストリームに基づいて第2の画面フレームを表示するように、前記画面フレームコードストリームを前記アプリケーションクライアントに送信するステップであって、前記第2の画面フレームは、前記アプリケーションクライアントが前記画面フレームコードストリームを復号して前記第1の調整画面フレームを取得した後、前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整して得られる、ステップと、を含む、方法を提供する。
本発明の1つの態様では、アプリケーションクライアントが実行するデータ処理方法であって、アプリケーションサーバにより送信された画面フレームコードストリームを取得するステップであって、前記画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、前記第1の調整画面フレームは、前記アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、前記第1の画面フレームのデータ量はデータ量閾値以上であり、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、ステップと、前記画面フレームコードストリームを復号し、前記第1の調整画面フレームを取得するステップと、前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整し、第2の画面フレームを取得し、前記第2の画面フレームを表示するステップと、を含む、方法を提供する。
本発明の1つの態様では、データ処理装置であって、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、前記第1の画面フレームのデータ量を検出する画面符号化モジュールと、前記第1の画面フレームのデータ量がデータ量閾値以上である場合、前記第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する縮小モジュールであって、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、縮小モジュールと、前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの画面フレームコードストリームを取得するコードストリーム符号化モジュールと、前記アプリケーションクライアントが前記画面フレームコードストリームに基づいて第2の画面フレームを表示するように、前記画面フレームコードストリームを前記アプリケーションクライアントに送信する送信モジュールであって、前記第2の画面フレームは、前記アプリケーションクライアントが前記画面フレームコードストリームを復号して前記第1の調整画面フレームを取得した後、前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整して得られる、送信モジュールと、を含む、装置を提供する。
本発明の1つの態様では、データ処理装置であって、アプリケーションサーバにより送信された画面フレームコードストリームを取得するコードストリーム取得モジュールであって、前記画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、前記第1の調整画面フレームは、アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、前記第1の画面フレームのデータ量はデータ量閾値以上であり、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、コードストリーム取得モジュールと、前記画面フレームコードストリームを復号し、前記第1の調整画面フレームを取得するコードストリーム復号モジュールと、前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整し、第2の画面フレームを取得し、前記第2の画面フレームを表示する解像度調整モジュールと、を含む、装置を提供する。
本発明の1つの態様では、コンピュータ読み取り可能な命令が記憶されたメモリと、1つ又は複数のプロセッサとを含むコンピュータ機器であって、前記コンピュータ読み取り可能な命令が前記1つ又は複数のプロセッサにより実行される際に、前記1つ又は複数のプロセッサに上記の何れかの態様に記載のデータ処理方法のステップを実行させる、コンピュータ機器を提供する。
本発明の1つの態様では、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムはプログラム命令を含み、該プログラム命令は、プロセッサにより実行される際に、該プロセッサに上記の何れかの態様に記載のデータ処理方法を実行させる、記憶媒体を提供する。
本発明の1つの態様では、コンピュータ読み取り可能な命令を含むコンピュータプログラム製品又はコンピュータプログラムであって、前記コンピュータ読み取り可能な命令は、コンピュータ読み取り可能な記憶媒体に記憶されており、コンピュータ機器の1つ又は複数のプロセッサは、上記の何れかの態様に記載のデータ処理方法を実行するように、コンピュータ読み取り可能な記憶媒体から該コンピュータ読み取り可能な命令を読み取って実行する、コンピュータプログラム製品又はコンピュータプログラムを提供する。
本発明の1つ又は複数の実施形態の詳細は、以下の図面及び説明において提示される。本発明の他の特徴、目的及び利点は、明細書、図面及び特許請求の範囲から明らかになる。
本発明の実施例に係る技術をより明確に説明するために、以下は、実施例の説明に必要な図面を簡単に紹介する。なお、以下の説明における図面は、単なる本発明の幾つかの実施例であり、当業者にとって、創造的な作業を行うことなく、これらの図面に基づいて他の図面を得ることができる。
本発明の実施例に係るネットワークアーキテクチャの構成の概略図である。 本発明に係る画面フレームの符号化のシナリオの一例の概略図である。 本発明に係るデータ処理方法の流れの一例の概略図である。 本発明に係るシーン切り替えの画面の一例の概略図である。 本発明に係る画面フレームの符号化の原理の一例の概略図である。 本発明に係る画面フレームの符号化のシナリオの一例の概略図である。 本発明に係る画面フレームの符号化のシナリオの一例の概略図である。 本発明に係る画面フレームの符号化の流れの一例の概略図である。 本発明に係るデータ処理方法の流れの一例の概略図である。 本発明に係る画面フレームの縮小のシナリオの一例の概略図である。 本発明に係るデータ処理方法の流れの一例の概略図である。 本発明に係る画面フレームの復号のシナリオの一例の概略図である。 本発明に係る画面フレームの復号の流れの一例の概略図である。 本発明に係るデータ処理装置の構成の一例の概略図である。 本発明に係るデータ処理装置の構成の一例の概略図である。 本発明に係るコンピュータ機器の構成の一例の概略図である。
以下は、本発明の実施例における図面を参照しながら、本発明の実施例における技術を明確、且つ完全に説明するが、説明される実施例は、単なる本発明の実施例の一部であり、全ての実施例ではない。本発明の実施例に基づいて、当業者が創造的な労働を行わずに取得した他の全ての実施例は、本発明の範囲内のものである。
図1は、本発明の実施例に係るネットワークアーキテクチャの構成の概略図である。図1に示すように、ネットワークアーキテクチャは、サーバ200及び端末機器クラスタ100を含んでもよい。端末機器クラスタ100は、1つ又は複数の端末機器を含んでもよく、ここで、端末機器の数に限定されない。図1に示すように、端末機器クラスタ100における各端末機器は、各端末機器がネットワーク接続を介してサーバ200との間でデータをやり取りすることができるように、サーバ200とネットワークを介して接続されてもよい。
図1に示すサーバ200は、独立した物理サーバであってもよいし、複数の物理サーバにより構成されたサーバクラスタ又は分散型システムであってもよいし、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、CDN、並びにビッグデータ及び人工知能プラットフォームなどの基礎クラウドコンピューティングサービスを提供するクラウドサーバであってもよい。端末機器は、デスクトップコンピュータ、ノートブックコンピュータ、スマートフォン、タブレットコンピュータ、IoTデバイス及びポータブルウェアラブルデバイスであってもよい。IoTデバイスは、スマートスピーカー、スマートテレビ、スマートエアコン、スマート車載デバイスなどであってもよい。ポータブルウェアラブルデバイスは、スマートウォッチ、スマートバンド、ヘッドセットなどであってもよい。
ここで、サーバ200は、クラウドゲームクライアントのバックグラウンドサーバであってもよいため、サーバ200をクラウドゲームサーバと称してもよく、端末機器(端末機器クラスタにおける任意の1つの端末機器であってもよい)にクラウドゲームクライアントが含まれてもよい。サーバ200は、オペレーティングシステムコンテナにおいてゲームをレンダリングしてゲーム画面フレームを取得した後、ゲーム画面フレームに対してビデオ符号化を行い、ゲーム画面フレームのコードストリーム(バイナリコード)取得してもよい。そして、サーバ200は、符号化により得られたコードストリームをネットワークを介して端末機器に送信してもよく、端末機器は、クラウドゲームクライアントを介して該コードストリームを復号してゲーム画面フレームを取得してもよく、復号により得られたゲーム画面フレームをスクリーンで表示してもよい。ここで、ゲーム画面フレームは、ゲームビデオにおける各画面フレームであり、ゲーム画面フレームに対する符号化及び復号は、ゲームビデオに対する符号化及び復号である。
図2は、本発明に係る画面フレームの符号化のシナリオの一例の概略図である。図2に示すように、クラウドゲームサーバ(例えば上記のサーバ200)は、符号化によりクラウドゲームクライアントの第1の画面フレームを取得した場合、該第1の画面フレームのデータ量を検出してもよい。該第1の画面フレームは、クラウドゲームクライアントにおける任意の1つのフレーム画面であってもよい。言い換えれば、クラウドゲームサーバは、符号化によりクラウドゲームクライアントの1つの画面フレームを取得した度に、符号化により取得された画面フレームのデータ量を検出してもよい。
クラウドゲームサーバにより検出された第1の画面フレームのデータ量がデータ量閾値(実際の応用シナリオに応じて設定されてもよい)よりも小さい場合、クラウドゲームサーバは、直接に該第1の画面フレームを符号化し、該第1の画面フレームの元のコードストリームを取得してもよい(枠100aで示す)。クラウドゲームサーバは、該第1の画面フレームの元のコードストリームを端末機器(上記の端末機器クラスタ100における任意の1つの端末機器であってもよい)に送信してもよい。そして、端末機器は、該コードストリームを復号して第1の画面フレームを取得した後、フロントエンドで該第1の画面フレームを表示してもよい(枠101aで示す)。
クラウドゲームサーバにより検出された第1の画面フレームのデータ量がデータ量閾値以上である場合、通常、該第1の画面フレームはシーン切り替えの画面フレームであり、クラウドゲームサーバは、該第1の画面フレームに対して画面縮小調整を行ってもよい(枠102aで示す)。画面フレームに対する画面縮小調整は、画面フレームの解像度を低下させることを意味してもよい。そして、クラウドゲームサーバは、画面縮小調整が行われた第1の画面フレームを符号化し、対応するコードストリームを取得してもよい(枠103aで示す)。該コードストリームのデータ量は、第1の画面フレームを直接符号化して得られたコードストリームのデータ量よりも小さい。クラウドゲームサーバは、端末機器が取得したコードストリームを復号して、画面縮小調整が行われた第1の画面フレームを取得できるように、画面縮小調整が行われた第1の画面フレームを符号化して得られたコードストリームを端末機器に送信してもよい。そして、端末機器は、該画面縮小調整が行われた第1の画面フレームに対して超解像調整を行い、解像度が第1の画面フレームと同一である画面フレームを取得し、フロントエンドで該画面フレームを表示してもよい。該画面フレームの解像度は第1の画面フレームの解像度と同一であるため、この際に表示された該画面フレームの画質は第1の画面フレームと比べて明らかな変化がない。
本発明に係る方法によれば、シーン切り替えの画面フレームのデータ量は通常比較的に大きいため、シーン切り替えのデータ量が比較的に大きい画面フレームに対して、まず該画面フレームに対して画面縮小調整を行ってから符号化してもよい。この際に符号化により得られたコードストリームのデータ量は、元の画面フレームを符号化して得られたコードストリームのデータ量よりも遥かに少ない。このため、クラウドゲームサーバがこの時に符号化により得られたコードストリームをクラウドゲームクライアントに送信する時の速度も速くなるため、クラウドゲームクライアントは、より速い速度で対応する画面フレーム(例えば、画面縮小調整が行われた第1の画面フレームに対して超解像調整を行った画面フレーム)を表示することができ、ユーザに画面フレーム表示のタイムラグを感じさせることがない。
図3は、本発明に係るデータ処理方法の流れの一例の概略図である。図3に示すように、該方法は、以下のステップを含んでもよい。
ステップS101:符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出する。
好ましくは、本発明の実施例に係る実行主体は、アプリケーションサーバ(例えば、上記のサーバ200のように、該アプリケーションサーバは、上記のクラウドゲームサーバであってもよい)であってもよい。該アプリケーションサーバは、アプリケーションクライアントのバックグラウンドサーバであってもよい。該アプリケーションクライアントは、端末機器(例えば、上記の端末機器クラスタ100における端末機器と同様に、該アプリケーションクライアントは、上記のクラウドゲームクライアントであってもよい)に存在してもよく、該アプリケーションクライアントは、端末機器内にインストールされた1つのAPP(アプリケーションプログラム)であってもよく、或いは、該アプリケーションクライアントは、端末機器におけるウェブクライアントであってもよいが、これらに限定されない。なお、以下のアプリケーションクライアントが実行する動作は、所在する端末機器により実行されてもよく、上記のアプリケーションサーバの数は、1つであってもよいし、複数であってもよく、複数である場合、複数のアプリケーションサーバは、分散型データ処理システムを構成して、本発明の実施例に係る方法を分散的に実行してもよい。
アプリケーションクライアントに表示される各画面フレームは、アプリケーションサーバにより符号化されたものであってもよく、第1の画面フレームは、アプリケーションサーバにより符号化された任意の1つの画面フレームであってもよい。アプリケーションサーバは、符号化により第1の画面フレームを取得した場合、該第1の画面フレームのデータ量(単位はバイトであってもよい)を検出してもよい。言い換えれば、アプリケーションサーバは、符号化によりアプリケーションクライアントの1つの画面フレームを取得した度に、符号化により取得された画面フレームのデータ量を検出してもよい。1つの画面フレームは1つの画像フレームであってもよい。
なお、アプリケーションクライアントに表示される各画面フレームは、ユーザのユーザ操作に応じて表示されてもよく、例えば、ユーザはアプリケーションクライアントにおけるボタンをクリックして対応する画面フレームに切り替えて表示するようにしてもよい。或いは、アプリケーションクライアントは、ユーザがクラウドゲームクライアントにおいてクラウドゲームをプレイすることをサポートするクラウドゲームクライアント(ゲームクライアントと称されてもよい)であってもよい。従って、アプリケーションクライアントにおける各画面フレームは、ユーザがクラウドゲームをプレイする際にユーザの関連するゲーム操作に応じて表示されるゲーム画面であってもよく、第1の画面フレームは、該クラウドゲームクライアントにおけるゲーム画面フレームであってもよい。そして、アプリケーションサーバは、ユーザのアプリケーションクライアントにおけるユーザ操作を取得し、ユーザ操作により表示要求された画面フレームを符号化し、符号化により取得された画面フレームをコードストリームの形式でアプリケーションクライアントに提供し、アプリケーションクライアントは、取得されたコードストリームを復号して対応する画面フレームを表示してもよい。
ステップS102:第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い。
好ましくは、アプリケーションサーバは、検出された第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行ってもよい。なお、符号化されたアプリケーションクライアントの幾つかのシーン切り替え時の画面フレームについて、該画面フレームのデータ量は通常該データ量閾値よりも大きい又は等しいため、データ量閾値よりも大きい又は等しい画面フレームに対して画面縮小調整を行うことによって、後で取得された該画面フレームに対応するコードストリームのデータ量を低減させることができ、アプリケーションサーバが該画面フレームに対応するコードストリームをアプリケーションクライアントに伝送する時の伝送速度を加速させることができるため、アプリケーションクライアントがより小さい遅延でシーン切り替え時の画面フレームを表示する(具体的には、タイムラグなしで表示する)ことを実現することができる。該画面フレームは第1の画面フレームであってもよく、該画面フレームを表示することは該第1の画面フレームに対応する第2の画面フレームを表示することを意味してもよい。該第2の画面フレームは第1の画面フレームと同様な画面内容を有するが、該第2の画面フレームは、第1のフレームに対応するデータ量が減少した後のコードストリームを復号して得られたものであり、具体的には以下のステップS103の関連説明を参照してもよい。
好ましくは、上記のアプリケーションクライアントはゲームクライアントであってもよい。アプリケーションサーバは、検出された第1の画面フレームのデータ量がデータ量閾値以上であり、且つ第1の画面フレームがゲームクライアントにおけるシーン切り替え時のフレームである場合、第1の画面フレームに対して画面縮小調整を行ってもよい。
ここで、アプリケーションクライアントの画面フレームaからアプリケーションクライアントの画面フレームbに切り替える際に、画面フレームaの画面内容と画面フレームbの画面内容とが大きく異なる(例えば、画面フレームaがゲームにおけるゲーム対戦画面に属し、画面フレームbがゲーム終了後のゲーム精算画面に属する)場合、画面フレームbがアプリケーションクライアントがシーン切り替えを行う時の画面フレームであると判断してもよい。言い換えれば、シーン切り替えの画面フレームは、該画面フレームの直前の画面フレームと比較して、該画面フレームの画面内容が属する内容タイプ(又は内容シーン)が変化したものを意味してもよい。また、例えば、ゲームクライアントにおいてシーン切り替えを行うことは、ゲームクライアントのゲームログインのシーンからゲームクライアントのゲームログイン後のシーンに切り替えることを意味してもよい。この場合、切り替え後の画面フレームと切り替え前の画面フレームとの差異が極めて大きいため、切り替え後の画面フレームは上記の第1の画面フレームであってもよく、シーン切り替えが発生した場合、シーン切り替え後の第1の画面フレームのデータ量が通常大きくなる(例えば、データ量閾値よりも大きい)。
図4は、本発明に係るシーン切り替えの画面の一例の概略図である。図4に示すように、画面フレーム100bはスキャンログインインターフェースの画面フレームであり、画面フレーム101bはゲームログインインターフェースの画面フレームであり、画面フレーム100bから画面フレーム101bにジャンプ表示されると、画面フレーム101bはシーン切り替えを行う時の画面フレームに属する。
このように、アプリケーションクライアントがゲームクライアントであり、第1の画面フレームがゲームクライアントのシーン切り替え時のゲーム画面フレームに属し、且つ第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。ゲームクライアントがシーン切り替えを行う際に、第1の画面フレームのデータ量が大きすぎる場合、第1の画面フレームに対して画面縮小調整を行って第1の調整画面フレームを取得してから符号化を行い、第1の調整画面フレームの画面フレームコードストリームを取得してもよい。該画面フレームコードストリームのデータ量は、直接に第1の画面フレームを符号化して得られたコードストリームのデータ量よりも大幅に減少するため、アプリケーションサーバはより速い速度で該画面フレームコードストリームをゲームクライアントに伝送することができ、さらにゲームクライアントはより速い速度で第1の画面フレームを代替するために用いられる第2の画面フレームを表示することができるため、画面フレームの表示をより滑らかでより加速させることができ、ユーザに画面フレームを表示する時のタイムラグを感じさせることはない。
なお、上記のデータ量閾値は、実際の適用シナリオに応じて設定されてもよく、これに限定されない。以下は、データ量閾値を取得する方法の一例を説明する。
アプリケーションサーバは、アプリケーションクライアントについての単位伝送データ量と単位伝送フレーム数を取得してもよい。該単位伝送データ量は、アプリケーションクライアントについての1秒当たりの伝送ビット数を表し、該単位伝送データ量はMbpsとして表されてもよい。該単位伝送フレーム数は、アプリケーションクライアントについての1秒当たりの伝送フレーム数を表し、該単位伝送フレーム数はfpsとして表されてもよい。
従って、アプリケーションサーバは、上記の単位伝送データ量及び単位伝送フレーム数に基づいて平均フレームデータ量を取得してもよい。該平均フレームデータ量は、一般に伝送される1つの画面フレームのデータ量を表してもよく、例えば、単位伝送データ量を単位伝送フレーム数で除算することで平均フレームデータ量を取得してもよい。なお、一般的なユーザは1つ又は2つのフレームのジッタをあまり感じないが、3つのフレームを超えると、ユーザは視覚的に比較的に大きなタイムラグを感じるため、データ量閾値を平均フレームデータ量の3倍に設定してもよい。
例えば、通常、単位伝送データ量は、3Mbpsに等しくてもよく、単位伝送フレーム数は、通常、30fpsに等しくてもよい。従って、平均フレームデータ量は、通常、3Mbps/30fps=100kbits(100kビット)=12.5kbytes(即ち、12.5kバイト)に等しくてもよい。ここで、3Mは、3000kを表し、kは、千(1000)を表す。従って、データ量閾値は、12.5kbytes*3=37.5kbytes(即ち、37.5kバイト)に等しくてもよい。
このように、アプリケーションクライアントの画面フレームについての単位伝送データ量及び単位伝送フレーム数を取得し、単位伝送データ量及び単位伝送フレーム数に基づいて平均フレームデータ量を決定し、平均フレームデータ量に基づいてデータ量閾値を決定する。なお、異なるアプリケーションクライアントは、それぞれ対応する単位伝送データ量及び単位伝送フレーム数を有し、それに応じて、異なるアプリケーションクライアントは、それぞれ対応する平均フレームデータ量を有し、従って、異なるアプリケーションクライアントは、それぞれ対応するデータ量閾値を有する。このように、異なるアプリケーションクライアントに対応するデータ量閾値に基づいて異なるアプリケーションクライアントのそれぞれに対応する画面縮小調整を行う必要のある画面フレームを決定することによって、異なるアプリケーションクライアント間に差別化の画面フレーム符号化を実現し、アプリケーションクライアントに適応する画面フレーム符号化を実現することができるため、アプリケーションクライアントの表示画面のスムーズさ、速度を向上させることができ、ユーザに画面フレームを表示する時のタイムラグを感じさせることはない。
従って、第1の画面フレームのデータ量がデータ量閾値以上である場合、アプリケーションサーバは、第1の画面フレームに対して画面縮小調整を行ってもよい。画面縮小調整が行われた第1の画面フレームを第1の調整画面フレームと称してもよく、画面フレームに対する縮小調整は、画面フレームの解像度を縮小することを意味してもよい。例えば、第1の画面フレームの解像度を第1の解像度とし、第1の調整画面フレームの解像度を第2の解像度とし、第2の解像度は第1の解像度よりも低い。例えば、第1の解像度は1280*720であり、第2の解像度は640*360であり、第1の解像度は第2の解像度の4倍であり、第2の解像度は第1の解像度の1/4である。ここで、第1の画面フレームに対する画面縮小調整の具体的なプロセスは、後述する図9の対応する実施例における説明を参照してもよい。
一方、第1の画面フレームのデータ量が上記のデータ量閾値よりも小さい場合、第1の画面フレームに対して画面縮小調整を行わなくてもよい。
ステップS103:第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得する。
好ましくは、アプリケーションサーバは、上記の第1の調整画面フレームを符号化して、第1の調整画面フレームの画面フレームコードストリーム(コードストリームと略称してもよい)を取得してもよい。該コードストリームの単位はバイト又はビットであるため、該コードストリームはバイトストリーム又はビットストリームと称されてもよい。
ここで、第1の画面フレームに対する画面縮小調整は、通常、第1の画面フレームに対する横方向の縮小比率と縦方向の縮小比率(具体的には、以下の図9の対応する実施例の説明を参照してもよい)に基づいて縮小を行うことである。第1の調整画面フレームの画面フレームコードストリームは、該横方向の縮小比率と縦方向の縮小比率をさらに含んでもよい。また、該画面フレームコードストリームは、縮小フラグ(即ち、縮小flag)をさらに含んでもよく、該縮小フラグは、第1の調整画面フレームが画面縮小調整されたものであることを示す。画面縮小調整されていない画面フレームのコードストリームであれば、該縮小フラグが含まれなくてもよい。上記の第1の調整画面フレームの画面フレームコードストリームに含まれる横方向の縮小比率、縦方向の縮小比率及び縮小フラグは、全てSEI情報(補足拡張情報)と称されてもよい。
ここで、アプリケーションサーバが第1の調整画面フレームを符号化する具体的なプロセスは、以下のようなものであってもよい。
アプリケーションサーバは、上記の第1の解像度(例えば1280*720)の空白画面フレームを取得してもよい。アプリケーションサーバは、第1の調整画面フレームを該空白画面フレームにコピーしてもよく、例えば、該空白画面フレームの左上隅にコピーしてもよく、第1の調整画面フレームがコピーされた空白画面フレームを第1のコピー画面フレームと称してもよい。第1の調整画面フレームの第2の解像度(例えば640*360)は第1の解像度よりも低いため、第1の調整画面フレームを空白画面フレームにコピーした後、第1のコピー画面フレームは一部の空白領域をさらに含み、該一部の空白領域の画素値は、全て0に等しくてもよい。一方、第1のコピー画面フレームの空白部分でない領域の画素値は、第1の調整画面フレームに含まれる画素値であってもよい。
なお、本発明では、第1の調整画面フレームを空白画面フレームにコピーし、第1のコピー画面フレームを取得した後、該第1のコピー画面フレームを符号化することによって、第1の調整画面フレームの符号化を実現する理由は、以下の通りである。アプリケーションサーバは、エンコーダにより画面フレームを符号化して画面フレームのコードストリームを取得することができると共に、データ量がデータ量閾値よりも小さい画面フレーム(以下は、通常画面フレームと称してもよい)について、画面縮小調整を行う必要がないため、データ量がデータ量閾値よりも小さい通常画面フレームをエンコーダにより直接符号化することで、該通常画面フレームに対応するコードストリームを得ることができる。
一方、データ量がデータ量閾値以上の画面フレーム(例えば、上記の第1の画面フレーム)について、画面縮小調整が必要であり、その際に得られた画面縮小調整が行われた画面フレーム(例えば、上記の第1の調整画面フレーム)のサイズ(例えば、第2の解像度のサイズ)はエンコーダの符号化規格(該符号化規格は、第1の解像度のサイズの画面フレームを符号化するための規格を意味してもよい)に適合しない。このため、第1の調整画面フレームを空白画面フレームにコピーして得られた第1のコピー画面フレームは、第1の調整画面フレームのサイズを元のサイズ(即ち、第1の解像度のサイズ)に戻すように調整した画面フレームであると理解してもよい。この場合、該第1のコピー画面フレームのサイズは通常の画面フレームのサイズと同一であり、該第1のコピー画面フレームのサイズはエンコーダの符号化規格に適合するため、エンコーダにより該第1のコピー画面フレームを直接符号化して、第1の調整画面フレームの符号化を実現することができる。このように、第1の調整画面フレームを空白画面フレームにコピーしてから符号化することによって、エンコーダを再構成する必要がなく、エンコーダを再構成することによる技術的な問題とリソースの占用を回避することができる。
そして、アプリケーションサーバは、第1のコピー画面フレームを符号化して、上記の第1の調整画面フレームの画面フレームコードストリームを取得してもよい。
なお、上記の第1の画面フレームに対して画面縮小調整を行って得られた第1のコピー画面フレームは、第1の画面フレームに比べてサイズが変わらない(第1の解像度である)が、第1の画面フレームに比べてデータ量が大幅に減少している。例えば、第2の解像度が第1の解像度の1/4であれば、第1のコピー画面フレームのうちの有効なデータは1/4のみであり、他の3/4のデータは無効なデータ(例えば0に等しい画素値)であり、言い換えれば、第1のコピー画面フレームのデータ量は、第1の画面フレームのデータ量の1/4である。
上記の第1のコピー画面フレームを取得した後、アプリケーションサーバは、アプリケーションクライアントの第1の画面フレームの直前の画面フレームを取得してもよい。該直前の画面フレームは、何れもアプリケーションサーバによる符号化により取得され、アプリケーションサーバは、アプリケーションクライアントでなく、バックグラウンドから該直前の画面フレームを取得する。該直前の画面フレームは、第1の画面フレームを表示する前にアプリケーションクライアントに表示する最後の画面フレームであり、第1の画面フレームの直前の画面フレームは第1の画面フレームの参照画面フレームと称されてもよい。アプリケーションサーバは、上記の第1の画面フレームと同様な原理を採用して第1の画面フレームの参照画面フレームに対して画面縮小調整を行ってもよく、画面縮小調整が行われた第1の画面フレームの参照画面フレームは、第2の調整画面フレームと称されてもよい。
同様に、アプリケーションサーバは、該第2の調整画面フレームを上記の空白画面フレームにコピーしてもよく、第2の調整画面フレームがコピーされた空白画面フレームは、第2のコピー画面フレームと称されてもよい。アプリケーションサーバは、該第2のコピー画面フレームを第1のコピー画面フレームの参照画面フレームとし、さらに該第2のコピー画面フレームに基づいて第1のコピー画面フレームを符号化して、該第1の調整画面フレームの画面フレームコードストリームを取得してもよい。
なお、通常、1つの画面フレームを符号化する際に、該画面フレームの直前の画面フレーム(即ち、参照フレーム)を参照して符号化を行う。従って、アプリケーションサーバは、該第1のコピー画面フレームと第2のコピー画面フレームとをエンコーダに入力する(エンコーダは、自身の符号化ポリシーに応じて、第2のコピー画面フレームにより第1のコピー画面フレームにおける幾つかの画像ブロックにフレーム内符号化を適用し、或いは幾つかの画像ブロックにフレーム間符号化を適用することを選択してもよい)ことによって、第2のコピー画面フレームにより第1のコピー画面フレームを符号化して、第1の調整画面フレームの画面フレームコードストリーム(第1のコピー画面フレームの画面フレームコードストリームと称されてもよい)を取得することができる。なお、第1の画面フレームを符号化するためのコードストリームの代わりに、該画面フレームコードストリームを使用してもよく、該画面フレームコードストリームのデータ量は、第1の画面フレームを直接符号化するためのコードストリームのデータ量よりも遥かに少ない。本発明では、H264(符号化規格)又はH265(符号化規格)を用いて画面フレームを符号化して画面フレームのコードストリームを取得してもよく、該コードストリームは符号化により得られたバイナリデータである。
このように、アプリケーションクライアントの第1の画面フレームの直前の画面フレームを第1の画面フレームの参照画面フレームとして取得し、第1の画面フレームの参照画面フレームに対して画面縮小調整を行い、第2の調整画面フレームを取得し、第2の調整画面フレームを空白画面フレームにコピーし、第2のコピー画面フレームを取得し、第2のコピー画面フレームに基づいて第1のコピー画面フレームを符号化し、画面フレームコードストリームを取得する。なお、第1のコピー画面フレームをフレーム間符号化方式で符号化してもよい。フレーム間符号化を行う際に、第1の画面フレームの直前の画面フレームを第1の画面フレームの参照画面フレームとし、第1の画面フレームに基づいて第1のコピー画面フレームを生成する方法を参照し、参照画面フレームに基づいて第2のコピー画面フレームを生成することによって、第2のコピー画面フレームに基づいて第1のコピー画面フレームを符号化して画面フレームコードストリームを取得することができる。
一方、第1の画面フレームのデータ量が該データ量閾値よりも低い場合、第1の画面フレームを直接符号化して第1の画面フレームのコードストリームを取得してもよい。
図5は、本発明に係る画面フレームの符号化の原理の一例の概略図である。図5に示すように、現在のフレーム(例えば、上記の第1のコピー画面フレーム)の参照フレーム(上記の第2のコピー画面フレーム)において、現在のフレームにおける各マクロブロック(即ち、画像ブロック)に一致するマクロブロックを検索し、現在のフレームにおけるマクロブロックの予測ブロックを取得してもよい。
そして、アプリケーションサーバは、現在のフレームにおける各マクロブロック及び該各マクロブロックの予測ブロックから、対応する残差(マクロブロックとその予測ブロックを減算して得られてもよい)を取得してもよい。そして、該残差について変換(信号の周波数領域への変換)→量子化(重要でない情報の破棄)→並べ替え(低周波部分を集中させ、高周波部分を集中させる)→エントロピー符号化(バイナリストリームへの符号化)を行うことによって、符号化されたコードストリーム(例えば、上記の第1の調整画面フレームの画面フレームコードストリーム)を取得してもよい。
そして、アプリケーションサーバは、上記の予測ブロック、残差及び量子化の結果から現在のフレームを再構築し、再構築された現在のフレーム(再構築された画面フレーム)を直後のフレームの参照フレーム(参照画面フレーム)としてもよい。
ステップS104:アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。
好ましくは、アプリケーションサーバは、上記の符号化により得られた第1の調整画面フレームの画面フレームコードストリームをアプリケーションクライアントに送信してもよい。そして、アプリケーションクライアントは、該画面フレームコードストリームに基づいて第2の画面フレームを表示してもよい。例えば、アプリケーションクライアントは、デコーダにより該画面フレームのコードストリームを復号し、上記第1のコピー画面フレームを取得してもよい。アプリケーションクライアントは、該第1のコピー画面フレームから上記第1の調整画面フレームを抽出してもよい。そして、アプリケーションクライアントは、超解像技術により該第1の調整画面フレームに対して超解像処理を行ってもよく、即ち、該第1の調整画面フレームの解像度を第2の解像度から第1の解像度に戻すように調整してもよい。超解像調整が行われた第1の調整画面フレームは、第2の画面フレームと称されてもよい。アプリケーションクライアントは、アプリケーションインターフェースに該第2の画面フレームを表示してもよい。なお、アプリケーションクライアントにより表示された第2の画面フレームは、第1の画面フレームの代わりに表示されるフレームであり、第2の画面フレームと第1の画面フレームは、同一の画面内容及び解像度を有する。
図6は、本発明に係る画面フレームの符号化のシナリオの一例の概略図である。図6に示すように、現在のフレーム102cは上記第1の画面フレームであってもよく、直前のフレーム(即ち、参照フレーム100c)は第1の画面フレームの参照画面フレームであってもよい。現在のフレーム102cのデータ量がデータ量閾値以上である場合、アプリケーションサーバは、参照フレーム100cを縮小して空白画面フレームにコピーし、上記第2のコピー画面フレーム101cを取得してもよい。そして、アプリケーションサーバは、現在のフレーム102cを縮小して空白画面フレームにコピーし、上記第1のコピー画面フレーム103cを取得してもよい。そして、アプリケーションサーバは、第2のコピー画面フレーム101cにより第1のコピー画面フレーム103cの符号化を実現し、第1のコピー画面フレーム103cのコードストリーム(該コードストリームは、上記第1の調整画面フレームのコードストリームと称されてもよい)を取得してもよい。そして、アプリケーションサーバは、符号化により得られた第1のコピー画面フレーム103cのコードストリームをネットワークを介してアプリケーションクライアントに送信してもよい。アプリケーションクライアントは、取得されたコードストリームに基づいて上記第2の画面フレームを表示してもよい。
さらに、アプリケーションサーバは、超解像技術を用いて上記第1の調整画面フレームに対して超解像調整を行って、第2の画面フレームを取得してもよい。アプリケーションサーバは、該第2の画面フレームを第1の画面フレームの直後の画面フレームの参照画面フレームとしてもよい。該第1の画面フレームの直後の画面フレームの参照画面フレームは、第1の画面フレームの直後の画面フレームを符号化するために使用される。符号化と復号を一致させるため、アプリケーションクライアントは、第2の画面フレームしか取得できず、元の第1の画面フレームを取得できないため、アプリケーションサーバは、第2の画面フレームにより第1の画面フレームの直後の画面フレームを符号化する必要があり、その後に、アプリケーションクライアントは、第2の画面フレームにより第1の画面フレームの直後の画面フレームのコードストリームを復号することができる。
図7は、本発明に係る画面フレームの符号化のシナリオの一例の概略図である。図7に示すように、アプリケーションサーバは、現在のフレームに対して再構築を行ってもよい(即ち、第1の調整画面フレーム100dを再構築してもよい)。再構築の方式は、第1の調整画面フレーム100dに対して超解像処理を行い、解像度が第1の解像度まで戻った第2の画面フレーム101dを取得してもよい。その後、アプリケーションサーバは、アプリケーションクライアントが取得したコードストリームを復号して画面フレーム102dを表示するように、該第2の画面フレーム101dにより第1の画面フレームの直後の画面フレーム102dを符号化して、符号化されたコードストリームをネットワークを介してアプリケーションクライアントに送信してもよい。
図8は、本発明に係る画面フレームの符号化の流れの一例の概略図である。図8に示すように、s1において、アプリケーションサーバは、ビデオエンコーダにより、現在のフレーム画面(即ち、現在のフレームの画面、現在の画面フレーム)を符号化してもよく、該現在のフレーム画面は、上記の第1の画面フレームであってもよい。s2において、符号化された現在のフレーム画面のデータ量サイズが平均フレームサイズの3倍(該平均フレームサイズの3倍は、上記のデータ量閾値を意味してもよい)よりも大きい(又はそれ以上である)場合、ステップs4を実行し、符号化された現在のフレーム画面のデータ量サイズが平均フレームサイズの3倍以下である(又はそれよりも小さい)場合、ステップs3を実行する。s3において、現在のフレーム画面を直接符号化し、現在のフレーム画面のコードストリームを取得し、現在のフレーム画面のコードストリームをネットワークを介してアプリケーションクライアント(即ち、クライアント)に伝送する。s4において、現在の画面フレームに対して解像度を低減させて(即ち、画面縮小調整を行って)再度符号化して対応するコードストリーム(例えば、上記の第1の調整画面フレームのコードストリーム)を取得し、符号化により得られたコードストリームをアプリケーションクライアントに伝送する。
本発明に係る方法を採用することによって、第1の画面フレームのデータ量が大きすぎる場合(データ量閾値よりも大きい場合)、第1の画面フレームに対して画面縮小調整を行って第1の調整画面フレームを取得して符号化を行い、第1の調整画面フレームの画面フレームコードストリームを取得してもよい。該画面フレームコードストリームは、直接に第1の画面フレームを符号化して得られたコードストリームのデータ量に比べて大幅に減少することができるため、アプリケーションサーバは、より速い速度で該画面フレームコードストリームをアプリケーションクライアントに伝送することができ、さらに、アプリケーションクライアントは、より速い速度で第1の画面フレームを代替することに用いる第2の画面フレームを表示することができ、画面フレームの表示をより滑らかでより速くし、ユーザに画面フレームを表示する時のタイムラグを感じさせない。
本発明は、アプリケーションサーバコードは、アプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出し、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い。そして、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得し、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。このように、本発明に係る方法によれば、アプリケーションサーバは、シーン切り替えの画面フレーム(即ち、データ量がデータ量閾値以上である第1の画面フレーム)について、該画面フレームに対して画面縮小調整を行ってから符号化して対応するコードストリームを取得してアプリケーションクライアントに送信してもよい。アプリケーションクライアントは、取得したコードストリームを復号し、復号して得られた画面フレームの解像度を元の第1の解像度に戻すように調整して再び表示してもよい。表示された画面フレーム(例えば第2の画面フレーム)の画質を保証すると共に、伝送される画面フレームのコードストリームのデータ量を低下させ、画面フレームのコードストリームの伝送速度を向上させることができるため、アプリケーションクライアントがシーン切り替えの画面フレームを表示する時のスムーズさを向上させることができる。
図9は、本発明に係るデータ処理方法の流れの一例の概略図である。本発明の実施例の内容は、上述した図3に対応する実施例で説明した内容と組み合わせてもよい。本発明の実施例の実行主体は、上述したアプリケーションサーバであってもよい。図9に示すように、本方法は、以下のステップを含んでもよい。
ステップS201:符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出する。
ステップS202:第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率を取得する。
好ましくは、アプリケーションサーバは、第1の画面フレームに対して画面縮小調整を行うための横方向の縮小比率及び縦方向の縮小比率を取得してもよい。該横方向の縮小比率は、第1の画面フレームの長さを縮小するために使用され、該縦方向の縮小比率は、第1の画面フレームの幅を縮小するために使用される。該横方向の縮小比率及び縦方向の縮小比率は、実際の適用シナリオに応じて決定されてもよいが、これに限定されない。例えば、該横方向の縮小比率は1/2に等しくてもよく、縦方向の縮小比率は1/2に等しくてもよい。
ステップS203:横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。
好ましくは、アプリケーションサーバは、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームに画面縮小調整を行い、第1の調整画面フレームを取得するステップは、具体的には以下のステップを含んでもよい。
アプリケーションサーバは、第1の画面フレームにおける横方向の画素値(例えば、長さ方向の画素値)を横方向の縮小比率でサンプリングしてもよい。第1の画面フレームにおける横方向の画素値をサンプリングして得られた画素値は、横方向サンプリング画素値と称されてもよい。例えば、横方向の縮小比率が1/2に等しい場合、アプリケーションサーバは、第1の画面フレームにおける横方向の画素値を1/2サンプリングしてもよい。例えば、アプリケーションサーバは、第1の画面フレームにおける横方向の画素値を走査し、各走査により得られた隣接する2列の画素値から1列の画素値をサンプリングして取得してもよい。例えば、走査により1列目の画素値、2列目の画素値、3列目の画素値、4列目の画素値が得られた場合、1列目の画素値及び2列目の画素値から横方向のサンプリング画素値の列をサンプリングにより取得し、3列目の画素値及び4列目の画素値から横方向のサンプリング画素値の列をサンプリングにより取得してもよい。
アプリケーションサーバは、第1の画面フレームにおける縦方向の画素値(例えば、長さ方向の画素値)を縦方向の縮小比率でサンプリングしてもよい。第1の画面フレームにおける縦方向の画素値をサンプリングして得られた画素値は、縦方向サンプリング画素値と称されてもよい。例えば、縦方向の縮小比率が1/2に等しい場合、アプリケーションサーバは、第1の画面フレームにおける縦方向の画素値を1/2サンプリングしてもよい。例えば、アプリケーションサーバは、第1の画面フレームにおける縦方向の画素値を走査し、各走査により得られた隣接する2行の画素値から1行の画素値をサンプリングして取得してもよい。例えば、走査により1行目の画素値、2行目の画素値、3行目の画素値、4行目の画素値が得られた場合、1行目の画素値及び2行目の画素値から縦方向のサンプリング画素値の行をサンプリングにより取得し、3行目の画素値及び4行目の画素値から縦方向のサンプリング画素値の行をサンプリングにより取得してもよい。
そして、アプリケーションサーバは、上記サンプリングにより得られた横方向サンプリング画素値及び縦方向サンプリング画素値から上記の第1の調整画面フレームを生成してもよい。第1の調整画面フレームにおける画素値の数は、第1の画面フレームにおける画素値の数よりも少なく、即ち、第1の調整画面フレームの第2の解像度は、第1の画面フレームの第1の解像度よりも低い。
このように、横方向の縮小比率に基づいて第1の画面フレームにおける横方向の画素値をサンプリングし、横方向サンプリング画素値を取得し、縦方向の縮小比率に基づいて第1の画面フレームにおける縦方向の画素値をサンプリングし、縦方向サンプリング画素値を取得し、横方向サンプリング画素値及び縦方向サンプリング画素値に基づいて第1の調整画面フレームを生成する。このように、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームにおける横方向の画素値及び縦方向の画素値をそれぞれサンプリングすることによって、第1の調整画面フレームを迅速に生成することができる。
ステップS204:第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得する。
好ましくは、アプリケーションサーバは、第1の調整画面フレームを符号化してもよく、例えば、上記の第2のコピー画面フレームにより第1の調整画面フレームに対応する第1のコピー画面フレームを符号化してもよい。この時の符号化により得られたコードストリームは、初期画面フレームコードストリームと称されてもよい。そして、アプリケーションサーバは、該初期画面フレームコードストリームに上記の横方向の縮小比率、縦方向の縮小比率及び縮小フラグを追加し、該横方向の縮小比率、縦方向の縮小比率及び縮小フラグが追加された初期画面フレームコードストリームを、最終的に得られた第1の調整画面フレームの画面フレームコードストリームとしてもよい。このように、第1の調整画面フレームを符号化し、第1の調整画面フレームの初期画面フレームコードストリームを取得し、横方向の縮小比率及び縦方向の縮小比率を初期画面フレームコードストリームに追加し、画面フレームコードストリームを取得することができる。このため、アプリケーションクライアントは、このような画面フレームコードストリームを受信し、画面フレームコードストリームにおける横方向の縮小比率及び縦方向の縮小比率に基づいて、素早く画面フレームコードストリームを正確に復号して第1の調整画面フレームを取得することができる。
図10は、本発明に係る画面フレームの縮小のシナリオの一例の概略図である。図10に示すように、第1の画面フレームは、8行8列の画素値を含んでもよい。この8行8列の画素値は、具体的には、画素値11、画素値12、画素値13、画素値14、画素値15、画素値16、画素値17、画素値18、画素値21、画素値22、画素値23、画素値24、画素値25、画素値26、画素値27、画素値28、画素値31、画素値32、画素値33、画素値34、画素値35、画素値36、画素値37、画素値38、画素値41、画素値42、画素値43、画素値44、画素値45、画素値46、画素値47、画素値48、画素値51、画素値52、画素値53、画素値54、画素値55、画素値56、画素値57、画素値58、画素値61、画素値62、画素値63、画素値64、画素値65、画素値66、画素値67、画素値68、画素値71、画素値72、画素値73、画素値74、画素値75、画素値76、画素値77、画素値78、画素値81、画素値82、画素値83、画素値84、画素値85、画素値86、画素値87、画素値88を含む。
第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率の両方が1/2に等しい場合、第1の画面フレームの横方向及び縦方向の画素値の両方を1/2サンプリングしてもよい。ここで、第1の画面フレームの横方向の画素値をサンプリングして得られた横方向サンプリング画素値が第1の画面フレームにおける1列目の画素値(具体的には、画素値11、画素値21、画素値31、画素値41、画素値51、画素値61、画素値71、画素値81を含む)、3列目の画素値(具体的には、画素値13、画素値23、画素値33、画素値43、画素値53、画素値63、画素値73、画素値83を含む)、5列目の画素値(具体的には、画素値15、画素値25、画素値35、画素値45、画素値55、画素値65、画素値75、画素値85を含む)及び7列目の画素値(具体的には、画素値17、画素値27、画素値37、画素値47、画素値57、画素値67、画素値77、画素値87を含む)であり、第1の画面フレームの縦方向の画素値をサンプリングして得られた縦方向サンプリング画素値が第1の画面フレームにおける1行目の画素値(具体的には、画素値11、画素値12、画素値13、画素値14、画素値15、画素値16、画素値17、画素値18を含む)、3行目の画素値(具体的には、画素値31、画素値32、画素値33、画素値34、画素値35、画素値36、画素値37、画素値38を含む)、5行目の画素値(具体的には、画素値51、画素値52、画素値53、画素値54、画素値55、画素値56、画素値57、画素値58を含む)及び7行目の画素値(具体的には、画素値71、画素値72、画素値73、画素値74、画素値75、画素値76、画素値77、画素値78を含む)であると仮定する。
この場合、上記のようにサンプリングして得られた横方向サンプリング画素値と縦方向サンプリング画素値との共通集合により、第1の調整画面フレームを生成してもよい。第1の調整画面フレームは、画素値11、画素値13、画素値15、画素値17、画素値31、画素値33、画素値35、画素値37、画素値51、画素値53、画素値55、画素値57、画素値71、画素値73、画素値75、画素値77を含む。そして、第1の調整画面フレームを第1の画面フレームと同一の大きさを有する空白画面フレームにコピーして、第1のコピー画面フレームを取得してもよい。この場合、第1のコピー画面フレームには、有効なデータが1/4しかなく、無効なデータ(即ち、0データ)が3/4ある。
ステップS205:アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。
上記の実施例では、第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率を取得し、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。このように、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを迅速に取得することができる。
図11は、本発明に係るデータ処理方法の流れの一例の概略図である。本発明の実施例の内容は、上記の図3に対応する実施例で説明した内容と組み合わせてもよい。図11に示すように、該方法は、以下のステップを含んでもよい。
ステップS301:アプリケーションサーバにより送信された画面フレームコードストリームを取得する。画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、第1の調整画面フレームは、アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、第1の画面フレームのデータ量はデータ量閾値以上であり、第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は前記第1の解像度よりも低い。
好ましくは、本発明の実施例における実行主体は、アプリケーションクライアントであってもよい。アプリケーションクライアントは、アプリケーションサーバにより送信された該第1の調整画面フレームの画面フレームコードストリームを取得してもよい。該画面フレームコードストリームは、該第2のコピー画面フレームにより第1の調整画面フレームに対応する第1のコピー画面フレームを符号化して得られる。該画面フレームコードストリームの具体的な取得方法について、上記図3に対応する実施例の説明を参照してもよい。
ステップS302:画面フレームコードストリームを復号し、第1の調整画面フレームを取得する。
好ましくは、アプリケーションクライアントにより取得された画面フレームコードストリームは、該第1の画面フレームに対して画面縮小調整を行うための横方向の縮小比率及び縦方向の縮小比率を含んでもよい。アプリケーションクライアントは、該画面フレームコードストリームから該横方向の縮小比率及び縦方向の縮小比率を抽出してもよい。また、アプリケーションクライアントは、第1の画面フレームについての直前の画面フレームを取得してもよく、該直前の画面フレームはアプリケーションクライアント内に存在するものであってもよい。該直前の画面フレームは、アプリケーションクライアントがその前に復号して表示された画面フレームであってもよい。アプリケーションクライアントは、該直前の画面フレームを第1の画面フレームの参照画面フレームとしてもよい。
アプリケーションクライアントは、第1の画面フレームに対する画面縮小調整と同様な原理で、第1の画面フレームの参照画面フレームに対して画面縮小調整を行い(縮小調整の比率は第1の画面フレームと同一である)、上記の第2の調整画面フレームを取得してもよい。アプリケーションクライアントは、該第2の調整画面フレームを解像度が第1の解像度である空白画面フレームにコピーし、該第2のコピー画面フレームを取得してもよい。
また、アプリケーションクライアントは、該第2のコピー画面フレーム及び取得した画面フレームコードストリームをデコーダに入力し、該第2のコピー画面フレームにより該画面フレームコードストリームを復号し、該第1のコピー画面フレームを取得してもよい。
さらに、アプリケーションクライアントは、画面フレームのコードストリームから抽出された横方向の縮小比率及び縦方向の縮小比率を用いて、復号された第1のコピー画面フレームから該第1の調整画面フレームを抽出してもよい。
このように、画面フレームコードストリームから横方向の縮小比率及び縦方向の縮小比率を解析し、画面フレームコードストリームを復号し、第1のコピー画面フレームを取得する。第1のコピー画面フレームは、アプリケーションサーバが第1の調整画面フレームを空白画面フレームにコピーすることによって得られ、空白画面フレームの解像度は第1の解像度であり、横方向の縮小比率及び縦方向の縮小比率に基づいて、第1のコピー画面フレームから第1の調整画面フレームを抽出する。なお、符号化プロセスに対応して、画面フレームコードストリームを復号することによって、解像度が第1の解像度である第1のコピー画面フレームを取得することができる。そして、画面フレームコードストリームから解析された横方向の縮小比率及び縦方向の縮小比率に基づいて、第1のコピー画面フレームから正確な解像度が第2の解像度である第1の調整画面フレームを抽出することができる。
アプリケーションクライアントにおける第1の画面フレームの直前の画面フレームを取得し、第1の画面フレームの参照画面フレームとし、第1の画面フレームの参照画面フレームに対して画面縮小調整を行い、第2の調整画面フレームを取得し、第2の調整画面フレームを空白画面フレームにコピーし、第2のコピー画面フレームを取得し、第2のコピー画面フレームにより画面フレームコードストリームを復号し、第1のコピー画面フレームを取得する。なお、フレーム間復号の方式を用いて画面フレームコードストリームを復号してもよい。フレーム間復号を行う際に、アプリケーションクライアントにおける第1の画面フレームの直前の画面フレームを第1の画面フレームの参照画面フレームとし、第1の画面フレームに基づいて第1のコピー画面フレームを生成する方法を参照し、参照画面フレームに基づいて第2のコピー画面フレームを生成する。第1のコピー画面フレームと第2のコピー画面フレームとは、同一の解像度のフレームであるため、第2のコピー画面フレームに基づいて画面フレームコードストリームを成功的に復号して第1のコピー画面フレームを取得することができる。
ステップS303:第1の調整画面フレームの解像度を第1の解像度に戻すように調整し、第2の画面フレームを取得し、第2の画面フレームを表示する。
好ましくは、アプリケーションクライアントは、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の調整画面フレームに対して超解像調整を行い、第2の画面フレームを取得してもよい。該第2の画面フレームの解像度は、該第1の画面フレームの第1の解像度である。このように、アプリケーションクライアントは、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の調整画面フレームに対して超解像調整を行い、調整して得られた第2の画面フレームの解像度が第1の画面フレームの第1の解像度であるようにすることができるため、アプリケーションクライアントにより表示された画面フレームの解像度が全て同一であり、全て元の解像度であることを確保することができる。
図12は、本発明に係る画面フレームの復号のシナリオの一例の概略図である。図12に示すように、アプリケーションクライアントは、アプリケーションサーバにより送信された現在のフレームのコードストリーム(例えば、上記の第1の調整画面フレームの画面フレームコードストリーム)をネットワークを介して受信してもよい。アプリケーションクライアントは、現在のフレームの直前のフレーム(即ち、第1の画面フレームの直前のフレーム)を参照フレーム102e(即ち、参照画面フレーム)として取得してもよい。この場合、該参照フレーム102eの解像度は第1の解像度である。アプリケーションクライアントは、該参照フレームを縮小して空白画面フレームにコピーし、上記の第2のコピー画面フレーム103eを取得してもよい。そして、アプリケーションクライアントは、第2のコピー画面フレーム103eにより現在のフレームのコードストリームを復号することによって、上記の第1のコピー画面フレーム100eを取得してもよい。アプリケーションクライアントは、該第1のコピー画面フレーム100eのうちの第1の調整画面フレームに対応する画像ブロック(即ち、第1の調整画面フレーム)に対して超解像処理を行うことによって、解像度が第1の解像度である第2の画面フレーム101eを取得し、アプリケーションクライアントのクライアントインターフェースに該第2の画面フレーム101eを表示してもよい。
図13は、本発明に係る画面フレームの復号の流れの一例の概略図である。図13に示すように、a1において、アプリケーションクライアントは、取得したコードストリームにおけるSEI情報(即ち、補足拡張情報)を解析し、解析したSEI情報に縮小flag(縮小フラグ)が設定されているか否かを判断し、即ち、SEI情報に画面フレームが縮小されたことを示すフラグが含まれているか否かを判断してもよい。a2において、SEI情報に画面フレームが縮小されたことを示すフラグが含まれている場合、画面フレームが縮小されたことを意味し、ステップa4を実行し、SEI情報に画面フレームが縮小されたことを示すフラグが含まれていない場合、画面フレームが縮小されていないことを意味し、ステップa3を実行する。a3において、アプリケーションクライアントは、取得したコードストリームに直接に正常な復号を行い、復号して得られた画面フレームを表示してもよい。a4において、アプリケーションクライアントは、同様に解像度が縮小された参照画面フレーム(例えば、第2の調整画面フレーム)によりコードストリームを復号し、復号された画面フレーム(例えば、第1の調整画面フレーム)の解像度を第1の解像度に戻して、対応する画面フレーム(例えば、上記の第2の画面フレーム)を表示してもよい。
本発明に係る方法を採用することで、アプリケーションサーバは、第1の調整画面フレームのコードストリームを第1の画面フレームのコードストリームとしてアプリケーションクライアントに伝送することができ、第1の画面フレームについてのコードストリームの伝送データ量を低減させ、第1の画面フレームについてのコードストリームの伝送速度を向上させることができる。これによって、アプリケーションクライアントは、より小さい遅延で第1の画面フレームの代替に用いる第2の画面フレームを出力することができると共に、該第2の画面フレームの解像度が第1の画面フレームの解像度と同一であることを確保し、即ち、画面の表示効果(例えば、鮮明さ)を確保することができる。
本発明では、アプリケーションサーバは、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出し、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い。そして、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得し、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。このように、本発明に係る方法によれば、アプリケーションサーバは、シーン切り替えの画面フレーム(即ち、データ量がデータ量閾値以上である第1の画面フレーム)について、該画面フレームに対して画面縮小調整を行った後に符号化し、対応するコードストリームを取得してアプリケーションクライアントに送信してもよい。アプリケーションクライアントは、取得したコードストリームを復号し、復号して得られた画面フレームの解像度を元の第1の解像度に調整した後に再び表示してもよい。これによって、表示された画面フレーム(例えば、第2の画面フレーム)の画質を保証すると共に、伝送される画面フレームのコードストリームのデータ量を低減させ、画面フレームのコードストリームの伝送速度を向上させることができるため、アプリケーションクライアントがシーン切り替えの画面フレームを表示する時のスムーズさを向上させることができる。
図14は、本発明に係るデータ処理装置の構成の一例の概略図である。図14に示すように、該データ処理装置は、コンピュータ機器内で実行されるコンピュータ読み取り可能な命令(プログラムコードを含む)であってもよく、例えば、該データ処理装置は、アプリケーションソフトウェアであり、該データ処理装置は、本発明の実施例に係る方法における対応するステップを実行するために使用されてもよい。図14に示すように、該データ処理装置1は、画面符号化モジュール11、縮小モジュール12、コードストリーム符号化モジュール13及び送信モジュール14を含んでもよい。
画面符号化モジュール11は、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出する。
縮小モジュール12は、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は前記第1の解像度よりも低い。
コードストリーム符号化モジュール13は、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得する。
送信モジュール14は、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。
好ましくは、縮小モジュール12は、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する際に、第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率を取得し、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。
好ましくは、縮小モジュール12は、横方向の縮小比率及び縦方向の縮小比率に基づいて第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する際に、横方向の縮小比率に基づいて第1の画面フレームにおける横方向の画素値をサンプリングし、横方向のサンプリング画素値を取得し、縦方向の縮小比率に基づいて第1の画面フレームにおける縦方向の画素値をサンプリングし、縦方向のサンプリング画素値を取得し、横方向のサンプリング画素値及び縦方向のサンプリング画素値に基づいて第1の調整画面フレームを生成する。
好ましくは、コードストリーム符号化モジュール13は、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得する際に、第1の調整画面フレームを符号化し、第1の調整画面フレームの初期画面フレームコードストリームを取得し、横方向の縮小比率及び縦方向の縮小比率を初期画面フレームコードストリームに追加し、画面フレームコードストリームを取得する。
好ましくは、コードストリーム符号化モジュール13は、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得する際に、解像度が第1の解像度である空白画面フレームを取得し、第1の調整画面フレームを空白画面フレームにコピーし、第1のコピー画面フレームを取得し、第1のコピー画面フレームを符号化し、画面フレームコードストリームを取得する。
好ましくは、コードストリーム符号化モジュール13は、第1のコピー画面フレームを符号化し、画面フレームコードストリームを取得する際に、アプリケーションクライアントの第1の画面フレームの直前の画面フレームを第1の画面フレームの参照画面フレームとして取得し、第1の画面フレームの参照画面フレームに対して画面縮小調整を行い、第2の調整画面フレームを取得し、第2の調整画面フレームを空白画面フレームにコピーし、第2のコピー画面フレームを取得し、第2のコピー画面フレームに基づいて第1のコピー画面フレームを符号化し、画面フレームコードストリームを取得する。
好ましくは、アプリケーションクライアントは、ゲームクライアントである。第1の画面フレームのデータ量がデータ量閾値以上である場合、縮小モジュール12は、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する際に、第1の画面フレームがゲームクライアントのシーン切り替え時のゲーム画面フレームに属し、且つ第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。
好ましくは、該データ処理装置1は、アプリケーションクライアントの画面フレームについての単位伝送データ量及び単位伝送フレーム数を取得し、単位伝送データ量及び単位伝送フレーム数に基づいて平均フレームデータ量を決定し、平均フレームデータ量に基づいてデータ量閾値を決定する。
好ましくは、該データ処理装置1は、第1の調整画面フレームに対して超解像調整を行い、第2の画面フレームを取得し、第2の画面フレームを第1の画面フレームの直後の画面フレームの参照画面フレームとする。第1の画面フレームの直後の画面フレームの参照画面フレームは、第1の画面フレームの直後の画面フレームを符号化するために使用される。
本発明の1つの実施例によれば、図3に示すデータ処理方法におけるステップは、図14に示すデータ処理装置1における各モジュールにより実行されてもよい。例えば、図3に示すステップS101は、図14における画面符号化モジュール11により実行されてもよく、図3に示すステップS102は、図14における縮小モジュール12により実行されてもよく、図3に示すステップS103は、図14におけるコードストリーム符号化モジュール13により実行されてもよく、図3に示すステップS104は、図14における送信モジュール14により実行されてもよい。
本発明では、アプリケーションサーバは、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出し、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い。そして、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得し、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。このように、本発明に係る装置によれば、アプリケーションサーバは、シーン切り替えの画面フレーム(即ち、データ量がデータ量閾値以上である第1の画面フレーム)について、該画面フレームに対して画面縮小調整を行った後に符号化し、対応するコードストリームを取得してアプリケーションクライアントに送信してもよい。アプリケーションクライアントは、取得したコードストリームを復号し、復号して得られた画面フレームの解像度を元の第1の解像度に調整した後に再び表示してもよい。これによって、表示された画面フレーム(例えば、第2の画面フレーム)の画質を保証すると共に、伝送される画面フレームのコードストリームのデータ量を低減させ、画面フレームのコードストリームの伝送速度を向上させることができるため、アプリケーションクライアントがシーン切り替えの画面フレームを表示する時のスムーズさを向上させることができる。
本発明の1つの実施例によれば、図14に示すデータ処理装置1の各モジュールは、1つ又は複数のユニットにそれぞれ又は全て統合されて構成されてもよく、或いは、この(これらの)ユニットのうちの1つは、機能的により小さな複数のサブユニットに再分割されてもよく、本発明の実施例の技術的効果の実現に影響を及ぼすことなく、同様の動作を実現してもよい。上記のモジュールは論理的な機能に基づいて分割されており、実際の応用では、1つのモジュールの機能が複数のユニットにより実現されてもよいし、複数のモジュールの機能が1つのユニットにより実現されてもよい。本発明の他の実施例では、データ処理装置1は、他のユニットを含んでもよく、実際の応用では、これらの機能は、他のユニットにより協働して実現されてもよく、複数のユニットにより協働して実現されてもよい。
本発明の1つの実施例によれば、図14に示すデータ処理装置1は、中央処理装置(CPU)、ランダムアクセス記憶媒体(RAM)、読み出し専用記憶媒体(ROM)などの処理ユニット及び記憶ユニットを含むコンピュータなどの汎用コンピュータ機器で、図3に示す各方法におけるステップを実行可能なコンピュータ読み取り可能な命令(プログラムコードを含む)を実行することによって構成され、本発明の1つの実施例のデータ処理方法を実現してもよい。上記のコンピュータ読み取り可能な命令は、例えば、コンピュータ読み取り可能な記録媒体に記録され、コンピュータ読み取り可能な記録媒体を介して上記コンピュータ機器にロードされて実行されてもよい。
図15は、本発明に係るデータ処理装置の構成の一例の概略図である。図15に示すように、該データ処理装置は、コンピュータ機器内で実行されるコンピュータ読み取り可能な命令(プログラムコードを含む)であってもよく、例えば、該データ処理装置は、アプリケーションソフトウェアであり、該データ処理装置は、本発明の実施例に係る方法における対応するステップを実行するために使用されてもよい。図15に示すように、該データ処理装置2は、コードストリーム取得モジュール21、コードストリーム復号モジュール22及び解像度調整モジュール23を含んでもよい。
コードストリーム取得モジュール21は、アプリケーションサーバにより送信された画面フレームコードストリームを取得する。画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、第1の調整画面フレームは、アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、第1の画面フレームのデータ量はデータ量閾値以上であり、第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い。
コードストリーム復号モジュール22は、画面フレームコードストリームを復号し、第1の調整画面フレームを取得する。
解像度調整モジュール23は、第1の調整画面フレームの解像度を第1の解像度に戻すように調整し、第2の画面フレームを取得し、第2の画面フレームを表示する。
好ましくは、前記画面フレームコードストリームは、第1の画面フレームに対して画面縮小調整を行う時の第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率を含む。コードストリーム復号モジュール22は、画面フレームコードストリームを復号し、第1の調整画面フレームを取得する際に、画面フレームコードストリームから横方向の縮小比率及び縦方向の縮小比率を解析し、画面フレームコードストリームを復号し、第1のコピー画面フレームを取得し、第1のコピー画面フレームは、アプリケーションサーバが第1の調整画面フレームを空白画面フレームにコピーすることによって得られ、空白画面フレームの解像度は第1の解像度であり、横方向の縮小比率及び縦方向の縮小比率に基づいて、第1のコピー画面フレームから第1の調整画面フレームを抽出する。
好ましくは、解像度調整モジュール23は、第1の調整画面フレームの解像度を第1の解像度に戻すように調整し、第2の画面フレームを取得する際に、横方向の縮小比率及び縦方向の縮小比率に基づいて、第1の調整画面フレームに対して超解像調整を行い、超解像調整が行われた第1の調整画面フレームを第2の画面フレームとして決定する。
コードストリーム復号モジュール22は、画面フレームコードストリームを復号し、第1のコピー画面フレームを取得する際に、アプリケーションクライアントにおける第1の画面フレームの直前の画面フレームを第1の画面フレームの参照画面フレームとして取得し、第1の画面フレームの参照画面フレームに対して画面縮小調整を行い、第2の調整画面フレームを取得し、第2の調整画面フレームを空白画面フレームにコピーし、第2のコピー画面フレームを取得し、第2のコピー画面フレームに基づいて画面フレームコードストリームを復号し、第1のコピー画面フレームを取得する。
本発明の1つの実施例によれば、図11に示すデータ処理方法におけるステップは、図15に示すデータ処理装置2における各モジュールにより実行される。例えば、図11に示すステップS301は、図11におけるコードストリーム取得モジュール21により実行されてもよく、図11に示すステップS302は、図11におけるコードストリーム復号モジュール22により実行されてもよく、図11に示すステップS303は、図11における解像度調整モジュール23により実行されてもよい。
本発明では、アプリケーションサーバは、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出し、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する。第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い。そして、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得し、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信する。第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる。このように、本発明に係る装置によれば、アプリケーションサーバは、シーン切り替えの画面フレーム(即ち、データ量がデータ量閾値以上である第1の画面フレーム)について、該画面フレームに対して画面縮小調整を行った後に符号化し、対応するコードストリームを取得してアプリケーションクライアントに送信してもよい。アプリケーションクライアントは、取得したコードストリームを復号し、復号して得られた画面フレームの解像度を元の第1の解像度に調整した後に再び表示してもよい。これによって、表示された画面フレーム(例えば、第2の画面フレーム)の画質を保証すると共に、伝送される画面フレームのコードストリームのデータ量を低減させ、画面フレームのコードストリームの伝送速度を向上させることができるため、アプリケーションクライアントがシーン切り替えの画面フレームを表示する時のスムーズさを向上させることができる。
本発明の1つの実施例によれば、図15に示すデータ処理装置2の各モジュールは、1つ又は複数のユニットにそれぞれ又は全て統合されて構成されてもよく、或いは、この(これらの)ユニットのうちの1つは、機能的により小さな複数のサブユニットに再分割されてもよく、本発明の実施例の技術的効果の実現に影響を及ぼすことなく、同様の動作を実現してもよい。上記のモジュールは論理的な機能に基づいて分割されており、実際の応用では、1つのモジュールの機能が複数のユニットにより実現されてもよいし、複数のモジュールの機能が1つのユニットにより実現されてもよい。本発明の他の実施例では、データ処理装置1は、他のユニットを含んでもよく、実際の応用では、これらの機能は、他のユニットにより協働して実現されてもよく、複数のユニットにより協働して実現されてもよい。
本発明の1つの実施例によれば、図15に示すデータ処理装置2は、中央処理装置(CPU)、ランダムアクセス記憶媒体(RAM)、読み出し専用記憶媒体(ROM)などの処理ユニット及び記憶ユニットを含むコンピュータなどの汎用コンピュータ機器で、図11に示す各方法におけるステップを実行可能なコンピュータ読み取り可能な命令(プログラムコードを含む)を実行することによって構成され、本発明の1つの実施例のデータ処理方法を実現してもよい。上記のコンピュータ読み取り可能な命令は、例えば、コンピュータ読み取り可能な記録媒体に記録され、コンピュータ読み取り可能な記録媒体を介して上記コンピュータ機器にロードされて実行されてもよい。
図16は、本発明に係るコンピュータ機器の構成の一例の概略図である。図16に示すように、コンピュータ機器1000は、1つ又は複数のプロセッサ1001、ネットワークインターフェース1004、及びメモリ1005を含んでもよい。また、コンピュータ機器1000は、ユーザインターフェース1003、及び少なくとも1つの通信バス1002をさらに含んでもよい。ここで、通信バス1002は、これらのコンポーネント間の接続通信を実現するために使用される。ユーザインターフェース1003は、ディスプレイ(Display)、キーボード(Keyboard)を含んでもよく、好ましくは、ユーザインターフェース1003は、標準的な有線インターフェース、無線インターフェースをさらに含んでもよい。ネットワークインターフェース1004は、好ましくは、標準的な有線インターフェース、無線インターフェース(例えば、WI-FIインターフェース)を含んでもよい。メモリ1005は、高速RAMメモリであってもよいし、例えば少なくとも1つのディスクメモリなどの非不安定なメモリ(non-volatile memory)であってもよい。メモリ1005は、好ましくは、上記の1つ又は複数のプロセッサ1001から離れた位置にある少なくとも1つの記憶装置であってもよい。図16に示すように、コンピュータ記憶媒体としてのメモリ1005は、オペレーティングシステム、ネットワーク通信モジュール、ユーザインターフェースモジュール、及び機器制御アプリケーションプログラムを含んでもよい。
図16に示すコンピュータ機器1000では、ネットワークインターフェース1004は、ネットワーク通信機能を提供することができる。ユーザインターフェース1003は、主に、ユーザに入力を提供するためのインターフェースである。1つ又は複数のプロセッサ1001は、符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、第1の画面フレームのデータ量を検出するステップと、第1の画面フレームのデータ量がデータ量閾値以上である場合、第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得するステップであって、第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い、ステップと、第1の調整画面フレームを符号化し、第1の調整画面フレームの画面フレームコードストリームを取得するステップと、アプリケーションクライアントが画面フレームコードストリームに基づいて第2の画面フレームを表示するように、画面フレームコードストリームをアプリケーションクライアントに送信するステップであって、第2の画面フレームは、アプリケーションクライアントが画面フレームコードストリームを復号して第1の調整画面フレームを取得した後、第1の調整画面フレームの解像度を第1の解像度に戻すように調整して得られる、ステップと、を実現するように、メモリ1005に記憶された機器制御アプリケーションを呼び出すために使用されてもよい。
好ましくは、1つ又は複数のプロセッサ1001は、アプリケーションサーバにより送信された画面フレームコードストリームを取得するステップであって、画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、第1の調整画面フレームは、アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、第1の画面フレームのデータ量はデータ量閾値以上であり、第1の画面フレームの解像度は第1の解像度であり、第1の調整画面フレームの解像度は第2の解像度であり、第2の解像度は第1の解像度よりも低い、ステップと、画面フレームコードストリームを復号し、第1の調整画面フレームを取得するステップと、第1の調整画面フレームの解像度を第1の解像度に戻すように調整し、第2の画面フレームを取得し、第2の画面フレームを表示するステップと、を実現するように、メモリ1005に記憶された機器制御アプリケーションを呼び出すために使用されてもよい。
なお、本発明の実施例で説明したコンピュータ機器1000は、上記の図3又は図11の対応する実施例で説明したデータ処理方法を実行してもよいし、図14の対応する実施例で説明したデータ処理装置1を実現してもよいし、図15の対応する実施例で説明したデータ処理装置2を実現してもよい。また、同様な方法を採用した有益な効果についても、その説明を省略する。
また、ここでは、上記のデータ処理装置1及びデータ処理装置2が実行するコンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体をさらに提供する。コンピュータプログラムは、コンピュータ読み取り可能なプログラム命令を含む。1つ又は複数のプロセッサがコンピュータ読み取り可能なプログラム命令を実行する際に、上記の図3又は図11に対応する実施例で説明したデータ処理方法を実行することができるため、ここでその説明を省略する。また、同様な方法を採用した有益な効果についても、その説明を省略する。本発明に係るコンピュータ記憶媒体の実施例において開示されていない技術的詳細について、本発明の方法の実施例の説明を参照してもよい。
一例として、上記のプログラム命令は、1つのコンピュータ機器で実行されてもよいし、1つの場所に配置された複数のコンピュータ機器で実行されてもよいし、且つ/或いは、複数の場所に配置され、且つ通信ネットワークを介して相互に接続された複数のコンピュータ機器で実行されてもよい。複数の場所に配置され、且つ通信ネットワークを介して相互に接続された複数のコンピュータ機器は、ブロックチェーンネットワークを構成してもよい。
上述したコンピュータ読み取り可能な記憶媒体は、上述した実施形態の何れかに係るデータ処理装置であってもよいし、コンピュータ機器のハードディスクやメモリなどのコンピュータ機器の内部記憶装置であってもよい。コンピュータ読み取り可能な記憶媒体は、コンピュータ機器に装備されたプラグインハードディスク、スマートメモリカード(smart media card:SMC)、セキュアデジタル(secure digital:SD)カード、フラッシュメモリカード(flash card)などのコンピュータ機器の外部記憶装置であってもよい。さらに、コンピュータ読み取り可能な記憶媒体は、コンピュータ機器の内部記憶ユニットと外部記憶装置の両方を含んでもよい。上記のコンピュータ読み取り可能な記憶媒体は、コンピュータ読み取り可能な命令及び該コンピュータ機器が必要とする他のプログラムとデータを記憶する。コンピュータ読み取り可能な記憶媒体は、出力されたデータ又は出力されるべきデータを一時的に記憶するために使用されてもよい。
本発明は、コンピュータ読み取り可能な記憶媒体に記憶されたコンピュータ命令を含むコンピュータプログラム製品又はコンピュータプログラムを提供する。コンピュータ機器の1つ又は複数のプロセッサは、コンピュータ読み取り可能な記憶媒体から該コンピュータ読み取り可能な命令を読み取り、1つ又は複数のプロセッサは、上記の図3又は図11の対応する実施例で上記のデータ処理方法を実行するようにコンピュータ読み取り可能な命令を実行することができるため、ここでその説明を省略する。また、同様な方法を採用した有益な効果についても、その説明を省略する。本発明に係るコンピュータ読み取り可能な記憶媒体の実施例において開示されていない技術的詳細について、本発明の方法の実施例の説明を参照してもよい。
本発明の実施例の明細書、特許請求の範囲及び図面における「第1」、「第2」などの用語は、特定の順序を説明するためのものではなく、異なるオブジェクトを区別するために使用される。また、用語「含む」及びそれらの任意の変形は、排他的な包含をカバーすることを意図している。例えば、一連のステップ又はユニットを含むプロセス、方法、装置、製品、又はデバイスは、列挙されたステップ又はモジュールに限定されず、列挙されていないステップ又はモジュールを含んでもよいし、これらのプロセス、方法、装置、製品、又はデバイスに固有の他のステップユニットを含んでもよい。
当業者であれば、本明細書に開示された実施形態に関連して説明された様々な例の要素及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又はその両方の組み合わせで実装することができ、ハードウェア及びソフトウェアの互換性を明確に示すために、上記の説明では、様々な例の構成及びステップが機能的に一般的に説明されていることを理解するであろう。これらの機能がハードウェアで実行されるかソフトウェアで実行されるかは、特定のアプリケーションや設計上の制約によって異なる。当業者は、記載された機能を実現するために、特定のアプリケーションごとに異なる方法を使用することができるが、そのような実現は、本発明の範囲を超えるものとみなされるべきではない。
本発明の実施例に係る方法及び関連する装置は、本発明の実施例に係る方法のフローチャート及び/又は構造の概略図を参照して説明され、特に、コンピュータ読み取り可能な命令によって、方法のフローチャート及び/又は構造の概略図の各フロー及び/又はブロック、並びに、フローチャート及び/又はブロック図のフロー及び/又はブロックの組み合わせを実施してもよい。これらのコンピュータ読み取り可能な命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラミング可能なデータ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサによって実行される命令が、フローチャートの1つ又は複数のフロー及び/又は構造図の1つ又は複数のブロックで指定される機能を実現する手段を生成するように、機器を生成することができる。これらのコンピュータ読み取り可能な命令は、コンピュータ又は他のプログラミング可能なデータ処理装置を特定の方法で動作させることができるコンピュータ読み取り可能なメモリに格納することもでき、その結果、コンピュータ読み取り可能なメモリに格納された命令は、フローチャートの1つ又は複数のフロー及び/又は構造図の1つ又は複数のブロックで指定された機能を実現する命令手段を含む製造物を生成する。これらのコンピュータ読み取り可能な命令は、コンピュータ又は他のプログラミング可能なデータ処理装置にロードされてもよく、その結果、コンピュータ又は他のプログラミング可能な装置上で一連の動作ステップが実行されて、コンピュータによって実現される処理が生成され、その結果、コンピュータ又は他のプログラミング可能な装置上で実行される命令は、フローチャートの1つ又は複数のフロー及び/又は構造概略図の1つ又は複数のブロックで指定される機能を実現するためのステップを提供する。
以上の開示された内容は、本発明の好ましい実施形態に過ぎず、それによって本発明の権利範囲を限定することができないため、本発明の請求項によってなされた均等な変更は、本発明の範囲内のものである。

Claims (17)

  1. アプリケーションサーバが実行するデータ処理方法であって、
    符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、前記第1の画面フレームのデータ量を検出するステップと、
    前記第1の画面フレームのデータ量がデータ量閾値以上である場合、前記第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得するステップであって、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、ステップと、
    前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの画面フレームコードストリームを取得するステップと、
    前記アプリケーションクライアントが前記画面フレームコードストリームに基づいて第2の画面フレームを表示するように、前記画面フレームコードストリームを前記アプリケーションクライアントに送信するステップであって、前記第2の画面フレームは、前記アプリケーションクライアントが前記画面フレームコードストリームを復号して前記第1の調整画面フレームを取得した後、前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整して得られる、ステップと、を含む、方法。
  2. 前記第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得するステップは、
    前記第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率を取得するステップと、
    前記横方向の縮小比率及び前記縦方向の縮小比率に基づいて前記第1の画面フレームに対して画面縮小調整を行い、前記第1の調整画面フレームを取得するステップと、を含む、請求項1に記載の方法。
  3. 前記横方向の縮小比率及び前記縦方向の縮小比率に基づいて前記第1の画面フレームに対して画面縮小調整を行い、前記第1の調整画面フレームを取得するステップは、
    前記横方向の縮小比率に基づいて前記第1の画面フレームにおける横方向の画素値をサンプリングし、横方向のサンプリング画素値を取得するステップと、
    前記縦方向の縮小比率に基づいて前記第1の画面フレームにおける縦方向の画素値をサンプリングし、縦方向のサンプリング画素値を取得するステップと、
    前記横方向のサンプリング画素値及び前記縦方向のサンプリング画素値に基づいて前記第1の調整画面フレームを生成するステップと、を含む、請求項2に記載の方法。
  4. 前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの画面フレームコードストリームを取得するステップは、
    前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの初期画面フレームコードストリームを取得するステップと、
    前記横方向の縮小比率及び前記縦方向の縮小比率を前記初期画面フレームコードストリームに追加し、前記画面フレームコードストリームを取得するステップと、を含む、請求項2に記載の方法。
  5. 前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの画面フレームコードストリームを取得するステップは、
    解像度が前記第1の解像度である空白画面フレームを取得するステップと、
    前記第1の調整画面フレームを前記空白画面フレームにコピーし、第1のコピー画面フレームを取得するステップと、
    前記第1のコピー画面フレームを符号化し、前記画面フレームコードストリームを取得するステップと、を含む、請求項1に記載の方法。
  6. 前記第1のコピー画面フレームを符号化し、前記画面フレームコードストリームを取得するステップは、
    前記アプリケーションクライアントの前記第1の画面フレームの直前の画面フレームを前記第1の画面フレームの参照画面フレームとして取得するステップと、
    前記第1の画面フレームの参照画面フレームに対して画面縮小調整を行い、第2の調整画面フレームを取得するステップと、
    前記第2の調整画面フレームを前記空白画面フレームにコピーし、第2のコピー画面フレームを取得するステップと、
    前記第2のコピー画面フレームに基づいて前記第1のコピー画面フレームを符号化し、前記画面フレームコードストリームを取得するステップと、を含む、請求項5に記載の方法。
  7. 前記アプリケーションクライアントは、ゲームクライアントであり、
    前記第1の画面フレームのデータ量がデータ量閾値以上である場合、前記第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得するステップは、
    前記第1の画面フレームが前記ゲームクライアントのシーン切り替え時のゲーム画面フレームに属し、且つ前記第1の画面フレームのデータ量が前記データ量閾値以上である場合、前記第1の画面フレームに対して画面縮小調整を行い、前記第1の調整画面フレームを取得するステップ、を含む、請求項1に記載の方法。
  8. 前記アプリケーションクライアントの画面フレームについての単位伝送データ量及び単位伝送フレーム数を取得するステップと、
    前記単位伝送データ量及び前記単位伝送フレーム数に基づいて平均フレームデータ量を決定するステップと、
    前記平均フレームデータ量に基づいて前記データ量閾値を決定するステップと、をさらに含む、請求項1に記載の方法。
  9. 前記第1の調整画面フレームに対して超解像調整を行い、前記第2の画面フレームを取得するステップと、
    前記第2の画面フレームを前記第1の画面フレームの直後の画面フレームの参照画面フレームとするステップであって、前記第1の画面フレームの直後の画面フレームの参照画面フレームは、前記第1の画面フレームの直後の画面フレームを符号化するために使用される、ステップと、をさらに含む、請求項1に記載の方法。
  10. アプリケーションクライアントが実行するデータ処理方法であって、
    アプリケーションサーバにより送信された画面フレームコードストリームを取得するステップであって、前記画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、前記第1の調整画面フレームは、前記アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、前記第1の画面フレームのデータ量はデータ量閾値以上であり、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、ステップと、
    前記画面フレームコードストリームを復号し、前記第1の調整画面フレームを取得するステップと、
    前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整し、第2の画面フレームを取得し、前記第2の画面フレームを表示するステップと、を含む、方法。
  11. 前記画面フレームコードストリームは、前記第1の画面フレームに対して画面縮小調整を行う時の前記第1の画面フレームに対する横方向の縮小比率及び縦方向の縮小比率を含み、
    前記画面フレームコードストリームを復号し、前記第1の調整画面フレームを取得するステップは、
    前記画面フレームコードストリームから前記横方向の縮小比率及び前記縦方向の縮小比率を解析するステップと、
    前記画面フレームコードストリームを復号し、第1のコピー画面フレームを取得するステップであって、前記第1のコピー画面フレームは、前記アプリケーションサーバが前記第1の調整画面フレームを空白画面フレームにコピーすることによって得られ、前記空白画面フレームの解像度は前記第1の解像度である、ステップと、
    前記横方向の縮小比率及び前記縦方向の縮小比率に基づいて、前記第1のコピー画面フレームから前記第1の調整画面フレームを抽出するステップと、を含む、請求項10に記載の方法。
  12. 前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整し、第2の画面フレームを取得するステップは、
    前記横方向の縮小比率及び前記縦方向の縮小比率に基づいて、前記第1の調整画面フレームに対して超解像調整を行うステップと、
    超解像調整が行われた前記第1の調整画面フレームを前記第2の画面フレームとして決定するステップと、を含む、請求項11に記載の方法。
  13. 前記画面フレームコードストリームを復号し、第1のコピー画面フレームを取得するステップは、
    前記アプリケーションクライアントにおける前記第1の画面フレームの直前の画面フレームを前記第1の画面フレームの参照画面フレームとして取得するステップと、
    前記第1の画面フレームの参照画面フレームに対して画面縮小調整を行い、第2の調整画面フレームを取得するステップと、
    前記第2の調整画面フレームを前記空白画面フレームにコピーし、第2のコピー画面フレームを取得するステップと、
    前記第2のコピー画面フレームに基づいて前記画面フレームコードストリームを復号し、前記第1のコピー画面フレームを取得するステップと、を含む、請求項11に記載の方法。
  14. データ処理装置であって、
    符号化によりアプリケーションクライアントの第1の画面フレームを取得した場合、前記第1の画面フレームのデータ量を検出する画面符号化モジュールと、
    前記第1の画面フレームのデータ量がデータ量閾値以上である場合、前記第1の画面フレームに対して画面縮小調整を行い、第1の調整画面フレームを取得する縮小モジュールであって、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、縮小モジュールと、
    前記第1の調整画面フレームを符号化し、前記第1の調整画面フレームの画面フレームコードストリームを取得するコードストリーム符号化モジュールと、
    前記アプリケーションクライアントが前記画面フレームコードストリームに基づいて第2の画面フレームを表示するように、前記画面フレームコードストリームを前記アプリケーションクライアントに送信する送信モジュールであって、前記第2の画面フレームは、前記アプリケーションクライアントが前記画面フレームコードストリームを復号して前記第1の調整画面フレームを取得した後、前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整して得られる、送信モジュールと、を含む、装置。
  15. データ処理装置であって、
    アプリケーションサーバにより送信された画面フレームコードストリームを取得するコードストリーム取得モジュールであって、前記画面フレームコードストリームは、第1の調整画面フレームを符号化して得られ、前記第1の調整画面フレームは、アプリケーションクライアントの第1の画面フレームに対して画面縮小調整を行って得られ、前記第1の画面フレームのデータ量はデータ量閾値以上であり、前記第1の画面フレームの解像度は第1の解像度であり、前記第1の調整画面フレームの解像度は第2の解像度であり、前記第2の解像度は前記第1の解像度よりも低い、コードストリーム取得モジュールと、
    前記画面フレームコードストリームを復号し、前記第1の調整画面フレームを取得するコードストリーム復号モジュールと、
    前記第1の調整画面フレームの解像度を前記第1の解像度に戻すように調整し、第2の画面フレームを取得し、前記第2の画面フレームを表示する解像度調整モジュールと、を含む、装置。
  16. コンピュータ読み取り可能な命令が記憶されたメモリと、1つ又は複数のプロセッサとを含むコンピュータ機器であって、前記コンピュータ読み取り可能な命令が前記1つ又は複数のプロセッサにより実行される際に、前記1つ又は複数のプロセッサに請求項1乃至13の何れかに記載の方法のステップを実行させる、コンピュータ機器。
  17. コンピュータ読み取り可能な命令を含むコンピュータプログラムであって、前記コンピュータ読み取り可能な命令は、1つ又は複数のプロセッサにより実行される際に、請求項1乃至13の何れかに記載の方法のステップを実現する、コンピュータプログラム。
JP2023569620A 2021-08-24 2022-08-01 データ処理方法、装置、コンピュータ機器及びコンピュータプログラム Pending JP2024517915A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110974007.3A CN113422983B (zh) 2021-08-24 2021-08-24 数据处理方法、计算机设备和存储介质
CN202110974007.3 2021-08-24
PCT/CN2022/109380 WO2023024832A1 (zh) 2021-08-24 2022-08-01 数据处理方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
JP2024517915A true JP2024517915A (ja) 2024-04-23

Family

ID=77719343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023569620A Pending JP2024517915A (ja) 2021-08-24 2022-08-01 データ処理方法、装置、コンピュータ機器及びコンピュータプログラム

Country Status (5)

Country Link
US (1) US20240040147A1 (ja)
EP (1) EP4294021A1 (ja)
JP (1) JP2024517915A (ja)
CN (1) CN113422983B (ja)
WO (1) WO2023024832A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422983B (zh) * 2021-08-24 2021-11-23 腾讯科技(深圳)有限公司 数据处理方法、计算机设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464585C (zh) * 2006-05-16 2009-02-25 华为技术有限公司 一种视频压缩方法
CN101533474B (zh) * 2008-03-12 2014-06-04 三星电子株式会社 基于视频图像的字符和图像识别***和方法
JP4957825B2 (ja) * 2010-03-25 2012-06-20 カシオ計算機株式会社 撮像装置、及びプログラム
CN102647590A (zh) * 2012-04-17 2012-08-22 华为终端有限公司 图像压缩方法和装置
CN103796013A (zh) * 2014-01-17 2014-05-14 五八同城信息技术有限公司 一种移动端即时通讯中的图片压缩方法
JP2015189058A (ja) * 2014-03-28 2015-11-02 理想科学工業株式会社 画像処理装置
CN105306773A (zh) * 2015-09-30 2016-02-03 北京恒华伟业科技股份有限公司 一种图片传输方法和装置
CN110149555B (zh) * 2018-08-14 2022-07-22 腾讯科技(深圳)有限公司 视频处理方法和视频接收装置
CN111886864A (zh) * 2019-03-01 2020-11-03 阿里巴巴集团控股有限公司 分辨率自适应视频编码
CN111135569B (zh) * 2019-12-20 2024-01-19 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111681291A (zh) * 2020-04-27 2020-09-18 中国平安财产保险股份有限公司 图像处理方法、装置、设备及计算机可读存储介质
CN111681167B (zh) * 2020-06-03 2021-03-12 腾讯科技(深圳)有限公司 画质调整方法和装置、存储介质及电子设备
CN112468855B (zh) * 2020-11-11 2023-01-24 西安万像电子科技有限公司 数据传输方法及装置、非易失性存储介质
CN112601068B (zh) * 2020-12-15 2023-01-24 山东浪潮科学研究院有限公司 视频数据增广方法、装置及计算机可读介质
CN112839184B (zh) * 2020-12-31 2022-02-01 深圳追一科技有限公司 图像处理方法、装置、电子设备及存储介质
CN113422983B (zh) * 2021-08-24 2021-11-23 腾讯科技(深圳)有限公司 数据处理方法、计算机设备和存储介质

Also Published As

Publication number Publication date
US20240040147A1 (en) 2024-02-01
WO2023024832A1 (zh) 2023-03-02
CN113422983A (zh) 2021-09-21
CN113422983B (zh) 2021-11-23
EP4294021A1 (en) 2023-12-20

Similar Documents

Publication Publication Date Title
US11775247B2 (en) Real-time screen sharing
CN111937390B (zh) 一种视频解码方法、装置、设备和存储介质
CN113767633A (zh) 用于解码器侧帧内模式导出和自适应帧内预测模式之间的交互的方法和装置
CN113015021A (zh) 云游戏的实现方法、装置、介质及电子设备
CN112997503B (zh) 对已编码视频序列进行解码的方法、装置及存储介质
CN111641836A (zh) 点云压缩的方法、装置、计算机设备和存储介质
CN113711605B (zh) 视频编解码的方法、装置、***以及计算机可读介质
CN112188209B (zh) 视频流解码方法、装置、计算机设备和存储介质
CN111885346A (zh) 画面码流合成方法、终端、电子设备和存储介质
CN113424532A (zh) 视频编解码方法和装置
US20240098310A1 (en) Encoding method, real-time communication method, apparatus, device, and storage medium
JP2024517915A (ja) データ処理方法、装置、コンピュータ機器及びコンピュータプログラム
CN113348666A (zh) 用于图块组识别的方法
CN114641976B (zh) 用于流式传输媒体内容的方法、设备和计算机可读介质
WO2024078066A1 (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
CN113994686A (zh) 点云编码的数据单元和参数集设计
CN115225615B (zh) 虚幻引擎像素流送方法及装置
JP7405976B2 (ja) クラウドワークフローにおけるタイムアウト及び完了データ入力のシグナリング
CN116567242A (zh) 图像处理方法、装置及设备
CN115867906A (zh) 使用基于会话的dash操作的基于会话的描述url定制
CN114514752A (zh) 用于交互式播放dash内容的应用程序预期交互式选择信息
CN114270329A (zh) 清单内更新事件
WO2014155451A1 (ja) 画像符号化装置及び画像符号化方法
CN103841423A (zh) 图像处理设备、图像处理方法和程序
CN114584786B (zh) 基于视频解码的内存分配方法及***

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231109