读 2018年IEEE/ACM TON论文
LBP:Robust Rate Adaptation Algorithm for SVC Video Streaming
Tip:思考问题的流程
1.视频流
视频流是指视频数据的传输,例如,它能够被作为一个稳定的和连续的流通过网络处理。因为流动,客户机浏览器或插件能够在整个文件被传输完成前显示多媒体数据。视频流技术基于 **技术,视频译码技术和可升级的视频分发技术发展
视频流(自适应算法)
2.关于视频流的编码
2.1 AVC编码和SVC编码来源
简单来说:国际电信联盟(ITU)的视频编码专家组(VCEG)和国际标准化组织(ISO)的运动图像专家组(MPEG)共同开发的H.264 / MPEG-4 Part 10,我们习惯称为AVC(通信领域的人倾向于将AVC称为H.264,而广播影音娱乐领域的人则倾向于将其称为AVC或MPEG-4)。后来人们对于H.264进行扩展,后来人们习惯将扩展的部分称为SVC,将原来的部分称为AVC。
2.2 AVC和SVC的区别
视频流(自适应算法)
AVC的各块之间相互独立,根据不同的清晰度下载不同的块进行缓存播放;而SVC各块之间相互关联,各层之间相互渲染,高清晰度是在低清晰度的基础上渲染得到。
3. 鲁棒性介绍
鲁棒性就是系统的稳定性和稳健性。指的是系统是否可以在一个不稳定的情况下是否还可以继续保持其原有特性。
4. 自适应算法
4.1 提出问题
针对两个地点间的带宽的不稳定性,提出是否可以根据用户行走的路线信息,通过相同路线的其他用户测量的众包信息预测接下来的带宽,根据剩余带宽得到关于缓存视频流的块与层的最优解。
总结来说就是:利用未来带宽制定自适应SVC视频流。针对这个想法再分为跳过流(到最后期限未缓存的可以跳过)和不跳过流(到最后期限未缓存的块不可以跳过)
4.2 系统模型
视频流(自适应算法)客户端:根据层大小,缓冲区大小,带宽预测,启动延时这些约束条件,经过LBP算法得到视频流块和层的最优解,再将块和层的需求返回到服务器。
服务器:服务器此时已经将视频编码成SVC编码,根据客户端发来的需求将相应的块和层下载到客户端的缓冲区。
客户端:播放视频时,只需要将相应的视频块从缓冲区读出,经过解码后,在视频播放器中播放。
4.3 基于跳过流LBP算法
根据用户需求提出优先级:最小化跳过数量(第一优先级)、最大化平均视频播放率(第二优先级)、最小化相邻块间质量变化(第三优先级)通过优先级设置公式的权重,分别为跨越时间(横向):后年的块的权重更大(保证最小化跳过数量);跨越层(纵向):低层比高层具有更高效益(保证最小化相邻块间质量变化)。
视频流(自适应算法)
跨越时间:β=1+E(E>0但是非常小,例如:0.001)
跨越层:γ
现在将结果和所有约束条件全部列出来:
视频流(自适应算法)
根据想法,可以得到基于跳过流的LBP算法:
视频流(自适应算法)
后面是对LBP算法的具体介绍:基础层前向算法、基础层后向算法,增强层算法
其中基础层的前向算法是为了后向算法提供最后期限;基础层的后向算法通过约束条件if…else…的判断最终得到块的最优解;增强层同基础层的算法类似,只是增加一个约束条件:低层(m-1)未缓存,则高层(m)也无法缓存。
4.4 优化算法
但是这个算法仍存在问题,如果我们预测的带宽不准确,如果预测的带较高,那么则会跳过许多块;如果预测的带宽较低,那么则会跳过本可以缓存的块。所以提出优化算法:
视频流(自适应算法)
1)每隔一秒预测前方w秒带宽
2)设置较低缓冲区的阈值,缓冲区运行低于此阈值(说明带宽小于预测的值)则层决策减一
4.5 基于不跳过流的LBP算法
找出跳过流和不跳过流的区别:
1)跳过流允许跳过基础层;不跳过流不允许跳过基础层,可以跳过最高层
2)跳过流目的是最小化跳过数量;不跳过流目的是最小化停顿时间
针对跳过流和不跳过流的区别,在跳过流的基础上改变约束条件可以得到基于不跳过流的LBP算法
视频流(自适应算法)

相关文章: