一种基于强化学习的自适应全景视频传输方法及系统

文档序号:833898 发布日期:2021-03-30 浏览:9次 >En<

阅读说明:本技术 一种基于强化学习的自适应全景视频传输方法及系统 (Self-adaptive panoramic video transmission method and system based on reinforcement learning ) 是由 潘宇轩 胡欣珏 刘雨 张琳 于 2020-11-24 设计创作,主要内容包括:本发明公开了一种基于强化学习的自适应全景视频传输方法及系统,用户观看全景视频前,下载深度学习模型,在正式观看全景视频时,客户端收集用户观看信息,通过预测用户在未来观看的内容,使用强化学习模型灵活根据带宽自适应选择获取预测内容所在瓦片的质量等级,对于需求更高的内容优先选择获取更高的质量,当相应的编码文件由远端视频服务器传输到用户所在的客户端后,客户端进行解码并播放给用户,满足用户的观看需求。(The invention discloses a self-adaptive panoramic video transmission method and a system based on reinforcement learning.)

一种基于强化学习的自适应全景视频传输方法及系统

技术领域

本发明涉及全景视频技术领域,尤其涉及一种基于强化学习的自适应全景视频传输方法及系统。

背景技术

全景视频是一种用3D摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节视频上下左右进行观看。

用户在观看全景视频的时候,对于视频质量的损失非常敏感,因此有必要在用户观看全景视频时保证视频质量QoE(Quality of Experience,视频质量,或者体验质量)。此外,全景视频的传输本身需要大量带宽,用户的观看需求就对网络资源提出了极大要求,网络将变得不堪重负。在此情形下,如何设计全景视频的传输方式,节约网络资源并提高用户的QoE是一个亟待解决的问题。

现有技术方案主要从客观的视频质量评价指标出发实现方案的改进,很少考虑用户主观对于全景视频的感受方式,而这种主观的感受方式实际上会产生全景视频内容上的冗余。通过衡量用户主观感受的特点,有针对性地处理全景视频的内容,去除视频内容冗余,将节省大量网络带宽,并提高用户QoE。针对普通视频主观质量感受的问题,即非360度全景视频中的最低可察觉损失处理得到了大量研究,但在360全景视频领域还处于初步探索的阶段。目前较为先进的是基于物体检测衡量用户主观感受的方案,认为用户会对视频中处于画面中心的物体的清晰度等质量有更高要求。在检测到中心物体后,从空间维度将360度全景视频切分为多个瓦片(Tile),将检测物体和其他内容分别提取出来。瓦片以多个等级进行编码,终端根据当前视口(FOV,Field of View,视场)的范围根据网络带宽,使用线性规划等优化算法自适应地选择视频的质量等级,对于检测物体所在的瓦片,在传输的过程中优先传输更高的编码质量的版本。从而这一方案能够在有限网络资源下,提升用户的QoE,但物体检测只能实现常见物体的提取,不适用于不同类型的全景视频,且当存在快速移动的物体时可能无法及时识别而削弱算法的效果。

因此,现有技术还有待于改进和发展。

发明内容

本发明的主要目的在于提供一种基于强化学习的自适应全景视频传输方法及系统,旨在解决现有技术中已有的全景视频的传输方式无法提供高质量视频给用户观看的问题。

为实现上述目的,本发明提供一种基于强化学习的自适应全景视频传输方法,所述基于强化学习的自适应全景视频传输方法包括如下步骤:

远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果;

远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果;

远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器;

客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容;

客户端获得视频内容后,对视频内容进行解码、瓦片拼接和渲染,将画面呈现给用户。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果,具体包括:

远端视频服务器读取存储的视频文件,按时间顺序进行分段处理;

远端视频服务器调用光流法神经网络,将分段后的视频输入到光流法神经网络,输出光流法检测结果;

远端视频服务器根据光流法检测结果,得到视频内容相对运动速度和相对景深,通过量化得到最低可察觉损失,计算当前视频质量,减去最低可察觉损失得到实际的视频质量的数值结果。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果,具体包括:

远端视频服务器将视频段在空间上分割为预设区域大小的矩形基本瓦片;

计算每一个矩形基本瓦片的质量增长效率;

对矩形基本瓦片进行聚类操作,将相邻的矩形基本瓦片合成为指定数量的最终需要传输给用户的瓦片;

将分割得到的瓦片进行HEVC编码,使得每个瓦片分配多个不同等级的编码质量;

使用属性文件记录编码结果的信息。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述质量增长效率为采用最高级编码和最低级编码时基本瓦片的视频质量数值之差除以最高级编码和最低级编码对应的量化参数之差。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器,具体包括:

远端视频服务器初始化深度学习网络,为网络状态赋随机初值,并将反馈函数置为0;

读取网络带宽数据集中的带宽数据,更新网络状态;

网络决策器根据网络状态确定选择瓦片质量水平的决策,确认传输何种版本的瓦片编码文件给用户;

网络判决器根据网络决策器的选择,依据网络状态计算反馈函数的值;

判断反馈函数是否大于0,若否,则表示决策不适合当前网络状态,继续读取网络带宽数据集中的带宽数据,更新网络状态,若是,则表示决策对当前状态有增益;

若反馈函数大于0,则依据反馈函数值和决策反向传播更新网络决策器的网络参数,训练轮数加一;

判断训练轮数是否达到预设数值,若否,则网络需要继续训练,继续读取网络带宽数据集中的带宽数据,更新网络状态;

若训练轮数达到预设数值,则训练结束,保存网络决策器的参数作为强化学习的模型参数。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容,具体包括:

客户端通过网络连接到远端视频服务器,并下载深度学习模型,在客户端将深度学习模型进行预加载;

客户端收集用户观看信息;

根据用户观看信息,使用线性回归算法进行用户视点预测,计算用户下一步观看位置所在瓦片的索引和最低可察觉损失;

将预测结果及当前的带宽数据等输入到深度学习模型中,运行模型确定需要获取的瓦片数据的质量水平;

客户端根据质量水平预测结果,向远端视频服务器发送HTTP格式的对应数据获取请求。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述客户端获得视频内容后,对视频内容进行解码、瓦片拼接和渲染,将画面呈现给用户,具体包括:

远端视频服务器接受客户端响应后发送视频数据,客户端接收数据包;

客户端将数据包中包含的视频编码文件送入系统缓存;

将数据包中的属性文件取出,解析属性文件中包含的瓦片位置信息;

根据属性文件中得到的信息,对编码的数据进行解码,得到原始的瓦片数据文件;

将瓦片拼接形成完整的视频画面,送入观看设备中进行渲染,向用户呈现出供观看的全景视频内容。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述编码结果的信息包括:量化参数、分辨率和瓦片在整个画面中的位置。

可选地,所述的基于强化学习的自适应全景视频传输方法,其中,所述用户观看信息包括:观看位置、网络带宽和视频质量。

此外,为实现上述目的,本发明还提供一种基于强化学习的自适应全景视频传输系统,其中,所述基于强化学习的自适应全景视频传输系统包括:

远端服务器和客户端,所述客户端通过网络和所述远端视频服务器建立连接;

远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果;

远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果;

远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器;

客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容;

客户端获得视频内容后,对视频内容进行解码、瓦片拼接和渲染,将画面呈现给用户。

本发明通过远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果;远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果;远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器;客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容;客户端获得视频内容后,对视频内容进行解码、瓦片拼接和渲染,将画面呈现给用户。本发明通过预测用户在未来观看的内容,使用深度学习模型灵活根据带宽自适应选择获取预测内容所在瓦片的质量等级,对于需求更高的内容优先选择获取更高的质量,当相应的编码文件由远端视频服务器传输到用户所在的客户端后,客户端进行解码并播放给用户,满足用户的观看需求。

附图说明

图1是本发明基于强化学习的自适应全景视频传输方法的较佳实施例的流程图;

图2是本发明基于强化学习的自适应全景视频传输方法的较佳实施例中步骤s101的流程图;

图3是本发明基于强化学习的自适应全景视频传输方法的较佳实施例中步骤s102的流程图;

图4是本发明基于强化学习的自适应全景视频传输方法的较佳实施例中步骤s103的流程图;

图5是本发明基于强化学习的自适应全景视频传输方法的较佳实施例中步骤s104的流程图;

图6是本发明基于强化学习的自适应全景视频传输方法的较佳实施例中步骤s105的流程图;

图7是本发明基于强化学习的自适应全景视频传输系统的较佳实施例的原理示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的基于强化学习的自适应全景视频传输方法,如图1所示,所述基于强化学习的自适应全景视频传输方法包括以下步骤:

步骤s101、远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果。

具体的过程请参阅图2,其为本发明提供的台标调整方法中步骤s101的流程图。

如图2所示,所述步骤s101包括:

s201、远端视频服务器读取存储的视频文件,按时间顺序进行分段(chunk)处理,默认为1秒/段;

s202、远端视频服务器调用光流法神经网络,将分段后的视频输入到光流法神经网络,输出光流法检测结果;

s203、远端视频服务器根据光流法检测结果,得到视频内容相对运动速度和相对景深,通过量化得到最低可察觉损失(Optical flow based Just-NoticeableDistortion,OJND),计算当前视频质量,减去最低可察觉损失(OJND)得到实际的视频质量的数值结果。

其中,光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度;光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。

光流法神经网络是一种卷积神经网络(CNN,Convolutional Neural Networks),卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习(deeplearning)的代表算法之一;卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类。

步骤s102、远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果。

具体的过程请参阅图3,其为本发明提供的台标调整方法中步骤s102的流程图。

如图3所示,所述步骤s102包括:

s301、远端视频服务器将视频段在空间上分割为预设区域大小(区域较小)的矩形基本瓦片(例如12×24个);

s302、计算每一个矩形基本瓦片的质量增长效率;其中,所述质量增长效率为采用最高级编码和最低级编码时基本瓦片的视频质量数值之差除以最高级编码和最低级编码对应的量化参数(Quality Parameter,QP)之差;

s303、对矩形基本瓦片进行聚类操作,将相邻的矩形基本瓦片合成为指定数量的最终需要传输给用户的瓦片;其中,聚类的算法通过最小化瓦片中包含的基本瓦片质量增长效率总方差之和的形式实现;

s304、将分割得到的瓦片进行HEVC(High Efficiency Video Coding,高效率视频编码,是一种新的视频压缩标准)编码,使得每个瓦片分配多个不同等级的编码质量,以满足客户端的需要;

s305、使用属性文件记录编码结果的信息,例如量化参数、分辨率、瓦片在整个画面中的位置等信息。

步骤s103、远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器。

具体的过程请参阅图4,其为本发明提供的台标调整方法中步骤s103的流程图。

如图4所示,所述步骤s103包括:

s401、远端视频服务器初始化深度学习网络,为网络状态赋随机初值,并将反馈函数置为0;

s402、读取网络带宽数据集中的带宽数据,更新网络状态;

s403、网络决策器根据网络状态确定选择瓦片质量水平的决策,即确认传输何种(哪个)版本的瓦片编码文件给用户;

s404、网络判决器根据网络决策器的选择,依据网络状态计算反馈函数的值;

s405、判断反馈函数是否大于0,若否,则证明决策不适合当前网络状态,返回继续执行步骤s402;若是,则表示决策对当前状态有增益,继续执行步骤s406;

s406、依据反馈函数值和决策反向传播更新网络决策器的网络参数,训练轮数加一;

s407、判断训练轮数是否达到预设数值,若否,则网络需要继续训练,返回继续执行步骤s402;若是,继续执行步骤s408;

s408、若训练轮数达到预设数值,则训练结束,保存网络决策器的参数作为强化学习的模型参数。

步骤s104、客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容。

具体的过程请参阅图5,其为本发明提供的台标调整方法中步骤s104的流程图。

如图5所示,所述步骤s104包括:

s501、客户端(用户使用观看设备作为客户端)通过网络连接到远端视频服务器,并下载深度学习模型,在客户端将深度学习模型进行预加载;

s502、客户端收集用户观看信息,例如观看位置、网络带宽、视频质量等信息;

s503、根据用户观看信息,使用线性回归算法(线性回归就是能够用一个直线较为精确地描述数据之间的关系,这样当出现新的数据的时候,就能够预测出一个简单的值)进行用户视点预测,计算用户下一步观看位置所在瓦片的索引和最低可察觉损失;

s504、将预测结果及当前的带宽数据等输入到深度学习模型中,运行模型确定需要获取的瓦片数据的质量水平;

s505、客户端根据质量水平预测结果,向远端视频服务器发送HTTP格式的对应数据获取请求。

步骤s105、客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容。

具体的过程请参阅图6,其为本发明提供的台标调整方法中步骤s105的流程图。

如图6所示,所述步骤s105包括:

s601、远端视频服务器接受客户端响应后发送视频数据,客户端接收数据包;

s602、客户端将数据包中包含的视频编码文件送入系统缓存;

s603、将数据包中的属性文件取出,解析属性文件中包含的瓦片位置信息;

s604、根据属性文件中得到的信息,对编码的数据进行解码,得到原始的瓦片数据文件;

s605、将瓦片拼接形成完整的视频画面,送入观看设备中进行渲染,向用户呈现出供观看的全景视频内容。

本发明中,对用户主观感受进行建模,发现360度全景视频中用户感兴趣的区域(RoI,region of interest)是整个视频画面内容的一小部分,对运动内容、前景内容有更高的质量需求。

本发明在此基础上搭建了一个基于强化学习的全景视频传输的系统框架,首先远端视频服务器使用光流检测对全景视频进行分析,提取出视频内容的运动速度和景深的信息,使用最低可察觉损失量化这些信息,计算考虑用户主观质量感受的视频评价指标的数值,以评价指标作为分割瓦片的参照,将需要传输的360度全景视频进行分割,用户需求更高的内容和其他内容分别划分为单独的瓦片,每一个视频瓦片都被HEVC编码器压缩为不同质量等级的视频文件,同时针对这一视频在远端视频服务器训练深度学习中的深度学习模型,用于实现瓦片的自适应质量选择,用户观看全景视频前,首先下载深度学习模型,在正式观看全景视频时,客户端头戴式设备等收集用户观看信息,通过预测用户在未来观看的内容,使用深度学习模型灵活根据带宽自适应选择获取预测内容所在瓦片的质量等级,对于需求更高的内容优先选择获取更高的质量,当相应的编码文件由服务器端传输到用户所在的客户端后,客户端进行解码并播放给用户,满足用户的观看需求。

进一步地,如图7所示,基于上述基于强化学习的自适应全景视频传输方法,本发明还相应提供了一种基于强化学习的自适应全景视频传输系统,其中,所述基于强化学习的自适应全景视频传输系统包括:

远端服务器和客户端,所述客户端通过网络和所述远端视频服务器建立连接;远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果;远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果;远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器;客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容;客户端获得视频内容后,对视频内容进行解码、瓦片拼接和渲染,将画面呈现给用户。

本发明建立了与DASH(Dynamic Adaptive Streaming over HTTP)协议和边缘计算兼容的全景视频传输框架,采用基于卷积神经网络(CNN)的光流估计方法,精确提取各像素点的相对速度和景深,量化用户对全景视频播放质量失真的感知程度,提出了考虑用户主观感受的360°视频质量评价指标,提出了一种多尺寸的瓦片分割方案,将具有相似质量的内容分配到同一个瓦片下,并使用强化学习网络作为瓦片自适应比特率(Adaptive BitRate,ABR)选择的工具。

综上所述,本发明提供一种基于强化学习的自适应全景视频传输方法及系统,所述方法包括:远端视频服务器对视频内容进行分析,使用光流法获取视频内容的运动速度和景深,得到视频质量的数值结果;远端视频服务器根据视频质量进行瓦片分割,采用二维聚类算法将视频从空间上分为规定数目的不同尺寸的瓦片,对瓦片进行不同质量等级的编码,获得多个质量版本的编码结果;远端视频服务器根据存储的带宽数据和多个质量版本的编码结果训练深度学习模型,并将深度学习模型作为瓦片自适应质量选择器;客户端下载并在本地运行深度学习模型,收集来自用户设备的全景视频观看信息,通过视点预测获取用户在未来观看的视场区域内包含的瓦片范围,依照深度学习模型对于质量的选择结果,向远端服务器请求并获取相应的视频内容;客户端获得视频内容后,对视频内容进行解码、瓦片拼接和渲染,将画面呈现给用户。本发明通过预测用户在未来观看的内容,使用深度学习模型灵活根据带宽自适应选择获取预测内容所在瓦片的质量等级,对于需求更高的内容优先选择获取更高的质量,当相应的编码文件由远端视频服务器传输到用户所在的客户端后,客户端进行解码并播放给用户,满足用户的观看需求。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种视频融合方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类