CN117062656A - 使用共享参考帧的低延迟多遍帧级速率控制 - Google Patents
使用共享参考帧的低延迟多遍帧级速率控制 Download PDFInfo
- Publication number
- CN117062656A CN117062656A CN202280024802.9A CN202280024802A CN117062656A CN 117062656 A CN117062656 A CN 117062656A CN 202280024802 A CN202280024802 A CN 202280024802A CN 117062656 A CN117062656 A CN 117062656A
- Authority
- CN
- China
- Prior art keywords
- pass
- game
- frame
- encoding
- resolution
- 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 description 70
- 238000013139 quantization Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 8
- 238000009877 rendering Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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
-
- 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/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- 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/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
使用共享参考帧的多遍编码操作被实现,以将一个或多个游戏帧编码为游戏流。所述多遍编码操作包括:基于由所述多遍编码操作的第二遍编码使用的第二遍参考帧,产生共享参考帧。所述编码操作还包括:使用所述共享参考帧对当前帧执行第一遍编码。作为所述第一遍编码的结果,所述当前帧的估计的复杂度被确定。然后根据所述第二遍参考帧和所述估计的复杂度对所述当前帧执行第二遍编码,从而产生编码帧。该编码帧然后作为流的一部分被发送到客户端系统。
Description
背景技术
基于云的游戏平台涉及在远程服务器上执行部分或整个视频游戏应用,以有助于在本地客户端设备上玩视频游戏应用。远程服务器通过网络向本地客户端设备提供从执行视频游戏应用渲染的音频和视频作为音频和视频流。在提供这些音频和视频流时,远程服务器采用各种编码器操作的使用在游戏帧和音频被流式传输之前实时压缩它们。针对低时延云游戏应用,期望确保编码器操作不以将导致流需要比可用网络允许的更多带宽的比特数来压缩游戏帧。
与容忍一些延迟的一般视频流应用不同,基于云的游戏需要维持实时交互性。为了解决这个问题,一些基于云的游戏平台要求将每个帧编码为非常接近与当前可用网络带宽匹配的目标帧大小。以除目标帧大小之外的大小对游戏帧进行编码能够导致下冲(导致比允许的比特少)或超调(导致比允许的比特多),超调潜在地导致降低游戏体验的分组丢失和延迟。
附图说明
通过参照附图,本公开可以被更好地理解,并且其许多特征和优点对于本领域技术人员来说显而易见。在不同附图中使用相同的附图标记指示类似或相同的项目。
图1是根据一些实施例的采用使用一个或多个共享参考帧的多遍编码技术的基于云的游戏系统的框图。
图2是根据一些实施例的被配置为在基于云的游戏系统内对帧进行编码和流式传输的计算设备的框图。
图3是图示了根据一些实施例的用于对游戏帧流中的游戏帧进行多遍编码的方法的流程图。
图4是根据一些实施例的使用一个或多个共享参考帧的多遍编码过程的示例的图。
发明内容
本文中描述的技术和系统涉及一种使用共享参考帧的多遍(multi-pass)编码操作。根据示例实施例,一种计算机实现的方法能够包括将多遍(例如两遍)编码过程的第一遍编码的第一遍分辨率与多遍编码过程的第二遍编码的第二遍分辨率进行比较。附加地,该方法能够包括基于比较检索与第二遍编码相关联的第二遍参考帧,以便产生共享参考帧。这可以例如指该方法包括检索在要编码的第一游戏帧的第二遍编码中使用的第二遍参考帧,并且基于分辨率的比较,使用第二遍参考帧作为在第一游戏帧的第一遍编码中使用的第一遍参考帧,或者使第二遍参考帧适应于产生用于第一游戏帧的第一遍编码的第一遍参考。在任何情况下,当执行第一遍编码时,第二遍参考帧被用作第一遍参考帧的基础,使得第二遍参考帧形成不仅用于第二遍编码而且用于第一遍编码的共享参考帧。该方法还能够包括使用共享参考帧以第一遍分辨率对游戏帧流中的第一游戏帧执行第一遍编码,以确定第一游戏帧的估计的复杂度。该方法能够附加地包括使用第二遍参考帧并且根据估计的复杂度以第二遍分辨率对第一游戏帧执行第二遍编码,以生成编码帧。因此,所提出的方法能够附加地包括使用第二遍参考帧和估计的复杂度以第二遍分辨率对第一游戏帧执行第二遍编码,以生成编码帧。如本文中所使用的,当前帧的“复杂度”是指当前帧中的不同于与当前帧相关联的一个或多个参考帧(例如用于对当前帧进行编码的参考帧)的信息量或值。例如,仅举几例,当前帧的复杂度包括当前帧与一个或多个参考帧之间的信噪比的差异、当前帧与一个或多个参考帧之间的能量的差异以及当前帧与一个或多个参考帧之间的熵的差异或其任何组合。通过这种方式,当前帧的复杂度越高,就需要对更多信息进行编码。
在该方法中,检索第二遍参考帧能够包括从与第二遍编码相关联的存储器缓冲器检索第二遍参考帧。附加地,检索第二遍参考帧能够包括:响应于第一遍分辨率小于第二遍分辨率,将第二遍参考帧下采样到第一遍分辨率以产生下采样的参考帧,并且将下采样的参考帧存储在与第一遍编码相关联的第二存储器缓冲器中以产生共享参考帧。检索第二遍参考帧还可以包括:响应于第一遍分辨率等于第二遍分辨率,将第二遍参考帧存储在与第一遍编码相关联的第二存储器缓冲器中,以产生共享参考帧。
在该方法中,第二遍参考帧能够根据存储在与第一遍编码相关联的存储器缓冲器中的指针来检索。此外,存储器缓冲器能够包括各自与相应的第二遍参考帧相关联的多个指针,该相应的第二遍参考帧被存储在与第二遍编码相关联的第二遍存储器缓冲器中。
在另一示例实施例中,一种计算机实现的方法能够包括:基于用于多遍编码过程的第二遍编码的第二遍参考帧来产生用于多遍编码过程的第一遍编码的共享参考帧。产生共享参考帧能够包括将第一遍编码的第一遍分辨率与第二遍编码的第二遍分辨率进行比较,并且基于第一遍分辨率和第二遍分辨率的比较对第二遍参考帧进行下采样。该方法还能够包括使用共享参考帧以第一遍分辨率对游戏帧流中的第一游戏帧执行第一遍编码,并且基于第一游戏帧的第一遍编码来确定第一游戏帧的估计的复杂度。附加地,该方法能够包括使用第二遍参考帧并且基于估计的复杂度以第二遍分辨率对第一游戏帧执行第二遍编码,以生成编码帧。
在该方法中,产生共享参考帧还可以包括:根据与第一遍编码相关联的第二存储器缓冲器中的指针,访问与第二遍编码相关联的存储器缓冲器。第二存储器缓冲器能够包括各自与相应的第二遍参考帧相关联的多个指针,该第二参考帧被存储在与第二遍编码相关联的存储器缓冲器中。产生共享参考帧还能够包括:响应于第一遍分辨率小于第二遍分辨率,将第二遍参考帧下采样到第一遍分辨率以产生下采样的参考帧,并且将下采样的参考帧存储在第二存储器缓冲器中以产生共享参考帧。产生共享参考帧还能够包括:响应于第一遍分辨率等于第二遍分辨率,将第二遍参考帧存储在与第一遍编码相关联的第二存储器缓冲器中,以产生共享参考帧。
通常,第一遍编码还能够包括将第一游戏帧下采样到第一遍分辨率。基于第一游戏帧的第一遍编码来确定第一游戏帧的估计的复杂度还能够包括确定第一游戏帧的量化参数。第二遍编码还能够基于量化参数来执行。执行第一遍编码可以产生具有比特大小的第一遍编码帧,并且确定估计的复杂度还能够基于比特大小。
此外,通常,第一游戏帧可以表示与客户端系统相关联的游戏会话的虚拟环境的至少一部分。本文中的任何方法还可以包括根据多遍编码过程对游戏帧流进行编码,以便产生编码的游戏帧流,并且将编码的游戏帧流发送到客户端系统。本文中的任何方法还可以包括对游戏帧流进行解码以产生解码的游戏帧流,并且显示解码的游戏帧流。进一步地,本文中的任何方法可以包括根据与客户端系统相关联的客户端游戏会话来渲染游戏帧流。
根据示例实施例,基于云的游戏系统能够包括与一个或多个客户端系统通信地耦合的一个或多个基于云的游戏服务器。每个基于云的游戏服务器能够包括一个或多个处理器和存储器,该存储器被耦合至一个或多个处理器并且存储可执行指令,该可执行指令被配置为操纵一个或多个处理器执行本文中公开的一种或多种方法。
附加地,作为示例实施例,基于云的游戏系统能够包括可耦合至网络的网络接口和耦合至网络接口的(例如游戏系统的游戏服务器的)编码器,该系统被配置为执行本文中公开的任何方法。此外,提供附加示例实施例,基于云的游戏系统能够包括被配置为接收根据本文中公开的任何方法编码的编码帧(例如针对游戏系统的客户端系统)的接口以及被配置为对编码帧进行解码的一个或多个解码器。
具体实施方式
本文中描述的技术和系统解决了在维持视频质量的同时从一个或多个基于云的游戏服务器向客户端设备提供低时延视频流的需求。为此,基于云的游戏服务器首先为游戏应用渲染游戏帧集合,并且对渲染的游戏帧进行编码以产生游戏流。为了更好地帮助确保游戏流接近目标比特率,基于云的游戏服务器在对每个渲染的游戏帧进行编码时执行多遍(例如两遍)编码操作。这种多遍编码操作包括例如对游戏帧执行第一遍编码以估计游戏帧的复杂度,并且然后基于游戏帧的估计的复杂度来执行游戏帧的第二遍编码。为此,基于云的游戏服务器首先通过使用第一遍参考帧对游戏帧进行编码来执行游戏帧的第一遍编码。基于第一遍编码的结果(例如第一遍编码帧),基于云的游戏服务器估计游戏帧的复杂度,并且基于估计的复杂度确定游戏帧的量化参数。基于云的游戏服务器然后使用第二遍参考帧和量化参数(例如使用第二遍编码中的量化参数来确定量化步长)来执行游戏帧的第二遍编码,以产生(例如第二遍)编码的游戏帧。为了限制编码的游戏帧在编码期间被指派比允许的比特更多的比特(即,超调),基于云的游戏服务器使用一个或多个共享参考帧以进行第一遍编码。也就是说,基于云的游戏服务器使用基于第二遍参考帧(例如在第二遍编码中使用的参考帧)的用于第一遍编码的共享参考帧。通过这种方式,从第一遍编码确定的估计的复杂度更准确地表示游戏帧的实际复杂度。因此,该系统能够更准确地分配比特数对每个游戏帧进行编码,这减少了所得到的流将大于网络带宽的风险,并且最小化网络上的分组丢失。
为了便于理解,在云游戏系统的示例上下文中描述了本公开的技术。基于云的或其他远程服务器渲染表示在该服务器或相关服务器处执行的视频游戏实例的视觉内容的视频游戏帧流,并且然后使用本文中描述的多遍编码过程对每个游戏帧进行编码,以生成表示编码的渲染游戏帧流的比特流以经由一个或多个网络传输到客户端设备。然而,将理解的是,本文中描述的系统和技术不被限于该示例上下文,而是可以使用本文中提供的指南在各种视频流编码/解码系统中的任何一个中实现。
图1图示了根据一些实施例的用于单人游戏或多人(包括大规模多人)游戏的基于云的游戏系统100。基于云的游戏系统100包括一个或多个服务器102,每个服务器102通过至少一个网络110被通信地耦合至一个或多个客户端系统112。网络110被配置为允许在服务器102和客户端系统112中的任何一个之间传输和接收数据,并且包括例如有线和无线网络,诸如以太网、互联网、Wi-Fi或其任何组合。在实施例中,每个服务器102经由高带宽、低时延的服务器间消息传递总线通信地互连。服务器102通常被分布在地理区域上的一个或多个数据中心中,以便通过物理接近来减少传输时延。尽管在所图示的实施例中,呈现了支持四个客户端系统112-1、112-2、112-3和112-4的三个服务器102-1、102-2和102-3,但是在其他实施例中,可以实现支持任何数量的客户端设备的任何数量的服务器。将理解的是,在典型的真实世界实施方式中,服务器102的数量和客户端系统112的数量通常将显著高于图1的示例中所呈现的数量。
在所描绘的实施例中,每个服务器102包括计算设备,诸如被配置为支持在一个或多个客户端系统112上执行的一个或多个客户端游戏会话的云服务器、虚拟服务器或其任何组合。如本文中使用的,“客户端游戏会话”包括在客户端系统112上玩、部分模拟或完全模拟的游戏应用。每个服务器102被配置为通过执行对应的游戏平台实例104来支持该客户端游戏会话,该游戏平台实例104有助于执行在客户端系统112上玩、部分模拟或完全模拟的游戏应用的至少一部分。仅举几例,这种促进能够包括执行与游戏应用相关的一个或多个操作,诸如例如渲染与游戏应用相关的一个或多个帧、执行与游戏程序相关的计算(例如照明计算、人工智能计算、物理计算、阴影计算、输入计算等)、提供对文件的访问或其任何组合。游戏平台实例104提供各种软件和硬件资源以实现这种促进,诸如通信/网络管理、资源管理、媒体渲染编码等。通过这种方式,游戏平台实例104模拟对应玩家的游戏应用的一个或多个操作的执行,就好像该游戏应用正在本地游戏设备上玩一样,诸如个人计算机(“PC”)、游戏控制台、智能手机、平板计算机、汽车娱乐系统等。
每个客户端系统112表示硬件和软件资源,其用于通过操纵至少一个玩家的一个或多个输入/输出设备来接收玩家输入,以及呈现分别表示至少一个玩家的游戏设置的视觉和听觉内容的视频和音频内容。仅举几例,客户端系统112的示例包括一个或多个台式计算机、笔记本计算机、平板计算机、虚拟现实系统、增强现实系统、计算启用的蜂窝电话(即,“智能手机”)、计算启用的电视(即,“智能TV”)或其任何组合。如参照客户端系统112-1图示的,每个客户端系统112包括一个或多个客户端设备116。在所图示的实施例中,客户端系统112-1包括第一客户端设备116-1,它被通信地耦合至显示器118、至少一个输入设备120(例如手柄、操纵杆、键盘、鼠标、触摸屏)、一个或多个网络接口、一个或多个处理器、存储器、存储装置、扬声器和用于渲染、处理和显示虚拟环境的情景的其他计算资源,或以其他方式与上述各项相关联,该一个或多个网络接口被配置为被耦合至将客户端系统112连接至对应服务器102的网络。如参照客户端系统112-1图示的,每个客户端系统112能够包括解码器114,该解码器114被配置为对与虚拟环境相关的一个或多个帧进行解码。解码器114能够包括被配置为对从服务器102接收到的一个或多个编码流(例如游戏流108)进行解码以产生解码的游戏帧集合或解码流的硬件和软件。每个解码器114被配置为对通过本文中公开的任何方法或过程编码的任何编码帧进行解码。在实施例中,客户端系统112-1还包括智能手机客户端设备116-2和可穿戴虚拟现实客户端设备116-3,它们中的每一个都可以作为集成移动计算设备来操作,该集成移动计算设备具有类似于上面相对于客户端系统112-1提到的输入设施、输出设施、显示设施和通信设施。在某些实施例中,客户端系统112-1、112-2和112-3可以包括一个或多个设施,诸如加速度计、全球定位系统(GPS)设备等,其被用于获取表示客户端设备的移动的运动数据以及这种移动的速率或加速度。
虽然本文中描述的某些方面将具体参照云游戏场景进行讨论,但将理解的是,在某些实施例中,所描述的技术可以被用于各种非游戏场景,诸如如果服务器102和客户端系统112中的一个或多个操作以渲染、处理和显示其他类型的信息、教育、娱乐和/或艺术内容。因此,将进一步理解,尽管本文中相对于可以利用与云游戏和游戏内容相关的特定示例的内容的渲染来讨论技术,但是这种讨论和技术可以被应用于这种非游戏场景。本文中提供的示例可以指由于与游戏内容相关的特定带宽和网络时延问题而涉及这种内容的渲染、处理和显示的场景,并且不应该被解释为指示所描述的技术被限于这些场景。
在操作期间,每个服务器102执行用于一个或多个客户端游戏会话的游戏平台实例104。执行游戏平台实例104包括渲染游戏帧集合,该游戏帧集合包括与在一个或多个相应客户端系统112上执行的游戏应用相关联的一个或多个游戏帧。每个渲染的游戏帧描绘了在客户端系统112上执行的游戏应用中使用的虚拟环境的至少一部分。例如,每个渲染的游戏帧能够描绘在客户端游戏会话期间显示在客户端系统112的显示器118上的虚拟环境的至少一部分。
每个服务器102被配置为经由编码器106对每个渲染的游戏帧进行编码,以便生成相应的编码的游戏帧集合(在本文中也称为“游戏流”108)。每个服务器102被配置为通过例如压缩、重组和操纵由游戏平台实例104渲染的每个帧对游戏流108进行编码。在实施例中,服务器102的每个编码器106实现一个或多个编码解码器,以便根据一个或多个编码解码器对一个或多个渲染帧进行编码。仅举几例,这种编码解码器能够包括H.264、H.265、VP9、AV1或其任何组合。根据实施例,每个服务器102被配置为使用用于第一遍编码的一个或多个共享参考帧对由游戏平台实例104渲染的每个帧进行编码,该第一遍编码基于在第二遍编码中使用的一个或多个相应参考帧。如下面参照图3详细讨论的,该多遍编码操作包括检索与第二遍编码相关联的一个或多个参考帧以产生一个或多个相应的共享参考帧、使用共享参考帧中的一个或多个对游戏帧执行第一遍编码以估计复杂度、并且根据估计的复杂度对游戏帧执行后续第二遍编码。每个所得到的游戏流108对应于在一个或多个客户端系统112上执行的游戏,并且经由网络110被提供给这些对应的客户端系统。对应的客户端系统112各自被配置为经由解码器114对接收到的游戏流108进行解码,并且在例如显示器118上显示所得到的解码的游戏帧集合122。每个客户端系统112被配置为通过根据包括无损和有损编码解码器的一个或多个各种视频编码解码器压缩、重组和操纵编码流内的游戏帧对相应的游戏流108进行解码。根据实施例,每个客户端系统112包括解码器,该解码器实施一个或多个编码解码器,以便根据一个或多个编码解码器对接收到的游戏流108进行解码。仅举几例,这种编码解码器能够包括H.264、H.265、VP9、AV1或其任何组合。尽管在所图示的实施例中描绘了三个游戏流108-1、108-2、108-3,但是在其他实施例中,服务器102能够生成任何数量的游戏流108,每个游戏流108对应于一个或多个客户端游戏会话。
现在参照图2,图示了被配置为在基于云的游戏系统内对帧进行编码和流式传输的计算系统200。在实施例中,计算系统200实现图1中描述的基于云的游戏系统100的各方面。例如,计算系统200可以与图1中描述的服务器102类似或相同。计算系统200包括用于双向通信的一个或多个软件和硬件组件,包括用于对游戏帧集合250进行编码诸如以产生游戏流108的组件。在一些实施例中,计算系统200是支持对游戏帧集合250进行编码的电子设备的一部分,仅举几例,该游戏帧集合250包括例如台式计算机、笔记本计算机、平板计算机、服务器、游戏控制台。在实施例中,计算系统200包括处理器238、调制解调器240和存储器242。存储器242包括电子存储设备,诸如例如固态驱动器、硬盘驱动器、随机存取存储器(“RAM”)、只读存储器(“ROM”)、电子可擦除可编程ROM(“EEPROM”)、光学存储设备或其任何组合。存储器242包括与游戏平台实例204、编码器206、下采样器234和速率控制单元224的操作相关的指令和数据,诸如例如编码解码器、参考帧、游戏引擎、游戏应用、常数等。调制解调器240被配置为经由网络110被通信地耦合至一个或多个客户端系统112,并且还被配置为将游戏流108发送到一个或多个客户端设备112。根据实施例,处理器238、调制解调器240和存储器242经由一个或多个接口(例如总线244)在内部进行电子通信。
根据实施例,处理器238包括一个或多个控制处理单元(“CPU”)、微处理器、现场可编程门阵列(“FPGA”)、图形处理单元(“GPU”)、专用集成电路(ASIC)或其任何组合,并且被配置为对游戏帧进行渲染和编码以供在基于云的游戏系统100上的客户端游戏会话中使用。处理器238操作以执行与游戏平台实例104相同或类似的游戏平台实例204,该游戏平台实例与当前客户端游戏会话相关联并且被配置为支持在一个或多个客户端系统112上执行的游戏应用。游戏平台实例204包括图形硬件和软件(为了清晰起见未示出)以渲染与在一个或多个客户端设备上执行的游戏应用的环境相关联的游戏帧集合250。这种图形硬件和软件包括例如图形核心、处理核心、像素着色器、视频随机存取存储器(“VRAM”)、GPU、物理引擎、照明引擎、镶嵌引擎等。游戏帧集合250中的每个渲染的游戏帧表示与在客户端设备上执行的游戏应用相关联的虚拟环境的至少一部分。例如,如果游戏应用是赛车游戏,则该游戏帧集合250中的每个游戏帧表示赛道、汽车或周围区域的至少一部分。
游戏平台实例204将游戏帧集合250中的每个渲染的游戏帧提供给编码器206,以用于编码为游戏流108。编码器206包括一个或多个软件和/或硬件编码器,它被配置为根据例如帧间和帧内技术对游戏流108进行编码。为了减少在计算系统200和一个或多个客户端系统112之间发送游戏流108所需的带宽,编码器206通过压缩游戏帧集合250的一个或多个游戏帧对游戏流108进行编码。压缩游戏帧包括将游戏帧与存储在存储器缓冲器228中的一个或多个参考帧进行比较,并且将游戏帧和一个或多个参考帧之间的差异中的一个或多个编码为游戏流108。编码器206还被配置为对用于游戏流108的参考帧进行编码。进一步地,为了匹配可用带宽,编码器206被配置为根据速率控制方案对每个帧进行编码,使得每个编码帧被压缩为大小接近预定目标比特大小。速率控制方案由速率控制单元224实现,该速率控制单元224包括一个或多个处理器、硬编码逻辑、可编程逻辑或其组合,被配置为控制或调整比特率和对游戏帧集合250中的当前帧进行编码的相应比特数(即,压缩程度)。速率控制单元224通过根据当前帧的复杂度确定当前帧的适当量化参数(“QP”)来控制或调整比特率和相应比特数。如本文中使用的,当前帧的“复杂度”是指当前帧中的不同于与当前帧相关联的一个或多个参考帧(例如用于对当前帧进行编码的参考帧)的信息量或值。例如,仅举几例,当前帧的复杂度包括当前帧与一个或多个参考帧之间的信噪比的差异、当前帧与一个或多个参考帧之间的能量的差异以及当前帧与一个或多个参考帧之间的熵的差异或其任何组合。通过这种方式,当前帧的复杂度越高,就需要对游戏帧编码器206内的更多信息进行编码。因此,重要的是速率控制单元224确定足够高的QP,以帮助防止所得到的编码帧具有比与目标比特率相关的预定目标大小大的比特数。本领域的普通技术人员将理解,以这种方式确定的QP导致对具有高复杂度的当前帧的细节进行更积极的量化,从而导致具有减少的编码比特数的编码帧。类似地,针对具有低复杂度的当前帧,编码器206具有较少的要编码的新信息,并且因此能够选择QP用于较不激进的量化,同时仍然降低潜在过冲的风险。
在实施例中,速率控制单元224根据以下等式来确定当前帧的QP:
[EQ1] t=(a1/QP+a2/QP2)*c
其中,t表示编码帧的预定的、期望的帧大小或压缩程度,a1和a2表示从过去的编码帧导出的预定常数,并且c表示当前帧的复杂度或失真。例如,c表示复杂度,其指示当前帧与一个或多个参考帧之间的信噪比的差异、当前帧与一个或多个参考帧之间的能量的差异以及当前帧与一个或多个参考帧之间的熵的差异或其任何组合。
根据实施例,编码器206通过执行多遍编码操作来确定当前帧的复杂度。多遍编码操作包括使用从第一遍存储器缓冲器230检索的一个或多个共享参考帧来执行游戏帧集合250中的当前帧的第一遍编码。在实施例中,第一遍编码以第一遍分辨率(例如预定分辨率)执行。根据实施例,以第一遍分辨率执行第一遍编码包括下采样器234将当前帧、共享参考帧或两者的分辨率降低到第一遍分辨率。在实施例中,第一遍编码根据从由编码器206实现的一个或多个编码解码器确定的预定的第一遍QP来执行。根据实施例,对当前帧执行第一遍编码导致具有比特大小的第一遍编码帧。在第一遍编码之后,速率控制单元224根据第一遍编码帧的比特大小确定当前帧的估计的复杂度226。多遍编码操作还包括使用从第二遍存储器缓冲器232检索的一个或多个第二遍参考帧对当前帧进行第二遍编码。根据实施例,编码器206以第二遍分辨率执行第二遍编码。也就是说,当编码器206对当前帧执行第二遍编码时,当前帧和第二遍参考帧处于第二遍分辨率。在一些实施例中,速率控制单元224根据估计的复杂度226计算当前帧的量化参数。速率控制单元224然后将量化参数传递到编码器206,该编码器206确定对应的量化步长。编码器206在对当前帧进行编码时使用该量化步长来控制或调整输出比特。
在实施例中,为了更准确地确定估计的复杂度226,编码器206被配置为使用一个或多个共享参考帧进行第一遍编码。共享参考帧包括例如基于在当前帧的第二遍编码中使用的相应的第二遍参考帧的参考帧。根据实施例,编码器206产生用于第一遍存储器缓冲器230的一个或多个共享参考帧,该第一遍存储器缓冲器230包括各自与游戏帧集合250中的当前帧相关联的一个或多个指针。针对当前帧,关联的指针包括第二遍存储器缓冲器232中的相应的第二遍参考帧(例如在当前帧的第二遍编码中使用的第二遍参考帧)的位置。在实施例中,为了产生共享参考帧,编码器206被配置为根据第一遍存储器缓冲器230中的关联指针从第二遍存储器缓冲器232检索第二遍参考帧。检索第二遍参考帧包括将第二遍参考帧存储在第一遍存储器缓冲器230中,以便产生用于第一遍编码的共享参考帧。换言之,检索第二遍参考帧包括将第二遍参考帧存储在第一遍存储器缓冲器230中,并且在第一遍编码中也使用第二遍参考帧,使得第二遍参考帧形成在第二遍编码和第一遍编码两者中使用(没有适应或具有自适应,例如由于下采样)的共享参考帧。
根据实施例,编码器206被配置为将当前帧的第一遍编码的第一遍分辨率与当前帧的第二遍编码的第二遍分辨率进行比较。响应于第一遍分辨率小于第二遍分辨率,下采样器234被配置为将与当前帧相关联的第二遍参考帧下采样到第一遍分辨率,以便产生下采样的参考帧236。也就是说,响应于第一遍分辨率小于第二遍分辨率,下采样器234被配置为将根据存储在第一遍存储器缓冲器230中的关联指针检索的第二遍参考帧下采样到第一遍分辨率,以产生下采样的参考帧236。下采样器234包括一个或多个处理器、硬编码逻辑、可编程逻辑或其任何组合,它被配置为对一个或多个渲染的游戏帧250、共享参考帧、第二遍参考帧或其任何组合进行下采样和压缩。在实施例中,编码器206被配置为将下采样的参考帧236存储在第一遍存储器缓冲器230中,以产生在第一遍编码中使用的共享参考帧。
现在参照图3,图示了使用共享参考帧的示例多遍(例如两遍)编码操作300。为了便于图示,多遍编码操作300参照图2的计算系统200来描述,该计算系统200被实现为图1的基于云的游戏系统100中的服务器102。在操作300中,游戏平台实例204渲染用于与在一个或多个客户端系统112上运行的游戏应用相关联的客户端游戏会话的游戏帧集合305。该游戏帧集合305中的每个帧表示与游戏应用相关的虚拟环境的至少一部分。为了有助于将游戏帧集合305传输到执行游戏应用的客户端设备,编码器206使用利用一个或多个共享参考帧的多遍编码操作对游戏帧集合305中的每个帧进行编码。在这样做时,将编码游戏帧集合发送到客户端设备所需的带宽量与实际可用带宽更紧密地匹配。
针对游戏帧集合305中的第一游戏帧310,编码器206执行共享参考帧检索315以产生一个或多个共享参考帧。共享参考帧检索315包括从第二遍存储器缓冲器232检索与第一游戏帧310相关联的一个或多个第二遍参考帧,即,在第一游戏帧的第二遍编码330中使用的第二遍参考帧。在实施例中,共享参考帧检索315包括编码器206访问包括与第一游戏帧310相关联的一个或多个指针的第一遍存储器缓冲器230。例如,与第一游戏帧310的第一遍编码320相关的指针。第一遍存储器缓冲器230中的指针包括存储在第二遍存储器缓冲器232中的相应的第二遍参考帧的位置。也就是说,第一遍存储器缓冲器230中的指针各自包括在第一游戏帧310的第二遍编码330中使用的相应的第二遍参考帧的位置。基于这些指针,编码器206被配置为从第二遍存储器缓冲器232检索相应的第二遍参考帧,以便通过最初仅访问第一遍存储器缓冲器230来产生一个或多个检索到的参考帧。根据实施例,共享参考帧检索315还包括编码器206将用于第一游戏帧310的第一遍编码320的第一遍分辨率与用于第一游戏帧310的第二遍编码330的第二遍分辨率进行比较。在实施例中,响应于第一遍分辨率小于第二遍分辨率,下采样器234被配置为将检索到的参考帧下采样到第一遍分辨率,以产生一个或多个下采样的(例如第二遍)参考帧。编码器206然后将下采样的(例如第二遍)参考帧存储在第一遍存储器缓冲器230中,以产生共享参考帧,以用作第一游戏帧310的第一遍编码320中的第一遍参考帧。响应于第一遍分辨率等于第二遍分辨率,编码器206将检索到的(例如第二遍)参考帧存储在第一遍存储器缓冲器230中,以产生用于第一游戏帧310的第一遍编码320的共享参考帧。通过这种方式,编码器206基于用于第一游戏帧310的第一遍编码320的第一遍分辨率与用于第一游戏帧310的第二遍编码330的第二遍分辨率的比较来产生共享参考帧。也就是说,编码器206通过将检索到的第二遍参考帧(例如基于比较下采样或未下采样)存储在第一遍存储器缓冲器中来产生共享参考帧,在第一遍存储器缓冲器中,它们可用作在第一游戏帧310的第一遍编码320中使用的第一遍参考帧。通过将第二遍参考帧也用于第一遍编码320,第二遍参考帧是在第一遍编码和第二遍编码中使用的共享参考帧。由此,复杂度估计325能够更准确地估计第一游戏帧310的复杂度。
在实施例中,第一遍编码320包括对第一游戏帧310进行下采样,诸如通过下采样器234将第一游戏帧310的分辨率降低到第一遍分辨率。在对第一游戏帧进行下采样之后,编码器206使用第二遍参考帧(包括由此产生的共享参考帧)和预定(第一)量化参数对第一游戏帧310进行编码,以便产生第一遍编码帧。在第一遍编码320之后,速率控制单元224基于第一遍编码帧来确定复杂度估计325。通过在第一遍编码320中使用共享参考帧,第一遍编码帧的比特大小可以更准确地反映编码帧335的比特大小,从而改进复杂度的估计。在实施例中,速率控制单元224将估计的复杂度确定为第一遍编码帧的比特大小的缩放因子版本。
在速率控制单元224通过复杂度估计325确定估计的复杂度之后,编码器206对第一游戏帧310执行第二遍编码330。第二遍编码330包括根据来自复杂度估计325的估计的复杂度确定第一游戏帧310的量化参数(例如第二量化参数)。通过基于第二遍编码确定的量化参数(例如第二量化参数),编码器206确定用于对第一游戏帧310进行编码的量化步长。编码器206然后根据第二遍参考帧并且以所确定的(第二)量化参数对第一游戏帧310执行第二遍编码330,以便产生编码帧335,其中编码帧335具有接近目标比特大小的大小,诸如例如EQ1中的t。通过在第一遍编码320中使用共享参考帧来提高估计的复杂度的准确性帮助消除编码帧335具有大于目标比特大小的比特大小的可能性。
现在参照图4,图示了使用共享参考帧进行多遍编码的方法400。为了便于图示,方法400参照被实现为图1的系统100的服务器102的图2的计算系统200来描述。在框405中,与编码器206相同或类似的编码器接收第一游戏帧。第一游戏帧表示与客户端游戏会话相关联的虚拟环境的至少一部分。在框410,编码器从第二遍存储器缓冲器232检索与第一游戏帧游戏相关联的第二遍参考帧,以产生检索到的参考帧。例如,编码器检索在第一游戏帧的第二遍编码中使用的第二遍参考帧。在实施例中,检索第二遍参考帧包括根据存储在第一遍存储器缓冲器230中的一个或多个指针来访问第二遍存储器缓冲器232。存储在第一遍存储器缓冲器230中的这些一个或多个指针包括与第一游戏帧相关联的第二遍参考帧在第二遍存储器缓冲器232中的位置。
在框415,编码器确定与多遍编码的第一遍编码相关联的第一遍分辨率是否小于与多遍编码器的第二遍编码相关联的第二遍分辨率。响应于第一遍分辨率小于第二遍分辨率,计算系统200移动到框420。在420,下采样器234将检索到的参考帧下采样到第一遍分辨率,以产生下采样的参考帧。编码器206然后将下采样的参考帧存储在第一遍存储器缓冲器230中,从而产生用于第一游戏帧的第一遍编码的共享参考帧。再次参照框410,响应于第一遍分辨率不小于第二遍分辨率,编码器将检索到的参考帧存储在第一遍存储器缓冲器230中,从而产生用于第一游戏帧的第一遍编码的共享参考帧。计算系统200然后移动到框425。
在框425,编码器对第一游戏帧执行第一遍编码。在实施例中,第一遍编码包括下采样器234,其诸如通过将第一游戏帧的分辨率降低到第一遍分辨率并且使用共享参考帧对第一游戏帧进行编码,将第一游戏帧下采样到第一遍分辨率。第一遍编码产生具有多个比特的第一遍编码帧。在框430,与速率控制单元224相同或类似的速率控制单元基于第一遍编码帧中的比特数来确定第一游戏帧的估计的复杂度。此外在框430,速率控制单元根据估计的复杂度来确定第一游戏帧的量化参数。通过在第一遍编码中使用共享参考帧,估计的复杂度更准确地表示第一游戏帧的实际复杂度,并且降低编码帧超过目标比特数的风险。在框435,编码器使用第二遍参考帧和所确定的量化参数对第一游戏帧执行第二遍编码操作。
计算机可读存储介质可以包括在使用期间可由计算机系统访问以向计算机系统提供指令和/或数据的任何存储介质或存储介质的组合。这种存储介质能够包括但不限于光学介质(例如压缩盘(CD)、数字通用盘(DVD)、蓝光光盘)、磁性介质(例如软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如随机存取存储器(RAM)或缓存)、非易失性存储器(例如只读存储器(ROM)或闪存)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以被嵌入到计算系统(例如系统RAM或ROM)中、固定地附接至计算系统(例如磁性硬盘驱动器)、可移除地附接至计算系统(例如光盘或基于通用串行总线(USB)的闪存)、或经由有线或无线网络(例如网络可访问存储装置(NAS))耦合至计算机系统。
要注意的是,并非通用描述中的上述所有活动或元件都是需要的,具体活动或设备的一部分可能不是需要的,并且除了所描述的内容之外,一个或多个其他活动可以被执行或者一个或多个其他元件可以被包括。更进一步地,活动被列出的顺序不一定是它们被执行的顺序。而且,概念已经参照具体实施例描述。然而,本领域的普通技术人员要理解的是,能够进行各种修改和改变,而不脱离在下面的权利要求中陈述的本公开的范围。因此,说明书和附图应被认为是说明性的而非限制性的,并且所有这种修改旨在被包括在本公开的范围内。
介词“或者”在本文中在“A、B或C中的至少一个”的上下文中被用于表示“包括性或”。也就是说,在以上和类似的上下文中,或者被用于表示“至少一个或其任何组合”。例如,“A、B和C中的至少一个”被用于表示“A、B、C中的至少一个或其任何组合”。
益处、其他优点和问题的解决方案在上面已经关于具体实施例描述。然而,益处、优点、问题的解决方案以及可能导致任何益处、优点或解决方案出现或变得更加明显的(多个)任何特征都不应被解释为任何或所有权利要求的关键、所需或必要特征。此外,上面公开的特定实施例仅是说明性的,因为所公开的主题可以以受益于本文的教导的本领域技术人员显而易见的不同但等效的方式来修改和实践。除了在下面的权利要求中描述的内容之外,不旨在限制本文所示的构造或设计的细节。因此,显而易见的是,上面公开的特定实施例可以被更改或修改,并且所有这种变化都被认为在所公开的主题的范围内。因此,本文寻求的保护如下面的权利要求进行阐述。
Claims (24)
1.一种基于云的游戏方法,包括:
将多遍编码过程的第一遍编码的第一遍分辨率与所述多遍编码过程的第二遍编码的第二遍分辨率进行比较;
基于所述比较从所述第二遍编码中使用的第二遍参考帧产生共享参考帧;
使用所述共享参考帧以所述第一遍分辨率对游戏帧流中的第一游戏帧执行所述第一遍编码,以确定所述第一游戏帧的估计的复杂度;以及
使用所述第二遍参考帧并且根据所述估计的复杂度以所述第二遍分辨率对所述第一游戏帧执行所述第二遍编码,以生成编码帧。
2.根据权利要求1所述的方法,还包括:
从与所述第二遍编码相关联的存储器缓冲器检索所述第二遍参考帧。
3.根据权利要求2所述的方法,其中,产生所述共享参考帧包括:
响应于所述第一遍分辨率小于所述第二遍分辨率,将所述第二遍参考帧下采样到所述第一遍分辨率,并且将下采样的参考帧存储在与所述第一遍编码相关联的存储器缓冲器中,以产生所述共享参考帧。
4.根据权利要求1至3中任一项所述的方法,还包括:
响应于所述第一遍分辨率等于所述第二遍分辨率,将所述第二遍参考帧存储在与所述第一遍编码相关联的存储器缓冲器中,以产生所述共享参考帧。
5.根据权利要求1至4中任一项所述的方法,还包括:
根据存储在与所述第一遍编码相关联的存储器缓冲器中的指针,检索所述第二遍参考帧。
6.根据权利要求5所述的方法,其中,与所述第一遍编码相关联的所述存储器缓冲器包括各自与相应的第二遍参考帧相关联的多个指针,所述相应的第二遍参考帧被存储在与所述第二遍编码相关联的第二存储器缓冲器中。
7.一种计算机实现的方法,包括:
基于多遍编码过程的第二遍编码中使用的第二遍参考帧来产生所述多遍编码过程的第一遍编码中使用的共享参考帧,其中产生所述共享参考帧包括:
将所述第一遍编码的第一遍分辨率与所述第二遍编码的第二遍分辨率进行比较;以及
基于所述第一遍分辨率与所述第二遍分辨率的所述比较对所述第二遍参考帧进行下采样;
使用所述共享参考帧以所述第一遍分辨率对游戏帧流中的第一游戏帧执行所述第一遍编码,以确定所述第一游戏帧的估计的复杂度;
基于所述第一游戏帧的所述第一遍编码来确定所述第一游戏帧的估计的复杂度;以及
使用所述第二遍参考帧和所述估计的复杂度以所述第二遍分辨率对所述第一游戏帧执行所述第二遍编码,以生成编码帧。
8.根据权利要求7所述的方法,其中,产生所述共享参考帧还包括:
根据与所述第一遍编码相关联的第二存储器缓冲器中的指针,访问与所述第二遍编码相关联的存储器缓冲器。
9.根据权利要求8所述的方法,其中,所述第二存储器缓冲器包括各自与相应的第二遍参考帧相关联的多个指针,所述相应的第二遍参考帧被存储在与所述第二遍编码相关联的所述存储器缓冲器中。
10.根据权利要求8或9中任一项所述的方法,其中,产生所述共享参考帧还包括:
响应于所述第一遍分辨率小于所述第二遍分辨率,将所述第二遍参考帧下采样到所述第一遍分辨率,并且将下采样的参考帧存储在所述第二存储器缓冲器中,以产生所述共享参考帧。
11.根据权利要求8至10中任一项所述的方法,其中,产生所述共享参考帧还包括:
响应于所述第一遍分辨率等于所述第二遍分辨率,将所述第二遍参考帧存储在与所述第一遍编码相关联的所述第二存储器缓冲器中,以产生所述共享参考帧。
12.根据权利要求1至11中任一项所述的方法,其中,所述第一遍编码还包括:
将所述第一游戏帧下采样到所述第一遍分辨率。
13.根据权利要求1至12中任一项所述的方法,还包括:
确定所述第一游戏帧的量化参数。
14.根据权利要求13所述的方法,其中,所述第二遍编码还基于所述量化参数来执行。
15.根据权利要求1至14中任一项所述的方法,其中,执行所述第一遍编码产生具有比特大小的第一遍编码帧,并且其中所述估计的复杂度基于所述比特大小。
16.根据权利要求1至15中任一项所述的方法,其中,所述第一游戏帧表示与客户端系统相关联的游戏会话的虚拟环境的至少一部分。
17.根据权利要求16所述的方法,还包括:
根据所述多遍编码过程对所述游戏帧流进行编码,以便产生编码的游戏帧流;以及
向所述客户端系统发送所述编码的游戏帧流。
18.根据权利要求17所述的方法,还包括:
对所述游戏帧流进行解码,以便产生解码的游戏帧流;以及
显示所述解码的游戏帧流。
19.根据权利要求18所述的方法,还包括:
根据与所述客户端系统相关联的客户端游戏会话来渲染所述游戏帧流。
20.根据权利要求1至19中任一项所述的方法,其中,所述第一遍编码和第二遍编码在其上被执行的所述第一游戏帧被渲染。
21.根据权利要求1至20中任一项所述的方法,还包括:根据速率控制方案对所述第一游戏帧进行编码,使得所述第二遍编码的所述编码帧被压缩,以符合预定的目标比特大小。
22.一种基于云的游戏系统,包括:
一个或多个基于云的服务器,所述一个或多个基于云的服务器被通信地耦合至一个或多个客户端系统并且各自包括:
一个或多个处理器;以及
存储器,所述存储器被耦合至所述一个或多个处理器并且存储可执行指令,所述可执行指令被配置为操纵所述一个或多个处理器执行权利要求1至21中任一项所述的方法。
23.一种基于云的游戏系统,包括:
网络接口,所述网络接口能够耦合至网络;以及
编码器,所述编码器被耦合至所述网络接口,所述基于云的游戏系统被配置为执行权利要求1至21中任一项所述的方法。
24.一种基于云的游戏系统,包括:
接口,所述接口被配置为接收根据权利要求1至21中任一项所述的方法编码的编码帧;以及
一个或多个解码器,所述一个或多个解码器被配置为对所述编码帧进行解码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163233603P | 2021-08-16 | 2021-08-16 | |
US63/233,603 | 2021-08-16 | ||
PCT/US2022/040218 WO2023022943A1 (en) | 2021-08-16 | 2022-08-12 | Low-delay multi-pass frame-level rate control using a shared reference frame |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117062656A true CN117062656A (zh) | 2023-11-14 |
Family
ID=83188764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280024802.9A Pending CN117062656A (zh) | 2021-08-16 | 2022-08-12 | 使用共享参考帧的低延迟多遍帧级速率控制 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4232171B1 (zh) |
KR (1) | KR20230154999A (zh) |
CN (1) | CN117062656A (zh) |
WO (1) | WO2023022943A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153029A (zh) * | 2017-04-21 | 2020-12-29 | 泽尼马克斯媒体公司 | 基于编码器提示的渲染和预编码负载估计的系统和方法 |
US11882188B2 (en) * | 2019-12-23 | 2024-01-23 | Sony Interactive Entertainment Inc. | Methods and systems for maintaining smooth frame rate during transmission of streaming video content |
-
2022
- 2022-08-12 CN CN202280024802.9A patent/CN117062656A/zh active Pending
- 2022-08-12 EP EP22764559.5A patent/EP4232171B1/en active Active
- 2022-08-12 WO PCT/US2022/040218 patent/WO2023022943A1/en active Application Filing
- 2022-08-12 KR KR1020237034787A patent/KR20230154999A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023022943A1 (en) | 2023-02-23 |
EP4232171B1 (en) | 2024-01-24 |
EP4232171A1 (en) | 2023-08-30 |
KR20230154999A (ko) | 2023-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104879B (zh) | 一种视频编码方法、装置、电子设备及存储介质 | |
JP7436644B2 (ja) | レイテンシとビデオ品質の間のトレードオフをクラウドゲーミングアプリケーションにおいて改善するためのエンコーダ調整 | |
US20180270496A1 (en) | Composite video streaming using stateless compression | |
US9264749B2 (en) | Server GPU assistance for mobile GPU applications | |
US20140079327A1 (en) | Hybrid encoding/decoding for remote gaming | |
US20120082395A1 (en) | Entropy Coder for Image Compression | |
RU2728812C1 (ru) | Системы и способы для отложенных процессов постобработки при кодировании видеоинформации | |
EP4232171B1 (en) | Low-delay multi-pass frame-level rate control using a shared reference frame | |
WO2021223577A1 (zh) | 一种视频处理的方法、相关装置、存储介质及程序产品 | |
CN117837141A (zh) | 用于流式传输应用的多尝试编码操作 | |
US11902547B2 (en) | Low-delay two-pass frame-level rate control using an adjusted complexity | |
US20240009556A1 (en) | Cloud-based gaming system for supporting legacy gaming applications with high frame rate streams | |
US20230318980A1 (en) | Congestion control for low-latency interactive video streaming | |
US11727531B2 (en) | Creating secure pipeline cache objects using differential privacy techniques | |
JP7304419B2 (ja) | 送信装置、送信方法及びプログラム | |
JP2024506183A (ja) | グラフィックアーチファクトの除去のためのパラメータ化されたノイズ合成 | |
WO2023022713A1 (en) | Bandwidth-efficient layered video coding | |
RU2575679C2 (ru) | Энтропийный кодер для сжатия изображения | |
AU2015203292B2 (en) | Composite video streaming using stateless compression | |
CN117915106A (zh) | 编码方法及装置、电子设备及计算机可读存储介质 | |
JP6127154B2 (ja) | 画像配信装置、画像配信プログラム及び画像配信方法 | |
CN115690525A (zh) | 图像处理方法、电子设备和计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |