220 likes | 423 Views
Embedded Block Coding with Optimized Truncation - An Image Compression Algorithm. Notes by Shufang Wu http://www.sfu.ca/~vswu. Agenda. Overview ( 1 slide ) Highly Scalable Compression ( 2 slides ) Optimal Truncation ( 3 slides ) Embedded Block Coding ( 6 slides )
E N D
Embedded Block Coding with Optimized Truncation- An Image Compression Algorithm Notes by Shufang Wu http://www.sfu.ca/~vswu
Agenda • 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 Overview (1-1) • 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
Agenda • 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
Highly Scalable Compression (2-1) • 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 Highly Scalable Compression (2-2) • 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)
Agenda • 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
Optimal Truncation (3-1) • 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 Truncation (3-2) • 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 Optimal Truncation (3-3) • 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) > }.
Agenda • 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. Embedded Block Coding (6-1) • 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 Embedded Block Coding (6-2) • 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 Embedded Block Coding (6-3) • 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 Embedded Block Coding (6-4) • 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.) Embedded Block Coding (6-5) • 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. Embedded Block Coding (6-6) • 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
Agenda • 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 Abstract Quality Layers (1-1) 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
Conclusion • 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
References 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