WebP Sıkıştırma Çalışması

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Giriş

libwebp'da kullanıma sunduğumuz yeni kodlayıcıya dayanarak WebP ve JPEG resim sıkıştırma işleminin karşılaştırmalı bir değerlendirmesini yaparız. Amaç, herkese açık araçları kullanarak bir dizi daha kolay tekrarlanabilir deneme çalıştırmak ve WebP ile JPEG'in elde ettiği resim sıkıştırmayı karşılaştırmaktır.

Daha önce yaptığımız WebP ile ilgili karşılaştırmalı araştırmamız, çok sayıda resmin değerlendirilmesine odaklandı 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ı sunar. Ayrıca, kalite metriği olarak başlangıçta Yoğun Sinyal-Gürültü Oranı veya PSNR'yi kullandık. PSNR, kaliteli resim metriği olarak kullanıldığında bazı dezavantajlar sağlar. Topluluğun geri bildirimlerine dayanarak, birkaç standart test süitinde bulunan resimler dahil olmak üzere PNG resimleri üzerinde denemeler gerçekleştiriyoruz. Bu çalışmada, çalışma için kalite metriği olarak Yapısal Benzerlik veya SSIM kullanılmıştır. SSIM, daha iyi bir görsel kalite metriği olarak kabul edilir.

Metodoloji

İki tür değerlendirmeyi açıklarız. İlk olarak, WebP'nin JPEG ile aynı kalite seviyesinde elde ettiği ek sıkıştırmayı inceleriz. Özellikle JPEG resimleriyle aynı kalitede (SSIM endeksine göre) WebP görüntüleri oluşturur, ardından WebP ve JPEG resimlerinin dosya boyutlarını karşılaştırırız. İkinci durumda WebP ve JPEG için SSIM ile piksel başına bit (bpp) grafiğini analiz ederiz. Bu grafiklerde, WebP ve JPEG için fiyat-bozukluk dengesi gösterilmektedir.

Denemeler için veri kümeleri PNG resimlerden oluşur. Bu resimler, web'den taranmış büyük bir PNG resim koleksiyonundan ve herkes tarafından erişilebilen standart test resim paketlerinden elde edildi.

Her deneme bir dizi komut çalıştırmaktan oluşur. Denemelerin diğer kullanıcılar tarafından makul ölçüde üretken olabilmesi için 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 ve convert, ImageMagick'in bir 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 geçiş yapmak için convert biçimini kullandık. Bir resmin genişlik ve yükseklik bilgilerini ayıklamak için identify özelliğini kullandık.

  • cwebp ve dwebp, 2011'in ilk çeyreğinde kullanıma sunduğumuz libwebp 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 kodlarını çözmek için cwebp ve dwebp işaretlemelerini kullandık. Bu araçların varsayılan kodlama ve kod çözme parametrelerini kullandık.

  • cjpeg ve djpeg, libjpeg kitaplığının parçası olan komut satırı araçlarıdır. Kitaplıkın 6b sürümünü kullandık. JPEG görüntüsünü kodlamak ve kodunu çözmek için cjpeg ve djpeg işaretlemelerini kullandık. Dosya boyutuna göre optimizasyon yapmak için -optimize işaretiyle cjpeg kullandık. Diğer tüm parametreleri varsayılan değerlerine ayarlarız.

Bir resmin kalitesi SSIM kullanılarak ölçüldü. Daha önce de belirtildiği gibi SSIM, genel olarak PSNR'den daha kaliteli bir metrik olarak kabul edilir. SSIM dizini hesaplaması için C++ ürününde herkese açık bir uygulama kullandık. Okuyucu, denemelerde kullandığımız Python komut dosyalarını referans olması için kod deposundan indirebilir.

Resim Veri Kümeleri

Veri kümelerini, büyük bir resim grubunun yanı sıra standart test resmi koleksiyonlarını değerlendirmek için seçtik. Denemelerde kullanılan veri kümelerinin listesi aşağıda verilmiştir.

  1. Lenna: Yaygın olarak kullanılan Lenna resmi (512 x 512 piksel).

  2. Kodak: Kodak gerçek renkli resim paketinden 24 resim.

  3. Tecnick: Tecnick.com adresinde bulunan koleksiyondan 100 resim. 100 orijinal boyut RGB renkli resim kullandık.

  4. Image_crawl: Çok sayıda resmi test etmek için Google Görsel Arama web tarama veritabanından rastgele bir PNG resim örneği toplarız. Taranan PNG resimlerinin çoğu simgeler, grafikler, grafikler ve taranmış dokümanlardır. Ancak, standart test koleksiyonlarındaki çoğu resim, bilgisayar tarafından oluşturulan resimler yerine fotoğraflara benzer. Bu veri kümesinin doğasını standart test paketlerine benzer bir hale getirmek için, bu PNG görüntülerin üzerinde bir yüz algılama algoritması çalıştırdık ve bu denemede yalnızca bu tespit testini geçen görüntüleri (yaklaşık 11.000) ele aldık.

1. Deneme: Eşit SSIM Dizininde WebP ve JPEG

Bu denemede, benzer SSIM değerlerinde JPEG ve WebP görüntüleri üretiyor ve dosya boyutlarının oranını ölçüyoruz. Denemenin adımları aşağıdaki gibidir:

  1. Kaynak PNG resmini, Q kalitesinde sabit bir kaliteyle JPEG'e sıkıştırın ve kaynak PNG resmi ile sıkıştırılmış JPEG resmi arasında SSIM'yi kaydedin.

  2. Aynı kaynak resmini, yukarıda kaydedilen SSIM'yi olabildiğince yakından sağlayan bir kalite parametresiyle WebP'ye sıkıştırın.

Yukarıdaki iki adımı veri kümesindeki tüm görüntülerde çalıştırıp JPEG ve WebP görüntüleri için ortalama dosya boyutunu ve SSIM'yi ölçtük.

Aşağıdaki tablolarda, bu denemenin JPEG kalite parametresi ile ilgili üç farklı değer (50, 75 ve 95) için 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. JPEG resimleri için genel olarak kalite seviyesi olduğundan, JPEG kalite parametresi 75'i de ekledik.

Tablo 1: SS Q=50'ye karşılık gelen aynı SSIM dizini için WebP ve JPEG'in ortalama dosya boyutu

Lenna Kodak'tan daha fazla içerik Teknorik Resim_tarama
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'e karşılık gelen aynı SSIM dizini için WebP ve JPEG'in ortalama dosya boyutu

Lenna Kodak'tan daha fazla içerik Teknorik Resim_tarama
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'e karşılık gelen aynı SSIM dizini için WebP ve JPEG'in ortalama dosya boyutu

Lenna Kodak'tan daha fazla içerik Teknorik Resim_tarama
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 tablolarda, WebP'nin eşit veya biraz daha iyi bir SSIM endeksinde JPEG'e kıyasla %25 ila %34 oranında daha fazla sıkıştırma kazancı sağladığını görüyoruz.

2. Deneme: WebP ve JPEG için SSIM - BPP Paketleri

JPEG ve WebP'nin ücret-bozukluk dengesini inceleriz. Özellikle, JPEG ve WebP için SSIM ve piksel başına bit (bpp) grafiğini inceleriz. Kaynak PNG resmini alırız ve mümkün olan tüm (0-100) kalite değerlerini kullanarak JPEG ve WebP dosyası 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 değerlerini gösteririz. Aşağıdaki şekiller, kullandığımız 3 herkese açık veri kümesinden seçilen 3 resmin bu SSIM ve bpp grafiğini göstermektedir.

Şekil 1: Lenna için SSIM ve BPP

Lenna için ssim - bpp karşılaştırması

Şekil 2: Kodim19.png için Kodak veri kümesinden SSIM ve BPP karşılaştırması

Kodim19 için ssim - 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ı

RGB_OR_1200x1200 için ssim - bpp karşılaştırması

Ayrıca Kodak ve Tecnick veri kümeleri için SSIM ile bpp grafiğinin ortalama davranışını inceledik. Ortalama davranışı göstermek için, WebP ve JPEG kullanılan bir veri kümesindeki tüm resimleri 100 farklı kalite değerinde sıkıştırırız. Daha sonra, her bir kalite değeri için SSIM ve bpp'nin ortalamasını çizeriz. Resim tarama veri kümesi, kendisini bu veri toplama işine vermeyen heterojen görüntülerden oluşur. Aşağıdaki grafiklerde Kodak ve Tecnick veri kümeleri için ortalama SSIM ve bpp davranışı gösterilmektedir.

Şekil 4: Kodak veri kümesi için SSIM - BPP

Kodak için ssim - bpp karşılaştırması

Şekil 5: Tecnick veri kümesi için SSIM ve BPP karşılaştırması

Tecnick veri kümesi için ssim - bpp karşılaştırması

Genel olarak yukarıdaki grafiklerde WebP'nin aynı SSIM endeksine ulaşmak için piksel başına JPEG'den daha az bit gerektirdiğini gözlemleyebiliriz.

Sonuç

Çalışmada, WebP sıkıştırması JPEG ile karşılaştırıldı. Ortalama WebP dosya boyutunun, eşdeğer SSIM dizinindeki JPEG dosya boyutuna kıyasla %25 ila% 34 daha küçük olduğunu gözlemledik. SSIM ve bpp grafiklerinin aynısı, WebP'nin aynı SSIM endeksi için tutarlı bir şekilde piksel başına JPEG'den daha az bit gerektirdiğini göstermiştir. Bu sonuçlar, WebP'nin JPEG üzerinde önemli sıkıştırma iyileştirmeleri sağlayabileceğini gösterir.


1 Huynh-Thu, Q.; Ganabar, M. (2008). "Resim/video kalitesi değerlendirmesinde PSNR'nin geçerliliği". Elektronik Harfler 44: 800-801.doi:10.1049/el:20080522.

2 Z. Wang, A. C. İstanbul, Türkiye R.'den ilham aldığımı düşünüyorum. Şeyh 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.