Upload
xavier-giro
View
170
Download
2
Tags:
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
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
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
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
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
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
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
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
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
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
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
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
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
Xavier Giró i Nieto ([email protected]) 13
VOLUMETRIC IMAGECOMPRESSION
WITH CS-EBCOTOCTREE CODINGOCTREE CODING
SGN
SGNNSNSNSNSNSNSNS
SGNNSNSNSNSNSNSNS
SGN = SignificantNS = Non-significant
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
Xavier Giró i Nieto ([email protected]) 15
VOLUMETRIC IMAGECOMPRESSION
WITH CS-EBCOTSCANNINGSCANNING
x
yz
2D JPEG2000 slice by slice
Xavier Giró i Nieto ([email protected]) 16
VOLUMETRIC IMAGECOMPRESSION
WITH CS-EBCOTSCANNINGSCANNINGMorton scanning pattern
2D Morton 3D Morton x
yz
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
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
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
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
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
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
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
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
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
Xavier Giró i Nieto ([email protected]) 26
further experiments with size of codeblocksimprove arithmetic coder
VOLUMETRIC IMAGECOMPRESSION
WITH CS-EBCOTFUTURE WORKFUTURE WORK
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