PNG Biçimi Sıkıştırma Parametresine Sahip Olduğundan Kayıpsız mı?

PNG formatının kayıpsız bir format olması gerekir, ancak bir görüntüyü PNG dosyası olarak kaydettiğinizde bir sıkıştırma seviyesi seçmeniz istenir. Bu, PNG formatının aslında kayıpsız olmadığı anlamına mı geliyor? Bugünün Süper Kullanıcı Soru-Cevap gönderisi, meraklı bir okuyucu için kafa karışıklığını gidermeye yardımcı oluyor.

Bugünün Soru-Cevap oturumu bize, topluluk odaklı bir Soru-Cevap web siteleri grubu olan Stack Exchange'in bir alt bölümü olan SuperUser'ın izniyle geliyor.

Soru

SuperUser okuyucu pkout, bir PNG görüntüsünün kalitesinin seçilen sıkıştırma düzeyinden etkilenip etkilenmediğini bilmek ister:

Anladığım kadarıyla PNG dosyaları kayıpsız sıkıştırma kullanıyor. Bununla birlikte, Gimp gibi bir görüntü düzenleyici kullandığımda ve bir görüntüyü PNG dosyası olarak kaydetmeye çalıştığımda, 0 ile 9 arasında değişen bir sıkıştırma seviyesi istiyor.

Sıkıştırılmış görüntünün görsel hassasiyetini etkileyen bir sıkıştırma parametresine sahipse, PNG kayıpsız nasıl olur? Lütfen birisi bana bunu açıklayabilir mi? Kayıpsız davranışı yalnızca sıkıştırma düzeyini 9'a ayarladığımda mı elde ederim?

Seçtiğiniz sıkıştırma düzeyine bağlı olarak görüntünün kalitesinde bir fark var mı?

Cevap

SuperUser'a katkıda bulunanlar LordNeckbeard ve jjlin'in cevabı bizim için. İlk olarak, LordNeckbeard:

PNG Sıkıştırılmış, ancak Kayıpsız

Sıkıştırma seviyesi, dosya boyutu ile kodlama / kod çözme hızı arasında bir değiş tokuştur. Fazla genellemek gerekirse, FLAC gibi görüntü olmayan formatların bile benzer kavramları vardır.

Farklı Sıkıştırma Seviyeleri, Aynı Kod Çözülmüş Çıktı

Farklı sıkıştırma seviyeleri nedeniyle dosya boyutları farklı olsa da, kodu çözülen gerçek çıktı aynı olacaktır. MD5 muxer'ı kullanarak kodu çözülmüş çıktıların MD5 sağlamalarını ffmpeg ile karşılaştırabilirsiniz. Bu en iyi şekilde bazı örneklerle gösterilir.

PNG Dosyaları Oluşturun

  • Varsayılan olarak, ffmpeg PNG çıktısı için -compression_level 100 kullanır.
  • Hızlı, özensiz bir test, bu örnekte 100'ün (en yüksek sıkıştırma düzeyi) kodlamanın 0'dan (en düşük sıkıştırma düzeyi) kabaca üç kat daha uzun ve kodunun çözülmesinin beş kat daha uzun sürdüğünü gösterdi.

Dosya Boyutunu Karşılaştır

PNG Dosyalarının Kodunu Çözme ve MD5 Karmalarını Gösterme

Her iki karma da aynı olduğundan, kodu çözülmüş çıktıların (sıkıştırılmamış ham dosyalar) tamamen aynı olduğundan emin olabilirsiniz.

Jjlin'den gelen cevabın ardından:

PNG kayıpsızdır. GIMP, bu durumda büyük olasılıkla en iyi ifade seçeneğini kullanmamaktadır.

Bunu sıkıştırma kalitesi veya sıkıştırma seviyesi olarak düşünün . Daha düşük sıkıştırmayla daha büyük bir dosya elde edersiniz, ancak üretmek daha az zaman alır, oysa daha yüksek sıkıştırmayla, daha uzun süren daha küçük bir dosya elde edersiniz.

Tipik olarak azalan getiri elde edersiniz, yani boyutta en yüksek sıkıştırma seviyelerine çıkarken geçen zamandaki artışa kıyasla çok fazla azalma olmaz, ancak bu size bağlıdır.

Açıklamaya eklemek istediğiniz bir şey var mı? Yorumlarda ses çıkarın. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla yanıt okumak ister misiniz? Tartışma dizisinin tamamına buradan göz atın.