- 82 Views
- Uploaded on
- Presentation posted in: General

Embedded Block Coding with Optimized Truncation - An Image Compression Algorithm

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Embedded Block Coding with Optimized Truncation- An Image Compression Algorithm

Notes by Shufang Wu http://www.sfu.ca/~vswu

- Overview ( 1 slide )
- Highly Scalable Compression ( 2 slides )
- Optimal Truncation ( 3 slides )
- Embedded Block Coding ( 6 slides )
- Abstract Quality Layers ( 1 slide )
- Conclusion
- References
- Q & A

Abstract Quality Layers

Division of subbands into code-blocks with the same size

Subband samples for 3 wavelet decomposition levels

- What is Embedded Block Coding with Optimized Truncation (EBCOT) ?
- Highly scalable bit-stream
- Independent embedded blocks
- Post-compression rate-distortion (PCRD) optimization
- Layered bit-stream organization

- Input of EBCOT
- Subband samples generated using a wavelet transform, like EZW and SPIHT

Scalability: A key requirement driving the JPEG2000 standardization process.

qewra

qewra

qewra

- Overview ( 1 slide )
- Highly Scalable Compression ( 2 slides )
- Optimal Truncation ( 3 slides )
- Embedded Block Coding ( 6 slides )
- Abstract Quality Layers ( 3 slides )
- Conclusion
- References
- Q & A

- A Scalable Bit-stream
- A Highly Scalable Bit-stream
- Highly Scalable Compression

A Scalable Bit-stream: One that may be partially discarded to obtain an efficient representation or a lower resolution version of the original image at a different bit-rate.

A Highly Scalable Bit-stream: One that may be decompressed in many different ways with different results, depending on what information has been discarded.

Compress Once: Decompress Many Ways

- Refers to the generation of a highly scalable bit-stream

Quality Progression

Resolution Progression

Elements of a distortion & resolution scalable bit-stream

- A Resolution Scalable Bit-stream
- A Distortion Scalable Bit-stream
- A Spatial Scalable Bit-stream (random access)

Resolution Scalable: Containing distinct subsets representing successive resolution levels.

Wavelet transformis an important tool in the construction of resolution scalable bit-streams.

Distortion Scalable: Containing distinct subsets successively augmenting the quality (reducing the distortion).

Embedded quantization is central to the construction of distortion scalable bit-streams.

Random Access: Identifying the region within each subband and hence the code-blocks which are required to correctly reconstruct the region of interest. (Not in detail)

- Overview ( 1 slide )
- Highly Scalable Compression ( 2 slides )
- Optimal Truncation ( 3 slides )
- Embedded Block Coding ( 6 slides )
- Abstract Quality Layers ( 3 slides )
- Conclusion
- References
- Q & A

- Post-Compression Rate-Distortion (PCRD) Optimization
- Rate distortion (R-D) optimization
- PCRD

- Problem Description

Truncate each code-block bit-stream in an optimal way so as to minimize distortion subject to the bit-rate constraint.

The rate-distortion algorithm is applied after all the subband samples have been compressed.

Optimal selection of the truncation points, { ni}, so as to minimize overall distortion, D, subject to an overall length constraint, Lmax .

D = Dini, Lmax L = Lini

Select ni truncated to Lini with distortion Dini for code-block Bi

The amount by which the length is increased.

Guarantees that:

Dini+LiniDiz+Lizfor all z j.

The amount by which the distortion is decreased.

- Optimal Selection of Truncation Points
- Simple Algorithm to Find niin Each Code-block for Given

{ ni}, which minimizes (D() + L()) for some is optimal.(*)

D cannot be reduced without also increasing Land vice-versa.

s.t. (*) and L() = Lmax, then { ni} must be an optimal solution. Discrete, in practice the smallest s.t. L() Lmax.

Initialization:ni = 0;

Loop:For j = 1,2, , Zi; (Zi is the last truncation point)

Set L=LijLi niand D=Di ni Dij ;

IFD/L > , THEN ni = j.

Distortion

Truncation Points

Feasible Truncation Points

Length

- Set of Feasible Truncation Points, Pi, for code-block, Bi
- Distortion-rate slope of a truncation point
- Property of the slopes

- Reduced Algorithm
- Convex Hull Interpretation

An enumeration of points in Pi, 0 = hi0 < hi1<<hi|Pi-1|.

i(hin) = (Di hin-1 Di hin)/(Li hin Li hin-1), n 1.

i(hi0) > i(hi1) > i(hi2) > > i(hi|Pi-1|). (Strictly decreasing.)

ni=max{ hik Pi | i(hik) > }.

- Overview ( 1 slide )
- Highly Scalable Compression ( 2 slides )
- Optimal Truncation ( 3 slides )
- Embedded Block Coding ( 6 slides )
- Abstract Quality Layers ( 3 slides )
- Conclusion
- References
- Q & A

Encode first the most significant bits for all samples.

Purpose: Ensure a sufficiently fine embedding.

Bit-plane coding

Assumption: Significant samples tend to be clustered.

- Basics
- Classical context adaptive arithmetic coding (18)
- Bit-plane coding
- Fractional bit-plane coding (Passes)
- Sub-blocks with explicit sub-block significance coding

A function that maps each element in a subset of the real line to a particular value in that subset.

-1.5

-1

-0.5

0

0.5

1

x

1.5

Family of embedded deadzone quantizers

- Quantization
- Scalar quantizer (SQ)
- Deadzone uniform scalar quantizer
- Embedded deadzone quantizers

- Significance of A Sample
- A state variable, initialized to 0, transitioned to 1 when its first nonzero bit-plane is encoded

SQ with the interval about 0 widened ( twice as large ).

qewra

qewra

qewra

Entire Code-block

IdentifyingSignificance

ConstructingTree

Embedded Quad-tree Structure

- Sub-Block Significance Coding ( 16 16 )
- For each bit-plane, first encode information to identify those sub-blocks that contain one or more significant samples
- One way to encode is quad-tree coding

- Bit-Plane Coding Primitives
- 4 primitives: Zero coding (ZC), Run-length coding (RLC),Sign coding (SC) and Magnitude refinement (MR)
- How to use these primitives ?
- In every case, the symbol must be coded using arithmetic coder with 18 probability models

IF the sample is not yet significant, ZC or RLC is used;

IF it is significant, SC is used;

ELSE (the sample is already significant) MR is used.

qewra

qewra

18 Probability Models:9 for ZC; 1 for RLC; 5 for SC; 3 for MR.

1) Four consecutive samples must all be insignificant;

2) Their neighbors must all be insignificant;

3) They must reside within the same sub-block;

4) The horizontal index of the first sample must be even.

diagonal

horizontal

vertical

Note: Neighbors outside the code-block are insignificant.

Formation of Significance Coding Contexts

- Zero Coding (ZC) 9
- To code pth bit of the quantized magnitude M, given that the sample is not yet significant ( M < 2p+1)
- Dependency ( empirical studies )

- Run-Length Coding (RLC) 1
- To reduce the number of symbols which must be coded
- Invoked in ZC when sample and its neighbors are all insignificant
- A group of four samples satisfying 4 conditions is encoded as a single symbol to identify whether any is significant

qewra

0:Both neighbors are insignificant or

significant with different signs;

1: At least one neighbor is positive;

-1: At least one neighbor is negative.

Context 0:S = 0 and4 neighbors are insignificant;

Context 1:S = 0 and at least one neighbor is significant;

Context 2:S = 1. (S is a state variable that transitions from 0 to 1 after MR is first applied to the sample.)

- Sign Coding (SC) 5 (concerning the signs of 4 neighbors)
- Used at most once when found significant in ZC or RLC
- Redundancy exploited ( 2 symmetry properties )

- Magnitude Refinement (MR) 3
- To code pth bit of the quantized magnitude M, given that M 2p+1
- Dependency ( empirical studies )

qewra

LL& LH: At least one horizontal neighbor is significant;

HL: At least one vertical neighbor is significant;

HH: At least one diagonal neighbor is significant.

Appearance of coding passes and quad-tree codes in each block’s embedded bit-stream

1) Samples are visited in the reverse order;

2) PN is expanded: At least one of 8 neighbors is significant.

- Fractional Bit-Planes (4)
- For each bit-plane, the coding proceeds in some passes and each sample appears in exactly one of the passes

- Forward Significance Propagation Pass ( 1pfor bit-plane p )
- Skipping over all samples either insignificant or that do not have a preferred neighborhood(PN)

- Reverse Significance Propagation Pass ( 2p)
- Identical to 1pexcept two points

- Magnitude Refinement Pass ( 3p)
- Already significant and no information has been coded

- Normalization Pass ( 4p) all sample not considered before

qewra

qewra

qewra

- Overview ( 1 slide )
- Highly Scalable Compression ( 2 slides )
- Optimal Truncation ( 3 slides )
- Embedded Block Coding ( 6 slides )
- Abstract Quality Layers ( 3 slides )
- Conclusion
- References
- Q & A

Tier 1

Embedded block coding

Operates on block samples

Code-block samples

Embedded block bit-streams

Tier 2

Coding of block contributions to each quality layer

Operates on block summary information

Compressed image

Substantialinter-block redundancy

qewra

- Second Tier of Two-tiered Coding Structure
- Abstract Quality Layers
- Information Must Be Explicitly Identified

- Length of the segment

- Number of new coding passes

- pimax, most significant bit-plane of code-block, Bi

- qi , index of first layer Bi makes nonempty contribution

- State-of-the-art Compression Performance
- Embedded Block Coding
- High Scalability (3)
- Resolution scalability
- Distortion/SNR/quality/rate scalability
- Spatial scalability (Random access capability)

- Enabling
- Use of Post-Compression Rate-Distortion Optimization

- Introducing
- the Concept of Abstract Quality Layers

1. D. S. Taubman, “High performance scalable image compression with EBCOT,” IEEE Trans. Image Proc., vol. 9, pp. 1158-1170, July 2000

2. D. S. Taubman and M. W. Marcellin, JPEG2000: Image Compression Fundamentals, Standards and Practice, Kluwer Academic Publishers,2002

3. J. M. Shapiro, “Embedded image coding using zerotrees of wavelet coefficients,” IEEE Trans. Signal Processing., vol. 41, pp. 3445-3462, December 1993

4. A. Said and W. Pearlman, “A new, fast and efficient image codec based on set partitioning in hierarchical trees,” IEEE Trans. Circuits Syst. Video Technol., vol. 6, pp. 243-250, June 1996

5. S. Wu, “Embedded zerotree wavelet: an image coding algorithm”, http://www.sfu.ca/~vswu/courses/CMPT820/presentations/1/present1.ppt, June 2002