QM_coder - T he arithmetic coders used in JPEG, JPEG 2000...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
1 he arithmetic coders used in JPEG, JPEG 2000 and JBIG are called QM- coder 1 . It handles only binary strings or input and it is designed for simplicity and speed. It uses approximation for multiplication operation, fixed-precision integer arithmetic with renormalization of the probability interval from time to time. The main idea of the QM-coder is to classify the input bit as M ore P robable S ymbol ( MPS) and L ess P robable S ymbol ( LPS) . Before the next bit is input, the QM-coder uses a statistical model (using a context, typically a two-dimensional context of black and white pixel in an image) to predict which one of the bits (0 or 1) will be the MPS . If the predicted MPS bit does not match with the actual bit, then the QM-coder will classify this as LPS ; otherwise, it will continue to be classified as MPS . The output of the coder is simply a compressed version of a stream of MPS or LPS , which are assigned probability values dynamically. The decoder has only the knowledge of whether the next predicted bit is MPS or LPS . It uses the same statistical model as that of the encoder to obtain the actual values of the bit. Recall the range update equations we used for arithmetic coding: Let L and H denote the current ‘low’ and ‘high’, respectively, and current ‘range’ A=H- L . Let the current incoming symbol be a i, , its probability be p (a i ) and its cumulative low and high probability be P ( a i-1 ) and P ( a i ), respectively, then the new low and new high become L: = L + (H – L) * P (a i-1 ) H: = L + (H – L) * P (a i ) Then the new range becomes ( by subtracting new L from new H ) A: =A [P (a i ) - P (a i-1 )] =A* p (a i ) Let us assign a probability Q to LPS and assign the lower interval to MPS with 1 There is an error in the book [Data Compression: The Complete Reference, 2nd Edition]: Page 121, Table 2.64: The renormalized values of C are wrong. The correct table is: Symbol C A Renor. A Renor. C ----------------------------------------------------------------- Initially 0 1 S1 (LPS) 0+1-0.1=0.9 0.1 0.8 0.9*2^3=
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 06/09/2011 for the course CAP 5015 taught by Professor Mukherjee during the Spring '11 term at University of Central Florida.

Page1 / 5

QM_coder - T he arithmetic coders used in JPEG, JPEG 2000...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online