基于python的⾃适应中值滤波_基于内容的⾃适应视频传输算
法及其应⽤
本⽂内容来⾃LiveVideoStack线上分享第四季第⼆期,由湖北经济学院副教授,胡胜红博⼠为⼤家介绍如何基于内容分析技术,从⽤户需求⾓度标注视频流重要性级别,构建⾃适应流传输策略,实现语义级QoE优化⽬标。
⽂ / 胡胜红
整理 / LiveVideoStack
⼤家好,我是胡胜红,本次议题主要源⾃我攻读博⼠期间的研究课题,在4-5年的研究时间⾥,我对基于内容的视频⾃适应传输策略和优化算法进⾏了深⼊探索,今天借此机会在LiveVideoStack平台与⼤家分享⼀下⾃⼰的研究成果和⼀些⼯程化经验。
本次分享主要由基于内容的⾃适应视频传输简介、系统架构及其优化策略、视频内容分析与分级、⾃适应流传输技术和⾏业现状、相关应⽤等五部分组成。
1. 基于内容的⾃适应视频传输简介
1.1 什么是基于内容的⾃适应视频传输(Content-based Adaptive Video Transmission)?
CBAVT是基于视频内容的特征分析,将视频流中⽤户感兴趣的重要内容⽚段以优化质量⽅式传输,实现语义层QoE最⼤化。主体架构如图1。
学python看谁的视频比较好
图1 CBAVT系统框架
图1中的架构有⼏⼤要素,其中内容描述服务器是指在视频内容传输之前做内容的分析,实时流(Live Streaming)和点播流(Video on Demand)的内容分析⽅式是不⼀样的,在点播流中可以进⾏预分析,将元数据存储在内容描述服务器中便于传输时被决策模块访问;⽽在实时流中边传输边分析,内容分析⼿段往往被简化,防⽌复杂性的计算带来过⼤时延。
内容分级:是在内容传输之前必须做的,即分出内容重要性的级别,可以根据系统的应⽤特点进⾏级别的设置。⼀般分为三个级别:⽤户最感兴趣内容、中等感兴趣内容和最不感兴趣内容。
内容分级完成之后进⾏基于内容的⾃适应传输决策执⾏。这个决策过程被建模为⼀个约束优化模型,优化⽬标是视频质量,⽽约束条件是⽹络环境中可变或不变的性能参数。逻辑的⾃适应策略模型⽆法直接对数据流进⾏操作,实际中会结合现有的⼀些流传输⽅法(如RTSP、RTMP、DASH、HLS等),对实际数据包进⾏时域或空域的操作(丢帧、码流切换),使得码流在传输过程中能够适合不同的传输环境,例如物联⽹、⽆线⽹等⼀些不可靠⽹络环境。
1.2 主要关键词的介绍
视频分析:利⽤机器学习⽅法或深度学习⽅法提取视频特征,此过程如果是在点播(VoD)的环境下⼿⼯标注也可以。视频分析不属于流视频分析:
传输的范畴,是属于机器学习或者视频检索领域,近年来深度学习技术在图像和视频语义分析领域取得了巨⼤成功,有许多成果可被利⽤。国际上⼀般使⽤MPEG-7标准管理多媒体元数据的存储和访问。
内容分级:基于领域知识或者⽤户偏好对视频内容进⾏重要性分级,不同的系统要根据不同的应⽤⽬标做内容分级。
内容分级:
效⽤优化:在⽹络约束或者⽆线⽹络不稳定情况下,流传输相关的视频参数如帧率、码率等的改变对⽤户QoE的影响效果,可以通过⼀些效⽤优化:
拟合⽅法进⾏建模。
实时流传输:是⼀些标准的传输流技术,所有的视频流操作都离不开这些标准,⾃适应视频传输技术必须依赖实时流传输技术实现信号层实时流传输:
操作,包括RTP/RTSP、RTMP、HLS、DASH等标准。
语义级的QoE:传统的QoE是Quality of Experience,即⽤户对所播放视频的主观体验及⽤户对视频内容的认可度,换⽽⾔之就是与⽤户语义级的QoE:
语义相关的需求(即⽤户观看的信息理解、兴趣和情感等⽅⾯)是否被有效满⾜。
2. 视频内容分析与分级
图2 视频内容分析任务
CBAVT系统的⾸要任务是视频内容分析。通常,视频内容分析分为⾼层、中层、低层三个层次,中层和低层可⽤的内容合并为中低层内容分析。⾼层语义分析可以利⽤我们熟知的领域知识,例如⾜球视频、⾳乐视频、电影、⾃拍视频(以个⼈为中⼼的视频)等等。
语义内容分析中有⼏个容易被利⽤的特征。其中,情感特征容易反映观看者的情绪变换,例如电影视
频中不同情节的情感,可以使⽤⾃动或⼿动⽅式对视频情感特征进⾏标注。⽽对象特征可以指电影视频或⾃拍视频都会存在的主⾓,与主⾓有关的动作和场景都是⽐较重要的,或者监控视频中的被关注对象。⾼层语义分析的通⽤性并不是很强,不同⽤户和不同领域对语义的要求有很⼤的差异,因此要结合具体应⽤⽽论。
中低层语义分析特征⽐较通⽤化,其中注意⼒特征指眼动或者⼈对视频中出现的运动变化产⽣的关注,此领域有许多成果可以被利⽤。运动特征作为视频内容精彩与否的重要表征量,⽐较通⽤化,因此早期基于内容的⾃适应视频传输策略都是基于运动特征的。声⾳特征对情感的表达⾮常敏感,所以声⾳特征可以⽤来对情感内容进⾏识别和标注,除此之外还有纹理特征等等。
3. 视频内容分析和标注实例
3.1 利⽤运动对内容进⾏分级
图3 运动特征分析
以早期我的⼀篇论⽂来作为介绍,我们对画⾯内任何宏块都可以提取运动幅值和运动⽅向作为运动特征,⽬前运动特征的提取可以达到实时化。图3将12个标准测试视频划分为3个不同的运动级别:低速运动(low speed级别的视频流),中速运动(Medium speed 运动)、⾼速运动(high speed运动,例如踢⾜球的运动)。图中可以看出,在同样码率的情况下,⾼速运动的质量会⾮常低,因此在码流切换的时候应尽可能在⾼速运动时切换为⾼码率的传输。图3中第四个视频为低速运动,第五个视频为⾼速运动,第六个视频为中速运动,第七个视频为⾼速运动。在得到运动有关的分类之后,即可把视频分为低速运动、中速运动、⾼速运动三类。三种不同的运动在不同码率下对应的视频质量可以拟合出⼀条曲线,即根据码率值、⽬标质量和运动特征值进⾏回归分析,得到⼀个⽬标值的拟合函数。该⽬标值函数得到之后即可以代⼊优化模型。
3.2 如何在语义层进⾏内容分级
图4 精彩事件分析
以娱乐性较强的⾜球视频为例,通常观众看球最喜欢看进球和回放画⾯的,这种视频⽚段可以进⾏⾃动识别和标注,相应算法识别率可以达到百分之百。除此之外,还有⼀些重要的犯规、射门等⽤户感兴趣⽚段,识别率也可以达到百分之九⼗以上。
假设把视频的运动强度、镜头切换率(固定时间窗⼝内镜头切换的快慢)以及声⾳能量三个特征参数
融合为⼀条曲线,即可得到精彩度曲线,峰值区域就是精彩事件。对精彩度曲线可设置阈值,⼤于该阈值即可设置为精彩事件,进⽽对被传输视频内容进⾏分级。
3.3 电影视频或者个⼈⾃拍视频
图5 个性化情感分析
情感作为语义层分级的最⾼级或者作为⾼于语义层单独称为情感层,是视频分析的最⾼层任务。该类视频是表演者情感和观众情感的融合,即观众喜欢看何种情感的视频,就对相应情感的⽚段进⾏优化。
由于近⼏年深度学习技术在计算机视觉领域的⼴泛应⽤,情感识别的准确率提升很明显。例如应⽤Resnet-50提取深度卷积特征,应⽤⽀持向量机(SVM)分6类基本情感的概率值作为视频的⼀个特征量。以镜头为单元,⼀般同⼀镜头的情感是相似的,在连续时间域内计算两两镜头之间的距离,平均后可以得到⽤户的偏好强度。
例如⽤户为⼥⽣则会喜欢情感性⽐较强的电影,⽐如泰坦尼克号或者再见前任等;⽤户为男⽣⼀般会喜欢功夫熊猫、速度与激情等⼀系列的电影。
4. 优化策略模型
图6 基于内容的⾃适应传输优化模型
图6是⼀个多维背包问题,逻辑上将视频看作⼀个个时间域上连续排列的独⽴单元,每个单元可能是⼀个帧或者⽚段,已被标注相应的级别值。在满⾜当前的约束条件下(如带宽、帧率或者码率等),保证被传输单元的所有级别值的总和最⼤化即可。显然做⼀个多维背包问题很困难⽽且耗时,但在实际使⽤中却没那么复杂,⽐如在丢帧的情况下,每次只能丢⼀帧,该背包问题则成为⼀维背包问题;如果是多⽚段的编码流,在服务器上只有有限版本的码流情况下,则成为有限背包问题。
4.1 标注流传输单元
语义分级或者语义标签标注在流传输单元上,视频流结构决定标注粒度,以下为⼏种标注流传输单元:
(1)包级:IP包是独⽴的传输单元,主要是⼀种⽹络解决⽅案。
(2)帧级:在视频传输中帧是独⽴的编解码单元,⼀个帧⾄少要包含在⼀个包⾥⾯,保证帧在传输过程中是安全的,否则解码后会出现马赛克。
(3)⽚段级:当传输单元是⼀个⽚段时,即传输单元是⼀个Segment或者Chunk,包含多个帧,但起始帧⼀定是关键帧,否则切换时⽆法解码。
图7 与流传输单元相关的语义标注值
如图中,虚框表⽰逻辑上的标注,语义标签可标注在帧上,也可以标注在⽚段上,具体依据不同的流传输系统⽽定。
5. ⾃适应流传输技术
5.1 实时流传输实现:基于RTP/RTSP
图8 RTSP丢帧操作
标注完成之后进⾏丢帧操作,⼀般情况下在实时流中丢弃⼀定⾮参考帧,可以将码率降低50%~30%,同时也能够保证解码时不出错。丢多少帧可由内容的级别决定,级别越⾼的内容丢帧越少,级别低的帧不能丢P帧,因为会出现明显的卡顿。
5.2 实时流传输实现:基于DASH码流切换
图9 码流切换操作

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。