图形处理方法、处理器和虚拟现实系统与流程

文档序号:12863279阅读:362来源:国知局
图形处理方法、处理器和虚拟现实系统与流程

本申请涉及图形处理领域,并且更具体地,涉及一种图形处理方法、处理器和虚拟现实系统。



背景技术:

当前生成虚拟现实(virtualreality,vr)场景的一种主流技术是三维(threedimensional,3d)建模技术。3d建模技术生成vr场景主要是根据3d模型制作vr场景。在某些vr游戏产品中,vr场景主要是采用3d建模技术结合实时渲染技术完成的。用户以vr头戴式显示设备,例如vr眼镜或vr头盔等,作为观察媒体,融入到vr场景中,与vr场景中的人物或其他物体进行交互,从而得到真实的空间感受。最常见的例如过山车vr场景等。当前的3d建模技术在处理vr场景中的物体上虽然已经能够达到比较逼真的效果,但是还远远达不到用户要求。



技术实现要素:

本申请提供一种图形处理方法、处理器和虚拟现实系统,能够真实的展现实景物体,为用户提供真实的临场感,从而能够提升用户体验。

第一方面,提供了一种图形处理方法,包括:获取用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息;根据所述左眼位置信息和所述右眼位置信息,从三维模型库中确定出目标三维模型;根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,其中,所述多个视频是分别从不同的拍摄位置拍摄的视频;根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面;根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面;其中,所述左眼画面和所述右眼画面显示在虚拟现实vr显示器上时形成vr场景,所述vr场景中包括所述目标三维模型的图像和所述目标视频的图像。

第一方面的图形处理方法,根据用户的左右眼的位置信息,确定目标三维模型并且根据预先拍摄的多个视频确定目标视频,通过实时渲染的方式渲染技术分别渲染左眼画面和右眼画面,从而显示vr场景,其中,vr场景中包括目标三维模型的图像和目标视频的图像,该目标视频可以真实的展现实景,在保持整个vr场景可交互性的基础上,为用户提供真实的临场感,从而能够提升用户体验。

在第一方面的一种可能的实现方式中,所述根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面,包括:根据所述左眼朝向信息,将所述目标三维模型渲染到第一纹理上;根据所述左眼朝向信息,将所述目标视频渲染到第二纹理上,其中,所述第二纹理是基于广告板面片技术的;所述根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面,包括:根据所述右眼朝向信息,将所述目标三维模型渲染到第三纹理上;根据所述右眼朝向信息,将所述目标视频渲染到第四纹理上,其中,所述第四纹理是基于广告板面片技术的。

应理解,广告板面片在左眼画面可以具有倾斜角度,倾斜角度的具体参数可以根据左眼位置信息来计算;广告板面片在右眼画面可以具有倾斜角度,倾斜角度的具体参数可以根据右眼位置信息来计算。

在第一方面的一种可能的实现方式中,所述根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出至少两个视频;将所述至少两个视频中每个视频在相应时刻对应的视频帧抽取出来;根据所述平均位置和所述至少两个视频的拍摄位置,对所述至少两个视频帧进行插值运算,得到所述当目标视频。

在第一方面的一种可能的实现方式中,所述根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出所述目标视频,其中,所述目标视频的拍摄位置与所述平均位置的距离是所述多个视频的所有的拍摄位置中与所述平均位置最接近的。

在第一方面的一种可能的实现方式中,所述多个视频是对原始视频经过透明处理后的仅包括目标物体的视频。

应理解,透明处理可以是基于阿尔法(alpha)透明技术的处理。

在第一方面的一种可能的实现方式中,所述目标物体为人物。

在第一方面的一种可能的实现方式中,所述左眼位置信息、所述右眼位置信息、所述左眼朝向信息和所述右眼朝向信息是根据所收集的用户当前的姿态信息确定的。

在第一方面的一种可能的实现方式中,所述姿态信息包括头部姿态信息、四肢姿态信息、躯干姿态信息、肌肉电刺激信息、眼球跟踪信息、皮肤感知信息、运动感知信息和脑信号信息中的至少一种。

第二方面,提供了一种处理器,包括获取模块、计算模块和渲染模块,所述获取模块用于获取用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息;所述计算模块用于根据所述获取模块获取的所述左眼位置信息和所述右眼位置信息,从三维模型库中确定出目标三维模型;所述计算模块还用于根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,其中,所述多个视频是分别从不同的拍摄位置拍摄的视频;所述渲染模块用于根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面;所述渲染模块还用于根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面;其中,所述左眼画面和所述右眼画面显示在虚拟现实vr显示器上时形成vr场景,所述vr场景中包括所述目标三维模型的图像和所述目标视频的图像。

在第二方面的一种可能的实现方式中,所述渲染模块具体用于:根据所述左眼朝向信息,将所述目标三维模型渲染到第一纹理上;根据所述左眼朝向信息,将所述目标视频渲染到第二纹理上,其中,所述第二纹理是基于广告板面片技术的;根据所述右眼朝向信息,将所述目标三维模型渲染到第三纹理上;根据所述右眼朝向信息,将所述目标视频渲染到第四纹理上,其中,所述第四纹理是基于广告板面片技术的。

在第二方面的一种可能的实现方式中,所述计算模块根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出至少两个视频;将所述至少两个视频中每个视频在相应时刻对应的视频帧抽取出来;根据所述平均位置和所述至少两个视频的拍摄位置,对所述至少两个视频帧进行插值运算,得到所述当目标视频。

在第二方面的一种可能的实现方式中,所述计算模块根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出所述目标视频,其中,所述目标视频的拍摄位置与所述平均位置的距离是所述多个视频的所有的拍摄位置中与所述平均位置最接近的。

在第二方面的一种可能的实现方式中,所述多个视频是对原始视频经过透明处理后的仅包括目标物体的视频。

在第二方面的一种可能的实现方式中,所述目标物体为人物。

在第二方面的一种可能的实现方式中,所述获取模块获取的所述左眼位置信息、所述右眼位置信息、所述左眼朝向信息和所述右眼朝向信息是根据所收集的所述用户当前的姿态信息确定的。

在第二方面的一种可能的实现方式中,所述姿态信息包括头部姿态信息、四肢姿态信息、躯干姿态信息、肌肉电刺激信息、眼球跟踪信息、皮肤感知信息、运动感知信息和脑信号信息中的至少一种。

应理解,所述处理器可以包括中央处理器cpu和图形处理器gpu中的至少一种。计算模块的功能可以对应cpu,渲染模块的功能可以对应gpu。gpu可以存在于显卡中,又称显示核心、视觉处理器或显示芯片。

第二方面及相应的实现方式所能获得的效果与第一方面及相应的实现方式所能获得的效果对应,此处不再一一赘述。

第三方面,提供了一种图形处理方法,其特征在于,包括:收集用户当前的姿态信息;根据所述姿态信息,得到所述用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息;根据所述左眼位置信息和所述右眼位置信息,从三维模型库中确定出目标三维模型;根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,其中,所述多个视频是分别从不同的拍摄位置拍摄的视频;根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面;根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面;显示所述左眼画面和所述右眼画面,其中,所述左眼画面和所述右眼画面显示时形成vr场景,所述vr场景中包括所述目标三维模型的图像和所述目标视频的图像。

第三方面的图形处理方法,收集用户的姿态信息来确定用户左右眼的位置,根据用户的左右眼的位置信息,确定目标三维模型并且根据预先拍摄的多个视频确定目标视频,通过实时渲染的方式渲染技术分别渲染左眼画面和右眼画面,从而显示vr场景,其中,vr场景中包括目标三维模型的图像和目标视频的图像,该目标视频可以真实的展现实景,在保持整个vr场景可交互性的基础上,为用户提供真实的临场感,从而能够提升用户体验。

在第三方面的一种可能的实现方式中,所述根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面,包括:根据所述左眼朝向信息,将所述目标三维模型渲染到第一纹理上;根据所述左眼朝向信息,将所述目标视频渲染到第二纹理上,其中,所述第二纹理是基于广告板面片技术的;所述根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面,包括:根据所述右眼朝向信息,将所述目标三维模型渲染到第三纹理上;根据所述右眼朝向信息,将所述目标视频渲染到第四纹理上,其中,所述第四纹理是基于广告板面片技术的。

在第三方面的一种可能的实现方式中,所述根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出至少两个视频;将所述至少两个视频中每个视频在相应时刻对应的视频帧抽取出来;根据所述平均位置和所述至少两个视频的拍摄位置,对所述至少两个视频帧进行插值运算,得到所述当目标视频。

在第三方面的一种可能的实现方式中,所述根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出所述目标视频,其中,所述目标视频的拍摄位置与所述平均位置的距离是所述多个视频的所有的拍摄位置中与所述平均位置最接近的。

在第三方面的一种可能的实现方式中,所述多个视频是对原始视频经过透明处理后的仅包括目标物体的视频。

在第三方面的一种可能的实现方式中,所述目标物体为人物。

在第三方面的一种可能的实现方式中,所述收集用户当前的姿态信息,包括:收集所述用户当前的头部姿态信息、四肢姿态信息、躯干姿态信息、肌肉电刺激信息、眼球跟踪信息、皮肤感知信息、运动感知信息和脑信号信息中的至少一种。

第四方面,提供了一种虚拟现实vr系统,包括姿态收集装置、处理装置和显示装置:所述姿态收集装置用于:收集用户当前的姿态信息;所述处理装置用于:根据所述姿态信息,得到所述用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息;根据所述左眼位置信息和所述右眼位置信息,从三维模型库中确定出目标三维模型;根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,其中,所述多个视频是分别从不同的拍摄位置拍摄的视频;根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面;根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面;所述显示装置用于显示所述左眼画面和所述右眼画面,其中,所述左眼画面和所述右眼画面显示时形成vr场景,所述vr场景中包括所述目标三维模型的图像和所述目标视频的图像。

在第四方面的一种可能的实现方式中,所述处理装置根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面,包括:根据所述左眼朝向信息,将所述目标三维模型渲染到第一纹理上;根据所述左眼朝向信息,将所述目标视频渲染到第二纹理上,其中,所述第二纹理是基于广告板面片技术的;所述处理装置根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面,包括:根据所述右眼朝向信息,将所述目标三维模型渲染到第三纹理上;根据所述右眼朝向信息,将所述目标视频渲染到第四纹理上,其中,所述第四纹理是基于广告板面片技术的。

在第四方面的一种可能的实现方式中,所述处理装置根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出至少两个视频;将所述至少两个视频中每个视频在相应时刻对应的视频帧抽取出来;根据所述平均位置和所述至少两个视频的拍摄位置,对所述至少两个视频帧进行插值运算,得到所述当目标视频。

在第四方面的一种可能的实现方式中,所述处理装置根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出所述目标视频,其中,所述目标视频的拍摄位置与所述平均位置的距离是所述多个视频的所有的拍摄位置中与所述平均位置最接近的。

在第四方面的一种可能的实现方式中,所述多个视频是对原始视频经过透明处理后的仅包括目标物体的视频。

在第四方面的一种可能的实现方式中,所述目标物体为人物。

在第四方面的一种可能的实现方式中,所述姿态收集装置具体用于:收集所述用户当前的头部姿态信息、四肢姿态信息、躯干姿态信息、肌肉电刺激信息、眼球跟踪信息、皮肤感知信息、运动感知信息和脑信号信息中的至少一种。

在第四方面的一种可能的实现方式中,所述处理装置包括中央处理器cpu和图形处理器gpu中的至少一种。

第五方面提供一种计算机存储介质,其上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行第一方面或第一方面的任一种可能的实现方式所述的方法。

第六方面提供一种计算机存储介质,其上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行第三方面或第三方面的任一种可能的实现方式所述的方法。

第七方面提供一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行第一方面或第一方面的任一种可能的实现方式所述的方法。

第八方面提供一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行第三方面或第三方面的任一种可能的实现方式所述的方法。

第二方面至第八方面及相应的实现方式所能获得的效果与第一方面及相应的实现方式所能获得的效果对应,此处不再一一赘述。

附图说明

图1是全景视频中的视频帧的示意图。

图2是3d建模技术和全景视频拍摄技术分别生成的vr场景的对比示意图。

图3是本发明一个实施例的图形处理方法的示意性流程图。

图4是本发明一个实施例的需要呈现的场景的示意图。

图5是本发明一个实施例的进行预先拍摄的场景的示意图。

图6是本发明一个实施例的在不同拍摄位置得到的视频的示意图。

图7是本发明一个实施例的确定目标视频的示意图。

图8是本发明一个实施例的呈现目标视频的示意图。

图9是本发明一个实施例的处理器的示意性框图。

图10是本发明一个实施例的虚拟现实系统的示意图。

图11是本发明另一个实施例的虚拟现实系统的示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

下面介绍生成vr场景的另一种技术,即采用全景视频拍摄技术生成vr场景。全景视频又称为360度立体(stereo)视频,其与普通视频类似,只是全景视频包括了拍摄点的全方位信息。图1是全景视频中的视频帧的示意图。全景视频拍摄技术生成vr场景是通过专业的全景视频拍摄设备及拍摄团队完成vr场景的全景视频的拍摄,然后将全景视频转换成vr场景。由于全景视频是预先拍摄的,因此对于通过全景视频拍摄技术生成的vr场景,用户只能变化眼睛的朝向来观看视频,不可能融入vr场景中,与vr场景中的人物或其他物体进行交互。同时,由于全景视频包括全方位信息,所以全景视频文件一般非常庞大,生成的vr场景的文件也很庞大。

图2是3d建模技术和全景视频拍摄技术分别生成的vr场景的对比示意图。如图2所示,3d建模技术生成的vr场景的图像为数字型的可互动的图像,需要通过实时渲染技术来实现;而全景视频拍摄技术生成的vr场景则为实景动画,不需要通过实时渲染技术实现。3d建模技术生成的vr场景机动性较好,其提供一种沉浸式的场景体验,用户可以在场景中四处走动;而全景视频拍摄技术生成的vr场景则限于导演所拍摄的场景,用户可以从镜头的位置出发,获得360度观看角度,但是不可以在场景中四处走动。3d建模技术生成的vr场景以用户活动为时间轴,vr场景可以通过一系列的用户活动进行播放,用户还可以体验自主探索出的新的vr场景;全景视频拍摄技术生成的vr场景则以导演镜头移动为时间轴,vr场景按照导演拍摄顺序播放。3d建模技术生成的vr场景的播放平台通常需要vr头戴式显示设备(简称为vr头显设备),例如vr眼镜或vr头盔等,vr头显设备可以连接pc或移动设备等;全景视频拍摄技术生成的vr场景的播放平台则通常为包括全景视频播放器的计算设备或平台,包括pc、移动设备、youtube平台等。3d建模技术生成的vr场景讲故事模式是用户触发剧情,导演不会在已构建的场景中控制用户的物理位置,需引导、激发用户顺着故事发展方向去触发后续剧情;全景视频拍摄技术生成的vr场景讲故事模式是导演控制镜头的物理移动,来触发剧情,以吸引用户的注意力来观看。

由此可见,3d建模技术生成vr场景主要是根据3d模型制作vr场景,用户可以融入vr场景中,与vr场景中的人物或其他物体进行交互。然而,当前的3d建模技术在处理物体时得到的逼真程度,远远达不到用户要求。全景视频拍摄技术制作的vr场景,用户不能与vr场景中的人物或其他物体进行交互,并且生成的vr场景的文件巨大。基于以上技术问题,本发明实施例提供了一种图形处理方法、处理器和vr系统。

应理解,本发明各实施例的方法和设备应用于vr场景领域,例如,可以应用于vr游戏领域,还可以应用于其他的可交互场景,例如可交互的vr电影,可交互的vr演唱会等,本发明各实施例对此不作限定。

在详细说明本发明实施例的图形处理方法之前,首先介绍本发明各实施例涉及的实时渲染技术。实时渲染技术的本质是图形数据的实时计算和输出,其最大的特性是实时(realtime)性。当前,个人电脑(personalcomputer,pc)、工作站、游戏机、移动设备或vr系统等中的处理器每秒至少以24帧以上的速度进行运算。也就是说,渲染一屏幕的图像,至少也要在1/24秒以内。而在实际的3d游戏中,每秒帧数要求则更高得多。正是由于实时渲染的实时性,才有可能实现3d游戏的连贯播放,以及实现3d游戏中用户与游戏场景中的人物或其他物体进行交互。

本发明各实施例涉及的实时渲染可以是通过中央处理器(centralprocessingunit,cpu)或图形处理器(graphicsprocessingunit,gpu)实现的,本发明实施例对此不作限定。具体而言,gpu是一种专门用于实现图像运算工作的处理器,其可以存在于显卡中,又称显示核心、视觉处理器或显示芯片。

图3是本发明一个实施例的图形处理方法300的示意性流程图。该方法300由vr系统30执行。其中,vr系统30可以包括姿态收集装置32、处理装置34和显示装置36。该方法300可以包括以下步骤。

s310,收集用户当前的姿态信息。应理解,s310可以由姿态收集装置32来执行。

s320,根据姿态信息,得到用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息。

s330,根据左眼位置信息和右眼位置信息,从三维模型库中确定出目标三维模型。

s340,根据左眼位置信息、右眼位置信息和预先拍摄的多个视频,确定目标视频,其中,多个视频是分别从不同的拍摄位置拍摄的视频。

s350,根据左眼朝向信息、目标三维模型和目标视频,实时渲染左眼画面。

s360,根据右眼朝向信息、目标三维模型和目标视频,实时渲染右眼画面。

应理解,s320至s360可以由处理装置34来执行。

s370,显示左眼画面和右眼画面,其中,左眼画面和右眼画面显示时形成vr场景,vr场景中包括目标三维模型的图像和目标视频的图像。

应理解,s370可以由显示装置36来执行。

本发明实施例的图形处理方法,收集用户的姿态信息来确定用户左右眼的位置,根据用户的左右眼的位置信息,确定目标三维模型并且根据预先拍摄的多个视频确定目标视频,通过实时渲染的方式渲染技术分别渲染左眼画面和右眼画面,从而显示vr场景,其中,vr场景中包括目标三维模型的图像和目标视频的图像,该目标视频可以真实的展现实景,在保持整个vr场景可交互性的基础上,为用户提供真实的临场感,从而能够提升用户体验。

应理解,通常而言vr系统30包括vr头显设备,显示装置36可以集成在vr头显设备中。本发明实施例的处理装置34和/或姿态收集装置32可以集成在vr头显设备中,也可以独立于vr头显设备单独部署。姿态收集装置32、处理装置34和显示装置36之间可以通过有线通信也可以通过无线通信,本发明实施例对此不作限定。

下面具体描述本申请的图形处理方法300的各个步骤以及vr系统30的各组件。

在本发明实施例中,s310,姿态收集装置32收集用户当前的姿态信息。

姿态收集装置32可以包括vr头戴式显示设备,例如vr眼镜或vr头盔中的传感器。传感器可以包括光敏传感器,例如红外传感器、摄像头等;传感器还可以包括力敏传感器,例如陀螺仪等;传感器还可以包括磁敏传感器,例如脑机接口等;传感器还可以包括声敏传感器等,本发明实施例对传感器的具体类型不作限定。vr头戴式显示设备中的传感器可以收集用户当前的头部姿态信息、眼球跟踪信息、皮肤感知信息、肌肉电刺激信息和脑信号信息中的至少一种。后续处理装置34可以根据这些信息确定用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息。

在一个具体的例子中,在vr场景中,用户的视角是指用户的人眼视线方向在虚拟空间中的方位角,其中,包括人眼的位置和朝向。在虚拟空间中,用户的视角可以随用户的头部在现实空间中姿态的变化而变化。在一种具体的情况下,虚拟空间中用户的视角的变化与现实空间中用户的头部姿态的变化同速且同方向。其中,用户的视角又包括左眼视角和右眼视角,即包括用户的左眼位置、右眼位置、左眼朝向和右眼朝向。

在该例子中,用户佩戴的vr头显设备上的传感器可以在用户使用vr头显设备的过程中感测头部的转动、移动等运动及其姿态变化,并对各项运动进行解算,得到相关的头部姿态信息(例如运动的速度、角度等),处理装置34根据得到的头部姿态信息就可以确定用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息。

姿态收集装置32还可以包括定位器、操控手柄、体感手套、体感衣服,以及跑步机等动感装置等等,用于收集用户的姿态信息,继而由处理装置34处理得到用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息。其中,姿态收集装置32可以通过操控手柄、体感手套、体感衣服和跑步机等收集用户的四肢姿态信息、躯干姿态信息、肌肉电刺激信息、皮肤感知信息和运动感知信息等。

在一个具体的例子中,vr头显设备上可以设有一个或多个定位器,用于监测用户头部位置(可以包括高度)、朝向等。此时,用户在佩戴vr头显设备所在的现实空间中可以设有定位系统,该定位系统可以与用户佩戴的vr头显设备上的一个或多个定位器进行定位通信,确定用户在此现实空间中的具体位置(可以包括高度)、朝向等姿态信息。然后。可以由处理装置34将上述姿态信息转换为用户头部在虚拟空间中的相关位置(可以包括高度)、朝向等信息。亦即,处理装置34得到用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息。

应理解,本发明实施例的左眼位置信息、右眼位置信息可以通过在坐标系中的坐标值来表示;左眼朝向信息和右眼朝向信息可以通过在坐标系中的一个向量来表示,但本发明实施例对此不作限定。

还应理解,姿态收集装置32在收集到姿态信息后,需通过有线通信或无线通信,将姿态信息发送给处理装置34,文中对此不进行赘述。

还应理解,本发明实施例还可以通过其他方式收集用户的姿态信息,通过其他的方式来获取和/或表示左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息,本发明实施例对具体的方式不作限定。

在vr场景的设计中,例如在vr场景的游戏设计中,一个位置被设计为对应一个物体组。在一个具体的例子中,用户的左眼位置le和右眼位置re分别对应的物体如图4所示。用户的左眼位置对应物体l41、物体43、物体44、物体46和人物42,用户的右眼位置对应物体r45、物体43、物体44、物体46和人物42。其中,该人物42是希望被改善其真实性的物体,为目标物体。

具体地,确定用户的左眼位置或右眼位置对应的物体组中哪个物体是目标物体,可以基于vr场景的设计。例如,每个场景或多个场景可以存在一个目标物体列表,在生成vr场景时,根据目标物体列表找到该目标场景中的目标物体。再如,在vr场景的游戏设计中规定,近景(距离用户一定范围内的场景)处的人物是目标物体,近景处除人物以外的其他物体不是目标物体,远景(距离用户一定范围外的场景)处的所有物体均不是目标物体,等等。确定场景中的目标物体可以由处理装置34来执行,例如可以由处理装置34中的cpu确定,本发明实施例对此不作限定。

应理解,对于vr场景而言,其中除目标物体以外的其他物体可以是预先通过3d建模生成3d模型,存储在3d模型库中。具体而言,图4示出的物体l41、物体43、物体44、物体r45和物体46的3d模型均存储在3d模型库中。处理装置34(例如处理装置34中的cpu)得到左眼位置信息和右眼位置信息后,从3d模型库中确定出目标三维模型,即物体l41、物体43、物体44、物体r45和物体46的3d模型,以供后续渲染画面使用。当然,也可以通过其他方式确定目标三维模型,本发明实施例对此不作限定。

对于vr场景中的目标物体,例如图4所示的vr场景中的人物42,则根据预先拍摄的多个视频来生成。其中,该多个视频是分别从不同的拍摄位置拍摄的包括目标物体的视频。

具体地,假设该目标物体是人物42,则本发明实施例会从多个拍摄位置预先拍摄的关于该人物42的多个视频。图5示出了预先拍摄的场景的示意图。如图5所示,要拍摄的场景中包括人物42、物体52和物体54,要拍摄的场景尽量与最终显示的vr场景的情况接近,以增加真实感。针对要拍摄的场景,可以在水平方向上放置多个拍摄设备,分别从拍摄位置c1、拍摄位置c2和拍摄位置c3进行摄像,可以得到人物在不同拍摄位置的原始视频如图6所示。

应理解,预先拍摄视频时可以在距离目标物体一定半径的圆周上进行拍摄。在该圆周上拍摄位置选取得越多越密集,从中选择出与用户的左眼位置或右眼位置相同或相近的概率也越大,最终选择出的或者计算出的目标视频放到vr场景中的真实性也越高。

在本发明实施例中,多个视频可以是对原始视频经过透明处理后的仅包括目标物体的视频。具体地,可以将分别从3个拍摄位置所拍摄的3个视频中将人物42与构成背景的物体52和物体54进行分离,就可以得到只包括人物42的3个视频。3个视频是在相同的时间进行摄制的时间长度也相同的视频。

可选地,本发明实施例中,透明处理可以是基于阿尔法(alpha)透明技术的处理。具体而言,如果vr场景的3d环境中允许像素拥有一组alpha值,alpha值用来记载像素的透明度,这样使得物体可以拥有不同的透明程度。本发明实施例中,可以将原始视频中的目标物体人物42处理为不透明的,构成背景的物体52和物体54处理为透明的。

一种具体的方案中,s340根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,可以包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出所述目标视频,其中,所述目标视频的拍摄位置与所述平均位置的距离是所述多个视频的所有的拍摄位置中与所述平均位置最接近的。

应理解,本发明各实施例中,左眼位置、右眼位置和拍摄位置在vr场景中可以统一表示为虚拟空间的坐标,例如在x轴、y轴和z轴三轴坐标系的坐标或者球坐标。左眼位置、右眼位置和拍摄位置也可以以其他形式表示,本发明实施例对此不作限定。

在本方案中,对左眼位置信息和右眼位置信息求平均值,得到平均位置。例如,以三轴坐标系为例,左眼位置为(x1,y1,z1),右眼位置为(x2,y2,z2),则平均位置为((x1+x2)/2,(y1+y2)/2,(z1+z2)/2)。从多个视频中选出拍摄位置与平均位置最接近的视频作为目标视频。

在多个拍摄位置是距离目标物体一定半径的圆周上的多个位置的情况下,目标视频的拍摄位置与平均位置最接近可以理解为目标视频的拍摄位置(xt,yt,zt)与平均位置((x1+x2)/2,(y1+y2)/2,(z1+z2)/2)的距离需小于预设的阈值,即保证目标视频的拍摄位置与平均位置的距离足够小。

在多个拍摄位置不在距离目标物体一定半径的圆周上的情况下,目标视频的拍摄位置与平均位置最接近可以理解为,平均位置与目标物体构成的线段与目标视频的拍摄位置与目标物体构成的线段之间的夹角是平均位置与目标物体构成的线段与所有拍摄位置与目标物体构成的线段之间的夹角中角度最小的。

另一种具体的方案中,s340根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,可以包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出至少两个视频;将所述至少两个视频中每个视频在相应时刻对应的视频帧抽取出来;根据所述平均位置和所述至少两个视频的拍摄位置,对所述至少两个视频帧进行插值运算,得到所述当目标视频。

在这个方案中,可以选取用户的左眼和右眼平均位置的左右至少各一个拍摄位置,从多个视频中选取出左右至少各一个拍摄位置拍摄的视频,作为计算目标视频的参考。截取至少两个视频在同一时刻对应的视频帧进行插值运算,得到目标视频。

在多个拍摄位置是距离目标物体一定半径的圆周上的多个位置的情况下,从多个视频中选取至少两个视频可以是选取与平均位置((x1+x2)/2,(y1+y2)/2,(z1+z2)/2)的距离最小的至少两个视频。至少两个视频的拍摄位置至少有一个分布在平均位置的左侧,并且至少有一个分布在平均位置的右侧。

在多个拍摄位置不在距离目标物体一定半径的圆周上的情况下,从多个视频中选取至少两个视频可以是,平均位置与目标物体构成的线段与至少两个视频的拍摄位置与目标物体构成的线段之间的夹角是平均位置与目标物体构成的线段与所有拍摄位置与目标物体构成的线段之间的夹角中角度最小的几个。至少两个视频的拍摄位置至少有一个分布在平均位置的左侧,并且至少有一个分布在平均位置的右侧。

应理解,在本发明实施例中,还可以根据其他的准则选取作为参考的视频,本发明实施例对戏不作限定。

还应理解,在本发明实施例中,不同拍摄位置拍摄到的视频代表着观察目标物体(例如,人物42)时的不同的观察位置。换句话说,图6所示的3个视频在同一物理时刻对应的视频帧,是在不同的观察位置观察时的图像。3个拍摄角度分别可以对应3个拍摄位置c1、c2和c3。

应理解,在本发明实施例中,除了预先拍摄多个视频以外,也可以采用从多个拍摄位置预先拍摄目标物体的多组照片(或多组图像)。根据左眼位置和右眼位置(或者平均位置)与多个拍摄位置的关系,从多组图像中找到至少两个拍摄位置对应的至少两张图像,对至少两张图像进行插值运算,得到目标图像。具体的插值算法,会在下文中详细描述。

图7是本发明一个实施例的确定目标视频的示意图。根据平均位置,从多个视频中选取出至少两个视频,将至少两个视频中每个视频在相应时刻对应的视频帧抽取出来,根据平均位置和至少两个视频的拍摄位置,对至少两个视频帧进行插值运算,得到当目标视频的具体过程可以如图7所示。

用户在观察vr场景时,观察位置可以发生变化,例如用户在面向vr场景时,观察位置可以沿左右方向移动。3个拍摄位置分别为c1、c2和c3。c1、c2和c3可以通过三维直角坐标系的坐标值来表示,也可以通过球坐标系的坐标值表示,还可以通过其他方式表示,本发明实施例对此不作限定。根据用户的左眼位置信息和右眼位置信息,可以确定用户观察时的平均位置cview。如图7所示,平均位置cview在c1和c2之间。在确定目标视频时,因为平均位置cview介于c1和c2之间,因此选取在拍摄位置c1和c2预先拍摄的视频作为参考。在生成目标视频的视频帧(图像)时,同时取出c1和c2分别对应的视频在同一时刻对应的视频帧i1和i2,然后对两个视频帧i1和i2进行插值,例如可以是线性插值。其中,插值的权重依据平均位置cview与c1和c2的距离而定。输出的目标视频的视频帧iout=i1*(1-(c1-cview/c1-c2))+i2*(1-(c2-cview/c1-c2))。

应理解,以上只讨论了用户的观察位置沿左右方向移动的情况,如果用户的观察位置前后移动,因为是在vr的3d场景中,所以观察者看到的人物自然会呈现近大远小的效果,虽然在物理上显示的角度也应该有所变化,但是这种变化影响很小,一般用户不会在意或者观察到。此外,在一般的场景中,用户只会前后左右移动,很少会进行在上下方向上进行大范围移动,所以对于根据本发明实施例的方法确定的目标视频,用户所产生的失真感觉也很小。

应理解,本发明实施例以目标物体为人物为例进行说明。当然目标物体也可以为要求真实性的动物,甚至建筑物或植物等等,本发明实施例对此不作限定。

可选地,在本发明实施例中,s350根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面,可以包括:根据所述左眼朝向信息,将所述目标三维模型渲染到第一纹理上;根据所述左眼朝向信息,将所述目标视频渲染到第二纹理上,其中,所述第二纹理是基于广告板面片技术的;s360根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面,可以包括:根据所述右眼朝向信息,将所述目标三维模型渲染到第三纹理上;根据所述右眼朝向信息,将所述目标视频渲染到第四纹理上,其中,所述第四纹理是基于广告板面片技术的。

下面,结合图8详细说明本发明实施例中渲染左眼画面和右眼画面的过程。如前文描述,处理装置34(例如其中的cpu)在s330中已经确定目标三维模型,在s340中已经确定目标视频。处理装置34(例如其中的gpu)根据左眼朝向信息,确定应呈现的左眼画面;根据右眼朝向信息,确定应呈现的右眼画面。例如如图4所示的场景中,根据左眼朝向信息(面向人物42),确定左眼画面中呈现物体l41、物体43、物体44和人物42;根据右眼朝向信息(面向人物42),确定右眼画面中呈现物体43、物体44、物体r45和人物42。

处理装置34(例如其中的gpu)将目标三维模型物体l41、物体43和物体44,渲染到左眼画面l800的第一纹理82上,将所述目标视频渲染到左眼画面l800的第二纹理84上;将目标三维模型物体43、物体44和物体r45渲染到右眼画面r800的第三纹理86上,将所述目标视频渲染到右眼画面r800的第四纹理88上。

具体地,分别对于左眼画面和右眼画面,可以在画面的目标物体的位置设置广告板(billboard)面片,在广告板面片上呈现目标视频。广告板技术是计算机图形学领域中进行快速绘制的一种方法。在类似3d游戏这种对实时性要求较高的情况下,采取广告板技术可以大大加快绘制的速度从而提高3d游戏画面的流畅性。广告板技术是在3d场景中,用2d来表示物体,让该物体始终朝向用户。

具体地,广告板面片在左眼画面可以具有倾斜角度,倾斜角度的具体参数可以根据左眼位置信息来计算;广告板面片在右眼画面可以具有倾斜角度,倾斜角度的具体参数可以根据右眼位置信息来计算。

实际上,由于vr场景是实时渲染的,在任一时刻,可以认为是将前述通过插值得到的视频帧呈现在目标物体的位置上。在场景变化的一个连续时间段内,可以等效为视频在广告板面片上进行播放。

如图8所示,在目标物体对应的位置设置广告板面片,将视频的每一帧作为贴图纹理绘制到上述广告板面片的贴图,则视频的每一帧会是一直是面对用户的。

应理解,在渲染左眼画面和右眼画面时,可以采用深度缓冲技术与广告板技术结合。深度缓冲技术有助于目标物体按远近距离与其他物体形成遮挡关系和大小比例关系。本发明实施例中,渲染目标视频还可以使用其他技术,本发明实施例对此不作限定。

还应理解,本发明实施例还提供一种图形处理方法,包括步骤s320至s360,方法由处理器执行。

还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

上文中结合图1至图8,详细描述了根据本发明实施例的图形处理方法。下面将结合图9和图10,详细描述根据本发明实施例的处理器和vr系统。

图9是本发明一个实施例的处理器900的示意性框图。处理器900可以对应于前文所述的处理装置34。如图9所示,处理器900可以包括获取模块910、计算模块920和渲染模块930。

获取模块910用于获取用户的左眼位置信息、右眼位置信息、左眼朝向信息和右眼朝向信息。

计算模块920用于根据所述获取模块获取的所述左眼位置信息和所述右眼位置信息,从三维模型库中确定出目标三维模型;计算模块920还用于根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,其中,所述多个视频是分别从不同的拍摄位置拍摄的视频。

渲染模块930用于根据左眼朝向信息、所述目标三维模型和所述目标视频,实时渲染左眼画面;渲染模块930还用于根据右眼朝向信息、所述目标三维模型和所述目标视频,实时渲染右眼画面;其中,所述左眼画面和所述右眼画面显示在虚拟现实vr显示器上时形成vr场景,所述vr场景中包括所述目标三维模型的图像和所述目标视频的图像。

本发明实施例的图形处理装置,根据用户的左右眼的位置信息,确定目标三维模型并且根据预先拍摄的多个视频确定目标视频,通过实时渲染的方式渲染技术分别渲染左眼画面和右眼画面,从而显示vr场景,其中,vr场景中包括目标三维模型的图像和目标视频的图像,该目标视频可以真实的展现实景,在保持整个vr场景可交互性的基础上,为用户提供真实的临场感,从而能够提升用户体验。

可选地,作为一个实施例,所述渲染模块930具体可以用于:根据所述左眼朝向信息,将所述目标三维模型渲染到第一纹理上;根据所述左眼朝向信息,将所述目标视频渲染到第二纹理上,其中,所述第二纹理是基于广告板面片技术的;根据所述右眼朝向信息,将所述目标三维模型渲染到第三纹理上;根据所述右眼朝向信息,将所述目标视频渲染到第四纹理上,其中,所述第四纹理是基于广告板面片技术的。

可选地,作为一个实施例,所述计算模块920根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,可以包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出至少两个视频;将所述至少两个视频中每个视频在相应时刻对应的视频帧抽取出来;根据所述平均位置和所述至少两个视频的拍摄位置,对所述至少两个视频帧进行插值运算,得到所述当目标视频。

可选地,作为一个实施例,所述计算模块920根据所述左眼位置信息、所述右眼位置信息和预先拍摄的多个视频,确定目标视频,可以包括:对所述左眼位置信息和所述右眼位置信息求平均值,得到平均位置;根据所述平均位置,从所述多个视频中选取出所述目标视频,其中,所述目标视频的拍摄位置与所述平均位置的距离是所述多个视频的所有的拍摄位置中与所述平均位置最接近的。

可选地,作为一个实施例,所述多个视频是对原始视频经过透明处理后的仅包括目标物体的视频。

可选地,作为一个实施例,所述目标物体为人物。

可选地,作为一个实施例,所述获取模块910获取的所述左眼位置信息、所述右眼位置信息、所述左眼朝向信息和所述右眼朝向信息是根据所收集的所述用户当前的姿态信息确定的。

可选地,作为一个实施例,所述姿态信息包括头部姿态信息、四肢姿态信息、躯干姿态信息、肌肉电刺激信息、眼球跟踪信息、皮肤感知信息、运动感知信息和脑信号信息中的至少一种。

应理解,所述处理器900可以是cpu也可以是gpu。处理器900还可以既包括cpu的功能又包括gpu的功能,例如,获取模块910和计算模块920的功能(s320至s340)由cpu执行,渲染模块930的功能(s350和s360)由gpu执行,本发明实施例对此不作限定。

图10示出的是本发明实施例的一种vr系统的示意图。图10所示的是一种vr头盔1000,vr头盔1000可以包括头部跟踪器1010、cpu1020、gpu1030和显示器1040。其中,头部跟踪器1010对应于姿态收集装置,cpu1020和gpu1030对应于处理装置,显示器1040对应于显示装置,此处对头部跟踪器1010、cpu1020、gpu1030和显示器1040的功能不再赘述。

应理解,图10示出的头部跟踪器1010、cpu1020、gpu1030和显示器1040集成在vr头盔1000中。在vr头盔1000外部还可以有其他的姿态收集装置,收集用户的姿态信息,发送给cpu1020进行处理,本发明实施例对此不作限定。

图11示出的是本发明实施例的另一种vr系统的示意图。图11所示的是一种vr眼镜1110与主机1120构成的vr系统,vr眼镜1110可以包括角度感应器1112、信号处理器1114、数据传输器1116和显示器1118。其中,角度感应器1112对应于姿态收集装置,主机1120中包括cpu和gpu对应于处理装置来计算并渲染画面,显示器1118对应于显示装置。角度感应器1112收集用户的姿态信息,将姿态信息发送给主机1120进行处理,主机1120计算并渲染左眼画面和右眼画面,并将左眼画面和右眼画面发送给显示器1118进行显示。信号处理器1114和数据传输器1116主要用于vr眼镜1110与主机1120之间的通信。

在vr眼镜1110外部还可以有其他的姿态收集装置,收集用户的姿态信息,发送给主机1120进行处理,本发明实施例对此不作限定。

本发明实施例的虚拟现实系统,收集用户的姿态信息来确定用户左右眼的位置,根据用户的左右眼的位置信息,确定目标三维模型并且根据预先拍摄的多个视频确定目标视频,通过实时渲染的方式渲染技术分别渲染左眼画面和右眼画面,从而显示vr场景,其中,vr场景中包括目标三维模型的图像和目标视频的图像,该目标视频可以真实的展现实景,在保持整个vr场景可交互性的基础上,为用户提供真实的临场感,从而能够提升用户体验。

本发明实施例还提供一种计算机可读存储介质,其上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述方法实施例的图形处理方法。具体地,该计算机可以为上述vr系统或者为处理器。

本发明实施例还提供一种包括指令的计算机程序产品,其特征在于,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述方法实施例的图形处理方法。具体地,该计算机程序产品可以运行于vr系统或者处理器中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digitalvideodisc,dvd))、或者半导体介质(例如,固态硬盘(solidstatedisk,ssd))等。

应理解,本文中涉及的第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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