Cosa sono gli artefatti jpeg e cosa si può fare al riguardo?


25

So che JPEG è un algoritmo di compressione "lossy" che elimina le informazioni per risparmiare spazio. Qual è l'impatto visivo di questo? Ho sentito parlare di "manufatti JPEG". Che aspetto hanno?

Ci sono situazioni in cui lo stesso livello di compressione crea più artefatti e sembra peggiore? Il contenuto dell'immagine è importante? Cosa gestisce bene l'algoritmo e con cosa ha problemi?

Supponendo che JPEG sia un requisito, esiste un modo per ridurre gli artefatti? Se sto caricando su un servizio Web che applicherà la propria compressione al di fuori del mio controllo, c'è qualcosa che posso fare in anticipo sull'immagine per farla sopravvivere meglio?


Alcune risposte a pezzi di questa domanda esistono qui: photo.stackexchange.com/questions/5317/…
dpollitt,

Grazie @dpollit. Non l'ho visto a causa dell'ortografia britannica e della mancanza di tag. Inoltre, si tratta in particolare di risoluzione bassa e dimensioni file ridotte.
Mattdm,

Mi piacerebbe vedere alcuni esempi a livello di pixel (o più grandi) nelle risposte.
Mattdm,

1
Vorrei indirizzarti alla mia risposta sull'argomento @dpollit collegato in precedenza, in particolare il sito Web collegato da esso, che ha un intero carico di immagini di esempio da tutti i principali livelli di "qualità", con dettagli a livello di pixel, per una varietà di tipi di immagini.
jrista

1
@BBking - Mi piacerebbe vedere una risposta elaborando su questo, con riferimenti.
Mattdm,

Risposte:


19

Un esempio

Utilizzando la foto corrente dell'immagine della settimana. Questo è il JPEG di alta qualità:

gimp Q = 99

salvato nuovamente in Gimp con qualità JPEG 80 (bassa); notare la perdita generale di nitidezza, i "punti" attorno ai bordi ad alto contrasto, la perdita di dettagli nelle aree a basso contrasto:

gimp Q = 80

e nuovamente salvato in GIMP con qualità JPEG 30 (molto bassa); notare evidenti blocchi 8x8 e grave perdita di nitidezza e dettagli cromatici:

gimp Q = 30

Tre tipi di distorsioni

JPEG tende a introdurre due tre tipi di distorsioni:

  • perdita generale di nitidezza e oscillazioni attorno ai bordi ad alto contrasto: sono dovuti a transizioni di intensità approssimative con funzioni lisce (coseni); li vedi come piccoli "punti" o "aloni" attorno ai bordi; sono particolarmente facili da vedere nelle immagini del testo dei disegni a mano.
  • struttura di blocco: l'immagine viene elaborata separatamente per ogni blocco 8x8 (o più grande in caso di downsampling di crominanza), i bordi del blocco diventano visibili ad alti rapporti di compressione.
  • perdita di dettaglio del colore: dipende dal salvataggio dei parametri, il programma può "sottocampionare" in modo aggressivo (ridurre la risoluzione di) canali di cromaticità; raramente è un problema per la fotografia naturale.

La struttura a blocchi visibile e gli aloni attorno ai bordi sono generalmente indicati come artefatti JPEG. Ingrandiamo il nostro esempio per vederli meglio. Da sinistra a destra, un ritaglio dalle immagini originali JPEG Q80 e JPEG Q30. Ho segnato artefatti in verde (cerchi per aloni e punti per blocchi 8x8):

confronto a tre vie

Come qualsiasi perdita di informazioni, non è possibile recuperarla effettivamente. La nitidezza può aiutare a recuperare il contrasto dei bordi persi, ma rende più evidenti gli "aloni"; la denoising può aiutare a rimuovere gli "aloni", ma riduce ulteriormente la nitidezza. Se la struttura a blocchi è visibile, è probabilmente troppo tardi. Mantieni le immagini originali ad alta risoluzione e di alta qualità e non sovrascriverle.

Strategie di hosting

Se controlli i parametri di compressione JPEG e desideri massimizzare la qualità dell'immagine:

  • mantenere il rapporto di compressione il più basso possibile (utilizzare impostazioni di alta qualità)
  • prendere in considerazione il downsampling dei canali di cromaticità (potrebbe essere quasi impercettibile per alcune immagini e consentire un rapporto di compressione inferiore nel canale di luminosità dato lo stesso vincolo di dimensione del file)
  • prendere in considerazione l'uso della trasformazione del coseno discreta in virgola mobile (potrebbe aumentare la precisione della trasformazione, ma il salvataggio del file richiederà più tempo)
  • considera l'utilizzo di una risoluzione più bassa invece di un rapporto di compressione più elevato (dato lo stesso limite sulla dimensione del file)

Se carichi su un servizio di terze parti e non controlli i parametri di compressione, non puoi fare molto al riguardo:

  • scegliere un servizio noto per preferire JPEG di alta qualità (Flickr, SmugMug, 23hq, 500px) rispetto a servizi noti per comprimere eccessivamente per risparmiare traffico (Picasa, Imgur, Dropbox); di solito ottieni quello per cui paghi.
  • prova a ridimensionare le tue foto e a caricare le giuste dimensioni (alcuni servizi lo comprimeranno comunque, altri potrebbero pubblicare il tuo file come caricato)

16

JPEG utilizza attualmente due tipi di compressione, una con perdita e una senza perdita. La compressione senza perdita non causa artefatti, quindi possiamo ignorare quella parte. Il particolare tipo di compressione con perdita di dati in JPEG, chiamato trasformata discreta del coseno per i nodi matematici, consente un compromesso tra rapporto di compressione e fedeltà. La maggior parte dei software lo considera un valore di "qualità", di solito su una scala da 0 a 100, con 100 che in effetti è nessuna o nessuna perdita e le cose scendono da lì.

Questo particolare algoritmo di compressione è stato adottato perché è in grado di eliminare il genere di cose che il sistema visivo umano non nota tanto quanto gli altri componenti della scena. Questo è in parte il motivo per cui le immagini dall'aspetto decente possono avere rapporti di compressione incredibilmente elevati. Questo è anche il motivo per cui funziona bene su fotografie con toni continui reali e non molto bene su immagini sintetiche e disegni al tratto.

Ecco una regione 200 x 300 di una fotografia più grande con i pixel replicati 2x per vederli meglio. Questo ha usato la compressione JPEG "qualità" 100:

Qualità 80, riduzione della dimensione del file del 79%:

Qualità 60, riduzione dell'86%:

Qualità 40, riduzione del 90%:

Le riduzioni delle dimensioni del file si basavano sulle compressioni JPEG dell'intero file in modo che le strutture di intestazione e altri costi fissi fissi costituissero una piccola parte dei dati.

Nota che devi cercare gli artefatti nella seconda immagine, anche se quasi 4/5 delle informazioni originali sono state sottratte. Gli artefatti da compressione JPEG sono generalmente più visibili con spigoli vivi e in aree piane che cambiano lentamente. Dal momento che la linea grafica è tutta spigoli vivi, la compressione JPEG non è appropriata per questo.

Puoi vedere gli artefatti di compressione peggiorare progressivamente con rapporti di compressione più alti. Tieni presente, tuttavia, che l'immagine in basso conserva una quantità incredibile di informazioni visive per la cancellazione del 9/10 delle sue informazioni non elaborate.

I tipi di artefatti caratteristici della compressione con perdita di JPEG sono "blocco" nelle aree piane che cambiano lentamente e "sporcizia" che circonda i bordi ad alto contrasto. Ad esempio, vedi l'area in basso a destra nell'immagine sopra. Questo contiene uno sfondo sfocato, quindi i valori cambiano lentamente. Il blocco è abbastanza evidente. Per esempi di "sporcizia", ​​guarda intorno al corno sinistro della capra. Questi due tipi di artefatti sono di solito un chiaro indizio del coinvolgimento della compressione JPEG. Cerca anche questi nelle altre immagini sopra per avere un'idea di come appaiono quando iniziano a comparire e quale tipo di rapporto di compressione potresti tollerare in varie circostanze.


1
La perdita visibile non proviene dallo stesso DCT, ma dalla quantizzazione dei coefficienti DCT dopo la trasformazione.
Sarge Borsch,

10

La compressione JPG viene eseguita in blocchi di pixel. In un'immagine JPG altamente compressa si possono vedere i bordi di quei blocchi: nell'immagine originale due pixel potrebbero essere stati molto vicini in luminosità e colore, ma se si trovano in blocchi diversi, dopo la compressione e la decompressione (se visti) ciascuno di i loro valori possono differire dall'originale, quindi perdi quella graduale fusione e inizi a vedere questo "blocco".

inserisci qui la descrizione dell'immagine

Ecco un tipico esempio in cielo: JPG salvato a 0 qualità.

Se vieni caricato su un sito che utilizza la compressione JPG, potresti ottenere risultati migliori facendo due cose (dovrai provare il sito per vedere cosa funziona):

  • ridimensiona le dimensioni della tua immagine in modo che rientrino nella massima altezza / larghezza consentita dal sito, quindi il sito Web non ridimensiona le tue immagini per te

  • fai la tua compressione per ottenere file di dimensioni inferiori con una buona qualità. A seconda di come funziona il sito, se l'immagine è già abbastanza piccola potrebbe non fare alcuna ulteriore compressione, o anche se lo fa, potrebbe avere un effetto minore.

Per quanto riguarda la rimozione di artefatti JPG da un'immagine, gli artefatti JPG possono apparire simili al normale rumore del sensore. Il software di riduzione del rumore riuscirà in qualche modo a rimuovere alcuni piccoli artefatti JPG, ma alla perdita di dettagli.

rumore come artefatti jpg

Ecco un esempio con una qualità JPG del 50%, con blocchi, ma anche pixel più scuri e più luminosi che assomigliano al rumore.

Topaz Labs ha un prodotto chiamato DeJpeg , che agisce specificamente sui manufatti JPG. Fa un buon lavoro senza troppa perdita di dettagli. Il plugin può anche fare qualche nitidezza e riduzione generale del rumore. Il plug-in è compatibile con Photoshop CS, Photoshop Elements e Paint Shop Pro. Non penso che funzioni con Lightroom o Aperture.


Puoi fare un esempio di un artefatto jpeg che sembra simile al rumore del sensore?
Mattdm,

Ho aggiunto uno di un cielo scuro risparmiato al 50% di qualità JPG.
MikeW

5

Per i siti Web che comprimono i file fino a quando non raggiungono una determinata dimensione del file di destinazione, esiste un modo per migliorare la qualità delle immagini in determinate circostanze.

JPEG funziona convertendo l'immagine in una [serie di] rappresentazioni dello spazio di frequenza [s] (dove X e Y rappresentano frequenze orizzontali e verticali e "luminosità" rappresenta l'ampiezza della frequenza). Le frequenze al di sotto di una certa ampiezza vengono ignorate, riducendo la quantità di dati archiviati e raggiungendo la compressione.

Il rumore ha un ampio spettro di frequenze che JPEG non può comprimere. Ecco perché puoi avere due immagini, applicare lo stesso livello di compressione e ottenere due diverse dimensioni di file dopo la compressione JPEG.

Se scatti la tua immagine e offuschi intenzionalmente le aree di sfondo non importanti, riduci la quantità totale di informazioni e ottieni una compressione molto più elevata di queste aree, lasciandoti più kilobyte per codificare le aree in cui i dettagli sono importanti. Funziona particolarmente bene con le immagini in cui lo sfondo è già sfocato.


3

Ecco un esempio di jpeg ingrandito:

inserisci qui la descrizione dell'immagine

Immagine dell'utente di Wikipedia FelixH. Questa immagine è sotto licenza Creative Commons Attribution-Share Alike 3.0 Unported.

In questa immagine puoi vedere chiaramente i cosiddetti "artefatti" nell'area blu. Nota come l'immagine sembra essere divisa in blocchi e i confini del blocco non corrispondono.

Esistono diverse cose che possono essere fatte per evitare o ridurre questo problema:

  • Il più ovvio: non usare jpeg. Potresti voler lavorare con le tue immagini usando un formato di compressione senza perdita, come RAW, PNG o TIFF senza perdita. Esegui il downgrade a jpeg solo nell'ultimo passaggio, quando desideri caricare l'immagine sul Web, e-mail, ecc.

  • Il formato jpeg consente la configurazione del livello di compressione. Puoi ottenere meno artefatti se vuoi, ma il file sarà più grande.

  • Evita di salvare nuovamente un jpeg, poiché ogni generazione degrada ancora di più la qualità.


Anche RAW e PNG possono ottenere artefatti grazie alla quantizzazione dei pixel. Finché non modifichi alcun valore, questo è solo un effetto una tantum e non si verificano ulteriori perdite a causa della digitalizzazione. Tuttavia, se si modificano i valori in qualsiasi passaggio, ad esempio oscurando o schiarendo una scena o fondendosi con altri valori, ecc., I cambiamenti di valore possono comportare nuovi artefatti al successivo salvataggio (anche senza compressione) a causa della quantizzazione (probabilmente una forma di compressione) per salvare la nuova immagine calcolata. Per ridurre al minimo questi effetti, utilizzare il maggior numero di bit possibile in ogni fase e mantenere l'intero flusso di lavoro.
Skaperen,

@Skaperen: stai confondendo due cose diverse qui. Questa domanda riguarda la perdita di dettagli dovuta alla compressione jpeg. Quello che stai descrivendo è la perdita di dettagli introdotta da alcuni algoritmi di elaborazione delle immagini. Quello che stai descrivendo è corretto, ma non è affatto correlato ai formati di immagine, quindi dire che RAW e PNG sono associati alla quantizzazione dei pixel è sbagliato, quei formati di file non causano alcuna perdita di qualità.
Miguel,

Questa immagine mostra anche un altro problema, a proposito: mostra un alone dalla maschera di contrasto.
mattdm,

1

Gli artefatti sono gli effetti collaterali indesiderati dell'elaborazione di un'immagine. In questo caso, risultano dal modo in cui i dati vengono compressi dall'algoritmo JPEG.

Generalmente le persone vogliono poter archiviare le foto in digitale, senza usare troppo spazio di archiviazione. Di conseguenza, la maggior parte delle foto vengono archiviate nel formato JPEG. Questo è un formato che comprime i dati che compongono l'immagine in un modo che tenta di preservare il maggior numero possibile di dettagli. Il livello di compressione può essere modificato quando viene creato il file. Tuttavia, si tratta di un algoritmo "lossy", il che significa che elimina alcuni dati - non è possibile tornare da un file JPEG compresso ai dati originali.

Questa perdita di dati viene a scapito della qualità dell'immagine. La compressione è progettata per creare un impatto minimo sull'immagine complessiva, ma può essere evidente ad alti livelli di compressione.

Gli artefatti JPEG più comunemente sembrano sezioni di colore a blocchi. Possono essere visti dove c'è un sottile cambiamento di colore graduato in un ampio lavaggio di colore, ad esempio in un cielo blu o in una scena nebbiosa. Gli artefatti sembrano contorni frastagliati di un colore specifico piuttosto che una fusione uniforme.

Con scene più compresse, è possibile vedere artefatti attorno ai bordi dei soggetti, ad esempio i rami di un albero contro un cielo chiaro. Sembrano blocchi macchiati che circondano il soggetto.

L'approccio migliore per ridurre l'artefatto è:

  1. Mantieni sempre l'immagine originale: non salvare un JPEG compresso, quindi riaprilo in un secondo momento e ri-salva. Per un esempio estremo di ciò, vedi Generation Loss , un video che mostra un'immagine ricompressa 600 volte.
  2. Salva la massima qualità possibile, date le eventuali restrizioni sulla dimensione del file.
  3. Evita di usare servizi che comprimono gravemente le tue immagini - se necessario ospitarle altrove e collegarle direttamente.

Per ulteriori informazioni, consultare http://photo.net/learn/jpeg/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.