CN113362442A - 一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备 - Google Patents
一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备 Download PDFInfo
- Publication number
- CN113362442A CN113362442A CN202110087645.3A CN202110087645A CN113362442A CN 113362442 A CN113362442 A CN 113362442A CN 202110087645 A CN202110087645 A CN 202110087645A CN 113362442 A CN113362442 A CN 113362442A
- Authority
- CN
- China
- Prior art keywords
- image
- texture image
- target
- rendering
- virtual reality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000009466 transformation Effects 0.000 claims abstract description 57
- 239000011159 matrix material Substances 0.000 claims description 119
- 238000013507 mapping Methods 0.000 claims description 37
- 239000011521 glass Substances 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 230000001131 transforming effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 19
- 238000013519 translation Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000004886 head movement Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备,所述方法包括获取第一姿态信息,基于第一姿态信息确定纹理图像;确定得到纹理图像时获取第二姿态信息,并基于第二姿态信息,对纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;对所述目标纹理图像进行渲染,以得到显示图像。本申请通过在获取到纹理图像时获取使用者所处的第二姿态信息,并基于第二姿态信息对纹理图像的顶点进行变换以对纹理图像进行重投影,使得重投影得到的纹理图像与第二姿态信息相匹配,并且在对纹理图像进行重投影时仅需要对纹理图像的顶点进行变换,减少了纹理图像重投影的计算量,提高了纹理图像重投影速度,从而减少了显示画面的延迟性。
Description
技术领域
本申请涉及虚拟现实技术领域,特别涉及一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备。
背景技术
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真机制,其结合了计算机技术和显示技术,构造出的虚拟环境,使用户沉浸到该虚拟环境中,具有很强的沉浸感。
为了正确地呈现使用者对虚拟物品的感知,在图像显示过程中设备显示器会以一定帧率(例如,60Hz,120Hz等)来显示图像,以确保使用者自身的运动和从设备上看到的画面保持一致。然而,在目前的硬件架构下,图像处理器GPU(Graphics Processing Unit,简称GPU)的图像渲染能力受到限制,当GPU的图像渲染能力不足时,容易导致图像显示延迟的问题。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备。
为了解决上述技术问题,本申请实施例第一方面提供了一种虚拟现实图像的渲染方法,所述方法包括:
获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;
当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;
对所述目标纹理图像进行渲染,以得到显示图像。
所述虚拟现实图像的渲染方法,其中,所述虚拟现实图像的渲染方法应用于AR眼镜。
所述虚拟现实图像的渲染方法,其中,所述获取第一姿态信息,并基于所述第一姿态信息确定纹理图像具体包括:
获取第一姿态信息,并基于所述第一姿态信息确定模型矩阵、观察矩阵以及投影矩阵;
基于所述模型矩阵、所述观察矩阵以及所述投影矩阵对当前图像帧进行渲染,以得到纹理图像。
所述虚拟现实图像的渲染方法,其中,所述若干目标图像点包括所述纹理图像中的所有图像顶点。
所述虚拟现实图像的渲染方法,其中,所述基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换,以得到目标纹理图像具体包括:
获取所述纹理图像对应的投影矩阵以及视差矩阵;
基于所述投影矩阵、所述视差矩阵以及所述第二姿态信息,确定所述纹理图像对应的映射矩阵;
基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点;
基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像。
所述虚拟现实图像的渲染方法,其中,所述基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像具体包括:
将所述纹理图像中的各目标图像点的位置坐标替换为各自对应的变化图像点对应的位置坐标;
将替换后的纹理图像作为目标纹理图像。
所述虚拟现实图像的渲染方法,其中,所述映射矩阵为齐次映射矩阵;所述基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点具体包括:
对于若干目标图像点中的每个目标图像点,确定该目标图像点的位置坐标,并将所述位置坐标转换为齐次坐标,其中,所述齐次坐标包括该位置坐标;
基于所述映射矩阵对该齐次坐标进行变换以得到变换位置坐标;
在所述变换位置坐标中选取该目标图像点的位置坐标对应的目标坐标,以得到该目标图像点对应的变换图像点。
本申请实施例第二方面提供了一种虚拟现实图像的渲染装置,所述虚拟现实图像的渲染装置包括:
获取模块,用于获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;
变换模块,用于当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;
渲染模块,用于对所述目标纹理图像进行渲染,以得到显示图像。
本申请实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的虚拟现实图像的渲染方法中的步骤。
本申请实施例第四方面提供了一种虚拟现实设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的虚拟现实图像的渲染方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备,所述虚拟现实图像的渲染方法包括获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;对所述目标纹理图像进行渲染,以得到显示图像。本申请通过在获取到纹理图像时获取使用者所处的第二姿态信息,并基于第二姿态信息对纹理图像的顶点进行变换以对纹理图像进行重投影,使得重投影得到的纹理图像与第二姿态信息相匹配,并且在对纹理图像进行重投影时仅需要对纹理图像的顶点进行变换,减少了纹理图像重投影的计算量,提高了纹理图像重投影速度,从而减少了显示画面的延迟性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的虚拟现实图像的渲染方法中的纹理图像的示意图。
图2为本申请提供的虚拟现实图像的渲染方法中的期望显示的纹理图像的示意图。
图3为本申请提供的虚拟现实图像的渲染方法的流程图。
图4为本申请提供的虚拟现实图像的渲染方法中的运动传感器的采集姿态信息的采集时间的示例图。
图5为本申请提供的虚拟现实图像的渲染方法中的坐标***变化过程示意图。
图6为本申请提供的虚拟现实图像的渲染装置的结构原理图。
图7为本申请提供的虚拟现实设备的结构原理图。
具体实施方式
本申请提供一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 (包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。此外应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,虚拟现实技术时一种可以创建和体验虚拟世界的计算机仿真机制,其结合了计算机技术和显示技术,构造出的虚拟环境,使用户沉浸到该虚拟环境中,具有很强的沉浸感。为了正确地呈现使用者对虚拟物品的感知,在图像显示过程中设备显示器会以一定帧率(例如, 60Hz,120Hz等)来显示图像,以确保使用者自身的运动和从设备上看到的画面保持一致。然而,在目前的硬件架构下,图像处理器GPU(GraphicsProcessing Unit,简称GPU)的图像渲染能力受到限制,当GPU的图像渲染能力不足时,容易导致图像显示延迟的问题。例如,渲染得到纹理图像如图1所示,而在渲染完成后使用者头部发生位姿变换,期望在AR眼镜上渲染后的画面不再是图1所示纹理图像,而是如图2所示的顶点坐标值变成(-0.9,-1),(0.9,-0.8),(-0.8,1),(0.8,0.7)的纹理图像,而AR眼镜的显示设备显示的为图1所示的纹理图像,从而造成图像显示延迟。
为了解决延迟问题,目前普遍采用的Timewarp(时间扭曲)方法,通过采样运动传感器最新的数据,来扭曲最后一幅被送往设备显示器的渲染图像以重新生成一帧新渲染图像来降低延迟,有效地缓解画面抖动问题。但是,由于AR设备光学畸变的存在,传统的Timewarp(时间扭曲)方法通常在纹理坐标上做单应变换,而顶点坐标用于畸变矫正。这样会增加新渲染图像所需计算量,提高渲染开销。然而,目前普遍使得用的AR(AugmentedReality)眼镜所采用的光学方案主要包括Birdbath,光波导,自由曲面以及棱镜,并且AR眼镜上的这些光学方案的视场角(FOV,field of view) 普遍较小,而较小的视场角FOV会使得径向畸变也相应变小以至于可以忽略不计。
基于此,在本申请实施例中,获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;对所述目标纹理图像进行渲染,以得到显示图像。本申请通过在获取到纹理图像时获取使用者所处的第二姿态信息,并基于第二姿态信息对纹理图像的顶点进行变换以对纹理图像进行重投影,使得重投影得到的纹理图像与第二姿态信息相匹配,并且在对纹理图像进行重投影时仅需要对纹理图像的顶点进行变换,减少了纹理图像重投影的计算量,提高了纹理图像重投影速度,从而减少了显示画面的延迟性。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种虚拟现实图像的渲染方法,所述虚拟现实图像的渲染方法的应用场景可以为AR(Augmented Reality)眼镜,并且AR眼镜可以具有较小的视场角,例如,AR眼镜为Magic Leap One,其视场角为50°,或者AR眼镜为HoloLens2,其视场角为52°,或者AR眼镜为Nreal Light,其视场角为52°等。其中,AR眼镜配置的GPU会根据运动传感器sensor 采样的3DoF/6DoF数据(即第一姿态信息)渲染出纹理图像,在得到纹理图像后,再采集一次运动传感器的3DoF/6DoF数据(即第二姿态信息),基于第二姿态信息对渲染得到的纹理图像进行重投影,而不再重复渲染,这样得到显示图像数据的方式可以有效降低延迟。
如图3所示,本实施例提供的虚拟现实图像的渲染方法包括:
S10、获取第一姿态信息,并基于所述第一姿态信息确定纹理图像。
具体地,当用户通过头部佩戴AR眼镜时,才能观看该AR眼镜中播放的虚拟场景,该AR眼镜会跟随着使用者头部的活动而改变播放场景,从而 AR眼镜配置的运动传感器会实时采集使用者头部的姿态信息,以便于基于该姿态信息来确定需要显示的场景画面。由此,所述第一姿态信息用于AR 眼镜使用者的姿态信息,并且所述第一姿态信息可以通过AR眼镜配置的运动传感器采集得到的。所述运动传感器可以为9轴运动传感器,并且AR设备中的运动传感器的采样频率可以达到800Hz,高于AR眼镜的显示部件的刷新帧率,并且在一帧画面的刷新周期内,运动传感器可以进行多次运动数据采用,如图4所示,在一帧画面的刷新周期内可以在3个不同时刻获取运动传感器采集的传感数据,例如,t1时刻在t0时刻之前,相比于t0 时刻的采样数据,t1的延迟时间会减少,t2时刻在t1时刻之前,相比于 t1时刻的采样数据,t2的延迟时间会减少。由此,在对当前图像帧的渲染的过程中,可以通过运动传感器采集到第一姿态信息以及第二姿态信息。
此外,AR眼镜的显示***在显示图像过程中,显示***中的CPU可以接收到通过图像采集装置(例如,摄像机等)采集生成的图像数据,连续采集的多帧图像数据经过编码后可生成视频流,可实时的传输给CPU,或者预先保存在存储设备中后续传输给CPU,CPU对接收到的视频数据进行拼帧解码后传输给GPU,通过GPU对接收的图像数据进行渲染。所述渲染是将三维的光能传递处理转换为一个二维图像的过程,渲染是通常利用三维几何模型,通过几何变换、投影变换、透视变换和窗口剪裁,以及为追求三维真实感而进行各种光线跟踪,辐射度等算法,经过图像渲染后的图像数据可以输出至显示屏的显示缓存中,通过显示屏进行显示。
基于此,所述第一姿态信息的采集时间为GPU接收到需要进行渲染的图像数据的时刻。换句话说,在GPU接收到需要渲染的图像数据时,获取运动传感器采集的传感器数据,并将获取到传感器数据作为第一姿态信息,其中,第一姿态信息的采集时间在渲染图像生成之前。在本实施例的一个实现方式中,所述第一姿态信息包括旋转矩阵R和平移矩阵T,其中,旋转矩阵R用于反映使用者头部相对于世界坐标系的旋转数据,平移矩阵用于反映使用者头部相对于世界坐标系的平移数据。
在本实施例的一个实现方式中,所述获取第一姿态信息,并基于所述第一姿态信息确定纹理图像具体包括:
获取第一姿态信息,并基于所述第一姿态信息确定模型矩阵、观察矩阵以及投影矩阵;
基于所述模型矩阵、所述观察矩阵以及所述投影矩阵对当前图像帧进行渲染,以得到纹理图像。
具体地,所述纹理图像可以通过对当前图像帧进行渲染得到的二维图像,其中,在当前图像帧进行渲染时可以采用OpenGL对当前图像进行渲染。所述模型矩阵用于将模型坐标系转换到世界坐标系,在将所述将模型坐标系转换到世界坐标系时,模型坐标系的坐标原点位于世界坐标系的坐标原点。所述观察变换用于从世界坐标系变换到观察坐标系,换句话说,在世界坐标系下设置个观察点(例如,相机位置以及相机方向),然后把世界坐标系下的坐标变换到观察点所处空间(例如,相机空间)。所述投影矩阵用于在2D屏幕上显示3D图形效果,即把眼睛看到的视图平面化到屏幕上,以得到纹理图像。
S20、当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像。
具体地,所述第二姿态信息通过AR眼镜配置的运动传感器采集得到,用于反映使用者姿态的姿态信息,其中,第二姿态信息的采集时间为渲染得到的纹理图像的时间。可以理解的是,第二姿态信息是在对当前图像帧渲染完成后采集得到,第二姿态信息的采集时间晚于第一姿态信息的采集时间,这是由于第一姿态信息的采集时间当前图像帧渲染完成前采集得到第二姿态信息是在对当前图像帧渲染完成后采集得到。换句话说,第一姿态信息用于对当前图像帧进行第一次渲染,第二姿态信息用于对基于第一姿态信息确定的纹理图像进行第二次渲染,其中,纹理图像为当前图像帧进行第一渲染图像确定的纹理图像。其中,第二姿态信息包括旋转矩阵R1 和平移矩阵T1。
在本实施例的一个实现方式中,所述若干目标图像点包括所述纹理图像中的所有图像顶点。可以理解的,若干目标图像点中的每个图像点均为纹理图像的图像顶点,并且纹理图像中的每个图像顶点均包括于若干目标图像点中,即若干目标图像点与纹理图像中的所有图像顶点一一对应。也就是说,本实施例在对纹理图像进行变换时,仅需要对纹理图像的图像顶点进行变换,这样可以减少纹理图像重投影所需的计算量,从而可以提高纹理图像重投影的速度,进而可以解决显示延迟问题。
在本实施例的一个实现方式中,所述基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换,以得到目标纹理图像具体包括:
获取所述纹理图像对应的投影矩阵以及视差矩阵;
基于所述投影矩阵、所述视差矩阵以及所述第二姿态信息,确定所述纹理图像对应的映射矩阵;
基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点;
基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像。
具体地,所述映射矩阵用于将基于第一姿态信息确定的纹理图像中的目标图像点映射为第二姿态信息对应的变换图像点,其中,映射矩阵是基于投影矩阵和视差矩阵确定的。在本实施例的一个实现方式中,所述映射矩阵可以为:
Re=P·Te·dR·Te^·Pv
其中,Re表示映射矩阵,P表示投影矩阵,Te表示视差矩阵,dR表示第二姿态信息,Te^表示IPD视差的视差矩阵,Pv表示投影矩阵P的逆矩阵。
所述映射矩阵的确定过程可以为:如图5所示,对于纹理图像中的每个目标图像点h,该目标图像点均为世界坐标系中的一个观察点v通过MVP 变换得到,从而可以有:
h=P·V·M·v
其中,M表示模型矩阵,V表示观察矩阵(view),P是投影矩阵 (projection),并且投影矩阵P包括透视除法,即投影矩阵P的最后一行为0,0,-1,0,以便于跳过裁剪空间。
第一姿态信息采集时间与第二姿态信息采集时间的时间间隔为对当前图像帧的渲染时间,该渲染时间普遍会较短(例如,小于0.5s等),在这个渲染时间内,使用者头部运动普遍会相对微小。基于,可以不考虑模型本身运动,从而模型矩阵可以为单位矩阵I,相应的,目标图像点h与观察点v的对应关系可以表示为:
h=P·V·v。
观察矩阵V用于反映使用者头部的运动,为虚拟相机位姿的变化,从而采集佩戴者头部运动的第一姿态信息的计算公式可以为:
V=Te·R·T
其中,Te为视差矩阵,R为第一姿态信息中的旋转矩阵,T为第一姿态信息中的平移矩阵。
所述视差矩阵用于调整双目之间的视差,所述视差矩阵包括左目视差矩阵和右目视差矩阵,并且左目对应的映射矩阵为根据左目视差矩阵确定的,右目对应的映射矩阵为根据右目视差矩阵确定的。也就是说,对于双目中的左目和右目均会有映射矩阵,并且在对纹理图像进行重投影时,分别采用左目和右目各自对应的变化矩阵对纹理图像进行变换,以得到左目和右目各自对应的显示画面,并分别将左目对应的显示画面显示左目,右目对应的显示画面显示右目,以提高显示效果。此外,左目和右目各自对应的变化矩阵的确定过程,以及基于映射矩阵对纹理图像进行变换的过程相同,这里就以左目对应的变换映射的确定过程为例进行说明。
在本实施例中,左目对应的视差矩阵和右目对应的视差矩阵可以分别表示为:
Te1=((1,0,0,0),(0,1,0,0),(0,0,1,0),(+IPD/2,0,0,1))
Te2=((1,0,0,0),(0,1,0,0),(0,0,1,0),(-IPD/2,0,0,1))
其中,Te1用于表示左目的视差矩阵,Te2用于表示右目的视差矩阵,并将左目的视差矩阵Te1为视差矩阵Te。
进一步,由V=Te·R·T可以得到,从而目标图像点h与观察点v的对应关系可以表示为:
h=P·Te·R·T·v
在获取纹理图像时保留图像点h的深度信息,从而可以根据纹理重新生成过程确定该在世界坐标系下的空间位置v,其中,P,Te,R,T是已知的。
基于此,可以将纹理图像中的图像点转换为NDC坐标中的点,将NDC坐标中的图像点转换到世界坐标系上,然后再基于姿态信息将世界坐标系中的图像点转换到NDC坐标系上,以变成纹理图像点,其中,再基于姿态信息将世界坐标系中的图像点转换到NDC坐标系上时采用的第二姿态信息。然而,从NDC坐标到纹理坐标转换过程中,由于深度丢失无法直接确定P 矩阵的逆矩阵,从而在本实施例中,将纹理图像作为虚拟模型,放到z=-1 的平面上去,在根据投影矩阵P计算出投影矩阵P的逆Pv。当然,需要说明的是,Pv处理的是NDC坐标系下的点,将Pv回退到观察坐标系下后,h=P·Te·R·T·v可以转换为:
Pv·h=Pv·P·Te·R·T·v
然后,把第二次采样得到的运动数据添加到公式中用来计算新的变换图像点坐标h1,其中,变换图像点坐标h1的坐标可以表示为:
h1=P·Te·dR·Te^·Pv·P·Te·R·T·v
其中,,Te^是去掉IPD视差,dR是第二姿态信息。在实际应用中,在 Archery上没有6DoF平移,dR可以只包括旋转矩阵,当然,在有平移的情况,也可以只考虑旋转,这是因为较小时间间隔的运动数据采样,其中旋转对显示结果的影响远大于平移。接着还需要乘上视差平移和投影这两个矩阵,重新把顶点切换到NDC坐标。
最后,由h=P·Te·R·T·v可以知道,变换图像点坐标h1的坐标可以表示为:
h1=P·Te·dR·Te^·Pv·h
由此,映射矩阵的表达为:
Re=P·Te·dR·Te^·Pv。
在本实施例的一个实现方式中,所述映射矩阵为齐次映射矩阵;所述基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点具体包括:
对于若干目标图像点中的每个目标图像点,确定该目标图像点的位置坐标,并将所述位置坐标转换为齐次坐标,其中,所述齐次坐标包括该位置坐标;
基于所述映射矩阵对该齐次坐标进行变换以得到变换位置坐标;
在所述变换位置坐标中选取该目标图像点的位置坐标对应的目标坐标,以得到该目标图像点对应的变换图像点。
具体地,所述目标图像点的位置坐标指的是目标图像点在纹理图像坐标系中的位置坐标,记为(sx,sy)。在获取到目标图像点的位置坐标后,将位置坐标转换为四维齐次坐标,例如,在位置坐标后面添加0,1以得到齐次坐标(sx,sy,0,1)。在获取到齐次坐标(sx,sy,0,1)后,通过映射矩阵 Re对齐次坐标(sx,sy,0,1)进行齐次变换,以得到变换位置坐标,其中,变换位置坐标可以表示为:
(tx,ty,0,1)=Re(sx,sy,0,1)
其中,映射矩阵Re是齐次变换,其为4x4矩阵,(sx,sy,0,1)目标图像点的位置坐标,(tx,ty,0,1)为(sx,sy,0,1)对应的变换位置坐标。
在获取到变换位置坐标后,选取目标图像点的位置坐标的坐标位置对应的数值,以得到目标坐标,其中,目标坐标为(tx,ty)。在本实施例中,目标图像点为纹理图像的顶点,纹理图像包括4个顶点,分别为(-1,-1), (1,-1),(-1,1)以及(1,1),相应的,齐次坐标分别为(-1,-1,0,1), (1,-1,0,1),(-1,1,0,1),(1,1,0,1)。
在本实施例的一个实现方式中,所述基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像具体包括:
将所述纹理图像中的各目标图像点的位置坐标替换为各自对应的变化图像点对应的位置坐标;
将替换后的纹理图像作为目标纹理图像。
具体地,在获取到变化图像点后,将纹理图像中的各目标图像点的位置坐标修改各自对应的变化图像点对应的位置坐标,例如,目标图像点的位置坐标为(1,1)目标图像点对应的变化图像点对应的位置坐标为 (0.9,0.9),那么将目标图像点的位置坐标修改为(0.9,0.9)。在各目标图像点的位置坐标修改后,将修改后的纹理图像作为目标纹理图像,以用于显示。
S30、对所述目标纹理图像进行渲染,以得到显示图像。
具体地,在获取到目标纹理图像后,对目标纹理图像进行渲染以得渲染图像,并得到的渲染图像输出至显示屏的显示缓存中,通过显示屏进行显示。
综上所述,本实施例提供了一种虚拟现实图像的渲染方法,所述方法包括获取第一姿态信息,并基于第一姿态信息确定纹理图像;当确定得到纹理图像时获取第二姿态信息,并基于第二姿态信息,对纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;对所述目标纹理图像进行渲染,以得到显示图像。本申请通过在获取到纹理图像时获取使用者所处的第二姿态信息,并基于第二姿态信息对纹理图像的顶点进行变换以对纹理图像进行重投影,使得重投影得到的纹理图像与第二姿态信息相匹配,并且在对纹理图像进行重投影时仅需要对纹理图像的顶点进行变换,减少了纹理图像重投影的计算量,提高了纹理图像重投影速度,从而减少了显示画面的延迟性。
基于上述虚拟现实图像的渲染方法,本实施例提供了一种虚拟现实图像的渲染装置,如图6所示,所述虚拟现实图像的渲染装置包括:
获取模块100,用于获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;
变换模块200,用于当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;
渲染模块300,用于对所述目标纹理图像进行渲染,以得到显示图像。
在一个实施例中,所述虚拟现实图像的渲染装置装配于AV眼镜内。
在一个实施例中,所述获取模块具体用于:
获取第一姿态信息,并基于所述第一姿态信息确定模型矩阵、观察矩阵以及投影矩阵;以及基于所述模型矩阵、所述观察矩阵以及所述投影矩阵对当前图像帧进行渲染,以得到纹理图像。
在一个实施例中,所述若干目标图像点包括所述纹理图像中的所有图像顶点。
在一个实施例中,所述变换模块具体用于:
获取所述纹理图像对应的投影矩阵以及视差矩阵;基于所述投影矩阵、所述视差矩阵以及所述第二姿态信息,确定所述纹理图像对应的映射矩阵;基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点;以及基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像。
在一个实施例中,所述变换模块具体用于:
将所述纹理图像中的各目标图像点的位置坐标替换为各自对应的变化图像点对应的位置坐标;以及将替换后的纹理图像作为目标纹理图像。
在一个实施例中,所述映射矩阵为齐次映射矩阵;所述变换模块具体用于:
对于若干目标图像点中的每个目标图像点,确定该目标图像点的位置坐标,并将所述位置坐标转换为齐次坐标;基于所述映射矩阵对该齐次坐标进行变换以得到变换位置坐标;以及在所述变换位置坐标中选取该目标图像点的位置坐标对应的目标坐标,以得到该目标图像点对应的变换图像点,其中,所述齐次坐标包括该位置坐标。
此外值得说明,本实施例提供的虚拟现实图像的渲染装置中的各功能模块的工作过程与上述虚拟现实图像的渲染方法中的各步骤的工作过程相同,这里就不在赘述,具体可以参照上述虚拟现实图像的渲染方法的说明。
基于上述虚拟现实图像的渲染方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的虚拟现实图像的渲染方法中的步骤。
基于上述虚拟现实图像的渲染方法,本申请还提供了一种虚拟现实设备,如图7所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface) 23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据虚拟现实设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及虚拟现实设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种虚拟现实图像的渲染方法,其特征在于,所述方法包括:
获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;
当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;
对所述目标纹理图像进行渲染,以得到显示图像。
2.根据权利要求1所述虚拟现实图像的渲染方法,其特征在于,所述虚拟现实图像的渲染方法应用于AR眼镜。
3.根据权利要求1所述虚拟现实图像的渲染方法,其特征在于,所述获取第一姿态信息,并基于所述第一姿态信息确定纹理图像具体包括:
获取第一姿态信息,并基于所述第一姿态信息确定模型矩阵、观察矩阵以及投影矩阵;
基于所述模型矩阵、所述观察矩阵以及所述投影矩阵对当前图像帧进行渲染,以得到纹理图像。
4.根据权利要求1所述虚拟现实图像的渲染方法,其特征在于,所述若干目标图像点包括所述纹理图像中的所有图像顶点。
5.根据权利要求1或4所述虚拟现实图像的渲染方法,其特征在于,所述基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换,以得到目标纹理图像具体包括:
获取所述纹理图像对应的投影矩阵以及视差矩阵;
基于所述投影矩阵、所述视差矩阵以及所述第二姿态信息,确定所述纹理图像对应的映射矩阵;
基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点;
基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像。
6.根据权利要求5所述虚拟现实图像的渲染方法,其特征在于,所述基于各目标图像点各自对应的变换图像点以及所述纹理图像,确定目标纹理图像具体包括:
将所述纹理图像中的各目标图像点的位置坐标替换为各自对应的变化图像点的位置坐标;
将替换后的纹理图像作为目标纹理图像。
7.根据权利要求5所述虚拟现实图像的渲染方法,其特征在于,所述映射矩阵为齐次映射矩阵;所述基于所述映射矩阵对若干目标图像点中的各目标图像点进行位置变换,以得到各目标图像点各自对应的变换图像点具体包括:
对于若干目标图像点中的每个目标图像点,确定该目标图像点的位置坐标,并将所述位置坐标转换为齐次坐标,其中,所述齐次坐标包括该位置坐标;
基于所述映射矩阵对该齐次坐标进行变换以得到变换位置坐标;
在所述变换位置坐标中选取该目标图像点的位置坐标对应的目标坐标,以得到该目标图像点对应的变换图像点。
8.一种虚拟现实图像的渲染装置,其特征在于,所述虚拟现实图像的渲染装置包括:
获取模块,用于获取第一姿态信息,并基于所述第一姿态信息确定纹理图像;
变换模块,用于当确定得到纹理图像时获取第二姿态信息,并基于所述第二姿态信息,对所述纹理图像中的若干目标图像点进行位置变换以得到目标纹理图像;
渲染模块,用于对所述目标纹理图像进行渲染,以得到显示图像。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的虚拟现实图像的渲染方法中的步骤。
10.一种虚拟现实设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的虚拟现实图像的渲染方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110087645.3A CN113362442A (zh) | 2021-01-22 | 2021-01-22 | 一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110087645.3A CN113362442A (zh) | 2021-01-22 | 2021-01-22 | 一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113362442A true CN113362442A (zh) | 2021-09-07 |
Family
ID=77524779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110087645.3A Pending CN113362442A (zh) | 2021-01-22 | 2021-01-22 | 一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113362442A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485989A (zh) * | 2023-06-14 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备及存储介质 |
WO2024051471A1 (zh) * | 2022-09-07 | 2024-03-14 | 荣耀终端有限公司 | 一种图像处理方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805782A (en) * | 1993-07-09 | 1998-09-08 | Silicon Graphics, Inc. | Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source |
US20170124980A1 (en) * | 2015-11-02 | 2017-05-04 | Castar, Inc. | Method of immersive rendering for wide field of view |
CN109656367A (zh) * | 2018-12-24 | 2019-04-19 | 深圳超多维科技有限公司 | 一种应用于vr场景下的图像处理方法、装置及电子设备 |
CN110582797A (zh) * | 2017-05-03 | 2019-12-17 | 微软技术许可有限责任公司 | 用于多级绘制后图像变换的方法和*** |
-
2021
- 2021-01-22 CN CN202110087645.3A patent/CN113362442A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805782A (en) * | 1993-07-09 | 1998-09-08 | Silicon Graphics, Inc. | Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source |
US20170124980A1 (en) * | 2015-11-02 | 2017-05-04 | Castar, Inc. | Method of immersive rendering for wide field of view |
CN110582797A (zh) * | 2017-05-03 | 2019-12-17 | 微软技术许可有限责任公司 | 用于多级绘制后图像变换的方法和*** |
CN109656367A (zh) * | 2018-12-24 | 2019-04-19 | 深圳超多维科技有限公司 | 一种应用于vr场景下的图像处理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
邱振青等: "图像渲染技术在虚拟现实头盔中的应用和发展", 《数字技术与应用》, vol. 37, no. 3, 25 March 2019 (2019-03-25), pages 76 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051471A1 (zh) * | 2022-09-07 | 2024-03-14 | 荣耀终端有限公司 | 一种图像处理方法和电子设备 |
CN116485989A (zh) * | 2023-06-14 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备及存储介质 |
CN116485989B (zh) * | 2023-06-14 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6866297B2 (ja) | ヘッドマウントディスプレイの電子ディスプレイ安定化 | |
JP6514826B2 (ja) | ピクセル速度を用いた電子ディスプレイ安定化 | |
JP6898430B2 (ja) | 仮想現実および拡張現実ディスプレイシステムのための連続時間ワーピングおよび両眼時間ワーピングおよび方法 | |
US9240069B1 (en) | Low-latency virtual reality display system | |
US10114454B2 (en) | Velocity and depth aware reprojection | |
US10237531B2 (en) | Discontinuity-aware reprojection | |
KR20210139369A (ko) | 깊이 정보를 사용하여 현실 세계의 객체를 렌더링하는 시스템들 및 방법들 | |
CN108139801B (zh) | 用于经由保留光场渲染来执行电子显示稳定的***和方法 | |
WO2018204092A1 (en) | Methods and systems for multistage post-rendering image transformation | |
US11335066B2 (en) | Apparatus and operating method for displaying augmented reality object | |
US10553014B2 (en) | Image generating method, device and computer executable non-volatile storage medium | |
WO2020134085A1 (zh) | Vr***中图像显示的控制方法、装置及vr头戴设备 | |
US11308682B2 (en) | Dynamic stereoscopic rendering method and processor | |
CN113362442A (zh) | 一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备 | |
US20210181506A1 (en) | Image Display Method, Apparatus, and System | |
JP2021533646A (ja) | 深度情報を使用して2次元画像を外挿するためのシステムおよび方法 | |
US20230106679A1 (en) | Image Processing Systems and Methods | |
US11941408B2 (en) | Encoding stereo splash screen in static image | |
US11954786B2 (en) | Reprojection for high field rate displays | |
US20240223738A1 (en) | Image data generation device, display device, image display system, image data generation method, image display method, and data structure of image data | |
WO2023140033A1 (ja) | 表示制御装置、ヘッドマウントディスプレイ、および表示制御方法 | |
CN117981293A (zh) | 具有深度图截取的视角校正 | |
CN112802131A (zh) | 一种图像处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |