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

【技术领域】

[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做全景视频播放器,一种全景视频播放方法及播放器的制造方法相关推荐

  1. 直播弹幕 html5,一种基于HTML5的弹幕播放器及其方法与流程

    本发明涉及互联网技术领域,具体涉及一种基于HTML5的弹幕播放器及其方法. 背景技术: 弹幕是指一种在观看视频时,大量以字幕(有且不限于文字和图片)形式呈现的评论与视频同在一个画面的现象.在视频上方大 ...

  2. 开发个好的RTMP播放器到底难在哪里?RTMP播放器对标和考察指标

    好多开发者提到,RTMP播放器,不知道有哪些对标和考察指标,以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验 ...

  3. html音乐播放器样式,html5扁平化mp3音乐播放器样式代码

    特效描述:html5 扁平化mp3 音乐播放器样式.扁平风格的简易的mp3音乐播放器样式代码.html5 mp3音乐播放器 代码结构 1. 引入JS 2. HTML代码 0:00 0:00 'use ...

  4. Android 11.0 任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态问题的解决

    1.概述 在11.0的rom定制化开发中,在点击系统自带的播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的 解决方法,肯定 ...

  5. 随机噪声的压制c语言,一种地震数据随机噪声压制方法及装置的制造方法

    一种地震数据随机噪声压制方法及装置的制造方法 [技术领域] [0001] 本发明涉及地震勘探领域,尤其涉及一种地震数据随机噪声压制方法及装置. [背景技术] [0002] 按噪声在地震剖面上出现的特征 ...

  6. android音乐播放器的开发与设计,Android音乐播放器的设计与实现

    内容简介: Android音乐播放器的设计与实现,毕业论文,共21页,7729字. 摘要:本文主要介绍了一个基于Andriod的音乐播放器的设计与实现.主要包括可行性分析,需求分析,App功能设计及实 ...

  7. html mp3默认播放器,Win7系统下设置默认音乐播放器的两种方法

    可能很多新手用户不知道Win7系统下怎么设置默认音乐播放器?我们习惯将某一程序设置为默认打开方式,音乐播放器也可以这样子的.一些用户想把酷狗播放器.或者qq音乐设置为默认音乐播放器,只要打开音乐文件, ...

  8. html5视频播放器隐藏控制,HTML5 video标签(播放器)学习笔记(二):播放控制

    上一篇介绍了html5标签video(播放器)初始化需要做的一些工作,如何简单快速使用html5的播放器,本文将重点介绍如何用JS来操作video标签,也就是如何对video做一些简单基本的操作,包括 ...

  9. LZH_IJKPlayer-一个最简单使用的视频播放器,集成于bilibili开源直播播放器(ijkplayer)

    随着视频直播APP的迅速发展,许多APP也都会加入直播的功能,提高用户量.在网上也是寻找了许多直播的播放器,无意间发现Bilibili开源了一款播放器ijkplayer,想从最开始的步骤集成的同学可以 ...

最新文章

  1. 深入浅出解释FFT(四)——fft分析信号频率和相位
  2. java 坐标系转换_入门-Python-GIS坐标转换
  3. sql 查询嵌套数组
  4. 创业公司死亡公式:人越多死得越快!
  5. 主键id 请求参数用什么类型_中小型项目用SpringBoot太大了,不如尝试下Martian
  6. <<science>> new and potential research areas
  7. CentOS7桌面版系统使用的一些小技巧
  8. NLP复习资料(6)-第十章 语义分析
  9. BZOJ4517: [Sdoi2016]排列计数
  10. 【Hive】多字符分隔
  11. 遗传算法和神经网络结合在税收中的运用
  12. 光栅图形学-中点画线法
  13. 拍卖程序员,100offer这样的程序员招聘方式靠谱吗
  14. OSPF- P2P网络、NBMA网络和P2MP网络
  15. android 树莓派 图片,Android Things:树莓派3上手就是这么简单
  16. 如何做一名优秀的程序员?
  17. 移动开发之三种近场通信
  18. Neo4j CQL - DELETE删除
  19. iphone换android手机铃声,在iPhone中换个自定义铃声要11个步骤 正常人受不了
  20. javascript判断浏览器是否是隐私模式

热门文章

  1. 利用cocos2d-x实现CandyCrushSaga消除功能
  2. JDK和oracle的安装配置
  3. ADSL Modem的密码
  4. 跨年烟花代码加文案,确定不来看看吗
  5. 实现图像检索系统需要用到哪方面的知识?
  6. Ubuntu 系统下的phe.Pailliar同态加密,速度慢,无法多线程调度的问题
  7. DELPHI中鼠标的各种操作
  8. Kubernetes【升级】 CKS 2021【11】---Cluster Hardening - Upgrade Kubernetes
  9. 让外界访问wsl中运行的docker镜像服务
  10. 传球游戏(动态规划)