|
High Dynamic Range Still Image Encoding in JPEG 2000
High Dynamic Range Still Image Encoding in JPEG 2000
Ruifeng Xu, Sumanta N. Pattanaik, Charles E. Hughes
University of Central Florida
Abstract
With the increasing use of high dynamic range (HDR) images, their storage and transmission motivate a careful study of appropriate data compression techniques. In this paper, we explore the use of JPEG 2000 in the compression of HDR still images. We first map the pixels from original floating point values in logarithm domain into integer values, and then encode the image using JPEG 2000 codec. Our approach can compress an HDR image anywhere in the spectrum from very low bit rate to visually lossless. Our experiments demonstrate this to be a simple, effective and practical tool for HDR image encoding. It has superior compression quality at low bit rate.
IEEE CG&A (to appear)
Code
HDR image encoder  |
HDR iamge decoder   |
| usage: hdriencjp2 <HDR image> [<rate>] [<#bits>] |
usage: hdridecjp2 <HDR compressed image> [RGBE|OpenEXR] |
| "hdriencjp2" is used to compress HDR image. The input can be be either RGBE or OpenEXR formats. Note rate is number between 0 and 1, and it is the ratio of desired image size to the raw image size (width * height * 3 * bytes per channel) |
"hdridecjp2" is used to decompress HDR image and save as RGBE format or OpenEXR format. |
The tools to view HDR images in RGBE and OpenEXR formats can be found at links HDRView and OpenEXR.
Note: compilation of the source code need routines in RGBE ,JasPer,and OpenEXR.
Example
hdriencjp2 my.hdr 0.01 16
will compress HDR images "my.hdr" into 1% of the raw size using 16 bits for each channel in pixel encoding.
hdridecjp2 my.hdr.hdri OpenEXR
will transform the compressed image my.hdr.hdri to OpenEXR foramt.
Results
Here are results that supplement the paper.
|

|
|
| We compresse "park" (1.1M in RGBE) using rate=0.01(22KB),rate=0.02( 43K) ,rate=0.05(107K). |
The raw size of "design center" is 2000x1312*3*2=15.7MB. The RGBE format is 8.2M. It can be compressed using our method with high visual quality using rate=0.01(153K), rate=0.03 (457KB), and rate=0.05 (765KB). |
We compress "memorial" (1.28MB in RGBE) into rate=0.005(11KB), rate=0.01(23KB), rate=0.03(69KB)
|
"Park" courtesy of Pattanaik, "design center" is courtesy of Durand, and "memorial" is courtesy of Debevec.
Please send email to rxu@cs.ucf.edu for any question
web page updated on 4/13/2005
University of Central Florida
High Dynamic Range Image and Video Data Compression
Ruifeng Xu
abstract:
Although high dynamic range (HDR) image and video are becoming common in many computer graphics applications, their data compression has received little attention so far. In this paper, we propose a practical approach to HDR video compression for efficient storage and fast transmission. Most current HDR images and videos are created from multiple exposures of the scene with varying exposures or varying f-stops. Thus, common HDR pixel representations use formats that are comprised of a base color and a common exponent. We compress the base color component by adaptive JPEG compression scheme. Our experiment shows that the quality of the HDR images is very sensitive to the noise introduced in lossy image compression schemes. Hence we compress the common exponent using a lossless compression scheme. The strong coherence in the common exponent of most HDR image allows us a high compression rate even though it is compressed in lossless mode.
The primary contribution of this paper is the observation that high dynamic range image and video data are naturally separated into a base color component and common exponent component. The base color component may be thought of as a standard image/video, and hence existing image/video compression techniques can be used to compress this component. We suppress the introduction of artifacts by applying adaptive quantization coefficients. The common exponent component is compressed using a lossless mode. Because of the spatial coherence in the common exponent component, its compression ratio is very high and hence the sizes of the compressed HDR image/video are comparable to those of non HDR image/video. Thus we provide a simple, yet efficient approach to HDR image/video data compression.
experimental results:
office" (courtesy of Ward) is a sequence of 45 frames of size 800x574. It is 32.8MB in RGBE format. We compress them into 2.8MB
(RGB file+E file+info file) using middle quality level (quality=8).
"park" (courtesy of Pattanaik) is HDR image of size 748x492. It is 1,116KB in RGBE format. It is compressed into 173K (quality=4), 126K (quality=8), and 104K(quality=12).
"stp0" (courtesy of Debevec) is a sequence of 417 frames of size 640x345. It is 283MB in RGBE format. It is compressed into 19.3MB
(RGB file+E file+info file) using quality=8.
code:
HDR image encoder. usage: hdrienc <HDR image> <quality>
e.g. hdrienc x.pic 4
source | executable
HDR image decoder. usage: hdridec <compressed HDR image>
e.g. hdridec x.pic.hdri
source | executable
HDR video encoder. usage: hdrvenc <wild HDR video> <#start frame> <#ending frame> <quality>
e.g. hdrvenc x%03.pic 1 1200 4
source | executable
HDR video decoder. usage: hdrvdec <wild HDR video>
e.g. hdrvdec x%03.pic
source | executable
Note: hdrvdec.exe will decode the video and save all frames into the disk. Beware of your disk free space.
The .dll library avcodec.dll from ffmpeg is requried to run the demo. ffmepg is also required to compile the demo.
This work was partially sponsored by ATI Research, I-4 Matching fund and Office of Naval Research.
|