CN114092757A - 图像处理 - Google Patents
图像处理 Download PDFInfo
- Publication number
- CN114092757A CN114092757A CN202110972915.9A CN202110972915A CN114092757A CN 114092757 A CN114092757 A CN 114092757A CN 202110972915 A CN202110972915 A CN 202110972915A CN 114092757 A CN114092757 A CN 114092757A
- Authority
- CN
- China
- Prior art keywords
- value
- linear array
- values
- complex
- bits
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims description 106
- 238000000034 method Methods 0.000 claims abstract description 105
- 230000015654 memory Effects 0.000 claims description 70
- 230000006870 function Effects 0.000 claims description 18
- 230000001131 transforming effect Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 abstract description 26
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 48
- 238000006243 chemical reaction Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 21
- 239000004973 liquid crystal related substance Substances 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000003595 spectral effect Effects 0.000 description 7
- 238000001093 holography Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 210000002858 crystal cell Anatomy 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 239000004411 aluminium Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/22—Processes or apparatus for obtaining an optical image from holograms
- G03H1/2294—Addressing the hologram to an active spatial light modulator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/04—Processes or apparatus for producing holograms
- G03H1/16—Processes or apparatus for producing holograms using Fourier transform
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/04—Processes or apparatus for producing holograms
- G03H1/0443—Digital holography, i.e. recording holograms with digital recording means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4084—Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/04—Processes or apparatus for producing holograms
- G03H1/08—Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
- G03H1/0808—Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/02—Details of features involved during the holographic process; Replication of holograms without interference recording
- G03H2001/0208—Individual components other than the hologram
- G03H2001/0224—Active addressable light modulator, i.e. Spatial Light Modulator [SLM]
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/04—Processes or apparatus for producing holograms
- G03H1/0443—Digital holography, i.e. recording holograms with digital recording means
- G03H2001/045—Fourier or lensless Fourier arrangement
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/04—Processes or apparatus for producing holograms
- G03H1/08—Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
- G03H1/0808—Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
- G03H2001/0816—Iterative algorithms
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/04—Processes or apparatus for producing holograms
- G03H1/08—Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
- G03H1/0808—Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
- G03H2001/0825—Numerical processing in hologram space, e.g. combination of the CGH [computer generated hologram] with a numerical optical element
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H1/00—Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
- G03H1/22—Processes or apparatus for obtaining an optical image from holograms
- G03H1/2294—Addressing the hologram to an active spatial light modulator
- G03H2001/2297—Addressing the hologram to an active spatial light modulator using frame sequential, e.g. for reducing speckle noise
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H2225/00—Active addressable light modulator
- G03H2225/10—Shape or geometry
- G03H2225/12—2D SLM
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H2225/00—Active addressable light modulator
- G03H2225/52—Reflective modulator
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H2226/00—Electro-optic or electronic components relating to digital holography
- G03H2226/02—Computing or processing means, e.g. digital signal processor [DSP]
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H2240/00—Hologram nature or properties
- G03H2240/10—Physical parameter modulated by the hologram
- G03H2240/11—Phase only modulation
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03H—HOLOGRAPHIC PROCESSES OR APPARATUS
- G03H2240/00—Hologram nature or properties
- G03H2240/10—Physical parameter modulated by the hologram
- G03H2240/13—Amplitude and phase complex modulation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Signal Processing (AREA)
- Holo Graphy (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
公开了对对应于图像的复数数据集执行复数傅立叶变换的方法。该方法包括接收复数数据集,并以笛卡尔形式在复数数据集中执行第一1D复数傅立叶变换;将复数数据集转换成极坐标形式,并以极坐标形式压缩复数数据集;执行复数数据集的行‑列变换;解压缩复数数据集并将复数数据集转换回笛卡尔形式;以及以笛卡尔形式在复数数据集中执行第二1D傅立叶变换,其中第二1D复数傅立叶变换与第一1D复数傅立叶变换正交。还公开了相应的系统,以及应用于计算机生成全息图的迭代计算。
Description
技术领域
本公开涉及图像处理。更具体地,本公开涉及复数图像数据的二维傅立叶变换的有效实现,以及复数值图像数据的数据压缩。具体地,尽管不是排他的,本公开涉及用于全息显示的图像数据的处理。
背景技术
从物体散射的光包含振幅和相位信息。可以通过众所周知的干涉技术在例如感光板上捕获该振幅和相位信息,以形成包括干涉条纹的全息记录或“全息图”。可以通过用合适的光照射来重建全息图,以形成代表原始物体的二维或三维全息重建或回放图像。
计算机生成全息术可以数值模拟干涉过程。计算机生成的全息图“CGH”可以通过基于数学变换(比如菲涅耳变换或傅立叶变换)的技术来计算。这些类型的全息图可以称为菲涅耳或傅立叶全息图。傅立叶全息图可被认为是物体的傅立叶域表示或物体的频域表示。例如,CGH也可以通过相干射线追踪或点云技术来计算。
CGH可被编码在空间光调制器“SLM”上,其布置成调制入射光的振幅和/或相位。例如,可以使用电可寻址液晶、光可寻址液晶或微镜来实现光调制。
SLM可以包括多个可单独寻址的像素,这些像素也可以被称为单元或元素。光调制方案可以是二进制、多级或连续的。可替代地,该设备可以是连续的(即不包括像素),并且光调制因此可以在设备上是连续的。SLM可以是反射性的,这意味着调制的光在反射中从SLM输出。SLM同样可以是透射的,这意味着从SLM输出的调制光是透射的。
可以使用所描述的技术来提供用于成像的全息投影仪。这种投影仪已经应用于平视显示器“HUD”和头戴式显示器“HMD”,包括例如近眼设备。
发明内容
本公开的各方面在所附独立权利要求中定义。
在第一方面,提供了一种图像处理系统,其布置为对表示(即对应于)二维图像的第一复数数据集执行傅立叶变换。第一复数数据集包括笛卡尔形式的复数值的二维阵列。二维阵列的值表示(即对应于)二维图像的像素。例如,复数数据集的二维阵列中的每个值包括像素值。每个值以具有第一位数的第一数字格式表示。二维阵列定义表示沿一维的像素的值的第一线性阵列,例如行,以及表示沿另一维的像素的值的第二线性阵列,例如列。当然,将会理解,本文使用的对行或列的引用是为了方便,并且线性阵列和行/列之间以及行/列和图像的各个维度之间的分配是任意的,术语行和列可以互换使用。此外,阵列的一行可以对应于图像的一列像素,阵列的一列可以对应于图像的一行像素,反之亦然。
在一些布置中,图像处理系统包括一个或多个处理器,其布置成执行对应于图像的第一复数数据集的傅立叶变换,以及存储可由一个或多个处理器执行的指令的有形非暂时性计算机可读介质。指令在被执行时使得图像处理系统执行包括以下的功能:以笛卡尔形式对第一复数数据集的值的每个第一线性阵列执行1D傅立叶变换;将每个傅立叶变换的第一线性阵列的每个值转换成极坐标形式;将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数;通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中;通过第二线性阵列从存储器第二线性阵列中读出值;将从存储器中读取的每个值转换回第一数字格式;将转换回第一数字格式的每个值转换回笛卡尔形式;对转换回笛卡尔形式的值的每个第二线性阵列执行1D傅立叶变换,其中值的傅立叶变换的第二线性阵列用于形成第二复数数据集;以及使用第二复数数据集形成图像数据。该系统还可以包括控制器,其布置成输出图像数据用于显示。
在其他布置中,该系统包括第一傅立叶变换引擎,其布置成通过第一线性阵列接收第一复数数据集第一线性阵列,并对每个第一线性阵列执行1D傅立叶变换。第一转换引擎布置成接收由第一傅立叶变换引擎处理的复数数据集,将每个值转换成极坐标形式,并将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数。行-列变换引擎布置成接收由第一转换引擎处理的复数数据集,通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中,并且通过第二线性阵列从存储器第二线性阵列中读出值。实际上,阵列已经被转置了。第二转换引擎布置成通过第二线性阵列接收由行-列变换引擎第二线性阵列处理的复数数据集,将每个值转换回第一数字格式,并将转换回第一数字格式的每个值转换回笛卡尔形式。第二傅立叶变换引擎布置成通过第二线性阵列接收由第二转换引擎第二线性阵列处理的复数数据集,并对每个第二线性阵列执行1D傅立叶变换。该系统还布置成使用由第二傅立叶变换引擎处理的复数数据集的数据值来形成用于显示的图像数据。例如,该系统可以包括输出接口,其布置成输出图像数据用于显示。
有利地,通过减少用于在行-列变换的数据集中存储每个复杂数据值的位,减轻了特定的存储器瓶颈。虽然系统的大多数引擎可以通过线性阵列处理数据流,但行-列(或转置)引擎必须接收并存储所有第一线性阵列,然后才能读出第二线性阵列。因此,在此阶段减少每个值的位特别有效,因为它减少了数据在行-列变换存储器瓶颈处被保留的时间长度,从而提高了处理速度。此外,行-列变换所需的存储器容量也减少了。此外,本公开提供了一种减少每个值的位的有效方式,该方式通过在极坐标上操作以减少每个值的位来减轻质量损失,从而确保保持图像质量。这是因为在极坐标表示中,当以减少的位数表示时,相位信息被更好地保存。因此,这种转换数据的方式特别适用于重要信息(可能是最重要的图像形成信息)实际上是在相位中编码的算法,例如生成图像全息图的算法或类似的图像处理算法。相比之下,笛卡尔坐标中的压缩导致相位分量中的较大误差—特别是当形成大量低幅度值时—如本文公开的基于傅立叶变换的过程的情况。在某些方面,可以说本文公开的改进方法优先考虑相位信息,因此在诸如全复数全息术的情况下是有利的,在全复数全息术中,发现相位分量的误差比振幅分量的误差更具破坏性。一旦值已经被存储(缓冲)成为行-列变换做好准备,它们就可被转换回更昂贵的数字格式,更适于傅立叶变换计算,以避免舍入误差的传播。此外,提高了行-列变换的速度,例如通过为每个值写入较小的数据字(例如相位和幅度各16位),在64位计算体系结构中,可以为每个64位字写入两个值。
第一方面的图像处理系统接收并处理用于显示的图像数据。例如,该系统可以从图像源接收图像数据,其包括表示二维输入图像的像素的笛卡尔形式的复数值的二维阵列。该系统可以处理输入图像数据以形成图像数据,其包括表示用于显示的二维输出图像的像素的笛卡尔形式的复数值的二维阵列。应当理解,输出图像数据的复数值阵列显示在显示设备的各个像素上。图像处理包括执行输入图像数据的二维傅立叶变换,这通常用在图像处理技术中。如本文所述,这种图像处理技术包括形成对应于输入图像的计算机生成全息图的方法和算法。因此,在一些实施方式中,用输出图像数据编码的显示设备显示对应于经处理的输入图像的输出图像。在其他实施方式中,用输出图像数据编码的显示设备显示对应于输入图像的全息图。因此,本文使用的术语“图像数据”包括当被编码在显示设备的像素上时使得显示设备显示图像或图像的全息图的数据。
在一些实施例中,第一方面的图像处理系统可以用作构建块来实现图像处理,用于计算生成用于显示的全息图和本文公开的全息重建。例如,这样的系统可以包括如上所述的两个数据处理系统,在功能上与中间数据处理器链接在一起,该中间数据处理器操纵第一数据处理系统的输出的复数值的幅度,以产生第二数据处理系统的输入。在一些实施例中,第二数据处理系统可以类似或相同的方式连接回第一数据处理系统,以实现迭代计算。应当理解,第一和第二数据处理系统(以及相应的引擎)实际上是同一个系统,因此数据处理系统的输出被如上所述地操纵,然后反馈回输入。当第一和第二数据处理系统不是同一个系统且不相同时,它们仍可以共享一个或多个引擎。此外,每个数据处理系统内的引擎可以对应于单独的实例(即两个傅立叶变换引擎、两个转换引擎等),或者一个或多个引擎实际上可以是单个引擎(即第一傅立叶变换引擎也是第二引擎,第一转换引擎也是第二引擎等),并且值相应地在引擎之间路由。同样,每个数据处理系统可以使用相同或不同的高位数字格式以及相同或不同的低位数字格式。
应当理解,可以使用各种各样的标准或定制数字格式。例如,复数值可以存储为两个双浮点数(128位),一个用于复数/虚部或相位/角度的每一个,这取决于复数的形式,类似的是两个单浮点数(64位)或两个半浮点数(32位)。自定义数字格式例如假设固定小数点和固定/无指数同样可能,例如以这种方式将每个复数值编码为128、64或32位。在这种自定义数字格式中,分配给实部/虚部的位数对于实部和虚部中的每个可以是相同的,或者不同的位数可分配给复数值的每个分量。无论如何,本公开包括将浮点(或其他十进制或二进制数)从具有第一位数的格式转换成具有第二位数的格式,例如通过缩放、将位值重新分配为十进制值、舍入、删除和添加最低有效位等中的一个或多个。
在一些实施例中,将极坐标形式的值转换成第二数字格式可以包括将每个幅度值从x1位转换成y1位,其中x1>y1,以及将每个相位值从x2位转换成y2位,其中x2>y2。位数x1和x2可以是相同的和/或y1和y2可以是相同的,比如x和y。在特定的示例中,x1=x2=32位(每个数据值64位)和y1=y2=8位(每个数据值16位)。将极坐标形式的每个值转换成第二数字格式可以包括将每个幅度值乘以比例因子和/或可以包括将最大允许值以上的任何幅度值设置为最大允许值。例如,该阈值化可以在缩放之后进行。阈值化可以包括从幅度值中去除最低有效位和/或舍入。最大允许值可以是可以用y1位表示的最大幅度值。在一些实施例中,将极坐标形式的每个值转换成第二数字格式包括用比第一数字格式更低的级数量化极坐标形式的值的相位值。例如,这可能涉及从相位值中删除最低有效位或舍入。当然,同样可以使用用于减少存储每个复数值所需的位数的其他技术。
在一些实施例中,将笛卡尔形式的每个值转换回第一数字格式包括将每个幅度值从y1位转换回x1位,并将每个相位值从y2位转换回x2位。例如,这可能涉及将每个幅度值乘以比例因子的倒数。
在一些实施例中,行-列转换引擎的存储器是静态随机存取存储器(SRAM),其有利地具有比动态随机存取存储器(DRAM)更快的访问时间。通过减少每个复数值的位数来减少所需的存储器有助于SRAM的使用(部分地)抵消SRAM的较高的每位成本。
在一些实施例中,第一傅立叶变换引擎配置为处理一个第一线性阵列,而第一转换引擎处理另一个第一线性阵列,其中第二傅立叶变换引擎配置为处理一个第二线性阵列,而第二转换引擎处理另一个第二线性阵列,或者两者都处理。例如,第一和可选的第二傅立叶变换引擎可以接收复数值作为数值流。这些值可以在串行总线上处理。
在一些实施例中,该系统包括输出接口,其布置成输出图像数据用于显示。例如,控制器可以包括系统的输出接口,其布置成向全息显示设备输出代表输入图像的全息图,如本文所述。全息图可以是纯相位全息图或包括相位和振幅分量的全复数全息图。输入接口可以布置成实时接收来自图像源(例如摄像机)的图像序列,输出接口可以布置成实时输出代表相应图像(或相应处理图像)的全息图序列。结果,图像在接收时被实时处理,即以低延迟处理,例如使得能够以典型的视频帧速率(例如24fps)从在线图像视频帧产生全息视频帧。在一些实施例中,全息显示设备包括布置成显示全息图的空间光调制器和布置成照射空间光调制器以形成全息重建的光源。在一些实施例中,图像处理系统和全息显示器可以包括单个集成设备。
在第二方面,公开了一种图像处理方法,用于对对应于图像的第一复数数据集执行复数傅立叶变换。第一复数数据集包括笛卡尔形式的复数值的二维阵列,每个复数值以具有第一位数的第一数字格式表示。二维阵列的值代表(即对应于)二维图像的像素。二维阵列定义沿一维表示像素的第一线性值阵列和沿另一维表示像素的第二线性值阵列,例如如上所述的行和列。
该方法包括以下步骤:对第一复数数据集中的每个第一线性阵列进行1D傅立叶变换;将每个傅立叶变换的第一线性阵列的每个值转换成极坐标形式;将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数;通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中;通过第二线性阵列从存储器第二线性阵列中读出值;将从存储器中读取的每个值转换回第一数字格式;将转换回第一数字格式的每个值转换回笛卡尔形式;以及对转换回笛卡尔形式的值的每个第二线性阵列执行1D傅立叶变换。该方法还包括使用傅立叶变换的第二线性值阵列来形成用于显示的图像数据。例如,傅立叶变换的第二线性值阵列可用于形成第二复数数据集,并且该方法可进一步包括使用第二复数数据集形成图像数据。
类似地,如上所述,对于该系统,傅立叶变换的第二线性阵列可以在用于生成图像全息图的算法或类似的图像处理技术中,在如上所述(并且在下面更详细地描述)幅度操纵之后,在第一傅立叶变换步骤中用作第一线性阵列。如前所述,两个通路之间的数字格式可以相同或不同,并且对于迭代过程,步骤可以重复循环第一傅立叶变换步骤。此外,所有通路可以使用相同的存储器进行行-列变换,或者例如,单独的这种存储器可以用于奇数和偶数通路。
当然,上述第一方面的实施例的特征同样适用于第二方面和下面公开的其他方面。
在第三方面,图像处理系统布置成处理对应于图像的复数数据集。第一复数数据集包括笛卡尔形式的复数值,每个复数值以具有第一位数的第一数字格式表示。复数值代表(即对应于)图像的像素。系统包括转换引擎,其布置成接收复数数据集,将每个值转换成极坐标形式,并将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数。
在一些实施例中,数据集的复数值布置在二维阵列中,该二维阵列定义沿一维的第一线性值阵列和沿另一维的第二线性值阵列。在一些实施例中,数据处理系统还包括行-列变换引擎,其布置成接收由第一转换引擎处理的复数数据集,通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中,并且通过第二线性阵列从存储器第二线性阵列中读出值。
在一些实施例中,该系统包括傅立叶变换引擎,其布置成通过第一线性阵列接收第一线性阵列的复数数据集,并对每个第一线性阵列执行1D傅立叶变换,并且转换引擎布置成从傅立叶变换引擎逐第一线性阵列接收复数数据集,每个线性阵列由傅立叶变换引擎进行傅立叶变换。
在第四方面,公开了一种对应于图像的第一复数数据集的图像处理方法。复数数据集包括笛卡尔形式的复数值,每个复数值以具有第一位数的第一数字格式表示。复数值代表(即对应于)图像的像素。该方法包括将每个值转换成极坐标形式,并将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数。
在一些实施例中,数据集的复数值布置在二维阵列中,该二维阵列定义表示沿一维的像素的值的第一线性阵列和表示沿另一维的像素的值的第二线性阵列。在一些实施例中,该方法包括通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中,并通过第二线性阵列从存储器第二线性阵列中读出值。
在第五方面,图像处理系统布置成对对应于图像的复数数据集执行复数傅立叶变换。该系统包括:
第一傅立叶变换引擎,其布置成接收复数数据集,并以笛卡尔形式执行复数数据集的第一1D复数傅立叶变换;
第一数据转换引擎,其布置成接收由第一傅立叶变换引擎处理的复数数据集,将复数数据集转换成极坐标形式,并且以极坐标形式压缩复数数据集;
行-列变换引擎,其布置成接收由第一数据转换引擎处理的复数数据集,并执行复数数据集的行-列变换;
第二数据转换引擎,其布置成接收由行-列变换引擎处理的复数数据集,解压缩该复数数据集并将该复数数据集转换回笛卡尔形式;以及
第二傅立叶变换引擎,其布置成接收由第二数据转换引擎处理的复数数据集,并且以笛卡尔形式执行复数据的第二1D复数傅立叶变换,其中第二1D复数傅立叶变换与第一1D复数傅立叶变换正交。该系统还布置成使用由第二傅立叶变换引擎处理的复数数据集的数据值来形成用于显示的图像数据。
在第六方面,公开了一种图像处理方法,用于对对应于图像的复数数据集执行复数傅立叶变换。该方法依次包括以下步骤:
接收复数数据集,并以笛卡尔形式执行复数数据集的第一1D复数傅立叶变换;
将复数数据集转换成极坐标形式,并以极坐标形式压缩复数数据集;
执行复数数据集的行-列变换;
解压缩复数数据集并将复数数据集转换回笛卡尔形式;
执行对笛卡尔形式的复数数据集的第二1D傅立叶变换,其中第二1D复数傅立叶变换与第一1D复数傅立叶变换正交。该方法还包括使用傅立叶变换的复数数据集来形成用于显示的图像数据。
图像数据的压缩可以如上所述(通过转换成不同的数字格式来减少每个像素值的位数)或以任何其他合适的方式来执行。
在第七方面,公开了一种用于压缩表示图像的复数数据集的系统,该系统包括数据转换引擎,其布置成接收复数数据集,将复数数据集转换成极坐标形式,并且以极坐标形式压缩复数数据集。
在第八方面,提供了一种压缩表示图像的复数数据集的方法,该方法包括将复数数据集转换成极坐标形式,并以极坐标形式压缩复数数据集。
术语“全息图”用于指包含关于物体的振幅和/或相位信息的记录。术语“全息重建”用于指通过照射全息图形成的物体的光学重建。术语“回放平面”在本文用来指空间中全息重建完全形成的平面。术语“回放场”在本文用来指回放平面的子区域,该子区域可以接收来自空间光调制器的空间调制光。术语“图像”和“图像区域”指的是由形成全息重建的光照射的回放场的区域。在实施例中,“图像”可以包括被称为“图像像素”的离散点。
术语“编码”、“写入”或“寻址”用于描述向SLM的多个像素提供相应的多个控制值的过程,这些控制值分别确定每个像素的调制水平。可以说,SLM的像素配置为响应于接收到多个控制值而“显示”光调制分布。
已经发现,可接受质量的全息重建可以由仅包含与原始物体相关的相位信息的“全息图”形成。这种全息记录可以称为纯相位全息图。然而,对纯相位全息图的任何引用仅作为示例。本公开也同样适用于使用与原始物体有关的振幅和相位信息来形成全息重建。在一些实施例中,这是通过使用包含与原始物体有关的振幅和相位信息的所谓全复数全息图的复数调制来实现的。因为分配给全息图的每个像素的值(灰度级)具有振幅和相位分量,所以这种全息图可被称为全复数全息图。分配给每个像素的值(灰度级)可以表示为具有振幅和相位分量的复数。在一些实施例中,计算全复数计算机生成的全息图。
可以参考计算机生成的全息图或空间光调制器的像素的相位值、相位分量、相位信息或者简单地说是相位,作为“相位延迟”的简写。即,所描述的任何相位值实际上是代表该像素提供的相位延迟量的数字(例如在0至2π范围内)。例如,空间光调制器的描述为具有π/2相位值的像素将使接收光的相位改变π/2弧度。在一些实施例中,空间光调制器的每个像素可在多个可能的调制值(例如相位延迟值)之一中操作。术语“灰度级”可以用来指多个可用的调制水平。例如,术语“灰度级”可以为了方便而用于指代纯相位调制器中的多个可用相位水平,即使不同的相位水平没有提供不同的灰色阴影。为了方便起见,术语“灰度级”也可以用来指复数调制器中的多个可用复数调制水平。
尽管不同的方面、实施例以及方面和实施例的组可以在本公开中单独公开,但任何实施例或实施例组的任何特征可以与任何实施例或实施例组的任何其他特征或特征组合相结合。也就是说,本公开中公开的特征的所有可能的组合和置换都被设想并由此公开。
附图说明
仅参考以下附图以示例的方式描述特定实施例:
图1是示出在屏幕上产生全息重建的反射型SLM的示意图;
图2A示出了示例Gerchberg-Saxton类型算法的第一迭代;
图2B示出了示例Gerchberg-Saxton类型算法的第二及后续迭代;
图2C示出了示例Gerchberg-Saxton类型算法的替代第二及后续迭代;
图3是反射型LCOS SLM的示意图;
图4A到图4D示出了2D傅立叶变换;
图5示出了布置成傅立叶变换和转换图像数据的图像处理系统;
图6示出了布置成实现2D傅立叶变换的图像处理系统;
图7示出了布置成实现逆2D傅立叶变换的图像处理系统;
图8示出了布置成实现适于全息图的计算机生成的迭代计算的图像处理系统;
图9示出了傅立叶变换和转换图像数据的方法,实现了适用于全息图的计算机生成的2D傅立叶变换和迭代计算;以及
图10示出了计算设备。
在所有附图中,相同的附图标记将用于指代相同或相似的部分。
具体实施方式
本发明不限于以下描述的实施例,而是扩展到所附权利要求的全部范围。即,本发明可以以不同的形式实施,并且不应被解释为限于所描述的实施例,实施例出于说明的目的而阐述。
除非另有说明,单数形式的术语可以包括复数形式。
被描述为形成在另一结构的上部/下部或者在另一结构之上/之下的结构应被解释为包括结构彼此接触的情况以及在其之间设置有第三结构的情况。
在描述时间关系时,例如当事件的时间顺序描述为“之后”、“随后”、“下一个”、“之前”等时,本公开应被认为包括连续和非连续事件,除非另有规定。例如,描述应被认为包括除非使用诸如“仅”、“紧邻”或“直接”之类的措词否则不连续的情况。
尽管本文可以使用术语“第一”、“第二”等来描述各种元件,但这些元件不受这些术语的限制。这些术语仅用于区分各个元件。例如,在不脱离所附权利要求的范围的情况下,第一元件可被称为第二元件,类似地,第二元件可被称为第一元件。
不同实施例的特征可以部分或整体地彼此耦合或组合,并且可以彼此不同地互操作。一些实施例可以彼此独立地执行,或者可以以相互依存的关系一起执行。
光学配置
图1示出了其中计算机生成的全息图被编码在单个空间光调制器上的实施例。计算机生成的全息图是用于重建的物体的傅立叶变换。因此可以说全息图是物体的傅立叶域或频域或光谱域表示。在该实施例中,空间光调制器是反射型硅基液晶“LCOS”器件。全息图在空间光调制器上编码,并且在回放场例如光接收表面比如屏幕或漫射器处形成全息重建。
设置光源110,例如激光或激光二极管,以经由准直透镜111照射SLM140。准直透镜使光的大致平面波前入射在SLM上。在图1中,波前的方向是偏离法线的(例如,与真正垂直于透明层的平面偏离两或三度)。然而,在其他实施例中,大致平面波前以法向入射提供,并且分束器布置用于分离输入和输出光路。在图1所示的实施例中,该布置使得来自光源的光从SLM的镜面后表面反射并与光调制层相互作用以形成出射波前112。出射波前112被施加到包括傅立叶变换透镜120的光学器件,其焦点位于屏幕125上。更具体地,傅立叶变换透镜120接收来自SLM 140的调制光束,并执行频率-空间变换以在屏幕125上产生全息重建。
值得注意的是,在这种类型的全息术中,全息图的每个像素都有助于整个重建。回放场上的特定点(或图像像素)与特定的光调制元件(或全息图像素)之间没有一对一的相关性。换句话说,离开光调制层的调制光分布在整个回放场上。
在这些实施例中,全息重建在空间中的位置由傅立叶变换透镜的屈光度(聚焦)确定。在图1所示的实施例中,傅立叶变换透镜是物理透镜。即,傅立叶变换透镜是光学傅立叶变换透镜,并且傅立叶变换是光学进行的。任何透镜都可以充当傅立叶变换透镜,但透镜的性能将限制其执行的傅立叶变换的准确性。技术人员理解如何使用透镜来执行光学傅立叶变换。
全息图计算
在一些实施例中,计算机生成的全息图是傅立叶变换全息图,或者简单地是傅立叶全息图或基于傅立叶的全息图,其中通过利用正透镜(物理透镜或由显示在SLM上的相应相位延迟分布实现的软件透镜)的傅立叶变换特性在远场中重建图像。通过将回放平面中的所需光场傅立叶变换回透镜平面来计算傅立叶全息图。可以使用傅立叶变换来计算计算机生成的傅立叶全息图。
可以使用算法(比如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微米或更小,这导致几度的衍射角,意味着光学系统可以紧凑。充分照射LCOS SLM的小孔比其他液晶装置的大孔要容易得多。LCOS装置通常是反射性的,这意味着驱动LCOSSLM像素的电路可以埋在反射表面下。结果导致更高的孔比。换句话说,像素紧密堆积,这意味着像素之间几乎没有死角。这是有利的,因为它减少了回放场中的光学噪声。LCOS SLM使用硅底板,其优点是像素在光学上是平坦的。这对于相位调制装置特别重要。
下面仅以举例的方式,参考图3来描述合适的LCOS SLM。使用单晶硅基板302形成LCOS器件。其具有方形的平面铝电极301的2D阵列,其由间隙301a间隔开,布置在基板的上表面上。可以通过掩埋在基板302中的电路302a来对每个电极301进行寻址。每个电极形成各自的平面镜。取向层303设置在电极阵列上,液晶层304设置在取向层303上。第二取向层305设置在液晶层304上,例如玻璃的平面透明层306设置在第二取向层305上。例如由ITO制成的单个透明电极307设置在透明层306和第二取向层305之间。
每个方形电极301与透明电极307的覆盖区域和中间液晶材料一起限定可控的相位调制元件308,通常称为像素。考虑到像素之间的空间301a,有效像素面积或填充因子是光学上活性的总像素的百分比。通过控制相对于透明电极307施加到每个电极301的电压,可以改变各个相位调制元件的液晶材料的特性,从而为入射在其上的光提供可变延迟。效果是向波前提供纯相位调制,即不发生振幅效果。
所描述的LCOS SLM以反射方式输出空间调制的光。反射型LCOS SLM具有的优势在于,信号线、光栅线和晶体管位于镜面之下,这导致了高填充因子(通常大于90%)和高分辨率。使用反射型LCOS空间光调制器的另一优势在于,液晶层的厚度可以是使用透射型装置时所需厚度的一半。这大大提高了液晶的切换速度(投影运动视频图像的关键优势)。然而,可以使用透射型LCOS SLM同样地实现本公开的教导。
2D傅立叶变换的实现
参考图4A-D,表示2D图像的图像数据的二维(2D)傅立叶变换可被分解成两个一维(1D)傅立叶变换,沿每个维度一个。图4A示出了表示图像405的复数数据值的2D阵列410,例如,其幅度对应于像素值和随机相位,如上所述。如箭头415所示,为阵列410的每一行计算傅立叶变换425,以计算行傅立叶变换阵列430的相应行420(见图4B和4C)。可以说阵列430是逐行傅立叶变换的。阵列430然后被逐列傅立叶变换,如图4C中的箭头435所示,以提供表示阵列410的2D傅立叶变换445的数据值阵列440,该阵列410表示图像405(参见图4D)。
参考图5,特别适用于执行2D图像的二维(2D)傅立叶变换的图像数据处理系统包括第一傅立叶变换引擎552,其布置成:接收表示第一复数数据值的第一阵列的第一数据流501,其中每个第一复数数据值是由x位形成的实值和由x位形成的虚值,即数据值是笛卡尔形式;对第一复数数据值的第一阵列执行第一复数傅立叶变换,以形成第二复数数据值的第二阵列,其中每个第二复数数据值是由x位形成的实值和由x位形成的虚值;并输出代表第二复数数据值的第二阵列的第二数据流502。例如,x=32位。
具体而言,第一阵列代表如图4A中的阵列410所示的输入图像,其中对应于输入图像中的图像强度(像素值)的复数据值的幅度和随机相位被分配给每个数据值。例如,这些数据分配可以以极坐标形式进行,然后将数据值转换成笛卡尔形式。该阵列可以用复数数据值Aij表示如下:
由第一傅立叶变换引擎552接收的相应数据流(第一数据流501)可以表示如下,其中傅立叶变换引擎552逐行地接收数据值:
[A11 A12 A13 … A1n A21 A22 A23 … A2n Am1 Am2 Am3 … Amn]
傅立叶变换引擎552按如下方式一次一行地处理数据值,其中FFT表示快速傅立叶变换,尽管应理解可以使用任何傅立叶变换实现:
傅立叶变换引擎552逐个地输出每个变换行,从而创建另一数据流(第二数据流502),其对应于阵列的维度之一的傅立叶变换,例如图4C中的阵列430所示的阵列的行:
[A′11 A′12 A′13 … A′1n A′21 A′22 A′23 … A′2n A′m1 A′m2 A′m3 … A′mn]
第一数据转换引擎554布置成:接收第二数据流502;将每个第二复数数据值转换成极坐标形式,其具有由x位形成的幅度值和由x位形成的相位值;压缩每个幅度值和每个相位值以形成第三复数数据值的第三阵列,例如其具有由y位形成的幅度值和由y位形成的相位值,其中y<x;并且输出代表第三复数数据值的第三阵列的第三数据流503。例如,x=32位,y=8位。
转换和压缩的组合操作可以表示如下:
第三数据流503可以表示如下:
[a′11 a′12 a′13 … a′1n a′21 a′22 a′23 … a′2n a′m1 a′m2 a′m3 … a′mn]
应当理解,表示图像的数据值的压缩可以包括(或甚至包含)将极坐标形式的每个数据值转换成使用较少位的数字格式,例如将幅度和相位中的每个分别转换成使用较少位的数字格式。例如,原始数字格式可以对每个相位和幅度使用一个双(64位)或单(32位)浮点数,并且引擎554可以任何方式将每个数字转换成半(16位)或四分之一(8位)浮点数,例如通过从浮点数的小数部分删除所需数量的最低有效位。数字格式(原始的和压缩的)当然不限于此,数字可以用其他格式表示,例如二进制或整数格式。例如,在一种可能的格式中,相位2π对应于相位部分的最大可表示二进制/整数,其中0和2π之间的值在0和该数之间的可用水平上均匀间隔,并且幅度类似地用阈值幅度(最大可表示幅度)来表示,该阈值幅度对应于最大可表示数值以及零和该幅度之间的中间值,其在之间的可用水平上均匀间隔。在特定示例中,初始数字格式表示1024级中的每个相位和幅度(每个32位,总共64位),压缩数字格式表示64级中的每个相位和幅度(每个8位,总共16位)。
在任一情况下,压缩相位可以包括将值重新分配到低位表示中0和2π之间的可用水平。对于幅度值(不一定限于固定的间隔),基于对可能出现的幅度的了解,数值可以限于固定的间隔。例如,幅度值可被缩放到较低的数值,使得更适合于可用范围内,并且被分配给相应的可用表示水平,同时仍然超过最大可表示数的幅度值设置(阈值化)为该数。用于按比例缩小(乘以)数值的缩放因子可以基于作为折衷的典型数据集的知识来设置,使得当可用水平表示可接受的精度时,不超过可接受数量的幅度可能被阈值化(水平在数字上的间隔没有比期望的更大/更粗糙)。
还应当理解,虽然图像数据的转换和压缩被描述为单独的操作,但这是为了方便描述第一数据转换引擎554而完成的,并且涵盖了存在单独操作和不存在单独操作的那些实施方式。例如,每个数据值可以由处理器读取到工作寄存器(处理器的其他内部表示)中,以将数据值转换成极坐标形式,并以较低的位数格式写出到存储器中用于进一步处理,这可以从处理器外部描述为单个操作(尽管各种机器级操作当然发生在处理器内部以实现此)。
行-列变换引擎556布置成:接收第三数据流503;将第三复数数据值的第三阵列写入存储器;并且读出表示第四复数数据值的第四阵列的第四数据流504,其中第四复数数据值的第四阵列是第三复数数据值的第三阵列的行-列变换或转置。
具体地,转换引擎556逐行接收由第一数据转换引擎554产生的第三数据流503,并将数据值逐行写入存储器。一旦所有的第三数据流503(即阵列的所有行)都被写入存储器,数据值就被逐列地从存储器中读出。得到的数据流(第四数据流504)可以表示如下:
[a′11 a′21 a′31 … a′m1 a′12 a′22 a′32 … a′m2 a′1n a′2n a′3n … a′mn]
相应的(行傅立叶变换、压缩和转置)阵列可以表示如下:
上述阵列可以形成代表输出图像的图像数据,或者可以用作如下所述的进一步处理迭代的输入图像数据。
因此,在一些实施例中,提供了一种图像数据处理系统,该系统以转置形式提供逐行傅立叶变换阵列,以准备进行逐列处理,由此当然可以理解,行和列在本文被称为各个维度中的各个线性阵列的示例,并且相应地,处理可以逐列开始且数据处理系统逐行提供阵列。换句话说,术语“行”仅用于表示跨越一维(行或列、水平或竖直等)的线性阵列,术语“列”仅用于表示跨越2D阵列中另一维的线性阵列。
参考图6,第二数据转换引擎558布置成:接收第四数据流504;解压缩每个第四复数数据值;将每个第四复数数据值转换成第五复数数据值,其包括实值和虚值,即转换成笛卡尔形式;并输出代表第五复数数据值的第五阵列的第五数据流505。
第二数据转换引擎558的操作可以被概念化如下:
具体地,图像数据的解压缩可以包括上述图像数据压缩的逆操作,例如将相位值重新量化为更大数量的可用水平(例如用额外的零填充并且在第三/第四数据流503、504的水平之间添加空水平),并且根据情况,用比例因子的逆来缩放幅度值并重新量化,或者转换回例如双格式。
应当理解,行-列变换引擎可仅被实现为接收第三数据流的存储器,并且由第一数据转换引擎554将其顺序写入存储器,在一些实施方式中,具有向第二数据转换引擎558发信号通知所有数据流503已被写入的功能(可替代地在第一数据转换引擎554中实现)。在这样的实施方式中,该信号则触发第二数据转换引擎558从存储器中读取从a11开始每第n个数据值,即(忽略任何偏移和特定寻址方案)顺序读取存储器地址1+(k-1)·n,其中k={1;2;3;4;…;m·n}。当然,在其他实施例中,这种寻址/读出方案由行-列变换引擎实现。
第二傅立叶变换引擎560布置成:接收第五数据流505;对第五复数数据值的第五阵列执行第二1D复数傅立叶变换,以形成第六复数数据值的第六阵列,其中每个第六复数数据值是由x位形成的实值和由x位形成的虚值;并且输出表示第六复数数据值的第六阵列的第六数据流506,其中第二1D复数傅立叶变换与第一1D复数傅立叶变换正交,即就行和列而言,变换列而不是行。
第二傅立叶变换引擎560的操作可以表示如下:
具体地,第二傅立叶变换引擎560逐列接收第五数据流505中的数据值,一次变换一列,并逐列输出第六数据流506。
数据值的第六阵列是第一阵列(例如输入图像)的2D傅立叶变换的转置,可以表示如下:
相应的第六数据流可以表示如下:
[A″11 A″21 … A″m1 A″12 A″22 … A″m2 A″1n A″2n … A″mn]
因此,在一些实施例中,提供了一种图像数据处理系统,其提供了分解成2D阵列的逐行和逐列傅立叶变换的2D傅立叶变换。由于第一阵列包括代表输入图像的图像数据,如上所述并如图4A所示,第六数据流可被看作是计算机生成的全息图(在上面一般描述并具体参考下面的数据处理系统描述的一次或多次迭代之后)。具体地,每个孤立的复数据值的相位值可被视为输入图像的计算机生成的纯相位全息图。因此,对应于计算机生成的全息图的第六数据流可被输出,以由全息显示设备显示,用于如本文所述的全息重建。因此,在一些实施例中,数据处理系统形成用于生成由2D阵列表示的图像的全息图的图像处理系统。数据值的二维第六阵列的值(对应于第六数据流)表示(即对应于)对应于二维输入图像的二维全息图的像素。
参考图7,实现2D逆傅立叶变换的图像数据处理系统包括第一逆傅立叶变换引擎564,其布置成:接收第七数据流507;对第七复数的第七阵列执行第一1D复数逆傅立叶变换,以形成第八复数数据值的第八阵列,其中每个第八复数数据值是由x位形成的实值和由x位形成的虚值;并输出代表第八复数数据值的第八阵列的第八数据流508。
如下所述,第七数据流507可以例如从第六数据流506中导出。
第三数据转换引擎566布置成:接收第八数据流508;将每个第八复数数据值转换成由x位形成的幅度值和由x位形成的相位值;压缩每个幅度值和每个相位值以形成第九复数数据值的第九阵列;并输出代表第九复数数据值的第九阵列的第九数据流509。
在一些实施例中,逆傅立叶变换图像数据处理系统与上面参考图5和6描述的数据处理系统共享行-列变换引擎556,例如上面讨论的存储器。在这种情况下,行-列变换引擎556还布置成:接收第九数据流509;将第九复数数据值的第九阵列写入存储器;并且读出表示第十复数数据值的第十阵列的第十数据流510,其中第十复数数据值的第十阵列是第九复数数据值的第九阵列的行-列变换。在其他实施例中,每个数据处理系统具有其自己的行-列变换引擎。
第四数据转换引擎568布置成:接收第十数据流510;解压缩每个第十复数据值;将每个第十复数数据值转换成包括实值和虚值的第十一复数据值;并输出代表第十一复数数据值的第十一阵列的第十一数据流511。
第二逆傅立叶变换引擎570布置成:接收第十一数据流511;对第十一复数数据值的第十一阵列执行第二1D复数逆傅立叶变换,以形成第十二复数数据值的第十二阵列,其中每个第十二复数数据值是由x位形成的实值和由x位形成的虚值;并且输出表示第十二复数数据值的第十二阵列的第十二数据流512,其中第二1D复数逆傅立叶变换与第一1D复数逆傅立叶变换正交。
有相关技术的读者将会意识到,逆傅立叶变换仅仅是应用于已经傅立叶变换的数据集的傅立叶变换。例如,如果傅立叶变换将图像变换为傅立叶表示,则逆变换通过再次对变换的数据集进行傅立叶变换而变换回图像表示。因此,上面对引擎552、554、558和560的详细描述分别同样适用于引擎564、566、568和570。在一些实施例中,相应的引擎可以相同的方式配置(在其他实施例中不同)。事实上,第二傅立叶变换引擎560的输出(第六数据流506)可以作为第一数据流501被直接反馈到第一傅立叶变换引擎552的输入,或者通过插入行-列变换(转置),因为正向和反向变换的操作是相同的。在这种情况下,实际上,引擎564、566、568和570分别被引擎552、554、558和560替换,从而重用各自的计算资源。同样,当它们对接收的数据值流执行相同的操作时,傅立叶变换引擎552和560可以通过相应地路由数据值流而被单个傅立叶变换引擎替换。换句话说,在一些实施例中,第一、第二、第三和/或第四傅立叶变换引擎是单个傅立叶变换引擎,尽管它们也可以各自是不同的独立引擎。
参考图8,在一些实施例中,上述图像数据处理系统被组合用于图像处理,以实现如上所述的计算机生成全息图的迭代计算。因此,由第一次迭代计算的第六数据流506不作为用于显示的全息图数据输出,而是通过逆傅立叶变换转换,用作下一次迭代的输入图像数据。第一幅度引擎562布置成接收第六数据流506并输出第七数据流507,第三傅立叶变换引擎564布置成从第一幅度引擎562接收第七数据流。如上所述,第一幅度引擎562布置成在逆变换发生之前替换第六数据流506中的复数数据值的幅度,例如通过将所有幅度设置为单位“1”。
第二幅度引擎572布置成接收第十二数据流512并输出第十三数据流513,其替换第一数据流501用于全息图的计算机生成算法的下一次迭代,如上所述。第一傅立叶变换引擎552布置成从第二幅度引擎572接收第十三数据流513。第二幅度引擎572布置成执行一个或两个功能。
一方面,在一些实施例中,第二幅度引擎572布置成将第十二数据流512中的复数值的幅度与输入图像的相应幅度或像素值进行比较,如上所述,并且如果如上所述满足拟合优度条件,则终止迭代算法。在其他实施例中,停止条件基于例如迭代次数,而不是拟合优度标准。无论如何,如果满足停止标准,算法终止并返回基于第六数据流506(以及相应的第六阵列,可能根据需要进行转置)的计算机生成的全息图,例如返回作为纯相位全息图的相应相位值阵列或作为全复数全息图的复数值阵列。因此,第六数据流/阵列被保存在存储器中,直到已经评估了当前迭代的停止标准(在迭代次数的标准的情况下,一旦第六数据流506已经被完全计算,这就可能发生)。
如果需要进一步迭代,即不满足停止标准,则如上所述,第二幅度引擎572替换第十二数据流512中的数据值的幅度,例如,用输入图像的相应一个或者幅度和输入图像的相应一个的组合来替换幅度,如上所述。
参照图9描述相应的图像处理方法。该方法可以使用上述系统或以任何其他方式来实现。应当理解,以上参照图5至图8描述的系统部件的特征的描述同样适用于相应的方法步骤,而不管它们是如何实现的。因此,下面的方法步骤的公开包括上面做出的相应的具体公开。
在步骤902,该方法被初始化,初始化计数器变量m=1和n=1,索引要处理的笛卡尔形式的复数数据值的2D NxM阵列和该阵列本身,例如基于如上所述要为其计算计算机生成的全息图的图像,尽管该方法不限于此,并且可以用于其他图像处理技术。应当理解,在视情况逐列/逐行地流式传输数据值的实施例中,不需要显式计数器,并且可以通过流式传输数据来驱动处理,或对数据值计数,或依赖于数据流中指示每行、列和/或阵列的结束的标志。
在步骤904,第n行被傅立叶变换,并且结果在步骤906被转换,首先转换成极坐标形式,然后转换成低位数字格式/表示。在步骤908,第n行以这种形式存储在存储器中,并且步骤910检查第n行是否是阵列的最后一行。如果n不增加(或者在流式实现中,从流中接收下一个M值),则重复步骤904至910,直到最后一行被处理。在一些实施例中,简单地提供用于进一步处理的压缩数据集,该过程在输出或存储所得阵列的这个阶段结束,如图9中的断点A所示。
在其他实施例中,该方法进行到步骤916,在步骤916,例如,从存储器读取数据值的第一列,然后在步骤918转换回,首先转换成原始数字格式或表示(或者比低位一需要更多位的至少一个),然后从极坐标转换回笛卡尔形式。然后在步骤920对该列数据值进行傅立叶变换。在一些实施例中,其中该方法提供2D傅立叶变换,而没有如下所述的进一步处理,该方法从图9中的断点B循环返回,以重复步骤916至920,直到该阵列已经被逐列处理,并且该方法终止、输出或存储所得阵列。
在提供用于计算计算机生成的全息图的迭代过程的其他实施例中,一旦列在步骤920已被变换,则数据值的幅度被替换,例如用单位“1”替换,如上所述,并且所得列在步骤924被傅立叶变换,在步骤926被转换并且在步骤928被存储,与步骤904到908的描述一致,行被列替换。在步骤930,检查是否已经处理了所有列。如果不是,则该过程在步骤932递增m(除非隐含在如上所述的流式实现中)。在一些实施例中,步骤916至920和922至928可以交错,使得当在步骤922至928处理并存储列m时,只要存在下一列,就在步骤916至920读取并处理下一列m+1。
如果在步骤930已经确定所有列都已被处理,则该过程前进到步骤934以重置n(除非在流式实现中不需要—见上文)。在步骤936,例如,从存储器中读取第一行。应当理解,步骤908将行作为顺序数据值写入存储器,并且步骤916按顺序读出每个第M值以读出列序列,然后在步骤928将其作为列序列写入,并且在步骤936读出每个第N值以再次读出行序列等,在下面描述的步骤948写入顺序行以循环返回,并且在步骤916重新开始读出列序列(跳过M)以结束循环。因此,参考图9所指的行和列指的是原始阵列的行和列,其在该方法的每个步骤中被变换。
在步骤938,如上文针对步骤918所述,将在步骤936读取的行转换回,并且在步骤940对转换回的行进行傅立叶变换。在步骤942,如上所述,基于要表示的图像来替换行的幅度,并且下一次迭代开始于在步骤944进行傅立叶变换,在步骤946如上文针对步骤906所述进行转换,并且在步骤948存储在存储器中。步骤950检查所有行都已被处理。如果不是,则n在步骤952递增,除非这隐含在如上所述的流式实现中,并且该方法循环回到步骤936以读取下一行。另一方面,如果在步骤950确定所有行都已被处理,则该方法循环回到步骤914以重置m(除非这在流式实现中不是必需的—见上文)且该方法在步骤916继续。因此,在一些实施例中,该方法实现了用于计算计算机生成全息图的迭代算法,其中步骤902至942对应于该算法的第一次迭代,步骤944至942的重复通过步骤914至940对应于后续迭代。
在一些实施例中,根据设定的迭代次数来定义停止标准。在这些实施例中,一旦达到迭代次数并且在最后一次迭代中已经处理了所有列,该方法就停止在点B。在该点的数据值,即在步骤920的傅立叶变换,用于形成全息图,因此至少在最后一次迭代(即自步骤902或914的最后一段的变换)中为此目的被存储用于所有列。例如,如上所述,数据值的相位可以用作纯相位全息图,如果需要,可以转置相应的阵列。
在一些实施例中,停止标准是根据阵列的数据值的幅度与原始输入图像相比的幅度分布的拟合优度来定义的,如上面详细描述。拟合优度的度量在断点C处确定,并且如果在该点确定算法已经充分收敛并且将要终止,则自最后步骤902或914以来在步骤922变换的列的数据值被用于如上所述构建全息图。为此,简单地维持由步骤920为阵列中的所有列产生的数据值的列的存储可能是方便的,其中每一列被其下一次迭代的对应列覆盖,或者以任何其他合适的方式。
因此,当满足停止标准时,该方法可以输出代表输入图像的全息图用于显示。例如,该方法可以将全息图输出到本文所述的全息显示设备。全息图可以是纯相位全息图或包括相位和振幅分量的全复数全息图。该方法可以实时接收来自图像源(例如摄像机)的输入图像序列,并实时输出代表相应图像的全息图序列。结果,该方法可以在图像被实时接收时即在低延迟时处理图像。由于如本文所述的复数图像数据的压缩,减少等待时间是可能的。此外,通过执行复数图像数据的极坐标表示的压缩,减少了图像数据中的误差。在一些实施例中,该方法可以在全息显示设备上显示每个全息图,例如布置成显示全息图的空间光调制器,并且用光照射空间光调制器以形成全息重建或全息回放图像。
根据所描述的方法,如本文所述,可以用减少的计算资源例如减少的存储容量和处理能力来执行对应于如本文所述生成相应全息图或处理图像所必需的图像数据的复数的大数据集的变换。此外,如本文所述,计算机生成的全息图或经处理的图像可以更高的速度和精度来计算。
附加特征
仅作为示例,实施例涉及电激活的LCOS空间光调制器。本公开的教导同样可以在能够显示根据本公开的计算机生成全息图的任何空间光调制器上实现,例如任何电激活的SLM、光激活的SLM、数字微镜器件或微机电器件。
在一些实施例中,光源是激光器。在一些实施例中,检测器是光电检测器。在一些实施例中,光接收表面是屏幕或漫射体。本公开的全息投影系统可用于提供改进的平视显示器(HUD)或头戴式显示器。在一些实施例中,提供了一种车辆,其包括安装在车辆中的全息投影系统以提供HUD。车辆可以是机动车辆,比如汽车、卡车、厢式货车、运货卡车、摩托车、火车、飞机、船或轮船。
全息重建的质量可能受到所谓的零级问题的影响,这是使用像素化空间光调制器的衍射特性的结果。这种零级光可被认为是“噪声”,包括例如镜面反射光和来自空间光调制器SLM的其他不需要的光。
在傅立叶全息术的示例中,这种“噪声”聚焦在傅立叶透镜的焦点上,导致全息重建中心的亮点。零级光可能被简单地阻挡,然而这意味着用暗点代替亮点。一些实施例包括角度选择性滤波器,以仅去除零级准直光线。实施例还包括在欧洲专利2,030,072中描述的管理零级的方法,该专利通过引用整体结合于此。
在一些实施例中,全息图的尺寸(每个方向上的像素数)等于空间光调制器的尺寸,使得全息图填充空间光调制器。也就是说,全息图使用空间光调制器的所有像素。在其他实施例中,全息图的尺寸小于空间光调制器的尺寸。在这些其他实施例的一些中,全息图的一部分(即全息图的像素的连续子集)在未使用的像素中重复。这种技术可被称为“平铺”,其中空间光调制器的表面区域被分成多个“平铺块”,其中每个代表全息图的至少一个子集。因此,每个平铺块的尺寸小于空间光调制器的尺寸。
全息回放场的大小(即全息重建的物理或空间范围)由空间光调制器的像素间距(即空间光调制器的相邻光调制元素或像素之间的距离)确定。可以在回放场中形成的最小特征可被称为“分辨率元素”、“图像点”或“图像像素”。通常,空间光调制器的每个像素具有四边形形状。四边形孔径的傅立叶变换是辛格函数,因此每个图像像素都是辛格函数。更具体地,回放场上每个图像像素的空间强度分布是辛格函数。每个辛格函数可被认为包括峰值强度初级衍射级和从初级径向向外延伸的一系列强度递减的较高衍射级。每个辛格函数的大小(即每个辛格函数的物理或空间范围)由空间光调制器的大小(即由光调制元件或空间光调制器像素阵列形成的孔径的物理或空间范围)确定。具体地,由光调制像素阵列形成的孔径越大,图像像素越小。通常希望有小的图像像素。
在一些实施例中,实施“平铺”技术来提高图像质量。具体地,一些实施例实现平铺技术以最小化图像像素的大小,同时最大化进入全息重建的信号内容的量。
然而,如果使用相干光源,例如激光,所得的全息重建仍会遭受“散斑”。散斑是众所周知的,是光学粗糙表面散射光干涉的结果。希望减少这种散斑。实施例包括减少全息重建中的感知散斑的元件和技术。
在一些实施例中,写入空间光调制器的全息图案包括至少一个完整平铺(即完整全息图)和平铺的至少一部分(即全息图的像素的连续子集)。
全息重建是在由空间光调制器定义的整个窗口的零级衍射级内产生的。优选地,第一级和随后的级被移位足够远,以便不与图像重叠,并且使得它们可以使用空间滤波器被阻挡。
在实施例中,全息重建是彩色的。在本文公开的示例中,使用三种不同颜色的光源和三种相应的空间光调制器来提供复合颜色。这些示例可被称为空间分离颜色“SSC”。在本公开所包含的变型中,每种颜色的不同全息图显示在同一SLM的不同区域上,然后组合形成复合颜色图像。然而,本领域技术人员将理解,本公开的至少一些设备和方法同样适用于提供复合颜色全息图像的其他方法。
其中一种方法被称为帧序列颜色“FSC”。在示例FSC系统中,使用三个激光器(红、绿和蓝),并且每个激光器在单个SLM上连续发射,以产生视频的每个帧。颜色以足够快的速度循环(红、绿、蓝、红、绿、蓝等),使得人类观察者从三个激光形成的图像的组合中看到多色图像。因此,每个全息图都是特定颜色的。例如,在每秒25帧的视频中,第一帧将通过发射红色激光1/75秒来产生,然后发射绿色激光1/75秒,最后发射蓝色激光1/75秒。然后产生下一帧,从红色激光开始,以此类推。
FSC方法的优点是整个SLM都用于每一种颜色。这意味着所产生的三种颜色图像的质量不会受到损害,因为SLM上的所有像素都用于每一种颜色图像。然而,FSC方法的缺点是,产生的整体图像将不如由SSC方法产生的相应图像明亮,约暗淡3倍,因为每个激光仅被使用三分之一的时间。这一缺点可能通过过驱动激光器或使用更强的激光器来解决,但这将需要使用更多的功率,将涉及更高的成本,并将使系统更不紧凑。
SSC方法的优点是,由于所有三个激光器同时发射,图像更亮。然而,如果由于空间限制,需要只使用一个SLM,SLM的表面区域可分成三个部分,实际上相当于三个独立的SLM。这样做的缺点是,由于每个单色图像可用的SLM表面区域的减少,每个单颜色图像的质量降低。多色图像的质量因此相应地降低。可用的SLM表面区域的减少意味着SLM上可以使用的像素更少,从而降低图像质量。由于分辨率降低,图像质量降低。实施例利用了英国专利2,496,108中公开的改进SSC技术,该专利通过引用整体结合于此。
示例描述了用可见光照射SLM,但本领域技术人员将理解,光源和SLM同样可以用于引导红外光或紫外光,例如如本文所公开。例如,本领域技术人员将会知道为了向用户提供信息而将红外光和紫外光转换成可见光的技术。例如,本公开扩展到为此目的使用磷光体和/或量子点技术。
一些实施例仅通过示例的方式描述了2D全息重建。在其他实施例中,全息重建是3D全息重建。也就是说,在一些实施例中,每个计算机生成的全息图形成3D全息重建。
计算设备
图10示出了计算设备1000的一实施方式的框图,其中可以执行一组指令,用于使计算设备执行本文讨论的任何一个或多个方法。在替代实施方式中,计算设备可以连接(例如联网)到局域网(LAN)、内联网、外联网或互联网中的其他机器。计算设备可以客户机-服务器网络环境中的服务器或客户机的身份运行,或者作为对等(或分布式)网络环境中的对等机器运行。计算设备可以是个人计算机(PC)、平板计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或者能够执行指定该机器要采取的动作的一组指令(顺序的或其他的)的任何机器。此外,虽然仅示出了单个计算设备,但术语“计算设备”也应当理解为包括单独或联合执行一组(或多组)指令以执行本文讨论的任何一种或多种方法的机器(例如计算机)的任何集合。
示例计算设备1000包括处理设备1002、主存储器1004(例如只读存储器(ROM)、闪存、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM))等,静态存储器1006(例如闪存、静态随机存取存储器(SRAM)等)和辅助存储器(例如数据存储设备1018),它们通过总线1030相互通信。
处理设备1002代表一个或多个通用处理器,例如微处理器、中央处理单元等。更具体地,处理设备1002可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器或者实现指令集组合的处理器。处理设备1002也可以是一个或多个专用处理设备,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备1002配置为执行用于执行本文讨论的操作和步骤的处理逻辑(指令1022)。
计算设备1000还可以包括网络接口设备1008。计算设备1000还可以包括视频显示单元1010(例如液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备1012(例如键盘或触摸屏)、光标控制设备1014(例如鼠标或触摸屏)和音频设备1016(例如扬声器)。
数据存储设备1018可以包括一个或多个机器可读存储介质(或者更具体地,一个或多个非暂时性计算机可读存储介质)1028,其上存储了体现本文描述的任何一个或多个方法或功能的一组或多组指令1022。在计算机系统1000执行指令期间,指令1022也可以完全或至少部分地驻留在主存储器1004和/或处理设备1002中,主存储器1004和处理设备1002也构成计算机可读存储介质。
上述各种方法可以通过计算机程序来实现。该计算机程序可以包括计算机代码,其布置成指示计算机执行上述各种方法中的一种或多种的功能。用于执行这种方法的计算机程序和/或代码可以在一个或多个计算机可读介质上或者更一般地在计算机程序产品上被提供给诸如计算机的装置。计算机可读介质可以是暂时的或非暂时的。一个或多个计算机可读介质可以是例如电子、磁、光、电磁、红外或半导体系统,或者用于数据传输的传播介质,例如用于通过互联网下载代码。可替代地,一个或多个计算机可读介质可以采取一个或多个物理计算机可读介质的形式,例如半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘,比如CD-ROM、CD-R/W或DVD。
在一实施方式中,本文描述的模块、部件和其他特征可被实现为分立部件,或者集成在硬件部件的功能中,比如ASICS、FPGA、DSP或类似设备。
“硬件部件”是能够执行特定操作的有形(例如非暂时性)物理部件(例如一个或多个处理器的集合),并且可以特定的物理方式来配置或布置。硬件部件可以包括永久配置为执行某些操作的专用电路或逻辑。硬件部件可以是或包括专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件部件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。
因此,短语“硬件部件”应被理解为包括有形实体,其可被物理地构造、永久地配置(例如硬连线)或临时地配置(例如编程)为以特定方式操作或执行本文描述的特定操作。
此外,模块和部件可以实现为硬件设备内的固件或功能电路。此外,模块和部件可以在硬件设备和软件部件的任何组合中实现,或者仅在软件中实现(例如存储或以其他方式包含在机器可读介质或传输介质中的代码)。
该描述参考了诸如傅立叶变换引擎、转换引擎、变换引擎等数据处理引擎。应当理解,这些引擎可以在相应的专用硬件部件中实现,在硬件部件之间共享或共享硬件部件,例如在相应的模块中实现,在软件中实现,例如固件、中间件等,或者在硬件中实现。
除非特别声明,否则从下面的讨论中显而易见的是,在整个描述中,使用诸如“接收”、“确定”、“比较”、“启用”、“维护”、“识别”、“变换”、“转换”、“存储”、“读取”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵和变换成计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备中类似地表示为物理量的其他数据。
本文描述的方法和过程可以体现在计算机可读介质上。术语“计算机可读介质”包括布置为临时或永久地存储数据的介质,比如随机存取内存(RAM)、只读内存(ROM)、缓冲内存、闪存和高速缓冲内存。术语“计算机可读介质”也应被认为包括能够存储用于由机器执行的指令的任何有形非暂时性介质或多种介质的组合,使得当指令被一个或多个处理器执行时使该机器整体地或部分地执行本文所述的任何一种或多种方法。
术语“计算机可读介质”还涵盖基于云的存储系统。术语“计算机可读介质”包括但不限于以固态存储芯片、光盘、磁盘或其任何合适的组合的示例形式的一个或多个有形和非暂时性数据存储库(例如数据卷)。在一些示例实施例中,用于执行的指令可以由载体介质传递。这样的载体介质的示例包括瞬态介质(例如传递指令的传播信号)。
附加公开方面和实施例
公开了以下方面和实施例:
1.一种布置成对对应于图像的复数数据集执行复傅立叶变换的系统,其中该系统包括:
第一傅立叶变换引擎,其布置成接收复数数据集,并以笛卡尔形式执行复数数据集的第一1D复数傅立叶变换;
第一数据转换引擎,其布置成接收由第一傅立叶变换引擎处理的复数数据集,将复数数据集转换成极坐标形式,并且以极坐标形式压缩复数数据集;
行-列变换引擎,其布置成接收由第一数据转换引擎处理的复数数据集,并执行复数数据集的行-列变换;
第二数据转换引擎,其布置成接收由行-列变换引擎处理的复数数据集,解压缩该复数数据集并将该复数数据集转换回笛卡尔形式;以及
第二傅立叶变换引擎,其布置成接收由第二数据转换引擎处理的复数数据集,并且以笛卡尔形式执行复数据的第二1D复数傅立叶变换,其中第二1D复数傅立叶变换与第一1D复数傅立叶变换正交。
2.如项1所列的系统,其中第一数据转换引擎布置成通过将每个幅度值乘以比例因子来压缩极坐标形式的复数数据集。
3.如任一前述项所列的系统,其中第一数据转换引擎布置成通过将复数数据集的每个幅度值和每个相位值从x位转换成y位来压缩极坐标形式的复数数据集,其中x>y
4.如项3所列的系统,其中第一数据转换引擎布置成通过将最大允许值以上的任何幅度值阈值化为最大允许值来压缩极坐标形式的复数数据集。
5.如项4所列的系统,其中最大允许值是具有y位的最大允许值。
6.如任一前述项所列的系统,其中第一数据转换引擎布置成通过量化相位值来压缩复数数据集。
7.如任一前述项所列的系统,其中第二数据转换引擎布置成通过将每个幅度值和每个相位值从y位转换回x位并将每个幅度值乘以比例因子的倒数来解压缩复数数据集。
8.如任一前述项所列的系统,其中行-列变换引擎其布置成通过将接收到的复数数据集写入存储器并以与接收到的顺序不同的顺序从存储器中读出复数数据集来执行行-列变换。
9.如项8所列的系统,其中存储器是静态随机存取存储器。
10.一种布置成对对应于图像的复数数据集执行复数逆傅立叶变换的系统,其中该系统包括:
第一逆傅立叶变换引擎,其布置成接收复数数据集,并以笛卡尔形式执行复数数据集的第一1D复数逆傅立叶变换;
第三数据转换引擎,其布置成接收由第一逆傅立叶变换引擎处理的复数数据集,将复数数据集转换成极坐标形式,并且以极坐标形式压缩复数数据集;
行-列变换引擎,其布置成接收由第一数据转换引擎处理的复数数据集,并执行复数数据集的行-列变换;
第四数据转换引擎,其布置成接收由行-列变换引擎处理的复数数据集,解压缩该复数数据集并将该复数数据集转换回笛卡尔形式;以及
第二逆傅立叶变换引擎,其布置成接收由第二数据转换引擎处理的复数数据集,并且以笛卡尔形式执行复数据的第二1D复逆傅立叶变换,其中第二1D复逆傅立叶变换与第一1D复逆傅立叶变换正交。
11.如项10所列的系统,其中第三数据转换引擎布置成通过将每个幅度值乘以比例因子来压缩极坐标形式的复数数据集。
12.如项10或11所列的系统,其中第三数据转换引擎布置成通过将复数数据集的每个幅度值和每个相位值从x位转换成y位来以极坐标形式压缩复数数据集,其中x>y
13.如项12所列的系统,其中第三数据转换引擎布置成通过将最大允许值以上的任何幅度值阈值化为最大允许值来压缩极坐标形式的复数数据集。
14.如项13所列的系统,其中最大允许值是y位的最大允许值。
15.如项10至14中任一项所列的系统,其中第三数据转换引擎布置成通过量化相位值来压缩复数数据集。
16.如项10至15中任一项所列的系统,其中第四数据转换引擎设置为通过将每个幅度值和每个相位值从y位转换回x位,然后将每个幅度值乘以比例因子的倒数来解压缩复数数据集。
17.如项10至16中任一项所述的系统,其中行-列变换引擎还布置成将接收到的复数数据集写入存储器,并且以与接收到的顺序不同的顺序从存储器读出复数数据集,以便执行行-列变换。
18.如项17所列的系统,其中存储器是静态随机存取存储器。
19.一种布置成处理对应于图像的复数数据集的系统,该系统包括:
项1至9中任一项的数据处理系统;
项10至18中任一项的数据处理系统;以及
数据处理器,其布置成:接收由第二傅立叶变换引擎处理的复数数据集,并替换幅度值以形成由第一逆傅立叶变换引擎接收的复数数据集;和/或接收由第二逆傅立叶变换引擎处理的复数数据集,并替换幅度值以形成由第一傅立叶变换引擎接收的复数数据集。
20.如前述任一项所列的系统,其中第一1D复数傅立叶变换与第一1D复数逆傅立叶变换正交。
21.如前述任一项所列的系统,其中复数数据集由系统处理为1D数据流。
22.如前述任一项所列的系统,其中复数数据由系统在串行总线上处理。
23.如前述任一项所列的系统,还包括控制器,其布置成输出代表光谱域中的图像的全息图。
24.如项22所列的系统,其中全息图是纯相位全息图或包括相位和振幅分量的全复数全息图。
25.如项22或23所列的系统,其中控制器布置成实时接收图像序列,并实时输出代表光谱域中相应图像的全息图序列。
26.如项22至24中任一项所列的系统,还包括布置成显示全息图的空间光调制器和布置成照射空间光调制器的光源。
27.一种对对应于图像的复数数据集执行复数傅立叶变换的方法,该方法包括以下有序步骤:
接收复数数据集,并以笛卡尔形式执行复数数据集的第一1D复数傅立叶变换;
将复数数据集转换成极坐标形式,并以极坐标形式压缩复数数据集;
执行复数数据集的行-列变换;
解压缩复数数据集并将复数数据集转换回笛卡尔形式;
执行笛卡尔形式的复数数据集的第二1D傅立叶变换,其中第二1D复数傅立叶变换与第一1D复数傅立叶变换正交。
28.一种对对应于图像的复数数据集执行复数逆傅立叶变换的方法,该方法包括以下有序步骤:
接收复数数据集,并以笛卡尔形式执行复数数据集的第一1D复数逆傅立叶变换;
将复数数据集转换成极坐标形式,并以极坐标形式压缩复数数据集;
执行复数数据集的行-列变换;
解压缩复数数据集并将复数数据集转换回笛卡尔形式;
以笛卡尔形式执行复数数据集的第二1D逆傅立叶变换,其中第二1D复数逆傅立叶变换与第一1D复数逆傅立叶变换正交。
29.如项26和27所列的方法,进一步包括:
替换由项26的方法产生的复数数据集的幅度值,以形成根据项27接收的复数数据集;和/或
替换由项27的方法产生的复数数据集的幅度值,以形成根据项26接收的复数数据集。
应当理解,以上描述旨在说明而非限制。在阅读和理解以上描述后,许多其他实施方式对于本领域技术人员来说将是显而易见的。尽管已经参考具体的示例实现方式描述了本公开,但应当认识到,本公开不限于所描述的实现方式,而是可以在所附权利要求的精神和范围内通过修改和变更来实施。
因此,说明书和附图被认为是说明性的,而不是限制性的。因此,本公开的范围应当参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
Claims (20)
1.一种图像处理系统,包括:
一个或多个处理器,其布置成执行对应于图像的第一复数数据集的傅立叶变换,其中第一复数数据集包括笛卡尔形式的复数值的二维阵列,每个复数值以具有第一位数的第一数字格式表示,二维阵列的值表示图像的像素,并且二维阵列定义表示沿一维的像素的值的第一线性阵列和表示沿另一维的像素的值的第二线性阵列;
存储可由一个或多个处理器执行的指令的有形非暂时性计算机可读介质,其中指令在被执行时使得图像处理系统执行包括以下的功能:
以笛卡尔形式对第一复数数据集的值的每个第一线性阵列执行1D傅立叶变换;
将每个傅立叶变换的第一线性阵列的每个值转换成极坐标形式;
将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数;
通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中;
通过第二线性阵列从存储器第二线性阵列中读出值;
将从存储器中读取的每个值转换回第一数字格式;
将转换回第一数字格式的每个值转换回笛卡尔形式;
对转换回笛卡尔形式的值的每个第二线性阵列执行1D傅立叶变换,其中值的傅立叶变换的第二线性阵列用于形成第二复数数据集;以及
使用第二复数数据集形成图像数据;以及
控制器,其布置成输出图像数据用于显示。
2.根据权利要求1所述的图像处理系统,其中,所述功能还包括:
替换值的傅立叶变换的第二线性阵列的幅度值以形成第二复数数据集,其中第二复数数据集中的第一线性阵列对应于第一复数数据集中的第二线性阵列。
3.根据权利要求1所述的图像处理系统,其中,将极坐标形式的每个值转换成第二数字格式包括将每个幅度乘以比例因子。
4.根据权利要求1所述的图像处理系统,其中,将极坐标形式的值转换成第二数字格式包括将每个幅度值从x1位转换成y1位,其中x1>y1,并且将每个相位值从x2位转换成y2位,其中x2>y2。
5.根据权利要求4所述的图像处理系统,其中,将极坐标形式的每个值转换成第二数字格式包括将最大允许值以上的任何幅度值设置为最大允许值,其中,可选地,最大允许值是可以用y1位表示的最大幅度值。
6.根据权利要求1所述的图像处理系统,其中,将极坐标形式的每个值转换成第二数字格式包括用比第一数字格式更低的级数量化极坐标形式的值的相位值。
7.根据权利要求3所述的图像处理系统,其中,将笛卡尔形式的每个值转换成第一数字格式包括将每个幅度值从y1位转换回x1位以及将每个相位值从y2位转换回x2位,并将每个幅度值乘以比例因子的倒数。
8.根据权利要求1所述的图像处理系统,其中,所述功能还包括:
处理一个第一线性阵列,同时处理另一个第一线性阵列;以及
处理一个第二线性阵列,同时处理另一个第二线性阵列。
9.根据权利要求1所述的图像处理系统,其中,所述功能还包括:
接收第一复数数据集作为流。
10.根据权利要求1所述的图像处理系统,其中,所述功能还包括:
执行第二复数数据集的傅立叶变换,其中,所述第二复数数据集包括笛卡尔形式的复数值的二维阵列,每个复数值以具有第三位数的第三数字格式表示,所述二维阵列定义沿着一维的值的第一线性阵列和沿着另一维的值的第二线性阵列;
对第二复数数据集的每个第一线性阵列执行1D傅立叶变换;
将每个值转换成极坐标形式;
将极坐标形式的每个值转换成具有第四位数的第四数字格式,第四位数小于第三位数;
通过第一线性阵列将第四数字格式的值存储在另一存储器第一线性阵列中;
通过第二线性阵列从存储器第二线性阵列中读出值;
将每个值转换回第三数字格式,并将转换回第一数字格式的每个值转换回笛卡尔形式;
对第二复数数据集的每个第二线性阵列执行1D傅立叶变换;以及
替换幅度值以形成接收的第二复数数据集和第一复数数据集中的相应一个,其中第二复数数据集中的第一线性阵列对应于第一复数数据集中的第二线性阵列。
11.根据权利要求1所述的图像处理系统,其中,输出图像数据用于显示包括输出代表用于显示的图像数据的全息图,其中,可选地,全息图是纯相位全息图或包括相位和振幅分量的全复数全息图。
12.根据权利要求11所述的图像处理系统,其中,所述控制器布置成实时接收图像序列,并实时输出代表相应图像的全息图序列。
13.根据权利要求11所述的图像处理系统,进一步包括:
全息显示设备,其布置成显示全息图,其中,可选地,全息显示设备包括布置成显示全息图的空间光调制器和布置成照射空间光调制器的光源。
14.一种方法,包括:
对第一复数数据集中的每个第一线性阵列执行1D傅立叶变换,其中第一复数数据集对应于图像,其中第一复数数据集包括笛卡尔形式的复数值的二维阵列,每个复数值以具有第一位数的第一数字格式表示,二维阵列的值表示图像的像素,并且二维阵列定义表示沿一维的像素的值的第一线性阵列和表示沿另一维的像素的值的第二线性阵列;
以笛卡尔形式对第一复数数据集的值的每个第一线性阵列执行1D傅立叶变换;
将每个傅立叶变换的第一线性阵列的每个值转换成极坐标形式;
将极坐标形式的每个值转换成具有第二位数的第二数字格式,其中第二位数小于第一位数;
通过第一线性阵列将第二数字格式的值存储在存储器第一线性阵列中;
通过第二线性阵列从存储器第二线性阵列中读出值;
将从存储器中读取的每个值转换回第一数字格式;
将转换回第一数字格式的每个值转换回笛卡尔形式;
对转换回笛卡尔形式的值的每个第二线性阵列执行1D傅立叶变换,其中值的傅立叶变换的第二线性阵列用于形成第二复数数据集;
使用第二复数数据集形成图像数据;以及
输出图像数据用于显示。
15.根据权利要求14所述的方法,包括:
替换每个傅立叶变换的第二线性阵列的值的幅度,以形成另外值的相应第二线性阵列;
对另外值的每个第二线性阵列执行1D傅立叶变换;
将每个傅立叶变换的第二线性阵列的每个另外值转换成极坐标形式的另外值;
将极坐标形式的每个另外数据值转换成具有另外第二位数的另外第二数字格式的另外值,其中另外第二位数小于第一位数;
通过第二线性阵列将另外第二数字格式的另外值存储在存储器第二线性阵列中;
通过第一线性阵列从存储器第一线性阵列读出另外值;
将从存储器中读取的每个另外值转换回第一数字格式;
将转换回第一数字格式的每个另外值转换回笛卡尔形式;以及
对转换回笛卡尔形式的另外值的每个第一线性阵列执行1D傅立叶变换。
16.根据权利要求14所述的方法,其中,将极坐标形式的每个值转换成第二数字格式包括以下中的一个或多个:
将每个幅度乘以比例因子;
将每个幅度值从x1位转换成y1位,其中x1>y1,将每个相位值从x2位转换成y2位,其中x2>y2,其中,可选地,将最大允许值以上的任何幅度值设置为最大允许值,可选地,其中,最大允许值是可以用y1位表示的最大幅度值;以及
用比第一数字格式更低的级数量化极坐标形式的值的相位值。
17.根据权利要求14所述的方法,包括在转换另一个第一线性阵列的同时对一个第一线性阵列进行傅立叶变换,其中在转换另一个第二线性阵列的同时对一个第二线性阵列进行傅立叶变换,或者两者都进行。
18.根据权利要求14所述的方法,其中,输出用于显示的图像数据包括:
输出表示图像数据的全息图,其中,可选地,全息图是纯相位全息图或包括相位和振幅分量的全复数全息图。
19.根据权利要求18所述的方法,进一步包括:
实时接收图像序列,并实时输出表示相应图像的全息图序列。
20.根据权利要求18所述的方法,进一步包括:
在全息显示设备上显示全息图,可选地,在空间光调制器上显示全息图并照射空间光调制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2013203.1A GB2598310B (en) | 2020-08-24 | 2020-08-24 | Data processing |
GB2013203.1 | 2020-08-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114092757A true CN114092757A (zh) | 2022-02-25 |
Family
ID=72660865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110972915.9A Pending CN114092757A (zh) | 2020-08-24 | 2021-08-24 | 图像处理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220057751A1 (zh) |
EP (1) | EP3962087A1 (zh) |
JP (1) | JP7360428B2 (zh) |
CN (1) | CN114092757A (zh) |
GB (1) | GB2598310B (zh) |
TW (1) | TWI772133B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI815382B (zh) * | 2022-03-30 | 2023-09-11 | 國立臺灣科技大學 | 產生全像影像的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3448486B2 (ja) * | 1997-05-28 | 2003-09-22 | 日本電信電話株式会社 | 画像伝送方法および装置およびそれらのプログラムを記録した記録媒体 |
GB0511962D0 (en) * | 2005-06-14 | 2005-07-20 | Light Blue Optics Ltd | Signal processing systems |
EP2006803A1 (en) * | 2007-06-19 | 2008-12-24 | Agfa HealthCare NV | Method of segmenting anatomic entities in 3D digital medical images |
EP2624751A4 (en) * | 2010-10-07 | 2018-02-07 | Duke University | Multi-dimensional iterative phase-cycled reconstruction for mri images |
JP5654373B2 (ja) * | 2011-02-01 | 2015-01-14 | 株式会社富士通アドバンストエンジニアリング | 演算装置、演算方法およびプログラム |
US20120236021A1 (en) * | 2011-03-15 | 2012-09-20 | Qualcomm Mems Technologies, Inc. | Methods and apparatus for dither selection |
US8706794B1 (en) * | 2011-08-23 | 2014-04-22 | Gregory K. Fleizach | No-multiply digital signal processing method |
US10210606B2 (en) * | 2014-10-14 | 2019-02-19 | Kla-Tencor Corporation | Signal response metrology for image based and scatterometry overlay measurements |
KR20170094350A (ko) * | 2014-12-09 | 2017-08-17 | 바스프 에스이 | 광학 검출기 |
KR102477093B1 (ko) * | 2015-10-13 | 2022-12-13 | 삼성전자주식회사 | 푸리에 변환을 수행하는 방법 및 장치 |
KR102654862B1 (ko) * | 2016-08-31 | 2024-04-05 | 삼성전자주식회사 | 영상 처리 방법 및 장치 |
GB2551870B (en) * | 2017-04-07 | 2020-04-01 | Dualitas Ltd | Holographic projector |
GB2568021B (en) * | 2017-09-08 | 2021-12-01 | Dualitas Ltd | Holographic projector |
KR102581470B1 (ko) * | 2017-11-22 | 2023-09-21 | 삼성전자주식회사 | 영상 데이터를 처리하는 방법 및 장치 |
KR102125795B1 (ko) * | 2018-11-29 | 2020-06-23 | 인하대학교 산학협력단 | 라이트필드의 비호겔방식 홀로그램 변환 방법 및 장치 |
-
2020
- 2020-08-24 GB GB2013203.1A patent/GB2598310B/en active Active
-
2021
- 2021-07-28 EP EP21188268.3A patent/EP3962087A1/en active Pending
- 2021-08-02 TW TW110128368A patent/TWI772133B/zh active
- 2021-08-19 JP JP2021134122A patent/JP7360428B2/ja active Active
- 2021-08-24 US US17/410,586 patent/US20220057751A1/en active Pending
- 2021-08-24 CN CN202110972915.9A patent/CN114092757A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
GB202013203D0 (en) | 2020-10-07 |
JP2022036922A (ja) | 2022-03-08 |
GB2598310B (en) | 2022-10-12 |
TW202209246A (zh) | 2022-03-01 |
KR20220025692A (ko) | 2022-03-03 |
GB2598310A (en) | 2022-03-02 |
TWI772133B (zh) | 2022-07-21 |
JP7360428B2 (ja) | 2023-10-12 |
US20220057751A1 (en) | 2022-02-24 |
EP3962087A1 (en) | 2022-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307534B2 (en) | Holographic projector | |
CN111176092B (zh) | 全息投影显示设备上的像素映射 | |
US11480919B2 (en) | Holographic projector | |
CN113759688B (zh) | 显示装置和系统 | |
US11726432B2 (en) | Holographic projector | |
US11681257B2 (en) | Projection | |
TWI772133B (zh) | 用於影像處理之系統和方法 | |
CN112802421B (zh) | 显示设备和系统 | |
KR102678223B1 (ko) | 이미지 처리 | |
US11722650B2 (en) | Display device and system |
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 |