一种基于视点的全景视频自适应流媒体传输方法及系统

文档序号:25094541发布日期:2021-05-18 21:25阅读:109来源:国知局
一种基于视点的全景视频自适应流媒体传输方法及系统

1.本发明涉及全景视频技术领域,尤其涉及一种基于视点的全景视频自适应流媒体传输方法及系统。


背景技术:

2.全景视频是一种用3d摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节视频上下左右进行观看。
3.全景视频的传输需要大量的带宽,但受现实网络条件限制,用户在线观看全景视频时,由于全景视频数据量很大,如果只保障视频播放流畅而降低视频码率,会导致观看视频质量降低;如果只保障观看视频高质量,则容易引起播放卡顿。现有的一种全景视频传输方式是将视频在空间上分成多个瓦片(tile),通过对未来视点的预测,得出在未来可能出现在用户fov(field of view,视野区域)中的tile,并对在fov中的tile和不在fov中的tile进行差别传输,以此来减少传输中网络资源的浪费。但现有方法对视点预测精确度要求很高,在预测不准确或是网络波动出现时,用户qoe(quality of experience,视频质量,或者体验质量)会急剧下降。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.本发明的主要目的在于提供一种基于视点的全景视频自适应流媒体传输方法及系统,旨在解决现有技术中已有的全景视频的传输方式对视点预测精确度要求很高,在预测不准确或是网络波动出现时,用户观看质量急剧下降的问题。
6.为实现上述目的,本发明提供一种基于视点的全景视频自适应流媒体传输方法,所述基于视点的全景视频自适应流媒体传输方法包括如下步骤:
7.服务器端将全景视频在空间上划分成不同的瓦片,将多个瓦片视频编码成全景视频流文件,并对全景视频流文件进行封装和切片处理;
8.客户端依据用户观看全景视频的历史视点信息使用线性回归方法对用户未来观看的视野区域进行预测,并播放预测后的全景视频。
9.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述服务器端将全景视频在空间上划分成不同的瓦片,将多个瓦片视频编码成全景视频流文件,并对全景视频流文件进行封装和切片处理,具体包括:
10.所述服务器端将原始全景视频进行瓦片分割,得到多个瓦片视频;
11.所述服务器端采用预设编码方式将所述多个瓦片视频编码成具有多个码率版本的全景视频流文件;
12.所述服务器端将所述全景视频流文件进行封装和切片处理,生成预设格式的视频文件和记录视频编码配置的mpd文件。
13.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述服务器端将原始
全景视频进行瓦片分割,得到多个瓦片视频,具体包括:
14.所述服务器端将所述原始全景视频进行瓦片分割,将所述原始全景视频在空间上分割为32个瓦片视频。
15.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述服务器端采用预设编码方式将所述多个瓦片视频编码成具有多个码率版本的全景视频流文件,具体包括:
16.所述服务器端通过利用开源编码器采用hevc

mcts编码方式将32个瓦片视频编码成具有多个码率版本的全景视频流文件;
17.所述全景视频流文件的格式包括.h264格式。
18.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述服务器端将所述全景视频流文件进行封装和切片处理,生成预设格式的视频文件和记录视频编码配置的mpd文件,具体包括:
19.所述服务器端通过利用gpac的视频封装工具mp4box将所述全景视频流文件封装为mp4视频格式,并在时间上按间隔1秒的长度切片为m4s格式的视频文件;
20.所述服务器端将得到的m4s格式的视频文件和记录视频编码配置的mpd文件进行存储。
21.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述客户端依据用户观看全景视频的历史视点信息使用线性回归方法对用户未来观看的视野区域进行预测,并播放预测后的全景视频,具体包括:
22.所述客户端向所述服务器端发送获取记录视频编码配置的mpd文件的请求,以获取所述记录视频编码配置的mpd文件;
23.所述客户端通过传感器获取表示用户头部姿态的四元数,所述四元数包括三维空间坐标和角度;
24.所述客户端通过四元数到欧拉角转换公式将四元数转化为俯仰角和偏航角,并以俯仰角和偏航角组成的坐标表示用户观看全景视频时视野的视点;
25.所述客户端通过线性回归模型对俯仰角和偏航角进行回归预测,得到未来视点所在的预测位置;
26.所述客户端计算从当前播放时间起前预设时间所预测的视点俯仰角和偏航角的平均绝对误差;
27.所述客户端计算视野区域范围,视野区域范围以预测的视点为中心的矩形,在下载时仅下载视野区域所涵盖的瓦片;
28.所述客户端使用过去预设时间的加权平均吞吐量作为下一时刻吞吐量的预测值,其中时间越早权重越小;
29.所述客户端使用视野区域中瓦片的平均质量等级、视频空间质量差异和视频时间质量差异的加权和作为目标函数,自适应分配每个瓦片传输的比特率,控制目标函数最大化;
30.所述客户端将下载的瓦片进行拼接,并投射到用户头戴显示器的屏幕上进行播放。
31.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述客户端通过线性回归模型对俯仰角和偏航角进行回归预测,得到未来视点所在的预测位置,具体包括:
32.使用当前时间点之前2秒内所得到的俯仰角和偏航角,采用加权线性回归的方式得到俯仰角随时间变化函数和偏航角随时间变化函数,输入下一时刻的时间点得到下一时刻的俯仰角和偏航角。
33.所述的基于视点的全景视频自适应流媒体传输方法,其中,所述预设时间为3秒;
34.以mae作为预测误差大小的数值评价指标;mae公式如下:
[0035][0036]
其中,x
i
为过去3秒内的某一时刻传感器对视点的测量值,为传感器测量前对该测量值的预测值,n为前三秒用传感器测量头部姿态的总采样数。
[0037]
所述的基于视点的全景视频自适应流媒体传输方法,其中,所述矩形的长和宽分别为两个方向的基础值加上2倍的两个方向各自预测的mae。
[0038]
此外,为实现上述目的,本发明还提供一种基于视点的全景视频自适应流媒体传输系统,其中,所述基于视点的全景视频自适应流媒体传输系统包括:
[0039]
服务器端和客户端,所述客户端通过网络和所述服务器端建立连接;
[0040]
所述服务器端用于将原始全景视频进行瓦片分割,得到多个瓦片视频;采用预设编码方式将所述多个瓦片视频编码成具有多个码率版本的全景视频流文件;将所述全景视频流文件进行封装和切片处理,生成预设格式的视频文件和记录视频编码配置的mpd文件;
[0041]
所述客户端用于向所述服务器端发送获取记录视频编码配置的mpd文件的请求,以获取所述记录视频编码配置的mpd文件;通过传感器获取表示用户头部姿态的四元数,所述四元数包括三维空间坐标和角度;通过四元数到欧拉角转换公式将四元数转化为俯仰角和偏航角,并以俯仰角和偏航角组成的坐标表示用户观看全景视频时视野的视点;通过线性回归模型对俯仰角和偏航角进行回归预测,得到未来视点所在的预测位置;计算从当前播放时间起前预设时间所预测的视点俯仰角和偏航角的平均绝对误差;计算视野区域范围,视野区域范围以预测的视点为中心的矩形,在下载时仅下载视野区域所涵盖的瓦片;使用过去预设时间的加权平均吞吐量作为下一时刻吞吐量的预测值,其中时间越早权重越小;使用视野区域中瓦片的平均质量等级、视频空间质量差异和视频时间质量差异的加权和作为目标函数,自适应分配每个瓦片传输的比特率,控制目标函数最大化;将下载的瓦片进行拼接,并投射到用户头戴显示器的屏幕上进行播放。
[0042]
本发明通过服务器端将全景视频在空间上划分成不同的瓦片,将多个瓦片视频编码成全景视频流文件,并对全景视频流文件进行封装和切片处理;客户端依据用户观看全景视频的历史视点信息使用线性回归方法对用户未来观看的视野区域进行预测,并播放预测后的全景视频。本发明根据历史预测偏离的程度对视野区域适当扩大,对视野区域中的瓦片选择高码率,对非视野区域中的瓦片选择低码率,根据网络条件变化,给不同瓦片动态选择不同码率,以提高视野区域内视频清晰度,减小卡顿情况的出现,能够准确预测用户未来的视野区域,根据用户视野区域和网络条件自适应传输全景视频,能减少带宽资源的浪费,有效提升用户观看质量。
附图说明
[0043]
图1是本发明基于视点的全景视频自适应流媒体传输方法的较佳实施例的流程图;
[0044]
图2是本发明基于视点的全景视频自适应流媒体传输方法的较佳实施例中步骤s10的流程图;
[0045]
图3是本发明基于视点的全景视频自适应流媒体传输方法的较佳实施例中步骤s20的流程图;
[0046]
图4是本发明基于视点的全景视频自适应流媒体传输系统的较佳实施例的原理示意图。
具体实施方式
[0047]
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]
本发明较佳实施例所述的基于视点的全景视频自适应流媒体传输方法,如图1所示,所述基于视点的全景视频自适应流媒体传输方法包括以下步骤:
[0049]
步骤s10、服务器端将全景视频在空间上划分成不同的瓦片,将多个瓦片视频编码成全景视频流文件,并对全景视频流文件进行封装和切片处理。
[0050]
具体的过程请参阅图2,其为本发明提供的台标调整方法中步骤s10的流程图。
[0051]
如图2所示,所述步骤s10包括:
[0052]
s101、所述服务器端将原始全景视频进行瓦片分割,得到多个瓦片视频。
[0053]
具体地,在所述服务器端将原始全景视频进行tile(瓦片)分割,将原始视频在空间上分割为4*8=32个tile(瓦片)。
[0054]
s102、所述服务器端采用预设编码方式将所述多个瓦片视频编码成具有多个码率版本的全景视频流文件。
[0055]
具体地,所述服务器端利用开源的编码器kvazaar(kvazaar是开源hevc编码器,它是用c语言从零开始开发的,kvazaar目标是设计一种模块化,便携式hevc编码器,以最佳的编码速度和资源获得高编码效率),采用hevc

mcts编码方式将步骤s101中得到的多个tile(瓦片)的视频编码成具有多个码率版本(如2mb/s、3mb/s、6mb/s)的全景视频流文件(例如.h264格式文件)。
[0056]
s103、所述服务器端将所述全景视频流文件进行封装和切片处理,生成预设格式的视频文件和记录视频编码配置的mpd文件。
[0057]
具体地,所述服务器端利用gpac(gpac是一个为科研和学术领域开发的多媒体的框架,支持mpeg

4、vrml、x3d、svg、laser等)的视频封装工具mp4box,服务器端将步骤s102编码后的全景视频流文件封装为mp4视频格式,并在时间上按间隔1秒的长度切片为m4s格式的视频文件,将m4s视频文件和记录视频编码配置的mpd文件(.mpd这一扩展名主要与微软项目数据库文件类型有关,它是一种专有的容器类数据库格式,所有项目文件都以关系数据库的形式保存在一个单独的.mpd文件中)储存在服务器端上。
[0058]
步骤s20、客户端依据用户观看全景视频的历史视点信息使用线性回归方法对用
户未来观看的视野区域进行预测,并播放预测后的全景视频。
[0059]
具体的过程请参阅图3,其为本发明提供的台标调整方法中步骤s20的流程图。
[0060]
如图3所示,所述步骤s20包括:
[0061]
s201、所述客户端向所述服务器端发送获取记录视频编码配置的mpd文件的请求,以获取所述记录视频编码配置的mpd文件。
[0062]
s202、所述客户端(头戴显示器,可以播放360度视频)通过传感器获取表示用户头部姿态的四元数,所述四元数包括三维空间坐标和角度。
[0063]
其中,四元数是一个数学概念,包含四个元素的向量,包括xyz三维坐标以及一个角度共四个元素,能够完整的描述三维物体当前的姿态。
[0064]
s203、所述客户端通过四元数到欧拉角转换公式将四元数转化为俯仰角和偏航角,并以俯仰角和偏航角组成的坐标表示用户观看全景视频时视野的视点(中心点)。
[0065]
s204、所述客户端通过线性回归模型(变量和自变量之间的关系近似为直线型的,忽略高阶余项)对俯仰角和偏航角进行回归预测,得到未来视点所在的预测位置。
[0066]
具体实现为使用当前时间点之前2秒内所得到的俯仰角和偏航角的数据,采用加权线性回归的方式作出俯仰角随时间变化函数和偏航角随时间变化函数,输入下一时刻的时间点即可得到下一时刻的俯仰角和偏航角。
[0067]
s205、所述客户端计算从当前播放时间起前预设时间所预测的视点俯仰角和偏航角的平均绝对误差(mae)。
[0068]
具体地,所述预设时间为3秒;以mae作为预测误差大小的数值评价指标;mae公式如下:
[0069][0070]
其中,x
i
为过去3秒内的某一时刻传感器对视点的测量值,为传感器测量前对该测量值的预测值,n为前三秒用传感器测量头部姿态的总采样数。
[0071]
s206、所述客户端计算视野区域范围,视野区域范围以预测的视点为中心的矩形,在下载时仅下载视野区域所涵盖的瓦片。
[0072]
具体地,计算fov范围,fov范围是以预测的视点为中心的矩形,矩形的长
×
宽为110
°×
90
°
;考虑视点预测的不准确性且预测误差可能为正也可能为负,所以长和宽分别为两个方向的基础值加上2倍的两个方向各自预测的mae,在下载时仅仅下载fov所涵盖的tile(瓦片)。
[0073]
s207、所述客户端使用过去预设时间的加权平均吞吐量作为下一时刻吞吐量的预测值,其中时间越早权重越小。
[0074]
具体地,使用过去3秒的加权平均吞吐量作为下一时刻吞吐量的预测值,其中时间越早权重越小,具体的权重分配为:当前时间点前的第3秒内权重为0.1,第2秒内权重为0.3,1秒内权重为0.6。
[0075]
s208、所述客户端使用视野区域中瓦片的平均质量等级、视频空间质量差异和视频时间质量差异的加权和作为目标函数,自适应分配每个瓦片传输的比特率,控制目标函数最大化。
[0076]
具体地,使用fov中的tile平均质量等级(视频质量等级高低直接反映了视频码率高低,码率越高视频越清晰)、视频空间质量差异(视频空间质量差异表示一帧视频的不同位置清晰度的差异,空间质量差异越大沉浸感越低)、视频时间质量差异(视频时间质量差异反应了视频码率切换的频率和幅度,码率切换频率和幅度越大沉浸感越低)来作为影响用户qoe的因素,并以这3个指标的加权和作为qoe目标函数(其中平均质量等级权重为1,空间质量差异和时间质量差异权重都是

0.5);根据s207中所得到的吞吐量预测值,使用穷举的方法自适应分配每个tile传输的比特率,使得在使用资源不超过预测吞吐量的情况下,qoe目标函数达到最大。
[0077]
s209、所述客户端将下载的瓦片进行拼接,并投射到用户头戴显示器的屏幕上进行播放。
[0078]
s210、判断视频是否已经播放完成,如果播放完成则结束,如果没有播放完成,则重复步骤s202

s209。
[0079]
本发明在视点预测时对fov进行自适应扩大(对应步骤s204

s206),能够减少视点预测误差导致的用户qoe下降;使用了qoe驱动的比特率自适应传输方案(s207

s208),能够使得用户qoe最大化。
[0080]
本发明在服务器端将全景视频在空间上划分成不同的tile,并依据动态自适应流媒体传输技术(dash)在时间上对视频进行切割,并编码为多种比特率版本;在客户端依据用户观看全景视频的历史视点信息使用线性回归方法对该用户未来观看的fov进行预测,为提高预测的准确度,本发明根据历史预测偏离的程度对fov适当的扩大;本发明将码率选择问题转换为qoe目标优化问题,对fov中的tile选择高码率,对非fov中的tile选择低码率,能有效提升用户qoe,减小网络波动对全景视频传输的影响。
[0081]
进一步地,如图4所示,基于上述基于视点的全景视频自适应流媒体传输方法,本发明还相应提供了一种基于视点的全景视频自适应流媒体传输系统,其中,所述基于视点的全景视频自适应流媒体传输系统包括:
[0082]
服务器端和客户端,所述客户端通过网络和所述服务器端建立连接;
[0083]
所述服务器端用于将原始全景视频进行瓦片分割,得到多个瓦片视频;采用预设编码方式将所述多个瓦片视频编码成具有多个码率版本的全景视频流文件;将所述全景视频流文件进行封装和切片处理,生成预设格式的视频文件和记录视频编码配置的mpd文件;
[0084]
所述客户端用于向所述服务器端发送获取记录视频编码配置的mpd文件的请求,以获取所述记录视频编码配置的mpd文件;通过传感器获取表示用户头部姿态的四元数,所述四元数包括三维空间坐标和角度;通过四元数到欧拉角转换公式将四元数转化为俯仰角和偏航角,并以俯仰角和偏航角组成的坐标表示用户观看全景视频时视野的视点;通过线性回归模型对俯仰角和偏航角进行回归预测,得到未来视点所在的预测位置;计算从当前播放时间起前预设时间所预测的视点俯仰角和偏航角的平均绝对误差;计算视野区域范围,视野区域范围以预测的视点为中心的矩形,在下载时仅下载视野区域所涵盖的瓦片;使用过去预设时间的加权平均吞吐量作为下一时刻吞吐量的预测值,其中时间越早权重越小;使用视野区域中瓦片的平均质量等级、视频空间质量差异和视频时间质量差异的加权和作为目标函数,自适应分配每个瓦片传输的比特率,控制目标函数最大化;将下载的瓦片进行拼接,并投射到用户头戴显示器的屏幕上进行播放。
[0085]
综上所述,本发明提供一种基于视点的全景视频自适应流媒体传输方法及系统,所述方法包括:服务器端将全景视频在空间上划分成不同的瓦片,将多个瓦片视频编码成全景视频流文件,并对全景视频流文件进行封装和切片处理;客户端依据用户观看全景视频的历史视点信息使用线性回归方法对用户未来观看的视野区域进行预测,并播放预测后的全景视频。本发明根据历史预测偏离的程度对视野区域适当扩大,对视野区域中的瓦片选择高码率,对非视野区域中的瓦片选择低码率,根据网络条件变化,给不同瓦片动态选择不同码率,以提高视野区域内视频清晰度,减小卡顿情况的出现,能够准确预测用户未来的视野区域,根据用户视野区域和网络条件自适应传输全景视频,能减少带宽资源的浪费,有效提升用户观看质量。
[0086]
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
[0087]
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1