Format PNG seharusnya format lossless, tetapi ketika Anda menyimpan gambar sebagai file PNG, Anda diminta untuk memilih tingkat kompresi. Apakah ini berarti bahwa format PNG sebenarnya bukan lossless? SuperUser Q & A postingan hari ini membantu menjernihkan kebingungan bagi pembaca yang ingin tahu.
Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.
Pembaca pembaca SuperUser ingin tahu apakah kualitas gambar PNG dipengaruhi oleh tingkat kompresi yang dipilih:
Seperti yang saya pahami, file PNG menggunakan kompresi lossless. Namun, ketika saya menggunakan editor gambar seperti Gimp dan mencoba menyimpan gambar sebagai file PNG, itu meminta tingkat kompresi berkisar antara 0 dan 9.
Jika memiliki parameter kompresi yang mempengaruhi ketepatan visual dari gambar yang dikompresi, bagaimana PNG lossless? Bisakah seseorang menjelaskan ini padaku? Apakah saya mendapatkan perilaku tanpa kehilangan hanya ketika saya mengatur tingkat kompresi menjadi 9?
Apakah ada perbedaan kualitas gambar tergantung pada tingkat kompresi yang Anda pilih?
Kontributor SuperUser, LordNeckbeard dan jjlin punya jawabannya untuk kami. Pertama, LordNeckbeard:
PNG Compressed, tetapi Lossless
Tingkat kompresi adalah trade-off antara ukuran file dan encoding / kecepatan decoding. Untuk terlalu menggeneralisasi, bahkan format non-gambar seperti FLAC memiliki konsep yang serupa.
Tingkat Kompresi yang Berbeda, Output Yang Sama Yang Terdekodekan
Meskipun ukuran file berbeda karena tingkat kompresi yang berbeda, keluaran yang di-decode sebenarnya akan sama. Anda dapat membandingkan hash MD5 dari output yang didekodekan dengan ffmpeg menggunakan MD5 muxer. Ini paling baik ditunjukkan dengan beberapa contoh.
Buat File PNG
- Secara default, ffmpeg akan menggunakan -compression_level 100 untuk output PNG.
- Sebuah tes, cepat ceroboh menunjukkan bahwa 100 (tingkat kompresi tertinggi) mengambil kira-kira tiga kali lebih lama untuk menyandikan dan lima kali lebih lama untuk memecahkan kode dari 0 (tingkat kompresi terendah) dalam contoh ini.
Bandingkan Ukuran File
Dekode File PNG dan Tampilkan Hash MD5
Karena kedua hash itu sama, Anda dapat yakin bahwa output yang didekode (file mentah yang tidak dikompres) sama persis.
Diikuti oleh jawaban dari jjlin:
PNG tidak pernah rugi. GIMP kemungkinan besar tidak menggunakan pilihan kata-kata terbaik dalam kasus ini.
Anggap saja sebagai kualitas kompresi atau tingkat kompresi. Dengan kompresi yang lebih rendah, Anda mendapatkan file yang lebih besar, tetapi membutuhkan waktu lebih sedikit untuk menghasilkan, sedangkan dengan kompresi yang lebih tinggi, Anda mendapatkan file yang lebih kecil yang membutuhkan waktu lebih lama untuk menghasilkan.
Biasanya Anda mendapatkan hasil yang berkurang, yaitu tidak sebanyak penurunan ukuran dibandingkan dengan peningkatan waktu yang diperlukan ketika naik ke tingkat kompresi tertinggi, tetapi terserah Anda.
Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.