A Holographic Alternative to JPEG
Jon Graven, Moon Lee, Nishant Nangia
Graduate Leader: Darlayne Addabbo
Faculty Mentor: Yuliy Baryshnikov
University of Illinois at Urbana-Champaign
Illinois Geometry Lab-Fall 2012
December 7, 2012
Abstract
JPEG is the ubiquitous lossy compression protocol for images. Its efficiency depends, however, on predominant local flatness of the image. Therefore, encoding holograms (in essence,
Fourier transforms of a 2D image) leaves little hope for efficient compression: the holograms
typically consist of highly oscillating patterns. This article provides an overview of the JPEG
lossy compression, and focuses in detail on the method to compress holograms efficiently.
Index Terms: JPEG, holograph, hologram, FFT, DCT, lossy compression, phase-retrieval
algorithm.
1
Introduction
JPEG (Joint Photographic Experts Group) is the ubiquitous loss compression protocol for images. The efficiency of the JPEG algorithm, however, depends on predominant local flatness of
the image. JPEG compression is divided into 3 parts. First, the matrix of image data is divided
into 8 × 8 blocks. Next, the blocks are moved through the encoding process and compressed.
Finally, the compressed data is transferred to the reverse process and a close approximation to
the original image is produced:
1
A holograph is a recording of the interference patterns formed between two beams of coherent
light coming from a laser on a light-sensitive media such as photographic film. The light beam
coming from a laser is broken up into two beams by a beamsplitter. One beam is directed onto
a 3D object, and the other beam goes to the photographic plate. Two sets of waves, from the
object and the laser, form an interference pattern on the plate, and form a hologram. Since
these images are not flat and contain highly oscillating patterns, the JPEG algorithm is highly
inefficient when trying to compress holographic images. Our project was to develop methods to
compress holographic images and to determine which of these methods are most efficient.
2
HPEG Algorithm
1. Given an image, we can extract the image data consisting of ordered triples {R, G, B}
representing the red, green, and blue color channels and put the data into a matrix.
2. Since it is hard to generate a true holographic image, we take the Fast Fourier transform
(FFT) of our N × N to act as our approximate hologram:
F (k, l) =
N
−1 N
−1
X
X
ki
lj
f (i, j)e−ι2π( N + N )
i=0 j=0
where f (i, j) is the (i, j)th entry of the image data matrix.
3. Next, we split our approximate hologram into square submatrices:
2
4. Take the Discrete Cosine transform (DCT) of each submatrix. This is borrowed from the
JPEG compression algorithm:
N
−1
X
π
Xk =
xn cos
N
n=0
1
n+
2
k
k = 0, . . . , N − 1
5. Now we approximate the compression of the image by zeroing out certain elements in the
submatrices using some condition. This corresponds to storing fewer bits in our image.
6. Finally, we take the inverse DCT, combine the submatrices and take the inverse FFT to
retrieve a compressed version of the original image.
Compressed Combine
Compressed
Matrix
Hologram
Partition
Image
{R,G,B}
FFT
DCT −1
Matrix
Partition
Hologram
Split
Matrix
Partition
F F T −1
Compressed
Image
Compression
DCT
Matrix
Partition
We have implemented this algorithm using Mathematica.
3
Example Images
Here two examples of images before and after the compression algorithm was applied (blackened
squares denote entries that were zeroed out):
3
4
Results
We found that the most effective compression condition was zeroing out based on the magnitude of the submatrix entry. Using this approach, we compiled statistics on which part of the
submatrix were zeroed out most often. We found the following pattern was typical for many of
our trials:
4
As you can see, the bottom left, bottom right, and top right are often more compressed
than the top left corner. Another interesting discovery was that entries that were zeroed in
one submatrix were also zeroed in all other submatrices except for the top left. We have no
explanation for this and could be the subject of further research.
We also have a well-documented Mathematica notebook and interactive example which can
be applied to a variety of images.
5
Further Research
Since we did not actually generate a holographic image for this project, the next step would be
to develop methods to create holograms and apply the compression algorithm to them.
Also, as mentioned in our results, we would like to explore the explanation for the correlation
between zeroed entries in different submatrices.
Finally, we would like to develop code for more widely used programming languages, such as
C or MATLAB, to increase the speed and efficiency of the algorithm.
6
Files
Here is a list of important files in the project.
6.1
HPEG final.nb
This notebook contains a fully commented implementation of the holographic compression algorithm along with a few examples.
6.2
HPEG interactive.cdf
This file contains an interactive example of the algorithm and will be featured on the IGL website.
References
[1] Edward, Buckley Computer-Generated Phase-Only Holograms for Real-Time Image Display,
InTechOpen, 2011.
[2] Fienup, J.R. Phase retrieval algorithms: a comparison, Applied Optics, pp. 2758-2769, 1982.
[3] Trutna, Time and Jesse An Introduction to JPEG Compression, 2001.
[4] Wallace, Gregory K. The JPEG still picture compression standard, Communications of the
ACM, pp. 30-44, 1991.
5
© Copyright 2026 Paperzz