The huge computational complexity is a challenge for computer-generated hologram (CGH) calculation in a holographic display. In this paper, we propose a symmetric compressed look-up-table algorithm to accelerate CGH computation based on the Fresnel diffraction theory and compressed look-up-table algorithm. In offline computation, the memory usage of horizontal and vertical modulation factors is reduced to the order of Kilobytes by using translational symmetric compression and wavelength separation. In online computation, we develop a one-time generation of color holograms method which is accelerated by matrix convolution operation. Numerical simulation results show at least 13 times faster than existing algorithms without sacrificing the computation precision. The optical experiments are performed to demonstrate its feasibility. It is believed that the proposed method is an effective algorithm to accelerate the computation of CGH in color holographic display.
© 2018 Optical Society of America under the terms of the OSA Open Access Publishing Agreement
Holographic display has been regarded as an ultimate technique to reconstruct three dimensional (3D) scenes, which provides full parallax and depth information for human eyes. Computer-generated hologram (CGH) is a key technique to realize holographic display, and it is a method to record holograms digitally [1–3]. Numerous accelerated computation algorithms, such as the point-source based algorithms [4–15], the polygon based algorithms [16–19], and wavefront recording plane based algorithms [20–23] have been developed to implement a fast CGH computation in holographic display. However, the huge computational complexity is still a challenge for CGH technique.
The point-source based method treats the 3D object as a collection number of self-luminous points. The propagating complex amplitude distribution can be obtained by superposition of spherical wavefront of each point, which shows time consuming in computation. For point-source based method, the computational complexity reduction has been widely investigated in recent years [4–14]. Look-up-table (LUT) algorithm  was first proposed to accelerate the calculation of coherent ray trace (CRT) algorithm , where the fringe patterns of all the possible points are pre-calculated and stored in a table. When calculating the holograms, it just needs to read out corresponding patterns and add them up instead of calculation online. Although the LUT algorithm performs faster than CRT algorithm, the huge memory usage limits the speed of data processing and CGH computation. A novel look-up-table (N-LUT) algorithm was proposed to reduce the memory usage of LUT . In N-LUT algorithm, the object is decomposed into several sliced two-dimension (2D) object planes. The fringe patterns of the center object points on each sliced plane are pre-calculated. Accordingly, fringe patterns for other points can be obtained by simply shifting the pre-calculated ones. Nevertheless, the offline table still needs gigabytes (GBs) of memory usage, which also limits the computation speed. Therefore, several improved algorithms based on N-LUT algorithm were proposed to compress the tables and accelerate the calculations, including temporal and spatial redundant data removing methods [7,8], color-tunable method , run-length encoding method , radial symmetric interpolation method , and convolution acceleration method . Split look-up-table (S-LUT) algorithm introduced a different table compression method to accelerate CGH computation . The fringe patterns of point sources on each slice can be generated by the split horizontal and vertical modulation factors. This algorithm works faster than N-LUT algorithm. But with the increasing of depth layers, the memory usage increases from megabytes (MBs) to GBs. Thus, it will also take a lot of time to read out the data and generate the holograms. Compressed look-up-table (C-LUT) algorithm  has been developed from S-LUT algorithm to further accelerate CGH computation. The horizontal and vertical modulation factors are compressed into multiple one-dimensional (1D) data arrays, where the memory usage does not increase with depth layers. The LUT is reduced to the order of MBs. Additionally, the calculation speed shows at least 30% faster than S-LUT algorithm. Accurate look-up-table (AC-LUT) algorithm  was developed to reduce the large memory usage of S-LUT and alleviate the distortion of C-LUT without sacrificing the computational speed. However, for almost all of reported algorithms, the memory usage and hologram computation time will increase three times in color holographic display. Therefore, to realize real time holographic display, the online computation process, including reading out and calculating process point by point, needs to be accelerated further.
In this paper, we proposed a symmetric compressed LUT (SC-LUT) algorithm to reduce memory usage and accelerate computation. In offline table computation, we compress the redundant data in the vertical and horizontal modulation factors and separate the wavelength factors from them. In holograms computation, a one-time generation of color holograms method is developed. The matrix convolution operation is utilized to simplify the computation process rather than the point by point computation. Numerical simulation results for memory usage, computation speed, and reconstructed distortion are analyzed. The optical experimental results are also performed to verify the feasibility of the proposed algorithm.
2. Principle of SC-LUT
In conventional CRT algorithm , the 3D object is decomposed as a collection number of self-luminous points, and the wavefront distribution on the hologram plane after transmission can be described as:Eq. (2) can be approximately written as:Eq. (3) can be written as:Eq. (4) can be rewritten into the form of convolution operation as:Equation (5) can be written as:Eq. (5) can be regarded as the impulse response of point-source transmission. Equation (6) can be regarded as the form of modified impulse response function for Fresnel diffraction theory which is simplified based on the translational symmetry of horizontal and vertical modulation factors. Here, with layer-oriented method, the object points falling on the same layer of the 3D object have the same depth modulation factors. Thus, the Eq. (6) can be written as:
In order to ensure the resolution of the hologram, the minimum resolution of horizontal and vertical modulation factors is given as:
Therefore, as shown in Fig. 1, the proposed algorithm can be divided into two steps. The first step is to calculate the basic modulation factorsand , and store them in LUT during the offline computation. The second step is to read out the modulation factors from LUT and generate the holograms.
In offline computation, we calculate the basic horizontal and vertical modulation factors, and sore them in LUT, as shown in Fig. 1. The steps can be listed as:
In online computation, firstly we generate the red, green, and blue modulation factors () by using corresponding wavelength information . Then the color holograms are calculated through one-time look-up-table operation, as shown in Fig. 1. The steps can be listed as:
Where the operator .^ is defined as point multiplication operation. According to the computation process, the horizontal and vertical modulation factors and are 1D data arrays. And the memory usage of LUT is, where M denotes the memory usage of one pixel in LUT. Because the modulation factors are real numbers, the M is the memory usage of real numbers. For the online computation, the number of loops is same as the number of layers. The number of loops for building a LUT in offline computation or computing a hologram in online computation is called the computational complexity. We compare the computational complexity and the memory usage among the S-LUT, C-LUT, AC-LUT and SC-LUT algorithms, as listed in Table 1.
As shown in the Table 1, the SC-LUT theoretically has the lowest online and offline operational complexity among these four algorithms. Because the proposed algorithm just needs to calculate and store dual 1D data arrays in the offline computation. The matrix convolution operation also reduces complexity of online computation. Especially, the less memory usage and less memory access times will improve the efficiency of code running. Thus, the proposed algorithm can avoid huge memory usage and operational complexity, and the memory usage keeps unchanged in color holographic display.
To illustrate the computation precision of proposed algorithm, we compare the reconstructed distortion among these four algorithms theoretically, as shown in Table 2. For the proposed algorithm, there is no approximate computation in horizontal and vertical directions, so the reconstructed object has no distortion in these directions. In depth direction, the size of the reconstructed object is ignored in Eq. (4). So the SC-LUT algorithm has very small distortion just as C-LUT and S-LUT algorithms.
3. Numerical and optical experimental results
3.1 Results of LUT computation
In this section, the computation time and memory usage of offline LUT are performed to demonstrate the feasibility of the proposed algorithm. Our program is run by a computer with MATLAB on Core i7-6700, 3.4 GHz, and 16G RAM. The resolution of hologram is , and the pixel size is . The horizontal, vertical and depth resolution of 3D object scene is . The wavelengths of red, green, and blue channels are 639nm, 532nm, and 473nm, respectively.
As shown in Fig. 2, the computation time of S-LUT algorithm increases with the number of depth layers. In the C-LUT, AC-LUT and SC-LUT algorithms, the time keeps unchanged with the increasing of depth layers. Compared to Figs. 2(a) and 2(b), we can see that the S-LUT, C-LUT, and AC-LUT algorithms spend 3 times computation time in color LUTs generation. However, the computation time of proposed algorithm keeps unchanged in monochrome and color LUTs generation. In color LUTs generation, the computation time is 2.5 milliseconds (ms), which is about 45240 times, 83 times, and 46 times faster than S-LUT, C-LUT, and AC-LUT algorithms, respectively.
As shown in Table 3, the memory usage of S-LUT algorithm increases with the number of object depth layers, and it keeps in the order of GBs. In the C-LUT and AC-LUT algorithms, the memory usage keeps unchanged with the increasing of object depth layers, so it was reduced to the order of Mbs. It is noteworthy that all above three algorithms spent 3 times memory usage in color LUTs generation. However, the memory usage of proposed algorithm keeps unchanged with the increasing of object depth layers and generating the color LUTs in proposed algorithm. So the memory usage of SC-LUT algorithm is reduced to the order of Kbs, which has least memory usage among these four algorithms.
3.2 Results of CGH computation
In this section, firstly we compare the computation time of different algorithms. Then we analyze the reconstructed precision of proposed algorithm. At last the numerical reconstructed results of 3D scene are presented.
Figure 3 shows the online computation time for monochrome and color holograms generation. The SC-LUT algorithm shows the least time cost among these four algorithms. Compared to Figs. 3(a) and 3(b), we can see that the computation time increase about 3 times when generating the color holograms for S-LUT, C-LUT and AC-LUT algorithms. However, the computation time increases about 2.85 times in proposed algorithm, because of the one-time generation of color holograms method. When the object point numbers are in 256 depth layers in monochrome holograms generation, the online computation time of proposed algorithm is 44 seconds, about 22 times, 13 times, and 14 times faster than S-LUT, C-LUT, and AC-LUT algorithms.
As shown in Table 4, we compare the results of reconstructed distortion ratio among S-LUT, C-LUT, AC-LUT and SC-LUT algorithms. We define the distortion ratio in horizontal, vertical and depth directions as:Table 2. p is the reconstructed position, which can be described as , and d in horizontal and vertical and depth directions, respectively. The SC-LUT algorithm has no distortion in horizontal and vertical directions. The distortion ratio is only 1% in depth direction when an object with depth of 50mm is reconstructed at 500mm. Because the human eye has a worse resolution to the depth information, it can be ignored compared with the acuity of the human visual system. Thus the proposed algorithm can achieve accurate computation for the wavefront distribution of 3D scene.
In simulation, we reconstruct 3D scene located at different distances to verify the feasibility of proposed algorithm, as shown in Fig. 4. Figures 4(a) and 4(b) are the monochrome numerical reconstructed results and Figs. 4(c) and 4(d) are the color numerical reconstructed results. Figures 4(a) and 4(c) show the camera focuses on the cup of the 3D scene and Figs. 4(b) and 4(d) show the camera focuses on the teapot of the 3D scene. Correspondingly the cup becomes from focus to defocus blur while the teapot becomes from defocus blur to focus. These changes show that the holographic reconstructed scene provides correct depth information, which demonstrates the feasibility of the reconstructed quality.
3.3 Results of optical experiment
To verify the calculation results of proposed algorithm, the calculated holograms are used to realize holographic display. The reconstructed object is projected by the phase-only spatial light modulator (SLM, Jasper Display). The resolution of this SLM is 3840 × 2160, and its pixel size is 3.74μm. The reconstructed 3D scene is captured by a CCD (Lumenera camera INFINITY 4-11C). In optical experiment, the temporal multiplexing method is utilized to generate the color holographic display, where red, green, and blue components are reconstructed and forming a color object by using time integration. Figures 5(a) and 5(b) show the monochrome holographic reconstructed results, and Figs. 5(c) and 5(d) show color holographic reconstructed results. When the camera moves from near to distant, the cup becomes from focus to defocus blur while the teapot becomes from defocus blur to focus, correspondingly. The optical experimental results match with our numerical reconstructed results well.
To better illustrate the proposed algorithm, we compare the color optical reconstructed results of different algorithms experimentally. Figure 6 shows the reconstructed results calculated by S-LUT, C-LUT, AC-LUT and SC-LUT algorithms. When the camera focuses on the cup, all the cups perform no distortion in horizontal and vertical directions and they are the same size. It is noteworthy that the defocus levels of teapots are inconsistent slightly. Although S-LUT, C-LUT and SC-LUT algorithms have the same distortion ratio in depth direction, the approximate directions in calculation are different. So these four teapots have different defocus levels.
When the camera focuses on the teapot, only the one calculated by C-LUT algorithm has slight distortion in horizontal and vertical directions, which can be ignored compared with the acuity of the human visual system. The experimental results verify that the proposed algorithm can provide accurate wavefront computation.
We have proposed an SC-LUT computation algorithm based on Fresnel diffraction theory and C-LUT algorithm to accelerate CGH computation. In the proposed algorithm, we achieve two significant improvements: less offline LUT memory requirement and faster online computation speed. We compress the redundant data in the horizontal and vertical factors to dual 1D data arrays and separate the wavelength factors from them. Thus the offline LUT is reduced to the order of Kilobytes which keeps the least order of reported algorithms. In online computation, we develop a one-time generation of color holograms method by utilizing the convolution accelerating operation. The computation speed shows 22 times, 13 times, and 14 times faster than S-LUT, C-LUT, and AC-LUT algorithms, respectively which also has advantages compared with other algorithms. The proposed algorithm has no distortion in horizontal and vertical directions and the distortion ratio is only 1% in depth direction. It is believed the SC-LUT algorithm with the low memory usage, high speed, and high reconstructed image quality is a promising method to realize dynamic 3D holographic display.
This preliminary study balances the memory access times and computation operation numbers properly, which encourages us to continue the exploration of improving the computation speed and precision for huge data computation. Our following works will focus on the parallel computing by using graphics processing unit and the proposed method shows great potential for its small memory requirement. It is believed the proposed algorithm also could provide fast wavefront transmission calculation in various dynamic optical fields in the future.
National Key R&D Program of China (2017YFB1002900); National Natural Science Founding of China (NSFC) (61575024, 61420106014) and the UK Government’s Newton Fund.
References and links
1. Y. Pan, J. Liu, X. Li, and Y. Wang, “A review of dynamic holographic 3D display: algorithms, devices, and systems,” IEEE Trans. Industr. Inform. 12(4), 1599–1610 (2015). [CrossRef]
3. J. H. Park, “Recent progresses in computer generated holography for three-dimensional scene,” J. Inf. Displ. 18(1), 1–12 (2017). [CrossRef]
4. A. D. Stein, Z. Wang, and J. J. S. Leigh, “Computer-generated holograms: a simplified ray-tracing approach,” Comput. Phys. 6(4), 389–392 (1992). [CrossRef]
5. M. Lucente, “Interactive computation of holograms using a look-up table,” J. Electron. Imaging 2(1), 28–34 (1993). [CrossRef]
7. S. C. Kim, J. M. Kim, and E. S. Kim, “Effective memory reduction of the novel look-up table with one-dimensional sub-principle fringe patterns in computer-generated holograms,” Opt. Express 20(11), 12021–12034 (2012). [CrossRef] [PubMed]
8. S. C. Kim, X. B. Dong, M. W. Kwon, and E. S. Kim, “Fast generation of video holograms of three-dimensional moving objects using a motion compensation-based novel look-up table,” Opt. Express 21(9), 11568–11584 (2013). [CrossRef] [PubMed]
9. S. C. Kim, X. B. Dong, and E. S. Kim, “Accelerated one-step generation of full-color holographic videos using a color-tunable novel-look-up-table method for holographic three-dimensional television broadcasting,” Sci. Rep. 5(1), 14056 (2015). [CrossRef] [PubMed]
10. T. Nishitsuji, T. Shimobaba, T. Kakue, and T. Ito, “Fast calculation of computer-generated hologram using run-length encoding based recurrence relation,” Opt. Express 23(8), 9852–9857 (2015). [CrossRef] [PubMed]
11. S. Jiao, Z. Zhuang, and W. Zou, “Fast computer generated hologram calculation with a mini look-up table incorporated with radial symmetric interpolation,” Opt. Express 25(1), 112–123 (2017). [CrossRef] [PubMed]
12. Z. Zeng, H. Zheng, Y. Yu, and A. K. Asundic, “Off-axis phase-only holograms of 3D objects using accelerated point-based Fresnel diffraction algorithm,” Opt. Lasers Eng. 93, 47–54 (2017). [CrossRef]
14. J. Jia, Y. Wang, J. Liu, X. Li, Y. Pan, Z. Sun, B. Zhang, Q. Zhao, and W. Jiang, “Reducing the memory usage for effective computer-generated hologram calculation using compressed look-up table in full-color holographic display,” Appl. Opt. 52(7), 1404–1412 (2013). [CrossRef] [PubMed]
16. Y. Pan, Y. Wang, J. Liu, X. Li, and J. Jia, “Fast polygon-based method for calculating computer-generated holograms in three-dimensional display,” Appl. Opt. 52(1), A290–A299 (2013). [CrossRef] [PubMed]
17. Y. Zhao, L. Cao, H. Zhang, D. Kong, and G. Jin, “Accurate calculation of computer-generated holograms using angular-spectrum layer-oriented method,” Opt. Express 23(20), 25440–25449 (2015). [CrossRef] [PubMed]
19. J. S. Chen and D. P. Chu, “Improved layer-based method for rapid hologram generation and real-time interactive holographic display applications,” Opt. Express 23(14), 18143–18155 (2015). [CrossRef] [PubMed]
20. T. Shimobaba, H. Nakayama, N. Masuda, and T. Ito, “Rapid calculation algorithm of Fresnel computer-generated-hologram using look-up table and wavefront-recording plane methods for three-dimensional display,” Opt. Express 18(19), 19504–19509 (2010). [CrossRef] [PubMed]
21. D. Arai, T. Shimobaba, K. Murano, Y. Endo, R. Hirayama, D. Hiyama, T. Kakue, and T. Ito, “Acceleration of computer-generated holograms using tilted wavefront recording plane method,” Opt. Express 23(2), 1740–1747 (2015). [CrossRef] [PubMed]
22. H. G. Kim, H. Jeong, and Y. Man Ro, “Acceleration of the calculation speed of computer-generated holograms using the sparsity of the holographic fringe pattern for a 3D object,” Opt. Express 24(22), 25317–25328 (2016). [CrossRef] [PubMed]
23. C. Chang, J. Wu, Y. Qi, C. Yuan, S. Nie, and J. Xia, “Simple calculation of a computer-generated hologram for lensless holographic 3D projection using a nonuniform sampled wavefront recording plane,” Appl. Opt. 55(28), 7988–7996 (2016). [CrossRef] [PubMed]
24. J. W. Goodman, Introduction to Fourier Optics, 3rd ed. McGraw-Hill College, (Roberts & Co. Publishers, 2005).