Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm
-
Upload
alit-putra-wijaya -
Category
Documents
-
view
89 -
download
17
description
Transcript of Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm
![Page 1: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/1.jpg)
Lab. Sistem KomunikasiTeknik Telekomunikasi, Jurusan Teknik Elektro
Fakultas Teknik Universitas Udayana
Multimedia Data Compression :Lossless Compression Algorithm
TE055405 Jaringan MultimediaDr. I Made Oka Widyantara, ST, MT
![Page 2: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/2.jpg)
Lingkup Materi
Introduki dan Dasar-dasar Teori Informasi Algoritma Pengkodean Lossless◦ Run-Length Coding◦ Variable-Length Coding (VLC)◦ Dictionary-Based Coding◦ Arithmatic Coding
Lossless Image Compression
![Page 3: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/3.jpg)
Introduksi
Adanya kebutuhan untuk konversi data ke bentuk digital◦ Perpustakaan, instansi pemerintahan dll◦ Menyimpan data tanpa kehilangan bentuk data dll
Contoh : Untuk menyandi (encode) 120 juta nomer telpontelpon◦ Masing-masing item membutuhkan 27 bit 227 > 120 juta◦ Kompresi diperlukan untuk menurunkan jumlah bit yang
diperlukan Data berbeda muncul pada frekuensi yang berbeda◦ Menetapkan jumlah bit lebih sedikit untuk data frekuensi
tinggi (lebih sering muncul)◦ VLC : Variable Length Code
Pengkodean tanpa rugu-rugi (Lossless coding)◦ Proses kompresi dan dekompresi tidak menginduksi
kehilangan informasi
![Page 4: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/4.jpg)
Skema Kompresi Data
Definisi : Rasio Kompresi◦ Rasio Kompresi = B0 / B1
B0 = Jumlah bit sebelum kompresi B1 = Jumlah bit setelah kompresi
Rasio kompresi skema codec (encoder/dekoder) harus lebihbesar dari 1◦ Semakin tinggi rasio kompresi berarti, semakin baik skema
kompresi lossless
![Page 5: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/5.jpg)
Dasar-dasar Teori Informasi
Claude E. Shannon, Entropy () dari sumber informasidengan S = {s1, s2,….., sn), dinyatakan dengan :
(*)
pi adalah probabilitas kejadian simbol si pada S
mengindikasikan jumlah informasi yang terkandungdalam si (self information), dikaitkan dengan jumlah bit yangdibutuhkan untuk enkode si
21
21
1log
log
n
ii in
i ii
H S pp
p p
21logip
![Page 6: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/6.jpg)
Dasar-dasar Teori Informasi
Contoh : Jika probabilitas n dalam sebuah paper adalah 1/32,maka :◦ Self Information (I ) =
◦ String karakter nnn membutuhkan 15 bit untuk sebuahcode◦ Ini adalah dasar untuk menurunkan data dala kompresi text
(Bandingkan dengan pengkodean ASCII 8 bit perkarakter)
Entropy ?◦ Ukuran kekacauan sebuah sistem◦ Semakin banyak entropy, lebih banyak terjadi gangguan
2 21 log 32log log ( ) 5log 2( )
p n bitp n
![Page 7: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/7.jpg)
Dasar-dasar Teori Informasi
Contoh◦ Asumsikan bahwa sistem memiliki 4 luaran, dengan
probabilitas masing-masing luran adalah ¼ :
◦ Jika satu state memiliki probablitas ½ , dan 3 state lainnyadengan probabilitas 1/6, maka :
Definisi Entropy : Mengidentifikasi simbol-simbol yang seringmuncul sebagai codewrs pendek.◦ Variable Length Coding (VLC)
2 2 141
1 1 1log 4 log 24n
ii i
p bitp
2 21 12 6
1 1 1 1log 3 log 1.795 22 6 bit bit
![Page 8: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/8.jpg)
Dasar-dasar Teori Informasi
Histogram 2 citra level-Gray
![Page 9: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/9.jpg)
Dasar-dasar Teori Informasi
Entropy dari dua citra tersebut adalah :◦ Entropy citra (a) adalah :
◦ Entropy citra (b) adalah :
Entropy lebih besar jika probabilitas seluruh sample adalahmerata, dan lebih kecil jika variasi probabilitas sample sangattinggi
255
20
1 1log 8 ; 256i ii i
p bit pp
2 21 23 3
1 1 2 1log log 0.923 3
bit
![Page 10: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/10.jpg)
Dasar-dasar Teori Informasi
Entropy : M-filefunction H = entropy(S)% H = entropy(S)% S adalah probabilitas atau jumlah setiap simbol% S harus sebuah vektor dan bukan bilangan negatif
if nargin<1error('entropy: see help.')
end
N=sum(sum(S));if ((N>0) && (min(S(:))>=0))
Snz = nonzeros(S);H = log2(N)-sum(Snz.*log2(Snz))/N;
elseH=0;
end
return
![Page 11: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/11.jpg)
Dasar-dasar Teori Informasi
Persamaan (*) juga menunjukan bahwa entropy () adalahjumlah bobot dari yaitu jumlah rata-rata informasiyang terkandung per simbol dalam sumber S
Entropy menyatakan batas bawah untuk rata-rata jumlah bityang dibutuhkan untuk mengkodekan setiap simbol dalam S,yaitu :
adalah panjang codeword rata-rata (dalam satuan bit)yang dihasilkan oleh enkoder
21logip
l
l
![Page 12: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/12.jpg)
Run-Length Coding
RLC (RUN-LENGTH CODING)◦ Bentuk yang paling sederhana dari kompresi data
Ide Dasar:◦ Jika simbol-simbol dari sumber informasi cendrung
membentuk grup kontinyu, maka lebih efektif untukmengkodekan dalam beberapa simbol atau grup denganpanjang simbol tertentu, dibandingkan mengkodekan satuper satu simbol tersebut.
Contoh : citra bi-level ( 1 bit untuk piksel black dan white).Karena hanya terdapat dua simbol maka simbol-simbol efektifdikodekan dalam group simbol.
![Page 13: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/13.jpg)
Run-Length Coding
![Page 14: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/14.jpg)
Run-Length Coding
• Reduce the number of samples to code• Implementation is simple
![Page 15: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/15.jpg)
Run-Length Coding
Basic idea◦ Entropy indicates the information content in an information
source◦ VLC is one of the best-know entropy
Coding methods◦ Shannon-Fano algorithm◦ Huffman coding◦ Adaptive Huffman coding
![Page 16: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/16.jpg)
Variable-Length Coding
Shannon-Fano Algorithm◦ Dikembangkan oleh Shannon di Bell Labs dan Robert
Fano di MIT◦ Tahap-tahap enkoding dinyatakan dengan cara top-down Urutkan simbol-simbol sesuai dengan jumlah frekuensi
kemunculannya Bagi simbol secara rekursif menjadi dua bagian, masing-
masing dengan jumlah kemunculan yang salingmendekati, sehingga seluruh bagian hanya terdiri atassatu simbol. Penerapan prosedur diatas adalah dengan membangun
pohon biner.
![Page 17: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/17.jpg)
Variable-Length Coding
Contoh : Asumsikan simbol yang dkodekan adalah karakterHELLO, dengan jumlah kemunculan (frekuensi) simbol adalah :
![Page 18: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/18.jpg)
Variable-Length Coding
Entropy :
0.4×1.32+0.2×2.32+0.2×2.32+0.2×2.32=1.92 S-F algorithm untuk “Hello”:
bit rata-rata adalah 10/5 = 2 bit mendekati batas bawahdari 1.92 bit
4
21
1logii i
pp
![Page 19: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/19.jpg)
Variable-Length Coding
Contoh lain
![Page 20: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/20.jpg)
Variable-Length Coding
Huffman Coding First presented by David A. Huffman in 1952 Adopted in applications, Such as fax、JPEG、MPEG Algoritma : Cara bottom-up◦ Inisialisasi : tempatkan seluruh simbol pada daftar yang diatur
selaras dengan jumlah frekuensi kemunculannya.◦ Ulangi sampai daftar hanya menyisakan satu simbol Dari daftar, ambil dua simbol dengan frekuensi terendah,
kemudian bentuk sub-pohon untuk kedua simbol ini sebagaichild node dan buat parent node untuk child node tersebut. Jumlahkan child node pada parent node. Selanjutnya
tempatkan hasil penjumlahan tersebut dalam daftar sehinggaorde dapat dijaga. Hapus child node dari daftar
◦ Tetapkan sebuah codeword dengan mengikuti jalur dimulai dariroot.
![Page 21: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/21.jpg)
Variable-Length Coding
![Page 22: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/22.jpg)
Variable-Length Coding
![Page 23: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/23.jpg)
Variable-Length Coding
Untuk contoh “HELLO” diatas, Pengkodean Huffmanmenghasilkan pengkodean yang sama dengan Shannon-Fano
Contoh lainnya :A:(15), B:(7), C:(6), D:(6) and E:(5)
– Shannon-Fano needs 89bits;– Huffman needs 87 bits
![Page 24: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/24.jpg)
Variable-Length Coding
Sifat-sifat pengkodean Huffman1. Prefix unik: setiap kode Huffman tidak menjadi prefix dari
kode Huffman lainnya untuk mencegah ambigudekoding. Juga diterapkan pada Shannon-Fano Code
2. Optimality: redundansi code minimum Dua simbol dengan frekuensi terkecil memiliki panjang
kode Huffman sama, hanya berbeda di bit terakhir. Simbol-simbol yang terjadi lebih sering memiliki kode
Huffman lebih pendek, dibandingkan dengan simbolyang jarang terjadi. Rata-rata panjang kode untuk sumber informasi S
adalah kurang dari η + 1.
![Page 25: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/25.jpg)
Variable-Length Coding
Extended Huffman Coding◦ Motivasi: Seluruh codeword dalam pengkodean Huffman
memiliki panjang bit integer. Adalah sangat tidak efisien(boros) ketika pi adalah sangat besar , dimana :
◦ Mengapa tidak mengelompokan beberapa simbol danmenetapkan sebuah codeword untuk kelompok tersebut◦ Cara ini disebut dengan Extended Huffman Coding.
Untuk alphabet S = {s1, s2, . . . , sn}, jika terdapat k simboldikelompokan, kemudian diperluas:
◦ Ukuran alphabet baru S(k) adalah nk.
21log mendekati 0ip
21logip
![Page 26: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/26.jpg)
Variable-Length Coding
Jika entropy dari S adalah , telah dibuktikan bahwa rata-ratajumlah bit untuk setiap simbol adalah :
Terdapat perbaikan pada original Huffman coding
Persoalan : Jika k adalah relatif besar (seperti., k ≥ 3), makauntuk aplikasi dimana n >>1, nk merupakan jumlah yangsangat besar dan juga membutuhkan tabel simbol yangsangat besar. Hal ini menyebabkan Extended HuffmanCoding menadi Impraktikal.
![Page 27: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/27.jpg)
Dictionary-Based Coding
Pertama kali diajukan oleh Ziv dan Lempel tahun 1977dan1978.
Terry Welch telah memperbaiki teknik ini di tahun 984 Menggunakan fixed-length codeword◦ Menunjukan nilai yang mungkin dari string panjang
variable (simbol atau karakter) yang umum terjadi secarabersama-sama, seperti kata-kata dalam text
Lempel-Ziv-Welch algorithm (called LZW compression)adalah adaptif, teknik berbasis-kamus (dictionary)◦ Unix compress, GIF files.◦ Enkoder dan dekoder LZW membangun kamus yang sama
secara dinamik selama penerimaan data.
![Page 28: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/28.jpg)
LZW Compression for String
Input dataABABBABCABABBA
Initial simple dictionary only includes the possible values ofthe alphabet
Then, apply the following algorithm
![Page 29: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/29.jpg)
LZW Compression Algorithm
BEGINs = first input character;while not EOF{
c = next input character;if s + c exists in the dictionary
s = s + c;else{output the code for s;add string s + c to the dictionary with a new code;s = c;}
}output the code for s;END
![Page 30: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/30.jpg)
LZW Compression Algorithm
The output codes are:
![Page 31: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/31.jpg)
LZW Compression Algorithm
The output codes are: 1
![Page 32: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/32.jpg)
LZW Compression Algorithm
The output codes are: 1
![Page 33: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/33.jpg)
LZW Compression Algorithm
The output codes are: 1
![Page 34: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/34.jpg)
LZW Compression Algorithm
The output codes are: 1 2
![Page 35: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/35.jpg)
LZW Compression Algorithm
The output codes are: 1 2
![Page 36: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/36.jpg)
LZW Compression Algorithm
![Page 37: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/37.jpg)
LZW Decompression
BEGINs = NIL;while not EOF{
k = next input code;entry = dictionary entry for k;output entry;if (s != NIL)
add s + entry[0] to dictionary with a new code;s = entry;
}END
![Page 38: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/38.jpg)
LZW Decompression
![Page 39: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/39.jpg)
LZW Decompression
![Page 40: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/40.jpg)
LZW Decompression
![Page 41: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/41.jpg)
LZW Decompression
![Page 42: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/42.jpg)
LZW Decompression
![Page 43: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/43.jpg)
LZW Decompression
![Page 44: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/44.jpg)
LZW Decompression
![Page 45: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/45.jpg)
LZW Decompression
![Page 46: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/46.jpg)
LZW Decompression
![Page 47: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/47.jpg)
Arithmetic Coding
Arithmetic coding dilakukan pada seluruh message denganhalf-open interval [a,b) dalam [0,1).
Panjang interval [a,b) sama dengan probabilitas message.Pilih sebuah desimal dalam [a,b) dan transformasikankedalam bentuk biner sebagai output coding
Setiap karakter dapat mempersingkat interval, sehingga lebihbanyak karakter dalam message, interval menjdai lebihpendek
Interval menjadi lebih pendek, maka lebih banyak bit yangdibutuhkan untuk mewakili interval
![Page 48: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/48.jpg)
Arithmetic Coding
![Page 49: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/49.jpg)
Arithmetic Coding
Contoh : encoding pada arithmatic codingEnkode simbol-simbol “CAEE$” dengan distribusi probabiltassimbol seperti tabel dibawah
a. Distribusi probabilitas simbol
![Page 50: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/50.jpg)
Arithmetic Coding
b. Graphical display of shrinking ranges
![Page 51: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/51.jpg)
Arithmetic Coding
![Page 52: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/52.jpg)
Arithmetic Coding
Catatan : Codeword biner terpendek diperoleh jika :1. low dan high adalah pada range terakhir2. Low < high
![Page 53: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/53.jpg)
Arithmetic Coding
Low = 0.33184 ; high = 0.3322 Tetapkan 1 untuk bit pecahan biner pertama◦ Code = 0.1◦ Desimal = value(code) = value(0.1) = 2-1 = 0.5 > high◦ Ganti bit pertama dengan 0 Code = 0.0
◦ Karena value(0.0) = 0 < low, while loop continue Tetapkan 1 untuk bit kedua◦ Code = 0.01◦ Desimal = value(0.01) = 2-2 = 0.25 < high◦ Value(0.01) < low, iterasi berlanjut
……………….. Codeword biner yang dihasilkan : 0.01010101
Desimal = value(0.01010101) = 2-2+2-4+2-6+2-8 = 0.33203125
![Page 54: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/54.jpg)
Arithmetic Coding
Arithmetic Coding Decoder
![Page 55: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/55.jpg)
Arithmetic Coding
Arithmetic coding: decode symbols “CAEE$” Inisial : value = 0.33203125 Range_Low(C)=0.3 0.33203125<0.5 =Range-high(C)◦ Output simbol pertama = C◦ Nilai value baru = [0.33203125-0.3]/0.2 = 0.16015625◦ Output simbol kedua = A
![Page 56: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/56.jpg)
Lossless Image Compression
Differential Coding of Image Lossless JPEG
![Page 57: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/57.jpg)
Differential Coding of Images
Given an original image I (x, y), defining a difference image d(x, y) : Using a simple difference operator
d(x,y)=I(x,y)-I(x-1,y) Discrete 2D Laplacian operator
d(x,y)=4I(x,y)-I(x,y-1)-I(x,y+1)-I(x+1,y)-I(x-1,y) Due to spatial redundancy existed in normal images I, the
difference image d will have a narrower histogram and hencea smaller entropy : VLC -- shorter bit-length for the difference image Compression works better on a difference image
![Page 58: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/58.jpg)
Differential Coding of Images
![Page 59: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/59.jpg)
Lossless JPEG
Lossless JPEG: A special case of the JPEG imagecompression.
• The Predictive method1. Forming a differential prediction: A predictor combines
the values of up to three neighboring pixels as thepredicted value for the current pixel, indicated by ‘X’ inFig. 7.10. The predictor can use any one of the sevenschemes listed in Table 7.6.
2. Encoding: The encoder compares the prediction withthe actual pixel value at the position ‘X’ and encodes thedifference using one of the lossless compressiontechniques we have discussed, e.g., the Huffman codingscheme.
![Page 60: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/60.jpg)
Lossless JPEG
Note: Any of A, B, or C has already been decoded before itis used in the predictor on the decoder side of an encodedecode cycle
Fig. 7.10: Neighboring Pixels for Predictors in Lossless JPEG
![Page 61: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/61.jpg)
Lossless JPEG
![Page 62: Bab 6 - Multimedia Data Compression-Lossless Compression Algorithm](https://reader038.fdocuments.us/reader038/viewer/2022102516/55cf9962550346d0339d15d0/html5/thumbnails/62.jpg)
Lossless JPEG