在网络视频直播平台上观看3D全景视频的方法及系统与流程

文档序号:11961413阅读:1159来源:国知局

本发明涉及全景视频(360度全景的技术之上发展延伸而来,全景视频可以在拍摄角度左右上下360度的任意观看动态视频,让用户有一种真正意义上身临其境的感觉)的展示领域,具体涉及一种在网络视频直播平台上观看3D全景视频的方法及系统。



背景技术:

现有的网络视频直播平台进行视频直播时,一般会采集主播使用的摄像头的视频数据,将视频数据编码后经过网络传输至观看用户使用的终端设备,终端设备将视频数据解码为YUV数据(色彩空间数据)后,直接渲染至终端设备播放器的显示窗口中。

但是,随着时代的进步,户外直播越来越多,用户通过主播提供的直播视角进行观看户外直播时,观看场景比较单一,用户体验较差。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:在网络视频直播平台上提供3D效果的全景视频;采用本发明的用户观看全景视频时,观看场景比较丰富,用户体验较好。

为达到以上目的,本发明提供的在网络视频直播平台上观看3D全景视频的方法,包括以下步骤:

步骤A、在终端设备的全景播放器中创建3D模型,将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建2个映射有全景视频的纹理的3D视角球,将2个3D视角球重合后,保持1个3D视角球的角度不变,旋转另1个3D视角球的角度;转到步骤B;

步骤B、在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于步骤B中重合后的3D视角球的中部,转到步骤C;

步骤C、将步骤B中2个视角不同的3D视角球,渲染至全景播放器的显示窗口的2块等分区域,每个3D视角球对应1块区域。

本发明提供的实现上述方法的在网络视频直播平台上观看3D全景视频的系统,包括位于终端设备中的3D视角球创建模块、3D摄像头创建模块和显示窗口渲染模块;

3D视角球创建模块用于:在全景播放器中创建3D模型,将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建2个映射有全景视频的纹理的3D视角球,将2个3D视角球重合后,保持1个3D视角球的角度不变,旋转另1个3D视角球的角度;

3D摄像头创建模块用于:在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于重合后的3D视角球的中部;

显示窗口渲染模块用于:将2个视角不同的3D视角球,渲染至全景播放器的显示窗口的2块等分区域,每个3D视角球对应1块区域。

与现有技术相比,本发明的优点在于:

本发明事先将YUV格式的视频数据形成全景视频的纹理、并将全景视频的纹理分别映射至2个3D视角球,最后将2个重合且视角不同的3D视角球渲染至终端设备的全景播放器的显示窗口,用户观看2个视角不同的3D视角球会形成3D效果;进一步,用户通过终端设备控制显示窗口的视角,即可360度(前后上下)观看显示窗口的3D效果的全景视频。

有鉴于此,与现有技术中观看场景单一的视频直播画面相比,采用本发明的用户能够通过终端设备控制视角来观看3D效果的全景视频,不仅观看场景比较丰富,而且用户体验较好。

附图说明

图1为本发明实施例中的在网络视频直播平台上观看3D全景视频的方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例中的在网络视频直播平台上观看3D全景视频的方法,包括以下步骤:

S1:将全景相机拍摄的全景视频进行编码,将编码数据通过网络传输至观看用户使用的终端设备;全景相机包括前后两个鱼眼镜头组成,可以采集相机前后上下的360度场景。目前全景相机已进入主流的消费者市场,除国内大量的定点生产厂商之外,三星、LG、Nokia、理光等品牌厂商也都相应发布了最新的产品,转到S2。

S2:终端设备将编码数据通过解码器解码为以帧为单位的YUV格式的视频数据,转到S3。

S3:在终端设备的全景播放器中创建3D模型,通过底层图形库工具将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理(即3D图片);在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建2个映射有全景视频的纹理的3D视角球,转到S4。

S3中创建单个映射有全景视频的纹理的3D视角球的流程为:预先制定3D视角球的顶点坐标、全景视频的纹理坐标和顶点的索引;根据全景视频的纹理坐标映射全景视频的纹理后,按照顶点坐标、全景视频的纹理坐标和顶点的索引绘制3D视角球。

S4:将2个3D视角球重合后,保持1个3D视角球的角度不变,旋转另1个3D视角球的角度,以便后期通过2个视角不同的3D视角球形成3D效果;本实施例中旋转另1个3D视角球的角度的流程为:将3D视角球沿其竖直中心线旋转0.1~2.3°,转到S5。

S5:在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于重合后的3D视角球中部;其原因在于:创建映射有全景视频的纹理的3D视角球后,若三维空间的视口设置不对,则无法观看全景视频的;有鉴于此,需要设置视图矩阵将3D摄像头的拍摄镜头置于3D视角球的中部。以OpenGL为例,可通过gluLookAt函数设置3D摄像头的拍摄镜头在三维坐标空间中的位置;以观看用户的角度来说,可把用户的眼睛当作3D摄像头,3D摄像头的拍摄镜头的位置就是用户眼睛的位置,拍摄镜头对准的物体也就是用户眼镜要看的物体(即映射有纹理的3D视角球),拍摄镜头向上的方向就是用户头顶朝向的方向,转到S6。

S6:通过底层图形库工具将全景播放器的显示窗口(即播放画面)等分为2块区域(左右或者上下),将S4中的2个视角不同的3D视角球各渲染至1块区域中。此时观看用户通过终端设备可同时观看2个视角不同的3D视角球,以此形成3D效果;进一步,观看用户通过终端设备控制显示窗口的视角,即可360度(前后上下)观看显示窗口的3D效果的全景视频:

(1)终端设备为PC端时,可通过键盘、鼠标或VR(Virtual Reality,虚拟现实技术)可穿戴设备控制显示窗口的视角;

(2)终端设备为移动端时,可通过手势、陀螺仪或VR可穿戴设备控制显示窗口的视角。

本实施例中S3的底层图形库工具可以采用以下2种中的任意一种:

(1)OpenGL ES:OpenGL三维图形API(Application Programming Interface,应用程序编程接口)的子集,OpenGL(Open Graphics Library)是定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口;OpenGL用于三维图形(二维图像亦可),是一个功能强大,调用方便的底层图形库。

(2)DirectX:微软创建的多媒体编程接口。主要使用在Windows平台,可用于三维图形(二维图像亦可),是一个功能强大,调用方便的底层图形库。

S3中3D视角球的顶点坐标、全景视频的纹理坐标和顶点的索引的制定方法可以为:

本发明实施例提供的实现上述方法的在网络视频直播平台上观看3D全景视频的系统,包括与全景相机配合的视频编码模块、以及位于终端设备中的视频编码模块、3D视角球创建模块、3D摄像头创建模块和显示窗口渲染模块。

视频编码模块用于:将全景相机拍摄的全景视频进行编码,将编码数据传输至观看用户使用的终端设备的视频解码模块。

视频解码模块用于:将编码数据解码为以帧为单位的YUV格式的视频数据。

3D视角球创建模块用于:在全景播放器中创建3D模型,将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建2个映射有全景视频的纹理的3D视角球,将2个3D视角球重合后,保持1个3D视角球的角度不变,旋转另1个3D视角球的角度(将3D视角球沿其竖直中心线旋转0.1~2.3°)。

3D视角球创建模块创建单个映射有全景视频的纹理的3D视角球的具体工作流程为:预先制定3D视角球的顶点坐标和全景视频的纹理坐标;根据全景视频的纹理坐标映射全景视频的纹理后,按照顶点坐标和全景视频的纹理坐标绘制3D视角球。

3D摄像头创建模块用于:在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于重合后的3D视角球的中部;

显示窗口渲染模块用于:将2个视角不同的3D视角球,渲染至全景播放器的显示窗口的2块等分区域,每个3D视角球对应1块区域。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1