Kompresi citra menggunakan Discrete Cosine Transform
JPEG singkatan dari Joint Photographic Experts Group, sebuah komite standar yang memiliki asal-usul dalam Standar Internasional Organization (ISO). JPEG menyediakan metode kompresi yang mampu mengompresi data gambar piksel dengan kedalaman 6 sampai 24 bit dengan kecepatan yang wajar dan efficiency.JPEG dapat disesuaikan untuk menghasilkan yang sangat kecil, gambar terkompresi yang berkualitas relatif miskin dalam penampilan tetapi masih cocok untuk banyak aplikasi. Sebaliknya, JPEG adalah mampu menghasilkan kompresi gambar yang sangat tinggi yang masih jauh lebih kecil dari data yang tidak terkompresi.
JPEG adalah metode kompressi lossy yang utama.JPEG dirancang khusus untuk membuang informasi bahwa mata manusia tidak dapat dengan mudah melihat. Sedikit perubahan dalam warna tidak dianggap baik oleh mata manusia, daripada perubahan-perubahan kecil dalam intensitas (terang dan gelap). Oleh karena itu encoding lossy JPEG cenderung menjadi lebih hemat dengan bagian skala abu-abu gambar dan menjadi lebih dangkal dengan warna. DCT memisahkan gambar menjadi bagian-bagian frekuensi yang berbeda dimana frekuensi kurang penting dibuang melalui kuantisasi dan frekuensi penting digunakan untuk mengambil gambar selama dekompresi. Dibandingkan dengan transform dependent yang lain, DCT memiliki banyak keuntungan: (1) Telah diimplementasikan dalam sirkuit terpadu, (2) Memiliki kemampuan untuk mempaket semua informasi dalam koefisien yang paling sedikit, (3) Meminimalkan penampilan blok seperti yang disebut memblokir artefak yang terjadi ketika batas antara sub-gambar menjadi terlihat.
Transformasi 2D-DCT diberikan persamaan sebagai berikut:
Dimana u,v=0,1,2,3,……………,N-1
Inverse 2D-DCT tranformasi diberikan persamaan sebagai berikut :
Dimana :
D(u)=(1/N) ^1/2 untuk u=0
D(u)=2(/N)^1/2 untuk u=1,2,3…….,(N-1)
Proses JPEG
1. Gambar asli dibagi menjadi blok-blok 8 x 8.
2. Nilai-nilai pixel dari berbagai gambar hitam dan putih adalah antara 0-255 tapi DCT dirancang untuk bekerja pada nilai-nilai piksel mulai dari -128 sampai 127. Oleh karena itu setiap blok dimodifikasi untuk bekerja dalam kisaran.
3. Persamaan (1) digunakan untuk menghitung DCT matriks.
4. DCT diterapkan untuk setiap blok dengan mengalikan blok dimodifikasi dengan DCT matriks di sebelah kiri dan transpos dari matriks DCT di sebelah kanannya.
5. Setiap blok kemudian dikompresi melalui kuantisasi. Matriks terkuantisasi kemudian dikodekan entropi.
6. Gambar yang terkompresi direkonstruksi melalui proses terbalik. Invers DCT digunakan untuk dekompresi.
Kuantisasi
Kuantisasi dicapai dengan memadatkan rentang nilai ke nilai kuantum tunggal. Ketika jumlah simbol diskrit dalam urutan tertentu berkurang, urutan menjadi lebih padat. Sebuah matriks kuantisasi digunakan dalam kombinasi dengan sebuah DCT koefisien matriks untuk melaksanakan transformasi. Kuantisasi adalah langkah di mana sebagian besar kompresi mengambil tempat.DCT tidak benar-benar mengkompresi gambar karena hal ini hampir lossless. Kuantisasi memanfaatkan fakta bahwa komponen frekuensi yang lebih tinggi kurang penting daripada komponen frekuensi rendah. Hal ini memungkinkan berbagai tingkat kualitas kompresi gambar dan seleksi dari matriks-matriks kuantisasi tertentu.Dengan demikiantingkat kualitasdari 1 sampai100 dapatdipilih, di mana1memberikan kualitas gambar terenda dan kompresi tertinggi, sementara 100 memberikan kualitas terbaik dan kompresi terendah. Sebagaihasil rasio kualitas kompresi bisadipilih untuk memenuhi kebutuhan yang berbeda. Komite JPEG menetapkan bahwa matriks dengan tingkat kualitas 50 sebagai matriks standar. Untuk mendapatkan matriks kuantisasi dengan tingkat kualitas yang lain, perkalian skalar matriks kuantisasi standar digunakan. Kuantisasi dicapai dengan membagi matriks citra ditransformasi oleh matriks kuantisasi yang digunakan. Nilai dari matriks yang dihasilkan adalah kemudian dibulatkan. Dalam matriks,koefisien resultan terletak di dekat sudut kiri atas memiliki frekuens iyang lebih rendah, mata manusia lebih sensitif terhadap frekuensi yang lebih rendah.. Frekuensi yang lebih tinggidibuang. Frekuensi yang lebih rendah digunakan untuk merekonstruksi gambar.
EntropiEncoding
Setelah kuantisasi, sebagian besar koefisien frekuensi tinggi adalah nol. Untuk mengeksploitasi jumlah angka nol, scanzig-zag dari matriksyang digunakan untuk menghasilkan string panjang nol. Setelah blok dikonversi menjadi spektrum dan dikuantisasi, kemudian algoritma kompresi JPEG mengambil hasil dan mengubahnya menjadi array satu dimensi linier, atau vektor dari 64 nilai, melakukan scanzig-zagdengan memilih unsur-unsur dalam urutan numerik diindikasikan oleh angka dalam grid di bawah ini:
Hal ini menempatkan unsur-unsur blok koefisien dalam urutan yang wajar dari frekuensi yang meningkat.Karena frekuensi yang lebih tinggi lebih cenderung menjadi nol setelah kuantisasi, hal ini cenderung ke grup dengan nilai nolpada hasil akhir dari vektor.
Huffman coding: Ide dasar dalam Huffman coding adalah untuk menetapkan codeword singkat ke blok-blok input dengan probabilitas tinggi dan code word panjang untuk blok-blok yang dengan rendah probabilitasnya. Sebuah kode Huffman dirancang dengan menggabungkan bersama-sama sedikitnya dua karakter kemungkinan, dan mengulangi proses ini sampai ada hanya satu karakterter sisa. Dengan demikian sebuah pohon kode dihasilkan dan kode Huffman diperoleh dari pelabelan pohon kode.
ADS HERE !!!