JP2023550642A - クラウドゲームのためのコンテンツに適応した信号対雑音比に導かれた2パス映像符号化 - Google Patents
クラウドゲームのためのコンテンツに適応した信号対雑音比に導かれた2パス映像符号化 Download PDFInfo
- Publication number
- JP2023550642A JP2023550642A JP2023531515A JP2023531515A JP2023550642A JP 2023550642 A JP2023550642 A JP 2023550642A JP 2023531515 A JP2023531515 A JP 2023531515A JP 2023531515 A JP2023531515 A JP 2023531515A JP 2023550642 A JP2023550642 A JP 2023550642A
- Authority
- JP
- Japan
- Prior art keywords
- frames
- frame
- encoding
- stream
- noise ratio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000013179 statistical model Methods 0.000 claims abstract description 25
- 238000013139 quantization Methods 0.000 claims abstract description 19
- 238000012417 linear regression Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 abstract description 9
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000009467 reduction Effects 0.000 abstract description 6
- 230000006854 communication Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003116 impacting effect Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
リアルタイムクラウドゲームのためのゲームコンテンツを符号化するための技法、より具体的には、選択されたピーク信号対雑音比(PSNR)目標に対応する量子化パラメータ(QP)の下限を適応的に計算するために、現在のフレームまでの前のフレームの移動ウィンドウにおいて適応統計モデルを使用すること。このPSNRに導かれた符号化の結果は、符号化されたフレームのサイズを大幅に低減させること(すなわち、それらのPSNRをガイダンスとして使用して、それらのフレームに主観的な品質損失がない場合に目標ビットレートを下回ること)である。転送されるビットが少なくなると、ネットワークの送信および復号が速くなり、プラットフォームの負荷も少なくなるため、これらの低減は、帯域幅の問題を軽減し、全体的なユーザ体験を改善する。
Description
背景
様々なクラウドゲームプラットフォームは、インターネット上のユーザのデバイスに配信される映像ストリームにゲームコンテンツをリアルタイムで圧縮するための符号化動作の使用をサポートする。典型的には、エンコーダは、ゲームコンテンツがどのように符号化されるか、特に符号化動作中にどれだけの情報が保存されるかを制御するために量子化パラメータ(Quantization Parameter:QP)を使用する。いくつかのエンコーダは、フレームのサイズに応じて各フレーム(メディアフレーム、映像フレーム、画像等とも呼ばれる)のQPを選択する。したがって、これらのエンコーダは、目標ビットレート(すなわち、フレームサイズ)を満たすようにQPを選択する。しかしながら、これらのエンコーダは、結果として、エンコーダ(またはエンコーダに関連するデバイス)のための追加の不必要な帯域幅使用を引き起こすゲームコンテンツに対する符号化動作をもたらし、場合によっては、エンドツーエンドの待機時間を増加させ、それによって、ユーザ体験に悪影響を及ぼす。
様々なクラウドゲームプラットフォームは、インターネット上のユーザのデバイスに配信される映像ストリームにゲームコンテンツをリアルタイムで圧縮するための符号化動作の使用をサポートする。典型的には、エンコーダは、ゲームコンテンツがどのように符号化されるか、特に符号化動作中にどれだけの情報が保存されるかを制御するために量子化パラメータ(Quantization Parameter:QP)を使用する。いくつかのエンコーダは、フレームのサイズに応じて各フレーム(メディアフレーム、映像フレーム、画像等とも呼ばれる)のQPを選択する。したがって、これらのエンコーダは、目標ビットレート(すなわち、フレームサイズ)を満たすようにQPを選択する。しかしながら、これらのエンコーダは、結果として、エンコーダ(またはエンコーダに関連するデバイス)のための追加の不必要な帯域幅使用を引き起こすゲームコンテンツに対する符号化動作をもたらし、場合によっては、エンドツーエンドの待機時間を増加させ、それによって、ユーザ体験に悪影響を及ぼす。
概要
本開示は、特に、決定されたピーク信号対雑音比(Peak Signal to Noise Ratio:PSNR)に基づいて、フレーム内のメディアコンテンツを符号化することに関する。例えば、提案されるソリューションは、PSNR目標に対応するQPの下限を適応的に計算するために、現在のフレームまでの前のフレームの移動ウィンドウ(moving window)において適応統計モデルを使用することを含み得る。対応するPSNRに導かれた符号化の結果は、符号化されたフレームのサイズを大幅に低減させること(すなわち、それらのPSNRをガイダンスとして使用して、それらのフレームに主観的な品質損失がない場合に目標ビットレートを下回ること)であり得る。転送されるビットが少なくなると、ネットワークの送信および復号が速くなり、プラットフォームの負荷も少なくなるため、これらの低減は、帯域幅の問題を軽減し、全体的なユーザ体験を改善する。
本開示は、特に、決定されたピーク信号対雑音比(Peak Signal to Noise Ratio:PSNR)に基づいて、フレーム内のメディアコンテンツを符号化することに関する。例えば、提案されるソリューションは、PSNR目標に対応するQPの下限を適応的に計算するために、現在のフレームまでの前のフレームの移動ウィンドウ(moving window)において適応統計モデルを使用することを含み得る。対応するPSNRに導かれた符号化の結果は、符号化されたフレームのサイズを大幅に低減させること(すなわち、それらのPSNRをガイダンスとして使用して、それらのフレームに主観的な品質損失がない場合に目標ビットレートを下回ること)であり得る。転送されるビットが少なくなると、ネットワークの送信および復号が速くなり、プラットフォームの負荷も少なくなるため、これらの低減は、帯域幅の問題を軽減し、全体的なユーザ体験を改善する。
一態様によれば、リアルタイムクラウドゲームのための映像を符号化するための方法は、第1の符号化パスにおいてフレームのストリームの各フレームのダウンスケーリングされたバージョンを符号化することに関連するPSNRを決定することと、第1の符号化パスに応答して、PSNRに基づいて、第2の符号化パスにおいてフレームのストリームの各フレームを符号化することとを備える。
当該方法はまた、統計的線形回帰モデルに基づいて、フレームのストリームの各フレームを符号化するための選択された目標PSNRに関連する最小のQPを決定することを含み得る。いくつかの実施形態では、フレームのストリームのフレームを符号化することは、選択された目標PSNRを満たすために、符号化されたフレームについての最小のQPに基づいている。
当該方法はまた、両端キューの前のフレームの移動ウィンドウにおけるPSNRとQPとのペアを線形曲線に適合させることによって、各フレームのPSNRから最小のQPまでの線形マッピングを決定することを含み得る。いくつかの実施形態では、線形マッピングは、各フレームの第2の符号化パスの後に更新される。
当該方法はまた、選択された目標PSNRと、フレームのストリームを有する各フレームについての更新された線形マッピングとに基づいて、最小のQPの下限値を決定することを含み得る。
当該方法はまた、前のフレームの移動ウィンドウに基づいて、PSNRから最小のQPまでの線形マッピングの交点および傾きを決定することを含み得る。
当該方法はまた、PSNRとQPとのペアに関連する前のフレームの移動ウィンドウのサイズを維持することを含み得る。
当該方法はまた、フレームのストリームの各フレームに関連するPSNRに基づいて統計モデルを更新することを含み得る。フレームのストリームの各フレームを符号化することは、統計モデルからの最小のQPに基づく。
当該方法はまた、第1の符号化パスにおける圧縮されていないフレームと再構成されたフレームとの間の、フレームのストリームの各フレームに関連するPSNRをエンコーダによって計算することと、第2の符号化パスにおける圧縮されていないフレームと再構成されたフレームとの間の、フレームのストリームの各フレームに関連するPSNRをエンコーダによって計算することとを含み得る。
いくつかの実施形態では、統計モデルは、PSNRとQPとのペアに基づく線形回帰モデルを含む。
当該方法はまた、目標PSNRの閾値を決定することを含み得る。フレームのストリームの各フレームを符号化することは、目標PSNRの閾値に基づく。
当該方法はまた、ダウンサンプリングパラメータに基づいてフレームのストリームの各フレームをダウンサンプリングすることと、ダウンサンプリングに応じて、目標ビットレートパラメータに基づいてフレームのストリームのダウンサンプリングされたフレームを符号化することとを含み得る。
別の態様によれば、リアルタイムクラウドゲームのための映像を符号化するための装置は、1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリと、選択された目標PSNRに基づいて最小のQPを決定し、かつ、最小のQPに基づいてフレームのストリームの各フレームを符号化するように、1つ以上のプロセッサによって実行可能な命令とを備える。
いくつかの実施形態では、命令は、フレームのストリームの各フレームと関連するピーク信号対雑音比に基づいて統計モデルを更新するように、1つ以上のプロセッサによってさらに実行可能である。いくつかの実施形態では、統計モデルは線形回帰モデルを含む。いくつかの他の実施形態では、線形回帰モデルは、PSNRとQPとの1つ以上のペアに基づく。
いくつかの実施形態では、命令は、ダウンサンプリングパラメータに基づいて、フレームのストリームの各フレームをダウンサンプリングし、かつ、ダウンサンプリングに応じて、目標ビットレートパラメータに基づいて、フレームのストリームのダウンサンプリングされたフレームを符号化するように、1つ以上のプロセッサによってさらに実行可能である。
さらに別の態様によれば、デバイスにおけるリアルタイムクラウドゲームのためのゲームコンテンツを符号化するためのコードを格納した、非一時的なコンピュータ可読媒体であって、コードは、選択された目標PSNRに基づいて最小のQPを決定し、かつ、最小のQPに基づいてフレームのストリームの各フレームを符号化するように、デバイスのプロセッサによって実行可能な命令を備える。
いくつかの実施形態では、命令は、フレームのストリームの各フレームに関連するPSNRに基づいて統計モデルを更新するように、デバイスのプロセッサによってさらに実行可能である。統計モデルは、線形回帰モデルを含む。線形回帰モデルは、ピーク信号対雑音比と量子化パラメータとの1つ以上のペアに基づく。
本開示は、添付の図面を参照することによって、よりよく理解され得、その多数の特徴および利点が当業者に明らかになる。異なる図面における同じ参照符号の使用は、類似または同一の項目を示す。
詳細な説明
クラウドベースのゲームシステムは、エンドユーザが、ポータブルクライアントデバイス(例えば、ラップトップ、スマートフォン)等のリモートデバイス上で、時には元々は非ポータブルデバイス(例えば、パーソナルコンピュータまたはゲーム機セットアップ)用に構成されたゲームアプリケーションにアクセスし、これを体験することを可能にする。クラウドベースのゲームシステムでは、ネットワークデバイス(例えば、ゲームサーバ)は、グラフィックスレンダリング、キャプチャ、符号化、および通信ネットワークへのゲームコンテンツのストリーミング等の動作を実行する。ポータブルクライアントデバイスは、通信ネットワークを介してゲームコンテンツの符号化されたビットストリームを受信し、符号化されたビットストリームを復号し、結果として生じる画像をユーザに表示する。
クラウドベースのゲームシステムは、エンドユーザが、ポータブルクライアントデバイス(例えば、ラップトップ、スマートフォン)等のリモートデバイス上で、時には元々は非ポータブルデバイス(例えば、パーソナルコンピュータまたはゲーム機セットアップ)用に構成されたゲームアプリケーションにアクセスし、これを体験することを可能にする。クラウドベースのゲームシステムでは、ネットワークデバイス(例えば、ゲームサーバ)は、グラフィックスレンダリング、キャプチャ、符号化、および通信ネットワークへのゲームコンテンツのストリーミング等の動作を実行する。ポータブルクライアントデバイスは、通信ネットワークを介してゲームコンテンツの符号化されたビットストリームを受信し、符号化されたビットストリームを復号し、結果として生じる画像をユーザに表示する。
ユーザ体験を向上させるために、クラウドベースのゲームシステムが、高解像度高フレームレートの映像ストリームを生成し、クライアントデバイスに提供することが望ましい場合がある。しかしながら、そのような高品質の映像ストリームは、大量のネットワーク帯域幅および符号化リソースを消費する。例えば、特定のコーデックを使用する1080pフレーム(例えば、1080p映像)の60フレーム毎秒(FPS)ストリームは、ゲームコンテンツの劣化を回避するために、一貫した帯域幅の25メガビット毎秒(Mbps)を超えるデータレートを提供するネットワーク帯域幅を必要とする。さらに、ネットワーク帯域幅は、特定のネットワーク接続をサポートする基礎技術等のいくつかの要因に基づいて変動し得る。例えば、デジタル加入者回線(DSL)接続は10~25Mbpsのデータレートを提供し、ケーブル接続は50~100Mbpsのデータレートを提供し、ファイバ接続は100Mbps以上のデータレートを提供し、衛星接続は15~25Mbpsのデータレートを提供する。したがって、特定のネットワーク接続に基づいて、特定のコーデックは、性能を低下させ、ゲームコンテンツ品質の低下をもたらし、それによって、ユーザ体験に悪影響を及ぼし得る。
帯域幅要件を満たし、短い待機時間の映像ストリーミングを維持するために、いくつかのゲームシステムは、様々なクラウドベースのプラットフォーム上でハードウェアアクセラレーションエンコーダを使用する。クラウドベースのアプリケーションのためのこれらのエンコーダは、目標帯域幅をできるだけ近く満たすために客観的なゲーム品質を最大にすることに焦点を当てている。厳密なエンドツーエンドの待機時間の要件に起因して、典型的には、これらのクラウドゲームシステムにとって、あらゆるフレームについて目標フレームサイズを超えることを防止することが最高の優先度である。しかしながら、人間の視覚システムは、符号化されたゲームコンテンツの客観的な映像品質が閾値を超える場合、追加の主観的な品質利得に対する感度がはるかに低い。すなわち、(他のメトリックの中でもとりわけ)ピーク信号対雑音比(PSNR)によって測定される客観的な映像品質、および、平均意見スコア(MOS)によって測定される主観的な映像品質は、あるPSNRレベルを超えると、主観的な映像品質が最大化されることを示す。
本開示の様々な態様は、ゲームコンテンツの適応符号化のための技法に関し、より具体的には、ゲームコンテンツのピーク信号対雑音比(PSNR)に導かれた符号化に関する。エンコーダは、例えば、ゲームコンテンツに関連するフレームのストリームを受信し、ネットワーク(例えば、インターネット)を介してストリーミングするためにフレームのストリームの符号化されたバージョンを出力する。エンコーダは、ダウンサンプリングされ得る入力フレームを受信して符号化し、第1の符号化パス情報を得る。これは、入力フレームが第2の符号化パス(すなわち、最終の符号化段階)において符号化される前に、エンコーダが現在のPSNRを正確に予測することを可能にする。エンコーダは、現在のフレームまでの前のフレームの移動ウィンドウにおいてコンテンツ適応統計モデル(例えば、線形回帰モデル)を使用して、選択されたPSNR目標に対応するQPの下限(最小のQP)をデシベル単位で適応的に計算し、現在のフレームを符号化するためのレート制御プロセスに下限QPを使用する。このPSNRに導かれた符号化の結果は、PSNRがそれらのフレームに主観的な品質損失がある可能性が低いことを示す場合に、目標ビットレートを下回りながら、符号化されたフレームのサイズを低減することである。転送されるビットが少なくなると、ゲームストリームの全体的な品質を維持しながら、ネットワーク送信が速くなり、復号が速くなり、プラットフォームの負荷がはるかに少なくなるため、これらの低減は、帯域幅の問題を軽減し、全体的なゲーム性能を改善する。
図1は、いくつかの実施形態による、リアルタイムゲームコンテンツの符号化をサポートするクラウドベースのゲームシステム100のブロック図である。クラウドベースのゲームシステム100は、クライアントデバイス102と、サーバ104と、データベース106とを含む。クラウドベースのゲームシステム100は、単一のクライアントデバイス102、単一のサーバ104、単一のデータベース106、および単一のネットワーク108を示すが、本開示は、1つ以上のデバイス102、サーバ104、データベース106、およびネットワーク108を有する任意のクラウドベースのゲームシステムアーキテクチャに適用される。クライアントデバイス102、サーバ104、およびデータベース106は、1つ以上の通信リンク(例えば、無線接続、有線接続)を使用してネットワーク108を介して互いに通信する。
サーバ104は、データサーバ、クラウドサーバ、ゲーム加入プロバイダに関連付けられたサーバ、プロキシサーバ、ウェブサーバ、アプリケーションサーバ、またはこれらの任意の組み合わせであり得る。サーバ104は、いくつかの実施形態では、クラウドゲームプラットフォーム110を含む。クラウドゲームプラットフォーム110は、クライアントデバイス102が、1つ以上の通信リンクを使用してネットワーク108を介してサーバ上にレンダリングされる動的なゲームコンテンツ112、または、ネットワーク108を介したリアルタイムデジタル配信によってデータベース106に記憶される静的なゲームコンテンツ112を発見し、閲覧し、共有し、ストリーミングすることを可能にする。したがって、デジタル配信は、物理的媒体を使用せずに、インターネット等のオンライン配信媒体を介して、オーディオ、映像、画像等のいくつかの静的なゲームコンテンツ112を配信する形態であり得る。
データベース106は、命令またはコマンド(例えば、ゲーム関連情報)等の様々な情報を記憶し得る。例えば、データベース106は、ゲームコンテンツ112を記憶し得る。クライアントデバイス102は、1つ以上の通信リンクを使用して、ネットワーク108を介してデータベース106からゲームコンテンツ112を取り出し得る。ネットワーク108は、暗号化、アクセス許可、追跡、インターネットプロトコル(IP)接続性、ならびに他のアクセス、計算、修正、および/または機能を提供し得る。ネットワーク108の例は、クラウドネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、仮想プライベートネットワーク(VPN)、ワイヤレスネットワーク(例えば、802.11を使用する)、セルラーネットワーク(第3世代(3G)、第4世代(4G)、ロングタームエボルブド(LTE)、または新無線(NR)システム(例えば、第5世代(5G))等を使用する)の任意の組合せを含み得る。ネットワーク108は、インターネットを含み得る。
クラウドベースのゲームシステム100に示される1つ以上の通信リンクは、クライアントデバイス102からサーバ104およびデータベース106へのアップリンク送信、および/または、サーバ104およびデータベース106からクライアントデバイス102へのダウンリンク送信を含む。これらの通信リンクは、双方向通信および/または単方向通信を伝送し得る。いくつかの実施形態では、通信リンクは、有線接続もしくは無線接続、またはその両方であり得る。例えば、通信リンクは、限定はしないが、Wi-Fi、Bluetooth(登録商標)、Bluetooth低エネルギー(BLE)、セルラー、Z-WAVE、802.11、ピアツーピア、LAN、ワイヤレスローカルエリアネットワーク(WLAN)、イーサネット(登録商標)、FireWire、光ファイバ、および/またはワイヤレス通信システムに関連する他の接続タイプを含む、1つ以上の接続を含み得る。
クライアントデバイス102は、いくつかの実施形態では、h.264,vp9またはHEVCを含む様々なタイプの映像コーデックをサポートするセルラーフォン、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ディスプレイデバイス(例えば、モニタ)等である。いくつかの実施形態では、サーバ104およびクライアントデバイス102は共に、クライアントデバイス102のユーザのためのクラウドゲームセッションを実装する。例示すると、サーバ104は、ゲームプログラム114によって実施されるゲームのゲーム状態に基づいてフレーム116(画像)のストリームを生成するゲームプログラム114を実行する。クライアントデバイス102は、サーバ104からフレームのストリームを受信することができ、ユーザインターフェース(例えば、ゲームコントローラ、タッチスクリーン等、またはそれらの任意の組合せ)を介してユーザから入力データを受信することができるゲームアプリケーション118を実行する。クライアントデバイス102は、入力データをサーバ104に提供し、サーバ104は、ゲームプログラム114のゲーム状態を更新し、更新されたゲーム状態に基づいてフレームのストリームについてのより多くのフレームを生成する。
各プログラムを実行してゲームセッションを実現するために、クライアントデバイス102およびサーバ104はそれぞれ、汎用プロセッサ、DSP(digital signal processor)、ISP(image signal processor)、CPU、GPU、マイクロコントローラ、ASIC、FPGA、ディスクリートゲートもしくはトランジスタ論理構成要素、ディスクリートハードウェア構成要素、またはそれらの任意の組合せ、または他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェア構成要素、または本開示で説明される機能を実行するように設計されたそれらの任意の組合せ等の1つ以上を含む。例えば、クライアントデバイス102は、サーバ104からストリーミングされた符号化されたゲームコンテンツ112(例えば、画像データ、映像データ、オーディオデータ)を復号し得る。
サーバ104はまた、ゲームコンテンツ112上の他の機能の中でもとりわけ、強化、復元、分析、および合成を提供するように構成され得る。例えば、サーバ104は、ホワイトバランシング、クロッピング、スケーリング(例えば、ゲーム圧縮)、解像度の調整、ステッチング、色処理、空間ゲームフィルタリング、アーチファクト除去、フレームレート調整等を実行し得る。さらなる例として、サーバ104は、本明細書で説明される技法に従って、ゲームコンテンツ112を処理し得、ゲームコンテンツ112の適応符号化をサポートする。
例えば、ゲームセッション中に、サーバ104は、ダウンサンプリングされ得るフレーム116のストリームに関連する入力フレームを受信して符号化し得、第1の符号化パス情報を取得し、第2の符号化パス(すなわち、最終の符号化段階)において符号化される前に、フレーム116のストリームの現在のまたは後続のフレームのPSNRを正確に予測することを助ける。サーバ104は、現在のフレームまでの前のフレームの移動ウィンドウにおけるコンテンツ適応統計モデル(例えば、線形回帰モデル)を使用して、選択されたPSNR目標に対応するQPの下限を適応的に計算する。このPSNRに導かれた符号化の結果、それらのPSNRをガイダンスとして使用してそれらのフレームに主観的な品質損失がないと決定したことに応じて、目標ビットレートを下回る場合に、符号化されたフレームのサイズが大幅に低減される。転送されるビットが少なくなると、ネットワーク送信が速くなり、復号が速くなり、プラットフォームの負荷がはるかに小さくなるため、これらの低減は、帯域幅の問題を軽減し、全体的なゲーム性能を改善する。
図2は、いくつかの実施形態による、ゲームコンテンツに適応した符号化をサポートする図1のシステムのデバイス200のブロック図である。いくつかの実施形態では、デバイス200は、図1で説明されるようなクラウドベースのゲームシステム100の態様を実装する。例えば、デバイス200は、図1で説明されるようなサーバ104の例であり得る。デバイス200は、ゲームコンテンツ236を符号化するための構成要素を含む双方向通信のための1つ以上のソフトウェアおよびハードウェア構成要素を含む。いくつかの実施形態では、デバイス200は、デスクトップコンピュータ、サーバ、ゲームコンソール等を含む、ゲームコンテンツ236の符号化をサポートする電子デバイスの一部である。図2の例では、デバイス200は、少なくともプロセッサ202と、メモリ204と、モデム206とを含む。これらの構成要素は、1つ以上のインターフェース(例えば、バス228)を介して電子通信している。
プロセッサ202は、デバイス200に代わって指定されたタスクを実行するために命令のセット(例えば、コンピュータプログラム)の実行を概してサポートする処理デバイス(例えば、汎用プロセッサ、CPU、GPU、ASIC、FPGA等)である。いくつかの実施形態では、プロセッサ202は、プロセッサ202に統合されたメモリコントローラを使用して、メモリ204とインターフェースで接続するように構成される。メモリ204は、RAMおよびROMを含む。いくつかの実施形態では、メモリ204は、実行されると、プロセッサ202に本明細書で説明される様々な機能を実行させる命令を含むコンピュータ可読、コンピュータ実行可能なコードを記憶する。いくつかの実施形態では、メモリ204は、他の特徴の中でもとりわけ、基本入出力システム(BIOS)を含み、基本入出力システムは、デバイス200の周辺構成要素との相互作用等の基本のハードウェアまたはソフトウェア動作を制御する。コードは、システムメモリまたは他のタイプのメモリとしての非一時的なコンピュータ可読媒体に記憶される。いくつかの他の実施形態では、メモリ204は、追加的または代替的に、本明細書で説明されるようなゲームコンテンツ236の符号化の性能を改善することに関連する統計モデル230を記憶する。統計モデル230は、本明細書で説明されるように、対応するPSNR値を対応するQP値にマッピングし得る線形回帰モデルを含み得る。
モデム206は、1つ以上のアンテナ、有線、またはワイヤレス通信リンク(例えば、Wi-Fi通信リンク、セルラー通信リンク)を介して双方向に通信する。いくつかの実施形態では、モデム206は、符号化されたゲームコンテンツを搬送するパケットを変調し、変調されたパケットを送信のためにアンテナに提供し、アンテナから受信された符号化されたゲームコンテンツを搬送するパケットを復調するように構成される。いくつかの実施形態では、モデム206は、図1で説明されるようなクライアントデバイス102またはサーバ104等の別のデバイスと双方向に通信するように構成される無線送受信機を示す。
図示の実施形態では、プロセッサ202は、ゲームコンテンツモジュール208と、フレーム生成モジュール210と、フレーム分析モジュール212と、エンコーダ214とを含む。いくつかの実施形態では、ゲームコンテンツモジュール208は、モデム206を介して別のコンピューティングデバイスと通信するために、エンコーダ214の代わりにゲームコンテンツ236(例えば、画像、映像、オーディオ)を生成するように構成される。例えば、いくつかの実施形態では、ゲームコンテンツモジュール208は、プロセッサ202で実行され、別のデバイスと通信するためのゲームコンテンツを生成するプログラムである。
ゲームコンテンツ236を生成するために、ゲームコンテンツモジュール208は、制御信号226を介してフレーム生成モジュール210に信号を送り、ゲームコンテンツ236(例えば、画像、映像、オーディオ)に関連する1つ以上のフレーム216を生成する。例えば、ゲームコンテンツモジュール208は、制御信号226を介してフレーム生成モジュール210に信号を送り、クラウドベースのゲームアプリケーション等に関連する1つ以上のフレームを生成する。フレーム生成モジュール210は、プロセッサ202またはデバイス200の他の構成要素によって実装される。フレーム生成モジュール210は、制御信号226を介して、エンコーダ214に1つ以上の生成されたフレーム216を信号で送る。エンコーダ214は、プロセッサ202またはデバイス200の他の構成要素によって実装される。いくつかの実施形態では、エンコーダ214は、コーデックと呼ばれる指定された符号化技法に従って、1つ以上の生成されたフレーム216を符号化されたフレームストリーム232に符号化する。いくつかの実施形態では、エンコーダ214は、符号化されたフレームストリーム232を、例えば、別のデバイス(例えば、図1で説明されるようなクライアントデバイス102またはサーバ104)への送信のためにモデム206に転送するように構成される。例えば、エンコーダ214は、GPUレンダラ(例えば、図1で説明されるようなサーバ104上)からの非圧縮の映像ストリームであり得るフレームストリーム232を生成し、モデム206を介してインターネット上でストリーミングするための符号化された映像ストリームを出力する。
プロセッサ202またはデバイス200の他の構成要素は、ゲームコンテンツ236の適応符号化をサポートするために、ゲームコンテンツ236(例えば、画像、映像、オーディオ)に関連する1つ以上のフレーム216を分析するために、制御信号226を介してフレーム生成モジュール210に信号を送る。フレーム分析モジュール212は、フレームストリーム232に関連する1つ以上のフレーム216を分析することに関連する1つ以上のパラメータを初期化する。これらのパラメータは、PSNRパラメータ218、最小のQP220、ビットレートパラメータ222、またはフレームサイズパラメータ224、またはそれらの任意の組合せのうちの1つ以上を含む。
フレーム分析モジュール212は、いくつかの実施形態では、1つ以上の要因に基づいて目標PSNRの閾値を決定する。例えば、フレーム分析モジュール212は、特定のネットワーク接続(例えば、DSL、ケーブル、ファイバ、衛星等)をサポートする基礎技術に基づいて、目標PSNRの閾値を45デシベル(dB)に決定し、この値を目標PSNRパラメータ218に格納する。追加的または代替的に、フレーム分析モジュール212は、図1で説明されるようなゲームアプリケーションに関連するデフォルト構成(例えば、ゲーム設定)に基づいて目標PSNRの閾値を45dBに決定し、この値を目標PSNRパラメータ218に格納する。いくつかの実施形態では、フレーム分析モジュール212は、Mbps単位の目標ビットレートを決定する。例えば、フレーム分析モジュール212は、目標ビットレートを28Mbpsに決定し、この値をビットレートパラメータ222に格納する。フレーム分析モジュール212は、いくつかの実施形態では、(例えば、ビット単位で)目標フレームサイズを決定する。フレーム分析モジュール212は、目標ビットレートもしくはフレームレート、またはそれらの組合せに基づいて目標フレームサイズを決定し得る。追加的または代替的に、目標フレームサイズは、図1で説明されるようなゲームアプリケーションに関連するデフォルト構成(例えば、ゲーム設定)に関連する固定解像度に基づき得る。フレーム分析モジュール212は、目標フレームサイズの値をフレームサイズパラメータ224に格納する。
エンコーダ214は、いくつかの実施形態では、フレーム216-1を符号化し、符号化情報をフレーム分析モジュール212に提供する。符号化情報は、フレーム216-1のフレームサイズと、フレーム216-1に関連するPSNR(例えば、ルマ平面のPSNR)とを含み得る。いくつかの実施形態では、フレーム分析モジュール212またはエンコーダ214は、フレーム216-1をその元の解像度の数分の一にダウンスケーリングする。エンコーダ214は、現在のフレームを符号化する前にPSNR推定を提供することができる目標ビットレートを使用して、ダウンスケーリングされたフレーム216-1を符号化する。
フレーム分析モジュール212は、フレーム216-1についての最小のQP220を選択する。例えば、フレーム分析モジュール212は、いくつかの実施形態では、推定されたフレーム216-1のPSNRを目標PSNRと比較する。フレーム216-1のPSNRが選択された目標PSNRよりも大きい場合、フレーム分析モジュール212は、以下でさらに説明される統計モデル230に基づく式(1)に従って線形マッピングを使用して下限QPを計算し、その結果を最小のQP220の下限値として割り当てる。
QP=f(PSNR)=傾き*PSNR+切片(interception)・・・(1)
したがって、線形マッピングはPSNRの関数である。いくつかの実施形態では、傾きの値は、初期化に基づいて予め定義され得る。例えば、傾きの値は、最初にゼロに設定され得る。いくつかの実施形態では、交点の値は、初期化に基づいて予め定義され得る。例えば、交点の値は、最初にゼロに設定され得る。フレーム分析モジュール212は、いくつかの実施形態では、指示を提供するか、または、エンコーダ214についての最小のQP220を設定する。
したがって、線形マッピングはPSNRの関数である。いくつかの実施形態では、傾きの値は、初期化に基づいて予め定義され得る。例えば、傾きの値は、最初にゼロに設定され得る。いくつかの実施形態では、交点の値は、初期化に基づいて予め定義され得る。例えば、交点の値は、最初にゼロに設定され得る。フレーム分析モジュール212は、いくつかの実施形態では、指示を提供するか、または、エンコーダ214についての最小のQP220を設定する。
フレーム分析モジュール212は、いくつかの実施形態では、目標ビットレートを達成するためにエンコーダ214に関連するエンコーダパラメータを調整するためのレート制御をサポートし得る。いくつかの実施形態では、フレーム216の符号化は、本質的に損失のあるプロセスであり得る。例えば、エンコーダ214は、フレームストリーム232(ビットストリーム)から真に冗長な情報を除去することによってだけでなく、最小限に知覚可能であることが意図される方法で小さな品質の妥協を行うことによっても圧縮を達成し得る。最小のQP220は、レート制御が使用できるQPの下限を提供する。最小のQP220が非常に小さい場合、レート制御は、その詳細のほとんどすべてを保持することができる。最小のQP220が増加するにつれて、その詳細のいくらかは、ビットレートが低下するように集約されるが、PSNR目標が充分に高くなるように選択され得るので、客観的に歪みのいくらかの増加および最小の主観的な品質損失を伴う客観的ないくらかの品質損失を代償とする。フレーム分析モジュール212は、それによって、各フレーム216が対象の品質を最大化するための適切なビットの割り当てを有するように、フレーム216のPSNR推定値に基づいて最小のQP220を動的に変化させ得る。したがって、最小のQP220は高い目標PSNRによって決定されるので、主観的な品質損失は最小限に抑えられる。
例として、フレーム分析モジュール212は、その後、フレーム216-2を受信し、フレーム216-2を符号化することに関連するレート制御を実行し、それによって、符号化されたフレーム216-2の品質を管理し得る。いくつかの実施形態では、フレーム分析モジュール212は、フレーム216-1に関連する符号化情報に基づいて、フレーム216-2についての最小のQP220を選択する。いくつかの他の実施形態では、フレーム分析モジュール212は、フレーム216-2を含むフレームの現在のウィンドウについての最小のQP220を示し得る統計モデル230に基づいて、フレーム216-2についての最小のQP220を選択する。フレーム分析モジュール212は、選択された最小のQP220をエンコーダ214に信号で送り、エンコーダ214は、フレーム216-2についての選択された最小のQP220に基づいてフレーム216-2を符号化する。エンコーダ214は、現在のフレームが符号化された後、例えば、フレーム216-2に関連するPSNR等の、フレーム216-2に関連する符号化情報を決定し、フレーム分析モジュール212に渡し得る。
エンコーダ214は、フレーム216-2に関連するPSNRをフレーム分析モジュール212に提供し、フレーム分析モジュール212は、フレーム216-2についての選択されたQPを含む符号化情報で統計的線形回帰モデル230を更新する。例えば、フレーム分析モジュール212は、図4でより詳細に説明されるように、符号化情報を使用して、線形回帰モデルにおいて、線形曲線をフレームストリーム232に関連するフレームの現在のウィンドウに適合させる。エンコーダ214およびフレーム分析モジュール212は、フレームストリーム232に関連するすべてのフレーム216について上記の動作を繰り返し得る。フレーム分析モジュール210は、それによって、現在のフレームについての最小のQPを決定して、そのPSNRの上限を目標PSNRの閾値に定める。それによって、デバイス200は、PSNRからQPへの関数マッピングをサポートして、ゲームコンテンツ236の適応符号化をサポートする。
したがって、上で説明したように、デバイス200のエンコーダ214は、選択された目標PSNRパラメータ218に対応する最小のQP220を適応的に計算するために、現在のフレーム216までの前のフレーム216の移動ウィンドウにおいてコンテンツに適応した線形回帰モデルを使用する。このPSNRに導かれた2パスエンコーダの結果は、多くの場合、PSNRをガイダンスとして使用して、これらのフレームに主観的な品質損失がない場合に目標ビットレートを下回ることによって、符号化されたフレーム216のサイズを大幅に低減することである。これらのビットレートの低減は、帯域幅の問題を軽減するだけでなく、全体的な性能の改善も行う。
図3は、いくつかの実施形態によるゲームコンテンツに適応した符号化のための方法のフローチャートである。いくつかの実施形態では、本方法は、図1を参照して説明されたような、エンコーダまたはその構成要素によって実装される。例えば、エンコーダは、クラウドベースのゲームアプリケーションにおけるゲームコンテンツ符号化を改善して待機時間を低減し、ゲームコンテンツの符号化の信頼性を高める方法を実行するように実装または構成される。いくつかの実施形態では、エンコーダは、以下で説明される動作を実行するようにエンコーダの機能要素を制御するための命令のセットを実行する。追加的または代替的に、エンコーダは、専用ハードウェアを使用して、以下で説明される動作の態様を実行する。
図3の例では、エンコーダは、1つ以上の初期化動作および第1の符号化動作を実行する。初期化段階の一部として、いくつかの実施形態では、デフォルトの目標PSNRまたはデフォルトの初期の最小のQP、または両方を決定する。いくつかの他の実施形態では、エンコーダはまた、フレーム範囲に対するフレームの最大数を決定する。他の実施形態では、エンコーダは、目標PSNRの閾値(例えば、45dB)、目標ビットレートパラメータ(例えば、28Mbps)、または目標フレームサイズパラメータ、またはそれらの任意の組合せを決定する。エンコーダはまた、ゲームコンテンツに適応した符号化のための方法の初期化動作の一部として、上記のパラメータのうちの1つ以上で事前に構成され得る。
第1の符号化段階の一部として、ブロック302において、エンコーダは、例えば、クラウドベースのゲームアプリケーションに関連するフレームのストリームから現在のフレームを受信する。ブロック304において、エンコーダは、現在のフレームをダウンスケーリングする。例えば、エンコーダは、現在のフレームの元の解像度の数分の一だけ現在のフレームをダウンスケーリングする。いくつかの実施形態では、エンコーダは、現在のフレームの元の解像度の半分(1/2)だけ現在のフレームをダウンスケーリングする。いくつかの他の実施形態では、エンコーダは、現在のフレームの元の解像度の4分の1(1/4)だけ現在のフレームをダウンスケーリングする。他の実施形態では、エンコーダは、現在のフレームの元の解像度の異なる割合だけダウンスケーリングする。ブロック306において、エンコーダは、第1の符号化パス中にダウンスケーリングされた現在のフレームを符号化する。いくつかの実施形態では、エンコーダは、目標ビットレートに基づいて、第1の符号化パス中にダウンスケーリングされた現在のフレームを符号化する。
ブロック308において、エンコーダは、エンコーダのデフォルト設定または構成に基づいて目標ビットレートを決定する。いくつかの実施形態では、エンコーダは、それによって、エンコーダのデフォルト設定または構成に基づいて、28Mbps等のMbpsで表すことができる目標ビットレートを決定する。エンコーダは、28Mbpsの目標ビットレートに基づいて、第1の符号化パス中にダウンスケーリングされた現在のフレームを符号化する。いくつかの実施形態では、エンコーダは、目標ビットレートの数分の一(例えば、目標ビットレートの4分の1(1/4))に基づいて、第1の符号化パス中にダウンスケーリングされた現在のフレームを符号化する。例えば、エンコーダは、28Mbpsの目標ビットレートの数分の一(例えば、7Mbps)に基づいて、第1の符号化パス中にダウンスケーリングされた現在のフレームを符号化する。ブロック310において、エンコーダは、追加的または代替的に、第1の符号化パスに基づいて現在のフレームのフレームサイズを決定する。ブロック312において、エンコーダは、第1の符号化パスに基づく推定によって現在のフレームのPSNRを決定する。例えば、エンコーダは、専用ハードウェアおよびソフトウェア技術を使用して、現在のフレームの第1の符号化パス中にルマ平面のPSNRを決定する。
図4は、いくつかの実施形態による図3の方法の追加の態様を示すフローチャートである。いくつかの実施形態では、本方法は、図1を参照して説明されたような、エンコーダまたはその構成要素によって実装される。いくつかの実施形態では、エンコーダは、以下で説明される動作を実行するようにエンコーダの機能要素を制御するための命令のセットを実行する。追加的または代替的に、エンコーダは、専用ハードウェアを使用して、以下で説明される動作の態様を実行する。
図4の例では、エンコーダは、2パス符号化動作の第2の符号化動作であり得る符号化動作を実行する。ブロック402において、エンコーダは、第2の符号化パス中に現在のフレームを符号化する。第2の符号化パス中の符号化は、1つ以上のパラメータ(例えば、最小の量子化パラメータ、目標ビットレートパラメータ)に基づき得る。ブロック404において、エンコーダは、目標ビットレートを決定する。ブロック406において、エンコーダは、前のフレーム情報を決定する。ブロック408において、エンコーダは、前のPSNR情報を決定する。それによって、第2の符号化パス中の現在のフレームの符号化は、目標ビットレート、前のフレーム情報、または前のPSNR情報、または第1の符号化パスからの推定PSNR、またはそれらの任意の組合せに基づき得る。
ブロック410において、エンコーダは、第2の符号化パスに基づいて現在のフレームのフレームサイズを決定する。ブロック412において、第2の符号化パスの後に、エンコーダは、現在のフレームのPSNRを決定する。ブロック414において、エンコーダは、QP=f(PSNR)=傾き*PSNR+切片(interseption)のマッピングを計算するために、統計モデル、例えば、線形回帰モデルを、{現在のpsnr,現在のqp}のペアに基づいて更新する。
エンコーダは、現在のフレームまでの前のフレームの移動ウィンドウにおいて{PSNR,QP}のペアの両端キューを維持する。現在のフレームの第2の符号化パスの後、現在のフレームの{PSNR,QP}のペアがキューの末尾にプッシュされる。キューのサイズが、エンコーダの初期化段階によって決定される最大のサイズに達すると、ブロック414は、QP=a*PSNR+bによって定義される線形曲線を、{PSNR,QP}のペアの現在のキューに適合させる。ここでaは交点であり、bは傾きである。いくつかの実施形態では、キューについて平均PSNRおよび平均QPが計算される。キュー内の{PSNR,QP}の各ペアについて、平均PSNRとPSNRとの間の差が二乗され、その結果がその後、s_xxに累積される。同様に、平均QPとQPとの差に平均PSNRの差が乗じられて、その後、s_xyに累積される。いくつかの実施形態では、線形曲線の交点(b)および傾き(a)は、以下の式によって決定される。
a=s_xy/s_xx
b=平均QP-傾き*平均PSNR
いくつかの実施形態では、エンコーダは、最後に、キューの先頭にある{PSNR,QP}のペアを除去する。
b=平均QP-傾き*平均PSNR
いくつかの実施形態では、エンコーダは、最後に、キューの先頭にある{PSNR,QP}のペアを除去する。
いくつかの実施形態では、上記で説明された技法のいくつかの態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装され得る。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶された、または、そうでなければ有形に具現化された実行可能な命令の1つ以上のセットを備える。ソフトウェアは、1つ以上のプロセッサによって実行されると、上記で説明された技法の1つ以上の態様を実行するように1つ以上のプロセッサを操作する命令といくつかのデータとを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気または光ディスク記憶装置、フラッシュメモリ、キャッシュ、RAM、または他の不揮発性記憶装置などのソリッドステート記憶装置などを含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能な命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または1つ以上のプロセッサによって解釈されるか、そうでなければ実行可能である他の命令フォーマットであり得る。
コンピュータ可読記憶媒体は、命令および/またはデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の記憶媒体または記憶媒体の組合せを含み得る。そのような記憶媒体は、光学媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、または磁気ハードドライブ)、揮発性メモリ(例えば、RAMまたはキャッシュ)、不揮発性メモリ(例えば、ROMまたはフラッシュメモリ)、または微小な電気機械システム(MEMS)ベースの記憶媒体を含むことができるが、それらに限定されない。コンピュータ可読記憶媒体は、コンピューティングシステムに埋め込まれてもよく(例えば、システムRAMまたはROM)、コンピューティングシステムに固定して取り付けられてもよく(例えば、磁気ハードドライブ)、コンピューティングシステムに取り外し可能に取り付けられてもよく(例えば、光ディスクまたはUSBベースのフラッシュメモリ)、または、有線もしくは無線ネットワークを介してコンピュータシステムに結合されてもよい(例えば、ネットワークアクセス可能なストレージ(NAS))。
全般的な説明において上述されたアクティビティまたは要素のすべてが必要とされるわけではなく、特定のアクティビティまたはデバイスの一部は必要とされないことがあり得、説明されたものに加えて、1つ以上のさらなるアクティビティが実行され得るか、または、要素が含まれ得ることに留意されたい。さらに、アクティビティが列挙される順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明されている。しかしながら、当業者は、以下の特許請求の範囲に記載される本開示の範囲から逸脱することなく、様々な修正および変更を行い得ることを理解する。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で見なされるべきであり、全てのそのような修正は、本開示の範囲内に含まれることが意図される。
利益、他の利点、および問題に対する解決策は、特定の実施形態に関して上述されている。しかしながら、利益、利点、問題に対する解決策、および、任意の利益、利点、または解決策を生じさせ得るか、または、より顕著にさせ得る任意の特徴は、いずれかまたは全ての請求項の重要な、必要な、または本質的な特徴として解釈されるべきではない。さらに、開示される主題は、本明細書の教示の利益を有する当業者に明白である、異なるが同等の様式で修正および実践され得るため、上記で開示される特定の実施形態は、例証にすぎない。以下の特許請求の範囲に記載されるもの以外に、本明細書に示される構造または設計の詳細への限定は意図されない。したがって、上記で開示された特定の実施形態は、変更または修正され得、すべてのそのような変形は、開示された主題の範囲内であると見なされることが明らかである。したがって、本明細書で求められる保護は、以下の特許請求の範囲に記載されるとおりである。
QP=f(PSNR)=傾き*PSNR+切片(intercept)・・・(1)
したがって、線形マッピングはPSNRの関数である。いくつかの実施形態では、傾きの値は、初期化に基づいて予め定義され得る。例えば、傾きの値は、最初にゼロに設定され得る。いくつかの実施形態では、切片の値は、初期化に基づいて予め定義され得る。例えば、切片の値は、最初にゼロに設定され得る。フレーム分析モジュール212は、いくつかの実施形態では、指示を提供するか、または、エンコーダ214についての最小のQP220を設定する。
したがって、線形マッピングはPSNRの関数である。いくつかの実施形態では、傾きの値は、初期化に基づいて予め定義され得る。例えば、傾きの値は、最初にゼロに設定され得る。いくつかの実施形態では、切片の値は、初期化に基づいて予め定義され得る。例えば、切片の値は、最初にゼロに設定され得る。フレーム分析モジュール212は、いくつかの実施形態では、指示を提供するか、または、エンコーダ214についての最小のQP220を設定する。
ブロック410において、エンコーダは、第2の符号化パスに基づいて現在のフレームのフレームサイズを決定する。ブロック412において、第2の符号化パスの後に、エンコーダは、現在のフレームのPSNRを決定する。ブロック414において、エンコーダは、QP=f(PSNR)=傾き*PSNR+切片(intercept)のマッピングを計算するために、統計モデル、例えば、線形回帰モデルを、{現在のpsnr,現在のqp}のペアに基づいて更新する。
エンコーダは、現在のフレームまでの前のフレームの移動ウィンドウにおいて{PSNR,QP}のペアの両端キューを維持する。現在のフレームの第2の符号化パスの後、現在のフレームの{PSNR,QP}のペアがキューの末尾にプッシュされる。キューのサイズが、エンコーダの初期化段階によって決定される最大のサイズに達すると、ブロック414は、QP=a*PSNR+bによって定義される線形曲線を、{PSNR,QP}のペアの現在のキューに適合させる。ここでaは傾きであり、bは切片である。いくつかの実施形態では、キューについて平均PSNRおよび平均QPが計算される。キュー内の{PSNR,QP}の各ペアについて、平均PSNRとPSNRとの間の差が二乗され、その結果がその後、s_xxに累積される。同様に、平均QPとQPとの差に平均PSNRの差が乗じられて、その後、s_xyに累積される。いくつかの実施形態では、線形曲線の切片(b)および傾き(a)は、以下の式によって決定される。
Claims (20)
- リアルタイムクラウドゲームのための映像を符号化するための方法であって、
第1の符号化パスにおいてフレームのストリームの各フレームのダウンスケーリングされたバージョンを符号化することに関連するピーク信号対雑音比を決定することと、
前記第1の符号化パスに応じて、前記ピーク信号対雑音比に基づいて、第2の符号化パスにおいてフレームの前記ストリームの各フレームを符号化することとを備える、方法。 - 前記方法は、統計的線形回帰モデルに基づいて、フレームの前記ストリームの各フレームを符号化するための選択された目標ピーク信号対雑音比に関連する最小の量子化パラメータを決定することと、
前記選択された目標PSNRを満たすために、前記符号化されたフレームについての前記最小の量子化パラメータに基づいて、フレームの前記ストリームのフレームを符号化することとをさらに備える、請求項1に記載の方法。 - 前記方法は、両端キューの前のフレームの移動ウィンドウにおけるピーク信号対雑音比と量子化パラメータとのペアを線形曲線に適合させることによって、各フレームの前記ピーク信号対雑音比から前記最小の量子化パラメータへの線形マッピングを決定することをさらに備え、
前記線形マッピングは、各フレームの前記第2の符号化パスの後に更新される、請求項2に記載の方法。 - 前記方法は、前記選択された目標ピーク信号対雑音比と、フレームの前記ストリームを有する各フレームについての前記更新された線形マッピングとに基づいて、前記最小の量子化パラメータの下限値を決定することをさらに備える、請求項3に記載の方法。
- 前記方法は、前のフレームの前記移動ウィンドウに基づいて、前記ピーク信号対雑音比から前記最小の量子化パラメータまでの前記線形マッピングの交点および傾きを決定することをさらに備える、請求項3に記載の方法。
- 前記方法は、ピーク信号対雑音比と量子化パラメータとのペアに関連する前のフレームの前記移動ウィンドウのサイズを維持することをさらに備える、請求項5に記載の方法。
- 前記方法は、フレームの前記ストリームの各フレームに関連する前記ピーク信号対雑音比に基づいて統計モデルを更新することをさらに備え、
フレームの前記ストリームの各フレームを符号化することは、前記統計モデルからの前記最小の量子化パラメータに基づく、請求項2に記載の方法。 - 前記方法は、
前記第1の符号化パスにおける圧縮されていないフレームと再構成されたフレームとの間の、フレームの前記ストリームの各フレームに関連する前記ピーク信号対雑音比を前記エンコーダによって計算することと、
前記第2の符号化パスにおける前記圧縮されていないフレームと前記再構成されたフレームとの間の、フレームの前記ストリームの各フレームに関連する前記ピーク信号対雑音比を前記エンコーダによって計算することとをさらに備える、先行する請求項1~7のいずれか1項に記載の方法。 - 前記統計モデルは、ピーク信号対雑音比と量子化パラメータとの前記ペアに基づく線形回帰モデルを含む、請求項7に記載の方法。
- 前記方法は、目標ピーク信号対雑音比の閾値を決定することをさらに備え、
フレームの前記ストリームの各フレームを符号化することは、前記目標ピーク信号対雑音比の閾値に基づく、先行する請求項1~7のいずれか1項に記載の方法。 - 前記方法は、
ダウンサンプリングパラメータに基づいてフレームの前記ストリームの各フレームをダウンサンプリングすることと、
前記ダウンサンプリングに応じて、目標ビットレートパラメータに基づいてフレームの前記ストリームの前記ダウンサンプリングされたフレームを符号化することとをさらに備える、先行する請求項1~7のいずれか1項に記載の方法。 - リアルタイムクラウドゲームのための映像を符号化するための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリと、
前記1つ以上のプロセッサによって、
選択された目標ピーク信号対雑音比に基づいて最小の量子化パラメータを決定し、かつ、
前記最小の量子化パラメータに基づいてフレームの前記ストリームの各フレームを符号化するように、実行可能な命令とを備える、装置。 - 前記命令は、フレームの前記ストリームの各フレームに関連する前記ピーク信号対雑音比に基づいて統計モデルを更新するように、前記1つ以上のプロセッサによってさらに実行可能である、請求項12に記載の装置。
- 前記統計モデルは線形回帰モデルを含む、請求項13に記載の装置。
- 前記線形回帰モデルは、ピーク信号対雑音比と量子化パラメータとの1つ以上のペアに基づく、請求項13または14に記載の装置。
- 前記命令は、
ダウンサンプリングパラメータに基づいてフレームの前記ストリームの各フレームをダウンサンプリングし、かつ、
前記ダウンサンプリングに応じて、目標ビットレートパラメータに基づいて、フレームの前記ストリームの前記ダウンサンプリングされたフレームを符号化するように、前記1つ以上のプロセッサによってさらに実行可能である、請求項12に記載の装置。 - デバイスにおけるリアルタイムクラウドゲームのためのゲームコンテンツを符号化するためのコードを格納した、非一時的なコンピュータ可読媒体であって、
前記コードは、前記デバイスのプロセッサによって、
選択された目標ピーク信号対雑音比に基づいて最小の量子化パラメータを決定し、かつ、
前記最小の量子化パラメータに基づいてフレームの前記ストリームの各フレームを符号化するように実行可能な命令を備える、非一時的なコンピュータ可読媒体。 - 前記命令は、フレームの前記ストリームの各フレームに関連する前記ピーク信号対雑音比に基づいて統計モデルを更新するように、前記デバイスの前記プロセッサによってさらに実行可能である、請求項17に記載の非一時的なコンピュータ可読媒体。
- 前記統計モデルは線形回帰モデルを含む、請求項18に記載の非一時的なコンピュータ可読媒体。
- 前記線形回帰モデルは、ピーク信号対雑音比と量子化パラメータとの1つ以上のペアに基づく、請求項18または19に記載の非一時的なコンピュータ可読媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/062161 WO2022115102A1 (en) | 2020-11-25 | 2020-11-25 | Content-adaptive signal-to noise-ratio-guided two-pass video encoding for cloud gaming |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023550642A true JP2023550642A (ja) | 2023-12-04 |
Family
ID=73856334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023531515A Pending JP2023550642A (ja) | 2020-11-25 | 2020-11-25 | クラウドゲームのためのコンテンツに適応した信号対雑音比に導かれた2パス映像符号化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230396766A1 (ja) |
EP (1) | EP4218236A1 (ja) |
JP (1) | JP2023550642A (ja) |
KR (1) | KR20230088454A (ja) |
CN (1) | CN116391354A (ja) |
WO (1) | WO2022115102A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10979721B2 (en) * | 2016-11-17 | 2021-04-13 | Dolby Laboratories Licensing Corporation | Predicting and verifying regions of interest selections |
US11290699B2 (en) * | 2016-12-19 | 2022-03-29 | Dolby Laboratories Licensing Corporation | View direction based multilevel low bandwidth techniques to support individual user experiences of omnidirectional video |
US20190373040A1 (en) * | 2018-05-30 | 2019-12-05 | Infiniscene, Inc. | Systems and methods game streaming |
US10964102B2 (en) * | 2018-07-09 | 2021-03-30 | Sony Corporation | Adaptive sub-band based coding of hierarchical transform coefficients of three-dimensional point cloud |
US11368692B2 (en) * | 2018-10-31 | 2022-06-21 | Ati Technologies Ulc | Content adaptive quantization strength and bitrate modeling |
-
2020
- 2020-11-25 EP EP20828449.7A patent/EP4218236A1/en active Pending
- 2020-11-25 WO PCT/US2020/062161 patent/WO2022115102A1/en active Application Filing
- 2020-11-25 CN CN202080106947.4A patent/CN116391354A/zh active Pending
- 2020-11-25 KR KR1020237016478A patent/KR20230088454A/ko unknown
- 2020-11-25 JP JP2023531515A patent/JP2023550642A/ja active Pending
- 2020-11-25 US US18/033,473 patent/US20230396766A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230088454A (ko) | 2023-06-19 |
EP4218236A1 (en) | 2023-08-02 |
CN116391354A (zh) | 2023-07-04 |
WO2022115102A1 (en) | 2022-06-02 |
US20230396766A1 (en) | 2023-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7212025B2 (ja) | 電力認識型ビデオ復号およびストリーミング | |
US10523947B2 (en) | Server-based encoding of adjustable frame rate content | |
JP7221957B2 (ja) | ビデオエンコーダレンダリング向けのゲームエンジンアプリケーション | |
CN108769693B (zh) | 质量感知视频优化中的宏块级自适应量化 | |
US9049271B1 (en) | Switch-initiated congestion management method | |
TWI605699B (zh) | 在mpeg/3gpp-dash中平滑串流切換方法及裝置 | |
JP4309185B2 (ja) | ストリーミング・メディアの輻輳制御メカニズム | |
TWI423681B (zh) | 控制媒體串流編碼的方法及系統 | |
US20210195262A1 (en) | Method and system for low latency high frame rate streaming | |
WO2017219896A1 (zh) | 视频流的传输方法及装置 | |
JP5745175B2 (ja) | 適応的な量子化パラメータ差分値を用いた映像の符号化及び復号化方法と装置 | |
JP7265623B2 (ja) | コンテンツ適応量子化強度及びビットレートモデリング | |
US10003626B2 (en) | Adaptive real-time transcoding method and streaming server therefor | |
KR20160080929A (ko) | 클라우드 기반의 적응형 초고화질 멀티미디어 스트리밍 서비스 장치 및 방법 | |
WO2016177248A1 (zh) | 一种实时媒体流的编解码方法和装置 | |
JP7265622B2 (ja) | 低遅延ビデオ符号化のための効率的な量子化パラメータ予測方法 | |
Choudhury et al. | Experimental evaluation of virtual reality applications running on next-gen network scenarios with edge cloud assistance | |
JP5428702B2 (ja) | ストリーム通信システム、サーバ装置及びクライアント装置 | |
JP2023550642A (ja) | クラウドゲームのためのコンテンツに適応した信号対雑音比に導かれた2パス映像符号化 | |
TWI509563B (zh) | 管理串流參數之圖形伺服器與方法 | |
JP2017028622A (ja) | 画質制御装置、画質制御方法、画質制御システム及び画質制御用プログラム | |
US20230031245A1 (en) | Encoder changes | |
TWI852645B (zh) | 具有動態自適應的多媒體系統 | |
WO2024001621A1 (en) | Multimedia system with dynamic adaptation | |
US11902547B2 (en) | Low-delay two-pass frame-level rate control using an adjusted complexity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231122 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231122 |