## Cell-based hardware architecture for full-parallel generation algorithm of digital holograms |

Optics Express, Vol. 19, Issue 9, pp. 8750-8761 (2011)

http://dx.doi.org/10.1364/OE.19.008750

Acrobat PDF (1784 KB)

### Abstract

This paper proposes a new hardware architecture to speed-up the digital hologram calculation by parallel computation. To realize it, we modify the computer-generated hologram (CGH) equation and propose a cell-based very large scale integrated circuit architecture. We induce a new equation to calculate the horizontal or vertical hologram pixel values in parallel, after finding the calculation regularity in the horizontal or vertical direction from the basic CGH equation. We also propose the architecture of the computer-generated hologram cell consisting of an initial parameter calculator and update-phase calculators based on the equation, and then implement them in hardware. Modifying the equation could simplify the hardware, and approximating the cosine function could optimize the hardware. In addition, we show the hardware architecture to parallelize the calculation in the horizontal direction by extending computer-generated holograms. In the experiments, we analyze hardware resource usage and the performance-capability characteristics of the look-up table used in the computer-generated hologram cell. These analyses make it possible to select the amount of hardware to the precision of the results. Here, we used the platform from our previous work for the computer-generated hologram kernel and the structure of the processor.

© 2011 OSA

## 1. Introduction

1. S. Benton and V. M. Bove Jr., *Holographic Imaging* (Wiley, 2008). [CrossRef]

3. P. Hariharan, *Basics of Holography* (Cambridge University Press, 2002). [CrossRef]

*M*×

*N*×

*P*×

*Q*times of calculation to calculate a fringe pattern in a hologram pixel by one light source and accumulations for all the light sources must be performed to make a hologram with the resolution of

*M*×

*N*[pixel

^{2}] for an object of

*P*×

*Q*[pixel

^{2}]. Thus, the two major issues for CGH are how to simplify the calculation equation, and how to increase the calculation speed with minimal loss of reconstructed object image quality [4

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

5. H. Yoshikawa, S. Iwase, and T. Oneda, “Fast computation of fresnel holograms employing differences,” Proc. SPIE **3956**, 48–55 (2000). [CrossRef]

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

^{2}]. The CGH equation was approximated with the Taylor series expansion for the square root calculation [5

5. H. Yoshikawa, S. Iwase, and T. Oneda, “Fast computation of fresnel holograms employing differences,” Proc. SPIE **3956**, 48–55 (2000). [CrossRef]

6. 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]

9. Y.-H. Seo, H.-J. Choi, J.-S. Yoo, and D.-W. Kim, “An architecture of a high-speed digital hologram generator based on FPGA,” J. Syst. Archit. **56**, 27–37 (2009). [CrossRef]

10. N. Masuda, T. Ito, T. Tanaka, A. Shiraki, and T. Sugie, “Computer generated holography using a graphics processing unit,” Opt. Express **14**, 603–608 (2006). [CrossRef] [PubMed]

14. T. Shimobaba, T. Ito, N Masuda, Y Ichihashi, and N. Takada, “Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL,” Opt. Express **18**, 9955–9960 (2010). [CrossRef] [PubMed]

6. 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]

5. H. Yoshikawa, S. Iwase, and T. Oneda, “Fast computation of fresnel holograms employing differences,” Proc. SPIE **3956**, 48–55 (2000). [CrossRef]

7. 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]

8. 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]

9. Y.-H. Seo, H.-J. Choi, J.-S. Yoo, and D.-W. Kim, “An architecture of a high-speed digital hologram generator based on FPGA,” J. Syst. Archit. **56**, 27–37 (2009). [CrossRef]

12. Y. Pan, X. Xu, S. Solanki, X. Liang, R. Bin, A. Tanjung, C. Tan, and T.-C. Chong, “Fast CGH computation using S-LUT on GPU,” Optics Express **17**, 18543–18555 (2009). [CrossRef]

^{2}] with 1,000 object light sources. Reference [13

13. Y.-Z. Liu, J.-W. Dong, Y.-Y. Pu, B.-C. Chen, H.-X. He, and H.-Z. Wang, “High-speed full analytical holographic computations for true-life scenes,” Opt. Express **18**, 3345–3351 (2010). [CrossRef] [PubMed]

14. T. Shimobaba, T. Ito, N Masuda, Y Ichihashi, and N. Takada, “Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL,” Opt. Express **18**, 9955–9960 (2010). [CrossRef] [PubMed]

*μ*m for image reconstruction, a hologram with HD resolution can make the image of only about 2×1 [cm

^{2}] size. Therefore, a much higher calculation speed is required to service a real-time hologram video of moderate image size. We have proposed a high-performance CGH processor, by re-arranging the CGH equation and adopting a pipelining scheme in [9

9. Y.-H. Seo, H.-J. Choi, J.-S. Yoo, and D.-W. Kim, “An architecture of a high-speed digital hologram generator based on FPGA,” J. Syst. Archit. **56**, 27–37 (2009). [CrossRef]

**56**, 27–37 (2009). [CrossRef]

## 2. Computer-generated hologram (CGH)

### 2.1. The basic CGH equation

*phase hologram,*which generates a hologram with the phases of the object wave components. The proof of this method can be found in [3

3. P. Hariharan, *Basics of Holography* (Cambridge University Press, 2002). [CrossRef]

*I*is the intensity influence on the hologram pixel (

_{αj}*x*,

_{α}*y*) from the object pixel (

_{α}*x*,

_{j}*y*,

_{j}*z*),

_{j}*A*is the light intensity of the object pixel,

_{j}*λ*is the wave length,

*p*is the pixel pitch (here, the pixel pitches of object plane and the hologram are assumed to be the same), and Φ

*and Φ*

_{α}*are the initial phases of the object wave and the reference wave, respectively. A hologram pixel is completely calculated by summing all the influences from all the object pixels. However, this calculation scheme has a drawback in that changes of the pixel positions increase the complexity of calculation, because different object pixels have different z-axis values and/or x and y values. Therefore, it is preferable in CGH calculation that all the influences by one object pixel on all the hologram pixels are calculated, then moved to the next object pixel. The change of the z-axis value is minimized in this scheme.*

_{j}### 2.2. Recursive equation for CGH calculation

6. 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]

**56**, 27–37 (2009). [CrossRef]

*z*≫

_{j}*p*|

*x*–

_{α}*x*| and

_{j}*z*≫

_{j}*p|y*–

_{α}*y*|, Eq. (1) can be approximated into Eq. (2) by expanding the square root of Eq. (1) in series [6

_{j}**138**, 44–52 (2001). [CrossRef]

*x*=

_{αj}*x*–

_{α}*x*and

_{j}*y*=

_{αj}*y*–

_{α}*y*. In Eq. (2) the only quantity (or phase information) changing along a row of hologram pixels is

_{j}*θ*(

*x*,

_{αj}*y*,

_{αj}*z*)[6

_{j}**138**, 44–52 (2001). [CrossRef]

*θ*at (

_{H}*x*,

_{α}*y*) on the hologram plane that is formed by the light source at (

_{α}*x*,

_{j}*y*) in the virtual object is expressed as Eq. (3) and the separated phases,

_{j}*θ*and

_{XY}*θ*are defined in Eq. (4) and (5), respectively.

_{Z}*x*=

*p*(

*x*+

_{α}*d*)

*θ*in the same row. It should be as Eq. (6).

_{XY}*θ*(

_{XY}*x*,

_{αj}*y*,

_{αj}*z*) is calculated,

_{j}*θ*of the pixel at

_{XY}*x > px*in the same row can be obtained by adding the rightmost term. Of course,

_{α}*θ*’s of all the pixels in the row are the same. Therefore, once the

_{Z}*θ*for the leftmost pixel in a row and

_{XY}*θ*are calculated, all the other pixels in the row can be calculated recursively with Eq. (6), as Eq. (7) and (8).

_{Z}## 3. Parallel CGH calculation and its hardware architecture

### 3.1. CGH equation in full parallel

*progressive sequence of differences.*The general term of this sequence is

*θ*(

_{XY}*x*= 0) and

*θ*(

_{XY}*x*=

*p*or

*d*= 1) are calculated.

### 3.2. Hardware architecture of computational cells

*initial-parameter calculator i*(

_{init}*x*,

_{αj}*y*,

_{αj}*z*) and the

_{j}*update-phase calculator i*(

_{update}*i*(),

_{init}*d*), which are as Eq. (15) and (16), respectively, to design hardware for Eq. (7) and (8) including Eq. (14). Figure 2 shows their hardware architecture.

*θ*

_{H,d}_{=0}=

*θ*

_{XY,d}_{=0}+

*θ*, Γ

_{Z}_{1}, and Δ, among which Γ

_{1}and Δ are used in the update-phase calculator. In this cell,

*θ*and Δ/2 are taken from a pre-generated look-up table LUT1 with

_{Z}*z*as the address. Note that

_{j}*z*is used only once in a row and the wavelength

_{j}*λ*is fixed. The update-phase calculator in Fig. 3(b) also uses a look-up table, LUT2, for the cosine function. Section 3.4 explains this in more detail. Note that the update-phase calculator does not have a feedback loop that resides in the corresponding cell of [7

7. 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]

**56**, 27–37 (2009). [CrossRef]

*M*-1 (

*M*is the number of pixels in a hologram row) update-phase cells are included as the fastest case, all the pixels except the leftmost one are calculated in parallel.

### 3.3. Pipelining

*d*– 1)/2 as well as

*d*, which can be easily obtained by diminishing and shifting. It has six pipeline stages. Table 1 shows their time scheduling. Thus, from the sixth clock cycle after obtaining Δ, each clock cycle outputs one pixel value. The maximum delay that determines the speed of the clock period is the delay of one multiplier.

### 3.4. Precision approximation for cosine function

*I*and

*I*

^{′}are an original and a reconstructed pixel. In both cases, the cosine values resulting from assigning more than 28 bits are saturated to the one without approximation.

*cosθ*= 1, assigning 1 bit, makes

_{H}*cosθ*= 1 or −1, and so on. One can easily recognize from the figures that the image created by assigning 1 bit does not make much difference in image quality from that created by assigning 30 bits. From this experiment, we could conclude that 3 bits are sufficient for the cosine function. We implement LUT2 in Figs. 3 and 4 with 3 bits.

_{H}### 3.5. CGH processor

**56**, 27–37 (2009). [CrossRef]

## 4. Hardware implementation and experiments

**56**, 27–37 (2009). [CrossRef]

^{2}], 1,408×1,050 [pixel

^{2}], and 1,280×1,024 [pixel

^{2}] (1920, 1408, and 1280 in the figure, respectively). In addition, two clock frequencies, 166MHz and 294MHz, were included, in which 294 MHz is the maximum stable frequency. As can be seen in the figure, the calculation speed has the properties of Eq. (19), as expected.

^{2}] and 1,408×1,050 [pixel

^{2}]. Two cases were examined for examples of the amount of hardware: the number of cells corresponding to a row of holograms and four rows of holograms. Here, the maximum clock frequency that operated stably was 294 [MHz]. 27.22 frames/sec of holograms with HD resolution could be generated with this clock frequency. As explained above, the speed is proportional to the clock frequency and inversely proportional to the hologram resolution and the number of object points, as shown in the other cases of the table.

^{2}]. Hyun-Jin is an image that we have made with a depth map resolution of 177×144 [pixel

^{2}]. The hologram resolution was 1,280×1,024 [pixel

^{2}] for both images. We used a depth camera from Mesa Imaging to capture the depth information for the test image of Hyun-Jin. Each test image includes its depth map in Fig. 8(a) and 8(d), a reconstructed image by simulation for the CGH generated with the original equations of Eq. (1) in Fig. 8(b) and 8(e), and the reconstructed results in the optical system (such as [9

**56**, 27–37 (2009). [CrossRef]

*μ*m, respectively. In the optical system, the resolution and pixel pitch of the spatial light modulator (SLM) are 1,280×1,024 and 13.62

*μ*m repectively.

## 5. Conclusion

## Acknowledgments

## References and links

1. | S. Benton and V. M. Bove Jr., |

2. | J. K. Chung and M. H. Tsai, |

3. | P. Hariharan, |

4. | M. Lucente, “Interactive computation of holograms using a look-up table,” J. Electron. Imaging |

5. | H. Yoshikawa, S. Iwase, and T. Oneda, “Fast computation of fresnel holograms employing differences,” Proc. SPIE |

6. | T. Shimobaba and T. Ito, “An efficient computational method suitable for hardware of computer-generated hologram with phase computation by addition,” Comput. Phys. Commun. |

7. | 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 |

8. | 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 |

9. | Y.-H. Seo, H.-J. Choi, J.-S. Yoo, and D.-W. Kim, “An architecture of a high-speed digital hologram generator based on FPGA,” J. Syst. Archit. |

10. | N. Masuda, T. Ito, T. Tanaka, A. Shiraki, and T. Sugie, “Computer generated holography using a graphics processing unit,” Opt. Express |

11. | L. Ahrenberg, P. Benzie, M. Magnor, and J. Watson, “Computer generated holography using parallel commodity graphics hardware,” Opt. Express |

12. | Y. Pan, X. Xu, S. Solanki, X. Liang, R. Bin, A. Tanjung, C. Tan, and T.-C. Chong, “Fast CGH computation using S-LUT on GPU,” Optics Express |

13. | Y.-Z. Liu, J.-W. Dong, Y.-Y. Pu, B.-C. Chen, H.-X. He, and H.-Z. Wang, “High-speed full analytical holographic computations for true-life scenes,” Opt. Express |

14. | T. Shimobaba, T. Ito, N Masuda, Y Ichihashi, and N. Takada, “Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL,” Opt. Express |

15. | W. G. Joseph, |

**OCIS Codes**

(090.1995) Holography : Digital holography

**ToC Category:**

Holography

**History**

Original Manuscript: January 4, 2011

Revised Manuscript: March 31, 2011

Manuscript Accepted: April 11, 2011

Published: April 20, 2011

**Citation**

Young-Ho Seo, Hyun-Jun Choi, Ji-Sang Yoo, and Dong-Wook Kim, "Cell-based hardware architecture for full-parallel generation algorithm of digital holograms," Opt. Express **19**, 8750-8761 (2011)

http://www.opticsinfobase.org/oe/abstract.cfm?URI=oe-19-9-8750

Sort: Year | Journal | Reset

### References

- S. Benton and V. M. Bove, Holographic Imaging (Wiley, 2008). [CrossRef]
- J. K. Chung and M. H. Tsai, Three-Dimensional Holographic Imaging (Wiley, 2002).
- P. Hariharan, Basics of Holography (Cambridge University Press, 2002). [CrossRef]
- M. Lucente, “Interactive computation of holograms using a look-up table,” J. Electron. Imaging 2, 28–34 (1993). [CrossRef]
- H. Yoshikawa, S. Iwase, and T. Oneda, “Fast computation of fresnel holograms employing differences,” Proc. SPIE 3956, 48–55 (2000). [CrossRef]
- 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]
- 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]
- 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]
- Y.-H. Seo, H.-J. Choi, J.-S. Yoo, and D.-W. Kim, “An architecture of a high-speed digital hologram generator based on FPGA,” J. Syst. Archit. 56, 27–37 (2009). [CrossRef]
- N. Masuda, T. Ito, T. Tanaka, A. Shiraki, and T. Sugie, “Computer generated holography using a graphics processing unit,” Opt. Express 14, 603–608 (2006). [CrossRef] [PubMed]
- L. Ahrenberg, P. Benzie, M. Magnor, and J. Watson, “Computer generated holography using parallel commodity graphics hardware,” Opt. Express 14, 7636–7641 (2006). [CrossRef] [PubMed]
- Y. Pan, X. Xu, S. Solanki, X. Liang, R. Bin, A. Tanjung, C. Tan, and T.-C. Chong, “Fast CGH computation using S-LUT on GPU,” Optics Express 17, 18543–18555 (2009). [CrossRef]
- Y.-Z. Liu, J.-W. Dong, Y.-Y. Pu, B.-C. Chen, H.-X. He, and H.-Z. Wang, “High-speed full analytical holographic computations for true-life scenes,” Opt. Express 18, 3345–3351 (2010). [CrossRef] [PubMed]
- T. Shimobaba, T. Ito, N Masuda, Y Ichihashi, and N. Takada, “Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL,” Opt. Express 18, 9955–9960 (2010). [CrossRef] [PubMed]
- W. G. Joseph, Introduction to Fourier Optics , 3rd ed. (Roberts and Company, 2005).

## Cited By |
Alert me when this paper is cited |

OSA is able to provide readers links to articles that cite this paper by participating in CrossRef's Cited-By Linking service. CrossRef includes content from more than 3000 publishers and societies. In addition to listing OSA journal articles that cite this paper, citing articles from other participating publishers will also be listed.

« Previous Article | Next Article »

OSA is a member of CrossRef.