METHOD AND APPARATUS FOR SYNTHESIZING HIGH RESOLUTION COMPUTER GENERATED HOLOGRAM BASED ON MESH
20210149339 · 2021-05-20
Assignee
Inventors
- Han-Ju YEOM (Sejong-si, KR)
- Sanghoon CHEON (Daejeon, KR)
- Joongki PARK (Daejeon, KR)
- Kwan-Jung OH (Daejeon, KR)
- Keehoon HONG (Daejeon, KR)
Cpc classification
G03H1/2294
PHYSICS
G03H1/0891
PHYSICS
G03H1/0808
PHYSICS
International classification
G03H1/08
PHYSICS
Abstract
An apparatus for synthesizing ultra-high resolution computer generated holograms based on mesh propagates a plurality of 3D meshes constituting the 3D model to a hologram plane, divides an entire angular spectrum area corresponding to a set maximum diffraction angle into a plurality of partial angular spectral areas, sequentially calculates and accumulates angular spectrums of the plurality of 3D meshes for each of the plurality of partial angular spectrum areas, and generates holograms for the 3D model from the angular spectrums accumulated for each of the plurality of partial angular spectrum areas.
Claims
1. A method for synthesizing ultra-high resolution computer generated holograms based on mesh that synthesizes holograms for a 3D (three-dimensional) model in a mesh-based ultra-high resolution computer generated hologram synthesis apparatus, the method comprising: propagating a plurality of 3D meshes constituting the 3D model to a hologram plane; dividing an entire angular spectrum area corresponding to a set maximum diffraction angle into a plurality of partial angular spectral areas; sequentially calculating and accumulating angular spectrums of the plurality of 3D meshes for each of the plurality of partial angular spectrum areas; and generating holograms for the 3D model from the angular spectrums accumulated for each of the plurality of partial angular spectrum areas.
2. The method of claim 1, wherein the sequentially calculating and accumulating includes removing angular spectrums deviating from the hologram plane from angular spectrums of each 3D mesh using a band limitation parameter.
3. The method of claim 2, wherein the sequentially calculating and accumulating further includes calculating the band limitation parameter based on the coordinates of the corresponding 3D mesh and the position of the hologram plane.
4. The method of claim 1, wherein the sequentially calculating and accumulating further includes: sequentially calculating angular spectrums of a plurality of 3D meshes; removing the angular spectrum deviating from the hologram plane in the calculated angular spectrum of each 3D mesh by setting a band limit; and accumulating the angular spectrum of the each 3D mesh.
5. The method of claim 4, wherein the sequentially calculating includes: rotating each 3D mesh into a 2D mesh; calculating angular spectrums of the 2D mesh by performing a 2D fast Fourier transform of the 2D mesh; and calculating the angular spectrums of a corresponding 3D mesh using the angular spectrums of the 2D mesh.
6. The method of claim 1, wherein the generating includes calculating the holograms by performing a fast Fourier transform on the angular spectrums accumulated for each of the plurality of partial angular spectrum areas.
7. The method of claim 1, wherein the mesh includes a triangular mesh.
8. An apparatus for synthesizing ultra-high resolution computer generated holograms based on mesh that synthesizes holograms for a 3D (three-dimensional) model, the apparatus comprising: a mesh generator that generates a plurality of 3D meshes constituting a 3D model and propagates the plurality of 3D meshes to a hologram plane; an angular spectrum divider that divides the entire angular spectrum area set based on a maximum diffraction angle into a plurality of partial angular spectrum areas; an angular spectrum calculator that sequentially calculates angular spectrums of the plurality of 3D meshes with respect to the hologram plane for each partial angular spectrum area and accumulates the calculated angular spectrums; and a hologram generator that generates holograms from the angular spectrums of the plurality of partial angular spectrum areas.
9. The apparatus of claim 8, wherein the angular spectrum calculator limits angular spectrums of each 3D mesh that deviates from the hologram plane.
10. The apparatus of claim 9, wherein the angular spectrum calculator calculates a band limiting parameter based on coordinates of a corresponding 3D mesh and a position of the hologram plane, and removes angular spectrums that deviate from the hologram plane in the angular spectrums of the corresponding 3D mesh using the band limitation parameter.
11. The apparatus of claim 8, wherein the angular spectrum calculator maps a 3D mesh to a 2D mesh, calculates angular spectrums of the 2D mesh by performing a 2D fast Fourier transform, and calculates angular spectrums of the 3D mesh using the angular spectrums of the 2D mesh.
12. The apparatus of claim 8, wherein the hologram generator calculates the holograms by performing fast Fourier transform on the angular spectrums accumulated for each of the plurality of partial angular spectrum areas.
13. The apparatus of claim 8, wherein the mesh includes a triangular mesh.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0037] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings so that a person of ordinary skill in the art may easily implement the present invention. The present invention may be modified in various ways, and is not limited thereto. In the drawings, elements that are irrelevant to the description of the present invention are omitted for clarity of explanation, and like reference numerals designate like elements throughout the specification.
[0038] Throughout the specification and claims, when a part is referred to “include” a certain element, it means that it may further include other elements rather than exclude other elements, unless specifically indicated otherwise.
[0039] Hereinafter, a method and apparatus for synthesizing ultra-high resolution computer generated holograms (CGH) based on mesh according to embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0040]
[0041] Referring to
[0042] Specifically, the conventional ultra-high resolution CGH synthesis apparatus divides the hologram plane into (n−1) hologram areas (S102).
[0043] The conventional ultra-high resolution CGH synthesis apparatus moves the 3D model to the hologram plane (depth=z0=0) (S104), and then propagates the 3D triangular meshes constituting the 3D model to the hologram area to be calculated. The conventional ultra-high resolution CGH synthesis apparatus sequentially accesses (n−1) hologram areas to generate holograms in each hologram area.
[0044] The conventional ultra-high resolution CGH synthesis apparatus is set to i=1 and j=1 (S106). i is an index indicating a hologram area, and j is an index indicating a triangular mesh.
[0045] The conventional ultra-high resolution CGH synthesis apparatus checks whether i is less than n in order to generate a hologram for the j-th 3D triangular mesh in the i-th hologram area (S108). If i is less than n, it means that there is still a hologram area to be calculated, and if i is equal to n, it means that holograms of the 3D triangular meshes in (n−1) hologram areas have been calculated at z0=0.
[0046] When i is less than n, the conventional ultra-high resolution CGH synthesis apparatus performs a process of generating holograms of 3D triangular meshes in the i-th hologram area. Specifically, the conventional ultra-high resolution CGH synthesis apparatus rotates the j-th 3D triangular mesh into a 2D (two-dimensional) triangular mesh (S110), and calculates an angular spectrum of the 2D triangular mesh (S112). The hologram and the angular spectrum have a relationship of a 2D Fast Fourier Transform (FFT). The angular spectrum of the 2D triangular mesh can be calculated by the FFT of the 2D triangular mesh. Input data in triangular mesh-based CGH are coordinates in 3D space. Assuming that the 3D model consists of one triangle, since the triangle is represented by 3 points, the input data for the 3D triangle mesh is coordinate values of (x, y, z) corresponding to each of the three points. As an example, input data for a 3D triangular mesh may include (0, 0, 0.5), (0, 1, 0.3), and (1, 1, 0.8). Such 3D triangular mesh can be mapped to the 2D triangular mesh through rotation. By converting the z-coordinate values of the (x, y, z) coordinate values corresponding to the three points to 0 or all the same values, the 3D triangular mesh can be mapped to the 2D triangular mesh. For example, the 3D triangular mesh corresponding to [(0, 0, 0.5), (0, 1, 0.3), (1, 1, 0.8)] can be mapped to the 2D triangular mesh corresponding to [(0, 0, 0), (0, 1, 0), (1, 1, 0)]. That is, the 2D triangular mesh may be a 2D matrix in which values inside of the triangle are 1 and the rest are 0. The 2D matrix of the triangle is a hologram on a triangular plane. Therefore, when a 2D FFT is performed with a 2D matrix, the angular spectrum of the 2D triangular mesh can be calculated.
[0047] The conventional ultra-high resolution CGH synthesis apparatus calculates the angular spectrum of the 3D triangular mesh using the angular spectrum of the 2D triangular mesh (S114). The conventional ultra-high resolution CGH synthesis apparatus may obtain the angular spectrum of the 3D triangular mesh by modifying the angular spectrum of the 2D triangular mesh using the rotation angle in step S110. This process corresponds to an operation similar to interpolation.
[0048] The conventional ultra-high resolution CGH synthesis apparatus calculates the hologram of the j-th 3D triangular mesh by using the angular spectrum of the j-th 3D triangular mesh (S116). The hologram can be obtained by performing a 2D IFFT on the angular spectrum of the j-th 3D triangular mesh.
[0049] The conventional ultra-high resolution CGH synthesis apparatus removes the area where aliasing occurs using the maximum diffraction angle (S118), and accumulates the hologram of the j-th 3D triangular mesh (S120).
[0050] The conventional ultra-high resolution CGH synthesis apparatus checks whether j is less than m (S122). When j is less than m, it indicates that there is still a 3D triangular mesh to be calculated in the corresponding hologram area, and when j=m, it indicates that all holograms for the 3D triangular meshes have been calculated in the corresponding hologram area. Here, m may represent the number of triangular meshes constituting the 3D model. The m can be determined by Equation 1 and the coordinates of the triangular meshes. Generally, the calculation is performed on m triangular meshes. However, since the hologram areas are at the center of the 3D model, not all holograms of m triangular meshes are recorded in each hologram area. Accordingly, the conventional ultra-high resolution CGH synthesis apparatus checks whether j is less than m in the corresponding hologram area, and then checks whether the hologram of the corresponding j-th triangular mesh is recorded in the corresponding hologram area.
[0051] If j is less than m, the conventional ultra-high resolution CGH synthesis apparatus sets j to (j+1) (S124), and repeats steps (S110 to S120) to calculate and accumulate the hologram of another 3D triangular mesh propagated to the i-th hologram area.
[0052] The conventional ultra-high resolution CGH synthesis apparatus repeats steps (S110 to S124) to accumulate holograms of all 3D triangular meshes propagated to the i-th hologram area, and then sets i to (i+1) (S126), and repeats steps (S108 to S124) to accumulate holograms of all 3D triangular meshes propagated to another hologram area. In this way, the conventional ultra-high resolution CGH synthesis apparatus generates holograms of 3D triangular meshes in all (n−1) hologram areas.
[0053] After the holograms of the 3D triangular meshes are calculated in all (n−1) hologram areas, the conventional ultra-high resolution CGH synthesis apparatus propagates the holograms of the 3D model obtained on the hologram plane by the depth of the 3D model (depth=z0) (S128), and calculates the hologram of the 3D model (S130). In step S128, the angular spectrums at the corresponding depth (depth=0) is calculated by performing 2D IFFT on the calculated holograms of the 3D model. The angular spectrums at the position moved by the depth (depth=z0) is calculated by performing an additional operation that considers the depth on the calculated angular spectrums. Then, holograms of the 3D model at the position moved by the depth (depth=z0), that is, at the original location, are generated by performing the 2D IFFT on the angular spectrums at the position moved by the depth (depth=z0).
[0054] The conventional ultra-high resolution CGH synthesis method described in
[0055]
[0056] Referring to
[0057]
[0058] As shown in
[0059]
[0060] A hologram in CGH, has an FFT relationship with an angular spectrum, and has a relationship as shown in
[0061] In an embodiment of the present invention, the ultra-high resolution hologram is generated by dividing the angular spectrum representing the propagation angle of light based on the relationship between the angular spectrum and the hologram.
[0062]
[0063] Referring to
[0064] In addition, referring to
[0065] As shown in
[0066]
[0067] Referring to
[0068]
[0069] Referring to
[0070] As described above, in the method for synthesizing the ultra-high resolution CGH according to an embodiment of the present invention, when the wavefront area of the triangular mesh exceeds the hologram area, the angular spectrum area is limited by applying the band limit parameter θ.sub.limit, and the repetitive patterns can be removed without performing FFT compared to the conventional method.
[0071]
[0072] Referring to
[0073]
[0074] Referring to
[0075] In this way, angular spectrum values exist only in the angular spectrum area from −θ.sub.max to θ.sub.limit, and when the angular spectrum is converted into a hologram by performing FFT, a cyclic repetition pattern is not recorded in the hologram area 14.
[0076] Also, referring to
[0077] In this way, even if the depth of the triangular mesh is increased, if the band limiting parameter is used, the wavefront of the triangular mesh can be limited to exist only within the hologram area 14 to be calculated.
[0078] As described above, in the embodiment of the present invention, by using the band limit parameter that limits the propagation angle of light in angular spectrum area, the repetitive pattern may be removed without converting each spectrum into a hologram.
[0079]
[0080] Referring to
[0081] The apparatus propagates the 3D triangular meshes constituting the 3D model to the hologram plane. The conventional ultra-high resolution CGH synthesis method shown in
[0082] The apparatus divides the entire angular spectrum area corresponding to the set maximum diffraction angle into (p−1) partial angular spectrum areas (S1202).
[0083] The apparatus sequentially accesses the divided (p−1) partial angular spectrum areas, calculates the angular spectrum of all the triangular meshes constituting the 3D model, and accumulates the calculated angular spectrum.
[0084] Specifically, the apparatus is set to k=1 and j=1 (S1204). k is an index indicating a partial angular spectrum area.
[0085] The apparatus checks whether k is less than p in order to generate a hologram for the j-th 3D triangular mesh in the k-th partial angular spectrum area (S1206). If k is less than p, it means that there is still a partial angular spectrum area to be calculated, and if k is equal to p, it means that all the angular spectrums of the 3D triangular meshes have been calculated for (p−1) partial angular spectrum areas.
[0086] When k is less than p, the apparatus performs the process of calculating the spectrum of the 3D triangular mesh in the k-th partial angular spectrum area. For this process, the apparatus rotates the j-th 3D triangular mesh into a 2D triangular mesh (S1208), and calculates angular spectrums of the 2D triangular mesh (S1210). The apparatus calculates the angular spectrums of the j-th 3D triangular mesh using the angular spectrum of the 2D triangular mesh (S1212).
[0087] Next, the apparatus limits the angular spectrum of the j-th 3D triangle mesh using a band limiting parameter to limit the propagation angle of light to deviate from the hologram plane (S1214), and accumulates the angular spectrums of the j-th 3D triangle mesh (S1216). Since the apparatus does not divide the hologram plane, it calculates the band limiting parameter based on the entire hologram plane, and may calculate the band limiting parameter in consideration of the coordinates of the triangular mesh and the entire hologram plane.
[0088] If j is less than m (S1218), the apparatus sets j to (j+1) (S1220), and repeats steps (S1208 to S1216) to calculate and accumulate the angular spectrum of another 3D triangular mesh propagated to the k-th partial angular spectrum area.
[0089] The apparatus repeats steps (S1208 to S1220) to accumulate the angular spectrums of all 3D triangular meshes propagated to the hologram plane in the k-th partial angular spectrum area, and then sets k to (k 1) (S1222), and repeats steps (S1208 to S1222) to accumulate the angular spectrums of all 3D triangular meshes propagated to the hologram plane in the partial angular spectrum area. In this way, the apparatus calculates the angular spectrums of all 3D triangular meshes propagated to the hologram plane in all (p−1) partial angular spectrum areas.
[0090] The angular spectrums of the 3D triangular meshes by repeating the steps described above for all partial angular spectrum areas to be calculated, and the apparatus calculates the holograms by performing FFT on the angular spectrums calculated for all angular spectrum areas (S1224).
[0091] In this way, the ultra-high resolution CGH synthesis for the 3D model is ended.
[0092] In the conventional ultra-high resolution CGH synthesis method, as described in
[0093] However, in the method for synthesizing ultra-high resolution CGH based on the mesh according to an embodiment of the present invention, since there is no limit to the size of the wavefront of the incident triangular meshes, the angular spectrums of the 3D triangular meshes may be calculated while maintaining the depth of the 3D model. Accordingly, not only may the conventional triangular mesh-based ultra-high resolution CGH synthesis process be simplified, but also the FFT to be performed per triangular mesh can be reduced. So the computation time may be reduced.
[0094]
[0095] Referring to
[0096] The mesh generator 1310 generates 3D triangular mesh data constituting a 3D model (object). The mesh generator 1310 propagates the 3D triangular mesh data to the hologram plane.
[0097] The angular spectrum divider 1320 divides the entire angular spectrum area into a plurality of partial angular spectrum areas based on the maximum diffraction angle of CGH.
[0098] The angular spectrum calculator 1330 sequentially calculates angular spectrums of 3D triangular mesh data constituting a 3D model (object) in the plurality of partial angular spectral areas, and accumulates the calculated angular spectrum. The angular spectrum calculator 1330 may limit the angular spectrum of the 3D triangular mesh data using a band limit parameter after calculating an angular spectrum of the 3D triangular mesh data. The angular spectrum calculator 1330 may calculate a band limit parameter value in consideration of the coordinates of the triangular mesh data and the position of the entire hologram plane.
[0099] The hologram generator 1340 generates holograms by performing FFT angular spectrums of a plurality of partial angular spectrum areas calculated by the angular spectrum calculator 1330.
[0100]
[0101] Referring to
[0102] The processor 1410 may be implemented as a central processing unit (CPU) or other chipset, a microprocessor, etc.
[0103] The memory 1420 may be implemented as a medium such as random access memory (RAM), dynamic random access memory (DRAM), rambus DRAM (RDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), etc.
[0104] The storage device 1430 may be implemented as a hard disk, optical disks such as a compact disk read only memory (CD-ROM), a CD rewritable (CD-RW), a digital video disk ROM (DVD-ROM), a DVD-RAM, a DVD-RW disk, Blu-ray disks, etc., a flash memory, or permanent or volatile storage devices such as various types of RAM.
[0105] The I/O interface 1440 allows the processor 1410 and/or the memory 1420 to access the storage device 1430.
[0106] The processor 1410 may perform a function for synthesizing ultra-high resolution CGH based on the triangular mesh described with reference to
[0107] According to an embodiment of the present invention, the aliasing and cyclic repetition due to the FFT operation in the angular spectral area other than the hologram area may be removed regardless of the depth of the 3D model. Therefore, it is possible to reduce one FFT operation per mesh and to omit the propagation process from the center of the 3D model to the hologram plane, so it is possible to generate ultra-high resolution holograms at a faster speed than the conventional triangular mesh-based hologram synthesis method.
[0108] The components described in the example embodiments may be implemented by hardware components including, for example, at least one digital signal processor (DSP), a processor, a controller, an application-specific integrated circuit (ASIC), a programmable logic element, such as an FPGA, other electronic devices, or combinations thereof. At least some of the functions or the processes described in the example embodiments may be implemented by software, and the software may be recorded on a recording medium. The components, the functions, and the processes described in the example embodiments may be implemented by a combination of hardware and software.
[0109] The method according to example embodiments may be embodied as a program that is executable by a computer, and may be implemented as various recording media such as a magnetic storage medium, an optical reading medium, and a digital storage medium.
[0110] Various techniques described herein may be implemented as digital electronic circuitry, or as computer hardware, firmware, software, or combinations thereof. The techniques may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device (for example, a computer-readable medium) or in a propagated signal for processing by, or to control an operation of a data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program(s) may be written in any form of a programming language, including compiled or interpreted languages and may be deployed in any form including a stand-alone program or a module, a component, a subroutine, or other units suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[0111] Processors suitable for execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor to execute instructions and one or more memory devices to store instructions and data. Generally, a computer will also include or be coupled to receive data from, transfer data to, or perform both on one or more mass storage devices to store data, e.g., magnetic, magneto-optical disks, or optical disks. Examples of information carriers suitable for embodying computer program instructions and data include semiconductor memory devices, for example, magnetic media such as a hard disk, a floppy disk, and a magnetic tape, optical media such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), etc. and magneto-optical media such as a floptical disk, and a read only memory (ROM), a random access memory (RAM), a flash memory, an erasable programmable ROM (EPROM), and an electrically erasable programmable ROM (EEPROM) and any other known computer readable medium. A processor and a memory may be supplemented by, or integrated into, a special purpose logic circuit.
[0112] The processor may run an operating system (08) and one or more software applications that run on the OS. The processor device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processor device is used as singular however, one skilled in the art will be appreciated that a processor device may include multiple processing elements and/or multiple types of processing elements. For example, a processor device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such as parallel processors.
[0113] Also, non-transitory computer-readable media may be any available media that may be accessed by a computer, and may include both computer storage media and transmission media.
[0114] The present specification includes details of a number of specific implements, but it should be understood that the details do not limit any invention or what is claimable in the specification but rather describe features of the specific example embodiment. Features described in the specification in the context of individual example embodiments may be implemented as a combination in a single example embodiment. In contrast, various features described in the specification in the context of a single example embodiment may be implemented in multiple example embodiments individually or in an appropriate sub-combination. Furthermore, the features may operate in a specific combination and may be initially described as claimed in the combination, but one or more features may be excluded from the claimed combination in some cases, and the claimed combination may be changed into a sub-combination or a modification of a sub-combination.
[0115] Similarly, even though operations are described in a specific order on the drawings, it should not be understood as the operations needing to be performed in the specific order or in sequence to obtain desired results or as all the operations needing to be performed. In a specific case, multitasking and parallel processing may be advantageous. In addition, it should not be understood as requiring a separation of various apparatus components in the above described example embodiments in all example embodiments, and it should be understood that the above described program components and apparatuses may be incorporated into a single software product or may be packaged in multiple software products.
[0116] It should be understood that the example embodiments disclosed herein are merely illustrative and are not intended to limit the scope of the invention. It will be apparent to one of ordinary skill in the art that various modifications of the example embodiments may be made without departing from the spirit and scope of the claims and their equivalents.