JPEG XL dan Pareto Front
- Rilis libjxl versi 0.10: Versi baru dari libjxl, implementasi referensi untuk JPEG XL, telah dirilis. Peningkatan utama pada versi ini adalah implementasi penuh API 'streaming encoding'.
- API streaming encoding: Memungkinkan gambar berukuran besar dikodekan dalam 'potongan'. Alih-alih memproses seluruh gambar sekaligus, gambar dapat diproses dengan cara yang lebih ramah memori.
Lossless: peningkatan besar pada penggunaan memori dan kecepatan
- Peningkatan dibandingkan libjxl versi 0.9: Pada versi sebelumnya, encoding JPEG XL lossless membutuhkan banyak memori dan memakan waktu lama. Hal ini bisa menimbulkan masalah serius saat mengodekan gambar berukuran besar.
- Contoh gambar malam Bumi dari NASA: Untuk mengompresi gambar berukuran 13500×6750, libjxl 0.9 membutuhkan sekitar 8GB RAM dan lebih dari 2 menit. Setelah ditingkatkan ke libjxl 0.10, kompresi dapat dilakukan hanya dengan 0.7GB RAM dan dalam 30 detik.
- Hasil untuk berbagai pengaturan effort: Tabel menyediakan perbandingan penggunaan memori, waktu, dan ukuran kompresi untuk berbagai pengaturan effort (e1~e9). Semakin tinggi pengaturan effort, kompresi membaik, tetapi peningkatannya bersifat nonlinier.
Pareto Front
- Perbandingan teknologi kompresi: Bukan hanya ukuran file hasil kompresi yang penting, tetapi juga kecepatan encoding. Perlu mempertimbangkan dua dimensi: densitas kompresi dan kecepatan encoding.
- Pareto optimal: Ketika tidak ada metode lain yang dapat mencapai densitas kompresi yang sama dalam waktu yang lebih singkat. Metode yang Pareto optimal memberikan file terkecil untuk anggaran waktu tertentu.
- Visualisasi Pareto front: Divisualisasikan melalui grafik yang menunjukkan kecepatan encoding dan densitas kompresi. Berbagai set gambar digunakan untuk membandingkan rata-rata kecepatan dan densitas kompresi.
Gambar non-foto
- Pentingnya pemilihan gambar uji: Jika sebagian besar gambar adalah foto, kompresi menjadi sulit karena adanya noise alami.
- Untuk gambar komik: Gambar non-foto dapat dikompresi jauh lebih baik daripada foto. Gambar komik dapat dikompresi hingga sekitar 4bpp.
- Peningkatan pada libjxl: Versi baru libjxl jauh lebih cepat daripada versi sebelumnya dan juga memberikan rasio kompresi yang lebih baik.
Tentang kompresi lossy
- Benchmark kompresi lossy: Yang penting hanya ukuran kompresi dan kecepatan. Kualitas gambar perlu dipertimbangkan sebagai dimensi ketiga.
- Performa codec dan encoder gambar lossy: Dapat berbeda pada titik kualitas yang berbeda. Encoder yang bekerja baik untuk encoding berkualitas tinggi belum tentu bekerja baik juga untuk encoding berkualitas rendah.
Pareto front lossy
- Encoder yang diuji: Berbagai versi terbaru encoder diuji, termasuk libjpeg-turbo, sjpeg, mozjpeg, jpegli, libavif / libaom, libjxl, libwebp, dan libheif.
- Kualitas menengah: Hasil pada pengaturan yang setara dengan skor SSIMULACRA2 60. Ini paling relevan ketika pengurangan bobot halaman lebih penting daripada fidelitas gambar.
- Kualitas menengah-tinggi dan tinggi: Hasil pada pengaturan yang setara dengan skor SSIMULACRA2 70 dan 85. Pada titik kualitas tinggi, JPEG XL terutama mendominasi Pareto front.
Kesimpulan
- Peningkatan pada libjxl versi 0.10: Konsumsi memori berkurang drastis, dan terutama kecepatan encoding lossless multithread meningkat.
- Posisi JPEG XL semakin mantap: Terbukti Pareto optimal pada berbagai pengaturan kecepatan, dari kualitas tinggi hingga kualitas visual yang nyaris lossless.
- Daya tarik JPEG yang terus bertahan: Encoder jpegli yang baru membawa peningkatan dalam kecepatan dan kompresi. Ini mungkin masih menjadi pilihan terbaik saat encoding yang sangat cepat dibutuhkan.
- Kontribusi Cloudinary: Secara aktif berpartisipasi dalam memberikan pengalaman pengguna terbaik dengan menerapkan teknologi dan insight terbaru di bidang kompresi gambar.
Pendapat GN⁺
- Rilis libjxl 0.10 menandai kemajuan penting dalam teknologi kompresi gambar. Khususnya saat menangani gambar berukuran besar, peningkatan signifikan pada penggunaan memori dan kecepatan encoding akan memberi manfaat besar bagi pengguna.
- Penekanan bahwa JPEG XL bersifat Pareto optimal pada berbagai kualitas dan kecepatan berguna karena membantu pengguna menemukan keseimbangan terbaik antara kualitas gambar dan ukuran file.
- Dari sudut pandang kritis, adopsi teknologi baru seperti libjxl dapat menimbulkan masalah kompatibilitas dengan infrastruktur yang sudah ada. Karena itu, diperlukan penerapan bertahap dengan mempertimbangkan integrasi dengan sistem lama.
- Saat memilih teknologi kompresi gambar, perlu mempertimbangkan berbagai faktor seperti kecepatan encoding dan decoding, ukuran file, serta platform dan perangkat yang didukung. JPEG XL adalah pilihan menarik untuk kompresi gambar berkualitas tinggi, tetapi belum didukung secara luas di semua pengguna dan sistem.
- Keuntungan dari adopsi teknologi ini mencakup penurunan penggunaan memori, peningkatan kecepatan encoding, dan pengurangan ukuran file, sementara kerugiannya bisa berupa masalah kompatibilitas dengan sistem lama dan kurva pembelajaran untuk teknologi baru.
2 komentar
Encoder
jpeglisekali lagi memperpanjang umur JPG setelahmozjpeg...Dibuat oleh kubu JXL, tetapi ironisnya justru bisa menghambat penyebaran JXL...
Opini Hacker News
Performa kompresi lossless format WebP sangat unggul
Penilaian terhadap kemampuan JPEG mempertahankan detail pada pengaturan kualitas rendah
Kesulitan pengguna dalam mencari informasi mendetail tentang format JPEG XL
Keraguan terhadap artikel yang berfokus pada kecepatan encoding
Penilaian terhadap kualitas dan kemampuan kompresi JPEG XL
Pustaka pemrosesan paralel baru yang dikembangkan berkat proyek JPEG XL
Reaksi terhadap dimasukkannya format QOI
Versi baru libjxl sangat mengurangi konsumsi memori
Manfaat saat mengompresi ulang file JPEG lama menggunakan JPEG XL
Penyebutan kemungkinan penghematan tambahan pada AVIF lossless