Codifica, decodifica e formati (INF) - e-Learning
Transcript
Codifica, decodifica e formati (INF) - e-Learning
“COSTO” DI UN SEGNALE Dipende da campionamento e quantizzazione Immagini: – Risoluzione spaziale in numero di pixel – Profondità colore IMAGING DIGITALE AA. 2014-2015 COMPRESSIONE LOSSLESS LOSSY ESEMPIO NUMERICO • Quantità di dati per memorizzare un film di 2 ore: • Standard televisivo digitale NTSC (HDTV) – Risoluzione spaziale: 720x480 pixel (1920x1080) – Quantizzazione (profondità colore) 3 x 8bit=24bit – Risoluzione temporale: 30 fps (60fps) – (Trascuriamo audio) 720x480 pixel/frame x 30 frame/s x 24 bit/pixel x 2x60x60 s= 2.24 1011Byte 1920x1080 pixel/frame x 60 frame/s x 24 bit/pixel x 2x60x60 s= 2.68 1012Byte 208 GB così sarebbero necessari 24 DVD (da 8.7 GB) - Bisogna comprimere 23.9 volte! 5 Blu-Ray (da 50 GB –doppio strato) - comprimere 4.2 volte 2.44 TB così sarebbero necessari 288 DVD (da 8.7 GB) - Bisogna comprimere 287.6 volte! 50 Blu-Ray (da 50 GB –doppio strato) - comprimere 50.05 volte TECNICHE DI COMPRESSIONE error-free o loss less •Tecniche di compressione lossy • error-free o loss less (compressione senza perdita di informazione): il segnale può essere compressa e ricostruito senza che si perda alcuna informazione (tipicamente per applicazioni mediche, immagini da satellite,... ) • lossy (compressione con perdita di informazione): non è possibile una perfetta ricostruzione del segnale originale (segnali televisivi, videoconferenze,...) Suono – Frequenza di campionamento – Livelli di quantizzazione – Numero di canali Video – – – – Risoluzione spaziale in numero di pixel Risoluzione temporale (numero di frame per sec) Profondità colore + audio COMPRESSIONE DI SEGNALI • Processo di riduzione della quantità di dati necessaria a rappresentare una data quantità di informazione. •Matematicamente: trasformazione in un insieme di dati statisticamente scorrelati. •Metodi di compressione sono particolarmente significativi e di interesse commerciale per la trasmissione e l’archiviazione di dati. •Devono essere soddisfatti alcuni requisiti: - deve essere garantita una qualità segnale compresso: cioè deve essere definito un grado di fedeltà al segnale originale tipico per l’applicazione - il livello computazionale del processo di codifica-decodifica deve essere accettabile per il tipo specifico di applicazione. DATI E INFORMAZIONE •Dati e informazione non sono sinonimi: i dati sono gli strumenti tramite i quali è rappresentata l’informazione. Diversi quantitativi di dati possono essere usati per rappresentare la stessa informazione. •La compressione si basa sulla rimozione dei dati ridondanti, concetto matematicamente quantificabile. •Dati due insiemi differenti di dati per descrivere la stessa informazione, è possibile definire la ridondanza relativa dei dati: C = b1 b2 rapporto di compressione n° bit per rappresentare una informazione con un certo insieme di dati (prima della compressione) n° bit per rappresentare la stessa informazione con un altro insieme di dati (dopo la compressione) R = 1− 1 C Ridondanza relativa 1 DATI E INFORMAZIONE R = 1− C= 1 C Ridondanza del primo insieme adottato rispetto al secondo ESEMPI DI RIDONDANZA n° bit per rappresentare una informazione con un certo insieme di dati b1 b2 n° bit per rappresentare la stessa informazione con un altro insieme di dati rapporto di compressione Se b1=b2 , R=0: la prima rappresentazione non contiene dati ridondanti rispetto alla seconda. Un rapporto di compressione tipico di 10, che si indica anche come 10:1, significa che il primo insieme necessita di 10 bit quando al secondo insieme ne basta 1. 1 0.8 0.6 0.4 La corrispondente ridondanza è 0.9. Il 90% dei dati del primo data set è ridondante. 0.2 0 0 50 100 150 200 250 1 RIDONDANZA DELLA CODIFICA RIDONDANZA L’istogramma dei livelli di grigio di un’immagine fornisce importanti informazioni su come ridurre il quantitativo di dati necessario per rappresentare l’immagine. •Possono essere individuati 3 diversi tipi di ridondanza: 1. Ridondanza della codifica ridondanza statistica 2. Ridondanza spaziale (o temporale) pr 3. Ridondanza percettiva • Si ottiene una compressione quando una o più di queste ridondanze vengono ridotte o eliminate. rk Probabilità di occorrenza del livello di grigio rk 1 2 nk pr (rk ) = N ×M 3 RIDONDANZA DELLA CODIFICA: VLC L rk: variabile random che indica il k-esimo livello di grigio L=n° livelli di grigio numero di pixel che assumono il valore del k-esimo livello di grigio numero di pixel immagine 2 Ridondanza spaziale: VLC? no 1 0.8 0.6 0.4 0.2 0 0 50 100 150 200 250 Quando l’istogramma è uniforme la VLC non ha effetto! Tutti i valori sono equiprobabili. Forte ridondanza spaziale Lavg = 0.25 × 2 + 0.47 ×1 + 0.25 × 3 + 0.03 × 3 = 1.81 bit C= 8 = 4.42 1.81 R = 1− 1 = 0.774 C Il 77.4% dei dati nella rappresentazione a 8 bit è ridondante OSSERVIAMO però che: • lungo le righe c’è una forte correlazione spaziale • Lungo le colonne no (ad ogni riga è stato assegnato casualmente uno dei valori tra 0 e 255). 2 3 Ridondanza percettiva N=256 Run-length Encoding (RLE) o Run-length coding (RLC) Versione equalizzata L’immagine è percepita come se avesse un valore di grigio uniforme. Non è così e lo si capisce dall’istogramma. N=256 Si può ridurre la ridondanza spaziale individuata introducendo coppie run-length: il primo valore della coppia individua il valore di intensità, il secondo il numero di volte con cui si ripete. Le informazioni ignorate dal nostro sistema visivo possono essere eliminate. Sostituiamo un unico valore pari al valore medio. C=NxMx8/8 NxM:1 Nell’esempio: C=nbit tot iniziali/nbit finali=(256x256x8)/(2x256) x8 Con questo approccio inevitabilmente c’è perdita. (approccio con quantizzazione) C 128:1 Approccio Loss less Ridondanza spaziale o temporale: RLC Sorgenti con memoria: il valore del simbolo corrente dipende dal valore del simbolo precedente. L’algoritmo di compressione Run-Length Coding (Enconding) sfrutta la memoria presente nei campioni del segnale. Ridondanza statistica algoritmi di compressione senza perdita Idea alla base del RLC (RLE): se i simboli tendono a formare dei raggruppamenti allora è possibile pensare di codificare il simbolo e la lunghezza del gruppo. Con questa tecnica si sostituisce una sequenza di simboli uguali con un solo simbolo accompagnato dal numero di volte che questo compare consecutivamente RIDONDANZA INTERPIXEL: RLC RLC (RUN LENGTH CODING) Gran parte del contenuto informativo di un pixel è ridondante e può essere ottenuto a partire dal contenuto informativo dei pixel vicini. Si può ridurre questa ridondanza passando ad un mapping differente dell’immagine, più efficiente ma generalmente non interpretabile visivamente. Usato nei FAX Soglia per la binarizzazione Questa tecnica puo‘ essere impiegata anche per la codifica di immagini a colori, traendo vantaggio dall'occorrenza di pixel consecutivi di ugual colore. Run-length coding Si considerano singolarmente le linee dell’immagine. • sostituisce a sequenze di pixel identici l’indicazione del numero di volte che tale pixel si ripete, seguita dal valore • efficiente per immagini artificiali Per ogni linea si collezionano le successive coppie (g,w) ove g=valore (0,1), w la lunghezza del tratto di pixel con quel valore. • poco efficiente per immagini reali (fotografie) anche controproducente • metodo conservativo (lossless) Particolarmente efficace per immagini binarie 3 RLC (RUN LENGTH CODING) Ridondanza percettiva BMP/ (BMP con RLC) BMP/ (BMP con RLC) C=0.98 algoritmi di compressione con perdita C=1.35 RIDONDANZA PERCETTIVA Deriva dalle caratteristiche del nostro sistema percettivo: non tutta l’informazione ha la stessa importanza per il nostro sistema percettivo. Il nostro sistema percettivo non valuta ciascun pixel/campione quantitativamente, ma sfrutta caratteristiche particolari (edge, texture, frequenze...) per raggruppare i pixel/campioni in insiemi significativi. La riduzione di ridondanza percettiva comporta una perdita quantitativa di informazione: si parla così di quantizzazione. Si tratta di una compressione irreversibile di tipo: lossy MASKING E SOGLIA DI UDIBILITA’ RIDONDANZA PSICO-UDITIVA Gli schemi di compressione “percettivi” comprimono il segnale eliminando quelle parti che il nostro apparato uditivo non percepisce. Sono codifiche di tipo lossy. mascheramento in frequenza (Masking): principale caratteristica dell’apparato uditivo umano su cui si basano le tecniche di compressione audio. la presenza di un forte suono ad una certa frequenza tende a mascherare suoni a frequenze vicine. RIDONDANZA PSICOVISUALE Caratteristiche psicovisuali su cui basare la quantizzazione: • Legge di Weber: la sensibilità alle variazioni di luminosità diminuisce man mano che l’immagine diventa più scura ⇒ quantizzazione più grossolana nelle zone più scure. • Siamo più sensibili al rumore nelle regioni uniformi (a bassa frequenza) piuttosto che nelle regioni ad alta frequenza. In presenza di un segnale sonoro ad una generica frequenza, si ha una alterazione della soglia di udibilità per le frequenze limitrofe al segnale, che non vengono percepite. • Il sistema visivo umano è più sensibile alle variazioni di luminanza che non a quelle di crominanza ⇒ quantizzazione più grossolana per la codifica delle componenti di crominanza. alcune tecniche di compressione tengono conto più che di tutte le componenti presenti nella banda, solo di quelle che sono effettivamente udibili (non mascherate). 4 RIDONDANZA PSICOVISUALE: IGS (improved gray scale) 8 C= ; 4 C = 2 :1 R = 1− Sottocampionamento YCbCr Original 1 C Luma Subsampled 8x = 50% 8 bit: 256 livelli 4 bit 16 livelli Chroma Subsampled 8x 4 bit (IGS) Minore sensibilità del sistema visivo al rumore alle alte frequenze: quantizzazione IGS: l’errore di quantizzazione alle basse frequenze è convertito in rumore ad alte frequenze. Effetto: eliminazione dei falsi contorni ed introduzione di una granulosità che risulta però meno fastidiosa. (Effetto dithering già visto nel suono) MODELLO DI COMPRESSIONE Un sistema per la compressione di immagini è generalmente formato da due unità strutturali distinte: codificatore (o compressore) e decodificatore (o decompressore). Compressione valutazione della qualità algoritmi composti • Codificatore di sorgente: riduce la ridondanza del segnale. • Codificatore di canale: incrementa l’immunità al rumore. • Nel decodificatore sono realizzate le operazioni inverse. Se f̂ ( x , y ) = f ( x , y ) CODIFICATORE E DECODIFICATORE DI SORGENTE •In generale opera sulle tre forme di ridondanza: Ridondanza spaziale/temporale (reversibile) es. run-length coding ridondanza percettiva (irreversibile) ridondanza di codifica (reversibile) es. variable-length coding il sistema si dice error-free o information preserving MODELLO DI COMPRESSIONE Non necessariamente negli algoritmi di compressione sono presenti tutte e tre le fasi. In caso di compressione error free infatti non c’è quantizzazione. In altri casi mapping e quantizzazione possono essere effettuati contemporaneamente. Il decodificatore presenta solo due blocchi poichè il processo di quantizzazione è irreversibile. Quando il canale di trasmissione è rumoroso, si può incrementare l’immunità del segnale al rumore con un codificatore di sorgente, che introduce un grado controllato di ridondanza nel segnale compresso che poi viene riconosciuto ed eliminato nel decodificatore. E’ chiaramente un processo costoso dal punto di vista del rapporto di compressione effettivo. 5 COMPRESSIONE ERROR-FREE COMPRESSIONE LOSSY Le tecniche di compressione senza perdita consentono di raggiungere rapporti di compressione normalmente non superiori a 10:1. Prevedono un’operazione di mapping ed una di codifica di simbolo ma NON di quantizzazione. Con l’approccio error free, il rapporto massimo di compressione ha un valore limite relativamente basso. Nel caso di compressione con perdita di informazione (lossy) si possono raggiungere rapporti di compressione molto elevati: 100:1. La compressione lossy si basa sul compromesso fra accuratezza della ricostruzione e compressione raggiungibile. La differenza principale fra compressione error free e compressione lossy sta nel termine di quantizzazione. Ad esempio con una codifica a lunghezza variabile si può ridurre la sola ridondanza di codifica. In realtà queste tecniche possono operare anche su un precedente mapping capace di ridurre la ridondanza spaziale/temporale. CRITERI DI FEDELTÀ OGGETTIVA CRITERI DI FEDELTÀ SOGGETTIVA Con la quantizzazione si perde anche informazione non ridondante. E’ necessario poter valutare quantitativamente questa perdita attraverso la qualità del segnale ricostruito, cioè valutando la sua fedeltà rispetto all’originale. Criteri di fedeltà oggettiva. •Scala di valutazione assoluta: l’immagine decompressa viene fatta valutare da un gruppo di osservatori. Il giudizio finale, mediato, è rapportato ad una tabella del tipo: e( x, y ) = fˆ ( x, y ) − f (x, y ) •Segnale errore: M −1 N −1 M −1 N −1 x =0 y =0 x =0 y =0 ∑∑ e(x, y ) = ∑∑ fˆ (x, y ) − f (x, y ) •Errore totale •Root mean square error RMS: 1 erms = MN ∑∑ [ f̂ (x , y ) − f (x , y )] M −1 N −1 2 N 12 x =0 y =0 M ∑∑ f̂ (x , y ) •Signal to noise ratio SNR: SNR = •Scala di valutazione relativa: due immagini vengono affiancate e confrontate. 2 x =0 y = 0 M −1 N −1 ∑∑ [ f̂ ( x , y ) − f (x , y )] 2 x =0 y =0 CODIFICA CON TRASFORMATE CODIFICA CON TRASFORMATE Una tipica compressione a perdita di informazione è la codifica con trasformate. Opera nel dominio trasformato. Una trasformata lineare e reversibile è usata per il mapping del segnale in un set di coefficienti che vengono poi quantizzati e codificati. mapping mapping •Nella fase di mapping NON si ha compressione. La codifica attraverso i coefficienti della trasformata prepara alle successive fasi di compressione. •La compressione si realizza quantizzando o addirittura trascurando coefficienti con ampiezza poco significativa. 64x64 N=64 n=8 (N/n)2=64 Nella decodifica c’è sempre un blocco in meno della codifica poichè la quantizzazione è un fenomeno irreversibile. 6 JPEG (Joint Photographic Experts Group) Formato standard di memorizzazione delle immagini fotografiche (per immagini a colori, ma anche immagini a toni di grigio) che permette un’elevata compressione, con accettabile degradazione della qualità → compressione lossy. JPG è uno standard flessibile che definisce una serie di possibili elaborazioni da eseguire sulle immagini, elaborazioni che possono anche essere saltate. Viene infatti data un guideline per la compressione ma soprattutto specifiche rigide per la decompressione. JPEG JPEG2000 In pratica non viene specificato come si deve fare la compressione ma solo quali regole devono essere rispettate dai dati compressi per poter ottenere poi una corretta decompressione. Si impose velocemente in particolar modo con lo sviluppo di Internet, dove è necessario disporre di formati ad elevata compressione per una più rapida trasmissione di immagini. COMPRESSIONE JPEG 1. CONVERSIONE SPAZIO CROMATICO 1. CONVERSIONE SPAZIO COLORE Compressione su componenti cromatiche • Si può sfruttare la caratteristica psicovisuale per cui il sistema visivo umano è più sensibile alle variazioni di luminanza che non a quelle di crominanza ⇒ quantizzazione più grossolana delle componenti di crominanza. • Si realizza così la riduzione di ridondanza psicovisuale, introducendo una compressione “lossy”. • L'immagine originale viene convertita dallo spazio cromatico RGB ad uno in cui siano separati la luminanza e le due componenti di crominanza, ad esempio YIQ, YUV, YCbCr... • E’ stato dimostrato che lo spazio migliore rispetto alla compressione (cioè quello che introduce minori distorsioni) è lo spazio YCbCr. http://www.stanford.edu/~esetton/jpeg.htm Cb Cr 2. SUDDIVISIONE IN BLOCCHI 8X8 di ciascun canale 5.CODIFICA variable length encoding (HUFFMAN) 3. TRASFORMATA COSENO Quantizzazione coefficienti 4. MAPPING DPCM per componente continua DC RLE per componenti variabili AC Sottocampionamento cromatico Il campionamento del colore è espresso come x:y:z x = numero relativo di campioni di luminanza y = numero campioni di chroma per ogni linea dispari z = numero campioni chroma per le altre linee 1. 1 COMPRESSIONE LOSSY SULLE COORDINATE CROMATICHE Le dimensioni dell’immagine sono ridotte sottocampionando solo le componenti cromatiche: 1. Media a due a due tra pixel adiacenti dei piani cromatici, dimezzando così la risoluzione orizzontale: codifica 4:2:2, riduzione delle dimensioni del 30%. i canali Cb e Cr sono di solito campionati orizzontalmente. 2. Si dimezza anche la risoluzione verticale, codifica 4:2:0, riduzione delle dimensioni del 50%. 4:2:0 vuol dire che per ogni 4 campioni di luminanza ci sono 2 chroma sulle linee dispari. In altre parole in 4:2:0 ho una componente di chroma per ogni blocco di 2x2 pixel codifica 4:2:0 N.B. Questa conversione e la conseguente quantizzazione delle componenti cromatiche è opzionale. 7 2. SUDDIVISIONE IN BLOCCHI DI 8X8 PIXEL •Ciascun canale (es. Y,Cb,Cr) dell’immagine è suddiviso in blocchi. 3.a ANALISI IN FREQUENZA: TRASFORMATA COSENO Nel JPEG viene usata la DCT, Discrete Cosine Transform. I coefficienti T(u,v) che ne derivano rappresentano le ampiezze di quei segnali armonici (coseno) che sommati ricostruiscono il segnale. M −1 N −1 •Ciascun blocco è costituito da 8x8 pixel. F (u , v ) = ∑∑ f ( x, y )g (u , v, x, y ) DCT x =0 y =0 M −1 N −1 (2 x + 1)πu (2 x + 1)πv f ( x, y ) = ∑∑ F (u, v ) cos cos 2 N 2N u =0 v =0 n=8 (2x +1)πu (2 y +1)πv kernel g (x , y ,u,v) = α (u )α (v) cos cos 2N 2N COEFFICIENTI DCT 3.b QUANTIZZAZIONE COEFFICIENTI DELLA DCT Per ogni canale, ad ogni blocco di 8x8 pixel nel dominio dello 'spazio' corrisponde un blocco di 8x8 coefficienti nel dominio della frequenza. I coefficienti in alto a sinistra rappresentano le basse frequenze mentre quelli via via in basso a destra rappresentano le alte frequenze spaziali ossia i dettagli dell'immagine. In particolare il primo coefficiente del blocco trasformato è correlato al valor medio dei valori del blocco 8x8 originario (componente continua o DC). 201 165 162 182 171 199 18' 183 201 88 102 15 25 67 107 190 200 190 105 183 199 199 178 0 123 63 255 183 183 23 54 0 65 38 194 21 148 18 243 0 0 180 255 0 123 226 12 0 66 102 0 130 189 0 255 6 22 254 132 159 183 213 6 43 Blocco 8x8 (una sola componente) Si definisce una 'quantization table’ Q(u,v) che divide la matrice dei coefficienti F(u,v) e genera dei coefficienti quantizzati. F (u, v ) Fˆ (u, v ) = round Q(u, v ) Tabella di quantizzazione per la luminanza Tabella di quantizzazione per la crominanza DCT Coefficienti F(u,v) della trasformata DCT 3.b QUANTIZZAZIONE COEFFICIENTI DELLA DCT Poiché i valori della tabella di quantizzazione sono abbastanza elevati, i valori dei coefficienti quantizzati sono significativamente più piccoli di quelli dei coefficienti originali, ed hanno conseguentemente una varianza più bassa: questo agevola la codifica successiva. Sono state definite delle tabelle Q(u,v) da studi psicofisici con lo scopo di massimizzare la compressione minimizzando la perdita percepita. E’ possibile definire tabelle customizzate Regione smooth Consideriamo in Y un blocchetto 8x8 di Lena Si può variare il rapporto di compressione semplicemente riscalando i coefficienti della tabella di quantizzazione. (questo fattore di scala è legato al Quality factor della compressione JPEG) I coefficienti vengono poi dequantizzati in fase di decodifica semplicemente rimoltiplicandoli per la tabella di quantizzazione: ~ F (u, v ) = Fˆ (u, v )Q(u , v ) I coefficienti quantizzati sono ottenuti arrotondando all'intero più vicino: i coefficienti meno significativi tendono ad azzerarsi. Rimangono i coefficienti relativi ai contributi informativi più importanti. I valori in alta frequenza (gen. già piccoli) vengono molto spesso arrotondati a 0. Il risultato è la concentrazione di pochi coefficienti diversi da 0 in alto a sinistra e 0 tutti gli altri. 8 Regione smooth Regione con texture Consideriamo in Y un blocchetto 8x8 di Lena Consideriamo in Y un blocchetto 8x8 di Lena Ovviamente a parità di tabella di quantizzazione si introduce una maggior perdita in zone a più alta frequenza 3.b QUANTIZZAZIONE COEFFICIENTI DELLA DCT Immagine originale la qualità è abbastanza buona con 16 coefficienti diversi da zero (ultimo caso a destra). nella generica griglia di 8x8 coefficienti: in bianco quelli diversi da 0 e in nero quelli azzerati. 4.a MAPPING DEI COEFFICIENTI DELLA DCT Il tipo di mapping impiegato si differenzia per la componente continua, indicata come DC, e per le componenti variabili, indicate con AC, dei coefficienti superstiti dopo la quantizzazione. lettura a Zig-Zag versioni compresse dell’immagine originale immagini differenza tra la versione compressa e l'originale (immagini errore) 4.a MAPPING DEI COEFFICIENTI DELLA DCT Sul valore DC di ciascun blocco viene invece applicata una tecnica DPCM (differential pulse code modulation). Poichè esiste una relazione statistica nelle immagini tra le componenti DC di blocchi adiacenti, è possibile codificare la componente DC di un blocco come differenza rispetto al valore del blocco precedente. DC AC Le componenti AC vengono ordinate tramite una lettura a Zig-Zag. Il vettore 1x63 risultante contiene sequenze di valori nulli che rendono particolarmente efficace l’impiego di una tecnica Run Length Encoding RLE. Componenti AC Stiamo lavorando sui coefficienti quantizzati! 5. CODIFICA ENTROPICA DEI DATI L'ultima codifica applicata ai dati è una codifica a lunghezza di codice variabile VLE. In pratica i dati vengono suddivisi in 'parole' (stringhe di bit), viene analizzata la frequenza statistica di ciascuna parola e ognuna viene ricodificata con un codice a lunghezza variabile in funzione della frequenza di apparizione. Un codice corto per le parole che appaiono frequentemente e via via codici più lunghi per quelle meno frequenti. Complessivamente il numero di bit necessari per rappresentare i dati si riduce consistentemente. Probabilità di occorrenza della parola k-esimo pr (rk ) = nk n L −1 Numero medio di bit necessario per la codifica Lavg = ∑ l (rk ) pr (rk ) k =0 numero di bit per descrivere la k-esima parola 9 PRESTAZIONI MEDIE JPEG PRESTAZIONI MEDIE JPEG Immagini fotografiche a colori Compressione qualità percepita 64:1 da scarsa a buona 32:1 da buona a molto buona 24:1 da molto buona a eccellente 12:1 da eccellente a indistinguibile oltre 8:1 indistinguibile originale 320x240 RGB 230 Kb qualità 75% 19 Kb qualità 40% 11 Kb www.jpeg.org qualità 20% 7 Kb JPEG2000 qualità 5% 2 Kb Conventional compression method (JPEG) www.jpeg.org/JPEG2000.htm • basato non su DCT, ma su WAVELET • migliori prestazioni a forte compressione •visione multirisoluzione • • 7Kb - compressione 100:1 Vantaggi Bassa complessità Efficienza di compressione • • • • Svantaggi Singola risoluzione Singola qualità No regione di interesse Blocking artifacts 7Kb - compressione 100:1 JPEG 2000 JPEG 2000 Sfrutta una decomposizione Wavelet a 3 livelli • • • • Vantaggi Diverse risoluzioni Diverse qualità Regione di interesse No Blocking artifacts 10 jpeg vs jpeg2000 bpp = bit per pixel jpeg 2 bpp jpeg2000 2 bpp Originale 24 bpp jpeg 0.5 bpp jpeg2000 0.5 bpp Visual quality: JPEG vs JPEG2000 Jpeg Jpeg2000 Original 24 bpp (bit per pixel 3x8) Compression factor 1:60 JPEG 2000 0.4 bpp Original 24 bpp JPEG 0.4 bpp JPEG 0.4 bpp JPEG 2000 0.4 bpp 11 Jpeg 2000: qualita’ al variare dei bpp 0.125 bpp 0.250 bpp 0.5 bpp 1 bpp 0.25 bpp overall (without and with ROI at 0.75 bpp) 12 Compressione e formato In fase di codifica: necessità di adottare tecniche di compressione per ottimizzare: 1.occupazione di spazio di memoria 2.velocità di trasmissione In fase di decodifica: decompressione FORMATI IMMAGINE FORMATI • Formato dei file: comprende sia i dati (es. Immagine) che le informazioni su come leggere ed interpretare il file. • Le proprietà dei formati variano in termini di risoluzione, profondità colore, capacità di riprodurre il colore, tipi di compressione e possibilità di supportare meta data. Algoritmi compressione 2. Metodi di Codifica non statistici: Lempel-Ziv (metodo basato su dizionario) in 3 varianti: LZ77, LZ78, LZW • Basati sul fatto che determinate sequenze di simboli si ripetono frequentemente Flate: LZ77 seguito da codifica Huffman in alcuni casi è indicato come ZIP RLE (Run Length Encoding): ogni riga dell’immagine è sostituita dalla sequenza delle lunghezze delle successioni (o run) di pixel consecutivi dello stesso colore. Il FORMATO e’ la regola con la quale una descrizione dell’immagine è memorizzata in un file elettronico. L’utilità di un formato è determinata da: •compatibilità •velocità di trasferimento (dimensione del file) •qualità dell’immagine Algoritmi compressione lossless 1. Metodi di codifica statistici Basati sulla conoscenza della statistica, sono codici a lunghezza variabile (VLC variable length coding) Codifica di Huffman Codifica aritmetica: tipicamente 5–10% migliore dell’Huffman coding, ma più complesso ALGORITMI DI COMPRESSIONE DELLE IMMAGINI IMAGE Raw Data Algoritmo di Compressione (Direct) Algoritmo di Compressione (Inverse) IMAGE Raw Data Conservativi (lossless o error free) Non c’è perdita di informazione ⇒ con la decompressione ottengo un file identico all’originale Non Conservativi (lossy) Con perdita di informazione Formati Multimediali AA 2011/2012 Francesca Gasparini 13 PRINCIPALI FORMATI PRINCIPALI FORMATI BITMAP GIF (Graphics Interchange Format) Standard Microsoft Immagini a colori a 1,4,8 bit per pixel con mappa di colori o senza mappa a 24 bit per pixel • nato per la trasmissione delle immagini (1987) A livelli di grigio registrati con i tre colori uguali Formato espanso o compresso (run length encoding) Immagini memorizzate da in basso a sinistra riga per riga (compressione LZW + interlacciamento) • supporta la trasparenza • può contenere più immagini ⇒ può essere utilizzato per animazioni • per immagini su web Contiene – header – mappa di colori – dati bit per pixel non superiore a 8 (⇒ 256 colori) PRINCIPALI FORMATI PRINCIPALI FORMATI TIFF (Tagged Image File Format) TIFF (Tagged Image File Format) • formato più versatile, può essere di ogni dimensione (in pixel) e di ogni profondità di bit • permette di memorizzare immagini in bianco e nero, a scala di grigio, a scala di colore, a colori RGB, CMYK, YCbCr, Lab • Può essere salvato con o senza compressione. Adotta una compressione conservativa (LZW) • solo immagini a colori RGB con colormap con un numero di •può contenere meta informazioni in locazioni di memoria chiamate tag. (risoluzione, compressione, il modello di colore, il profilo ICC...). Alcune applicazioni inseriscono dei tag proprietari che talvolta impediscono ai file di essere aperti da altre applicazioni. •due versioni, una per macchine Windows e una per macchine Macintosh. i byte sono ordinati in maniera diversa. I byte nei file per Windows iniziano con le cifre meno significative, nei file per Macintosh con quelle più significative. PRINCIPALI FORMATI Alpha channel PNG (Portable Network Graphics) • Assume valori tra 0 e 1, indica come miscelare (blending) più immagini Obiettivi • standard per lo scambio di immagini su Internet (alternativa al GIF) • superare la limitazione a 256 colori del GIF Caratteristiche • supporta colori a 24 e 48 bit • compressione senza perdita di informazione (ZIP) • immagini a livelli di grigio, RGB con o senza colormap • alpha-channel per la gestione della trasparenza • interlacciamento • file PNG sono di dimensioni inferiori rispetto al TIF LZW • non è possibile l’animazione come nel GIF • “1” indica un pixel “pieno”, “0” indica un pixel completamente trasparente α IA + (1−α ) IB • Nel GIF la trasparenza è a 1 livello (ON-OFF). Nel PNG ho 1 byte per definire il livello di trasparenza 14 PRINCIPALI FORMATI JPEG (Joint Photographic Experts Group) •JPEG (Joint Photographic Experts Group) Originale TIFF, 360 kB • per immagini fotografiche • con perdita di informazioni • RGB, CMYK, scala di grigio • non supporta la trasparenza • per immagini su web •JPEG tratta solo immagini statiche (standard correlato, MPEG, per i filmati). Compressione JPEG 75%, 11 kB Factor: 100 Size=326321 bytes Factor: 75 Size=70586 bytes Factor: 50 Size=46295 bytes Factor: 25 Size=29360 bytes 15 Factor: 10 Size=15325 bytes The GIF version of the original picture Factor: 5 Size=9438 bytes Factor: 100 Size=326321 bytes Size 258898 bytes Factor: 50 Size=46295 bytes Factor: 100 Size=326321 bytes 16 JPEG (Joint Photographic Experts Group) • JPEG è utile come mezzo di compressione e archiviazione di immagini fotografiche. Non è utile come formato intermedio per una sequenza di passi di manipolazione. In tal caso serve un formato di compressione lossless come per esempio il TIFF. PRINCIPALI FORMATI JPEG 2000 basato su tecnologie wavelet per una miglior compressione •40-60% file più piccoli, buona qualità ad altissima compressione; no artefatti a blocchi •compressione lossy o lossless •supporto per multi-spectral imagery, CMYK e profili ICC •capacità di recupero di errore per canali rumorosi •ricostruzione progressiva dell’immagine •codifica di regioni di interesse per la compressione differenziata •accesso random ai dati per l’estrazione e ricostruzione per aree di interesse, risoluzione, formato colore e qualità PRINCIPALI FORMATI JPEG 2000 Formato multirisoluzione: bassa risoluzione per dispositivi mobili alta risoluzione per stampe media risoluzione per visualizzazione a monitor Postscript È basato su una descrizione vettoriale: Gli elementi di pagina sono definiti attraverso vettori. 1. Postscript include testo e elementi grafici vettoriali 2. Immagini tipo bitmap possono essere incluse nei file PS. 3. Encapsulated Postscript files aggiungono informazioni addizionali per l’inclusione dei file PS in altri documenti. 4. Un file Postscript non ha compressione, in fatti è memorizzato come ASCII. PRINCIPALI FORMATI Portable Document Format PDF (Sviluppato da Adobe) PRINCIPALI FORMATI Scalable Vector Graphics SVG •Linguaggio per grafica 2D • Un file PDF può contenere una o più pagine • Del documento sorgente conserva: font, informazioni di formattazione, colori • Può contenere grafica vettoriale, immagini, link a ipertesti, audio, video •Fino a qualche anno fa nella grafica vettoriale il formato più diffuso era Postscript (Adobe). PS è un formato di page layout: non si usa per rappresentare immagini isolate •Visualizzazione su Web di immagini vettoriali, bitmap e testo • Supporta la compressione JPEG, RLE, LZW •SVG è derivato da PS, usa lo stesso modello. • Supporta i profili ICC •facile da implementare e semplice trasmetterlo in rete 17 PRINCIPALI FORMATI EXIF (Exchange Image File) è un formato per immagini da camera digitale. Si basa sulla compressione jpeg Contiene numerosi tag (più che nel TIFF) con informazioni sulla camera e sulle condizioni di acquisizione 3. Lo standard EXIF include anche specifiche per l’audio. 4. Contiene informazioni proprietarie a volte anche criptate 1. 2. Exif: • immagine exif I tag Exif per le immagini si suddividono in tre principali gruppi: 1. tag che riguardano la fotocamera; 2. tag che riguardano l’immagine; 3. altri tag. • fotocamera Make : NIKON CORPORATION Camera Model Name : NIKON D100 Software : Ver.2.00 Bits Per Sample : 12 CFA Pattern : [Blue,Green][Green,Red] Compression : Nikon NEF Compressed PRINCIPALI FORMATI Originale GIF JPEG Image Width : 3034 Image Height : 2024 Exposure Time : 1/60 F Number : 5.6 Exposure Program : Program AE Create Date : 2004:10:17 11:03:36 Exposure Compensation :0 Metering Mode : Multi-segment Flash : Fired, Return detected Focal Length : 24.0 mm PRINCIPALI FORMATI Alcuni confronti • Si usa GIF quando l'immagine originale è a scala di colore, con un massimo di 256 colori. Naturalmente, se si parte da una immagine con più di 256 colori è spesso accettabile una sua conversione in scala di colore. Se invece sono necessari più di 256 colori bisogna considerare JPEG. si 18 Utilizzo dei formati Proprietà Miglior qualità per l’originale Più piccole dimensioni del file Maggior compatibilità Scelta peggiore Immagini Fotografiche Toni sfumati, colori a 24 bit o a scala di grigio, no testo, poche linee e spigoli TIFF o PNG JPG, da 75% a 80% ESEMPIO di standard: formato GIF Grafici, disegni Colori saturi, fino a 256 colori, testo, linee e contorni nitidi PNG o GIF o TIFF PNG o GIF, TIFF LZW. TIFF senza TIFF senza compressione LZW compressione LZW GIF ha solo 256 La compressione colori e produce un JPG introduce degli file più grande di una artefatti, JPG con color depth degrada il testo e le di 24 bit linee GIF (Graphics Interchange Format) • compressione LZW + interlacciamento • supporta la trasparenza • può contenere più immagini ⇒ può essere utilizzato per animazioni • per immagini su WWW • solo immagini a colori RGB con colormap con un numero di bit per pixel non superiore a 8 (⇒ 256 colori) 19