显示装置和系统

文档序号:1941778 发布日期:2021-12-07 浏览:19次 >En<

阅读说明:本技术 显示装置和系统 (Display device and system ) 是由 S.M.科林 于 2021-04-28 设计创作,主要内容包括:使用数据流形成用于投影的目标图像的全息图的图像处理引擎和方法。使用内核对输入或主图像进行子采样,然后使用副图像输出生成目标图像的全息图。使用多个两个或更多个数据流的内核子采样技术提供效率改进,包括减少数据存储需求和提高处理速度。(An image processing engine and method for forming a hologram of a target image for projection using a data stream. The kernel is used to subsample the input or main image and then the secondary image output is used to generate a hologram of the target image. Kernel subsampling techniques using multiple two or more data streams provide efficiency improvements, including reduced data storage requirements and increased processing speed.)

显示装置和系统

技术领域

本公开涉及用于全息投影的图像处理器和图像处理方法。本公开进一步涉及全息投影仪、全息投影系统、全息投影图像的方法和全息投影视频图像的方法。一些实施例涉及平视显示器以及光检测和测距系统。

背景技术

从物体散射的光包含振幅和相位信息。可以通过众所周知的干涉技术在例如感光板上捕获该振幅和相位信息,以形成包括干涉条纹的全息记录或“全息图”。可以通过用合适的光照射来重建全息图,以形成代表原始物体的二维或三维全息重建或回放图像。

计算机生成的全息术可以在数值上模拟干涉过程。可以通过基于数学变换比如菲涅耳或傅立叶变换的技术来计算计算机生成的全息图。这些类型的全息图可被称为菲涅耳/傅立叶变换全息图或简称为菲涅耳/傅立叶全息图。傅立叶全息图可被认为是物体的傅立叶域/平面表示或物体的频域/平面表示。例如,还可以通过相干射线追踪或点云技术来计算计算机生成的全息图。

可以在布置为调制入射光的振幅和/或相位的空间光调制器上对计算机生成的全息图进行编码。例如,可以使用电可寻址液晶、光学可寻址液晶或微镜来实现光调制。

空间光调制器通常包括多个单独可寻址像素,其也可以称为单元或元素。光调制方案可以是二元、多级或连续的。可替代地,装置可以是连续的(即不包括像素),因此光调制可以在整个装置上是连续的。空间光调制器可以是反射性的,这意味着调制光以反射输出。空间光调制器可以同样是透射性的,这意味着调制光以透射输出。

可以使用本文描述的系统来提供全息投影仪。例如,这种投影仪已经应用于平视显示器“HUD”和头戴显示器“HMD”,包括近眼装置。

在诸如全息投影仪之类的使用相干光的装置中,可以使用移动漫射器来改善图像质量。

发明内容

本公开的各方面在所附独立权利要求中定义。

公开了图像处理引擎和使用数据流形成用于投影的目标图像的全息图的方法。特别地,如下面更详细地描述,可以使用内核对输入或主图像进行子采样,该输入或主图像可以是目标图像的放大和/或修改版本,并且可以输出副图像并将其用于生成目标图像的全息图。如本文所述,使用多个两个或更多个数据流的内核子采样的技术提供了效率改进,包括减少的数据存储需求(例如存储器和/或缓冲器容量)和增加的处理速度。

常规上,需要大面积的数据存储来存储用于内核子采样的整个主图像数据。需要随机存储器访问来访问每个预期内核操作所需的所有像素的主图像数据。此外,视频速度处理需要至少部分图像数据被缓存,特别是至少开始处理所需的数据条目(图像像素值),以及此后的每个处理阶段。因此,所需的缓存能力取决于输入数据(主图像)的大小,而不取决于输出数据(副图像)的大小。

对于全息图像投影,为了获得所需的图像分辨率(全息重建),可以“放大”用于投影的目标图像以形成像素数量增加的源图像。另外,源图像可被修改以形成中间图像,例如所谓的“扭曲图像”,以校正由投影仪的光学回放系统的光学部件引起的图像失真(扭曲),如本领域已知。放大的源图像或从其导出的中间图像可以用作用于内核子采样的主图像。因此,主图像的尺寸(分辨率/像素数)以及因此数据量可以是副图像的尺寸的数倍。结果,对于内核对主图像进行子采样以产生副图像,需要大量的数据存储和缓存能力。

根据本公开,数据流用于减少数据存储量和缓存容量,其用于使用内核来确定用于全息图计算的输出图像而对主图像进行子采样。

主图像的像素值的第一数据流可以与内核的内核值的第二数据流同步,使得每个像素值与对应的内核值配对,以在多个内核采样位置进行内核操作。对于每个内核采样位置,在第二数据流中重复内核值。因此,在第一数据流中的主图像的像素值与第二数据流的内核值之间存在一对多的相关性。另外,第二数据流中的内核的每一行内核值与第一数据流中的主图像的多行图像像素配对。

在一些实施例中,数据流引擎配置为执行数据流过程。特别地,数据流引擎可以通过逐行读取主图像的图像像素值形成第一数据流。例如,可以按照栅格扫描顺序逐个像素地读取像素值。同时,数据流引擎可以使用以下步骤来形成第二数据流:(i)多次重复读取内核的第一行的内核值;(ii)多次重复读取内核的下一行的内核值;(iii)迭代地重复步骤(ii)(m-2)次;(iv)返回到步骤(i),以及(v)当第一数据流中不再有像素值时,停止步骤(i)至(iv)。时钟计数器可以用于同步第一和第二数据流中的值。

在一些实施例中,图像处理引擎配置为执行内核操作和缓冲过程。特别地,内核操作在多个内核采样位置处执行。对于主图像的每一行像素,内核操作处理与内核采样位置相关的第一和第二数据流的值的同步对,以导出相应累加(部分)像素值以输出到缓冲器。通过将累加(部分)像素值存储在缓冲器中的连续位置中来执行缓冲过程。从处理主图像的一行像素输出到缓冲器的累加(部分)像素值可以形成第三数据流,其作为反馈提供,用于处理主图像的下一行像素,以导出更新的累加(部分)像素值。可以逐行重复反馈过程,直到已经针对相同的多个内核采样位置(即在相同的行或排的内核采样位置)处理了主图像的最后一行像素。然后,输出到缓冲器的累积像素值是副图像的一行的全部或完整像素值。因此,可以生成副图像的像素行,并逐行输出。有利地,可以将副图像的像素行实时流传输到全息图引擎,以计算与副图像对应的全息图。因此,可以在导出副图像的所有像素之前开始全息图计算。

在一些示例中,具有m行和n列的内核在栅格扫描路径中移动,其中x方向上的步幅为n个像素,y方向上的步幅为m个像素。因此,内核窗口对主图像的m×n像素的连续数组进行子采样。在这些示例中,可以通过以栅格扫描顺序逐个像素读取主图像的像素值来形成第一数据流。这简化了用于形成第一数据流的数据流处理过程。

在实施方式中,数据流传输可以允许从主图像确定副图像并确定要同时执行的对应全息图,从而提高处理速度。具体地,为副图像确定的像素值可以实时地流传输到全息图引擎,如下面进一步描述。提高的处理速度使得可以在视频流中显示更多数量的图像全息图(即使用更多数量的副图像或子帧)。通过在人眼的积分时间内显示更多的图像,提高观看者看到的全息重建(全息图像)的质量。

在一些实施方式中,可以通过使用不同的子采样方案对同一源图像进行子采样来确定多个副图像。例如,可以使用多个不同的内核和/或内核采样位置来确定多个不同的副图像。多个不同的副图像可以用于生成用于投影目标图像的对应多个全息图。例如,可以在人眼的积分时间内在空间光调制器上顺序显示多个不同的全息图,并且可以对空间光调制器进行照明以在回放平面上形成一系列全息重建,以进行投影和观看。已发现,代表同一目标图像进行投影的多个不同全息图的显示可以导致观看者看到的图像质量提高。

术语“全息图”用于指代包含关于物体的振幅信息或相位信息或其某种组合的记录。术语“全息重建”用于指代通过照射全息图而形成的物体的光学重建。本文中公开的系统被描述为“全息投影仪”,因为全息重建是真实图像并且与全息图在空间上分离。术语“回放场”用于指代在其内形成全息重建并完全聚焦的2D区域。如果将全息图显示在包括像素的空间光调制器上,则回放场将以多个衍射级的形式重复,其中每个衍射级是零级回放场的副本。零级回放场通常对应于优选或主要回放场,因为它是最亮的回放场。除非另有明确说明,否则术语“回放场”应被认为是指零级回放场。术语“回放平面”用于指代包含所有回放场的空间中的平面。术语“图像”、“回放图像”和“图像区域”指的是通过全息重建的光照射的回放场的区域。在一些实施例中,“图像”可包括离散光斑,其可被称为“图像光斑”,或仅出于方便起见,被称为“图像像素”。

术语“编码”、“写入”或“寻址”用于描述向SLM的多个像素提供分别确定每个像素的调制水平的相应多个控制值的过程。可以说,SLM的像素配置为响应于接收到多个控制值而“显示”光调制分布。因此,可以说SLM“显示”全息图,并且全息图可被认为是光调制值或水平的阵列。

已经发现,可以从仅包含与原始物体的傅立叶变换有关的相位信息的“全息图”形成可接受质量的全息重建。这样的全息记录可被称为仅相位全息图。实施例涉及仅相位全息图,但本公开同样适用于仅振幅全息图。

本公开也同样适用于使用与原始物体的傅立叶变换有关的振幅和相位信息来形成全息重建。在一些实施例中,这是通过使用包含与原始物体有关的振幅和相位信息的所谓全复数全息图的复数调制来实现的。因为分配给全息图的每个像素的值(灰度级)具有振幅和相位分量,所以这种全息图可被称为全复数全息图。分配给每个像素的值(灰度级)可以表示为具有振幅和相位分量的复数。在一些实施例中,计算全复数计算机生成的全息图。

可以参考计算机生成的全息图或空间光调制器的像素的相位值、相位分量、相位信息或者简单地说是相位,作为“相位延迟”的简写。即,所描述的任何相位值实际上是代表该像素提供的相位延迟量的数字(例如在0至2p范围内)。例如,空间光调制器的描述为具有p/2相位值的像素将使接收光的相位延迟p/2弧度。在一些实施例中,空间光调制器的每个像素可在多个可能的调制值(例如相位延迟值)之一中操作。术语“灰度级”可以用来指多个可用的调制水平。例如,术语“灰度级”可以为了方便而用于指代仅相位调制器中的多个可用相位水平,即使不同的相位水平没有提供不同的灰色阴影。为了方便起见,术语“灰度级”也可以用来指复数调制器中的多个可用复数调制水平。

因此,全息图包括灰度级阵列,即光调制值阵列,比如相位延迟值或复数调制值阵列。全息图也被认为是衍射图案,因为它是当在空间光调制器上显示并且用波长相对于(通常小于)空间光调制器的像素间距的光照射时引起衍射的图案。本文中参考将全息图与其他衍射图案比如用作透镜或光栅的衍射图案组合。例如,可以将用作光栅的衍射图案与全息图组合以在回放平面上平移回放场,或者可以将用作透镜的衍射图案与全息图组合以将全息重建聚焦在近场中的回放平面上。

术语“目标图像”在本文中用于指代用于投影的期望图像。即,目标图像是全息系统需要投影到全息回放平面上的图像。目标图像可以是静止图像或图像序列(例如图像的视频速率序列)中的一个图像(或图像帧)。

术语“源图像”在本文中用于指代从目标图像导出的图像。源图像可以与目标图像相同,或者源图像可以是目标图像的高分辨率版本或放大版本。特别地,源图像可以是目标图像的放大版本,以便增加其分辨率(就像素数而言)。即,源图像可以包括比目标图像更多的像素。可以采用任何放大技术。在一些实施例中,如在详细描述中所述,放大包括重复目标图像的像素值。在这些实施例中,用于放大目标图像的计算引擎可以使用简单的映射方案来表示重复。

另外,可修改源图像,例如以解决由全息投影仪的光学部件引起的失真。在这种情况下,源图像是从源图像导出的“中间图像”。在实施例的描述中,术语“中间图像”在本文中用于指代从源图像导出的图像,例如根据翘曲图。

术语“主图像”在本文中用于指代如本文所述被子采样的图像。主图像可以是(1)源图像,或(2)从源图像导出的中间图像。

术语“副图像”在本文中用于指代从主图像导出的图像。如本文所述,可以从单独主图像导出多个副图像。每个副图像是通过对主图像进行子采样(也称为“欠采样”)而形成的。每个副图像都比源图像包含更少的像素。可以可选地使用如详细描述中所述的加权技术,从主图像的多个像素值(例如像素的组或阵列)计算副图像的每个像素值。值得注意的是,用于从目标图像形成源图像的放大过程与用于从主图像形成每个副图像的子采样技术不同。副图像均与主图像不同,但可选地,它们可以具有相同数量的像素。计算与每个副图像对应的全息图。

术语“输出图像”在本文中也用于指代通过对主图像进行子采样而导出的“副图像”,因为它是从图像处理引擎输出到全息引擎的,从而使用本文所述的适当算法来计算全息图。除非另有说明,否则,术语“目标图像”、“主图像”、“源图像”、“中间图像”和“副/输出图像”在本文用于(作为简写形式)指代包括代表各个图像的像素值(或类似)的图像数据。

尽管可以在下面的详细描述中分别公开不同的实施例和实施例组,但任何实施例或实施例组的任何特征可以与任何实施例或实施例组的任何其他特征或特征的组合相结合。即,设想了本公开中所公开的特征的所有可能的组合和置换。

附图说明

仅参考以下附图以示例的方式描述特定实施例:

图1是示出在屏幕上产生全息重建的反射型SLM的示意图;

图2A示出了示例Gerchberg-Saxton类型算法的第一迭代;

图2B示出了示例Gerchberg-Saxton类型算法的第二及后续迭代;

图2C示出了示例Gerchberg-Saxton类型算法的替代第二及后续迭代;

图3是反射型LCOS SLM的示意图;

图4A和4B示出了根据实施例的用于使用在两个连续的采样位置处操作的4×4内核对主图像进行子采样以导出输出图像的示例技术;

图5A示出了用于图4A和4B的技术的通用内核,图5B示出了具有内核值或权重的示例内核;

图6示意性地示出了根据实施例的用于使用内核对主图像的像素数据进行数据流传输以进行子采样的方法;

图7示出了根据实施例的对主图像的第一行的图像像素数据的输入数据流和提供给缓冲器的值的输出数据流执行的图6的内核子采样过程;

图8示意性地示出了根据实施例的图7中示出的值的输出数据流如何被用作部分像素值,该部分像素值被提供作为对内核子采样过程的反馈;

图9示出了根据实施例的对主图像的第二行的图像像素数据的输入数据流和提供给缓冲器的值的输出数据流执行的内核子采样过程,该输入数据流接收图7的过程的输出数据值作为反馈;

图10示出了根据实施例的对主图像的最后一行的图像像素数据的输入数据流和与副图像对应的全部(或完整)像素值的输出流执行的内核子采样过程,该输入数据流接收对主图像的前一行的像素值执行的过程的输出数据值作为反馈;

图11示出了根据实施例的用于内核子采样过程的数据流传输过程的流程图,其中像素值的数据流与内核值的数据流同步;

图12示出了根据实施例的内核操作和缓冲过程的流程图,其包括通过像素值和内核值的数据流逐行向内核子采样过程的输入值,其中每行的子采样过程的输出值被缓存为部分像素值并作为反馈被提供给下一行的子采样过程;以及

图13是示出根据实施例的全息投影仪的示意图。

在整个附图中将使用相同的附图标记指代相同或相似的部件。

具体实施方式

本发明不限于以下描述的实施例,而是扩展到所附权利要求的全部范围。即,本发明可以以不同的形式实施,并且不应被解释为限于所描述的实施例,实施例出于说明的目的而阐述。

除非另有说明,否则单数形式的术语可以包括复数形式。

被描述为形成在另一结构的上部/下部或者在另一结构之上/之下的结构应被解释为包括结构彼此接触的情况以及在其之间设置有第三结构的情况。

在描述时间关系时,例如当事件的时间顺序描述为“之后”、“随后”、“下一个”、“之前”等时,本公开应被认为包括连续和非连续事件,除非另有规定。例如,描述应被认为包括除非使用诸如“仅”、“紧邻”或“直接”之类的措词否则不连续的情况。

尽管本文可以使用术语“第一”、“第二”等来描述各种元件,但这些元件不受这些术语的限制。这些术语仅用于区分各个元件。例如,在不脱离所附权利要求的范围的情况下,第一元件可被称为第二元件,类似地,第二元件可被称为第一元件。

不同实施例的特征可以部分或整体地彼此耦合或组合,并且可以彼此不同地互操作。一些实施例可以彼此独立地执行,或者可以以相互依存的关系一起执行。

光学配置

图1示出了其中计算机生成的全息图被编码在单个空间光调制器上的实施例。计算机生成的全息图是用于重建的物体的傅立叶变换。因此可以说全息图是物体的傅立叶域或频域或光谱域表示。在该实施例中,空间光调制器是反射型硅上液晶“LCOS”器件。全息图在空间光调制器上编码,并且在回放场例如光接收表面比如屏幕或漫射器处形成全息重建。

设置光源110,例如激光或激光二极管,以经由准直透镜111照射SLM140。准直透镜使光的大致平面波前入射在SLM上。在图1中,波前的方向是偏离法线的(例如,与真正垂直于透明层的平面相距两或三度)。然而,在其他实施例中,大致平面波前以法向入射提供,并且分束器布置用于分离输入和输出光路。在图1所示的实施例中,布置使得来自光源的光从SLM的镜面后表面反射并与光调制层相互作用以形成出射波前112。出射波前112被施加到包括傅立叶变换透镜120的光学器件,其焦点位于屏幕125上。更具体地,傅立叶变换透镜120接收来自SLM140的调制光束,并执行频率-空间变换以在屏幕125上产生全息重建。

值得注意的是,在这种类型的全息图中,全息图的每个像素都有助于整个重建。回放场上的特定点(或图像像素)与特定的光调制元件(或全息图像素)之间没有一对一的相关性。换句话说,离开光调制层的调制光分布在整个回放场上。

在这些实施例中,全息重建在空间中的位置由傅立叶变换透镜的屈光(聚焦)度确定。在图1所示的实施例中,傅立叶变换透镜是物理透镜。即,傅立叶变换透镜是光学傅立叶变换透镜,并且傅立叶变换是光学进行的。任何透镜都可以充当傅立叶变换透镜,但透镜的性能将限制其执行的傅立叶变换的准确性。技术人员理解如何使用透镜来执行光学傅立叶变换。

全息图计算

在一些实施例中,计算机生成的全息图是傅立叶变换全息图,或者简单地是傅立叶全息图或基于傅立叶的全息图,其中通过利用正透镜的傅立叶变换特性在远场中重建图像。通过将回放平面中的所需光场傅立叶变换回透镜平面来计算傅立叶全息图。可以使用傅立叶变换来计算计算机生成的傅立叶全息图。

可以使用算法比如Gerchberg-Saxton算法来计算傅立叶变换全息图。此外,Gerchberg-Saxton算法可用于根据空间域(比如照片)中的仅振幅信息来计算傅立叶域中的全息图(即傅立叶变换全息图)。从空间域中的仅振幅信息中有效地“获得”与物体有关的相位信息。在一些实施例中,使用Gerchberg-Saxton算法或其变型从仅振幅信息计算计算机生成的全息图。

Gerchberg-Saxton算法考虑了当已知分别在平面A和B中的光束的强度截面IA(x,y)和IB(x,y)并且IA(x,y)和IB(x,y)通过单个傅立叶变换关联时的情况。对于给定的强度横截面,求出了平面A和B中的相位分布的近似值,分别为ΨA(x,y)和ΨB(x,y)。Gerchberg-Saxton算法通过遵循迭代过程来找到该问题的解决方案。更具体地,Gerchberg-Saxton算法迭代地应用空间和频谱约束,同时在空间域和傅立叶(频谱或频率)域之间重复传输代表IA(x,y)和IB(x,y)的数据集(振幅和相位)。通过算法的至少一次迭代获得频谱域中的相应计算机生成的全息图。该算法是收敛的并且布置为产生表示输入图像的全息图。全息图可以是仅振幅全息图、仅相位全息图或全复数全息图。

在一些实施例中,仅基于相位的全息图是使用基于Gerchberg-Saxton算法的算法来计算的,比如在英国专利2498170或2501112中描述的,其全部内容通过引用结合于此。然而,本文公开的实施例仅通过示例的方式描述计算仅相位全息图。在这些实施例中,Gerchberg-Saxton算法检索数据集的傅立叶变换的相位信息Ψ[u,v],其产生已知的振幅信息T[x,y],其中振幅信息T[x,y]代表目标图像(例如照片)。由于幅度和相位在傅立叶变换中是固有组合的,因此变换后的幅度和相位包含有关计算数据集的准确性的有用信息。因此,该算法可以与振幅和相位信息的反馈一起迭代地使用。然而,在这些实施例中,仅相位信息Ψ[u,v]用作全息图,以在图像平面上形成目标图像的全息表示。全息图是相位值的数据集(例如2D阵列)。

在其他实施例中,基于Gerchberg-Saxton算法的算法用于计算全复数全息图。全复数全息图是具有幅度分量和相位分量的全息图。全息图是包括复数数据值阵列的数据集(例如2D阵列),其中每个复数数据值包括幅度分量和相位分量。

在一些实施例中,算法处理复数数据,并且傅立叶变换是复数傅立叶变换。可以将复数数据视为包括(i)实数分量和虚数分量,或(ii)幅度分量和相位分量。在一些实施例中,复数数据的两个分量在算法的各个阶段被不同地处理。

图2A示出了根据一些实施例的用于计算仅相位全息图的算法的第一迭代。算法的输入是包括像素或数据值的2D阵列的输入图像210,其中每个像素或数据值是幅度或振幅值。即,输入图像210的每个像素或数据值不具有相位分量。因此,输入图像210可被视为仅幅度或仅振幅或仅强度分布。这样的输入图像210的示例是照片或包括帧时间序列的视频的一帧。算法的第一迭代从数据形成步骤202A开始,该步骤包括使用随机相位分布(或随机相位种子(seed))230将随机相位值分配给输入图像的每个像素,以形成起始复数数据集,其中数据集的每个数据元素包括幅度和相位。可以说,起始复数数据集代表了空间域中的输入图像。

第一处理块250接收起始复数数据集并执行复数傅立叶变换以形成傅立叶变换的复数数据集。第二处理块253接收傅立叶变换的复数数据集并输出全息图280A。在一些实施例中,全息图280A是仅相位全息图。在这些实施例中,第二处理块253量化每个相位值并将每个振幅值设置为1,以便形成全息图280A。根据可以在空间光调制器的像素上表示的相位水平来量化每个相位值,该空间光调制器的像素将用于“显示”仅相位全息图。例如,如果空间光调制器的每个像素提供256个不同的相位水平,则将全息图的每个相位值量化为256个可能相位水平中的一个相位水平。全息图280A是代表输入图像的仅相位傅立叶全息图。在其他实施例中,全息图280A是全复数全息图,其包括从接收的傅立叶变换的复数数据集导出的复数数据值(每个包括振幅分量和相位分量)阵列。在一些实施例中,第二处理块253将每个复数数据值约束到多个可允许复数调制水平之一以形成全息图280A。约束步骤可以包括将每个复数数据值设置为复数平面中最接近的可允许复数调制水平。可以说全息图280A代表频谱或傅立叶或频域中的输入图像。在一些实施例中,算法在该点处停止。

然而,在其他实施例中,算法继续,如图2A中的虚线箭头所示。换句话说,遵循图2A中的虚线箭头的步骤是可选的(即并非对所有实施例都是必不可少的)。

第三处理块256从第二处理块253接收修改的复数数据集,并执行逆傅立叶变换以形成逆傅立叶变换的复数据集。可以说逆傅立叶变换的复数数据集代表空间域中的输入图像。

第四处理块259接收逆傅立叶逆变换的复数数据集,并提取幅度值211A的分布和相位值213A的分布。可选地,第四处理块259评估幅度值211A的分布。具体地,第四处理块259可以将逆傅立叶变换的复数数据集的幅度值211A的分布与输入图像510进行比较,输入图像510本身当然是幅度值的分布。如果幅度值211A的分布与输入图像210之间的差足够小,则第四处理块259可以确定全息图280A是可接受的。即,如果幅度值211A的分布与输入图像210之间的差足够小,则第四处理块259可以确定全息图280A是输入图像210的足够准确表示。在一些实施例中,为了比较的目的,忽略了逆傅立叶变换的复数数据集的相位值213A的分布。将理解的是,可以采用任何数量的不同方法来比较幅度值211A的分布和输入图像210,并且本公开不限于任何特定方法。在一些实施例中,计算均方差,并且如果均方差小于阈值,则认为全息图280A是可接受的。如果第四处理块259确定全息图280A是不可接受的,则可以执行算法的进一步迭代。然而,该比较步骤不是必需的,并且在其他实施例中,执行的算法的迭代次数是预定的或预设的或用户定义的。

图2B表示算法的第二迭代以及算法的任何进一步迭代。通过算法的处理块来反馈先前迭代的相位值213A的分布。拒绝幅度值211A的分布,有利于输入图像210的幅度值的分布。在第一迭代中,数据形成步骤202A通过将输入图像210的幅度值的分布与随机相位分布230相结合来形成第一复数数据集。然而,在第二和后续迭代中,数据形成步骤202B包括通过将(i)来自算法的先前迭代的相位值213A的分布与(ii)输入图像210的幅度值的分布相结合来形成复数数据集。

然后,以参照图2A描述的相同方式处理由图2B的数据形成步骤202B形成的复数数据集,以形成第二迭代全息图280B。因此,此处不再重复对该过程的说明。当已经计算了第二迭代全息图280B时,算法可以停止。然而,可以执行该算法的任何数量的进一步迭代。将理解的是,仅在需要第四处理块259或需要进一步的迭代时才需要第三处理块256。输出全息图280B通常随着每次迭代而变得更好。然而,实际上,通常会达到一个无法观察到可测量的改进的点,或者执行进一步迭代的正面好处被额外的处理时间所带来的负面影响抵消。因此,该算法被描述为迭代和收敛的。

图2C表示第二和后续迭代的替代实施例。通过算法的处理块来反馈先前迭代的相位值213A的分布。拒绝幅度值211A的分布,有利于幅度值的替代分布。在该替代实施例中,幅度值的替代分布是从先前迭代的幅度值211的分布中得出的。具体地,处理块258从先前迭代的幅度值211的分布中减去输入图像210的幅度值的分布,通过增益因子α缩放该差,并从输入图像210中减去经缩放的差。通过以下等式在数学上来表达此,其中下标文本和数字表示迭代次数:

Rn+1[x,y]=F'{exp(iψn[u,v])}

ψn[u,v]=∠F{η·exp(i∠Rn[x,y])}

η=T[x,y]-a(|Rn[x,y]|-T[x,y])

其中:

F'是逆傅立叶变换;

F是正向傅立叶变换;

R[x,y]是第三处理块256输出的复数数据集;

T[x,y]是输入或目标图像;

∠是相位分量;

Ψ是仅相位全息图280B;

η是幅度值211B的新分布;以及

α是增益因子。

增益因子α可以是固定的或可变的。在一些实施例中,基于输入目标图像数据的大小和速率来确定增益因子α。在一些实施例中,增益因子α取决于迭代次数。在一些实施例中,增益因子α仅是迭代次数的函数。

在所有其他方面,图2C的实施例与图2A和图2B的实施例相同。可以说,仅相位全息图Ψ(u,v)包括频域或傅立叶域中的相位分布。

在一些实施例中,使用空间光调制器执行傅立叶变换。具体地,全息图数据与提供光功率的第二数据组合。即,写入空间光调制的数据包括表示物体的全息图数据和表示透镜的透镜数据。当显示在空间光调制器上并用光照射时,透镜数据会模拟物理透镜,即,它以与相应物理光学元件相同的方式将光聚焦。因此,透镜数据提供了光或聚焦功率。在这些实施例中,可以省略图1的物理傅立叶变换透镜120。已知如何计算代表透镜的数据。代表透镜的数据可以称为软件透镜。例如,仅相位透镜可以通过计算由透镜的每个点由于其折射率和空间变化的光路长度而引起的相位延迟来形成。例如,在凸透镜的中心的光路长度大于在透镜的边缘的光路长度。仅振幅透镜可以由菲涅耳波带片形成。在计算机生成的全息术领域中,还已知如何将代表透镜的数据与全息图相结合,从而可以在不需要物理傅立叶透镜的情况下执行全息图的傅立叶变换。在一些实施例中,通过简单的加法比如简单的矢量加法将透镜化数据与全息图组合。在一些实施例中,物理透镜与软件透镜结合使用以执行傅立叶变换。可替代地,在其他实施例中,完全省略傅立叶变换透镜,使得全息重建在远场中发生。在进一步的实施例中,全息图可以以相同的方式与光栅数据组合,即布置成执行光栅函数(比如图像转向)的数据。同样,在本领域中已知如何计算这样的数据。例如,可以通过对由闪耀光栅的表面上的每个点引起的相位延迟进行建模来形成仅相位光栅。仅振幅光栅可以简单地与仅振幅全息图叠加以提供全息重建的角度转向。提供透镜化和/或转向的第二数据可被称为光处理函数或光处理图案,以与可被称为图像形成函数或图像形成图案的全息图数据区分开。

在一些实施例中,傅立叶变换由物理傅立叶变换透镜和软件透镜联合执行。即,由软件透镜提供有助于傅立叶变换的一些光功率,而由一个或多个物理光学器件提供有助于傅立叶变换的其余光功率。

在一些实施例中,提供了一种实时引擎,其布置为使用算法接收图像数据并实时计算全息图。在一些实施例中,图像数据是包括图像帧序列的视频。在其他实施例中,全息图被预先计算,存储在计算机存储器中并且根据需要被调出以显示在SLM上。即,在一些实施例中,提供了预定全息图的储存库。

实施例仅通过示例的方式涉及傅立叶全息术和Gerchberg-Saxton类型算法。本公开同样适用于可通过类似方法计算的菲涅耳全息术和菲涅耳全息图。本公开还适用于通过其他技术比如基于点云方法的技术计算的全息图。

光调制

可以使用空间光调制器来显示包括计算机生成的全息图的衍射图案。如果全息图是仅相位全息图,则需要调制相位的空间光调制器。如果全息图是全复数全息图,则可以使用调制相位和振幅的空间光调制器,或者可以使用调制相位的第一空间光调制器和调制振幅的第二空间光调制器。

在一些实施例中,空间光调制器的光调制元件(即像素)是包含液晶的单元。即,在一些实施例中,空间光调制器是其中光学活性成分是液晶的液晶装置。每个液晶单元配置为选择性地提供多个光调制水平。即,每个液晶单元在任何时候配置为以从多个可能光调制水平中选择的一个光调制水平操作。每个液晶单元可动态地重新配置为与多个光调制水平不同的光调制水平。在一些实施例中,空间光调制器是反射型硅上液晶(LCOS)空间光调制器,但本公开不限于这种类型的空间光调制器。

LCOS装置在小孔径(例如几厘米宽)内提供密集的光调制元件或像素阵列。像素通常约为10微米或更小,这导致几度的衍射角,意味着光学系统可以紧凑。充分照射LCOS SLM的小孔径比其他液晶装置的大孔径要容易得多。LCOS装置通常是反射型的,这意味着驱动LCOS SLM像素的电路可以埋在反射表面下。结果导致更高的孔径比。换句话说,像素紧密堆积,这意味着像素之间几乎没有死角。这是有利的,因为它减少了回放场中的光学噪声。LCOS SLM使用硅底板,其优点是像素在光学上是平坦的。这对于相位调制装置特别重要。

下面仅以举例的方式,参考图3来描述合适的LCOS SLM。使用单晶硅基板302形成LCOS器件。其具有方形的平面铝电极301的2D阵列,其由间隙301a间隔开,布置在基板的上表面上。可以通过掩埋在基板302中的电路302a来对每个电极301进行寻址。每个电极形成各自的平面镜。取向层303设置在电极阵列上,液晶层304设置在取向层303上。第二取向层305设置在例如由玻璃制成的平面透明层306上。例如由ITO制成的单个透明电极307设置在透明层306和第二取向层305之间。

每个方形电极301与透明电极307的覆盖区域和中间液晶材料一起限定可控的相位调制元件308,通常称为像素。考虑到像素301a之间的空间,有效像素面积或填充因子是光学上活性的总像素的百分比。通过控制相对于透明电极307施加到每个电极301的电压,可以改变各个相位调制元件的液晶材料的特性,从而为入射在其上的光提供可变延迟。效果是向波前提供仅相位调制,即不发生振幅效果。

所描述的LCOS SLM以反射方式输出空间调制的光。反射型LCOS SLM具有的优势在于,信号线、光栅线和晶体管位于镜面之下,这导致了高填充因子(通常大于90%)和高分辨率。使用反射型LCOS空间光调制器的另一优势在于,液晶层的厚度可以是使用透射型装置时所需厚度的一半。这大大提高了液晶的切换速度(投影运动视频图像的关键优势)。然而,可以使用透射型LCOS SLM同样地实现本公开的教导。

使用内核进行子采样

图4A、4B示出了使用如图5A和5B所示的“内核”从主图像导出副图像的技术。内核可被视为移动的“采样窗口”或“虚拟孔径”。内核对落在采样窗口内的图像像素组进行操作,以导出代表其的单个输出(子采样)像素值。因此,内核用于对高分辨率主图像(例如源图像或中间图像)的像素进行“欠采样”或“子采样”,以导出一个或多个副图像(即输出图像),从而每个副图像包含的像素少于主图像。

图5A示出了包括4×4内核值(也称为“内核像素”或“权重”)的通用内核,并且图5B示出了包括4×4内核值的示例内核。每个内核值定义在采样窗口内的对应位置处的主图像的像素值的加权因子或权重。如图5A所示,内核值表示为Wx,y,其中x和y是形成内核的4×4阵列内的内核值的相应坐标。在图5B的示例内核中,较高的权重(即内核值=3)被赋予采样窗口中心的像素值,而较低的权重(即内核值=1)被赋予采样窗口的边缘和拐角的像素值。在所示的实施例中,在每个采样位置处,内核通过以下方式进行操作:(i)将落在采样窗口内的主图像的4×4像素阵列的每个像素值乘以其对应内核值或权重,以及(ii)确定加权像素值的归一化的(即未加权的)的平均(例如,通过将加权像素值的总和除以内核值的总和(即总内核权重)而计算的平均平均值,以导出代表主图像的4×4像素阵列的单个输出值。在所示的示例中,总内核权重=24。因此,步骤(ii)可以通过将采样窗口内的像素的加权像素值相加并除以24来执行。

图5B示出了简单的示例内核,其定义了内核权重,使得主图像的4×4像素阵列的内部采样像素(即采样窗口中心的像素)的像素值具有比主图像的外部采样像素的像素值更高的权重。如本领域技术人员将理解,根据应用要求,内核权重值可以有许多变化。另外,可以根据应用要求选择与采样窗口或虚拟孔径相对应的任何内核形状和大小(内核值/权重的排列、纵横比和数量)。例如,可以选择内核权重以获得最佳的反混叠(antialiasing)结果。

根据示例技术,将4×4内核在主图像上增量移动到一系列采样位置(即主图像上方的采样窗口的位置或“采样窗口位置”),以便对主图像的一系列连续(即相邻且不重叠)4×4像素阵列进行子采样。定义多个采样位置,使得主图像的基本所有像素都被子采样,以导出与整个主图像的子采样像素值对应的输出值。在实施例中,采样位置在主图像上沿x和y方向以规则的像素间隔或“步幅”间隔开。可以说内核沿x和y方向以像素间隔或步幅增量地遍历主图像。

图4A和4B中示出了主图像上内核的两个连续采样位置。特别地,在图4A中示出了初始(或第一)采样位置或“开始位置”。采样位置可被定义为与内核的左上角对应的主图像的像素坐标。在图4A所示的示例中,第一采样位置在主图像的像素坐标(0,0)处。根据步幅,内核从左到右在主图像上增量地移动。在示例技术中,步幅在x方向上是4个像素,在y方向上是4个像素,使得在每个采样位置处形成的采样窗口是连续的,并且因此彼此不重叠。因此,第二采样位置在主图像的像素坐标(0,4)处,对应于x方向上4个像素的步幅距离,如图4B所示。如本领域技术人员将理解,后续采样位置将在像素坐标(0,8)、(0,12)等,直到其到达主图像的前4行中的最后一个像素值。当内核在栅格扫描路径中移动时,内核返回到像素坐标(4,0)处的采样位置,该坐标对应于y方向上4个像素的步幅距离。然后内核继续沿x方向上的4个像素和y方向上的4个像素的步幅遍历主图像,以便使用连续的采样窗口对主图像的连续4×4像素阵列进行子采样,直到主图像的所有像素已被子采样。提供在每个采样位置处确定的输出值作为子采样输出图像的像素值。因此,输出的副图像是主图像的欠采样或子采样版本,像素数量减少了。

如本领域技术人员将理解,在以上示例中,由于主图像的16个像素的4×4阵列由副图像的1(一)个像素表示,因此在副图像中主图像的像素数减少为1/16。因此,主图像中的像素数具有比由全息投影仪投影的图像(全息重建)的期望分辨率更高的分辨率。例如,主图像可以具有最小2×期望分辨率,例如4×或8×期望分辨率。以这种方式,即使与高分辨率的主图像相比分辨率降低,从副图像计算出的全息图也以期望的分辨率形成全息重建。在一些实施例中,目标图像被“过采样”或“放大”以形成主图像,以实现图像(全息重建)的期望分辨率。

可以通过改变以下中的一个或多个来改变使用内核对主图像进行子采样以导出图4A和4B所示的副图像的采样方案:系列采样位置;在x和/或y方向上的步幅距离以及内核大小和/或重量。因此,可以从相同的主图像确定多个副图像。对应于多个副图像的全息图可被计算并进而显示在空间光调制器上,作为对应于主图像的图像帧(目标图像)的子帧。

例如,如以上参考图4A和4B所述,图5B中所示的内核可以用于使用具有在x方向上4个像素和在y方向上4个像素的步幅的系列采样位置来导出第一副图像。可以使用相同的内核来使用具有在x和y方向上4个像素的相同步幅但具有不同初始(或第一)采样位置或“开始位置”比如坐标(1,1)的一系列采样位置导出第二副图像。在其他示例中,可以改变在x和/或y方向上的步幅。

在又一些示例中,可以使用图5B中所示的内核来使用具有在x方向上4个像素和在y方向上4个像素的步幅的系列采样位置来导出第一副图像,如上面参考图4A和4B所述。可以使用不同的内核,例如具有不同内核值或权重的4×4内核,来使用相同系列采样位置来导出第二副图像。在其他示例中,可以改变内核的大小以及内核值或权重(例如具有相似或不同权重的5×5内核)。

以上示例采样方案的任何合适组合可以用于从相同的主图像导出多个副图像。如本领域技术人员将理解,从相同的主图像导出的每个副图像的像素总数可以变化。特别地,每个副图像的像素数量对应于在所使用的各个子采样方案中使用的采样位置的数量。因此,具有较少采样位置的方案将导致具有较少像素的副图像。在一些示例中,从相同的主图像确定的每个副图像具有相同数量的像素。

因此,可以通过使用采样方案(包括4×4阵列内核值的内核)对主图像进行子采样来生成表示用于投影的图像的多个副图像。每个副图像包含的像素少于主图像。为多个副图像中的每个确定全息图,并且每个全息图进而显示在显示装置上,以在回放平面上形成与每个副图像相对应的全息重建。在实施例中,与副图像对应的多个全息图中的每个依次在人眼的积分时间内在显示装置上显示,使得其在回放平面上的全息重建看起来像是目标图像的单个高质量重建。

数据流传输

如上所述,为了使用内核对主图像进行子采样,需要存储与主图像的二维阵列像素的对应的像素数据,并且至少在相应的时间点在特定采样位置(例如4×4像素阵列数据)缓冲内核操作所需的主图像的像素数据条目(即像素值)。因此,系统需要大量的数据存储和/或容量以容纳相对高分辨率主图像的像素数据。

因此,本公开提出了一种新颖方案,以通过在一系列采样位置处的内核来实现对主图像的子采样以确定副图像。新颖方案允许减少存储和/或缓冲容量的要求。在一些实施方式中,用于确定与副图像对应的全息图的处理速度增加。

新颖方案基于数据流传输(data streaming)。特别地,该方案涉及形成主图像的像素值的第一数据流和内核的内核值的第二数据流。数据流传输是逐行按顺序(即图像/内核像素的逐个像素)执行的。具体而言,首先流传输主图像的第一行像素的像素值,然后是主图像的第二行像素的像素值,依此类推,直到主图像的最后一行像素的像素值,在此阶段,第一个数据流结束。另外,首先流传输内核的第一行的内核值,然后是内核的第二行的内核值,依此类推,直到内核的最后一行的内核值;然后,通过流传输内核的第一行的内核值,然后是内核的第二行的像素值等,迭代地重复数据流传输序列。第一数据流的像素值的数量对应于第二数据流的内核值的数量。具体地,将第一数据流的每个像素值与第二数据流的对应内核值配对,以使得能够确定对应的加权像素值。这通过使第一数据流中的主图像的像素的像素值与第二数据流中的内核的对应内核值同步来实现。如本领域技术人员将理解,在示出的示例中,由于内核在栅格扫描路径中移动,因此内核从左到右(即在x方向上)遍历主图像。因此,对于主图像的特定行像素,相同行内核值用于加权对应的像素值,并且针对每个采样位置重复该行内核值。通过逐行地依次流传输主图像的像素的像素值以及内核的对应内核值或权重,可以对与一维阵列像素对应的像素值的单个数据流执行处理,而不是现有技术中的二维阵列像素的像素值。图6示意性地示出了形成像素值的第一数据流和被输入到所谓的“基线流传输帧内核”(或简称为“帧内核”)以执行内核操作的内核值或权重的第二数据流的该过程,如下所述。

图11是根据一些实施例的示出用于使用内核对主图像进行子采样的数据流的方法1100的流程图。方法1100接收与主图像相对应的输入图像,包括主图像的像素阵列的像素数据,以进行子采样以确定本文所述的副图像。方法1100还接收如本文所述的包括内核值或权重阵列的内核。在所示的示例中,内核包括内核值的M行和N列的阵列,因此形成了M×N像素阵列的采样窗口。另外,定义了内核的一系列采样位置。在所示的示例中,在x方向上的步幅是N个像素,在y方向上的步幅是M个像素,使得系列采样位置对主图像的M×N个像素的连续阵列进行子采样,如上面在图4A和4B的示例中所述。这具有如下优点:主图像的每个像素值仅被子采样一次,这意味着主图像的像素数据可以按照栅格扫描顺序(rasterscan order)进行流传输,如下所述。如本领域技术人员将理解,可以改变每个x和y方向上的步幅,以便根据应用要求改变一系列采样位置。例如,步幅在x方向上可以是N/2,在y方向上可以是M/2。

图11的方法1100形成像素值的第一数据流和内核值的第二数据流,其中第一和第二数据流同时形成,使得第一数据流中的每个像素值在时间上同步,因此与第二数据流中的对应内核值配对。

根据实施例,该方法响应于接收到主图像和用于使用内核对主图像进行子采样的内核信息而在步骤1105开始。

步骤1106将图像的行计数器设置为0(零),步骤1108将图像的列计数器设置为0(零)。步骤1110读取由图像行和列计数器指示的行和列位置处的主图像的像素值(即坐标(0,0)处的像素值),其对应于初始采样位置。步骤1112将图像列计数器递增1。在步骤1110中读取的像素值在“A”处输出作为第一数据流的第一(下一)像素值。另外,步骤1156将内核的行计数器设置为0(零),步骤1158将内核的列计数器设置为0(零)。步骤1160在由内核行和列计数器指示的行和列位置处读取内核的内核值(即在坐标(0,0)处的内核值),步骤1162将内核列计数器递增1。在步骤1160中读取的内核值在“A”处输出作为第二数据流的第一(下一)内核值。步骤1106、1108和1110与步骤1156、1158和1160同时执行,并且数据值到“A”处的第一和第二数据流的输出被同步。特别地,像素值和对应的内核值同时(即在相同的时钟周期)在“A”处输出。因此,将第一数据流中的像素值和第二数据流中的对应内核值配对以进行内核处理,如下进一步所述。

步骤1120针对当前迭代确定在步骤1110读取的像素值是否是主图像的当前行中的最后像素值。由于该方法接收主图像作为输入,因此就像素的行数和列数而言,图像的大小是已知的。因此,如果在步骤1112在图像列计数器中设置的值大于像素的列数,则在迭代中读取的像素值是图像行中的最后像素,并且应该从下一图像行读取下一像素。如果步骤1120确定在步骤1110读取的像素值不是当前图像行中的最后像素值,则该方法返回到步骤1110,其读取当前行中的下一像素值(即在通过图像行和列计数器指示的行和列位置处)。然后,该方法在循环中继续通过步骤1110、1112和1120,直到步骤1120确定在步骤1110读取的像素值是当前行中的最后像素值。当步骤1120确定像素值是当前行中的最后像素值时,该方法前进到步骤1130。另外,可以在“C”处输出确定的指示(例如“图像行结束”信号)。

步骤1130确定当前图像行是否是主图像的像素的最后一行。特别地,如果在图像行计数器中设置的当前值等于主图像的像素的总行数,则当前图像行是像素的最后一行。如果步骤1130确定当前图像行不是主图像的最后一行像素,则该方法前进到步骤1140,该步骤将图像行计数器递增1。然后,该方法返回到步骤1108,该步骤将图像列计数器(重新)设置为0。然后,该方法通过流传输下一图像行的像素直到该1130确定当前图像行是主图像的像素的最后一行而继续步骤1110至1120。当步骤1130确定当前图像行是主图像的最后像素时,该方法在步骤1195结束。同时,可以在“E”处输出确定的指示(例如“图像结束”信号)。因此,由图11的方法1100形成的第一数据流包括按栅格扫描顺序逐像素和逐行读取的主图像的像素的像素值的流。

步骤1170确定对于当前迭代,在步骤1160读取的内核值是否是内核的当前行中的最后内核值。由于该方法接收内核作为输入,因此就内核值或权重的行M和列N的数量而言,其大小是已知的。因此,如果在步骤1162在内核列计数器中设置的值大于内核值的列N的数量,则先前的内核值是该行中的最后内核值,并且应该从内核的下一行读取下一内核值。如果步骤1170确定在步骤1160读取的内核值不是当前内核行中的最后内核值,则该方法返回到步骤1160,其读取当前行中的下一内核值(即在由内核行和列计数器指示的行和列位置处)。然后该方法在循环中继续通过1160、1162和1170,直到步骤1170确定在步骤1160读取的内核值是当前行中的最后内核值。当步骤1170确定内核值是当前行中的最后内核值时,该方法前进到步骤1180。此外,可以在“B”处输出确定的指示(例如“内核行结束”信号)。

步骤1180对于当前迭代确定在步骤1110读取的像素值是否是主图像的当前行中的最后像素值。步骤1180可以通过确定是否在“C”处从步骤1120输出“图像行结束”信号来执行,或者可以是相对于步骤1120的单独或联合操作。如果步骤1180确定像素值不是主图像的当前行中的最后像素值,该方法返回到步骤1158,该步骤将内核计数器列(重新)设置为0。如本领域技术人员将理解,这对应于通过内核移位x方向上的步幅而移动到下一采样位置,在所示的示例中,步幅等于内核的列数N。然后该方法通过按顺序重复读取当前行中的内核值以继续通过步骤1160至1180,直到步骤1180确定已到达主图像的图像行的末尾(例如通过接收“图像行结束”信号)。当步骤1180确定在步骤1110读取的像素值是主图像的当前行中的最后像素值时,该方法前进到步骤1185。

步骤1185确定当前内核行是否是内核的内核值的最后一行。特别是,如果在内核行计数器中设置的当前值等于内核行数M,则当前行是内核值的最后一行。如果步骤1185确定当前内核行不是内核值的最后一行,则该方法前进到步骤1190,该步骤将内核行计数器递增1。然后,该方法返回到步骤1158,该步骤将内核列计数器(重新)设置为0。然后,该方法通过按顺序重复流传输下一内核行的内核值以继续进行步骤1160至1180,直到1185确定当前内核行是内核值的最后一行。当步骤1185确定当前内核行是内核值的最后一行时,该方法返回到步骤1156,该步骤将内核行计数器(重新)设置为0。本领域技术人员将理解,这对应于通过内核移位y方向上的步幅而移动到下一采样位置,在所示的示例中,步幅等于内核的行数M。同时,可以在“D”处输出确定的指示(例如“内核结束”信号)。因此,由图11的方法1100形成的第二数据流包括在逐行的基础上按顺序读取(并且对于每个采样位置重复)的内核的内核值或权重的流。特别地,提供第二数据流的内核值,使得第二数据流中每个位置/时间点的内核值对应于第一个数据流中的主图像的像素的像素值,并与之配对/同步。

如本领域技术人员将理解,可以对图11的方法进行各种修改,以导出用于主图像的内核子采样的同步的第一和第二数据流。例如,图11的方法按栅格扫描顺序提供了主图像的像素值流,因为示例内核处理在x方向上的步幅与内核中的列数相同(并且在y方向上的步幅与内核中的行数相同),以便对主图像的连续阵列像素进行采样。然而,在其他示例中,x方向上的步幅可以小于或大于内核中的列数,以便分别采样x方向上主图像的重叠或分离阵列像素。因此,在沿x方向的步幅小于内核中的列数的情况下,每个连续的采样窗口将与前一采样窗口重叠一个或多个像素。在这种情况下,可以按照从主图像的每一行读取的像素值的顺序重复重叠的像素值,以形成第一数据流。相反,如果在x方向上的步幅大于内核中的列数,则每个连续的采样窗口将在x方向上与前一采样窗口分隔一个或多个像素。在这种情况下,可以从从主图像的每一行读取的像素值序列中省略采样窗口之间的空间中的像素值,以形成第一数据流。在这些示例中,可能需要类似的修改以修改形成内核值的第二数据流的过程,从而根据像素值在各个移动采样窗口内的位置,将正确的对应内核值与像素值同步。同样,在其他示例中,在y方向上的步幅可以小于或大于内核中的行数,以便分别采样y方向上主图像的重叠或分离阵列像素。在这些示例中,可以在第一数据流中重复或省略主图像的一个或多个像素行的像素值,并且相应地在第二数据流中同步对应的内核值。

内核操作和缓冲

如本文所述,可以通过在一系列采样位置处的内核操作来执行对主图像进行子采样以确定副图像的过程。根据本公开,使用数据流传输来执行基于内核的子采样过程,以便减少存储和/或缓冲容量需求。

图7示出了使用第二数据流的相应内核值或权重对主图像的第一行的像素值的第一数据流执行的内核子采样过程的示例,其中第一和第二数据流是如上所述形成。图7进一步示出了提供给缓冲器的累积值(所谓的“部分像素值”)的输出数据流。图7可以称为第一迭代,因为它使用内核的第一行的对应内核值或权重在主图像的一行像素上执行内核操作。由于主图像的像素值是逐行处理的,因此图像像素的每一行的处理都可以视为迭代。

在图7所示的示例中,内核是4×4阵列内核值,并且内核被迭代地移动到一系列采样位置,以使主图像的连续4×4阵列像素包含在采样窗口内。特别地,在x方向上的步幅为4像素,在y方向上的步幅为4像素。为了便于说明,主图像连续在一行中具有20个像素(即20列像素)。如本领域技术人员将理解,在实践中,主图像的像素数量大得多。

如图7所示,第一数据流90包括分别在数据输入位置19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1和0处的主图像的第一行(行0)的像素的20个像素值T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C,B和A的有序序列。另外,第二数据流92包括20个内核值的有序序列,其中在第二数据流中的每个数据输入位置处的内核值对应于在第一数据流中的相同数据输入位置处的像素值。如本领域技术人员将理解,用于对图像像素的第一行的像素进行采样的内核值对应于内核的内核值的第一行。如在图5A的通用内核中,每个内核值是由符号Wx,y表示的权重,其中(x,y)对应于内核的4×4阵列内核值或权重的坐标。

基本内核处理94接收第一数据流90的每个像素值和第二数据流92的同步的对应权重Wx,y,并确定对应的加权像素值。特别地,加权像素值是像素值和对应权重的乘积。基本内核处理94依次将每个内核采样位置的加权像素值相加在一起,以确定对应(加权)部分像素值。因此,对应于第一采样位置(内核位置0)的第一数据流中的第一行像素的前四个像素值的加权像素值是T*W0,0,S*W1,0,R*W2,0和Q*W3,0。在第一采样位置处的四个加权像素值的总和由值I表示,其被写入输出缓冲器96的第一位置(缓冲器位置0)。如图7所示,随后基本内核处理依次确定第一数据流中第一行像素的每组四个像素值的加权像素值,分别对应于第二至第五采样位置(内核位置1至4)。基本内核处理64还确定表示为II,III,IV和V的四个加权像素值中的每个的总和,分别将其依次写入输出缓冲器的第二至第五位置(缓冲器位置1至4)。在一些实施例中,基本内核处理64可以实现“乘法累积”或MAC过程。对于从第一和第二数据流接收的每对像素和内核值,该处理将像素值和权重一起相乘以确定加权像素值,并且对于相同的内核采样位置,通过将加权的像素值加到先前确定的加权像素值的总和中来累积该加权像素值。因此,基于四个加权像素值(对应于内核的列数且因此“步幅”)的累积总和是对应内核采样位置的部分(子采样和加权)像素值。这些部分像素值存储在输出缓冲器96中并形成第三数据流,其作为反馈提供给内核基本处理94。图8示意性地示出了从处理主图像的第一行像素输出并针对每个采样位置依次存储在输出缓冲区96中的第三数据流98的部分像素值到基本内核处理94的反馈。第三数据流98的反馈与第一和第二数据流90、92同时提供从而使部分像素值与第一数据流90中的主图像的下一行像素的像素值以及第二数据流92中的对应内核值同步。

图9示出了图7的内核子采样过程的示例的第二迭代。在图9中,使用第二数据流的内核的第二行的对应内核值对主图像的第二行的图像像素值的第一数据流执行该过程。图9进一步示出了部分像素值的第三数据流的使用,该部分像素值是在第一迭代中通过对主图像的第一行的像素进行子采样而输出的,并作为来自输出缓冲器的反馈提供。最后,图9示出了按顺序提供给输出缓冲器的更新的部分像素值的输出数据流。

如图9所示,第一数据流90包括分别在数据输入位置19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1和0处的主图像的第二行(行1)的像素的20个像素值T,Σ,Ρ,Θ,Π,Ο,N,M,Λ,K,θ,Ι,Η,Γ,Φ,E,Δ,X,B和A的有序序列。另外,第二数据流92包括20个内核值的有序序列,其中第二数据流中每个数据输入位置处的内核值对应于第一数据流中相同数据输入位置处的像素值。如本领域技术人员将理解,内核值对应于内核的下一(第二)行。

基本内核处理94接收第一数据流90的主图像的第二像素行的每个像素值和第二数据流92的同步的对应权重Wx,y,并确定对应加权像素值。基本内核处理94将每个内核采样位置的加权像素值相加在一起,以进而确定对应(加权)部分像素值。因此,对应于第一采样位置(内核位置0)的第一数据流中第二行像素的前四个像素值的加权像素值是T*W0,1,Σ*W1,1,Ρ*W2,1和Θ*W3,1。将第一采样位置处的四个加权像素值的总和加到与相同采样位置处的加权像素值的累积总和对应的第三数据流98的第一部分像素值中。加权像素值的更新的累积总和由值N表示,该值N写入输出缓冲器96的第一位置(缓冲器位置0)。如图9所示,随后,基本内核处理以同样方式依次确定第二至第五采样位置(内核位置1至4)中的每个的加权像素值的累积总和,其分别依次作为部分像素值P,Q,R,Z写入第二至第五位置(缓冲器位置1至4)。

如本领域技术人员将理解,使用来自内核的对应行直到最后内核行的内核值,对于主图像的每个后续图像行,使用第一数据流的像素值而迭代地重复图9所示的基本内核处理94。一旦已经针对采样位置处理了与最后内核行的内核值对应的像素值,则已经采样了采样窗口内的所有像素值,并且输出到缓冲器96的累积值表示全部(加权总和)像素值。因此,当基本内核处理94确定它正在使用最后内核行进行子采样时,累积(加权)像素值的输出如以下参考图10所述进行修改。

图10示意性地示出了副图像的全部或完整的累积像素值的输出。该处理可以在使用最后内核行的内核值的每次迭代之后和/或在最终迭代之后发生。特别地,一旦对内核采样位置处的采样窗口中的像素的所有像素值都进行了子采样,就确定全部累积(加权)像素值。特别地,当使用第二数据流92中的内核的内核值的最后一行处理第一数据流中的图像行的像素值时,基本内核处理94输出全部累积像素值。如前,累积(加权)像素值被顺序地提供给输出缓冲器96以形成第三数据流98。然而,代替将累积像素值作为反馈提供给基本内核处理94,第三数据流98被馈送到可选除法单元126。可选除法单元(division unit)126可以通过将第三数据流98的每个累积(加权)像素值除以总内核权重来确定用于副图像的最终子采样像素值,以确定如上所述的归一化像素值。来自除法单元的输出流122可被流传输到副图像的数据存储,和/或可被实时发送到全息图引擎以进行全息图计算。另外,代替将第三数据流98反馈到基本内核处理94,可以将包括与用于对图像行进行子采样的内核位置的数量相同数量的空数据值序列(即零(0)的序列)的反向数据流124提供给基本内核处理94。反向数据流124被同时提供第一和第二数据流90、92,以使各个数据流中对应位置处的值同步。尽管未在图7中示出,但可以将类似的后向数据流124提供给基本内核处理94,以用于处理与第一图像行对应的像素值。

图12是根据一些实施例的流程图,示出了基于数据流传输的内核操作和缓冲的方法1200,用于对主图像进行子采样。如上所述,方法1200分别接收像素值和内核值的同步的第一和第二数据流,并且将部分(或全部)像素值的第三数据流输出到输出缓冲器以进行反馈(或输出)。如上所述,可以结合图11的数据流传输的方法1100来实现方法1200。特别地,图12的方法1200的某些步骤可以从图11的方法1100的步骤接收输出信号。因此,如在图11的方法中,内核包括内核值的M行和N列的阵列,因此形成主图像的M×N像素阵列的采样窗口。另外,定义内核的一系列采样位置,其中在x方向上的步幅为N个像素,在y方向上的步幅为M个像素,以便对主图像的连续阵列M×N像素进行子采样。

图12的方法使用内核对主图像的连续阵列M×N像素进行子采样,以生成分辨率降低的副图像的像素值。特别地,针对包含在由内核在采样位置处定义的采样窗口内的主图像的每个阵列M×N像素,确定副图像的单个像素值。

响应于接收到第一和第二数据流的第一值或指示数据流传输处理开始的相关触发,该方法在步骤1205开始。在一些实施例中,步骤1205可以另外接收关于主图像的信息,特别是图像像素的行和列的数量和/或关于内核的信息,特别是提供内核值的行和列的数量,以便跟踪像素和内核值以及内核采样位置,如下所述。

步骤1210将输出缓冲器的当前存储位置设置为第一内核采样位置。可以说,输出缓冲器中的第一存储位置与内核的第一采样位置相匹配。如本领域技术人员将理解,当内核在主图像上(例如在包括沿x和y方向的步幅的栅格扫描路径中)移动时,可以根据采样位置的有序序列,以递增一的数字顺序(例如从内核位置0到内核位置X)定义内核的采样位置。如本领域技术人员将理解,在所示的实施例中,输出缓冲器中的每个存储位置专用于接收与对应采样位置有关的输出(部分)像素值。

步骤1220接收同步的第一和第二数据流的第一对值。例如,可以从在图11的方法1100的“A”处的输出来接收第一和第二数据流。因此,步骤1220从第一数据流接收主图像的第一像素值和从第二数据流接收内核的对应第一内核值或权重。如上所述,像素和内核值的相应对可以通过时钟计数器来同步。

步骤1222通过将像素值和在步骤1220中接收到的内核值相乘来确定对应加权像素值。然后,步骤1224确定在步骤1222中确定的加权像素值是否对应于当前内核采样位置处的图像行的最后像素值。特别地,步骤1224可以确定第一和第二数据流的处理的值对是否对应于内核行(或最后内核列)的末尾。在所示的示例中,如果步骤1224从图11的方法1100中的“B”接收到“内核行结束”信号,则步骤1224确定在步骤1222确定的加权像素值对应于当前内核采样位置的最后一对值。在其他示例中,可以使用内核列计数器(例如在步骤1220之前设置为零),在这种情况下,步骤1224可以直接将内核列计数器的值与内核列的数量进行比较。如本领域技术人员将理解,在示出的示例中,当内核对当前采样位置的最后像素值进行操作时,内核列计数器为N。如果步骤1224确定在1222中确定的加权像素值不是当前采样位置的最后像素值,则该方法返回到步骤1220,其接收第一和第二数据流的下一对像素和内核值。在使用列内核计数器的示例中,在步骤1220读取下一对值之前,内核计数器递增1。然后,该方法在包括步骤1220至1224的循环中继续进行,直到步骤1224确定先前确定的加权像素值对应于当前采样位置的最后一对像素内核值,并且该方法前进到步骤1230。

步骤1230确定当前内核位置的加权像素值的总和。在一些实施例中,对于给定的内核采样位置,通过加法器将由步骤1224的连续迭代顺序确定的N个加权像素值中的每个发送到寄存器(或其他临时数据存储)。加法器将接收到的加权像素值与寄存器中的当前值相加,并将结果返回到寄存器中,从而更新其中保存的值。因此,在这些实施例中,将针对特定内核采样位置确定的N个加权像素值实时地相加在一起,并且步骤1230确定加权像素值的总和作为存储在寄存器中的最终值。在其他实施例中,可以将特定内核采样位置的每个加权像素值存储在寄存器(或其他临时数据存储)中,并在步骤1230中相加在一起。

步骤1232还将在步骤1230中确定的当前内核位置的加权像素值总和与从输出缓冲器接收的作为反馈的第三数据流的累积(部分像素)值相加。在所示的示例中,可以从“F”接收累积/部分像素值的第三数据流,如下所述。如上所述,当处理与内核的第一行中的内核值对应的行中的像素值时,可以提供空的部分像素值的流作为反馈。因此,在步骤1232中确定的值对应于当前内核位置的更新的累加(部分像素)值。

步骤1240将在步骤1222中确定的更新的累加(部分像素)值存储在输出缓冲器的当前存储位置中。然后该方法继续到步骤1250。

步骤1250确定在先前步骤1220中接收的第一数据流的像素值是否对应于主图像的图像行中的最后像素的像素值。在所示的示例中,如果步骤1250从图11的方法1100的“C”接收到“图像行结束”,则步骤1250确定在先前步骤1220中接收到的像素值是主图像的图像行中的最后像素,因此在该图像行的末尾。在其他示例中,方法1200可以接收关于主图像的像素列的数量的信息,并且包括图像列计数器(未示出)以跟踪在步骤1220接收的第一数据流的像素值,以便识别图像行的末尾。如果步骤1250确定在先前步骤1220接收的像素值不对应于图像行中的最后像素,则该方法前进到步骤1252,该步骤将输出缓冲器的存储位置递增1,并将新的存储位置设置为下一内核采样位置,例如通过将内核采样位置递增1(参见步骤1210)。然后,该方法返回到步骤1220,该步骤接收第一和第二数据流的下一对像素和内核值。再次,在使用内核列计数器的示例中,在步骤1220接收下一对值之前,将内核列计数器重新设置为0。然后,该方法在包括步骤1220至1252的内部循环中继续进行,直到步骤1250确定在先前步骤1220中接收到的像素值在图像行的末尾。当步骤1250确定最后接收到的像素值在图像行的末尾时,该方法前进到步骤1260。

步骤1260确定在先前步骤1220中接收到的像素值的图像行是否对应于主图像的最后图像行,并且因此是否是第一数据流中的主图像的最后像素的像素值。在所示的示例中,如果步骤1260从图11的方法1100的“E”接收到“图像结束”信号,则步骤1260确定在先前步骤1220中接收的像素值是第一数据流的最后像素的像素值。

如果步骤1260确定在先前步骤1220中接收到的像素值不是第一数据流中的最后像素的像素值,则主图像的子采样未完成,并且该方法前进到步骤1270。另一方面,如果步骤1260确定在先前步骤1220中接收到的像素值是第一数据流中的最后像素的像素值,则完成主图像的子采样,并且该方法前进到步骤1280,该步骤从输出缓冲器输出第三数据流的最后一行累积值作为(子采样的)副图像的全部(或完整)像素值。该方法然后在步骤1285处结束。

返回到步骤1270,方法1200确定在步骤1220接收的第二数据流的内核值或权重是否来自内核的最后一行(即内核的最后内核值),这意味着在当前采样位置处的内核采样完成。在所示的示例中,如果步骤1270从图11的方法1100的“D”接收到“内核结束”信号,则步骤1270确定在先前步骤1220中接收到的内核值是内核的最后内核值。在其他示例中,使用内核行计数器来跟踪内核行,并且步骤1270可以直接将内核行计数器中的当前值与内核行数M进行比较,并确定在先前步骤1220中接收到的内核值是匹配的内核的最后内核值。如果步骤1270确定在先前步骤1220中接收到的内核值不是内核的最后内核值,则该方法继续到步骤1272,该步骤将存储在输出缓冲器中的累积值的当前行提供为部分像素值的第三数据流作为“F”处的反馈,其又在步骤1232被接收,如上所述。然后,该方法返回到步骤1220,该步骤接收第一和第二数据流的下一对像素和内核值。再次,在使用内核列计数器的示例中,在步骤1220接收到下一对值之前,将内核列计数器重新设置为0。然后,该方法在包括步骤1220至1272的外循环中继续,该外循环继续对与先前外循环相同的一组采样位置(即采样位置的行)进行内核子采样,直到步骤1270确定在先前步骤1220中接收到的内核值是内核的最后内核值,并且该方法前进至步骤1274。

当步骤1270确定在先前步骤1220中接收到的内核值是内核的最后内核值时,产生两个结果。首先,内核的采样窗口将移动沿y方向的步幅距离到下一采样位置(即下一行采样位置),并沿x方向移动到下一图像行的起始(因为以栅格扫描顺序从主图像读取第一数据流中的像素值)。其次,内核操作已处理了在一行采样位置的每个采样位置处包含在内核中的N个像素值的子采样,因此输出到输出缓冲器的每个对应存储位置的累加值是副图像的全部(或完整)像素值。

因此,步骤1274将存储在输出缓冲器中的累加值作为包括副图像的全部(或完整)像素值的第三数据流输出到例如图10所示的除法器120。这可以用于清除输出缓冲器的存储位置。方法1200然后返回到步骤1210,其将输出缓冲器中的当前存储位置设置为下一内核采样位置。因此,输出缓冲器中的当前第一存储位置与内核的下一行采样位置中的第一采样位置匹配。然后,方法1200继续直到步骤1260确定已处理最后图像行,在步骤1280中输出了(子采样)副图像的最后一行全部(完整)像素值,并且该方法在步骤1285结束。

如本领域技术人员将理解,图11和12所示的流程图仅是示例性的。当实施本公开时,许多变型或修改是可能的并且被预期的。例如,可以以与流程图中所描绘的顺序不同的顺序来执行这些步骤。

隔行扫描

如上所述,可以通过使用内核对主图像(源图像或中间图像)进行子采样(欠采样)来生成多个副图像。每个副图像包含的像素少于主图像。为多个副图像中的每个确定全息图,并且每个全息图依次显示在显示装置上,以在回放平面上形成与每个副图像相对应的全息重建。

因此,本文公开了用于对与主图像对应的多个全息重建进行隔行扫描的技术,可选地,同时通过对源图像(即中间图像)的变形版本进行子采样来补偿变形。

在一些实施例中,借助于根据本公开的数据流传输方法来提高全息图计算和隔行扫描的速度。特别地,可以在确定副图像的所有像素值之前,将副图像的全部或完整像素值实时地流传输到全息图引擎,以开始全息图计算。例如,在步骤1280输出第二图像的最后一行的全部或完整像素值之前,可以将在图12的方法1200的步骤1274输出的副图像的每一行的全部或完整像素值实时流传输至全息图引擎以开始全息图计算。

因此,本文公开了一种通过使用具有m行和n列内核值的内核对主图像进行欠采样来生成副图像的方法,其中内核对于主图像的每一行具有多个内核采样位置,行的每个内核采样位置以x像素的步幅距离分隔,该方法包括:形成像素值的第一数据流,其中通过逐行读取主图像的图像像素值形成该第一数据流;形成内核值的第二数据流,以及将第一数据流的像素值与第二数据流的内核值同步,以使每个像素值与内核的用于相应内核采样位置的相应内核值配对。

在一些实施例中,提供了一种包括全息投影仪和光中继系统的显示装置,比如平视显示器。光学中继系统布置为形成每个全息图重建的虚拟图像。在一些实施例中,目标图像包括在目标图像的第一区域中的近场图像内容和在目标图像的第二区域中的远场图像内容。全息重建的近场内容的虚拟图像形成为距观看平面(例如眼框)的第一虚拟图像距离,并且全息重建的远场内容的虚拟图像形成为距观看平面的第二虚拟图像距离,其中第二虚拟图像距离大于第一虚拟图像距离。在一些实施例中,多个全息图中的一个全息图对应于将在近场中向用户显示的目标图像的图像内容(例如速度信息),并且多个全息图中的另一个全息图对应于将被投影到远场中的目标图像的图像内容(例如地标指示器或导航指示器)。远场的图像内容的刷新频率可能比近场的图像内容更高,反之亦然。

系统示意图

图13是示出根据实施例的全息系统的示意图。空间光调制器(SLM)940布置为显示从控制器930接收的全息图。在操作中,光源910照射在SLM940上显示的全息图,并且在回放平面925上的回放场中形成全息重建。控制器930从图像源920接收一个或多个图像。例如,图像源920可以是图像捕捉设备,比如布置为捕捉单个静止图像的静止相机或布置为捕捉运动图像的视频序列的摄像机。

控制器930包括图像处理引擎950、全息图引擎960、数据帧生成器980和显示引擎990。图像处理引擎950从图像源920接收目标图像。图像处理引擎950包括数据流引擎952,其布置为接收目标图像和内核,并形成像素值和内核值或权重的相应同步数据流,如本文所述。图像处理引擎950包括副图像生成器955,其布置为使用来自数据流引擎950的同步数据流基于目标图像从主图像生成多个副图像,如本文所述。图像处理引擎950可以接收控制信号或以其他方式确定用于生成由数据流引擎952使用的副图像的内核方案。因此,每个副图像包括比主图像更少的像素。图像处理引擎950可以使用源图像作为主图像来生成多个副图像。源图像可以是目标图像的放大版本,或者图像处理引擎可以执行如本文所述的放大。可替代地,图像处理引擎950可以处理源图像以确定中间图像,并且将中间图像用作主图像。如本文所述,图像处理引擎950可以通过对主图像进行欠采样来生成多个副图像。图像处理引擎950可以确定第一副图像和第二副图像。图像处理引擎950将多个副图像传递到全息图引擎960。在一些实施方式中,图像处理引擎950可以实时地将副图像的像素值流传输到全息图引擎960,如本文所述。

如本文所述,全息图引擎960布置为确定与每个副图像对应的全息图。全息图引擎960将多个全息图传递到数据帧生成器980。数据帧生成器980布置为生成包括多个全息图的数据帧(例如HDMI帧),如本文所述。具体地,数据帧生成器980产生数据帧,该数据帧包括用于多个全息图的每个的全息图数据,以及指示每个全息图的开始的指针。数据帧生成器980将数据帧传递到显示引擎990。数据帧生成器980和显示引擎990又可以通过数据流传输操作。显示引擎990布置为又在SLM940上显示多个全息图的每个。显示引擎990包括全息图提取器992、平铺引擎970和软件光学器件994。显示引擎990使用全息图提取器992从数据帧提取每个全息图,并且根据由平铺引擎970生成的平铺方案来对全息图进行平铺,如本文所述。特别地,平铺引擎970可以接收控制信号以确定平铺方案,或者可以另外基于全息图确定用于平铺的平铺方案。显示引擎990可以可选地使用软件光学器件994添加相位斜坡函数(软件光栅函数也称为软件镜头),以在回放平面上平移回放场的位置,如本文所述。因此,对于每个全息图,显示引擎990布置为向SLM940输出驱动信号以依次显示多个全息图中的每个全息图,如本文所述。

控制器930可以动态地控制副图像生成器955如何生成副图像。控制器930可以动态地控制全息图的刷新率。刷新率可被认为是全息图引擎从图像处理引擎950从图像源920接收的序列中的下一目标图像重新计算全息图的频率。如本文所述,可以基于控制信号指示的外部因素确定动态可控的特征和参数。控制器930可以接收与这样的外部因素有关的控制信号,或者可以包括用于确定这样的外部因素并相应地产生这样的控制信号的模块。

如本领域技术人员将理解,控制器930的上述特征可以以软件、固件或硬件及其任意组合来实现。

因此,提供了一种图像处理引擎,其布置为通过使用具有m行和n列内核值的内核对主图像进行欠采样来生成副图像,其中内核对于主图像的每一行具有多个内核采样位置,行的每个内核采样位置以x像素的步幅距离分隔,其中图像处理引擎包括数据流引擎,该数据流引擎配置为:形成像素值的第一数据流,其中通过逐行读取主图像的图像像素值形成该第一数据流;形成内核值的第二数据流,以及将第一数据流的像素值与第二数据流的内核值同步,以使每个像素值与内核的用于相应内核采样位置的相应内核值配对。

附加特征

实施例仅通过示例的方式涉及电激活的LCOS空间光调制器。本公开的教导可以等同地在能够显示根据本公开的计算机生成的全息图的任何空间光调制器上实现,例如任何电激活的SLM、光学激活的SLM、数字微镜设备或微机电设备。

在一些实施例中,光源是诸如激光二极管的激光器。在一些实施例中,检测器是光电检测器,比如光电二极管。在一些实施例中,光接收表面是漫射表面或屏幕,例如漫射器。本公开的全息投影系统可以用于提供改进的平视显示器(HUD)或头戴式显示器。在一些实施例中,提供了一种车辆,其包括安装在车辆中以提供HUD的全息投影系统。车辆可以是机动车辆,比如汽车、卡车、厢式货车、运货卡车、摩托车、火车、飞机、船或轮船。

示例描述了用可见光照射SLM,但本领域技术人员将理解,例如,如本文所公开,光源和SLM可以等同地用于引导红外或紫外光。例如,技术人员将意识到用于将红外和紫外光转换为可见光以向用户提供信息的技术。例如,本公开扩展到为此目的使用磷光体和/或量子点技术。数据流传输技术适用于所有此类应用。

一些实施例仅通过示例的方式描述了2D全息重建。在其他实施例中,全息重建是3D全息重建。即,在一些实施例中,每个计算机生成的全息图形成3D全息重建。

本文描述的数据流传输的方法和过程可以以硬件实现,以优化处理速度。然而,技术人员将理解,数据流传输技术的某些方面也可以在软件中实现。因此,各方面可以体现在计算机可读介质上。术语“计算机可读介质”包括布置为临时或永久地存储数据的介质,比如随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存和高速缓冲存储器。术语“计算机可读介质”也应被认为包括能够存储用于由机器执行的指令的任何介质或多种介质的组合,使得当指令被一个或多个处理器执行时使该机器整体地或部分地执行本文所述的任何一种或多种方法。

术语“计算机可读介质”还涵盖基于云的存储系统。术语“计算机可读介质”包括但不限于以固态存储芯片、光盘、磁盘或其任何合适的组合的示例形式的一个或多个有形和非暂时性数据存储库(例如数据卷)。在一些示例实施例中,用于执行的指令可以由载体介质传递。这样的载体介质的示例包括瞬态介质(例如传递指令的传播信号)。

对于本领域技术人员将显而易见的是,在不脱离所附权利要求的范围的情况下,可以进行各种修改和变型。本公开涵盖所附权利要求及其等同物的范围内的所有修改和变型。

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种头戴式可调节角度的显示设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类