Customizing Progressive JPEG for Efficient Image Storage

Authors: 

Eddie Yan, Kaiyuan Zhang, and Xi Wang, University of Washington; Karin Strauss, Microsoft Research; Luis Ceze, University of Washington

Abstract: 

Modern image storage services, especially those associated with social media services, host massive collections of images. These images are often replicated at many different resolutions to support different devices and contexts, incurring substantial capacity overheads. One approach to alleviate these overheads is to resize them at request time. However, this approach can be inefficient, as reading full-size source images for resizing uses more bandwidth than reading pre-resized images. We propose repurposing the progressive JPEG standard and customizing the organization of image data to reduce the bandwidth overheads of dynamic resizing. We show that at a PSNR of 32 dB, dynamic resizing with progressive JPEG provides 2.5× read data savings over baseline JPEG, and that progressive JPEG with customized encode parameters can further improve these savings (up to 5.8× over the baseline). Finally, we characterize the decode overheads of progressive JPEG to assess the feasibility of directly decoding progressive JPEG images on energy-limited devices. Our approach does not require modifications to current JPEG software stacks.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {203342,
author = {Eddie Yan and Kaiyuan Zhang and Xi Wang and Karin Strauss and Luis Ceze},
title = {Customizing Progressive {JPEG} for Efficient Image Storage},
booktitle = {9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 17)},
year = {2017},
address = {Santa Clara, CA},
url = {https://www.usenix.org/conference/hotstorage17/program/presentation/yan},
publisher = {USENIX Association},
month = jul
}