2 poin oleh GN⁺ 2024-03-02 | 2 komentar | Bagikan ke WhatsApp

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

 
dofuuz 2024-03-08

Encoder jpegli sekali lagi memperpanjang umur JPG setelah mozjpeg...
Dibuat oleh kubu JXL, tetapi ironisnya justru bisa menghambat penyebaran JXL...

 
GN⁺ 2024-03-02
Opini Hacker News
  • Performa kompresi lossless format WebP sangat unggul

    Fitur kompresi lossless WebP jauh lebih unggul daripada PNG atau OptiPNG dari sisi performa dan kecepatan, dan saat ini didukung luas secara online. Selain itu, juga jauh lebih baik daripada AVIF lossless.

  • Penilaian terhadap kemampuan JPEG mempertahankan detail pada pengaturan kualitas rendah

    JPEG sangat unggul dalam mempertahankan kualitas keseluruhan gambar bahkan pada pengaturan kualitas rendah, sambil mengubah detail menjadi gaya seni yang abstrak. Sebaliknya, JXL dan AVIF menjadi buram.

  • Kesulitan pengguna dalam mencari informasi mendetail tentang format JPEG XL

    Sulit menemukan situs web atau dokumen yang menjelaskan setiap tahap format JPEG XL secara rinci. JPEG XL mencakup banyak teknologi inovatif, tetapi kekurangan materi yang menjelaskannya secara mendalam.

  • Keraguan terhadap artikel yang berfokus pada kecepatan encoding

    Pada komputer modern, kecepatan decoding bukan masalah besar, tetapi tetap menarik untuk melihat data tentang kecepatan.

  • Penilaian terhadap kualitas dan kemampuan kompresi JPEG XL

    JPEG XL sangat unggul dalam menghasilkan gambar terkompresi berkualitas tinggi bahkan hanya dengan pengaturan sederhana. Codec lain memerlukan berbagai pengaturan kualitas tergantung jenis gambar untuk memperoleh hasil serupa.

  • Pustaka pemrosesan paralel baru yang dikembangkan berkat proyek JPEG XL

    Proyek JPEG XL mengembangkan pustaka pemrosesan paralel baru bernama Highway. Pustaka ini digunakan bukan hanya untuk JPEG XL, tetapi juga pada model AI Gemma terbaru dari Google.

  • Reaksi terhadap dimasukkannya format QOI

    Menarik bahwa format QOI, yang tidak didukung secara bawaan oleh perangkat lunak arus utama dan hanya menargetkan tingkat yang sekadar lumayan, dimasukkan dalam benchmark encoding gambar non-foto.

  • Versi baru libjxl sangat mengurangi konsumsi memori

    Versi baru libjxl secara signifikan mengurangi konsumsi memori baik pada kompresi lossy maupun lossless, dan terutama meningkatkan kecepatan encoding lossless multi-thread. Artikelnya juga ditulis dengan baik.

  • Manfaat saat mengompresi ulang file JPEG lama menggunakan JPEG XL

    Dengan JPEG XL, file JPEG lama dapat dikompresi ulang untuk menghemat ruang 15% hingga 30%, dan file JPG asli dapat dipulihkan sepenuhnya identik hingga tingkat bit.

  • Penyebutan kemungkinan penghematan tambahan pada AVIF lossless

    Diperkirakan akan ada penghematan yang lebih besar pada AVIF lossless.