虚拟环境中遮挡的估计方法

文档序号:6436172阅读:160来源:国知局
专利名称:虚拟环境中遮挡的估计方法
技术领域
本发明涉及合成图像组合领域,更具体地涉及虚拟环境中环境遮挡(ambient occlusion)估计领域。也可以在针对实时组合(live composition)的特殊效果的上下文中理解本发明。
背景技术
根据现有技术,存在用于仿真虚拟环境中环境遮挡的不同方法。根据这些方法之一,为了计算虚拟环境(也被称作场景)中某点处的遮挡,从该点开始发射足够数目的射线 (ray)穿过虚拟环境,以便确定这些射线与邻近该点的几何形状之间的交点。相交射线的数目与所发射射线的数目之间的关系使得认为能确定该点处的遮挡。为了获得高质量的结果,该方法需要发射大量射线。执行计算所需的资源直接依赖于所发射射线的数目,如果期望的显示质量较高,则计算要求太高以至于不能实时执行。为了实时执行遮挡计算,有必要减少所发射射线的数目,而损害虚拟环境的显示质量。随着交互仿真游戏和应用的出现,尤其在三维(3D)中,需要提供高质量以及可行、快速全局遮挡估计的实时仿真方法。

发明内容
本发明的目的在于克服现有技术中这些缺点中的至少一个。更具体地,本发明的目的特别是优化对虚拟环境中环境遮挡进行实时估计所需的计算时间和/或计算能力,以产生现实可行的显示。本发明涉及一种对虚拟环境中点P处的遮挡进行估计的方法,点P属于集合了虚拟环境中从视点可见的至少一些点的表面,所述方法包括以下步骤对代表所述表面与以点P作为原点的多条半直线(half-line)之间的交点的信息项进行估计,其中通过多条半直线中每条半直线的离散化来估计交点,以及将遮挡因子与多条半直线中跟表面有交点的半直线相关联,遮挡因子依据点P与交点之间分开的遮挡距离,以及根据代表所估计交点的信息以及遮挡因子,来估计点P处的遮挡。根据本发明特征,与多条半直线中的半直线相关联的遮挡因子的值与距离成反比,该距离是点P与该半直线和表面的交点之间分开的距离。有利地,点P处的遮挡对应于与表面(S)有交点的半直线的数目与多条半直线的总数的比值,其中利用遮挡因子对代表点P处遮挡的比值的分子进行加权。根据具体特征,所述方法还包括步骤对视点与虚拟环境中可见点之间分开的距离进行估计,所估计的距离以深度图表示,对代表交点的信息项的估计在深度图的空间中执行。有利地,多条半直线形成以P为中心的半球,该半球主要在与点P相关联的表面元素(element of surface)上升起。
根据具体特征,半球的底边与关联于点P的表面元素相切。有利地,所述方法包括步骤将代表点P处的遮挡的信息项存储在遮挡图中。根据具体特征,半直线的方向依赖于点P的位置。根据另一特征,使用射线采样方法来估计代表交点的信息。本发明还涉及适于对虚拟环境中点P处的遮挡进行估计的设备,点P属于集合了虚拟环境中从视点可见的至少一些点的表面,所述设备包括对代表所述表面与以点P作为原点的多条半直线之间的交点的信息项进行估计的装置,其中通过多条半直线中每条半直线的离散化来估计交点,以及将遮挡因子与多条半直线中跟表面有交点的半直线相关联的装置,遮挡因子依据点P与交点之间分开的遮挡距离Aci,以及根据代表所估计的交点的信息以及遮挡因子,来估计点P处的遮挡的装置。根据本发明特征,与多条半直线中的半直线相关联的遮挡因子的值与距离成反比,该距离是点P与该半直线和表面的交点之间分开的距离。有利地,点P处的遮挡对应于与表面有交点的半直线的数目与多条半直线的总数的比值,利用遮挡因子对代表点P处遮挡的比值的分子进行加权。


在阅读以下描述时,将更好地理解本发明,并且显现其他特定特征和优点,描述参照附图,在附图中图IA图示了根据本发明具体实施例的从视点所看到的虚拟环境,图IB示出了根据本发明具体实施例的深度图,该深度图与虚拟环境和视点相关联,并且代表集合了图IA中从视点可见的点的表面,图2和3图示了根据本发明两个具体实施例的半球,该半球由方向形成,对于这些方向,估计了与图IA的虚拟环境的可见点的表面的交点,图4和5图示了根据本发明具体实施例的用于对图2和3的方向与图IA的虚拟环境的可见视点的表面之间的交点进行估计的方法,图6示出了根据本发明具体实现方式的用于实现对图IA的虚拟环境中某点处的遮挡进行估计的方法的设备,图7示出了根据本发明具体实施例的用于对图IA的虚拟环境中某点处的遮挡进行估计的方法。
具体实施例方式参照用于对虚拟环境中点P处的遮挡进行估计的方法的具体实施例来描述本发明。有利地,点P是由从视点可见的所有或一些虚拟环境点形成的表面的一部分。为了确定点P处的遮挡,发射以点P作为原点的多条射线穿过虚拟环境,并且这些射线中每条射线与可见点表面之间的交点是通过对所发射射线进行离散化来确定的。例如,点P处的遮挡对应于与可见点表面有交点的射线的数目和射线总数之间的关系。对每条发射的射线进行离散化,这使得能够精确确定与表面的交点(如果该交点存在)。由于某点处的遮挡,或另外被称作某点处的荫蔽(Shading),依赖于该点的邻近几何形状,所以精确确定与所考虑的围绕点P的可见点表面的交点使得能够更精确地估计点P处的遮挡,而无需发射大量射线。 因此,根据所描述的本发明具体实施例的对点P处遮挡的估计是快速的,并且提供高质量等级,特别能够实现了实时或实况应用。通过估计可见点表面的每个点处的遮挡,可以确定虚拟环境的环境遮挡,并因此确定虚拟环境的每个可见点处的荫蔽,而无需知道应用于虚拟环境的照明。图I示出了从视点11所看到的虚拟环境或虚拟场景1,视点11例如是虚拟环境I的观众。有利地,虚拟环境由光环境照亮,确保虚拟环境的每个点处恒定且匀质的照明。虚拟环境I包括一个或若干根据本领域技术人员已知的任何方法建模的虚拟对象12、 13、14和15,例如,通过多边形建模,在多边形建模中,模型与分别由一系列顶点和边沿限定的一组多边形相似,一系列顶点和边沿组成多边形;通过NURBS (非均匀有理基本样条) 类型曲线建模,其中模型通过经由控制顶点创建的一组曲线来限定;以及通过表面再划分 (subdivision)建模。虚拟对象理解为组成真实环境(例如,地面、房屋或房屋正面、汽车、 树,即组成诸如房屋、街道、城镇、乡村之类环境的一部分的任何元素)或假想元素的任何对象(真实或假想)的虚拟表示(通过建模来获得)。虚拟环境的每个对象12、13、14和15 由覆盖相应对象的表面来表征,每个对象的表面具有对于该表面特定的反射系数特性(对应于沿着一个或若干方向由表面反射的入射光的比例)。有利地,对象表面的反射系数根据反射光的对象区域(包括表面的一个或若干点的表面区域)而变化,即,对象表面的反射系数不是恒定的。根据变型,对象表面的反射系数在对象表面的任何点处是恒定的。根据图I 的示例,观众11根据观察方向111观看虚拟环境I的点P 16,点P 16对应于观察方向111 与虚拟环境I中遭遇该观察方向的第一对象之间的交点,该观察方向以视点11作为原点, 第一对象即是对象13。通过观察锥体112示出了从视点11看到的虚拟环境I的一部分,观察锥体由包括观察方向111在内的大量观察方向组成。从视点11可见的对象12至15的点集合有利地形成可见点表面S。根据变型,表面S仅包括可见点集合的子集,例如,对象 12和13的可见点,如果仅对对象12和13感兴趣。确定点P 16处的遮挡意味着确定点P 与邻近点P 16的区域中表面S的每个点之间分开的距离,或者换言之,确定以点P作为原点的半直线与表面S之间的交点。例如,表面S上点P的邻近区域理解为属于表面S并且与点P的距离小于阈值(例如位于小于25cm、50cm或Im的距离处)的点的集合。有利地, 根据所考虑的点的几何坐标,在世界空间中执行(即,在虚拟环境的空间中执行)对以点P 16为原点的半直线与表面S之间的交点的确定。例如,以点P为原点的半直线集合形成具有中心P的球、底边以P为中心的半球、或者四分之一球。根据变型,在深度图10的空间中执行对以点P 16为原点的半直线与表面S之间的交点的确定。根据该变型,如从视点11所见一样显示虚拟环境I。将代表如从视点11所见的虚拟环境I的信息存储在深度图110中。对于虚拟环境I中从视点可见的每个点,深度图有利地包括代表视点11与所考虑的可见点之间分开的距离的信息项。图IB示出了根据本发明具体实施例的这种深度图110。代表距离的信息由矢量1110至Illi来表示,矢量1110至Illi的模(norm)等于视点11与所考虑的可见点之间的距离。因此,深度图包括与虚拟环境I中被投影到表面上的可见点相关联的多个点组成,其中所述表面例如由代表视点11的视场的锥体112来形成,并且垂直于视点11的主观察方向。将代表深度的信息项(即,代表距离视点/可见点的信息项)与深度图的每个相应点相关联。通过将代表深度的矢量的端点所形成的深度图的每个点连接,来获得表面S’,表面S’代表从视点11看到的环境的可见点集合。该表面S’(类似表面S)代表环境中从视点可见的所有或一些点的集合,包括点P 43。根据变型,有利地,将深度信息记录和存储在数据结构中,该数据结构包括在与GPU相关联的存储器中记录的表。这些记录被称作深度记录。这些记录使得能够参考虚拟环境I中从视点11可见的点的集合,针对可见点集合,存在遮挡估计方法以便例如确定虚拟环境I或虚拟环境的一部分(例如,组成虚拟环境I的若干对象12至15之一)的环境遮挡。图2和3示出了分别由以点P 16作为原点的半直线形成的半球20和30,针对半直线确定其与表面S(或者如果置于深度图空间中则为S’)的交点。如参照图2所示,半球20包括多个矢量22、23,每个矢量表示与以点P作为原点的半直线相关联的方向。半球 20具有底边21,底边21与虚拟环境的观察方向111实质上是正交的。为了确定形成半球 20的矢量22、23,例如以η个样本(例如,每个样本对应于点211或与该点相关联的表面元素)对底边21进行采样,然后根据底边21处的正交轴Z将底边21的每个采样投影到半球 20上,从而一方面形成以点P作为端点的矢量23,且另一方面形成底边21的所考虑的样本 211的投影。有利地,由用户来配置样本的数目η。为了加速计算,样本的数目η有利地较少。为了避免与欠米样有关的显不误差,用于表不与点P相关联的半球的η个样本在表面 S的给定区域中在一个点P与另一个点之间发生变化,旋转矩阵被应用于η个底边样本,以为所考虑的表面S的区域中每个点P获得η个不同样本构成的集合。为此,旋转矩阵的角度Θ在一个点P与另一个点之间随机地或者以确定的方式变化,从而能够针对每个点P来根据η个底边样本创建η个样本的集合。例如,应用于η个底边样本的二维旋转矩阵R2d等于所有矢量22、23具有公共的第一端点,即点P 16,表面元素与每个矢量22、23的第二端点相关联,与矢量相关联的表面元素之和形成半球20的表面。为了获得点P 16处的遮挡,首先确定以点P作为原点、与表面S有交点的半直线(如参照图4和5更精确所示), 接着将与对应于这些半直线的矢量相关联的表面元素加起来。然后计算表面元素之和半球 20的总表面之间的比值,其中所述表面元素对应于与表面S 110有交点的半直线。因此获得的表面比值代表点P 16处的遮挡,该遮挡代表点P处表面S上的荫蔽。由以点P 16作为原点的多条半直线形成的半球20有利地主要在与点P 16相关联的表面S的表面元素210 之上。“主要在与点P相关联的表面元素之上”这一表达通过以下事实来理解形成半球的矢量中大部分矢量与表面元素210没有交点,或者通过以下事实来理解半球的底边21与点P处表面元素的切线形成的角度小于给定阈值,例如小于45度。图3还示出了底边31以点P 16为中心的半球。半球30包括多个矢量32、33,每个矢量表示与以点P为原点的半直线相关联的方向,针对该半直线必须确定其与表面S的交点。如图2所示,半球30的底边与关联于点P 16的表面S的表面元素210相切,矢量N 表示表面元素210处的切线的法线。例如,根据其底边21与观察方向111正交的半球20, 来获得其底边31与关联于点P的表面元素210相切的半球30,其中旋转轴Z,使其与表面元素210处的切线正交。例如,在这种情况下使用的旋转对应于以下旋转根据从视点11
7看到的环境I所对应的空间中与表面元素210处的切线正交的观察方向111,从该空间引导得到采样方向ω i,该旋转用与从视点11看到的环境相对应的空间的坐标来表示,该旋转被称作R3D。使用角度/轴表示(r,Θ )来解析地确定R3D,r被定义为与N 32和Z 22正交的矢量,Θ被定义为以下之间的角度
权利要求
1.一种对虚拟环境(I)中点p(16)处的遮挡进行估计的方法,点P(16)属于集合了虚拟环境(I)中从视点(11)可见的至少一些点的表面(S),其特征在于所述方法包括以下步骤对代表所述表面(S)与以所述点P(16)作为原点的多条半直线之间的交点(403)的信息(6213)进行估计(72),其中通过所述多条半直线中每条半直线(40)的离散化来估计所述交点(403),将遮挡因子与所述多条半直线中跟所述表面(S)有交点的半直线相关联,其中所述遮挡因子依据所述点P(16)与所述交点(403)之间分开的遮挡距离Aci,以及根据代表所估计的交点(403)的所述信息以及所述遮挡因子,估计(73)所述点P(16) 处的遮挡。
2.根据权利要求I所述的方法,其特征在于,与所述多条半直线中的半直线相关联的遮挡因子的值与距离成反比,所述距离是所述点P与所述半直线和所述表面(S)的交点之间分开的距离。
3.根据权利要求I至2之一所述的方法,其特征在于,所述点P(16)处的遮挡对应于和所述表面(S)有交点的半直线的数目与所述多条半直线的总数的比值,其中利用所述遮挡因子对代表点P处遮挡的所述比值的分子进行加权。
4.根据权利要求I至2之一所述的方法,其特征在于,所述方法还包括步骤对所述视点(11)与虚拟环境(I)中可见点之间分开的距离进行估计,其中所估计的距离以深度图 (110)表示,对代表交点的所述信息的估计在深度图的空间中执行。
5.根据权利要求I至2之一所述的方法,其特征在于,所述多条半直线形成以点P(16) 为中心的半球(20、30),所述半球(20、30)主要在与点P(16)相关联的所述表面(S)的表面元素(210)上升起。
6.根据权利要求5所述的方法,其特征在于,所述半球的底边(31)与关联于点P(16) 的所述表面元素(210)相切。
7.根据权利要求I至2之一所述的方法,其特征在于,所述方法包括步骤将代表点 P(16)处遮挡的信息存储在遮挡图中。
8.根据权利要求I至2之一所述的方法,其特征在于,半直线(40)的方向(Coi)依赖于点P(16)的位置。
9.根据权利要求I至2之一所述的方法,其特征在于,使用射线行进方法来估计代表交点(403)的所述信息。
10.一种适于对虚拟环境(I)中点P(16)处的遮挡进行估计的设备,点P(16)属于集合了虚拟环境(I)中从视点(11)可见的至少一些点的表面(S),其特征在于所述设备包括对代表所述表面(S)与以所述点P(16)作为原点的多条半直线之间的交点(403)的信息(6213)进行估计的装置(620),其中通过所述多条半直线中每条半直线(40)的离散化来估计所述交点(403),以及将遮挡因子与所述多条半直线中跟所述表面(S)有交点的半直线相关联的装置 (620),其中所述遮挡因子依据所述点P(16)与所述交点(403)之间分开的遮挡距离Λ。,以及根据代表所估计的交点(403)的所述信息以及所述遮挡因子来估计所述P点(16)处的遮挡的装置(620)。
11.根据权利要求10所述的设备,其特征在于,与所述多条半直线中的半直线相关联的遮挡因子的值与距离成反比,所述距离是所述点P与所述半直线和所述表面(S)的交点之间分开的距离。
12.根据权利要求10或11所述的设备,其特征在于,所述点P(16)处的遮挡对应于与所述表面(S)有交点的半直线的数目与所述多条半直线的总数的比值,其中利用所述遮挡因子对代表点P处遮挡的所述比值的分子进行加权。
全文摘要
本发明涉及一种对虚拟环境中点P(16)处的遮挡进行估计的方法,点P(16)属于集合了虚拟环境中从视点(11)可见的至少一些点的表面(S)。为了改善显示并同时最小化所需计算时间,该方法包括以下步骤对表面(S)与以点P(16)作为原点的多条半直线之间的交点(403)进行估计,通过多条半直线中每条半直线(40)的离散化来估计交点(403),将遮挡因子与多条半直线中跟表面(S)有交点的半直线相关联,遮挡因子依据点P(16)与交点(403)之间分开的遮挡距离Δ0,以及根据所估计的交点(403),来估计点P(16)处的遮挡。
文档编号G06T15/50GK102592306SQ20111032270
公开日2012年7月18日 申请日期2011年10月21日 优先权日2010年10月21日
发明者加埃尔·苏里曼特, 帕斯卡·高特隆, 让-欧德斯·马维 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1