用于在全息系统中编码包含透明物体的三维场景的方法和装置

申请号 CN201180027446.8 申请日 2011-04-01 公开(公告)号 CN102918466A 公开(公告)日 2013-02-06
申请人 视瑞尔技术公司; 发明人 恩里科·泽思丘; 尼尔斯·普法伊费尔;
摘要 计算用于包括部分地吸收光或声音的物体(300)的三维场景(200,300)的重建的编码的方法。该方法能在计算单元中实施。为了尽可能真实地重建三维场景,通过考虑场景中吸收的情况,在衍射图的原点处独立计算衍射图。该方法能被用于在全息显示器或体显示器中呈现三维场景。进一步,其能被执行以在声源阵列中实现声场的重建。
权利要求

1.一种为用于三维场景重建的全息系统的空间光调制器(SLM)为至少一个观察者眼睛计算全息编码值的方法,三维场景包括具有透明性能的物体,其中:
——将三维场景分成单个物点并检测这些物点的坐标;
——确定虚拟观察者位置,该位置对应于所选择的明显感知三维场景中的观察者的眼睛的位置;
——确定没有被从虚拟观察者位置看见的其他物点所完全覆盖的将要编码的所有物点;
——通过待编码的所有可见物点到虚拟观察者位置的距离,将在同一度从虚拟观察者位置可看见的所有物点进行分类;
——确定每个可见物点的实际亮度,如果可能,在它们从虚拟观察者位置被看见的角度,考虑那些物点的位置处的场景的所有真实和虚拟光源位置和强度,其中可考虑包括真实和虚拟光源的物体的物理属性;
其特征在于:
——对于将被编码的每个可见物点,考虑到它在实际位置的实际亮度、到虚拟观察者位置的距离、和位于可见物点与虚拟观察者位置之间的所有物体或物点的透明度属性,确定通过其在虚拟观察者位置感知的物点的表观亮度值;
——以及用其各自的亮度值分别编码每个物点,以使其以该亮度值在全息系统中在其位置处尽可能地重建,使得在它们各自位置处能独立地感知不透明和透明物点。
2.根据权利要求1所述的方法,其特征在于,考虑到每个待编码的物点位置处的实际颜色值以及位于可见物点和虚拟观察者之间所有物体和物点的透明度属性,除表观亮度值以外,针对每个待编码的物点的表观颜色值经确定;具有该表观颜色值的该物点可在虚拟观察者位置处感知;以及用它的各自的颜色值分别编码每个物点,以使其通过这颜色值在其实际或虚拟位置处尽可能远地在全息系统中重建,因此在它们各自位置处能分别地感知不透明和透明物点。
3.根据权利要求1或2所述的方法,其特征在于,由于反射、缓解或散射可被虚拟地生成的附加的虚拟物点经计算,其是在至少一个虚拟或真实的光源的光和将要重建的三维场景的物体的物点之间的相互作用的结果,其中能考虑物体的光学属性和虚拟或真实光源,为那些像真实物点的虚拟物点,计算在虚拟观察者的位置处的表观亮度值或表观亮度及颜色值,以及用他们的各自的值分别地编码他们。
4.根据上述权利要求中任一所述的方法,其特征在于,物点的位置相对于虚拟观察者位置经修正,如果必要,由于定位在虚拟观察者位置和待修正的物点之间的物体或物点处的光学属性(例如反射、折射或衍射),以及为那些修正的位置而计算表观亮度值或表观亮度和颜色值,以及可以用各自的值分别编码物点。
5.根据上述权利要求中任一所述的方法,其特征在于,通过考虑位于物点和虚拟观察者位置之间的物体或物点的空间透明度分布,计算在虚拟观察者位置处物点的表观亮度值或表观亮度和颜色值,以及他们的光谱相关性能被考虑。
6.根据上述权利要求中任一所述的方法,其特征在于,在随机方法和位于物点和虚拟观察者的位置之间的透明和/或反射和/或漫射和/或衍射和/或折射的物体或物点的吸收、散射、反射和衍射的概率的帮助下,计算在虚拟观察者的位置处的物点的表观亮度值或表观亮度和颜色值;其中他们的光谱相关性被考虑。
7.根据上述权利要求中任一所述的方法,其特征在于,为了提高或者减少那个点的可见性,以放大或减弱的形式在单个物点的表观亮度值或者表观亮度和颜色值的计算中,考虑位于物点和虚拟观察者位置之间的至少一个单物体的至少一个透明度值。
8.用于声音重放系统计算编码值的方法,该声音重放系统包括至少两个声音生成装置,该声音重放系统包含三维场景的空间和时间的不同的声音值的三维声场的重建,该三维场景包括为至少一个听者的朵具有声音吸收属性的物体,其中:
——该三维场景被分成单个物点,单个物点能够影响声音,以及确定这些物点的坐标;
——确定虚拟听者的位置,其与经选择的听者的耳朵的位置相对应,其中听觉上明显感知三维场景;
——在虚拟听者的位置的方向,确定没有被其他充分吸收声音的物点充分覆盖的所有物点;
——位于来自虚拟听者的位置方向的所有物点通过他们到虚拟听者的位置的距离分类;
——确定在能影响声音的每个物点的位置处的实际响度、音高和声音传送时间,如果可能的话,在那些物点的位置处,以从虚拟听者的位置感知他们的所述角度,考虑场景所有实际和虚拟的声源的位置和强度,其中包含实际和虚拟声源的物体的物理属性能被考虑;
其特征在于:
——针对能影响声音的每个物点,通过考虑能影响声音的物点的位置处的实际响度、音高和声音传送时间、至虚拟听者的位置的距离以及位于物点和虚拟听者的位置之间的所有物体或物点的吸收属性确定表观响度、音高和声音传送时间(具有这些表观响度、音高和声音传送时间的声音在虚拟观察者位置处被感知);
——以及分别编码包括响度、音高和声音传送时间的每个声音值,如此,在虚拟听者的位置处,能用这样的表观响度值、音高和声音传送时间感知具有所述声音重放系统的重建。
9.根据权利要求1-7中任一所述的方法,其特征在于,除计算和编码表观亮度或表观亮度和颜色值之外,根据权利要求8计算和编码虚拟响度、音高和声音传送时间。
10.用于为三维场景重建的光学光调制器(SLM)和/或全息系统的声音产生装置计算编码值的计算单元,为至少一个观察者的眼睛和/或至少一个听者的耳朵,三维场景包括具有透明属性的物体,其中计算单元执行至少一个上述权利要求中的方法。
11.根据权利要求10所述的计算单元,其特征在于,至少一个可编程处理器核心,和/或任何类型的至少一个可编程逻辑装置(PLD),和/或至少一个专用集成电路(ASIC),和/或至少一个数字信号处理器(DSP);其中至少两个这样的装置能结合在一个集成电路中。
12.根据权利要求10或11所述的计算单元,其特征在于,计算单元是显示三维场景的呈现的系统控制器的一部分。
13.根据权利要求10-12中任一所述的计算单元,其特征在于,这计算单元是能用于三维场景的计算的通用计算系统的一部分。

说明书全文

用于在全息系统中编码包含透明物体的三维场景的方法和

装置

[0001] 本发明涉及一种用于计算编码包含透明物体的三维场景的物点值的方法。其进一步涉及实施该方法的计算单元。
[0002] 该方法能被应用于全息显示系统的计算机生成的全息图的计算或全息图(硬拷贝)的生成。它能进一步与其它三维显示系统(例如体显示器)一起使用,其中物点能在空间中以交错方式单独显示。
[0003] 总体上,本发明也能用于可见光谱范围外的其它波长范围。与其中始终有至少两个天线发射相干辐射以使发射的电磁波能够相互干扰的天线阵相结合,它能例如在射电望远镜接收的宇宙辐射的空间分析的情况下用于模拟和重建电磁光谱。用于这种模拟或重建的光谱范围不一定必须与待分析的光谱范围相对应,但是能通过转化映射到前者上。
[0004] 本发明能进一步地应用于电磁波谱外的其它媒介,例如,用于声波。与其中始终有至少两个发声装置能经控制以发射相干波以使发射的声波能相互干扰的发声装置阵列相结合,它可用于模拟和重建三维声场,其中本发明不应限于听得见的声音频率范围。声场包括含具有吸声属性的物体的三维场景的空间和时间变化的声音值。该方法和计算装置也可以生成用于为不仅在小空间而且在大的环境中减少噪音的反相声音。
[0005] 该方法也可用于也可为非光学性质的其他空间分布的显示和分析。物理的三维分布和其他参数映射成透明度值、三维物体和光源(伪彩色成像)。其例如优选可具体化和分析各种层析成像方法、3D超声检查或工件的机械应的分布。
[0006] 根据本申请的全息显示系统(在下文中也简单地表示为全息系统)是一种用于三维物体数据的显示装置,其中要呈现的场景的三维物体数据以待重建的场景的衍射图的形式来编码。特别地,衍射图的计算将在这里称之为编码,许多这样的编码方法是已知的。
[0007] 编码可通过生成所有物点信息的集合全息图来完成,然而,这会很容易引起大量的计算负荷,特别是用高分辨率显示系统时。
[0008] 根据另一方法,为最小化计算负荷,全息图被分为相同尺寸的单独的相邻区域(全息素(hogel))。每个区域由此与所用的空间光调制器(spatiallight modulator(SLM))的相同数目的单元对应。每个全息素携带大量关于物点和大量关于衍射(全息素向量)的信息。当计算所述全息素时,由于预计算的衍射图能从查阅表(LUT)中找到,从而实现简化。
[0009] 或者,该计算能为各个物点以子全息图的方式独立地执行。每个子全息图仅被写到用于重建的光学光调制器(或空间光调制器,SLM)的调制器表面的子区域。各个子全息图能基于物点的位置部分地或完全地在调制器表面重叠。如果全息图仅为小的可见区域编码,该方法能特别优选地应用,其中提供至少一种装置用于将分配给一个观察者眼睛的一个或多个可见区域跟踪到一个或多个观察者的观察者眼睛的运动。申请人已例如在文件DE 10353439B4和文件WO 2006/066919A1中描述了这样的全息显示装置。该子全息图与使期望物点用期望亮度或用期望亮度与颜色在期望距离处聚集到调制器表面的衍射透镜(diffraction lenses)相对应。凸透镜的功能是用于在调制器表面的前面生成物点。凹透镜的功能是用于在调制器表面的后面生成虚拟物点。位于调制器表面的物点直接生成。透镜的功能也能预计算,且存储在查阅表中。当编码衍射图时,可以考虑附加参数,例如可以考虑所用的SLM的调制器区域的转化函数、光源及其他光路中的光学部件。这也包含旨在减少斑点的技术。
[0010] 由于大多数显示器中的各个像素呈现在二维SLM表面上,像素化的2D图像或包含至少两个不同的2D图像(3D显示)的立体3D呈现能直接地展现在这些显示器上,而不需要太多的必要调整努力。必要的调整主要涉及将要呈现的区域缩放到显示面板的分辨率和为显示板的分级进行的亮度和颜色的调整。在3D显示器中,基于所使用的方法,立体呈现的多个视图必须在调制器表面时间地和/或空间地编码。2D向量图图像在其被显示之前必须转化为光栅图形图像。
[0011] 在三维场景能呈现在2D显示器或3D显示器之前,或其能为重建而在全息显示器中编码之前,视图必须从用其属性描述场景的物体的三维数据记录中生成。这一过程也被称为图像合成或渲染。大量用于此的方法是已知的,其中场景描述的种类、视图的期望质量和实际生成这些视图的方式不同。
[0012] 例如,3D CAD模型包括物体的几何描述,其包含在三维坐标系统中。此外,许多进一步的物理属性能被界定以描述物体的材料,包括例如不透明物体的反射率和发射率以及另外地透明物体的折射率和吸收率等光学属性。对于同质的物体,这些参数仅为边界面界定是足够的。一般地,这些属性不仅能展示空间梯度,并且它们可依赖于一个或多个其他参数,例如波长和偏振。
[0013] 数据也可以预先以体像素数据的形式存在。例如在医药应用通常是这样的。当3D场景生成时,它已经被分割成单独空间点或小的空间区域(体素)。
[0014] 例如3D场景由结合深度图的像素化的2D数据生成也是可能的。每个像素到参考面的距离在深度图中存储。这样的数据格式例如用于应当在2D显示器和另外的各种3D显示装置两者上呈现的视频数据。它促进了一个场景的多个视图的生成。然而必须提供额外数据以能够考虑隐藏物体。
[0015] 在图像合成开始时,必须为在将要用于描述物体在场景中的位置的三维坐标系中生成的每一个视图选择位置,所述位置与记录场景的视图的照相机(虚拟照相机)的位置相对应。进一步地,必须界定用于图像生成的SLM的有源调制器表面的场景中的虚拟位置和虚拟尺寸。有源调制器表面的虚拟尺寸可不同于它的实际尺寸,例如,如果使用扫描排列或投影排列。虚拟照相机的位置界定观察者眼睛察觉场景的位置和方向。该位置也能位于物体之间或物体中。虚拟照相机的性能(例如焦距和视角)确定哪个截面以多大虚拟放大倍数显示。通过SLM的虚拟区及其相对于虚拟照相机的位置确定视角。起源于虚拟照相机位置并贯穿SLM的虚拟区的边界的光线界定代表可见区域的空间。位于该锥体外的场景部分不能显示。在2D显示器中,为每一个观察者眼睛生成同样视图,因此只可能是透视图。通过为每一个观察者眼睛同步移动虚拟照相机,观察者能在图像序列中虚拟地穿过场景,而不必在显示器前移动身体。如果传感器检测到观察者眼睛在显示器前的移动,则也可基于该信息控制虚拟照相机的移动。在虚拟调制器表面和观察者眼睛之间可布置进一步的成像装置。这些成像装置可以包括在虚拟调制器表面区域中,和/或可以考虑到虚拟照相机的属性中。
[0016] 在全息显示中,可以借助衍射图生成真实的深度信息。这使得观察者可能关注经重建的场景的不同深度面,而不需要改变该重建。因此,在全息显示的情况下,更合适的是虚拟观察者位置,而不是虚拟照相机。
[0017] 在进一步图像合成的过程中,确定场景的哪些部分位于可见区内和哪些部分为实际可见,例如,哪些不会隐藏在该场景的其他部分后面。这可以是多阶段计算过程,其中场景越复杂或期望呈现越现实,要付出的努力越大。基于场景中的材料的属性和光源的位置,可考虑反射、衍射、折射和散射,其可进而带来进一步的可见虚拟物体、表面或点,它们通过可见、隐藏和/或位于可见区外的场景部分生成。
[0018] 可以考虑到物体(遮挡物)的材料属性计算场景中表面的外观。这包括例如将纹理成像到物体的表面(纹理映射)。因为图像合成是非常复杂的过程,所以在像素合成期间物体的外观、表面和各个像点可改变多次。
[0019] 如果场景包括结构光源,那么可通过调整表面的外观考虑它们的影响(照明、遮挡),其中为了最小化计算负荷通常使用经简化的照明模型。表面的反射率通常用双向反射分布函数(BRDF)来计算。
[0020] 通常使用递归射线追踪方法(Recursive ray tracing method)来生成场景的实际视图。这意味着,由显示器像素和虚拟照相机的位置界定的各个光线的路径被反向追踪。首先,该光线穿过射到的物体(hit object)的非隐藏表面中的所有点通过他们到虚拟照相机的距离来确定和分类。然后,考虑所有涉及的可视点的外观,生成综合数据以描述要在相应显示器像素的位置处呈现的视点。当生成该综合数据时,一个接着一个地考虑所有涉及的透明点的透明度属性,和不透明点(如果有的话)透明度属性。例如,通过考虑确定透明度以及材料中光线覆盖的光路长度的材料属性,来确定透明度属性。也可考虑这些材料属性的光谱和空间分布。
[0021] US 7,030,887B2中描述了这样一种方法。通过采用储存深度信息的多个深度缓存,将相互叠加的透明像素按照深度进行分类。这使得可能找到最接近于不透明像素的像素。接着,相对于该不透明像素计算所述像素的透明度影响。然后,找出是否存在与之前的透明像素相邻的透明像素。相对于已经计算的透明度影响计算该像素的透明度影响。重复该过程,直到考虑了所有叠加的透明像素。该方法具有缺点,即,仅能为对应于显示面板上的像素的每个有关射线确定一个亮度值或一个亮度值与一个颜色值。
[0022] 当考虑房间中的声学和几何学属性(声场听觉化模拟(auralisation))在房间中模拟声场时存在类似的问题。这种模拟用于规避在几何模型中的广泛的测量。因而可测试不同位置的声源、移动、极性模式和响度以及房间声学的相互关系。除了具有某一位置和形式,空间中的各个物体或听觉场景的物体也显示了波长特定的吸收和扩散。在多阶段过程中发现房间的声学属性,其中也使用递归的射线追踪方法。再者,可以考虑例如,由反射、扩散和偏转引起的虚拟声源。在虚拟听者的位置处通过立体机典型地渲染经计算的听觉,其中必须为真实听觉考虑头部相关传递函数(HRTF)。在这里仅存在一个通过立体耳机渲染的聚合信号是个缺点。当针对听者的改变的位置再计算听觉时,在虚拟空间中的巡回(round tour)仍然是可能的,但是在头部移动之后不再计算声音信号的真实听觉是不可能的。
[0023] 在全息显示器或体显示器中,当呈现包括透明物体的三维场景时,根据本发明通过权利要求1中的方法特征克服了这些缺陷。对于声学领域,根据本发明通过权利要求8中的方法特征克服了缺陷。
[0024] 根据本发明,在包括权利要求10的特征的计算单元中可实施该创造性的方法。
[0025] 本发明的进一步优选实施例和改进界定在从属权利要求中界定。
[0026] 根据本发明的方法可特别地用于为至少一个观察者眼睛为全息系统的空间光调制器(SLM)计算全息编码值,其中该全息系统用于三维场景的重建,该三维场景包括具有透明属性的物体。该方法包括以下步骤:
[0027] a)将三维场景分成单个物点并检测这些物点的坐标。用这些坐标,可执行根据方法的d)步骤的分类,或者这些物点的坐标可用于在全息编码值的计算中的其它目的。
[0028] b)确定虚拟观察者位置,该位置对应于所选择的明显感知三维场景中的观察者的眼睛的位置。
[0029] c)确定从虚拟观察者的位置观察没有被其他物点所覆盖的所有物点并且使其待编码。
[0030] d)将所有可见物点按照待编码的所有可见物点到虚拟观察者位置的距离进行分类,所述所有可见物点从虚拟观察者位置在同一角度可看见。
[0031] e)确定每个可见物点的实际亮度,如果可能,考虑场景的所有真实和虚拟光源在那些物点的位置处从虚拟观察者位置观察它们的角度的位置和强度,其中可考虑包括真实和虚拟光源的物体的物理属性。
[0032] f)对待编码的每个可见物点,考虑到它在实际位置的实际亮度、到虚拟物点的距离和位于可见物点与虚拟观察者位置之间的所有物体或物点的透明度属性,确定通过其在虚拟观察者位置感知物点的表观亮度值。
[0033] g)用其各自的亮度值分别编码每个物点,以使其以该亮度值在全息系统中在其位置尽可能远地重建,使得在它们各自位置处能独立地感知不透明和透明物点。
[0034] 应该注意到,全息编码值也被称为全息图数据或者简单地称为全息图。
[0035] 假如全息显示器使用或配置为使用小的虚拟的观察者窗口,例如在WO2006/066919A1中描述的全息系统,其中一个虚拟观察者窗口对观察者的每个眼睛可用,应当至少对虚拟观察者窗口的每一个执行全息编码值的计算,在虚拟观察者窗口中定位观察者的眼睛。假如全息系统包括针对观察者眼睛的实际位置的虚拟观察者窗口的追踪功能,如果已经改变场景的内容或虚拟观察者窗口的位置,仅需要再计算物点的实际的和表观亮度值。然而,如果全息编码值的编码适应于虚拟观察者窗口的新的位置,可考虑用于为观察者眼睛的新位置对物点编码的追踪装置的缺点和/或成像装置以及光学光调制器的本地特征。
[0036] 关于如上述提及的虚拟观察者窗口,其也可称为虚拟观察窗口,应当注意的是不存在物理孔或物理框或相关其他光学元件。根据本发明的虚拟观察者窗口是一个区域,在其中可看见将要通过全息系统重建的三维场景。因此,观察者的眼睛位于或靠近虚拟观察者窗口。
[0037] 假如全息系统包括一大的虚拟观察者窗口,分别为虚拟观察者窗口内的视图的单一方向,对每个物点的实际和表观亮度值执行计算。通常地,如果视图窗口具有圆形,则观察者窗口具有直径约10-20mm的尺寸。如果视图窗口具有矩形,则虚拟观察者窗口通常是边长为10-20mm的矩形。然而,如果虚拟观察者窗口具有大于常规尺寸的尺寸,则能以单角度片段(single angular segments)扫描大的虚拟观察者窗口。在这样的情况中为每个单角度片段执行全息编码值的计算。如果必要,用已知的内插法能计算中间值或插入值。一旦已经为每个角度片段执行计算,则能分别地执行编码值的编码。通过包含最大可能衍射角的光学光调制器的特征确定虚拟观察者窗口的最大尺寸。基于虚拟观察者窗口的最大尺寸,必要的增量从那生成了。负责与光学光调制器相互作用的光的衍射的有效结构特征依赖于编码的类型(例如,布克哈特编码(Burkhardt-encoding),2-相位编码(2-phase-encoding))以及依赖于光学光调制器的类型。复数个调制器单元或光学光调制器的像素被用于编码复杂编码值的振幅和相位值。这些复数个调制器单元界定光学光调制器的有效结构尺寸和在那点的衍射。例如,执行2-相位编码(2-phase-encoding),如此在被具体化为相位调制器的光学光调制器的两个相邻像素中编码相位值。随后,那两个编码相位值编码复杂的编码值。如果使用不具栅格或规则的衍射结构(例如光学可寻址空间光调制器(OASLM))的光学光调制器,那么最小的有效结构尺寸依赖于编程单元的编写。
[0038] 根据本发明的方法也能应用于体显示装置。如果当追踪装置追踪观察者的实际位置时,改变观察通过体显示技术正显示的三维场景的观察者的位置,那么其是尤其真实的。用这样的显示装置,不可能在不同的方向编码不同亮度值,像这样用全息系统或全息显示装置是可能的,其中用不同衍射图为视图的不同或单个方向能编码一个物点。
[0039] 在全息系统中,由于为一区域内或一光学光调制器的有限区域内或光调制器的完整区域内的一物点能生产单个物点的衍射图,光学光调节器的有效栅格或衍射图外的另一栅格或衍射图能被使用。
[0040] 根据本发明的方法能应用于如三维无线电图(计算机断层摄影,CRT)的生成、可视化和分析,其中材料(尤其是用于x射线的生物材料)的透明度和吸收特征中为了诊断的目的调查和显示。
[0041] 在大量的申请中,不仅通过亮度值或强度值描绘三维场景,而且三维场景的外观也依赖于三维场景内的单个元素或物体的发射、吸收和/或反射属性。
[0042] 在一优选实施例中,考虑到每个待编码的物点位置处的实际颜色值以及位于可见物点和虚拟观察者之间所有物体和物点的透明度属性,除表观亮度值以外,针对每个待编码的物点的表观颜色值经确定,具有该表观颜色值的该物点可在虚拟观察者位置处感知。用它的各自的颜色值分别编码每个物点,以使其通过这颜色值在其实际或虚拟位置处尽可能远地在全息系统中重建,因此在它们各自位置处能分别地感知不透明和透明物点。
[0043] 根据该实施例的方法能被适用于应用颜色模型和应用颜色深度,其中能编码待重建的场景。通常用的颜色模型例如为能非常好地适应于这地方的附加红色、绿色、蓝色模型(RGB colour model)。用这些颜色模型,用发射或传播光的三分之一的红色、三分之一的绿色和三分之一的蓝色子像素生成颜色。在分别呈现颜色红、绿、蓝的三个灰度值通道中存储物点的亮度值和颜色值。灰度值的最大可能的数值确定可能的颜色深度。通常,在进一步的通道中存储物点的透明特征,其也被称为α通道。其他颜色模型例如使用为每个颜色(色相、饱和度和值(value)、HSV模型,或色相、饱和度和亮度、HSB模型)的颜色值、颜色饱和度和亮度值。进一步地,还存在针对具体显示装置或格式经适应的颜色模型,例如用于电视格式的NTSC或PAL的YUV模型。特别地,在工作于反射模型中的印刷技术或光调制器,使用减色模型。因此例子是蓝绿色、洋红色、黄色模型或蓝绿色、洋红色、键(CMYK),其中键代表黑色部分。这样的模型适应于使用印刷技术的硬拷贝全息图(hard-copy-hologram)的生成。
[0044] 由于反射、缓解或散射可被虚拟地生成的附加的虚拟物点经计算,其是在至少一个虚拟或真实的光源的光和将要重建的三维场景的物体的物点之间的相互作用的结果。能考虑物体的光学属性和虚拟或真实光源。为那些像真实物点的虚拟物点,计算在虚拟观察者的位置处的表观亮度值或表观亮度及颜色值。用他们的各自的值分别地编码他们。
[0045] 真实的光源是在待重建的三维场景中显然地生成方向性光的光源。虚拟光源可例如通过在物体的表面由真实的光源生成的光的反射而被应用。这样的虚拟光源能生成进一步的虚拟光源,例如通过多次反射。当也应用计算全息编码值的该方法时,多次反射能被考虑到。这样的多次反射通常需要用于图像合成的多个阶段过程。
[0046] 在一优选实施例中,该物点的位置相对于虚拟观察者位置经修正,如果必要,由于定位在虚拟观察者位置和待修正的物点之间的物体或物点处的光学属性(例如反射、折射或衍射)。为那些修正的位置而计算表观亮度值或表观亮度和颜色值。可以用各自的值分别编码该物点。
[0047] 这能应用于包括具有反射表面的物体(例如镜子)(对复杂的物体,例如玻璃缸)的三维场景;其中为了可视化在这样的玻璃缸中的物点(例如鱼或石头)的正确位置,必须要应用折射定律。
[0048] 对本领域技术人员,能在不包括透明物体的三维场景中执行与虚拟观察者的位置相关联的物点的位置的修正是显然的。因此,根据本发明的方法能以这种方式被修改,以忽略关于(在特殊情况下)不存在于待重建的三维场景中的透明物体的方法步骤。
[0049] 通过考虑位于物点和虚拟观察者位置之间的物体或物点的空间透明度分布,计算在虚拟观察者位置处物点的表观亮度值或表观亮度和颜色值。他们的光谱相关性能被考虑。
[0050] 三维场景的物体能包括一元相对透明度值τ。这个透明度值是来自材料的透明度T和厚度D的商。因此物体的透明度取决于在物体中沿着其传播的光路的长度。通常,物体的透明度值τ能是来自位置(亮度函数)或亮度和颜色的函数(颜色函数)的函数。能通过(在物体内光沿着光路传播)相对透明度值分布τ上的空间依赖项的集成计算透明度T。如果物体包括折射指数的空间分布,则这光路能是非线性的。
[0051] 假如透明物体包括散射特征,例如漫射屏或磨砂玻璃,仅仅直接穿过该散射物体的光确定位于最向前物点的后面的物点的表观亮度或表观亮度和表观颜色。散射光促成这样的物体的表观亮度。这样的物体也被称为半透明物体。
[0052] 优选地,在随机方法和位于物点和虚拟观察者的位置之间的透明和/或反射和/或漫射和/或衍射和/或折射的物体或物点的吸收、散射、反射和衍射的概率的帮助下,计算在虚拟观察者的位置处的物点的表观亮度值或表观亮度和颜色值。他们的光谱相关性被考虑。
[0053] 如果用随机方法(例如蒙特卡罗法(Monte-Carlo-Method))的帮助执行进一步的部分图像合成,这是特别有帮助的。没有通过回归系数描述例如吸收、反射、衍射或散射等物理效应,而是通过来自应用随机方法时的这些物理效应的概率来描述。例如,能追踪或注意穿过三维场景的多个单光子的光路。能通过真实光源同时考虑这些光子的辐射的概率生成这些光子。如果需要考虑这些参数,随机数能确定这些光源的辐射特征,例如发射光子中的位置、光辐射的方向、波长以及,如果必要的话,正在发射光的偏振和其他光子或光波的辐射的相位关系。借助于均匀分布的随机数可以在每个光学界面确定是否反射、折射、衍射、散射或吸收光子。通常在0和1之间的间隔中测量均匀分布的随机数。能基于关于吸收、传播、散射、反射和/或衍射概率的概率做出这样一个决定,其中能考虑来自像波长或偏振的物理参数相关性。可例如考虑与双折射材料或材料的波长依赖性的透明度分布相关联发生的偏振的效果。所有通过发射直接产自物点的光子或者在物体的表面处向虚拟观察者窗口的方向通过漫反射发送的光子能够被计算,以及这些确定在对于所有生成的光子的总数量适当测量之后物点的实际亮度或实际亮度和颜色。到达虚拟观察者窗口的这些光子的数值也被计算,并且在测量后这些数值确定这物点的表观亮度。
[0054] 作为穿越媒介的强度比率或者在简单化模型中物体的表面的强度与入射的强度的比例的透射的级别或透光率T可以例如被解释为透射概率。当入射的光子进入媒介或物体时,生成规格化随机数Z(normalized randomnumber Z)。如果Z小于或等于T,那么光子穿越媒介或通过物体的表面。假如Z大于T,光子被吸收并不会导致表观亮度。
[0055] 应用更复杂的模型是可能的,其中例如可考虑物体表面上的反射。如果光子入射到表面或光学界面上,生成新的随机数值并且反射R的概率是否发生取决于这随机数值。假如反射发生,光子根据反射定律改变它的传播的方向。假如发生散射或者漫反射,借助于一组另外随机数值能确定光子的新的传播方向。例如从物体的反射分布能确定光子偏转的概率。假如不发生反射,分配给光子的吸收概率的另一随机数被确定,取决于这进一步的随机数、该光子从媒介或者物体被吸收、或者该光子继续传播到物体的出口界面。在物体的出口界面处,如果反射在出口界面/光学界面上发生或者如果光子穿越,它能被检查。直接的反射光在这样的情况下生成虚拟物点,其位置能通过追溯(back tracing)反射方向或考虑入射的原始方向来确定。仅仅需要考虑那些虚拟物点,光子能从该虚拟物点传播到虚拟观察者窗口,也就是其表观亮度值不是0或者其位置不在重建范围之外。假如这样的位置位于重建范围之外,那么在延伸穿过将要重建的重建范围的边界射线的交点的区域中生成虚拟物点是可能的,其然而可能导致透视变形。当然对位于重建范围之外的真实物点这也是可能的。这些物点从而被投射或被成像到重建范围的背景上。假如在途中光子被折射,这导致相应的物点的显然不同位置。通过追溯折射光束的或者光子传播的路径也能确定物点的新位置。通常地,为物点的实际亮度,仅仅考虑从物点朝虚拟观察者位置的方向通过发射(透明光源)生成的光子,或者在媒介或物体表面处朝虚拟观察者位置的方向以分散的方式反射的光子。如果无其他物体或者媒介位于在这样的物点和虚拟观察者位置之间,那么接近虚拟观察者位置的光子的数值代表这样的物点的表观亮度。
[0056] 可能的是,透明物点能以如不透明物点的同样的方式生成虚拟物点。
[0057] 通过物体中光的散射或者衍射也能影响透明物体的表观亮度。当考虑透明物体时,优选以类似于根据本发明的方法考虑这些效果。
[0058] 可能还有一些情况,其中这样的随机方法的应用需要大量计算时间和大量的计算内存,尤其如果待重建的三维场景包括必须计算的高分辨率和大量光子。这样的随机方法因此不能被实时执行。然而,即使具有错综复杂的的场景,简单的算法还是能被应用,并且光子的计算能通过并行处理被执行。因此,如果必须执行静态场景或者全息视频,这样的方法能被特别地应用。所以对硬拷贝的生成或原版的生成也是一样的。
[0059] 在一优选的实施例中,为了提高或者减少那个点的可见性,以放大或减弱的形式在单个物点的表观亮度值或者表观亮度和颜色值的计算中,考虑位于物点和虚拟观察者位置之间的至少一个单物体的至少一个透明度值。
[0060] 场景的地区或者区域被重建是可能的,该场景的地区或区域包括与该场景的这地区或区域的自然表观相比不同的表观亮度和/或不同的表观颜色。所以可能的是,能够在其表观方面放大或者减弱或者抑制和/或改变这区域的可见性。因此,根据本发明的方法能够实施算法,其使得待改变或控制的场景地区的表观能够被临时存储(如在计算机内存中),这样仅仅改变了该场景的经改变地区而不需要对场景的完全重新计算。假如,如例如在WO 2006/066919A1中公开那样,根据本发明的方法应用子全息图以计算全息编码值,那么在操作之前,当生成子全息图的总和时,仅场景的各自区域的物点的子全息图能被减去,在操作之后,经改变的物点的子全息图能添加到子全息图的总和上。操作的控制能例如由于与至少一个观察者相互作用而被执行。为了强调在医学应用中的器官的可视范围内的病变区域,可通过改变例如场景区域或单物体的透明特征从而改变待重建的三维场景的单区域的表观的操作。
[0061] 在本发明的另一方面,本发明的方法能被应用于计算将要用于与声音重放系统关联的编码值。该声音重放系统包括至少两个声音生成装置以及该声音重放系统用于包含三维场景的空间和时间的不同的声音值的三维声场的重建。该三维场景包括具有声音吸收属性的物体。三维声场经重建以被至少一个听者的耳朵感知。该方法包括以下步骤:
[0062] h)该三维场景被分成单个物点。单个物点能够影响声音。确定这些物点的坐标。
[0063] i)确定虚拟听者的位置,其与经选择的听者的耳朵的位置相对应,其中听觉上明显感知三维场景。
[0064] j)在虚拟听者的位置的方向,确定没有被其他充分吸收声音的物点充分覆盖的所有物点。
[0065] k)位于来自虚拟听者的位置方向的所有物点通过他们到虚拟听者的位置的距离分类。
[0066] l)确定在能影响声音的每个物点的位置处的实际响度、音高和声音传送时间,如果可能的话,在那些物点的位置处,以从虚拟听者的位置感知他们的所述角度,考虑场景所有实际和虚拟的声源的位置和强度,其中包含实际和虚拟声源的物体的物理属性能被考虑。
[0067] m)针对能影响声音的每个物点,通过考虑能影响声音的物点的位置处的实际响度、音高和声音传送时间、至虚拟听者的位置的距离以及位于物点和虚拟听者的位置之间的所有物体或物点的吸收属性确定表观响度、音高和声音传送时间(具有这些表观响度、音高和声音传送时间的声音在虚拟观察者位置处被感知)。
[0068] n)分别编码包括响度、音高和声音传送时间的每个声音值,如此,在虚拟听者的位置处,能用这样的表观响度值、音高和声音传送时间感知具有所述声音重放系统的重建。
[0069] 位于声源和听者的耳朵之间的场景的吸音物体减小声音的响度,导致在观察者的耳朵的位置处的感知比声源或声源的实际处更安静。反射声音的面或物体能生成附加的虚拟声源。在听者的耳朵处,与直接到达的这声源的声音(即没有反射)相比,如此正在被反射的声音能稍后到达(即在不同阶段或者不同声音传送时间或方向下),因此导致大厅或回声效应。通过声音吸收媒介中的声速影响这声音的相位延迟或者声音传送时间。能振荡或振动的场景物体能通过附带的声音引起振荡或振动,因此导致虚拟声源。
[0070] 在根据本发明的一优选实施例中,为了声音的真实感知,为观察者的左耳和右耳,分别计算和编码部分声音。
[0071] 对三维场景,用单个声音生成装置的场的帮助,能执行经编码的声音分布的重建,其中该场构成相当高的分辨率,其中根据他们的相位关系,单个声音生成装置应当被同步地控制。此外,单个声音生成装置应当包括关于它能生成的声音的高的频谱。能分别地考虑每个或者至少一个声音生成装置的声音生成特征和声音重放系统以及范围(volume)的声音特征,其中当为声音生成装置执行编码值的计算时,声音被生成。
[0072] 因此,关于光学感知(即三维场景的表观亮度或者表观亮度和颜色值),特别优选地将三维场景的计算和编码和重建相结合,例如在权利要求1-7中描述了这些。除此之外,在同一时间,计算、编码和/或重建这样的三维场景的声音的重建。换言之,除根据权利要求1-7中任意一个权利要求中的计算和编码表观亮度或表观亮度和颜色值之外,还根据权利要求8计算和编码虚拟响度、音高和声音传送时间。
[0073] 全息系统(例如全息投影装置)和声音生成装置的场或排列被使用。例如可能的是,在观察者能移动的范围中生成虚拟场景。根据他在该范围内的移动追踪该重建或者为观察者的整个移动空间而计算和重建该场景,这样观察者能真实地看见和听见来自范围内的每个位置的三维场景。
[0074] 当确定实际的或表观的亮度值,或者实际的或表观的颜色值,和/或实际的或表观的响度值、音高和声音传送时间时,根据本发明的方法,其不限于射线追踪或射线计算。执行这方法的分析也能包括考虑光的波动特征或者有限单元法(FEM)的方法。例如用三维场景物理过程的模拟,例如温度分布或机械拉力或机械应力的分布,有限元素法的方法能有利地被应用,其中,在虚色可视化(false colour visualization)方面执行三维分布的重建。
[0075] 为了执行根据权利要求1-9中任一权利要求所述的方法,计算单元能改变以最佳的方式执行单个方法步骤。因此,根据本发明,为三维场景的重建,分别地提供光学光调制器(SLM)和/或全息系统的声音生成装置和/或声音重放系统的计算编码值的计算单元。三维场景包括具有透明光学属性和/或具有声音吸收属性的物体,并且为至少一个观察者的眼睛和/或至少一个听者的耳朵重建。该计算单元执行权利要求1-9中任一所述的方法。
[0076] 这样的计算单元能包括至少一个可编程处理器核心(programmableprocessor core),和/或任何类型的至少一个可编程逻辑装置(PLD),和/或至少一个专用集成电路(ASIC),和/或至少一个数字信号处理器(DSP)。至少两个这样的装置能结合在一个集成电路中。
[0077] 该计算单元能进一步地包括部件,像例如存储程序代码和/或数据的装置、电源(power supply)、控制与使操作状态和/或计算结果可视化的装置。
[0078] 计算单元可以是显示三维场景的重建的系统控制器的一部分,例如全息显示器、全息3D电视装置(holographic 3D-TV-device)、3D游戏装置(3D-gaming-device)、全息数据的可视化/重建的移动装置和/或重建三维声音分布/声场的装置。该计算单元能以单独的单元被提供,该单独的单元连接在电子计算装置或另一接收和/或生成和/或3D场景储存的装置和全息显示装置和/或回放三维声场的系统之间。
[0079] 计算单元可以是能用于三维场景的计算的通用计算系统(generalcomputing system)的一部分。
[0080] 计算单元能包括部分不同技术,例如用光学方法(例如基于电子执行的计算的量子计算机和计算机单元)操作的计算单元。特别有利的是,如果这样的计算单元包括大量能操作并行处理的装置的计算单位。
[0081] 为了完全地理解本发明的目的、技术和结构,应当参考下面的详细说明和附图,其中:
[0082] 附图显示了包括不透明和透明物体的简单三维场景的视图的原理介绍。
[0083] 应当用全息系统或者全息显示装置(图中未示)重建的三维场景包括不透明物体200和透明物体300。两个物体200和300能被分成多个单个物点(图中未示)。漫射的白色光源(图中未示)从各个方向照射三维场景。在图中,示意性地显示了光源的光线101到
110。针对观察者的眼睛400,重建三维场景。场景内的位置(虚拟观察者的眼睛400从该位置明显感知三维场景),经确定为虚拟观察者的位置,也用引用数字400表示。被定位在与虚拟观察者的位置400相关的物体200的转移侧(即,从虚拟观察者的位置400观看,物体
200的后方)的物点无助于物体200的可视化,因而无需被计算或者编码。如图中显示的简单场景不包括具有反射面的物体,并且该场景也不包括具有平行光(directional light)发射特征的光源。因此,在场景中没有虚拟物体或虚拟光源。因为具有白色光的三维场景的漫射照明,所以物体200、300可由位于他们的实际位置的观察者,根据与物体200、300的材料特征相关的他们的颜色值而感知。在图的该例子中,物体200包括黄色。通过物体200吸收白色光的光强度的蓝色部分。在全部方向上,完全地发射白色光的红色和绿色。在虚拟观察者的位置400处用它的实际强度510(IAo=IAo_r+IAo_gr)用红色将感知不透明物体200的可见物点,如果在三维场景内没有透明物体300。IAo_r和IAo_gr是来自从不透明物体200的物点至虚拟观察者位置400的直射光的表观强度或实际颜色值。蓝色IAo_b的强度部分或颜色值等于0。从漫射照明的亮度,实际强度的绝对值也被确定。在图的三维场景中出现的透明物体300,对红色和蓝色光分别地包括Tr=0,5和Tb=0,5的透明度。透明物体300完全地吸收绿色光的强度部分,即,绿色光的透明度为蓝色光的Tgr=0.50%和透明物体300吸收红色光的50%,并且蓝色光和红色光的50%被传送。在虚拟观察者的位置400处的不透明物体200的物点可在表观强度ISo 520下被感知,ISo 520因此是ISo=Tr*IAo_r+Tgr*IAo_gr+Tb*IAo_b=0,5*IAo_r。在图的实例中,在虚拟位置400处用具有红色强度部分的一半的强度的红色感知不透明物体200的观察物点。在三维场景的全息重建中用这种强度值计算和编码该物点。
[0084] 透明物体300的物点包括如从虚拟观察者的位置400的方向看见的紫色。用漫射的白色光源的红、绿、蓝光的三个强度部分Ir,Igr和Ib能计算实际强度IAt 530,IAt=0,5*Ir+0,0*Igr+0,5*Ib。没有进一步的透明物体位于透明物体300和虚拟观察者的位置400之间(IAt=ISt)。因此,透明物体300的实际亮度也是表观亮度。当重建三维场景时,用这些亮度值计算和编码透明物体300的物点。在附图的这简单实例中,没有考虑在物体的光学界面上的反射。此外,已经忽略了依赖于媒介内的光路的透明度的变化。
[0085] 注意的是不透明物点也影响位于虚拟观察者的位置方向上的透明物点的实际和表观的亮度和/或实际和表观的颜色,因为这样的不透明物体能遮档或覆盖场景中的光源的光线。
[0086] 执行图像合成时,越能考虑精确的物理效应,就越能生成三维场景的真实视图。
[0087] 特别地,为了能够获得待重建的三维场景的三维感知,针对观察者的所有眼睛的不同的视图被生成。假如同时在一大的视角下观看经重建的全息图,例如硬拷贝,那么针对不同虚拟观察者的位置的大量这样的视图被计算,其中针对中间位置,从相邻视图的视图处插入视图是可能的。在这样做时,用虚拟观察者的位置(多重全息)能改变三维场景的内容是可能的。单个视图的计算能以连续方式和/或优选以并行方式执行。对于观察者的单个眼睛,虚拟观察者的位置能与观察者的移动相适应,假如观察者的位置改变。
[0088] 因为分别地编码不透明物体200和透明物体300的可见物点,因此可能的是,由于当看到三维场景的物体时,在眼睛的会聚和调节之间没有存在错配,所以观察者能够用他的眼睛分别地聚焦到每个单物体200、300上,并且因此几乎没有视疲劳地观察重建的三维场景。因此可能的是,观察者能用他的自然的眼睛移动而没有扭曲地观察经重建的三维场景。
[0089] 当根据本发明执行三维场景的计算时,公知的程序库能被用于计算这样的场景。这种程序库是,例如开放图形库(OpenGL)、3D图形函数库(Direct3D)或者XNA框架(XNA-Framework)。用已知的数学方法是可能的,例如访问查看表(LUT)的预计算值或者插入中间值。
[0090] 尽管结合具体实施例已经描述了本发明,但是理解的是,鉴于上述描述,许多替代、修改以及变化的方案对所属领域的技术人员将是明显的。因此,本发明旨在包括属于从属权利要求的范围的所有这些替代、修改以及变化。
[0091] 附录
[0092] 为了进一步公开关于上述本发明的信息提供下面的内容。要强调的是:即使该信息可能仅提供在该附录中而不在上面的说明书中,但是该附录构成本申请的一部分。
[0093] 实时全息显示的内容的生成、编码以及呈现
[0094] 讨论的是驱动全息显示器的方案。该全息显示器具有通过使用视瑞尔(SeeReal)公司的子全息图技术(Sub-Hologram-technology)并结合现成硬件实时编码的交互式或视频内容。介绍为了从内容方面和全息术方面正确生成包含关于全息图的透明度的方面的复杂内容的指南。传统的生成经计算机生成的全息图的方法与我们的使用子全息图方案进行比较讨论,以快速降低计算功率。最终,我们20英寸的直观的全息原型的该计算平台和说明将介绍。
[0095] 1.引言
[0096] 由于计算功率的大量消耗,传统的生成计算机生成的全息图(CGHs)的方法不是很好地适用于交互应用。所以,使用它们,仅静态图像或预计算的视频已经经执行。为了实现3D全息术的所述键的优点,相较于3D立体摄影术,交互的内容是必要的,其提供了将典型的作为专业的设计的3D应用程序(3D游戏或3D电视)与3D全息术的观看舒适度相结合的路标。因此,不需要高性能计算软件的实时全息计算方案是需要的。
[0097] 本文将介绍一些生成吸引人的交互全息应用程序的背景技术。此外,我们新的有效利用图像处理单元或现场可编程阵列的子全息技术的改变也会讨论,其使得全息图计算实时进行。
[0098] 2.实时全息术
[0099] 本章综述了全息术以及比较了传统的方法与视瑞尔公司的新的子全息图技术。该子全息图技术是实时计算大的全息图的基础
[0100] 2.1为什么要全息术?
[0101] 相较于3D立体摄影术,全息术克服了深度聚焦和会聚之间的景深(depth-cue)的错配的问题。这个因而被称为调节会聚错配(accommodation-convergence mismatch)引起疲劳或头疼,甚至短暂迷失方向,因此使用3D立体摄影术,仅小的深度范围必须实现以2
及不停顿的使用3D立体摄影术也将非常受限 。
[0102] 相反,全息术像自然的3D观看,其允许了非常大的深度范围,不存在负面作用,因为眼睛可以同时聚焦和会聚于被看的物体。当观看全息图时,该聚焦的物体看起来清楚,而在不同距离的其它物体将看起来模糊,就像其是在现实生活中一样。用3D立体摄影术,眼睛会聚在物体上但聚焦于显示器本身错配发生,其引起了上面已经描述的结果(请见图1a)。
[0103] 这是为什么全息术将是3D立体摄影术的目前快速发展市场的下一个重大步骤,因为其对于很多领域的应用程序(即,专业3D设计、3D游戏和3D电视)的较佳选择。
[0104] 下一个章节将传统的生成全息图的方法与视瑞尔公司的新的方案(称为子全息图)进行了比较。子全息图的使用使得能够实时计算大的和深的全息图,其使得全息显示器上的交互内容通过使用现成硬件组分能够实现。
[0105] 参看图1,其在图1(a)中显示了3D立体摄影术和自然观看/全息术之间的差异:针对3D立体摄影术,两只眼会聚在一定深度的物体上,但是聚焦于显示器平面上,对于自然观看和全息术,聚焦和会聚是相同的。图1(b)显示了传统的全息术的原理:多个大的重叠衍射图重建了多重景点(scene-points),当相干光源照射时在界定的观看区可看见该重建。2.2传统方法vs子全息图
[0106] 全息图总体上是复杂的衍射图。当相干光源照射时,景点构成的3D场景被重建,其可以在空间中的界定区域可见(见图1b)。
[0107] 传统的计算由计算机生成的全息图(CGHs)的方法总体上基于如下方案:每个在全息图中的像素有助于每个经重建的景点。这意味着,针对场景的每个景点,必须计算具有全部全息图尺寸的衍射图。这些单独的全息图全部添加在一起---通过复杂的叠加---以生成呈现完整场景的全息图。
[0108] 参看图2,其在图2(a)中显示了:当使用传统方法时,大观看区域生成了,但在观察者眼睛的位置处仅小部分是实际需要,因此大部分计算的信息浪费了。图2(b)显示了:当使用子全息图时,仅计算出必要的信息。此外,全息显示器的分辨率较低并正好在今天制造能力范围内。
[0109] 这些传统的全息图一方面提供了非常大的观看区域,但是另一方面需要非常小的待重建的像素间距(即约1μm)(见图2a)。由于全息术的基本原理,衍射光的干扰,该观看区域的尺寸是直接由像素间距界定。当该观看区域足够大,两只眼自动感测到不同的远景,因此他们能聚焦和会聚在相同的点,甚至多个使用者能独立地观看该3D场景的重建。
[0110] 在传统的全息图中,为每个景点计算的像素的数量非常巨大。除了提供有用的显示器尺寸的小间距的显示技术的缺失,其将需要惊人的计算功率。此外,如此大量的数据的处理引起甚至更多的关于数据转移速率、记忆等问题。这是为什么使用传统方法的实时全息术在可见未来看不出商业利益的关键原因。由于这些技术的限制,直到现在,仅像硬拷贝或化学胶片这样的剧照能以适于台式机或类似TV的应用程序的尺寸实现以及用可扩展的技术实现。
[0111] 当观看图2b时,可以看出,传统的全息图中的大多数经计算的信息是浪费的,因为仅眼睛能实际看到的信息是真正需要的。因此,代替计算全部的观看区域,仅仅部分的该全息图需要被计算,其负责于在观察者的眼睛位置处重建特定3D景点子全息图(SH).这减小的观看区域是所称的观看窗口(VW)(见图3)。
[0112] 该观看区域的尺寸的减小通过增加像素间距完成—该像素间距与其它参数一起界定该观看区域的尺寸。通过重叠不同景点的SH(添加或超定位),具有稠密的景点的全息3D场景经重建以及在VW的位置处是可见的(见图3)。
[0113] 该增加的像素间距另一方面导致了剧烈减小的像素数,使得有另一动机使用目前的显示技术。但是小VW的使用暗示了快速、可依赖和非常精确的眼睛追踪系统根据观察者眼睛移动进行转移VW的需要。这样的眼睛追踪系统已经开发出,但是目前视瑞尔公司使用的是自己拥有的集成在全息原型中的眼睛追踪方案,其已经由视瑞尔公司在诸如SID、FPD、横滨(Yokohama)和Finetec等公共事务得到证明。
[0114] 参看图3,其显示了仅一小部分的全息图—子全息图—需要在减小了的观看区域(观看窗口)重建一单景点。通过超定位多个子全息图,在空间的观看窗口位置处生成和重建呈现整个场景的全息图。
[0115] 为了举例说明计算功率节省有多巨大,两种方法总体上使用一种示例性情形进行比较。
[0116] 假设具有40英寸的SLM(800mm×600mm),一观察者正从2米远处观看该显示器,观看区域在平方向和垂直方向将是±10°,该内容放置在前面1m与全息图后面无限制的距离的范围内,该全息图用HDTV分辨率(1920×1080景点)重建了场景以及波长为500nm,然后经指定的情形必须管理。
[0117] 这儿针对传统方法,基于傅里叶转化进行该计算以针对如此大的全息图应用最有效率的方法,为此假定有256个步骤的景点的深度量子化。针对SH方法,需要计算两种独立的全息图,一种对应于每个眼睛。
[0118] 在底线处,两种方法为单独的观察者位置提供了相同的结果,但是可以清楚地看见关于光调节器的分辨率、框架尺寸和计算功率的显著差异。
[0119] 为了进一步降低计算功率,可以使用所称的单一视差全息图,其中SH和全息视差的尺寸降低至一维。垂直或水平方向是可能的—称为仅水平视差(HPO)或仅垂直视差3
(VPO)全息图 。通过将半视差SH和每个眼睛的不同视图混合,例如垂直全息视差与水平
8
立体视差,将生成具有低计算需求的实时视频全息图 。如果其被很好理解以及并入全息内容,单一视差的重建的感知限制对于观察者来讲是不可见的。
[0120]
[0121] 表1:传统和子全息图方法的比较
[0122] 但是甚至提供全视差SH的全息图能通过利用如今的已经发展的技术(如现场可编程门阵列(FPGAs)和图形处理单元(GPUs))使用视瑞尔公司的算法处理,其提供了充分的计算功率。这在下面的章节中讨论。
[0123] 3.视瑞尔公司的全息处理流程
[0124] 下面四个章节概述了利用如上解释的子全息图,在全息3D显示器上显示实时3D内容的重要步骤。
[0125] 参看图4,其显示了我们全息处理流程的总体概况。图4所示的步骤限定了我们全息软件流程,其被分割成以下各个模:以内容生成开始,由内容生成器生成的数据将转移至全息图合成,其中计算出复值的全息图。然后,全息编码将复值的全息图转换为兼容于经使用的空间光调制器(SLM)的呈现,全息显示器。最终,后处理程序将针对三种颜色组分的不同全息图和两种或更多种依赖于显示器种类的视图混合,这样最后生成的画面能呈现在SLM上。
[0126] 4.步骤I:内容生成
[0127] 针对全息显示器,两种主要类型的内容可以区分。首先,存在由计算机生成(CG)的实时3D内容(如3D游戏和3D应用程序)。其次,存在现实生活或生活行动的视频内容,其可以是来自3D相机、3DTV广播频道、3D视频文件、蓝光光碟或其它媒介的直播视频。
[0128] 对于大多数实时CG内容(如3D游戏或3D应用程序),目前的使用图像处理单元(GPUs)的3D渲染的应用程序界面(API)是方便的。最重要的是微软的Direct3D和OpenGL-API。
[0129] 当生成和渲染一个场景时,对于每个视图,生成具有像素的2D图(基于3D渲染的应用程序界面的纹理),其中每个像素提供颜色以及其2D位置。每个像素也能看作相应3D场景的景点。这是为什么两个API总体上非常适合生成待由视瑞尔公司的全息处理流程处理的内容。
[0130] 4.1视图、颜色和深度信息
[0131] 在视瑞尔公司的方法中,对于每个观察者,生成两种视图,一种针对一个眼睛。对于3D立体摄影术的差异是额外需要针对每个视图的精确的深度信息—通常提供在绑定至颜色图的号称深度图或z图中。这针对每个观察者的两种视图对于提供每个眼睛期望看到的合适的透视图是非常必要的。它们一起提供会聚信息。用每个视图的深度图提供的深度信息被用于在合适的深度重建景点,这样每个3D景点将在空间的精确位置被生成,因此给使用者的眼睛提供了自然的3D场景的正确的聚焦信息。这些视图独立地并根据使用者位置和不同VW内3D场景被生成,其依次被放置在每个观察者的眼睛位置处。
[0132] 该提供的深度信息必须非常精确,因为在深度图中给出的景点以及由这两种视图的视差提供的其深度信息必须相关联。这对于在全息显示器的视图范围的合适处重建景点是必要的,因此聚焦和会聚将匹配。该深度信息之后被使用生成正确的衍射图(子全息图),其使得眼睛可以准确聚焦于会聚点。
[0133] 4.2虚拟相机
[0134] 另一个也应用于3D立体摄像术但经常被内容创造者轻视的重要点是正确的3D相机设置(3D-camera-setup)(对于实时3D内容的真实相机或虚拟相机),给两只眼睛的视图从其中生成。
[0135] 参看图5,其显示了相机设置和生成的重建的示意图。如果视野(FOV)以及相机距离(CD)和会聚平面距离(CPD)之间的联系接近等于全息显示提供的眼睛距离/观察者距离设置(ED/OD),那么能实现1:1的重建。
[0136] 该(虚拟)相机(会聚信息从此处被记录)理想地应该具有与观察者正用其眼睛感觉一样的设置。这意味着,该相机应该放置在会聚在显示器平面的眼睛的位置处。然后,记录原始的场景以及进行1:1重建。总体上来说,相机设置的参数之间的关系应该与全息显示提供的设置几乎相同—CD/CPD应当接近于ED/OD(见图5)。相机的视野应该提供几乎相同角域,其从显示器平面跨度至观察者眼睛。仅仅通过考虑这些限制,场景能被重建并被看作“它将真实地在那儿”。否则,该场景将看起来类似,但是随着稍微修改的视角或尺寸,依赖于这些参数,是不理想的。如果这些参数与适合的几何学太多不同,将生成大的视角错配。
[0137] 可以简单考虑这些为了实时由计算机生成的3D内容的限制,因为这里的虚拟相机能自由地安置或模式化在虚拟空间。这样的虚拟相机通过称为基于3D渲染的API的视图和投射矩阵被典型地呈现。对于真实世界(3D相机)或离线的计算机生成的内容(例如计算机制作的动画),应该牢记上述限制,因为一旦生成照片,后来不能改变该相机设置。一个折中的可能是从一个中央的视角自动生成所有所需的含有颜色和深度信息的视图,所有其他视角从其中生成。但是主要由于消失的阻塞信息,要考虑质量损失。由于仅有一个视角是可用的,重要的视角信息,物体正挡在中央视图中,在其他视角中是不可用的。然而,实施例有可能包含作为数据流的一部分的阻塞数据。
[0138] 对于由计算机生成的实时3D内容,具有使用者追踪软件的全息显示器前面的实际的观察者位置可用于恰当定位虚拟相机。在视瑞尔公司的具有仅在观看窗口内的信息的全息3D显示器中,眼睛坐标的知识也可用于定位相应于观察者位置和移动的虚拟相机,这样提供了自然场景的全部观看范围(“环顾四周”的效果)。这意味着,当环视静止的物体时,该场景似乎如自然那样被固定在相同位置。除了为舒适地长时间观看3D提供所有自然景深外,这生成了相同的大观看区域(传统的超高分辨率的全息图将本质上提供)。此外,该特点用于根据观察者眼睛距离恰当地设置虚拟相机的距离,以使得虚拟相机设置完美。然而,这环顾四周的效果是自愿性(打开或关闭)的特征,其不是针对所有3D内容都令人满意。
[0139] 4.3透明度
[0140] 一个有趣的效果,视瑞尔公司的全息处理流程的独有特征,是包含透明(半透明)物体的场景的重建。自然界的透明物体(如玻璃或烟)影响来自关于强度、方向或波长的光源的光。在自然中,两只眼睛能聚焦在透明物体或物体后面,其也可是透明物体(部分透明)。
[0141] 这样的重建能利用视瑞尔公司关于全息术的方案实现,且已经以下列方式实现在显示器中:沿着一个眼睛---显示器---光线的不同深度布置的多个景点能够同时重建。这意味着,为了具有不同深度和颜色的3D景点在全息图的同一位置超定位多个SH,以及允许眼睛聚焦于不同的在各自深度的景点(见图6a)。在到观察者的眼睛的焦距中的景点将看起来清晰,然而其它后面或前面的将模糊不清。不幸的是,经重建的3D景点不能实现物理特性,自然中的透明物体将利用通过光波进行。因此这特性必须相应通过控制景点的颜色而模仿,从而实现颜色过滤或阻尼等效果。
[0142] 从内容产物方面,该透明度效果可以通过往每个景点添加除了已有的颜色和深度值外的α值来控制。如果景点具有0.0的α值(完全透明),就不用重建它,也不会生成SH。1.0的α值意味着景点是完全不透明的,因而要生成单一SH—所有后面的景点将不可见且没有SH为其生成。介于0.0-1.0的α值意味着景点是部分透明的,该α值值代表了透明度的等级,因此为了透明景点和后面或前面的其他点,子全息图将生成。
[0143] 目前的实时3D渲染的API,如Direct3D和OpenGL,仅提供一个深度值每像素,因为仅一个颜色图和一个深度图典型地同时使用,以储存经渲染的场景。当渲染透明度效果时,典型地,多个通路通过掺和在它们深度顺序上的所有透明物体,相对于已经渲染进的颜色图的其余的物体而完成。对于这些掺和的通路,典型地丢弃了深度值的生成。深度图中的每个像素的最终深度值通常对应于所有透明物体后面的像素。因此,视瑞尔公司开发了一种方案,其一方面使用这些已经高度发展的3D渲染的API技术,另一方面为多有透明物体生成了深度值。
[0144] 视瑞尔的公司在全息图平面同一位置生成多个3D景点,但具有不同深度的原理是基于多个内容数据层的使用(见图6b)。每一层包含具有单独颜色、深度和α信息的景点。这些层可以被看作经排序的深度层,其中每层包含一种或多种(具有或不具有透明度)物体。所需的层的总数对应于3D场景中的重叠透明3D景点的最大数。该方案与为2D和立体3D显示器生成透明度效果的方法是兼容的。一方面,该差异是要将掺和通道的结果指向于适当的层的彩色图,而不是覆盖现有的颜色。另一方面,生成的深度值存储在层的深度图中而不是丢弃它们。
[0145] 参看图6,其在图6(a)显示了沿着一个单一的眼睛---显示器---光线的多个景点连续经重建,并能用于实现透明度效果。图6(b)显示了一个例示性的场景,其具有处理透明景点的一个额外层(可以是更多层)。透明的景点储存在第一层中,背景物体存在于背景层中。
[0146] 最终,该层必须经预处理以根据所有景点的给定的α值和来自其他后面景点的影响从而转化所有景点的颜色。作为一个例子的两个物体,一个100%红色且背景不透明,另一个100%白色且前景半透明(50%透明度,α=0.5),其仅仅阻尼50%光。处理后,阻尼背景物体—其新颜色是50%红色,前景物体仅50%不透明,这样其最终颜色将是50%白色。当观看这样的重建时,当前景中的半透明白色物体挡住背景物体时,背景物体将较黑,但是两者均可以被看见以及聚焦。
[0147] 因此,处理α值后的最后,移动至该全息图合成的数据含有多个具有多层的视图,每个包含仅具有颜色和深度值的景点。随后,SH将仅为了有效的景点而生成—仅部分的积极使用的透明度层将被处理。
[0148] 换言之,透明物体的重建将通过以下方法实现:
[0149] 不能直接从经计算机生成的包含透明物体的场景中计算全息图。透明物体可以是例如玻璃、水、雾、尘粒或其类似物。通常没有为透明物体生成一个深度值,而是只为位于一个或多个透明物体后面的不透明的物体。如果必须使用全息图构建,需要拥有物体的深度值。
[0150] 如果全息图为了两个或更多个物体而生成,其中所述物体至少部分位于如从一观察者看见的彼此的后面,这些物体将在它们各自距离(或深度坐标)处被重建并且所有均是可见的。位于其他物体前面的物体不会影响位于该物体后的其他物体的表观。然而,这对于位于其他物体前面的透明物体是不同的。例如,从位于红色透明玻璃盘后面的物体发出的仅红色部分光可穿过该玻璃盘。
[0151] 在本发明的一个实施例中,该方法包括多个阶段。在第一阶段,生成待重建的完全三维场景的深度值,其不包括该三维场景的透明物体。在第二阶段,三维场景的所有透明物体的深度值分别生成。该全息图(或待编码进全息显示器/空间光调制器(SLM)的全息图数据)也在多个阶段生成了。首先,不透明物体或不透明物点通过生成该子全息图和加上他们而处理。其次,该透明物体或透明物点通过生成该子全息图和加上他们而处理。
[0152] 为了现实的呈现或重建,正在被透明物体控制或影响的不透明物体的颜色值通过如下事件处理:不是控制在从不透明物体至观察者眼睛的路途中传播的光的波长,根据位于该不透明物体前面的透明物体的特征,在该不透明物体的位置,控制或改变该光的波长或者来自不透明物体的颜色。这些经控制的颜色值能通过计算机绘图方法生成。
[0153] 该全息图组合在一起,其含有具有经控制的颜色/波长数据的不透明物体(如果位于透明物体后面)的物点的信息/数据以及在多阶段的步骤中的透明物体的物点的信息/数据。所有物体---透明和/或不透明物体---在正确的深度以及以正确的颜色被重建。
[0154] 对照于是用常规二维显示或使用立体显示的三维场景的可视化,对于全息重建,额外的景点能在空间生成,其中额外的景点可具有相同的x-y坐标(横向位置),但是不同的z坐标(深度)。或者,额外的景点可以生成以例如通过深度实现稠密的范围,如雾或水。这些额外的景点位于观看方向的单一线上(沿着该单一线的不同深度值)或具有横向位置,对于此没有物点已经被计算。这是因为仅一个额外的子全息图需要为该额外的物点生成,且该子全息图需要被添加进所有其他子全息图,以生成额外物点至经重建的三维场景中。
[0155] 该方法是非常有效的,且能仅用较小的计算功率实现。它可以在现代图形板实时或准实时进行,包括全息图的计算。
[0156] 图10显示了不透明物体和透明物体在现实生活/自然中的情形。图11显示了用于根据本发明计算/生成三维场景的重建的情形。4.4全息视频格式
[0157] 存在两种方式播放全息视频:通过直接地加载并呈现先前计算的全息或者通过加载原始景点并实时计算全息图。
[0158] 第一种选择有一个很大的优点:全息图的数据不应该通过像编解码的压缩方法被操作,只有无损的方法是适合的。通过非常随意自然的全息数据,无损压缩技术在显著降低数据范围以获得来自硬盘或光学媒介的流(streaming)是无效的,不涉及IP网络(IP-networks)上的流。
[0159] 为克服这些,视瑞尔建议采用存储在如上述的不同视图/图层里的原始景点。这与视瑞尔的实时全息计算相结合能够使用像H.264或MPEG-4的最先进的视频压缩技术(state-of-the-art video-compression technologies),其依赖于使用的比特率会或多或少地损耗,但是提供了优秀的压缩率。对于深度信息,损耗必须被特别严格地控制,其直接地影响重建的质量。但是当选择高比特率时,即使那样用最小限度的而非常可接受的损耗,约1:10的压缩率是可能的。
[0160] 视瑞尔发展和使用简单的存储所有重要的数据的视频框架格式以在全息显示器上重建包含颜色和透明度的视频框架。这灵活的格式包含全部必要的视图和每个视图的图层,以存储作为放置于视频框架内的子帧的颜色、α值和深度值(参见图7)。存储在xml文件(xml-document)或嵌入到视频容器内的额外的元信息包括视频框架的布局和参数,全息视频播放器需要其以生成适当的全息图。这些信息例如描述了哪些类型子帧被嵌入、他们的位置和原始的相机设置,特别地是如何解释为映射它们进入全息显示器的3D坐标系统的经存储的深度值。
[0161] 参照图7,其显示了视频框架的典型的布局例子。在视频框架中子帧能被自由地放置——单独的元信息(meta-information)记录提供所述信息,哪些子帧被嵌入以及在视频框架中他们的位置。
[0162] 这方法使视瑞尔公司能够实时地重建具有透明度效果的3D颜色视频在全息显示器上。元信息提供了所有参数,播放器需要这些参数生成全息图。其也确保视频与相机设置相配合,并且证实3D场景信息的完整性(即深度必须是可用的)。
[0163] 5.步骤2:全息图合成
[0164] 全息图合成将多重景点的转化到全息图,其中每个景点的特征在于颜色、横向位置和深度。针对每个视图和颜色元素各自地去做该过程,当重复全部可用的图层——对每个视图和每个颜色元素计算单独的全息图。
[0165] 针对可用图层内的每个景点,子全息图SH被计算和累积到全息图H,其由每个全息图像素的复值组成,因此称作全息图单元或单元。仅仅具有强度/亮度b(b>0)的可见景点被转化,这节约了计算时间,特别针对通常只部分充满的透明图层。
[0166] 假设SLM提供水平/垂直的间距px/py,在全息图平面和观察者之间的观察者距离是od,以及每个景点提供图层中它的位置(ox,oy)(其也是全息图中的子全息图位置),它的深度d和在波长λ处亮度b(根据当前地处理颜色元素)。
[0167] 首先计算显示面(全息图面)中的子全息图的尺寸 然后针对SH里面的离散的单元位置(x,y)处的每个单元SH(x,y),计算复值 并且通过如下公式计算相位 和振幅A:
[0168] 和
[0169] 这样的SH描述了具有焦距 的全息镜头,以在经编码的距离d处重建给定的景点。术语 是每个景点的唯一的初始阶段,其是典型随意的。在全息图H中的SHs位置(ox,oy)处将计算出的SH最终总计到全息图H。位置(ox,oy)是全息图H中的子全息图SH的中心位置,其通过光线横越全息图/显示面来界定,开始于VW并且通过空间内景点的位置以及相应于图层内的景点的2D位置。此时H代表将要重建我们的3D场景的波前(wave-front)。
[0170] 在下一步骤中,从复值到可显示的真实值的转化,全息图编码,必须经执行以能够将全息图写入SLM。
[0171] 6.步骤3:全息编码
[0172] 编码是制备将要被写入SLM、全息显示器的全息图的过程。SLM通常不能直接地显示复值,这意味着他们不能同时以一个单像素调节并相移光波。但是通过结合振幅调节和相位调节显示器,能识别相干光波的调制。通过全息图中的复值(单元)控制每个SLM像素的调制。通过照明具有相干光的SLM,在全息图面上生成合成场景的波前,然后其传播进入VW以重建场景。
[0173] 不同类型的SLM能够被用于生成全息图,一些例子是:使用3个振幅值生成一复值4 5
的具有仅振幅调制(绕相位调制(detour-phasemodulation))的SLM;通过两个相位 相结合的具有仅振幅调制的SLM;或者通过一振幅像素与一相位像素相结合的结合振幅和相位
6
调节的SLM。后者通过相位和振幅板 的夹层能被识别。
[0174] 因此,需要我们全息图的SLM类型的从属、相位振幅、仅相位或仅振幅的呈现。全息图中的每个单元必须转变为适当的呈现。在将转变的全息图写入SLM之后,每个SLM像素通过它的相位和振幅调节穿过的光波。
[0175] 7.步骤4:后处理
[0176] 处理链的最后一步,针对颜色元素和视图执行不同全息图的混合,并将全息图帧显示给观察者。在全息显示器上存在不同的方法来显示颜色和视图。
[0177] 一 种 方 法 将 是 完 全 的 时 间 顺 序 的 呈 现(总 时 间 多 路 技 术(totaltime-multiplexing))。这里全部颜色和视图在多用户系统甚至对不同的观察者接连显示。通过同步地控制正确位置处的VW的布局和当前显示的视图,并且通过根据为λ编码的当前显示的全息图在正确的时间为λ转换适当的光源,全部观察者能够看到3D场景的重建。另一方法是具有两个不同的SLM的视图和时间多路技术的独立呈现,这样的系7
统已经由视瑞尔公司于2007年在SID Long Beach展示 。
[0178] 两种进一步的方法,其在我们当前的原型中执行,是基于在一单个帧中混合颜色8
和视图,或者基于在一单个框架中混合视图并连续的显示颜色 。对于两者,在垂直方向(VPO)中使用单视差全息图,然而,在水平方向中用垂直的隔行扫描(interlacing)多路复用不同的视图(颜色)。
[0179] 也存在许多其他为全部观察者呈现颜色和视图的方式和方法。总之,后处理程序负责将呈现给观察者的全息帧格式化。
[0180] 8.实施
[0181] 以上描述的全部处理步骤已经被实施,如在视瑞尔公司的全息参考软件系统内的一般软件模块。针对不同的原型,为在现成的PC硬件和视瑞尔公司的专用的FPGA平台上运行的GPU和FPGA计算机,需要的编码路径已经被最佳化。两平台在以下被呈现,但是首先将给出我们20英尺直接视图全息原型的说明。
[0182] 8.1视瑞尔公司的直接视图全息原型
[0183] 视瑞尔公司的20英寸直接视图原型是用1D垂直编码(VPO)的全颜色全息3D显示器。它通过用集成的准确且快速眼睛追踪系统提供视图窗口追踪,其用±2.5mm的精确度以每秒60次递送3D眼睛的位置到至多四个观察者。但是本全息原型仅针对一个观察者被设计。眼睛追踪软件或在标准PC运行,或完全整合到使用嵌入的DSP/FPGA解决方案的显示器中。
[0184] 全息面板具有2048×7680振幅调制像素的分辨率并以60Hz运行。由于(对全息4
术)现成LCD的相对粗糙像素间距,观察者距离当前设置在约2米处。通过用绕相位编码 ,对一个复杂的像素(单元)的间距是156×156μm,这导致了在垂直方向上8mm相应的VW。在水平方向上,对两个眼睛的全息图被空间地分离。确定的光学系统为每个眼睛创建32.5mm宽的水平有效点,其根据观察者的移动在水平方向移动。因此观察者能在水平和垂直方向自由地移动头,而不会错过全息视图。左、右眼的全息图被空间地多路复用进入到显示的框架,当颜色被连续地呈现。针对每个颜色元素(红、绿、蓝),显示适当波长的不同的帧。
[0185] 重建每图层512×2560景点是可能的,但是在2m的观察者的距离处,人的眼睛不能分辩20英寸显示器上512×2560的3D场景分辨率。因此,3D场景分辨率被任意地限于每图层512×640景点,这也提供更多普通的格式(3:4)。对于更大的LCD,3D场景分辨率能容易地扩大到全部HD或者更高。3D场景的深度范围通常开始于全息显示器的前面约1米处并且在显示器的后面能去到无穷远。
[0186] 8.2在PC上的实时全息术
[0187] 用PC驱动全息显示器的动力是多方面的:能用标准图形板来驱动用DVI的SLM,其支持需要的大的分辨率。此外,各种现有的部件是可用的,其迅速得到连续地提高。用宽泛既定的3D渲染的API开放图形库(3D-rendering APIs OpenGL)和3D图形函数库(Direct3D),在微软窗口平台实时3D内容的创建容易地进行。此外,为3D模型和视频提供格式和解码器的格式,提供有用的SDK和软件库并且其是简单可理解的。
[0188] 当用PC进行高强度的全息计算时,主处理器大部分是不够强大的。甚至最新的CPU也不能足够迅速地执行高分辨率实时3D全息图的计算,例如英特尔酷睿i7(Intel9
Core i7)实现约50GFlop/s。因此用更强大的部件是显然的,最令人关注的是图像处理单元(GPU),由于他们巨大的存储带宽和强大的处理功率,尽管有一些开销和缺乏灵活性。作为优点,其可编程性、灵活性和处理能力在过去的几年里已有明显提高。
[0189] 8.3用GPU的实时全息图
[0190] 基于微软的Direct3D 9,如前述的全部全息处理流程与吸引人的交互式应用已经实施了。一切用一NVIDIA GeForce 285GTX在PC上运行,驱动20”全息3D直接视图原型。几乎全部计算都在图像处理单元(GPU)上完成,CPU仅用于为计算而控制程序流程和提供参数。对大部分的步骤,已经实施特殊的像素和顶点着色器程序(special11
pixel-andvertex-shader-programs),其从一步一步地切换以执行适当的算法。着色器程序(Shader-program)用C类语言(即,当用Direct3D为高级着色语言(HLSL))写的小的编码片段。当为执行而被编辑和上传到GPU时,他们在GPU的着色器内核(shader-core)内的平行运行以处理图形流程内的顶点和片段/像素。现代的GPU典型地具有多于200着色器内核,每个能以约1GHz的高频率执行典型的4维向量操作。
[0191] 相对于其他的如CUDA12的GPGPU技术(在图形处理单元13(graphicsprocessing unit)上的通用计算),选择直接使用Direct3D的原因是具有更大的灵活性以使用GPU提供的任何特征和对所述应用程序模块实时生成的3D内容的简单界面。
[0192] 我们的方案,利用GPU,是非常灵活且可参数化的。视瑞尔公司提供封装全息计算的所有方面的简单API,并已经发展了Windows-SDK,所以任何应用程序设计者只需要集中在其本身的内容上。涉及针对特殊全息显示器的虚拟照相机、全息图合成、全息图编码和后处理程序的所有事,通过该软件系统隐藏或者自动地处理。图8提供基于GPU的处理流程的概况。
[0193] 用于视瑞尔公司的20”直接视图原型的GPU方案工作如下:在第一模块中,内容生成-部分的全息应用程序–生成两个视图,每个由至多4个图层组成,每个图层存储512×640景点以及每个景点提供颜色、深度和α信息。该全息应用程序可用Direct3D-API提供的所有功能和特征,例如其本身的着色器程序。生成的数据(在GPU存储器内至多生成
16个纹理的数据,每个图层的两个提供深度和颜色以及α信息)移交到下一个实例。这是一应用程序设计者必须创建和实施的唯一模块,通过SDK提供所有其他的部分。
[0194] 参见图8,其显示我们的GPU方案中数据流的概况。
[0195] 下一个模块,即全息图合成,处理每个图层以应用α值给予的透明度效应,以及在位于不同图层之间的深度没有通过该应用程序分类的情况下执行一些深度分类。然后针对每个图层中的每个3D景点,用顶点着色器程序生成并定位子全息图。每个子全息图由执行如前所述的每个全息图单元(复值)的相位和振幅的计算的像素着色器程序处理。每个经计算的单元随后被累积到生成的复值化的全息图上。用GPU存储器中的两个浮点纹理(一个对实际部分,一个对虚拟部分)实施这复值化的全息图。
[0196] 在2007年呈现在SID中的我们第一个原型的版本中,使用查阅表途径,其中对每个256离散的深度步骤已经预计算标准的子全息图。其被做以在这时克服GPU的有限的处理能力,即NVIDIA 7900GTX。迄今为止,图形处理单元已被迅速地改进,但是在计算能力的方面比存储内存宽带上改进更多。现在经改良的GPU和最佳化的视瑞尔公司的算法的结合使得直接地计算具有更高质量、更灵活和更有效率的子全息图成为可能——动态的子全息图尺寸和直接的计算导致更多的有效计算,现在使用由GPU提供的几乎无限制的深度分辨率(典型的24bit)以在重建中(尤其对大的深度范围)中提供较佳的深度分辨率,并且存储内存宽带不再限制计算。
[0197] 在全息编码的第三步骤中,复值经编码以创建结局(用绕相位调制4的兼容SLM的呈现),其也用另一套像素着色器程序来完成。
[0198] 最终六个全息图(两个视图,其中每个视图具有三个全息图(针对颜色元素))为呈现在SLM上而被多路复用。三个SLM帧(一个帧对应于每个颜色元素)通过使用垂直隔行扫描针对每个颜色元素将两个视图多路复用成一个帧而生成。然后这三个帧被连续地显示。
[0199] 8.4使用FPGA的实时全息术
[0200] 在视瑞尔公司的全息3D方案的发展中,另一步骤为移植(port)到现场可编程门阵列(FPGA)而最佳化该软件。该动机是以实现要集成至任何显示器的自治系统。对于这一点,来自Altera利用Stratix III FPGA的自定义FPGA板已经被设计。相对于CPU或GPU,FPGA的优点是两者最佳的混合,比在CPU中更好的并行性以及与比在GPU中更佳的编程灵活性。尽管如此,FPGA方案的复杂编程模型与基于PC的发展比较导致更长的发展周期。
[0201] 在该应用方面,两种方案使用PC,以用如前所述的内容生成模块(content-creation-module)来生成内容。但是对这种方案,通过对一个单个DVI帧(DVI-frame)内的两视图包装颜色和深度信息来转化生成的数据到FPGA板,该FPGA板使用DVI帧代替GPU存储器内的纹理。因此机顶盒或游戏机也将适应于作为内容源使用。通过扩展DVI帧尺寸而实现多于一个透明度图层的操作,以包括类似于以上描述的建议的视频框架格式的至多4个图层的信息。
[0202] 参见图9,其显示在我们的FPGA方案中数据流的概况。
[0203] 计算子全息图、累计和编码、以及后处理程序的模块已经用VHDL实施。今天,这方案提供了如视瑞尔公司的GPU版(GPU-version)的同样的功能,除了对图层的待支持。FPGA板LVDS界面(LVDS-interface)直接地驱动SLM以呈现帧(参见图9)。
[0204] 8.5应用
[0205] 随着这些技术方案在GPU和FPGA上可用,视瑞尔公司能用60Hz的满的显示帧比率显示生动编码的高分辨率的生命活动3D视频,针对视频解码,从用标准MPEG-4解码器的PC的硬件逐帧地被流动。每个帧包含对两个视图和4个图层(背景加3个透明度图层)的原始颜色、深度和α信息,其被充分地利用。为了有意义的负载比较,在透明度图层中多于全部可用的景点的80%被使用。
[0206] 此外,在详细的3D环境中,实时应用程序已经基于标准格式和由多个模型组成的复杂交互式3D场景被发展和演示显示计算生成的3D模型。为了增强使用者体验和简单化交互作用,已经集成了经选择的现代的人类机器界面(像3D空间鼠标)和Nintendo Wii控制器。
[0207] 9.结果
[0208] 基于全息3D显示和相应的所有权人的算法的视瑞尔公司的原理,两个方案(GPU和FPGA)用空间视图和连续颜色多路复用能够利用60Hz的满的SLM频率驱动视瑞尔公司的20英寸全息3D直观原型。此外,已然今天,该方案用相应地增加像素数量能够驱动按比例增加显示器硬件(更高的SLM分辨率,更大的尺寸)。
[0209] 该高分辨率,满帧比率GPU方案在具有单个NVIDIA GTX 285的PC上运行,视瑞尔公司的FPGA方案采用一个Altera Stratix III以执行全部全息计算。支持复杂3D场景和3D视频内的透明度效应。甚至对利用全部4个图层的复杂的高分辨率的3D内容,帧比率为连续地超过60Hz。内容能够通过PC被提供,并且特别对FPGA方案通过机顶盒、游戏机等等,其像驱动普通2D或3D显示器。
[0210] 针对更多或更大的子全息图,特别对在两维延伸(满视差全息图)的子全息图,两者技术方案可很好地扩展以先前地合并功能。即使使用当前方案,满视差颜色全息图的实时计算是可完成的,并且已经内部地测试了。依赖3D场景的复杂性,根据有效的计算能力,可能存在一些对较小深度范围的限制。已然今天,通过用多个GPU(NVIDIA SLI或者AMDCrossFire)或链接多个FPGA,计算性能完全能够简单地增强。作为一个例子,NVIDIAs SLI已经应用于连接两个通过1.9的要素增加全息图计算帧的速率的GeForce 285GTX GPU,证明了该方案的优异扩展性。
[0211] 这些方案能够使视瑞尔公司能显示复杂的3D视频和复杂的交互式3D场景,其全部全息地动态编码。相比于在其技术本身上,其目前允许更多地聚焦在全息内容和应用程序以及针对游戏或全息TV的适当的格式的开发。
[0212] 10.结论和进一步展望
[0213] 本文呈现了用新的子全息图方法的我们的方案,当适应于GPU或FPGA硬件时,其允许全息图的实时计算,以驱动显示复杂且交互的3D内容的全息显示器。
[0214] 进一步的发展将专注于具有新引进的计算着色器(Compute-Shader)和OpenGL3/4以及OpenCL的GPU(像Direct3D 11)领域的新技术,以提高视瑞尔公司的GPU方案的效率和灵活性。包括支持多个透明度图层的视瑞尔公司的FPGA方案将于2010年完成。进一步,为了专用的全息ASIC的发展,VHDL设计(VHDL-designs)将被最佳化。
[0215] 对流全息视频(3DTV)和3D内容以及视瑞尔公司的技术整合到现有游戏或应用程序的引擎中,合适格式的发展和适应将成为另一个焦点。
[0216] 参考文献
[0217] [1]Goodman,J.W.,[Introduction to Fourier Optics],2ndedn,McGraw-Hill,New York(1996).
[0218] [2]Hoffman,D.M.,Girshick,A.R.,Akeley,K.&Banks,M.S.,
[0219] “Vergence–accommodation conflicts hinder visual performance andcause visual fatigue,”J.Vis.8(3),1–30(2008).
[0220] http://journalofvision.org/8/3/33/
[0221] [3]St-Hilaire,P.,Benton,S.A.,Lucente,M.E.,Sutter,J.D.&Plesniak,W.J.,“Advances in holographic video,”Proc.SPIE 1914,pp.188–196(1993).[0222] http://link.aip.org/link/?PSI/1914/188/1
[0223] [4]Burckhardt,C.B.,“A Simplification of Lee’s Method ofGeneratingHolograms by Computer,”Appl.Opt.9(8),1949–1949(1970).
[0224] http://ao.osa.org/abstract.cfm?URI=ao-9-8-1949
[0225] [5]Hsueh,C.K.&Sawchuk,A.A.,“Computer-generateddouble-phaseholograms,”Appl.Opt.17(24),3874-3883(1978).
[0226] http://ao.osa.org/abstract.cfm?URI=ao-17-24-3874
[0227] [6]Gregory,D.A.,Kirsch,J.C.&Tam,E.C.,“Full complex modulationusing liquidcrystal televisions,”Appl.Opt.31(2),163-165(1992).
[0228] http://ao.osa.org/abstract.cfm?URI=ao-31-2-163
[0229] [7]N.Leister,A.Schwerdtner,G.Fütterer,S.Buschbeck,J.-C.Olaya and S.Flon,"Full-color interactive holographic projection system for large 3Dscene reconstruction,"Proc.SPIE 6911,69110V(2008).
[0230] http://dx.doi.org/10.1117/12.761713
[0231] [8] R.,Reichelt,S.,Leister,N.,Zschau,E.,Missbach,R.&Schwerdtner,A.,“Large real-time holographic displays:from prototypesto a consumer product,”Proc.SPIE 7237,p.72370S(2009).
[0232] http://link.aip.org/link/?PSI/7237/72370S/1
[0233] [9]http://www.intel.com/support/processors/sb/cs-023143.htm[0234] [10]http://www.business-sites.philips.com/3dsolutions/home/index.page[0235] [11]http://en.wikipedia.org/wiki/Shader
[0236] [12]http://www.nvidia.com/object/cuda_home_new.html
[0237] [13]http://gpgpu.org/about
QQ群二维码
意见反馈