一种基于视线追踪技术的VR视频直播交互方法与装置与流程

文档序号:11437591阅读:508来源:国知局
一种基于视线追踪技术的VR视频直播交互方法与装置与流程

本发明涉及视线交互技术、语音交互技术与vr视频压缩编码技术领域,特别涉及一种基于视线追踪技术的vr视频直播交互方法与装置。该技术可用于虚拟现实视频直播和游戏应用、军事瞄准辅助、人机交互、智能家居、医学研究以及心理分析等领域。



背景技术:

人机交互(human-computerinteraction,简称hci),顾名思义,是一门研究系统和用户之间交互关系的学问。从最初的纸带打孔,到后来键盘输入、鼠标输入的发展,再到当下的触摸操作,语音识别,以及有待进一步发展的3d手势、眼动识别。每一次的技术革新及产品升级,将会带来人机交互方式的重大变化。当下,世界各大公司均开始投入虚拟现实(vr,virtualreality)领域的研制,民用级vr的时代正式到来。vr技术的应用场景很多,除当下最大的热点vr游戏和vr影视外,包括在医疗模拟教学,军事模拟实战训练,工业仿真,虚拟课堂等都有极广泛的应用场景。而vr视频直播则是当下vr视频的一个热点。

目前,随着vr技术的发展,在vr领域,交互方式大致分为以下几种:动作捕捉、触觉反馈、眼球追踪、肌电模拟、手势追踪、方向追踪、语音交互等。vr视频与普通视频相比,视野大,分辨率高,这就导致数据量大,带宽需求量大,这将大大阻挠vr视频的大规模应用。因此,解决vr系统中vr视频的编码,存储,码流传输的问题,实现低延迟是十分关键的。



技术实现要素:

本发明的目的在于:为解决vr视频的数据量大,带宽需求量大导致的延迟高的问题,从而提供一种基于视线追踪技术vr视频直播交互方法及装置。

本发明的技术方案如下:

一种基于视线追踪技术的vr视频直播交互方法,包括如下步骤:

s1:vr视频预处理

s11:利用多个相机得到多路视频源,对多路视频源进行拼接后得到融合后的球形vr视频;

s12:对球形vr视频进行一次编码处理;

s2:vr视频深度处理

s21:一次解码重新得到球形vr视频;

s22:对球形vr视频进行映射处理得到平面vr视频;

s23:根据终端反馈的控制信号对平面vr视频进行roi处理;

s24:进行roi处理后的平面vr视频进行二次编码处理,得到vr视频流;

s3:再将vr视频传输到终端,终端对vr视频流进行二次解码后,将平面vr视频反映射成球形视频,在显示设备中对球形视频进行播放;播放过程中,终端根据用户注视点的变化即视线追踪技术向用于roi处理的模块发送控制信息;

s4:重复s23、s3、s4步骤直到vr视频直播结束;

s23中,roi处理过程中根据终端发送的控制信息来控制平面vr视频的roi区域,从而即时更新显示设备的数据;

在上述过程中,仅在第一次进行s2、s3、s4步骤时,s2中不含s23,s21后直接进入s24。

进一步地,在s3中,终端具有语音交互功能,在捕捉用户注视点时,通过语音交互,用户自由选择眼动模式或头动模式、控制头显的菜单选择。

具体地,s11中,对多路视频源进行拼接的方法采用基于图像不变特征的拼接方法,具体步骤包括:

s111:特征提取,包括建立尺度空间、极值点检测、极值点的精确定位、生成特征向量;

s112:特征匹配,通过一定的搜索策略,基于bbf算法及ransac算法,找出待配准的两幅图像中正确的特征点对,然后计算变换矩阵;

s113:参数模型求解:根据匹配点对求解8-参数透视变换矩阵,实现图像变换最终完成匹配工作。

优选地,对球形vr视频经过映射处理得到平面vr视频的方法为经纬度映射法、正六面体映射法或圆柱体映射法。

进一步地,s3中,视线追踪的具体过程为:

s31:对图像进行预处理得到人眼图像,对人眼图像进行平滑处理得到改善后的图像;

s32:在改善后的图像上找到瞳孔所在区,获取光斑坐标,计算注视点的位置;

s33:提取角膜反射中心,确定瞳孔的位置和大小;

s34:采用算法提取瞳孔轮廓特征点,拟合瞳孔轮廓;

s35:进行自适应视点校准。

另一方面,本发明提供一种基于视线追踪技术的vr视频直播交互装置,包括依次连接的视频预处理模块,数据中心模块和终端模块;视频预处理模块包括用于将多路视频源进行拼接得到球形vr视频的vr视频初始获取模块,和用于将初始获取模块获得的球形vr视频进行一次编码的一次编码模块;数据中心模块包括依次连接的一次解码模块、用于将球形vr视频进行映射处理的映射模块、roi处理模块和二次编码模块;终端模块包括用于解码的二次解码模块、显示视频的显示模块、用于控制显示模块显示的视频的控制模块;控制模块包括用于用户对终端实现语音交互的语音交互模块、用于用户视线追踪的视线追踪模块;眼球追踪模块与roi处理模块连接,并向roi处理模块反馈控制信号。

采用本发明提供的技术方案后,具有如下的有益效果:

(1)本发明利用视线追踪技术,获取用户的感兴趣区域(roi),将感兴趣区域与非感兴趣区域以不同的分辨率传输,同时通过眼球追踪模块获取roi数据的变动,压缩编码模块可即时作出处理并反馈至终端,这样既保证了看到的画面的质量,又大幅度降低了传输过程中带宽需求量,从而降低vr设备对硬件的要求。

(2)本发明利用眼球追踪代替头部运动感知控制,改革vr设备交互的方式,解决了基于陀螺仪的头部运动感知方式来锁定目标的繁琐、不自然及延迟高等问题。

(3)因为人的瞳距不同,佩戴头显方式不同,注视点不同都会导致人的瞳孔偏离出瞳位置,造成实时观看中畸变形状不同,影响用户体验,硬件方面对于畸变和色散的修正并不完善,大部分是基于图形算法层面进行补偿,这只是一定程度的减少了畸变和色差。本发明中通过眼球追踪技术获得人眼的注视点,人眼和镜片的相对位置,能够实时矫正。

(4)目前市场上主流的vr头盔主要通过用户头部移动、陀螺仪等设备来进行交互控制,具体来说,当用户戴着虚拟现实头盔进入一个虚拟时空中,用户在这个虚拟世界所体验到的视角,主要取决于头部转动所及之处;然而,通过头部控制来决定视角,用户往往很不适应,这种较为传统的交互方式与人类的天性习惯有所违背,容易造成眩晕,因为在现实生活中,人们习惯于用眼控、头控结合的方式来感知这个世界,头动控制视野、眼动锁定目标,这就造成了体验不佳,而在本发明的vr视频直播交互方法中,它对于人眼位置的检测,能够为当前所处视角提供最佳的3d效果,使vr头显呈现出的图像更自然,延迟更小,同时,由于眼球追踪技术可以获知人眼的真实注视点,从而得到虚拟物体上视点位置的景深。

附图说明

图1为本发明的流程原理图;

图2为vr视频拼接流程;

图3为本发明s2中的经纬图采样示意图;

图4为本发明s2中的正六面体采样示意图;

图5为本发明s2中的圆柱体采样示意图;

图6为本发明s2中roi处理过程中的全景画面划分图;

图7为本发明s2中roi处理过程中的区域分割图;

图8为本发明s4中的眼球追踪模块的整体流程图;

图9为本发明s4中的眼球追踪模块的工作流程图;

图10为本发明的装置模块图。

具体实施方式

本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

下面结合附图对本发明作详细说明。

一种基于视线追踪技术的vr视频直播交互方法,如图1所示,包括如下步骤:

s1:vr视频预处理

s11:利用多个相机得到多路视频源,对多路视频源进行拼接后得到融合后的球形vr视频;视频拼接的方法采用不变特征匹配的拼接方法,如图2所示分为以下几步:

s11:特征提取,包括建立尺度空间、极值点检测、极值点的精确定位、生成特征向量;

s12:特征匹配,通过一定的搜索策略,基于bbf算法及ransac算法,找出待配准的两幅图像中正确的特征点对,然后计算变换矩阵;

s13:参数模型求解:根据匹配点对求解8-参数透视变换矩阵,实现图像变换最终完成匹配工作,具体地,8-参数透视变换矩阵的过程如下:

针对图像的全局变换,通过齐次坐标的性质,将待匹配图像变换到参考图像的坐标系中以实现几何变换:

可选取4对匹配点对可利用线性方程组求的矩阵的各参数。

s12:对球形vr视频进行一次编码处理;

s2:vr视频深度处理

s21:一次解码重新得到球形vr视频;

s22:对球形vr视频进行映射处理得到平面vr视频;

s23:根据终端反馈的控制信号对平面vr视频进行roi处理;

s24:进行roi处理后的平面vr视频进行二次编码处理,得到vr视频流;

对于s21,现有的视频编码都是针对2d视频,所以需要将拼接好的vr视频进行映射处理后进行传输,映射处理的方法分为经纬图映射法和正六面体映射法,下面,将分别阐述这两种方法的详细过程:

a.经纬度映射法

平面视频是从一个完整或部分的球面经过对方位角θ和俯仰角φ进行均匀采样得到的,如图3所示。对于一个完整的球面,θ的取值范围是[-π,π],φ的取值范围是[-π/2,π/2];

平面视频帧对应的球面的水平视角范围为[-hfov/2,hfov/2],垂直视角范围为[-vfov/2,vfov/2],平面视频帧中像素的平面坐标(x,y)与球面坐标(θ,φ)的对应关系为:

θ=2×(hfov÷360×π×(x-w÷2+0.5)÷w

φ=(vfov÷180)×π×(h÷2-y-0.5)÷h

b.正六面体映射法

平面视频是将一个完整的球面映射为正六面体,并将正六面体的六个面按某种方式排列得到的。如图4所示,首先确定球面的外切正六面体,六个面与球面的切点的球面坐标分别为(-π/2,0)、(0,0)、(π/2,0)、(π,0)、(0,π/2)和(0,-π/2),将这六个切点所在的正方形切面分别记为左面、前面、右面、背面、顶面和底面。

连接某个切面内的所有点和球面中心,与球面的所有交点构成的区域就是该切面对应的球面区域。将某个切面内像素的局部坐标记为(xlocal,ylocal)。将每个正方形切面的边长用ncubic表示,定义中间变量xnormal和ynormal的值为:

xnormal=(2×xlocal+1-ncubic)÷ncubic

ynormal=(2×ylocal+1-ncubic)÷ncubic

各切面中像素的局部坐标(xlocal,ylocal)和球面坐标(θ,φ)的对应关系如下:

①左面:

θ=arctg(xnormal)-π÷2

φ=arctg(ynormal÷sqrt(1+xnormal2))

②前面:

θ=arctg(xnormal)

φ=arctg(ynormal÷sqrt(1+xnormal2))

③右面:

θ=arctg(xnormal)+π÷2

φ=arctg(ynormal÷sqrt(1+xnormal2))

④背面:

φ=arctg(ynormal÷sqrt(1+xnormal2))

当xnormal<0时,

θ=arctg(xnormal)+π

当xnormal>=0时,

θ=arctg(xnormal)-π

⑤顶面:

φ=π÷2-arctg(sqrt(xnormal2+ynormal2))

当xnormal>=0时,

θ=arccos(ynormal÷sqrt(xnormal2+ynormal2))

当xnormal<0时,

θ=-arccos(ynormal÷sqrt(xnormal2+ynormal2))

⑥底面:

φ=arctg(sqrt(xnormal2+ynormal2))-π÷2

当xnormal>=0时,

θ=arccos(-ynormal÷sqrt(xnormal2+ynormal2))

当xnormal<0时,

θ=-arccos(-ynormal÷sqrt(xnormal2+ynormal2))

c.圆柱体映射法

平面视频是从一个球面上按照圆柱体采样得到的,如图5所示。平面视频帧对应的球面的水平视角范围为[-hfov/2,hfov/2],垂直视角范围为[-vfov/2,vfov/2]。平面视频帧中像素的平面坐标(x,y)和球面坐标(θ,φ)的对应关系为:

θ=(hfov÷360)×2×π×(x-w÷2+0.5)÷w

φ=-arctg(tan(vfov÷360×π)×(h-2×y+1)÷h)

基于终端反馈的控制信号对平面vr视频进行roi处理的过程具体如下:首先,将一幅全景画面均匀划成9个区域,如图6所示,区域5即为roi区域。

设映射后画面的大小为w×h,则每块区域的大小为我们用以下方法将区域下采样:

如图7所示,我们将区域4和6分割成宽度不等的区域,再取其中心部分的一列像素,第一列的宽度设为a0,最后一列的宽度为a0+np,则有同理,在区域2和区域8,我们将其分割成高度不等的区域,再取其中心的一行像素,第一行的高度设为b0,最后一行的宽度为b0+mq,则有而在区域1、3、7和9,将其分成m×n个不同大小的矩形,取其中心的一个像素。综上,将w×h的全景画面下采样成了大小,减少了传输数据量,而roi区域的清晰度未变。

s3:再将vr视频传输到终端,终端对vr视频流进行二次解码后,将平面vr视频反映射成球形视频,在显示设备中对球形视频进行播放;播放过程中,终端根据用户注视点的变化即视线追踪技术向用于roi处理的模块发送控制信息;具体地,播放过程中,当眼球追踪识别到人的关注区域产生变化(如从5区域变到了4区域),则通过显示设备经由数据中心给压缩编码模块传送一个反馈信号,则视频在roi区域处理的时候变换roi区域重新下采样,再经由数据中心传到终端,而此时显示设备的画面产生了变化,原来4区域的图像变到了画面中央,确保roi区域始终处在画面中央,即捕捉到的眼球的动作用来控制画面切换,保证用户的观看舒适度。

同时,s4中,终端具有语音交互功能,在捕捉用户注视点时,通过语音交互,用户自由选择眼动模式或头动模式,通过语音交互还能控制头显的菜单选择,比如:音量,亮度,选择哪个视频源。

眼球追踪模块的整体流程图如图8所示,终端显示器为头盔显示器,简称头显,头显设备上内置低功耗红外光源、光学传感器、眼球追踪传感器、图像处理器,并拥有视点计算核心。在眼球追踪过程中,采用瞳孔—角膜反射技术,通过图像分析计算角膜中心与瞳孔中心的位置信息,得到瞳孔角膜矢量,再结合眼睛光学估计模型可以较为精确地计算出观测者视线方向和关注点位置。

当头显开启,红外光源开始工作,照射眼球,此时眼球追踪传感器模块运行,进行定位和标定,标定分为静态初始化标定和后期头发发生改变后的自适应标定,静态初始化标定指在头部保持基本不动的状态下完成瞳孔中心到参考平面上关注点的映射,标定时眼睛先后注视屏幕上若干个标记点,同时记录下相应的瞳孔中心、场景信息以及屏幕标定点位置利用多项式、神经网络或区域映射的方法建立映射模型。然后对标定的数据进行分析,寻找并获得用户眼球的关注点,即感兴趣区域roi,发送控制信号到压缩编码模块,当用户头部发生运动时,模块会进行自适应的标定修复,通过补偿算法重新计算确定roi。

眼球追踪器的工作流程如图9所示:

s31:对图像进行预处理得到人眼图像,对人眼图像进行平滑处理得到改善后的图像;同时进行场景定位,场景定位即实时检测出显示设备上若干个红外灯的在场景摄像机图像中的位置,它在标定和视线跟踪的时候起着重要作用,是用来克服头部运动影响的关键。

s32:在改善后的图像上找到瞳孔所在区,获取光斑坐标,计算注视点的位置。

s33:提取角膜反射中心,确定瞳孔的位置和大小,瞳孔的位置为眼部摄像机拍摄的图像中提取的瞳孔中心的位置。

s34:采用算法提取瞳孔轮廓特征点,拟合瞳孔轮廓。

s35:进行自适应视点校准。

上述的基于视线追踪技术的vr视频直播交互方法对应的装置,包括依次连接的视频预处理模块,数据中心模块和终端模块。

视频预处理模块包括用于将多路视频源进行拼接得到球形vr视频的vr视频初始获取模块,和用于将初始获取模块获得的球形vr视频进行一次编码的一次编码模块。

数据中心模块包括依次连接的一次解码模块、用于将球形vr视频进行映射处理的映射模块、roi处理模块和二次编码模块。

终端模块包括用于解码的二次解码模块、显示视频的显示模块、用于控制显示模块显示的视频的控制模块。

控制模块包括用于用户对终端实现语音交互的语音交互模块、用于用户视线追踪的视线追踪模块。

眼球追踪模块与roi处理模块连接,并向roi处理模块反馈控制信号。

本发明不局限于上述具体实施例,应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。总之,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

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