570 likes | 827 Views
JPEG2000: New Standard for Still Image Compression. Tao Tao Department of Computer Science University of Central Florida Some of the slides have been adopted from a presentation by Dr. T. Acharya. Outline. Introduction Part I JPEG2000 Coding Region of Interest Bit-stream ordering
E N D
JPEG2000: New Standard for Still Image Compression Tao Tao Department of Computer Science University of Central Florida Some of the slides have been adopted from a presentation by Dr. T. Acharya
Outline • Introduction • Part I JPEG2000 Coding • Region of Interest • Bit-stream ordering • Conclusion
5.2 bpp Original image 1.89 bpp Why JPEG2000 ? lossless lossy bit stream Sub-region 1.84 bpp Lower resolution ROI One component
Why another still image compression standard? • To address a number of weakness in the existing JPEG standard. • To provide a number of new features that available in the JPEG standard. • Namely, • Allow efficient lossy and lossless compression within a single unified coding framework. • Provide superior image quality at low bit rates. • Support new features such as ROI and a more flexible file format. • Avoid excessive computational and memory complexity.
Why another still image compression standard (cont.)? • Larger image. JPEG does not allow for image greater than 64k by 64k without tiling • Transmission in noisy environment. JPEG image quality suffers dramatically when bit-errors are encountered. • Computer generated imagery. JPEG is optimized for natural imagery only. • Compound documents. JPEG is seldom used in the compression of compound documents because of its poor performance on bi-level (text) imagery.
JPEG 2000 Standard • Part I : Core Coding System • Part II : Extensions • Part III : Motion JPEG 2000 • Part IV : Conformance Testing • Part V : Reference Software • Part VI : Compound image file format • More parts are coming…
Rate Control Multi component transform Discrete Image Tier-1 Tier-2 Quantization Wavelet Encoder Encoder Transform Coded Image Reconstructed Image Inverse Multi component transform Inverse Wavelet Tier-1 Tier-2 De-quantization Decoder Decoder Transform Coded Image JPEG 2000 - Part I encoder decoder
Code block Subbands tile Subband Subband Subband DWT Code block Image Component Tile Subband code block Context & Data Compressed data Bit stream BPC BAC Layer formation and data formatting JPEG2000 Encoder
Rate Control Multi component transform Discrete Image Tier-1 Tier-2 Quantization Wavelet Encoder Encoder Transform Coded Image Region of Interest Multi-Component Transform • Part I allows color transformation on first three components • Reversible Color Transform (RCT) • Irreversible Color Transform (ICT)
Irreversible Color Transform • The ICT is nothing more than the classic RGB-to-YCrCb color space transform.
Reversible Color Transform • The RCT is simply a reversible integer-to-integer approximation to the ICT
Rate Control Multi component transform Discrete Image Tier-1 Tier-2 Quantization Wavelet Encoder Encoder Transform Coded Image Region of Interest Discrete Wavelet Transform • DWT • Lifting Scheme
Rate Control Multi component transform Discrete Image Tier-1 Tier-2 Quantization Wavelet Encoder Encoder Transform Coded Image Region of Interest Quantization • Uniform scalar quantization with deadzone • No quantization in lossless mode • Quantization rule:
Deadzone Quantization • Small coefficients increase the quality of the image the least, and they still mess up the run-length encoding as much as big coefficients. • A deadzone quantizer blocks the small coefficients
Rate Control Multi component transform Discrete Image Tier-1 Tier-2 Quantization Wavelet Encoder Encoder Transform Coded Image Region of Interest Entropy Coding • Tier-1 coding • Bit Plane Coding (BPC) • Tier-2 coding • Tag Tree Coding
Tier-1 Coding • Tier-1 coding is performed on code blocks • For each bit plane, there are 3 coding passes, similar to those in EZW or SPIHT: • Significance Pass (a/(a+r)) • Refinement Pass (a/(a+r)) • Clean Up Pass (a) Example of scan pattern for a 10x5 code block
Tier-1 Coding (cont.)Sign-Magnitude Representation Samples in a code block Sign Magnitude
Tier-1 Coding (cont.)Significance • Each sample in the code-block has an associated binary state variable called its significance. • A sample is significant if it is larger than the current bit plane. • A sample is predicted to be significant if any of its 8-connected neighbor has been found to be significant • ‘Significances” are initialized to 0 and may become 1 during the course of the coding of the code-block. • Once the significance for a sample becomes 1, it stays 1 throughout the encoding of the code block. Example: 7 binary format: 0111
ROI mask • DWT coefficients contributes only to a specific region. • A binary mask generated in the wavelet domain for distinction of ROI and Background
2 level DWT with 16 Code Blocks (CB5) (CB6) (CB7) (CB8) (CB9) (CB10) (CB13) (CB14) (CB11) (CB12) (CB15) (CB16)
Assume maximum 4 Bit Planes for each Code Block S : Significance propagation pass M : Magnitude refinement pass C : Clean up pass
Bit stream with lower resolution image S : Significance propagation pass M : Magnitude refinement pass C : Clean up pass
Bit stream progressive in term of resolution S : Significance propagation pass M : Magnitude refinement pass C : Clean up pass