在流式视频内容传输期间维持流畅帧速率的方法和系统技术方案

技术编号:34599698 阅读:19 留言:0更新日期:2022-08-20 09:02
方法和系统包括从服务器装置接收为在线游戏生成的数据帧以及使用编码器对所述帧进行编码。通过网络将每个经编码的数据帧传输到客户端装置以进行渲染。监测引擎用于评估所述经编码帧中包含的所述数据以确定所述经编码帧中包含的数据量是否超过为在所述服务器装置与所述客户端装置之间建立的通信信道指定的最大数据限制。当所述经编码帧中包含的所述数据量超过所述最大数据限制时,向所述编码器发送信号以动态地减少转发到所述客户端装置以进行渲染的一个或多个后续帧中包括的数据量。执行调整以维持为所述在线游戏限定的帧速率。率。率。

【技术实现步骤摘要】
【国外来华专利技术】在流式视频内容传输期间维持流畅帧速率的方法和系统


[0001]本公开涉及流式视频内容,并且更具体地涉及用于在流式视频内容的传输期间维持流畅帧速率的方法和系统。

技术介绍

[0002]随着移动装置的日益普及,对流式内容(诸如电影、视频、娱乐内容、实况游戏内容等)的需求呈指数级增长,以供用户消费。为了让用户充分参与,必须以最小的延时提供高质量的视频内容。为了以最小的延时向客户端装置提供高质量的视频内容,需要具有大量带宽的传输管线来传送流式内容。此外,流式内容(例如,视频数据)需要以稳定的帧速率传输,使得可在客户端装置处以流畅和连续的方式渲染内容。通常,用于在诸如互联网的网络上传输流式内容的带宽由互联网服务提供商限定(即,设置)。
[0003]流式内容(诸如视频)以视频序列捕获数千个单独的图像。这些图像是以数据帧捕获的。在给定量的时间内提供这些帧的频率表示帧速率。帧速率影响用户感知视频内容中的运动的方式。当由于一个或多个帧丢失而导致帧速率不一致时,视频的某些细节可能会丢失,从而导致视频断断续续。当丢帧最少且不频繁时,用户感知的视频质量可能不会受到太大影响。但是,当频繁丢帧时,可能会在屏幕上感觉到明显的卡顿。
[0004]此外,由于技术随着时间的推移而改进,因此生成的视频的质量和帧速率也在改进。实况流式内容提供商(例如,广播公司)使用更高的帧速率来更完整地提供快节奏的动作。此类快节奏动作的示例包括诸如足球、橄榄球等实况体育赛事、高强度在线游戏等。视频分辨率和帧速率的提高对带宽要求带来了更高的负担。
[0005]在传输之前,使用编码器对内容进行编码。用于在通过互联网传输之前对内容进行编码的编码器可大致分为两种主要类型——硬件和软件。例如,硬件编码器是一种物理计算设备/装置,它被配置为直接连接到网络,诸如互联网,对视频内容进行编码,并通过网络发送经编码的视频内容。软件编码器是一种程序/编程逻辑,它在计算机上执行、建立网络连接、对视频内容进行编码并通过网络来推送经编码的视频内容。
[0006]不管正在使用的编码器的类型如何,当对数据进行编码时,指示编码器遵守每个帧的最大数据大小,其中最大大小由用于传输视频数据的通信信道的可用带宽限定。然而,编码器在生成帧时并不严格遵守指定的最大大小。结果,编码器可能不时生成大于指定大小的帧。例如,编码器可能会生成I帧,它比指定的最大大小大很多倍。处理这种大尺寸帧的常规方式是处理、编码和传输大帧并丢弃一个或多个后续帧以允许传输大帧,从而完全忽略为通信信道连接指定的最大比特率。如前所述,不频繁丢帧可能不会影响用户的整体体验,但如果频繁丢帧,则会在屏幕上感觉到明显的卡顿。这种明显的卡顿可能会影响用户的整体体验。
[0007]正是在这种背景下,出现了本公开的实施方案。

技术实现思路

[0008]本公开的实施方案涉及用于处理生成稳定的内容流的在线游戏或交互式应用的数据的系统和方法。例如,远程服务器计算装置(或在本文中简称为“服务器”)上可用的游戏引擎执行用户选择的在线游戏,并生成流式内容。响应于流式内容提供的用户输入用于影响在线游戏的游戏状态。流式内容使用编码器进行编码并传输到客户端装置以进行渲染。流式内容包括在线游戏的当前状态。评估每个经编码帧中包含的数据以确定经编码帧中包含的数据是否超过为在远程服务器与客户端装置之间建立的通信信道限定的内容最大阈值限制。如果经编码帧中的数据超过预定义的最大阈值限制,则使计数器(诸如“债务”计数器)递增。已发送债务计数器识别帧中包含的数据超过为通信信道设置的阈值限制的数据量,以及为了偿还已发送债务而需要缩减的帧的数量。当编码器接收到用于编码的后续内容帧时,查询已发送债务计数器,其中在超过阈值限制的帧之后生成后续数据帧。当已发送债务计数器非零时,指示编码器将后续帧中包括的数据量缩减到低于预定义的减小的最大数据限制。后续帧的减小的最大阈值限制可由第一帧超过阈值限制的量和/或通信信道的带宽和/或在线游戏的需求来驱动。只要已发送债务非零,后续帧中包括的数据量就会继续缩减。一旦已发送债务已被偿还(即,已发送债务为零),则指示编码器以由预定义的最大阈值限制定义的正常速率继续对在导致产生已发送债务的数据帧之后接收到的后续帧进行编码。
[0009]当接收到后续帧时,编码器可评估后续帧中包含的数据量,并基于在编码器处接收到的信号将后续帧中的数据量动态地减少到为在线游戏指定的减小的最大数据限制。减小的最大数据限制可基于被选择来进行游戏的在线游戏类型来预定义。当基于在编码器处接收到的信号来评估后续帧时,编码器可确定后续帧中包括的数据量小于减小的最大数据限制。在这种情况下,编码器将仅继续对后续帧进行编码,而不改变后续帧中包含的数据量,因为后续帧中的数据量完全在减小的最大数据限制内。
[0010]通过向编码器提供指令以在发送到客户端装置的每个帧中包括适当的数据量,可维持流畅和一致的帧速率。维持帧速率导致在客户端装置处渲染在线游戏的相关内容,而不会在渲染过程中导致任何卡顿。编码器可通过识别和保留后续帧中包括的对于渲染图像关键的某些数据并丢弃后续帧中包括的非关键的某些其他数据来减少后续帧中的数据量。另选地,编码器可使用压缩技术来减少数据。
[0011]在一些情况下,帧数据处理器可用于处理由在线游戏(即,帧数据源)生成的每一帧的数据,再将经处理的数据帧转发到编码器进行编码。数据的处理可能是为了确定帧中包含的数据的复杂性,使得编码器能够就经处理数据的哪些部分要保留以及哪些部分要丢弃做出明智的决定。
[0012]在一个实现方式中,公开一种方法。所述方法包括从服务器装置接收为在线游戏生成的数据帧。所述数据帧表示在线游戏的当前状态。使用编码器对数据帧进行编码。经编码的数据帧通过网络传输到客户端装置以进行渲染。评估经编码帧中包含的数据以确定传输到客户端装置的经编码帧中包含的数据量。当经编码帧中的数据量超过为在服务器装置与客户端装置之间建立的通信信道指定的最大数据限制时,向编码器发送信号以动态地减少将被转发到客户端装置以供渲染的一个或多个后续帧中包括的数据量。执行调整以维持为所述在线游戏限定的帧速率。
[0013]在另一个实现方式中,公开一种用于处理在线游戏的数据的系统。所述系统包括服务器,所述服务器被配置为执行在线游戏的实例并生成用于传输到客户端装置的数据帧。所述系统还包括编码器,所述编码器被配置为接收在线游戏的数据帧并且根据为在服务器与客户端装置之间建立的通信信道指定的最大数据限制对数据帧进行编码。在服务器中包括监测系统,并且所述监测系统被配置为监测每个帧中包括的数据量,并且当一个或多个后续帧之前的特定帧中包括的数据量超过最大数据限制时,生成到编码器的信号以动态地减少所述一个或多个后续帧中包括的数据量。
[0014]在另一个另选实现方式中,公开一种方法。所述方法包括从服务器装置接收为在线游戏生成的数据帧。所述数据帧表示在线游戏的当前状态。所述方法还包括验证先前编码的数据帧是否超过为在服务器装置与客户端装置之间建立的通信信道指定的最大数据限制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,所述方法包括:从服务器装置接收为在线游戏生成的数据帧,所述数据帧表示所述在线游戏的当前状态;使用编码器对所述数据帧进行编码,经编码的数据帧通过网络传输到客户端装置以进行渲染;评估所述经编码帧中包含的所述数据以确定被传输到所述客户端装置的所述经编码帧中包含的数据量;当所述经编码帧中的所述数据量超过为在所述服务器装置与所述客户端装置之间建立的通信信道指定的最大数据限制时,向所述编码器发送信号以动态地减少转发到所述客户端装置以进行渲染的一个或多个后续帧中包括的数据量,其中执行所述调整以维持为所述在线游戏限定的帧速率。2.如权利要求1所述的方法,其中动态地减少所述一个或多个后续帧中的数据量包括,确定需要减少数据量的后续帧的数量;以及针对所述数量的后续帧中的每一者中将包括的数据指定减小的最大数据限制,所述减小的最大数据限制用于对所述一个或多个后续帧进行编码。3.如权利要求2所述的方法,其中基于所述经编码帧中的所述数据超过所述最大数据限制的程度来确定所述减小的最大数据限制。4.如权利要求2所述的方法,其中将被实施所述减小的最大数据的后续帧的所述数量取决于在线游戏的类型。5.如权利要求2所述的方法,其中被实施所述减小的最大数据的后续帧的所述数量取决于所述在线游戏的数据需求。6.如权利要求2所述的方法,其中基于所述通信信道的可用带宽来设置所述减小的最大数据限制。7.如权利要求2所述的方法,其中动态地减少所述数据量包括使用压缩技术对所述帧中包括的所述数据执行压缩,其中压缩水平由所述压缩技术决定,其中所述压缩技术遵循有损压缩或无损压缩。8.如权利要求2所述的方法,其中动态地减少后续帧中的所述数据量包括,识别与所述后续帧的要保留的特定部分以及所述后续帧的要丢弃的其他特定部分有关的数据;以及使用与将要保留的所述特定部分有关的所述数据对所述后续帧进行编码。9.如权利要求1所述的方法,其中动态地减少还包括在完成所述数量的后续帧的动态数据减少之后,继续以所述最大数据限制对所述在线游戏的数据帧进行编码。10.如权利要求1所述的方法,其中基于在所述客户端装置与所述服务器装置之间建立的所述通信信道的可用带宽来限定所述最大数据限制。11.如权利要求1所述的方法,其中所述一个或多个后续帧中的所述动态减少是在数据超过了所述最大数据限制的所述帧已经通过所述网络转发到所述客户端装置之后完成。12.如权利要求1所述的方法,其中所述动态减少包括在将所述一个或多个后续帧中的每一者的所述数据转发到所述编码器进行编码之前,处理所述在线游戏的所述一个或多个后续帧中的每一者的所述数据。
13.如权利要求12所述的方法,其中对于后续帧的所述数据的处理包括,评估所述后续帧中包括的所述数据以识别对于建构所述后续帧中包括的图像关键的数据部分以及不关键的其他数据部分,用于识别关键部分的所述评估是基于所述后续帧中包含的内容与所述客户端装置的用户的上下文关系;以及将所述后续帧的所述数据与所述评估的结果转发到所述编码器,其中所述编码器使用所述评估的所述结果来集中于对所述后续帧中的被识别为对于所述用户关键的数据部分进行编码。14.一种用于处理在线游戏的数据的系统,所述系统包括:服务器,所述服务器被配置用于执行所述在线游戏的实例并生成数据帧以便传输到客户端装置;编码器,所述编码器被配置为接收所述在线游戏的所述数据帧并且根据为通信信道指定的最大数据限制来对所述数据帧进行编码;在执行所述在线游戏的所述服务器与所述客户端装置之间建立的所述通信信道,所述通信信道用于传输所述数据帧以进行渲染;以及监测系统,所述监测系统被配置为监测所述帧中的每一者中包括的数据量,并且当特定帧中包括的所述数据量超过所述最大数据限制时,生成信号以动态地减少一个或多个后续帧中包括的所述数据量。15.如权利要求14所述的系统,其中所述监测系统包括,比特率监测器,所述比特率监测器被配置为检查每个帧以确定由所述编码器编码的每个帧中包括的数据量以继续传输到所述客户端装置,并且当所述特定帧包括的数据超过为所述通信信道指定的所述最大数据限制时,与债务跟踪器交互;所述债务跟踪器,其被配置为跟踪所述特定帧中包括的过多数据量以及需要动态地减少数据的在所述特定帧之后生成的后续帧的数量;以及比特率调整器,所述比特率调整器被配置为从所述比特率监测器接收发送到所述客户端装置的所述特定帧...

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

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

1