Vergleichstest von WebP, JPEG und JPEG 2000, September 2010
Hinweis:Dieser erste Test wurde mit der ersten veröffentlichten Version von WebP durchgeführt, für die die libvpx
-Bibliothek verwendet wurde. Außerdem waren die Quellbilder JPEG-Bilder, die wir aus dem Web gecrawlt haben. Auf Grundlage des Feedbacks der Community haben wir jetzt eine neue Studie mit Version 0.1.2 von libwebp
durchgeführt, beginnend mit verlustfreien Bildern (PNG) als Quelle. Die neue Studie ersetzt diese Studie.
Das WebP-Team führte einen Vergleichstest von drei Bildkomprimierungsmethoden an einer zufälligen Gruppe von einer Million Bildern durch. Ziel der Studie war es, die mit diesen Methoden erzielte Komprimierung zu messen und die Vor- und Nachteile von Bildgrößen und Komprimierung zu analysieren.
Auf die 900.000 JPEG-Bilder im Datensatz wurden drei Komprimierungsmethoden angewendet: WebP, JPEG 2000 und Re-JPEG. JPEG-Bilder wurden mit Re-JPEG neu komprimiert, damit sie so nah wie möglich an einem Zielwert für das PSNR (Peak Signal-to-Noise Ratio) liegen. Die Analyse des Teams wurde an den Bildern durchgeführt, nachdem sie komprimiert wurden.
Zusätzlich zu der groß angelegten Studie hat das Team 100 zufällig ausgewählte Bilder manuell geprüft und festgestellt, dass WebP in den meisten Fällen eine akzeptable visuelle Qualität bietet.
Ergebnisse
WebP erreicht insgesamt eine höhere Komprimierung als JPEG oder JPEG 2000. Die Vorteile der Minimierung der Dateigröße sind besonders hoch bei kleineren Bildern, die im Web am häufigsten vorkommen.
Datensatz
Der in der Studie verwendete Datensatz bestand aus einer Sammlung von einer Million Bildern, die zufällig aus einem Repository mit Bildern ausgewählt wurden, die aus dem Web gecrawlt wurden. In der folgenden Tabelle sehen Sie die Verteilung der verschiedenen Bildtypen im Datensatz.
Typ | Anzahl |
---|---|
JPEG | ~900.000 |
PNG | ~47.000 |
GIF | ~47.000 |
Sonstiges | ~6.000 |
Testdesign
Die Tests wurden in zwei Phasen durchgeführt:
Das Team führte WebP mit einer Ziel-PSNR von 42 auf den Bildern aus. Sie haben den Qualitätsparameter (QP) für den WebP-Encoder so angepasst, bis sie ein Ergebnis erreicht haben, das für ein bestimmtes Bild so nah wie möglich an 42 lag. Die tatsächliche PSNR, die für jedes Bild erzielt wurde, war daher nicht unbedingt genau 42.
Das Team verwendete den PSNR-Wert für die mit WebP komprimierten Bilder als Ziel-PSNR für die JPEG 2000- und Re-JPEG-Bilder. Außerdem wurde eine lineare Suche über die Qualitätsparameter der JPEG 2000- und JPEG-Bilder durchgeführt, um dem Ziel-PSNR so nahe wie möglich zu kommen.
Das tatsächliche Komprimierungsergebnis wurde als Prozentsatz mit der folgenden Formel gemessen:
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
Ergebnisse
Die Tests ergaben die folgenden Ergebnisse für negative und nicht negative Komprimierungsgewinne:
Nicht negativer Komprimierungsgewinn
Eine Methode wurde nicht bestraft, wenn sie die Bildgröße nach der Komprimierung erhöhte. Das bedeutet, dass der Wert „compression_percentage“ als 0 betrachtet wurde, wenn „compressed_image.length“ größer als „original_image.length“ war.
Negativer Komprimierungsgewinn
Das Team erlaubte negative Komprimierungsprozentsätze, um die Rohleistung der verschiedenen Kompressoren besser nachvollziehen zu können.
Im Folgenden finden Sie die durchschnittlichen Komprimierungsprozentsätze, die mit den drei Methoden erzielt wurden.
Typ | Durchschnittliche PSNR | Durchschnittliche Komprimierung in % (nicht negativer Komprimierungsgewinn) |
Durchschnittliche Komprimierung in % (negativer Komprimierungsgewinn) |
---|---|---|---|
WebP | 39,38 | 41,30 | 39,80 |
JPEG 2000 | 39,49 | 27,67 | 9.71 |
Re-JPEG | 39,36 | 22,37 | 14.62 |
Wenn ein negativer Komprimierungsgewinn zulässig war, war die durchschnittliche Leistung von JPEG 2000 niedriger als die von JPEG. Das kann an hochfrequenten Artefakten in den JPEG-Bildern liegen, die zu einer suboptimalen Komprimierung beitragen können.
Mit der Kakadu-Implementierung, die im Test zur Umwandlung in JPEG 2000 verwendet wurde, konnten etwa 240.000 Bilder nicht konvertiert werden.
JPEG 2000 hatte einen niedrigeren Komprimierungsprozentsatz als Re-JPEG, vor allem weil das JPEG 2000-Ergebnis für viele Bilder eine negative Komprimierung war. Aus diesem Grund haben JPEG-Bilder eine niedrigere Komprimierungsbewertung erhalten.
Die folgenden Abbildungen zeigen Verteilungsdiagramme für die drei Methoden:
Abbildung 1: Verteilung der Bildgrößen
Die Grafik zeigt, dass die meisten Bilder klein waren. Die Häufigkeit von Bildern mit einer Größe von mehr als 500.000 Byte liegt in der Regel unter 100.
Abbildung 2: Komprimierungsprozentsätze für WebP-, JPEG- und JPEG 2000-Bilder
Dieses Diagramm zeigt, dass die mit WebP komprimierten Bilder besser komprimiert wurden als die mit re-jpeg und JPEG 2000. Außerdem wurden die mit WebP komprimierten Bilder positiver komprimiert als die anderen.
Abbildung 3: Vergleich von Bildgrößen und Komprimierungsprozentsatz
Dieses Diagramm zeigt, dass WebP eine bessere Komprimierung als die anderen Formate erreicht, insbesondere bei kleineren Bildern.