Title: Aucun titre de diapositive
1JPEG 2000
Marcela Iregui Antonin Descampe François-Olivier
Devaux
Université catholique de Louvain
2Presentation plan
- JPEG 2000 Features
- Main coding blocks
- Encoding process
- JPEG 2000 standardization
3Presentation plan
- JPEG 2000 Features
- Main coding blocks
- Encoding process
- Standardization process
4JPEG 2000 Features
- Improved compression efficiency
- Lossy to lossless compression
- Multiple resolution representation
- SNR scalability
- Progressive decoding
- ROI coding
- Error resilience
- Random codestream access
5Improved Image Quality
JPEG 1137
JPEG2000 1137
6Improved Image Quality
JPEG 1126
JPEG2000 1126
7Single compression / Multiple decompression
8Progressive transmissions
Progression in quality
Compression
Storage
Progression in resolution
Spatial Progression
9Wavelet transform
10Wavelet transform 1
11Wavelet transform 2
12Wavelet transform 3
13Multiresolution compression by wavelets
2.6 kBytes (1100)
14Reduced Quality Reconstruction
15Progressive Quality
1.6 download
2.2 download
8.0 download
26.4 download
100 download
16Regions of Interest
17Robustness to Errors
Compression 152 13.4 KB Embedded Error 16
Bytes set to zero in the middle of the files
JPEG
JPEG2000
18Presentation plan
- JPEG 2000 Features
- Main coding blocks
- Encoding process
- Standardization process
19Main coding blocks
Discrete Wavelet Transform (DWT)
Entropy Coding Unit (ECU)
Original image
Compressed data
20Main coding blocks
Discrete Wavelet Transform (DWT)
Entropy Coding Unit (ECU)
Original image
Compressed data
Goal Concentrate the image information in a very
localized (and small) area ? Enable a higher
compression ratio in other areas Ouput 4
subbands with the upper left one containing low
frequencies
21Main coding blocks
Discrete Wavelet Transform (DWT)
Entropy Coding Unit (ECU)
Original image
Compressed data
Successive decompositions are applied on the
low frequencies.
?
?
22Main coding blocks
Discrete Wavelet Transform (DWT)
Entropy Coding Unit (ECU)
Original image
Compressed data
Each subband is then divided into code-blocks
23Main coding blocks
Discrete Wavelet Transform (DWT)
Entropy Coding Unit (ECU)
Original image
Compressed data
- The ECU contains two blocks
- Context Modeling Unit (CMU)
- Arithmetic Coding Unit (ACU)
The CMU handles first the bits bringing the
highest distortion reduction?3 groups of bits
encoded in different passes?Algorithm used
EBCOT
24Main coding blocks
Discrete Wavelet Transform (DWT)
Entropy Coding Unit (ECU)
Original image
Compressed data
- The ECU contains two blocks
- Context Modeling Unit (CMU)
- Arithmetic Coding Unit (ACU)
010011011100
- ACU coder itself
- Removes redundancy present in the binary
sequence - Algorithm used MQ
010100
25Presentation plan
- JPEG 2000 Features
- Main coding blocks
- Encoding process
- Standardization process
26JPEG 2000 Overview
Image
Rate Control
Arithmetic coding
ROI
Pre- processing
Wavelet Transform
Quant.
Coefficient bit model
Data Ordering
Codestream
27JPEG 2000 Overview
Image
Pre- processing
28Image pre-processing
- Tile partition (each component of each tile
encoded - independently)
- DC level shifting
- Unsigned sample values ? Signed values
- Colour transformation
- To de-correlate the colour data
- RGB ? YCbCr (ICT)
- RGB ? YUV (RCT)
29High resolution grid, image components and tiling
(XTsiz)
(0,0)
(ax,ay)
(YTsiz)
(bx-1, by-1)
Image Area
30JPEG 2000 Overview
Image
ROI
Pre- processing
31DWT
- DWT intra-component decorrelation
- ? concentrate image energy in a small area
- No blocking artefacts at high compression ratios
- Enables multi-resolution image representation
?
?
321-D DWT
- Application of a pair of low-pass high-pass
filter
- Filter-bank charateristics symmetric,
bi-orthogonal - 2 filter-banks defined in JPEG2000
- reversible (5,3) and irreversible (9,7)
331-D DWT (ctd)
- After a decomposition, most of the energy is
- located at the low-pass output.
- Successive applications of the filters on the
- low-pass outputs
- ? dyadic decomposition
342-D DWT
- 2-D DWT 1-D DWT on the columns
- followed by 1-D DWT on the rows
- ? four filtered and subsampled images
(subbands)
- In JPEG 2000 5 decompositions by default
35DWT the lifting scheme
- Problem straightforward DWT implementation
requires storage of the entire image in memory - Alternative implementation lifting scheme
- Memory ?
- Compute load ?
- In-place computation
- Principle
36Example (5,3) filter
In general
37Integer-to-integer transforms
- Problem precision required on coefficients ??
at - every level of the DWT
- Solution insert quantizers in the lifting
scheme
Quantizer truncation or rounding to the
nearest integer (still mathematically
invertible !)
38Quantization
- Uniform quantizer
- Separate stepsize for each sub-band
39JPEG 2000 Overview
Image
Pre- processing
40Entropy coding
- Requirements
- embedded bit-stream
- distortion progressive ordering
- resolution scalability
- localized random access to the image
- efficient rate control
- error resilience
41Code-blocks and Bit-planes
- Each sub-band of each tile component is
partitioned - into code-blocks
- Each code-block is compressed independently
using - bit-plane coding
Bit-plane i
LSB
MSB
DWT
42Arithmetic coding
- Removes the redundancy in the encoding of the
data - Assigns short code-words to more probable events
and - longer code-words to the less probable
- AC estimates the probability of the events to
assign the - code-words
- A statistical encoder must work in conjunction
with a - modeller that estimates the probability of each
possible - event at each point in the coding
43Arithmetic entropy coding
Bit
Arithmetic coding
Coefficient bit model
Compressed image data
Quantified Coefficient
Context
- The context represents the status of the
neighbour - coefficients
- The MQ-coder estimates the probability of the
current - coding symbol.
44Bit-plane coding
- Leading all-zero bit-planes are skipped.
- Each bit-plane is coded in three phases
- Significance Propagation
- Magnitude Refinement
- Clean up
45Significance State
- Each coefficient in a code-block has an
associated binary state variable called its
significance state. - The significance state changes from
insignificant to significant at the bit-plane
where the most significant bit equal to 1 is
found.
46Context
- The context is a state governed by the past
sequence - of symbols
47Bit-plane coding
- Bit-plane blocks scan pattern
- The first bit-plane is coded in the clean up
pass - Next bit-planes are coded in three phases
- Significance Propagation
- Includes the coefficients that are predicted or
most-likely to become significant and their
sign bit as appropriated - Magnitude Refinement
- Includes bits from already significant
coefficients - Clean up Significance Propagation
- Includes all the remaining coefficients
48Bit-plane coding example
Scan Pattern for bit-plane coding
49JPEG 2000 Overview
Image
Arithmetic coding
ROI
Pre- processing
Wavelet Transform
Quant.
Coefficient bit model
50Compressed data
51Distortion Estimation
Ex. Significant bit y 22 00010110 y4
24 00011000
DDDb-Da(y-0)2-(y-y4)2
20
22
23
24
25
21
1.524
0
22
24
2
8
16
32
4
1
Da
Db
Ex. Refinement bit y 22 00010110 y320
00010100
DDDb-Da(y-y4)2-(y-y3)2
20
22
23
24
25
21
1.2524
1.7524
0
22
24
20
2
8
16
32
4
1
Db
Da
52Rate-Distortion Optimisation
truncation point ni distortion amount of data
The Image is divided in code-blocks
and
53The optimisation principle
- for each code-block, find the truncation points
ni which minimise
54Layers Abstraction
Rate-distortion optimisation (non standardised)
A layer is a quality increment for an entire
tile
55JPEG 2000 Overview
Image
Rate Control
Arithmetic coding
Pre- processing
Wavelet Transform
Quant.
Coefficient bit model
56Precincts and packets
Packet k Bitstream of precinct p, at resolution
r layer l, comp. c
57Codestream syntax
Tile-body (Data)
Tile- header
Tile header
Tile- header
Main header
Tile- header
Tile-body (Data)
Tile-body (Data)
P1
P2
P3
Pn
EOC
packet header
Code-block i Entropic Data
Code-block n Entropic Data
SOP
EPH
- Code block inclusion
- Zero bit plane information
- Number of coding passes
- Data length
58JPEG 2000 Overview
JPEG 2000 Overview
Image
Rate Control
Arithmetic coding
Pre- processing
Wavelet Transform
Quant.
Coefficient bit model
Data Ordering
Codestream
59Region of Interest
- Spatial random access to the codestream is
possible by - tiles, precincts and code-blocks
- A ROI mask can be created which contains the bit
map - describing the coefficients that must be
encoded - with better quality
- The ROI coefficients are placed in higher
bit-planes than - the background by shifting
- The bit-planes associated
- with the ROI are coded before
- the background information.
60Presentation plan
- JPEG 2000 Features
- Main coding blocks
- Encoding process
- Standardization process
61Standardization process
- Part 1, Core coding system
- (intended as royalty and license-fee free)
- Part 2, Extensions
- (adds more features and sophistication to the
core) - Part 3, Motion JPEG 2000
- Part 4, Conformance
- Part 5, Reference software
- (Java and C implementations are available)
- Part 6, Compound image file format
- (document imaging, for pre-press and fax-like
applications, etc.) - Part 7 has been abandoned
62Standardization process
- Part 8, JPSEC (security aspects)
- Part 9, JPIP (interactive protocols and API)
- Part 10, JP3D (volumetric imaging)
- Part 11, JPWL (wireless applications)
- Part 12, ISO Base Media File Format
- (common with MPEG-4)
63Open JPEG
- Open source JPEG 2000 coder and decoder
- Implemented in C language
- Developped here at UCL
- http//www.openjpeg.org/
64References
- ISO, JPEG 2000 International Standard
- Taubman, D. and Marcellin, M. (November 2001)
JPEG2000 Image compression - fundamentals, standards and practice, Boston,
Kluwer Academic Publishers, 795 pgs. - Taubman, High performance scalable image
processing with EBCOT, IEEE Trans. on Image
processing, July 2000. - Rabbani, Joshi, An overview of the JPEG2000
still image compression standard, Signal
processing Image communication 17(2002) p 3-48. - Special issue on JPEG2000, Signal Processing
Image Communication. Elsevier, Volume 17, Issue
1, January 2002