Artefatto di compressione

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Immagine con artefatti (dovuto all'alto livello di compressione)

Un artefatto di compressione è il risultato di uno schema di compressione dati aggressivo applicato ad una immagine, audio, o video che rimuove alcuni dati meno importanti dal contenuto complessivo, ma che tuttavia risulta visibile e sgradevole all'utente. Gli artefatti in dati time-dependent, ovvero dipendenti dal tempo, come audio o video sono spesso il risultato dell'errore latente nella compressione dati con perdite.

Tecnicamente parlando, un artefatto di compressione è una classe particolare di errori sui dati che spesso è la conseguenza della quantizzazione nella compressione dati con perdite.

Gli artefatti di compressione sono visibili in molti media di largo uso, come nei DVD e anche nei comuni formati di file per computer come JPEG, MP3, o MPEG. I media non compressi (come i Laserdisc, CD Audio e file WAV o i media compressi senza perdite, come i FLAC) non sono soggetti agli artefatti di compressione.

Artefatti di compressione nella codifica delle immagini[modifica | modifica wikitesto]

Quando si utilizza la trasformata discreta del coseno (DCT) per la codifica a blocchi, come nelle immagini in formato JPEG, è possibile la comparsa di diversi tipi di artefatti, come un contorno nelle zone uniformi, un rumore scalettato lungo linee curve e bordi, e/o un effetto scacchiera nelle regioni più "dense".

Quando si utilizza una codifica a predizione nei filmati, come negli MPEG-1, gli artefatti di compressione tendono a restare visibili per diverse generazioni di frame decompressi, portando alla comparsa di un effetto "dipinto", come se l'immagine fosse dipinta dal pennello di un artista invisibile.

Illustrazione dell'effetto della compressione JPEG su un'immagine leggermente disturbata con una combinazione di testo e spazi bianchi. Il testo è uno screenshot catturato da una conversazione di Wikipedia con rumore aggiunto (intensità 10 in Paint.NET). Un fotogramma dell'animazione è stato salvato come JPEG (qualità 90) e ricaricato. Entrambi i frame sono stati quindi ingranditi di un fattore 4 (interpolazione del vicino più vicino).

Quando si utilizza una codifica a predizione di movimento, come nei MPEG-2 o MPEG-4, gli artefatti di compressione tendono a muoversi con lo scorrimento ottico dell'immagine, causando un particolare effetto in cui della sporcizia pare muoversi assieme agli oggetti nella scena.

Errori presenti nel flusso dati posso causare errori come grandi errori di quantizzazione, o possono interrompere completamente l'analisi del flusso per un breve periodo di tempo, causando un disfacimento dell'immagine. Laddove si sono verificati errori gravi nel flusso dati, non è insolito che il decoder continui ad applicare effetti "dipinto" all'immagine danneggiata, creando un effetto di "immagine fantasma".

Per interrompere l'incedere degli artefatti di compressione, molti sistemi inviano di tanto in tanto un intero frame compresso senza predizione, di solito all'inizio di un taglio e quindi ad intervalli regolari di tempo.

Nella codifica MPEG delle immagini, questi sono conosciuti come "I-frame", dove la 'I' sta per "intraframe compression".

Riduzione degli artefatti sulle immagini[modifica | modifica wikitesto]

Diversi approcci sono stati proposti per ridurre gli effetti della compressione sulle immagini, ma per poter utilizzare tecniche standard di compressione/decompressione e mantenere i benefici della compressione (per esempio, minori costi di trasmissione e di immagazzinamento), molti di questi metodi si concentrano sul "post processing" — cioè, nella rielaborazione delle immagini in fase di ricezione o visualizzazione. Nessuna di queste tecniche di post-processing ha dimostrato di essere efficace in tutte le situazioni e di conseguenza nessuna tecnica ha ottenuto un largo consenso; inoltre alcune tecniche sono state implementate e utilizzate in sistemi proprietari. Molti software di editing immagini, per esempio, hanno algoritmi proprietari di riduzione degli artefatti JPEG inclusi in essi.

Codifica Video[modifica | modifica wikitesto]

Quando viene utilizzata la previsione del movimento, come in MPEG-1, MPEG-2 o MPEG-4, gli artefatti di compressione tendono a rimanere su diverse generazioni di frame decompressi e si muovono con il flusso ottico dell'immagine, portando a un effetto peculiare, a metà strada tra un effetto pittorico e "sporcizia" che si muove con gli oggetti nella scena.

Gli errori di dati nel flusso di bit compresso, probabilmente dovuti a errori di trasmissione, possono portare a errori simili a errori di quantizzazione di grandi dimensioni o possono interrompere completamente l'analisi del flusso di dati per un breve periodo, portando alla "rottura" dell'immagine. Laddove si sono verificati errori grossolani nel bit-stream, i decodificatori continuano ad applicare gli aggiornamenti all'immagine danneggiata per un breve intervallo, creando un effetto "immagine fantasma", fino a ricevere il successivo frame compresso in modo indipendente. Nella codifica di immagini MPEG, questi sono noti come " I-frame ", con "I" che sta per "intra". Fino all'arrivo del successivo I-frame, il decodificatore può eseguire l'occultamento degli errori.

Artefatti di confine del blocco di compensazione del movimento[modifica | modifica wikitesto]

Esempio di Errore di macroblocking causato in errore di trasmissione.

Discontinuità al contorno del blocco possono verificarsi ai bordi dei blocchi di previsione della compensazione del movimento. Nella compressione video con compensazione del movimento, l'immagine corrente è prevista spostando i blocchi (macroblocchi, partizioni o unità di previsione) di pixel da frame precedentemente decodificati. Se due blocchi vicini usano vettori di movimento diversi, ci sarà una discontinuità sul bordo tra i blocchi.

Rumore a "zanzara"[modifica | modifica wikitesto]

Gli artefatti di compressione video includono risultati cumulativi della compressione delle immagini fisse comprendenti, ad esempio lo squillo o altre occupazioni dei bordi nelle immagini fisse successive appaiono in sequenza come una sfocatura luccicante di punti attorno ai bordi, chiamata rumore di zanzara , poiché assomigliano a zanzare che sciamano attorno all'oggetto. Il cosiddetto "rumore di zanzara" è causato dall'algoritmo di compressione DCT (discrete cosine transform -based) basato su blocchi utilizzato nella maggior parte degli standard di codifica video, come i formati MPEG.[1]

Artefatti di compressione nella codifica audio[modifica | modifica wikitesto]

Una tecnica consiste nell'usare un bit rate più basso ricampionando l'audio. Riducendo la frequenza di campionamento, le frequenze più elevate devono essere rimosse per rispettare il teorema del campionamento di Nyquist-Shannon. Se il filtro anti-aliasing non funziona correttamente, si avverte una distorsione digitale o aliasing nella forma di frequenze non armoniche riflesse attorno alla frequenza di Nyquist. (per esempio un tono a 22,85 kHz elaborato con una frequenza di Nyquist di 22,05 kHz risulterà come un tono di 22.05 - (22,85 - 22,05) = 21,25 kHz. In generale outputF = NF x 2 - inputF). Questo può essere impercettibile, ma livelli maggiori di distorsione posso sembrare simili alla ring modulation. Diminuendo la quantità di dati (numero di bit) catturati per ogni campione può causare una perdita di dettaglio e di range dinamico nell'audio. La perdita di qualità in entrambi i metodi sarà uniforme per tutta la registrazione.

Un'altra tecnica consiste nel cercare di rimuovere suoni che l'orecchio umano tipicamente non può percepire. Se una persona non può percepire la differenza, i dati risultanti saranno più semplici (e di conseguenza potranno avere una compressione migliore usando tecniche lossless). Per esempio, l'orecchio umano in genere non è in grado di percepire un suono debole simultaneamente ad un suono simile ma di intensità maggiore. Una tecnica di compressione con perdita può identificare questo suono debole e cercare di rimuoverlo. Poiché nessun algoritmo è perfetto e altri compromessi possono essere applicati per eliminare dati aggiuntivi per ridurre il data rate, ciò comporta in alcuni casi l'eliminazione di suoni percepibili. Ma poiché questi suoni sono comunque teoricamente difficili da percepire, il risultato sarà generalmente di suono appiattito, o "sporcato".

Molti sistemi cercano di rimpiazzare le serie di campioni audio con altre rappresentazioni. Di solito queste rappresentazioni rendono più semplice il tentativo di eliminare suoni non percepibili e quindi rendono più semplice comprimere i dati utilizzando tecniche tradizionali di compressione senza perdita. Una tecnica comune è quella di rappresentare l'audio come la somma di una serie di onde di seno. La rappresentazione può non essere perfetta; in cambio di una più semplice descrizione compressa del suono, l'accuratezza può essere sacrificata.

Molti sistemi di compressione audio si sforzano di mantenere un data rate di riferimento, di solito espresso in bit di dati per secondo di audio. Quando viene utilizzato un data rate costante, le porzioni semplici della registrazione (per esempio un tono di silenzio) saranno facilmente compresse rispettando il data rate di riferimento; la riproduzione risultante sarà molto simile all'audio originale. Man mano che si registrano sezioni più complesse, il sistema sarà obbligato a ridurre seriamente la qualità per rispettare il data rate fissato; la riproduzione risultante mostrerà più artefatti. Molti sistemi di compressione supportano la codifica Variable Bit Rate, che modifica il data rate di riferimento cercando di mantenere però costante la qualità di riproduzione.

Note[modifica | modifica wikitesto]

  1. ^ (EN) Definition of mosquito noise, su PCMAG. URL consultato il 18 maggio 2020.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica