SlideShare a Scribd company logo
Basics of Compression
• Goals:
• to understand how image/audio/video signals are
compressed to save storage and increase
transmission efficiency
• to understand in detail common formats like GIF,
JPEG and MPEG
What does compression do
• Reduces signal size by taking advantage of
correlation
• Spatial
• Temporal
• Spectral
L in e a r P r e d ic t iv e A u t o R e g r e s s iv e P o ly n o m ia l F it t in g
M o d e l- B a s e d
H u ffm a n
S t a t is t ic a l
A r it h m e t ic L e m p e l- Z iv
U n iv e r s a l
L o s s le s s
S p a t ia l/ T im e - D o m a in
S u b b a n d W a v e le t
F ilt e r - B a s e d
F o u r ie r D C T
T r a n s fo r m - B a s e d
F r e q u e n c y - D o m a in
L o s s y
W a v e fo r m - B a s e d
C o m p r e s s io n M e t h o d s
Compression Issues
• Lossless compression
• Coding Efficiency
• Compression ratio
• Coder Complexity
• Memory needs
• Power needs
• Operations per second
• Coding Delay
Compression Issues
• Additional Issues for Lossy Compression
• Signal quality
• Bit error probability
• Signal/Noise ratio
• Mean opinion score
Compression Method Selection
• Constrained output signal quality? – TV
• Retransmission allowed? – interactive sessions
• Degradation type at decoder acceptable?
• Multiple decoding levels? – browsing and retrieving
• Encoding and decoding in tandem? – video editing
• Single-sample-based or block-based?
• Fixed coding delay, variable efficiency?
• Fixed output data size, variable rate?
• Fixed coding efficiency, variable signal quality? CBR
• Fixed quality, variable efficiency? VBR
Fundamental Ideas
• Run-length encoding
• Average Information Entropy
• For source S generating symbols S1through SN
• Self entropy: I(si) =
• Entropy of source S:
• Average number of bits to encode ≤ H(S) - Shannon
• Differential Encoding
• To improve the probability distribution of symbols
i
i
p
p
log
1
log −=
∑=
i
ii ppSH 2log)(
Huffman Encoding
• Let an alphabet have N symbols S1 … SN
• Let pi be the probability of occurrence of Si
• Order the symbols by their probabilities
p1 ≥ p2 ≥ p3 ≥ … ≥ pN
• Replace symbols SN-1 and SN by a new symbol HN-1
such that it has the probability pN-1+ pN
• Repeat until there is only one symbol
• This generates a binary tree
Huffman Encoding Example
• Symbols picked up as
• K+W
• {K,W}+?
• {K,W,?}+U
• {R,L}
• {K,W,?,U}+E
• {{K,W,?,U,E},{R,L}}
• Codewords are
generated in a tree-
traversal pattern
Symbol Probability Codeword
K 0.05 10101
L 0.2 01
U 0.1 100
W 0.05 10100
E 0.3 11
R 0.2 00
? 0.1 1011
Properties of Huffman Codes
• Fixed-length inputs become variable-length
outputs
• Average codeword length:
• Upper bound of average length: H(S) + pmax
• Code construction complexity: O(N log N)
• Prefix-condition code: no codeword is a prefix for
another
• Makes the code uniquely decodable
∑ iipl
Huffman Decoding
• Look-up table-based decoding
• Create a look-up table
• Let L be the longest codeword
• Let ci be the codeword corresponding to symbol si
• If ci has li bits, make an L-bit address such that the first li bits
are ci and the rest can be any combination of 0s and 1s.
• Make 2^(L-li) such addresses for each symbol
• At each entry, record, (si, li) pairs
• Decoding
• Read L bits in a buffer
• Get symbol sk, that has a length of lk
• Discard lk bits and fill up the L-bit buffer
Constraining Code Length
• The problem: the code length should be at most L bits
• Algorithm
• Let threshold T=2-L
• Partition S into subsets S1 and S2
• S1= {si|pi > T} … t-1 symbols
• S2= {si|pi ≤ T} … N-t+1 symbols
• Create special symbol Q whose frequency q =
• Create code word cq for symbol Q and normal
Huffman code for every other symbol in S1
• For any message string in S1, create regular code word
• For any message string in S2, first emit cq and then a regular
code for the number of symbols in S2
∑=
N
ti
ip
Constraining Code Length
• Another algorithm
• Set threshold t like before
• If for any symbol si, pi ≤ T, set pi = T
• Design the codebook
• If the resulting codebook violates the ordering of code
length according to symbol frequency, reorder the
codes
• How does this differ from the previous algorithm?
• What is its complexity?
Golomb-Rice Compression
• Take a source having symbols occurring with a geometric
probability distribution
• P(n)=(1-p0) pn
0 n≥0, 0<p0<1
• Here is P(n) the probability of run-length of n for any symbol
• Take a positive integer m and determine q, r where
n=mq+r.
• Gm code for n: 0…01 + bin(r)
• Optimal if
• m =
q has log2m bits if
r >sup(log2m)





 +
−
)log(
)1log(
0
0
p
p
Golomb-Rice Compression
• Now if m=2k
• Get q by k-bit right shift and r by last r bits of n
• Example:
• If m=4 and n=22 the code is 00000110
• Decoding G-R code:
• Count the number of 0s before the first 1. This gives q.
Skip the 1. The next k bits gives r
The Lossless JPEG standard
• Try to predict the value of pixel X as
prediction residual r=y-X
• y can be one of 0, a, b, c, a+b-c, a+(b-c)/2,b+
(a-c)/2
• The scan header records the choice of y
• Residual r is computed modulo 216
• The number of bits needed for r is called its
category, the binary value of r is its
magnitude
• The category is Huffman encoded
c b
a X

More Related Content

PPT
Speech encoding techniques
PPT
Speech coding techniques
PPT
Speech technology basics
PPTX
Linear Predictive Coding
PPT
C:\Fakepath\Chapter 2 Part2 B
PPTX
Speech coding techniques
PPT
Getting the most out of H.264
PPTX
Wireless digital communication and coding techniques new
Speech encoding techniques
Speech coding techniques
Speech technology basics
Linear Predictive Coding
C:\Fakepath\Chapter 2 Part2 B
Speech coding techniques
Getting the most out of H.264
Wireless digital communication and coding techniques new

What's hot (13)

PPTX
Speech coding standards2
PDF
Speech Analysis and synthesis using Vocoder
PPTX
Linear Predictive Coding
PPT
Basics of Coding Theory
PPTX
Speech coding std
PPT
Iain Richardson: An Introduction to Video Compression
PPT
Speech compression-using-gsm
PDF
Thesis_Presentation
PPTX
LPC for Speech Recognition
PPTX
lpc and horn noise detection
DOCX
Linear predictive coding documentation
PDF
Video Compression Standards - History & Introduction
PPT
Introduction to H.264 Advanced Video Compression
Speech coding standards2
Speech Analysis and synthesis using Vocoder
Linear Predictive Coding
Basics of Coding Theory
Speech coding std
Iain Richardson: An Introduction to Video Compression
Speech compression-using-gsm
Thesis_Presentation
LPC for Speech Recognition
lpc and horn noise detection
Linear predictive coding documentation
Video Compression Standards - History & Introduction
Introduction to H.264 Advanced Video Compression
Ad

Similar to Mmclass2 (20)

PPT
add9.5.ppt
PDF
SPEECH CODING
PPTX
Pulse_Code_Modulation_Basics_With_Diagrams.pptx
PPTX
One time pad Encryption:
PPTX
Lecture 2- Practical AD and DA Conveters (Online Learning).pptx
PPTX
penggunaan coding dan kompresi dalam komputer
PPTX
Pulse_Code_Modulation_Basics presentation
PDF
Multimedia Services: Audio
PPTX
IANSunit 1_cryptography_2.pptxv xvxvxvxv
PPT
Source coding
PPT
Compression techniques
PPT
Proposal
PPTX
Lecture 1.pptx
PPT
Turbo Codes
PPTX
Digital communication PCM_Presentation.pptx
PDF
Digital Signal Processor evolution over the last 30 years
PPT
CryptographyCryptographyCryptography.ppt
PPTX
MPEG.ppt x
PPT
encryptcryptographyyyyyyyyyyyyyyyyyy.ppt
PPTX
Block ciphers &amp; public key cryptography
add9.5.ppt
SPEECH CODING
Pulse_Code_Modulation_Basics_With_Diagrams.pptx
One time pad Encryption:
Lecture 2- Practical AD and DA Conveters (Online Learning).pptx
penggunaan coding dan kompresi dalam komputer
Pulse_Code_Modulation_Basics presentation
Multimedia Services: Audio
IANSunit 1_cryptography_2.pptxv xvxvxvxv
Source coding
Compression techniques
Proposal
Lecture 1.pptx
Turbo Codes
Digital communication PCM_Presentation.pptx
Digital Signal Processor evolution over the last 30 years
CryptographyCryptographyCryptography.ppt
MPEG.ppt x
encryptcryptographyyyyyyyyyyyyyyyyyy.ppt
Block ciphers &amp; public key cryptography
Ad

More from Hassan Dar (12)

PPT
Mmclass9
PPT
Mmclass6
PPT
Mmclass5b
PPT
Mmclass5
PPT
Mmclass4
PPT
Mmclass3
PPT
Mmclass1
PPT
Lecture1
PPT
Chapter 1
PPT
PPT
Msd ch2 issues in multimedia
PPT
Mmclass10
Mmclass9
Mmclass6
Mmclass5b
Mmclass5
Mmclass4
Mmclass3
Mmclass1
Lecture1
Chapter 1
Msd ch2 issues in multimedia
Mmclass10

Recently uploaded (20)

PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
web development for engineering and engineering
PPTX
Construction Project Organization Group 2.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Sustainable Sites - Green Building Construction
PPT
Project quality management in manufacturing
PPT
Mechanical Engineering MATERIALS Selection
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Lesson 3_Tessellation.pptx finite Mathematics
Operating System & Kernel Study Guide-1 - converted.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Lecture Notes Electrical Wiring System Components
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Model Code of Practice - Construction Work - 21102022 .pdf
CH1 Production IntroductoryConcepts.pptx
web development for engineering and engineering
Construction Project Organization Group 2.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Sustainable Sites - Green Building Construction
Project quality management in manufacturing
Mechanical Engineering MATERIALS Selection
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Embodied AI: Ushering in the Next Era of Intelligent Systems

Mmclass2

  • 1. Basics of Compression • Goals: • to understand how image/audio/video signals are compressed to save storage and increase transmission efficiency • to understand in detail common formats like GIF, JPEG and MPEG
  • 2. What does compression do • Reduces signal size by taking advantage of correlation • Spatial • Temporal • Spectral L in e a r P r e d ic t iv e A u t o R e g r e s s iv e P o ly n o m ia l F it t in g M o d e l- B a s e d H u ffm a n S t a t is t ic a l A r it h m e t ic L e m p e l- Z iv U n iv e r s a l L o s s le s s S p a t ia l/ T im e - D o m a in S u b b a n d W a v e le t F ilt e r - B a s e d F o u r ie r D C T T r a n s fo r m - B a s e d F r e q u e n c y - D o m a in L o s s y W a v e fo r m - B a s e d C o m p r e s s io n M e t h o d s
  • 3. Compression Issues • Lossless compression • Coding Efficiency • Compression ratio • Coder Complexity • Memory needs • Power needs • Operations per second • Coding Delay
  • 4. Compression Issues • Additional Issues for Lossy Compression • Signal quality • Bit error probability • Signal/Noise ratio • Mean opinion score
  • 5. Compression Method Selection • Constrained output signal quality? – TV • Retransmission allowed? – interactive sessions • Degradation type at decoder acceptable? • Multiple decoding levels? – browsing and retrieving • Encoding and decoding in tandem? – video editing • Single-sample-based or block-based? • Fixed coding delay, variable efficiency? • Fixed output data size, variable rate? • Fixed coding efficiency, variable signal quality? CBR • Fixed quality, variable efficiency? VBR
  • 6. Fundamental Ideas • Run-length encoding • Average Information Entropy • For source S generating symbols S1through SN • Self entropy: I(si) = • Entropy of source S: • Average number of bits to encode ≤ H(S) - Shannon • Differential Encoding • To improve the probability distribution of symbols i i p p log 1 log −= ∑= i ii ppSH 2log)(
  • 7. Huffman Encoding • Let an alphabet have N symbols S1 … SN • Let pi be the probability of occurrence of Si • Order the symbols by their probabilities p1 ≥ p2 ≥ p3 ≥ … ≥ pN • Replace symbols SN-1 and SN by a new symbol HN-1 such that it has the probability pN-1+ pN • Repeat until there is only one symbol • This generates a binary tree
  • 8. Huffman Encoding Example • Symbols picked up as • K+W • {K,W}+? • {K,W,?}+U • {R,L} • {K,W,?,U}+E • {{K,W,?,U,E},{R,L}} • Codewords are generated in a tree- traversal pattern Symbol Probability Codeword K 0.05 10101 L 0.2 01 U 0.1 100 W 0.05 10100 E 0.3 11 R 0.2 00 ? 0.1 1011
  • 9. Properties of Huffman Codes • Fixed-length inputs become variable-length outputs • Average codeword length: • Upper bound of average length: H(S) + pmax • Code construction complexity: O(N log N) • Prefix-condition code: no codeword is a prefix for another • Makes the code uniquely decodable ∑ iipl
  • 10. Huffman Decoding • Look-up table-based decoding • Create a look-up table • Let L be the longest codeword • Let ci be the codeword corresponding to symbol si • If ci has li bits, make an L-bit address such that the first li bits are ci and the rest can be any combination of 0s and 1s. • Make 2^(L-li) such addresses for each symbol • At each entry, record, (si, li) pairs • Decoding • Read L bits in a buffer • Get symbol sk, that has a length of lk • Discard lk bits and fill up the L-bit buffer
  • 11. Constraining Code Length • The problem: the code length should be at most L bits • Algorithm • Let threshold T=2-L • Partition S into subsets S1 and S2 • S1= {si|pi > T} … t-1 symbols • S2= {si|pi ≤ T} … N-t+1 symbols • Create special symbol Q whose frequency q = • Create code word cq for symbol Q and normal Huffman code for every other symbol in S1 • For any message string in S1, create regular code word • For any message string in S2, first emit cq and then a regular code for the number of symbols in S2 ∑= N ti ip
  • 12. Constraining Code Length • Another algorithm • Set threshold t like before • If for any symbol si, pi ≤ T, set pi = T • Design the codebook • If the resulting codebook violates the ordering of code length according to symbol frequency, reorder the codes • How does this differ from the previous algorithm? • What is its complexity?
  • 13. Golomb-Rice Compression • Take a source having symbols occurring with a geometric probability distribution • P(n)=(1-p0) pn 0 n≥0, 0<p0<1 • Here is P(n) the probability of run-length of n for any symbol • Take a positive integer m and determine q, r where n=mq+r. • Gm code for n: 0…01 + bin(r) • Optimal if • m = q has log2m bits if r >sup(log2m)       + − )log( )1log( 0 0 p p
  • 14. Golomb-Rice Compression • Now if m=2k • Get q by k-bit right shift and r by last r bits of n • Example: • If m=4 and n=22 the code is 00000110 • Decoding G-R code: • Count the number of 0s before the first 1. This gives q. Skip the 1. The next k bits gives r
  • 15. The Lossless JPEG standard • Try to predict the value of pixel X as prediction residual r=y-X • y can be one of 0, a, b, c, a+b-c, a+(b-c)/2,b+ (a-c)/2 • The scan header records the choice of y • Residual r is computed modulo 216 • The number of bits needed for r is called its category, the binary value of r is its magnitude • The category is Huffman encoded c b a X