Sebuah format gambar eksperimental baru bernama PEP ( Prediction-Encoded Pixels ) telah muncul, secara khusus menargetkan pixel art dan gambar berwarna rendah dengan janji kompresi yang jauh lebih baik dibandingkan format yang sudah mapan seperti PNG dan GIF . Format ini menggunakan teknologi kompresi Prediction by Partial Matching untuk mencapai ukuran file 20-50% lebih kecil dari format tradisional, meskipun ini mengorbankan kecepatan pemrosesan.
Fitur Utama Format PEP
- Target Kasus Penggunaan: Pixel art dengan warna rendah (≤16 warna optimal, hingga 256 didukung)
- Metode Kompresi: Prediction by Partial Matching, Order-2 ( PPM-2 )
- Format File: Kompresi lossless dengan dukungan palet
- Fungsi API: pep_compress(), pep_decompress(), pep_save(), pep_load()
- Format Warna: Dukungan RGBA dan BGRA
- Status Saat Ini: Fase eksperimental
Performa Kompresi Menunjukkan Hasil yang Beragam
Benchmark awal mengungkapkan bahwa efektivitas PEP sangat bervariasi tergantung pada jenis gambar. Untuk gambar yang sangat sederhana seperti sprite pohon 4 warna, PEP mencapai 901 bytes dibandingkan dengan PNG yang 984 bytes dan GIF yang 1.047 bytes. Namun, keunggulan format ini menjadi kurang jelas dengan jenis gambar yang berbeda. Dalam satu tes dengan gambar font 2 warna, PNG sebenarnya mengungguli PEP sedikit dengan 1.318 bytes versus 1.357 bytes milik PEP .
Peningkatan paling dramatis terlihat pada gambar dengan jumlah warna yang lebih tinggi. Sebuah scene 251 warna terkompresi menjadi 73.542 bytes dengan PEP , dibandingkan dengan 84.657 bytes milik PNG dan 96.997 bytes milik GIF , yang merepresentasikan penghematan ruang yang berarti bagi developer yang bekerja dengan pixel art yang lebih kompleks.
Perbandingan Kompresi PEP vs PNG vs GIF
Jenis Gambar | Ukuran PEP | Ukuran PNG | Ukuran GIF | Keunggulan PEP |
---|---|---|---|---|
Tree1 (4 warna, 112x96) | 901 bytes | 984 bytes | 1,047 bytes | 8,4% lebih kecil dari PNG |
Font (2 warna, 192x144) | 1,357 bytes | 1,318 bytes | 1,919 bytes | 3% lebih besar dari PNG |
NZ Scene (251 warna, 640x200) | 73,542 bytes | 84,657 bytes | 96,997 bytes | 13,1% lebih kecil dari PNG |
Kekhawatiran Kecepatan Mendominasi Diskusi Komunitas
Waktu pemrosesan format yang lebih lambat telah menjadi topik pembicaraan utama di kalangan developer. PEP membutuhkan waktu 2-10 kali lebih lama untuk kompresi dan dekompresi dibandingkan dengan format yang ada. Untuk scene kompleks 251 warna, dekompresi membutuhkan lebih dari 32 milidetik dengan PEP versus hanya 3 milidetik untuk PNG .
Anggota komunitas mempertanyakan apakah manfaat ukuran file dapat membenarkan penalti performa tersebut. Beberapa developer telah mencatat bahwa decoding PNG sudah cukup cepat untuk sebagian besar aplikasi, membuat trade-off kecepatan PEP dipertanyakan untuk banyak kasus penggunaan.
Perbandingan Kecepatan Pemrosesan
Format | Waktu Kompresi | Waktu Dekompresi | Faktor Kecepatan |
---|---|---|---|
PEP | 0.383-25.652 ms | 0.412-32.121 ms | 2-10x lebih lambat |
QOI | 0.023-1.03 ms | 0.028-1.004 ms | Dasar cepat |
PNG | Tidak ditentukan | ~0.25-3.069 ms | Kecepatan standar |
Aplikasi Niche Mendorong Minat
Meskipun ada kekhawatiran tentang kecepatan, format ini telah menemukan pendukung di kalangan developer game pixel art yang memprioritaskan ukuran file daripada kecepatan pemrosesan. Desain format ini secara khusus menargetkan game dan kompresi sprite, di mana ukuran file yang lebih kecil dapat menjadi krusial untuk distribusi dan penyimpanan.
Ini adalah format lossless yang dioptimalkan untuk ukuran file daripada kecepatan dekompresi; README tampaknya cukup jelas. Dibuat oleh developer game pixel art, untuk mengompresi sprite dalam game pixel art, jadi saya asumsikan ini cocok untuk niche yang berguna.
Early adopter telah mulai mengimplementasikan dukungan PEP dalam tools mereka, dengan setidaknya satu developer membuat command-line interface dan menambahkan dukungan ke aplikasi pixel art dalam hitungan jam setelah pengumuman format tersebut.
Implementasi Teknis Menimbulkan Pertanyaan
Format ini menggunakan model prediksi yang relatif sederhana yang hanya melihat dua pixel sebelumnya untuk memprediksi yang berikutnya, dibandingkan dengan pendekatan PNG yang lebih canggih dalam memeriksa empat pixel tetangga. Metode prediksi yang lebih sederhana ini, dikombinasikan dengan arithmetic encoding dan kompresi palet, mungkin menjelaskan mengapa performa PEP sangat bervariasi di berbagai jenis gambar.
Format ini tetap dalam status eksperimental, dan penciptanya mengakui bahwa diperlukan lebih banyak pengembangan dan feedback komunitas untuk menyempurnakan kemampuannya dan menentukan tempatnya yang sesungguhnya dalam lanskap format gambar.
Referensi: Prediction-Encoded Pixels