## Abstract

The cosine function is a heavy computational operation in computer-generated hologram (CGH) calculation; therefore, it is implemented by substitution methods such as a look-up table. However, the computational load and required memory space of such methods are still large. In this study, we propose a simple and fast cosine function approximation method for CGH calculation. As a result, we succeeded in creating CGH with sufficient quality and made the calculation time 1.6 times as fast at maximum compared to using the look-up table of the cosine function on CPU implementation.

© 2015 Optical Society of America

## 1. Introduction

Electro holography is a promising three-dimensional (3D) display technology, using computer-generated holograms (CGHs), which is a method of digitally creating holograms [1]. However, there are many barriers to practical electro holography, one of which is the large amount of computational CGH calculations required. In order to overcome this problem, many methods for accelerating CGH calculation have been reported [2–14 ].

Recurrence relation algorithms are an effective approach for reducing the computational load of the square root calculation in CGH calculation [2–4 ], which substitutes the square root calculation with additions and multiplications. As recurrence relation algorithms can be implemented as pipeline processing, they are adopted in special purpose computers for CGH [5–7 ].

An algorithm for reducing the computational load of the cosine function in CGH calculation has also been reported [8]; however, it requires cosine function calculation in the first step of the recurrence relation, which may increase the complexity of the implementation. Polynomial approximation is also an effective approach for increasing the computational efficiency [15,16]; however, as most of these algorithms are based on Taylor expansion and so forth, they are still a computational intensive task. Therefore, a special purpose computer for CGH implements the cosine function as a look-up table that stores precalculated values of the cosine function [5, 6]. As the cosine table needs to set on each computational unit, it occupies a large amount of Read Only Memory (ROM) space on Field Programmable Gate Array (FPGA) chips, which will be an issue when implementing on embedded systems.

Look-up table (LUT) methods are also an effective approach for calculating CGH. LUT methods precalculate the wavefronts of point-light sources (PLSs), which is the minimum component of the PLS-based three-dimensional model, and then synthesize the wavefronts according to the position of PLS [9–14 ]. Therefore, LUT methods do not require any square root calculation and the cosine function calculation. However, these approaches need a large amount of memory space to store the wavefronts, which is difficult to implement on a computational chip such as an FPGA. In order to reduce the required memory space of LUT methods, some studies have been reported [9–14 ]; however, it is still difficult for implementing on computer chips due to the complexity of the calculation algorithm.

In this study, we propose a simple and fast cosine function approximation method for CGH calculation. The proposed method creates a chirp wave from the phase of the wavefront of PLSs by modulo operation, absolute operation and subtraction, leading to reduction of the computational load of CGH calculation. We implemented the proposed method on a CPU in order to evaluate the following points: (a) the image quality of reconstructed image from the CGH created by the proposed method, (b) the reduction of computational load of CGH calculation by measuring calculation time.

In Section 2, we explain the proposed method. In Section 3, we present the results of the proposed method. In Section 4, we conclude this study.

## 2. Theory

Although the proposed method is applicable to both of amplitude and phase only CGHs, in this paper, we focus on phase only CGH. The CGH calculation of the PLS-based model is expressed as follows:

*x*,

_{α}*y*) denotes the coordinates of a CGH plane, (

_{α}*x*,

_{j}*y*,

_{j}*z*) denotes the coordinates of a PLS in three dimensions.

_{j}*p*is the sampling pitch on all the coordinates, so that the all the coordinates are normalized by

*p*.

*i*is the imaginary unit,

*ϕ*is the argument of the object wave,

*N*is the total number of the PLSs,

*A*is the amplitude of

_{j}*j*-th PLS. In this study, the amplitude of each PLS is regarded as the same value, thus

*A*can be ignored. arg{·} is the operator for taking the argument of the complex amplitude.

_{j}According to Eq. (2), the CGH calculation system is expressed as Fig. 1. The input of the CGH calculation system is the coordinates of PLSs and the output is the argument of the object wave. The system is composed of three functional blocks: the phase calculation part, cosine function part and integration part. Each part corresponds to the operators in Eq. (2).

In the proposed method, a chirp wave is created from the output of the phase calculation part using a periodic feature of the fractional part of
$\frac{{\mathit{pr}}_{\alpha j}}{\lambda}$. Figure 2(a) shows a one-dimensional case of creating a chirp wave from the output of the phase calculation part. A two-dimensional case can be extended straightforwardly. Since the cosine function has a cycle of 2*π* and the phase calculation part is the multiplication of 2*π* and
$\frac{{\mathit{pr}}_{\alpha j}}{\lambda}$, the fractional part of
$\frac{{\mathit{pr}}_{\alpha j}}{\lambda}$ only affects the output of the cosine function part. For this reason, the fractional part of
$\frac{{\mathit{pr}}_{\alpha j}}{\lambda}$ has the same cycle as the cosine function part output. Here, we define the fractional part of
$\frac{{\mathit{pr}}_{\alpha j}}{\lambda}$ as *ρ*. In order to form a chirp wave, like the yellow dashed line (ideal output using the conventional cosine function) in Fig. 2(a), from *ρ*, the following steps are performed.

- Taking
*σ*= |*ρ*− 0.5|, where 0.5 is half the normalized phase of*ρ*. It results in the blue dashed line in Fig. 2(a) - As shown in Fig. 2(a), the range of
*σ*is shifted and narrower compared to the ideal output using the conventional cosine function; therefore, it should be shifted and normalized in order to fit the conventional output. The shift is processed by subtracting 0.25 from the output of the proposed method, and the normalization is processed by multiplying the shifted output by 4. Note that the shift factor 0.25 is derived from half the range of*σ*which is always constant regardless of the positions of PLSs. It results in the green line in Fig. 2(b).

Figure 2(b) shows a comparison between the ideal output (yellow dashed line) and the proposed method (green line). According to Fig. 2(b), the output of the proposed method can approximate the ideal output. Moreover, the positions of extremum are strictly correct.

## 3. Results and discussion

In this section, we evaluate the proposed method in terms of image quality and calculation speed. We examined the image quality in two aspects: the focus property of a zoneplate and the visual performance of 3D images, both of which are performed by simulating reconstructed images of CGH and the zoneplate using an angular spectrum calculation with CWO++ library [17] at some distances around the desired focus position. For comparison, we also evaluated CGHs and zoneplates created by the conventional cosine function in double precision, a look-up table of the cosine function of 1,024 samplings in single precision and our previous method [14] in single precision, and calculate the average peak signal-noise-ratio (PSNR). Note that the proposed method calculates CGH and a zoneplate in single precision.

The 3D objects used for calculating CGH consisted of 11,646 and 30,467 PLSs located at *z _{j}* = 0.3 m and 1.0 m from a CGH plane. The following parameters were set:

*λ*= 520 nm,

*p*= 8

*μ*m, the resolution of CGH was 1,920 × 1,080 and 3,840 × 2,160 pixels. We used the following environment for the calculation: Microsoft Windows 7 Professional Service pack 1, Intel Core i7 4790K with 4 GHz (we used single core) and a memory of 8 GBytes, the compiler was Intel C++ Compiler 15.0 with /arch:SSE3, /fp:fast=2, /O3, /Ob2, /Oi, /Ot, /Quse-intel-optimised-headers compiler options.

Firstly, we describe the image quality in terms of the focus property of the zoneplates. We examined the zoneplates whose focus distance is set as 0.3 m and 1.0 m. Figure 3 shows the intensities of diffracted light from the zoneplates on the optical axis. In this figure, the light intensities are normalized at the maximum of the conventional cosine function method (direct calculation of Eq. (1)) at each distance. The maximum intensities of the proposed method are degraded by only 3% at 0.3 m and not degraded at 1.0 m compared to the conventional cosine function. The focus position is exactly the same as with the conventional cosine function method, which is almost the same as a result of using the look-up table of the cosine function and our previous method. Thereby, the proposed method can generate a zoneplate that has almost the same performance as the conventional cosine function method.

Secondly, we describe the image quality in terms of the visual performance of 3D images. Table 1 shows the results of the reconstructed simulation of CGHs by direct calculation of Eq. (1), the look-up table of the cosine function, our previous method [14] and the proposed method. Figure 4 shows reconstructed images of the object that consisted of 11, 646 PLSs at 0.3 m from GGHs obtained by a numerical simulation and optical reconstruction: Fig. 4(a) is obtained by the conventional cosine function method by numerical simulation, Fig. 4(b) is obtained by the look-up table of the cosine function by numerical simulation, Fig. 4(c) is obtained by the proposed method by numerical simulation and Fig. 4(d) is is obtained by the proposed method by optical reconstruction. The insets in Fig. 4 show magnified images of the leg.

As shown in Table 1, the average PSNR between the conventional cosine function method and the proposed method is above 30 dB in all cases. In general, a video is considered as good quality when its PSNR is above 30 dB [18]; therefore, the proposed method can obtain favorably reconstructed images. On the other hand, compared to our previous method, the average PSNR is higher or little lower; therefore the proposed method is not inferior in terms of image quality.

Finally, we describe the computational speed. According to Table 1, the proposed method can calculate faster than the look-up table of the cosine function in all cases, which shows the overall computational load of the proposed method is lighter than the conventional cosine function. This is caused by the overhead in reading the look-up table. In order to prove it, we measured the calculation time of two million times cosine function operations in each method. As a result, the calculation time of the proposed method is 1.5 ms and the look-up table of the cosine function is 4.5 ms. Thus, we can conclude that the calculation load of reading lookup table is heavier than the three operations in the proposed method. Therefore, the proposed method is superior to using the look-up table of the cosine fucntion. On the other hand, the proposed method can calculate faster or little slower than our previous method; while in heavily slower cases (3, 840×2, 160 pixels at 0.3 m), our previous method can not reconstruct the image with sufficient quality.

## 4. Conclusion

We proposed a simple and fast cosine function approximation method for CGH calculation. The proposed method can substitute the look-up table of the cosine function by simple three operations, leading a reduction of a memory space with sufficient image quality. As the proposed method can simply implement on FPGA chips and increase the usable memory space on the chips, we are now implementing the proposed method on our new special purpose computer for CGH named “HORN-8” [7]. We estimate that the maximum number of object points increases by about 50%, which will present in near future.

## Acknowledgments

This work is partially supported by JSPS KAKENHI Grant Numbers 25330125 and 25240015, and the Kayamori Foundation of Information Science Advancement and Yazaki Memorial Foundation for Science and Technology.

## References and links

**1. **H. Sasaki, K. Yamamoto, Y. Ichihashi, and T. Senoh, “Image size scalable full-parallax coloured three-dimensional video by electronic holography,” Sci. Rep. **4**, 4000 (2014). [PubMed]

**2. **K. Matsushima and M. Takai, “Recurrence formulas for fast creation of synthetic three-dimensional holograms,” Appl. Opt. **39**, 6587–6594 (2000). [CrossRef]

**3. **T. Shimobaba and T. Ito, “An efficient computational method suitable for hardware of computer-generated hologram with phase computation by addition,” Comput. Phys. Commun. **138**, 44–52 (2001). [CrossRef]

**4. **H. Yoshikawa, “Fast computation of Fresnel holograms employing difference,” Opt. Rev. **8**, 331–335 (2001). [CrossRef]

**5. **T. Ito, N. Masuda, K. Yoshimura, A. Shiraki, T. Shimobaba, and T. Sugie, “Special-purpose computer HORN-5 for a real-time electroholography,” Opt. Express **13**, 1923–1932 (2005). [CrossRef] [PubMed]

**6. **Y. Ichihashi, H. Nakayama, T. Ito, N. Masuda, T. Shimobaba, A. Shiraki, and T. Sugie, “HORN-6 special-purpose clustered computing system for electroholography,” Opt. Express **17**, 13895–13903 (2009). [CrossRef] [PubMed]

**7. **Y. Kimura, R. Kawaguchi, T. Sugie, T. Kakue, T. Shimobaba, and T. Ito, “Circuit design of special-purpose computer for holography HORN-8 using eight virtex-5 FPGAs,” in *Proceedings of 3D Systems and Applicatons* (3DSA, 2015), S3–2.

**8. **J. Weng, T. Shimobaba, M. Oikawa, N. Masuda, and T. Ito, “Fast recurrence relation for computer-generated-hologram,” Comput. Phys. Commun. **183**, 46–59 (2012). [CrossRef]

**9. **M. Lucente, “Interactive computation of holograms using a look-up table,” J. Electron. Imaging **2**, 28–34 (1993). [CrossRef]

**10. **S. Kim, J. Kim, and E. Kim, “Effective memory reduction of the novel look-up table with one-dimensional sub-principle fringe patterns in computer-generated holograms,” Opt. Express **20**, 12021–12034 (2012). [CrossRef] [PubMed]

**11. **S. Kim and E. Kim, “Fast one-step calculation of holographic videos of three-dimensional scenes by combined use of baseline and depth-compensating principal fringe patterns,” Opt. Express **22**, 22513–22527 (2014). [CrossRef] [PubMed]

**12. **X. Dong, S.-C. Kim, and E.-S. Kim, “Three-directional motion compensation-based novel-look-up-table for video hologram generation of three-dimensional objects freely maneuvering in space,” Opt. Express **22**, 16925–16944 (2014) [CrossRef] [PubMed]

**13. **T. Nishitsuji, T. Shimobaba, T. Kakue, N. Masuda, and T. Ito, “Fast calculation of computer-generated hologram using the circular symmetry of zone plates,” Opt. Express **20**, 27496–27502 (2012). [CrossRef] [PubMed]

**14. **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**, 9852–9857 (2015). [CrossRef] [PubMed]

**15. **E. Seevinc, “Simple, wide-range approximations to trigonometric and inverse trigonometric functions useful in real-time signal processing,” in *IEE Proceedings G (Electronic Circuits and Systems)* (IEE, 1981), 1, pp. 41–45 [CrossRef]

**16. **J. A. McIntosh and E. E. Swartzlander Jr., “High-Speed Cosine Generator,” in *Proceedings of 1994 28th Asilomar Conference on Signals, Systems and Computers* (IEEE, 1994), pp. 273–277. [CrossRef]

**17. **T. Shimobaba, J. Weng, T. Sakurai, N. Okada, T. Nishitsuji, N. Takada, A. Shiraki, and T. Ito, “Computational wave optics library for C++: CWO++ library,” Comput. Phys. Commun. **183**, 1124–1138 (2012). [CrossRef]

**18. **R. Gomes, W. Junior, E. Cerqueira, and A. Abelem, “A QoE Fuzzy Routing Protocol for Wireless Mesh Networks,” in *Proceedings of the International Workshop*, S. Zeadally, E. Cerqueira, M. Curado, and M. Leszczuk, eds. (Springer, 2010).