30Aug

Sıkıştırma Parametreli Olan PNG Formatları Kayıpsız Mıdır?

nasıl-is--png formatlı-kayıpsız-it-a-sıkıştırmaya sahip olduğu-parametreli-00

PNG formatının kayıpsız bir format olması beklenir, ancak resmi bir PNG dosyası olarak kaydettiğinizde, bir sıkıştırma seviyesi seçmeniz istenir. Bu, PNG formatının gerçekten de kayıpsız olmadığı anlamına mı geliyor? Bugünün Süper Kullanıcısı Q & A postası, merak uyandırıcı bir okuyucunun karışıklığını gidermeye yardımcı oluyor.

Bugünkü Soru &Cevap oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser sayesinde sağlanır.

Soru

SuperUser okuyucu pkout, bir PNG resminin kalitesinin seçilen sıkıştırma seviyesinden etkilenip etkilenmediğini öğrenmek istiyor:

Anladığıma göre, PNG dosyaları kayıpsız sıkıştırmayı kullanıyor. Bununla birlikte, Gimp gibi bir resim düzenleyicisi kullanıyorum ve resmi bir PNG dosyası olarak kaydetmeyi denediğimde, 0 ile 9 arasında değişen bir sıkıştırma seviyesi istiyor.

Sıkıştırılmış görsel hassasiyeti etkileyen bir sıkıştırma parametresi varsaPNG kayıpsız nasıl? Lütfen biri bunu bana açıklayabilir mi? Yalnızca sıkıştırma düzeyini 9 olarak ayarladığımda kayıpsız davranış mı alıyorum?

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

Cevap

SuperUser katılımcıları LordNeckbeard ve jjlin bize cevap buluyor.İlk önce, LordNeckbeard:

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

Sıkıştırma seviyesi, dosya boyutu ile şifreleme / kod çözme hızı arasında bir dengedir. Aşırı genelleme yapmak için, FLAC gibi resim dışı biçimler bile benzer kavramlara sahiptir.

Farklı Sıkıştırma Düzeyleri, Aynı Çözülmüş Çıktı

Farklı sıkıştırma düzeyleri nedeniyle dosya boyutları farklı olmakla birlikte, gerçek çözülen çıktı aynı kalacaktır.Çözülen çıktıların MD5 hashlerini MD5 muxer kullanarak ffmpeg ile karşılaştırabilirsiniz. Bu, en iyi bazı örneklerle gösterilir.

PNG Dosyaları Oluşturma

nasıl-is--png formatlı-kayıpsız-it-a-sıkıştırmaya sahip olduğu-parametreli-01

  • Varsayılan olarak, ffmpeg PNG çıkışı için -compression_level 100 kullanacaktır.
  • Hızlı, özensiz bir test, 100( en yüksek sıkıştırma seviyesi) kodlamanın kabaca üç kat daha uzun olduğunu ve bu örnekteki 0'ın( en düşük sıkıştırma seviyesinin) değerinin beş kat daha uzun olduğunu belirtti.

Dosya Boyutunu Karşılaştır

nasıl-is--png formatlı-kayıpsız-it-a-sıkıştırmaya sahip olduğu-parametreli-02

PNG Dosyalarını Çözür ve Göster MD5 Hasarları

nasıl-is--png formatlı-kayıpsız-it-a-sıkıştırmaya sahip olduğu-parametreli-03

Her iki karışık de aynı olduğundan, dekode edilen çıktıların( sıkıştırılmamış ham dosyalar) tam olarak aynı olduğundan emin olabilirsiniz.

Bunu jjlin'den gelen cevap izledi:

PNG kayıpsızdır. Bu durumda GIMP, muhtemelen en iyi ifade seçeneklerini kullanmıyor.

sıkıştırma kalitesi veya sıkıştırma seviyesi olarak düşünün. Daha düşük sıkıştırma ile daha büyük bir dosya elde edersiniz, ancak üretmek daha kısa sürer, oysa daha yüksek sıkıştırma ile üretmek daha uzun sürecek daha küçük bir dosya elde edersiniz.

Genellikle azalan getiri elde edersiniz, yani en yüksek sıkıştırma seviyelerine çıkarken geçen zamana kıyasla büyüklükte bir azalma olmaz, ancak bu size bağlıdır.

Açıklamaya eklemek için bir şey var mı?Yorumların sesini kapatın. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.