首页 / 专利库 / 显示技术 / 介导现实 / 增强现实 / 增强现实设备的软阴影处理方法和装置

增强现实设备的软阴影处理方法和装置

阅读:639发布:2020-05-11

专利汇可以提供增强现实设备的软阴影处理方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供一种 增强现实 设备的软阴影处理方法和装置。该方法包括:获取增强现实设备的运动向量,根据运动向量,获取增强现实设备的AR场景相机的第一移动向量,其中,AR场景相机随所述增强现实设备的移动而移动;根据第一移动向量,确定阴影相机的第二移动向量;控制阴影相机移动第二移动向量后,生成阴影图,其中,阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个 像素 ,根据阴影图生成并输出图像 帧 。本发明实施例的方法,消除了AR设备移动时软阴影边缘的闪烁。,下面是增强现实设备的软阴影处理方法和装置专利的具体信息内容。

1.一种增强现实设备的软阴影处理方法,其特征在于,包括:
获取增强现实AR设备的运动向量,根据所述运动向量,获取所述AR设备的AR场景相机的第一移动向量,其中,所述AR场景相机随所述AR设备的移动而移动;
根据所述第一移动向量,确定所述AR设备的阴影相机的第二移动向量;
所述AR场景相机进行场景渲染
所述阴影相机进行阴影渲染,生成图像中的阴影图;
根据所述AR场景相机和所述阴影相机的渲染结果生成图像帧;
其中,所述图像帧中的阴影图相对于上一图像帧中的阴影图移动整数个像素
控制所述阴影相机移动所述第二移动向量;
生成阴影图;
根据所述阴影图生成并输出图像帧;
其中,所述阴影相机移动所述第二移动向量后生成的阴影图与移动所述第二移动向量前生成的阴影图相比,移动整数个像素。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一移动向量,确定所述AR设备的阴影相机的第二移动向量,包括:
将所述第一移动向量投影到灯光空间的XoY平面,获得所述第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离;所述灯光空间是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴;
根据单个阴影图像素的真实长度和真实宽度、所述第一移动距离和所述第二移动距离,确定阴影相机在所述X轴的第三移动距离和在所述Y轴的第四移动距离;
根据所述第三移动距离和所述第四移动距离,确定所述AR设备的阴影相机的所述第二移动向量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第三移动距离和所述第四移动距离,确定所述AR设备的阴影相机的所述第二移动向量,包括:
将平面向量F(S3,S4,0)从所述灯光空间反向投影到世界空间,获得所述第二移动向量;
其中,S3表示所述第三移动距离,S4表示所述第四移动距离。
4.根据权利要求2所述的方法,其特征在于,所述根据单个阴影图像素的真实长度和真实宽度、所述第一移动距离和所述第二移动距离,确定阴影相机在所述X轴的第三移动距离和在所述Y轴的第四移动距离,包括:
根据如下公式确定所述第三移动距离:
S3=floor(S1/L)*L;
根据如下公式确定所述第四移动距离:
S4=floor(S2/W)*W;
其中,S1表示所述第一移动距离,S2表示所述第二移动距离,S2表示所述第三移动距离,S4表示所述第四移动距离,floor表示向下取整,L表示所述真实长度,W表示所述真实宽度。
5.根据权利要求2所述的方法,其特征在于,还包括:
获取所述AR场景相机的视锥在所述灯光空间中的包围盒
获取所述包围盒在所述XoY平面的投影区域的长度和宽度;
将所述长度除以阴影图的分辨率长度,获得所述真实长度,将所述宽度除以阴影图的分辨率宽度,获得所述真实宽度。
6.根据权利要求5所述的方法,其特征在于,所述获取所述AR场景相机的视锥在所述灯光空间中的包围盒,包括:
获取所述AR场景相机的视锥的包围球;
将所述包围球转换到所述灯光空间,并获取所述包围球在所述灯光空间的所述包围盒。
7.根据权利要求2所述的方法,其特征在于,所述将所述第一移动向量投影到灯光空间的XoY平面,包括:
通过预设矩阵,将所述第一移动向量投影到所述XoY平面。
8.根据权利要求7所述的方法,其特征在于,还包括:
根据灯光的参数,确定所述预设矩阵;
所述灯光的参数包括:灯光的位置、姿态、视场角fov的角度。
9.一种增强现实设备的软阴影处理装置,其特征在于,包括:
获取模,用于获取增强现实AR设备的运动向量,根据所述运动向量,获取所述AR设备的AR场景相机的第一移动向量,其中,所述AR场景相机随所述AR设备的移动而移动;
确定模块,用于根据所述第一移动向量,确定所述AR设备的阴影相机的第二移动向量;
制模块,用于控制所述AR场景相机进行场景渲染;所述阴影相机进行阴影渲染,生成图像帧中的阴影图;根据所述AR场景相机和所述阴影相机的渲染结果生成图像帧;其中,所述图像帧中的阴影图相对于上一图像帧中的阴影图移动整数个像素;控制所述阴影相机移动所述第二移动向量;
处理模块,用于生成阴影图;根据所述阴影图生成并输出图像帧;其中,所述阴影相机移动所述第二移动向量后生成的阴影图与移动所述第二移动向量前生成的阴影图相比,移动整数个像素。
10.一种AR设备,其特征在于,包括:
存储器
处理器;以及
计算机程序
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-8任一项所述的方法。

说明书全文

增强现实设备的软阴影处理方法和装置

技术领域

[0001] 本发明实施例涉及图像处理技术领域,尤其涉及一种增强现实设备的软阴影处理方法和装置。

背景技术

[0002] 增强现实(Augmented Reality,简称:AR)应用中,需要将虚拟场景和真实场景叠加起来,其中真实场景来自摄像头拍摄的真实场景照片,而虚拟场景通常通过一些模型表示,如果直接将模型叠加至场景照片上,会因为缺少阴影,而出现明显的违和感,为了增强AR场景的真实度的,可以在AR场景中增加阴影。进一步的,可以通过软阴影(Soft Shadow)技术在阴影周边制造虚化的效果,以模拟真实场景中的阴影渐变,进一步提升AR场景的真实度。
[0003] 现有基于阴影图(Shadow Map)的阴影算法,会在阴影边缘产生锯齿。现有技术中通常采用百分比渐进法(PCF)在去除锯齿的同时实现软阴影效果。然而这类算法需要投入大量的计算量进行多重采样插值保证阴影边缘的锯齿被完全消除,否则将会导致AR设备移动时,阴影边缘出现闪烁。

发明内容

[0004] 本发明实施例提供一种增强现实设备的软阴影处理方法和装置,以低计算成本解决现有AR设备移动时软阴影边缘会出现闪烁的问题。
[0005] 第一方面,本发明实施例提供一种增强现实设备的软阴影处理方法,包括:
[0006] 获取增强现实AR设备的运动向量,根据运动向量,获取AR设备的AR场景相机的第一移动向量,其中,AR场景相机随AR设备的移动而移动;
[0007] 根据第一移动向量,确定AR设备的阴影相机的第二移动向量;
[0008] AR场景相机进行场景渲染
[0009] 阴影相机进行阴影渲染,生成图像中的阴影图;
[0010] 根据AR场景相机和阴影相机的渲染结果生成图像帧;
[0011] 其中,图像帧中的阴影图相对于上一图像帧中的阴影图移动整数个像素
[0012] 控制阴影相机移动第二移动向量;
[0013] 生成阴影图;
[0014] 根据阴影图生成并输出图像帧;
[0015] 其中,阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个像素。
[0016] 在一种可能的实现方式中,根据第一移动向量,确定AR设备的阴影相机的第二移动向量,包括:
[0017] 将第一移动向量投影到灯光空间的XoY平面,获得第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离;灯光空间是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴;
[0018] 根据单个阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,确定阴影相机在X轴的第三移动距离和在Y轴的第四移动距离;
[0019] 根据第三移动距离和第四移动距离,确定AR设备的阴影相机的第二移动向量。
[0020] 在一种可能的实现方式中,根据第三移动距离和第四移动距离,确定AR设备的阴影相机的第二移动向量,包括:
[0021] 将平面向量F(S3,S4,0)从灯光空间反向投影到世界空间,获得第二移动向量;
[0022] 其中,S3表示第三移动距离,S4表示第四移动距离。
[0023] 在一种可能的实现方式中,根据单个阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,确定阴影相机在X轴的第三移动距离和在Y轴的第四移动距离,包括:
[0024] 根据如下公式确定第三移动距离:
[0025] S3=floor(S1/L)*L;
[0026] 根据如下公式确定第四移动距离:
[0027] S4=floor(S2/W)*W;
[0028] 其中,S1表示第一移动距离,S2表示第二移动距离,S2表示第三移动距离,S4表示第四移动距离,floor表示向下取整,L表示真实长度,W表示真实宽度。
[0029] 在一种可能的实现方式中,所述方法还包括:
[0030] 获取AR场景相机的视锥在灯光空间中的包围盒
[0031] 获取包围盒在XoY平面的投影区域的长度和宽度;
[0032] 将长度除以阴影图的分辨率长度,获得真实长度,将宽度除以阴影图的分辨率宽度,获得真实宽度。
[0033] 在一种可能的实现方式中,获取AR场景相机的视锥在灯光空间中的包围盒,包括:
[0034] 获取AR场景相机的视锥的包围球;
[0035] 将包围球转换到灯光空间,并获取包围球在灯光空间的包围盒。
[0036] 在一种可能的实现方式中,将第一移动向量投影到灯光空间的XoY平面,包括:
[0037] 通过预设矩阵,将第一移动向量投影到XoY平面。
[0038] 在一种可能的实现方式中,所述方法还包括:
[0039] 根据灯光的参数,确定预设矩阵;
[0040] 灯光的参数包括:灯光的位置、姿态、视场角fov的角度。
[0041] 第二方面,本发明实施例提供一种增强现实设备的软阴影处理装置,包括:
[0042] 获取模,用于获取增强现实AR设备的运动向量,根据运动向量,获取AR设备的AR场景相机的第一移动向量,其中,AR场景相机随AR设备的移动而移动;
[0043] 确定模块,用于根据第一移动向量,确定AR设备的阴影相机的第二移动向量;
[0044] 控制模块,用于控制AR场景相机进行场景渲染;阴影相机进行阴影渲染,生成图像帧中的阴影图;根据AR场景相机和阴影相机的渲染结果生成图像帧;其中,图像帧中的阴影图相对于上一图像帧中的阴影图移动整数个像素;控制阴影相机移动第二移动向量;
[0045] 处理模块,用于生成阴影图;根据阴影图生成并输出图像帧;其中,阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个像素。
[0046] 第三方面,本发明实施例提供一种AR设备,包括:
[0047] 存储器
[0048] 处理器;以及
[0049] 计算机程序
[0050] 其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面任一项所述的方法。
[0051] 第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面任一项所述的方法。
[0052] 本发明实施例提供的增强现实设备的软阴影处理方法和装置,通过获取增强现实设备的运动向量,根据运动向量,获取增强现实设备的AR场景相机的第一移动向量,并根据第一移动向量,确定能够使阴影相机生成的阴影图移动整数个像素的第二移动向量,保证了移动后的阴影图不会切分像素,移动前后的阴影图中的像素能够完全对齐,避免出现闪烁,控制阴影相机移动第二移动向量,生成阴影图,根据阴影图生成并输出图像帧,消除了AR设备移动时软阴影边缘的闪烁,提高了AR场景中软阴影的质量,而且本实施例提供的方法计算量小,使得低性能的AR设备也能够拥有高质量的阴影效果,提高了用户体验。附图说明
[0053] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0054] 图1为本发明提供的增强现实设备的软阴影处理方法一实施例的流程图
[0055] 图2为本发明提供的AR设备移动时阴影图移动的示意图;
[0056] 图3为本发明提供的增强现实设备的软阴影处理方法又一实施例的流程图;
[0057] 图4为本发明提供的增强现实设备的软阴影处理装置一实施例的结构示意图;
[0058] 图5为本发明提供的AR设备一实施例的结构示意图。
[0059] 通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

[0060] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0061] 本发明的说明书和权利要求书中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0062] 本发明中的“第一”和“第二”只起标识作用,而不能理解为指示或暗示顺序关系、相对重要性或者隐含指明所指示的技术特征的数量。“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0063] 本发明的说明书中通篇提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0064] 首先对本发明实施例所涉及的本领域的术语进行解释:
[0065] 灯光空间,是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴,形成的空间。灯光空间XoY平面,是灯光空间的X轴和Y轴所形成的平面。
[0066] 场景相机:指在三维场景中,用于进行场景图像渲染的相机,主要功能是将视野中的对象通过透视投影、正交投影到相机的近裁剪面,将投影结果栅格化后输出其RGBA值。
[0067] 阴影相机:指在三维场景中,用于进行深度渲染的相机,与场景相机唯一不同的是,阴影相机的输出为深度值。
[0068] 世界空间:世界空间是指定义在世界空间坐标系下的空间,是一个全局坐标系,它的原点位于场景的中心。世界空间用来放置对象,每个对象在世界空间中都有它们自己独一无二的世界空间矩阵。世界空间用于对三维场景中的对象位置、尺寸以及旋转进行描述。所有的局部坐标系都定义在世界空间坐标系下,世界空间坐标系是局部空间坐标系互相转化的桥梁
[0069] 上述术语均为本领域技术人员所公知的技术术语。
[0070] 图1为本发明提供的增强现实设备的软阴影处理方法一实施例的流程图。如图1所示,本实施例的方法可以包括:
[0071] 步骤S101、获取增强现实AR设备的运动向量,根据运动向量,获取AR设备的AR场景相机的第一移动向量,其中,AR场景相机随AR设备的移动而移动。
[0072] 本实施例中的AR设备可以理解为一切可以运行AR应用的设备,包括但不限于计算机、智能手机、AR头盔、AR眼镜、游戏控制台、平板设备等。AR设备以移动设备居多,当AR设备移动时,AR场景相机也随着AR设备的移动而移动。而阴影是增强AR场景真实度的一个重要技术手段,理想的情况为,当AR场景相机移动时,阴影也需要随着AR场景相机的移动而移动。
[0073] 本实施例提供的方法以图像帧为单位进行软阴影处理,针对每一帧图像分别进行处理。获取增强现实设备的运动向量,根据运动向量,获取增强现实设备的AR场景相机的第一移动向量。其中,增强现实设备的运动向量可以通过传感器获取,例如可以通过运动传感器获得。根据运动向量,获取增强现实设备的AR场景相机的第一移动向量,可以根据现有技术的方法获取,本实施例对此不再赘述。可以理解的是,第一移动向量包含了AR场景相机在当前帧相对于当前帧的前一帧的移动方向和移动距离。
[0074] 步骤S102、根据第一移动向量,确定AR设备的阴影相机的第二移动向量。
[0075] 现有技术中,当AR场景相机移动第一移动向量时,阴影相机也移动第一移动向量,由于AR场景相机移动的不确定性,导致阴影相机移动后生成的阴影图切分像素,移动前后的阴影图中的像素不能够完全对齐,因此在阴影边缘出现闪烁。现有技术为了消除闪烁,实现软阴影,投入了大量的计算,如进行多重采样插值,对于一个像素需要使用周围至少9*9=81个像素进行计算。现代显示设备分辨率通常极高,对于常见的分辨率如1920*1080的一帧图像来说,采样次数约1.6亿次/帧,计算量相当庞大,使得低性能的AR设备上无法拥有高质量的阴影效果,限制了AR应用的使用,降低了用户体验。
[0076] 而本实施例中,根据第一移动向量,确定阴影相机的第二移动向量。通过精确规划阴影相机的移动距离,让阴影相机每次移动后生成的阴影图都移动整数个像素的大小,保证了阴影相机移动后生成的阴影图不会切分像素,从而让移动前和移动后的阴影图中的像素能够完全对齐,移动前后两帧中的锯齿也能够完全对齐,从而消除了闪烁。由于无需再通过大量计算消除闪烁,因此本实施例提供的方法,在实现同等质量的软阴影效果时,只需要较小的计算量。例如,实现与现有技术中通过9*9=81个像素进行计算相同的软阴影效果时,本实施例提供的方法只需要对一个像素周围3*3=9个像素进行计算,使得计算量只有原来的1/9,大幅降低了计算量,使得低性能的AR设备上也可以拥有高质量的阴影效果。
[0077] 步骤S103、控制AR场景相机进行场景渲染;阴影相机进行阴影渲染,生成图像帧中的阴影图;根据AR场景相机和阴影相机的渲染结果生成图像帧;其中,图像帧中的阴影图相对于上一图像帧中的阴影图移动整数个像素;控制阴影相机移动第二移动向量。
[0078] 在确定了能够使阴影图移动整数个像素的第二移动向量后,控制阴影相机移动第二移动向量。
[0079] 图2为本发明提供的AR设备移动时阴影图移动的示意图。如图2所示,其中,网格线所示平面表示灯光空间的XoY平面,灯光空间是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴。右图表示当前帧,左图表示当前帧的前一帧,即左图表示移动前的帧,右图表示移动后的帧。
[0080] 梯形区域为AR场景相机的可视区域,矩形区域为阴影图覆盖区域。从图2可以看出,AR场景相机的可视区域移动了非整数个像素对应的距离,图中虚线矩形框表示现有技术中阴影图的移动方式,即阴影相机生成的阴影图与AR场景相机的可视区域移动相同向量。由图2可以看出,采用现有技术移动后的阴影图,即图2中虚线矩形框所示区域切分了像素,会导致了软阴影的闪烁。而本实施例提供的移动方式,即图2中右图实线矩形框区域,在阴影相机跟着AR场景相机移动的过程中,引入一个微小的偏移,让阴影相机生成的阴影图每次移动都是整数个像素的大小,确保阴影图不会切分像素,让移动前后的阴影图中的像素能够完全重合,从而让人眼察觉不出锯齿的移动,解决了软阴影的闪烁问题。
[0081] 步骤S104、生成阴影图;根据阴影图生成并输出图像帧;其中,阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个像素。
[0082] 将生成的阴影图应用于当前帧的AR场景,使得当前帧的AR场景更加真实逼真,至此完成了当前帧图像的处理。若当前帧是最后一帧,则结束处理,若当前帧不是最后一帧,则继续下一帧图像的处理。
[0083] 本实施例提供的增强现实设备的软阴影处理方法,通过获取增强现实设备的运动向量,根据运动向量,获取增强现实设备的AR场景相机的第一移动向量,并根据第一移动向量,确定能够使阴影相机生成的阴影图移动整数个像素的第二移动向量,保证了移动后的阴影图不会切分像素,移动前后的阴影图中的像素能够完全对齐,避免出现闪烁,控制阴影相机移动第二移动向量,生成阴影图,根据阴影图生成并输出图像帧,消除了AR设备移动时软阴影边缘的闪烁,提高了AR场景中软阴影的质量,而且本实施例提供的方法计算量小,使得低性能的AR设备也能够拥有高质量的阴影效果,提高了用户体验。
[0084] 在上述实施例的基础上,本实施例针对上述实施例中的步骤S102进行进一步的详细说明。
[0085] 在一种可能的实现方式中,根据第一移动向量,确定AR设备的阴影相机的第二移动向量,可以包括:
[0086] 步骤S1021、将第一移动向量投影到灯光空间的XoY平面,获得第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离。
[0087] 其中,灯光空间是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴。
[0088] 可选的,可以通过预设矩阵,将第一移动向量投影到XoY平面。其中,预设矩阵反映了世界空间到灯光空间的XoY平面的映射关系,可以根据灯光的参数确定。灯光的参数可以包括:灯光的位置、姿态角、视场角fov的角度等。
[0089] 步骤S1022、根据单个阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,确定阴影相机在X轴的第三移动距离和在Y轴的第四移动距离。
[0090] 其中,单个阴影图像素的真实长度和真实宽度,代表了一个阴影图像素所表示的灯光空间的XoY平面中的长度和宽度。可选的,可以通过如下方法确定单个阴影图像素的真实长度和真实宽度:
[0091] 首先,获取AR场景相机的视锥在灯光空间中的包围盒。其中,AR场景相机的视锥可以理解为一个去掉顶部的金字塔形,获取AR场景相机的视锥的包围球,将包围球转换到灯光空间,并获取包围球在灯光空间的包围盒,即AR场景相机的视锥在灯光空间中的包围盒。
[0092] 然后,获取包围盒在XoY平面的投影区域的长度和宽度。将包围盒投影到灯光空间的XoY平面,确定投影区域的长度和宽度,即为包围盒在XoY平面的投影区域的长度和宽度。
[0093] 最后,将长度除以阴影图的分辨率长度,获得真实长度,将宽度除以阴影图的分辨率宽度,获得真实宽度。其中,阴影图的分辨率长度和宽度可以预先设定,例如可以设置为1024*1024。
[0094] 在一种可能的实现方式中,根据单个阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,确定阴影相机在X轴的第三移动距离和在Y轴的第四移动距离,可以包括:
[0095] 根据如下公式确定第三移动距离:
[0096] S3=floor(S1/L)*L;
[0097] 根据如下公式确定第四移动距离:
[0098] S4=floor(S2/W)*W;
[0099] 其中,S1表示第一移动距离,S2表示第二移动距离,S2表示第三移动距离,S4表示第四移动距离,floor表示向下取整,L表示真实长度,W表示真实宽度。
[0100] 通过向下取整,使得阴影相机在Z轴的第三移动距离以及在Y轴的第四移动距离都对应整数个像素。确保移动后的阴影图不会切分像素。
[0101] 可以理解的是,本实施例中的向下取整操作也可以采用向上取整操作替换,同样可以确保移动后的阴影图不会切分像素。
[0102] 步骤S1023、根据第三移动距离和第四移动距离,确定AR设备的阴影相机的第二移动向量。
[0103] 在一种可能的实现方式中,可以将平面向量F(S3,S4,0)从灯光空间反向投影到世界空间,获得第二移动向量;其中,S3表示第三移动距离,S4表示第四移动距离。例如,可以采用投影矩阵,通过投影变换实现。投影矩阵反映了灯光空间的XoY平面到世界空间的映射关系,可选的,可以选用上述预设矩阵的逆矩阵作为投影矩阵。
[0104] 本实施例提供的增强现实设备的软阴影处理方法,通过将AR场景相机的第一移动向量投影到灯光空间的XoY平面,获得第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离,根据单个阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,确定阴影相机在X轴的第三移动距离和在Y轴的第四移动距离,根据第三移动距离和第四移动距离,确定阴影相机的第二移动向量,控制阴影相机移动第二移动向量,消除了AR设备移动时软阴影边缘的闪烁,以较小的计算量实现了高质量的阴影效果。
[0105] 图3为本发明提供的增强现实设备的软阴影处理方法又一实施例的流程图。如图3所示,本实施例的方法可以包括:
[0106] 步骤S301、获取增强现实设备的运动向量,根据运动向量,获取AR设备的AR场景相机的第一移动向量,其中,AR场景相机随增强现实设备的移动而移动。
[0107] 步骤S302、将第一移动向量投影到灯光空间的XoY平面,获得第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离。
[0108] 其中,灯光空间是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴。
[0109] 步骤S303、根据如下公式确定第三移动距离:S3=floor(S1/L)*L;
[0110] 根据如下公式确定第四移动距离:S4=floor(S2/W)*W;
[0111] 其中,S1表示第一移动距离,S2表示第二移动距离,S2表示第三移动距离,S4表示第四移动距离,floor表示向下取整,L表示真实长度,W表示真实宽度。
[0112] 其中阴影图像素的真实长度和阴影图像素的真实宽度可以通过如下方法确定:获取AR场景相机的视锥的包围球,将包围球转换到灯光空间,并获取包围球在灯光空间的包围盒,获取包围盒在XoY平面的投影区域的长度和宽度,将长度除以阴影图的分辨率长度,获得阴影图像素对应的真实长度,将宽度除以阴影图的分辨率宽度,获得阴影图像素对应的真实宽度。
[0113] 步骤S304、将平面向量F(S3,S4,0)从灯光空间反向投影到世界空间,获得第二移动向量;其中,S3表示第三移动距离,S4表示第四移动距离。
[0114] 步骤S305、控制阴影相机移动第二移动向量后,生成阴影图,其中,阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个像素。
[0115] 步骤S306、根据阴影图生成并输出图像帧。
[0116] 本实施例提供的增强现实设备的软阴影处理方法,通过将AR场景相机的第一移动向量投影到灯光空间的XoY平面,获得第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离,根据阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,通过向下取整,确定阴影相机在X轴上对应的整数个像素的第三移动距离和在Y轴上对应的整数个像素的第四移动距离,将由第三移动距离和第四移动距离构成的平面向量从灯光空间反向投影到世界空间,获得第二移动向量,通过上述方法确定的第二移动向量,使得阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个像素,控制阴影相机移动第二移动向量后,生成阴影图,根据阴影图生成并输出图像帧,消除了AR设备移动时软阴影边缘的闪烁且降低了计算量,实现了高质量的阴影效果。使得低性能的AR设备也能够拥有高质量的阴影效果,扩大了AR场景的使用范围。
[0117] 本发明实施例还提供一种增强现实设备的软阴影处理装置,请参见图4所示,本发明实施例仅以图4为例进行说明,并不表示本发明仅限于此。图4为本发明提供的增强现实设备的软阴影处理装置一实施例的结构示意图。该装置可以是AR设备,也可以是用于AR设备中的部件,如芯片、集成电路等。如图4所示,本实施例提供的增强现实设备的软阴影处理装置40可以包括:获取模块401、确定模块402、控制模块403和处理模块404。
[0118] 获取模块401,用于获取增强现实AR设备的运动向量,根据运动向量,获取AR设备的AR场景相机的第一移动向量,其中,AR场景相机随AR设备的移动而移动。
[0119] 确定模块402,用于根据第一移动向量,确定AR设备的阴影相机的第二移动向量。
[0120] 控制模块403,用于控制AR场景相机进行场景渲染;阴影相机进行阴影渲染,生成图像帧中的阴影图;根据AR场景相机和阴影相机的渲染结果生成图像帧;其中,图像帧中的阴影图相对于上一图像帧中的阴影图移动整数个像素;控制阴影相机移动第二移动向量。
[0121] 处理模块404,用于生成阴影图;根据阴影图生成并输出图像帧;其中,阴影相机移动第二移动向量后生成的阴影图与移动第二移动向量前生成的阴影图相比,移动整数个像素。
[0122] 本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0123] 在一种可能的实现方式中,确定模块402可以包括:第一确定子模块、第二确定子模块和第三确定子模块。
[0124] 第一确定子模块,用于将第一移动向量投影到灯光空间的XoY平面,获得第一移动向量在X轴上的第一移动距离以及在Y轴上的第二移动距离;灯光空间是以灯光所在的位置为原点,灯光的照射方向为-Z轴,灯光的右方为X轴,灯光的上方为Y轴。
[0125] 第二确定子模块,用于根据阴影图像素的真实长度和真实宽度、第一移动距离和第二移动距离,确定阴影相机在X轴的第三移动距离和在Y轴的第四移动距离。
[0126] 第三确定子模块,用于根据第三移动距离和第四移动距离,确定AR设备的阴影相机的第二移动向量。
[0127] 在一种可能的实现方式中,第三确定子模块,具体可以用于,将平面向量F(S3,S4,0)从灯光空间反向投影到世界空间,获得第二移动向量;其中,S3表示第三移动距离,S4表示第四移动距离。
[0128] 在一种可能的实现方式中,第二确定子模块,具体可以用于,
[0129] 根据如下公式确定第三移动距离:
[0130] S3=floor(S1/L)*L;
[0131] 根据如下公式确定第四移动距离:
[0132] S4=floor(S2/W)*W;
[0133] 其中,S1表示第一移动距离,S2表示第二移动距离,S2表示第三移动距离,S4表示第四移动距离,floor表示向下取整,L表示真实长度,W表示真实宽度。
[0134] 在一种可能的实现方式中,获取模块401还可以用于,
[0135] 获取AR场景相机的视锥在灯光空间中的包围盒;
[0136] 获取包围盒在XoY平面的投影区域的长度和宽度;
[0137] 将长度除以阴影图的分辨率长度,获得真实长度,将宽度除以阴影图的分辨率宽度,获得真实宽度。
[0138] 在一种可能的实现方式中,获取AR场景相机的视锥在灯光空间中的包围盒,可以包括:
[0139] 获取AR场景相机的视锥的包围球;
[0140] 将包围球转换到灯光空间,并获取包围球在灯光空间的包围盒。
[0141] 在一种可能的实现方式中,第一确定子模块,具体可以用于,
[0142] 通过预设矩阵,将第一移动向量投影到XoY平面。
[0143] 可选的,可以根据灯光的参数,确定预设矩阵。其中,灯光的参数可以包括:灯光的位置、姿态角、视场角fov的角度。
[0144] 本发明实施例还提供一种AR设备,请参见图5所示,本发明实施例仅以图5为例进行说明,并不表示本发明仅限于此。图5为本发明提供的AR设备一实施例的结构示意图。该AR设备可以是计算机、智能手机、AR头盔、AR眼镜、游戏控制台、平板设备等。如图5所示,本实施例提供的AR设备50可以包括:存储器501、处理器502和总线503。其中,总线503用于实现各元件之间的连接。
[0145] 存储器501中存储有计算机程序,计算机程序被处理器502执行时可以实现上述任一方法实施例提供的增强现实设备的软阴影处理方法的技术方案。
[0146] 其中,存储器501和处理器502之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线503连接。存储器501中存储有实现增强现实设备的软阴影处理方法的计算机程序,包括至少一个可以软件固件的形式存储于存储器501中的软件功能模块,处理器502通过运行存储在存储器501内的软件程序以及模块,从而执行各种功能应用以及数据处理
[0147] 存储器501可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(Programmable Read-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器501用于存储程序,处理器502在接收到执行指令后,执行程序。进一步地,上述存储器501内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
[0148] 处理器502可以是一种集成电路芯片,具有信号的处理能。上述的处理器502可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图5的结构仅为示意,还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件和/或软件实现。
[0149] 本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一方法实施例提供的增强现实设备的软阴影处理方法的技术方案。本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
[0150] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈