1 the embedded block coding with optimized truncation (ebcot) in jpeg2000
TRANSCRIPT
2
JPEG2000 Codec
(a) encoder
(b) decoder
SourceImage Data
ForwardWavelet
Transform
QuantizationCoefficient
bit modeling
Compressed Image Data
Arithmeticencoding
Compressed Image Data
Coefficientbit
modeling
De-Quantization
InverseWavelet
Transform
ReconstructedImage Data
Arithmeticdecoding
3
120 128 130 105 78 23 ... 129150 10 218 89 12 45 ... 110 98 104 38 204 239 89 ... 98 78 198 19 178 192 37 … 123109 45 23 106 76 12 … 67 ….. ….. 28 120 238 129 109 37 … 203
Original ImageLevel 2
Wavelet Image
DWT
Pixel Representation Wavelet Coefficients
9283 5721 -986 49 40 19 … 08785 3061 2083 29 -38 61 … -3 456 -440 108 23 37 31 … 1 148 621 51 29 -36 45 … -2 103 70 22 20 12 -19 … 4 …… …… 10 2 0 -3 -7 11 … 0
Wavelet Image
DWT
Quantization
...
Wavelet Compression
3 1 -16 9 10 0 … 0 5 3 3 0 0 1 … -0 6 -2 18 0 0 0 … 0 8 1 1 0 0 5 … -0 3 12 0 0 0 0 … 0 …… …… 0 0 0 -0 -0 0 … 0
4
The JPEG2000 Encoder
The part of EBCOT
T1
Embedded Block Coding
Operates on block samples
T2
Coding of block contributions
To each quality layer
Operates on block summary info
Embedded block
bit-streams
Block of sub-band samples
Full-featured
bit-stream
5
Quantization
The quantization operation is defined by the step size parameter, ,through
Here, denotes the samples of sub-band , while denotes their quantization indices.
The step size for each sub-band is specified in terms of an exponent, , and a mantissa, , where
LL HL
LH HHHL
LH HH
HL
LH HH
b
b
bbb
nynysignnq
nyb b nqb
b b
11212 b
bb
520 b
1120 b
8
The Concept of EBCOT
Bit-Plan Coding Primitives Zero Coding Run Length Coding Sign Coding Magnitude Refinement Coding
Fractional Bit-Planes and Scanning Order Significance Propagation Pass Magnitude Refinement Pass Cleanup Pass
9
Sub-bank and Code Block and sub-block
Generally, Code Block size is 64*64 or 32*32 and sub-code block size is 16*16.
The scanning order of the sub block to be used.
Each code block is coded independently.
Code BlockCode Sub-Block
LL HL
LH HHHL
LH HH
LH HH
HL
10
Significant
Significance:當一個係數 bit-plane 的值,第一次由0變為1,則此 時這個係數將變為 Significance。
Refinement:當一個係數已經是 Significance,則這個係數接下來的bit皆稱之為 Refinement。
Sign:即係數的符號值。
12
Scan coding
q = -2 11 0 -23 49 3 -10
sign
Bit plan 1
Bit plan 2
Bit plan 3
Bit plan 4
Bit plan 5
Bit plan 6
-2 1000010
11 0001011
0 0000000
-23 1010111
49 0110001
3 0000011
-10 1001010
13
Four Types of Coding Operation for Bit Plan Coding
Zero Coding Used to code new significance.
Run Length Coding Reduce the average number of symbols needed to be
coded. Sign Coding
Used to code the sign right after a coefficient is identified significant.
Magnitude Refinement Coding 3 context depending on the significance of its neighbors
and whether it is the first time for refinement.
14
Stripe Oriented Scanning Pattern Followed Within Each Coding Pass
Code block width J2
Context window
stripe
16
Run Length Coding
Specifically, each of the following conditions must hold: 1) Four consecutive samples must all be insignificant. 2) The samples must have insignificant neighbors. 3) The samples must reside within the same sub-block
18
Sign Coding
當 symbol由 insignificance 變為 significance,此時必須將送出該 symbol 的 sign值,而 sign 值是由垂直及水平鄰近點的 sign 值和 significance 來查表決定 context states。
21
Three Coding Pass
The JPEG2000 standard three passes Significance Propagation Pass Magnitude Refinement Pass Cleanup Pass
22
Significance Propagation Pass
The first coding pass for each bit plane is the significance pass. This pass is used to convey significance and (as necessary) sign
information for samples that have not yet been found to be significant and are predicted to become significant during the processing of the current bit plane.
23
Magnitude Refinement Pass
During this pass we skip over all samples except those which are already significant, and for which no information has been coded in the previous pass.
These samples are processed with the MR primitive.
24
Cleanup Pass
Here we code the least significant bit, of all samples not considered in the previous three coding passes, using the SC and RLC primitives as appropriate
if a sample is found to be significant in this process, its sign is coded immediately using the SC primitive.
26
A Simple Example For Bit Plan Coding
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
bit plane1 bit plane2 bit plane3 bit plane4
Example :
10 = +1010
1 = +0001
3 = +0011
-7 = -0111
34
Example 1 For JPEG2000 Decoder (Only Cleanup Pass)
第一個讀入的值為 context label即 coding的方式 ,查表可知 00為 Run-length coding.
第二個讀入的值為 symbol即本身的二進位值 ,此例為 1