帧间延时估计方法、装置、设备及存储介质与流程
- 国知局
- 2024-08-02 12:37:30
本技术涉及但不限于视频数据处理,尤其涉及一种帧间延时估计方法、装置、设备及存储介质。
背景技术:
1、网络抖动和其引起的接收端帧间延时波动会导致观看时视频卡顿。为了应对网络抖动,相关技术通过牺牲一定的端到端传输时延(视频播放实时性)来换取视频通话的流畅性。当网络恶化、帧间延时波动大时,增加视频帧缓存的长度,以应对当前和将来可能发生的网络抖动;当网络开始恢复正常、帧间延时波动小时,减小视频帧缓存的长度,以降低视频帧的端到端传输时延。
2、相关技术中设置的帧间延时通常在几十到几百毫秒,在网络丢包或抖动加重的情况下,存在视频播放卡顿的情况。
技术实现思路
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、获取所述上一视频帧的目标帧间延时估计值与所述平滑目标值之间的估计值差值;
37、在所述估计值差值小于或等于所述最大步长的情况下,将所述目标帧间延时估计值设置为平滑目标值;
38、在所述估计值差值大于所述最大步长的情况下,基于所述上一视频帧的目标帧间延时估计值和所述最大步长确定所述目标帧间延时估计值。
39、在一些实施例中,所述帧信息包括采集时间和接收时间;所述基于当前视频帧的帧信息,确定所述当前视频帧的帧间延时即时值,包括:
40、获取上一视频帧的采集时间和接收时间;
41、确定所述当前视频帧的采集时间与上一视频帧的采集时间的采集时间差值;
42、确定所述当前视频帧的接收时间与上一视频帧的接收时间的接收时间差值;
43、将所述采集时间差值与所述接收时间差值的差值作为所述当前视频帧的帧间延时即时值。
44、另一方面,本技术实施例提供一种帧间延时估计装置,所述装置包括:
45、确定模块,用于基于当前视频帧的帧信息,确定所述当前视频帧的帧间延时即时值;
46、第一估计模块,用于基于所述帧间延时即时值,对所述当前视频帧进行卡尔曼滤波估计过程,得到第一帧间延时估计值;
47、第二估计模块,用于基于所述帧间延时即时值,对所述当前视频帧进行离群值估计过程,得到第二帧间延时估计值;
48、融合模块,用于融合所述第一帧间延时估计值和所述第二帧间延时估计值,得到目标帧间延时估计值;所述目标帧间延时估计值为所述当前视频帧的渲染延时。
49、再一方面,本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
50、又一方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
51、本技术实施例中,在得到当前视频帧之后,同时对该当前视频帧进行卡尔曼滤波估计过程和离群值估计过程,之后对得到的第一帧间延时估计值和第二帧间延时估计值进行融合,从而保障不同网络抖动状态下的低延时和流畅体验。
52、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本技术的技术方案。
本文地址:https://www.jishuxx.com/zhuanli/20240802/237040.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表