27
VOLUMETRIC VOLUMETRIC IMAGE IMAGE COMPRESSION COMPRESSION WITH CS WITH CS - - EBCOT EBCOT Xavier Giró i Nieto Philippe Salembier Universitat Politècnica de Catalunya - ETSETB Peter Schelkens Jan Cornelis Vrije Universiteit Brussels - ETRO

Volumetric Image Compression with CS-EBCOT

Embed Size (px)

DESCRIPTION

Author: Xavier Giró-i-Nieto Advisor: Peter Schelkens (VUB) Download the full thesis from: https://imatge.upc.edu/web/publications/volumetric-data-compression-based-cube-splitting-and-embedded-block-coding-optimized The basis for all current image and video compression standards is DCT-based coding. For these techniques the computation is based on splitting of the image into NxN blocks and transforming it from the spatial domain into the DCT domain. Typical examples are first generation coders, like JPEG, which produce a non-structured, unique bit-stream. This technique could easily be adapted to three-dimensional by splitting the volume into NxNxN blocks and applying a 3D DCT. However, one encounters two problems. First, the DCT transform is a lossy, and medical practice cannot tolerate any distortion that could lead to an faulty diagnose. Secondly, contemporary transmission techniques make use of concepts like rate-scalability, quality and resolution scalability, features that are not fully supportable by DCT techniques. Coders using a wavelet transform as front-end are good candidates to overcome these problems. They scan each bit-planes one by one to generate a structured bit-stream. This bit-stream can be truncated to give more or less quality or resolution, and they are classified second-generation coders. A typical example of 3D wavelet coding is the octave zero-tree based coding [Bil99, Xio99, Kim99, Kim00, Sch00a], which currently tends to deliver the best compression performance. However, it is difficult to control the bit-stream structure since it is dependent on the coder’s data flow. The new image compression standard JPEG2000 uses a third generation technique, called EBCOT ,incorporating an abstract interface to enable reordering of the generated code packages. In this way a fully controllable bit-stream structure is achieved. For example, the bit-stream can be equipped so that resolution or quality scalability are supported. The current verification model (VM7.0) of JPEG2000 however, does not include three-dimensional coding. The only support that is given for multidimensional and/or multi-spectral images is the possibility to execute a wavelet transform along the component axis. Unfortunately, the code supporting this feature was still buggy at the time this document was written Adapting this third-generation coding technique to a three-dimensional environment was the aim of this thesis. The input volume is transformed into the wavelet transform with the 3D Wavelet front-end described and implemented by Schelkens et al. [Sch00a] and Barbarien [Joeri’s thesis]. Later it is coded by an hybrid technique of Cube-Splitting and an JPEG2000’s EBCOT module, modified to support the third dimension. The Cube-Splitting module codes big zero-volumes very efficiently, while the EBCOT coder is responsible for the coding of the (sub)volumes containing significant samples. Hence, the implemented coder is called CS- EBCOT.

Citation preview

Page 1: Volumetric Image Compression with CS-EBCOT

VOLUMETRIC VOLUMETRIC IMAGE IMAGE

COMPRESSION COMPRESSION WITH CSWITH CS--EBCOTEBCOT

Xavier Giró i NietoPhilippe Salembier Universitat Politècnica de Catalunya - ETSETB

Peter SchelkensJan CornelisVrije Universiteit Brussels - ETRO

Page 2: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 2

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTINTRODUCTIONINTRODUCTION

Encoder Embedded coder Embedded coder

Bit-stream Structured bit-stream Structured bit-stream

Image compression techniques

1st generationstrcuture derived

from coderEx. JPEG

2nd generationstrcuture derived

from coder

3rd generationabstract interface

between coder andbit-stream structures

Page 3: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 3

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTINTRODUCTIONINTRODUCTION

Embedded coder

Structured bit-stream

3rd generationabstract interface

between coder andbit-stream structures

• 3rd generation coders (JPEG200)- support for lossles and lossy- enable rate scalability, quality and resolution scalability

• volumetric images ?(Ex. medical)

• 2D techniques slice by sliceexploit correlation only throughX and Y axis

Page 4: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 4

adapt the VM 6.0 EBCOT coder to support volumetric images including a Cube-Splitting front end.study the performance of– CS-EBCOT for lossless and lossy coding– new wavelet filters– 3D Morton scanning pattern– models of a context-based adaptive arithmetic

coder

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTTARGETSTARGETS

Page 5: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 5

CS-EBCOT codec is – always outperforming Cube-Splitting and

3D SPIHT coding engine in lossless coding– giving good results for lossy coding,

especially at low bit-rates when comparing with PSNR

– giving the best visual quality for lossy coding

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTRESULTSRESULTS

Page 6: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 6

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTGENERAL SCHEMEGENERAL SCHEME

3D wavelettransform Tier 1 Tier 2

INPUT IMAGE-raw data from 1 to 32 bits-medical, multispectral, ...

3D EBCOT CODER

Page 7: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 7

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOT3D WAVELET3D WAVELETL

H

2

2

L

H

2

2x

d1

d2

s2

s2 d2

Level 1 (Finest level)Level 2 (Coarsest level)

d1

- apply the wavelet transformin the three spatial directions

- subband organization

Page 8: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 8

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTGENERAL SCHEMEGENERAL SCHEME

3D wavelettransform Tier 1 Tier 2

3D EBCOT CODER

WAVELET COEFFICIENTS-distributed in subbands and decomposition levels

INPUTIMAGE

Page 9: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 9

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTCODEBLOCKSCODEBLOCKS

HLL HHL

HLL HHL

LLL LHLLHL

LLH LHH

HHH

LLH LHH

CODING UNIT:the codeblock

Page 10: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 10

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTCODEBLOCKSCODEBLOCKSCODING UNIT:the codeblock

• each codeblock iscoded independently• zero coefficientsare added whenoutcoming the borders

Page 11: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 11

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTGENERAL SCHEMEGENERAL SCHEME

3D wavelettransform Tier 1 Tier 2

3D EBCOT CODER

TIER 1-embedded block coding-operates on block samples

INPUTIMAGE

WAVELETCOEFFICIENTS

...

CODEBLOCKS

Page 12: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 12

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTEBCOT TIER 1EBCOT TIER 1Octree cube

spliiting

Fractionalbit-planecodingCODEBLOCK

OCTREE CUBE SPLITTING-identifies subblocks in the codeblockwhich contain significant information for present bit-plane

FOR EACH BIT-PLANE

Page 13: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 13

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTOCTREE CODINGOCTREE CODING

SGN

SGNNSNSNSNSNSNSNS

SGNNSNSNSNSNSNSNS

SGN = SignificantNS = Non-significant

Page 14: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 14

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTEBCOT TIER 1EBCOT TIER 1Octree cube

spliting

Fractionalbit-planecodingCODEBLOCK

FOR EACH BIT-PLANE

SIGNIFICANTSUBBLOCK

FRACTIONAL BIT-PLANE CODING• four context-based coding operations • three coding passes

• Significance Propagation• Magnitude Refinement• Normalization

Page 15: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 15

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTSCANNINGSCANNING

x

yz

2D JPEG2000 slice by slice

Page 16: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 16

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTSCANNINGSCANNINGMorton scanning pattern

2D Morton 3D Morton x

yz

Page 17: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 17

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOT3D CONTEXTS3D CONTEXTS

• four coding operations:- Run-Length Coding (RLC)- Zero Coding (ZC)- Sign coding (SC)- Magnitude Refinement Coding (MR)

• original 2D contexts wereadapted to 3D (more complex)

• from the 8 neighbours in 2D to26 neighbours with 3 categoriesin 3D

closer

Page 18: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 18

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTCODING PASSESCODING PASSES3 coding passes are applied in every bit-plane

• SIGNIFICANCE PASSNeighbours of already previous significant coefficients

• MAGNITUDE REFINEMENT PASSCoefficients already marked as asignificant

• NORMALIZATION PASSRest of the coefficients

Page 19: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 19

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTCODING PASSESCODING PASSESbit-plane

x

y

presentbit-plane

on a 2D image

Significance passMagnitude refinement passNormalization passnot processed in the present bit-plane

Page 20: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 20

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTTRUNCATIONTRUNCATION

O[pmax] +P[pmax,3] P[pmax-1,1] P[pmax-1,2] O[pmax-1] +

P[pmax-1,3]O[pmax-1] +P[pmax-1,3]P[0,2]P[0,1]

rate

distortion

O[pmax] +P[pmax,3] P[pmax-1,1] P[pmax-1,2] O[pmax-1] +

P[pmax-1,3]O[pmax-1] +P[pmax-1,3]P[0,2]P[0,1]

Where to truncate ?

one bit-stream foreach code block

Page 21: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 21

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTEBCOT TIER 1EBCOT TIER 1Octree cube

spliting

Fractionalbit-planecodingCODEBLOCK

FOR EACH BIT-PLANE

SIGNIFICANTSUBBLOCK

EMBEDDEDBLOCK

STREAM

EMBEDDED BLOCK BIT-STREAM• one bit-stream for each codeblock• one possible truncation point associated to the end of each pass• a distortion associated to each truncation pass

Page 22: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 22

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTGENERAL SCHEMEGENERAL SCHEME

3D wavelettransform Tier 1 Tier 2

3D EBCOT CODER

TIER 2-coding of block contributions to each quality layer-operates on block summary info

INPUTIMAGE

WAVELETCOEFFICIENTS

...

CODEBLOCKS

EMBED.STREAM

Page 23: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 23

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTEBCOT TIER 2EBCOT TIER 2• T2 generates a packet for each resolution level in each quality layer

Body (code bytes)Header

FOR EACH CODEBLOCK-first inclusion layer (tag tree)-maximum bit-depth (tag tree)-number of new coding passes included in body-number of new bytes included in the body

Page 24: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 24

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTEBCOT TIER 2EBCOT TIER 2layer 1 layer 2 layer Λ -1 layer Λ

resolution L resolution L-1 resolution 1 resolution 0

LLL HLL LHL HHL LLH HLH LHH HHH

header code bytes

inclusion layer insignificant msbs number of passes number of bytes

block 0 block 1 block 2 block N

Page 25: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 25

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTGENERAL SCHEMEGENERAL SCHEME

3D wavelettransform Tier 1 Tier 2

3D EBCOT CODER

INPUTIMAGE

WAVELETCOEFFICIENTS

...

CODEBLOCKS

EMBED.STREAM

COMPRESSEDFILE

Page 26: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 26

further experiments with size of codeblocksimprove arithmetic coder

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTFUTURE WORKFUTURE WORK

Page 27: Volumetric Image Compression with CS-EBCOT

Xavier Giró i Nieto ([email protected]) 27

JPEG2000 principles are fully aplicable for 3D imagesoctree front end is a valuable toolInteger 5x11 is the best integer kernel for lossy and lossless compressionno gain in using Morton scanning

VOLUMETRIC IMAGECOMPRESSION

WITH CS-EBCOTCONCLUSIONSCONCLUSIONS