html做全景视频播放器,一种全景视频播放方法及播放器的制造方法

一种全景视频播放方法及播放器的制造方法

【技术领域】

[0001]本发明涉及视频播放领域,尤其涉及一种全景视频播放方法及播放器。

【背景技术】

[0002]随着近年来视频拍摄技术的发展,全景图片、全景视频已经慢慢走入大众视野,全景视频是指用全景相机或2-6个相机组成的相机组队同一空间进行拍摄,使得拍摄场景能覆盖整个空间场景,拍摄出来的视频具有360度视角。

[0003]该种视频在传统PC上播放时,将360°视频以平面窗口形式展现给用户看,虽然视角很大,但是感受不到身临其境的感觉。

【发明内容】

[0004]本发明的目的是提供一种视频播放方法及视频播放器,应用于头戴显示设备上,用一种全新的方式播放360°全景视频,让用户感受身临其境的感觉。

[0005]为了实现上述发明目的,本发明提供了一种全景视频播放方法,应用于头戴显示设备上,包括:对全景视频文件进行音视频分离和解码,得到二维视频帧图像序列和音频数据;根据预先建立的二维视频帧图像的点坐标和预先设定的三维几何模型的点坐标的映射关系,将所述二维视频帧图像序列作为纹理,依次逐帧映射到预先设定的三维几何模型上;根据预设视点位置或经用户调整后的视点位置,实时计算显示到窗口的图像范围,并同步输出音频数据。

[0006]其中,所述视点位置包括观察点位置和观察方向。

[0007]优选的,所述预先设定的三维几何模型包括球模型、椭球型、圆柱体、圆锥体、立方体中的一种。

[0008]其中,当预设的三维几何模型为球模型时,二维视频帧图像的点坐标和预先设定的三维几何模型的点坐标的映射关系为:

[0009]P (X,,y,,z,)

[0010]P (x, y)

[0011]X= (1.0+arctan (y,/x,) / π ) *0.5

[0012]y = (1.0—arcsin (z,) *2.0/π ) *0.5

[0013]其中,p(x',y',z')为三几何模型上的三维坐标,p (x, y)为二维视频帧图像上的二维坐标。

[0014]优选的,所述预先建立的二维视频帧图像的点坐标和预先设定的三维几何模型的点坐标的映射关系,其建立过程包括:对三维几何模型表面进行三角形划分,记录每个三角面的顶点及顶点三维坐标;根据三维几何模型类型及所述顶点三维坐标,计算对应顶点在视频帧图像上的二维坐标;记录每个三角面的顶点序号、每个顶点的三维坐标和二维坐标,建立映射关系。

[0015]其中,当所述三维几何模型为球模型时,所述对三维几何模型表面进行三角形划分,具体为:对球模型进行表面坐标点米样,根据米样点对球模型表面进行三角形划分。

[0016]优选的,所述方法还包括:检测球模型上的三维坐标点在转换为视频帧图像上的二维左边点过程中,已划分好的三角形是否被切分,若是,则对被切分的三角形部分进行新的三角形划分。

[0017]其中,当所述三维几何模型为球模型时:设二维视频帧图像的x、y坐标取值为[0,I];设球模型球心位于原点,半径为I ;在建立映射关系时,保证二维视频帧图像二维坐标点[0.5,α ]和[0.5,l-α ]在对应的三维模型上被采样到,同时保证球模型表面的三维坐标点(O, O, I)和(O, 0,-1)被采样到,其中α取值范围为0.65?0.95。

[0018]其中,当所述全景视频播放方法应用于双目头戴显示设备上时,所述全景视频播放方法还包括:对显示到窗口的图像进行左右分屏处理。

[0019]相应的,本发明还提供一种全景视频播放器,安装于头戴显示设备上,包括:

[0020]存储模块,用于预先建立的二维视频帧图像的点坐标和预先设定的三维几何模型的点坐标的映射关系维几何模型的点坐标的映射关系;

[0021]解码模块,用于对全景视频文件进行音视频分离和解码,得到二维视频帧图像序列和音频数据;

[0022]映射模块,用于根据所述存储模块中存储的映射关系,将所述二维视频帧图像序列作为纹理,依次逐帧映射到预先设定的三维几何模型上;

[0023]视窗范围调整模块,用于根据预设视点位置或经用户调整后的视点位置,实时计算并调整显示到窗口的图像范围;

[0024]音频输出模块,用于在映射模块映射纹理的同时,同步输出音频数据。

[0025]其中,当所述全景视频播放器安装于双目头戴显示设备上时,所述播放器还包括分屏模块,用于对显示到窗口的图像进行左右分屏处理。

[0026]本发明能解决全景视频在头戴显示设备上播放的问题,让用户体验真正的360度视频,而不是在平面视角去体验,本发明视频播放方法及播放器,能为用户构建一个包围空间,将全景视频帧图像作为纹理360度映射于包围空间,用户戴上头戴显示设备,感觉上处于包围空间内部,可通过旋转头部等方式切换观看角度,真正感受全景视频带来的魅力。

【附图说明】

[0027]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:

[0028]图1为本发明全景视频播放方法一种较佳实施方式的流程示意图;

[0029]图2为本发明实施例中,球模型三角划分采样结果示意图;

[0030]图3为图2球模型剖线及示例三角形示意图;

[0031]图4为图3展开后示例三角形被分离示意图;

[0032]图5为图3展开后,示例三角形顶点错误的组合示意图;

[0033]图6为图3展开后,示例三角形顶点处理后的三角形划分示意图;

[0034]图7为本发明全景视频播放器一种较佳实施方式的结构示意图;

[0035]图8为本发明全景视频播放器另一种较佳实施方式的结构示意图。

【具体实施方式】

[0036]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

[0037]本发明涉及全景视频文件的播放方法,所述的全景视频文件可以是通过全景相机拍摄而成;也可以是采用η个(通常采用2?6个)摄像机组成的摄像机组对同一空间进行拍摄,使得拍摄场景能覆盖整个空间场景,然后对各相摄像机拍摄的视频帧进行一系列处理,如畸变处理、重叠剪裁处理等,使相邻摄像机拍摄的视频帧能很好的拼接在一起并覆盖整个空间场景。

[0038]参见图1,为本发明全景视频播放方法一种较佳实施方式的流程示意图,本实施例全景视频播放方法,应用于头戴显示设备上,包括如下步骤:

[0039]SlOl:对全景视频文件进行音视频分离和解码,得到二维视频帧图像序列和音频数据;

[0040]S102:根据预先建立的二维视频帧图像的点坐标和预先设定的三维几何模型的点坐标的映射关系,将所述二维视频帧图像序列作为纹理,依次逐帧映射到预先设定的三维几何模型上。所述预先设定的三维几何模型包括球模型、椭球型、圆柱体、圆锥体、立方体中的一种。

[0041]S103:根据预设视点位置或经用户调整后的视点位置,实时计算显示到窗口的图像范围,并同步输出音频数据。根据视点位置计算显示到窗口的图像范围,具体为调用openGL中的glLookAt函数进行,其计算过程中需结合三维几何模型的中心位置进行,一般三维几何模型中心位置只要模型设定好,中心位置随即固定,因此变量只有视点位置这一参数。

[0042]所述视点位置包括观察点位置和观察方向,在本发明实施中,会预先设置一个初始视点位置,如果用户不进行调整,则根据初始视点位置计算显示到窗口的图像范围;用户如果觉得视点过近或过远,可以通过头戴显示设备所支持的用户指令,对视点位置进行调整。所述用户指令可以包括手势指令、触摸指令、头部摆动指令、语音指令中的一种或多种。其中头部摆动指令可以通过头戴显示设备内置传感器采集头部摆动数据,进而转换为视点位置调整指令,特别是观察方向,用头部转动来控制,会比较符合用户使用习惯。

[0043]在步骤S102中所提及的“预先建立的二维视频帧图像的点坐标和预先设定的三维几何模型的点坐标的映射关系”,其建立过程包括:

[0044]A:对三维几何模型表面进行三角形划分,记录每个三角面的顶点及顶点三维坐标;

[0045]B:根据三维几何模型类型及所述顶点三维坐标,计算对应顶点在视频帧图像上的二维坐标;

[0046]C:记录每个三角面的顶点序号、每个顶点的三维坐标和二维坐标,建立映射关系。

[0047]值得注意的是,三角划分方式有多种方法,在立方体这种由平面组成的三维模型中,三角划分以立方体顶点为三角形顶点即可;而在包含曲面的三维模型中(如球模型),由于三维纹理的组织方式是用大量的小三角面模拟曲面纹理,三角面越多,包含曲面的三维模型精度越高,因此在显示时,对应的显示三角面越多,越容易还原用来表征三维场景的三维模型,进而失真度越低。

[0048]过程B中,相当于将三维几何模型表面沿一剖线剖开,进行局部拉伸等处理方式,展开成为一个平面二维图像。

[0049]本发明实施例全景视频播放方法应用于双目头戴显示设备上时,所述全景视频播放方法还包括:对显示到窗口的图像进行左右分屏处理,使得用户使用双目头戴显示设备时,左右眼同时看见同样的画面。

[0050]下面以三维几何模型为球模型为例,详细说明如何为全景视频文件建立基于球模型的映射关系。

[0051]首先需要对球模型进行表面坐标点采样,根据采

你可能感兴趣的:(html做全景视频播放器)