用以改善云游戏应用中的时延与视频质量之间的权衡的编码器调谐制造技术

技术编号:34121786 阅读:18 留言:0更新日期:2022-07-14 13:13
一种用于云游戏的方法。所述方法包括当在云游戏服务器处执行视频游戏时生成多个视频帧。所述方法包括以某一编码器位速率对所述多个视频帧进行编码,其中将被压缩的所述多个视频帧从所述云游戏服务器的流式传输器传输到客户端。所述方法包括测量客户端的最大接收带宽。所述方法包括在所述流式传输器处监测对所述多个视频帧的所述编码。所述方法包括基于对所述编码的所述监测而动态地调谐所述编码器的参数。的参数。的参数。

【技术实现步骤摘要】
【国外来华专利技术】用以改善云游戏应用中的时延与视频质量之间的权衡的编码器调谐


[0001]本公开涉及被配置为跨网络流式传输内容的流式传输系统,并且更具体地,涉及被配置为用于云游戏系统的高性能编码器和解码器以及在了解网络传输速度和可靠性和总时延目标的情况下进行编码器调谐的流式传输系统。
[0002]专利技术背景
[0003]近年来不断地在推动在线服务,所述在线服务允许在通过网络连接的云游戏服务器与客户端之间以流式传输格式进行在线或云游戏。流式传输格式越来越受欢迎,因为可以按需使用游戏标题、玩家之间联网以进行多玩家游戏的能力、玩家之间共享资产、玩家和/或观众之间共享即时体验,允许朋友看朋友玩视频游戏,让朋友加入朋友正在进行的游戏等等。遗憾的是,所述需求还在加重以下限制:网络连接能力,以及在服务器和客户端处执行的响应速度足以渲染向客户端递送的高质量图像的处理。例如,为了获得最佳用户体验,在服务器上执行的所有游戏活动的结果都需要经过压缩并且以低毫秒时延传输回客户端。往返时延可被定义为用户的控制器输入与客户端处的视频帧的显示之间的总时间;其可包括从控制器到客户端的控制信息的处理和传输、从客户端到服务器的控制信息的处理和传输、在服务器处使用那个输入来生成响应于所述输入的视频帧、处理所述视频帧并且将所述视频帧传递到编码单元(例如,扫描输出)、对所述视频帧进行编码、将经编码的视频帧传输回客户端、接收和解码所述视频帧,以及在显示所述视频帧之前对所述视频帧的任何处理或分级。单向时延可被定义为所述往返时延的一部分,其由从开始将视频帧传递到服务器处的编码单元(例如,扫描输出)到开始在客户端处显示视频帧的时间组成。往返时延的一部分和单向时延与经由通信网络将数据流从客户端发送到服务器以及从服务器发送到客户端所用的时间相关联。另一部分与客户端和服务器处的处理相关联;这些操作的改进,诸如与帧解码和显示相关的高级策略,可导致服务器与客户端之间的基本上减小的往返时延和单向时延,并且为云游戏服务的用户提供更高质量的体验。
[0004]正是在此背景下出现了本公开的实施方案。

技术实现思路

[0005]本公开的实施方案涉及被配置为用于跨网络流式传输内容(例如,游戏)的流式传输系统,并且更具体地,涉及被配置为用于提供编码器调谐以改善云游戏系统中的单向时延与视频质量之间的权衡的流式传输系统,其中编码器调谐可基于对客户端带宽、跳过的帧、经编码的I帧的数目、场景变化的数目和/或超过目标帧大小的视频帧的数目的监测,其中经过调谐的参数可包括编码器位速率、目标帧大小、最大帧大小和量化参数(QP)值,其中高性能编码器和解码器有助于减小云游戏服务器与客户端之间的总单向时延。
[0006]本公开的实施方案公开了一种用于云游戏的方法。所述方法包括当在云游戏服务器处执行视频游戏时生成多个视频帧。所述方法包括以某一编码器位速率对所述多个视频帧进行编码,其中将被压缩的多个视频帧从云游戏服务器的流式传输器传输到客户端。所
述方法包括测量客户端的最大接收带宽。所述方法包括在流式传输器处监测对所述多个视频帧的编码。所述方法包括基于对编码的监测而动态地调谐编码器的参数。
[0007]在另一实施方案中,公开了一种存储用于云游戏的计算机程序的非暂时性计算机可读介质。所述计算机可读介质包括用于当在云游戏服务器处执行视频游戏时生成多个视频帧的程序指令。所述计算机可读介质包括用于以某一编码器位速率对所述多个视频帧进行编码的程序指令,其中将被压缩的多个视频帧从云游戏服务器的流式传输器传输到客户端。所述计算机可读介质包括用于测量客户端的最大接收带宽的程序指令。所述计算机可读介质包括用于在流式传输器处监测对所述多个视频帧的编码的程序指令。所述计算机可读介质包括用于基于对编码的监测而动态地调谐编码器的参数的程序指令。
[0008]在又一实施方案中,一种计算机系统包括处理器和存储器,所述存储器耦合到所述处理器并且在其中存储有指令,所述指令在由所述计算机系统执行的情况下致使所述计算机系统执行用于云游戏的方法。所述方法包括当在云游戏服务器处执行视频游戏时生成多个视频帧。所述方法包括以某一编码器位速率对所述多个视频帧进行编码,其中将被压缩的多个视频帧从云游戏服务器的流式传输器传输到客户端。所述方法包括测量客户端的最大接收带宽。所述方法包括在流式传输器处监测对所述多个视频帧的编码。所述方法包括基于对编码的监测而动态地调谐编码器的参数。
[0009]在又一实施方案中,公开了一种用于云游戏的方法。所述方法包括当在云游戏服务器处执行视频游戏时生成多个视频帧。所述方法包括预测视频游戏的第一视频帧的场景变化,其中在生成所述第一视频帧之前预测所述场景变化。所述方法包括生成所述第一视频帧是场景变化的场景变化提示。所述方法包括将所述场景变化提示发送到编码器。所述方法包括将所述第一视频帧递送到编码器,其中所述第一视频帧基于所述场景变化提示而被编码为I帧。所述方法包括测量客户端的最大接收带宽。所述方法包括基于客户端的最大接收带宽和客户端显示器的目标分辨率而确定是否对在编码器处接收的第二视频帧进行编码。
[0010]在另一实施方案中,公开了一种存储用于云游戏的计算机程序的非暂时性计算机可读介质。所述计算机可读介质包括用于当在云游戏服务器处执行视频游戏时生成多个视频帧的程序指令。所述计算机可读介质包括用于预测视频游戏的第一视频帧的场景变化的程序指令,其中在生成所述第一视频帧之前预测所述场景变化。所述计算机可读介质包括用于生成所述第一视频帧是场景变化的场景变化提示的程序指令。所述计算机可读介质包括用于将所述场景变化提示发送到编码器的程序指令。所述计算机可读介质包括用于将所述第一视频帧递送到编码器的程序指令,其中所述第一视频帧基于所述场景变化提示而被编码为I帧。所述计算机可读介质包括用于测量客户端的最大接收带宽的程序指令。所述计算机可读介质包括用于基于客户端的最大接收带宽和客户端显示器的目标分辨率而确定是否对在编码器处接收的第二视频帧进行编码的程序指令。
[0011]在又一实施方案中,一种计算机系统包括处理器和存储器,所述存储器耦合到所述处理器并且在其中存储有指令,所述指令在由所述计算机系统执行的情况下致使所述计算机系统执行用于云游戏的方法。所述方法包括当在云游戏服务器处执行视频游戏时生成多个视频帧。所述方法包括预测视频游戏的第一视频帧的场景变化,其中在生成所述第一视频帧之前预测所述场景变化。所述方法包括生成所述第一视频帧是场景变化的场景变化
提示。所述方法包括将所述场景变化提示发送到编码器。所述方法包括将所述第一视频帧递送到编码器,其中所述第一视频帧基于所述场景变化提示而被编码为I帧。所述方法包括测量客户端的最大接收带宽。所述方法包括基于客户端的最大接收带宽和客户端显示器的目标分辨率而确定是否对在编码器处接收的第二视频帧进行编码。
[0012]通过结合附图进行的以下详细描述,本公开的其他方面将变得显而易见,以下详细描述举例说明本公开的原理。
附图说明
[0013]通过参考结合附图进行的以下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于云游戏的方法,所述方法包括:当在云游戏服务器处执行视频游戏时生成多个视频帧;以某一编码器位速率对所述多个视频帧进行编码,其中将被压缩的所述多个视频帧从所述云游戏服务器的流式传输器传输到客户端;测量客户端的最大接收带宽;在所述流式传输器处监测对所述多个视频帧的所述编码;以及基于对所述编码的所述监测而动态地调谐所述编码器的参数。2.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定编码来自所述多个视频帧的一组视频帧所使用的所述编码器位速率超过所述最大接收带宽;以及增加QP参数的值使得以更低的精度执行编码,其中所述参数是所述QP参数。3.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定编码来自所述多个视频帧的一组视频帧所使用的所述编码器位速率在所述最大接收带宽之内;确定在发送所述一组视频帧时存在多余带宽;以及基于所述多余带宽而减小QP参数的值,使得以更高的精度执行编码,其中所述参数是所述QP参数。4.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定来自被压缩的所述多个视频帧的一组视频帧中被压缩为I帧的视频帧的数目满足或超过I帧的阈值数目;以及增加QP参数的值使得以更低的精度执行编码,其中所述参数是所述QP参数。5.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定来自被压缩的所述多个视频帧的一组视频帧中被压缩为I帧的视频帧的数目低于I帧的阈值数目;以及减小QP参数的值使得以更高的精度执行编码,其中所述参数是所述QP参数。6.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定来自被编码并且以传输速率传输的所述多个视频帧的一组视频帧包括一定数目的视频帧,视频帧的所述数目满足或超过阈值,其中所述数目的视频帧中的每一者超过目标帧大小;以及针对所述参数降低所述目标帧大小和最大帧大小中的至少一者。7.如权利要求6所述的方法,其中所述目标帧大小和所述最大帧大小是相等的。8.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定来自被编码并且以所述传输速率传输的所述多个视频帧的一组视频帧包括一定数目的视频帧,视频帧的所述数目低于阈值,其中所述数目的视频帧中的每一者在目标帧大小之内;以及随着所述参数增加所述目标帧大小和所述最大帧大小中的至少一者。9.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定来自被压缩的所述多个视频帧的一组视频帧中被识别为具有场景变化的视频帧的数目满足或超过场景变化的阈值数目;以及
增加QP参数的值使得以更低的精度执行编码,其中所述参数是所述QP参数。10.如权利要求1所述的方法,其中动态地调谐所述参数包括:确定来自被压缩的所述多个视频帧的一组视频帧中被识别为具有场景变化的视频帧的数目低于场景变化的阈值数目;以及减小QP参数的值使得以更高的精度执行编码,其中所述参数是所述QP参数。11.如权利要求1所述的方法,所述方法还包括:通过停用跳过对视频帧的编码而偏向所述客户端处的回放的流畅度。12.如权利要求1所述的方法,所述方法还包括:基于所述客户端的所述最大接收带宽而动态地调整所述编码器处的编码器位速率速度。13.一种存储用于云游戏的计算机程序的非暂时性计算机可读介质,所述计算机可读介质包括:用于当在云游戏服务器处执行视频游戏时生成多个视频帧的程序指令;用于测量客户端的最大接收带宽的程序指令;用于以某一编码器位速率对所述多个视频帧进行编码的程序指令,其中将被压缩的所述多个视频帧从所述云游戏服务器的流式传输器传输到客户端;用于监测所述流式传输器处的所述多个视频帧的所述编码的程序指令;以及用于基于对所述编码的所述监测而动态地调谐所述编码器的参数的程序指令。14.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定编码来自所述多个视频帧的一组视频帧所使用的所述编码器位速率超过所述最大接收带宽的程序指令;以及用于增加QP参数的值使得以更低的精度执行编码的程序指令,其中所述参数是所述QP参数。15.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定编码来自所述多个视频帧的一组视频帧所使用的所述编码器位速率在所述最大接收带宽之内的程序指令;用于确定在发送所述一组视频帧时存在多余带宽的程序指令;以及用于基于所述多余带宽而减小QP参数的值使得以更高的精度执行编码的程序指令,其中所述参数是所述QP参数。16.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定来自被压缩的所述多个视频帧的一组视频帧中被压缩为I帧的视频帧的数目满足或超过I帧的阈值数目的程序指令;以及用于增加QP参数的值使得以更低的精度执行编码的程序指令,其中所述参数是所述QP参数。17.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:
用于确定来自被压缩的所述多个视频帧的一组视频帧中被压缩为I帧的视频帧的数目低于I帧的阈值数目的程序指令;以及用于减小QP参数的值使得以更高的精度执行编码的程序指令,其中所述参数是所述QP参数。18.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定来自被编码并且以传输速率传输的所述多个视频帧的一组视频帧包括一定数目的视频帧的程序指令,视频帧的所述数目满足或超过阈值,其中所述数目的视频帧中的每一者超过目标帧大小;以及用于针对所述参数降低所述目标帧大小和最大帧大小中的至少一者的程序指令。19.如权利要求18所述的非暂时性计算机可读介质,其中在用于云游戏的所述计算机程序中,所述目标帧大小和所述最大帧大小是相等的。20.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定来自被编码并且以所述传输速率传输的所述多个视频帧的一组视频帧包括一定数目的视频帧的程序指令,视频帧的所述数目低于阈值,其中所述数目的视频帧中的每一者在目标帧大小之内;以及用于随着所述参数增加所述目标帧大小和所述最大帧大小中的至少一者的程序指令。21.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定来自被压缩的所述多个视频帧的一组视频帧中被识别为具有场景变化的视频帧的数目满足或超过场景变化的阈值数目的程序指令;以及用于增加QP参数的值使得以更低的精度执行编码的程序指令,其中所述参数是所述QP参数。22.如权利要求13所述的非暂时性计算机可读介质,其中用于动态地调谐所述参数的所述程序指令包括:用于确定来自被压缩的所述多个视频帧的一组视频帧中被识别为具有场景变化的视频帧的数目低于场景变化的阈值数目的程序指令;以及用于减小QP参数的值使得以更高的精度执行编码的程序指令,其中所述参数是所述QP参数。23.如权利要求13所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括:用于通过停用跳过对视频帧的编码而偏向所述客户端处的回放的流畅度的程序指令。24.如权利要求13所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括:用于基于所述客户端的所述最大接收带宽而动态地调整所述编码器处的编码器位速率速度的程序指令。25.一种计算机系统,所述计算机系统包括:处理器;以及
存储器,所述存储器耦合到所述处理器并且具有存储在其中的指令,所述指令在由所述计算机系统执行时致使所述计算机系统执行用于云游戏的方法,所述方法包括:当在云游戏服务器处执行视频游戏时生成多个视频帧;以某一编码器位速率对所述多个视频帧进行编码,其中将被压缩的所述多个视频帧从所述云游戏服务器的流式传输器传输到客户端;测量客户端的最大接收带宽;在所述流式传输器处监测对所述多个视频帧的所述编码;以及基于对所述编码的所述监测而动态地调谐所述编码器的参数。26.如权利要求25所述的计算机系统,其中在所述方法中,所述动态地调谐所述参数包括:确定编码来自所述多个视频帧的一组视频帧所使用的所述编码器位速率超过所述最大接收带宽;以及增加QP参数的值使得以更低的精度执行编码,其中所述参数是所述QP参数。27.如权利要求25所述的计算机系统,其中在所述方法中,所述动态地调谐所述参数包括:确定编码来自所述多个视频帧的一组视频帧所使用的所述编码器位速率在所述最大接收带宽之内;确定在发送所述一组视频帧时存在多余带宽;以及基于所述多余带宽而减小QP参数的值,使得以更高的精度执行编码,其中所述参数是所述QP参数。28.如权利要求25所述的计算机系统,其中在所述方法中,所述动态地调谐所述参数包括:确定来自被压缩的所述多个视频帧的一组视频帧中被压缩为I帧的视频帧的数目满足或超过I帧的阈值数目;以及增加QP参数的值使得以更低的精度执行编码,其中所述参数是所述QP参数。29.如权利要求25所述的计算机系统,其中在所述方法中,所述动态地调谐所述参数包括:确定来自被压缩的所述多个视频帧的一组视频帧中被压缩为I帧的视频帧的数目低于I帧的阈值数目;以及减小QP参数的值使得以更高的精度执行编码,其中所述参数是所述QP参数。30.如权利要求25所述的计算机系统,其中在所述方法中,所述动态地调谐所述参数包括:确定来自被编码并且以传输速率传输的所述多个视频帧的一组视频帧包括一定数目的视频帧,视频帧的所述数目满足或超过阈值,其中所述数目的视频帧中的每一者超过目标帧大小;以及针对所述参数降低...

【专利技术属性】
技术研发人员:ME塞尔尼KM扬
申请(专利权)人:索尼互动娱乐股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1