1/88 DCT Transform Decoder
2/88 Image (512x512) Subsample (128x128) Manipulation Reposition : (256,256)-(384,384) Compress (JPEG) D array of data
3/88 QUAN RUN-LEVEL CODING FINAL BITSTR DCT COMP & PART JPEG
4/88 JPEG 2000 Framework WAVELET QUAN & PART BITPLANE CODING BITSTR ASSEMBLY FINAL BITSTR COMP & TILE COLOR IMAGE Y COMP CR COMP CB COMP
5/88 Transform ORIGINAL 128, 129, 125, 64, 65, … TRANSFORM COEFFICIENTS 4123, -12.4, -96.7, 4.5, …
6/88 2 LOW PASS ANALYSIS G(z) HIGH PASS ANALYSIS H(z) 2 X(z)X(z) LOW PASS COEFF γ(z) HIGH PASS COEFF (z) 2 2 LOW PASS SYNTHESIS G’(z) HIGH PASS SYNTHESIS H’(z) Y(z)Y(z) + X(z)X(z) LOW PASS COEFF γ(z) HIGH PASS COEFF (z) Y(z)Y(z) SPLIT P(z)P(z) P’(z) MERGE
7/88 X(z)X(z) LOW PASS COEFF γ(z) HIGH PASS COEFF (z) + sm(z)sm(z) + SPLIT tm(z)tm(z) + s0(z)s0(z) + t0(z)t0(z) K1K1 K2K2
8/88 Y(z)Y(z) LOW PASS COEFF γ(z) HIGH PASS COEFF (z) + sm(z)sm(z) + MERGE tm(z)tm(z) + s0(z)s0(z) + t0(z)t0(z) 1/K 1 1/K 2
9/88 X(z)X(z) LOW PASS COEFF γ(z) HIGH PASS COEFF (z) + f(a)f(a) + SPLIT f(b)f(b) + f(c)f(c) + f(d)f(d) K1K1 K2K2
10/88 Lifting Implementation a= b= c= d= H0 H1 H2 H3 a a a a b b b c c c c d d d a a a a b b b b c c c c d d d d b d High LowOriginal x0 x1 x2 x3 x4 x5 x6 x7 x8 L0 L1 L2 L3 L4 a a 1 Just be saved in its own position Y = (x0+x2)*a + x1 x0 x1 x
11/88 Inverse Transform
12/88 Lifting Implementation Boundary Handling
13/88 Inverse Transform -2d -d -c -2c -b -a -2a -a -b -2b INVERSE TRANSFORM L0 H0 L1 H1 x0 x1 x2 x3
14/88 Wavelet Transform - 2D
15/88 Wavelet Packet Structure mallat spaclpacket HL LHHH
16/88 Line-based Lifting Scheme For 9-7 filter,the number of needed line in buffer is 6. High LowOriginal x0 x1 x2 x3 x4 x5 x6 x7 x8 L0 H0 L1 H1 L2 H2 L3 H3 L4 1 st Lift 2 nd Lift STEP 2 STEP 3... STEP 1
17/88 Line-based Lifting Scheme Use of the partial character of wavelet transform No need to wait for all data Buffersize=linenumber ( depend on the filter’s length) * linesize LL HL LH HH Horizontal filter Vertical filter Lowpass of Vertical Highpass of Vertical
18/88 Quantizer TRANSFORM COEFF 4123, -12.4, -96.7, 4.5, … QUANTIZE COEFF(Q=1) 4123, -12, -96, 4, …
19/
20/88 Block Entropy Coding : Finally BITSTREAM D R R-D CURVE
21/88 A block of coefficients SIGN b 1 b 2 b 3 b 4 b 5 b 6 b 7 w0w1w2w3w4w5w6w7w0w1w2w3w4w5w6w7 ONE LINE OF COEF
22/ SIGN b 6 b 5 b 4 b 3 b 2 b 1 b 0 w0w1w2w3w4w5w6w7w0w1w2w3w4w5w6w SIGNIFICANT IDENTIFICATION REFINEMENT PREDICTED INSIGNIFICANCE(PN) PREDICTED SIGNIFICANCE(PS) REFINEMENT (REF)
23/88 Bits of Coefficients SIGN b 1 b 2 b 3 b 4 b 5 b 6 b 7 w0w1w2w3w4w5w6w7w0w1w2w3w4w5w6w7 COEFFICIENTS
24/88 Embedded Coding – The First Pass SIGN b 1 b 2 b 3 b 4 b 5 b 6 b w 0 *w 1 w 2 w 3 w 4 w 5 w 6 w 7 VALUE 0 RANGE
25/88 Embedded Coding – The First Pass
26/88 Embedded Coding – The First Pass
27/88 Embedded Coding – The First Pass
28/88 After Bitplane Scanning & Context Modeling Bit: …… Ctx: ……
29/88 h: number of significant horizontal neighbors (0-2) v: number of significant vertical neighbors (0-2) d: number of significant diagonal neighbors (0-4) v h d CURRENT
30/88 Zero Coding Context
31/88 Context in Sign Coding v h h, v: neighborhood sign status -1: one or both negative 0: both insignificant or both significant but opposite sign 1: one or both sig. & positive Expected Sign h v x context
32/88 Magnitude Refinement ],[nm h+vContext 1x16 0 ],[nm : Whether magnitude refinement has been applied h, v : Defined as in zero coding
33/88 MQ-Coder BITS CTX BITSTREAM
34/88 Arithmetic Coding - Illustration What is arithmetic coding P 0 P0P0 1-P 1 P1P1 1-P 2 P2P2 S 0 =0 S 1 =1 S 2 = Coding result: (Shortest binary bitstream ensures that interval B= to D= is (B,D) A ) A B D
35/88 Probability estimation Assume within each context, the symbol is i.i.d (independently identically distributed) We can count the # of symbols and # of 1s and estimate the probability
36/88 JPEG 2000 Bitstream Assembler
37/88 Assemble the Bitstream Bitstream Rate-distortion optimized, for progressive by quality May be reordered Region with resolution access, progressive by quality Res1 Res Encode each block separately & record a bitstream for each block... Abstraction Layer
38/88 Rate-Distortion Optimized Assembling (1 st layer) D1D1 R1R1 D2D2 R2R2 D3D3 R3R3 D4D4 R4R4 D1D1 R1R1 D2D2 R2R2 D3D3 R3R3 D4D4 R4R4 r1r1 r2r2 r3r3 r4r4...
39/88 Rate-Distortion Optimized Assembling (2 nd Layer) D1D1 R1R1 D2D2 R2R2 D3D3 R3R3 D4D4 R4R4 r’ 1 r’ 2 r’ 3 r’ 4 D1D1 R1R1 D2D2 R2R2 D3D3 R3R3 D4D4 R4R4 r1r1 r2r2 r3r3 r4r4...
40/88 JPEG 2000 Bit Stream Syntax Packet Head Body Resync SOT marker SOC marker Global Header SOS marker Tile Header Packet Head Body Resync SOT marker SOS marker Tile Header EOI marker extra tiles Packet Head Body Resync Packet Head Body Resync Layer n Layer
41/88
42/88 JPEG 2000 Bitstream What is in a packet? The compressed bitstream of One component One resolution At a quality level Packet header : length of a block bitstream in this packet Packet body : The compressed bitstream
43/88 Vmedia Interactive Image Browsing
44/88 Vmedia Network Server Vmedia Media Program Media Network Vmedia Media Program... Client 1 Client n Vmedia Most work done at client end JPEG 2000 Compressed Images
45/88 Virtual Media Concept Media Apps Network Service VMedia APIs Client Network Service Server BMP JPEG2000 Connect Request nid, nfid vfid Cache JPEG 2000 Virtual Media
46/88 Render Apps Network Service VMedia APIs Client Cache Network Service Server BMP JPEG2000 Data Request Streaming with prioritization Data Cache Management
47/88 Initial Stage Read filehead & media structure
48/88 Initial Stage – JPEG 2000 JPEG 2000 image header & packet head are readin
49/88 Entire Image – Low Res
50/88 Zooming In x x
51/88 Panning Around x x
52/88 Operation Flow of the Vmedia Image Browser User Request Identify region of interest Identify related coefficient blocks Locate & access Associated bitstream Vmedia Interface Assemble bitstream Entropy decoding Inverse Quantization Inverse Lifting Shown to user
53/88 Operation Flow of the Vmedia Client Access Request Availability Check Network Queues Cache Network Serve Requests Media database Vmedia client Vmedia server
54/88 Vmedia in JPEG 2000 Viewer Without Vmedia Download entire file Too slow A lot of http calls, or calls through imonitor Lots of small network packets No prioritization No cache A lot of codes implement Vmedia functionality in similar media apps With Vmedia Provide all the features free Transparent to network Less codes
55/88 Preemptive Loading Predict what the user wants next Zooming in and out, panning are the most common browse request Access data which is at the neighborhood of current view
56/88 Demo ApplicationBrowser
57/88 Summary What you should learn from the course Difference in file and image compression Key components of a modern image compression system New application and functionalities facilitated by the modern image compression system