Fast numerical generation and encryption of

computer-generated Fresnel holograms

P. W. M. Tsang,

1,

* T.-C. Poon,

2

and K. W. K. Cheung

1

1

Department of Electronic Engineering, City University of Hong Kong, 83 Tat Chee Avenue, Kowloon, Hong Kong

2

The Bradley Department of Electrical and Computer Engineering, Virginia Tech, Blacksburg, Virginia 24061, USA

*Corresponding author: eewmtsan@cityu.edu.hk

Received 23 July 2010; revised 7 November 2010; accepted 10 November 2010;

posted 11 November 2010 (Doc. ID 132144); published 20 December 2010

In the past two decades, generation and encryption of holographic images have been identified as two

important areas of investigation in digital holography. The integration of these two technologies has en-

abled images to be encrypted with more dimensions of freedom on top of simply employing the encryption

keys. Despite the moderate success attained to date, and the rapid advancement of computing technology

in recent years, the heavy computation load involved in these two processes remains a major bottleneck

in the evolution of the digital holography technology. To alleviate this problem, we have proposed a fast

and economical solution which is capable of generating, and at the same time encrypting, holograms with

numerical means. In our method, the hologram formation mechanism is decomposed into a pair of one-

dimensional (1D) processes. In the first stage, a given three-dimensional (3D) scene is partitioned into a

stack of uniformed spaced horizontal planes and converted into a set of hologram sublines. Next, the

sublines are expanded to a hologram by convolving it with a 1D reference signal. To encrypt the holo-

gram, the reference signal is first convolved with a key function in the form of a maximum length se-

quence (also known as MLS, or M-sequence). The use of a MLS has two advantages. First, an MLS is

spectrally flat so that it will not jeopardize the frequency spectrum of the hologram. Second, the auto-

correlation function of an MLS is close to a train of Kronecker delta function. As a result, the encrypted

hologram can be decoded by correlating it with the same key that is adopted in the encoding process.

Experimental results reveal that the proposed method can be applied to generate and encrypt holograms

with a small number of computations. In addition, the encrypted hologram can be decoded and recon-

structed to the original 3D scene with good fidelity. © 2010 Optical Society of America

OCIS codes: 090.0090, 090.1760, 100.4998.

1. Introduction

Numerical generation and encryption (coding) of ho-

lographic data are two important topics in the realm

of holography that have instigated numero us re-

search works in the past two decades. The former

area, commonly known as computer-generated holo-

graphy (CGH), has enabled holograms to be gener-

ated numerically from three dimensional (3D) objects

or synthetic models that do not actually exist in the

real world [1]. The latter one, encryption, allows a ho-

logram to be converted to a form which can only be

reconstructed with prior knowledge, such as the avail-

ability of a key signal, of the encoding process. The in-

tegration of these two technologies, hereafter referred

to as the holographic encryption, has also enabled 3D

optical images to be encrypted with more degrees of

freedom than classical approaches which operate on

the image pixels directly [2–8]. With the advancement

of the computing technology, the holographic encryp-

tion process can be conducted with numerical means

or a combination of numerical and optical means,

which are more flexible and easier to implement than

the classical optical methods. Along this direction,

successful attempts have been made and published

on the digital holographic processing techniques for

information security [9–13]. Despite the success

achieved to date on digital holography encryption,

0003-6935/11/070B46-07$15.00/0

© 2011 Optical Society of America

B46 APPLIED OPTICS / Vol. 50, No. 7 / 1 March 2011

Copyright by the Optical Society of America. P. W. M. Tsang, T.-C. Poon, and K. W. K. Cheung, "Fast numerical generation

and encryption of computer-generated Fresnel holograms," Appl. Opt. 50, B46-B52 (2011); doi: 10.1364/ao.50.000b46

there are a number of problems which have become

identified as areas of investigation in recent years.

Basically, heav y computation is involved in the holo-

gram generation process, and the addition of numer-

ical encryption will further lower the computation

efficiency. Some of the representative works that pro-

vide a moderate amount of reduction on the computa-

tion load in hologram generation include [14–23].

Second, the decoding and reconstruction process is

also computationally demanding as an encrypted ho-

logram has a wider space-bandwidth product than the

source data. Third, it is difficult to find a set of key

signals to encrypt each hologram in a unique manner

(so that each candidate can only be recovered with its

own key), and which guarantee decryption on all the

coded holograms. Fourth, but not the least, the key

signals should not impose excessive disturbance on

the frequency spectrum of a hologram. Otherwise,

the reconstructed image may be contaminated with

noticeable visual artifacts.

In this paper, we propose a method to address the

aforementioned problems. First, we integrated the

hologram generation and encryption mechanism into

a single entity and realized it with a pair of one-

dimensional (1D), finite impulse response (FIR) filter-

ing processes. This results in a substantial reduction

in the computation loading. Second, we employed the

set of 1D maximum length sequence (M-sequence)

[24] as the key signals. The latter are spectrally flat,

which does not impose excessive distortion on the fre-

quency spectrum of the holographic data. According

to [24], the autocorrelation function of each member

in the M-sequence is close to a train of Kronecker delta

function. As a result, the encrypted hologram can be

decoded by simply correlating it with the same key

that is adopted in the encoding process. The decryp-

tion process can be achieved with numerical means

with a small amount of arithmetic operations. Third,

the correlation between different members in the

M-sequence is very low so that each of them can be

employed as a unique encryption key for encoding

each source hologram.

Thepaperisorganizedasfollows.Aftertheintroduc-

tion, the proposed method for fast generation and en-

cryption of the Fresnel hologram is reported. We shall

explain the decomposition of the hologram formation

mechanism into a pair of 1D processes, and how en-

cryption can be integrated without additional compu-

tation overh ead. Experimental evaluation is given in

Section 3. The vast difference between the recon-

structed form of an encrypted hologram that has been

decoded with, and without, the right encryption key is

illustrated. In Section 4, we present a conclusion

summarizing the essential findings.

2. Fast Generation and Encryption of Fresnel

Holograms

A. Fast Generation of Fresnel Holograms

Given a set of 3D, self-illuminating object points P ¼

½p

0

ðx

0

; y

0

; z

0

Þ; p

1

ðx

1

; y

1

; z

1

Þ; ……; p

N−1

ðx

N−1

; y

N−1

; z

N−1

Þ,

the diffraction pattern Dð x; yÞ on a vertical plane

can be generated numerically with the following

equation:

Dðx; yÞ¼

X

N−1

i¼0

a

i

r

i

expðjkr

i

Þ¼

X

N−1

i¼0

a

i

r

i

cosðkr

i

Þþj

a

i

r

i

sinðkr

i

Þ

;

ð1Þ

where a

i

and r

i

represent the intensity of the “ith”

point and the distance between the object point and

a point ðx; yÞ on the diffraction plane, respectively.

k ¼

2π

λ

is the wavenumber and λ is the wavelength

of the object wave.

The horizontal and vertical extents of the holo-

gram is given by X and Y, respectively. Without loss

of generality, we assumed that the source image has

identical size and resolution as the hologram.

From Eq. (1), it can be seen that the number of

multiplicative operations involved in the hologram

generation process, assuming that all the sine and

cosine terms are precomputed in advance (and there-

fore so as r

i

), is

2 × N × X × Y: ð2Þ

In our proposed method in hologram generation,

the object scene can be partitioned into a vertical

stack of horizontal planes as shown in Fig. 1.

We further assume that the range of depth of the

object points is small and centered at z ¼ z

o

. Suppose

there are NðτÞ object points on the y ¼ τ plane, the

diffraction pattern according to Fresnel diffraction,

contributed by the plane is given by

Dðx; yÞ

τ

≈

X

NðτÞ

i¼0

a

i

r

i

exp

jk

ðx − x

i

Þ

2

2z

i

exp

jk

ðy − τÞ

2

2z

o

¼ exp

jk

ðy − τÞ

2

2z

o

X

NðτÞ

i¼0

a

i

r

i

exp

jk

ðx − x

i

Þ

2

2z

i

¼ Rðy − τÞOðx; τÞ: ð3Þ

The total object beam is then equal to the super-

position of the diffraction pattern in each scan plane

as

Fig. 1. Partitioning an object scene into a vertical stack (along y

direction) of horizontal planes.

1 March 2011 / Vol. 50, No. 7 / APPLIED OPTICS B47

Dðx; yÞ¼

X

τ

Dðx; yÞ

τ

¼

X

τ

Oðx; τÞRðy − τÞ: ð4Þ

Equation (4) is equivalent to a convolution process

which can be represented by

Dðx; yÞ¼Oðx; yÞRðyÞ: ð5Þ

For clarity of explanation we refer to RðyÞ, which is

employed to convert the sublines into a Fresnel ho-

logram, as the “conversion signal.” Compared w ith

the direct implementation in Eq. (1), the alternative

hologram generation method based on Eqs. (4) and

(5) is significantly faster as it only involves a pair of

one-dimensional processes, i.e., the formation of the

diffraction pattern Oðx; τÞ in each scan plane and the

subsequent generation of the overall diffraction pat-

tern Dðx; yÞ. We further noted that Oðx; τÞ can be de-

rived with an economical hardware solution based on

field programmable gate array (FPGA) at a through-

put of over 100 M pixels per second [25].

Subsequently, a hologram can be generated from

the diffraction pattern Dðx; yÞ by adding a planar

or a spherical reference beam.

B. Fast Encryption of Holograms

We now propose to encrypt the hologram generated

with Eq. (5) by convolving the conversion signal RðyÞ

with a one-dimensional binary M-sequence signal.

Mathematically, the latter can be expressed as the

primitive (prime) polynomial [24]

SðyÞ¼1 þ g

1

y

1

þ g

2

y

2

þ … þ g

M

y

M

; ð6Þ

where all mathematical operations are performed in

modulo-2, in other words, þ denotes the modulo-2 ad-

dition, and the value of SðyÞ and g

i

j

1≤i≤M

is either 1 or

0. For a given M in Eq. (6), there are 2

M

− 1 binary

bits in the M-sequence.

And there exist certain settings for the coefficients

g

i

j

1≤i≤M

where one or more M-sequences can be gen-

erated. The M-sequence can be generated by a linear

feedback shift register (LFSR) as shown in Fig. 2,

where a cascade series of M stages of a single binary

memory is shown.

Let Ψ

k;M

denote the kth output for a sequence of

length 2

M

− 1. The output signals at the selected bin-

ary memory (commonly referred to as taps) are com-

bined with the “exclusive or” (XOR) operation (which

is basically the modulo-2 addition), and the result is

feedback to the input of the LFSR.

For example with M ¼ 6, two prime polynominals

can be formed from Eq. (6) with

g

i

¼

1 ði ¼ 5; 6Þ

0 otherwise

; ð7aÞ

for the first polynominal, and

g

i

¼

1 ði ¼ 1; 6Þ

0 otherwise

; ð7bÞ

for the second polynominal.

In other words with M ¼ 6, a pair of M-sequences

can be generated with a sequence length of 2

6

− 1.

In fact, with the prime polynomial, we can generate

the M-sequence. For instance, with g

i

¼ 1 for i ¼ 5,6;

g

i

¼ 0 otherwise given above, and assuming all the

binary memories have been loaded with 1’s, we take

the fifth and sixth binary memory outputs and XOR

them to obtain a new bit for the input of the shift reg-

ister. This bit, as well as the rest of the contents in the

shift register, are then shifted right at the command of

a clock. Subsequently, a new bit value is shifted to the

output of the shift register. This process is repeated

through the control of the clock to generate 2

6

− 1

“pseudorandom” bits before repeating the same

sequence.

We now have the M-sequence, denoted as Ψ

M

ðyÞ¼

ðΨ

1;M

; Ψ

2;M

; …Ψ

2

M−1

;M

Þ, where the argument y repre-

sents that we are applying the sequence along the y

direction.

The diffraction pattern encrypted with the M-

sequence Ψ

M

ðyÞ is then given by

D

E

ðx; yÞ¼Oðx; yÞRðyÞΨ

M

ðyÞ: ð8Þ

Taking the Fourier transform on both sides of

Eq. (8) along the vertical direction, we have,

~

D

E

ðx; e

jω

Þ¼

~

Oðx; e

jω

Þ

~

Rðe

jω

Þ

~

Ψ

M

ðe

jω

Þ¼

~

Oðx; e

jω

Þ

~

Eðe

jω

Þ;

ð9Þ

where

~

Eðe

jω

Þ¼

~

Rðe

jω

Þ

~

Ψ

M

ðe

jω

Þ.

From Eq. (9), it can be seen that the generation and

encryption of the hologram can be merged into a sin-

gle process and conducted in the frequency domain.

In other words, no extra computation load is required

in the encryption process. Subsequently, the diffrac-

tion pattern can be obtained by inverse Fourier

transforming

~

D

E

ðx; e

jω

Þ as

D

E

ðx; yÞ¼FT

−1

f

~

D

E

ðx; e

jω

Þg: ð10Þ

Fig. 2. M-stage LFSR for the realization of M-sequence.

B48 APPLIED OPTICS / Vol. 50, No. 7 / 1 March 2011

A breakdown of the number of complex multiplica-

tion operations involved in Eqs. (10) (formulated

based on Eqs. (8) and (9)) is given in Table 1. As the

formation of Oðx; yÞ can be realized with the hard-

ware solution, the computation loading on this part

of the process is not taken into account.

According to Table 1, the amount of complex multi-

plication operation involved in the generation of the

encrypted hologram D

E

ðx; yÞ is given by

ðX × Y log

2

YÞþðX × YÞþðX × Y log

2

YÞ

¼ðX × YÞð1 þ 2Y log

2

YÞ: ð11Þ

However, one complex multiplication is composed

of four scalar multiplication operations. Hence in

Eq. (11 ), the total number of scalar multiplication op-

erations is equivalent to

4ðX × YÞð1 þ 2Y log

2

YÞ: ð12Þ

Comparing with Eq. (2), the computation advan-

tage (CA) of the proposed method over the direct

hologram generation process based on Eq. ( 1) is given

by

CA ¼

2 × N × X × Y

4 × X × Y½1 þ 2 log

2

Y

¼

N

2½1 þ 2 log

2

Y

: ð13Þ

Suppose the source image is of identical size and

resolution as the hologram, and all the pixels in

the source image are object points (i.e., N ¼ X × Y),

we have

CA ¼

XY

2½1 þ 2 log

2

Y

: ð14Þ

For a small hologram the size of 1024 × 1024 pixels,

our proposed method is over 2 × 10

4

times faster than

the direct hologram generation method based on

Eq. (1).

The decryption process can be conducted in the fre-

quency space by inverse filtering

~

D

E

ðx; e

jω

Þ as given

by

Dðx; yÞ¼FT

−1

~

D

E

ðx; e

jω

Þ

~

Eðe

jω

Þ

: ð15Þ

Equation (15) indicates that the encrypted holo-

gram can be perfectly reverted to its original form

if it is decrypted with the same key.

3. Experimental Evaluation

We shall evaluate our method with the standard im-

age “Lenna” shown in Fig. 3. The image is positioned

at a distance of 0:5 m from the hologram an d the op-

tical setting is given in Table 2.

The image “Lenna” is converted into a hologram

without encryption according to Eq. (5), and the nu-

merical reconstruction is shown in Fig. 4(a). It can be

seen that apart from a slight blurriness of the image

and minor ringing patterns near the boundary which

is caused by the finite size of the hologram, the result

is close to the original image.

Next, we apply our proposed method to generate,

and concurrently encrypt the hologram with an M-

sequence derived from a six-taps LFSR representing

the polynominal S

1

ðyÞ¼1 þ y

5

þ y

6

[see Eq. (6) with

M ¼ 6 and the g

i

given in Eq. (7a) for ð1 ≤ i ≤ 6Þ]. For

simplicity of explanation, we refer the polynominals

representing the M-sequence as the “encryption

keys.”

The image reconstructed from the encrypted holo-

gram is shown in Fig. 4(b). The result is barely visible

and the original content is completely lost. The mean

square error (MSE) is 3196, and the peak signal to

noise ratio (PSNR) is 13:1 dB, indicating an extre-

mely low coding fidelity.

Next the encrypted hologram is decrypted with the

same encryption key S

1

ðyÞ, and the reconstructed im-

age is shown in Fig. 4(c). It can be seen that the re-

constructed image is identical to the reconstru cted

image derived from the unencrypted hologram

shown in Fig. 4(a). The MSE is 0 which is in accor-

dance with the theoretical deduction in Eq. (15).

Fig. 3. Test image Lenna positioned at 0.5 m from the hologram.

Table 1. Breakdown of Number of Complex Multiplications for Each

Step in Eq. (10)

Operation Number of Complex Multiplications

Oðx; yÞ →

~

Oðx; e

jω

Þ X × Y log

2

Y

~

D

E

ðx; e

jω

Þ¼

~

Oðx; e

jω

Þ

~

Eðe

jω

Þ X × Y

~

D

E

ðx; e

jω

Þ → D

E

ðx; yÞ X × Y log

2

Y

Table 2. Optical Setting for Generating the Hologram

Wavelength 650 nm

Pixel size of hologram 10:58 μm×10:58 μm

Image/hologram dimension X ¼ Y ¼ 1024

z

o

of Eq. (3) 0:5 m

1 March 2011 / Vol. 50, No. 7 / APPLIED OPTICS B49

To demonstrate the effect of employing a wrong

key to decrypt the encrypted hologram, the latter

is decrypted with another encryption key S

2

ðyÞ given

by [see Eq. (6) with M ¼ 6 and the g

i

given in Eq. (7b)

for ð1 ≤ i ≤ 6Þ]

S

2

ðyÞ¼1 þ y

1

þ y

6

;

and the reconstructed image is shown in Fig. 4(d).It

can be seen that the original image is beyond recog-

nition. The MSE is 1519, and the PSNR is 16:3 dB,

indicating an extremely low coding fidelity.

The encryption method can be conducted with an

encryption key of longer M-sequences. To demon-

strate this, the proposed method is applied to gener-

ate and encrypt the hologram with an M-sequence

derived from a eight-taps LFSR representing the

polynominal S

3

ðyÞ¼1 þ y

1

þ y

6

þ y

8

. The eight-taps

LFSR generates an M-sequence of length 256, which

is four times the one generated with a six-taps LFSR.

Subsequently, the encrypted hologram is decrypted

with the same key S

3

ðyÞ and the result is shown

in Fig. 4(e). It can be seen that the reconstructed im-

age is identical to the one corresponding to the unen-

crypted hologram shown in Fig. 4(a). The MSE is 0

demonstrating that the quality of the reconstructed

image is not affected by the length of the M-sequence.

Next, we apply our proposed method to generate

and encrypt a hologram generated from the image

“peppers” as shown in Fig. 5(a). The horizontal and

vertical extent of the test image is 512 × 512, and the

image is evenly divided into an upper and a lower por-

tion located at a distance of z

1

and z

2

from the holo-

gram as shown in Fig. 5(b) . A hologram is first

generated without encryption with z

1

¼ 0:502 m,

z

2

¼ 0:498 m, and z

o

¼ 0:50 m according to the setting

given in Table 1. The reconstructed images at dis-

tances of z

1

and z

2

are shown in Figs. 6(a) and 6(b),

respectively.

It can be seen that apart from a slight blurriness,

together with minor ringing at the boundary and the

junction between the upper and lower sections, the

reconstructed images at each section are similar to

the original one.

We then apply the propose d method to generate

and encode the hologram for the source image in

Fig. 5(a). Subsequently, the encoded hologram is de-

coded, and the reconstructed images at z ¼ 0:502 m

and z ¼ 0:498 m are shown in Figs. 6(c) and 6(d), re-

spectively. For both cases, the reconstructed images

are identical to the ones obtained with the unen-

crypted holograms and the MSE is 0.

A similar test is performed on the source image in

Fig. 5(a) with z

1

¼ 0:49 m, z

2

¼ 0:51 m, and z

o

¼

0:50 m. The reconstructed images of the unencrypted

hologram at these two depth planes are shown in

Figs. 6(e) and 6(f). It can be seen that when z

1

and

z

2

are further away from z

0

, the reconstructed images

are slightly inferior than those shown in Figs. 6(c) and

6(d). The reason is that in applying the proposed

method in generating the hologram [i.e., Eq. (3)], it

has been assumed that the range of depth of the object

points is within a close neighborhood of z

o

. As a result,

the quality of the reconstructed images will decrease

as the deviation from the assumption escalates.

An encoded hologram based on the key S

3

ðyÞ is

then generated with the proposed method. The en-

crypted hologram is decoded, and the reconstructed

Fig. 4. (a) Reconstructed image from a hologram generated from the test image in Fig. 3. (b) Reconstructed image from a hologram

generated from the test image in Fig. 3 and encrypted with the M-sequence generated by S

1

ðyÞ. PSNR ¼ 13:1 dB. (c) Reconstructed image

from a hologram generated from the test image in Fig. 1 and that has been encrypted and decrypted with the same encryption key, S

1

ðyÞ.

The MSE, as compared with the reconstructed image of the unencrypted hologram, is 0. (d) Reconstructed image from a hologram gen-

erated from the test image in Fig. 1 and that has been encrypted with the encryption key S

1

ðyÞ and decrypted with the key S

2

ðyÞ.

PSNR ¼ 16:3 dB. (e) Reconstructed image from a hologram generated from the test image in Fig. 3 and that has been encrypted and

decrypted with the same encryption key, S

3

ðyÞ. The key is derived from an eight-taps M-sequence. The MSE, as compared with the re-

constructed image of the unencrypted hologram in Fig. 4(a),is0.

Fig. 5. (a) Test image evenly divided into an upper and lower sec-

tion, each locating at a different depth from the hologram as shown

in Fig. 5(b). (b) Depth of each section of the image in Fig. 5(a) to the

hologram.

B50 APPLIED OPTICS / Vol. 50, No. 7 / 1 March 2011