CN112802421B - 显示设备和系统 - Google Patents

显示设备和系统 Download PDF

Info

Publication number
CN112802421B
CN112802421B CN202011270336.1A CN202011270336A CN112802421B CN 112802421 B CN112802421 B CN 112802421B CN 202011270336 A CN202011270336 A CN 202011270336A CN 112802421 B CN112802421 B CN 112802421B
Authority
CN
China
Prior art keywords
value
data
register unit
data register
values
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.)
Active
Application number
CN202011270336.1A
Other languages
English (en)
Other versions
CN112802421A (zh
Inventor
M.科林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dualitas Ltd
Original Assignee
Daqri Holographics Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Daqri Holographics Ltd filed Critical Daqri Holographics Ltd
Publication of CN112802421A publication Critical patent/CN112802421A/zh
Application granted granted Critical
Publication of CN112802421B publication Critical patent/CN112802421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/09Beam shaping, e.g. changing the cross-sectional area, not otherwise provided for
    • G02B27/0938Using specific optical elements
    • G02B27/095Refractive optical elements
    • G02B27/0955Lenses
    • G02B27/0961Lens arrays
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/14Details
    • G03B21/20Lamp housings
    • G03B21/206Control of light source other than position or intensity
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/02Details of features involved during the holographic process; Replication of holograms without interference recording
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • G03H1/0808Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/22Processes or apparatus for obtaining an optical image from holograms
    • G03H1/2294Addressing the hologram to an active spatial light modulator
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/02Details of features involved during the holographic process; Replication of holograms without interference recording
    • G03H2001/0208Individual components other than the hologram
    • G03H2001/0224Active addressable light modulator, i.e. Spatial Light Modulator [SLM]
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • G03H1/0808Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
    • G03H2001/0816Iterative algorithms
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • G03H1/0808Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
    • G03H2001/0825Numerical processing in hologram space, e.g. combination of the CGH [computer generated hologram] with a numerical optical element
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H2226/00Electro-optic or electronic components relating to digital holography
    • G03H2226/02Computing or processing means, e.g. digital signal processor [DSP]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • Discrete Mathematics (AREA)
  • Holo Graphy (AREA)

Abstract

一种逻辑电路,包括逻辑子电路,其布置为输出菲涅耳透镜的菲涅耳透镜值F(x)流S1,以在像素化显示设备的[m×n]个像素上显示。其步骤包括设置第一数据寄存器单元中的初始数据值和第二数据寄存器单元中的初始数据值;在迭代中分别读取第一数据寄存器单元中和第二数据寄存器单元中的数据值,将从第一数据寄存器单元读取的数据值与从第二数据寄存器单元读取的数据值求和,以形成x2来计算F(x)作为F(x)值流中的下一个值。将x2写入第一数据寄存器单元,将2k2加到存储在第二数据寄存器单元中的值,执行进一步迭代。

Description

显示设备和系统
技术领域
本公开涉及一种投影仪。更具体地,本公开涉及全息投影仪、全息投影方法以及全息投影系统。一些实施例涉及平视显示器和头戴式显示器。一些实施例涉及用于提供菲涅耳透镜值流以在显示设备的像素上显示的电路以及相应的方法。
背景技术
从物体散射的光包含振幅和相位信息。可以通过众所周知的干涉技术在例如感光板上捕获该振幅和相位信息,以形成包括干涉条纹的全息记录或“全息图”。可以通过用合适的光照射来重建全息图,以形成代表原始物体的二维或三维全息重建或回放图像。
计算机生成的全息术可以在数值上模拟干涉过程。可以通过基于数学变换比如菲涅耳或傅立叶变换的技术来计算计算机生成的全息图。这些类型的全息图可被称为菲涅耳/傅立叶变换全息图或简称为菲涅耳/傅立叶全息图。傅立叶全息图可被认为是物体的傅立叶域/平面表示或物体的频域/平面表示。例如,还可以通过相干射线追踪或点云技术来计算计算机生成的全息图。
可以在布置为调制入射光的振幅和/或相位的空间光调制器上对计算机生成的全息图进行编码。例如,可以使用电可寻址液晶、光学可寻址液晶或微镜来实现光调制。
空间光调制器通常包括多个单独可寻址像素,其也可以称为单元或元素。光调制方案可以是二进制、多级或连续的。可替代地,设备可以是连续的(即不包括像素),因此光调制可以在整个设备上是连续的。空间光调制器可以是反射性的,这意味着调制光以反射输出。空间光调制器可以同样是透射性的,这意味着调制光以透射输出。
可以使用本文描述的系统来提供全息投影仪。例如,这种投影仪已经应用于平视显示器“HUD”和头戴式显示器“HMD”,其包括近眼设备。
在诸如全息投影仪之类的使用相干光的设备中,可以使用移动漫射器来提高图像质量。
发明内容
本公开的各方面在所附的独立权利要求中定义。
本文公开了一种包括逻辑子电路的逻辑电路所述逻辑子电路布置为输出菲涅耳透镜的菲涅耳透镜值F(x)流S1,以在像素化显示设备的[m×n]个像素上显示。在第一步骤,所述逻辑电路布置为将存储在逻辑子电路的第一数据寄存器单元中的初始数据值设置为(a-k)2,并将存储在逻辑子电路的第二数据寄存器单元中的初始数据值设置为a2-(a-k)2。在第二步骤,所述逻辑电路布置为在第一次迭代中,读取存储在第一数据寄存器单元中的初始数据值和存储在第二数据寄存器单元中的初始数据值,或者在进一步迭代中,读取在先前迭代中存储在第一数据寄存器单元中的数据值和在先前迭代中存储在第二数据寄存器单元中的数据值。在第三步骤,所述逻辑电路布置为将从第一数据寄存器单元读取的数据值与从第二数据寄存器单元读取的数据值求和,以形成x2。在第四步骤,所述逻辑电路布置为基于x2来计算F(x)。在第五步骤,所述逻辑电路布置为输出F(x)作为F(x)值流中的下一个值。在第六步骤,所述逻辑电路布置为将x2写入第一数据寄存器单元。在第七步骤,所述逻辑电路布置为将2k2加到存储在第二数据寄存器单元中的值。在第八步骤,所述逻辑电路布置为执行进一步迭代,其包括针对x=a+k,a+2k,a+3k…a+(n-1)k重复第二至第七步骤,其中a是x的起始值,k是x的增量且F(a)是流S1的第一值。
对高级集成电路比如现场可编程门阵列的进行优化,以执行复杂的逻辑函数和组合函数,但这些电路的逻辑块可以造成对于诸如乘法之类的简单数学函数的工作繁重。即,简单的乘法可能非常需要资源。本公开提供了一种逻辑电路,特别适于在现场可编程门阵列或类似的可编程或定制逻辑设备中实施,其减少了用于为显示设备提供显示值流的每个值的乘法次数,其中显示值包括使用整数平方(即整数乘以自身)确定的菲涅耳透镜函数的值。根据本发明的逻辑电路使用与现有技术电路相比更少的乘法来计算菲涅耳透镜值,其固有地需要对整数值进行平方。特别地,本文公开的逻辑电路使用整数和加法函数的等差数列(优先于乘法函数)以便流送平方数。显然,逻辑电路提供菲涅耳透镜值的连续数据流。全息投影仪可以包括根据本公开的多个逻辑电路。例如,每个菲涅耳透镜值包括独立计算的x分量和y分量。可能需要菲涅耳透镜用于多个不同的颜色通道,例如红色、绿色和蓝色。动态平铺(tiling)方案可以用于显示包括全息图的光调制图案,并且每种平铺方案可能需要不同的菲涅耳透镜函数。本公开的每个单独逻辑子电路将每个菲涅耳透镜值的乘法函数的数量减少两个。特别是在针对每个显示事件使用可更换菲涅耳透镜的实时全息投影系统中,处理方面的节省尤为可观。
逻辑电路可以包括个数为k的多个逻辑子电路。每个逻辑子电路包括相应的第一和第二数据寄存器。多个逻辑子电路并联布置。每个逻辑子电路布置成通过使用a的相应值来输出菲涅尔透镜值F(x)的流S1至Sk,其中流S1,S2…Sk分别对应于a=x1,x1+1,x1+2…x1+(k-1)。
因此,每个逻辑子电路独立地计算x分量菲涅耳透镜值F(x)的子集。特别地,每个逻辑子电路接收具有共同增量k但具有不同起始值a的整数值的等差数列。因此,每个逻辑子电路输出对应于菲涅耳透镜值F(x)的子集的菲涅耳透镜值F(x)的对应流。由k个逻辑子电路输出的菲涅耳透镜值F(x)的子集包括x分量菲涅耳透镜值F(x)的完整集合。
第一逻辑子电路可以布置为使用以下方程,基于x2来计算F(x):
其中,fx是菲涅耳透镜在x方向上的焦距,λ是光的波长,px是像素化显示设备在x方向上的像素尺寸。
菲涅耳透镜位于像素化显示设备的中心。x,y像素坐标系(0,0)的原点定义在菲涅耳透镜的中心,因此也在显示设备的中心。像素化显示设备包括[m×n]个像素。在一些实施例中,显示设备的第一列像素对应于x=-n/2,显示设备的最后一列像素对应于x=+(n/2-1)。在其他实施例中,显示设备的第一列像素对应于x=(1-n/2),显示设备的最后一列像素对应于x=n/2。在一些实施例中,第一行像素对应于y=-m/2,最后一行像素对应于y=(m/2-1)。在其他实施例中,第一行像素对应于y=(1-m/2),最后一行像素对应于y=m/2。从F(x)的方程可以看出,通过对x坐标x求平方并乘以等于的常数来计算菲涅耳透镜的x分量。
逻辑电路可以进一步布置成输出菲涅耳透镜的菲涅耳透镜值F(y)流。逻辑电路布置为针对y=b,b+1,b+2,…(b+m-1)执行第九至第十五步骤。在第九步骤,如果y=b,则逻辑电路布置成将存储在第一另外数据寄存器单元中的数据值设置为(b-1)2,并将存储在第二另外数据寄存器单元中的数据值设置为b2-(b-1)2。在第十步骤,逻辑电路布置成读取存储在逻辑电路的第一另外数据寄存器单元中的数据值和存储在逻辑电路的第二另外数据寄存器单元中的数据值。在第十一步骤,将从第一另外数据寄存器单元读取的数据值与从第二另外数据寄存器单元读取的数据值求和,以形成y2。在第十二步骤,逻辑电路布置成基于y2来计算(y)。在第十三步骤,逻辑电路布置成输出F(y)作为F(y)值流中的下一个值。在第十四步骤,逻辑电路布置成将y2写入第一另外数据寄存器单元。在第十五步骤,逻辑电路布置成将二加到存储在第二另外数据寄存器单元中的值,其中,b是y的起始值且F(b)是菲涅尔透镜值F(y)流的第一值。
逻辑电路可以布置成使得第十三步骤输出值F(y)作为菲涅耳透镜值F(y)流中的接下来的n个值。因此,对于y=b,b+1,b+2,…(b+m-1),菲涅耳透镜值F(y)流包括每个计算的菲涅耳透镜值F(y)的n个连续值的序列。
逻辑电路可以布置为使用以下方程,基于y2来计算(y):
其中,fy是菲涅耳透镜在y方向上的焦距,λ是光的波长,py是像素化显示设备在y方向上的像素尺寸。
从F(y)的方程可以看出,通过对y坐标y进行平方并乘以等于的常数来计算菲涅耳透镜的y分量。
F(x)值流和F(y)值流可被同步。这使得同时输出的F(x)和F(y)值对应于像素化显示设备的相同像素。将理解,每个像素具有x,y像素坐标系的唯一x,y值。可以说,x分量值F(x)的第一流和y分量值F(y)的第二流是同步的。
逻辑电路布置为将每个F(x)值与对应的F(y)值求和,以便形成菲涅耳透镜值F(x,y)流。即,通过将第一数据流的每个输出与第二数据流的对应输出求和而形成菲涅耳透镜值的第三数据流。应该理解,逻辑电路有效地输出成对的对于的F(x)和F(y)值,然后由下一个处理块对其求和。
本文公开了一种包括逻辑电路的逻辑设备(例如现场可编程门阵列“FPGA”)。根据本公开的逻辑电路特别适于在FPGA中实现。根据本公开的逻辑电路还可以在另一类型可编程逻辑器件“PLD”中或在专用集成电路“ASIC”或类似的定制布局逻辑器件中实现。
本文进一步公开了一种全息投影仪,其包括逻辑设备(例如FPGA)、像素化显示设备和光源。像素化显示设备例如空间光调制器比如硅基液晶空间光调制器布置为根据菲涅耳透镜值流显示包括菲涅耳透镜图案的光调制图案。光源布置成用具有波长λ的光照射菲涅耳透镜图案。
逻辑设备(例如FPGA)可以进一步布置为将菲涅耳透镜值流的菲涅耳透镜值与全息像素值流的全息像素值相加,以形成显示值的数据流。根据由现场可编程门阵列提供给像素化显示设备的显示值流来形成光调制图案。
本文还进一步公开了一种包括全息投影仪的平视显示器。
如上所述,本文还公开了一种流送菲涅耳透镜值以在像素化显示设备的[m×n]个像素上显示的方法。
本文公开了一种流送平方数的有序序列的方法。该方法包括接收数字x序列,其中接收的数字序列是具有公差为k的数字等差数列。该方法输出对应序列平方数x2。即,每个输出数字是对应输入数字的平方。该方法包括接收有序序列数字,其中该序列的起始值为a。该方法包括以下步骤:(a)将存储在第一寄存器单元中的初始数据值设置为(a-k)2,并将存储在第二数据寄存器单元中的初始数据值设置为a2-(a-k)2;(b)在第一次迭代中,读取存储在第一数据寄存器单元中的初始数据值和存储在第二数据寄存器单元中的初始数据值,或者在进一步迭代中,读取在先前迭代中存储在第一数据寄存器单元中的数据值和读取在先前迭代中存储在第二数据寄存器单元中的数据值;(c)将从第一数据寄存器单元读取的数据值与从第二数据寄存器单元读取的数据值求和,以形成x2;(d)基于x2来计算(x);(e)输出x2作为平方数的流中的下一个平方数;(f)将x2写入第一数据寄存器单元;(g)将2k2加到存储在第二数据寄存器单元中的值;以及(h)针对x=a+k,a+2k,a+3k…a+(n-1)k迭代地重复步骤(b)至(g)。
术语“全息图”用于指代包含关于物体的振幅信息或相位信息或其某种组合的记录。术语“全息重建”用于指代通过照射全息图而形成的物体的光学重建。本文中公开的系统被描述为“全息投影仪”,因为全息重建是真实图像并且与全息图在空间上分离。术语“回放场”用于指代在其内形成全息重建并完全聚焦的2D区域。如果将全息图显示在包括像素的空间光调制器上,则回放场将以多个衍射级的形式重复,其中每个衍射级是零级回放场的副本。零级回放场通常对应于优选或主要回放场,因为它是最亮的回放场。除非另有明确说明,否则术语“回放场”应被认为是指零级回放场。术语“回放平面”用于指代包含所有回放场的空间中的平面。术语“图像”、“回放图像”和“图像区域”指的是通过全息重建的光照射的回放场的区域。在一些实施例中,“图像”可包括离散光斑,其可被称为“图像光斑”,或仅出于方便起见,被称为“图像像素”。
术语“编码”、“写入”或“寻址”用于描述向SLM的多个像素提供分别确定每个像素的调制水平的相应多个控制值的过程。可以说,SLM的像素配置为响应于接收到多个控制值而“显示”光调制分布。因此,可以说SLM“显示”全息图,并且全息图可被认为是光调制值或水平的阵列。
已经发现,可以从仅包含与原始物体的傅立叶变换有关的相位信息的“全息图”形成质量可接受的全息重建。这样的全息记录可被称为纯相位全息图。实施例涉及纯相位全息图,但本公开同样适用于纯振幅全息图。
本公开也同样适用于使用与原始物体的傅立叶变换有关的振幅和相位信息来形成全息重建。在一些实施例中,这是通过使用包含与原始物体有关的振幅和相位信息的所谓全复数全息图的复数调制来实现的。因为分配给全息图的每个像素的值(灰度级)具有振幅和相位分量,所以这种全息图可被称为全复数全息图。分配给每个像素的值(灰度级)可以表示为具有振幅和相位分量的复数。在一些实施例中,计算全复数计算机生成的全息图。
可以参考计算机生成的全息图或空间光调制器的像素的相位值、相位分量、相位信息或者简单地说是相位,作为“相位延迟”的简写。即,所描述的任何相位值实际上是代表该像素提供的相位延迟量的数字(例如在0至2π范围内)。例如,空间光调制器的描述为具有π/2相位值的像素将使接收光的相位延迟π/2弧度。在一些实施例中,空间光调制器的每个像素可在多个可能的调制值(例如相位延迟值)之一中操作。术语“灰度级”可以用来指多个可用的调制水平。例如,术语“灰度级”可以为了方便而用于指代纯相位调制器中的多个可用相位水平,即使不同的相位水平没有提供不同的灰度阴影。为了方便起见,术语“灰度级”也可以用来指复数调制器中的多个可用复数调制水平。
因此,全息图包括灰度级阵列,即光调制值阵列,比如相位延迟值或复数调制值阵列。全息图也被认为是衍射图案,因为它是当在空间光调制器上显示并且用波长相对于(通常小于)空间光调制器的像素间距的光照射时引起衍射的图案。本文中参考将全息图与其他衍射图案(比如用作透镜或光栅的衍射图案)组合。例如,可以将用作光栅的衍射图案与全息图组合以在回放平面上平移回放场,或者可以将用作透镜的衍射图案与全息图组合以将全息重建聚焦在近场中的回放平面上。
尽管可以在下面的详细描述中分别公开不同的实施例,但任何实施例的任何特征可以与任何实施例的任何其他特征或特征组合相结合。即,可以设想本公开中公开的特征的所有可能的组合和置换。
附图说明
仅参考以下附图以示例的方式描述特定实施例:
图1是示出在屏幕上产生全息重建的反射型SLM的示意图;
图2A示出了示例Gerchberg-Saxton类型算法的第一次迭代;
图2B示出了示例Gerchberg-Saxton类型算法的第二次及后续迭代;
图2C示出了示例Gerchberg-Saxton类型算法的替代第二次及后续迭代;
图3是反射型LCOS SLM的示意图;
图4示出了用于提供菲涅耳透镜值F(x,y)流以在像素化显示设备的像素上显示的常规逻辑电路;
图5示出了用于提供整数平方值流的逻辑电路;
图6示出了根据实施例的用于提供整数平方值流的逻辑电路;
图7示出了根据实施例的用于提供菲涅耳透镜值F(x,y)流以在像素化显示设备的像素上显示的逻辑电路;
图8示出了具有[n×n]个像素的示例显示设备的坐标系;
图9A示出了写入图8的显示设备的像素的x分量菲涅耳透镜值F(x),而图9B示出了菲涅耳透镜值F(x)的相应数据流;
图10A示出了写入图8的显示设备的像素的y分量菲涅耳透镜值F(y),而图10B示出了菲涅耳透镜值F(y)的相应数据流;
图11A示出了基于图9A和10A的相应x和y分量菲涅耳透镜值而写入到图8的显示设备的像素的组合x分量和y分量菲涅耳透镜值F(x,y),图11B示出了菲涅耳透镜值F(x,y)的相应数据流,而图11C示出了描绘由菲涅耳透镜值F(x,y)表示的菲涅耳透镜表面的曲线图;
图12A示出了根据另外实施例的多线程逻辑电路的多个线程的整数值输入流,而图12B示出了该多线程逻辑电路的多个线程的整数平方值的相应输出流。
在整个附图中将使用相同的附图标记指代相同或相似的部件。
具体实施方式
本发明不限于以下描述的实施例,而是扩展到所附权利要求的全部范围。即,本发明可以以不同的形式实施,并且不应被解释为限于所描述的实施例,实施例出于说明的目的而阐述。
除非另有说明,否则单数形式的术语可以包括复数形式。
被描述为形成在另一结构的上部/下部或者在另一结构之上/之下的结构应被解释为包括结构彼此接触的情况以及在其之间设置有第三结构的情况。
在描述时间关系时,例如当事件的时间顺序描述为“之后”、“随后”、“下一个”、“之前”等时,本公开应被认为包括连续和非连续事件,除非另有规定。例如,描述应被认为包括除非使用诸如“仅”、“紧邻”或“直接”之类的措词否则不连续的情况。
尽管本文可以使用术语“第一”、“第二”等来描述各种元件,但这些元件不受这些术语的限制。这些术语仅用于区分各个元件。例如,在不脱离所附权利要求的范围的情况下,第一元件可被称为第二元件,类似地,第二元件可被称为第一元件。
不同实施例的特征可以部分或整体地彼此耦合或组合,并且可以彼此不同地互操作。一些实施例可以彼此独立地执行,或者可以以相互依存的关系一起执行。
光学配置
图1示出了其中计算机生成的全息图被编码在单个空间光调制器上的实施例。计算机生成的全息图是用于重建的物体的傅立叶变换。因此可以说全息图是物体的傅立叶域或频域或谱域表示。在该实施例中,空间光调制器是反射型硅基液晶“LCOS”器件。全息图在空间光调制器上编码,并且在例如光接收表面(比如屏幕或漫射器)的回放场处形成全息重建。
设置光源110(例如激光或激光二极管),以经由准直透镜111照射SLM140。准直透镜使光的大致平面波前入射在SLM上。在图1中,波前的方向是偏离法线的(例如,与真正垂直于透明层的平面相距两或三度)。然而,在其他实施例中,大致平面波前以法向入射提供,并且分束器布置用于分离输入和输出光路。在图1所示的实施例中,布置使得来自光源的光从SLM的镜面后表面反射并与光调制层相互作用以形成出射波前112。出射波前112被施加到包括傅立叶变换透镜120的光学器件,其焦点位于屏幕125上。更具体地,傅立叶变换透镜120接收来自SLM 140的调制光束,并执行频率-空间变换以在屏幕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算法的算法来计算的,比如在英国专利2,498,170或2,501,112中描述的,其全部内容通过引用结合于此。然而,本文公开的实施例仅通过示例的方式描述计算纯相位全息图。在这些实施例中,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]-α(|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微米或更小,这导致几度的衍射角,意味着光学系统可以紧凑的。充分照射LCOSSLM的小孔径比其他液晶装置的大孔径要容易得多。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同样地实现本公开的教导。
软件菲涅耳透镜计算
如上所述,可以将代表透镜的透镜数据写入SLM的像素,其中透镜数据模拟物理透镜—即,它以与相应物理光学元件相同的方式将光聚焦。计算代表基本上中心位于像素化SLM的中心或周围的菲涅耳透镜的透镜数据。透镜数据与全息数据组合在一起并写入SLM的像素。使用与x和y方向上的坐标对应的整数平方值的相应流来计算代表菲涅耳透镜的数据。x分量菲涅耳透镜值F(x)与整数平方值x2成比例,其中对于基本在菲涅耳透镜中心(即在原点或坐标(0,0)处)的菲涅耳透镜值而言整数x为零,并针对x方向F(x)上的每个连续坐标值增加/减少一。类似地,y分量菲涅耳透镜值F(y)与整数平方值y2成比例,其中对于基本在菲涅耳透镜中心(即在原点或坐标(0,0)处)的菲涅尔透镜值而言整数y为零,并针对y方向F(y)上的每个连续坐标值增加/减少一。计算在像素阵列的坐标(x,y)处写入像素值P(x,y)的菲涅耳透镜值F(x,y)作为x分量菲涅耳透镜值F(x)与y分量菲涅耳透镜值F(y)之和。因此,以下描述涉及基于整数平方值x2计算的“x坐标菲涅耳透镜值”F(x)和基于整数平方值y2计算的“y坐标菲涅耳透镜值”F(y)。
使用以下方程(1)来确定X坐标菲涅耳透镜值F(x):
其中,fx是菲涅耳透镜在x方向上的焦距,λ是光的波长,px是像素化显示设备在x方向上的像素尺寸且x是x坐标的整数值。
使用以下方程(2)来确定Y坐标菲涅耳透镜值F(y):
其中,fy是菲涅耳透镜在y方向上的焦距,λ是光的波长,py是像素化显示设备在y方向上的像素尺寸且y是y坐标的整数值。
因此,将x坐标菲涅耳透镜值F(x)确定为整数平方值x2与参数的乘积,该参数对于给定的菲涅尔透镜、显示设备和波长通道是恒定的。类似地,将y坐标菲涅耳透镜值F(y)确定为整数平方值y2与参数/>的乘积,该参数对于给定的菲涅耳透镜、显示设备和波长通道是恒定的。
使用整数平方值的相应数据流来计算x和y坐标菲涅耳透镜值F(x),F(y)。将组合的菲涅耳透镜值F(x,y)确定为对应的x和y坐标的菲涅耳透镜值F(x),F(y)之和。透镜数据作为菲涅耳透镜值F(x,y)的数据流写入SLM的像素阵列,如下进一步所述。实际上,透镜数据是由逻辑电路流水线计算的。
由流水线中的逻辑电路生成整数平方值的数据流是复杂的任务。特别地,整数平方函数对于每个x和y坐标需要两个浮点乘法器(即总共四个乘法器)。图4示出了用于计算菲涅耳透镜值的常规逻辑电路400的流水线的示例。逻辑电路400包括x坐标流水线,其包括x坐标生成器402以及第一和第二浮点乘法器404、406。逻辑电路400还包括y坐标流水线,其包括y坐标生成器412以及第三和第四浮点乘法器414、416。参数寄存器410将参数提供给x坐标流水线,并将参数/>提供给y坐标流水线,以将相应整数平方值x2和y2相乘,以使用上面的方程(1)和(2)确定相应的x和y坐标菲涅耳透镜值F(x),F(y)。
在x坐标流水线(即x坐标逻辑子电路)中,x坐标生成器402生成整数值x的数据流。特别地,x坐标生成器402输出数字序列,其中,所接收的数字序列是公差为一的数字的等差数列。在实施例中,对于包括[m×n]个像素的显示器,整数序列包括x=-n/2,-n/2+1,-n/2+2,…n/2-1。因此,在x方向上的n个像素的中心或附近(即在对应于菲涅耳透镜的中心的原点或坐标(0,0)处)整数x为零。
第一浮点乘法器404从x坐标生成器402接收整数值x的数据流并将每个整数值x与其自身相乘以生成整数平方值x2的数据流。第二浮点乘法器406从第一浮点乘法器404接收整数平方值x2的数据流并将每个整数平方值x2乘以从参数寄存器410接收的参数以产生x坐标菲涅耳透镜值F(x)流。
类似地,在y坐标流水线(即y坐标逻辑子电路)中,y坐标生成器412生成整数值y的数据流。特别地,y坐标生成器412输出数字序列,其中,所接收的数字序列是公差为一的数字的等差数列。在实施例中,对于包括[m×n]个像素的显示器,整数序列包括y=-m/2,-m/2+1,-m/2+2,…m/2-1。因此,在y方向上的m个像素的中心或附近(即在原点或坐标(0,0)处)整数y为零。
第三浮点乘法器414从y坐标生成器412接收整数值y的数据流并将每个整数值y与其自身相乘以生成整数平方值y2的数据流。第四浮点乘法器416从第三浮点乘法器414接收整数平方值y2的数据流并将每个整数平方值y2乘以从参数寄存器410接收的参数以产生y坐标菲涅耳透镜值F(y)流。
在逻辑电路400的流水线的最后阶段,加法器420从x坐标流水线的第二浮点乘法器406接收x坐标菲涅耳透镜值F(x)的数据流并且从y坐标流水线的第四浮点乘法器416接收y坐标菲涅耳透镜值F(y)的数据流,并相加相应的值以生成菲涅耳透镜值F(x,y)的输出数据流450,用于写入相应坐标(x,y)处的像素P(x,y)。菲涅耳透镜值F(x,y)的输出流以栅格扫描顺序写入阵列的像素。
如本领域技术人员将理解,透镜函数计算所需的处理流水线包括分别计算x和y方向上的坐标的整数平方值。因此,需要两个单独的逻辑级来计算整数平方值。在具有多个波长通道(例如红色、绿色和蓝色通道)以实现全彩色显示的实施方式中,每个波长通道都需要两个逻辑级,因此需要六个逻辑级来计算整数平方值。与其他逻辑过程相比,整数平方值的数据流的计算既复杂又费时。因此,希望将处理流水线用于计算透镜数据的复杂度和时间减少到适当的整数平方计算级。
发明人已经认识到无需乘法就可以计算整数平方值。
图5示出了用于基于等式i2=(i-1)2+(i-1)+i生成整数平方值i2的流的逻辑电路级500的示例。例如,电路级500可以用于生成图4的x坐标流水线的整数平方值x2。电路级500包括第一(+1)加法器530、第一和第二寄存器510、520以及第二加法器540。第一寄存器510存储先前输入值(例如i–1),第二寄存器520存储从第二加法器540输出的先前整数平方(例如(i-1)2)。第一(+1)加法器530在第一输入504处从第一寄存器510接收与先前输入值(例如i–1)相对应的输入信号,并且加一(+1)以生成当前输入值(例如i)。第一(+1)加法器530可以在第二输入502处接收复位信号,并且第一和第二寄存器510、520也可以在相应的输入(未示出)处接收相应的复位信号,在此不进行描述。第二加法器540在第三输入506处从第一加法器530接收当前输入值(例如i),在第四输入507处从第一寄存器510接收先前输入值(例如i–1),并且在第五输入508处从第二寄存器520接收先前整数平方值(例如(i-1)2)。第二加法器540对在其三个输入506、507和508处接收的值求和,以根据等式i2=(i-1)2+(i-1)+i生成当前输入的整数平方值(例如i2)。
发明人进一步认识到,给定在包括整数值的等差数列的序列中的有序输入整数流,其中连续整数值之间的差或增量为一,比如{0,1,2,3,4,5…},可以更简单地计算相应的有序整数平方值{0,1,4,9,16,25…}流。这是可能的,因为序列中的整数平方值遵循模式。特别地,对于序列中的连续整数平方值,序列中的一个整数平方值与先前整数平方值之间的差值始终增加二(+2)。如下表所示,对于正整数和负整数都是如此:
整数值X 整数平方值X2 整数平方差值(X2–(X-1)2)
-5 25 (25-36)=-11
-4 16 (16-25)=-9
-3 9 (9-16)=-7
-2 4 (4-9)=-5
-1 1 (1-4)=-3
0 0 (0-1)=-1
1 1 (1-0)=1
2 4 (4-1)=3
3 9 (9-4)=5
4 16 (16-9)=7
表1
图6示出了根据实施例的用于生成整数平方值(例如x2)流的电路级600的示例。特别地,电路级600使用以下步骤计算当前整数平方值((X+1)2):(a)先前整数平方(X2)—在此称为值“A”,以及(b)二加上整数平方之间的先前差((X2–(X-1)2)之和—在此称为值“B”。由于把二加到先前差值,新值B为用于当前计算的“整数平方差值”(为简便起见,这里称为“差值”)。在操作过程中,当前计算的结果作为当前整数平方值输出。此外,当前计算的结果被反馈并存储在第一寄存器单元中以在下一计算中用作先前整数平方值(值A)。另外,把二(2)加到当前计算中使用的差值,结果存储在第二寄存器单元中作为新值B以在下一计算中使用。在流中的第一整数平方值的计算(或“迭代”)中,将用于计算的值A和B输入到电路级(即分别输入第一寄存器单元和第二寄存器单元),而不是作为先前计算(或“迭代”)的反馈来接收。A和B的这种初始或起始值的输入可以与复位信号相关,如在下面描述的图6的示例电路级600中。
电路级600包括第一和第二输入寄存器602、612、第一和第二多路复用器604、614、第一加法器620、第二(+2)加法器617以及第一和第二数据寄存器606、616。在该示例中,第一输入寄存器602、第一多路复用器604和第一数据寄存器606形成用于为下一计算提供值A的第一寄存器单元。类似地,第二输入寄存器612、第二多路复用器614和第二数据寄存器616形成用于为下一计算提供值B的第二寄存器单元。
从下面的描述中,本领域技术人员将理解,用于计算x坐标菲涅耳透镜值的x方向上的整数平方值流对于像素阵列中的每一行是相同的。因此,在每行的开始使用复位信号,以重新开始在x方向上生成整数平方值的序列。用于计算y坐标菲涅尔透镜值的y方向上的整数平方值流对于像素阵列中的每一列是相同的。这意味着将使用y方向上相同整数平方值来计算同一行中的每个y坐标菲涅尔透镜值。如下所述,这可以使用各种技术来实现。
以下示例示出了电路级600的操作,以生成用于计算与一行中的n个像素相对应的n个x坐标菲涅耳透镜值F(x)的沿x方向的n个整数平方值x2流。在示例中,一行中的n个像素的坐标从-n/2到n/2-1编号。
在存在复位信号的情况下,第一多路复用器604选择并输出来自第一输入寄存器602的在第一(“1”)输入接收的值A,第二多路复用器614选择并输出来自第二输入寄存器612的在其第一(“1”)输入接收的值B。输入寄存器602在整数值上为序列提供初始整数平方值A,输入寄存器612为序列提供初始差值B。预先确定来自输入寄存器602和612的初始值A和B以计算序列的第一整数平方值。特别地,由于一行中的第一x坐标值是-n/2(在此也称为“x的起始值”),所以从第一输入寄存器602接收的初始整数平方值A是(-n/2-1)2,并且因为(-n/2-1)对应于用于起始值-n/2的x的先前值,所以从第二输入寄存器612接收的初始差值B是(-n/2)2-(-n/2-1)2。例如,在表1中,x方向上有10个像素,编号为-5到4,因此起始整数平方值A为(-6)2(即36),起始差值B为(-5)2–(-6)2(即-11)。在没有复位信号的情况下,第一多路复用器604选择并输出来自第一数据寄存器606的在其第二(“0”)输入接收的值A,并且第二多路复用器614选择并输出来自第二数据寄存器616的在其第二(“0”)输入接收的值B。第一和第二数据寄存器606、616基于来自如下所述的先前(即紧前)计算的反馈而存储上述A和B的相应值。
第一加法器620分别在其第一和第二输入608、618处从第一和第二多路复用器604、614接收输出值A和B。第一加法器620将值A和B相加并输出当前整数平方值650。当前整数平方值650也被反馈并存储在第一数据寄存器606中。因此,存储在第一寄存器606中的值对应于用于下一计算的先前整数平方值A,其在没有复位信号的情况下由第一多路复用器604选择并输出。另外,第二多路复用器614的输出值B被反馈到第二(+2)加法器617。第二加法器617将二(+2)加到接收值B以产生新差值B,其存储在第二数据寄存器616中。因此,存储在第二寄存器616中的值B对应于用于下一计算的差值,其在没有复位信号的情况下由第二多路复用器614选择和输出。
表2示出了说明图6的电路级600的操作的示例,电路级600包括与表1中示出的示例相对应的第一和第二数据寄存器606、616。该示例示出了从-5到4的10个整数x的有序序列、分别存储在第一和第二寄存器606、616中的上述值A和B以及由第一加法器620执行以生成相应的整数平方值x2流相应的加法A+B。
X -5 -4 -3 -2 -1 0 1 2 3 4
A 36 25 16 9 4 1 0 1 4 9
B -11 -9 -7 -5 -3 -1 1 3 5 7
A+B 25 16 9 4 1 0 1 4 9 16
表2
从表2可以看出,计算A+B确定正负整数值的整数平方值X2。如本领域技术人员将理解,表2仅示出了对于n=10且x为-5至4的特定示例坐标系的整数平方值的序列的计算,适于计算如本文所述的x坐标菲涅耳透镜值。本公开可能并且预期了许多其他示例。
在操作中,电路级600迭代生成x坐标整数平方值x2的序列,以计算[m×n]个像素阵列的每一行的x坐标菲涅耳透镜值F(x)。由于通常将包括菲涅耳透镜值的像素值以栅格扫描顺序(即逐行)流送至空间光调制器的像素阵列,因此在每一行的开始施加复位信号。x坐标菲涅耳透镜值F(x)流在下面描述的图9A和9B中示出。
电路级600还可以用于生成y坐标整数平方值y2的序列,以计算[m×n]个像素阵列的y坐标菲涅耳透镜值F(y)。如上所述,由于菲涅耳透镜值被逐行地流送到像素阵列,因此相同的y坐标整数平方值y2用于计算一行中每个像素的y坐标菲涅耳透镜值F(y)。因此,在实施例中,电路级600可以在开始下一迭代之前n次输出由第一加法器620计算的每个y坐标整数平方值y2,以计算下一整数平方值(y+1)2。在其他实施例中,由第一加法器620输出的每个整数平方值y2可被提供给对整数平方值y2进行缓存的缓冲器(未示出)。然后可以n次读出存储在缓冲器中的整数平方值y2,以计算y坐标傅立叶透镜值F(y)流。在其他实施例中,可以在计算y坐标傅立叶透镜值F(y)之后提供缓冲器。y坐标傅立叶透镜值F(y)流在下面描述的图10A和10B中示出。技术人员将理解,可以使用任何合适的电路布置来修改电路级600,以便输出包括通过第一加法器620计算的每个y坐标整数平方值y2的n个连续实例或复制的整数平方值y2流。技术人员还将理解,与x坐标菲涅耳透镜值F(x)的相应计算相比,y坐标菲涅耳透镜值F(y)的计算涉及电路级600的更少迭代。
因此,电路级600以简单、较不复杂以及更高效的逻辑过程响应于输入序列而生成整数平方值的输出序列,该输入序列包括可以包括负整数、零和正整数的具有公差为一的整数的等差数列,从而避免需要使用浮点乘法器的乘法函数。
图6的电路级600仅示出用于提供用于下一计算的值A的第一寄存器单元和用于提供用于下一计算的值B的第二寄存器单元的一个示例。如本领域技术人员将理解,在其他示例中,可以省略第一和第二输入寄存器602、612以及第一和第二多路复用器604、614。特别地,第一寄存器单元可以仅包括第一数据寄存器606,第二寄存器单元可以仅包括第二数据寄存器616。在这种情况下,复位时,可以将A和B的初始值分别直接写入第一和第二数据寄存器606、616。
图7示出了根据实施例的用于提供菲涅耳透镜值F(x,y)流以在像素化显示设备的像素上显示的逻辑电路700。逻辑电路700类似于图4的常规逻辑电路400,但具有图6的电路级600的实施方式,用于生成用于x和y方向的整数平方值x2和y2的相应流。
特别地,逻辑电路700包括x坐标流水线,其包括用于生成与在x方向上的像素的x坐标相对应的整数平方值x2流的第一整数平方电路级702和第一浮点乘法器706。逻辑电路700还包括y坐标流水线,其包括用于生成与在y方向上的像素的y坐标相对应的整数平方值y2流的第二整数平方电路级712和第二浮点乘法器716。
参数寄存器710向第一浮点乘法器706提供参数并且向第二浮点乘法器提供参数/>第一浮点乘法器706将从第一整数平方电路级702接收的整数平方值x2与从参数寄存器710接收的参数相乘,并根据以上方程(1)输出x坐标菲涅耳透镜值F(x)的对应流。类似地,第二浮点乘法器716将从第二整数平方电路级712接收到的整数平方值y2与从参数寄存器710接收的参数相乘,并根据使用以上方程(2)输出y坐标菲涅耳透镜值F(y)的对应流。
在逻辑电路700的流水线的最后级,加法器720从x坐标流水线的第一浮点乘法器706接收x坐标菲涅耳透镜值F(x)的数据流并且从y坐标流水线的第二浮点乘法器716接收y坐标菲涅耳透镜值F(y)的数据流。使x坐标流水线和y坐标流水线同步,从而将相应的x和y坐标菲涅耳透镜值基本同时输出到加法器720。加法器720将各个值相加,以产生组合的菲涅耳透镜值F(x,y)的输出数据流750,以与全息像素值组合并写入对应坐标(x,y)处的像素P(x,y),如上所述。
因此,图7的逻辑电路700仅包括两个浮点乘法器716、716,从而与图4的常规逻辑电路400相比,将所需的浮点乘法器总数减少二。
图7的逻辑电路700可以在包括逻辑电路的可编程逻辑设备“PLD”例如现场可编程门阵列“FPGA”中实现。特别地,形成图7的逻辑电路700的逻辑级和逻辑部件特别适于在使用常规FPGA设计编程的FPGA中实现。FPGA可以进一步包括用于将全息图数据加到透镜数据以形成显示值的数据流的逻辑电路。然后,FPGA可以将显示值的数据流写入SLM的像素以对其显示。如本领域技术人员将理解,逻辑电路700也可以在专用集成电路“ASIC”或其他定制逻辑设备中实现。特别地,逻辑电路的逻辑级和部件也可以容易地在标准ASIC设备或结构化ASIC设备中实现。
编写显示设备的像素阵列的菲涅耳透镜值
如本文所述,菲涅耳透镜值F(x,y)的数据流被写为透镜数据,以在像素化显示设备(例如SLM)的[mxn]个像素上显示,如本文所述。定义[mxn]像素阵列的像素P(x,y)的坐标系,其使菲涅耳透镜中心居中于像素阵列的中心附近。特别地,在实施例中,用与x方向上的像素坐标相对应的从-n/2到n/2-1的坐标来对[mxn]像素阵列中的像素列进行编号,并且用与y方向上的像素坐标相对应的从-m/2到(m/2-1)的坐标来对像素行进行编号。将与菲涅耳透镜的中心相对应的菲涅耳透镜值F(0,0)(即基于x和y方向上的整数/整数平方值0)写入在原点或坐标(0,0)处的像素P(0,0)。
图8示出了包括10×10个像素的阵列的像素化显示设备的像素P(x,y)的该坐标系的示例。对x方向上的坐标从-5到4(如上面的表1和2)进行编号,对y方向上的坐标从-5到4进行编号。因此,对应于坐标系的原点的坐标(0,0)位于10×10像素阵列的中心周围,如图8所示。
在实施例中,像素阵列的像素的x坐标值用作输入到图7的实施例的逻辑电路700的整数值x流,以便导出x坐标菲涅耳透镜值F(x)的对应流。图9A示出了可以写入图8的10×10像素阵列的x坐标菲涅耳透镜值F(x),假设参数为一(1)。这对应于由图6的实施例的电路级600生成和输出的整数平方值x2流(对于x=-5到4),其中在每行的开始处复位。图9B示出了相应的数据流,其以栅格扫描顺序(即逐行)输出。从包括重复m次的n个x坐标整数平方值x2(对于x=-5到4)的有序序列计算出x坐标菲涅尔透镜值F(x)流。如本领域技术人员将理解,图9A和9B仅是示例性的,因为仅示出了x坐标菲涅耳透镜值F(x)。
类似地,在实施例中,像素阵列的像素的y坐标值用作输入到根据实施例的图7的逻辑电路700的整数值y流,以便导出y坐标菲涅耳透镜值F(y)的对应流。图10A示出了可以写入图8的10×10像素阵列的y坐标菲涅耳透镜值F(y),假设参数为一(1)。这对应于由图6的实施例的电路级600生成和输出的整数平方值y2流(对于y=-5到4)。如图10A所示,y坐标菲涅耳透镜值F(y)在一行中的每个像素中相同(即从相同的整数平方值计算)。图10B示出了相应的数据流,其以栅格扫描顺序输出。因此,y坐标菲涅耳透镜值F(y)流包括具有m个y坐标整数平方值y2中的每个的n个连续实例或重复。如本领域技术人员将理解,图10A和10B仅是示例性的,因为仅示出了y坐标菲涅耳透镜值F(y)。
实际上,提供菲涅耳透镜值F(x,y)流用于写入像素以提供软件透镜函数,其中每个菲涅尔透镜值是从每个x坐标菲涅尔透镜值F(x)与相应的y坐标菲涅耳透镜值F(y)的和中得出的。图11A示出可以通过对图9A和9B的流中的每个x坐标菲涅耳透镜值F(x)和图10A和10B的流中的每个对应的y坐标菲涅耳透镜值F(y)求和来写入图8的10×10像素阵列的菲涅尔透镜值F(x,y)。如本领域技术人员将理解,图11A和11B示出了代表居中于图8的10×10像素阵列的坐标(0,0)处的菲涅耳透镜的透镜数据的归一化值。这在图11C中进一步示出,其是写入如图11A中的像素阵列的菲涅耳透镜值F(x,y)的曲线图,示出了居中于像素坐标(0,0)处的菲涅耳透镜的表面轮廓。
如技术人员将理解,实际上,将包括菲涅耳透镜值F(x,y)的透镜数据与全息图数据组合,如上所述。因此,在坐标(x,y)处写入SLM像素阵列的每个像素P(x,y)的显示值包括如本文所述的菲涅耳透镜值F(x,y)与对应的全息像素值之和。
多线程整数平方计算
在以上实施例中,从生成x坐标菲涅耳透镜值F(x)的单个流的单个x坐标流水线和生成y坐标菲涅耳透镜值F(y)的单个流的单个y坐标流水线来计算SLM像素阵列的像素P(x,y)的菲涅耳透镜值F(x,y)。然而,实际上,像素阵列具有非常大量的像素P(x,y)。结果,针对SLM像素阵列的x坐标整数平方值x2的单个流和x坐标菲涅耳透镜值F(x)的对应单个流的计算对于视频速率流送而言可能不够快。如本领域技术人员将理解,当计算y坐标菲涅耳透镜值F(y)时,该问题不太重要,因为每个计算值在输出流中重复n次,从而允许更多时间来计算下一个值。因此,在替代实施例中,x坐标整数平方值x2的计算是由并行运行的多个逻辑子电路执行的,因此是在多个线程k中执行的,其中k>1,以便更快地生成x坐标菲涅耳透镜值F(x)。
特别地,x坐标菲涅耳透镜值F(x)的数据流由同时运行(例如并行布置)的k个逻辑子电路生成。k个逻辑子电路中的每个产生对应的数据流Sk,其包括完整数据流的x坐标菲涅尔透镜值F(x)的子集。x坐标菲涅耳透镜值F(x)的k个数据流Sk可被组合以形成x坐标菲涅耳透镜值F(x)的单个流S。
图12A和12B示出了x坐标整数平方值x2的多线程计算的示例,用于计算相应的x坐标菲涅尔透镜值F(x),以为[m×n]像素阵列提供x坐标菲涅尔透镜值的完整数据流。示出的示例具有多个k线程,用于生成整数平方值x2的相应多个k数据流。在所示的示例中,k=8。另外,对于所示的示例,在x方向上的像素数n是48,由此像素坐标x从-24到23编号。k个处理线程中的每个由根据本公开的对应逻辑子电路比如图6的电路级600执行。然而,与图6的实施例相反,逻辑子电路针对包括具有共同差或增量为k(即8)的整数的等差数列的x坐标整数的输入序列生成x坐标整数平方值x2。因此,整数平方差值为(X2–(X-k)2)。此外,不是将二加到来自先前计算的存储在数据寄存器616中的差值,而是加法器617加了2k2(即128)。
k个线程中的每个逻辑子电路或线程接收包括[m×n]像素阵列的x坐标整数值的不同子集的x坐标整数值的输入序列。第一线程接收包括具有起始值a对应于第一像素x1的x坐标(即-24)且整数k之间的增量的x坐标整数的等差数列的输入序列。图12A所示的k个线程中的每个连续线程将一(1)加到紧前线程的起始整数值a。因此,在图12A所示的示例中,第一线程(输入线程1)处理整数{-24,-16,-8,0,8,16}的子集,第二线程处理整数{-23,-15,-7,1,9,17},第三线程处理整数{-22,-14,-6,2,10,18}的子集等。第k个线程(输入线程8)处理整数{-17,-9,-1,7,15,23}的子集。因此,k个线程一起处理x的所有n个整数值(从-24到23)以生成相应的整数平方值x2
图12B示出了图12A中所示的k个线程的整数平方值x2的输出数据流。
下表3中示出了图12A和12B中的第一线程执行的计算,其中n=48,k=8,(2m2=128),A=(X-k)2和B=(X2–(X-k)2)+2k2
X -24 -16 -8 0 8 16
A 625 576 256 64 0 64
B -448 -320 -192 -64 64 192
A+B 576 256 64 0 64 256
表3
因此,每个逻辑子电路和相应的线程仅执行整数平方函数(计算A+B)的n/k次迭代(即48/8=6)。由于k个线程基本同时(例如并行)处理x坐标整数值的相应子集,因此生成x坐标整数平方值的完整数据流所需的时间减少了k(即8)倍。这显著减少了处理时间,以生成为像素阵列的所有[m×n]个像素生成x坐标菲涅耳透镜值F(x)所需的x坐标整数平方值x2的完整流。
在实施例中,通过作为k个处理线程的一部分的k个逻辑子电路来执行x坐标菲涅耳透镜值F(x)的计算。因此,基本同时(例如并行)执行从x坐标整数平方值x2的每个子集计算x坐标菲涅耳透镜值F(x),并且k个逻辑子电路中的每个并行输出菲涅耳透镜值F(x)的对应流Sk。
如本领域技术人员将理解,对于在单个线程(即k=1)中生成整数平方值的实施例,仅需要单个电路级600来计算x坐标流水线的整数平方值。然而,用于计算整数平方值x2且因此计算菲涅耳透镜值F(x)的处理时间与x方向上的像素值的数量成比例。在大SLM像素阵列的情况下,此处理时间可能太长,以至于无法在高帧速(例如视频速率)下计算菲涅耳透镜值F(x)。相反,执行多线程(即k>1)的实施例可以显著减少处理时间,从而实现视频速率帧速度。然而,这样的实施例需要多个逻辑子电路600,x坐标处理流水线中的每个线程具有一个。对于附加逻辑子电路600的这种要求通常在成本、设计工作和管芯面积的消耗方面不会过分繁重,尤其是当在PLD(例如FPGA)或结构化ASIC中实现时,其中逻辑级的重复是一项简单的设计编程任务。
附加特征
实施例仅通过示例的方式涉及电激活的LCOS空间光调制器。本公开的教导可以等同地在能够显示根据本公开的计算机生成的全息图的任何空间光调制器上实现,例如任何电激活的SLM、光学激活的SLM、数字微镜设备或微机电设备。
在一些实施例中,光源是诸如激光二极管的激光器。在一些实施例中,检测器是诸如光电二极管的光电检测器。在一些实施例中,光接收表面是漫射器表面或屏幕,比如漫射器。本公开的全息投影系统可以用于提供改进的平视显示器(HUD)或头戴式显示器。在一些实施例中,提供了一种车辆,其包括安装在车辆中以提供HUD的全息投影系统。车辆可以是机动车辆,比如汽车、卡车、厢式货车、运货卡车、摩托车、火车、飞机、船或轮船。
全息重建的质量可能受到所谓的零级问题的影响,这是使用像素化空间光调制器的衍射性质的结果。这种零级光可被认为是“噪声”,并且包括例如镜面反射光以及来自SLM的其他不需要的光。
在傅立叶全息术的示例中,这种“噪声”集中在傅立叶透镜的焦点上,从而导致全息重建中心处出现亮光斑。零级光可以简单地被遮挡掉,然而这意味着用暗光斑代替亮光斑。一些实施例包括角度选择性滤光器以仅去除零级的准直光线。实施例还包括在欧洲专利2,030,072中描述的管理零级的方法,该专利通过引用整体结合于此。
在一些实施例中,全息图的尺寸(每个方向上的像素数)等于空间光调制器的尺寸,使得全息图填充空间光调制器。即,全息图使用空间光调制器的所有像素。在其他实施例中,全息图小于空间光调制器。更具体地,全息图像素的数量小于空间光调制器上可用的光调制像素的数量。在这种情况下,使用与全息像素相对应的[m×n]个像素的整数值/坐标来计算菲涅耳透镜值F(x,y)。在这些其他实施例的一些中,在未使用的像素中重复全息图的一部分(即全息图的像素的连续子集)。同样,由于菲涅耳透镜值F(x,y)与全息像素值组合,因此透镜数据的对应部分在未使用的像素中重复。该技术可被称为“平铺”,其中空间光调制器的表面积被划分为多个“平铺块”,其中每个代表全息图和对应透镜数据的至少一个子集。因此,每个平铺块的尺寸小于空间光调制器的尺寸。在一些实施例中,实施“平铺”技术以提高图像质量。具体地,一些实施例实现了平铺技术以最小化图像像素的尺寸,同时最大化进入全息重建的信号内容的量。在一些实施例中,写入空间光调制器的全息图案包括至少一个完整平铺块(即完整的全息图)和平铺块的至少一小部分(即全息图的像素的连续子集)。
在实施例中,仅利用主回放场,并且系统包括物理块,比如挡板,其布置为限制更高级回放场通过系统的传播。
在实施例中,全息重建是彩色的。在一些实施例中,被称为空间分离的颜色“SSC”的方法用于提供彩色全息重建。在其他实施例中,使用被称为帧顺序颜色“FSC”的方法。
SSC方法对三个单色全息图使用三个空间分隔的光调制像素阵列。SSC方法的优点是图像可以非常明亮,因为所有三个全息重建都可以同时形成。然而,如果由于空间限制,在公共SLM上提供了三个空间分隔的光调制像素阵列,则每个单色图像的质量将是次佳的,因为每种颜色仅使用可用光调制像素的子集。因此,提供了相对低分辨率的彩色图像。
FSC的方法可以使用公共空间光调制器的所有像素来依次显示三个单色全息图。单色重建循环(例如红色、绿色、蓝色、红色、绿色、蓝色等)得足够快,使得人类观看者从三个单色图像的集成中感知到多色图像。FSC的优点是,每种颜色都可以使用整个SLM。这意味着产生的三个彩色图像的质量最佳,因为SLM的所有像素都用于每个彩色图像。然而,FSC方法的缺点是合成彩色图像的亮度比SSC方法低—约3倍—因为每个单色照射事件只能发生帧时间的三分之一。可以通过过度驱动激光器或使用更强大的激光器来解决此缺陷,但这需要更多的功率,从而导致更高的成本和系统尺寸的增加。
实例描述了用可见光照射SLM,但技术人员将理解,例如,如本文所公开,光源和SLM可以等同地用于引导红外或紫外光。例如,技术人员将知道用于将红外和紫外光转换为可见光以向用户提供信息的技术。例如,本公开扩展到为此目的而使用磷光体和/或量子点技术。
一些实施例仅通过示例的方式描述了2D全息重建。在其他实施例中,全息重建是3D全息重建。即,在一些实施例中,每个计算机生成的全息图形成3D全息重建。
本文描述的方法和过程可以体现在计算机可读介质上。术语“计算机可读介质”包括布置为临时或永久地存储数据的介质,比如随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存和高速缓冲存储器。术语“计算机可读介质”也应被认为包括能够存储用于由机器执行的指令的任何介质或多种介质的组合,使得当指令被一个或多个处理器执行时使该机器整体地或部分地执行本文所述的任何一种或多种方法。
术语“计算机可读介质”还涵盖基于云的存储系统。术语“计算机可读介质”包括但不限于以固态存储芯片、光盘、磁盘或其任何合适的组合的示例形式的一个或多个有形和非暂时性数据存储库(例如数据卷)。在一些示例实施例中,用于执行的指令可以由载体介质传递。这样的载体介质的示例包括瞬态介质(例如传递指令的传播信号)。
对于本领域技术人员将显而易见的是,在不脱离所附权利要求的范围的情况下,可以进行各种修改和变型。本公开涵盖所附权利要求及其等同物的范围内的所有修改和变型。

Claims (17)

1.一种包括逻辑子电路的逻辑电路,所述逻辑子电路布置为输出菲涅耳透镜的菲涅耳透镜值F(x)流S1,以在像素化显示设备的[m×n]个像素上显示,其中,所述逻辑电路布置为:
(a)将存储在所述逻辑子电路的第一数据寄存器单元中的初始数据值设置为(a-k)2,并将存储在所述逻辑子电路的第二数据寄存器单元中的初始数据值设置为a2-(a-k)2
(b)在第一次迭代中,读取存储在所述第一数据寄存器单元中的所述初始数据值和存储在所述第二数据寄存器单元中的所述初始数据值,或者在进一步迭代中,读取在先前迭代中存储在所述第一数据寄存器单元中的数据值和在先前迭代中存储在所述第二数据寄存器单元中的数据值;
(c)将从所述第一数据寄存器单元读取的所述数据值与从所述第二数据寄存器单元读取的所述数据值求和,以形成x2
(d)基于在(c)中所确定的x2来计算F(x);
(e)输出F(x)作为F(x)值流中的下一个值;
(f)将x2写入所述第一数据寄存器单元;
(g)将2k2加到存储在所述第二数据寄存器单元中的值;以及
(h)执行进一步迭代,其针对x=a+k,a+2k,a+3k…a+(n-1)k重复步骤(b)至(g),其中a是x的起始值,k是x的增量且F(a)是流S1的第一值。
2.如权利要求1所述的逻辑电路,包括个数为k的多个逻辑子电路,其中,所述多个逻辑子电路并联布置,并且每个逻辑子电路布置成通过使用相应值为a执行步骤(a)至(h)来输出菲涅尔透镜值F(x)的相应流S1,S2…Sk,其中,所述流S1,S2…Sk分别对应于a=x1,x1+1,x1+2…x1+(k-1)。
3.如权利要求1或2所述的逻辑电路,其中,x1=-n/2或x1=1-n/2。
4.如权利要求1或2所述的逻辑电路,其中,使用以下方程,基于x2来计算F(x):
其中,fx是菲涅耳透镜在x方向上的焦距,λ是光的波长,px是像素化显示设备在x方向上的像素尺寸。
5.如权利要求1或2所述的逻辑电路,其中,所述第一数据寄存器单元包括第一输入寄存器、第一数据寄存器和第一多路复用器,用于在存储在所述第一输入寄存器中的数据值和存储在所述第一数据寄存器中的数据值之间进行选择,所述第二数据寄存器单元包括第二输入寄存器、第二数据寄存器和第二多路复用器,用于在存储在所述第二输入寄存器中的数据值和存储在所述第二数据寄存器中的数据值之间进行选择,其中,所述逻辑电路进一步布置为:
在步骤(b)的第一次迭代中向第一和第二多路复用器提供复位信号,以便选择存储在相应的所述第一和第二输入寄存器中的初始数据值,以及
在步骤(b)的进一步迭代中不将复位信号提供给所述第一和第二多路复用器,以便选择在先前迭代中存储在相应的所述第一和第二数据寄存器中的数据值。
6.如权利要求1或2所述的逻辑电路,还布置为输出菲涅耳透镜的菲涅耳透镜值F(y)流,其中,所述逻辑电路布置为针对y=b,b+1,b+2,…(b+m-1)迭代地执行以下步骤:
(i)如果y=b,则将存储在第一另外数据寄存器单元中的初始数据值设置为(b-1)2,并将存储在第二另外数据寄存器单元中的初始数据值设置为b2-(b-1)2
(j)如果y=b,则读取存储在所述逻辑电路的所述第一另外数据寄存器单元中的初始数据值和存储在所述逻辑电路的所述第二另外数据寄存器单元中的初始数据值,或者如果y≠b,则读取在先前迭代中存储在所述第一另外数据寄存器单元中的数据值和在先前迭代中存储在所述第二另外数据寄存器单元中的数据值;
(k)将从所述第一另外数据寄存器单元读取的所述数据值与从所述第二另外数据寄存器单元读取的所述数据值求和,以形成y2
(l)基于在(k)中所确定的y2来计算F(y);
(m)输出F(y)作为F(y)值流中的下一个值;
(n)将y2写入所述第一另外数据寄存器单元;以及
(o)将存储在第二另外数据寄存器单元中的值加二,
其中,b是y的起始值且F(b)是菲涅尔透镜值F(y)流的第一值。
7.如权利要求6的逻辑电路,其中,b=-m/2或1-m/2。
8.如权利要求6所述的逻辑电路,其中,所述逻辑电路布置为使用以下方程,基于y2来计算F(y):
其中,fy是菲涅耳透镜在y方向上的焦距,λ是光的波长,py是像素化显示设备在y方向上的像素尺寸。
9.如权利要求6所述的逻辑电路,其中,步骤(m)输出的值F(y)作为所述F(y)值流中的接下来的n个值。
10.如权利要求6所述的逻辑电路,进一步布置为将每个F(x)值与对应的F(y)值求和,以便针对每个像素形成菲涅耳透镜值F(x,y)流。
11.一种包括如权利要求10所述的逻辑电路的逻辑设备,其中,所述设备包括专用集成电路ASIC或可编程逻辑器件PLD、可选地包括现场可编程门阵列FPGA。
12.一种全息投影仪,包括:
如权利要求11所述的设备;
像素化显示设备,其布置为根据菲涅耳透镜值F(x,y)流显示包括菲涅耳透镜图案的光调制图案;以及
光源,其布置成用具有波长λ的光照射光调制图案。
13.如权利要求12所述的全息投影仪,其中,所述设备还布置为将菲涅耳透镜值流的菲涅耳透镜值与全息像素值流的全息像素值相加,以形成显示值的数据流,其中,根据由现场可编程门阵列提供给所述像素化显示设备的显示值流来形成所述光调制图案。
14.一种平视显示器,其包括如权利要求12所述的全息投影仪。
15.一种流送菲涅耳透镜值F(x)以在像素化显示设备的[m×n]个像素上显示的方法,该方法包括:
(a)将存储在逻辑子电路的第一数据寄存器单元中的初始数据值设置为(a-k)2,并将存储在逻辑子电路的第二数据寄存器单元中的初始数据值设置为a2-(a-k)2
(b)在第一次迭代中,读取存储在所述第一数据寄存器单元中的初始数据值和存储在所述第二数据寄存器单元中的初始数据值,或者在进一步迭代中,读取在先前迭代中存储在所述第一数据寄存器单元中的数据值和在先前迭代中存储在所述第二数据寄存器单元中的数据值;
(c)将从所述第一数据寄存器单元读取的所述数据值与从所述第二数据寄存器单元读取的所述数据值求和,以形成x2
(d)基于在(c)中所确定的x2来计算F(x);
(e)输出F(x)作为F(x)值流中的下一个值;
(f)将x2写入所述第一数据寄存器单元;
(g)将2k2加到存储在所述第二数据寄存器单元中的值;以及
(h)执行进一步迭代,其包括针对x=a+k,a+2k,a+3k...a+(n-1)k重复步骤(b)至(g),其中a是x的起始值,k是x的增量且F(a)是流S1的第一值。
16.一种流送菲涅耳透镜值F(y)以在像素化显示设备的[m×n]个像素上显示的方法,该方法包括针对y=b,b+1,b+2,...(b+m-1)迭代地执行以下步骤:
(i)如果y=b,则将存储在另外逻辑子电路的第一另外数据寄存器单元中的初始数据值设置为(b-1、)2,并将存储在所述另外逻辑子电路的第二另外数据寄存器单元中的初始数据值设置为b2-(b-1)2
(j)如果y=b,则读取存储在所述第一另外数据寄存器单元中的初始数据值和存储在所述第二另外数据寄存器单元中的初始数据值,或者如果y≠b,则读取在先前迭代中存储在所述第一另外数据寄存器单元中的数据值和在先前迭代中存储在所述第二另外数据寄存器单元中的数据值;
(k)将从所述第一另外数据寄存器单元读取的所述数据值与从所述第二另外数据寄存器单元读取的所述数据值求和,以形成y2
(1)基于在(k)中所确定的y2来计算F(y);
(m)输出F(y)作为F(y)值流中的下一个值;
(n)将y2写入所述第一另外数据寄存器单元;以及
(o)将存储在第二另外数据寄存器单元中的值加二,
其中,b是y的起始值且F(b)是菲涅尔透镜值F(y)流的第一值。
17.一种流送菲涅耳透镜值F(x,y)以在像素化显示设备的[m×n]个像素上显示的方法,包括将通过权利要求15所述的方法输出的F(x)值流中的每个F(x)值与通过权利要求16所述的方法输出的F(y)值流中的对应F(y)值求和。
CN202011270336.1A 2019-11-13 2020-11-13 显示设备和系统 Active CN112802421B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1916500.0A GB2588912B (en) 2019-11-13 2019-11-13 A display device and system
GB1916500.0 2019-11-13

Publications (2)

Publication Number Publication Date
CN112802421A CN112802421A (zh) 2021-05-14
CN112802421B true CN112802421B (zh) 2023-11-07

Family

ID=69062112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011270336.1A Active CN112802421B (zh) 2019-11-13 2020-11-13 显示设备和系统

Country Status (4)

Country Link
US (1) US20210141221A1 (zh)
EP (1) EP3822707A1 (zh)
CN (1) CN112802421B (zh)
GB (1) GB2588912B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2587400B (en) * 2019-09-27 2022-02-16 Dualitas Ltd Hologram display using a liquid crystal display device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101842752A (zh) * 2007-11-02 2010-09-22 蓝光光学有限公司 全息图像显示系统
CN102568607A (zh) * 2012-02-06 2012-07-11 殷民 一种优化的bch解码器
GB201813773D0 (en) * 2018-08-23 2018-10-10 Dualitas Ltd method of hologram calculation
CN108957746A (zh) * 2013-04-12 2018-12-07 杜尔利塔斯有限公司 近眼装置
CN109388016A (zh) * 2017-08-02 2019-02-26 杜尔利塔斯有限公司 全息投影仪

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1444760A1 (ru) * 1987-02-24 1988-12-15 Институт Кибернетики Им .В.М.Глушкова Устройство дл возведени в квадрат последовательного р да чисел
GB2438458A (en) 2006-05-11 2007-11-28 Univ Cambridge Tech Blocking zero-order light in phase shift hologram generation
GB2498170B (en) 2011-10-26 2014-01-08 Two Trees Photonics Ltd Frame inheritance
GB2501112B (en) 2012-04-12 2014-04-16 Two Trees Photonics Ltd Phase retrieval
WO2018021984A1 (en) * 2016-07-28 2018-02-01 Cy Vision Inc. System and method for high-quality speckle-free phase-only computer-generated holographic image projection
GB2569206B (en) * 2018-05-25 2019-12-04 Dualitas Ltd A method of displaying a hologram on a display device comprising pixels

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101842752A (zh) * 2007-11-02 2010-09-22 蓝光光学有限公司 全息图像显示系统
CN102568607A (zh) * 2012-02-06 2012-07-11 殷民 一种优化的bch解码器
CN108957746A (zh) * 2013-04-12 2018-12-07 杜尔利塔斯有限公司 近眼装置
CN109388016A (zh) * 2017-08-02 2019-02-26 杜尔利塔斯有限公司 全息投影仪
GB201813773D0 (en) * 2018-08-23 2018-10-10 Dualitas Ltd method of hologram calculation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An efficient computational method suitable for hardware of computer-generated hologram with phase computation by addition;Tomoyoshi Shimobaba;Computer Physics Communications;第138卷;44-52 *

Also Published As

Publication number Publication date
GB2588912B (en) 2021-12-08
EP3822707A1 (en) 2021-05-19
GB2588912A (en) 2021-05-19
CN112802421A (zh) 2021-05-14
GB201916500D0 (en) 2019-12-25
US20210141221A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
US11809135B2 (en) Method of displaying a hologram on a display device comprising pixels
US11307534B2 (en) Holographic projector
EP3650949B1 (en) Pixel mapping onto a display device for holographic projection
CN113759688B (zh) 显示装置和系统
CN112136085B (zh) 全息投影仪
CN115933346A (zh) 为系统确定图像的全息图的方法
US11681257B2 (en) Projection
CN112802421B (zh) 显示设备和系统
CN114092757A (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
GR01 Patent grant
GR01 Patent grant