1.一种在网络视频直播平台上观看全景视频的方法,其特征在于,该方法包括以下步骤:
步骤A、在终端设备的全景播放器中创建3D模型,采用底层图形库工具将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建1个映射有全景视频的纹理的3D视角球,转到步骤B,所述终端设备为PC端设备或移动端设备;
步骤B、在三维坐标空间中添加3D摄像头,通过gluLookAt函数将3D摄像头的拍摄镜头置于3D视角球的中部,所述3D摄像头的拍摄镜头的位置是用户眼睛的位置,所述拍摄镜头对准的物体是用户眼镜看的物体,所述拍摄镜头向上的方向是用户头顶朝向的方向,转到步骤C;
步骤C、将映射有全景视频的纹理的3D视角球,渲染至终端设备的全景播放器的显示窗口中;
所述YUV格式的视频数据根据以下流程生成:将全景相机拍摄的全景视频进行编码,将编码数据传输至终端设备;终端设备将编码数据解码为以帧为单位的YUV格式的视频数据;
步骤A中所述创建1个映射有全景视频的纹理的3D视角球的流程为:预先制定3D视角球的顶点坐标、全景视频的纹理坐标和顶点的索引;根据全景视频的纹理坐标映射全景视频的纹理后,按照顶点坐标、全景视频的纹理坐标和顶点的索引绘制3D视角球;
其中,所述按照顶点坐标、全景视频的纹理坐标和顶点的索引绘制3D视角球,包括:确定球体水平切分的行数、球体竖直切分的列数、球体半径、球体水平切分点和球体竖直切分点;得到球体水平等分的数目、球体竖直等分的数目和顶点坐标x,y和z的系数;基于所述全景视频的纹理坐标和所述顶点坐标,得到每个三角形的顶点索引,完成所述3D视角球的绘制。
2.一种在网络视频直播平台上观看全景视频的系统,其特征在于:该系统包括位于终端设备中的3D视角球创建模块、3D摄像头创建模块和显示窗口渲染模块、与全景相机配合的视频编码模块、以及位于终端设备中的视频解码模块;
3D视角球创建模块用于:在全景播放器中创建3D模型,采用底层图形库工具将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在全景播放器中创建三维坐标空间,在三维坐标空间中创建1个映射有全景视频的纹理的3D视角球;
3D摄像头创建模块用于:在三维坐标空间中添加3D摄像头,通过gluLookAt函数将3D摄像头的拍摄镜头置于3D视角球的中部,所述3D摄像头的拍摄镜头的位置是用户眼睛的位置,所述拍摄镜头对准的物体是用户眼镜看的物体,所述拍摄镜头向上的方向是用户头顶朝向的方向;
显示窗口渲染模块用于:将映射有全景视频的纹理的3D视角球,渲染至的全景播放器的显示窗口中;
视频编码模块用于:将全景相机拍摄的全景视频进行编码,将编码数据传输至终端设备的视频解码模块;
视频解码模块用于:将编码数据解码为以帧为单位的YUV格式的视频数据;
所述3D视角球创建模块创建1个映射有全景视频的纹理的3D视角球的具体工作流程为:预先制定3D视角球的顶点坐标和全景视频的纹理坐标;根据全景视频的纹理坐标映射全景视频的纹理后,按照顶点坐标、全景视频的纹理坐标和顶点的索引绘制3D视角球;
其中,所述按照顶点坐标、全景视频的纹理坐标和顶点的索引绘制3D视角球,包括:确定球体水平切分的行数、球体竖直切分的列数、球体半径、球体水平切分点和球体竖直切分点;得到球体水平等分的数目、球体竖直等分的数目和顶点坐标x,y和z的系数;基于所述纹理坐标和所述顶点坐标,得到每个三角形的顶点索引,完成所述3D视角球的绘制。
在网络视频直播平台上观看全景视频的方法及系统
技术领域
[0001] 本发明涉及全景视频(360度全景的技术之上发展延伸而来,全景视频可以在拍摄角度左右上下360度的任意观看动态视频,让用户有一种真正意义上身临其境的感觉)的展示领域,具体涉及一种在网络视频直播平台上观看全景视频的方法及系统。
背景技术
[0002] 现有的网络视频直播平台进行视频直播时,一般会采集主播使用的摄像头的视频数据,将视频数据编码后经过网络传输至观看用户使用的终端设备,终端设备将视频数据解码为YUV数据(色彩空间数据)后,直接渲染至终端设备播放器的显示窗口中。但是,随着时代的进步,户外直播越来越多,用户通过主播提供的直播视角进行观看户外直播时,观看场景比较单一,用户体验较差。
发明内容
[0003] 针对现有技术中存在的缺陷,本发明解决的技术问题为:在网络视频直播平台上提供能够自由控制视角的全景视频。采用本发明的用户观看全景视频时,观看场景比较丰富,用户体验较好。
[0004] 为达到以上目的,本发明提供的在网络视频直播平台上观看全景视频的方法,包括以下步骤:
[0005] 步骤A、在终端设备的全景播放器中创建3D模型,将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建1个映射有全景视频的纹理的3D视角球,转到步骤B;
[0006] 步骤B、在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于3D视角球的中部,转到步骤C;
[0007] 步骤C、将映射有全景视频的纹理的3D视角球,渲染至终端设备的全景播放器的显示窗口中。
[0008] 本发明提供的实现上述方法的在网络视频直播平台上观看全景视频的系统,包括位于终端设备中的3D视角球创建模块、3D摄像头创建模块和显示窗口渲染模块;
[0009] 3D视角球创建模块用于:在全景播放器中创建3D模型,将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在全景播放器中创建三维坐标空间,在三维坐标空间中创建1个映射有全景视频的纹理的3D视角球;
[0010] 3D摄像头创建模块用于:在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于3D视角球的中部;
[0011] 显示窗口渲染模块用于:将映射有全景视频的纹理的3D视角球,渲染至的全景播放器的显示窗口中。
[0012] 与现有技术相比,本发明的优点在于:
[0013] 本发明事先将YUV格式的视频数据形成全景视频的纹理、并将全景视频的纹理映射至3D视角球,最后将3D视角球渲染至终端设备的全景播放器的显示窗口,以此实现全景视频的播放。
[0014] 有鉴于此,与现有技术中观看场景单一的视频直播画面相比,采用本发明的用户能够通过终端设备控制全景视频的视角,进而实现视角的切换,不仅观看场景比较丰富,而且用户体验较好。
附图说明
[0015] 图1为本发明实施例中的在网络视频直播平台上观看全景视频的方法的流程图。
具体实施方式
[0016] 以下结合附图及实施例对本发明作进一步详细说明。
[0017] 参见图1所示,本发明实施例中的在网络视频直播平台上观看全景视频的方法,包括以下步骤:
[0018] S1:将全景相机拍摄的全景视频进行编码,将编码数据通过网络传输至终端设备;
全景相机包括前后两个鱼眼镜头组成,可以采集相机前后上下的360度场景。目前全景相机已进入主流的消费者市场,除国内大量的定点生产厂商之外,三星、LG、Nokia、理光等品牌厂商也都相应发布了最新的产品,转到S2。
[0019] S2:终端设备将编码数据通过解码器解码为以帧为单位的YUV格式的视频数据,转到S3。
[0020] S3:在终端设备的全景播放器中创建3D模型,通过底层图形库工具将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理(即3D图片);在终端设备的全景播放器中创建三维坐标空间,在三维坐标空间中创建1个映射有全景视频的纹理的3D视角球,转到S4。
[0021] S3中创建1个映射有全景视频的纹理的3D视角球的流程为:预先制定3D视角球的顶点坐标、全景视频的纹理坐标和顶点的索引;根据全景视频的纹理坐标映射全景视频的纹理后,按照顶点坐标、全景视频的纹理坐标和顶点的索引绘制3D视角球。
[0022] S4:在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于3D视角球的中部;其原因在于:创建映射有全景视频的纹理的3D视角球后,若三维空间的视口设置不对,则无法观看全景视频的;有鉴于此,需要设置视图矩阵将3D摄像头的拍摄镜头置于3D视角球的中部。以OpenGL为例,可通过gluLookAt函数设置3D摄像头的拍摄镜头在三维坐标空间中的位置;以观看用户的角度来说,可把用户的眼睛当作3D摄像头,3D摄像头的拍摄镜头的位置就是用户眼睛的位置,拍摄镜头对准的物体也就是用户眼镜要看的物体(即映射有纹理的3D视角球),拍摄镜头向上的方向就是用户头顶朝向的方向,转到S5。
[0023] S5:将映射有全景视频的纹理的3D视角球,渲染至终端设备的全景播放器的显示窗口(即播放画面)中。此时观看用户通过终端设备控制显示窗口的视角,即可360度(前后上下)观看显示窗口的全景视频:
[0024] (1)终端设备为PC端时,可通过键盘、鼠标或VR(Virtual Reality,虚拟现实技术)可穿戴设备控制显示窗口的视角;
[0025] (2)终端设备为移动端时,可通过手势、陀螺仪或VR可穿戴设备控制显示窗口的视角。
[0026] 本实施例中S3的底层图形库工具可以采用以下2种中的任意一种:
[0027] (1)OpenGL ES:OpenGL三维图形API(Application Programming Interface,应用程序编程接口)的子集,OpenGL(Open Graphics Library)是定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口;OpenGL用于三维图形(二维图像亦可),是一个功能强大,调用方便的底层图形库。
[0028] (2)DirectX:微软创建的多媒体编程接口。主要使用在Windows平台,可用于三维图形(二维图像亦可),是一个功能强大,调用方便的底层图形库。
[0029] S3中3D视角球的顶点坐标、全景视频的纹理坐标和顶点的索引的制定方法可以为:
[0030]
[0031]
[0032] 本发明实施例提供的实现上述方法的在网络视频直播平台上观看全景视频的系统,包括与全景相机配合的视频编码模块、以及位于终端设备中的视频编码模块、3D视角球创建模块、3D摄像头创建模块和显示窗口渲染模块。
[0033] 视频编码模块用于:将全景相机拍摄的全景视频进行编码,将编码数据传输至观看用户使用的终端设备的视频解码模块。
[0034] 视频解码模块用于:将编码数据解码为以帧为单位的YUV格式的视频数据。
[0035] 3D视角球创建模块用于:在全景播放器中创建3D模型,采用底层图形库工具将YUV格式的视频数据上传至3D模型中,形成全景视频的纹理;在全景播放器中创建三维坐标空间,在三维坐标空间中创建1个映射有全景视频的纹理的3D视角球。创建映射有全景视频的纹理的3D视角球的具体工作流程为:预先制定3D视角球的顶点坐标和全景视频的纹理坐标;根据全景视频的纹理坐标映射全景视频的纹理后,按照顶点坐标和全景视频的纹理坐标绘制3D视角球。
[0036] 3D摄像头创建模块用于:在三维坐标空间中添加3D摄像头,将3D摄像头的拍摄镜头置于3D视角球的中部;
[0037] 显示窗口渲染模块用于:将映射有全景视频的纹理的3D视角球,渲染至的全景播放器的显示窗口中。
[0038] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
法律信息
- 2020-12-15
- 2016-12-07
实质审查的生效
IPC(主分类): H04N 21/234
专利申请号: 201610596558.X
申请日: 2016.07.26
- 2016-11-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |