Einführung
Wir führen eine vergleichende Bewertung der WebP- und JPEG-Bildkomprimierung auf der Grundlage des neuen Encoders durch, den wir in libwebp
veröffentlicht haben. Ziel ist es, eine Reihe von leicht wiederholbaren Tests mit öffentlich verfügbaren Tools durchzuführen und die von WebP und JPEG erzielte Bildkomprimierung zu vergleichen.
In unserer früheren Vergleichsstudie zu WebP wurde eine große Anzahl von Bildern ausgewertet. Die Studie wurde mit JPEG-Quellen durchgeführt, die aus dem Web gecrawlt wurden. JPEG ist ein verlustbehaftetes Komprimierungsformat und führt Komprimierungsartefakte in die Quelle ein. Darüber hinaus haben wir anfangs das Spitzensignal-Rausch-Verhältnis oder das PSNR als Qualitätsmesswert verwendet. PSNR hat einige Nachteile, wenn es als Qualitätsmesswert von Bildern verwendet wird. Auf Grundlage des Feedbacks der Community führen wir die Tests mit PNG-Bildern durch, darunter Bilder, die in einigen Standard-Testsuiten verfügbar sind. Wir verwenden in dieser Studie „Structuralähnlichkeit“ oder SSIM als Qualitätsmesswert für diese Studie. SSIM wird als besserer Messwert für visuelle Qualität betrachtet.
Methodik
Wir beschreiben zwei Arten von Bewertungen. Im ersten Fall untersuchen wir die zusätzliche Komprimierung, die von WebP mit derselben Qualität von JPEG erzielt wird. Insbesondere generieren wir WebP-Bilder derselben Qualität (gemäß SSIM-Index) wie die JPEG-Bilder und vergleichen dann die Dateigrößen von WebP- und JPEG-Bildern. Im zweiten Fall analysieren wir SSIM- im Vergleich zu Bits pro Pixel (bpp)-Plot für WebP und JPEG. Diese Kurven zeigen den Kompromiss zwischen Verzerrung und Verzerrung von WebP und JPEG.
Die Datensätze für die Tests bestehen aus PNG-Bildern. Diese Bilder wurden aus öffentlich zugänglichen Standard-Testbildsuiten sowie aus einer großen Sammlung von PNG-Bildern abgerufen, die aus dem Web gecrawlt wurden.
Jeder Test besteht aus einer Reihe von Befehlen. Nur öffentlich verfügbare Befehlszeilentools werden verwendet, um die Tests für andere angemessen zu machen. Für diesen Test werden folgende Befehlszeilentools verwendet:
identify
undconvert
sind Befehlszeilentools, die Teil von ImageMagick sind. Für diese Analyse wurde Version 6.5.7 verwendet. Für die Konvertierung zwischen PNG- und PPM-Formaten wurdeconvert
verwendet. Wir haben mitidentify
die Informationen zu Breite und Höhe eines Bilds extrahiert.cwebp
unddwebp
sind Befehlszeilentools, die Teil der Bibliotheklibwebp
sind, die wir im 1. Quartal 2011 veröffentlicht haben. Wir haben Version 0.1.2 der Bibliothek verwendet. Wir haben die WebP-Bilder mitcwebp
unddwebp
codiert und decodiert. Wir haben die Standardcodierung und die Decodierungsparameter für diese Tools verwendet.cjpeg
unddjpeg
sind Befehlszeilentools, die Teil der Bibliotheklibjpeg
sind. Wir haben Version 6b der Bibliothek verwendet. Wir haben mitcjpeg
unddjpeg
ein JPEG-Bild codiert und decodiert. Wir habencjpeg
mit dem Flag-optimize
verwendet, um die Dateigröße zu optimieren. Für alle anderen Parameter werden die Standardwerte verwendet.
Die Qualität eines Bildes wurde mit SSIM gemessen. Wie bereits erwähnt, wird SSIM im Allgemeinen als besserer Messwert als PSNR akzeptiert. Für die Berechnung des SSIM-Index haben wir eine öffentlich verfügbare Implementierung in C++ verwendet. Der Leser kann die in den Tests verwendeten Python-Skripts aus dem Code-Repository herunterladen.
Bilddatensätze
Wir haben die Datasets für die Auswertung von Standardtest-Bildsammlungen sowie für eine große Gruppe von Bildern ausgewählt. Im Folgenden sind die in den Tests verwendeten Datensätze aufgeführt.
Lenna:Das weit verbreitete Lenna-Bild (512 x 512 Pixel)
Kodak: 24 Bilder aus der Kodak-Farbsuite
Tecnick:100 Bilder aus der Sammlung unter Tecnick.com. Wir haben die 100 RGB-Farbbilder in Originalgröße verwendet.
Image_crawl:Zum Testen einer großen Anzahl von Bildern haben wir eine zufällige Stichprobe von PNG-Bildern aus der Web-Crawling-Datenbank der Google Bildersuche ermittelt. Bei den meisten PNG-Bildern handelt es sich um Symbole, Grafiken, Diagramme, gescannte Dokumente usw. Die meisten Bilder in den Standardtestsammlungen ähneln jedoch Fotos und sind keine computergenerierten Bilder. Um dieses Dataset mit den Standardtestsuiten vergleichbar zu machen, wurde für diese PNG-Bilder ein Algorithmus zur Gesichtserkennung verwendet. Dabei wurden nur die Bilder (etwa 11.000) für diesen Test berücksichtigt, die diesen Erkennungstest bestanden haben.
Test 1: WebP vs. JPEG bei Equal SSIM Index
In diesem Experiment generieren wir JPEG- und WebP-Bilder mit vergleichbaren SSIM-Werten und messen das Verhältnis der Dateigrößen. Der Test umfasst die folgenden Schritte:
Komprimieren Sie das Quell-PNG-Bild in JPEG mit einem festen Qualitätsparameter Q und notieren Sie die SSIM zwischen dem PNG-Quellbild und dem komprimierten JPEG-Bild.
Komprimieren Sie dasselbe Quell-Image mit einem Qualitätsparameter in WebP, damit die oben erfasste SSIM so gut wie möglich erreicht wird.
Wir haben die obigen zwei Schritte für alle Bilder in einem Dataset ausgeführt und dann die durchschnittliche Dateigröße und SSIM für JPEG- und WebP-Bilder gemessen.
Die folgenden Tabellen zeigen die Ergebnisse dieses Tests für drei verschiedene Werte (50, 75 und 95) des JPEG-Qualitätsparameters Q. Die Qualitätsparameter 50 und 95 stellen die Bildkomprimierung mit niedriger bzw. hoher Bitrate dar. Außerdem haben wir den JPEG-Qualitätsparameter 75 eingefügt, da er allgemein die Qualitätsstufe für JPEG-Bilder empfiehlt.
Tabelle 1: Durchschnittliche Dateigröße für WebP und JPEG für denselben SSIM-Index, der JPEG Q=50 entspricht
Lena | Kodak | Tečnik | Bild-Crawling | |
---|---|---|---|---|
WebP: Durchschnittliche Dateigröße (Durchschnittliche SSIM) |
17,4 KB (0,841) |
31,0 KB (0,898) |
92,4 KB (0,917) |
6,5 KB (0,901) |
JPEG: Durchschnittliche Dateigröße (Durchschnittliche SSIM) |
23,5 KB (0,840) |
42,7 KB (0,897) |
124,6 KB (0,916) |
9,9 KB (0,899) |
Verhältnis zwischen WebP- und JPEG-Dateigröße | 0,74 | 0,72 | 0,74 | 0,66 |
Tabelle 2: Durchschnittliche Dateigröße für WebP und JPEG für denselben SSIM-Index, der JPEG Q=75 entspricht
Lena | Kodak | Tečnik | Bild-Crawling | |
---|---|---|---|---|
WebP: Durchschnittliche Dateigröße (Durchschnittliche SSIM) |
26,7 KB (0,864) |
46,5 KB (0,932) |
139,0 KB (0,939) |
9,9 KB (0,930) |
JPEG: Durchschnittliche Dateigröße (Durchschnittliche SSIM) |
37,0 KB (0,863) |
66,0 KB (0,931) |
191,0 KB (0,938) |
14,4 KB (0,929) |
Verhältnis zwischen WebP- und JPEG-Dateigröße | 0,72 | 0,70 | 0,73 | 0,69 |
Tabelle 3: Durchschnittliche Dateigröße für WebP und JPEG für denselben SSIM-Index, der JPEG Q=95 entspricht
Lena | Kodak | Tečnik | Bild-Crawling | |
---|---|---|---|---|
WebP: Durchschnittliche Dateigröße (Durchschnittliche SSIM) |
74,3 KB (0,910) |
118,0 KB (0,978) |
356,0 KB (0,970) |
23,4 KB (0,969) |
JPEG: Durchschnittliche Dateigröße (Durchschnittliche SSIM) |
104 KB (0,907) |
162 KB (0,976) |
492 KB (0,970) |
31,3 KB (0,968) |
Verhältnis zwischen WebP- und JPEG-Dateigröße | 0.71 | 0,73 | 0,72 | 0,75 |
Aus den obigen Tabellen können wir ersehen, dass WebP zusätzliche 25 % bis 34 % Komprimierungssteigerungen im Vergleich zu JPEG mit gleichem oder etwas besserem SSIM-Index bietet.
Test 2: Vergleich von SIM- und BPP-Diagrammen für WebP und JPEG
Wir untersuchen die Kompromisse bei der Verzerrung von JPEG und WebP. Insbesondere untersuchen wir die Plots von SSIM im Vergleich zu Bits pro Pixel (bpp) für JPEG und WebP. Wir nehmen das PNG-Quellbild und komprimieren es mit allen möglichen Qualitätswerten (0–100) in JPEG und WebP. Anschließend zeichnen wir für jeden Qualitätswert die SSIM und BPP für JPEG und WebP auf. Die folgenden Abbildungen zeigen solche SSIM- und BPP-Plots für die drei Bilder, die aus den drei öffentlichen Datasets ausgewählt wurden, die wir verwendet haben.
Abbildung 1: SSIM und BPP für Lenna im Vergleich
Abbildung 2: SSIM und BPP für kodim19.png aus dem Kodak-Dataset
Abbildung 3: SSIM vs. BPP für RGB_OR_1200x1200_061.png aus dem Tecnick-Dataset
Außerdem haben wir das durchschnittliche Verhalten von SSIM im Vergleich zu bpp-Plot für die Kodak- und Tecnick-Datasets untersucht. Zur Darstellung des durchschnittlichen Verhaltens werden alle Bilder in einem Dataset mithilfe von WebP und JPEG mit 100 verschiedenen Qualitätswerten komprimiert. Anschließend wird der Durchschnittswert von SSIM und BPP für jeden Qualitätswert dargestellt. Das Bild-Crawling-Dataset besteht aus heterogenen Bildern, die sich nicht für diese Datenaggregation eignen. Die folgenden Diagramme zeigen das durchschnittliche Verhalten von SSIM und BPP für die Datasets Kodak bzw. Tecnick.
Abbildung 4: SSIM und BPP im Kodak-Dataset
Abbildung 5: SSIM und BPP im Tecnick-Dataset
Insgesamt ist aus den obigen Diagrammen ersichtlich, dass WebP immer weniger Bits pro Pixel als JPEG benötigt, um denselben SSIM-Index zu erreichen.
Fazit
In der Studie wurde die WebP-Komprimierung im Vergleich zu JPEG ausgewertet. Wir haben festgestellt, dass die durchschnittliche WebP-Dateigröße 25 bis 34 % kleiner als die JPEG-Dateigröße bei einem entsprechenden SSIM-Index ist. Die Plots von SSIM im Vergleich zu BPP zeigen, dass WebP für denselben SSIM-Index durchweg weniger Bits pro Pixel erfordert als JPEG. Diese Ergebnisse weisen darauf hin, dass WebP gegenüber JPEG eine erhebliche Komprimierungsverbesserung vornehmen kann.
1 Huynh-Thu, Q.; Ghanbari, M. (2008): Gültigkeit der PSNR bei der Bild-/Videoqualitätsbewertung. Electronic Letters 44: 800-801.doi:10.1049/el:20080522.
2 Z. Wang, A. C. Bovik, H. R. Sheikh und E. P. Simoncelli, Bildqualitätsbewertung: Von der Fehlermessung bis zur strukturellen Ähnlichkeit, „Bildverarbeitung, IEEE-Transaktionen, Band 13, Ausgabe 4, S. 600–612, 2004.