Post on 09-Jul-2015
description
La zer A still image codec
designed by L. Guillemot
lawzercompression(at)gmail.com
Lattice Vector Quantization
LaWzer: A still image codec designed by L. Guillemot
The LaWzer project materializes 10 years of scientific contributions in image compression and source coding.
LaWzer is a personal project, a showcase for the skills and interests of its designer, Ludovic Guillemot, and a way to celebrate a regular activity in research with academic partners. LaWzer is a still image codec allowing to efficiently encode digital images at the desired size. LaWzer 1.0 has been developed (in C++) between July 2013 and August 2014. It includes works previously published as well as new coding algorithms specially designed for LaWzer. LaWzer technology is based on Lattice Vector Quantization (LVQ) and wavelet transform. In (very) few words,
LVQ is a blockwise approach i.e. the basic elements of the coding process are vectors of data. This is a highly efficient approach but usually renowned for the algorithmic complexity involved by operations on n-dimensional objects. LaWzer focuses on reversing this reputation while still improving the rate-distortion trade-off. Because compression is a must in the big data era, we believe that some applications could be in need of a fast and efficient vectorwise compression scheme. LaWzer v1.0 is a proof of concept. The most challenging task was to develop a real-life codec, i.e. showing that processing n-dimensional objects was no more a technical hurdle for the execution speed. Various algorithms have been designed and implemented to reach this goal: quantizers and lossless coding, statistical estimation in wavelet domain, numerical optimization, etc. Work in progress: The first phase of the project is now achieved. One have a complete compression scheme
which produces compressed files (“.law”) with short execution times (short means of the order of few seconds for very big images). But much more can be done, further versions will include enhanced coding algorithm, new functionalities (color, watermarking, etc.), code optimization, etc.
LaWzer: A still image codec designed by L. Guillemot
I. PROJECT PRESENTATION
II. COMPRESSION SCHEME DESCRIPTION
III. FOCUS ON MAIN TECHNICAL ELEMENTS
IV. CONTACTS & INFO
LaWzer: A still image codec designed by L. Guillemot
LAWZER :
I. PROJECT PRESENTATION
Image
input/output
selection
Configuration
Target
rate
tuning
Embedded
console for
coding/decoding
information
Encoding
button
LaWzer: A still image codec designed by L. Guillemot
LAWZER is a still image compression software allowing to
efficiently encode digital images at the desired size
LaWzer: A still image codec designed by L. Guillemot
Codebook shape design
Wavelets modeling
Numerical optimization
Lossless coding
LaWzer:
Materializing 10 years of scientific contributions
in image processing and source coding
Designed and developed by Ludovic Guillemot
Based on Lattice Vector Quantization & Wavelet Transform
LaWzer: A still image codec designed by L. Guillemot
LaWzer is a personal project:
Materializing a regular activity in research with academic partners A showcase for skills and interests in image processing
LawZer is a proof of concept:
Most of scientific contributions in source coding included in LaWzer v1.0 Most challenging task:
Building a real-life source coder with a low computational cost
Work in progress,
next versions will include:
Color, 16 bits, etc Optimized code, enhanced coding tools, etc
LaWzer: A still image codec designed by L. Guillemot
R&D project leader and technical expert in image processing
Image & video compression, robust & fragile watermarking, pattern recognition, signal processing
Companies: Orange labs (France Telecom), Goodyear innovation center, start-up using watermarking tecnologies (Codasystem, Anteleon Imaging)
PhD in image compression and watermaking (university of Lorraine, France)
Project building and management
Innovation - Cantata (ITEA project, video surveillance) - Atlas (EU fp7 project, image certification using watermarking and geolocation)
Information Security Management System (ISO norm 27001)
Publications
Journals: IEEE trans. On Image Processing,IEEE trans. On Communications,Journal of Electronic Imaging,IEE Electronics Letters
Conferences:ICIP, ICASSP, ICME, EUSIPCO, SPIE, PCIS,…
Ludovic Guillemot: LaWzer designer
LaWzer v 1.0 designed by L.
Guillemot
4 international journals
9 international conferences
Most of scientific contributions
included in v 1.0
+
New algorithms (coding, num. optimization) Academic partner:
S. Moussaoui
(Ass. prof,
IRCCyN, Nantes)
Academic partner:
Y. Gaudeau
(Ass. prof. CRAN, Strasbourg)
Academic partner:
J.M. Moureaux (Professor, CRAN,
Nancy)
LaWzer: A still image codec designed by L. Guillemot
Collaborations
C++
(Visual Studio)
BOOST libraries
Special maths function, binding, binary operations, etc.
Qt API
Graphical user interface.
OpenCV
Input file format management, image tiling,
thesholding, etc.
LaWzer: A still image codec designed by L. Guillemot
LaWzer project: development tools
LaWzer: A still image codec designed by L. Guillemot
LAWZER :
II. COMPRESSION SCHEME
DESCRIPTION
LaWzer: A still image codec designed by L. Guillemot
Sub-images produced by wavelet tranform encoded separately
Total payload divided between sub-images using a fast
bit allocation procedure:
LaWzer is based on an entropy-constraint source coder
associated to a discrete wavelet transform
Payloads computed to minimize the global compression error Numerical optimization based algorithm (gradient projection)
Imaging coding using LaWzer
Use of rate & distortion analytic models instead of real-data: highly accelerates bit-allocation Advanced statistic model: vector approach well-suited to clustering phenomena and sparse signals
LaWzer: A still image codec designed by L. Guillemot
1 2
3
1 Bit allocation:
Computing the best compression parameters (for a given target payload) Use of analytical R-D models *
2 LaWzer Coder:
Wavelet sub-images separetly encoded with LaWzer source coder
3 Bitstreams concatenation and building of the compressed file
Entropy Constraint source coder associated
to wavelet transform
*R-D models: Rate-Distortion models
LaWzer: A still image codec designed by L. Guillemot
Bit allocation is a critical stage since the coding performances depend for a large part on the performed choice:
LaWzer’s bit allocation is fast and nearly optimal
thanks to its rate and distortion models (see part 3 for details)
Bit allocation is renowned to slow down encoding because of the use of iterative optimization algorithms:
LaWzer: A still image codec designed by L. Guillemot
Indexing stage: vectors encoded with respect to their norm
Set of vectors with the same norm = shell (or surface) Vector replaced by its position on the corresponding shell Norm is compressed using a variable length coder
LaWzer source coder
Encoding
vectors:
LaWzer coder is based on Lattice Vector Quantization:
Wavelet coefficients processed block by block (vectors)
Quantization: Source vectors replaced by lattice
vectors
Lattice: set of regularly spaced vectors Generalization of scalar quantization
Exemple of a 2D lattice
Points: quantized vectors Blue zone: codebook
Key idea of the quantizer used in LaWzer:
Fine quantization of significant vectors (clusters of significant coefficients)
Use of codebook shape adapted thresholding (see part 3 for details)
A still image codec designed by L.
Guillemot
1 Quantization:
Lattice Vector Quantization (with vector dead zone)
3’ Variable-length coding of the norm:
Differential coding 4-ary code stack-run
1 2
3’
3’’
LaWzer: A still image codec designed by L. Guillemot
LaWzer source coder
2 Indexing = building of a product code :
Vector energy (norm) Position in the set of vectors of equal norm
3’’ Position:
Binary coding
Indexing is a key step
Consists in replacing a vector of size n by only 2 numbers: A large part of information is compressed here
A still image codec designed by L.
Guillemot LaWzer: A still image codec designed by L. Guillemot
Coding performances: LaWzer source coder takes benefits
of 2 properties Superiority of vector codebooks in Shannon Theory Ability to take into account spatial dependencies between samples in a block
to better quantize significant elements
Algorithmic complexity
The LaWzer indexing stage is extremely fast (new algorithm specially designed for LaWzer, see part 3 for details)
Processing n-dimensionnal objects is a classical drawback in terms of execution time
In particular, Computing vector position in a n-dimension surface is a hard task:
LaWzer: A still image codec designed by L. Guillemot
LAWZER:
III. FOCUS ON MAIN TECHNICAL
ELEMENTS
LaWzer: A still image codec designed by L. Guillemot
Description on the main coding stages in
LaWzer:
1 Bit allocation Rate-distortion models Numerical optimization
2 Quantization Lattice codebook with vector dead zone
3 Lossless coding: Indexing stage (position) Encoding of the norm
LaWzer: A still image codec designed by L. Guillemot
1 Bit allocation:
Rate-distortion models
VECTOR DENSITY BASED RATE DISTORTION MODEL:
Fastly predicts entropy and distortion of wavelet sub-images.
A still image codec designed by L.
Guillemot
Modelling wavelet statistics to predict
coding performances
Rate and distorsion models based on statistics assumption:
Vector distribution dedicated to the clustering phenomena in sparse signals
Clusters of significant coefficients = significant vectors MMGG: a statistical model for significant/non significant vectors Property of MMGG: energy (norm) of vectors are gamma mixture distributed 2-step estimation: method of moments for the energy, derivation of the corresponding MMGG model Low computational cost High precision of R-D models
LaWzer: A still image codec designed by L. Guillemot
Multidimensional mixture of
Generalized Gaussian densities
(MMGG)
A still image codec designed by L. Guillemot
0 50 100 150 200 2500
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
densité du mélange
histogramme normal isé de la source
MMGG based Rate-distorsion estimation
Vector distribution derived from scalar energy distribution Energy model: mixture of Gamma densities Estimation performed by method of moments
MMGG R-D models dedicated to : Classical lattices Lattices with Vector Dead Zone
Vector energy = norm
A still image codec designed by L.
Guillemot
Entropy-Coded Lattice Vector Quantization Rate-Distortion Models and Codebooks Dedicated to Block Mixture Densities.
IEEE Transactions on Image Processing, 2008.
Fast MMGG estimation:
For more details:
Low complexity bit allocation based on Lattice Vector Quantization and multidimensional mixture model.
Picture Coding Symposium (PCS), Krakow, may 2012.
LaWzer: A still image codec designed by L. Guillemot
Why MMGG based models?
High precision thanks to the ability to take into account two properties:
High concentration of low energy vectors (non significant vectors) Clusters of wavelet coefficients (significant vectors)
LaWzer: A still image codec designed by L. Guillemot
1 Bit allocation:
Numerical optimization
Numerical optimization tool applied to R-D models to determine the encoding parameters.
Predict coding performances to determine the best
compression parameters
LaWzer: A still image codec designed by L. Guillemot
Minimisation problem with equality constraint :
Numerical optimisation algorithm: gradient approach
Constraint: total of sub-images payloads equals to the target payload Gradient estimation projected into the constraint sub-space (hyperplane) Ensures compliance with the constraint at each iteration
Bit-allocation:
Initialization procedure to speed up convergence:
Computing of the entropies for a minimum quantization cell size Projection into the constraint sub-space
Determining the set of compression parameters for:
A minimum error compression A given total payload
Bit allocation procedure
LaWzer: A still image codec designed by L. Guillemot
Using R-D formulas instead of real data point:
No call of the source coder required in the bit allocation Computational cost significantly decreased
The goal of the bit allocation is to determine (for each wavelet sub-image) the quantization parameters used by the source coder
LaWzer: A still image codec designed by L. Guillemot
2 Quantization:
Lattice codebook with
vector dead zone
Better encoding significant vectors of sparse signals.
LaWzer: A still image codec designed by L. Guillemot
Uniform Scalar Quantization
Generalization Lattice Vector Quantization
Scalar Dead Zone
Thresholding low magnitude
Generalization
Vector Dead Zone
Thresholding low energy vectors
Scalar Dead Zone
Better encodes significant coeffients
Generalization
Vector Dead Zone
Better encodes clusters of significant coeffients
Vector Dead Zone: Enlarging null vector quantization cell to increase the amount of null vectors Fine quantization of significant vectors Decreasing the distortion
Concept introduced by
J.M. Moureaux
LaWzer: A still image codec designed by L. Guillemot
Z
Lattice codebook with vector dead zone
Vectors within the Codebook
Vector Dead Zone
Vectors inside the dead zone quantized to the null vector
LaWzer: A still image codec designed by L. Guillemot
Z
Contributions of L. Guillemot in the design
of the vector dead zone:
Optimal Dead Zone algorithm:
Tuning of the dead zone radius/quantization step for a minimum distortion at a given rate
Design of analytical rate and distortion models:
For independently and identically distributed (i.i.d.) and MMGG densities
For more details:
Fast Dead Zone Lattice Vector Quantization.
IEE Electronics Letters, 2008.
LaWzer: A still image codec designed by L. Guillemot
3 Lossless coding:
Vector indexing
Computing vectors position in n-dimension surface: Fast lattice codebook enumeration algorithm.
A still image codec designed by L.
Guillemot LaWzer: A still image codec designed by L. Guillemot
Key point of lattice vector quantization: indexing
Exemple of compression gain: For a vector of 4×8-bit integers with a norm = 10, position encoded on 12 bits instead of 32 bits.
Mapping of the quantized vector to a code product:
Norm R Position in the surface of radius R (set of vectors of norm R)
Computing position:
crucial & difficult task
A still image codec designed by L.
Guillemot LaWzer: A still image codec designed by L. Guillemot
Too many CPU resources required for high radius surfaces Major impact on the execution time of the compression process
State of the art methods in :
Computational cost strongly depends on the norm of vectors
Enumeration algorithm designed for LaWzer :
Extremely fast & low storage requirements
Computational cost DOES NOT depends on the norm of vectors
Constant computational cost: 1 operation / sample! Storing requirements (use of Look-Up-Table) for LaWzer v1.0 : 80 kbytes
A still image codec designed by L.
Guillemot LaWzer: A still image codec designed by L. Guillemot
Indexing algorithm specially designed for LaWzer v1.0
New method, still not published
Stay tuned for more information!
LaWzer: A still image codec designed by L. Guillemot
3 Lossless coding:
Encoding of the norm
Stack-run : 4-ary coding of the vector norm for sparse signals
LaWzer: A still image codec designed by L. Guillemot
Position:
Binary coding (word length corresponding to the surface cardinality) Norm:
Variable length coding to exploit the large amount of zeros
Final encoding step:
Translating index vectors into binary words
Variable length coding of the norm:
Zig-zag scanning Differential coding for residual spatial correlations Stack-run coding
4-ary code dedicated to sparse sources Use of two classes:
- RUN: length of clusters of 0-valued samples - LEVEL: magnitude of significant samples
Stack-run coding:
LaWzer: A still image codec designed by L. Guillemot
Clusters of 0 norm values = « RUN »
Other values = « LEVEL »
Zig-zag +
Differential coding 0 0 0 0 4 -3 0 0 0 0 0 0 0 0 -4 Norm of
Quantized Vectors
RUN (4) // LEVEL (4) // LEVEL (-3) // RUN (8) // LEVEL (-4)
Stack-Run: 4-ary code (symboles «0», «1», «-» & «+»)
RUN: «+» & «-» LEVEL: «0» & «1» («+» & «-» for sign)
-- 10+ 00- ---+ 10-
0000 111001 101000 00000001 111000
RUN RUN
Binary operations
(binary truncation + level shifting)
Norm bitstream
Stack-Run coding
of the norm
A 24 bits DSP for stack run codec.
Colloque GRETSI 1999
For more details on
stack-run codes:
LaWzer: A still image codec designed by L. Guillemot
LAWZER:
IV. CONTACTS & PUBLICATIONS
LaWzer: A still image codec designed by L. Guillemot
lawzercompression(at)gmail.com
fr.linkedin.com/in/ludovicguillemot
L. Guillemot contact:
LaWzer project
contact:
LaWzer: A still image codec designed by L. Guillemot
Low complexity bit allocation based on LVQ and multidimensional mixture model Picture Coding Symposium (PCS), 2012 , vol., no., pp.177,180, 7-9 May 2012
Entropy-Coded Lattice Vector Quantization Dedicated to the Block Mixture Densities Image Processing, IEEE Transactions on , vol.17, no.9, pp.1574,1586, Sept. 2008
Fast dead zone lattice vector quantisation Electronics Letters , vol.44, no.3, pp.191,192, January 31 2008
An analytical gamma mixture based rate distortion model for lattice vector quantization EUSIPCO, Florence, Italy, september 2006.
A gamma mixture model for the energy of blocks dedicated to vector quantization of sparse signals SPARS’05, Rennes, 2005.
A new fast bit allocation procedure for image coding based on wavelet transform and dead zone lattice vector quantization
Image Processing. ICIP 2005. IEEE International Conference on, vol.3, no., pp.III,193-6, 11-14 Sept. 2005
Image compression using lattice vector quantization with code book shape adapted thresholding Image Processing. ICIP 2002 IEEE International Conference on, vol.2, no., pp.II-641,II-644 vol.2, 2002
Publications of L. Guillemot in
compression
LaWzer: A still image codec designed by L. Guillemot
Modulated Lattice Vector Quantization: How to Make Quantization Index Modulation an Efficient Variable Rate Source Coder
Communications, IEEE Transactions on , vol.58, no.11, pp.3165,3174, November 2010
Hybrid transmission, compression and data hiding: quantisation index modulation as source coding strategy Electronics Letters , vol.40, no.17, pp.1053,1055, 19 Aug. 2004
Indexing Lattice Vectors in a Joint Watermarking and Compression Scheme Acoustics, Speech and Signal Processing. ICASSP Proceedings. IEEE International Conference on , vol.2, no., pp.II,
14-19 May 2006
Other publications of L. Guillemot
(watermarking)
THANK YOU
LaWzer: A still image codec designed by L. Guillemot