Wednesday, October 23, 2013

Resume Digital Image Coding


JARINGAN MULTIMEDIA






 

Oleh :
Desy Candra Novitasari
5110100045




Jurusan Teknik Informatika
Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember


Chapter 4

Digital Image Coding

Kompresi gambar adalah penerapan teknik kompresi data gambar digital dua dimensi I ( x, y )  untuk mengurangi redundansi data gambar untuk penyimpanan atau transmisi dalam bentuk yang efisien. Kompresi gambar dapat diklasifikasikan ke dalam dua kategori, yaitu :
1.       Kompresi Lossless
Kompresi yang mencapai rasio kompresi lebih kecil dari kompresi lossy, terutama mengambil keuntungan dari isi gambar yang mengandung distribusi probabilitas yang tidak seragam untuk merepresentasikan variabel panjang dari pixel gambar. Gambar tersebut termasuk gambar teknis , ikon atau komik , dan isinya bernilai tinggi seperti citra medis atau gambar scan dibuat untuk keperluan arsip .
2.       Kompresi Lossy
Kompresi yang utamanya ketika mereka mencapai rasio kompresi yang sangat tinggi, dapat memperkenalkan artefak kompresi . Namun demikian , kompresi lossy sangat cocok untuk gambar alam seperti foto  dalam aplikasi dimana minor loss kadang-kadang tak terlihat ketika diinginkan untuk mencapai pengurangan substansial dalam bitrate .
Sebagian besar gambar seni kompresi gambar secara standar menggunakan kombinasi algoritma lossy dan lossless untuk mencapai kinerja terbaik .
4.1 Basics of information theory for image compression
Menurut teori informasi Shannon untuk komunikasi, seorang sumber di saluran komunikasi mentransmisikan aliran simbol input yang dipilih dari satu set diskrit dari huruf A = {a1, a2,. . . , An}, yang harus dikodekan ketika dikirim melalui saluran yang berpotensi rusak oleh kebisingan

Di sisi lain dari saluran, penerima menerjemahkan aliran data dan informasi yang berasal dari urutan output simbol B = {b1, b2,. . . , Bm}. Saluran ini dapat ditandai  oleh seperangkat probabilitas kondisional {P (An |Bm)}. Perlu dicatat bahwa belum tentu ada jumlah simbol yang sama dalam input dan output set, karena kebisingan saluran.
Satu pertanyaan penting adalah apakah campuran simbol input A = {a1, a2,. . . , An} harus digunakan untuk mencapai kapasitas saluran sedekat mungkin? Dengan kata lain, untuk setiap saluran yang diberikan, apakah ada cara pengkodean simbol masukan sehingga kita dapat memanfaatkan saluran sebagai dekat dengan kapasitas (seperti yang kita inginkan) dan pada saat yang sama memiliki tingkat kesalahan mendekati nol seperti yang kita harapkan? Shannon menunjukkan bahwa  mungkin untuk menggunakan pengkodean entropi untuk menjaga tingkat kesalahan rendah dan masih menggunakan saluran untuk transmisi informasi di (atau dekat) kapasitasnya.
4.2 Entropy coding
Sebuah pengkodean entropi adalah skema pengkodean yang memberikan kode untuk simbol sehingga panjang kode cocok  dengan probabilitas dari simbol. Biasanya, encoders entropi digunakan untuk kompres data dengan simbol mengganti diwakili oleh kode yang sama panjang dengan simbol diwakili oleh kode di mana panjang setiap codeword sebanding dengan negatif logaritma probabilitas.

4.2.1 Huffman coding
Huffman coding, dikembangkan oleh David A. Huffman pada tahun 1952 [5], merupakan algoritma pengkodean entropi digunakan untuk kompresi data lossless yang menggunakan panjang tabel kode biner variabel untuk encoding satu set simbol sumber. Huffman kode mengungkapkan simbol yang paling sering menggunakan string pendek bit daripada yang digunakan untuk simbol sumber yang lebih sering. Huffman mampu merancang metode kompresi yang paling efisien.
Contoh :
Misalnya, diberi satu set sumber simbol A = {a1, a2,. . . , A6} dan terjadinya probabilitas yang sesuai  P = {0,12, 0,42, 0,04, 0,09, 0,02, 0,31}.



4.2.2 Aritmethic Coding
Arithmetic coding melibatkan kode non-blok tanpa korespondensi satu-ke-satu antara simbol sumber dan codeword dari kode Huffman. Sebuah terbatas-panjang urutan seluruh simbol sumber diberikan sebuah codeword aritmatika tunggal yang mendefinisikan interval bilangan real antara 0 dan 1. Sebagai jumlah simbol dalam urutan meningkat, interval yang digunakan untuk mewakili menjadi lebih kecil. Prinsip coding didasarkan pada asumsi bahwa setiap simbol urutan dapat membantu mengurangi ukuran interval sesuai dengan probabilitas.
4.2.3 Context-adaptive binary arithmetic coding (CABAC)
Pembahasan sebelumnya dan analisis aritmatika coding berfokus pada coding sumber set beberapa simbol, meski pada prinsipnya berlaku untuk sumber simbol biner juga. Hal ini berguna untuk membedakan dua kasus karena kedua coder dan antarmuka untuk model yang sederhana untuk sumber biner , memproduksi bi-level ( hitam dan putih , atau 0 dan 1 ) gambar . Konteks adaptif biner aritmatika coder ( CABAC ) adalah teknik yang efisien untuk bersyarat coding entropi.
4.2.4 Run-length coding (RLC)
Run - length coding ( RLC ) mengkodekan urutan simbol biner dengan berjalan data (yaitu , urutan di mana nilai data yang sama terjadi pada banyak elemen data yang berurutan) . Run - length coding dapat berfungsi sebagai metode pengkodean lossless yang mencatat jalankan sebagai nilai data tunggal dan menghitung bukan sebagai menjalankan asli. Hal ini berguna untuk data yang mengandung banyak berjalan , seperti karakter yang dicetak pada citra dokumen .
Sebagai contoh, perhatikan satu baris teks tercetak dengan tinta hitam ( dilambangkan sebagai 1 ) pada latar belakang putih ( dilambangkan sebagai 0 ) :

 4.3 Lossy image compression
Lossless kompresi saja tidak cukup untuk kompres sebagian gambar untuk memuaskan bitrate rendah. Oleh karena itu kita harus resor untuk pendekatan kompresi lossy, yang memperkenalkan distorsi melalui proses kuantisasi sinyal. Kuantisasi dapat dilakukan baik dalam ruang atau dalam domain transform. Sampel domain yang paling spasial atau mengubah gambar dapat mengasumsikan nilai-nilai sewenang-wenang. Sebagai contoh, RGB nilai integer {f (x, y)} ditangkap oleh kamera harus dikonversi ke kontinyu (real) nilai YCbCr untuk manipulasi lebih lanjut.



4.4 Joint Photographic Experts Group (JPEG)
Ada banyak parameter yang terkait dengan proses kompresi JPEG. Dengan menyesuaikan parameter, seseorang dapat trade off ukuran gambar dikompresi terhadap kualitas gambar direkonstruksi pada rentang yang sangat luas. Misalnya, kualitas gambar dapat terdegradasi dengan efek gumpal jelas pada rasio kompresi yang lebih tinggi dari 100, atau kualitas gambar juga dapat hampir tidak bisa dibedakan dari aslinya dengan rasio kompresi sekitar 3.

4.4.1 Source image data preparation: chroma subsampling
Data sumber gambar yang dibahas dalam Gambar 4.7 dan data citra rekonstruksi pada Gambar 4.8 terutama untuk data gambar tunggal-komponen seperti gambar grayscale. Alasan untuk melakukan transformasi ini warna adalah bahwa kita mampu untuk menghilangkan informasi lebih lanjut dalam komponen chrominance daripada di komponen luminance, karena mata manusia kurang sensitif terhadap isi chroma-frekuensi tinggi daripada isi pencahayaan highfrequency.

4.4.2 Block-based discrete cosine transform
Untuk setiap gambar komponen, dengan atau tanpa subsampling kroma, kami akan mengelompokkan nilai piksel {f (x, y)} menjadi 8 x 8 blok untuk discrete cosine transform (DCT), yang
menciptakan nyata dihargai (bukan kompleks dihargai, seperti yang dihasilkan oleh Transformasi Fourier) dan peta frekuensi energi kompak {F (u, v)} dari data dua dimensi.
FDCT dapat dipandang sebagai analisa harmonik dan IDCT sebagai synthesizer harmonis. Output dari FDCT adalah satu set 64 basis-sinyal amplitudo atau Koefisien DCT (11-12 bit per koefisien), yang nilainya ditentukan secara unik oleh sinyal input 64-titik tertentu. Koefisien dengan frekuensi nol di kedua dimensi disebut koefisien DC dan sisanya 63 koefisien disebut koefisien AC.
4.4.3 Quantization of DCT coefficients
Setelah keluaran dari FDCT, masing-masing dari 64 koefisien DCT F (u, v) secara seragam dikuantisasi menggunakan 64-elemen tabel kuantisasi prespecified di mana masing-masing koefisien dibagi oleh tabel terpisah entri Q (u, v), di mana setiap entri menentukan ukuran langkah quantizer untuk koefisien DCT yang sesuai. Operasi kuantisasi dapat dinyatakan sebagai berikut :

4.4.4 DC coding and zigzag sequence
Setelah kuantisasi, koefisien DC, yang biasanya memiliki nilai cukup besar, diperlakukan secara terpisah dari koefisien AC 63. Karena ada korelasi biasanya kuat antara koefisien DC yang berdekatan 8x8 blok, koefisien DC terkuantisasi dikodekan sebagai perbedaan dari istilah DC dari blok sebelumnya dalam urutan pengkodean.

4.4.5 Entropy coding
Entropy coding kemudian digunakan untuk mencapai kompresi tambahan losslessly dengan pengkodean multi-simbol RLC urutan koefisien DCT terkuantisasi lebih kompak, dengan menggunakan karakteristik statistik mereka.
Koefisien DC dan 2-tupel representasi RLC koefisien AC terkuantisasi selanjutnya diubah menjadi sebuah perwakilan intermedit, seperti yang ditunjukkan di atas. Lebih khusus, representasi menengah [S, V] untuk dikuantisasi DC koefisien perbedaan dengan nilai "V = 3" ditambahkan dengan kategori ukuran "S = 2" atas dasar jangkauan besarnya.
4.4.6 Header information and JPEG decoding
Dalam sebuah "pertukaran" file JPEG normal, semua parameter kompresi termasuk dalam header, sehingga decoder dapat membalikkan proses. Parameter ini meliputi tabel kuantisasi dan pengkodean Huffman tabel. Untuk aplikasi khusus dalam sistem tertutup, spesifikasi memungkinkan meja tersebut harus dihilangkan dari file, ini akan menghemat beberapa ratus byte overhead tetapi itu berarti bahwa decoder harus tahu apriori tabel yang digunakan oleh kompresor.

4.4.7 Trading off compression and picture quality
Untuk gambar berwarna dengan adegan cukup kompleks, semua mode berbasis DCT operasi biasanya menghasilkan tingkat kualitas gambar yang tercantum di bawah untuk rentang ditunjukkan kompresi "bit per pixel" berarti jumlah bit di compress gambar, termasuk komponen chrominance, dibagi dengan jumlah sampel dalam komponen pencahayaan.
4.4.8 JPEG progressive mode
Modus progresif JPEG dimaksudkan untuk mendukung real-time transmisi gambar, di mana preview berkualitas rendah dapat dikirim diikuti sangat cepat dengan versi halus sebagai waktu memungkinkan. Mode ini terdiri dari FDCT yang sama dan langkah-langkah kuantisasi seperti yang digunakan oleh modus berurutan dasar. Perbedaan utama adalah bahwa setiap komponen gambar dikodekan dalam beberapa scan daripada dalam satu scan.
Dalam rangka untuk mencapai transmisi progresif, memori penyangga berukuran gambar diperlukan pada output dari quantizer, sebelum masukan ke encoder entropi. Setelah setiap blok koefisien DCT terkuantisasi, akan disimpan dalam buffer memori koefisien, dimana terkuantisasi DCT koefisien informasi dapat dilihat sebagai sebuah persegi panjang yang sumbu adalah koefisien DCT (dalam zigzag order) dan amplitudo mereka.
4.4.9 JPEG hierarchical mode
Modus hirarkis digunakan untuk merepresentasikan sebuah citra di beberapa resolusi, misalnya, untuk kompres gambar dalam hal 256 · 256, 512 · 512, dan 1024 · 1024. Menggunakan konsep skala spasial, gambar resolusi tinggi dapat dikodekan sebagai perbedaan dari gambar berikutnya yang lebih kecil dan dengan demikian akan membutuhkan banyak lebih sedikit bit daripada jika mereka disimpan secara independen pada resolusi yang lebih tinggi. Namun, jumlah bit akan lebih besar dari yang dibutuhkan untuk menyimpan hanya kerangka resolusi tertinggi dalam bentuk dasar.

4.4.10 JPEG lossless mode
Karena kesalahan pembulatan diperkenalkan oleh kuantisasi koefisien DCT, lossless modus JPEG tidak bisa lagi menggunakan DCT. Untuk alasan yang sama, seseorang tidak akan biasanya menggunakan konversi warna-ruang atau downsampling, meskipun ini diijinkan oleh standar. The lossless modus hanya kode, menggunakan pengkodean entropi, perbedaan antara setiap pixel dan "prediksi" nilai untuk pixel mana encoders dapat menggunakan presisi sumber gambar dari dua hingga 16 bit per sampel. Prediktor A menggabungkan nilai hingga tiga sampel tetangga (A, B, dan C) untuk membentuk prediksi sampel X. Prediksi ini kemudian dikurangi dari nilai sebenarnya dari sampel X, dan perbedaan dikodekan losslessly oleh salah satu metode pengkodean entropi, Huffman atau aritmetika.
4.4.11 JPEG codestream


4.5 JPEG2000
Terlepas dari semakin populernya gambar JPEG coding, terutama di World Wide Web dan masih kamera digital, ada pengamatan lebih dan lebih dari JPEG bila diterapkan semakin banyak aplikasi baru yang lebih canggih dan ditingkatkan dan fungsi yang dituntut dari coding gambar.
Lebih khusus, kekurangan adalah sebagai berikut :
(1). Distortion and artifacts
(2). Ineffective handling of high-quality images
(3). Lack of effective color-space support
(4). Ineffective progressive and hierarchical modes
(5). Poor lossless compression performance

4.5.1 Technical overview of JPEG2000
Gambar 4.15 mengilustrasikan blok bangunan dasar dari JPEG2000: langkah preprocessing yang biasanya terdiri dari ubin, tingkat DC pergeseran, dan transformasi multi-komponen (digunakan untuk input warna RGB), kemudian DWT, diikuti oleh quantizer (untuk kompresi lossy hanya ), seorang coder entropi (CABAC), dan, akhirnya, langkah organisasi bitstream untuk mempersiapkan codestream akhir dari gambar terkompresi.
4.5.2 JPEG2000 for Digital Cinema Initiatives
Sebuah sistem sinema digital dapat dibagi menjadi empat tahap (lihat Gambar 4.31): menguasai, transportasi, penyimpanan dan pemutaran, dan proyeksi. Pada tahap mastering film dikompresi, dienkripsi, dan dikemas untuk pengiriman ke bioskop. Data tersebut kemudian diangkut ke lokasi pameran, di mana itu adalah ecrypted, tidak dikompresi, dan diputar ulang.
Usaha DCI sedang mencari algoritma kompresi yang merupakan standar terbuka, sehingga banyak produsen hardware akan mampu membangun sistem sinema digital. Algoritma kompresi yang diperlukan untuk mendukung kedalaman bit yang tinggi dan perangkat-independen ruang warna XoYoZo tanpa subsampling kroma.
Ada beberapa persyaratan khusus yang dikenakan pada JPEG2000 untuk digunakan dalam DCI. Untuk contoh, ubin gambar dianulir, yaitu, seluruh gambar harus dikodekan sebagai ubin tunggal. Jumlah maksimum tingkat wavelet-transform adalah lima untuk konten 2K dan enam untuk konten 4K. Ukuran codeblock dibatasi menjadi 32 · 32 dan ukuran polisi di semua resolusi ditetapkan menjadi 256 x 256, kecuali untuk subband frekuensi terendah, di mana ukuran polisi 128 x 128 yang digunakan.
4.5.3 New parts of JPEG2000
Pada tahun 2002, komite JPEG mulai menyelidiki empat area aplikasi yang dianggap penting bagi JPEG 2000, dan secara resmi mendirikan empat bagian baru dari JPEG2000 untuk mengatasi aplikasi ini: JPIP, JPSEC, JP3D, dan JPWL, masing-masing. Bagian-bagian baru ini dirancang untuk memenuhi kebutuhan standarisasi area aplikasi spesifik dimana set kaya teknologi dari JPEG2000 berlaku.






JPSEC-JPEG2000 Part 8: Secure JPEG2000


 Mind Map Digital Image Coding




No comments:

Post a Comment