Entropy Encoding
Bersifat loseless
Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik tertentu namun berdasarkan urutan data.
Statistical encoding, tidak memperhatikan semantik data.
Mis: Run-length coding, Huffman coding, Arithmetic coding
Source Coding
Bersifat lossy
Berkaitan dengan data semantik (arti data) dan media.
Mis: Prediction (DPCM, DM), Transformation (FFT, DCT), Layered Coding (Bit position, subsampling, sub-band coding), Vector quantization
Hybrid Coding
Gabungan antara lossy + loseless
mis: JPEG, MPEG, H.261, DVI
Secara umum kompresi data terdiri dari dua kegiatan besar, yaitu Modeling dan Coding. Proses dasar dari kompresi data adalah menentukan serangkaian bagian dari data (stream of symbols) mengubahnya menjadi kode (stream of codes). Jika proses kompresi efektif maka hasil dari stream of codes akan lebih kecil dari segi ukuran daripada stream of symbols. Keputusan untuk mengindentikan symbols tertentu dengan codes tertentu adalah inti dari proses modeling. Secara umum dapat diartikan bahwa sebuah model adalah kumpulan data dan aturan yang menentukan pasangan antara symbol sebagai input dan code sebagai output dari proses kompresi. Sedangkan coding adalah proses untuk menerapkan modeling tersebut menjadi sebuah proses kompresi data.
Coding
Melakukan proses encoding dengan menggunakan ASCII atau EBDIC yang merupakan standar dalam proses komputasi memberikan kelemahan mendasar apabila dilihat dari paradigma kompresi data. ASCII dan EBDIC menggunakan jumlah bit yang sama untuk setiap karakter, hal ini menyebabkan banyak bit yang ”terbuang” untuk merepresentasikan karakter-karakter yang sebenarnya jarang muncul pada sebuah pesan.
Salah satu cara mengatasi permasalahan di atas adalah dengan menggunakan Huffman-coding. Huffman-coding yang dikembangkan oleh D.A. Huffman mampu menekan jumlah redundancy yang terjadi pada sebuah pesan yang panjangnya tetap. Huffman-coding bukanlah teknik yang paling optimal untuk mengurangi redundancy tetapi Huffman-coding merupakan teknik terbaik untuk melakukan coding terhadap symbol pada pesan yang panjangnya tetap. Permasalahan utama dengan Huffman-coding adalah hanya bisa menggunakan bilangan bulat untuk jumlah bit dari setiap code. Jika entropy dari karakter tersebut adalah 2,5 maka apabila melakukan pengkodean dengan Huffman-coding karakter tersebut harus terdiri dari 2 atau 3 bit. Hal tersebut membuat Huffman-coding tidak bisa menjadi algoritma paling optimal dalam mengatasi redundancy ini.
Huffman-coding memang kurang efisien karena untuk melakukan pengkodean kita harus menggunakan bilangan bulat. Walaupun demikian Huffman-coding sangat mudah digunakan dan sampai awal era 90-an di mana prosesor komputer masih sulit untuk melakukan komputasi bilangan pecahan Huffman-coding dianggap paling rasional untuk diaplikasikan pada proses kompresi data. Setelah kelahiran prosesor yang mampu melakukan operasi bilangan pecahan dengan cepat maka banyak algoritma coding baru bermunculan dan salah satunya adalah Arithmatic-coding.
Arithmatic coding lebih kompleks dan rumit dibandingkan Huffman-coding, tetapi di sisi lain Arithmatic-coding memberikan optimalisasi yang lebih tinggi. Arithmatic-coding memungkinkan jumlah bit dalam pecahan karena arithmatic coding tidak bekerja per karakter dari pesan tetapi langsung pada keseluruhan pesan. Misalnya entropy dari karakter e pada pesan adalah 1,5 bit maka pada output code pun jumlah bit-nya adalah 1,5 dan bukan 1 atau 2 seperti pada Huffman-coding.
makasih min sudah share
BalasHapussolder uap