CN107613330B - 一种视频码率自适应方法 - Google Patents
一种视频码率自适应方法 Download PDFInfo
- Publication number
- CN107613330B CN107613330B CN201710999186.XA CN201710999186A CN107613330B CN 107613330 B CN107613330 B CN 107613330B CN 201710999186 A CN201710999186 A CN 201710999186A CN 107613330 B CN107613330 B CN 107613330B
- Authority
- CN
- China
- Prior art keywords
- video block
- code rate
- video
- value
- cache
- 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
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 33
- 238000013459 approach Methods 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000006978 adaptation Effects 0.000 claims description 4
- 230000009897 systematic effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 8
- 230000001771 impaired effect Effects 0.000 abstract 1
- 230000008859 change Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000001052 transient effect Effects 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种视频码率自适应方法,包括:S1,根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,缓存预测值由码率预测波动值表示;S2,根据缓存预测值,获取当前视频块的最优码率,即N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;S3,下载码率为最优码率的当前视频块;S4,重复步骤S1至S3,直至遍历目标视频。本发明提供的方法,通过预测状态多步变化,并且最小化缓存波动与码率波动之和,平衡响应及时性和码率平滑性,保证播放卡顿为零和视频质量不受损的同时,减少视频码率的切换,提高了用户体验质量。
Description
技术领域
本发明涉及流媒体传输技术领域,尤其涉及一种视频码率自适应方法。
背景技术
为了能够在动态变化的网络状况下提供好的用户体验质量(QoE),目前很多商业播放器都采用基于HTTP的动态自适应视频流(DASH)技术来传输视频,基于HTTP的动态自适应视频流系统结构如图1所示。在DASH中,视频被切成等时长的块,并且每一块用不同的码率编码(越高的码率代表越好的视频质量),播放器应用码率自适应算法,以块为单位切换视频码率来适应当前的网络状况。
码率自适应的宗旨是为用户提供更优的QoE,所述QoE包括三个部分:高视频码率、少播放卡顿和少码率切换。如果视频码率小于吞吐量,那么说明可用带宽没有被充分利用,用户所观看到的视频质量受到了损害。如果视频码率高于吞吐量,则会出现播放卡顿的情况。如果码率切换太频繁,又将引起视频画面质量的抖动,导致不好的用户体验。
然而,选择一个合适的码率是非常困难的。一方面,为了能够充分利用带宽并防止播放卡顿,播放器要及时的切换码率以适应网络状况的变化。另一方面,为了防止视频画面质量的抖动,播放器又要尽量减少码率切换的次数。因此码率自适应算法需要平衡响应及时性和码率稳定性之间的矛盾。
目前的在线码率自适应算法主要依据系统的瞬时状态来进行码率决策,根据参考信号的不同,大致可分为以下两类。一类是基于吞吐量的方法。播放器首先预测未来的吞吐量,然后选择不超过吞吐量的最大码率。另一类的是基于播放缓存的。由于播放器一边把视频下载到缓存中,一边把缓存中的视频播放给用户,因此缓存大小体现了所选择的码率和吞吐量之间的关系。所以基于缓存的方法通过把缓存大小控制在某一稳定的值来调节码率。虽然采用了不同的系统变量,从本质上来说,这两种方法都是令每一视频块的码率实时地匹配当前的吞吐量,既能够充分的利用带宽,又能够保证不出现播放卡顿。
然而,面对动态变化的网络环境中变化剧烈的吞吐量和缓存大小,包括上述两种算法在内的现有技术根据系统瞬时的状态来进行码率选择,虽然能够及时的适应网络状况的变化,但是会使得视频码率随吞吐量的变化来回切换,导致视频画面质量抖动,QoE受损严重。
发明内容
本发明为解决现有技术中为适应网络状况的变化引发的视频码率频繁切换的问题,提供了一种视频码率自适应方法。
一方面,本发明提出一种视频码率自适应方法,包括:S1,根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;S2,根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;S3,下载码率为所述最优码率的当前视频块;S4,重复步骤S1至S3,直至遍历所述目标视频。
优选地,还包括步骤S0:计算目标视频当前视频块前一视频块的下载速率v(k-1):
v(k-1)=第k-1个视频块大小/第k-1个视频块下载时间
根据所述前一视频块的下载速率v(k-1),获取所述前一视频块的吞吐量
其中,
P(k-1)=(1-Kg(k-1))(W+P(k-2))
式中,k为所述目标视频当前视频块的编号,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,W和Q为噪声方差。
优选地,所述步骤S1进一步包括:根据前一视频块的下载速率和吞吐量,获取当前视频块及其后连续N个视频块的吞吐量预测值;根据所述N个视频块的吞吐量预测值和当前缓存值,由下式获取所述N个视频块下载后的缓存预测值:
式中,k为所述目标视频当前视频块的编号,为第k+j-1个视频块下载后的缓存预测值,b(k)为第k-1个视频块下载后的缓存大小,为吞吐量,Δr(k+j-1)为第k+j-1个视频块相比第k+j-2个视频块的码率预测波动值,Δr(k)为所述当前视频块码率相比所述前一视频块的码率预测波动值,L为视频块包含的视频时间。
优选地,所述步骤S1中根据前一视频块的下载速率和吞吐量,获取当前视频块及其后连续N个视频块的吞吐量预测值进一步包括:
将前一视频块的下载速率作为当前视频块及其后连续N个视频块的下载速率预测值,并根据如下公式迭代获取所述N个视频块的吞吐量预测值:
其中,
P(k+j-1)=(1-Kg(k+j-1))(W+P(k+j-2))
式中,k为所述目标视频当前视频块的编号,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,W和Q为噪声方差,v(k-1)为所述前一视频块的下载速率,j∈[1,N]。
优选地,所述步骤S2进一步包括:根据最小化代价函数获取最优码率:
式中,k为所述目标视频当前视频块的编号,为第k+i个视频块下载后的缓存预测值,Br为目标缓存,λ是码率切换的惩罚系数。r(k+i)为第k+i个视频块的码率。
另一方面,本发明提出一种视频码率自适应装置,包括:多步预测模块,
根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;码率获取模块,根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;下载模块,用于下载码率为所述最优码率的当前视频块;判断模块,用于判断所有视频块的下载是否完成;所述码率获取模块和判断模块分别与所述多步预测模块和下载模块电连接。
再一方面,本发明提出一种视频码率自适应设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如前所述的方法。
又一方面,本发明提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前所述的方法。
本发明提供的一种视频码率自适应方法,通过向前预测系统状态多步的变化,并且最小化缓存大小波动和码率波动之和,更好地平衡了响应及时性和码率平滑性,在保证播放卡顿为零和视频质量不受损的情况下,大大减少视频码率的切换,提高了用户体验质量。
附图说明
图1为基于HTTP的动态自适应视频流系统的结构示意图;
图2为本发明具体实施例的一种视频码率自适应方法的流程示意图;
图3为本发明具体实施例的一种视频码率自适应方法与传统方法在基本思想与所选择码率上的比较图;
图4为基于吞吐量瞬时状态下所实现的吞吐量大小和码率大小的演化比较图;
图5为基于缓存大小瞬时状态下所实现的吞吐量大小和码率大小的演化比较图;
图6为本发明具体实施例的一种视频码率自适应方法所实现的吞吐量大小和码率大小的演化比较图;
图7为本发明具体实施例的一种视频码率自适应装置的结构示意图;
图8为本发明具体实施例的一种视频码率自适应设备的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为解决现有技术中为适应网络状况的变化引发的视频码率频繁切换的问题,本发明提供了一种基于多步预测的码率自适应算法。由于吞吐量既存在稳定变化,又存在瞬时抖动,为了获得一个更平滑的码率,码率自适应应该只适应其稳定的变化,而忽略其短暂的抖动。因此,在选择码率的时候,本发明向前预测系统状态多步的变化,根据未来的演化趋势来判断当前的变化是稳定的还是瞬时的,并做出相应的决策。
在进行码率决策时,本发明以缓存大小作为反馈信号来选择码率。传统基于缓存的方法通过把缓存大小控制在某一固定值来选择码率,能够使码率及时适应网络状况变化,但是会引起剧烈的视频质量抖动。为了能够获得更好的码率平滑性,本发明允许一定量的缓存大小波动,只要求将缓存控制在某一安全的范围内。其实,只要缓存既不满也不空,一定量的缓存大小波动并不会影响响应的及时性。因此,本发明通过最小化缓存大小波动和码率波动之和来求解最佳码率。
图2为本发明具体实施例的一种视频码率自适应方法的流程示意图,如图2所示,一种视频码率自适应方法,包括:S1,根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;S2,根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;S3,下载码率为所述最优码率的当前视频块;S4,重复步骤S1至S3,直至遍历所述目标视频。
具体地,首先,确定目标视频中当前即将下载的视频块,即当前视频块,本发明具体实施例中设置当前视频块为第k个视频块。定义视频流中当前视频块前一个视频块为前一视频块,即第k-1个视频块。设置预测步长为N,N为正整数。
根据第k-1个视频块的下载速率和当前缓存值,获取视频流中第k个视频块及其后共N个视频块下载后的缓存预测值,即获取第k个、第k+1个、…、第k+N-1个视频块下载结束时的缓存预测值。此处,所述缓存预测值由码率预测波动值表示,码率预测波动值为所述N个视频块中任一视频块的码率与所述任一视频块的前一视频块的码率的差值。
其次,获取所述N个视频块的缓存预测值的波动值,并求取所述N个视频块的缓存预测值的波动值与所述码率预测波动值之和的最小值对应当前视频块的码率,即最优码率。
随后,下载码率为所述最优码率的第k个视频块。
最后,第k个视频块下载完成后,重复上述步骤下载第k+1个视频块,直至遍历所述目标视频。
本发明具体实施例中,通过向前预测系统状态多步的变化,并且最小化缓存大小波动与码率波动之和,更好地平衡了响应及时性和码率平滑性,在保证播放卡顿为零和视频质量不受损的情况下,大大减少视频码率的切换,提高了用户体验质量。
基于上述具体实施例,一种视频码率自适应方法,还包括步骤S0:计算目标视频当前视频块前一视频块的下载速率;根据所述前一视频块的下载速率,获取所述前一视频块的吞吐量。
具体地,在步骤S1根据前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载结束时的缓存预测值之前,需要计算所述前一视频块,即第k-1个视频块的下载速率v(k-1):
v(k-1)=第k-1个视频块大小/第k-1个视频块下载时间
随后,根据所述前一视频块的下载速率v(k-1),代入下式,获取所述前一视频块的吞吐量
其中,
P(k-1)=(1-Kg(k-1))(W+P(k-2))
式中,k为所述目标视频当前视频块的编号,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,W和Q为噪声方差。
此外,通过迭代获取进而获取
本发明具体实施例中,通过测量计算获取前一视频块的下载速率,并迭代估算出前一视频块的吞吐量,为后续多步缓存的预测奠定基础。
基于上述任一具体实施例,一种视频码率自适应方法,所述步骤S1进一步包括:根据前一视频块的下载速率和吞吐量,获取当前视频块及其后连续N个视频块的吞吐量预测值;根据所述N个视频块的吞吐量预测值和当前缓存值,获取所述N个视频块下载后的缓存预测值。
具体地,首先,根据第k-1个视频块的下载速率和吞吐量,获取视频流中当前视频块及其后连续N个视频块的吞吐量预测值,即获取第k个、第k+1个、…、第k+N-1个视频块的吞吐量预测值。
进一步地,将前一视频块的下载速率v(k-1)作为自当前视频块始的N个视频块的下载速率预测值,即
v(k+j-1)=v(k-1),j∈[1,N]
随后,根据如下公式迭代获取所述N个视频块的吞吐量预测值
其中,
P(k+j-1)=(1-Kg(k+j-1))(W+P(k+j-2))
式中,k为所述目标视频当前视频块的编号,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,W和Q为噪声方差,v(k-1)为所述前一视频块的下载速率,j∈[1,N]。
例如,第k+2个视频块的吞吐量预测值如下:
其次,根据上一步骤中获取的所述N个视频块的吞吐量预测值和当前缓存值,应用下式获取所述N个视频块下载后的缓存预测值
式中,k为所述目标视频当前视频块的编号,为第k+j-1个视频块下载结束时的缓存预测值,b(k)为第k-1个视频块下载结束时的缓存值,即当前缓存值,为第k+j-1个视频块的吞吐量,Δr(k+j-1)为第k+j-1个视频块相比第k+j-2个视频块的码率预测波动值,Δr(k)为所述当前视频块码率相比所述前一视频块的码率预测波动值。r为码率,Δr(k)=r(k)-r(k-1)。L为视频块包含的视频时间
本发明具体实施例提供了多步缓存预测值的计算方法,为后续最小化缓存大小波动和码率波动之和,平衡响应及时性和码率平滑性提供了条件。
基于上述任一具体实施例,一种视频码率自适应方法,所述步骤S2进一步包括:
根据最小化代价函数获取最优码率:
式中,k为所述目标视频当前视频块的编号,为第k+i个视频块下载后的缓存预测值,Br为目标缓存,λ是码率切换的惩罚系数。r(k+i)为第k+i个视频块的码率。
式中,为所述N个视频块下载后的缓存预测值与目标缓存的差值平方的总和, 为所述码率预测波动值平方的和,即所述N个视频块对应码率与其前一视频块对应码率的差值平方的总和。
根据最小化代价函数求得的N个视频块下载结束时的缓存预测值与目标缓存的差值平方的总和,以及N个视频块对应码率与其前一视频块对应码率的差值平方的总和,此两者之和的最小值对应的当前视频块的码率,即最优码率。
本发明具体实施例中,通过最小化缓存大小波动和码率波动之和获取了最优码率,更好地平衡了响应及时性和码率平滑性,在保证播放卡顿为零和视频质量不受损的情况下,大大减少视频码率的切换,提高了用户体验质量。
为了更好地理解与应用本发明提出的一种视频码率自适应方法,本发明进行以下示例,且本发明不仅局限于以下示例。
本示例中仿真的DASH系统由一个Nginx服务器和一个基于Dash.js的播放器组成。链路容量由Linux tc工具根据真实测得的带宽数据来设定。所设计的策略通过修改Dash.js里的函数AbrController和BufferController来实现。
本示例中,设置预测步长为N=5,噪声的方差为W=105和Q=1010,系统误差的初始值为P(0)=100,码率切换的惩罚系数为取值λ=1.5×10-5。
首先,测量第k-1个视频块的下载速率v(k-1)=第k-1个视频块大小/第k-1个视频块下载时间。
随后,根据所述前一视频块的下载速率v(k-1),代入下式,获取所述前一视频块的吞吐量
其中,
P(k-1)=(1-Kg(k-1))(W+P(k-2))
式中,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,初始值为P(0)=100,噪声的方差为W=105和Q=1010。
此外,通过迭代获取进而获取
将前一视频块的下载速率v(k-1)作为第k到第k+4个视频块的下载速率预测值,即
v(k+4)=v(k+3)=…=v(k)=v(k-1)
根据迭代公式如下,其中j∈[1,N]:
计算出第k块到第k+4块的吞吐量预测值
接着,根据上一步骤中获取的吞吐量预测值和当前缓存值b(k),应用下式获取所述5个视频块下载结束时的缓存预测值
式中,为第k+j-1个视频块下载后的缓存预测值,b(k)为下载第k-1个视频块的缓存值,即当前缓存值,为第k+j-1个视频块的吞吐量,Δr(k+j-1)为第k+j-1个视频块相比k+j-2个视频块的码率预测波动值,Δr(k)为所述当前视频块码率相比所述前一视频块的码率预测波动值。r为视频块的码率,Δr(k)=r(k)-r(k-1)。L为视频块包含的视频时间。
然后,根据最小化代价函数获取最优码率:
式中,为第k+i个视频块下载后的缓存预测值,Br为目标缓存,码率切换的惩罚系数λ=1.5×10-5。r(k+i)为第k+i个视频块的码率。
根据最小化代价函数求得的5个视频块下载结束时的缓存预测值与目标缓存的差值平方的总和,以及5个视频块对应码率与其前一视频块对应码率的差值平方的总和,此两者之和的最小值对应的当前视频块的码率,即最优码率。
随后,下载码率为所述最优码率的第k个视频块。
最后,第k个视频块下载完成后,重复上述步骤下载第k+1个视频块,直至遍历所述目标视频。
图3为本发明具体实施例的一种视频码率自适应方法与传统方法在基本思想与码率上的比较图。
参考图3,对本示例中提出的视频码率自适应方法性能从所实现的视频平均码率、卡顿时间和码率切换这三方面来进行评估。实验结果表明,使用本示例所述的方法,播放器可以在实现零播放卡顿和视频码率不降低的情况下,将码率切换平均减少63.3%。
除此,基于随意选择的一条可用带宽轨迹比较分析各个方法的码率自适应过程,包括所选择的码率大小和缓存大小的动态演化情况。
图4为基于吞吐量瞬时状态下所实现的吞吐量大小和码率大小的演化比较图,图5为基于缓存大小瞬时状态下所实现的吞吐量大小和码率大小的演化比较图,图6为本发明具体实施例的一种视频码率自适应方法所实现的吞吐量大小和码率大小的演化比较图。参考图4至图6,基于吞吐量和缓存大小瞬时状态所选择的码率,会随着参考变量的变化而来回切换。使用本示例所述的方法,所选择的码率更加平滑稳定,而且能够匹配吞吐量的整体状况,既实现了高资源利用率,又不会导致播放缓存为空。
基于上述任一方法具体实施例,图7为本发明具体实施例的一种视频码率自适应装置的结构示意图,如图7所示,一种视频码率自适应装置,包括多步预测模块701、码率获取模块702、下载模块703和判断模块704;
其中,所述多步预测模块701,根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;所述码率获取模块702,根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;所述下载模块703,用于下载码率为所述最优码率的当前视频块;所述判断模块704,用于判断所有视频块的下载是否完成;所述码率获取模块702和判断模块704分别与所述多步预测模块701和下载模块703电连接。
具体地,所述多步预测模块701确定目标视频中当前即将下载的视频块,即当前视频块,本发明具体实施例中设置当前视频块为第k个视频块。定义视频流中当前视频块前一个视频块为前一视频块,即第k-1个视频块。设置预测步长为N,N为正整数。
所述多步预测模块701根据第k-1个视频块的下载速率和当前缓存值,获取视频流中第k个视频块及其后共N个视频块下载后的缓存预测值,即获取第k个、第k+1个、…、第k+N-1个视频块下载完成后的缓存预测值,并将所述缓存预测值发送给码率获取模块702。此处,所述缓存预测值由码率预测波动值表示,码率预测波动值为所述N个视频块中任一视频块的码率与所述任一视频块的前一视频块的码率的差值。
随后,获取所述N个视频块的缓存预测值的波动值,并求取所述N个视频块的缓存预测值的波动值与所述码率预测波动值之和的最小值对应当前视频块的码率,即最优码率。接着,所述码率获取模块702将最优码率发送给下载模块703。
下载模块703根据所述码率获取模块702发送的最优码率下载第k个视频块,下载完成后将信息发送给判断模块704。
判断模块704接收到第k个视频块下载完成的信息后,判断是否所有视频块的下载均已完成。如果没有完成,则命令所述多步预测模块701就第k+1个视频块为当前视频块进行操作,直至遍历所述目标视频。
本发明具体实施例中,通过向前预测系统状态多步的变化,并且最小化缓存大小波动和码率波动之和,更好地平衡了响应及时性和码率平滑性,在保证播放卡顿为零和视频质量不受损的情况下,大大减少视频码率的切换,提高了用户体验质量。
图8为本发明具体实施例的一种视频码率自适应设备的结构示意图,如图8所示,该设备包括:至少一个处理器801;以及与所述处理器801通信连接的至少一个存储器802,其中:所述存储器802存储有可被所述处理器801执行的程序指令,所述处理器801调用所述程序指令能够执行上述各实施例所提供的视频码率自适应的方法,例如包括:根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;下载码率为所述最优码率的当前视频块;重复上述步骤,直至遍历所述目标视频。
本发明实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行对应实施例所提供的视频码率自适应方法,例如包括:根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;下载码率为所述最优码率的当前视频块;重复上述步骤,直至遍历所述目标视频。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种视频码率自适应方法,其特征在于,包括:
S1,根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;
S2,根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;
S3,下载码率为所述最优码率的当前视频块;
S4,重复步骤S1至S3,直至遍历所述目标视频;
其中,所述码率预测波动值为所述N个视频块中任一视频块的码率与所述任一视频块的前一视频块的码率的差值;
所述缓存预测值的波动值为所述缓存预测值与目标缓存的差值。
2.根据权利要求1所述的方法,其特征在于,还包括步骤S0:计算目标视频当前视频块前一视频块的下载速率v(k-1):
v(k-1)=第k-1个视频块大小/第k-1个视频块下载时间
根据所述前一视频块的下载速率v(k-1),获取所述前一视频块的吞吐量
其中,
P(k-1)=(1-Kg(k-1))(W+P(k-2))
式中,k为所述目标视频当前视频块的编号,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,W和Q为噪声方差。
3.根据权利要求1所述的方法,其特征在于,所述步骤S1进一步包括:
根据前一视频块的下载速率和吞吐量,获取当前视频块及其后连续N个视频块的吞吐量预测值;
根据所述N个视频块的吞吐量预测值和当前缓存值,由下式获取所述N个视频块下载后的缓存预测值:
式中,k为所述目标视频当前视频块的编号,为第k+j-1个视频块下载后的缓存预测值,b(k)为第k-1个视频块下载后的缓存值,即当前缓存值,为吞吐量,Δr(k+j-1)为第k+j-1个视频块相比第k+j-2个视频块的码率预测波动值,Δr(k)是为所述当前视频块码率相比个所述前一视频块的码率预测波动值,L为视频块包含的视频时间。
4.根据权利要求3所述的方法,其特征在于,所述步骤S1中根据前一视频块的下载速率和吞吐量,获取当前视频块及其后连续N个视频块的吞吐量预测值进一步包括:
将前一视频块的下载速率作为当前视频块及其后连续N个视频块的下载速率预测值,并根据如下公式迭代获取所述N个视频块的吞吐量预测值:
其中,
P(k+j-1)=(1-Kg(k+j-1))(W+P(k+j-2))
式中,k为所述目标视频当前视频块的编号,为吞吐量,Kg为增益系数,v为下载速率,P为系统误差,W和Q为噪声方差,v(k-1)为所述前一视频块的下载速率,j∈[1,N]。
5.根据权利要求1所述的方法,其特征在于,所述步骤S2进一步包括:
根据最小化代价函数获取最优码率:
式中,k为所述目标视频当前视频块的编号,为第k+i个视频块下载后的缓存预测值,Br为目标缓存,λ是码率切换的惩罚系数,r(k+i)为第k+i个视频块的码率。
6.一种视频码率自适应装置,其特征在于,包括:
多步预测模块,根据目标视频当前视频块前一视频块的下载速率和当前缓存值,获取当前视频块及其后连续N个视频块下载后的缓存预测值;其中,N为预测步长,所述缓存预测值由码率预测波动值表示;
码率获取模块,根据所述缓存预测值,获取当前视频块的最优码率;所述最优码率为所述N个视频块的码率预测波动值与缓存预测值的波动值之和最小时,当前视频块的码率;
下载模块,用于下载码率为所述最优码率的当前视频块;
判断模块,用于判断所有视频块的下载是否完成;
所述码率获取模块和判断模块分别与所述多步预测模块和下载模块电连接;
其中,所述码率预测波动值为所述N个视频块中任一视频块的码率与所述任一视频块的前一视频块的码率的差值;
所述缓存预测值的波动值为所述缓存预测值与目标缓存的差值。
7.一种视频码率自适应设备,其特征在于,包括:
至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710999186.XA CN107613330B (zh) | 2017-10-20 | 2017-10-20 | 一种视频码率自适应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710999186.XA CN107613330B (zh) | 2017-10-20 | 2017-10-20 | 一种视频码率自适应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107613330A CN107613330A (zh) | 2018-01-19 |
CN107613330B true CN107613330B (zh) | 2019-09-20 |
Family
ID=61079630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710999186.XA Active CN107613330B (zh) | 2017-10-20 | 2017-10-20 | 一种视频码率自适应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107613330B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108271048B (zh) * | 2018-02-09 | 2020-08-07 | 北京邮电大学 | 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法 |
CN108989880B (zh) * | 2018-06-21 | 2020-04-14 | 北京邮电大学 | 一种码率自适应切换方法及系统 |
CN109040855B (zh) * | 2018-09-03 | 2021-01-29 | 重庆邮电大学 | 一种无线dash流媒体码率平滑自适应传输方法 |
CN109413456B (zh) * | 2018-10-08 | 2021-05-18 | 山东大学 | 一种面向基于http的动态自适应流媒体多假设码率自适应系统及方法 |
CN111510777B (zh) * | 2019-01-30 | 2021-11-23 | 上海哔哩哔哩科技有限公司 | 测量网速的方法、装置、计算机设备及可读存储介质 |
CN111787336B (zh) * | 2019-04-04 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 码率切换的方法和装置 |
CN110300315B (zh) * | 2019-07-24 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 一种视频码率确定方法、装置、电子设备及存储介质 |
CN110312143B (zh) * | 2019-07-25 | 2020-10-16 | 北京达佳互联信息技术有限公司 | 视频码率控制方法、装置、电子设备及存储介质 |
CN111107440B (zh) * | 2019-12-26 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 视频传输控制方法及装置、设备、存储介质 |
CN112261439B (zh) * | 2020-10-21 | 2021-10-15 | 南京航空航天大学 | 一种超密集蜂窝网络中的可伸缩视频下载方法及系统 |
CN112637631B (zh) * | 2020-12-17 | 2022-04-26 | 清华大学 | 码率确定方法、装置、电子设备和存储介质 |
CN116916113B (zh) * | 2023-09-06 | 2023-12-22 | 联通(江苏)产业互联网有限公司 | 一种基于5g视频客服的数据流平滑处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867802A (zh) * | 2010-05-17 | 2010-10-20 | 上海海维工业控制有限公司 | 一种基于编码器和缓存的两级码率控制方法 |
CN101924603A (zh) * | 2009-06-09 | 2010-12-22 | 华为技术有限公司 | 数据传输速率的自适应调整方法、装置及系统 |
CN106028085A (zh) * | 2016-06-14 | 2016-10-12 | 浙江工业大学 | 基于dash的多客户端码率自适应及震荡补偿方法 |
CN106470350A (zh) * | 2015-08-21 | 2017-03-01 | 中国电信股份有限公司 | 基于动态比特率的码率自适应方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10178143B2 (en) * | 2015-09-29 | 2019-01-08 | International Business Machines Corporation | Selecting bitrate to stream encoded media based on tagging of important media segments |
-
2017
- 2017-10-20 CN CN201710999186.XA patent/CN107613330B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924603A (zh) * | 2009-06-09 | 2010-12-22 | 华为技术有限公司 | 数据传输速率的自适应调整方法、装置及系统 |
CN101867802A (zh) * | 2010-05-17 | 2010-10-20 | 上海海维工业控制有限公司 | 一种基于编码器和缓存的两级码率控制方法 |
CN106470350A (zh) * | 2015-08-21 | 2017-03-01 | 中国电信股份有限公司 | 基于动态比特率的码率自适应方法及装置 |
CN106028085A (zh) * | 2016-06-14 | 2016-10-12 | 浙江工业大学 | 基于dash的多客户端码率自适应及震荡补偿方法 |
Non-Patent Citations (1)
Title |
---|
《一种基于MAD加权模型的H.264/AVC码率控制算法》;阮若林;《计算机科学》;20081231;第35卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107613330A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107613330B (zh) | 一种视频码率自适应方法 | |
US10271112B2 (en) | System and method for dynamic adaptive video streaming using model predictive control | |
CN110198495B (zh) | 一种视频下载和播放的方法、装置、设备和存储介质 | |
US10205984B1 (en) | Dynamic bitrate selection for streaming media | |
US10652532B2 (en) | Method and apparatus for reference frame management for video communication | |
CN110300315A (zh) | 一种视频码率确定方法、装置、电子设备及存储介质 | |
KR20210135338A (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
CN110022498B (zh) | 一种实现码率切换的方法及装置 | |
CN108063955A (zh) | 基于状态机的动态自适应视频传输的码率切换方法 | |
US12108115B2 (en) | Method for playing on a player of a client device a content streamed in a network | |
CN112690005A (zh) | 用于流传输内容的方法和设备 | |
KR102129115B1 (ko) | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 | |
KR102521753B1 (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
CN112929700A (zh) | 一种基于云手机的视频流动态切换方法 | |
Vats et al. | Semantic-aware view prediction for 360-degree videos at the 5g edge | |
US11871061B1 (en) | Automated adaptive bitrate encoding | |
Nasrabadi et al. | Layer-assisted adaptive video streaming | |
JP6885351B2 (ja) | 品質予測装置、品質予測方法及びプログラム | |
Wang et al. | Improving robustness of dash against network uncertainty | |
Poliakov et al. | Case for caching and Model Predictive Control quality decision algorithm for HTTP Adaptive Streaming: is cache-awareness actually needed? | |
WO2024116385A1 (en) | Video player, video playback method, and program | |
CN114885208B (zh) | Ndn网络下可伸缩流媒体传输的动态自适应方法、设备及介质 | |
EP4080891A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
CN117156185A (zh) | 一种流媒体码率自适应方法及其动作剪枝系统 | |
CN118214928A (zh) | 点播视频传输方法、装置、设备及存储介质 |
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 |