data compression systematisation of techniques and methods dr.-ing.habil. tilo strutz university of...
Post on 18-Dec-2015
213 views
TRANSCRIPT
Data CompressionData Compression
Systematisation of Techniques and Systematisation of Techniques and MethodsMethods
Dr.-Ing.habil. Tilo StrutzDr.-Ing.habil. Tilo Strutz
University of RostockUniversity of Rostock
based on: Strutz: „Datenkompression - Grundlagen, Verfahren und deren Anwendung in der Verarbeitung von Graustufen- und Farbbildern“, 2002, based on: Strutz: „Datenkompression - Grundlagen, Verfahren und deren Anwendung in der Verarbeitung von Graustufen- und Farbbildern“, 2002,
thesis for doctor-habilitatus degree, University of Rostock, also: ISBN 3-89825-575-1thesis for doctor-habilitatus degree, University of Rostock, also: ISBN 3-89825-575-1
Tilo Strutz, University of Rostock 2
BasicsBasicsObjective of data compression: Objective of data compression:
transfer of information of digital data into such a description transfer of information of digital data into such a description format (embodiment), which requires as less expense of format (embodiment), which requires as less expense of
storage/transmission as possiblestorage/transmission as possible
Application:Application:
storage or transmission
of digital data
Tilo Strutz, University of Rostock 3
Basics (2)Basics (2)
• What are primal characteristics of digital data?
Digital Data
Origin Format Resolution
• digitisation of analogue data (photography, microphone recordings)
• digital generation (ASCII text, computer graphics, machine- code)
• one-dimensional (audio signals, ultrasonic echos, text)
• two-dimensional (image signals)
• three-dimensional (image sequences)• ...
• binary (e.g. black/ white)
• multivalued (e.g. grey values with 8 bit)
• multi-channel (e.g. colour images with 3 x 8 bit)
Tilo Strutz, University of Rostock 4
SystematisationSystematisation• Motivation:Motivation:
– rapid development at the field of data compressionrapid development at the field of data compression
– urgent needs for systematised overviewurgent needs for systematised overview
• Goals of this study:Goals of this study:
– uniform classification of techniques and methods uniform classification of techniques and methods clear overview over this areaclear overview over this area
– support for understanding of compressionsupport for understanding of compression
– guidance to the design of new compression systemsguidance to the design of new compression systems(reasonable combination of function blocks)(reasonable combination of function blocks)
Tilo Strutz, University of Rostock 5
Systematisation (2)Systematisation (2)
Data CompressionData Compression
Decorrelation Data ReductionCoding
– reversible– removal of redundancy
– reversible (with restrictions)– concentration of signal energy or signal information
– irreversible– removal of irrelevancy
Adaptation
Tilo Strutz, University of Rostock 6
Data ReductionData Reduction
Sub-sampling Quantisation
Vector Quantisation Scalar Quantisation
- reduction of temporal resolution
Quantisation
- mapping of similar vectors to a common representative vector
- mapping of similar values to a common representative value
- resolution reduction of signal values
Tilo Strutz, University of Rostock 7
QuantisationQuantisation
• goal: removal of irrelevant mattersgoal: removal of irrelevant matters
• partition into two steps:partition into two steps:
– QuantisationQuantisation:: (encoder)(encoder)
– ReconstructionReconstruction::(decoder)(decoder)
x .. signal value, q ... quantisation symbol, yq ... reconstruction value
Tilo Strutz, University of Rostock 8
CodingCoding• reversible, removal of redundancyreversible, removal of redundancy
• information content of one symbol information content of one symbol ssii
• entropy (average information content)entropy (average information content)
– ! ! refers to independent symbolsrefers to independent symbols ! !
– What happens if symbols depend on each other?What happens if symbols depend on each other?
– theoretical limit of minimum bitratetheoretical limit of minimum bitrate
Tilo Strutz, University of Rostock 9
– considers symbols as dependent of each other
– mapping of symbols to symbols of another alphabet or seeking after correlationen
– goal: (H x N)new < (H x N)old
– considers symbols as independent of each other
– mapping of symbols to code words
– goal: convergence of storage expense to signal entropy H
Entropy Coding Precoding
CodingCoding
H ... Entropy of alphabet, N ... Number of symbols to be transmitted
Tilo Strutz, University of Rostock 10
– substitution of symbol srings by a bitstream
– algorithms: common arithmetic coding, binary arithmetic coding, range coder, ...
– substitution of symbols by bit strings
– algorithms: Shannon-Fano, Huffman, Golomb-Rice, ...
Code-word based Arithmetic
Entropy CodingEntropy Coding
• Optimum: transmitted bits per symbol = information content [bit]Optimum: transmitted bits per symbol = information content [bit]
prefix codes
Tilo Strutz, University of Rostock 11
PrecodingPrecoding
Run Length Coding Miscellaneous
Block SortingPhrase Coding
- substitution of strings of arbitrary symbols by symbols of another alphabet (dictionary- based coding)
- increase of correlation between adjacent symbols by sorting
- substitution of strings of identical symbols by symbols of another alphabet
- techniques for provision of supplemental information improving the subsequent processing (e.g. quad-tree coding, bit- mapping, etc.)
- application also multidimensional or hierarchical
Tilo Strutz, University of Rostock 12
DecorrelationDecorrelation
• goal: concentration of signal energy / informationgoal: concentration of signal energy / information
DecorrelationDecorrelation
Prediction
– forecast of signal values
Filterbanks Transformation
– decomposition of signals in (overlapping) frequency domains
– decomposition of signals in basis functions
Tilo Strutz, University of Rostock 15
• common discrete signal transformationcommon discrete signal transformation
• inverse transformationinverse transformation
• matrix notationmatrix notation
TransformationTransformation
Tilo Strutz, University of Rostock 16
Transformation (2)Transformation (2)• matrix for inverse transformation: matrix for inverse transformation: BB
• columns are basis vectorscolumns are basis vectors
B =
Tilo Strutz, University of Rostock 17
Transformation (3)Transformation (3)
• columns are basis vectorscolumns are basis vectors
• signal reconstruction by sum of weighted basis signal reconstruction by sum of weighted basis functionsfunctions
– transform coefficients transform coefficients XX[[kk]] are the weights are the weights
Tilo Strutz, University of Rostock 18
FilterbanksFilterbanks
• Two-Channel FilterbankTwo-Channel Filterbank
low-passlow-pass
high-passhigh-pass
upsamplingupsampling
subband signals/subband signals/
transformation coefficientstransformation coefficients
subsamplingsubsampling
g1[n]2 2
+
2 2 g0[n]h0[n]
h1[n]x[n] x‘[n]
Tilo Strutz, University of Rostock 19
Filterbanks (2)Filterbanks (2)• cascade of 2-channel filterbankscascade of 2-channel filterbanks
• frequency decomposition:frequency decomposition:
Tilo Strutz, University of Rostock 20
Filterbanks (3)Filterbanks (3)• Wavelet Filterbank Wavelet Filterbank Wavelet Transformation Wavelet Transformation
Tilo Strutz, University of Rostock 21
Filterbanks (3)Filterbanks (3)• Wavelet Filterbank Wavelet Filterbank Wavelet Transformation Wavelet Transformation
Tilo Strutz, University of Rostock 22
SystematisationSystematisation
Data CompressionData Compression
Decorrelation Data ReductionCoding
– reversible– removal of redundancy
– reversible (with restrictions)– concentration of signal energy or signal information
– irreversible– removal of irrelevancy
Adaptation
Tilo Strutz, University of Rostock 23
• e.g. chrominances of Yxx-colour space
• feedback at prediction with quantisation
• prediction, transformation, filterbank
• maybe combination of different methods
• prefixcode, arithmetic code
• scalar quantisation or vector quantisation
• It depends on the application, whether function blocks are used or not
Flow ChartFlow Chart
Tilo Strutz, University of Rostock 24
Characteristic PropertiesCharacteristic Properties
• DecorrelationDecorrelation– signal information will be concentrated to few values / signal information will be concentrated to few values /
symbolssymbols
– number of symbols / samples remains the samenumber of symbols / samples remains the same
– is reversible dependent on accuracy of calculationsis reversible dependent on accuracy of calculations
– result of decorrelation is tolerant against quantisation result of decorrelation is tolerant against quantisation (concerning signal reconstruction)(concerning signal reconstruction)
Tilo Strutz, University of Rostock 25
Characteristic Properties (2)Characteristic Properties (2)• Entropy CodingEntropy Coding
– mapping of symbols to a bitstreammapping of symbols to a bitstream
– presumption: symbols are independent on each otherpresumption: symbols are independent on each other
– operation is invertibleoperation is invertible
• PrecodingPrecoding– mapping of one symbol alphabet to anothermapping of one symbol alphabet to another
– uses statistical relations between symbolsuses statistical relations between symbols
– number of symbols / samples can changenumber of symbols / samples can change
– operation is invertibleoperation is invertible
Tilo Strutz, University of Rostock 26
Characteristic Properties (3)Characteristic Properties (3)
• Data ReductionData Reduction– decrease of irrelevancydecrease of irrelevancy
– precondition: relevant and irrelevant precondition: relevant and irrelevant constituents areconstituents are separated separated to the greatest possible extent to the greatest possible extent
– quantisation: number of samples remains the same quantisation: number of samples remains the same
– subsampling: number of samples decreasessubsampling: number of samples decreases
Tilo Strutz, University of Rostock 27
Characteristic Properties (4)Characteristic Properties (4)
• AdaptationAdaptation– fixed signal modelfixed signal model
• updating of model parameterupdating of model parameter
• switching between parameter setsswitching between parameter sets
– different signal modelsdifferent signal models
– context-based context-based finite-state-machine finite-state-machine