一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向可伸缩编码视频的码率联合决策方法与流程

2022-08-31 00:09:06 来源:中国专利 TAG:


1.本发明属于视频传输技术领域,具体涉及一种面向可伸缩编码视频的码率联合决策方法。


背景技术:

2.可伸缩视频编码(scalable video coding,svc)是视频编码标准h.264的扩展部分,能够从时间、空间、质量等维度对视频进行分层编码和多层码流输出。其中分层码流包括基础层和增强层,基础层(baselayer)可独立解码播放,增强层(enhancementlayern)需要依赖本视频块基础层(baselayer)及更低层级增强层(enhancementlayer1~enhancement-layer
n-1
)关联解码播放。相比传统的高级视频编码(advanced video coding,avc),可伸缩视频编码具备显著节约视频服务器存储空间、支持增量式与渐进式码率提升、以及提供更加灵活的码率选择方法等优点。因此,可伸缩编码视频及其码率决策方法具备十分广阔的应用前景。
3.视频码率决策是在网络视频播放过程中,根据对视频缓存、网络带宽、用户体验等因素的综合评估,以视频块(block,即包含若干帧的视频片段)为对象进行下载码率的决策。现有的面向可伸缩编码视频的码率决策方法仍处于起步阶段,通常延续面向高级视频的码率决策流程,即对每个视频块仅做顺序、单次的码率决策。这样的决策方式忽视了可伸缩编码视频支持增量式与渐进式码率提升的特点,严重制约了可伸缩编码视频优势的发挥。


技术实现要素:

4.本发明的目的在于提供一种面向可伸缩编码视频的码率联合决策方法,从码率决策框架设计、联合码率优化模型构建、以及视频码率动态决策三个方面,实现高度适应于可伸缩编码视频的码率决策优化。
5.实现本发明目的的技术解决方案为:一种面向可伸缩编码视频的码率联合决策方法,包括如下步骤:
6.步骤(1):设计面向可伸缩编码视频的码率决策框架:框架实现缓存量感知的新视频块下载与已下载视频块码率增量提升两类的动态切换,框架具备不同码率决策算法的嵌入与扩展能力;
7.步骤(2):构建基于用户体验的码率联合优化问题:针对新视频块下载与已下载视频块码率增量提升两类情况,分别构建视频缓存演化模型,构建视频质量累积综合代价函数,及构建码率联合优化问题;
8.步骤(3):基于带宽预测与缓存监控的视频码率决策:针对步骤(2)中构建的优化问题,以带宽预测与缓存监控为基础,通过遍历可选码率集合的方式,实现对两类情况下的码率决策优化问题的动态求解。
9.本发明与现有技术相比,其显著优点在于:
10.(1)本发明从码率决策框架设计、联合码率优化模型构建、以及视频码率动态决策等方面均考虑了缓存量感知的新视频块下载与已下载视频块码率增量提升两类情况,满足可伸缩编码视频的码率决策需求。
11.(2)本发明设计的视频码率决策框架,突破了传统顺序式、单次式码率决策框架的限制,充分发挥可伸缩编码视频的增量式、渐进式码率提升能力,同时基于框架的开放性和扩展性特点,支持各类码率决策算法的灵活嵌入,具备很高的原创性。
12.(3)本发明构建的联合码率优化模型,能够综合考虑视频缓存、网络带宽、平均码率等因素的动态变化,从用户观看体验的角度出发,实现提升平均码率、减少卡顿风险、以及充分利用带宽三者的均衡优化,具备很高的创新性。
13.(4)本发明实现的视频码率决策方法,能够在带宽预测与缓存监控的基础上,针对不同缓存演化模型情形,通过优化模型化简与可选码率遍历的方式,动态求解最优码率,显著减少了搜索空间与计算复杂度,具备很高的实用性。
附图说明
14.图1为本发明的视频码率决策方法的流程图。
15.图2为本发明的视频码率决策框架的流程图。
具体实施方式
16.下面结合附图对本发明作进一步详细描述。
17.结合图1,本发明的面向可伸缩编码视频的码率联合决策方法,包括以下步骤:
18.步骤s1,面向可伸缩编码视频的码率决策框架设计:
19.可伸缩编码视频的码率决策框架如图2所示,其中新视频块码率决策算法a1与已下载视频块码率提升决策算法a2为可嵌入至框架的可伸缩编码视频码率决策算法,包括但不限于基于吞吐量评估、基于缓冲区容量控制、基于混合控制、以及基于机器学习等码率决策算法,本框架支持码率决策算法的灵活扩展与更换。
20.如图2所示,可伸缩编码视频的码率决策框架具体流程如下:
21.①
读取视频服务器mpd文件((media presentation description,媒体情况描述)),获取视频块总数m,可下载码率集合{r1,r2,

,rn}(共n个可选值)等信息。
22.②
获取系统维护者设置的视频缓存阈值t,以及当前已下载的最大视频块序号p,以及已播放的最大视频块序号m。
23.③
若已经完成全部视频播放则结束流程,否则继续进行视频码率决策。
24.④
当视频缓存不足,即满足p-m≤t条件时,通过调用算法a1对第k个视频块(=p 1)进行决策,并以{r1,r2,

,rn}中不超过r
k*
的最大码率,下载第k个视频块的基础层和增强层。
25.⑤
当视频缓存充足,即满足p-m》t条件时,从第k个视频块(=m t 1)开始尝试对已下载的视频块进行码率提升;具体而言通过调用算法a2对第k个视频块的下载码率进行决策,若决策码率r
k*
大于已下载码率rk,则以{r1,r2,

,rn}中不超过r
k*
的最大码率,下载第k个视频块的尚未下载的增强层;若决策码率r
k*
小于等于已下载码率rk,则令k=k 1依次尝试能否提升后续相邻视频块的码率,直到成功对已下载视频块提升码率,或者直到k==p;
当k==p时放弃本轮对已下载视频块提升码率尝试,转而下载新第k个视频块(=p 1),第k个视频块(=p 1)的码率决策流程与

相同。
26.⑥
在完成新视频块下载,或已下载视频块新的增强层下载后,更新更新已下载和已播放的最大视频块序号,并循环上述



流程,直至完成全部视频播放,流程结束。
27.步骤s2,基于用户体验的联合码率优化模型构建:
28.在传统的高级视频编码(advanced video coding,avc)视频码率决策过程中,当某一视频块按特定码率下载完成后,通常不会再对该视频块的码率进行变动,即在每轮码率决策的过程中仅会下载新的视频块;这是因为avc视频不支持增量式码率提升,如果需要提升已下载视频块的码率,则需要弃置下载视频块并按新设置码率重新下载,如此则会造成极大的带宽浪费。与avc视频码率决策不同,由于svc视频支持通过增量下载增强层来提升视频块码率,在每轮svc视频码率决策的过程中存在下载新的视频块或者提升已下载视频块码率两种情况。因此需要根据上述两种情况分别构建视频缓存演化模型;进而从缓存量、视频码率切换频率、视频总码率等方面构建视频质量综合评价函数;最后完成码率联合优化模型构建。
29.步骤s201,面向可伸缩编码视频的缓存演化模型构建:
30.对于svc视频码率决策,下载的第k个视频块有两种情况:一是之前客户端已下载过第0至第k-1个视频块,当前下载的第k个视频块为新的视频块;二是之前客户端已近下载过第0至第p(p≥k)个视频块,当前下载的第k个视频块为已下载视频块的更高码率增强层。
31.对于下载的第k个视频块为新的视频块的情况,本次下载完成后,第k个视频块首次被添加至缓存中,缓存量增加l秒,l为一个视频块的可播放时长。对于码率为r(k)的第k个视频块来说,其所需要的下载时间为r(k)l/c(k),其中c(k)是第k个视频块下载过程中的平均下载速率。第k个视频块下载完成后,缓存量发生的变化被建模为:
[0032][0033]
对于下载的第k个视频块为已下载视频块的更高码率增强层的情况,第k个视频块之前已在缓存中,本次下载完成后,第k个视频块的仅提升码率而不增加缓存量。对于码率为r(k)的第k个视频块来说,其所需要的下载时间为r(k)l/c(k),其中c(k)是第k个视频块下载过程中的平均下载速率。第k个视频块下载完成后,缓存量发生的变化被建模为:
[0034][0035]
上述步骤s201所列两个公式中均有:b(k)为第k个视频块下载完成时的缓存量,b(k-1)为第k-1个视频块下载完成时的缓存量,r(k)为第k个视频块的码率,l为一个视频块的可播放时长,c(k)是第k个视频块下载过程中的平均下载速率。
[0036]
步骤s202,视频质量累积综合代价函数构建:
[0037]
视频质量综合评价函数权衡三个方面的影响因素,一是缓存量是否处于合理范围,即目标缓存值附近,因为过低的缓存会增加视频卡顿风险,过高的缓存值翻译带宽没有被充分利用;二是码率切换频率与幅度,即各相邻视频块码率差值之和,码率切换频率与幅度的增加会造成画质抖动加重;三是视频码率,即各视频块码率之和,更高的码率能够带来更高的视频质量。因此函数由三个加权平方和组成,一是缓存量b(1)至b(k)相对目标缓存
值br的偏移量,其中目标缓存值br由系统维护者设置;二是相邻两块的码率变化量δr(2)=r(2)-r(1),

,δr(k)=r(k)-r(k-1);三是已下视频块的码率r(1),

,r(k)。从第1块到第k块的视频质量累积综合代价函数定义为:
[0038][0039]
其中r(i),i=1,2,...,k为第i个视频块的码率;
[0040]
δr(i)=r(i)-r(i-1),i=2,3,...,k,为第i个视频块与第i-1个视频块的码率差值;λ》0是在相邻两个视频块切换码率的代价系数;μ》0是在视频块选择码率的增益系数。
[0041]
代价系数λ与μ的引入使得算法能够满足不同用户对于视频总体码率,以及码率切换频率的差异化要求。如果用户更喜欢稳定的视频画面质量,不希望视频码率频繁切换,则设置相对较大的λ与相对较小的μ。如果用户更喜欢尽可能高的视频码率,对视频码率的切换不敏感,则设置相对较小的λ与相对较大的μ。
[0042]
步骤s203,码率联合优化问题构建:
[0043]
由步骤s1可知,系统维护者设置的视频缓存阈值t,以及当前已下载的最大视频块序号p,以及已播放的最大视频块序号m时,根据t、p、l之间数值关系存在调用算法a1和a2两种情况。为保证步骤s2构建基于用户体验的联合码率优化模型,能够应用于步骤s1设计的码率决策框架,步骤s203构建的码率联合优化模型应当能够具备两种形式,分别应用于算法a1和a2的求解。注意到本步骤构建的两种形式模型的具体求解方法在步骤s302中具体阐述。
[0044]
在对第k个视频块下载码率进行决策时,根据步骤s1与步骤s201可知存在第k个视频块为新的视频块(此时k=p 1),以及第k个视频块为已下载视频块的更高码率增强层(此时m t 1≤k≤p)两种情况。
[0045]
当k=p 1,即第k个视频块为新的视频块时,码率联合优化问题构建如下:
[0046][0047][0048]
其中优化目标是求取第k个视频块的最优码率r(k),使得步骤s202中构建的第1块到第k块的视频质量累积综合代价函数取到最小值;第1项约束条件为步骤s201中构建的,下载的第k个视频块为新的视频块情况下的缓存演化模型;第2项约束条件表示第1个视下载完成后,初始缓存量b(1)为一个视频块时长l;第3项约束条件对缓存量的上下界进行约束,b
max
为预设的最大缓存量(当缓存量达到b
max
时暂停下载);第4项约束与步骤s202中定义的相邻视频缓存量差值含义相同。
[0049]
当m t 1≤k≤p,即第k个视频块为已下载视频块的更高码率增强层时,码率联合优化问题构建如下:
[0050][0051][0052]
其中优化目标是求取第k个视频块的最优码率r(k),使得步骤s202中构建的第1块到第p块的视频质量累积综合代价函数取到最小值;第1项约束条件为步骤s201中构建的,下载的第k个视频块为新的视频块情况下的缓存演化模型;第2项约束条件表示第1个视下载完成后,初始缓存量b(1)为一个视频块时长l;第3项约束条件对缓存量的上下界进行约束,b
max
为预设的最大缓存量(当缓存量达到b
max
时暂停下载);第4项约束与步骤s202中定义的相邻视频缓存量差值含义相同。
[0053]
步骤s3,基于带宽预测与缓存监控的视频码率决策:
[0054]
本步骤首先通过可用带宽预测,实现对第k个视频块下载过程中的平均下载速率c(k)进行预测;然后通过视频缓存监控,获取第k个视频块开始下载时的缓存量b(k-1);最后针对步骤s203中k=p 1以及m t 1≤k≤p两种情况,分别进行最优码率决策结果r
*
(k)的求解。
[0055]
步骤301,可用带宽预测与视频缓存监控:
[0056]
可用带宽预测是根据客户端下载历史视频块的过程中,网络端口的吞吐量的下载速率记录,来估计未来视频块的下载时平均带宽,可采用移动平均法获得:
[0057][0058]
其中为预测的下载第k个视频块的平均带宽,c(i)为已完成的下载第i个视频块过程中测量到的平均吞吐量。这里得到的即为步骤s203中c(k)的预测值。
[0059]
缓存监控是根据缓存演化记录获得当前第k个视频块开始下载时的剩余缓存量,可通过对下载和播放过程进行跟踪获得:
[0060]
b(k-1)=p
·
l-t(k)
[0061]
其中b(k-1)为第k个视频块开始下载时的缓存量,l为单个视频块的可播放时长;p为第k个视频块下载完成时,已下载的最大视频块序号;t(k)为当前第k个视频块下载完成时,已播放的视频时长。
[0062]
步骤302,视频码率动态决策:
[0063]
本步骤根据步骤s203中k=p 1以及m t 1≤k≤p两种情况的切换,采用不同方法实现最优码率的动态求解。
[0064]
当k=p 1,即第k个视频块为新的视频块时,视频质量累积综合代价函数:
[0065][0066]
其中不受第的k个视频块码率r(k)的决策结果影响,因此可以令其中c1为不受r(k)影响的常数。
[0067]
将c1带入步骤s203,并将步骤s301求得的第k个视频块平均带宽预测值替代步骤s203中c(k)。可以得到,当k=p 1,即第k个视频块为新的视频块时,码率联合优化问题构建转化为如下形式:
[0068][0069][0070]
将第一项约束条件带入优化函数可得:
[0071][0072]
其中b(k-1)、在步骤s301已求得,r(k-1)为本次码率决策之前已确定的第k-1个视频块的码率值,c1、l、λ、μ为与r(k)无关常数。
[0073]
因此,若视频服务器端存储的第k个视频块码率值有n个可选值,则只需枚举r(k)的全部可下载码率值带入表达式,能够使得取到最小值的r(k)=r
*
(k)即为本轮决策的最优码率值结果。对应至步骤s1中码率决策框架,本决策方法即为算法a1的一种实现实例,求取的r
*
(k)即为该实例的一次决策结果。
[0074]
当m t 1≤k≤p,即第k个视频块为已下载视频块的更高码率增强层时,视频质量累积综合代价函数:
[0075][0076]
其中不受第的k个视频块码率r
(k)的决策结果影响,因此可以令其中c2为不受r(k)影响的常数。
[0077]
将c2带入步骤s203,并将步骤s301求得的第k个视频块平均带宽预测值替代步骤s203中c(k)。可以得到,当m t 1≤k≤p,即第k个视频块为新的视频块时,码率联合优化问题构建转化为如下形式:
[0078][0079][0080]
将第一项约束条件带入优化函数可得:
[0081][0082]
其中b(k-1)、在步骤s301已求得,r(k-1)、r(k 1)为本次码率决策之前已确定的第k-1个视频块和第k 1个视频块的码率值,c2、l、λ、μ为与r(k)无关常数。
[0083]
因此,若视频服务器端存储的第k个视频块码率值有n个可选值,则只需枚举r(k)的全部可下载码率值带入表达式,能够使得取到最小值的r(k)=r
*
(k)即为本轮决策的最优码率值结果。对应至步骤s1中码率决策框架,本决策方法即为算法a2的一种实现实例,求取的r
*
(k)即为该实例的一次决策结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献