Giriş
libwebp
ayında kullanıma sunduğumuz yeni kodlayıcı temelinde WebP ve JPEG resim sıkıştırması için karşılaştırmalı bir değerlendirme yapıyoruz. Amaç, herkese açık araçları kullanarak kolayca tekrarlanabilir bir dizi deneme yapmak ve WebP ile JPEG'nin sağladığı görüntü sıkıştırmayı karşılaştırmaktır.
Daha önce yaptığımız karşılaştırmalı WebP çalışmamız, çok sayıda resmi değerlendirmeye odaklıydı ve web'den taranan JPEG kaynakları üzerinde yürütüldü. JPEG, kayıplı bir sıkıştırma biçimidir ve kaynağa sıkıştırma yapıları getirir. Ayrıca, kalite metriği olarak başlangıçta En Yüksek Sinyal-Gürültü Oranı'nı veya PSNR'yi kullandık. PSNR, resim kalitesi metriği olarak kullanıldığında bazı dezavantajlara sahiptir. Topluluktan aldığımız geri bildirimler doğrultusunda, birkaç standart test paketinde bulunan resimler de dahil olmak üzere PNG resimleri üzerinde denemeler yapıyoruz. Bu çalışmada, bu çalışmanın kalite metriği olarak Yapısal Benzerlik veya SSIM metriklerini kullanıyoruz. SSIM'nin daha iyi bir görsel kalite metriği olduğu düşünülür.
Metodoloji
İki tür değerlendirme açıklanır. İlk örnekte, WebP'nin aynı kalite düzeyinde JPEG ile elde ettiği ek sıkıştırmayı inceliyoruz. Özellikle, JPEG resimleriyle aynı kalitede (SSIM dizinine göre) WebP resimler oluşturur, ardından WebP ve JPEG resimlerinin dosya boyutlarını karşılaştırırız. İkinci örnekte, WebP ve JPEG için SSIM ve piksel başına bit (bpp) grafiklerini karşılaştırıyoruz. Bu grafikler WebP ve JPEG'de hız-bozulma dengesini gösterir.
Denemeler için veri kümeleri PNG resimlerden oluşur. Bu resimler, herkesin erişebileceği standart test görüntüsü paketlerinin yanı sıra web'den taranan büyük bir PNG resim koleksiyonundan da elde edilmiştir.
Her deneme, bir dizi komutun çalıştırılmasından oluşur. Denemelerin diğerleri için makul ölçüde yeniden üretilebilir olmasını sağlamak amacıyla yalnızca herkese açık komut satırı araçları kullanılır. Bu deneme için kullanılan komut satırı araçları şunlardır:
identify
veconvert
, ImageMagick'in parçası olan komut satırı araçlarıdır. Bu analiz için 6.5.7 sürümünü kullandık. PNG ve PPM biçimleri arasında dönüşüm yapmak içinconvert
kullandık. Bir resmin genişlik ve yükseklik bilgilerini ayıklamak içinidentify
parametresini kullandık.cwebp
vedwebp
, 2011'in 1. çeyreğinde kullanıma sunduğumuzlibwebp
kitaplığının bir parçası olan komut satırı araçlarıdır. Kitaplığın 0.1.2 sürümünü kullandık. WebP görüntülerini kodlamak ve kodunu çözmek içincwebp
vedwebp
araçlarını kullandık. Bu araçların varsayılan kodlama ve kod çözme parametrelerini kullandık.cjpeg
vedjpeg
,libjpeg
kitaplığının bir parçası olan komut satırı araçlarıdır. Kitaplığın 6b sürümünü kullandık. JPEG görüntüsünü kodlamak ve kodunu çözmek içincjpeg
vedjpeg
parametrelerini kullandık. Dosya boyutunu optimize etmek için-optimize
işaretiyle birliktecjpeg
değerini kullandık. Diğer tüm parametreleri varsayılan değerlerine ayarlıyoruz.
Bir resmin kalitesi SSIM kullanılarak ölçülmüştür. Daha önce de belirtildiği gibi, SSIM genellikle PSNR'den daha iyi bir kalite metriği olarak kabul edilir. SSIM dizin hesaplaması için C++'ta herkese açık bir uygulama kullandık. Okuyucu, referans olması için deneylerde kullandığımız Python komut dosyalarını kod deposundan indirebilir.
Resim Veri Kümeleri
Veri kümelerini, standart test resmi koleksiyonlarını ve büyük bir resim grubunu değerlendirmek için seçtik. Aşağıda, denemelerde kullanılan veri kümelerinin listesi verilmiştir.
Lenna: Yaygın olarak kullanılan Lenna resmi (512 x 512 piksel).
Kodak: Kodak gerçek renkli resim paketinden 24 resim.
Tecnick: Tecnick.com adresinde bulunan koleksiyondan 100 resim. Orijinal boyutlu 100 RGB renkli resmi kullandık.
Image_crawl: Çok sayıda resmi test etmek için Google Görsel Arama web tarama veritabanından PNG resimlerinin rastgele bir örneğini topladık. Taranan PNG resimlerinin çoğu simge, grafik, grafik, taranmış belge vb.dir. Bununla birlikte, standart test koleksiyonlarındaki çoğu resim bilgisayar tarafından oluşturulan değil, fotoğrafa benzer. Bu veri kümesinin standart test paketlerine benzer bir yapıda olması için bu PNG görüntülerinin üzerinde bir yüz algılama algoritması çalıştırdık ve denemede yalnızca bu algılama testinden geçen görüntüleri (yaklaşık 11.000) dikkate aldık.
1. Deneme: Eşit SSIM Dizininde WebP ve JPEG
Bu deneyde, karşılaştırılabilir SSIM değerlerinde JPEG ve WebP resimleri oluşturuyor ve dosya boyutlarının oranını ölçüyoruz. Denemenin adımları aşağıdaki gibidir:
Kaynak PNG resmini, sabit kalite parametresi Q ile JPEG olarak sıkıştırın ve SSIM'i kaynak PNG resmi ile sıkıştırılmış JPEG resmi arasında kaydedin.
Aynı kaynak görüntüyü, yukarıda kaydedilen SSIM'ye mümkün olduğunca yakın bir şekilde ulaşan bir kalite parametresiyle WebP'ye sıkıştırın.
Yukarıdaki iki adımı bir veri kümesindeki tüm görüntüler üzerinde çalıştırdık ve ardından JPEG ve WebP görüntüleri için ortalama dosya boyutunu ve SSIM'yi ölçtük.
Aşağıdaki tablolarda, JPEG kalite parametresi Q'nun üç farklı değeri (50, 75 ve 95) için bu denemenin sonuçları gösterilmektedir. Kalite parametreleri 50 ve 95, sırasıyla düşük ve yüksek bit hızlarında resim sıkıştırmayı temsil eder. Ayrıca, JPEG resimleri için genellikle önerilen kalite seviyesi 75 olduğundan JPEG kalite parametresi 75'i de ekledik.
Tablo 1: JPEG Q=50 değerine karşılık gelen aynı SSIM dizini için WebP ve JPEG için ortalama dosya boyutu
Lenna | Kodak | Teknik | Image_crawl | |
---|---|---|---|---|
WebP: Ortalama Dosya Boyutu (Ortalama SSIM) |
17,4 KB (0,841) |
31,0 KB (0,898) |
92,4 KB (0,917) |
6,5 KB (0,901) |
JPEG: Ortalama Dosya Boyutu (Ortalama SSIM) |
23,5 KB (0,840) |
42,7 KB (0,897) |
124,6 KB (0,916) |
9,9 KB (0,899) |
WebP'nin JPEG dosya boyutuna oranı | 0.74 | 0,72 | 0.74 | 0.66 |
Tablo 2: JPEG Q=75 değerine karşılık gelen aynı SSIM dizini için WebP ve JPEG için ortalama dosya boyutu
Lenna | Kodak | Teknik | Image_crawl | |
---|---|---|---|---|
WebP: Ortalama Dosya Boyutu (Ortalama SSIM) |
26,7 KB (0,864) |
46,5 KB (0,932) |
139,0 KB (0,939) |
9,9 KB (0,930) |
JPEG: Ortalama Dosya Boyutu (Ortalama SSIM) |
37,0 KB (0,863) |
66,0 KB (0,931) |
191,0 KB (0,938) |
14,4 KB (0,929) |
WebP'nin JPEG dosya boyutuna oranı | 0,72 | 0,70 | 0.73 | 0,69 |
Tablo 3: JPEG Q=95 durumuna karşılık gelen aynı SSIM dizini için WebP ve JPEG için ortalama dosya boyutu
Lenna | Kodak | Teknik | Image_crawl | |
---|---|---|---|---|
WebP: Ortalama Dosya Boyutu (Ortalama SSIM) |
74,3 KB (0,910) |
118,0 KB (0,978) |
356,0 KB (0,970) |
23,4 KB (0,969) |
JPEG: Ortalama Dosya Boyutu (Ortalama SSIM) |
104 KB (0,907) |
162 KB (0,976) |
492 KB (0,970) |
31,3 KB (0,968) |
WebP'nin JPEG dosya boyutuna oranı | 0.71 | 0.73 | 0,72 | 0,75 |
Yukarıdaki tablolardan, WebP'nin eşit veya biraz daha iyi bir SSIM endeksine sahip JPEG'e kıyasla %25-%34 ek sıkıştırma kazanımı sağladığını görebiliriz.
2. Deneme: WebP ve JPEG için SSIM ve BPP Grafikleri
JPEG ve WebP'nin hız-distorsiyon dengesini araştırıyoruz. Özellikle, JPEG ve WebP için SSIM ve piksel başına bit (bpp) grafiklerini karşılaştırıyoruz. Kaynak PNG resmini alır ve mümkün olan tüm (0-100) kalite değerlerini kullanarak JPEG ve WebP olarak sıkıştırırız. Daha sonra, her kalite değeri için JPEG ve WebP için elde edilen SSIM ve bpp'yi çizeriz. Aşağıdaki şekillerde, kullandığımız 3 herkese açık veri kümesinden seçilen 3 görüntü için bu tür SSIM ve Bpp grafikleri gösterilmektedir.
Şekil 1: Lenna için SSIM ve BPP karşılaştırması
Şekil 2: Kodak veri kümesinden kodim19.png için SSIM ve BPP karşılaştırması
Şekil 3: Tecnick veri kümesinden RGB_OR_1200x1200_061.png için SSIM ve BPP karşılaştırması
Buna ek olarak, Kodak ve Tecnick veri kümeleri için SSIM ve bpp grafiğinin ortalama davranışını inceledik. Ortalama davranışın grafiğini çizmek için bir veri kümesindeki tüm görüntüleri WebP ve JPEG kullanarak 100 farklı kalite değerinde sıkıştırırız. Daha sonra, her kalite değeri için SSIM ve Bpp ortalamasını çizeriz. Resim tarama veri kümesi, bu veri toplama kapsamına girmeyen heterojen resimlerden oluşur. Aşağıdaki grafiklerde, Kodak ve Tecnick veri kümeleri için sırasıyla SSIM ve bpp'in ortalama davranışı gösterilmektedir.
Şekil 4: Kodak veri kümesi için SSIM ve BPP karşılaştırması
Şekil 5: Tecnick veri kümesi için SSIM ve BPP karşılaştırması
Genel olarak, yukarıdaki grafiklerden WebP'nin aynı SSIM dizinini elde etmek için sürekli olarak JPEG'den daha az bit gerektirdiğini gözlemleyebiliriz.
Sonuç
Çalışmada, WebP sıkıştırması JPEG ile karşılaştırılarak değerlendirilmiştir. Eşdeğer SSIM dizinindeki JPEG dosya boyutuna kıyasla ortalama WebP dosya boyutunun %25-%34 daha küçük olduğunu gözlemledik. SSIM ve bpp grafikleri, WebP'nin aynı SSIM dizini için sürekli olarak JPEG'den daha az bit gerektirdiğini göstermiştir. Bu sonuçlar, WebP'nin JPEG üzerinde önemli miktarda sıkıştırma iyileştirmeleri sağlayabileceğini göstermektedir.
1 Huynh-Thu, Q; Ghanbari, M. (2008). "Resim/video kalitesi değerlendirmesinde PSNR'nin geçerlilik kapsamı". Elektronik Mektuplar 44: 800-801.doi:10.1049/el:20080522.
2 Z. Wang, A. C. Bovik, H. R. Sheikh ve E. P. Simoncelli, "Resim kalitesi değerlendirmesi: Hata ölçümünden yapısal benzerliğe," Resim İşleme, IEEE İşlemleri, Cilt 13, Sayı 4, s. 600-612, 2004.