CN112333526B - 一种视频缓冲调节方法、装置、存储介质及电子装置 - Google Patents
一种视频缓冲调节方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112333526B CN112333526B CN202011158261.8A CN202011158261A CN112333526B CN 112333526 B CN112333526 B CN 112333526B CN 202011158261 A CN202011158261 A CN 202011158261A CN 112333526 B CN112333526 B CN 112333526B
- Authority
- CN
- China
- Prior art keywords
- threshold
- theoretical
- statistical
- determining
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44227—Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明提供了一种视频缓冲调节方法、装置、存储介质及电子装置,其中,该方法包括:获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;根据该统计参数确定下一视频帧的理论缓冲阈值;根据该理论缓冲阈值与该当前视频帧之前设置的缓冲阈值,确定该下一视频帧的目标缓冲阈值,可以解决相关技术中低延时和自适应两种缓冲模式应对不同的网络情况,网络波动恢复后,缓冲下调不能很好应对下次潜在的网络波动的问题,根据预定数量的视频帧的接收时间的统计参数确定下一视频帧的理论缓冲阈值,即通过网络波动情况的统计值(即统计参数)确定调整视频缓存阈值(即快慢放阈值),保证缓冲可以动态匹配网络环境。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种视频缓冲调节方法、装置、存储介质及电子装置。
背景技术
对于应用的流媒体客户端,需要设置一定的网络缓冲,以应对实际环境存在的网络波动等场合。这个网络波动不能设置的过小,否则网络波动会引起缓冲下溢,导致视频卡顿的现象,过大的网络缓冲同样会引起视频端到端的网络延迟。
常用的缓冲统计方案包括两种,一种是基于音视频帧数缓冲计数方案,另外一个是以音视频时长为基准的缓冲计时方案。
基于媒体数据缓冲机制,当前自适应播放策略包含自适应缓冲和自适应播放策略两部分,其中自适应缓冲策略指根据网络波动以及其他综合因素来动态调整播放缓冲大小,自适应播放策略指根据数据缓冲大小来调整实际的视频帧播放速率,两者结合来解决视频播放过程的上下溢问题,保证视频的稳定播放。
自适应播放策略最简单、实用方法是自适应媒体播放(Adaptive Media Playout,AMP)算法,目前在视频播放缓冲领域有广泛的应用。该方法一般定义缓冲的上下限阈值,低于下限阈值则慢速播放,减慢缓冲消耗,高于上限阈值则快速播放,加快缓冲消耗。因此,本专利在当前的自适应播放策略基础上,采取以视频时长为基准的缓冲计时方案,提出一种播放缓冲自适应调整的方法。
相关技术中设计低延时和自适应两种缓冲模式应对不同的网络情况,并根据网络波动的期望值和方差,调整主缓冲区的大小和播放速率。网络波动恢复后,缓冲下调不能很好应对下次潜在的网络波动,并且还需要通过模式切换以应对不同的网络场景。
针对相关技术中低延时和自适应两种缓冲模式应对不同的网络情况,网络波动恢复后,缓冲下调不能很好应对下次潜在的网络波动的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种视频缓冲调节方法、装置、存储介质及电子装置,以至少解决相关技术中低延时和自适应两种缓冲模式应对不同的网络情况,网络波动恢复后,缓冲下调不能很好应对下次潜在的网络波动的问题。
根据本发明的一个实施例,提供了一种视频缓冲调节方法,包括:
获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
根据所述统计参数确定下一视频帧的理论缓冲阈值;
根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值。
可选地,获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数包括:
对获取的视频码流进行视频解封装后,得到多个视频帧;
确定所述预定数量的视频帧中相邻两个视频帧的接收时间间隔,得到时间间隔序列;
根据所述时间间隔序列确定所述统计参数,其中,所述统计参数包括所述时间序列的统计平均值与统计最大值;
根据所述统计参数确定下一视频帧的理论缓冲阈值包括:
根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值。
可选地,根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值包括:
确定所述时间序列的累计波动最大值;
将所述累计波动最大值更新所述统计最大值;
根据所述统计平均值、更新后的所述统计最大值以及所述补偿参数确定所述理论缓冲阈值。
可选地,根据所述统计平均值、所述统计最大值以及所述补偿参数确定所述理论缓冲阈值包括:
获取预定帧数的画面渲染间隔;
根据所述画面渲染间隔对所述补偿参数进行补偿;
根据所述统计平均值、所述统计最大值以及所述补偿后的画面渲染间隔确定所述理论缓冲阈值。
可选地,根据所述统计平均值、所述统计最大值以及所述补偿参数确定所述理论缓冲阈值包括:
通过以下方式确定理论快放阈值:T1=A1*E(x)+M1*Max(x)+C;
通过以下方式确定理论慢放阈值:T2=A2*E(x)+M2*Max(x);
其中,T1为所述理论快放阈值,T2为所述理论慢放阈值,A1、A2为平均值权重系数,M1、M2为最大值权重系数,C为补偿参数,所述理论缓冲阈值包括所述理论快放阈值与所述理论慢放阈值。
可选地,根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值包括:
通过以下方式确定所述以下视频帧的目标快放阈值:
Fn=(Fn-1-d)*D+T1*(1-D);
通过以下方式确定所述以下视频帧的目标慢放阈值:
F′n=(F′n-1-d)*D+T2*(1-D);
其中,T1+d<Fn-1,T2+d<F′n-1,Fn为所述目标快放阈值,F′n为所述目标慢放阈值,Fn-1为所述当前视频帧之前设置的快放阈值,F′n-1为所述当前视频帧之前设置的慢放阈值,d为0至8ms,D=1-b/f,f为帧率,b的取值范围为0.2至0.25,所述目标缓冲阈值包括所述目标快放阈值与所述目标慢放阈值。
根据本发明的另一个实施例,还提供了一种视频缓冲调节装置,包括:
获取模块,用于获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
第一确定模块,用于根据所述统计参数确定下一视频帧的理论缓冲阈值;
第二确定模块,用于根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值。
可选地,所述获取模块包括:
解封装子模块,用于对获取的视频码流进行视频解封装后,得到多个视频帧;
第一确定子模块,用于确定所述预定数量的视频帧中相邻两个视频帧的接收时间间隔,得到时间间隔序列;
第二确定子模块,用于根据所述时间间隔序列确定所述统计参数,其中,所述统计参数包括所述时间序列的统计平均值与统计最大值;
对应的,所述第一确定模块,还用于根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值。
可选地,所述第一确定模块包括:
第三确定子模块,用于确定所述时间序列的累计波动最大值;
更新子模块,用于将所述累计波动最大值更新所述统计最大值;
第四确定子模块,用于根据所述统计平均值、更新后的所述统计最大值以及所述补偿参数确定所述理论缓冲阈值。
可选地,所述第一确定模块包括:
获取子模块,用于获取预定帧数的画面渲染间隔;
补偿子模块,用于根据所述画面渲染间隔对所述补偿参数进行补偿;
第五确定子模块,用于根据所述统计平均值、所述统计最大值以及所述补偿后的画面渲染间隔确定所述理论缓冲阈值。
可选地,所述第一确定模块包括:
第六确定子模块,用于通过以下方式确定理论快放阈值:T1=A1*E(x)+M1*Max(x)+C;
第七确定子模块,用于通过以下方式确定理论慢放阈值:T2=A2*E(x)+M2*Max(x);
其中,T1为所述理论快放阈值,T2为所述理论慢放阈值,A1、A2为平均值权重系数,M1、M2为最大值权重系数,C为补偿参数,所述理论缓冲阈值包括所述理论快放阈值与所述理论慢放阈值。
可选地,所述第二确定模块包括:
第八确定子模块,用于通过以下方式确定所述以下视频帧的目标快放阈值:
Fn=(Fn-1-d)*D+T1*(1-D);
第九确定子模块,用于通过以下方式确定所述以下视频帧的目标慢放阈值:
F′n=(F′n-1-d)*D+T2*(1-D);
其中,T1+d<Fn-1,T2+d<F′n-1,Fn为所述目标快放阈值,F′n为所述目标慢放阈值,Fn-1为所述当前视频帧之前设置的快放阈值,F′n-1为所述当前视频帧之前设置的慢放阈值,d为0至8ms,D=1-b/f,f为帧率,b的取值范围为0.2至0.25,所述目标缓冲阈值包括所述目标快放阈值与所述目标慢放阈值。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;根据所述统计参数确定下一视频帧的理论缓冲阈值;根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值,可以解决相关技术中低延时和自适应两种缓冲模式应对不同的网络情况,网络波动恢复后,缓冲下调不能很好应对下次潜在的网络波动的问题,根据预定数量的视频帧的接收时间的统计参数确定下一视频帧的理论缓冲阈值,即通过网络波动情况的统计值(即统计参数)确定调整视频缓存阈值(即快慢放阈值),保证缓冲可以动态匹配网络环境。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的视频缓冲调节方法的移动终端的硬件结构框图;
图2是根据本发明实施例的视频缓冲调节方法的流程图;
图3是根据本发明实施例的视频缓冲调节装置的框图;
图4是根据本发明优选实施例的视频缓冲调节装置的框图一;
图5是根据本发明优选实施例的视频缓冲调节装置的框图二;
图6是根据本发明优选实施例的视频缓冲调节装置的框图三;
图7是根据本发明优选实施例的视频缓冲调节装置的框图四。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的视频缓冲调节方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的视频缓冲调节方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的视频缓冲调节方法,图2是根据本发明实施例的视频缓冲调节方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
步骤S204,根据所述统计参数确定下一视频帧的理论缓冲阈值;
步骤S206,根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值。
通过上述步骤S202至S206,获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;根据所述统计参数确定下一视频帧的理论缓冲阈值;根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值,可以解决相关技术中低延时和自适应两种缓冲模式应对不同的网络情况,网络波动恢复后,缓冲下调不能很好应对下次潜在的网络波动的问题,根据预定数量的视频帧的接收时间的统计参数确定下一视频帧的理论缓冲阈值,即通过网络波动情况的统计值(即统计参数)确定调整视频缓存阈值(即快慢放阈值),保证缓冲可以动态匹配网络环境。
本发明实施例中,上述步骤S202具体可以包括:对获取的视频码流进行视频解封装后,得到多个视频帧;确定所述预定数量的视频帧中相邻两个视频帧的接收时间间隔,得到时间间隔序列;根据所述时间间隔序列确定所述统计参数,其中,所述统计参数包括所述时间序列的统计平均值与统计最大值;
对应的,上述步骤S204具体可以包括:根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值。
在一可选的实施例中,根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值具体包括:确定所述时间序列的累计波动最大值;将所述累计波动最大值更新所述统计最大值,即所述统计最大值变更为所述累计波动最大值;根据所述统计平均值、更新后的所述统计最大值以及所述补偿参数确定所述理论缓冲阈值。
在另一可选的实施例中,根据所述统计平均值、所述统计最大值以及所述补偿参数确定所述理论缓冲阈值具体可以包括:获取预定帧数的画面渲染间隔;根据所述画面渲染间隔对所述补偿参数进行补偿,具体的,画面渲染间隔为预定数量的视频帧中连续累计画面间隔的最大值MaxTnterval,如果满足MaxTnterval>k*PTS,C补偿值增加每次迭代增加l。优化地,取k为2-3,l的值可以为3-5ms;根据所述统计平均值、所述统计最大值以及所述补偿后的画面渲染间隔确定所述理论缓冲阈值。
进一步的,根据所述统计平均值、所述统计最大值以及所述补偿参数确定所述理论缓冲阈值具体可以包括:
通过以下方式确定理论快放阈值:T1=A1*E(x)+M1*Max(x)+C;
通过以下方式确定理论慢放阈值:T2=A2*E(x)+M2*Max(x);
其中,T1为所述理论快放阈值,T2为所述理论慢放阈值,A1、A2为平均值权重系数,M1、M2为最大值权重系数,C为补偿参数,所述理论缓冲阈值包括所述理论快放阈值与所述理论慢放阈值。
本发明实施例中,上述步骤S206具体可以包括:通过以下方式确定所述以下视频帧的目标快放阈值:Fn=(Fn-1-d)*D+T1*(1-D);
通过以下方式确定所述以下视频帧的目标慢放阈值:F′n=(F′n-1-d)*D+T2*(1-D);
其中,T1+d<Fn-1,T2+d<F′n-1,Fn为所述目标快放阈值,F′n为所述目标慢放阈值,Fn-1为所述当前视频帧之前设置的快放阈值,F′n-1为所述当前视频帧之前设置的慢放阈值,d为0至8ms,D=1-b/f,f为帧率,b的取值范围为0.2至0.25,所述目标缓冲阈值包括所述目标快放阈值与所述目标慢放阈值。
本发明实施例中流媒体视频播放端可以应对动态变化的网络环境,保证流畅的基础上获得更好实时性。
自适应播放策略的AMP算法一般包括两个阈值参数,一个用于控制缓存大于某一个阈值时就进行快放,称为快放阈值(Fast Threshold),一个用于控制缓冲小于某一个阈值时就进行慢放,称为慢放阈值(SlowThreshold)。通过这两个阈值,可以减少播放端的缓冲波动,使其维系一个较为稳定的状态。考虑到视频观察者的感官感受,常用的快放倍率设置在1.2-1.25之间,慢放倍率是0.75-0.8之间。
很多情况,快放和慢放阈值是根据经验值来固定设定,为一个固定常数,但是这种策略下,在网络情况良好的情况下,网络缓冲设置偏高,不能获得良好的实时性效果,同样在较大的网络波动情形下,无法获得较好的流畅性,会出现卡顿问题。因此需要根据网络波动去动态调整快慢放阈值参数,适配不同的网络环境,取得视频播放实时性和流畅性的最佳效果。
本发明实施例中的自适应缓冲主要包括数据采集、缓冲计算,缓冲恢复以及缓冲补偿,其中,数据采集,缓存视频帧间隔在队列中,并计算队列的统计参数。缓冲计算,根据统计参数去理论计算快慢放的缓冲阈值,得到理论的参考参数。缓冲恢复,根据历史设置的缓冲阈值和当前的理论计算缓冲阈值,计算得到当前应当设置的缓冲阈值,保证大波动下缓冲阈值慢恢复和小波动的缓冲阈值快恢复,得到流畅和实时的均衡。缓冲补偿,根据画面的渲染情况去补偿缓冲阈值的理论计算值,自适应应对偶发和突发的网络场景。
基于统计参数的线性播放缓冲调整,不考虑与网络检测以及和媒体服务的交互,播放端感知网络波动的途径唯一方式,是通过媒体获取到视频码流数据,进行视频解封装后,计算塞入相邻视频帧的时间间隔。理想情况下,对于一个25帧率视频,视频帧PTS间隔均匀情况下时间间隔应当稳定在40ms,但是当网络波动发生,时间间隔就会偏离40ms,因此数据帧时间间隔可以用来评价当前的网络波动。对于连续到达的视频帧时间戳Arriven-1和Arriven,对于两帧间的网络间隔xn,有以下简化公式(简化PTS不均匀情况)。
xn=Arriven-Arriven-1;
其中,Fast Threshlod、Slow Threshold的调整可以根据网络波动的预测值来计算,预测网络波动偏离程度的常用参数是网络波动的统计参数均值和均方差值。但是由于均方差计算效率较低,且播放卡顿现象和波动高值关系密切,考虑通过最大值来代替均方差。
考虑一个N个样本的网络间隔时间序列[x1,x2,...xN},其统计参数E(x)为网络间隔样本统计平均值,Max(x)为网络间隔样本统计最大值,有以下公式。
对于N值,根据网络视频帧数据的大小规律,优化地选取一个GOP的数据帧数目,并保证一定的样本数目,最少取20-25帧保证统计数据的准确性。并且队列采用FIFO的方式管理,保证统计样本为最新的数据。
缓冲阈值的调整采取线性组合,调整计算公式为:
T1=A1*E(x)+M1*Max(x)+C;
T2=A2*E(x)+M2*Max(x);
其中,T1和T2分别为第n帧媒体数据到来时FastThreshlod或者SlowThreshold的理论计算值,n需要大于统计的样本数N。A1、A2为平均值权重系数,M1、M2为最大值权重系数,M1、M2为计算的补偿参数,由补偿模块进行参数调整。实际计算时,FastThreshlod和SlowThreshold对应系数单独取值。
考虑到实际网络情况,一个网络波动高值后,短时间内会有很大概率出现同样的接近高值,因此考虑较差的情况,下个网络波动以近期统计的网络波动高值作为预测值。结合不卡顿的必要条件,考虑到预留范围,流畅性调整的基本思路是保证FastThreshlod略大于Max(x),因此优化地,保证M1略大于1.0。
考虑在一种网络连续小波动的情况,这种情形下网络波动的最大值可能比较小,但是在统计周期内,累计的网络波动值是影响流畅性的关键因素,因此考虑通过计算累计波动的最高值Acc_Max(x)来替代,忽略PTS间隔不均匀的情况,有以FastThreshlod为例,计算公式如下:
T1=A1*E(x)+M1*Acc_Max(x)+C;
自适应的缓冲恢复机制,考虑网络波动可能在某一段时间内持续发生,且两次波动之间存在一定时间间隔。统计方案如果立即生效,当网络波动恢复正常时,播放策略参数会立即下降,导致自适应缓冲不能很好应对近期下一次的网络波动,因此需要结合之前的播放策略参数进行调整。
考虑一下方案,以FastThreshlod为例,当网络波动下降时,使用两者的加权平均来计算新的参数,调整计算公式如下:
Fn=(Fn-1-d)*D+T1*(1-D),T1+d<Fn-1;
其中,Fn为第n帧媒体数据到来时FastThreshlod的实际调整值,D为参数的衰减速度。优化的,每来一帧数据都进行一次计算调整,为了保证数值下降速度能够很好应对下次可能的网络波动,需要设置D小于且接近于1.0。
考虑网络偶发一次大波动,后续网络恢复恢复正常。根据前面的公式,波动发生后恢复正常的网络帧到来时,满足Fn-1>>T1,Fn≈Fn-1*D。可以看出,FastThreshlod近似以D的倍率下降,为了保证不同帧率f的视频在相同的时间有近似的缓冲恢复速度,优化的取D=1-b/f,其中,参数b的取值可以为0.2-0.25。
考虑到理论计算值和上次参数设置值下降到比较接近的场景,通过d可以一定程度增加缓冲系数靠近理论计算值的速度,可以保证小波动情况下的延时快速恢复,提供流媒体播放的实时性。优化地,取d的取值可以为0-8ms。
基于播放流畅效果的缓冲补偿机制,考虑到针对不同码率和分辨率视频的解码波动,会导致画面渲染间隔不均匀的情况。高分辨率下I帧解码耗时会超过PTS间隔或者网络偶发卡顿的情况,如果快放阈值设置过小,会导致在下一帧解码未完成的情况下,渲染画面帧缓存耗尽,导致渲染出现卡顿问题。
通过画面渲染间隔的统计信息,去补偿快放缓冲阈值FastThreshlod,增加缓冲累积,保证播放的流畅性。取一个GOP统计周期累计画面渲染间隔的最大值MaxInterval,如果满足MaxTnterval>k*PTS,C补偿值增加每次迭代增加l。优化地,取k为2-3,l的值可以为3-5ms。
本发明实施例,基于时间统计缓冲的方案,通过网络波动情况统计值计算自适应调整视频快慢放阈值,保证缓冲动态匹配网络环境;通过缓冲恢复机制,保证不同网络波动下缓冲最小化调整,提高播放实时性;根据播放效果补偿缓冲值,提高不同码流以及网络环境下播放的流畅度。
实施例2
根据本发明的另一个实施例,还提供了一种视频缓冲调节装置,图3是根据本发明实施例的视频缓冲调节装置的框图,如图3所示,包括:
获取模块32,用于获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
第一确定模块34,用于根据所述统计参数确定下一视频帧的理论缓冲阈值;
第二确定模块36,用于根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值。
图4是根据本发明优选实施例的视频缓冲调节装置的框图一,如图4所示,所述获取模块32包括:
解封装子模块42,用于对获取的视频码流进行视频解封装后,得到多个视频帧;
第一确定子模块44,用于确定所述预定数量的视频帧中相邻两个视频帧的接收时间间隔,得到时间间隔序列;
第二确定子模块46,用于根据所述时间间隔序列确定所述统计参数,其中,所述统计参数包括所述时间序列的统计平均值与统计最大值;
对应的,所述第一确定模块34,还用于根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值。
图5是根据本发明优选实施例的视频缓冲调节装置的框图二,如图5所示,所述第一确定模块34包括:
第三确定子模块52,用于确定所述时间序列的累计波动最大值;
更新子模块54,用于将所述累计波动最大值更新所述统计最大值;
第四确定子模块56,用于根据所述统计平均值、更新后的所述统计最大值以及所述补偿参数确定所述理论缓冲阈值。
图6是根据本发明优选实施例的视频缓冲调节装置的框图三,如图6所示,所述第一确定模块34包括:
获取子模块62,用于获取预定帧数的画面渲染间隔;
补偿子模块64,用于根据所述画面渲染间隔对所述补偿参数进行补偿;
第五确定子模块66,用于根据所述统计平均值、所述统计最大值以及所述补偿后的画面渲染间隔确定所述理论缓冲阈值。
图7是根据本发明优选实施例的视频缓冲调节装置的框图四,如图7所示,所述第一确定模块34包括:
第六确定子模块72,用于通过以下方式确定理论快放阈值:T1=A1*E(x)+M1*Max(x)+C;
第七确定子模块74,用于通过以下方式确定理论慢放阈值:T2=A2*E(x)+M2*Max(x);
其中,T1为所述理论快放阈值,T2为所述理论慢放阈值,A1、A2为平均值权重系数,M1、M2为最大值权重系数,C为补偿参数,所述理论缓冲阈值包括所述理论快放阈值与所述理论慢放阈值。
可选地,所述第二确定模块36包括:
第八确定子模块,用于通过以下方式确定所述以下视频帧的目标快放阈值:
Fn=(Fn-1-d)*D+T1*(1-D);
第九确定子模块,用于通过以下方式确定所述以下视频帧的目标慢放阈值:
F′n=(F′n-1-d)*D+T2*(1-D);
其中,T1+d<Fn-1,T2+d<F′n-1,Fn为所述目标快放阈值,F′n为所述目标慢放阈值,Fn-1为所述当前视频帧之前设置的快放阈值,F′n-1为所述当前视频帧之前设置的慢放阈值,d为0至8ms,D=1-b/f,f为帧率,b的取值范围为0.2至0.25,所述目标缓冲阈值包括所述目标快放阈值与所述目标慢放阈值。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
S2,根据所述统计参数确定下一视频帧的理论缓冲阈值;
S3,根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
S2,根据所述统计参数确定下一视频帧的理论缓冲阈值;
S3,根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种视频缓冲调节方法,其特征在于,包括:
获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
根据所述统计参数确定下一视频帧的理论缓冲阈值,其中,所述理论缓冲阈值包括理论快放阈值和理论慢放阈值;
根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值,其中,所述缓冲阈值包括快放阈值和慢放阈值,所述目标缓冲阈值包括目标快放阈值和目标慢放阈值。
2.根据权利要求1所述的方法,其特征在于,
获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数包括:
对获取的视频码流进行视频解封装后,得到多个视频帧;
确定所述预定数量的视频帧中相邻两个视频帧的接收时间间隔,得到时间间隔序列;
根据所述时间间隔序列确定所述统计参数,其中,所述统计参数包括所述时间序列的统计平均值与统计最大值;
根据所述统计参数确定下一视频帧的理论缓冲阈值包括:
根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值。
3.根据权利要求2所述的方法,其特征在于,根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值包括:
确定所述时间序列的累计波动最大值;
将所述累计波动最大值更新所述统计最大值;
根据所述统计平均值、更新后的所述统计最大值以及所述补偿参数确定所述理论缓冲阈值。
4.根据权利要求2所述的方法,其特征在于,根据所述统计平均值、所述统计最大值以及所述补偿参数确定所述理论缓冲阈值包括:
获取预定帧数的画面渲染间隔;
根据所述画面渲染间隔对所述补偿参数进行补偿;
根据所述统计平均值、所述统计最大值以及所述补偿后的画面渲染间隔确定所述理论缓冲阈值。
5.根据权利要求2至4中任一项所述的方法,其特征在于,根据所述统计平均值、所述统计最大值以及所述补偿参数确定所述理论缓冲阈值包括:
通过以下方式确定理论快放阈值:T1=A1*E(x)+M1*Max(x)+C;
通过以下方式确定理论慢放阈值:T2=A2*E(x)+M2*Max(x);
其中,T1为所述理论快放阈值,T2为所述理论慢放阈值,A1、A2为平均值权重系数,M1、M2为最大值权重系数,C为补偿参数,所述理论缓冲阈值包括所述理论快放阈值与所述理论慢放阈值。
6.根据权利要求5所述的方法,其特征在于,根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值包括:
通过以下方式确定所述以下视频帧的目标快放阈值:
Fn=(Fn-1-d)*D+T1*(1-D);
通过以下方式确定所述以下视频帧的目标慢放阈值:
F'n=(F'n-1-d)*D+T2*(1-D);
其中,T1+d<Fn-1,T2+d<F'n-1,Fn为所述目标快放阈值,F'n为所述目标慢放阈值,Fn-1为所述当前视频帧之前设置的快放阈值,F'n-1为所述当前视频帧之前设置的慢放阈值,d为0至8ms,D=1-b/f,f为帧率,b的取值范围为0.2至0.25,所述目标缓冲阈值包括所述目标快放阈值与所述目标慢放阈值。
7.一种视频缓冲调节装置,其特征在于,包括:
获取模块,用于获取当前视频帧之前接收到的预定数量的视频帧的接收时间的统计参数;
第一确定模块,用于根据所述统计参数确定下一视频帧的理论缓冲阈值,其中,所述理论缓冲阈值包括理论快放阈值和理论慢放阈值;
第二确定模块,用于根据所述理论缓冲阈值与所述当前视频帧之前设置的缓冲阈值,确定所述下一视频帧的目标缓冲阈值,其中,所述缓冲阈值包括快放阈值和慢放阈值,所述目标缓冲阈值包括目标快放阈值和目标慢放阈值。
8.根据权利要求7所述的装置,其特征在于,
所述获取模块包括:
解封装子模块,用于对获取的视频码流进行视频解封装后,得到多个视频帧;
第一确定子模块,用于确定所述预定数量的视频帧中相邻两个视频帧的接收时间间隔,得到时间间隔序列;
第二确定子模块,用于根据所述时间间隔序列确定所述统计参数,其中,所述统计参数包括所述时间序列的统计平均值与统计最大值;
所述第一确定模块,还用于根据所述统计平均值、所述统计最大值以及补偿参数确定所述理论缓冲阈值。
9.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011158261.8A CN112333526B (zh) | 2020-10-26 | 2020-10-26 | 一种视频缓冲调节方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011158261.8A CN112333526B (zh) | 2020-10-26 | 2020-10-26 | 一种视频缓冲调节方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333526A CN112333526A (zh) | 2021-02-05 |
CN112333526B true CN112333526B (zh) | 2022-08-16 |
Family
ID=74311865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011158261.8A Active CN112333526B (zh) | 2020-10-26 | 2020-10-26 | 一种视频缓冲调节方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333526B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113365089B (zh) * | 2021-05-31 | 2023-02-24 | 浙江大华技术股份有限公司 | 一种数据传输方法、装置、存储介质及电子装置 |
CN113766261B (zh) * | 2021-09-06 | 2024-06-11 | 百果园技术(新加坡)有限公司 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
CN115361574B (zh) * | 2022-08-15 | 2023-09-15 | 广州市奥威亚电子科技有限公司 | 接收端视频处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123545A (ja) * | 2016-01-06 | 2017-07-13 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置及び映像符号化プログラム |
CN107205160A (zh) * | 2017-06-27 | 2017-09-26 | 青岛海信电器股份有限公司 | 一种针对服务器下发的视频的播放方法及装置 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN109996087A (zh) * | 2019-03-21 | 2019-07-09 | 武汉大学 | 一种基于有限状态机的面向视频直播的码率自适应方法及装置 |
CN110148044A (zh) * | 2019-04-01 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 一种用于记账的缓冲阈值设定方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916716B (zh) * | 2013-01-08 | 2017-06-20 | 北京信威通信技术股份有限公司 | 一种无线网络下视频实时传输的码率平滑方法 |
-
2020
- 2020-10-26 CN CN202011158261.8A patent/CN112333526B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123545A (ja) * | 2016-01-06 | 2017-07-13 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置及び映像符号化プログラム |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN107205160A (zh) * | 2017-06-27 | 2017-09-26 | 青岛海信电器股份有限公司 | 一种针对服务器下发的视频的播放方法及装置 |
CN109996087A (zh) * | 2019-03-21 | 2019-07-09 | 武汉大学 | 一种基于有限状态机的面向视频直播的码率自适应方法及装置 |
CN110148044A (zh) * | 2019-04-01 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 一种用于记账的缓冲阈值设定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112333526A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112333526B (zh) | 一种视频缓冲调节方法、装置、存储介质及电子装置 | |
US10652301B2 (en) | ABR allocation for statistical multiplexing | |
US6665872B1 (en) | Latency-based statistical multiplexing | |
US6754241B1 (en) | Computer system for statistical multiplexing of bitstreams | |
US7885270B2 (en) | Statistical multiplexing of compressed video streams | |
US7652993B2 (en) | Multi-stream pro-active rate adaptation for robust video transmission | |
US8218579B2 (en) | Self-adaptive jitter buffer adjustment method for packet-switched network | |
US6408027B2 (en) | Apparatus and method for coding moving picture | |
US8351762B2 (en) | Adaptive media playout method and apparatus for intra-media synchronization | |
CN109660879B (zh) | 直播丢帧方法、系统、计算机设备和存储介质 | |
US9998338B2 (en) | System and method for dynamic effective rate estimation for real-time video traffic | |
CN109729437B (zh) | 流媒体自适应传输方法、终端和系统 | |
EP0897245A2 (en) | MPEG frame processing method and apparatus | |
US20080151998A1 (en) | Method and Apparatus for Providing Rate Control for Panel-Based Real Time Video Encoder | |
CN104363456B (zh) | 处理输入比特流的方法与信号处理装置 | |
KR20090073189A (ko) | 패킷화 오버헤드를 감소시키기 위한 비디오 코딩 레이트 적응 | |
WO2000041395A1 (en) | Latency-based statistical multiplexing | |
JP2007184913A (ja) | 無線ビデオ送信システム | |
US20110038557A1 (en) | Method for Sending Compressed Data Representing a Digital Image and Corresponding Device | |
JP2011050117A (ja) | トリックモードおよび速度移行 | |
CN106921860B (zh) | 一种端到端的视频发送方法及装置 | |
CN112822505A (zh) | 音视频丢帧方法、装置、系统、存储介质和计算机设备 | |
US9584241B2 (en) | Flow control in a network device | |
EP2285111A1 (en) | Method for sending compressed data representing a digital image and corresponding device | |
US20100027428A1 (en) | Scheduling method of providing multimedia service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |