在服务器处重叠编码与传输制造技术

技术编号:34086603 阅读:61 留言:0更新日期:2022-07-11 20:09
一种用于云游戏的方法。方法包括在服务器处执行视频游戏时生成视频帧。方法包括将视频帧逐个扫描线扫描输入到服务器处的编码器。方法包括在编码器处将一个或多个编码器切片编码为一个或多个编码切片,其中每个编码切片以编码器填充率传送到缓冲区。方法包括从缓冲区排出第一编码切片,以通过网络以缓冲区排出率将第一编码切片流式传输到客户端,其中在完全编码视频帧的一个或多个切片之前,通过网络流式传输第一编码切片。式传输第一编码切片。式传输第一编码切片。

【技术实现步骤摘要】
【国外来华专利技术】在服务器处重叠编码与传输


[0001]本公开涉及被配置用于跨网络流式传输内容的流式传输系统,并且更具体地涉及在云游戏服务器和/或客户端处的重叠操作以用于减少云游戏服务器与客户端之间的等待时间。

技术介绍

[0002]近年来,一直在持续推动在线服务,允许在通过网络连接的云游戏服务器与客户端之间以流式传输格式进行在线或云游戏。流式传输格式越来越受欢迎,因为可以按需提供游戏标题,玩家之间能够联网进行多玩家游戏,玩家之间资产共享,玩家和/或观众之间即时共享体验,允许朋友观看一个朋友玩视频游戏,让朋友加入一个朋友的正在进行的游戏,等等。不幸的是,这种需求也在挑战网络连接能力的以及在服务器和客户端处执行的处理的限制,所述处理的响应在传送到客户端时应足以渲染高质量图像。例如,在服务器上执行的所有游戏活动的结果都需要压缩并以低毫秒等待时间传输回客户端,以获得最佳用户体验。往返等待时间可以定义为用户控制器输入与客户端处视频帧显示之间的总时间;它可能包括从控制器到客户端的控制信息的处理和传输,从客户端到服务器的控制信息的处理和传输,在服务器处使用所述输入来生成响应于输入的视频帧,处理视频帧并将其传输到编码单元(例如,扫描输出),对视频帧进行编码,将编码视频帧传输回客户端,接收并解码视频帧,以及在显示之前对视频帧进行任何处理或分段。单向等待时间可以定义为往返等待时间的一部分,包括从开始将视频帧传输到服务器处的编码单元(例如,扫描输出)到开始在客户端处显示视频帧的时间。往返等待时间和单向等待时间的一部分与数据流通过通信网络从客户端发送到服务器以及从服务器发送到客户端所用的时间相关联。另一部分与客户端和服务器处的处理相关联;这些操作的改进,诸如与帧解码和显示相关的高级策略,可以显著减少服务器与客户端之间的往返等待时间和单向等待时间,并为云游戏服务的用户提供更高质量的体验。
[0003]正是在这种背景下,产生了本公开的实施方案。

技术实现思路

[0004]本公开的实施方案涉及配置用于跨网络流式传输内容(例如,游戏)的流式传输系统,并且更具体地涉及在服务器处重叠编码操作与发送操作,以及在客户端处重叠接收操作与解码操作,以及在客户端处重叠接收操作、解码操作与渲染到显示器的操作。
[0005]本公开的实施方案公开了一种用于云游戏的方法。方法包括在客户端处接收视频帧的一个或多个编码切片,其中在服务器处执行视频游戏时生成视频帧,并且视频帧由服务器处的编码器编码成一个或多个编码切片。方法包括在完全接收视频帧的一个或多个编码切片之前,在客户端的解码器处解码第一编码切片。在服务器处,在与客户端的会话期间响应于由服务器以流式传输模式处理视频游戏,生成多个视频帧。多个视频帧在编码器处编码成多个压缩视频帧,每个对应压缩视频帧包括一个或多个对应编码切片。多个压缩视
频帧通过网络传输到客户端。
[0006]在另一实施方案中,公开了一种用于云游戏的方法。方法包括在服务器处执行视频游戏时生成视频帧。方法包括将视频帧逐个扫描线扫描输入到服务器处的编码器。方法包括在编码器处将一个或多个扫描线编码为一个或多个编码切片,其中每个编码切片以编码器填充率传送到缓冲区。方法包括从缓冲区排出第一编码切片,以通过网络以缓冲区排出率将第一编码切片流式传输到客户端,其中在完全编码视频帧的一个或多个切片之前,通过网络流式传输第一编码切片。
[0007]在另一实施方案中,公开了一种存储用于云游戏的计算机程序的非暂时性计算机可读介质。计算机可读介质包括用于在客户端处接收视频帧的一个或多个编码切片的程序指令,其中在服务器处执行视频游戏时生成视频帧,并且视频帧由服务器处的编码器编码成一个或多个编码切片。计算机可读介质包括用于在完全接收视频帧的一个或多个编码切片之前在客户端的解码器处解码第一编码切片的程序指令。在服务器处,在与客户端的会话期间响应于由服务器以流式传输模式处理视频游戏,生成多个视频帧。多个视频帧在编码器处编码成多个压缩视频帧,每个对应压缩视频帧包括一个或多个对应编码切片。多个压缩视频帧通过网络传输到客户端。
[0008]在另一实施方案中,一种存储用于云游戏的计算机程序的非暂时性计算机可读介质。非暂时性计算机可读介质包括用于在服务器处执行视频游戏时生成视频帧的程序指令。非暂时性计算机可读介质包括用于将视频帧逐个扫描线扫描输入到服务器处的编码器的程序指令。非暂时性计算机可读介质包括用于在编码器处将一个或多个编码器切片编码为一个或多个编码切片的程序指令,其中每个编码切片以编码器填充率传送到缓冲区。非暂时性计算机可读介质包括用于从缓冲区排出第一编码切片以通过网络以缓冲区排出率将第一编码切片流式传输到客户端的程序指令,其中在完全编码视频帧的一个或多个切片之前,通过网络流式传输第一编码切片。
[0009]在又一实施方案中,计算机系统包括处理器,以及耦接到处理器并且其中存储有指令的存储器,指令如果由计算机系统执行,则使计算机系统执行用于云游戏的方法。方法包括在客户端处接收视频帧的一个或多个编码切片,其中在服务器处执行视频游戏时生成视频帧,并且视频帧由服务器处的编码器编码成一个或多个编码切片。方法包括在完全接收视频帧的一个或多个编码切片之前,在客户端的解码器处解码第一编码切片。在服务器处,在与客户端的会话期间响应于由服务器以流式传输模式处理视频游戏,生成多个视频帧。多个视频帧在编码器处编码成多个压缩视频帧,每个对应压缩视频帧包括一个或多个对应编码切片。多个压缩视频帧通过网络传输到客户端。
[0010]在又一实施方案中,计算机系统包括处理器,以及耦接到处理器并且其中存储有指令的存储器,指令如果由计算机系统执行,则使计算机系统执行用于云游戏的方法。方法包括在服务器处执行视频游戏时生成视频帧。方法包括将视频帧逐个扫描线扫描输入到服务器处的编码器。方法包括在编码器处将一个或多个编码器切片编码为一个或多个编码切片,其中每个编码切片以编码器填充率传送到缓冲区。方法包括从缓冲区排出第一编码切片,以通过网络以缓冲区排出率将第一编码切片流式传输到客户端,其中在完全编码视频帧的一个或多个切片之前,通过网络流式传输第一编码切片。
[0011]本公开的其他方面将从以下结合附图进行的详细描述中变得显而易见,附图以示
例的方式示出了本公开的原理。
附图说明
[0012]本公开可通过参考结合附图进行的以下描述来最好地理解,在附图中:
[0013]图1A是根据本公开的一个实施方案的在帧周期开始处的VSYNC信号的图。
[0014]图1B是根据本公开的一个实施方案的VSYNC信号的频率图。
[0015]图2A是根据本公开的一个实施方案的用于以各种配置在一个或多个云游戏服务器与一个或多个客户端设备之间通过网络提供游戏的系统的图,其中VSYNC信号可以被同步和偏移以减少单向等待时间。
[0016]图2B是根据本公开的一个实施方案的用于在两个或更多个对等设备之间提供游戏的图,其中VSYNC信号可以被同步和偏移以实现设备之间控制器和其他信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于云游戏的方法,其包括:在服务器处执行视频游戏时生成视频帧;将所述视频帧逐个扫描线扫描输入到所述服务器处的编码器;在所述编码器处将一个或多个编码器切片编码为一个或多个编码切片,其中每个编码切片以编码器填充率被传送到缓冲区;从所述缓冲区排出第一编码切片,以通过网络以缓冲区排出率将所述第一编码切片流式传输到客户端,其中在完全编码所述视频帧的所述一个或多个切片之前,通过所述网络流式传输所述第一编码切片。2.如权利要求1所述的方法,其中在整个视频帧被编码之前,所述服务器排出所述视频帧的至少一个编码切片。3.如权利要求1所述的方法,其还包括:其中编码切片被打包成一个或多个网络通信数据包,在所述编码器处将所述一个或多个网络通信数据包中的每一个调整大小为小于或等于最大传输单元(MTU);以及将所述一个或多个网络通信数据包通过所述网络以所述排出率流式传输到所述客户端。4.如权利要求3所述的方法,其还包括:将所述一个或多个编码切片中的每一个调整大小为所述MTU或更小,使得每个编码切片被打包成单个对应网络通信数据包。5.如权利要求1所述的方法,其还包括:测量所述客户端的最大接收带宽;以及将所述排出率动态调整成大约等于所述最大接收带宽,使得所述一个或多个编码切片的传输基于所述客户端的所测量最大接收带宽间隔开,其中所述缓冲区排出率与所述编码器填充率解耦。6.如权利要求1所述的方法,其还包括:生成一个或多个前向纠错(FEC)切片,用于校正所述一个或多个编码切片;以及在流式传输时在所述一个或多个编码切片内交织所述一个或多个FEC切片,其中所述一个或多个FEC切片和所述一个或多个编码切片中的每一个被打包成大小等于或小于最大传输单元(MTU)的对应数据包。7.如权利要求1所述的方法,其还包括:在与所述客户端的会话期间,响应于由所述服务器以流式传输模式处理视频游戏,在所述服务器处生成多个视频帧;在所述编码器处将所述多个视频帧编码成多个压缩视频帧,每个压缩视频帧包括一个或多个编码切片;以及通过网络将所述多个压缩视频帧发送到所述客户端。8.如权利要求7所述的方法,其中所述客户端被配置为接收并解压缩所述多个压缩视频帧,以用于渲染到与所述客户端相关联的显示器。9.一种存储执行用于云游戏的方法的计算机程序的非暂时性计算机可读介质,所述计算机可读介质包括:
用于在服务器处执行视频游戏时生成视频帧的程序指令;用于将所述视频帧逐个扫描线扫描输入到所述服务器处的编码器的程序指令;用于在所述编码器处将一个或多个编码器切片编码为一个或多个编码切片的程序指令,其中每个编码切片以编码器填充率被传送到缓冲区;用于从所述缓冲区排出第一编码切片以通过网络以缓冲区排出率将所述第一编码切片流式传输到客户端的程序指令,其中在完全编码所述视频帧的所述一个或多个切片之前,通过所述网络流式传输所述第一编码切片。10.如权利要求9所述的非暂时性计算机可读介质,其中所述服务器在编码整个视频帧之前排出所述视频帧的至少一个编码切片。11.如权利要求9所述的非暂时性计算机可读介质,其还包括:其中在所述方法中,编码切片被打包成一个或多个网络通信数据包,用于在所述编码器处将所述一个或多个网络通信数据包中的每一个调整大小为小于或等于最大传输单元(MTU)的程序指令;以及用于将所述一个或多个网络通信数据包通过所述网络以所述排出率流式传输到所述客户端的程序指令。12.如权利要求11所述的非暂时性计算机可读介质,其还包括:用于将所述一个或多个编码切片中的每一个调整大小为所述MTU或更小,使得每个编码切片被打包成单个对应网络通信数据包的程序指令。13.如权利要求9所述的非暂时性计算机可读介质,其还包括:用于测量所述客户端的最大接收带宽的程序指令;以及用于将所述排出率动态调整为大约等于所述最大接收带宽,使得所述一个或多个编码切片的传输基于所述客户端的所测量最大接收带宽间隔开的程序指令,其中所述缓冲区排出率与所述编码器填充率解耦。14.如权利要求9所述的非暂时性计算机可读介质,其还包括:用于生成一个或多个前向纠错(FEC)切片的程序指令,所述FEC切片用于校正所述一个或多个编码切片;以及用于在流式传输时在所述一个或多个编码切片内交织所述一个或多个FEC切片的程序指令,其中所述一个或多个FEC切片和所述一个或多个编码切片中的每一个被打包成大小等于或小于最大传输单元(MTU)的对应数据包。15.如权利要求9所述的非暂时性计算机可读介质,其还包括:用于在与所述客户端的会话期间响应于由所述服务器以流式传输模式处理视频游戏而在所述服务器处生成多个视频帧的程序指令;用于在所述编码器处将所述多个视频帧编码成多个压缩视频帧的程序指令,每个压缩视频帧包括一个或多个编码切片;以及用于通过网络将所述多个压缩视频帧发送到所述客户端的程序指令。16.如权利要求15所述的非暂时性计算机可读介质,其中在所述方法中,所述客户端被配置为接收并解压缩所述多个压缩视频帧,以用于渲染到与所述客户端相关联的显示器。17.一种计算机系统,其包括:
处理器;以及耦接到所述处理器并在其中存储指令的存储器,所述指令如果由所述计算机系统执行,则使所述计算机系统执行用于云游戏的方法,所述方法包括:在服务器处执行视频游戏时生成视频帧;将所述视频帧逐个扫描线扫描输入到所述服务器处的编码器;在所述编码器处将一个或多个编码器切片编码为一个或多个编码切片,其中每个编码切片以编码器填充率被传送到缓冲区;从所述缓冲区排出第一编码切片,以通过网络以缓冲区排出率将所述第一编码切片流式传输到客户端,其中在完全编码所述视频帧的所述一个或多个切片之前,通过所述网络流式传输所述第一编码切片。18.如权利要求17所述的计算机系统,其中在所述方法中,所述服务器在编码整个视频帧之前排出所述视频帧的至少一个编码切片。19.如权利要求17所述的计算机系统,所述方法还包括:其中编码切片被打包成一个或多个网络通信数据包,在所述编码器处将所述一个或多个网络通信数据包中的每一个调整大小为小于或等于最大传输单元(MTU);以及将所述一个或多个网络通信数据包通过所述网络以所述排出率流式传输到...

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

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

1