Title: Predictive Coding: Differential Pulse Code Modulation (DPCM)
1Predictive CodingDifferential Pulse Code
Modulation (DPCM)
- hend_at_telecom.ee.itb.ac.id
2Image Coding
- Apa yg membuat kompresi memungkinkan?
3Redundancy
- Inherent dlm sifat alamiah statistik sumber,
berhubungan dg similarities, correlation dan
predictability dari data - Dihilangkan pd coder dan disisipkan kembali
(re-inserted) pd decoder - Mempunyai sifat reversible atau lossless
4Contoh Informasi Redundant
- Korelasi dari pixel-pixel tetangga
- Korelasi pixel-pixel dari frame-frame berturutan
5Relevancy
- Irelevancy redundancy subjektif, karakteristik
data yg dp dihilangkan tanpa keluhan dari
pengamat manusia - Disebut Approximate Coding, mempunyai sifat
irreversible atau lossy - Kriteria fidelitas/kualitas diperlukan utk
evaluasi performansi - Standar kompresi video termasuk prosedur
penilaian (assessment) kualitas
6Contoh Informasi Irrelevant
- Laju sampling terlalu tinggi (batas terendah
blurring dan aliasing) - Terlalu banyak gray levels (batas terendah
contouring effect pd 5-6 bits) - Terlalu banyak frames/detik
- Batas bawah Flicker 50-60 Fields/Sec
- Motion Breakup 10 Frames/Sec
- Motion Aliasing dp ditoleransi
- Titik terisolasi dlm dokumen hitam/putih
- Titik-titik bukan bagian dari dokumen utama
(noise) - Chromance channel over sampling
7Algoritma Kompresi yg Mengeksploitir Redundancy
- Kelas algorithm yg memanfaatkan statistik data
utk memberikan koding optimum (diagram di bawah
dibatasi hanya yg relevan)
8Histogram Dua Pixel Berdekatan Secara Horizontal
9Difference Image Statistics
- Perhatikan histogram dari difference image
10Histogram Statistics
- Histogram dari difference signal mempunyai puncak
pada origin (0) yg dp dieksploitir dg Huffman
coder - Jika kita lihat histogram gambar tipikal, secara
kasar mempunyai distribusi gaussian - Difference Histogram secara kasar mempunyai
distribusi Laplacian
11Predictive Coding
- Dua jenis predictive coders banyak dijumpai dlm
literature - Differential Pulse Code Modulation (DPCM)
- Delta Modulation (DM)
- Predictive Coders adalah coder lossless dan lossy
yg paling sederhana - Persyaratan hardware minimal dan telah dibangun
dg menggunakan teknologi lama
12Predictive Coding
- Ide dasar Predictive coding mengeksploitir
korelasi spatial antara pixel berdekatan
(informasi yg dikodekan sebelumnya) utk membuat
prediksi aproksimasi dari sampel yg akan
dikodekan - Perbedaan sinyal hasil dari pengurangan harga
aktual pixel dg harga prediksi dikuantisasi kedlm
satu set L level amplituda diskrit (lossy mode) - Level-level ini dp dikodekan dg Huffman coding
13Predictive Coder
- Predictive encoder lossy terdiri dari komponen
wajib dan satu komponen optional - Predictor linear predictors, adaptive predictors
- Quantizer uniform, non-uniform, adaptive
quantizer - Entropy encoder (optional) Huffman coder,
arithmetic coder, dll
14Differential Coder
- Perhatikan coder di bawah
- Coder sederhana menggunakan perbedaan gray level
pixel-pixel berdekatan
15Differential Coder
16Feed Forward Differential Coder
17Feedback Differential Coder
- Problem feed forward Propagasi error kuantisasi
- Solusi Feedback error kuantisasi
18Reduksi Redundancy dg Prediction pd Lossless
Coding
- Principle
- xn adalah sampel saat ini dari sinyal original
- µp adalah prediksi utk xn dikalkulasi dari
sampel sebelumnya - en adalah prediction error, yg secara
signifikan mengurangi statistical dependencies
antar sampel berdekatan - Penerima dp merekonstruksi xn tanpa loss
19Histogram
20Prinsip DPCM
21Distorsi Sinyal pd Intraframe DPCM CODING
- Granular noise
- Edge busyness
- Slope overload
22Distorsi Sinyal pd Intraframe DPCM CODING
- Contoh DPCM output utk transisi input 0-63 dg
quantizer spt terlihat
23Contoh Intraframe DPCM Coding
24DPCM Coding
- Predictor membuat prediksi menggunakan
pixel-pixel yg ditransmisikan sebelumnya utk
frame saat ini (Intraframe Prediction) - Predictor dp menggunakan pixel-pixel dari
field-field (frame) sebelumnya (Interframe
Prediction) - Interframe Prediction memerlukan frame
- storage
- Predictor yg menggunakan pixel-pixel dari garis
scan yg sama disebut predictor 1-D - Predictor yg menggunakan pixel-pixel dari garis
scan sebelumnya disebut predictor 2-D
25DPCM Coding
26DPCM
- Harga predictor ?n dari sampel xn adalah fungsi
linear dari N sampel sebelumnya - Dimana ?i adalah predictor coefficient atau bobot
- Jumlah N (jumlah sampel sebelumnya) menunjukan
orde dari predictor - Prediction error en xn - ?n,
- kemudian dikuantisasi sbg
- en Q(en)
- Dan ditransmisikan, rekonstruksi di penerima
- xn ?n en
27Disain Predictor
- Utk disain predictor perlu mencari koefisien
predictor yg optimal - Utk linear prediction dlm bentuk
- Masalahnya adalah meminimumkan
- E(xn - ?n)2 ?2
28Disain Predictor
- Meminimumkan E(xn - ?n)2 ?2
29Disain Predictor
- Solusi
- Set persamaan utk solusi ?1, ?2, ?3, .., ?N
- Dlm bentuk yg lebih eksplisit
- Rxx(1) ?1Rxx(0)?2Rxx(1)?3Rxx(2)
?NRxx(N-1) - Rxx(2) ?1Rxx(1)?2Rxx(0)?3Rxx(1)
?NRxx(N-2) - Rxx(3) ?1Rxx(2)?2Rxx(1)?3Rxx(0)
?NRxx(N-3) - Rxx(N) ?1Rxx(N-1)?2Rxx(N-2)?3Rxx(N-3)
?NRxx(0) - Dimana Rxx(k) adalah fungsi autocorrelation dan
Rxx(k) Rxx(-k) - Rxx(k) Exnxnk
30Prediction Gain
- Prediction Gain
- dimana M jumlah sampel
31Disain Predictor Contoh
- Jumlah sampel M 31
- Data 5 6 5 6 5 7 4 8 3 9 2 10 1 9 2 8 6 6 6
10 1 10 1 6 1 6 1 3 5 - 7 9
- Gunakan predictor N 1, 2 dan 3. Bandingkan
prediction gain! - Untuk N 1
- Rxx(1) ?1Rxx(0)
- Rxx(0) (1/31)(5.122.222.321.424.527.622.7
22.823.923.102) - 1168/31 37,68
- Rxx(1) (1/30)(5.66.55.66.55.77.44.88.33
.99.22.1010.11.99.22.88.62.(6.6)6.1010.1
1.1010.12.(1.66.1)1.33.55.77.9) - 707/30 23,57
32Disain Predictor Contoh
- ?1 Rxx(1)/Rxx(0) 23,57/37,68 0,6255
- Jadi predictor
- ?n 0,6225 xn-1
- Prediction gain 1,67
- Untuk second order predictor, N 2
- Rxx(1) ?1Rxx(0) ?2Rxx(1)
- Rxx(2) ?1Rxx(1) ?2Rxx(0)
- Hitung Rxx(2) (1/29).1000 34,48
- Selesaikan persamaan utk ?1 dan ?2didapat
- ?1 0,0871 dan ?2 0,8607
- Jadi predictor
- ?n 0,0871xn-1 0,8607xn-2
- Prediction gain 7,84
33Disain Predictor Contoh
- Untuk third order predictor, N 3
- 0,8607xn-2
34Linear Predictor
- Korelasi antara pixel tetangga (berdekatan)
- Korelasi antar pixel berkurang sejalan dg
bertambah jarak
35Predictor Error Probability Density
- Pdf atau histogram dari prediction error
36Linear Predictor
37Linear Predictor Lainnya
- Prediksi 2-D
- Masalah
- Interlace pd kebanyakan sistem mengurangi
korelasi line-to-line
38Frame Difference Predictor
- Utk citra dg sedikit detail dan pergerakan kecil,
frame difference prediction terbaik - Pd citra dg banyak detail dan pergerakan,
intrafield prediction lebih baik drpd frame
prediction
39Potential Predictors
40Performansi Predictor
- Contoh citra Split Screen
41Performansi Predictor
42Predictor LainnyaJPEG-LS Nonlinear Predictor
- Standard ISO/IEC 14495-1 dan ITU-T T.87 1999
- Jangan tertukar dg original JPEG lossless mode
- Predictive coding dg nonlinear predictor S3 S4 S2
43Interframe Coding Sinyal Video
- Interframe coding mengexploitir
- Kesamaan (similarity) dari gambar-gambar
berturutan secara temporal - Sifat temporal dari human vision
- Metoda-metoda utama interframe coding
- Adaptive intra-interframe coding
- Conditional replenishment
- Motion-compensated prediction
- Motion-compensated interpolation
44Prinsip Adaptive Intra-Interframe DPCM
- Predictor di-switch diantara dua kondisi
A Intraframe prediction utk area bergerak atau
berubah
B Interframe prediction (prediksi dari frame
sebelumnya) utk area diam dari gambar
45Intra-Interframe DPCM Feedback Adaptation
46Intra-Interframe DPCM Feed Forward Adaptation
47Conditional Replenishment
- Area diam ulangi dari frame store
- Area bergerak encode dan transmit address dan
waveform
48TUGAS
- Buat disain predictor untuk suatu sistem DPCM,
untuk jumlah sampel M 30, dengan set sampel
data 4 6 6 5 7 4 5 3 8 9 2 11 1 9 4 8 8 8 6 10
3 12 2 7 2 7 1 5 4 7. Gunakan predictor N 1,
2 dan 3. Cari prediction dan bandingkan
prediction gain untuk masing-masing harga N (1, 2
dan 3)!