System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于云游戏,尤其涉及一种系统抖动的调整方法、装置、设备及存储介质。
技术介绍
1、云游戏是一种新兴的游戏模式,它将游戏运行在云端服务器上,通过网络将游戏画面实时传输给客户端,从而使客户端无需安装游戏或拥有高性能的硬件,就可以进行游戏体验,然而,云游戏也面临着一些挑战,其中最主要的是网络延迟和抖动。网络延迟是指从用户输入操作到看到游戏画面反馈所花费的时间,它直接影响了用户的游戏体验和操作感受。网络抖动是指网络延迟的不稳定性,它会导致游戏画面的卡顿、模糊和失真,进一步降低了用户的满意度。
2、为了解决这些问题,一种常用的技术是使用网络实时通信(webrtc)作为云游戏的传输协议。webrtc使用了一系列的优化技术,如nack、fec、pli、jitter buffer等,来应对网络丢包、抖动和变化的情况。其中这个称为jitter buffer的接收端缓冲区,被用来存储接收到的视频帧,以便按照正确的顺序和时间间隔进行播放。相关技术中,缓冲区的大小使用卡尔曼估计得出合理的jitter值,然后加上一个固定的系统jitter得到,例如,系统jitter可以为10ms,但是随着用户设备性能飙升,视频解码渲染的性能开销其实不会带来太大的波动。云游戏对时延的要求很高,通常要100ms以下才不会影响用户的操作反馈和游戏体验,对超低时延有要求的游戏甚至会要降低到70ms甚至50ms,此时固定的系统抖动则对时延有较大的影响。
技术实现思路
1、针对上述问题,本申请实施例提供了一种系统抖动
2、本申请实施例提供了一种系统抖动的调整方法,所述方法包括:
3、获取在当前时刻之前最近的两帧视频帧数据的时间间隔信息,其中,所述时间间隔信息包括:采集时间间隔和提交解码时间间隔;
4、基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,以调整云游戏的时延。
5、在一些实施例中,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
6、在所述提交解码时间间隔与所述采集时间间隔之间的比值在预设比值范围内的情况下,减小所述系统抖动;
7、在所述提交解码时间间隔与所述采集时间间隔之间的比值不在所述预设比值范围内的情况下,增大所述系统抖动。
8、在一些实施例中,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
9、获取所述两帧视频帧数据的卡尔曼估计值的变化信息;
10、基于所述时间间隔信息或/和所述变化信息调整所述系统抖动。
11、在一些实施例中,所述基于所述采集时间间隔和所述提交解码时间间隔或所述变化信息调整所述系统抖动,包括:
12、在所述提交解码时间间隔与所述采集时间间隔之间的比值在预设比值范围内和所述变化信息为卡尔曼估计值不增大的情况下,减小所述系统抖动;
13、在所述提交解码时间间隔与所述采集时间间隔之间的比值不在所述预设比值范围内或所述变化信息为卡尔曼估计值增大的情况下,增大所述系统抖动。
14、在一些实施例中,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
15、基于所述采集时间间隔和所述提交解码时间间隔在系统抖动阈值范围内调整所述系统抖动,其中,所述系统抖动阈值范围的上限值等于系统抖动的原始固定值。
16、在一些实施例中,基于所述采集时间间隔和所述提交解码时间间隔在系统抖动阈值范围内调整所述系统抖动,包括:
17、基于所述采集时间间隔和所述提交解码时间间隔在系统抖动阈值范围内,以固定的调整值对所述系统抖动进行调整。
18、在一些实施例中,相邻两帧视频帧数据包括:第一视频帧和在所述第一视频帧之后的第二视频帧,获取当前时刻之前最近的相邻两帧视频帧数据的采集时间间隔,包括:
19、基于所述第一视频帧的时间戳和所述第二视频帧的时间戳确定所述采集时间间隔。
20、本申请实施例提供一种提交解码方法,所述方法包括:
21、在接收到待提交解码的视频帧的情况下,基于所述视频帧的帧大小和所述视频帧的到达时间确定提交所述视频帧进行解码时的缓冲区的卡尔曼估计值;
22、基于所述卡尔曼估计值和根据上述任一项系统抖动的调整方法得到的系统抖动确定缓冲区大小;
23、基于所述缓冲区大小确定所述视频帧的提交解码时间;
24、在达到所述提交解码时间的情况下,提交所述视频帧进行解码。
25、本申请实施例提供一种系统抖动的调整装置,包括:
26、获取模块,用于获取在当前时刻之前最近的两帧视频帧数据的时间间隔信息,其中,所述时间间隔信息包括:采集时间间隔和提交解码时间间隔;
27、调整模块,用于基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,以调整云游戏的时延。
28、本申请实施例提供一种提交解码装置,包括:
29、第一确定模块,用于在接收到待提交解码的视频帧的情况下,基于所述视频帧的帧大小和所述视频帧的到达时间确定提交所述视频帧进行解码时的缓冲区的卡尔曼估计值;
30、第二确定模块,用于基于所述卡尔曼估计值和根据上述任一项系统抖动的调整方法得到的系统抖动确定缓冲区大小;
31、第三确定模块,用于基于所述缓冲区大小确定所述视频帧的提交解码时间;
32、提交解码模块,用于在达到所述提交解码时间的情况下,提交所述视频帧进行解码。
33、本申请实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
34、本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
35、本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得电子设备执行上述任一项所述的方法。
36、本申请实施例提供的一种系统抖动的调整方法,通过获取在当前时刻之前最近的两帧视频帧数据的时间间隔信息,其中,所述时间间隔信息包括:采集时间间隔和提交解码时间间隔;基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,以调整云游戏的时延,能够对系统抖动进行动态调整,从而能够减小云游戏的时延。
本文档来自技高网...【技术保护点】
1.一种系统抖动的调整方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔或所述变化信息调整所述系统抖动,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔在系统抖动阈值范围内调整所述系统抖动,包括:
7.根据权利要求1所述的方法,其特征在于,相邻两帧视频帧数据包括:第一视频帧和在所述第一视频帧之后的第二视频帧,获取当前时刻之前最近的相邻两帧视频帧数据的采集时间间隔,包括:
8.一种提交解码方法,其特征在于,所述方法包括:
9.一种系统抖动的调整装置,其特
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
...【技术特征摘要】
1.一种系统抖动的调整方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔或所述变化信息调整所述系统抖动,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔调整系统抖动,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述采集时间间隔和所述提交解码时间间隔在系统抖动阈值范围内调整所...
【专利技术属性】
技术研发人员:张泽浩,李宁,
申请(专利权)人:北京网心科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。