(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】送信装置、送信方法及びプログラム
(51)【国際特許分類】
H04N 19/115 20140101AFI20240228BHJP
H04N 19/132 20140101ALI20240228BHJP
H04N 19/142 20140101ALI20240228BHJP
H04N 19/17 20140101ALI20240228BHJP
H04N 19/587 20140101ALI20240228BHJP
【FI】
H04N19/115
H04N19/132
H04N19/142
H04N19/17
H04N19/587
(21)【出願番号】P 2022512034
(86)(22)【出願日】2021-03-24
(86)【国際出願番号】 JP2021012312
(87)【国際公開番号】W WO2021200492
(87)【国際公開日】2021-10-07
【審査請求日】2022-09-05
(31)【優先権主張番号】P 2020063853
(32)【優先日】2020-03-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】大塚 活志
【審査官】鉢呂 健
(56)【参考文献】
【文献】特開2001-251629(JP,A)
【文献】国際公開第2019/033877(WO,A1)
【文献】特開2015-197805(JP,A)
【文献】特開2001-309383(JP,A)
【文献】特開2004-015351(JP,A)
【文献】特開平08-070458(JP,A)
【文献】特開2007-124580(JP,A)
【文献】特表2018-532444(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
フレームバッファに描画されたフレーム画像を順次取得する取得部と、
前記フレーム画像が画質優先画像であるか否かを判断する判断部と、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定部と、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定部と、
前記エンコード単位に対して、前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部により決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理部と、
前記画像データを送信する送信部と、を含み、
前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定
し、
前記エンコード処理部は、前記画質優先画像の次のフレーム画像のエンコードをスキップする、
ことを特徴とする送信装置。
【請求項2】
フレームバッファに描画されたフレーム画像を順次取得する取得部と、
前記フレーム画像が画質優先画像であるか否かを判断する判断部と、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定部と、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定部と、
前記エンコード単位に対して、前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部により決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理部と、
前記画像データを送信する送信部と、を含み、
前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定し、
前記エンコード処理部は、前記画質優先画像をエンコードすることで生成される前記画像データのデータサイズに基づいて、フレームスキップ数を決定し、
前記エンコード処理部は、前記フレームスキップ数だけ、前記画質優先画像に後続するフレーム画像のエンコードをスキップする、
ことを特徴とする送信装置。
【請求項3】
フレームバッファに描画されたフレーム画像を順次取得する取得部と、
前記フレーム画像が画質優先画像であるか否かを判断する判断部と、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定部と、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定部と、
前記エンコード単位に対して、前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部により決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理部と、
前記画像データを送信する送信部と、を含み、
前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定し、
前記画質優先パラメータ値決定部は、前記基本パラメータ値決定部よりも長い時間間隔で、前記制御量と前記目標値との差に基づいて前記パラメータの値を決定する、
ことを特徴とする送信装置。
【請求項4】
前記エンコード処理部は、前記画質優先画像の次のフレーム画像のエンコードをスキップする、
ことを特徴とする請求項
3に記載の送信装置。
【請求項5】
前記エンコード処理部は、前記画質優先画像をエンコードすることで生成される前記画像データのデータサイズに基づいて、フレームスキップ数を決定し、
前記エンコード処理部は、前記フレームスキップ数だけ、前記画質優先画像に後続するフレーム画像のエンコードをスキップする、
ことを特徴とする請求項
3に記載の送信装置。
【請求項6】
前記取得部は、前記フレーム画像が前記画質優先画像であるか否かを特定可能な画質優先要否データに関連付けられている前記フレーム画像を取得し、
前記判断部は、前記フレーム画像に関連付けられている前記画質優先要否データに基づいて、当該フレーム画像が前記画質優先画像であるか否かを判断する、
ことを特徴とする請求項1から5のいずれか一項に記載の送信装置。
【請求項7】
前記画質優先要否データを生成して、当該画質優先要否データを前記フレーム画像に関連付ける画質優先要否データ生成部、をさらに含む、
ことを特徴とする請求項6に記載の送信装置。
【請求項8】
前記画質優先要否データ生成部は、連続したシーンの描写、又は、連続したゲームプレイが終わり、カメラカットが行われた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付ける、
ことを特徴とする請求項7に記載の送信装置。
【請求項9】
前記画質優先要否データ生成部は、ゲームにおけるステージが変化した直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付ける、
ことを特徴とする請求項7に記載の送信装置。
【請求項10】
前記画質優先要否データ生成部は、連続したシーンの描画が終わり、フレーム画像の描画に用いられているアセットが切り替わった直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付ける、
ことを特徴とする請求項7に記載の送信装置。
【請求項11】
前記画質優先要否データ生成部は、フレーム画像の描画に用いられる新たなアセットがメモリにロードされた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付ける、
ことを特徴とする請求項7に記載の送信装置。
【請求項12】
前記判断部は、直前のフレームからのシーンチェンジが発生した前記フレーム画像は前記画質優先画像であると判断する、
ことを特徴とする請求項1から6のいずれか一項に記載の送信装置。
【請求項13】
前記取得部は、仮想空間内に配置された仮想オブジェクトから前記仮想空間を見た様子を表す前記フレーム画像を取得し、
前記判断部は、前記仮想オブジェクトが直前のフレームから変化した直後の前記フレーム画像を前記画質優先画像と判断する、
ことを特徴とする請求項1から6のいずれか一項に記載の送信装置。
【請求項14】
仮想空間内に配置された仮想オブジェクトから前記仮想空間を見た様子を表す描画中間データに基づいて前記フレーム画像を生成する画像生成部、をさらに含み、
前記判断部は、前記仮想オブジェクトが直前のフレームから変化した直後の前記描画中間データに基づいて前記画像生成部により生成される前記フレーム画像を前記画質優先画像と判断する、
ことを特徴とする請求項1から6のいずれか一項に記載の送信装置。
【請求項15】
前記判断部は、前記フレーム画像の描画に用いられているアセットが切り替わった直後の前記フレーム画像を前記画質優先画像と判断する、
ことを特徴とする請求項1から6のいずれか一項に記載の送信装置。
【請求項16】
前記判断部は、前記フレーム画像と当該フレーム画像の直前のフレームのフレーム画像との比較結果に基づいて、当該フレーム画像が前記画質優先画像であるか否かを判断する、
ことを特徴とする請求項1から6のいずれか一項に記載の送信装置。
【請求項17】
フレームバッファに描画されたフレーム画像を順次取得する取得部と、
前記フレーム画像が画質優先画像であるか否かを判断する判断部と、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定部と、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定部と、
前記エンコード単位に対して、前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部により決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理部と、
前記画像データを送信する送信部と、を含み、
前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定し、
前記取得部は、前記フレーム画像が前記画質優先画像であるか否かを特定可能な画質優先要否データに関連付けられている前記フレーム画像を取得し、
前記判断部は、前記フレーム画像に関連付けられている前記画質優先要否データに基づいて、当該フレーム画像が前記画質優先画像であるか否かを判断し、
前記画質優先要否データを生成して、当該画質優先要否データを前記フレーム画像に関連付ける画質優先要否データ生成部、をさらに含み、
前記画質優先要否データ生成部は、フレーム画像の描画に用いられる新たなアセットがメモリにロードされた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付ける、
ことを特徴とする送信装置。
【請求項18】
前記エンコード処理部は、前記画質優先画像である前記フレーム画像をIフレームにエンコードする、
ことを特徴とする請求項1から
17のいずれか一項に記載の送信装置。
【請求項19】
前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データの圧縮率が小さくなる値を決定する、
ことを特徴とする請求項1から
17のいずれか一項に記載の送信装置。
【請求項20】
前記エンコード処理部は、前記画質優先画像ではない前記フレーム画像には、グラデュアルデコーダリフレッシュ(GDR)の技術を用いたエンコードを実行する、
ことを特徴とする請求項1から
17のいずれか一項に記載の送信装置。
【請求項21】
前記制御量は、前記画像データのデータサイズ、又は、前記フレーム画像のエンコードの開始タイミングから当該フレーム画像に基づいて生成される前記画像データの送信終了タイミングまでの時間の長さである、
ことを特徴とする請求項1から
20のいずれか一項に記載の送信装置。
【請求項22】
前記画質優先パラメータ値決定部は、前記制御量と前記目標値との差よりも小さな値を前記所定の制御規則に適用した場合に相当する、前記フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する、
ことを特徴とする請求項1から
20のいずれか一項に記載の送信装置。
【請求項23】
前記基本パラメータ値決定部及び前記画質優先パラメータ値決定部は、PID制御を行うことにより前記エンコード単位に用いられるパラメータの値を決定し、
前記画質優先パラメータ値決定部は、前記基本パラメータ値決定部による決定よりもPID制御における比例制御又は微分制御の少なくとも一方のゲインを抑制することで、前記フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する、
ことを特徴とする請求項1から
20のいずれか一項に記載の送信装置。
【請求項24】
前記画質優先パラメータ値決定部は、前記基本パラメータ値決定部よりも長い時間間隔で、前記制御量と前記目標値との差に基づいて前記パラメータの値を決定する、
ことを特徴とする請求項1から
23のいずれか一項に記載の送信装置。
【請求項25】
前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部は、過去の単位時間あたりに前記画像データの欠落が発生した回数、又は、過去の単位時間あたりにIフレームが生成された回数のうちの少なくとも1つにさらに基づいて、前記パラメータの値を決定する、
ことを特徴とする請求項1から
24のいずれか一項に記載の送信装置。
【請求項26】
フレームバッファに描画されたフレーム画像を順次取得する取得ステップと、
前記フレーム画像が画質優先画像であるか否かを判断する判断ステップと、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定ステップと、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定ステップと、
前記エンコード単位に対して、前記基本パラメータ値決定ステップ又は前記画質優先パラメータ値決定ステップで決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理ステップと、
前記画像データを送信する送信ステップと、を含み、
前記画質優先パラメータ値決定ステップでは、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値
が決定
され、
前記エンコード処理ステップでは、前記画質優先画像の次のフレーム画像のエンコードがスキップされる、
ことを特徴とする送信方法。
【請求項27】
フレームバッファに描画されたフレーム画像を順次取得する取得ステップと、
前記フレーム画像が画質優先画像であるか否かを判断する判断ステップと、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定ステップと、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定ステップと、
前記エンコード単位に対して、前記基本パラメータ値決定ステップ又は前記画質優先パラメータ値決定ステップで決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理ステップと、
前記画像データを送信する送信ステップと、を含み、
前記画質優先パラメータ値決定ステップでは、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値が決定され、
前記エンコード処理ステップでは、前記画質優先画像をエンコードすることで生成される前記画像データのデータサイズに基づいて、フレームスキップ数が決定され、
前記エンコード処理ステップでは、前記フレームスキップ数だけ、前記画質優先画像に後続するフレーム画像のエンコードがスキップされる、
ことを特徴とする送信方法。
【請求項28】
フレームバッファに描画されたフレーム画像を順次取得する取得ステップと、
前記フレーム画像が画質優先画像であるか否かを判断する判断ステップと、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定ステップと、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定ステップと、
前記エンコード単位に対して、前記基本パラメータ値決定ステップ又は前記画質優先パラメータ値決定ステップで決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理ステップと、
前記画像データを送信する送信ステップと、を含み、
前記画質優先パラメータ値決定ステップでは、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値が決定され、
前記画質優先パラメータ値決定ステップでは、前記基本パラメータ値決定ステップよりも長い時間間隔で、前記制御量と前記目標値との差に基づいて前記パラメータの値が決定される、
ことを特徴とする送信方法。
【請求項29】
フレームバッファに描画されたフレーム画像を順次取得する取得ステップと、
前記フレーム画像が画質優先画像であるか否かを判断する判断ステップと、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定ステップと、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定ステップと、
前記エンコード単位に対して、前記基本パラメータ値決定ステップ又は前記画質優先パラメータ値決定ステップで決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理ステップと、
前記画像データを送信する送信ステップと、を含み、
前記画質優先パラメータ値決定ステップでは、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値が決定され、
前記取得ステップでは、前記フレーム画像が前記画質優先画像であるか否かを特定可能な画質優先要否データに関連付けられている前記フレーム画像が取得され、
前記判断ステップでは、前記フレーム画像に関連付けられている前記画質優先要否データに基づいて、当該フレーム画像が前記画質優先画像であるか否かが判断され、
前記画質優先要否データを生成して、当該画質優先要否データを前記フレーム画像に関連付ける画質優先要否データ生成ステップ、をさらに含み、
前記画質優先要否データ生成ステップでは、フレーム画像の描画に用いられる新たなアセットがメモリにロードされた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データが関連付けられる、
ことを特徴とする送信方法。
【請求項30】
フレームバッファに描画されたフレーム画像を順次取得する取得手順、
前記フレーム画像が画質優先画像であるか否かを判断する判断手順、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定手順、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定手順、
前記エンコード単位に対して、前記基本パラメータ値決定手順又は前記画質優先パラメータ値決定手順で決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理手順、
前記画像データを送信する送信手順、をコンピュータに実行させ、
前記画質優先パラメータ値決定手順では、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値
が決定
され、
前記エンコード処理手順では、前記画質優先画像の次のフレーム画像のエンコードがスキップされる、
ことを特徴とするプログラム。
【請求項31】
フレームバッファに描画されたフレーム画像を順次取得する取得手順、
前記フレーム画像が画質優先画像であるか否かを判断する判断手順、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定手順、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定手順、
前記エンコード単位に対して、前記基本パラメータ値決定手順又は前記画質優先パラメータ値決定手順で決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理手順、
前記画像データを送信する送信手順、をコンピュータに実行させ、
前記画質優先パラメータ値決定手順では、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値が決定され、
前記エンコード処理手順では、前記画質優先画像をエンコードすることで生成される前記画像データのデータサイズに基づいて、フレームスキップ数が決定され、
前記エンコード処理手順では、前記フレームスキップ数だけ、前記画質優先画像に後続するフレーム画像のエンコードがスキップされる、
ことを特徴とするプログラム。
【請求項32】
フレームバッファに描画されたフレーム画像を順次取得する取得手順、
前記フレーム画像が画質優先画像であるか否かを判断する判断手順、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定手順、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定手順、
前記エンコード単位に対して、前記基本パラメータ値決定手順又は前記画質優先パラメータ値決定手順で決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理手順、
前記画像データを送信する送信手順、をコンピュータに実行させ、
前記画質優先パラメータ値決定手順では、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値が決定され、
前記画質優先パラメータ値決定手順では、前記基本パラメータ値決定手順よりも長い時間間隔で、前記制御量と前記目標値との差に基づいて前記パラメータの値が決定される、
ことを特徴とするプログラム。
【請求項33】
フレームバッファに描画されたフレーム画像を順次取得する取得手順、
前記フレーム画像が画質優先画像であるか否かを判断する判断手順、
前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定手順、
前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定手順、
前記エンコード単位に対して、前記基本パラメータ値決定手順又は前記画質優先パラメータ値決定手順で決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理手順、
前記画像データを送信する送信手順、をコンピュータに実行させ、
前記画質優先パラメータ値決定手順では、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値が決定され、
前記取得手順では、前記フレーム画像が前記画質優先画像であるか否かを特定可能な画質優先要否データに関連付けられている前記フレーム画像が取得され、
前記判断手順では、前記フレーム画像に関連付けられている前記画質優先要否データに基づいて、当該フレーム画像が前記画質優先画像であるか否かが判断され、
前記画質優先要否データを生成して、当該画質優先要否データを前記フレーム画像に関連付ける画質優先要否データ生成手順、を前記コンピュータにさらに実行させ、
前記画質優先要否データ生成手順では、フレーム画像の描画に用いられる新たなアセットがメモリにロードされた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データが関連付けられる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信装置、送信方法及びプログラムに関する。
【背景技術】
【0002】
近年注目されているクラウドゲーミングサービスの技術では、クラウドサーバにおいてゲームのプレイ状況を表すフレーム画像が生成される。そして、当該フレーム画像をエンコードした画像データがクラウドサーバから端末に送信され、端末において当該画像データをデコードしたフレーム画像が表示される。この一連の処理が繰り返し実行されることで、ゲームのプレイ状況を表す動画像が端末に表示される。
【0003】
また、画像データのデータサイズやレイテンシの長さ等を制御量とするフィードバック制御によって、量子化パラメータ(QP)、ビット深度、画像解像度などのパラメータの値を調整するレート制御の技術が存在する。レート制御では、制御量が目標値よりも大きくなるオーバーシュートが発生したり、制御量が目標値よりも小さくなるアンダーシュートが発生したりするが、全体としては制御量と目標値との差がそれほど大きくならないよう制御される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
生成されるフレーム画像のなかには、例えば、シーンチェンジの発生直後のフレーム画像などのように、大きなオーバーシュートの発生を一時的に許容してでも画質を優先させたいもの(以下、画質優先画像と呼ぶ。)が存在する。
【0005】
しかし従来のレート制御では、このような画質優先画像を例外的に取り扱うことができなかった。また、従来のレート制御では、画像の変化量が多いシーンチェンジの発生直後のフレーム画像において、画質を優先させるべきか、データサイズやレイテンシの長さの抑制を優先させるべきかを判別する手段がなかった。
【0006】
なおこのことはクラウドゲーミングサービスが提供される状況のみならず、上述のクラウドサーバに相当する送信装置から動画像が送信される状況において一般的にあてはまる。
【0007】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、画質優先画像に適したレート制御を行うことができる送信装置、送信方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明に係る送信装置は、フレームバッファに描画されたフレーム画像を順次取得する取得部と、前記フレーム画像が画質優先画像であるか否かを判断する判断部と、前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定部と、前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定部と、前記エンコード単位に対して、前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部により決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理部と、前記画像データを送信する送信部と、を含み、前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定する。
【0009】
本発明の一態様では、前記エンコード処理部は、前記画質優先画像の次のフレーム画像のエンコードをスキップする。
【0010】
あるいは、前記エンコード処理部は、前記画質優先画像をエンコードすることで生成される前記画像データのデータサイズに基づいて、フレームスキップ数を決定し、前記エンコード処理部は、前記フレームスキップ数だけ、前記画質優先画像に後続するフレーム画像のエンコードをスキップする。
【0011】
あるいは、前記画質優先画像の次のフレーム画像については、前記基本パラメータ値決定部が、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する。
【0012】
あるいは、前記基本パラメータ値決定部は、前記画質優先画像の次のフレーム画像については、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが小さくなる値を、前記パラメータの値に決定する。
【0013】
また、本発明の一態様では、前記取得部は、前記フレーム画像が前記画質優先画像であるか否かを特定可能な画質優先要否データに関連付けられている前記フレーム画像を取得し、前記判断部は、前記フレーム画像に関連付けられている前記画質優先要否データに基づいて、当該フレーム画像が前記画質優先画像であるか否かを判断する。
【0014】
この態様では、前記画質優先要否データを生成して、当該画質優先要否データを前記フレーム画像に関連付ける画質優先要否データ生成部、をさらに含んでもよい。
【0015】
さらに、前記画質優先要否データ生成部は、連続したシーンの描写、又は、連続したゲームプレイが終わり、カメラカットが行われた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付けてもよい。
【0016】
あるいは、前記画質優先要否データ生成部は、ゲームにおけるステージが変化した直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付けてもよい。
【0017】
あるいは、前記画質優先要否データ生成部は、連続したシーンの描画が終わり、フレーム画像の描画に用いられているアセットが切り替わった直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付けてもよい。
【0018】
あるいは、前記画質優先要否データ生成部は、フレーム画像の描画に用いられる新たなアセットがメモリにロードされた直後のフレーム画像に、当該フレーム画像が前記画質優先画像であることが特定可能な前記画質優先要否データを関連付けてもよい。
【0019】
また、本発明の一態様では、前記判断部は、直前のフレームからのシーンチェンジが発生した前記フレーム画像は前記画質優先画像であると判断する。
【0020】
あるいは、前記取得部は、仮想空間内に配置された仮想オブジェクトから前記仮想空間を見た様子を表す前記フレーム画像を取得し、前記判断部は、前記仮想オブジェクトが直前のフレームから変化した直後の前記フレーム画像を前記画質優先画像と判断する。
【0021】
あるいは、仮想空間内に配置された仮想オブジェクトから前記仮想空間を見た様子を表す描画中間データに基づいて前記フレーム画像を生成する画像生成部、をさらに含み、前記判断部は、前記仮想オブジェクトが直前のフレームから変化した直後の前記描画中間データに基づいて前記画像生成部により生成される前記フレーム画像を前記画質優先画像と判断する。
【0022】
あるいは、前記判断部は、前記フレーム画像の描画に用いられているアセットが切り替わった直後の前記フレーム画像を前記画質優先画像と判断する。
【0023】
あるいは、前記判断部は、前記フレーム画像と当該フレーム画像の直前のフレームのフレーム画像との比較結果に基づいて、当該フレーム画像が前記画質優先画像であるか否かを判断する。
【0024】
また、本発明の一態様では、前記エンコード処理部は、前記画質優先画像である前記フレーム画像をIフレームにエンコードする。
【0025】
あるいは、前記画質優先パラメータ値決定部は、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データの圧縮率が小さくなる値を決定する。
【0026】
あるいは、前記エンコード処理部は、前記画質優先画像ではない前記フレーム画像には、グラデュアルデコーダリフレッシュ(GDR)の技術を用いたエンコードを実行する。
【0027】
また、本発明の一態様では、前記制御量は、前記画像データのデータサイズ、又は、前記フレーム画像のエンコードの開始タイミングから当該フレーム画像に基づいて生成される前記画像データの送信終了タイミングまでの時間の長さである。
【0028】
また、本発明の一態様では、前記画質優先パラメータ値決定部は、前記制御量と前記目標値との差よりも小さな値を前記所定の制御規則に適用した場合に相当する、前記フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する。
【0029】
また、本発明の一態様では、前記基本パラメータ値決定部及び前記画質優先パラメータ値決定部は、PID制御を行うことにより前記エンコード単位に用いられるパラメータの値を決定し、前記画質優先パラメータ値決定部は、前記基本パラメータ値決定部による決定よりもPID制御における比例制御又は微分制御の少なくとも一方のゲインを抑制することで、前記フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する。
【0030】
また、本発明の一態様では、前記画質優先パラメータ値決定部は、前記基本パラメータ値決定部よりも長い時間間隔で、前記制御量と前記目標値との差に基づいて前記パラメータの値を決定する。
【0031】
また、本発明の一態様では、前記基本パラメータ値決定部又は前記画質優先パラメータ値決定部は、過去の単位時間あたりに前記画像データの欠落が発生した回数、又は、過去の単位時間あたりにIフレームが生成された回数のうちの少なくとも1つにさらに基づいて、前記パラメータの値を決定する。
【0032】
また、本発明に係る送信方法は、フレームバッファに描画されたフレーム画像を順次取得する取得ステップと、前記フレーム画像が画質優先画像であるか否かを判断する判断ステップと、前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定ステップと、前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定ステップと、前記エンコード単位に対して、前記基本パラメータ値決定ステップ又は前記画質優先パラメータ値決定ステップで決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理ステップと、前記画像データを送信する送信ステップと、を含み、前記画質優先パラメータ値決定ステップでは、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定する。
【0033】
また、本発明に係るプログラムは、フレームバッファに描画されたフレーム画像を順次取得する取得手順、前記フレーム画像が画質優先画像であるか否かを判断する判断手順、前記画質優先画像ではない前記フレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を、制御量と目標値との差を所定の制御規則に適用することにより決定する基本パラメータ値決定手順、前記画質優先画像である前記フレーム画像について、当該フレーム画像の前記エンコード単位に用いられるパラメータの値を決定する画質優先パラメータ値決定手順、前記エンコード単位に対して、前記基本パラメータ値決定手順又は前記画質優先パラメータ値決定手順で決定される前記パラメータの値に基づくエンコードを実行することで画像データを生成するエンコード処理手順、前記画像データを送信する送信手順、をコンピュータに実行させ、前記画質優先パラメータ値決定手順では、前記フレーム画像の前記エンコード単位に用いられるパラメータの値として、前記制御量と前記目標値との差を前記所定の制御規則に適用することにより決定される値よりも、生成される前記画像データのデータサイズが大きくなる値を決定する。
【図面の簡単な説明】
【0034】
【
図1】本発明の一実施形態に係るクラウドゲーミングシステムの全体構成の一例を示す図である。
【
図3】レート制御における累積データサイズの変化の一例を模式的に示す図である。
【
図7】本発明の一実施形態に係るクラウドゲーミングシステムで実装される機能の一例を示す機能ブロック図である。
【
図8】本発明の一実施形態に係るクラウドサーバにおいて行われる処理の流れの一例を示すフロー図である。
【発明を実施するための形態】
【0035】
図1は、本発明の一実施形態に係るクラウドゲーミングシステム1の全体構成の一例を示す図である。
図1に示すように、本実施形態に係るクラウドゲーミングシステム1には、いずれもコンピュータを中心に構成された、クラウドサーバ10と端末12とが含まれている。クラウドサーバ10と端末12とは、インターネットなどのコンピュータネットワーク14に接続されており、クラウドサーバ10と端末12とは互いに通信可能となっている。
【0036】
本実施形態に係るクラウドサーバ10は、例えば、クラウドゲーミングサービスに係るゲームのプログラムを実行するサーバコンピュータである。クラウドサーバ10は、当該ゲームのプレイ状況を表す動画像を、当該ゲームをプレイしているユーザが利用している端末12に配信する。
【0037】
図1に示すように、クラウドサーバ10には、例えば、プロセッサ10a、記憶部10b、通信部10c、エンコード・デコード部10dが含まれている。
【0038】
プロセッサ10aは、例えばCPU等のプログラム制御デバイスであって、記憶部10bに記憶されたプログラムに従って各種の情報処理を実行する。本実施形態に係るプロセッサ10aには、当該CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。
【0039】
記憶部10bは、例えばROMやRAM等の記憶素子やソリッドステートドライブ(SSD)などである。記憶部10bには、プロセッサ10aによって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部10bには、プロセッサ10aに含まれるGPUにより画像が描画されるフレームバッファの領域が確保されている。
【0040】
通信部10cは、例えばコンピュータネットワーク14を介して、端末12などといったコンピュータとの間でデータを授受するための通信インタフェースである。
【0041】
エンコード・デコード部10dは、例えばエンコーダとデコーダとを含む。当該エンコーダは、入力される画像をエンコードすることにより当該画像を表す画像データを生成する。また当該デコーダは、入力される画像データをデコードして、当該画像データが表す画像を出力する。
【0042】
本実施形態に係る端末12は、例えばクラウドゲーミングサービスを利用するユーザが利用する、ゲームコンソール、パーソナルコンピュータ、タブレット端末、スマートフォンなどのコンピュータである。
【0043】
図1に示すように、端末12には、例えば、プロセッサ12a、記憶部12b、通信部12c、エンコード・デコード部12d、操作部12e、表示部12f、が含まれている。
【0044】
プロセッサ12aは、例えばCPU等のプログラム制御デバイスであって、記憶部12bに記憶されたプログラムに従って各種の情報処理を実行する。本実施形態に係るプロセッサ12aには、当該CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。
【0045】
記憶部12bは、例えばROMやRAM等の記憶素子やソリッドステートドライブ(SSD)などである。記憶部12bには、プロセッサ12aによって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部12bには、プロセッサ12aに含まれるGPUにより画像が描画されるフレームバッファの領域が確保されている。
【0046】
通信部12cは、例えばコンピュータネットワーク14を介して、クラウドサーバ10などといったコンピュータとの間でデータを授受するための通信インタフェースである。
【0047】
エンコード・デコード部12dは、例えばエンコーダとデコーダとを含む。当該エンコーダは、入力される画像をエンコードすることにより当該画像を表す画像データを生成する。また当該デコーダは、入力される画像データをデコードして、当該画像データが表す画像を出力する。
【0048】
操作部12eは、例えばプロセッサ12aに対する操作入力を行うための操作部材である。
【0049】
表示部12fは、例えば液晶ディスプレイや有機ELディスプレイなどの表示デバイスである。
【0050】
なお、端末12に、GPUやフレームバッファが含まれている必要はない。
【0051】
本実施形態に係る端末12に対するゲームに関する操作が操作部12eを介して行われると、当該操作を表す操作信号が端末12からクラウドサーバ10に送信される。そして、クラウドサーバ10において当該操作信号に応じたゲーム処理が実行される。そして操作信号の影響を受けた当該ゲームのプレイ状況を表すフレーム画像であるプレイ画像が生成され、当該プレイ画像がクラウドサーバ10のフレームバッファに描画される。本実施形態では、ゲーム処理及びプレイ画像の生成が繰り返し実行される。
【0052】
そして、クラウドサーバ10は、フレームバッファに描画されたプレイ画像を順次取得して、当該プレイ画像を表す画像データを生成する。そして、クラウドサーバ10は、生成される画像データを端末12に送信する。そして端末12は、クラウドサーバ10から受信する画像データをデコードすることにより生成されるプレイ画像を表示部12fに表示させる。このようにして、本実施形態では一連のプレイ画像から構成されるプレイ動画像が表示部12fに表示される。
【0053】
本実施形態に係るクラウドサーバ10では、画像データのデータサイズやレイテンシの長さ等を制御量とするフィードバック制御によって、量子化パラメータ(QP)、ビット深度、画像解像度などのパラメータの値を調整するレート制御が行われる。
【0054】
図2は、本実施形態におけるレート制御の一例を示す概念図である。
図2に示すように本実施形態では例えば、エンコード処理が実行されることで生成される画像データにおける制御量と目標値とが比較される。そして、制御量と目標値との比較結果、及び、画像の特徴に基づいて、圧縮率が決定される。ここで圧縮率は、制御量と目標値との比較結果に基づく調整が行われる。
【0055】
そして、決定される圧縮率に基づいて、量子化パラメータ(QP)、ビット深度、画像解像度などのパラメータの値が決定される。なお、当該パラメータの値に、生成される画像データのフレーム種類(例えば、IフレームであるかPフレームであるかなど)を示す値が含まれていてもよい。
【0056】
そして、決定されるパラメータの値に基づく当該画像のエンコード処理が実行される。エンコード処理が実行されることで生成される画像データは端末12に送信される。本実施形態に係るレート制御では、
図2に示すループによるフィードバック制御が繰り返し実行される。
【0057】
ここで例えば、制御量の一例として、現在までに送信した画像データのデータサイズの合計である累積データサイズが挙げられる。また、上述のループはプレイ画像(フレーム画像)単位で実行されてもよいし、1つのプレイ画像を複数の部分に分割したスライス単位で実行されても構わない。以下の説明では、エンコード処理が実行される単位であるプレイ画像やスライスのデータサイズは一定であることとする。なお、エンコード処理が実行される単位であるプレイ画像やスライスのデータサイズは一定である必要はない。
【0058】
図3は、
図2に示すレート制御による累積データサイズの変化の一例を示す図である。
図3では、例えば、クラウドサーバ10と端末12との間の通信経路の帯域の上限(時間t0で転送可能なデータサイズの上限)をdaとする。また、上限である値daから所定のバッファ(余裕値)を引いた値をd0とする。この場合、
図3の破線l1に示すように、送信開始からの時間がtである場合における累積データサイズの目標値はd0×t/t0となる。
【0059】
また、
図3には、制御量の時間変化(累積データサイズの実際値の時間変化)が実線で表現されている。そして、
図3の例では、送信開始(時間0)から時間t1までの間の期間T1、及び時間t2からt0までの間の期間T3において、制御量が目標値よりも小さいアンダーシュートが発生している。この状況では、決定される圧縮率は低くなる。そのため、制御量が目標値に近づいていく。一方、また時間t1から時間t2までの間の期間T2において、制御量が目標値よりも大きいオーバーシュートが発生している。この状況では、決定される圧縮率は高くなる。そのためこの場合も、制御量が目標値に近づいていく。
【0060】
また、本実施形態では、各プレイ画像には、当該プレイ画像が画質を優先させる画質優先画像であるか否かが特定可能な画質優先要否データが関連付けられている。ここでは各プレイ画像には、当該プレイ画像の直前のフレームからのシーンチェンジが発生したか否かに応じた画質優先要否データが関連付けられていてもよい。例えば、直前のフレームからのシーンチェンジが発生したプレイ画像には、値が1である画質優先要否データが関連付けられており、そうでないプレイ画像には、値が0である画質優先要否データが関連付けられていてもよい。本実施形態では例えば、画質優先要否データが関連付けられているプレイ画像が、画質優先画像として取り扱われる。
【0061】
そして、本実施形態では、
図4~
図6を参照して以下で説明するようにして、画質優先要否データの値に応じたレート制御が行われる。
【0062】
図4~
図6は、本実施形態におけるエンコード処理の実行タイミング及び画像データの送信タイミングの一例を示す図である。
図4~
図6には、第1フレーム~第9フレームのプレイ画像について、エンコード処理が実行されている期間が、それぞれ、P1~P9と表現されている。また、プレイ画像P1~P9をエンコードすることにより生成される画像データが送信されている期間が、それぞれ、D1~D9と表現されている。また、第1フレーム~第9フレームのそれぞれについて、エンコード処理が開始されるべきタイミングが縦方向に延伸する破線s1~s9と表現されている。
【0063】
図4~
図6に示すように、本実施形態では、フレームレートは一定である。また、本実施形態では、プレイ画像のエンコード処理の開始タイミングから当該プレイ画像に基づいて生成される画像データの送信の終了タイミングまでの時間をレイテンシ(遅延)と呼ぶこととする。
【0064】
図4~
図6の例では、1つのプレイ画像を複数の部分に分割して送信するスライス転送方式によって、プレイ画像のエンコード、及び、画像データの送信が行われる。そのため、1つのプレイ画像のすべてについてのエンコード処理が終了する前に、当該プレイ画像の一部であるスライスのエンコードが終了した際には、当該スライスをエンコードした画像データが端末12に送信されるようになっている。
【0065】
直前のフレームからの動きが激しい、高精細である、高周波成分が多い、などの特定の特徴を持つフレーム画像は、Iフレームにエンコードされる。
図4~
図6の例では、第3フレームのプレイ画像がIフレームにエンコードされている。ここで、
図4、及び、
図5の例における第3フレームのプレイ画像には、値が0である画質優先要否データが関連付けられていることとする。また、
図6の例における第3フレームのプレイ画像には、値が1である画質優先要否データが関連付けられていることとする。なお、
図4~
図6の例のいずれについても、他のプレイ画像については、すべて、値が0である画質優先要否データが関連付けられていることとする。
【0066】
IフレームはPフレームよりもデータサイズが大きい。そのため、
図4、
図5、及び、
図6に示すように、第3フレームの画像データの送信時間は他のフレームについての画像データの送信時間よりも長くなっている。また、第3フレームのプレイ画像のエンコード時間も他のフレームのプレイ画像のエンコード時間より長くなっている。
【0067】
図4に示すものと
図5に示すものとでは、レート制御の条件が異なっており、
図5に示すものは
図4に示すものより第3フレームの画像データのデータサイズが大きくなっている。そして、
図5に示すものは
図4に示すものより、第3フレームの画像データの送信時間が長くなっている。
【0068】
そのため、第3フレーム終了時点における上述の制御量と目標値との差は、
図5に示すものの方が
図4に示すものよりも大きい。そのため、後続のフレームについてのレート制御における圧縮率は
図5に示すものの方が
図4に示すものより高く決定される。そのため、第4フレーム、及び、第5フレームの画像データのデータサイズは、
図5に示すものの方が
図4に示すものよりも小さい。そして、
図4に示すものと
図5に示すもののいずれも、第7フレームにおいて、レイテンシが正常な状態に戻っている。
【0069】
また、本実施形態では例えば、同じプレイ画像であっても、当該プレイ画像に関連付けられている画質優先要否データの値が1である場合の方が0である場合よりも低い圧縮率でエンコード処理が実行される。そのため、プレイ画像に関連付けられている画質優先要否データの値が1である場合の方が0である場合よりもデコード後のプレイ画像の画質が高くなる。
【0070】
図6に示すものは、
図4、及び、
図5に示すものよりも、第3フレームの画像データのデータサイズが大きくなっている。この場合は、第3フレームにおけるオーバーシュートを許容している。そして、
図6に示すものでは、第4フレームの画像データの欠落が発生している。そして、
図6に示すものでは、第9フレームにおいて、レイテンシが正常な状態に戻っている。
【0071】
生成されるフレーム画像のなかには、例えば、シーンチェンジの発生直後のフレーム画像などのように、大きなオーバーシュートの発生を一時的に許容してでも画質を優先させたい画質優先画像が存在する。
【0072】
しかし、従来のレート制御では、このような画質優先画像を例外的に取り扱うことができなかった。
【0073】
本実施形態では、同じプレイ画像であっても、当該プレイ画像が画質優先画像である場合の方が画質優先画像でない場合よりも画像データのデータサイズが大きくなるようエンコード処理が実行される。そのため、本実施形態によれば、画質優先画像に適したレート制御を行うことができることとなる。
【0074】
以下、本実施形態に係るクラウドゲーミングシステム1の機能、及び、クラウドサーバ10で実行される処理について、さらに説明する。
【0075】
図7は、本実施形態に係るクラウドゲーミングシステム1で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るクラウドゲーミングシステム1で、
図7に示す機能のすべてが実装される必要はなく、また、
図7に示す機能以外の機能(例えば、操作信号等に基づくゲーム処理の実行など)が実装されていても構わない。
【0076】
図7に示すように、本実施形態に係るクラウドサーバ10には、機能的には例えば、比較部20、画像生成部22、取得部24、判断部26、基本パラメータ値決定部28a、画質優先パラメータ値決定部28b、エンコード処理部30、送信部32、が含まれる。また、画像生成部22には、画質優先要否データ生成部22aが含まれる。
【0077】
比較部20は、プロセッサ10a及び記憶部10bを主として実装される。取得部24、エンコード処理部30は、エンコード・デコード部10dを主として実装される。画像生成部22、判断部26、基本パラメータ値決定部28a、画質優先パラメータ値決定部28bは、プロセッサ10aを主として実装される。送信部32は、通信部10cを主として実装される。
【0078】
以上の機能は、コンピュータであるクラウドサーバ10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ10aで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してクラウドサーバ10に供給される。
【0079】
図7に示すように、本実施形態に係る端末12には、機能的には例えば、受信部40、受信バッファ42、デコード処理部44、表示制御部46、が含まれる。
【0080】
受信部40は、通信部12cを主として実装される。受信バッファ42は、記憶部12bを主として実装される。デコード処理部44は、エンコード・デコード部12dを主として実装される。表示制御部46は、プロセッサ12a及び表示部12fを主として実装される。
【0081】
以上の機能は、コンピュータである端末12にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12aで実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して端末12に供給される。
【0082】
比較部20は、本実施形態では例えば、上述の制御量と目標値とを比較する。例えば、比較部20は、制御量を示す制御量データと、目標値を示す目標値データと、を記憶する。そして、比較部20は、画像データが生成される度に、制御量データを更新する。ここでは例えば、上述のように制御量が累積データサイズである場合は、比較部20は、当該画像データのデータサイズの大きさだけ制御量データの値を増加させる。
【0083】
また、上述のように制御量が累積データサイズである場合など、目標値が時間の変数である場合は、比較部20は、現在時刻、あるいは、送信開始からの時間、などに基づいて、目標値データを適宜更新してもよい。例えば、所定の時間間隔で目標値データが更新されるようにしてもよい。
【0084】
画像生成部22は、本実施形態では例えば、フレーム画像を生成する。また、画像生成部22は、生成されたフレーム画像をフレームバッファに描画する。例えば、画像生成部22は、上述のプレイ画像を生成する。
【0085】
画質優先要否データ生成部22aは、本実施形態では例えば、画像生成部22が生成するフレーム画像が画質優先画像であるか否かを特定可能な画質優先要否データを生成して、当該画質優先要否データを当該フレーム画像に関連付ける。
【0086】
ここで、画質優先要否データ生成部22aが、連続したシーンの描写、又は、連続したゲームプレイが終わり、カメラカットが行われた直後のフレーム画像に、当該フレーム画像が画質優先画像であることが特定可能な画質優先要否データを関連付けてもよい。
【0087】
例えば、ある連続したシーンの描写(カメラワーク)が終わり、カメラカット(カメラ割り)が行われた直後のフレーム画像に値が1である画質優先要否データが関連付けられるようにしてもよい。
【0088】
例えば、レースゲームのプレイ中に、プレイヤがドライバー視点で車を運転している際には、値が0である画質優先要否データに関連付けられたフレーム画像が生成されるようにしてもよい。ここで仮にドライバーが縁石に車をぶつけるなどして視界が急変し、フレーム間の画像特徴量の変化が大きかったとしても、画質が落ちるものの低遅延性と表示される動画像の連続性(滑らかさ)は維持される。
【0089】
一方で、視点が観客席からのものに変わった際に、値が1である画質優先要否データに関連付けられたフレーム画像が生成されるようにしてもよい。こうすれば、シーンチェンジの直後のフレーム画像は高画質で表示される。また、当該フレームの直後のフレームのフレーム画像に基づいて生成される画像データが欠落してもユーザはそれほど気にならない。
【0090】
また例えば、ある連続したゲームプレイが終わり、カメラカット(カット割り)が行われた直後のフレーム画像に値が1である画質優先要否データが関連付けられるようにしてもよい。
【0091】
また、画質優先要否データ生成部22aが、ゲームにおけるステージが変化した直後のフレーム画像に、当該フレーム画像が画質優先画像であることが特定可能な画質優先要否データを関連付けてもよい。
【0092】
例えば、あるゲームにおいて、森の中を歩くステージが続いている間は、値が0である画質優先要否データに関連付けられたフレーム画像が生成されるようにしてもよい。その後、砂漠の中を歩くステージに変化した際に、値が1である画質優先要否データに関連付けられたフレーム画像が生成されるようにしてもよい。
【0093】
また、画質優先要否データ生成部22aが、連続したシーンの描画が終わり、フレーム画像の描画に用いられているアセットが切り替わった直後のフレーム画像に、当該フレーム画像が画質優先画像であることが特定可能な画質優先要否データを関連付けてもよい。
【0094】
また、例えば、ある連続したシーンの描画が終わり、フレーム画像の描画に用いられているアセット(3Dオブジェクトやテクスチャデータなど)が切り替わった直後のフレーム画像に値が1である画質優先要否データが関連付けられるようにしてもよい。
【0095】
また、画質優先要否データ生成部22aが、フレーム画像の描画に用いられる新たなアセットがメモリにロードされた直後のフレーム画像に、当該フレーム画像が画質優先画像であることが特定可能な画質優先要否データを関連付けてもよい。
【0096】
例えば、あるゲームにおいて、森の中を歩くステージの描画に必要なアセットがメモリに保持されている間は、値が0である画質優先要否データに関連付けられたフレーム画像が生成されるようにしてもよい。その後、砂漠の中を歩くステージの描画を行うためにアセットを入れ替える処理が実行されて、新たなアセットがメモリにロードされた際に、値が1である画質優先要否データに関連付けられたフレーム画像が生成されるようにしてもよい。なおこの場合、描画システムやゲームシステムのプログラムではなく、システムプログラムによって、アセットが入れ替えわったタイミングが特定されてもよい。そして、システムプログラムによって値が1である画質優先要否データがフレーム画像に関連付けられるようにしてもよい。
【0097】
取得部24は、本実施形態では例えば、フレームバッファに描画されたフレーム画像(上述の例ではプレイ画像)を順次取得する。本実施形態では上述のように、ユーザがゲームをプレイしている際に、直前のフレームからのシーンチェンジが発生したか否かに応じた画質優先要否データが関連付けられたフレーム画像が生成される。そして画質優先要否データが関連付けられたフレーム画像がフレームバッファに描画される。そして、取得部24は、画質優先要否データに関連付けられているフレーム画像を取得する。画質優先要否データが関連付けられたフレーム画像は、例えば、クラウドサーバ10に含まれるゲームプログラム等の描画プログラムによって生成される。なお、画質優先要否データが関連付けられたフレーム画像が、ゲームエンジンによって生成されてもよい。なお、画質優先要否データは、直前のフレームからのシーンチェンジが発生したか否かに応じたものである必要はなく、所定のロジックに基づいて画質優先要否データの値が決定されてもよい。
【0098】
また、取得部24は、仮想空間内に配置された仮想オブジェクトから仮想空間を見た様子を表すフレーム画像を取得してもよい。
【0099】
判断部26は、本実施形態では例えば、取得部24によって取得されるフレーム画像が画質優先画像であるか否かを判断する。判断部26は、例えば、フレーム画像に関連付けられている画質優先要否データに基づいて、当該フレーム画像が画質優先画像であるか否かを判断してもよい。判断部26は、例えば、フレーム画像に関連付けられている画質優先要否データの値が1である場合に、当該フレーム画像を画質優先画像であると判断してもよい。一方で、判断部26は、例えば、フレーム画像に関連付けられている画質優先要否データの値が0である場合に、当該フレーム画像は画質優先画像でないと判断してもよい。
【0100】
また、判断部26が、直前のフレームからのシーンチェンジが発生したか否かを判定してもよい。そして、判断部26は、直前のフレームからのシーンチェンジが発生したフレーム画像は画質優先画像であると判断し、そうでないフレーム画像は画質優先画像でないと判断してもよい。
【0101】
ここで上述のように、取得部24によって仮想空間内に配置された仮想オブジェクトから仮想空間を見た様子を表すフレーム画像が取得されてもよい。この場合に、判断部26は、当該仮想オブジェクトが直前のフレームから変化した直後のフレーム画像を画質優先画像と判断してもよい。
【0102】
また、判断部26が、フレーム画像の描画に用いられているアセットが切り替わった直後のフレーム画像を画質優先画像と判断してもよい。
【0103】
また、判断部26は、画質優先要否データに基づいて、直前のフレームからのシーンチェンジが発生したか否かを判定しなくてもよい。例えば、判断部26は、フレーム画像と当該フレーム画像の直前のフレームのフレーム画像との比較結果に基づいて、直前のフレームからのシーンチェンジが発生したか否かを判定してもよい。
【0104】
例えば、判断部26は、シーンの変化量を示す値が所定値よりも大きい場合は、直前のフレームからのシーンチェンジが発生したと判定し、そうでない場合は、直前のフレームからのシーンチェンジが発生していないと判定してもよい。
【0105】
ここで、シーンの変化量を示す値として、例えば、直前のフレーム画像と当該フレーム画像との相違度や類似度を示す指標値が用いられてもよい。例えば、Peak Signal to Noise Ratio(PSNR)やStructural Similarity(SSIM)が所定値よりも小さい場合は、シーンチェンジが発生していないと判定され、そうでない場合は、シーンチェンジが発生したと判定されてもよい。あるいは、シーンの変化量として、Motion Estimation(ME)変化量が用いられてもよい。例えば、ME変化量の値が所定値よりも大きい場合は、シーンチェンジが発生したと判定され、そうでない場合は、シーンチェンジが発生していないと判定されてもよい。あるいは、シーンの変化量を示す値として、直前のフレーム画像が表示されるタイミングと当該フレームのフレーム画像が表示されるタイミングとの間におけるオーディオが不連続である程度を示す値が用いられてもよい。例えば、当該値が所定値よりも大きい場合は、シーンチェンジが発生したと判定され、そうでない場合は、シーンチェンジが発生していないと判定されてもよい。
【0106】
また、所定の規則に基づき導出されるフレーム画像が表す内容を示すスコア値の変化量に基づいて、直前のフレームからのシーンチェンジが発生したか否かが判定されてもよい。例えば、シーンの切り替えタイミングか否か、フレームに表されている画像テクスチャの種類、特徴点の分布、奥行き情報、オブジェクトの量、3次元グラフィクスに用いているミップマップテクスチャの各レベルの使用量、LOD(Level Of Detail)、テッセレーションの各レベルの使用量、文字及び記号の量、表されるシーンの種類などの情報から算出されるスコア値の変化量に基づいて、シーンチェンジが発生したか否かが判定されてもよい。ここで例えば、空間的詳細度及び時間的詳細度の優先度を表すスコア値が算出されてもよい。
【0107】
基本パラメータ値決定部28aは、本実施形態では例えば、画質優先画像ではないフレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を決定する。
【0108】
画質優先パラメータ値決定部28bは、本実施形態では例えば、画質優先画像であるフレーム画像について、当該フレーム画像の一部又は全部であるエンコード単位のエンコードに用いられるパラメータの値を決定する。
【0109】
上述のように例えば、量子化パラメータ(QP)、ビット深度、画像解像度などのパラメータの値が決定される。なお、当該パラメータの値に、生成される画像データのフレーム種類(例えば、IフレームであるかPフレームであるかなど)を示す値が含まれていてもよい。
【0110】
また、基本パラメータ値決定部28aは、制御量と目標値との差を所定の制御規則に適用することにより、パラメータの値を決定してもよい。
【0111】
また、画質優先パラメータ値決定部28bは、フレーム画像のエンコード単位に用いられるパラメータの値として、制御量と目標値との差を上述の所定の制御規則に適用することにより決定される値よりも、生成される画像データのデータサイズが大きくなる値を決定してもよい。画質優先パラメータ値決定部28bは、例えば、フレーム画像のエンコード単位に用いられるパラメータの値として、制御量と目標値との差を上述の所定の制御規則に適用することにより決定される値よりも、生成される画像データの圧縮率が小さくなる値を決定してもよい。そして、決定される圧縮率に対応するパラメータの値が決定されてもよい。
【0112】
また、画質優先パラメータ値決定部28bは、制御量と目標値との差よりも小さな値を上述の所定の制御規則に適用する場合に相当する、フレーム画像のエンコード単位に用いられるパラメータの値を決定してもよい。
【0113】
本実施形態において、画質優先画像の次のフレーム画像については、基本パラメータ値決定部28aが、制御量と目標値との差を上述の所定の制御規則に適用することにより当該フレーム画像のエンコード単位に用いられるパラメータの値を決定してもよい。この場合、当該画質優先画像によって変化する制御量は、当該画質優先画像の次のフレーム画像に係るパラメータ値の決定に引き継がれることとなる。画像データのデータサイズやレイテンシの長さがオーバーシュートした状態が引き継がれるので、当該画質優先画像の次のフレーム画像に係るパラメータ値の決定では、このオーバーシュートを収束させる処理が実行されることとなる。
【0114】
また、基本パラメータ値決定部28aは、画質優先画像の次のフレーム画像については、制御量と目標値との差を上述の所定の制御規則に適用することにより決定される値よりも、生成される画像データのデータサイズが小さくなる値を決定してもよい。例えば、画質優先画像の次のフレーム画像については、制御量と目標値との差を上述の所定の制御規則に適用することにより決定される値よりも、生成される画像データの圧縮率が大きくなる値を決定してもよい。そして、決定される圧縮率に対応するパラメータの値が決定されてもよい。
【0115】
また、基本パラメータ値決定部28a、又は、画質優先パラメータ値決定部28bの少なくとも一方は、例えば、現時点のコンピュータネットワーク14の転送可能帯域に基づいて、パラメータの値を決定してもよい。例えば転送可能帯域を示す値が大きいほど低い圧縮率が決定されてもよい。転送可能帯域に余裕がある場合は、圧縮率が低くてもそれほど問題とはならないと考えられる。また、転送可能帯域が充分あれば、当該フレームより後のフレーム画像のエンコードのスキップを省略可能であるため、この観点からも、転送可能帯域に余裕がある場合は、圧縮率が低くてもそれほど問題とはならない。
【0116】
また、基本パラメータ値決定部28a、又は、画質優先パラメータ値決定部28bの少なくとも一方は、過去の単位時間あたりに画像データの欠落が発生した回数、又は、過去の単位時間あたりにIフレームが生成された回数のうちの少なくとも1つにさらに基づいて、パラメータの値を決定してもよい。例えば、直近の所定時間について単位時間あたりに画像データの欠落が発生した回数が多いほど高い圧縮率が決定されてもよい。また、直近の所定時間について単位時間あたりにIフレームが生成された回数が多いほど高い圧縮率が決定されてもよい。
【0117】
転送帯域が不十分な状況でIフレームの転送回数が増えると、転送量過多による意図しないデータ欠落、あるいは、意図的なIフレーム後の画像データの送信のスキップの、いずれかにより、フレームレートが不連続となる。その結果、端末12における動画像の再生におけるスムースネスが低下し、ユーザ体験が悪化してしまう。このような場合に、シーンの変化量が大きくても、圧縮率を高くすることによってフレームレートのスムースネスを確保することを優先させてもよい。
【0118】
また、基本パラメータ値決定部28a、又は、画質優先パラメータ値決定部28bの少なくとも一方は、深層学習などの機械学習モデルを用いて、パラメータの値を決定してもよい。
【0119】
また、基本パラメータ値決定部28a、又は、画質優先パラメータ値決定部28bの少なくとも一方は、以上で挙げたもののうちのいくつかあるいはすべてを組み合わせて、その総合的な評価値に基づいて、パラメータの値を決定してもよい。
【0120】
上述の制御量は、累積データサイズには限定されない。例えば、制御量は、単位時間あたりに生成される画像データのデータサイズであってもよい。また、上述のレイテンシの長さが制御量であってもよい。ここで、レイテンシの長さとは、例えば、上述のように、フレーム画像のエンコードの開始タイミングから当該フレーム画像に基づいて生成される画像データの送信終了タイミングまでの時間の長さを指す。
【0121】
また、本実施形態に係るレート制御において、PID制御であるフィードバック制御が実行されてもよい。この場合、画質優先パラメータ値決定部28bは、基本パラメータ値決定部28aによる決定よりもPID制御における比例制御又は微分制御の少なくとも一方のゲインを抑制することで、フレーム画像のエンコード単位に用いられるパラメータの値を決定してもよい。
【0122】
また、画質優先パラメータ値決定部28bは、基本パラメータ値決定部28aよりも長い時間間隔で、制御量と目標値との差に基づいてパラメータの値を決定してもよい。例えば、画質優先パラメータ値決定部28bはフレーム画像単位で制御量と目標値との差に基づくパラメータの値の決定を行い、基本パラメータ値決定部28aは、スライス単位で制御量と目標値との差に基づくパラメータの値の決定を行ってもよい。このように、画質優先パラメータ値決定部28bによるパラメータの値の決定におけるフィードバック制御の時間粒度を粗くすることで、わざとオーバーシュートが起きる状態を作り出すことができる。
【0123】
エンコード処理部30は、本実施形態では例えば、上述のエンコード単位に対して、基本パラメータ値決定部28a又は画質優先パラメータ値決定部28bにより決定されるパラメータの値に基づくエンコードを実行することで画像データを生成する。
【0124】
また、エンコード処理部30は、画質優先画像の次のフレーム画像のエンコードをスキップしてもよい。
【0125】
ここで、エンコード処理部30は、画質優先画像をエンコードすることで生成される画像データのデータサイズに基づいて、フレームスキップ数を決定してもよい。例えば、当該データサイズが大きいほど大きな数のフレームスキップ数が決定されてもよい。そして決定されるフレームスキップ数だけ、画質優先画像に後続するフレーム画像のエンコードをスキップしてもよい。
【0126】
本実施形態において、エンコードのスキップに係る制御(フレームドロップ制御)が、レート制御によってなされてもよい。例えば、画質優先画像については、大きなオーバーシュートが許容されるようなパラメータの値が決定され、通常よりも画像データのデータサイズが大きくなるようにしてもよい。そしてこのことに基づいて、レート制御において、フレームスキップ数が決定されるようにして、オーバーシュートが収束されるようにしてもよい。
【0127】
また、エンコード処理部30は、基本パラメータ値決定部28a、又は、画質優先パラメータ値決定部28bによって決定される、生成される画像データのフレーム種類を示す値に従って、画像データを生成してもよい。例えば、フレーム種類を示す値がIフレームに対応する値である場合は、Iフレームが生成され、フレーム種類を示す値がPフレームに対応する値である場合は、Pフレームが生成されるようにしてもよい。
【0128】
また、エンコード処理部30は、画質優先画像であるフレーム画像をIフレームにエンコードしてもよい。例えば、画質優先画像であるフレーム画像は、必ず、あるいは、優先的に、Iフレームにエンコードされるようにしてもよい。エンコード処理部30は、例えば、判断部26によって画質優先画像であると判断されるフレーム画像をIフレームにエンコードしてもよい。
【0129】
また、エンコード処理部30は、画質優先画像ではないフレーム画像には、グラデュアルデコーダリフレッシュ(GDR)の技術を用いたエンコードを実行してもよい。
【0130】
送信部32は、本実施形態では例えば、エンコード処理部30により生成される画像データを端末12に送信する。ここで送信部32が、コンピュータネットワーク14の通信状況を監視することで、転送可能帯域を特定してもよい。そして、送信部32が、特定される転送可能帯域に応じたデータレートで画像データを端末12に送信してもよい。
【0131】
また、本実施形態において、画像生成部22が、仮想空間内に配置された仮想オブジェクトから当該仮想空間を見た様子を表す描画中間データ(例えば、仮想空間を表す3次元モデルのデータの当該仮想空間における配置情報)に基づいてフレーム画像を生成してもよい。
【0132】
そして、画質優先要否データ生成部22aが、仮想空間を見る主体である仮想オブジェクトが直前のフレームから変化した直後の描画中間データに基づいて画像生成部22により生成されるフレーム画像に、当該フレーム画像が画質優先画像であることが特定可能な画質優先要否データを関連付けてもよい。
【0133】
そして、判断部26が、仮想空間を見る主体である仮想オブジェクトが直前のフレームから変化した直後の描画中間データに基づいて画像生成部22により生成されるフレーム画像を画質優先画像であると判断してもよい。例えば、判断部26は、画質優先要否データ生成部22aによって上述の描画中間データに基づいて値が1である画質優先要否データが関連付けられたフレーム画像を画質優先画像であると判断してもよい。
【0134】
また、画質優先要否データ生成部22aが、描画中間データに基づいて、仮想空間を見る主体である仮想オブジェクトが直前のフレームから変化したか否かを判断しなくてもよい。そしてこの場合に、判断部26が、仮想空間内に配置された仮想オブジェクトから当該仮想空間を見た様子を表す描画中間データに基づいて、当該描画中間データに基づいて生成されるフレーム画像が画質優先画像であるか否かを判断してもよい。例えば、判断部26が、描画中間データに基づいて、仮想空間を見る主体である仮想オブジェクトが直前のフレームから変化したか否かを判断してもよい。そして、仮想空間を見る主体である仮想オブジェクトが直前のフレームから変化したと判断されるフレームのフレーム画像を画質優先画像であると判断してもよい。
【0135】
受信部40は、本実施形態では例えば、画像データを送信装置から受信する。
【0136】
受信バッファ42は、本実施形態では例えば、受信部40が受信する画像データを記憶する。
【0137】
デコード処理部44は、本実施形態では例えば、受信バッファ42に記憶される画像データをデコードすることによりプレイ画像を生成する。
【0138】
表示制御部46は、本実施形態では例えば、デコード処理部44により生成されるプレイ画像を表示させる。
【0139】
ここで、本実施形態に係るクラウドサーバ10において実行される処理の流れの一例を、
図8に例示するフロー図を参照しながら説明する。
図8に示すS101~S110に示す処理は繰り返し実行される。
図8に示すS101~S110に示す処理は、基本的には、固定あるいは可変のフレームレートで繰り返し実行される。なお、本処理例では、比較部20は、所定の時間間隔で、比較部20に記憶されている目標値データを更新していることとする。
【0140】
まず、取得部24が、フレームバッファに描画された当該フレームのフレーム画像を取得する(S101)。
【0141】
そして、判断部26が、S101に示す処理で取得されたフレーム画像が画質優先画像であるか否かを判断する(S102)。
【0142】
S102に示す処理で画質優先画像であると判断されると(S102:Y)、判断部26は、画質優先パラメータ値決定部28bを、本ループにおけるパラメータ値決定部として選択する(S103)。
【0143】
S102に示す処理で画質優先画像ではないと判断されると(S102:N)、判断部26は、基本パラメータ値決定部28aを、本ループにおけるパラメータ値決定部として選択する(S104)。
【0144】
そして、エンコード処理部30が、S101に示す処理で取得されたフレーム画像に含まれる複数のスライスのうち、S106~S109に示す処理が実行されていないものを1つ選択する(S105)。
【0145】
そして、S103又はS104に示す処理で選択された、本ループにおけるパラメータ値決定部が、S105に示す処理で選択されたスライスのエンコード処理に用いられるパラメータの値を決定する(S106)。例えば、制御量と目標値との差、及び、S101に示す処理で取得されたフレーム画像の特徴(例えば、直前のフレームからの動きの大きさ等)、などに基づいて、パラメータの値が決定される。
【0146】
ここで、例えば、比較部20に記憶されている制御量データと目標値データとに基づいて、制御量と目標値との差が特定されてもよい。
【0147】
また、S106に示す処理で、圧縮率が決定されてもよい。そして、決定された圧縮率に基づいて、各種のパラメータの値が決定されてもよい。
【0148】
そして、エンコード処理部30が、S106に示す処理で決定されたパラメータの値に基づいて、S105に示す処理で選択されたスライスをエンコードすることで、当該スライスに対応する画像データを生成する(S107)。
【0149】
そして、送信部32が、S107に示す処理で生成された画像データを端末12に送信する(S108)。
【0150】
そして、比較部20が、比較部20に記憶されている制御量データを更新する(S109)。ここでは比較部20は、例えば、S107に示す処理で生成された画像データのデータサイズを示す値だけ制御量データの値を増加させる。
【0151】
そして、送信部32が、S101に示す処理で取得されたフレーム画像に含まれるすべてのスライスに対応する画像データを送信したか否かを確認する(S110)。
【0152】
すべてのスライスに対応する画像データが送信されていない場合は(S110:N)、S105に示す処理に戻る。
【0153】
すべてのスライスに対応する画像データが送信された場合は(S110:Y)、S101に示す処理に戻る。
【0154】
上述の処理例において、S102に示す処理で画質優先画像ではないと判断された場合には、S105~S109に示すスライス単位でのフィードバック制御の代わりに、フレーム画像単位でフィードバック制御が実行されてもよい。
【0155】
この場合は、例えば、基本パラメータ値決定部28aが、S101に示す処理で取得されたフレーム画像のエンコード処理に用いられるパラメータの値を決定してもよい。
【0156】
そして、エンコード処理部30が、決定されるパラメータの値に基づいて、S101に示す処理で取得されたフレーム画像をエンコードすることで、画像データを生成してもよい。
【0157】
そして、送信部32が、生成された画像データを端末12に送信してもよい。
【0158】
そして、比較部20が、比較部20に記憶されている制御量データを更新して、S101に示す処理に戻ってもよい。
【0159】
なお、本発明は上述の実施形態に限定されるものではない。
【0160】
また、本発明の適用範囲は、クラウドゲーミングシステム1には限定されない。例えば、家庭内に配置されたサーバと、家庭内ネットワーク、公衆ネットワーク、携帯電話のキャリアネットワークなどを介して当該サーバと接続される端末と、を含むゲームシステムにも、本発明は適用可能である。すなわち、コンピュータネットワーク14は、家庭内ネットワーク、公衆ネットワーク、携帯電話のキャリアネットワークなどであってもよい。また、当該サーバと当該端末とは有線で接続されていても無線で接続されていてもよい。
【0161】
また、本発明が適用されるゲームの内容は特に限定されず、例えば、仮想現実(VR)や拡張現実(AR)を用いたゲームを実行するゲームシステムにも本発明は適用可能である。
【0162】
また、本発明の適用範囲はゲームには限定されず、上述のクラウドサーバ10に相当する送信装置から動画像が送信される場面において一般的に本発明は適用可能である。
【0163】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。