本发明涉及虚拟现实领域,尤其涉及一种VR视频的定位方法及系统。
背景技术:
VR虚拟现实视频是虚拟现实内容的重要组成部分,在视觉上实现了720°全景环绕包围观赏效果,如图1所示。
为了实现随着用户头部的转动,播放与当前的观看画面设计效果相对应的视音频、画面特效、字幕提示及触发相应的外部设备反馈,以在用户观赏VR虚拟现实视频时实现交互,需准确获取当前观看的画面在VR虚拟现实视频中的相对位置。
为了解决上述问题,现有技术采用陀螺仪或外置定位装置识别头部的指向,根据头部的指向触发相应的操作。但是,使用陀螺仪或外置辅助定位装置因实现原理、物理装配精度与硬件兼容性问题,极易产生累积误差,影响定位精度。如,陀螺仪的原理决定了它的测量基准是自身,没有系统外的绝对参照物,加上单位时间采样率精度的限制,所以积分的累积误差会随着时间流逝迅速增加,最终导致输出角度与实际不符,所以陀螺仪只能工作在相对较短的时间尺度内,适用于对设备瞬时旋转角度的检测,无法作为长时间使用时的基准参考坐标使用,故基于硬件的指向定位方案,在使用一段时间后,都会出现指向偏移问题。
因此,根据硬件设备测得的偏移量确定当前观看的画面在VR视频中的位置,难以精确匹配不同方位对应的视音频、画面特效、字幕提示,且难以精确地在特定位置触发相应的外部设备反馈。此外,基于硬件的解决方案必须额外支付硬件开销成本,且兼容性存在挑战。
技术实现要素:
本发明所要解决的技术问题是:提供一种VR视频的定位方法及系统,实现精确获取用户头部的偏移量。
为了解决上述技术问题,本发明采用的技术方案为:
本发明提供一种VR视频的定位方法,包括:
S1、根据输入设备的偏移量,计算得到当前显示图像在VR视频中的坐标;
S2、根据所述坐标,计算得到用户头部的偏移量。
本发明还提供一种VR视频的定位系统,包括:
第一计算模块,用于根据输入设备的偏移量,计算得到当前显示图像在VR视频中的坐标;
第二计算模块,用于根据所述坐标,计算得到用户头部的偏移量。
本发明的有益效果在于:区别于现有技术直接使用输入设备的偏移量计算用户头部的偏移量导致计算结果误差较大,本发明通过根据输入设备的偏移量计算VR设备当前显示图像的中点及四个顶点在VR视频中的坐标,再根据中点的坐标计算得到用户头部的垂直偏移值和水平偏移值,根据四个顶点的坐标计算得到用户头部的偏移角度。根据用户当前观看图像在VR视频中的位置精确计算得到用户头部的偏移量。
附图说明
图1为VR视频效果图;
图2为本发明一种VR视频的定位方法的流程框图;
图3为本发明一种VR视频的定位系统的结构框图;
图4为VR视频的2D展开图;
图5为第一截取单元所截取的一帧图像;
图6为roll值计算过程示意图;
图7为VR音频的方位分布图;
图8为VR音频方位分布的2D展开图;
标号说明:
1、第一计算模块;11、第一截取单元;111、第二获取单元;112、第二截取单元;12、记录单元;13、第一获取单元;14、计算单元;
2、第二计算模块;3、预设模块;4、第一获取模块;5、第二获取模块;6、播放模块;7、触发模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:根据用户当前观看图像在VR视频中的位置,精确计算得到用户头部的偏移量。
请参照图1至图7:
如图2所示,本发明提供一种VR视频的定位方法,包括:
S1、根据输入设备的偏移量,计算得到当前显示图像在VR视频中的坐标;
S2、根据所述坐标,计算得到用户头部的偏移量。
进一步地,所述S1具体为:
从VR视频中截取与显示端的分辨率相同的一帧图像;
记录所述一帧图像的中点在VR视频中的坐标,得到第一坐标;
获取输入设备的偏移量;
根据所述输入设备的偏移量和所述第一坐标,得到当前显示图像在VR视频中的坐标。
由上述描述可知,通过记录初始状态下VR设备显示的图像在VR视频中的坐标,并以此坐标作为基准,再根据输入设备的偏移量计算VR设备移动后显示的图像在VR视频中的坐标,从而减小了输入设备随使用次数与使用时间的增加造成的误差。
进一步地,从VR视频中截取与显示端的分辨率相同的一帧图像,具体为:
获取VR视频的中点坐标;
以所述中点坐标为中心截取与显示端的分辨率相同的一帧图像。
进一步地,还包括:
预设音频文件配置表;所述音频文件配置表包括方位信息及对应的音频文件路径;
获取与所述用户头部的偏移量对应的方位信息,得到第一方位信息;
根据所述第一方位信息从所述音频文件配置表中获取第一音频文件路径;
播放与所述第一音频文件路径对应的音频文件。
由上述描述可知,实现精确匹配与用户头部位置相应的音频文件。
进一步地,还包括:
根据所述用户头部的偏移量触发预设的设备执行预设的动作或预设的程序。
由上述描述可知,实现根据用户头部的位置匹配相应的动作或程序。
如图3所示,本发明还提供一种VR视频的定位系统,包括:
第一计算模块1,用于根据输入设备的偏移量,计算得到当前显示图像在VR视频中的坐标;
第二计算模块2,用于根据所述坐标,计算得到用户头部的偏移量。
进一步地,所述第一计算模块1包括:
第一截取单元11,用于从VR视频中截取与显示端的分辨率相同的一帧图像;
记录单元12,用于记录所述一帧图像的中点在VR视频中的坐标,得到第一坐标;
第一获取单元13,用于获取输入设备的偏移量;
计算单元14,用于根据所述输入设备的偏移量和所述第一坐标,得到当前显示图像在VR视频中的坐标。
进一步地,所述第一截取单元11包括:
第二获取单元111,用于获取VR视频的中点坐标;
第二截取单元112,用于以所述中点坐标为中心截取与显示端的分辨率相同的一帧图像。
进一步地,还包括:
预设模块3,用于预设音频文件配置表;所述音频文件配置表包括方位信息及对应的音频文件路径;
第一获取模块4,用于获取与所述用户头部的偏移量对应的方位信息,得到第一方位信息;
第二获取模块5,用于根据所述第一方位信息从所述音频文件配置表中获取第一音频文件路径;
播放模块6,用于播放与所述第一音频文件路径对应的音频文件。
进一步地,还包括:
触发模块7,用于根据所述用户头部的偏移量触发预设的设备执行预设的动作或预设的程序。
由上述描述可知,本发明提供的VR视频的定位系统实现根据输入设备的偏移量精确计算得到用户头部的偏移量。
本发明的实施例为:
S1、获取VR视频的中点坐标;
其中,VR视频的观赏效果图如图1所示,VR视频的2D展开图如图4所示。以所述2D展开图的左下角为原点,左下角到左上角的方向为X轴正半轴,左下角到右下角的方向为Y轴正半轴建立坐标系。所述VR视频的中点坐标为VR视频的2D展开图的中点坐标,同时也是用户站在中间位置,正前方对应的坐标。
S2、以所述中点坐标为中心截取与显示端的分辨率相同的一帧图像。
记录所述一帧图像的中点在VR视频中的坐标,得到第一坐标;
其中,第一截取单元所截取的一帧图像如图5所示,系统将所述一帧图像发送给VR设备的显示端,用户戴上VR显示设备看到的初始图像即所述一帧图像。所述一帧图像的中点在VR视频中的坐标为(m/2,n/2),其中,m*n为VR视频的2D展开图的分辨率。
S3、获取输入设备的偏移量;
根据所述输入设备的偏移量和所述第一坐标,得到当前显示图像在VR视频中的坐标;
其中,根据所述第一坐标和输入设备的偏移量可得到VR设备的显示端中当前显示图像在VR视频中的中点坐标及四个顶点坐标,具体为:
所述输入设备为陀螺仪时,获取陀螺仪的欧拉角偏移量,包括:yaw值、pitch值和roll值;
根据所述第一坐标及VR设备的显示端的分辨率p*q计算出第一截取单元所截取的一帧图像在VR视频的2D展开图的中点坐标(m/2,n/2)及四个顶点坐标(0,0)、(0,p)、(q,0)、(q,p);
根据相关的数学公式,可通过上述的欧拉角偏移量及所述一帧图像的坐标计算得到VR设备的显示端当前显示画面在VR视频的2D展开图中的坐标。
其中,roll值计算过程示意图如图6所示,roll值计算方法:
VR设备显示端的当前显示画面与VR视频的观赏效果图进行对比,VR设备显示端的当前显示画面默认为在VR设备显示端的当前显示画面当中处于垂直状态(无roll值),计算两帧之间相对应两点间的弧度。
设VR设备显示端的当前显示画面的中心为O,与任意一顶点A之间直线距离发生倾斜,形成新的位置顶点B,则OA等于OB,同为圆弧的半径长r。根据像素偏移数值可知AB两点之间直线距离,则根据余弦公式cos△AOB=(2r2-AB2)/2r,可计算出OA与OB之间夹角角度。该角度即为roll值。
S4、根据所述坐标,计算得到用户头部的偏移量;具体为:
用户头部偏移量即是相对于VR视频的2D展开图的偏移量,在空间中用户因为实际观看画面位置的不同,头部会在yaw、pitch和roll三个轴向上有变化,但实际上本方法只计算VR设备显示端的当前显示画面与VR视频的2D展开图的偏移量。
yaw值为全局中点与实际观看画面中点的横向像素偏移值,计算方法为实际像素横向偏移值÷视频横向分辨率×180°。
pitch值为全局中点与实际观看画面中点的纵向像素偏移值,计算方法为实际像素纵向偏移值÷视频纵向分辨率×90°。
S5、预设音频文件配置表;所述音频文件配置表包括方位信息及对应的音频文件路径;
获取与所述用户头部的偏移量对应的方位信息,得到第一方位信息;
根据所述第一方位信息从所述音频文件配置表中获取第一音频文件路径;
播放与所述第一音频文件路径对应的音频文件;
其中,多角度音源通常直接封装在视频文件中,根据声道数有单声道、2声道、5.1声道、7.1声道、9.2声道、64-128声道(杜比全景声)等多种规格,每个声道对应的音源角度是固定的,比如5.1声道就是由中置、前左、前右、后左、后右加一个低音声道组成,其中低音声道是无方向性的。
例如,与VR视频的观赏效果图对应的VR音频的方位分布图如图7所示,VR音频方位分布的2D展开图如图8所示。
用户初始观看的VR视频的默认播放视角是正前方,此时播放的5.1声道音频为中置位置相应的音频文件。
假设当前用户观看的VR视频实际分辨率m=3840,n=1920。
用户实际观看画面向左移动768个像素,中点坐标为(m/2-768,n/2)的对应图像进入视角,根据预设的配置文件,原左声道音源变为中置声道,原中置声道音源变为右声道,依次类推。
播放时,播放器读取配置文件,根据配置文件确定各声道对应画面坐标位置,随之使用HRTF虚拟环绕声算法,映射缩混各方向音源至外接物理声道。
S6、根据所述用户头部的偏移量触发预设的设备执行预设的动作;
例如,与VR视频的观赏效果图对应的VR音频的方位分布图如图7所示,VR音频方位分布的2D展开图如图8所示。
用户初始观看的VR视频的默认播放视角是正前方,此时播放的5.1声道音频为中置位置相应的音频文件。
假设当前用户观看的VR视频实际分辨率m=3840,n=1920。
用户实际观看画面向左移动768个像素,中点坐标为(m/2-768,n/2)的对应图像进入视角,根据预设的配置文件,原静音的左声道音源触发播放音频,相应的体感控制器根据左声道音频频率触发力回馈震动。
播放时,播放器读取配置文件,根据配置文件确定各触发效果对应的画面坐标位置或范围(热区),当用户实际观看画面进入设置范围(热区)或坐标时,触发对应的动作。
综上所述,本发明提供的一种VR视频的定位方法及系统,根据用户当前观看图像在VR视频中的位置精确计算得到用户头部的偏移量。进一步地,减小了输入设备随使用次数的增加造成的误差。进一步地,实现精确匹配与用户头部位置相应的音频文件。进一步地,实现根据用户头部的位置匹配相应的动作。本发明还提供一种VR视频的定位系统,实现根据输入设备的偏移量精确计算得到用户头部的偏移量。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。