用于虚拟和现实场景的立体显示方法、装置及电子设备的制造方法_2

文档序号:9924081阅读:来源:国知局
、投影矩阵或模拟鼠标的位置信息进行变换 或修改,从而利用修改后的观察矩阵、投影矩阵或模拟鼠标的位置信息构建虚拟场景的立 体图像,进而在一定程度上减轻用户在使用虚拟与现实设备时在同步观察视角时所产生的 不适感。此外,本发明实施例所提供了=种不同的用于虚拟和现实场景的立体显示方法来 实现虚拟场景下的观察视角与现实用户头部位置变化后的观察视角的同步,可W针对不同 的显示场景使用,因此应用范围非常广泛。
[0079] 首先需要说明的是,本发明的实施例中假设虚拟场景中和真实场景中用户的头部 位置的观察转动角度是相同的,并且位置的偏移在结合标尺(Scale)后也是相同的。结合 上面的假设,本发明的实施例中,根据真实场景中用户头部位置的跟踪数据,变换虚拟场景 中观察的方位,即同步观察视角。
[0080] 还需要说明的是,本发明实施例可W应用在穿戴式的3D显示场景,还可W应用在 裸眼3D显示场景,本发明对此不做限定。
[0081] W下对本发明实施例提供的用于虚拟和现实场景的立体显示方法、装置和电子设 备进行详细说明。
[0082] 如图1所示,本发明的实施例一提供一种用于虚拟和现实场景的立体显示方法,
[0083] 步骤11,跟踪用户的头部位置,获取用户头部位置的实时跟踪数据。
[0084] 可选的,如果用户是穿戴式的方式观看3D内容,可通过速度传感器或者加速度传 感器等传感器件跟踪用户的头部位置从而获取用户头部位置的实时跟踪数据,如果是裸眼 3D场景,可通过摄像头跟踪用户的头部位置从而获取用户头部位置的实时跟踪数据,本领 域技术人员可W任意选择。
[00化]具体的,用户头部位置的实时跟踪数据可W包括头部在=维空间中的实时转动角 度,可通过预先建立一=维坐标系,从而获取用户头部相对于X轴的旋转角度、相对于Y轴 的旋转角度W及相对于Z轴的旋转角度来共同表示用户头部的实时转动角度。当然,用户 头部位置的实时跟踪数据还可包括头部在=维空间的实时平移距离,与实时转动角度类 似,在此不做详述。
[0086] 举例说明,如图2所示,用户头部的实时跟踪数据包括头部在=维空间中的转动 角度(Pitch, Yaw, Roll);其中,Pitch :用户头部相对于X轴的转动角度;Yaw :用户头部相 对于y轴的转动角度;Roll :用户头部相对于Z轴的转动角度。
[0087] 步骤12,根据用户头部位置的实时跟踪数据,确定用于虚拟场景的模拟鼠标的移 动量。
[0088] 本实施例提供的立体显示方法可W适用于支持鼠标转动视角的应用场景中,即鼠 标的移动可W控制偏转视角。将用户头部位置的实时跟踪数据与鼠标移动量绑定,则可W 根据实时跟踪数据,例如用户头部的实时转动角度确定鼠标的移动量。
[0089] 具体的,其中鼠标可W为虚拟鼠标也可W为实际的鼠标,但是基于不影响3D内容 整体画面感的前提,本申请中所指的鼠标一般为虚拟鼠标,即用于虚拟场景中的模拟鼠标。 该模拟鼠标是与真实场景的实际鼠标相对应的,实际鼠标移动,该模拟鼠标相应移动,3D内 容随模拟鼠标的移动而移动。可W理解的是,模拟鼠标可W是存在显示于虚拟场景中的,也 可W是用于控制虚拟场景的视角改变的后台数据。本实施例中,将用户头部位置的改变与 模拟鼠标的位置关联,从而改变虚拟场景的视角。
[0090] 步骤13,根据所述模拟鼠标的移动量,修改所述模拟鼠标的位置信息,W实现根据 修改后的所述模拟鼠标的位置信息生成并显示虚拟场景的立体图像,从而对虚拟场景的观 察视角进行变换,实现虚拟场景下的观察视角与用户头部位置变化后的观察视角同步。
[0091] 具体的,得到模拟鼠标的移动量后,修改模拟鼠标的位置信息,从而使得应用程序 (例如3D游戏等)控制所述模拟鼠标移动,则游戏画面会由于模拟鼠标的移动而变换,从而 达到游戏画面与用户头部的转动同步的目的。
[0092] 本发明的实施例一提供的立体显示方法中观察视角的同步方法即利用模拟鼠标 进行偏转视角的方法,该方法适用于支持鼠标转动视角的应用,例如游戏应用,虽然此方式 会影响正常鼠标的操作,但是在游戏的视角转换中,不影响整个管线和流程,更贴近与原游 戏本身操控。
[0093] 优选的,为了避免头部位置数据的突然波动而造成观察视角的突变,进而使得用 户产生眩晕感,本发明的具体实施例中,在所述根据所述实时跟踪数据,确定用于虚拟场景 的模拟鼠标的移动量前,所述方法还包括:
[0094] 对所述实时跟踪数据进行平滑滤波处理,得到平滑滤波处理后的实时跟踪数据;
[0095] 所述根据所述实时跟踪数据,确定用于虚拟场景的模拟鼠标的移动量包括:
[0096] 根据所述平滑滤波处理后的实时跟踪数据,确定用于虚拟场景的模拟鼠标的移动 量。
[0097] 运样,可W在后续构建并显示立体图像从而改变观察视角时,能够在一定程度上 减弱用户的不适感,提升用户体验。
[0098] 具体的,本发明提供的实施例一中步骤12可W包括:
[0099] 步骤121,根据所述实时跟踪数据,确定所述用户头部的实时转动角度。
[0100] 可W理解的是,在很多场景中,例如第一人称射击游戏中,只关注头部关于X轴和 Y轴的旋转变换,则可直接根据X轴数据和Y轴数据确定用户头部的实时转动角度。 阳101] 步骤122,根据所述用户头部的实时转动角度,确定用于虚拟场景的模拟鼠标的移 动量。
[0102] 进一步的,本发明提供的实施例一中步骤11包括: 阳103] 步骤111,获取用户头部的当前帖的跟踪数据和该用户头部前一帖的跟踪数据;
[0104] 例如,即取出当前帖的头部跟踪数据中的PitcM头部绕X轴旋转角度),Yaw(头 部绕y轴旋转角度),作为基准值;再获取前一帖的Pitch, Yaw。根据当前帖的头部跟踪数 据和前一帖的跟踪数据能够准确的确定用户头部的转动角度。
[01化]步骤112,获取当前帖的跟踪数据和前一帖的跟踪数据的差值,并由所述差值确定 所述实时转动角度。
[0106] 具体的,将当前帖的PitcM头部绕X轴旋转角度),Yaw(头部绕y轴旋转角度) 和前一帖的PitcM头部绕X轴旋转角度),Yaw(头部绕y轴旋转角度)分别作差,得到 APitch, A Yaw。该APitch, A Yaw分别为用户头部沿X轴和沿Y轴的实时转动角度。 阳107] 进一步的,本发明的实施例一中步骤122包括:
[0108] 步骤1221,将所述用户头部的实时转动角度与一预设转换系数相乘,得到用于虚 拟场景的所述模拟鼠标的移动量。
[0109] 即将上述步骤112得到的APitch, AYaw分别乘W-预设转换系数,该预设转 换系数为用来转换头部转动角度和鼠标偏移量的转换因子,从而得到Ax, Ay;从而通过 A X,A y,改变鼠标位置:鼠标.X+ = A X ;鼠标.y+ = A y ;即将模拟鼠标沿X轴移动A X, 沿Y轴移动A y,即可达到偏转视角的目的,从而实现用户的观察视角的同步。
[0110] 为了更好的实现上述目的,如图3所示,本发明的实施例二还提供一种用于虚拟 和现实场景的立体显示装置,包括: 阳111] 第二跟踪获取模块21,用于跟踪用户的头部位置,获取用户头部位置的实时跟踪 数据;
[0112] 确定模块22,用于根据用户头部位置的实时跟踪数据,确定用于虚拟场景的模拟 鼠标的移动量;
[0113] 位置修改模块23,用于根据所述模拟鼠标的移动量,修改所述模拟鼠标的位置信 息,W使实现根据修改后的所述模拟鼠标的位置信息生成并显示虚拟场景的立体图像,从 而对虚拟场景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部位置变化后的 观察视角同步。
[0114] 优选的,本发明提供的实施例二中还可包括:
[0115] 平滑处理模块,用于对所述实时跟踪数据进行平滑滤波处理,得到平滑滤波处理 后的实时跟踪数据;
[0116] 则,确定模块22用于根据所述平滑滤波处理后的实时跟踪数据,确定用于虚拟场 景的模拟鼠标的移动量。
[0117] 本发明提供的实施例二中确定模块22可包括:
[0118] 第一确定子模块,用于根据所述实时跟踪数据,确定所述用户头部的实时转动角 度;
[0119] 第二确定子模块,用于根据所述用户头部的实时转动角度,确定用于虚拟场景的 模拟鼠标的移动量。
[0120] 本发明提供的实施例二中第一确定子模块可包括: 阳121] 数据获取模块,用于获取用户头部的当前帖的跟踪数据和该用户头部前一帖的跟 踪数据;
[0122] 角度获取模块,用于获取当前帖的跟踪数据和前一帖的跟踪数据的差值,并由所 述差值确定所述实时转动角度。
[0123] 本发明的实施例二中第二确定子模块可包括:
[0124] 移动量确定模块,用于将所述用户头部的实时转动角度与一预设转换系数相乘, 得到用于虚拟场景的所述模拟鼠标的移动量。
[0125] 本发明的实施例二提供的用于虚拟和现实场景的立体显示装置中,利用模拟鼠标 的偏转进行观察视角的偏转,从而实现观察视角的同步,优化了用户体验;需要说明的是, 该实施例二提供的用于虚拟和现实场景的立体显示装置是应用上述用于虚拟和现实场景 的立体显示方法的同步装置,则上述用于虚拟和现实场景的立体显示方法的所有实施例均 适用于该同步装置,且均能达到相同或相似的有益效果。
[01%] 为了更好的实现上述目的,如图4所示,本发明的实施例=还提供一种用于虚拟 和现实场景的立体显示方法,包括: 阳127] 步骤31,跟踪用户的头部位置,获取用户头部位置的实时跟踪数据。
[0128] 可选的,如果用户是穿戴式的方式观看3D内容,可通过速度传感器或者加速度传 感器等传感器件跟踪用户的头部位置从而获取用户头部位置的实时跟踪数据,如果是裸眼 3D场景,可通过摄像头跟踪用户的头部位置从而获取用户头部位置的实时跟踪数据,本领 域技术人员可W任意选择。
[0129] 具体的,用户头部位置的实时跟踪数据可W包括头部在=维空间中的实时转动角 度,可通过预先建立一=维坐标系,从而获取用户头部相对于X轴的旋转角度、相对于Y轴 的旋转角度W及相对于Z轴的旋转角度来共同表示用户头部的实时转动角度。当然,用户 头部位置的实时跟踪数据还可包括头部在=维空间的实时平移距离,与实时转动角度类 似,在此不做详述。
[0130] 举例说明,如图2所示,用户头部的实时跟踪数据包括头部在S维空间中的转动 角度(Pitch, Yaw, Roll);其中,Pitch :用户头部相对于X轴的转动角度;Yaw :用户头部相 对于y轴的转动角度;Roll :用户头部相对于Z轴的转动角度。 阳131] 步骤32,当用户的头部位置发生变化时,根据所述实时跟踪数据对虚拟场景的原 观察矩阵或原投影矩阵进行变换,得到新的观察矩阵或新的投影矩阵。
[0132] 从原理上来讲,变换原观察矩阵的方式是保持观察场景和物体不动,而改变摄像 机(代表用户的眼睛)的观察位置和角度来实现观察视角同步的方式,而变换原投影矩阵 的方式是保持摄像机的位置不动,而改变视景体位置来实现观察视角同步的方式。
[0133] 具体的,根据用户头部位置发生变化时所获取的实时跟踪数据,对虚拟场景的原 观察矩阵或原投影矩阵进行变换,
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1