Progressive Image Transmission
Capability (PROTRAC) on the
World Wide Web
Vojislav Lalich-Petrich,
Center for Automation Research (CfAR)
University of Maryland, College Park 20742, USA
lpv@umiacs.umd.edu
http://www.umiacs.umd.edu/users/lpv/HTML/voja.html
Gaurav Bhatia,
Computer Science Department
University of Maryland, College Park 20742, USA
bhatia@eng.umd.edu
Larry Davis,
Computer Science Department
University of Maryland, College Park 20742, USA
lsd@umiacs.umd.edu
http://www.cs.umd.edu/users/lsd/
- Abstract
- This paper describes a method that allows progressive and scalable
image transfer over the World Wide Web (WWW or W3). Images are
converted into the appropriate format - sliced and compressed -
on the server's side. At the client's request, with the desired
image quality specified, the server sends chunks of data through the
network. The client cumulatively builds the image while applying
additional image enhancement operations on the data obtained so
far. The ability to specify desired image quality allows a client to satisfy
constraints imposed by line bandwidth and response time. This method
is illustrated with 8 bit gray scale and true color (24 bit) images.
- Keywords
- Progressive, Image, Transmission, World Wide Web, HTTP, GIF, LZW, JPEG
Plane 1 Planes 1+2 Planes 1+2+3
Introduction
Small bandwidth lines and long waits for image transfer over the
network are all too familiar. Recognizing the fact that a 500KB file can
be the text of someone's PhD thesis or only the
color image for the cover of the same, clearly reflects the fact that
image transfer is taking orders of magnitude more bandwidth than any
other data type on the WWW today. However, image data is inherently
suitable for processing that results in reduction of its size at the expense
of image quality, which can still remain satisfactory for many applications.
There is very little that has been done to take advantage of this property
of images. This suggests that
the WWW and the tools used to utilize it, in their current incarnation,
are not sufficiently scalable.
High speed lines, improved protocols [Spec94a, Spec94b] and other
hardware enhancements are not likely to solve the problem. Our
appetite for rapid data transfer will grow as more and more speed
is available from processing hardware, while today's communication
bottleneck will remain.
We present an approach that addresses this issue. A progressive image
transmission capability (PROTRAC) has been developed to provide
scalable image transfer, in which the quality of the
image passed to the client can be adjusted.
It is important to note that the method discussed allows for a complete
and non lossy image transfer with a negligible overhead, while the stateless
nature of the HTTP protocol is preserved.
Overview of the PROTRAC Procedure
The subject of progressive transmission is well studied in a literature (see
the references).
We have developed a method that performs efficient progressive image
transmission and can combine image coding of spatial and color resolution.
The method developed takes into account both the constraints and
the advantages of the WWW environment which makes it a novel approach
in the field of progressive image transmission.
Procedure
The PROTRAC procedure is based on the idea that only partial
information from the original image is provided to the client at
each iteration. The client
will use the limited information it has obtained, perform enhancement
if desired or necessary, and display the image. In the next iteration,
additional information about the image will be sent to the client. The new
data, together with data already on the client side, is used to build a new
and more complete image at the client, achieving a better image
representation. As the procedure is iterated at the
user's request, the client
gathers more image data so that eventually it is able to
recreate the image in its original form.
The Algorithm. Processing steps at the server.
Server
The PROTRAC procedure will slice the original image by partitioning
it along its bit planes. This can occur in response to several situations
that we discuss in the Data Management section of this paper.
For an 8 bit gray scale image this will
amount to 8 planes. In the case of true color (24 bit) image the same
procedure is applied for each of the three bands (RGB) producing 24
such slices. Naturally, each plane will consist of zeros (0) and
ones (1) only. To reduce the size of raw image data, we have
chosen the Lempel-Ziv-Wellsh (LZW) compression to be applied to the planes
after 8 consecutive bits of one plane are packed in a byte.
This procedure is in its core identical to the compression procedure applied
in the case of GIF images. There, LZW compression is used to compress
regular pixels from image data after which color map and image header
information is tacked to it. Knowing this, we can be certain that converting
image file to PROTRAC format will result in file sizes virtually
identical to the ones obtained from GIF compression.
The fact that image bit planes are made out of bilevel data may further improve
compression rates by applying packbit compression techniques often used
in fax technology.
Image plane concatenation. Bits loading into pixel (8 bit).
Optionally, the original image can be averaged (i.e. over
regions of size SxS )
before the slicing procedure is applied to it. This will further
reduce the amount of data to be transferred, but will make the
image transfer lossy.
Client
When a chunk of data reaches the client it is added to
the existing image data (if available) on the client side. Since
chunks arrive in the form of compressed image bit planes,
they are decompressed
and pasted on "top" of the planes currently defining an image. The
additional bit plane provides a better color or gray scale resolution as
resolution gets increased by a factor of two. Maintenance of the order
in which bit planes are composed to represent an image is controlled by
the client.
If the image was averaged prior to the transfer, the composite image will be
blurred (some kernel applied) to compensate for the loss in the spatial
resolution due to the averaging performed on the server side.
Advantages
The power of this method
comes from the ability to control the amount of data to be
transferred. In some cases, the first iteration can prove sufficient for a
given application, considering constraints of bandwidth and
response time.
Notably, we can compare this to sending a true color image by fax. In
many cases, the low quality of the received image can be satisfactory.
The advantage here is that if it is not, the client can ask for more
image data and combine it with what it has received previously.
The crucial point is that the client assembles data received in a
previous iterations with a data from the most recent one to produce a
higher quality image.
Also worth mention is that by transferring images in this way we are
not introducing any overhead in data transmission. No image data is
sent twice through the network. Repeated client requests for more
data, if needed, are the only overhead which is, for all practical
purposes, negligible.
It is important to note that the stateless nature of the HTTP server and
client is preserved. We find this to be important
as this will provide for seamless software transition and smooth
upgrade path. It will be the client's responsibility to maintain the
information on the amount and sequence of data received, relieving the
server of any bookkeeping.
In addition to this, the technique we propose could be applied not only to
the in-line images contained in a document, but also to the image files
pointed to from the document. In a similar manner as described above, clients
would receive a reduced quality image from the server and spawn an external
viewer to display it. Depending on the PROTRAC implementation at the client,
external viewer does not have to be PROTRAC aware.
Data Management
A data management heuristic is proposed:
- Have images in a PROTRAC ready format together with the GIF format.
- Build PROTRAC format on client request, deliver, and delete instantly.
- Build PROTRAC format on client request, deliver, and maintain for a
given time. If no request is made for the image after a given time has
elapsed, delete the PROTRAC format.
- Have images in a PROTRAC ready format instead of the GIF format.
- Server decides to build PROTRAC compatible image format due to
the excess load. At that point it starts to deliver images of lesser
quality to some or all clients in order to retain desired
delivery performance.
The method we propose leaves room for various other data management
algorithms to be used in order to satisfy other specific needs.
Experiments and the
Demo
Generally, a gray scale image compressed to a GIF format will be
about 40% to 60% of its original size.
As expected, slicing the original image and
applying the LZW to each respective plane provides
compression rates the same as the rates obtained from GIF.
Consequently, if images are converted to this format and
transferred in full to the client, the bandwidth used will
remain virtually identical
to the bandwidth used to transfer images in conventional format.
Currently, we have a demo based on a CGI script that performs the
processing as described in this paper. This simulation was meant to
be an efficient and effective presentation of a proposed method in a close
to real world environment.
Other Considerations
- Color images with 256 colors (8 bits per pixel)
- The progressive transmission of color images with 256 colors is
currently unresolved by this method. The issue of color map adjustment as
transmission progresses is still an open problem. Due to the fact that
color map entrees can contain random values from the color three-space,
the best way to perform color quantization as image bit planes are
added to the final image is unclear.
We will try to address this
problem in our future work. A possible solution would be application
of wavelet compression instead of image bit plane partitioning.
- CPU Load vs Storage Requirements
-
Based on a data management model used, the server could experience
significant increases in the load on its CPU.
Ideally, images will be stored in the PROTRAC format, which will
have no impact
on the amount of storage space required at the server compared to the presently
used image formats.
PROTRAC format will also insure very light CPU activity in respond to client
requests, as no image processing operations will be performed on the fly.
Nevertheless, if existence of conventional formats is required for
historical, compatibility or upgrade path reasons, we feel that current
workstations are sufficiently fast and are able to perform proposed
transformations on the fly, as those operations are computationally
inexpensive and are of no more than O(n) complexity.
Future work
Some Results
Acknowledgment
The authors thanks Pedja Bogdanovich for helpful discussions about
progressive image transmission and system staff at
UMIACS for
their help in setting up the CGI demo.
References
- [Digi92]
- RamaChellappa (1992) Digital Image Processing,
IEEE Computer Society Press.
- [FDFH92]
- Foley, vanDam, Feiner, Hughes (1992) Computer Graphics,
Addison-Wesley.
- [Hana90]
- Hanan Samet (1990).
The Design and Analysis of Spatial Data Structures, Addison-Wesley.
- [Know80]
- Ken Knowlton (1980) Progressive Transmission of Gray-Scale and Binary
Pictures by Simple, Efficient, and Lossless Encoding Schemes.
Proceedings of the IEEE, VOL. 68, NO. 7, July 1980, 885-896.
- [Sloa79]
- K. R. Sloan Jr. and S. L. Tanimoto (1979) Progressive Refinement of Raster Images.
IEEE Transactions on Computers, VOL. c-28, NO. 11, November 1979, 871-874 .
- [Spec94a]
- James Lane (1994) ATM knits voice, data on any net.
IEEE Spectrum, February 1994, 42-45.
- [Spec94b]
- Dragos Ruiu (1994) Testing ATM systems.
IEEE Spectrum, June 1994, 25-27.
- [Tani75]
- S. L. Tanimoto and T. Pavlidis (1975) A Hierarchical Data Structure for Picture
Processing.
Computer Graphics and Image Processing, June 1975, 104-119 .
- [Yunm92]
- H. Yunming, H. M. Driezen, N. P. Galatsanos (1992) Prioritized DCT for
Compression and Progressive Transmission of Images.
IEEE Transactions on Image Processing, VOL. 1, NO. 4, October 1992, 477-487.
Vojislav Lalich-Petrich,
Gaurav Bhatia and
Larry Davis.
Last update: March 15, 1995.
URL: http://www.umiacs.umd.edu/users/lpv/HTML/PROTRAC/protrac.html