视频帧播放方法及系统技术方案

技术编号:31085040 阅读:16 留言:0更新日期:2021-12-01 12:36
本申请实施例公开了一种视频帧播放方法及系统。本申请实施例提供的技术方案,在当前帧处于预定义的待解码状态时,通过确定当前帧的接收时间,并根据当前帧的帧尺寸和组帧时间差估计当前网络抖动参数,组帧时间差表示当前帧与前一视频帧的组帧时间间隔;根据接收时间和当前网络抖动参数确定当前帧的渲染时间,并按照渲染时间渲染播放当前帧。采用上述技术手段,通过结合实时网络抖动准确估计视频帧的渲染播放时间,使视频帧在合理的时机进行渲染播放,以此既保证了视频帧渲染的实时性,又能降低视频播放的卡顿程度,优化用户的实时视频通话体验。话体验。话体验。

【技术实现步骤摘要】
视频帧播放方法及系统


[0001]本申请实施例涉及视频直播
,尤其涉及一种视频帧播放方法及系统。

技术介绍

[0002]随着流媒体技术的发展以及智能终端设备的普及,视频即时通讯已经逐渐成为目前最时尚、流行的通讯方式。为了满足用户在不同网络环境下进行流畅通话的需求,要求视频通讯应用具备针对弱网环境的对抗手段,以优化实时视频通话质量。目前,在实时视频通话场景中,为了保障弱网环境下的视频通话质量,通常会选用按时间分层的可伸缩视频编码机制,通过允许接收端丢弃一些未组齐的非参考帧,直接解码已经完整组齐视频帧,以此来提升视频帧解码的实时性。或者使用否定确认机制,通过通知发送端在其发送缓存中重新发送相应数据包,以降低数据包的丢失率。
[0003]但是,采用可伸缩视频编码机制或者否定确认机制都会带来额外的视频传输时延,进而导致网络抖动,实时视频通话的视频播放卡顿率较大,视频播放流畅度欠佳,用户的实时视频通话体验也相对较差。

技术实现思路

[0004]本申请实施例提供一种视频帧播放方法及系统,能够准确预估视频帧渲染播放时间,以对抗网络抖动,解决弱网环境下网络抖动导致的视频播放卡顿问题。
[0005]在第一方面,本申请实施例提供了一种视频帧播放方法,包括:
[0006]在当前帧处于预定义的待解码状态时,确定所述当前帧的接收时间,根据所述当前帧的帧尺寸和组帧时间差估计当前网络抖动参数,所述组帧时间差为所述当前帧与前一视频帧的组帧时间间隔;
[0007]根据所述接收时间和所述当前网络抖动参数确定所述当前帧的渲染时间,并按照所述渲染时间渲染播放所述当前帧。
[0008]在第二方面,本申请实施例提供了一种视频帧播放系统,包括:
[0009]估计模块,用于在当前帧处于预定义的待解码状态时,确定所述当前帧的接收时间,根据所述当前帧的帧尺寸和组帧时间差估计当前网络抖动参数,所述组帧时间差为所述当前帧与前一视频帧的组帧时间间隔;
[0010]渲染播放模块,用于根据所述接收时间和所述当前网络抖动参数确定所述当前帧的渲染时间,并按照所述渲染时间渲染播放所述当前帧。
[0011]在第三方面,本申请实施例提供了一种电子设备,包括:
[0012]存储器以及一个或多个处理器;
[0013]所述存储器,用于存储一个或多个程序;
[0014]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的视频帧播放方法。
[0015]在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述
计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的视频帧播放方法。
[0016]本申请实施例在当前帧处于预定义的待解码状态时,通过确定当前帧的接收时间,并根据当前帧的帧尺寸和组帧时间差估计当前网络抖动参数,组帧时间差表示当前帧与前一视频帧的组帧时间间隔;根据接收时间和当前网络抖动参数确定当前帧的渲染时间,并按照渲染时间渲染播放当前帧。采用上述技术手段,通过结合实时网络抖动准确估计视频帧的渲染播放时间,使视频帧在合理的时机进行渲染播放,以此既保证了视频帧渲染的实时性,又能降低视频播放的卡顿程度,优化用户的实时视频通话体验。
附图说明
[0017]图1是本申请实施例提供的一种视频帧播放方法的流程图;
[0018]图2是本申请实施例中视频帧的处理流程图;
[0019]图3是本申请实施例中视频帧的参考关系示意图;
[0020]图4是本申请实施例中视频帧的渲染播放时间估计流程图;
[0021]图5是本申请实施例中网络抖动参数的估计流程图;
[0022]图6是本申请实施例中视频帧接收时间的估计流程图;
[0023]图7是本申请实施例提供的一种视频帧播放系统的结构示意图;
[0024]图8是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0025]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0026]本申请提供的视频帧播放方法,旨在通过结合网络抖动估计以准确预计视频帧的渲染播放时间,使视频帧在合理的时间点进行渲染播放,以此可在弱网环境下,平滑播放视频帧,即保障了视频帧播放的实时性,又降低了实时视频通话的卡顿程度。而在传统的实时视频通话场景中,为了追求低时延,一般会采用用户数据报协议来传输视频帧的数据包。由于数据包有大小限制,一般为1500比特。视频通话根据分辨率、码率、帧率以及帧编码类型的不同,单个视频帧可能会有一个到几十个数据包不等。在理想状态下,发送端按序发出的数据包,接收端也应是按序接收到的,但由于网络环境复杂多变,数据包在传输过程中有很大概率会出现丢包和乱序的情况,造成接收端的视频帧组帧不齐或者需要长时间等待才能组齐一帧视频帧所需的数据包。
[0027]为了应对视频帧传输过程中的网络抖动场景,主要的思想是采用牺牲一定的端到端传输时延(视频播放实时性)来换取视频通话的流畅性。当网络开始恶化(抖动发生)时,主动增加视频帧缓存的长度,多缓存一些视频帧数据,以应对将来可能发生的网络抖动;当
网络开始恢复正常时,减小视频帧缓存的长度,少缓存一些视频帧数据,以降低视频帧的端到端传输时延,提高视频播放实时性。基于这一应对网络抖动的思想,在实时视频通话场景中,为了保证弱网环境下产品的可用性,通常会选用按时间分层的可伸缩视频编码机制或者否定确认机制进行视频帧传输和处理。其中,可伸缩视频编码机制允许接收端丢弃一些未组齐的非参考帧,直接解码已经完整组齐视频帧,以此来提升视频帧解码的实时性。否定确认机制则通过通知发送端在其发送缓存中重新发送相应数据包,以降低数据包的丢失率。但是,无论是采用可伸缩视频编码机制或是否定确认机制都会带来额外的视频传输时延,额外的视频传输时延容易导致网络波动,进而导致实时视频通话流畅度降低。基于此,提供本申请实施例的一种视频帧播放方法,以解决弱网环境下网络抖动导致的视频播放卡顿问题。
[0028]实施例:
[0029]图1给出了本申请实施例提供的一种视频帧播放方法的流程图,本实施例中提供的视频帧播放方法可以由视频帧播放设备执行,该视频帧播放设备可以通过软件和/或硬件的方式实现,该视频帧播放设备可以是两个或多个物理实体构成,也可以是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频帧播放方法,其特征在于,包括:在当前帧处于预定义的待解码状态时,确定所述当前帧的接收时间;根据所述当前帧的帧尺寸和组帧时间差估计当前网络抖动参数,所述组帧时间差为所述当前帧与前一视频帧的组帧时间间隔;根据所述接收时间和所述当前网络抖动参数确定所述当前帧的渲染时间,并按照所述渲染时间渲染播放所述当前帧。2.根据权利要求1所述的视频帧播放方法,其特征在于,所述根据所述当前帧的帧尺寸和组帧时间差估计当前网络抖动参数,包括:将所述当前帧的帧尺寸和组帧时间差输入预先构建的第一卡尔曼滤波器,由所述第一卡尔曼滤波器根据所述帧尺寸和所述组帧时间差估算出对应的所述当前网络抖动参数。3.根据权利要求2所述的视频帧播放方法,其特征在于,所述第一卡尔曼滤波器根据所述帧尺寸和所述组帧时间差估算出对应的所述当前网络抖动参数,包括:所述第一卡尔曼滤波器根据所述帧尺寸确定已完成组帧的所有视频帧的最大帧尺寸参数和平均帧尺寸参数,根据所述组帧时间差进行自回归训练得到信道传输速率参数;将所述最大帧尺寸参数、所述平均帧尺寸参数和所述信道传输速率参数输入预先构建的网络抖动参数计算公式,计算得到对应的所述当前网络抖动参数。4.根据权利要求3所述的视频帧播放方法,其特征在于,所述网络抖动参数计算公式为:Jitter=_theta[0]*(_maxFrameSize

avgFrameSize)+noiseThreshold其中,Jitter表示所述当前网络抖动参数,_theta[0]表示所述信道传输速率参数的倒数,_maxFrameSize表示所述最大帧尺寸参数,avgFrameSize表示所述平均帧尺寸参数,noiseThreshol...

【专利技术属性】
技术研发人员:陶燕波邓勇张全成
申请(专利权)人:百果园技术新加坡有限公司
类型:发明
国别省市:

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

1