Studi Kompresi WebP

Pengantar

Kami melakukan evaluasi komparatif atas WebP dan kompresi gambar JPEG berdasarkan encoder baru yang kami rilis di libwebp. Tujuannya adalah untuk menjalankan serangkaian eksperimen yang mudah diulang menggunakan alat yang tersedia secara publik dan membandingkan kompresi gambar yang dicapai oleh WebP dan JPEG.

Studi komparatif WebP kami sebelumnya berfokus pada evaluasi gambar dalam jumlah besar dan dilakukan pada sumber JPEG yang di-crawl dari web. JPEG adalah format kompresi lossy dan memperkenalkan artefak kompresi ke sumber. Selain itu, awalnya kami menggunakan Peak Signal-to-Noise Ratio atau PSNR sebagai metrik kualitas. PSNR memiliki beberapa kelemahan saat digunakan sebagai metrik kualitas gambar. Berdasarkan masukan dari komunitas, kami melakukan eksperimen pada gambar PNG, termasuk gambar yang tersedia di beberapa rangkaian pengujian standar. Dalam studi ini, kami menggunakan Kemiripan Struktural atau SSIM sebagai metrik kualitas untuk studi ini. SSIM dianggap sebagai metrik kualitas visual yang lebih baik.

Metodologi

Kami menjelaskan dua jenis evaluasi. Dalam kasus pertama, kita mempelajari kompresi tambahan yang dicapai oleh WebP pada tingkat kualitas JPEG yang sama. Secara khusus, kami membuat gambar WebP dengan kualitas yang sama (sesuai indeks SSIM) sebagai gambar JPEG, lalu membandingkan ukuran file WebP dan gambar JPEG. Dalam kasus kedua, kami menganalisis plot SSIM vs bit per piksel (bpp) untuk WebP dan JPEG. Plot ini menunjukkan keseimbangan distorsi rasio untuk WebP dan JPEG.

Set data untuk eksperimen terdiri dari gambar PNG. Gambar ini diperoleh dari rangkaian gambar pengujian standar yang dapat diakses secara publik serta kumpulan besar gambar PNG yang di-crawl dari web.

Setiap eksperimen terdiri dari menjalankan serangkaian perintah. Hanya alat command line yang tersedia untuk publik yang digunakan untuk menjaga agar eksperimen tetap dapat diproduksi ulang bagi yang lain. Alat command line yang digunakan untuk eksperimen ini adalah:

  • identify dan convert adalah alat command line yang merupakan bagian dari ImageMagick. Kami menggunakan versi 6.5.7 untuk analisis ini. Kami menggunakan convert untuk mengonversi antara format PNG dan PPM. Kami menggunakan identify untuk mengekstrak informasi lebar dan tinggi gambar.

  • cwebp dan dwebp adalah alat command line yang merupakan bagian dari library libwebp yang kami rilis pada K1 2011. Kami menggunakan library versi 0.1.2. Kami menggunakan cwebp dan dwebp untuk mengenkode dan mendekode gambar WebP. Kami menggunakan parameter encoding dan decoding default alat ini.

  • cjpeg dan djpeg adalah alat command line yang merupakan bagian dari library libjpeg. Kami menggunakan library versi 6b. Kami menggunakan cjpeg dan djpeg untuk mengenkode dan mendekode gambar JPEG. Kami menggunakan cjpeg dengan flag -optimize untuk mengoptimalkan ukuran file. Kita menyetel semua parameter lain ke nilai defaultnya.

Kualitas gambar diukur menggunakan SSIM. Seperti disebutkan sebelumnya, SSIM secara umum diterima sebagai metrik berkualitas yang lebih baik daripada PSNR. Untuk penghitungan indeks SSIM, kami menggunakan implementasi yang tersedia untuk umum di C++. Pembaca dapat mendownload skrip Python yang kami gunakan dalam eksperimen dari repositori kode untuk referensi.

Set Data Gambar

Kami memilih set data untuk mengevaluasi koleksi gambar pengujian standar serta pada sejumlah besar gambar. Berikut adalah daftar set data yang digunakan dalam eksperimen.

  1. Lenna: banyak menggunakan gambar Lenna (512 x 512 piksel).

  2. Kodak: 24 gambar dari Kodak true color image suite.

  3. Tecnick: 100 gambar dari koleksi tersedia di Tecnick.com. Kami menggunakan 100 gambar warna RGB ukuran asli.

  4. Image_crawl: Untuk menguji gambar dalam jumlah besar, kami mengumpulkan sampel acak gambar PNG dari database crawl web Google Penelusuran Gambar. Sebagian besar gambar PNG yang di-crawl adalah ikon, grafik, diagram, dokumen yang dipindai, dll. Namun, sebagian besar gambar dalam koleksi pengujian standar adalah seperti foto, bukan gambar yang dihasilkan komputer. Agar set data ini mirip dengan rangkaian pengujian standar, kami menjalankan algoritme deteksi wajah pada gambar PNG ini dan hanya mempertimbangkan gambar tersebut (sekitar 11.000) untuk eksperimen ini, yang lulus pengujian deteksi ini.

Eksperimen 1: WebP vs. JPEG pada Indeks SSIM yang Setara

Dalam eksperimen ini, kami menghasilkan gambar JPEG dan WebP pada nilai SSIM yang sebanding dan mengukur rasio ukuran file. Langkah-langkah eksperimen tersebut adalah sebagai berikut:

  1. Kompresi gambar PNG sumber untuk JPEG dengan parameter kualitas tetap Q dan rekam SSIM antara gambar PNG sumber dan gambar JPEG yang dikompresi.

  2. Kompresi gambar sumber yang sama ke WebP dengan parameter kualitas yang mencapai SSIM yang dicatat di atas sedekat mungkin.

Kami menjalankan dua langkah di atas pada semua gambar dalam set data, lalu mengukur ukuran file rata-rata dan SSIM untuk gambar JPEG dan WebP.

Tabel berikut menunjukkan hasil eksperimen ini untuk tiga nilai yang berbeda (50, 75, dan 95) pada parameter kualitas JPEG Q. Parameter kualitas 50 dan 95 masing-masing mewakili kompresi gambar pada kecepatan bit rendah dan tinggi. Kami juga telah menyertakan parameter kualitas JPEG 75 karena secara umum merupakan tingkat kualitas untuk gambar JPEG.

Tabel 1: Ukuran file rata-rata untuk WebP dan JPEG untuk indeks SSIM yang sama sesuai dengan JPEG Q=50

Lenna Kodak Musik Tecnik Gambar_crawl
WebP: Ukuran File Rata-Rata
(SSIM Rata-Rata)
17,4 KB
(0,841)
31,0 KB
(0,898)
92,4 KB
(0,917)
6,5 KB
(0,901)
JPEG: Ukuran File Rata-Rata
(SSIM Rata-Rata)
23,5 KB
(0,840)
42,7 KB
(0,897)
124,6 KB
(0,916)
9,9 KB
(0,899)
Rasio WebP dengan ukuran file JPEG 0,74 0,72 0,74 0,66

Tabel 2: Ukuran file rata-rata untuk WebP dan JPEG untuk indeks SSIM yang sama yang sesuai dengan JPEG Q=75

Lenna Kodak Musik Tecnik Gambar_crawl
WebP: Ukuran File Rata-Rata
(SSIM Rata-Rata)
26,7 KB
(0,864)
46,5 KB
(0,932)
139,0 KB
(0,939)
9,9 KB
(0,930)
JPEG: Ukuran File Rata-Rata
(SSIM Rata-Rata)
37,0 KB
(0,863)
66,0 KB
(0,931)
191,0 KB
(0,938)
14,4 KB
(0,929)
Rasio WebP dengan ukuran file JPEG 0,72 0,70 0,73 0,69

Tabel 3: Ukuran file rata-rata untuk WebP dan JPEG untuk indeks SSIM yang sama sesuai dengan JPEG Q=95

Lenna Kodak Musik Tecnik Gambar_crawl
WebP: Ukuran File Rata-Rata
(SSIM Rata-Rata)
74,3 KB
(0,910)
118,0 KB
(0,978)
356,0 KB
(0,970)
23,4 KB
(0,969)
JPEG: Ukuran File Rata-Rata
(SSIM Rata-Rata)
104 KB
(0,907)
162 KB
(0,976)
492 KB
(0,970)
31,3 KB
(0,968)
Rasio WebP dengan ukuran file JPEG 0,71 0,73 0,72 0,75

Dari tabel di atas, kita dapat mengamati bahwa WebP memberikan peningkatan kompresi tambahan sebesar 25%-34% dibandingkan dengan JPEG pada indeks SSIM yang sama atau sedikit lebih baik.

Eksperimen 2: Plot SSIM vs. BPP untuk WebP dan JPEG

Kami mempelajari kompromi distorsi rasio JPEG dan WebP. Secara khusus, kami mempelajari plot SSIM vs. bit per piksel (bpp) untuk JPEG dan WebP. Kami mengambil gambar PNG sumber, mengompresinya ke JPEG dan WebP menggunakan semua kemungkinan nilai kualitas (0-100). Kemudian, untuk setiap nilai kualitas, kami memetakan SSIM dan bpp yang dicapai untuk JPEG dan WebP. Gambar berikut menunjukkan plot SSIM vs bpp untuk 3 gambar yang dipilih dari 3 set data publik yang telah kami gunakan.

Gambar 1: SSIM vs. BPP untuk Lenna

ssim vs. bpp untuk Lenna

Gambar 2: SSIM vs. BPP untuk kodim19.png dari set data Kodak

ssim vs. bpp untuk Kodim19

Gambar 3: SSIM vs. BPP untuk RGB_OR_1200x1200_061.png dari set data Tecnick

ssim vs. bpp untuk RGB_OR_1200x1200

Selain itu, kami telah mempelajari perilaku rata-rata plot SSIM vs bpp untuk set data Kodak dan Tecnick. Untuk memetakan perilaku rata-rata, kami mengompresi semua gambar dalam set data menggunakan WebP dan JPEG pada 100 nilai kualitas yang berbeda. Kemudian, kami memetakan rata-rata SSIM dan bpp untuk setiap nilai kualitas. Set data crawl gambar berisi gambar heterogen yang tidak cocok dengan agregasi data ini. Plot berikut menunjukkan perilaku rata-rata SSIM dan bpp untuk set data Kodak dan Tecnick.

Gambar 4: SSIM vs. BPP untuk set data Kodak

ssim vs. bpp untuk Kodak

Gambar 5: SSIM vs. BPP untuk set data Tecnick

ssim vs. bpp untuk set data Tecnick

Secara keseluruhan, dari plot di atas, kita dapat mengamati bahwa WebP secara konsisten memerlukan lebih sedikit bit per piksel daripada JPEG untuk mencapai indeks SSIM yang sama.

Kesimpulan

Studi ini mengevaluasi kompresi WebP dibandingkan dengan JPEG. Kami mengamati bahwa ukuran file WebP rata-rata 25%-34% lebih kecil dibandingkan ukuran file JPEG pada indeks SSIM yang setara. Plot SSIM vs bpp menunjukkan bahwa WebP secara konsisten memerlukan lebih sedikit bit per piksel dibandingkan JPEG untuk indeks SSIM yang sama. Hasil ini menunjukkan bahwa WebP dapat memberikan peningkatan kompresi yang signifikan dibandingkan JPEG.


1 Huynh-Kam, Q.; Ghanbari, Jepang (2008). "Cakupan validitas PSNR dalam penilaian kualitas gambar/video". Elektronik Surat 44:800-801.YT:10.1049/el:20080522.

2 Z. Wang, A. C. Bovik, H. R. Sheikh, dan E. P. Simoncelli, "Penilaian kualitas gambar: Dari pengukuran error hingga kesamaan struktural," Pemrosesan Gambar, Transaksi IEEE, Volume 13, Edisi 4, hlm. 600-612, 2004.