JPWO2020194958A1 - 画像表示制御装置、送信装置、画像表示制御方法及びプログラム - Google Patents

画像表示制御装置、送信装置、画像表示制御方法及びプログラム Download PDF

Info

Publication number
JPWO2020194958A1
JPWO2020194958A1 JP2021508768A JP2021508768A JPWO2020194958A1 JP WO2020194958 A1 JPWO2020194958 A1 JP WO2020194958A1 JP 2021508768 A JP2021508768 A JP 2021508768A JP 2021508768 A JP2021508768 A JP 2021508768A JP WO2020194958 A1 JPWO2020194958 A1 JP WO2020194958A1
Authority
JP
Japan
Prior art keywords
image
data
image data
alternative
feature amount
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.)
Granted
Application number
JP2021508768A
Other languages
English (en)
Other versions
JP7038903B2 (ja
Inventor
活志 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JPWO2020194958A1 publication Critical patent/JPWO2020194958A1/ja
Application granted granted Critical
Publication of JP7038903B2 publication Critical patent/JP7038903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • 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/4092Image resolution transcoding, e.g. by using client-server architectures
    • 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
    • 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/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/16Determination of a pixel data signal depending on the signal applied in the previous frame
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/025LAN communication management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

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)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

画像に基づくデータの受信の失敗が確認されてから当該データの再送信を開始したのでは表示されるべきタイミングまでに当該データを受信できないおそれを低減できる画像表示制御装置、送信装置、画像表示制御方法及びプログラムを提供する。アップスケール部(34)は、画像データに基づいて、表示対象画像を生成する。代替画像生成部(38)は、第1画像データに基づいて、第2画像データに対応する代替画像を生成する。表示制御部(40)は、第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される表示対象画像、又は、第1画像データに基づいて生成される代替画像のいずれか一方を表示させる。代替画像生成部(38)は、第2画像データの受信成否が確認されるよりも前に、第1画像データに基づく第2画像データに対応する代替画像の生成を開始する。

Description

本発明は、画像表示制御装置、送信装置、画像表示制御方法及びプログラムに関する。
近年注目されているクラウドゲーミングサービスの技術においては、ゲームのプログラムが実行されるクラウドサーバと通信可能な端末に対して当該ゲームをプレイするユーザが操作を行うと、当該操作に応じた操作信号が端末からクラウドサーバに送信される。そしてクラウドサーバにおいて当該操作信号に応じた処理などを含むゲーム処理が実行され、当該ゲームのプレイ状況を表すプレイ画像が生成される。そして、当該プレイ画像に基づくデータがクラウドサーバから端末に送信され、端末において当該データに基づいて生成される画像が表示される。
サーバやネットワークの過負荷や接続不安定性の影響によって、データが端末に届かない、あるいは、端末が受信したデータの一部又は全部が破損している、などのように、端末がデータの受信に失敗することがある。
ここで、データの受信の失敗が確認されてから当該データの再送信を開始したのでは、表示されるべきタイミングまでに当該データを受信できないおそれがある。クラウドゲーミングサービスなどのような低レイテンシが要求される状況においては特にこのようになる可能性が高い。なおこのことはクラウドゲーミングサービスが提供される状況のみならず、画像に基づくデータが通信される状況において一般的にあてはまる。
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、画像に基づくデータの受信の失敗が確認されてから当該データの再送信を開始したのでは表示されるべきタイミングまでに当該データを受信できないおそれを低減できる画像表示制御装置、送信装置、画像表示制御方法及びプログラムを提供することにある。
上記課題を解決するために、本発明に係る画像表示制御装置は、画像データを繰り返し受信する画像データ受信部と、前記画像データに基づいて、表示対象画像を生成する表示対象画像生成部と、第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する代替画像を生成する代替画像生成部と、前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させる表示制御部と、を含み、前記代替画像生成部は、前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づく前記第2画像データに対応する前記代替画像の生成を開始する。
本発明の一態様では、前記画像データ受信部は、オリジナル画像をダウンスケールしたダウンスケール画像を表す前記画像データを受信し、前記表示対象画像生成部は、前記ダウンスケール画像よりも高解像度である前記表示対象画像を生成し、前記代替画像生成部は、前記ダウンスケール画像よりも高解像度である前記代替画像を生成する。
また、本発明の一態様では、前記代替画像生成部は、前記第2画像データの一部を受信した場合は、当該一部にさらに基づいて、前記代替画像を生成する。
あるいは、前記画像データ受信部は、さらに、前記画像データに関連付けられている、前記オリジナル画像の特徴量、及び、前記ダウンスケール画像のエンコードに用いられるパラメータである特徴量の少なくとも一方を示す特徴量データを受信し、前記表示対象画像生成部は、前記画像データ、及び、当該画像データに関連付けられている前記特徴量データに基づいて、前記表示対象画像を生成する。
この場合に、前記代替画像生成部は、前記第1画像データ及び当該第1画像データに関連付けられている前記特徴量データに基づいて、前記代替画像を生成してもよい。
あるいは、前記代替画像生成部は、前記第1画像データ及び前記第2画像データに関連付けられている前記特徴量データに基づいて、前記代替画像を生成してもよい。
あるいは、前記代替画像生成部は、前記第2画像データ及び当該第2画像データに関連付けられている前記特徴量データのうちの一部を受信した場合は、当該一部にさらに基づいて、前記代替画像を生成する。
ここで、前記特徴量データには、前記オリジナル画像の特徴点、エッジ強度、前記オリジナル画像に含まれる各画素の奥行き、前記オリジナル画像のテクスチャの種類、オプティカル・フロー、及び、画像内の矩形領域がどの方向にどの速度で動いているかを示す情報のうちの少なくとも1つを示すデータが含まれていてもよい。
また、本発明の一態様では、前記代替画像生成部は、受信した前記画像データの時系列に基づいて、前記代替画像を生成する。
また、本発明に係る送信装置は、オリジナル画像をダウンスケールしたダウンスケール画像を表す画像データを生成する画像データ生成部と、前記画像データを繰り返し受信する画像データ受信部と、前記画像データに基づいて、前記ダウンスケール画像よりも高解像度である表示対象画像を生成する表示対象画像生成部と、第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する、前記ダウンスケール画像よりも高解像度である代替画像を生成する代替画像生成部と、前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させる表示制御部と、を含み、前記代替画像生成部は、前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づく前記第2画像データに対応する前記代替画像の生成を開始する画像表示制御装置に、前記画像データ生成部により生成される画像データを送信する送信部と、を含む。
本発明の一態様では、前記送信部は、さらに、前記画像データに関連付けられている、前記オリジナル画像の特徴量、及び、前記ダウンスケール画像のエンコードに用いられるパラメータである特徴量の少なくとも一方を示す特徴量データを送信し、前記送信部は、前記特徴量データを、当該特徴量データに関連付けられている前記画像データよりも優先して前記画像表示制御装置に送信する。
また、本発明に係る画像表示制御方法は、画像データを繰り返し受信するステップと、前記画像データに基づいて、表示対象画像を生成するステップと、第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する代替画像を生成するステップと、前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させるステップと、を含み、前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づいて前記第2画像データに対応する前記代替画像を生成するステップが開始される。
また、本発明に係るプログラムは、画像データを繰り返し受信する手順、前記画像データに基づいて、表示対象画像を生成する手順、第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する代替画像を生成する手順、前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させる手順、をコンピュータに実行させ、前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づいて前記第2画像データに対応する前記代替画像を生成する手順が開始される。
本発明の一実施形態に係るクラウドゲーミングシステムの全体構成の一例を示す図である。 本発明の一実施形態に係るクラウドゲーミングシステムで実装される機能の一例を示す機能ブロック図である。 本発明の一実施形態に係るクラウドサーバにおいて行われる処理の流れの一例を示すフロー図である。 本発明の一実施形態に係る端末において行われる処理の流れの一例を示すフロー図である。 アップスケールモデルの一例を模式的に示す図である。 図5に示すアップスケールモデルの学習の一例を模式的に示す図である。 代替画像生成モデルの一例を模式的に示す図である。 図7に示す代替画像生成モデルの学習の一例を模式的に示す図である。 代替画像更新モデルの一例を模式的に示す図である。 図9に示す代替画像更新モデルの学習の一例を模式的に示す図である。 本発明の一実施形態に係るクラウドゲーミングシステムで実装される機能の別の一例を示す機能ブロック図である。 本発明の一実施形態に係るクラウドサーバにおいて行われる処理の流れの別の一例を示すフロー図である。 本発明の一実施形態に係る端末において行われる処理の流れの別の一例を示すフロー図である。 アップスケールモデルの別の一例を模式的に示す図である。 図14に示すアップスケールモデルの学習の一例を模式的に示す図である。 代替画像生成モデルの別の一例を模式的に示す図である。 図16に示す代替画像生成モデルの学習の一例を模式的に示す図である。 特徴量データ更新モデルの一例を模式的に示す図である。 図18に示す特徴量データ更新モデルの学習の一例を模式的に示す図である。 代替画像更新モデルの別の一例を模式的に示す図である。 図20に示す代替画像更新モデルの学習の一例を模式的に示す図である。
図1は、本発明の一実施形態に係るクラウドゲーミングシステム1の全体構成の一例を示す図である。図1に示すように、本実施形態に係るクラウドゲーミングシステム1には、いずれもコンピュータを中心に構成された、クラウドサーバ10と端末12とが含まれている。クラウドサーバ10と端末12とは、インターネットなどのコンピュータネットワーク14に接続されており、クラウドサーバ10と端末12とは互いに通信可能となっている。
本実施形態に係るクラウドサーバ10は、例えば、クラウドゲーミングサービスに係るゲームのプログラムを実行するサーバコンピュータである。クラウドサーバ10は、当該ゲームのプレイ状況を表す動画像を、当該ゲームをプレイしているユーザが利用している端末12に配信する。
図1に示すように、クラウドサーバ10には、例えば、プロセッサ10a、記憶部10b、通信部10c、エンコード・デコード部10dが含まれている。
プロセッサ10aは、例えばCPU等のプログラム制御デバイスであって、記憶部10bに記憶されたプログラムに従って各種の情報処理を実行する。本実施形態に係るプロセッサ10aには、当該CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。
記憶部10bは、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部10bには、プロセッサ10aによって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部10bには、プロセッサ10aに含まれるGPUにより画像が描画されるフレームバッファの領域が確保されている。
通信部10cは、例えばコンピュータネットワーク14を介して、端末12などといったコンピュータとの間でデータを授受するための通信インタフェースである。
エンコード・デコード部10dは、例えば画像をエンコードして画像データを生成するエンコーダと画像データをデコードして画像を生成するデコーダとを含む。
本実施形態に係る端末12は、例えばクラウドゲーミングサービスを利用するユーザが利用する、ゲームコンソール、パーソナルコンピュータ、タブレット端末、スマートフォンなどのコンピュータである。
図1に示すように、端末12には、例えば、プロセッサ12a、記憶部12b、通信部12c、エンコード・デコード部12d、操作部12e、表示部12f、が含まれている。
プロセッサ12aは、例えばCPU等のプログラム制御デバイスであって、記憶部12bに記憶されたプログラムに従って各種の情報処理を実行する。本実施形態に係るプロセッサ12aには、当該CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。
記憶部12bは、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部12bには、プロセッサ12aによって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部12bには、プロセッサ12aに含まれるGPUにより画像が描画されるフレームバッファの領域が確保されている。
通信部12cは、例えばコンピュータネットワーク14を介して、クラウドサーバ10などといったコンピュータとの間でデータを授受するための通信インタフェースである。
エンコード・デコード部12dは、例えばエンコーダとデコーダとを含む。当該エンコーダは、入力される画像をエンコードすることにより当該画像を表す画像データを生成する。また当該デコーダは、入力される画像データをデコードして、当該画像データが表す画像を出力する。
操作部12eは、例えばプロセッサ12aに対する操作入力を行うための操作部材である。
表示部12fは、例えば液晶ディスプレイや有機ELディスプレイなどの表示デバイスである。
本実施形態に係る端末12に対するゲームに関する操作が操作部12eを介して行われると、当該操作を表す操作信号が端末12からクラウドサーバ10に送信される。そして、クラウドサーバ10において当該操作信号に応じたゲーム処理が実行される。そして操作信号の影響を受けた当該ゲームのプレイ状況を表すプレイ画像が生成される。本実施形態では、所定のフレームレート(例えば60fps)で、ゲーム処理及びプレイ画像の生成が実行される。なお、本実施形態において、可変のフレームレートで、ゲーム処理及びプレイ画像の生成が実行されてもよい。
ここで本実施形態では当該プレイ画像を表す画像データではなく、当該プレイ画像をダウンスケールした画像を表す画像データが、クラウドサーバ10から端末12に送信される。以下、ダウンスケールされる前のプレイ画像をオリジナル画像と呼び、オリジナル画像をダウンスケールした画像をダウンスケール画像と呼ぶこととする。ここで、オリジナル画像が4K画像であり、ダウンスケール画像が2K画像であってもよい。
そして端末12は、クラウドサーバ10から受信する画像データに基づいて、上述のダウンスケール画像よりも高解像度である画像を生成する。以下、このようにして生成される、ダウンスケール画像よりも高解像度である画像を、アップスケール画像と呼ぶこととする。そして、端末12の表示部12fにアップスケール画像が表示される。
サーバやネットワークの過負荷や接続不安定性によって、画像データが端末12に届かない、あるいは、端末12が受信した画像データの一部又は全部が破損している、などのように、端末12が画像データの受信に失敗することがある。
ここで、例えばクラウドゲーミングサービスなどのような低レイテンシが要求される状況においては、画像データの受信の失敗が確認されてから当該画像データの再送信を開始したのでは、表示されるべきタイミングまでに当該画像データを受信できないおそれがある。
そこで本実施形態では以下のようにして、画像データの受信の失敗が確認されてから当該データの再送信を開始したのでは表示されるべきタイミングまでに当該画像データを受信できないおそれを低減できるようにした。
以下、画像データの受信の失敗が確認されてから当該データの再送信を開始したのでは表示されるべきタイミングまでに当該画像データを受信できないおそれを低減するための処理を中心に、本実施形態に係るクラウドゲーミングシステム1の機能、及び、クラウドゲーミングシステム1で実行される処理について、さらに説明する。
図2は、本実施形態に係るクラウドゲーミングシステム1で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るクラウドゲーミングシステム1で、図2に示す機能のすべてが実装される必要はなく、また、図2に示す機能以外の機能(例えば、操作信号等に基づくゲーム処理の機能など)が実装されていても構わない。
図2に示すように、本実施形態に係るクラウドサーバ10には、機能的には例えば、オリジナル画像生成部20、ダウンスケール部22、エンコード処理部24、データ送信部26、が含まれる。
オリジナル画像生成部20、ダウンスケール部22、は、プロセッサ10aを主として実装される。エンコード処理部24は、エンコード・デコード部10dを主として実装される。データ送信部26は、通信部10cを主として実装される。
そして以上の機能は、コンピュータであるクラウドサーバ10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ10aで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してクラウドサーバ10に供給される。
また、図2に示すように、本実施形態に係る端末12には、機能的には例えば、データ受信部30、デコード処理部32、アップスケール部34、画像記憶部36、代替画像生成部38、表示制御部40、が含まれる。データ受信部30は、通信部12cを主として実装される。デコード処理部32は、エンコード・デコード部12dを主として実装される。アップスケール部34、代替画像生成部38は、プロセッサ12a及び記憶部12bを主として実装される。画像記憶部36は、記憶部12bを主として実装される。表示制御部40は、プロセッサ12a及び表示部12fを主として実装される。端末12は、本実施形態において、画像の表示制御を行う画像表示制御装置としての役割を担うこととなる。
そして以上の機能は、コンピュータである端末12にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12aで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して端末12に供給される。
オリジナル画像生成部20は、本実施形態では例えば、上述のオリジナル画像を生成する。上述の通り、オリジナル画像は、例えば、ゲームのプレイ状況を表すプレイ画像である。
ダウンスケール部22は、本実施形態では例えば、オリジナル画像生成部20が生成するオリジナル画像をダウンスケールしたダウンスケール画像を生成する。
エンコード処理部24は、本実施形態では例えば、オリジナル画像をダウンスケールしたダウンスケール画像を表す画像データを生成する。例えば、エンコード処理部24は、ダウンスケール部22により生成されるダウンスケール画像をエンコードすることで、当該ダウンスケール画像を表す画像データを生成する。ここでダウンスケール画像をエンコードすることで、当該ダウンスケール画像が圧縮され、当該ダウンスケール画像よりもサイズが小さな画像データが生成されてもよい。ダウンスケール画像のエンコードに用いられるエンコード方式として、MPEG−4 AVC(Advanced Video Coding)/H.264/やHEVC(High Efficiency Video Coding)/H265などが挙げられる。
データ送信部26は、エンコード処理部24が生成する画像データを端末12に送信する。
データ受信部30は、本実施形態では例えば、クラウドサーバ10から送信される、上述の画像データを受信する。
本実施形態では、データ送信部26による画像データの送信、及び、データ受信部30による画像データの受信は、例えば所定の時間間隔で、繰り返し実行される。
デコード処理部32は、本実施形態では例えば、データ受信部30が受信する画像データをデコードすることにより画像を生成する。以下、このようにして生成される画像をデコード画像と呼ぶこととする。本実施形態では、デコード画像は、ダウンスケール画像と同じ解像度の画像(例えば2K画像)である。ダウンスケール画像のエンコード方式が不可逆方式である場合は、通常、デコード画像はダウンスケール画像とは完全には同じではない。
アップスケール部34は、本実施形態では例えば、データ受信部30が受信する画像データに基づいて、表示部12fに表示される表示対象画像を生成する。ここでは例えば、表示対象画像として、ダウンスケール部22により生成されるダウンスケール画像よりも高解像度であるアップスケール画像が生成される。アップスケール画像は、オリジナル画像と同じ解像度の画像(例えば4K画像)であってもよい。アップスケール画像の生成処理の詳細については後述する。
画像記憶部36は、本実施形態では例えば、端末12において生成される画像を記憶する。ここで画像記憶部36が、アップスケール部34が生成したアップスケール画像を記憶してもよい。また、画像記憶部36が、代替画像生成部38が生成する後述の代替画像を記憶してもよい。
代替画像生成部38は、本実施形態では例えば、第1のタイミングに受信した画像データである第1画像データに基づいて、当該第1のタイミングよりも後である第2のタイミングに受信する予定の画像データである第2画像データに対応する代替画像を生成する。ここで第1画像データに基づいて生成される代替画像は、第1画像データに基づいて生成される表示対象画像とは異なる画像である。そして、代替画像生成部38は、本実施形態では例えば、第2画像データの受信成否が確認されるよりも前に、第1画像データに基づく第2画像データに対応する代替画像の生成を開始する。ここで例えば、受信した第1画像データに基づいて、第1画像データの次に受信する予定である第2画像データに対応する代替画像が生成されてもよい。代替画像は、ダウンスケール画像よりも高解像度である画像(例えば、アップスケール画像と同じ解像度の画像(例えば4K画像))であってもよい。また、代替画像生成部38は、第2画像データの一部を受信した場合は、当該一部にさらに基づいて、代替画像を生成してもよい。代替画像の生成処理の詳細については後述する。
表示制御部40は、本実施形態では例えば、第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される表示対象画像、又は、上述の第1画像データに基づいて生成される代替画像のいずれか一方を表示させる。ここでは例えば、表示制御部40は、端末12の表示部12fにアップスケール画像又は代替画像のいずれか一方を表示させる。
ここで、本実施形態に係るクラウドサーバ10において実行される、画像データの生成処理及び送信処理の流れの一例を、図3に例示するフロー図を参照しながら説明する。図3に示すS101〜S104に示す処理は、所定のフレームレートで(例えば60fpsで)繰り返し実行される。なお、S101〜S104に示す処理が、可変のフレームレートで繰り返し実行されてもよい。
まず、オリジナル画像生成部20が、当該フレームにおけるオリジナル画像を生成する(S101)。ここで上述のように、当該フレームにおいて端末12から受け付ける操作信号の影響を受けた当該ゲームのプレイ状況を表すオリジナル画像が生成されてもよい。
そして、ダウンスケール部22が、S101に示す処理で生成されたオリジナル画像に対してダウンスケール処理を実行することにより、ダウンスケール画像を生成する(S102)。
そして、エンコード処理部24が、S102に示す処理で生成されたダウンスケール画像に対してエンコード処理を実行することにより、画像データを生成する(S103)。
そして、データ送信部26が、S103に示す処理で生成された画像データを、端末12に送信し(S104)、S101に示す処理に戻る。
次に、本実施形態に係る端末12において実行される、アップスケール画像、又は、代替画像の表示制御処理の流れの一例を、図4に例示するフロー図を参照しながら説明する。図4に示すS201〜S212に示す処理は、所定のフレームレートで(例えば60fpsで)繰り返し実行される。なお、S201〜S212に示す処理が、可変のフレームレートで繰り返し実行されてもよい。
まず、データ受信部30が、S104に示す処理でクラウドサーバ10から送信された画像データを受信する(S201)。
そして、デコード処理部32が、S201に示す処理で受信した画像データに対してデコード処理を実行することにより、デコード画像を生成する(S202)。
そして、アップスケール部34が、当該フレームにおける画像データの全部の受信に成功したか否かを確認する(S203)。画像データが端末12に届かない場合や、端末12が受信した画像データの全部が破損している場合は、S203に示す処理で当該フレームにおける画像データの全部の受信に失敗したことが確認される。またS202に示す処理でデコード画像の全部が生成されなかった場合は、S203に示す処理で当該フレームにおける画像データの全部の受信に失敗したことが確認されてもよい。またここで、データ受信部30が、画像データの全部の受信に失敗した場合に、その旨をアップスケール部34に通知してもよい。そして、アップスケール部34が当該通知を受信した際に、S203に示す処理で当該フレームにおける画像データの全部の受信に失敗したことが確認されてもよい。
S203に示す処理で当該フレームにおける画像データの全部の受信に成功したことが確認されたとする(S203:Y)。この場合は、アップスケール部34が、S202に示す処理で生成されたデコード画像に対するアップスケール処理を実行することにより、アップスケール画像を生成する(S204)。ここでは、図5に例示する学習済の機械学習モデルであるアップスケールモデル50を用いたアップスケール処理が実行される。ここでアップスケールモデル50が、深層学習の技術を用いたものであってもよい。アップスケールモデル50には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S204に示す処理では例えば、S202に示す処理で生成された当該フレームにおけるデコード画像がアップスケールモデル50に入力される。そして、アップスケールモデル50から、当該入力に応じたアップスケール画像が出力される。ここでアップスケールモデル50は、例えば、アップスケール部34に含まれる。
図6は、図5に示すアップスケールモデル50の学習の一例を模式的に示す図である。アップスケールモデル50では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力画像を含む学習入力データと、アップスケールモデル50の出力であるアップスケール画像と比較される教師データであるアップスケール教師画像と、が含まれる。
例えば、高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像が生成されてもよい。
そして、上述の学習入力画像と上述の高解像度画像であるアップスケール教師画像とを含む学習データが生成されてもよい。そして、多くの高解像度画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、アップスケールモデル50の学習が実行されてもよい。例えば、学習データに含まれる学習入力データがアップスケールモデル50に入力された際の出力であるアップスケール画像と、当該学習データに含まれるアップスケール教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)によりアップスケールモデル50のパラメータが更新されることにより、アップスケールモデル50の学習が実行されてもよい。
なお、アップスケールモデル50の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによってアップスケールモデル50の学習が実行されてもよい。
S204に示す処理が終了すると、代替画像生成部38が、S201に示す処理に受信した画像データに基づいて生成された画像であって、代替画像の生成に用いられる基礎画像に基づく、次フレーム用の代替画像の生成を開始する(S205)。ここで例えば、アップスケール部34が、S204に示す処理で生成されたアップスケール画像を基礎画像として画像記憶部36に記憶させてもよい。また例えば、アップスケール部34が、S202に示す処理で生成されたデコード画像を基礎画像として画像記憶部36に記憶させてもよい。そして、代替画像生成部38が、画像記憶部36に記憶された基礎画像に基づく代替画像の生成を開始してもよい。
ここでは、図7に例示する学習済の機械学習モデルである代替画像生成モデル52を用いた代替画像生成処理の実行が開始される。ここで代替画像生成モデル52が、深層学習の技術を用いたものであってもよい。代替画像生成モデル52には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S205に示す処理では例えば、当該フレームにおいて画像記憶部36に記憶された基礎画像が代替画像生成モデル52に入力される。そして、代替画像生成モデル52から、当該入力に応じた代替画像が出力される。ここで代替画像生成モデル52は、例えば、代替画像生成部38に含まれる。
図8は、図7に示す代替画像生成モデル52の学習の一例を模式的に示す図である。代替画像生成モデル52では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力画像を含む学習入力データと、代替画像生成モデル52の出力である代替画像と比較される教師データである代替教師画像と、が含まれる。
例えば基礎画像がデコード画像であるとする。この場合、所与の動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されてもよい。そしてこのことによって、低解像度画像(例えば2K画像)である学習入力画像が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像が生成されてもよい。
そして、上述の学習入力画像を含む学習入力データと、上述の所与の動画像における当該学習入力画像に対応するフレーム画像の次のフレームのフレーム画像である代替教師画像とを含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像生成モデル52の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像生成モデル52に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像生成モデル52のパラメータが更新されることにより、代替画像生成モデル52の学習が実行されてもよい。
なお、代替画像生成モデル52の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによって代替画像生成モデル52の学習が実行されてもよい。
そして、代替画像生成部38が、S205に示す処理で生成が開始され、当該生成が終了した、次フレーム用の代替画像を画像記憶部36に記憶させる(S206)。
そして、表示制御部40が、S204に示す処理で生成されたアップスケール画像を表示部12fに表示させて(S207)、S201に示す処理に戻る。
S203に示す処理において、当該フレームにおける画像データの全部の受信に失敗したことが確認されたとする(S203:N)。この場合は、代替画像生成部38が、当該フレームにおける画像データの一部の受信に成功したか否かを確認する(S208)。端末12が受信した画像データの一部が破損している場合は、S208に示す処理で当該フレームにおける画像データの一部の受信に失敗したことが確認される。またS202に示す処理でデコード画像の一部が生成されなかった場合は、S208に示す処理で当該フレームにおける画像データの一部の受信に失敗したことが確認されてもよい。またここで、データ受信部30が、画像データの一部の受信に失敗した場合に、その旨を代替画像生成部38に通知してもよい。そして、代替画像生成部38が当該通知を受信した際に、S208に示す処理で当該フレームにおける画像データの一部の受信に失敗したことが確認されてもよい。
S208に示す処理で当該フレームにおける画像データの一部の受信に成功したことが確認されたとする(S208:Y)。この場合は、代替画像生成部38が、当該フレームにおいて受信した画像データの一部に基づいて、当該フレーム用の代替画像を更新する(S209)。S209に示す処理では、当該フレーム用の代替画像に当該フレームにおいて受信した画像データの一部が反映される。ここでは、図9に例示する学習済の機械学習モデルである代替画像更新モデル54を用いた代替画像の更新処理が実行される。ここで代替画像更新モデル54が、深層学習の技術を用いたものであってもよい。代替画像更新モデル54には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S208に示す処理では例えば、直前のフレームのS206に示す処理で記憶された第1代替画像と、当該フレームにおいて受信した画像データの一部である部分画像データと、が代替画像更新モデル54に入力される。そして、代替画像更新モデル54から、当該入力に応じた第2代替画像が出力される。このようにして、直前のフレームのS206に示す処理で記憶された第1代替画像は第2代替画像に更新される。ここで代替画像更新モデル54は、例えば、代替画像生成部38に含まれる。
図10は、図9に示す代替画像更新モデル54の学習の一例を模式的に示す図である。代替画像更新モデル54では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力画像と学習入力部分画像データを含む学習入力データと、代替画像更新モデル54の出力である代替画像と比較される教師データである代替教師画像と、が含まれる。
例えば基礎画像がデコード画像であるとする。この場合、所与の動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されてもよい。そしてこのことによって、低解像度画像(例えば2K画像)である学習入力画像が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像が生成されてもよい。
そして、上述の所与の動画像における当該学習入力画像に対応するフレーム画像の次のフレームのフレーム画像に対して上述のダウンスケール処理、及び、上述のエンコード処理が実行されることにより生成される画像データの一部である学習入力部分画像データが生成されてもよい。
そして、上述の学習入力画像と上述の学習入力部分画像データとを含む学習入力データ、及び、上述の所与の動画像における当該学習入力画像に対応するフレーム画像の次のフレームのフレーム画像である代替教師画像とを含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像更新モデル54の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像更新モデル54に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像更新モデル54のパラメータが更新されることにより、代替画像更新モデル54の学習が実行されてもよい。
なお、代替画像更新モデル54の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによって代替画像更新モデル54の学習が実行されてもよい。
S209に示す処理が終了した場合、又は、S208に示す処理で当該フレームにおける画像データの一部の受信に成功しなかったことが確認された場合は(S208:N)、代替画像生成部38が、次フレーム用の代替画像の生成を開始する(S210)。ここで、S209に示す処理が終了した場合は、代替画像生成部38が、S209に示す処理で更新された代替画像を基礎画像として画像記憶部36に記憶させてもよい。そして、代替画像生成部38が、当該基礎画像に基づいて、次フレーム用の代替画像の生成を開始してもよい。また、S208に示す処理で当該フレームにおける画像データの一部の受信に成功しなかった場合は、直前のフレームのS206に示す処理で記憶された代替画像を基礎画像として画像記憶部36に記憶させてもよい。そして、代替画像生成部38が、当該基礎画像に基づいて、次フレーム用の代替画像の生成を開始してもよい。
ここでは、図7に例示する学習済の機械学習モデルである代替画像生成モデル52を用いた代替画像生成処理の実行が開始される。ここで代替画像生成モデル52が、深層学習の技術を用いたものであってもよい。
そして、代替画像生成部38が、S210に示す処理で生成が開始され、当該生成が終了した、次フレーム用の代替画像を画像記憶部36に記憶させる(S211)。
そして、表示制御部40が、当該フレーム用の代替画像を表示部12fに表示させて(S212)、S201に示す処理に戻る。
本処理例において、n番目のフレームにおいて、n番目のフレームにおける画像データの全部の受信に成功したことが確認されたとする(S203:Y)。この場合は、n番目のフレームにおいて受信した画像データに基づいて生成されるアップスケール画像が表示される(S207)。またこの場合は、n番目のフレームにおいて、当該アップスケール画像に基づいて、(n+1)番目のフレーム用の代替画像が生成される(S205、S206)。
n番目のフレームにおいて、n番目のフレームにおける画像データの全部の受信に失敗し、n番目のフレームにおける画像データの一部の受信に成功したことが確認されたとする(S203:N、S208:Y)。この場合は、n番目のフレームにおいて、(n−1)番目のフレームで生成された、n番目のフレーム用の代替画像が更新される(S209)。そして更新後のn番目のフレーム用の代替画像が表示される(S212)。またこの場合は、n番目のフレームにおいて、更新後のn番目のフレーム用の代替画像に基づいて、(n+1)番目のフレーム用の代替画像が生成される(S210、S211)。
n番目のフレームにおいて、n番目のフレームにおける画像データの全部の受信に失敗し、n番目のフレームにおける画像データの一部の受信に成功しなかったことが確認されたとする(S203:N、S208:N)。この場合は、n番目のフレームにおいて、(n−1)番目のフレームで生成された、n番目のフレーム用の代替画像が表示される(S212)。またこの場合は、n番目のフレームにおいて、(n−1)番目のフレームで生成されたn番目のフレーム用の代替画像に基づいて、(n+1)番目のフレーム用の代替画像が生成される(S210、S211)。
また、本処理例において、次フレーム用の代替画像の生成の開始、及び、次フレーム用の代替画像の記憶の終了を待つことなく、アップスケール画像の表示、あるいは、当該フレーム用の代替画像の表示が実行されてもよい。
また、代替画像更新モデル54が、本来表示されるべき画像とは異なる虚構の画像が第2代替画像として出力されるか否かを示す判定値を出力するものであってもよい。例えば、本来表示されるべき画像とは異なる虚構の画像が第2代替画像として出力される場合は、判定値「1」が出力され、本来表示されるべき画像が第2代替画像として出力される場合は、判定値「0」が出力されてもよい。この場合、学習入力データの入力に応じて代替画像更新モデル54が出力する判定値と比較される、当該学習入力データに応じた所与の学習判定値を含む教師データを用いた代替画像更新モデル54の学習が実行されてもよい。この場合、S209に示す処理で、代替画像更新モデル54から当該判定値が併せて出力されてもよい。
そして当該判定値に基づいて、S212に示す処理で、表示制御部40が、当該フレームで生成された代替画像を表示部12fに表示させるか否かを制御してもよい。例えば、代替画像更新モデル54から判定値「1」が出力された場合は、表示制御部40は、代替画像が表示されないよう制御してもよい。また、代替画像更新モデル54から判定値「0」が出力された場合は、表示制御部40は、代替画像が表示されるよう制御してもよい。
また、代替画像生成モデル52についても同様に、本来表示されるべき画像とは異なる虚構の画像が代替画像として出力されるか否かを示す判定値を出力するものであってもよい。例えば、本来表示されるべき画像とは異なる虚構の画像が代替画像として出力される場合は、判定値「1」が出力され、本来表示されるべき画像が代替画像として出力される場合は、判定値「0」が出力されてもよい。この場合、学習入力データの入力に応じて代替画像生成モデル52が出力する判定値と比較される、当該学習入力データに応じた所与の学習判定値を含む教師データを用いた代替画像生成モデル52の学習が実行されてもよい。この場合、S205、又は、S210に示す処理で、代替画像生成モデル52から当該判定値が併せて出力されてもよい。
そして当該判定値に基づいて、次のフレームのS212に示す処理で、表示制御部40が、当該フレームで生成された代替画像を表示部12fに表示させるか否かを制御してもよい。例えば、代替画像生成モデル52から判定値「1」が出力された場合は、表示制御部40は、代替画像が表示されないよう制御してもよい。また、代替画像生成モデル52から判定値「0」が出力された場合は、表示制御部40は、代替画像が表示されるよう制御してもよい。
ここで例えば、代替画像生成モデル52と代替画像更新モデル54のいずれかから判定値「1」が出力された場合は、表示制御部40は、代替画像が表示されないよう制御してもよい。
図11は、本実施形態に係るクラウドゲーミングシステム1で実装される機能の別の一例を示す機能ブロック図である。なお、本実施形態に係るクラウドゲーミングシステム1で、図11に示す機能のすべてが実装される必要はなく、また、図11に示す機能以外の機能が実装されていても構わない。
図11の例では、図2の例と同様に、クラウドサーバ10には、機能的には例えば、オリジナル画像生成部20、ダウンスケール部22、エンコード処理部24、データ送信部26、が含まれる。そして、図11の例では、クラウドサーバ10に、さらに、特徴量データ生成部60が含まれる。特徴量データ生成部60は、例えば、プロセッサ10a及び記憶部10bを主として実装される。
以上の機能は、コンピュータであるクラウドサーバ10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ10aで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してクラウドサーバ10に供給される。
また、図11の例では、図2の例と同様に、端末12には、機能的には例えば、データ受信部30、デコード処理部32、アップスケール部34、画像記憶部36、代替画像生成部38、表示制御部40、が含まれる。
以上の機能は、コンピュータである端末12にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12aで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して端末12に供給される。
オリジナル画像生成部20、ダウンスケール部22、エンコード処理部24、デコード処理部32、表示制御部40の機能は、図2を参照して説明した内容と同様であるので、その説明を省略する。
特徴量データ生成部60は、本実施形態では例えば、オリジナル画像生成部20により生成されるオリジナル画像の特徴量、及び、ダウンスケール画像のエンコードに用いられるパラメータである特徴量の少なくとも一方を示す特徴量データを生成する。特徴量データは、ダウンスケール画像を表す画像データのみからは特定不能なデータである。
ここで、特徴量データには、オリジナル画像の特徴点、エッジ強度、オリジナル画像に含まれる各画素の奥行き、オリジナル画像のテクスチャの種類、オプティカル・フロー、及び、画像内の矩形領域がどの方向にどの速度で動いているかを示す情報のうちの少なくとも1つを示すデータが含まれていてもよい。例えば、特徴量データ生成部60が、オリジナル画像の特徴量を抽出し、抽出される特徴量を示す特徴量データを生成してもよい。当該特徴量データには、例えば、オリジナル画像のテクスチャの種類を示すデータ(例えば、edge領域、flat領域、high density領域、detail領域、crowd領域の位置を示すデータ)が含まれていてもよい。また当該特徴量データには、オリジナル画像におけるハリス・コーナー特徴点の位置や、エッジ強度を示すデータが含まれていてもよい。また当該特徴量データには、オリジナル画像におけるオプティカル・フローを示すデータが含まれていてもよい。また当該特徴量データには、オリジナル画像に含まれる各画素の奥行きを示すデプスデータが含まれていてもよい。
また特徴量データ生成部60は、オリジナル画像に対して物体認識処理を実行してもよい。そして、物体認識処理により特定されたオリジナル画像が表す物体を示すデータが、特徴量データに含まれていてもよい。
また、特徴量データ生成部60は、エンコード処理部24によるエンコードに用いられるパラメータである特徴量を示す特徴量データを生成してもよい。当該特徴量データには、例えば、画像内の矩形領域がどの方向にどの速度で動いているかを示すMotion Estimation(ME)情報のデータが含まれていてもよい。また、当該特徴量データには、CUユニットの大きさ毎の、当該大きさのCUユニットが割り当てられた位置を示すCUユニット割り当て情報のデータが含まれていてもよい。また、当該特徴量データには、高画質化のために高ビットレートが割り当てられた領域であるResion of Interesting(ROI)領域を示すデータが含まれていてもよい。また、当該特徴量データには、量子化パラメータの値を示すデータが含まれていてもよい。また当該特徴量データには、シーンが切り替わったか否かを示すデータや、キーフレーム(Iフレーム)であるか否かを示すデータが含まれていてもよい。
また例えば、特徴量データ生成部60は、オリジナル画像の特徴量と、エンコード処理部24によるエンコードに用いられるパラメータである特徴量と、を示す特徴量データを生成してもよい。また例えば、オリジナル画像の特徴量を示すデータとエンコード処理部24によるエンコードに用いられるパラメータである特徴量を示すデータとに基づいて生成されるデータを含む特徴量データが生成されてもよい。例えば、特徴量データ生成部60が、オリジナル画像の特徴量を示すデータと、エンコード処理部24によるエンコードに用いられるパラメータである特徴量を示すデータと、に基づいて、超解像処理の実行要否を決定してもよい。そして、特徴量データ生成部60が、超解像処理の実行要否を示すデータを含む特徴量データを生成してもよい。
そして、図11の例では、データ送信部26は、画像データと、当該画像データに対応する特徴量データと、互いに関連付けて端末12に送信する。ここで例えば、オリジナル画像をダウンスケールしたダウンスケール画像に基づいて生成される画像データと、当該オリジナル画像に基づいて生成される特徴量データとが、互いに関連付けられた状態で端末12に送信されてもよい。また特徴量データは、画像データのサイドバンド情報として、クラウドサーバ10から端末12に送信されてもよい。
ここでクラウドサーバ10と端末12との間の通信量を削減するために、特徴量データ生成部60が生成する特徴量データのサイズはできるだけ小さいことが望ましい。
そして、図11の例では、データ受信部30は、クラウドサーバ10から送信される、上述の画像データ及び当該画像データに関連付けられている上述の特徴量データを受信する。
そして、図11の例では、アップスケール部34が、データ受信部30が受信する画像データ、及び、当該画像データに関連付けられている特徴量データに基づいて、表示対象画像を生成する。ここでは例えば、ダウンスケール部22により生成されるダウンスケール画像よりも高解像度であるアップスケール画像が生成される。
そして、図11の例では、代替画像生成部38は、上述の第1画像データ及び当該第1画像データに関連付けられている特徴量データに基づいて、上述の第2画像データに対応する代替画像を生成する。ここで、代替画像生成部38は、第2画像データ及び当該第2画像データに関連付けられている特徴量データのうちの一部を受信した場合は、当該一部にさらに基づいて、代替画像を生成してもよい。
ここで、図11に例示するクラウドサーバ10において実行される、画像データの生成処理及び送信処理の流れの一例を、図12に例示するフロー図を参照しながら説明する。図12に示すS301〜S305に示す処理は、所定のフレームレートで(例えば60fpsで)繰り返し実行される。なお、S301〜S305に示す処理が、可変のフレームレートで繰り返し実行されてもよい。
S301〜S303に示す処理は、S101〜S103に示す処理と同様であるので、説明を省略する。
S303に示す処理が終了すると、特徴量データ生成部60が、特徴量データを生成する(S304)。S304に示す処理では、例えば、特徴量データ生成部60が、S301に示す処理で生成されたオリジナル画像の特徴量を示す特徴量データを生成してもよい。ここで例えば、S301に示す処理で生成されたオリジナル画像から抽出される特徴量を示す特徴量データが生成されてもよい。また例えば、特徴量データ生成部60が、S303に示すエンコードに用いられるパラメータである特徴量を示す特徴量データを生成してもよい。また例えば、特徴量データ生成部60が、S301に示す処理で生成されたオリジナル画像から抽出される特徴量と、S303に示すエンコードに用いられるパラメータである特徴量の両方を示す特徴量データを生成してもよい。
そして、データ送信部26が、S303に示す処理で生成された画像データ、及び、当該画像データに関連付けられた、S304に示す処理で生成された特徴量データを、端末12に送信し(S305)、S301に示す処理に戻る。
本処理例において、データ送信部26が、特徴量データを画像データよりも優先して端末12に送信してもよい。例えば、QoS(Quality of Service)やプライオリティ制御の技術を用いて、特徴量データが画像データよりも優先して端末12に送信されるようにしてもよい。
次に、図11に例示する端末12において実行される、アップスケール画像、又は、代替画像の表示制御処理の流れの一例を、図13に例示するフロー図を参照しながら説明する。図13に示すS401〜S414に示す処理は、所定のフレームレートで(例えば60fpsで)繰り返し実行される。なお、S401〜S414に示す処理が、可変のフレームレートで繰り返し実行されてもよい。
まず、データ受信部30が、S305に示す処理でクラウドサーバ10から送信された画像データ及び当該画像データに関連付けられている特徴量データを受信する(S401)。
そして、デコード処理部32が、S401に示す処理で受信した画像データに対してデコード処理を実行することにより、デコード画像を生成する(S402)。
そして、アップスケール部34が、当該フレームにおける画像データ及び特徴量データの全部の受信に成功したか否かを確認する(S403)。画像データ及び特徴量データが端末12に届かない場合や、端末12が受信した画像データ及び特徴量データの全部が破損している場合は、S403に示す処理で当該フレームにおける画像データ及び特徴量データの全部の受信に失敗したことが確認される。またS402に示す処理でデコード画像の全部が生成されなかった場合は、S403に示す処理で当該フレームにおける画像データ及び特徴量データの全部の受信に失敗したことが確認されてもよい。またここで、データ受信部30が、画像データ及び特徴量データの全部の受信に失敗した場合に、その旨をアップスケール部34に通知してもよい。そして、アップスケール部34が当該通知を受信した際に、S403に示す処理で当該フレームにおける画像データの全部の受信に失敗したことが確認されてもよい。
S403に示す処理において、当該フレームにおける画像データ及び特徴量データの全部の受信に成功したことが確認されたとする(S403:Y)。この場合は、アップスケール部34が、S402に示す処理で生成されたデコード画像に対するアップスケール処理を実行することにより、アップスケール画像を生成する(S404)。ここでは、図14に例示する学習済の機械学習モデルであるアップスケールモデル62を用いたアップスケール処理が実行される。ここでアップスケールモデル62が、深層学習の技術を用いたものであってもよい。アップスケールモデル62には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S404に示す処理では例えば、S402に示す処理で生成されたデコード画像及びS401に示す処理で受信された特徴量データがアップスケールモデル62に入力される。そして、アップスケールモデル62から、当該入力に応じたアップスケール画像が出力される。ここでアップスケールモデル62は、例えば、アップスケール部34に含まれる。
図15は、図14に示すアップスケールモデル62の学習の一例を模式的に示す図である。アップスケールモデル62では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力画像と学習入力特徴量データとを含む学習入力データと、アップスケールモデル62の出力であるアップスケール画像と比較される教師データであるアップスケール教師画像と、が含まれる。
例えば、高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像が生成されてもよい。そして、上述した処理と同様の処理により、当該高解像度画像に対応する特徴量データである学習入力特徴量データが生成されてもよい。
そして、上述の学習入力画像と上述の学習入力特徴量データとを含む学習入力データと上述の高解像度画像であるアップスケール教師画像とを含む学習データが生成されてもよい。そして、多くの高解像度画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、アップスケールモデル62の学習が実行されてもよい。例えば、学習データに含まれる学習入力データがアップスケールモデル62に入力された際の出力であるアップスケール画像と、当該学習データに含まれるアップスケール教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)によりアップスケールモデル62のパラメータが更新されることにより、アップスケールモデル62の学習が実行されてもよい。
なお、アップスケールモデル62の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによってアップスケールモデル62の学習が実行されてもよい。
S404に示す処理が終了すると、代替画像生成部38が、基礎画像、及び、当該基礎画像に対応する特徴量データに基づく、次フレーム用の代替画像の生成を開始する(S405)。ここで例えば、アップスケール部34が、基礎画像、及び、当該基礎画像に対応する、特徴量データを、互いに関連付けて画像記憶部36に記憶させてもよい。ここで当該基礎画像は、例えば、S401に示す処理に受信した画像データに基づいて生成された画像であって、代替画像の生成に用いられる画像である。ここで例えば、S404に示す処理で生成されたアップスケール画像が基礎画像として画像記憶部36に記憶されてもよい。また例えば、S402に示す処理で生成されたデコード画像が基礎画像として画像記憶部36に記憶されてもよい。また、画像記憶部36に記憶される特徴量データは、例えば、S401に示す処理に受信した画像データに関連付けられている特徴量データであってもよい。そして、代替画像生成部38が、画像記憶部36に記憶された基礎画像、及び、当該基礎画像に対応する特徴量データに基づく代替画像の生成を開始してもよい。
ここでは、図16に例示する学習済の機械学習モデルである代替画像生成モデル64を用いた代替画像生成処理の実行が開始される。ここで代替画像生成モデル64が、深層学習の技術を用いたものであってもよい。代替画像生成モデル64には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S405に示す処理では例えば、当該フレームにおいて画像記憶部36に記憶された基礎画像、及び、当該基礎画像に関連付けられている、当該フレームに送信された特徴量データが代替画像生成モデル64に入力される。そして、代替画像生成モデル64から、当該入力に応じた代替画像が出力される。ここで代替画像生成モデル64は、例えば、代替画像生成部38に含まれる。
図17は、図16に示す代替画像生成モデル64の学習の一例を模式的に示す図である。代替画像生成モデル64では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力画像と学習入力特徴量データとを含む学習入力データと、代替画像生成モデル64の出力である代替画像と比較される教師データである代替教師画像と、が含まれる。
例えば基礎画像がデコード画像であるとする。この場合、所与の動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されてもよい。そしてこのことによって、低解像度画像(例えば2K画像)である学習入力画像が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像が生成されてもよい。そして、上述した処理と同様の処理により、当該高解像度画像に対応する特徴量データである学習入力特徴量データが生成されてもよい。
そして、上述の学習入力画像と上述の学習入力特徴量データとを含む学習入力データと、上述の所与の動画像における当該学習入力画像に対応するフレーム画像の次のフレームのフレーム画像である代替教師画像とを含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像生成モデル64の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像生成モデル64に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像生成モデル64のパラメータが更新されることにより、代替画像生成モデル64の学習が実行されてもよい。
なお、代替画像生成モデル64の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによって代替画像生成モデル64の学習が実行されてもよい。
そして、代替画像生成部38が、S405に示す処理で生成が開始され、当該生成が終了した、次フレーム用の代替画像を画像記憶部36に記憶させる(S406)。また、S406に示す処理では、代替画像生成部38が、S405に示す処理での代替画像の生成に用いられた特徴量データを、次フレーム用の特徴量データとして画像記憶部36に併せて記憶させる。
そして、表示制御部40が、S404に示す処理で生成されたアップスケール画像を表示部12fに表示させて(S407)、S401に示す処理に戻る。
S403に示す処理において、当該フレームにおける画像データ及び特徴量データの全部の受信に失敗したことが確認されたとする(S403:N)。この場合は、代替画像生成部38が、当該フレームにおける特徴量データの一部の受信に成功したか否かを確認する(S408)。端末12が受信した特徴量データの一部が破損している場合は、S408に示す処理で当該フレームにおける特徴量データの一部の受信に失敗したことが確認される。またS402に示す処理でデコード画像の一部が生成されなかった場合は、S408に示す処理で当該フレームにおける特徴量データの一部の受信に失敗したことが確認されてもよい。またここで、データ受信部30が、特徴量データの一部の受信に失敗した場合に、その旨を代替画像生成部38に通知してもよい。そして、代替画像生成部38が当該通知を受信した際に、S408に示す処理で当該フレームにおける特徴量データの一部の受信に失敗したことが確認されてもよい。
S408に示す処理で当該フレームにおける特徴量データの一部の受信に成功したことが確認されたとする(S408:Y)。この場合は、代替画像生成部38が、当該フレームにおいて受信した特徴量データの一部に基づいて、当該フレーム用の特徴量データを更新する(S409)。S409に示す処理では、当該フレーム用の特徴量データに当該フレームにおいて受信した特徴量データが反映される。ここでは、図18に例示する学習済の機械学習モデルである特徴量データ更新モデル66を用いた特徴量データの更新処理が実行される。ここで特徴量データ更新モデル66が、深層学習の技術を用いたものであってもよい。特徴量データ更新モデル66には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S409に示す処理では例えば、直前のフレームのS406に示す処理で記憶された第1特徴量データと、当該フレームにおいて受信した特徴量データの一部である部分特徴量データと、が特徴量データ更新モデル66に入力される。そして、特徴量データ更新モデル66から、当該入力に応じた第2特徴量データが出力される。このようにして、直前のフレームのS406に示す処理で記憶された第1特徴量データは第2特徴量データに更新される。ここで特徴量データ更新モデル66は、例えば、代替画像生成部38に含まれる。
図19は、図18に示す特徴量データ更新モデル66の学習の一例を模式的に示す図である。特徴量データ更新モデル66では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力特徴量データと学習入力部分特徴量データを含む学習入力データと、特徴量データ更新モデル66の出力である特徴量データと比較される教師データである特徴量教師データと、が含まれる。
例えば、上述した処理と同様の処理により、所与の動画像に含まれる第1フレーム画像である高解像度画像(例えば4K画像)に対応する特徴量データである学習入力特徴量データが生成されてもよい。そして、上述した処理と同様の処理により、上述の所与の動画像における第1フレーム画像の次のフレームのフレーム画像である第2フレーム画像に対応する特徴量データの一部である学習入力部分特徴量データが生成されてもよい。
そして、上述の学習入力特徴量データと上述の学習入力部分特徴量データとを含む学習入力データ、及び、上述した処理と同様の処理により生成される第2フレーム画像に対応する特徴量データである特徴量教師データとを含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、特徴量データ更新モデル66の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが特徴量データ更新モデル66に入力された際の出力である特徴量データと、当該学習データに含まれる特徴量教師データと、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により特徴量データ更新モデル66のパラメータが更新されることにより、特徴量データ更新モデル66の学習が実行されてもよい。
なお、特徴量データ更新モデル66の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによって特徴量データ更新モデル66の学習が実行されてもよい。
S409に示す処理が終了した、あるいは、S408に示す処理で当該フレームにおける特徴量データの一部の受信に失敗したことが確認されたとする(S408:N)。これらの場合は、代替画像生成部38が、当該フレームにおける画像データの一部の受信に成功したか否かを確認する(S410)。端末12が受信した画像データの一部が破損している場合は、S410に示す処理で当該フレームにおける画像データの一部の受信に失敗したことが確認される。またS402に示す処理でデコード画像の一部が生成されなかった場合は、S410に示す処理で当該フレームにおける画像データの一部の受信に失敗したことが確認されてもよい。またここで、データ受信部30が、画像データの一部の受信に失敗した場合に、その旨を代替画像生成部38に通知してもよい。そして、代替画像生成部38が当該通知を受信した際に、S410に示す処理で当該フレームにおける画像データの一部の受信に失敗したことが確認されてもよい。
S410に示す処理で当該フレームにおける画像データの一部の受信に成功したことが確認されたとする(S410:Y)。この場合は、代替画像生成部38が、当該フレームにおいて受信した画像データの一部に基づいて、当該フレーム用の代替画像を更新する(S411)。ここでは例えば、当該フレーム用の代替画像に当該フレームにおいて受信した画像データの一部が反映される。ここでは、図20に例示する学習済の機械学習モデルである代替画像更新モデル68を用いた代替画像の更新処理が実行される。ここで代替画像更新モデル68が、深層学習の技術を用いたものであってもよい。代替画像更新モデル68には、ニューラルネットワークに含まれる各ノードの結合トポロジの情報、及び、結合強度のパラメータの情報が含まれていてもよい。
S411に示す処理では例えば、直前のフレームのS406に示す処理で記憶された第1代替画像と、当該フレームにおいて受信した画像データの一部である部分画像データと、特徴量データと、が代替画像更新モデル68に入力される。ここで、S409に示す処理が実行された場合は、更新後の当該フレーム用の特徴量データが代替画像更新モデル68に入力される。一方で、S409に示す処理が実行されていない場合は、直前のフレームで記憶された当該フレーム用の特徴量データが代替画像更新モデル68に入力される。そして、代替画像更新モデル68から、当該入力に応じた第2代替画像が出力される。このようにして、直前のフレームのS406に示す処理で記憶された第1代替画像は第2代替画像に更新される。ここで代替画像更新モデル68は、例えば、代替画像生成部38に含まれる。
図21は、図20に示す代替画像更新モデル68の学習の一例を模式的に示す図である。代替画像更新モデル68では、例えば複数の学習データを用いた学習が実行される。当該学習データには、例えば、学習入力画像と学習入力部分画像データと学習入力特徴量データとを含む学習入力データと、代替画像更新モデル68の出力である代替画像と比較される教師データである代替教師画像と、が含まれる。
例えば基礎画像がデコード画像であるとする。この場合、所与の動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されてもよい。そしてこのことによって、低解像度画像(例えば2K画像)である学習入力画像が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、動画像に含まれるフレーム画像である高解像度画像(例えば4K画像)に対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像が生成されてもよい。
そして、上述の所与の動画像における当該学習入力画像に対応する第1フレーム画像の次のフレームのフレーム画像である第2フレーム画像に対して上述のダウンスケール処理、及び、上述のエンコード処理が実行されることにより生成される画像データの一部である学習入力部分画像データが生成されてもよい。そして、上述した処理と同様の処理により、第1フレーム画像に対応する特徴量データである学習入力特徴量データが生成されてもよい。なお第1フレーム画像に対応する特徴量データを第2フレーム画像に対応する特徴量データに基づいて更新した特徴量データが、学習入力特徴量データとして用いられてもよい。
そして、上述の学習入力画像と上述の学習入力部分画像データと上述の学習入力特徴量データを含む学習入力データ、及び、上述の第2フレーム画像である代替教師画像とを含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像更新モデル68の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像更新モデル68に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像更新モデル68のパラメータが更新されることにより、代替画像更新モデル68の学習が実行されてもよい。
なお、代替画像更新モデル68の学習は上述の方法には限定されない。例えば教師なし学習や強化学習などによって代替画像更新モデル68の学習が実行されてもよい。
S411に示す処理が終了した場合、又は、S410に示す処理で当該フレームにおける画像データの一部の受信に成功しなかったことが確認された場合は(S410:N)、代替画像生成部38が、次フレーム用の代替画像の生成を開始する(S412)。ここで、S411に示す処理が終了した場合は、代替画像生成部38が、S411に示す処理で更新された代替画像を基礎画像として画像記憶部36に記憶させてもよい。また、S410に示す処理で当該フレームにおける画像データの一部の受信に成功しなかった場合は、直前のフレームのS406に示す処理で記憶された代替画像を基礎画像として画像記憶部36に記憶させてもよい。また、S409に示す処理が実行された場合は、代替画像生成部38は、更新後の特徴量データを当該基礎画像に関連付けて画像記憶部36に記憶させてもよい。また、S409に示す処理が実行されていない場合は、代替画像生成部38は、当該フレーム用の特徴量データを当該基礎画像に関連付けて画像記憶部36に記憶させてもよい。そして、代替画像生成部38が、当該基礎画像、及び、当該基礎画像に関連付けられている特徴量データに基づいて、次フレーム用の代替画像の生成を開始してもよい。
ここでは、図16に例示する学習済の機械学習モデルである代替画像生成モデル64を用いた代替画像生成処理の実行が開始される。ここで代替画像生成モデル64が、深層学習の技術を用いたものであってもよい。
そして、代替画像生成部38が、S412に示す処理で生成が開始され、当該生成が終了した、次フレーム用の代替画像を画像記憶部36に記憶させる(S413)。ここで、S409に示す処理が実行された場合は、代替画像生成部38は、更新後の特徴量データを次フレーム用の特徴量データとして当該代替画像に関連付けて画像記憶部36に記憶させる。また、S409に示す処理が実行されていない場合は、代替画像生成部38は、当該フレーム用の特徴量データを次フレーム用の特徴量データとして当該代替画像に関連付けて画像記憶部36に記憶させる。
そして、表示制御部40が、当該フレームで生成された代替画像を表示部12fに表示させて(S414)、S401に示す処理に戻る。
本処理例において、n番目のフレームにおいて、n番目のフレームにおける画像データ及び特徴量データの全部の受信に成功したことが確認されたとする(S403:Y)。この場合は、n番目のフレームにおいて受信した画像データ及び特徴量データに基づいて生成されるアップスケール画像が表示される(S407)。またこの場合は、n番目のフレームにおいて、当該アップスケール画像及び当該特徴量データに基づいて、(n+1)番目のフレーム用の代替画像が生成される(S405、S406)。
n番目のフレームにおいて、n番目のフレームにおける画像データの全部の受信に失敗したとする(S403:N)。この場合であって、n番目のフレームにおける画像データの一部の受信に成功したことが確認されたとする(S410:Y)。この場合は、n番目のフレームにおいて、(n−1)番目のフレームで生成された、n番目のフレーム用の代替画像が更新される(S411)。そして更新後のn番目のフレーム用の代替画像が表示される(S414)。またこの場合は、n番目のフレームにおいて、更新後のn番目のフレーム用の代替画像、及び、n番目のフレーム用の特徴量データに基づいて、(n+1)番目のフレーム用の代替画像が生成される(S412、S413)。
n番目のフレームにおいて、n番目のフレームにおける画像データの全部の受信に失敗したとする(S403:N)。この場合であって、n番目のフレームにおける画像データの一部の受信に成功しなかったことが確認されたとする(S410:N)。この場合は、n番目のフレームにおいて、(n−1)番目のフレームで生成された、n番目のフレーム用の代替画像が表示される(S414)。またこの場合は、n番目のフレームにおいて、(n−1)番目のフレームで生成されたn番目のフレーム用の代替画像、及び、n番目のフレーム用の特徴量データに基づいて、(n+1)番目のフレーム用の代替画像が生成される(S412、S413)。
また、n番目のフレームにおいて、特徴量データの一部の受信に成功した場合は(S408:Y)、(n−1)番目のフレームで生成された、n番目のフレーム用の特徴量データが更新される(S409)。
部分特徴量データにME情報のデータやオプティカル・フローを示すデータなどが含まれている場合、画像に示されているオブジェクトの動きを予想した代替画像の生成が可能となる。このとき、部分特徴量データが示す他の特徴量も予想の精度を上げるために活用される。部分特徴量データは、アップスケール画像の品質の向上のみならず、代替画像についての直前のフレームからの時間方向でのオブジェクトの画像内変化の再現性向上にも活用できる。
また、本処理例において、次フレーム用の代替画像の生成の開始、及び、次フレーム用の代替画像の記憶の終了を待つことなく、アップスケール画像の表示、あるいは、当該フレーム用の代替画像の表示が実行されてもよい。
また、受信に失敗した画像データに関連付けられている特徴量データの全部の受信に成功する場合がある。例えばこのような場合に、代替画像生成部38が、第1画像データ、及び、第2画像データに関連付けられている特徴量データに基づいて、代替画像を生成してもよい。また、特徴量データの受信には失敗したが画像データの全部の受信に成功した場合は、当該画像データに基づいて生成されるアップスケール画像が表示されるようにしてもよい。
また、代替画像更新モデル68が、本来表示されるべき画像とは異なる虚構の画像が第2代替画像として出力されるか否かを示す判定値を出力するものであってもよい。例えば、本来表示されるべき画像とは異なる虚構の画像が第2代替画像として出力される場合は、判定値「1」が出力され、本来表示されるべき画像が第2代替画像として出力される場合は、判定値「0」が出力されてもよい。この場合、学習入力データの入力に応じて代替画像更新モデル68が出力する判定値と比較される、当該学習入力データに応じた所与の学習判定値を含む教師データを用いた代替画像更新モデル68の学習が実行されてもよい。この場合、S411に示す処理で、代替画像更新モデル68から当該判定値が併せて出力されてもよい。
そして当該判定値に基づいて、S414に示す処理で、表示制御部40が、当該フレームで生成された代替画像を表示部12fに表示させるか否かを制御してもよい。例えば、代替画像更新モデル68から判定値「1」が出力された場合は、表示制御部40は、代替画像が表示されないよう制御してもよい。また、代替画像更新モデル68から判定値「0」が出力された場合は、表示制御部40は、代替画像が表示されるよう制御してもよい。
また、代替画像生成モデル64についても同様に、本来表示されるべき画像とは異なる虚構の画像が代替画像として出力されるか否かを示す判定値を出力するものであってもよい。例えば、本来表示されるべき画像とは異なる虚構の画像が代替画像として出力される場合は、判定値「1」が出力され、本来表示されるべき画像が代替画像として出力される場合は、判定値「0」が出力されてもよい。この場合、学習入力データの入力に応じて代替画像生成モデル64が出力する判定値と比較される、当該学習入力データに応じた所与の学習判定値を含む教師データを用いた代替画像生成モデル64の学習が実行されてもよい。この場合、S405、又は、S412に示す処理で、代替画像生成モデル64から当該判定値が併せて出力されてもよい。
そして当該判定値に基づいて、次のフレームのS414に示す処理で、表示制御部40が、当該フレームで生成された代替画像を表示部12fに表示させるか否かを制御してもよい。例えば、代替画像生成モデル64から判定値「1」が出力された場合は、表示制御部40は、代替画像が表示されないよう制御してもよい。また、代替画像生成モデル64から判定値「0」が出力された場合は、表示制御部40は、代替画像が表示されるよう制御してもよい。
ここで例えば、代替画像生成モデル64と代替画像更新モデル68のいずれかから判定値「1」が出力された場合は、表示制御部40は、代替画像が表示されないよう制御してもよい。
本実施形態によれば、画像データの受信の失敗が確認されてから当該データの再送信を開始したのでは表示されるべきタイミングまでに当該画像データを受信できないおそれを低減できることとなる。
なお、本発明は上述の実施形態に限定されるものではない。
例えば、アップスケールモデル50が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12のアップスケール部34が、S202に示す処理で生成されたデコード画像を記憶するようにしてもよい。
そしてこの場合に、S204に示す処理で、最新のデコード画像を含む、デコード画像の時系列が、アップスケールモデル50に入力されてもよい。そして、アップスケールモデル50から、当該入力に応じたアップスケール画像が出力されてもよい。
ここでアップスケールモデル50の学習において、一連の高解像度画像(例えば4K画像)(高解像度画像の時系列)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像の時系列が生成されてもよい。
そして、上述の学習入力画像の時系列を含む学習入力データと上述の高解像度画像の時系列における最後の画像であるアップスケール教師画像とを含む学習データが生成されてもよい。そして、多くの高解像度画像の時系列に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、アップスケールモデル50の学習が実行されてもよい。例えば、学習データに含まれる学習入力データがアップスケールモデル50に入力された際の出力であるアップスケール画像と、当該学習データに含まれるアップスケール教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)によりアップスケールモデル50のパラメータが更新されることにより、アップスケールモデル50の学習が実行されてもよい。
また例えば、代替画像生成部38が、端末12が受信した画像データの時系列に基づいて、代替画像を生成してもよい。
ここで例えば、代替画像生成モデル52が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12の代替画像生成部38が、基礎画像を記憶するようにしてもよい。
そしてこの場合に、S205、又は、S210に示す処理で、最新の基礎画像を含む、基礎画像の時系列が、代替画像生成モデル52に入力されてもよい。そして、代替画像生成モデル52から、当該入力に応じた代替画像が出力されてもよい。
例えば基礎画像がデコード画像であるとする。この場合、代替画像生成モデル52の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)(高解像度画像の時系列)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像の時系列が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、代替画像生成モデル52の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像の時系列が生成されてもよい。
そして、上述の学習入力画像の時系列を含む学習入力データと、上述の所与の動画像における上述の一連の高解像度画像の次のフレームのフレーム画像である代替教師画像と、を含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像生成モデル52の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像生成モデル52に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像生成モデル52のパラメータが更新されることにより、代替画像生成モデル52の学習が実行されてもよい。
また例えば、代替画像更新モデル54が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12の代替画像生成部38が、代替画像を記憶するようにしてもよい。
そしてこの場合に、代替画像更新モデル54に、直前のフレームの代替画像を含む代替画像の時系列、及び、当該フレームにおいて受信した画像データの一部である部分画像データが、代替画像更新モデル54に入力されてもよい。そして、代替画像更新モデル54から、当該入力に応じた第2代替画像が出力されてもよい。
例えば基礎画像がデコード画像であるとする。この場合、代替画像更新モデル54の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)(高解像度画像の時系列)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像の時系列が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、代替画像更新モデル54の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像の時系列が生成されてもよい。
そして、上述の所与の動画像における上述の一連の高解像度画像の次のフレームのフレーム画像に対して上述のダウンスケール処理、及び、上述のエンコード処理が実行されることにより生成される画像データの一部である学習入力部分画像データが生成されてもよい。
そして、上述の学習入力画像の時系列、及び、学習入力部分画像データを含む学習入力データと、上述の所与の動画像における上述の一連の高解像度画像の次のフレームのフレーム画像である代替教師画像を含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像更新モデル54の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像更新モデル54に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像更新モデル54のパラメータが更新されることにより、代替画像更新モデル54の学習が実行されてもよい。
また例えば、アップスケールモデル62が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12のアップスケール部34が、S402に示す処理で生成されたデコード画像、及び、S401に示す処理で受信された特徴量データを記憶するようにしてもよい。
そしてこの場合に、S404に示す処理で、アップスケールモデル62に、最新のデコード画像を含む、デコード画像の時系列、及び、最新の特徴量データを含む、特徴量データの時系列が、アップスケールモデル62に入力されてもよい。そして、アップスケールモデル62から、当該入力に応じたアップスケール画像が出力されてもよい。
ここでアップスケールモデル62の学習において、一連の高解像度画像(例えば4K画像)(高解像度画像の時系列)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像の時系列が生成されてもよい。そして、上述した処理と同様の処理により、当該一連の高解像度画像に対応する特徴量データの時系列である学習入力特徴量データの時系列が生成されてもよい。
そして、上述の学習入力画像の時系列と上述の学習入力特徴量データの時系列とを含む学習入力データと、上述の高解像度画像の時系列における最後の画像であるアップスケール教師画像と、を含む学習データが生成されてもよい。そして、多くの高解像度画像の時系列に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、アップスケールモデル62の学習が実行されてもよい。例えば、学習データに含まれる学習入力データがアップスケールモデル62に入力された際の出力であるアップスケール画像と、当該学習データに含まれるアップスケール教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)によりアップスケールモデル62のパラメータが更新されることにより、アップスケールモデル62の学習が実行されてもよい。
また例えば、代替画像生成モデル64が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12の代替画像生成部38が、基礎画像及び基礎画像に関連付けられている特徴量データを記憶するようにしてもよい。
そしてこの場合に、代替画像生成モデル64に、最新の基礎画像を含む、基礎画像の時系列、及び、最新の特徴量データを含む、特徴量データの時系列が、代替画像生成モデル64に入力されてもよい。そして、代替画像生成モデル64から、当該入力に応じた代替画像が出力されてもよい。
例えば基礎画像がデコード画像であるとする。この場合、代替画像生成モデル64の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)(高解像度画像の時系列)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像の時系列が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、代替画像生成モデル64の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像の時系列が生成されてもよい。そして、上述した処理と同様の処理により、当該高解像度画像の時系列に対応する学習入力特徴量データの時系列が生成されてもよい。
そして、上述の学習入力画像の時系列、及び、上述の学習入力特徴量データの時系列を含む学習入力データと、一連の高解像度画像の次のフレームのフレーム画像である代替教師画像と、を含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像生成モデル64の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像生成モデル64に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像生成モデル64のパラメータが更新されることにより、代替画像生成モデル64の学習が実行されてもよい。
また例えば、特徴量データ更新モデル66が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12の代替画像生成部38が、特徴量データを記憶するようにしてもよい。
そしてこの場合に、特徴量データ更新モデル66に、直前のフレームの特量量データを含む特徴量データの時系列、及び、当該フレームにおいて受信した特徴量データの一部である部分特徴量データが、特徴量データ更新モデル66に入力されてもよい。そして、特徴量データ更新モデル66から、当該入力に応じた第2特徴量データが出力されてもよい。
特徴量データ更新モデル66の学習において、上述した処理と同様の処理により、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)に対応する特徴量データの時系列である学習入力特徴量データの時系列が生成されてもよい。そして、上述した処理と同様の処理により、一連の高解像度画像の次のフレームのフレーム画像である第2フレーム画像に対応する特徴量データの一部である学習入力部分特徴量データが生成されてもよい。
そして、上述の学習入力特徴量データの時系列、及び、上述の学習入力部分特徴量データを含む学習入力データと、上述の第2フレーム画像に対応する特徴量データである特徴量教師データと、を含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、特徴量データ更新モデル66の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが特徴量データ更新モデル66に入力された際の出力である特徴量データと、当該学習データに含まれる特徴量教師データと、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により特徴量データ更新モデル66のパラメータが更新されることにより、特徴量データ更新モデル66の学習が実行されてもよい。
また例えば、代替画像更新モデル68が、再帰型ニューラルネットワーク(RNN)によって実装されていてもよい。そしてこの場合、端末12の代替画像生成部38が、代替画像、及び、特徴量データを記憶するようにしてもよい。
そしてこの場合に、代替画像更新モデル68に、直前のフレームの代替画像を含む代替画像の時系列、直前のフレームの代替画像を含む代替画像の時系列に対応する特徴量データの時系列、及び、当該フレームにおいて受信した画像データの一部である部分画像データが、代替画像更新モデル68に入力されてもよい。そして、代替画像更新モデル68から、当該入力に応じた第2代替画像が出力されてもよい。
例えば基礎画像がデコード画像であるとする。この場合、代替画像更新モデル68の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)(高解像度画像の時系列)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理が実行されることにより、低解像度画像(例えば2K画像)である学習入力画像の時系列が生成されてもよい。また例えば基礎画像がアップスケール画像であるとする。この場合、代替画像更新モデル68の学習において、所与の動画像に含まれる一連の高解像度画像(例えば4K画像)のそれぞれに対して、上述のダウンスケール処理、上述のエンコード処理、及び、上述のデコード処理、上述のアップスケール処理が実行されてもよい。そしてこのことによって、高解像度画像である学習入力画像の時系列が生成されてもよい。また、上述の処理と同様の処理により、当該高解像度画像の時系列に対応する学習入力特徴量データの時系列が生成されてもよい。
そして、上述の所与の動画像における上述の一連の高解像度画像の次のフレームのフレーム画像に対して上述のダウンスケール処理、及び、上述のエンコード処理が実行されることにより生成される画像データの一部である学習入力部分画像データが生成されてもよい。
そして、上述の学習入力画像の時系列、上述の学習入力特徴量データの時系列、及び、学習入力部分画像データを含む学習入力データと、上述の一連の高解像度画像の次のフレームのフレーム画像である代替教師画像とを含む学習データが生成されてもよい。そして、多くの動画像や多くのフレーム画像に基づいてこのようにして生成される複数の学習データを用いた教師あり学習により、代替画像更新モデル68の学習が実行されてもよい。例えば、学習データに含まれる学習入力データが代替画像更新モデル68に入力された際の出力である代替画像と、当該学習データに含まれる代替教師画像と、が比較されてもよい。そして当該比較の結果に基づいて、誤差逆伝搬法(バックプロパゲーション)により代替画像更新モデル68のパラメータが更新されることにより、代替画像更新モデル68の学習が実行されてもよい。
以上のように本実施形態においてデータの時系列が入力される機械学習モデルを用いることで、過去のフレームのデータの時系列に基づいて当該フレームで起こる変化の予測を加味したデータが機械学習モデルから出力される。そのため機械学習モデルの出力結果の精度をより向上させることができる。
また本実施形態において例えば、アップスケールモデル50が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。また例えば、代替画像生成モデル52が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。また例えば、代替画像更新モデル54が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。また例えば、アップスケールモデル62が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。また例えば、代替画像生成モデル64が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。また例えば、特徴量データ更新モデル66が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。また例えば、代替画像更新モデル68が、敵対的生成ネットワーク(GAN)によって実装されていてもよい。
また例えば、端末12のアップスケール部34が、特徴量データに含まれる、超解像処理の実行要否を示すデータに基づいて、超解像処理の実行要否を決定してもよい。そして、超解像処理を実行しないことが決定された場合に、アップスケール部34は、アップスケール処理を実行しないよう制御してもよい。また、超解像処理を実行しないことが決定された場合に、アップスケール部34は、代替画像の生成処理を実行しないよう代替画像生成部38を制御してもよい。そしてこの場合に、表示制御部40が、デコード画像、又は、直前のフレームで表示された画像を、表示部12fに表示させてもよい。
また例えば、端末12の代替画像生成部38が、基礎画像に基づいて、代替画像を生成するか否かを決定してもよい。ここで上述した方法と同様の方法による学習が実行された、代替画像を生成するか否かを示す情報を出力する学習済の代替画像生成モデル52を用いて代替画像を生成するか否かが決定されてもよい。また、代替画像生成部38が、基礎画像、及び、当該基礎画像に関連付けられている特徴量データに基づいて、代替画像を生成するか否かを決定してもよい。ここで上述した方法と同様の方法による学習が実行された、代替画像を生成するか否かを示す情報を出力する学習済の代替画像生成モデル64を用いて代替画像を生成するか否かが決定されてもよい。そして、代替画像を生成しないことが決定された際に、表示制御部40が、デコード画像、又は、直前のフレームで表示された画像を、表示部12fに表示させてもよい。
また例えば、ダウンスケールされる前のプレイ画像が複数の部分画像に分割されてもよい。ここで例えば、プレイ画像が、8×8ピクセル、あるいは、32×32ピクセルなどのサイズの矩形領域を占める複数の部分画像に分割されてもよい。また例えば、プレイ画像を横方向に分割することにより、プレイ画像が、複数のライン(例えば32ライン)を束ねたスライス状(ストライプ状)の複数の部分画像に分割されてもよい。この場合、当該部分画像が上述のオリジナル画像に相当する。そして当該部分画像である当該オリジナル画像に対して、図3に示すS102〜S104、及び、図4に示すS201〜S212に示す一連の処理が実行されるようにしてもよい。あるいは、当該部分画像である当該オリジナル画像に対して、図12に示すS302〜S305、及び、図13に示すS401〜S414に示す一連の処理が実行されるようにしてもよい。
また、プレイ画像がオリジナル画像に相当する場合であっても、部分画像がオリジナル画像に相当する場合であっても、S204、S206、S209、S211、S404、S406、S411、S413に示す処理が、オリジナル画像よりも小さな粒度で実行されてもよい。例えば、8×8ピクセルの画像毎、あるいは、32×32ピクセルなどの画像毎にS204、S206、S404、及び、S406に示す処理が実行されてもよい。ここで、デコード画像の解像度が1920×1088ピクセルであって、32×32ピクセルの画像毎に上述の処理が実行される際には、当該処理が60×24回実行されることとなる。この場合、機械学習モデルの学習に用いられる学習入力画像は、当該処理において当該機械学習モデルに入力される画像と同形同サイズの画像であってもよい。
また、S404、S409、S411、S413に示す処理が、特徴量データよりも小さな粒度で実行されてもよい。この場合、機械学習モデルの学習に用いられる学習入力部分特徴量データや学習入力特徴量データは、当該処理において当該機械学習モデルに入力されるデータと同サイズのデータであってもよい。
また、アップスケール部34が、超解像処理や外挿を実行することによりアップスケール画像を生成してもよい。また、代替画像生成部38が、外挿を実行することにより代替画像を生成してもよい。
また、アップスケールモデル50、代替画像生成モデル52、代替画像更新モデル54、アップスケールモデル62、代替画像生成モデル64、特徴量データ更新モデル66、代替画像更新モデル68は、それぞれ別の機械学習モデルであってもよいし、一部又は全部について一体化された一体型の機械学習モデルであってもよい。
また本発明の適用範囲は、クラウドゲーミングサービスが提供される状況に限定されない。本発明は、端末12において、画像記憶部36に記憶されている基礎画像に基づいて代替画像が生成される状況については一般的に適用可能である。
ここで例えば、ゲームのプレイ状況を表す動画像を配信する配信サーバに、クラウドサーバ10から、画像データ、あるいは、画像データ及び特徴量データが、繰り返し送信されるようにしてもよい。そして配信サーバが、一連のプレイ画像に相当する、それぞれ順序が関連付けられた、画像データ、あるいは、画像データ及び特徴量データを記憶するようにしてもよい。そして事後的に、ゲームのプレイ状況を表す動画像を視聴するユーザが使用する端末からの要求に応じて、配信サーバが、配信サーバに記憶された画像データ、あるいは、画像データ及び特徴量データを、関連付けられている順序に従って当該端末に順次送信するようにしてもよい。そして当該端末において、図1に示す端末12と同様の処理が実行されてもよい。
また、ゲーム実況が行われる状況において、上述の配信サーバが、画像データ、あるいは、画像データ及び特徴量データの受信に応じて、リアルタイムで、画像データ、あるいは、画像データ及び特徴量データをゲームのプレイ状況を表す動画像を視聴するユーザが使用する端末に送信してもよい。そして、当該端末において、図1に示す端末12と同様の処理が実行されてもよい。
ここでクラウドサーバ10が、画像データ、あるいは、画像データ及び特徴量データを端末に送信する上述の配信サーバの役割を兼ねていてもよい。また、端末12において図1に示すクラウドサーバ10と同様の処理が実行され、一連のプレイ画像に相当する、画像データ、あるいは、画像データ及び特徴量データが端末12から配信サーバに繰り返し送信されるようにしてもよい。
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。

Claims (13)

  1. 画像データを繰り返し受信する画像データ受信部と、
    前記画像データに基づいて、表示対象画像を生成する表示対象画像生成部と、
    第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する代替画像を生成する代替画像生成部と、
    前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させる表示制御部と、を含み、
    前記代替画像生成部は、前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づく前記第2画像データに対応する前記代替画像の生成を開始する、
    ことを特徴とする画像表示制御装置。
  2. 前記画像データ受信部は、オリジナル画像をダウンスケールしたダウンスケール画像を表す前記画像データを受信し、
    前記表示対象画像生成部は、前記ダウンスケール画像よりも高解像度である前記表示対象画像を生成し、前記代替画像生成部は、前記ダウンスケール画像よりも高解像度である前記代替画像を生成する、
    ことを特徴とする請求項1に記載の画像表示制御装置。
  3. 前記代替画像生成部は、前記第2画像データの一部を受信した場合は、当該一部にさらに基づいて、前記代替画像を生成する、
    ことを特徴とする請求項1又は2に記載の画像表示制御装置。
  4. 前記画像データ受信部は、さらに、前記画像データに関連付けられている、前記オリジナル画像の特徴量、及び、前記ダウンスケール画像のエンコードに用いられるパラメータである特徴量の少なくとも一方を示す特徴量データを受信し、
    前記表示対象画像生成部は、前記画像データ、及び、当該画像データに関連付けられている前記特徴量データに基づいて、前記表示対象画像を生成する、
    ことを特徴とする請求項2に記載の画像表示制御装置。
  5. 前記代替画像生成部は、前記第1画像データ及び当該第1画像データに関連付けられている前記特徴量データに基づいて、前記代替画像を生成する、
    ことを特徴とする請求項4に記載の画像表示制御装置。
  6. 前記代替画像生成部は、前記第1画像データ及び前記第2画像データに関連付けられている前記特徴量データに基づいて、前記代替画像を生成する、
    ことを特徴とする請求項4に記載の画像表示制御装置。
  7. 前記代替画像生成部は、前記第2画像データ及び当該第2画像データに関連付けられている前記特徴量データのうちの一部を受信した場合は、当該一部にさらに基づいて、前記代替画像を生成する、
    ことを特徴とする請求項4に記載の画像表示制御装置。
  8. 前記特徴量データには、前記オリジナル画像の特徴点、エッジ強度、前記オリジナル画像に含まれる各画素の奥行き、前記オリジナル画像のテクスチャの種類、オプティカル・フロー、及び、画像内の矩形領域がどの方向にどの速度で動いているかを示す情報のうちの少なくとも1つを示すデータが含まれる、
    ことを特徴とする請求項4から7のいずれか一項に記載の画像表示制御装置。
  9. 前記代替画像生成部は、受信した前記画像データの時系列に基づいて、前記代替画像を生成する、
    ことを特徴とする請求項1から8のいずれか一項に記載の画像表示制御装置。
  10. オリジナル画像をダウンスケールしたダウンスケール画像を表す画像データを生成する画像データ生成部と、
    前記画像データを繰り返し受信する画像データ受信部と、前記画像データに基づいて、前記ダウンスケール画像よりも高解像度である表示対象画像を生成する表示対象画像生成部と、第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する、前記ダウンスケール画像よりも高解像度である代替画像を生成する代替画像生成部と、前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させる表示制御部と、を含み、前記代替画像生成部は、前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づく前記第2画像データに対応する前記代替画像の生成を開始する画像表示制御装置に、前記画像データ生成部により生成される画像データを送信する送信部と、
    を含むことを特徴とする送信装置。
  11. 前記送信部は、さらに、前記画像データに関連付けられている、前記オリジナル画像の特徴量、及び、前記ダウンスケール画像のエンコードに用いられるパラメータである特徴量の少なくとも一方を示す特徴量データを送信し、
    前記送信部は、前記特徴量データを、当該特徴量データに関連付けられている前記画像データよりも優先して前記画像表示制御装置に送信する、
    ことを特徴とする請求項10に記載の送信装置。
  12. 画像データを繰り返し受信するステップと、
    前記画像データに基づいて、表示対象画像を生成するステップと、
    第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する代替画像を生成するステップと、
    前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させるステップと、を含み、
    前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づいて前記第2画像データに対応する前記代替画像を生成するステップが開始される、
    ことを特徴とする画像表示制御方法。
  13. 画像データを繰り返し受信する手順、
    前記画像データに基づいて、表示対象画像を生成する手順、
    第1のタイミングに受信した前記画像データである第1画像データに基づいて、当該第1画像データに基づいて生成される前記表示対象画像とは異なる画像であり、当該第1のタイミングよりも後である第2のタイミングに受信する予定の前記画像データである第2画像データに対応する代替画像を生成する手順、
    前記第2画像データの受信成否に応じて、当該第2画像データに基づいて生成される前記表示対象画像、又は、前記第1画像データに基づいて生成される前記代替画像のいずれか一方を表示させる手順、をコンピュータに実行させ、
    前記第2画像データの受信成否が確認されるよりも前に、前記第1画像データに基づいて前記第2画像データに対応する前記代替画像を生成する手順が開始される、
    ことを特徴とするプログラム。
JP2021508768A 2019-03-25 2019-12-25 画像表示制御装置、送信装置、画像表示制御方法及びプログラム Active JP7038903B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019056321 2019-03-25
JP2019056321 2019-03-25
PCT/JP2019/050907 WO2020194958A1 (ja) 2019-03-25 2019-12-25 画像表示制御装置、送信装置、画像表示制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2020194958A1 true JPWO2020194958A1 (ja) 2021-12-02
JP7038903B2 JP7038903B2 (ja) 2022-03-18

Family

ID=72610848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021508768A Active JP7038903B2 (ja) 2019-03-25 2019-12-25 画像表示制御装置、送信装置、画像表示制御方法及びプログラム

Country Status (4)

Country Link
US (1) US20220148133A1 (ja)
EP (1) EP3951766A4 (ja)
JP (1) JP7038903B2 (ja)
WO (1) WO2020194958A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118339838A (zh) 2021-11-30 2024-07-12 三星电子株式会社 允许在服务器和电子装置之间流传输视频内容的方法以及用于流传输视频内容的服务器和电子装置
US20230239527A1 (en) * 2022-01-25 2023-07-27 Disney Enterprises, Inc. Automation of User-Initiated Content Modification

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05244468A (ja) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp 画像受信装置
JP2006332759A (ja) * 2005-05-23 2006-12-07 Toshiba Corp 電子機器、画像制御方法、及び画像制御用のプログラム
JP2007166479A (ja) * 2005-12-16 2007-06-28 Matsushita Electric Ind Co Ltd 動画像表示装置および動画像表示方法
JP2007180759A (ja) * 2005-12-27 2007-07-12 Victor Co Of Japan Ltd 動画像再生装置
JP2012119950A (ja) * 2010-12-01 2012-06-21 Sharp Corp 画像処理装置及び画像処理方法
US20190358541A1 (en) * 2018-05-24 2019-11-28 Microsoft Technology Licensing, Llc Dead reckoning and latency improvement in 3d game streaming scenario

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002512470A (ja) * 1998-04-20 2002-04-23 サン・マイクロシステムズ・インコーポレーテッド ネットワーク環境においてビデオ・プロトコルをサポートする方法及び装置
JP4730183B2 (ja) * 2006-04-17 2011-07-20 株式会社日立製作所 映像表示装置
JP5244468B2 (ja) 2008-06-06 2013-07-24 株式会社ブリヂストン 防振装置
US8208563B2 (en) * 2008-04-23 2012-06-26 Qualcomm Incorporated Boundary artifact correction within video units
US20100231797A1 (en) * 2009-03-10 2010-09-16 Broadcom Corporation Video transition assisted error recovery for video data delivery
KR20170023484A (ko) * 2015-08-24 2017-03-06 삼성전자주식회사 이미지 처리장치 및 방법
GB2573238B (en) * 2017-02-03 2022-12-14 Tv One Ltd Method of video transmission and display

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05244468A (ja) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp 画像受信装置
JP2006332759A (ja) * 2005-05-23 2006-12-07 Toshiba Corp 電子機器、画像制御方法、及び画像制御用のプログラム
JP2007166479A (ja) * 2005-12-16 2007-06-28 Matsushita Electric Ind Co Ltd 動画像表示装置および動画像表示方法
JP2007180759A (ja) * 2005-12-27 2007-07-12 Victor Co Of Japan Ltd 動画像再生装置
JP2012119950A (ja) * 2010-12-01 2012-06-21 Sharp Corp 画像処理装置及び画像処理方法
US20190358541A1 (en) * 2018-05-24 2019-11-28 Microsoft Technology Licensing, Llc Dead reckoning and latency improvement in 3d game streaming scenario

Also Published As

Publication number Publication date
EP3951766A1 (en) 2022-02-09
JP7038903B2 (ja) 2022-03-18
WO2020194958A1 (ja) 2020-10-01
US20220148133A1 (en) 2022-05-12
EP3951766A4 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
US20210097722A1 (en) Predicting attributes for point cloud compression according to a space filling curve
US8913664B2 (en) Three-dimensional motion mapping for cloud gaming
CN112235626B (zh) 视频渲染方法、装置、电子设备及存储介质
US8224099B2 (en) Screen data transmitting system, screen data transmitting server, screen data transmitting method and program recording medium
JP7490575B2 (ja) 3dゲームストリーミングシナリオでの推測航法及び遅延の改善
US11694316B2 (en) Method and apparatus for determining experience quality of VR multimedia
US20170103577A1 (en) Method and apparatus for optimizing video streaming for virtual reality
JP5522174B2 (ja) 動画像符号化装置
JP7038903B2 (ja) 画像表示制御装置、送信装置、画像表示制御方法及びプログラム
US11159823B2 (en) Multi-viewport transcoding for volumetric video streaming
CN102959955A (zh) 共享图像
US9001131B2 (en) Information processing device, image transmission method and image transmission program
JP2018029338A (ja) ビデオカンファレンスのためのビデオストリーム提供方法およびコンピュータプログラム
US11792245B2 (en) Network resource oriented data communication
KR20060025099A (ko) 3차원그래픽-2차원비디오 인코딩 방법, 그래픽-비디오인코더, 3차원그래픽-2차원비디오 인코딩 시스템 및컴퓨터 판독 가능 매체
CN113469930B (zh) 图像处理方法、装置、及计算机设备
JP7190026B2 (ja) 画像送受信システム、画像送信装置、画像受信装置、画像送受信方法及びプログラム
JP7116244B2 (ja) 画像送受信システム、画像送信装置、画像受信装置、画像送受信方法及びプログラム
CN115086665A (zh) 误码掩盖方法、装置、系统、存储介质和计算机设备
CN113938632B (zh) 网络视频录像机级联方法、录像机及存储介质
JP2024058838A (ja) 映像送信システム及び映像送信方法
WO2021044974A1 (ja) 送信装置、受信装置、送信方法、受信方法及びプログラム
US20240070958A1 (en) 3d stream processing
EP3024236A1 (en) Method and device for transmission of a video
CN114827638A (zh) 一种vr视频云直播方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220308

R150 Certificate of patent or registration of utility model

Ref document number: 7038903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150