You are on page 1of 8

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/231051776

An algorithm for computing spot-generating holograms

Article in Journal of Optics A Pure and Applied Optics · January 2008


DOI: 10.1088/1464-4258/10/01/015306

CITATIONS READS

11 205

4 authors:

Andreas Georgiou Timothy D. Wilkinson


Microsoft University of Cambridge
24 PUBLICATIONS 841 CITATIONS 328 PUBLICATIONS 5,696 CITATIONS

SEE PROFILE SEE PROFILE

N. Collings W. A. Crossland
Envisics Ltd University of Cambridge
175 PUBLICATIONS 1,497 CITATIONS 235 PUBLICATIONS 2,486 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by W. A. Crossland on 14 March 2016.

The user has requested enhancement of the downloaded file.


Home Search Collections Journals About Contact us My IOPscience

An algorithm for computing spot-generating holograms

This content has been downloaded from IOPscience. Please scroll down to see the full text.

2008 J. Opt. A: Pure Appl. Opt. 10 015306

(http://iopscience.iop.org/1464-4258/10/1/015306)

View the table of contents for this issue, or go to the journal homepage for more

Download details:

IP Address: 140.116.220.1
This content was downloaded on 13/03/2016 at 22:04

Please note that terms and conditions apply.


IOP PUBLISHING JOURNAL OF OPTICS A: PURE AND APPLIED OPTICS
J. Opt. A: Pure Appl. Opt. 10 (2008) 015306 (6pp) doi:10.1088/1464-4258/10/01/015306

An algorithm for computing


spot-generating holograms
A Georgiou, T D Wilkinson, N Collings and W A Crossland
Electrical Engineering Division, Department of Engineering, University of Cambridge,
Cambridge CB3 0FA, UK

E-mail: ag245@cam.ac.uk

Received 10 September 2007, accepted for publication 28 November 2007


Published 9 January 2008
Online at stacks.iop.org/JOptA/10/015306

Abstract
This paper describes a computationally efficient algorithm suitable for designing
spot-generating holograms many times faster that existing techniques without compromise in
the reconstruction quality. This algorithm is best suited for applications where the spatial light
modulator has many pixels and phase levels while the reconstruction plane contains a relatively
small number of spots.

Keywords: computer generated holograms, spot array generation, optical tweezers,


free space optical switches, liquid crystal over silicon, direct binary search

1. Introduction known and fixed, while the phase is unknown. The amplitude
of the hologram plane is restricted to unity due to the phase-
A coherent wavefront when reflected from a programmable only nature of the hologram and the output plane’s amplitude
phase-only hologram will diffract, forming an intensity profile is the target intensity of the spots. The aim of any hologram
on the output plane. Power may be distributed to a number of design algorithm is to compute the phase of the hologram
output spots by changing the displayed hologram. In many plane so that these amplitude constraints are best met. Once
applications the hologram computation must be performed the phase of any of the two planes is found, the other plane
in real time; thus computational efficient algorithms are can be found using the Fourier or inverse Fourier transform.
required. As will be discussed later in detail, the output plane phase
optimization (OPPO) algorithm uses this principle to first
1.1. Holograms and their applications optimize the significantly simpler output plane, and then uses
the output plane phase to compute the complex hologram
Phase-only holograms do not use absorbing components, and
plane.
in principle their efficiency can reach 100%. This makes them
During the hologram computation all the possible paths
particularly attractive in applications like free-space optical
switches where there is a tight power budget [1–4]. Other between the hologram pixels and the points of interest on
applications include optical tweezers [5], where the position of the output plane must be computed. For a spot-generating
the particle in three dimensions can be controlled by changing hologram this is equal to N × N × S complex computations,
the hologram. In both applications the position of the spots where N × N is the number of hologram pixels and S the
is unpredictable; thus the hologram must be computed in real number of spots on the output plane. The computation is
time. Despite the advances in computer science, even simple further increased because most algorithms are iterative without
spot-generating holograms require substantial computation a unique solution, and these paths must be computed more
that make their computation in real time a challenge [6]. than once. Depending on the algorithm, the number of
phase levels ( p ) may also increase the computation of the
algorithm. A number of hologram computation algorithms
1.2. Hologram computation
exist that compute a phase-only hologram. Most of them fall
The hologram computation is an optimization problem. The in two categories: the Gerchberg–Saxton (GS) family and the
amplitude of the two planes, the hologram and output plane, is Boltzmann annealing family.

1464-4258/08/015306+06$30.00 1 © 2008 IOP Publishing Ltd Printed in the UK


J. Opt. A: Pure Appl. Opt. 10 (2008) 015306 A Georgiou et al

710
800
1500
E
1
700
750
Imag[E]

1000 E2E3 E
4

700
690
500

650
0
680
0 500 1000 1500 700 800 750 760 770 780
Real[E] Real[E] Real[E]

Figure 1. The complex electric field as it evolves during the computation of a 64 × 64 four-spot-generating hologram using DBS. After each
pixel change the new complex electric field was plotted on the real–imaginary plot above. The further away from the origin it is, the larger the
intensity of the output spot is. The electric field follows a rather random path towards maximizing the output intensity.

2. Background—existing algorithms tested κNp times, the total number of complex floating point
operations (FLOPs) is equal to
2.1. Gerchberg–Saxton
tDBS = κNp × p × S × N 2 (1)
Algorithms in the GS family (like Fienup [7] and input–
output [8] algorithms) are particularly efficient when the output
where S is the number of spots on the output plane.
spots are regularly positioned and there is an equal number
The DBS algorithm becomes very slow for large
of spots and hologram pixels. This allows the use of the fast
holograms. The progress made on the output plane each time
Fourier transform (FFT) that accelerates the Fourier transform
a hologram pixel changes is very small and not always into the
computation significantly. The FFT assumes an infinitely
periodic hologram and does not consider the aperture (or correct direction. This makes the hologram design extremely
illumination) function, and spots are considered as points. slow. To demonstrate this it is more appropriate to observe the
Spots may be placed only on the well defined grid of the FFT; evolution of the output plane. A four-spot-generating hologram
thus the spot-positioning accuracy reduces. Note that the effect was designed using DBS and the complex values of the electric
of the aperture function may be included with the use of the field on the output plane were observed after each change on
discrete Fourier transform (DFT), but the speed advantage of the hologram. This is shown in figure 1. Each of the three
the FFT is lost and such computation is unfeasible for most subplots show the DBS evolution on a different scale. The x -
holograms. axis is the real part and the y -axis the imaginary part of the
The GS algorithm is widely used for image-projecting electric field of the output spots. From this figure it is evident
holograms [9] where the spots (image pixels) are regularly that the hologram does not evolve in an optimum way. Ideally
positioned. A unit hologram is computed with the same all the changes would cause the electric field to form a straight
number of pixels as the image and then repeated to cover the line starting from near the origin and leading to its final value.
phase-modulating device. Instead, the changes in the electric field have a nearly random
orientation with only a small preference towards the optimum
direction. This is best shown in the smaller scales of figure 1.
2.2. Direct binary search Actually, when using DBS the solution of the hologram
Direct binary search (DBS) [10] is a particular case of the is decided at its early stages of the hologram computation.
Boltzmann annealing optimization [11]. It operates by making This can be seen by inspecting the hologram plane during the
random changes on the hologram, and if the reconstruction computation process. Three snap shots of the hologram were
quality improves, the change is accepted; otherwise it is taken during the hologram design and are shown in figure 2.
rejected. The quality of the reconstruction is measured by the The first snapshot was taken after one hologram scan, i.e. after
cost function that gives a scalar number with which decisions all hologram pixels were altered once. The second snapshot
are made. was taken after 2 scans and the third after 35 scans when the
DBS has excellent performance in terms of flexibility and DBS was terminated. It can be seen that after a single iteration
output efficiency. However, the search space is proportional to the final form of the hologram is determined. Then, it is just
the number of pixels ( N × N ) and phase levels ( p ). As the a matter of performing many pixel flippings until all the pixels
number of pixels and phase levels increases, the computation find their optimum value by sheer luck.
increases disproportionately. It is possible to repeat the The proposed algorithm, the OPPO [12] algorithm, avoids
hologram on the device and thus reduce the number of pixels these steps by calculating the final values of electric fields of
and consequently reduce the computation, but this also reduces the output plane and then using these to calculate the hologram
the capabilities of the hologram. If each state of each pixel is plane in a single step.

2
J. Opt. A: Pure Appl. Opt. 10 (2008) 015306 A Georgiou et al

hologram after 1 scan hologram after 2 scans hologram after 35 scans

x x x

Figure 2. The final form of the hologram is determined at early stages of the DBS algorithm. The first hologram snapshot was taken after
64 × 64 pixel flips. It contains the final solution of the hologram (i.e. after 35 × 64 × 64 pixel flipping) but concealed under a high level of
noise. Between the 2nd and 35th iteration (i.e. for 34 × 64 × 64 pixel flipping) the DBS algorithm is engaged with removing the noise rather
than computing the hologram.

Temporary Hologram Hologram on Device

Figure 3. It is possible that two random points on the temporary


hologram (here x1 and x2 ) at different positions will be considered as
one. This occurs because the complex exponentials are periodic
functions. Since points x1 and x2 are in effect sampling the same
points on the sine waves they cannot produce two independent Figure 4. The first step of the algorithm is to form a temporary
equations. hologram with significantly fewer pixels than the original hologram.
In this figure the temporary hologram has 10 pixels randomly
positioned. In the second step, DBS is used to optimize the
temporary hologram so that it creates the target output plane. Squares
3. Method denote individual pixels.

The OPPO algorithm, is a combination of DBS and the DFT. It


consists of four main steps. The phase-only hologram is most efficient when the
denominator has the smallest variations of amplitude for all
(1) Select a few pixels from the hologram plane with random x and y . Then the absolute value in the denominator has
positions. little effect on the hologram and it affects very little the
(2) Using only the selected pixels use DBS to design a reconstruction. A hologram computation algorithm achieves
temporary hologram forming the target output plane. that by changing the values of the phase parameters φ1 · · · φ S .
(3) Measure the phase of the electric field arriving at the In order to determine the optimum values of φ1 · · · φ S at
output spots. least S independent equations are required. The S equations
(4) Use inverse DFT together with the phase of the output are obtained by taking S different values of x and y (how
spots to compute the full resolution hologram. these values are chosen will be discussed shortly), which is
equivalent to choosing S pixels on the temporary hologram (see
3.1. Temporary hologram figure 4).
The S pixels on the temporary hologram must be chosen
A spot-generating hologram is composed of a sum of spatial such that all S equations are independent. Because the complex
frequencies with different phases φ1 , φ2 · · · φ S such that exponentials of equation (2) are periodic it is plausible that two
h(x, y) or more points are chosen that are an integer number of spatial
periods apart. And it is also plausible that another exponential
ejφ1 ej(u 1 x+v1 y) + ejφ2 ej(u 2 x+v2 y) + · · · ejφ S ej(u S x+vS y)
= jφ j(u x+v y) (2) will have two or three times the spatial frequency of the first,
|e 1 e 1 1 + ejφ2 ej(u 2 x+v2 y) + · · · ejφS ej(u S x+vS y) | thus the two points actually count as one. This effect is best
where x and y are the coordinates on the hologram plane, illustrated in figure 3.
(u i , vi ) the coordinates of the i th spot on the reconstruction The issue of selecting unsuitable pixels on the temporary
plane and h(x, y) the phase-only hologram. hologram can be avoided if (a) the pixels are not an integer

3
J. Opt. A: Pure Appl. Opt. 10 (2008) 015306 A Georgiou et al

(Efficiency) vs (Number of pixels on temporary hologram)


0.83
Minimum
Maximum
0.825 Mean

Efficiency
0.82

0.815

0.81

0.805
0 5 10 15 20 25 30 35 40 45 50
Number of pixels on temporary hologram

Figure 5. The temporary hologram must contain at least the same number of pixels as there are spots on the output plane. By having a few
times more pixels on the temporary hologram (up to 5 S pixels) the problems arising from having two or more pixels on the same or at a
similar position on the temporary hologram are eliminated.

spatial frequency apart or (b) more than S pixels are used to temporary pixels increases beyond 10, the efficiency variation
compensate for this possibility. The suggested approach is a (and thus the spot’s intensities) have their expected value, and
combination of both methods. the power is fairly distributed.
First the pixels are selected so it is unlikely that they are The worst case scenario is when the hologram creates
an integer spatial frequency apart. To ensure this the pixels only two spots. Then there is only one distance between the
must not be on a regular grid. Having pixels on a regular grid two random pixels and this is more likely to be an integer
makes it more likely. If a fixed number of temporary pixels number of spatial periods. After performing many hologram
are arranged on a regular grid, they would have a large pixel designs, it was found that using 4–5 times more temporary
pitch and would occupy the entire hologram or a very small pixels was sufficient for the purpose of the algorithm. This
pixel pitch and would occupy a small area of the hologram. In virtually eliminates any problems in the optimization that may
the first case high spatial frequencies were likely to be integer arise due to the distance between temporary pixels.
periods apart, and in the second the low frequencies would
have been misrepresented. Choosing pixels randomly avoids 3.2. Temporary hologram calculation
both situations as their spacing varies from small values to
large values. The second step in the OPPO algorithm is the optimization of
There is some small probability that two pixels will be the temporary hologram. The temporary hologram is treated as
exactly an integer number of spatial frequencies apart. This a normal hologram, but its pixels are not on a regular grid. All
probability is determined by the accuracy with which the x temporary pixels are treated as point sources.
and y coordinates are stored in the computer, and for modern The DBS is used to optimize the temporary hologram.
computers is very small. If the pixels are separated by a Random changes are made on the phase of the pixels and the
distance similar to an integer number of spatial periods, the ‘quality’ of the reconstruction plane is observed. If the quality
optimization may be dominated by truncation errors. improves, the change is accepted; if not, the change is rejected.
However, it is more likely that the optimization will take The ‘quality’ of the reconstruction plane is measured by
too long to converge or not converge at all if there are not the cost function, and the aim of the DBS is to minimize it.
sufficient temporary pixels. Different areas on the hologram Most cost functions have a number of inputs but only one
contribute by different amount to each output spot. It is output that determines the decision taken. In this particular
necessary to take a sufficient number of temporary pixels to case, the cost function accepts as input the electric fields of the
ensure fairness between spots and fair representation of the spots E 1 to E S , and is equal to
hologram’s surface. This issue is more apparent in holograms
creating a small number of spots. The worst case scenario is 
S
1
CF = − |E i | Q (3)
a two-spot-generating hologram, which divides the hologram i=1
plane in stripes of 0π and π phase shifts (assuming spots are
positioned symmetrically around the zero order). As shown in where Q is a real number (preferably an integer, to accelerate
figure 5, for a small number of pixels there are some variations computation) larger than unity. For this work Q = 10.
in the intensity of the output spots (this is shown as increased The power factor Q1 assists the algorithm into distributing
efficiency). Note that the most unfair situation is when using the power fairly into the spots. Increasing the amplitude of
only three pixels on the temporary hologram. In this case, one strong spots has a smaller effect than increasing the amplitude
of the two spots becomes more significant in the DBS and the of the weak spots. If a more strict scheme is required, the cost
resulting grating resembles more a blazed grating; thus it has function may be multiplied by the intensity of the weakest spot
increased efficiency. The same issue appears for 5 and 7 pixels or divided by the intensity of the strongest. These schemes
because, again, it is an odd number and it is more likely that ensure fairness between spots but it may be at the expense of
one of the two spots will be favoured. When the number of lower optical efficiency.

4
J. Opt. A: Pure Appl. Opt. 10 (2008) 015306 A Georgiou et al

Amplitude Variation of the Output Spots


0.07

0.06

0.05

pdf(Iout)
0.04

0.03

0.02

0.01

0
0.34 0.36 0.38 0.4 0.42 0.44 0.46
Iout

Figure 6. An ideal two-spot-generating hologram forms two spots with intensities of 0.405. In practice the DBS part of the OPPO algorithm
introduces some minor unfairness; thus the spots do not have the exact amplitude. Therefore the above distribution of intensities is introduced.
This variance may be reduced by using more complex cost functions.

3.3. Output plane phase that. For the hologram plane appearance a four-spot-generating
hologram was designed using both OPPO and DBS algorithms.
The third step of the algorithm is the measurement of the phase
In order to determine the efficiency of the OPPO algo-
of the output ports. This information is already available during
rithm, 5000 two-spot-generating holograms were computed us-
the DBS optimization of the hologram. It may be recalculated
ing the proposed algorithm. The number of pixels on the tem-
if it is suspected that the rounding errors of the DBS are
porary hologram was varied from 2 to 50, and for each case the
significant.
maximum, minimum and mean efficiency of the algorithm was
plotted against the number of pixels of the temporary hologram
3.4. Inverse Fourier transform computation (see figure 5). From this figure it can be seen that (i) the effi-
The final step in the OPPO algorithm is to use the inverse ciency is virtually the same as the ideal efficiency, and (ii) the
DFT to compute the original hologram. The hologram plane efficiency changes very little for temporary holograms with 10
will have some amplitude modulation which is then removed. or more pixels.
It can be shown analytically that once the optimum phase of The average efficiency achieved was actually 0.05% more
the output spots is calculated, the phase of the inverse Fourier than the ideal efficiency. Note that the ideal efficiency gives a
transform gives the hologram that will route maximum power lower limit (equal to 81%), and it is possible to have more than
to the output spots [12]. the ideal efficiency [1, 12]. For a small number of pixels on the
The DFT is a computationally demanding process (it temporary hologram (less than 10) efficiencies were achieved
requires N × N × S computations) but in the OPPO algorithm of 2% more than the ideal one. This occurs in holograms which
it is performed only once. Its speed may be further improved form two spots of unequal intensity in which case the hologram
by using a parallel processor because the value of each pixel resembles more a blazed grating that has 100% efficiency.
is affected only by the phases of the output spots. It may The spot variance was measured by plotting the intensities
well be possible to be computed in distributed processors of the spots formed by the 5000 holograms on a probability
behind pixels. In such a scheme, the addressing lines density function plot. This shows the intensity of the spot,
of the LCOS device may be replaced with a bus carrying Iout , and its probability of occurrence. Ideally the probability
the information containing the phase and position of the density function should be an impulse at sinc2 ( π2 ) = 0.405.
spots. This, potentially, would allow a simple bus to send From figure 6 it can be seen that there is a small variance on
all the information required to the pixel-based processors, the intensity of the spots. This is equivalent to 99% of the spots
thus improving the speed and complexity of the device and having only 5% error on their expected value.
replacing the addressing lines with a common bus carrying the The final test for the OPPO algorithm was to compare
phases of the output spots. it with DBS. A number of spot-generating holograms were
designed with different characteristics, and in all cases the
performance of the OPPO algorithm was either the same as
4. Results
or better than DBS. Figure 7 shows two four-spot-generating
4.1. Hologram plane holograms computed using the two algorithms. The spots were
positioned randomly around the zero order. The hologram
The performance of the OPPO algorithm was evaluated had 256 × 256 pixels, and 256 phase levels. As the OPPO
by comparing theoretical results and results from the DBS algorithm computes an analogue phase hologram, the value of
algorithm. Three metrics were used to judge the performance it was rounded to the nearest 1/256 after the inverse DFT. The
of the OPPO algorithm: efficiency, spot variance and hologram efficiency loss associated with this phase quantization can be
plane appearance. Most of the results are based on a two-spot- ignored because it is very small (about 0.005% power loss);
generating hologram, where the amplitude of the spots can therefore phase quantization can be safely disregarded as a
be found analytically to be sinc2 ( π2 ) and the efficiency twice factor affecting efficiency.

5
J. Opt. A: Pure Appl. Opt. 10 (2008) 015306 A Georgiou et al

OPPO algorithm (eff=81.5%) DBS algorithm (eff=81.2%) Despite the developments in the speed of computation, a
major issue in the use of reconfigurable holograms remains
their real-time computation. In this paper a computationally
efficient algorithm, the output plane phase optimization
(OPPO) algorithm, was presented. The OPPO algorithm is
capable of computing phase-only spot-generating holograms
many times faster than any other known algorithm. It operates
by optimizing the phase of the output plane, which has a
significantly smaller number of variables compared to the
hologram plane. This algorithm is best suited to systems
in which a hologram with many pixels is used while the
output plane has only a small number of spots. The only
Figure 7. The holograms designed by the OPPO and DBS computationally intensive operation of the OPPO algorithm is
algorithms. The computation time for the OPPO algorithm was
below 2 s while the DBS was run for 271 s to achieve similar
the inverse DFT, may be performed in parallel in the silicon
efficiency. backplane of an LCOS device, accelerating the computation
and simplifying the addressing. In general the OPPO algorithm
computes holograms with equal or better characteristics than
4.2. Computation speed DBS, at least 10 times faster, while allowing the computation
to be performed in parallel.
The holograms calculated using OPPO algorithm had equal or
better performance than the DBS holograms. In the particular
example of figure 7, the OPPO algorithm computed hologram References
was slightly more efficient than the DBS one. The computation [1] Tan K L 1999 Dynamic holography using ferroelectric liquid
time for the OPPO was less than 2 s. DBS achieved 10% crystal on silicon spatial light modulators PhD Thesis
efficiency in 2 s, 50% efficiency in 10 s and 81.2% in 271 s Cambridge University, Engineering Department
(computation was performed on a Pentium Duo 1.86 GHz [2] Tan K L, Warr S T, Ilias M G, Wilkinson T D, Redmond M M,
processor). Crossland A W and Robertson B 2001 Dynamic holography
for optical interconnections. (i) noise floor of low-crosstalk
The OPPO algorithm requires computation for designing
holographic switches J. Opt. Soc. Am. A 18 195–204
the temporary hologram using DBS (about κNp × p × [3] Tan K L, Warr S T, Ilias M G, Wilkinson T D, Redmond M M,
S × 5 S complex operations) and the computation of the Crossland A W and Robertson B 2001 Dynamic holography
hologram using DFT ( S × N 2 complex operations). The total for optical interconnections. II Routing holograms with
computation is then predictable location and intensity of each diffraction order
J. Opt. Soc. Am. A 18 205–15
tOPPO = 5κNp × p × S 2 + S × N 2 . (4) [4] Golub M A 2004 Laser beam splitting by diffractive optics Opt.
Photon. News 15 36–41
[5] Ashkin A, Dziedzic J M, Bjorkholm J E and Chu S 1986
If N = 256, S = 32, p = 8 and κNp is set to its minimum Observation of a single-beam gradient force optical trap for
value of unity, then dielectric particles Opt. Lett. 11 288–90
[6] Reicherter M, Zwick S, Haist T, Kohler C, Tiziani H and
tOPPO = 0.04 × 106 + 2.1 × 106 ; (5) Osten W 2006 Fast digital hologram generation and adaptive
force measurement in liquid-crystal-display based
thus the computation of designing the temporary hologram holographic tweezers Appl. Opt. 45 888–96
may be ignored. Then the speed of OPPO relative to DBS is [7] Fienup J R 1978 Reconstruction of an object from the modulus
of its Fourier transform Opt. Lett. 3 27–9
tDBS [8] Kuo C J and Tsai M H 2002 Three-dimensional Holographic
≈ κNp × p ≈ 8. (6) Imaging (New York: Wiley)
tOPPO
[9] Taghizadeh M, Blair P, Ballüder K, Waddie A and
In practice κNp is a function of both N and p and will increase Rudman P N R 2000 Design and fabrication of diffractive
elements for laser material processing applications Opt.
for larger holograms. Also devices are more likely to have
Lasers Eng. 34 289–307
more than eight phase levels. Thus it can be deduced with [10] Seldowitz M A, Allebach J P and Sweeney D W 1987
certainty that OPPO will be at least 10 times faster than DBS Synthesis of digital holograms by direct binary search Appl.
for most cases. Opt. 26 2779–98
[11] Kirk A and Hall T 1992 Design of binary computer generated
holograms by simulated annealing: coding density and
5. Conclusions reconstruction error Opt. Commun. 94 491–6
[12] Georgiou A 2005 Design of liquid crystal holograms for
Spot-generating holograms are employed in many applications, programmable optical interconnects PhD Thesis Cambridge
including telecommunication systems and optical tweezers. University, Engineering Department

View publication stats

You might also like