基于内容的自适应视频传输算法及其应用

基于内容的自适应视频传输算法及其应用

本文内容来自LiveVideoStack线上分享第四季第二期,由湖北经济学院副教授,胡胜红博士为你们介绍如何基于内容分析技术,从用户需求角度标注视频流重要性级别,构建自适应流传输策略,实现语义级QoE优化目标。

文 / 胡胜红java

整理 / LiveVideoStack算法

你们好,我是胡胜红,本次议题主要源自我攻读博士期间的研究课题,在4-5年的研究时间里,我对基于内容的视频自适应传输策略和优化算法进行了深刻探索,今天借此机会在LiveVideoStack平台与你们分享一下本身的研究成果和一些工程化经验。缓存

本次分享主要由基于内容的自适应视频传输简介、系统架构及其优化策略、视频内容分析与分级、自适应流传输技术和行业现状、相关应用等五部分组成。安全

1. 基于内容的自适应视频传输简介

1.1 什么是基于内容的自适应视频传输(Content-based Adaptive Video Transmission)?

CBAVT是基于视频内容的特征分析,将视频流中用户感兴趣的重要内容片断以优化质量方式传输,实现语义层QoE最大化。主体架构如图1。服务器

基于内容的自适应视频传输算法及其应用

图1 CBAVT系统框架网络

图1中的架构有几大要素,其中内容描述服务器是指在视频内容传输以前作内容的分析,实时流(Live Streaming)和点播流(Video on Demand)的内容分析方式是不同的,在点播流中能够进行预分析,将元数据存储在内容描述服务器中便于传输时被决策模块访问;而在实时流中边传输边分析,内容分析手段每每被简化,防止复杂性的计算带来过大时延。架构

内容分级:是在内容传输以前必须作的,即分出内容重要性的级别,能够根据系统的应用特色进行级别的设置。通常分为三个级别:用户最感兴趣内容、中等感兴趣内容和最不感兴趣内容。框架

内容分级完成以后进行基于内容的自适应传输决策执行。这个决策过程被建模为一个约束优化模型,优化目标是视频质量,而约束条件是网络环境中可变或不变的性能参数。逻辑的自适应策略模型没法直接对数据流进行操做,实际中会结合现有的一些流传输方法(如RTSP、RTMP、DASH、HLS等),对实际数据包进行时域或空域的操做(丢帧、码流切换),使得码流在传输过程当中可以适合不一样的传输环境,例如物联网、无线网等一些不可靠网络环境。机器学习

1.2 主要关键词的介绍

视频分析:利用机器学习方法或深度学习方法提取视频特征,此过程若是是在点播(VoD)的环境下手工标注也能够。视频分析不属于流传输的范畴,是属于机器学习或者视频检索领域,近年来深度学习技术在图像和视频语义分析领域取得了巨大成功,有许多成果可被利用。国际上通常使用MPEG-7标准管理多媒体元数据的存储和访问。ide

内容分级:基于领域知识或者用户偏好对视频内容进行重要性分级,不一样的系统要根据不一样的应用目标作内容分级。

效用优化:在网络约束或者无线网络不稳定状况下,流传输相关的视频参数如帧率、码率等的改变对用户QoE的影响效果,能够经过一些拟合方法进行建模。

实时流传输:是一些标准的传输流技术,全部的视频流操做都离不开这些标准,自适应视频传输技术必须依赖实时流传输技术实现信号层操做,包括RTP/RTSP、RTMP、HLS、DASH等标准。

语义级的QoE:传统的QoE是Quality of Experience,即用户对所播放视频的主观体验及用户对视频内容的承认度,换而言之就是与用户语义相关的需求(即用户观看的信息理解、兴趣和情感等方面)是否被有效知足。

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 码流切换操做

码率切换的一个优势是不会出现卡顿。缺点是若是码率切换太频繁,就会出现用户对质量的焦虑感,由于码率从低到高的切换用户比较容易接受,反之就会比较难接受。所以根据内容重要性级别在不一样质量码流间切换时,还要考虑缓存分配,能够给高码率的视频预留一些缓存,这样高速运动的视频传输时能够尽可能调高码率。综合应用网络资源分配优化传输质量是一个比较好的策略。

5.3 视频流质量评价

在实时的传输过程当中,须要对传输质量进行评估,以评判自适应传输算法是否有效,包括客观质量、语义级QoE两种评判方法。

目前对视频客观质量的评价标准有如下几种方法:

  • PSNR:最先传统的方法,是基于像素值失真的度量。
  • SSIM:基于结构失真的度量,与PSNR相比更敏感,每每PSNR不明显时SSIM更明显。
  • VQM:基于感知域失真的度量,是经过人能够感知运动、纹理等事物的参数的度量来评价视频的质量,不少现有的方法广泛认为VQM更符合人眼的质量感知(但就我认为,VQM是作加权平均值,每每比较模糊,存在偏差,某些状况下偏差会更大。)
  • VMAF:基于机器学习模型的失真度量,缺点是运行时间比较长,但准确度与PSNR、SSIM相近。

5.3.1 SSIM客观质量评价

基于内容的自适应视频传输算法及其应用

图10 客观质量评价

分别对四种电影视频进行BA(基于缓存的自适应方法)、PANDA(基于带宽的自适应方法)、CDASH(基于内容的自适应传输方法)三种质量评价以后,从图10中能够看出对于电影视频是颇有效的,由于电影视频中一部分是低速运动,一部分是高速运动,因此低速运动(低码率传输)能够为高速运动(高码率传输)片断预留缓存时间,所以效果很好。可是在Bigbunny(动画片)中,运动的级别都相近,一部分是低速运动一部分是中速运动。Timber(音乐剧),大部分都在跳Disco,因此运动级别很是高,大部分视频内容都是高级别运动,没法预留缓存时间,所以算法的效果不是很好。

5.4 语义级QoE

要作到了解用户的语义需求是否被知足,则须要作一些用户调查,能够设置模板或者问卷,让用户进行回答,例如如下几点:

  • 用户关注的运动内容是否平滑清晰
  • 用户关注的进球事件是否完好无损失
  • 用户关注的情感内容是否完好无损失
  • 用户关注的教学内容是否清晰可读
  • 用户关注的对象是否清晰可识别

5.4.1 语义级QoE评价

基于内容的自适应视频传输算法及其应用

图11 主观质量评价

最后发现用户的回答是符合评价需求的。

6. 基于实时流传输技术实现

(1)跨层控制:基于包的控制

把语义层的特征放到信号层,在信号层与IP包自身所带协议的标头进行设置,利用MPLS(多标签路由)、802.11e(提供不一样几率的转换机制)、SDN实现基于丢包/选择路由等操做对分级视频数据包进行操做。

(2)链路控制(又称丢帧控制)

链路控制基于GoP结构保证关键帧和P帧的顺序,再丢弃必定比率的非关键帧能够下降码率,但实际应用有局限性,通常状况下只能下降30%左右码率,再大了就会致使明显的卡顿。

(3)切换控制

切换控制是基于HTTP协议,丢帧或丢包的几率不大,是基于码流切换的策略,会形成卡顿或者黑屏。

7. 行业现状、相关应用

7.1 足球视频Highlight传输

基于内容的自适应视频传输算法及其应用

图12 面向足球视频点播的CBAVT系统

将足球视频内容分为0、一、2三个精彩度级别,2为最高优先级,1是中等,0是带球等普通场景,标注后与视频自己的GoP结合在一块儿实现RTP分包的发送,进行相应丢包操做,监控网络状态能够用RTCP包。

7.2 视频情感内容自适应传输

基于内容的自适应视频传输算法及其应用

图13 面向电影视频流的情感自适应系统

把情感特征与MPD文件关联在一块儿,在传输以前读取相关情感特征,而后与用户历史观看视频的情感特征比对获得视频分级的标注,输入到客户端的决策模块中,客户端的决策模块决定下载何种比特流,发送HTTP请求,在服务器上下载对应的视频片断便可。该模型实如今DASH标准客户端,有两个版本,一个是java版本,另外一个是VC版本。

目前实际应用中的自适应视频流传输更多的是利用信号层参数优化传输,而对于视频内容特别是语义层的关注相对比较少,主要缘由可能在于作视频流传输的人员可能没作过视频分析或者视频检索相关工做,关注度不够;另外因为要考虑时延问题,会以为内容分析时延较大知足不了实时任务,但实际上应该多尝试一些办法下降时延,能够经过边缘节点的代理或者配置来提升各类文件的读取,做为任何一个特征文件,其实能够共享。

相关文章
相关标签/搜索