SlideShare a Scribd company logo
1 of 56
Download to read offline
Overview
     Analog
   capturing                                                PCM encoded or “raw” signal
               Sampling         Fine Quantization
      device                                                         (“wav”, “bmp”, …)
   (camera,
microphone)                    A/D CONVERTER

                                                                            Compressed
                                                                               bit stream
                                                                            (mp3, jpg, …)
                 Transform         Quantizer          VLC encoding

                                  COMPRESSION/SOURCE CODING



                                                                       Channel bit stream
                             Encipher           Error protect.

                                          CHANNEL CODING

                                                                                      -1-
Reduce the #Amplitudes




          24 bit (16777200 different colors)
                                          -2-
Reduce the #Amplitudes




            8 bit (256 different colors) CF 3
                                           -3-
Reduce the #Amplitudes




            6 bit (64 different colors) CF 4
                                          -4-
Reduce the #Amplitudes




            4 bit (16 different colors) CF 6
                                          -5-
Reduce the #Amplitudes




            1 bit (2 different colors) CF 24
                                          -6-
Reduce the #Amplitudes




         8 bit (256 different gray values) CF 3
                                             -7-
Reduce the #Amplitudes




          4 bit (16 different gray values) CF 6
                                             -8-
Reduce the #Amplitudes




          3 bit (8 different gray values) CF 8
                                            -9-
Reduce the #Amplitudes




          2 bit (4 different gray values) CF 12
                                            -10-
But there are More Cleaver Ways




                          JPEG CF 15
                                  -11-
Why can Signals be Compressed?
Because infinite accuracy of signal amplitudes is
(perceptually) irrelevant




          24 bit (16777200 different colors)       8 bit (256 different colors)
                                                   Compression factor 3



     Rate-distortion theory, scalar/vector quantization

                                                                       -12-
Why can Signals be Compressed?
Because signal amplitudes are statistically redundant




      Information theory, Huffman coding


                                                        -13-
Why can Signals be Compressed?
Because signal amplitudes are mutually dependent
   250


   200


   150                                                                                      “S”
   100


    50
         0     500      1000   1500      2000    2500   3000          3500   4000    4500



   200




   150                                                                                      “O”

   100
         0           1000         2000          3000           4000           5000




             Rate-distortion theory, transform coding
                                                                                                  -14-
Why can Signals be Compressed?
Example of signal with no dependencies between
successive amplitudes (Gaussian uncorrelated noise)




       Indeed “noise” compresses badly
                                                      -15-
System Overview
Analog
capturing                                                  PCM encoded or “raw” signal
              Sampling         Fine Quantization
device                                                     (“wav”, “bmp”, …)
(camera,
microphone)                   A/D CONVERTER

                                                                           Compressed
                                                                           bit stream
                                                                           (mp3, jpg, …)
                Transform         Quantizer          VLC encoding

                                 COMPRESSION/SOURCE CODING



                                                                      Channel bit stream
                            Encipher           Error protect.

                                         CHANNEL CODING

                                                                                    -16-
Quantization
  Even Uniform       Odd Uniform                      Q(x)
                                     p(x)




Even Non-uniform   Odd Non-uniform
                                            Quantizer level more probable




                                                                    -17-
Information and Entropy


                    More Probable
                   Less information




                                  -18-
Huffman Code



y4   0.51                                                   0.51 (0) 0
y3   0.20                                          0.29 (0) 0.49 (1) 11
y2   0.14                                 0.15 (0) 0.20 (1)          101
y5   0.08                        0.08 (0) 0.14 (1)                   1000
y6   0.04               0.04 (0) 0.07 (1)                            10010
y1   0.02      0.02 (0) 0.03 (1)                                     100110
y7   0.005 (0) 0.01 (1)                                              1001110
y0   0.005 (1)                                                       1001111




                                                                          -19-
Run Length Coding
Representing “0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 ...”
“Runs” : 8 (“zeros”) 2 (“ones”) 6 (“zeros”) 5 (“ones”) ……
The run lengths are also encoded (e.g. with Huffman coding)
Efficient transforms (like DCT) used in compression produce
   A lot of “zero” values
   And a “few” (significant) non-zero values
Typical symbol sequences to be coded “5 1 0 0 0 0 0 0 0 3 0
0 6 0 0 0 0 1 0 0 0 0 …..”
   will be done by {zero-run, non-zero symbol/0} pairs
   Here: “{0,5},{0,1},{7,3},{2,6},{4,1},…..”
   The pairs will now be assigned a Huffman code
   This is used in JPEG


                                                                   -20-
General Compression System
Analog
capturing                                                  PCM encoded or “raw” signal
              Sampling         Fine Quantization
device                                                     (“wav”, “bmp”, …)
(camera,
microphone)                   A/D CONVERTER

                                                                           Compressed
                                                                           bit stream
                                                                           (mp3, jpg, …)
                Transform         Quantizer          VLC encoding

                                 COMPRESSION/SOURCE CODING



                                                                      Channel bit stream
                            Encipher           Error protect.

                                         CHANNEL CODING

                                                                                    -21-
Correlation in Signals - I
Meaningful signals are often highly predictable:
                                                                                       Δx(n)=x(n)-x(n-1)
                                                                           100
  4 250


   200


   150                                                                      0


   100


    50                                                                     100
         0   500   1000   1500   2000   2500   3000   3500   4000   4500         500   1000   1500   2000   2500   3000   3500   4000   4500




(Linear) Predictability has something to do with the
autocorrelation function


                                                                                                                                  n
                                                                                                                                        -22-
Principle of Differential PCM


x(n)            Δx(n)                  Δx*(n)                      001010010
            -                  Q                  VLC

       ˆ
       x ( n)

                                                 Previous
                        Predict x(n)
                                          signal values (“past”)

                                            x(n-1), x(n-2), x(n-3), ….


                                                                          -23-
Works Really Good - I




                  Variance = 3240   -24-
Works Really Good - II




                  Variance = 315   -25-
DPCM
Signal to be encoded    Prediction difference/error




     Predicted signal   Reconstructed signal




                                                      -26-
What Linear Predictor to Use?
Examples:
  PCM                        x( n ) = 0
                             $

  Simple differences         x ( n ) = ~ ( n − 1)
                             $         x

  Average last two samples   x( n ) = h1 ~ ( n − 1) + h2 ~ ( n − 2)
                             $           x               x
                                      N
                             x( n) = ∑ hk ~( n − k )
  General linear predictor   $            x
                                      k =1




                                                                      -27-
DPCM on Images

Same principle as 1-D
Definition of “Past”
and “Future” in Images:

Predictions:
  horizontal (scan line)
  vertical (column)
  2-dimensional



                                -28-
General Compression System
Analog
capturing                                                  PCM encoded or “raw” signal
              Sampling         Fine Quantization
device                                                     (“wav”, “bmp”, …)
(camera,
microphone)                   A/D CONVERTER

                                                                           Compressed
                                                                           bit stream
                                                                           (mp3, jpg, …)
                Transform         Quantizer          VLC encoding

                                 COMPRESSION/SOURCE CODING



                                                                      Channel bit stream
                            Encipher           Error protect.

                                         CHANNEL CODING

                                                                                    -29-
Transform Coding
                                      channel
x(n)          x   T           θ                 θ$       T-1       $
                                                                   x               $
                                                                                   x(n)
              Decorrelating                          Correlating        Inverse
  Vectorize
               Transform          Q       Q-1        Transform         Vectorize




                              Which transform used?




                                                                                          -30-
Removing Correlation - I
  100


    50


         0


    50


  100
             0     200        400         600       800        1000

                                          40
                                         x2
⎛ x1 ⎞
⎜ ⎟
⎝ x2 ⎠
                                          20




                                                          x1
                         40         20          0   20     40




                                          20




                                                                      -31-
                                          40
Removing Correlation - II
  100


    50


         0


    50


  100
             0     200        400         600       800               1000

                                          40
                                         x2                 θ1
⎛ x1 ⎞                                                    σ22
                                                                             Rotate the
⎜ ⎟                                                                          coordinates
⎝ x2 ⎠
                                          20



                                                    σ12          x1
                         40         20          0   20            40




                                                           θ2
                                          20




                                                                                       -32-
                                          40
Removing Correlation - III
 50




      0




 50
          0   100   200        300   400        500            600   700        800         900



                                                      40
                                                 x2                         θ1
⎛ x1 ⎞
⎜ ⎟                                                   20
⎝ x2 ⎠
                                                                                      x1
                          40               20              0          20               40




                                                                           θ2
                                                      20




                                                                                                  -33-
                                                      40
Decomposition
                                                       N
    ⎛θ1 ⎞ ⎛ t11 L t1,N ⎞⎛ x1 ⎞
    ⎜ ⎟ ⎜ ,            ⎟⎜ ⎟
                                              θk =    ∑t
                                                      n =1
                                                              k ,n    xn                      k = 1, 2 , K , N
θ = ⎜ M ⎟ = ⎜ M O M ⎟⎜ M ⎟ = Tx                        N
    ⎜ ⎟ ⎜
                       ⎠
                        ⎜ ⎟
    ⎝θN⎠ ⎝tN,1 L tN,N⎟⎝ xN⎠                    xn =   ∑θ
                                                      k =1
                                                               k     t n ,k                   n = 1, 2 , K , N
                           N
                     x =   ∑θ
                           k =1
                                  k   t k = θ1 t 1 + θ 2 t 2 + L + θ N t N

                t1                        0.707
                                          0.25
                                          -0.125              x
                                          0.0
                                          0.0




                                                                                                                       -0.702
                                                             3.165
                                                                      1.718
                                                                              2.266
                                                                                      4.516

                                                                                               1.020
                                                                                                       0.638
                                                                                                               3.377
                                          0.063
                                          -0.2
  (Example)     t8                       -0.025       θ                                                                         -34-
Discrete Cosine Transform
N=8
      t1
                            0.354 0.49   0.462 0.416 0.354 0.278 0.191 0.098
      t2
                            0.354 0.416 0.191 0.098 0.354 0.49   0.462 0.278
                            0.354 0.278 0.191 0.49   0.354 0.098 0.462 0.416
      t3
                            0.354 0.098 0.462 0.278 0.354 0.416 0.191 0.49
                      T =
                       t
                            0.354 0.098 0.462 0.278 0.354 0.416 0.191 0.49
      t4
                            0.354 0.278 0.191 0.49   0.354 0.098 0.462 0.416
      t5                    0.354 0.416 0.191 0.098 0.354 0.49   0.462 0.278
                            0.354 0.49   0.462 0.416 0.354 0.278 0.191 0.098
      t6
                             (All picture compression standards
      t7                    implement this matrix in a clever way)

      t8
                                                                       -35-
Image Transforms - I


   6 0             1 1         1 -1         1 1           1 -1
         =   4            1           -1            2
   4 6             1 1         1 -1         -1 -1         -1 1

x m,n              t11         t12          t21           t22
             θ11         θ12          θ21           θ22




                                                                 -36-
Basis Images for 2-D DCT




                           -37-
Discrete Cosine Transform (DCT) (1)


              8 rows



                         8 pixels




                                    -38-
Discrete Cosine Transform (DCT) (2)




    64 pixels




                Cosine patterns/DCT basis functions
                                                      -39-
Discrete Cosine Transform (DCT) (3)
                89   8   8    1   0   -1   1   0

                2    3   0    0   0   0    0   0

                0    1   0    1   0   0    0   0
                0    0   0    1   0   0    0   0

                2    0   0    1   0   1    0   0
    64 pixels   0    0   -1   1   0   0    0   0

                0    0   0    1   0   0    0   0
                0    0   0    0   0   0    0   0
                Cosine patterns/DCT basis functions
                                                      -40-
Discrete Cosine Transform (DCT) (4)
                                 !




                                     -41-
2-D DCT of Picture - I




                         -42-
2-D DCT of Image - II

                         Low
                         freq uencies

A DCT coefficients is
a weight of particular
DCT basis function.




                                        High
                                        fre quencies   -43-
“Grouped” DCT Coefficients




                             -44-
JPEG Compression System




                          -45-
DCT Weight Matrix and Quantization
   Quantization:
                                  ⎛ θk ,l ⎞
        θ$k ,l = Q[θk ,l ] = round⎜ '
                                  ⎜Q N ⎟      ⎟
                                  ⎝      k ,l ⎠


   Recommended JPEG normalization matrix
                 ⎡ 16   11   10   16   24 40 51     61 ⎤
                 ⎢ 12   12   14   19   26 58 60     55 ⎥
                 ⎢                                     ⎥
                 ⎢ 14   13   16   24   40 57 69     56 ⎥
                 ⎢                                     ⎥
      N k ,l   = ⎢ 14   17   22   29   51 87 80     62 ⎥
                 ⎢ 18   22   37   56   68 109 103   77 ⎥
                 ⎢                                     ⎥
                 ⎢ 24   35   55   64   81 104 113   92 ⎥
                 ⎢ 49   64   78   87   103 121 120 101⎥
                 ⎢                                     ⎥
                 ⎢ 72
                 ⎣      92   95   98   112 100 103 99 ⎥⎦
                                                           -46-
User Controllable Quality
User has control over a “quality parameter” that
runs from 100 (“perfect”) to 0 (“extremely poor”)

                              Q'
   Parameter used to scale
   the normalization matrix



                              6

                              5
                              4

                              3

                              2
                              1

                              0                                   Q
                                  0 10 20 30 40 50 60 70 80 90 100

                                                    Increasing quality
                                                                         -47-
Entropy coding




                       Runlength coding
Huffman coded           then huffman or
                       arithmetic coding
                                           -48-
Example
                             ⎡139   144     149    153       155    155   155   155⎤
                             ⎢                                                      ⎥
                             ⎢144   151     153    156       159    156   156   156 ⎥
                             ⎢                                                      ⎥
                             ⎢150   155     160    163       158    156   156   156 ⎥
                             ⎢                                                      ⎥
                             ⎢159   161     162    160       160    159   159   159 ⎥
              f          =   ⎢                                                      ⎥
                  k, l       ⎢159   160     161    162       162    155   155   155 ⎥
                             ⎢                                                      ⎥
                             ⎢161   161     161    161       160    157   157   157 ⎥
                             ⎢                                                      ⎥
                             ⎢
                             ⎢162   162     161    163       162    157   157   157 ⎥
                                                                                    ⎥
                             ⎢
                             ⎣162   162     161 161 163 158 158 158 ⎥
                                                                    ⎦
                                                                                        DCT transform is
                                                                                        exactly defined in
average * 8               ⎡1260      −1      − 12    −5        2     −2    3     1 ⎤
                          ⎢                                                        ⎥    JPEG standard
                          ⎢ − 23     − 17     −6     −3        −3     0    0    − 1⎥
                          ⎢                                                        ⎥
                          ⎢ − 11     −9       −2         2     0     −1    −1    0⎥
                          ⎢                                                        ⎥
                          ⎢ −7       −2       0          1     1      0    0     0⎥
              θ          =⎢
                          ⎢ −1
                                                                                   ⎥
                  k, l
                          ⎢
                                     −1       1          2     0     −1    1    1⎥ ⎥
                          ⎢ 2         0       2          0     −1     1    1    − 1⎥
                          ⎢                                                        ⎥
                          ⎢
                          ⎢ −1        0       0      −1        0      2    1    − 1⎥
                                                                                   ⎥
                          ⎢
                          ⎣ −3        2       −4     −2        2      1    −1    0⎥⎦
                                                                                                    -49-
Example
                        ⎡ 79   0    −1   0   0   0   0   0⎤
                        ⎢                                 ⎥
                        ⎢− 2   −1   0    0   0   0   0   0⎥
                        ⎢                                 ⎥
                        ⎢−1    −1   0    0   0   0   0   0⎥
                        ⎢                                 ⎥
                        ⎢ 0    0    0    0   0   0   0   0⎥
             θ$     =   ⎢                                 ⎥
              k,l       ⎢ 0    0    0    0   0   0   0   0⎥   Quantization
                        ⎢                                 ⎥
                        ⎢ 0                                   using Q’ = 1
                        ⎢      0    0    0   0   0   0   0⎥
                                                          ⎥
                        ⎢
                        ⎢ 0    0    0    0   0   0   0   0⎥
                                                          ⎥
                        ⎢
                        ⎣ 0    0    0    0   0   0   0   0⎥
                                                          ⎦


DC: Difference with quantized DC coefficient of previous
block is Huffman encoded
AC: Zig-zag scan coefficients, and convert to (zero run-
length, amplitude) combinations:
   (79)    0 -2 -1       -1   -1 0 0 -1 EOB
          {1,-2}{0,-1}{0,-1}{0,-1} {2,-1} EOB

                                                                         -50-
VLC Coding of AC Coefficients
The (zero run-length, amplitudes) are put into categories
             Category     AC Coefficient Range
                1                   -1,1
                2                 -3,-2,2,3
                3             -7,...,-4,4,...,7
                4           -15,...,-8,8,...,15
                5          -31,...,-16,16,...,31
                6          -63,...,-32,32,...,63
                7         -127,...,-64,64,...,127
                8        -255,...,-128,128,...,255
                9        -511,...,-256,256,...,511
                10      -1023,...,-512,512,...,1023

The (zero run-length, categories) are Huffman encoded
The sign and offset into a category are FLC encoded
(required #bits = category number)
                                                            -51-
JPEG AC Huffman Table
    Z ero R u n   C a teg o ry   C o d e len g th   C o d ewo rd
         0              1                2          00
         0              2                2          01
         0              3                3          100
         0              4                4          1011
         0              5                5          11010
         0              6                6          111000
         0              7                7          1111000
          .             .                 .         .
          .             .                 .
         1              1                4          1100
         1              2                6          111001
         1              3                7          1111001
         1              4                9          111110110
          .             .                 .         .
          .             .                 .         .
         2              1                5          11011
         2              2                8          11111000
          .             .                 .         .
          .             .                 .         .
         3              1                6          111010
         3              2                9          111110111
          .             .                 .         .
          .             .                 .         .
         4              1                6          111011
         5              1                7          1111010
         6              1                7          1111011
         7              1                8          11111001
         8              1                8          11111010
         9              1                9          111111000
         10             1                9          111111001
         11             1                9          111111010
          .             .                 .         .
          .             .                 .         .
       EOB                               4          1010




                                                                   -52-
Example - III
The series {1,-2}{0,-1}{0,-1}{0,-1} {2,-1} EOB
now becomes

    111001 01/00 0/00 0/00 0/11011 0/1010

Bit rate for AC coefficients in this DCT block 27
bits/64 pixels = 0.42 bit/pixel




                                                    -53-
Ordering of Coefficient




                          -54-
Sequential Encoding




                      -55-
Acknowledgement
Prof. Inald Lagendijk, Delft University of
Technology
Also try the software VcDemo
  http://ict.ewi.tudelft.nl/index.php?Itemid=124




                                                   -56-

More Related Content

What's hot (20)

Chapter 03 cyclic codes
Chapter 03   cyclic codesChapter 03   cyclic codes
Chapter 03 cyclic codes
 
LZ77 and LZ78 Compression Algorithms
LZ77 and LZ78 Compression AlgorithmsLZ77 and LZ78 Compression Algorithms
LZ77 and LZ78 Compression Algorithms
 
JPEG Image Compression
JPEG Image CompressionJPEG Image Compression
JPEG Image Compression
 
Lz77 (sliding window)
Lz77 (sliding window)Lz77 (sliding window)
Lz77 (sliding window)
 
floating point multiplier
floating point multiplierfloating point multiplier
floating point multiplier
 
Turbocode
TurbocodeTurbocode
Turbocode
 
Interpixel redundancy
Interpixel redundancyInterpixel redundancy
Interpixel redundancy
 
Fundamentals and image compression models
Fundamentals and image compression modelsFundamentals and image compression models
Fundamentals and image compression models
 
Linear Block Codes
Linear Block CodesLinear Block Codes
Linear Block Codes
 
Data compression
Data compressionData compression
Data compression
 
Compression
CompressionCompression
Compression
 
Unit I.fundamental of Programmable DSP
Unit I.fundamental of Programmable DSPUnit I.fundamental of Programmable DSP
Unit I.fundamental of Programmable DSP
 
Gaussian noise
Gaussian noiseGaussian noise
Gaussian noise
 
Manchester & Differential Manchester encoding scheme
Manchester & Differential Manchester encoding schemeManchester & Differential Manchester encoding scheme
Manchester & Differential Manchester encoding scheme
 
VTU 4TH SEM CSE COMPUTER ORGANIZATION SOLVED PAPERS OF JUNE-2013 JUNE-2014 & ...
VTU 4TH SEM CSE COMPUTER ORGANIZATION SOLVED PAPERS OF JUNE-2013 JUNE-2014 & ...VTU 4TH SEM CSE COMPUTER ORGANIZATION SOLVED PAPERS OF JUNE-2013 JUNE-2014 & ...
VTU 4TH SEM CSE COMPUTER ORGANIZATION SOLVED PAPERS OF JUNE-2013 JUNE-2014 & ...
 
Encoder and decoder
Encoder and decoderEncoder and decoder
Encoder and decoder
 
Data compression
Data compressionData compression
Data compression
 
Reed solomon code
Reed solomon codeReed solomon code
Reed solomon code
 
Unipolar Encoding Techniques: NRZ & RZ
Unipolar Encoding Techniques: NRZ & RZUnipolar Encoding Techniques: NRZ & RZ
Unipolar Encoding Techniques: NRZ & RZ
 
DES
DESDES
DES
 

Viewers also liked

Compression: Images (JPEG)
Compression: Images (JPEG)Compression: Images (JPEG)
Compression: Images (JPEG)danishrafiq
 
비디오 코덱
비디오 코덱비디오 코덱
비디오 코덱greenday96
 
Overview of JPEG standardization committee activities
Overview of JPEG standardization committee activitiesOverview of JPEG standardization committee activities
Overview of JPEG standardization committee activitiesTouradj Ebrahimi
 
Efficient data compression of ecg signal using discrete wavelet transform
Efficient data compression of ecg signal using discrete wavelet transformEfficient data compression of ecg signal using discrete wavelet transform
Efficient data compression of ecg signal using discrete wavelet transformeSAT Journals
 
An Optimized Transform for ECG Signal Compression
An Optimized Transform for ECG Signal CompressionAn Optimized Transform for ECG Signal Compression
An Optimized Transform for ECG Signal CompressionIDES Editor
 
Sampling and Reconstruction of Signal using Aliasing
Sampling and Reconstruction of Signal using AliasingSampling and Reconstruction of Signal using Aliasing
Sampling and Reconstruction of Signal using Aliasingj naga sai
 
Audio and video compression
Audio and video compressionAudio and video compression
Audio and video compressionneeraj9217
 
Global positioning system(GPS)
Global positioning system(GPS)Global positioning system(GPS)
Global positioning system(GPS)shifa
 
The Global Positioning System (GPS)
The Global Positioning System (GPS) The Global Positioning System (GPS)
The Global Positioning System (GPS) Lotfy Helal
 
Lossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image ProcessingLossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image Processingpriyadharshini murugan
 
Introduction to compressive sensing
Introduction to compressive sensingIntroduction to compressive sensing
Introduction to compressive sensingAhmed Nasser Agag
 
050 sampling theory
050 sampling theory050 sampling theory
050 sampling theoryRaj Teotia
 

Viewers also liked (20)

Jpeg dct
Jpeg dctJpeg dct
Jpeg dct
 
Compression: Images (JPEG)
Compression: Images (JPEG)Compression: Images (JPEG)
Compression: Images (JPEG)
 
Jpeg
JpegJpeg
Jpeg
 
비디오 코덱
비디오 코덱비디오 코덱
비디오 코덱
 
Jpeg compression
Jpeg compressionJpeg compression
Jpeg compression
 
JPEG Image Compression
JPEG Image CompressionJPEG Image Compression
JPEG Image Compression
 
Overview of JPEG standardization committee activities
Overview of JPEG standardization committee activitiesOverview of JPEG standardization committee activities
Overview of JPEG standardization committee activities
 
Efficient data compression of ecg signal using discrete wavelet transform
Efficient data compression of ecg signal using discrete wavelet transformEfficient data compression of ecg signal using discrete wavelet transform
Efficient data compression of ecg signal using discrete wavelet transform
 
An Optimized Transform for ECG Signal Compression
An Optimized Transform for ECG Signal CompressionAn Optimized Transform for ECG Signal Compression
An Optimized Transform for ECG Signal Compression
 
JPEG emerging standards
JPEG emerging standardsJPEG emerging standards
JPEG emerging standards
 
Audio compression
Audio compressionAudio compression
Audio compression
 
Sampling and Reconstruction of Signal using Aliasing
Sampling and Reconstruction of Signal using AliasingSampling and Reconstruction of Signal using Aliasing
Sampling and Reconstruction of Signal using Aliasing
 
Audio and video compression
Audio and video compressionAudio and video compression
Audio and video compression
 
Global positioning system(GPS)
Global positioning system(GPS)Global positioning system(GPS)
Global positioning system(GPS)
 
Audio compression
Audio compressionAudio compression
Audio compression
 
The Global Positioning System (GPS)
The Global Positioning System (GPS) The Global Positioning System (GPS)
The Global Positioning System (GPS)
 
Lossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image ProcessingLossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image Processing
 
Introduction to compressive sensing
Introduction to compressive sensingIntroduction to compressive sensing
Introduction to compressive sensing
 
050 sampling theory
050 sampling theory050 sampling theory
050 sampling theory
 
DTH Technology
DTH TechnologyDTH Technology
DTH Technology
 

Similar to Signal Compression and JPEG

Digital communications 1
Digital communications 1Digital communications 1
Digital communications 1Jojie Cepeda
 
Fpga implementation of soft decision low power convolutional decoder using vi...
Fpga implementation of soft decision low power convolutional decoder using vi...Fpga implementation of soft decision low power convolutional decoder using vi...
Fpga implementation of soft decision low power convolutional decoder using vi...ecejntuk
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression BasicsSanjiv Malik
 
Lect2 up340 (100501)
Lect2 up340 (100501)Lect2 up340 (100501)
Lect2 up340 (100501)aicdesign
 
Telecommunications: Motion Video
Telecommunications: Motion VideoTelecommunications: Motion Video
Telecommunications: Motion VideoNapier University
 
Ffmpeg
FfmpegFfmpeg
Ffmpegduquoi
 
Compression presentation 415 (1)
Compression presentation 415 (1)Compression presentation 415 (1)
Compression presentation 415 (1)Godo Dodo
 
Sound Devices 788T
Sound Devices 788TSound Devices 788T
Sound Devices 788TAV ProfShop
 
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2Dr. Mohieddin Moradi
 
Avlm 2009 Compression Erik Luyten
Avlm 2009  Compression   Erik LuytenAvlm 2009  Compression   Erik Luyten
Avlm 2009 Compression Erik Luytenavlm2009avnet
 
Digital communications
Digital communicationsDigital communications
Digital communicationsAllanki Rao
 
Data compretion
Data compretionData compretion
Data compretionSajan Sahu
 
CyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfCyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfMohammadAzreeYahaya
 

Similar to Signal Compression and JPEG (20)

Encoder
EncoderEncoder
Encoder
 
Digital communications 1
Digital communications 1Digital communications 1
Digital communications 1
 
Fpga implementation of soft decision low power convolutional decoder using vi...
Fpga implementation of soft decision low power convolutional decoder using vi...Fpga implementation of soft decision low power convolutional decoder using vi...
Fpga implementation of soft decision low power convolutional decoder using vi...
 
Cdma by svr
Cdma by svrCdma by svr
Cdma by svr
 
30 CHL PCM PDH SDH BY SKG
30 CHL PCM PDH SDH BY SKG30 CHL PCM PDH SDH BY SKG
30 CHL PCM PDH SDH BY SKG
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression Basics
 
Lect2 up340 (100501)
Lect2 up340 (100501)Lect2 up340 (100501)
Lect2 up340 (100501)
 
Telecommunications: Motion Video
Telecommunications: Motion VideoTelecommunications: Motion Video
Telecommunications: Motion Video
 
Barcelona keynote web
Barcelona keynote webBarcelona keynote web
Barcelona keynote web
 
Ffmpeg
FfmpegFfmpeg
Ffmpeg
 
Compression presentation 415 (1)
Compression presentation 415 (1)Compression presentation 415 (1)
Compression presentation 415 (1)
 
Assignment 3
Assignment 3Assignment 3
Assignment 3
 
Sound Devices 788T
Sound Devices 788TSound Devices 788T
Sound Devices 788T
 
Kramer 788T
Kramer 788TKramer 788T
Kramer 788T
 
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 2
 
Avlm 2009 Compression Erik Luyten
Avlm 2009  Compression   Erik LuytenAvlm 2009  Compression   Erik Luyten
Avlm 2009 Compression Erik Luyten
 
Digital communications
Digital communicationsDigital communications
Digital communications
 
Data compretion
Data compretionData compretion
Data compretion
 
CyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfCyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdf
 
quantization_PCM
quantization_PCMquantization_PCM
quantization_PCM
 

More from guest9006ab

Proportional-Derivative-Integral (PID) Control
Proportional-Derivative-Integral (PID) ControlProportional-Derivative-Integral (PID) Control
Proportional-Derivative-Integral (PID) Controlguest9006ab
 
A Brief History of Cryptography
A Brief History of CryptographyA Brief History of Cryptography
A Brief History of Cryptographyguest9006ab
 
Eigenvalues in a Nutshell
Eigenvalues in a NutshellEigenvalues in a Nutshell
Eigenvalues in a Nutshellguest9006ab
 
SMART Goals and Feedback (Project Management)
SMART Goals and Feedback (Project Management)SMART Goals and Feedback (Project Management)
SMART Goals and Feedback (Project Management)guest9006ab
 
C Code and the Art of Obfuscation
C Code and the Art of ObfuscationC Code and the Art of Obfuscation
C Code and the Art of Obfuscationguest9006ab
 
Top Super-models of Computer Graphics
Top Super-models of Computer GraphicsTop Super-models of Computer Graphics
Top Super-models of Computer Graphicsguest9006ab
 
Human Nature and its Consequences
Human Nature and its ConsequencesHuman Nature and its Consequences
Human Nature and its Consequencesguest9006ab
 
Slipping the Surly Bonds
Slipping the Surly BondsSlipping the Surly Bonds
Slipping the Surly Bondsguest9006ab
 
Communication with Extraterrestrial Intelligence
Communication with Extraterrestrial IntelligenceCommunication with Extraterrestrial Intelligence
Communication with Extraterrestrial Intelligenceguest9006ab
 
Canada vs. Germany: Une réflection
Canada vs. Germany: Une réflectionCanada vs. Germany: Une réflection
Canada vs. Germany: Une réflectionguest9006ab
 
Brain-Computer Interfaces
Brain-Computer InterfacesBrain-Computer Interfaces
Brain-Computer Interfacesguest9006ab
 
The ABC's of the Bible
The ABC's of the BibleThe ABC's of the Bible
The ABC's of the Bibleguest9006ab
 

More from guest9006ab (14)

Proportional-Derivative-Integral (PID) Control
Proportional-Derivative-Integral (PID) ControlProportional-Derivative-Integral (PID) Control
Proportional-Derivative-Integral (PID) Control
 
A Brief History of Cryptography
A Brief History of CryptographyA Brief History of Cryptography
A Brief History of Cryptography
 
Eigenvalues in a Nutshell
Eigenvalues in a NutshellEigenvalues in a Nutshell
Eigenvalues in a Nutshell
 
SMART Goals and Feedback (Project Management)
SMART Goals and Feedback (Project Management)SMART Goals and Feedback (Project Management)
SMART Goals and Feedback (Project Management)
 
C Code and the Art of Obfuscation
C Code and the Art of ObfuscationC Code and the Art of Obfuscation
C Code and the Art of Obfuscation
 
OS Mélange
OS MélangeOS Mélange
OS Mélange
 
Top Super-models of Computer Graphics
Top Super-models of Computer GraphicsTop Super-models of Computer Graphics
Top Super-models of Computer Graphics
 
Human Nature and its Consequences
Human Nature and its ConsequencesHuman Nature and its Consequences
Human Nature and its Consequences
 
Slipping the Surly Bonds
Slipping the Surly BondsSlipping the Surly Bonds
Slipping the Surly Bonds
 
Communication with Extraterrestrial Intelligence
Communication with Extraterrestrial IntelligenceCommunication with Extraterrestrial Intelligence
Communication with Extraterrestrial Intelligence
 
Canada vs. Germany: Une réflection
Canada vs. Germany: Une réflectionCanada vs. Germany: Une réflection
Canada vs. Germany: Une réflection
 
Clouds
CloudsClouds
Clouds
 
Brain-Computer Interfaces
Brain-Computer InterfacesBrain-Computer Interfaces
Brain-Computer Interfaces
 
The ABC's of the Bible
The ABC's of the BibleThe ABC's of the Bible
The ABC's of the Bible
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Signal Compression and JPEG

  • 1. Overview Analog capturing PCM encoded or “raw” signal Sampling Fine Quantization device (“wav”, “bmp”, …) (camera, microphone) A/D CONVERTER Compressed bit stream (mp3, jpg, …) Transform Quantizer VLC encoding COMPRESSION/SOURCE CODING Channel bit stream Encipher Error protect. CHANNEL CODING -1-
  • 2. Reduce the #Amplitudes 24 bit (16777200 different colors) -2-
  • 3. Reduce the #Amplitudes 8 bit (256 different colors) CF 3 -3-
  • 4. Reduce the #Amplitudes 6 bit (64 different colors) CF 4 -4-
  • 5. Reduce the #Amplitudes 4 bit (16 different colors) CF 6 -5-
  • 6. Reduce the #Amplitudes 1 bit (2 different colors) CF 24 -6-
  • 7. Reduce the #Amplitudes 8 bit (256 different gray values) CF 3 -7-
  • 8. Reduce the #Amplitudes 4 bit (16 different gray values) CF 6 -8-
  • 9. Reduce the #Amplitudes 3 bit (8 different gray values) CF 8 -9-
  • 10. Reduce the #Amplitudes 2 bit (4 different gray values) CF 12 -10-
  • 11. But there are More Cleaver Ways JPEG CF 15 -11-
  • 12. Why can Signals be Compressed? Because infinite accuracy of signal amplitudes is (perceptually) irrelevant 24 bit (16777200 different colors) 8 bit (256 different colors) Compression factor 3 Rate-distortion theory, scalar/vector quantization -12-
  • 13. Why can Signals be Compressed? Because signal amplitudes are statistically redundant Information theory, Huffman coding -13-
  • 14. Why can Signals be Compressed? Because signal amplitudes are mutually dependent 250 200 150 “S” 100 50 0 500 1000 1500 2000 2500 3000 3500 4000 4500 200 150 “O” 100 0 1000 2000 3000 4000 5000 Rate-distortion theory, transform coding -14-
  • 15. Why can Signals be Compressed? Example of signal with no dependencies between successive amplitudes (Gaussian uncorrelated noise) Indeed “noise” compresses badly -15-
  • 16. System Overview Analog capturing PCM encoded or “raw” signal Sampling Fine Quantization device (“wav”, “bmp”, …) (camera, microphone) A/D CONVERTER Compressed bit stream (mp3, jpg, …) Transform Quantizer VLC encoding COMPRESSION/SOURCE CODING Channel bit stream Encipher Error protect. CHANNEL CODING -16-
  • 17. Quantization Even Uniform Odd Uniform Q(x) p(x) Even Non-uniform Odd Non-uniform Quantizer level more probable -17-
  • 18. Information and Entropy More Probable Less information -18-
  • 19. Huffman Code y4 0.51 0.51 (0) 0 y3 0.20 0.29 (0) 0.49 (1) 11 y2 0.14 0.15 (0) 0.20 (1) 101 y5 0.08 0.08 (0) 0.14 (1) 1000 y6 0.04 0.04 (0) 0.07 (1) 10010 y1 0.02 0.02 (0) 0.03 (1) 100110 y7 0.005 (0) 0.01 (1) 1001110 y0 0.005 (1) 1001111 -19-
  • 20. Run Length Coding Representing “0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 ...” “Runs” : 8 (“zeros”) 2 (“ones”) 6 (“zeros”) 5 (“ones”) …… The run lengths are also encoded (e.g. with Huffman coding) Efficient transforms (like DCT) used in compression produce A lot of “zero” values And a “few” (significant) non-zero values Typical symbol sequences to be coded “5 1 0 0 0 0 0 0 0 3 0 0 6 0 0 0 0 1 0 0 0 0 …..” will be done by {zero-run, non-zero symbol/0} pairs Here: “{0,5},{0,1},{7,3},{2,6},{4,1},…..” The pairs will now be assigned a Huffman code This is used in JPEG -20-
  • 21. General Compression System Analog capturing PCM encoded or “raw” signal Sampling Fine Quantization device (“wav”, “bmp”, …) (camera, microphone) A/D CONVERTER Compressed bit stream (mp3, jpg, …) Transform Quantizer VLC encoding COMPRESSION/SOURCE CODING Channel bit stream Encipher Error protect. CHANNEL CODING -21-
  • 22. Correlation in Signals - I Meaningful signals are often highly predictable: Δx(n)=x(n)-x(n-1) 100 4 250 200 150 0 100 50 100 0 500 1000 1500 2000 2500 3000 3500 4000 4500 500 1000 1500 2000 2500 3000 3500 4000 4500 (Linear) Predictability has something to do with the autocorrelation function n -22-
  • 23. Principle of Differential PCM x(n) Δx(n) Δx*(n) 001010010 - Q VLC ˆ x ( n) Previous Predict x(n) signal values (“past”) x(n-1), x(n-2), x(n-3), …. -23-
  • 24. Works Really Good - I Variance = 3240 -24-
  • 25. Works Really Good - II Variance = 315 -25-
  • 26. DPCM Signal to be encoded Prediction difference/error Predicted signal Reconstructed signal -26-
  • 27. What Linear Predictor to Use? Examples: PCM x( n ) = 0 $ Simple differences x ( n ) = ~ ( n − 1) $ x Average last two samples x( n ) = h1 ~ ( n − 1) + h2 ~ ( n − 2) $ x x N x( n) = ∑ hk ~( n − k ) General linear predictor $ x k =1 -27-
  • 28. DPCM on Images Same principle as 1-D Definition of “Past” and “Future” in Images: Predictions: horizontal (scan line) vertical (column) 2-dimensional -28-
  • 29. General Compression System Analog capturing PCM encoded or “raw” signal Sampling Fine Quantization device (“wav”, “bmp”, …) (camera, microphone) A/D CONVERTER Compressed bit stream (mp3, jpg, …) Transform Quantizer VLC encoding COMPRESSION/SOURCE CODING Channel bit stream Encipher Error protect. CHANNEL CODING -29-
  • 30. Transform Coding channel x(n) x T θ θ$ T-1 $ x $ x(n) Decorrelating Correlating Inverse Vectorize Transform Q Q-1 Transform Vectorize Which transform used? -30-
  • 31. Removing Correlation - I 100 50 0 50 100 0 200 400 600 800 1000 40 x2 ⎛ x1 ⎞ ⎜ ⎟ ⎝ x2 ⎠ 20 x1 40 20 0 20 40 20 -31- 40
  • 32. Removing Correlation - II 100 50 0 50 100 0 200 400 600 800 1000 40 x2 θ1 ⎛ x1 ⎞ σ22 Rotate the ⎜ ⎟ coordinates ⎝ x2 ⎠ 20 σ12 x1 40 20 0 20 40 θ2 20 -32- 40
  • 33. Removing Correlation - III 50 0 50 0 100 200 300 400 500 600 700 800 900 40 x2 θ1 ⎛ x1 ⎞ ⎜ ⎟ 20 ⎝ x2 ⎠ x1 40 20 0 20 40 θ2 20 -33- 40
  • 34. Decomposition N ⎛θ1 ⎞ ⎛ t11 L t1,N ⎞⎛ x1 ⎞ ⎜ ⎟ ⎜ , ⎟⎜ ⎟ θk = ∑t n =1 k ,n xn k = 1, 2 , K , N θ = ⎜ M ⎟ = ⎜ M O M ⎟⎜ M ⎟ = Tx N ⎜ ⎟ ⎜ ⎠ ⎜ ⎟ ⎝θN⎠ ⎝tN,1 L tN,N⎟⎝ xN⎠ xn = ∑θ k =1 k t n ,k n = 1, 2 , K , N N x = ∑θ k =1 k t k = θ1 t 1 + θ 2 t 2 + L + θ N t N t1 0.707 0.25 -0.125 x 0.0 0.0 -0.702 3.165 1.718 2.266 4.516 1.020 0.638 3.377 0.063 -0.2 (Example) t8 -0.025 θ -34-
  • 35. Discrete Cosine Transform N=8 t1 0.354 0.49 0.462 0.416 0.354 0.278 0.191 0.098 t2 0.354 0.416 0.191 0.098 0.354 0.49 0.462 0.278 0.354 0.278 0.191 0.49 0.354 0.098 0.462 0.416 t3 0.354 0.098 0.462 0.278 0.354 0.416 0.191 0.49 T = t 0.354 0.098 0.462 0.278 0.354 0.416 0.191 0.49 t4 0.354 0.278 0.191 0.49 0.354 0.098 0.462 0.416 t5 0.354 0.416 0.191 0.098 0.354 0.49 0.462 0.278 0.354 0.49 0.462 0.416 0.354 0.278 0.191 0.098 t6 (All picture compression standards t7 implement this matrix in a clever way) t8 -35-
  • 36. Image Transforms - I 6 0 1 1 1 -1 1 1 1 -1 = 4 1 -1 2 4 6 1 1 1 -1 -1 -1 -1 1 x m,n t11 t12 t21 t22 θ11 θ12 θ21 θ22 -36-
  • 37. Basis Images for 2-D DCT -37-
  • 38. Discrete Cosine Transform (DCT) (1) 8 rows 8 pixels -38-
  • 39. Discrete Cosine Transform (DCT) (2) 64 pixels Cosine patterns/DCT basis functions -39-
  • 40. Discrete Cosine Transform (DCT) (3) 89 8 8 1 0 -1 1 0 2 3 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 2 0 0 1 0 1 0 0 64 pixels 0 0 -1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Cosine patterns/DCT basis functions -40-
  • 41. Discrete Cosine Transform (DCT) (4) ! -41-
  • 42. 2-D DCT of Picture - I -42-
  • 43. 2-D DCT of Image - II Low freq uencies A DCT coefficients is a weight of particular DCT basis function. High fre quencies -43-
  • 46. DCT Weight Matrix and Quantization Quantization: ⎛ θk ,l ⎞ θ$k ,l = Q[θk ,l ] = round⎜ ' ⎜Q N ⎟ ⎟ ⎝ k ,l ⎠ Recommended JPEG normalization matrix ⎡ 16 11 10 16 24 40 51 61 ⎤ ⎢ 12 12 14 19 26 58 60 55 ⎥ ⎢ ⎥ ⎢ 14 13 16 24 40 57 69 56 ⎥ ⎢ ⎥ N k ,l = ⎢ 14 17 22 29 51 87 80 62 ⎥ ⎢ 18 22 37 56 68 109 103 77 ⎥ ⎢ ⎥ ⎢ 24 35 55 64 81 104 113 92 ⎥ ⎢ 49 64 78 87 103 121 120 101⎥ ⎢ ⎥ ⎢ 72 ⎣ 92 95 98 112 100 103 99 ⎥⎦ -46-
  • 47. User Controllable Quality User has control over a “quality parameter” that runs from 100 (“perfect”) to 0 (“extremely poor”) Q' Parameter used to scale the normalization matrix 6 5 4 3 2 1 0 Q 0 10 20 30 40 50 60 70 80 90 100 Increasing quality -47-
  • 48. Entropy coding Runlength coding Huffman coded then huffman or arithmetic coding -48-
  • 49. Example ⎡139 144 149 153 155 155 155 155⎤ ⎢ ⎥ ⎢144 151 153 156 159 156 156 156 ⎥ ⎢ ⎥ ⎢150 155 160 163 158 156 156 156 ⎥ ⎢ ⎥ ⎢159 161 162 160 160 159 159 159 ⎥ f = ⎢ ⎥ k, l ⎢159 160 161 162 162 155 155 155 ⎥ ⎢ ⎥ ⎢161 161 161 161 160 157 157 157 ⎥ ⎢ ⎥ ⎢ ⎢162 162 161 163 162 157 157 157 ⎥ ⎥ ⎢ ⎣162 162 161 161 163 158 158 158 ⎥ ⎦ DCT transform is exactly defined in average * 8 ⎡1260 −1 − 12 −5 2 −2 3 1 ⎤ ⎢ ⎥ JPEG standard ⎢ − 23 − 17 −6 −3 −3 0 0 − 1⎥ ⎢ ⎥ ⎢ − 11 −9 −2 2 0 −1 −1 0⎥ ⎢ ⎥ ⎢ −7 −2 0 1 1 0 0 0⎥ θ =⎢ ⎢ −1 ⎥ k, l ⎢ −1 1 2 0 −1 1 1⎥ ⎥ ⎢ 2 0 2 0 −1 1 1 − 1⎥ ⎢ ⎥ ⎢ ⎢ −1 0 0 −1 0 2 1 − 1⎥ ⎥ ⎢ ⎣ −3 2 −4 −2 2 1 −1 0⎥⎦ -49-
  • 50. Example ⎡ 79 0 −1 0 0 0 0 0⎤ ⎢ ⎥ ⎢− 2 −1 0 0 0 0 0 0⎥ ⎢ ⎥ ⎢−1 −1 0 0 0 0 0 0⎥ ⎢ ⎥ ⎢ 0 0 0 0 0 0 0 0⎥ θ$ = ⎢ ⎥ k,l ⎢ 0 0 0 0 0 0 0 0⎥ Quantization ⎢ ⎥ ⎢ 0 using Q’ = 1 ⎢ 0 0 0 0 0 0 0⎥ ⎥ ⎢ ⎢ 0 0 0 0 0 0 0 0⎥ ⎥ ⎢ ⎣ 0 0 0 0 0 0 0 0⎥ ⎦ DC: Difference with quantized DC coefficient of previous block is Huffman encoded AC: Zig-zag scan coefficients, and convert to (zero run- length, amplitude) combinations: (79) 0 -2 -1 -1 -1 0 0 -1 EOB {1,-2}{0,-1}{0,-1}{0,-1} {2,-1} EOB -50-
  • 51. VLC Coding of AC Coefficients The (zero run-length, amplitudes) are put into categories Category AC Coefficient Range 1 -1,1 2 -3,-2,2,3 3 -7,...,-4,4,...,7 4 -15,...,-8,8,...,15 5 -31,...,-16,16,...,31 6 -63,...,-32,32,...,63 7 -127,...,-64,64,...,127 8 -255,...,-128,128,...,255 9 -511,...,-256,256,...,511 10 -1023,...,-512,512,...,1023 The (zero run-length, categories) are Huffman encoded The sign and offset into a category are FLC encoded (required #bits = category number) -51-
  • 52. JPEG AC Huffman Table Z ero R u n C a teg o ry C o d e len g th C o d ewo rd 0 1 2 00 0 2 2 01 0 3 3 100 0 4 4 1011 0 5 5 11010 0 6 6 111000 0 7 7 1111000 . . . . . . . 1 1 4 1100 1 2 6 111001 1 3 7 1111001 1 4 9 111110110 . . . . . . . . 2 1 5 11011 2 2 8 11111000 . . . . . . . . 3 1 6 111010 3 2 9 111110111 . . . . . . . . 4 1 6 111011 5 1 7 1111010 6 1 7 1111011 7 1 8 11111001 8 1 8 11111010 9 1 9 111111000 10 1 9 111111001 11 1 9 111111010 . . . . . . . . EOB 4 1010 -52-
  • 53. Example - III The series {1,-2}{0,-1}{0,-1}{0,-1} {2,-1} EOB now becomes 111001 01/00 0/00 0/00 0/11011 0/1010 Bit rate for AC coefficients in this DCT block 27 bits/64 pixels = 0.42 bit/pixel -53-
  • 56. Acknowledgement Prof. Inald Lagendijk, Delft University of Technology Also try the software VcDemo http://ict.ewi.tudelft.nl/index.php?Itemid=124 -56-