一种缓存辅助超分辨率技术的多源视频流媒体传输方法
未命名
07-15
阅读:279
评论:0

1.本发明属于视频传输技术领域,尤其涉及在多级分布式边缘服务网络架构下设计一种协同存储和计算资源增强视频传输性能的方法。
背景技术:
2.随着多媒体技术的蓬勃发展,视频流媒体已经成为人们日常生活中不可或缺的服务。同时,人们对于视频分辨率的需求也逐渐从标清(sd)、高清(hd)发展至超高清(uhd)等标准。为了获得更高的画面质量,为用户带来更好的观看体验,传输超高清视频通常需要高速稳定的下行带宽,如4k视频(分辨率3840
×
2160)的传输码率通常在20-50mbps,8k视频(分辨率7680
×
4320)的传输码率则要高于100mbps。随着互联网视频行业中用户规模和视频收看时长的不断增加,这种高速稳定的带宽需求呈爆炸式增长,对现有的网络环境带来了巨大的挑战。长此以往,用户在观看超高清视频时会经常因为带宽不足而产生视频卡顿,带来不好的体验。
3.新型网络架构如云原生5g网络,以高带宽、低时延、多连接为目的,为超高清视频产业链的各个环节带来改变和升级。在这样的多级分布式网络架构中部署视频流媒体传输服务,可协同利用计算和存储资源,并以多源的模式进行传输,最终增强视频播放服务的用户体验质量。传统的多源视频流传输方案,通常在多个服务器中存储整个视频的所有质量版本,相比于传统的单源传输,网络中将消耗更多的存储资源以支持多源传输。另外,网内带宽波动较为剧烈,客户端对多个端到端带宽的预测很难做到准确,直接传输高分辨率的视频易造成视频卡顿。因此,提供一种高效利用网内各种资源的视频传输方案是本领域技术人员亟待解决的技术问题。
技术实现要素:
4.本发明提供了一种缓存辅助超分辨率技术的多源视频流媒体传输方法,提高视频质量的同时,最小化系统整体延迟。
5.为了实现上述目的,本发明采用如下技术方案:
6.一种缓存辅助超分辨率技术的多源视频流媒体传输方法,包括如下步骤:
7.(1)视频生成和部署:
8.将一个视频在时间维度上划分为一系列相等时长的n个片段。每一个视频片段i在空间上划分为一系列互不重合、长宽相同的j个切块。一个视频片段的所有切块被分成m组集合,构成集合时保证集合之间的切块数据大小之和尽量相近。为了减少控制信令的数量,缩小决策空间,以切块集合为最小单位进行存储和传输。网络中共有m个边缘服务器,每个集合的低分辨率版本存储在一个边缘服务器中。
9.(2)视频片段切块集合的缓存决策:
10.代理服务器在多级分布式网络架构中位于客户端和边缘服务器之间,靠近客户端。代理服务器作为客户端的代理,接收客户端的视频流媒体请求。在检测到目标视频的视
频流媒体播放请求后,代理服务器做出决策,提前缓存部分高分辨率版本的视频片段切块集合,集合中的切块则为与所述目标视频匹配的第一视频片段切块。
11.(3)视频播放过程:
12.在收到客户端发出的视频片段i的请求时,代理服务器有以下步骤:
13.①
查找代理服务器中已经缓存的片段i的高分辨率切块集合,确定第一视频片段切块的切块标识;
14.②
向各边缘服务器发送视频片段切块集合请求,所述视频片段切块集合请求用于指示各边缘服务器将第一视频片段切块的切块标识之外的其他切块标识对应的第二视频片段切块,发送至所述代理服务器,其中第二视频片段切块的分辨率低于第一视频片段切块的分辨率;
15.③
利用两种超分辨率技术,将边缘服务器传输来的第二视频片段切块重构为所述第一视频片段切块的分辨率值的高分辨率切块;
16.④
获得所有切块,根据重构后的第二视频片段切块以及所述第一视频片段切块拼接成整个视频片段,生成目标视频流,传输至客户端。
17.进一步的,代理服务器中通过数学建模,构建基于视频片段切块集合的缓存决策问题。对每个视频片段i,已知每个边缘服务器与代理服务器之间的传输延迟l
im
。当低分辨率的视频片段切块(第二视频片段切块)传输至代理服务器后,代理服务器采用两种超分辨率技术对不同的切块进行重构操作:(1)传统的插值法,重构性能较差但运行时间短,仅需cpu即可执行;(2)基于深度学习的方法,重构性能较好但运行时间长,需要在gpu上执行。一些内容简单的切块(如黑夜、蓝天等组成背景的切块),仅使用插值法就能达到很好的性能,无需经过深度学习。这些切块的数据量通常较小,因此本方法依据切块的数据大小来决定其使用哪种超分辨率技术。已知使用两种不同的超分辨率技术对一个切块进行重构的时间d
ij
和d'
ij
,可得视频片段i的所有切块在代理服务器上进行重构处理的总时间gi。进行不同的缓存决策后得出一个视频片段i的整体延迟fi=l
im
+gi。将用户对视频片段的关注程度作为视频片段的权重vi,问题目标是最小化估算的加权整体延迟,并且满足代理服务器的缓存能力上限。
18.进一步的,求解该面向集合的视频切块缓存决策问题时,代理服务器有以下步骤:
19.①
将原始问题中的最小化估算的加权整体延迟,等价转化为最大化系统最大延迟与实际延迟的差;
20.②
根据代理服务器的缓存能力上限,构建所有可能的缓存策略分配方案,生成可选集合;
21.③
在可选集合中找出最优的缓存策略分配方案。若出现分配冲突,则依据拍卖竞争的思想来区分缓存策略为不同的视频片段带来的预期收益,循环求解直到消除所有冲突。根据最优方案对视频片段切块集合进行缓存。
22.本发明的有益效果在于:
23.本发明考虑到减少信令传输的数量以及缩小问题的决策空间,将视频片段切块的集合作为传输和决策的最小单位;在传输过程中同时利用网络中的计算和存储资源来增强传输性能,提升视频用户的体验质量。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
25.图1为本发明方法流程图。
26.图2为本发明的网络架构图。
27.图3为本发明的问题求解流程图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.结合附图1-2,一种缓存辅助超分辨率技术的多源视频流媒体传输方法,包括如下步骤:
30.(1)视频生成和部署:
31.将一个视频在时间维度上划分为一系列相等时长的n个片段。每一个视频片段i在空间上划分为一系列互不重合、长宽相同的j个切块。一个视频片段的所有切块被分成m组集合,构成集合时保证集合之间的切块数据大小之和尽量相近。为了减少控制信令的数量,缩小决策空间,以切块集合为最小单位进行存储和传输。网络中共有m个边缘服务器,每个集合的低分辨率视频片段切块(第二视频片段切块)存储在一个边缘服务器中。
32.(2)视频片段切块集合的缓存决策:
33.代理服务器在多级分布式网络架构中位于客户端和边缘服务器之间,靠近客户端,作为客户端的代理,接收客户端的视频流媒体请求。在进行视频流媒体传输之前,代理服务器做出决策,提前缓存部分高分辨率版本的视频片段切块(第一视频片段切块)集合。
34.(3)视频播放过程:
35.在收到客户端发出的视频片段i的请求时,代理服务器有以下步骤:
36.①
确认代理服务器中已经缓存的片段i的第一视频片段切块;
37.②
向至少一个对应的边缘服务器,请求未在代理服务器中缓存的第二视频片段切块集合;
38.③
利用两种超分辨率技术,将边缘服务器传输来的第二视频片段切块重构为所述第一视频片段切块的分辨率值的高分辨率切块;
39.④
获得所有切块,根据重构后的第二视频片段切块以及所述第一视频片段切块拼接成整个视频片段,生成目标视频流,传输至客户端。
40.本实施例中,步骤(1)中已知视频的总时长,将视频在时间维度上切分为一系列相等且固定时长的n个视频片段,视频片段的索引编号为i。每个视频片段在空间维度上被切分为一系列长宽相等的切块,切块的索引编号为j。一个视频片段的所有切块被分成m组集合e
im
,构成集合时保证集合之间的切块数据大小之和尽量相近。令α
ijm
=1表示视频片段i的
切块j属于集合e
im
。网络中共有m个边缘服务器,每个集合的低分辨率版本(第二视频片段切块)存储在一个边缘服务器中。在此基础上,当客户端向代理服务器顺序地请求视频片段,代理服务器改写每个请求,向m个边缘服务器同时发送请求,对每个边缘服务器请求其存储的切块集合。
41.本实施例中,代理服务器具有一定的计算和存储能力。由于网络中不同服务之间的资源竞争,代理服务器和边缘服务器之间的网内带宽波动较为剧烈,很难对每个端到端带宽进行准确的预测。因此,本方法在代理服务器处部署超分辨率技术。边缘服务器上的视频服务器仅需向代理服务器传输低分辨率的切块集合,之后代理服务器利用超分辨率技术将低分辨率切块重构为高分辨率切块,并将高分辨率视频传输给客户端。同时,本方法利用代理服务器的存储资源,提前缓存一部分高分辨率切块,来减少传输和重构所需的整体时间并保证用户体验质量。
42.在一个视频会话开始之前,本方法通过预估传输和重构的整体时间,决定该视频的缓存策略,即步骤(2)。首先考虑两种超分辨率技术以并行的方式对不同的切块进行重构:一是传统的插值法,重构性能较差但运行时间短,仅需cpu即可执行;二是基于深度学习的方法,重构性能较好但运行时间长,需要在gpu上执行。一些内容简单的切块(如黑夜、蓝天等组成背景的切块),仅使用插值法就能达到很好的性能,无需经过深度学习。这些切块的数据量通常较小,因此本方法依据切块的数据大小来决定其使用哪种超分辨率技术。令e
ij
=1表示切块j需要经过基于深度学习模型的方法进行重构已知使用两种不同的超分辨率技术对一个切块进行重构的时间分别为d
ij
和d'
ij
,可得视频片段i的所有切块在代理服务器上进行重构处理的总时间gi为
43.gi(0)=∑
jdijeij
+∑
jd′
ij
(1-e
ij
).
44.在代理服务器中每个切块顺序地进行重构,如果总的重构时间过长易造成视频卡顿。本方法利用代理服务器自身的存储资源,在视频会话开始之前提前在代理服务器中缓存部分高分辨率切块,减少重构处理时间。为了缩小决策空间,将存储在一个边缘服务器上的视频切块集合看作一个整体,决策是否提前缓存一个视频切块的集合。令控制变量x
im
=1表示将视频片段i的集合m中的切块在代理服务器中缓存高分辨率版本,x
im
=0表示不缓存。引入缓存后,视频片段i进行重构的总时间为
45.gi(σmx
im
)=σjσm(1-x
im
)(α
ijm
de
ij
+α
ijmd′
(1-e
ij
))
46.代理服务器仍需要向对应的边缘服务器以低分辨率请求那些未提前缓存的切块集合,之后进行重构处理。对每个视频片段i,已知每个边缘服务器与代理服务器之间的传输延迟l
im
。根据传输延时对m个代理服务器重新排序,使得l
i1
≥l
i2
≥
…
≥l
im
,则可得出一个视频片段i的整体延迟:
47.48.显然,一个视频在代理服务器中提前缓存越多的切块集合,其整体延迟越小,但代理服务器的存储能力有限。令c表示一个视频在代理服务器中能够缓存的集合数量上限,则有以下约束:
49.∑i∑mx
im
≤c.
50.另外,由于视频播放过程中呈现的内容不断变化,用户对不同内容的视频片段产生的关注程度通常是不一样的。例如,用户更倾向于关注故事线进行到关键时刻的场景(如足球比赛中的进球时刻),以及需要用户获取信息的场景(如在篮球比赛中镜头显示记分牌的时刻)。另外,用户对呈现背景的过渡片段关注程度较低。令vi表示用户对视频片段i的关注程度,其作为视频片段的权重,影响缓存决策。
51.综上所述,步骤(2)中的缓存决策问题建模为以下数学形式:
[0052][0053]
s.t.∑i∑mx
im
≤c,
[0054][0055]
通过求解问题p,本方法得出一个最小化加权整体延迟的缓存决策分配,同时决策结果不超过规定的缓存数量上限。对该问题进行求解后,代理服务器根据缓存策略向远程服务器请求高分辨率的视频片段切块(第一视频片段切块)进行缓存,之后进行视频播放过程,即步骤(3)。
[0056]
请参阅附图3,本发明对面向集合的切块缓存决策问题提供了一种求解思路,包括如下步骤:
[0057]
(1)问题转化。将属于非线性整数规划的原问题p进行等价转化,为每个视频片段i构建一个m+1维的加权延迟差数组:
[0058]
{τ
i,0
,τ
i,1
,...,τ
i,m
}={0,[l
i1
+gi(0)-l
i2-gi(1)]υi,...,[l
i1
+gi(0)-l
im-gi(m-1)]vi,...,[l
i1
+gi(0)-l
im-gi(m-1)]υi,(l
i1
+gi(0))υi},
[0059]
其中τ
i,m
=[l
i1
+gi(0)-l
im+1-gi(m)]vi表示当m-1个集合被缓存在代理服务器中,视频片段i预计减少的传输和重构总延迟乘权重值,也就是与最大加权延迟(即不缓存的情况)之间的差。令ki=∑mx
im
最小化原问题p等价于最大化减少的加权整体延迟,形式如下:
[0060][0061]
s.t.k
i-σmx
im
,
[0062]
∑i∑mx
im
=c,
[0063][0064]
(2)构建缓存策略分配方案集合。根据已知的代理服务器的缓存能力上限,构建缓存策略分配方案的可选集合。引入辅助变量yk,表示缓存了k个切块集合的视频片段的个数,定义{y1,y2,...,ym}为一种可能的缓存分配方案,可得如下方程:
[0065][0066]
其中第一个方程表示对所有视频片段缓存的切块集合的数量相加等于缓存上限,第二个方程表示分配了缓存决策的视频片段的个数相加不超过视频片段的总数。
[0067]
通过迭代搜索可以得出所有可能的缓存策略分配方案。首先定义yk的可分配上限值为
[0068][0069]
构建方案集合算法步骤如下:
[0070]
①
初始化{y1,y2,...,ym}={c,0,...,0};
[0071]
②
若在此种缓存策略分配方案下成立,则{y1,y2,...,ym}是是一个可行的方案;对y2,跳转至步骤
③
;
[0072]
③
若则yk←
yk+1,否则yk←
0;
[0073]
④
对{y3,...,ym}依次判断:若y
k-1
被置为0,则对yk跳转至步骤
③
;
[0074]
⑤
对对y1赋值,跳转至步骤
②
。
[0075]
(3)在可选方案集合中得出最优决策。首先根据加权延迟差数组,以贪心的策略得出最大化加权延迟差的分配方案。该方案中可能会出现两种缓存策略匹配给同一个视频片段的冲突情况,而每个视频片段只能有一种缓存策略ki。为了消除冲突,首先提取出发生冲突匹配的集合{n
[c]
,m
[c]
},其中n
[c]
表示视频片段集合,m
[c]
表示缓存策略集合。同时,对每个视频片段引入一个用于竞争的拍卖价格pi并初始化为0;对于每个缓存策略引入一个用于竞争的拍卖收益τ'
i,k
=τ
i,k-pi,表示缓存策略k经过拍卖竞争分配给视频片段i之后获得的收益。将拍卖收益数组τ'初始化为加权延迟差数组τ,同时保证τ'
i,k
≥0。计算拍卖收益之和vk=sum_top(τ'(:,k),yk),分别表示前yk个最大拍卖收益之和以及去掉{τ'
i,k
}的前yk个最大拍卖收益之和。拍卖价格pi的变化形式如下:
[0076][0077]
将τ'(i,:)的值更新为max{0,τ(i,:)-pi}。通过不断提升拍卖价格,找到一个在冲突集合中更有竞价能力的缓存分配方案。重复上述过程直到冲突集合为空,即所有的视频片段最多有一个缓存策略分配。此时得出一种对于一个分配方案y来说的最优无冲突缓存策略计算问题q的目标函数,若目标函数值大于此前得出的所有缓存决策的目标函数值,则为最终决策结果。当所有循环结束,得出最优的决策结果。
[0078]
以下为上述公式中符号说明:
[0079]
视频划分片段数n
[0080]
视频片段索引i
[0081]
视频切块数目j
[0082]
视频切块索引j
[0083]
边缘服务器个数m
[0084]
视频片段i存储于服务器m的所有视频切块集合e
im
[0085]
边缘服务器索引m
[0086]
边缘服务器与代理服务器之间的传输延迟l
im
[0087]
两种超分辨率技术对与某个切块重构处理的时间d
ij
和d'
ij
[0088]
视频片段i的全部切块在代理服务器上重构处理的总时间gi[0089]
视频片段i的整体延迟fi[0090]
根据用户对视频片段i的关注程度定义视频片段i的权重vi[0091]
表示视频片段i的切块j是否在视频切块集合e
im
中a
ijm
[0092]
表示视频片段i的切块j是否使用深度学习模型进行重构e
ij
[0093]
表示视频片段i的集合m是否缓存高分辨率版本x
im
[0094]
视频片段i的整体延迟fi[0095]
一个视频在代理服务器中能够缓存的切块集合上限c
[0096]
当m个集合被缓存在代理服务器中时,与最大加权延迟(即不缓存的情况)相比,视频片段i预计减少的传输和重构总延迟乘权重值τ
i,m
[0097]
代理服务器缓存的视频片段i的集合数目ki[0098]
缓存了k个切块集合的视频片段的个数yk[0099]
yk的可分配上限值
[0100]
视频片段集合n
[c]
[0101]
缓存策略集合m
[c]
[0102]
视频片段i的竞争拍卖价格pi[0103]
视频缓存策略k被竞争拍卖分配给视频片段i的收益τ'
i,k
[0104]
前yk个最大拍卖收益之和vk[0105]
去掉{τ'
i,k
}的前yk个最大拍卖收益之和
[0106]
对某个分配方案y的最优无冲突缓冲策略
[0107]
本发明采用计算机模拟的方式进行实验。
[0108]
本发明在实际中部署在靠近客户端的代理服务器中,连接客户端与边缘服务器。对代理服务器进行软件模拟,初始化代理服务器能力和服务器之间的传输延迟。假设网络中有6个参与传输的边缘服务器,它们分布在不同的地理位置,每个边缘服务器与代理服务器之间的传输延时区别较大,在1-100毫秒之间随机生成。采用双三次插值法作为利用cpu的简单重构法,在intel i9处理器上运行;nas模型作为利用gpu的深度学习模型重构法,在nivdia gtx3090显卡上运行。在“surf”(时长为205秒,类别为体育运动)和“rhinos”(时长为292秒,类别为纪录片)两个视频上分别进行实验,利用ffmpeg将视频在时间上切分为持续时长为1秒的视频片段,在空间上划分为4行x 6列的切块。将视频从分辨率540p重构至4k(一个切块从分辨率160x135重构至分辨率640x540),记录每个切块的处理时间。每个视频片段的所有切块按照数据大小均匀地划分为6个集合,其低分辨率版本分别存储在6个边缘
服务器中。根据所有切块数据大小的一定比例,确定每个切块使用双三次插值法或nas模型法来进行重构。以视觉显著性作为用户对视频的关注程度,计算每个视频帧的视觉显著性,并对属于一个视频片段的所有帧求均值,之后进行归一化作为每个视频片段的受关注程度。其他个性化的用户兴趣度量标准同样适用于本发明。
[0109]
首先进行面向集合的视频切块缓存决策,依据决策结果模拟缓存信息,之后进行整个播放过程的模拟。客户端以流媒体形式按顺序向代理服务器请求视频片段。代理服务器收到请求后,改写请求,向指定的边缘服务器请求未缓存的低分辨率视频切块(第二视频片段切块)集合。边缘服务器发送集合,代理服务器收到切块后,利用两种超分辨率方法将低分辨率切块重构为高分辨率切块。得到所有的高分辨率切块后,代理服务器将其拼接为整个视频片段,之后传输给客户端。实验测评标准为用户观看视频的质量和视频播放的总卡顿时长。实验结果表明,本方法能够在保证视频质量的同时减少播放过程中的总卡顿时长。
[0110]
本发明中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0111]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:城市低空飞行新选择,飞行汽车成投资新风口! 下一篇:液压机械的制作方法