Studio comparativo

Studio comparativo di WebP, JPEG e JPEG 2000, settembre 2010

Nota: avevamo condotto questo studio iniziale con la prima versione di WebP che abbiamo rilasciato, che utilizzava la libreria libvpx. Inoltre, la fonte erano immagini JPEG che abbiamo scansionato dal Web. In base al feedback di comunità, abbiamo intrapreso un'attività nuovo studio con versione 0.1.2 di libwebp che iniziano con immagini senza perdita di dati (PNG) come origine. Il nuovo studio ha la precedenza su questo studio.

Il team di WebP ha condotto uno studio comparativo di tre metodi di compressione delle immagini. in un insieme casuale di 1 milione di immagini. Gli obiettivi dello studio erano misurare la compressione ottenuta con questi metodi e analizzare i compromessi tra dimensioni e compressione delle immagini.

Sono stati applicati tre metodi di compressione, WebP, JPEG 2000 e Re-JPEG, 900.000 immagini JPEG contenute nel set di dati. Le immagini JPEG sono state ricompresse con Re-JPEG in modo che ognuno di essi sia il più vicino possibile a un picco target il valore del rapporto segnale-rumore (PSNR). L'analisi del team è stata eseguita sulle immagini dopo che sono stati compressi.

Oltre allo studio su larga scala, il team ha ispezionato manualmente 100 e abbiamo scoperto che, nella maggior parte dei casi, WebP fornisce una qualità visiva accettabile.

Conclusioni

WebP ottiene complessivamente una compressione maggiore di JPEG o JPEG 2000. Guadagni minimizzazioni delle dimensioni dei file sono particolarmente elevate per le immagini più piccole, quelle più comuni trovate sul web.

Set di dati

Il set di dati utilizzato nello studio era una raccolta di 1 milione di immagini in modo casuale campionate da un repository di immagini sottoposte a scansione dal web. La tabella seguente mostra la distribuzione dei diversi tipi di immagini nel set di dati.

Tipo Conteggio
JPEG ~900.000
PN ~47.000
GIF ~47.000
Altro ~6.000

Progettazione dell'esperimento

Gli esperimenti sono stati condotti in due fasi:

  1. Il team ha eseguito WebP sulle immagini con un PSNR target pari a 42. Hanno ottimizzato il parametro di qualità (QP) del codificatore WebP finché non ha ottenuto un un valore molto simile a 42 per una determinata immagine. L'effettivo Il valore PSNR ottenuto per ogni immagine, pertanto, non era necessariamente esattamente 42.

  2. Il team ha utilizzato il valore PSNR per le immagini compresse da WebP come target PSNR per le immagini JPEG 2000 e Re-JPEG. Ha anche cantato una linea cerca i parametri di qualità delle immagini JPEG 2000 e JPEG in per avvicinarsi il più possibile al PSNR di destinazione.

Il risultato effettivo della compressione è stato misurato in percentuale utilizzando quanto segue: formula:

compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length

Risultati

I test hanno prodotto i seguenti risultati per negativi e non negativi aumento della compressione:

Guadagno a compressione non negativo

Il team non ha penalizzato un metodo se questo metodo ha aumentato le dimensioni dell'immagine dopo la compressione. Ciò significa che la percentuale di compressione è stata considerata pari a 0 quando compressi_image.length era maggiore di originali_image.length.

Guadagno a compressione negativo

Il team ha consentito i risultati con percentuale di compressione negativa per migliorare la comprensione dei vari compressori prestazioni non elaborate.

Di seguito sono riportate le percentuali medie di compressione ottenute da ciascuna uno dei tre metodi.

Tipo PSNR medio ottenuto % compressione media
(aumento della compressione non negativo)
% compressione media
(aumento della compressione negativo)
WebP 39,38 41,30 39,80
JPEG 2000 39,49 27,67 9,71
Re-JPEG 39,36 22,37 14,62

Quando è stato consentito un guadagno negativo della compressione, il rendimento medio di JPEG 2000 è inferiore a quello di JPEG. Ciò può essere dovuto a artefatti ad alta frequenza presente nelle immagini JPEG; questi artefatti possono contribuire una situazione di compressione non ottimale.

L'implementazione Kakadu utilizzata nell'esperimento per la conversione in JPEG 2000 non è riuscito a convertire circa 240.000 immagini.

JPEG 2000 aveva percentuali di compressione inferiori rispetto a Re-JPEG, principalmente perché il risultato di JPEG 2000 è risultato essere una compressione negativa di molte immagini. Per questo motivo, le immagini JPEG hanno ottenuto un punteggio di compressione complessivo più basso.

Le seguenti figure forniscono grafici di distribuzione per i tre metodi:

Figura 1: distribuzione della popolazione delle dimensioni delle immagini

Il grafico mostra che la maggior parte delle immagini erano piccole. La frequenza con dimensioni superiori a 500 kB è generalmente inferiore a 100.

Figura 2: percentuali di compressione per immagini WebP, JPEG e JPEG 2000

Questo grafico mostra che il corpo delle immagini compresse con WebP ha ricevuto una compressione migliore rispetto a re-jpeg e jpeg 2000. Inoltre, le immagini compresse mentre WebP ha avuto una compressione più positiva degli altri.

Figura 3: confronto tra dimensioni delle immagini e percentuale di compressione

Questo grafico mostra che WebP ottiene una compressione migliore rispetto agli altri formati, in particolare per le immagini più piccole.