2. FORMATI PER IMMAGINI STATICHE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "2. FORMATI PER IMMAGINI STATICHE"

Transcript

1 2. FORMATI PER IMMAGINI STATICHE Generalmente tutti i formati usano qualche piccolo accorgimento per limitare la ridondanza delle informazioni che vengono memorizzate nei file, tali espedienti sono da considerarsi parte del lavoro di ottimizzazione e non possono essere usati per catalogare un dato formato come compresso. Questo significa che anche gli standard definiti non compressi possono adottare in realtà qualche piccolo sistema per ridurre le dimensioni dei file. Il formato BMP, in seguito analizzato, è senza dubbio non compresso pur utilizzando lo schema di compressione senza perdita RLE per snellire il peso dei file. Per fare chiarezza è bene quindi tenere presente che quando si usa l espressione formato compresso ci si riferisce ad uno standard caratterizzato da un algoritmo di compressione che non opera sui dati solo quando questi vengono portati su file; le ambiguità saranno comunque risolvibili prestando una minima attenzione al contesto. Il primo formato presentato è compresso (con perdita) e viene identificato dalla sigla JPEG. Quasi inutile ribadire il grande utilizzo di questo standard, basti pensare che il numero di immagini JPEG è superiore a quello di qualsiasi altro formato. Il BMP, precedentemente classificato, è il secondo formato trattato cui segue il GIF. Quest ultimo appartiene alla categoria dei formati compressi senza perdita di informazione, utilizza infatti l algoritmo di compressione non deteriorante chiamato LZW. L uso di formarti non compressi per memorizzare immagini da inserire in un contesto multimediale è da ritenersi valido solo per la creazione di oggetti multimediali piuttosto semplici come delle figure commentate da un testo. Per qualcosa di più complicato, ad esempio un oggetto con molte immagini e suoni di buona qualità, la necessità della compressione si fa sentire, anzi, l uso dei formati compressi diventa quasi indispensabile. Gli standard qui analizzati sono utilizzati prevalentemente in ben determinati settori. Il JPEG si usa per lo scambio di immagini via Internet e anche per la loro archiviazione, quando la qualità non è il requisito primario. Il BMP viene invece adottato nel caso in cui la qualità sia la cosa più importante, infine il GIF viene impiegato principalmente per le piccole animazioni che abbondano in Internet. Università degli studi di Udine Pag

2 2.1 JPEG Un comitato ISO/CCITT [2], noto come JPEG [2, 3, 14] (Joint Photographic Experts Group), ha definito il primo standard internazionale di compressione per immagini a tono continuo, sia a livelli di grigio che a colori. Lo standard proposto vuole essere il più generico possibile, ed è stato rilasciato come standard ISO in due parti. La parte 1 descrive i modi di operare, le specifiche di codifica, le linee guida di implementazione. La parte 2 descrive i test che determinano se l implementazione di un codificatore o decodificatore sono conformi agli standard specificati nella parte 1, questo al fine di assicurare l interoperabilità dei sistemi che soddisfano gli standard JPEG. Sono definiti due metodi di compressione di base, uno basato sull uso della trasformata DCT [2, 13] con compressione di tipo lossy cioè con perdita di informazione, l altro sull uso di un metodo predittivo con compressione di tipo lossless cioè senza perdita di informazione. L algoritmo base dello JPEG di tipo lossy viene detto baseline, inoltre sono state definite delle estensioni opzionali del metodo lossy per la compressione di tipo gerarchico e progressivo Algoritmo baseline L algoritmo base dello JPEG definisce un ricco schema di compressione, adeguato per la maggior parte delle applicazioni, ed è composto dai seguenti passi: - Lettura dell immagine; - Estrazione di un blocco di 8x8 pixel (64 pixel) dall immagine originale; - Calcolo della trasformata coseno discreta (DCT) per ogni elemento del blocco; - Quantizzazione dei coefficienti della trasformata coseno discreta; - Compressione dei coefficienti quantizzati. - Scrittura del File. Le operazioni da effettuare nelle fasi di codifica e decodifica sono le stesse con l eccezione che, mentre nella fase di compressione seguiremo il percorso da sinistra a destra indicato in Fig. 2.1, la fase di decompressione non è altro che il percorso inverso (Fig. 2.2), ovvero corrisponde alla compressione affrontata in modo inverso. Università degli studi di Udine Pag

3 Fig. 2.1: Processo di compressione dell immagine. Fig. 2.2: Processo di decompressione dell immagine. Università degli studi di Udine Pag

4 2.1.2 Lettura del file sorgente Il primo passo dell algoritmo di compressione è la lettura del file contenente l immagine, naturalmente questo non è il primo passo effettivo dell algoritmo ma, lo considereremo tale poiché senza l immagine non possiamo applicare tutti i passi successivi. Come già detto il formato JPEG è stato definito per comprimere immagini a tono continuo, sia a livelli di grigio che a colori, perciò dovrò considerare due casi. Nel caso di immagini in tonalità di grigio, i dati letti dal file sorgente saranno rappresentati da una matrice di dimensione N x M con N ed M le dimensioni orizzontale e verticale in pixel dell immagine, questa quindi sarà una matrice quadrata o rettangolare rappresentante i livelli di luminosità e, l elemento di posizione (i, j) per i = 1,, N e j = 1,, M rappresenterà nell immagine il pixel a quelle coordinate. Fig. 2.3: Immagine a tonalità di grigio. Se, invece, l immagine è a colori, verranno rappresentate le componenti cromatiche, quindi non avremo più come rappresentante dell immagine una matrice bidimensionale, ma una matrice tridimensionale, in cui le componenti saranno riferite alle tre componenti di immagini a colori, ovvero Red, Green e Blue (RGB). La matrice quindi, avrà dimensione (MxNx3) ed il pixel di coordinate (i, j, k) per i = 1,, N; j = 1,, M e k = 1, 2, 3 rappresenterà il pixel di coordinate i e j riferite ad uno dei tre componenti. Università degli studi di Udine Pag

5 Fig. 2.4: Matrice dei colori. Se, ad esempio abbiamo un immagine a colori, a livello geometrico abbiamo tre piani, ognuno rappresentante uno dei tre colori e, l insieme dei tre piani ci restituirà l immagine. Se però consideriamo i tre piani separatamente, essi ci daranno solo un immagine in tonalità di grigio poiché sono presenti solo informazioni di luminanza relativi al piano di colore. (Fig. 2.5, 2.6, 2.7). Fig. 2.5: Piano di colore rosso. Università degli studi di Udine Pag

6 Fig. 2.6: Piano di colore verde. Fig. 2.7: Piano di colore blu. La composizione dei tre piani, contenenti informazioni di luminanza riferite ai tre colori, ci restituirà l immagine a colori. Università degli studi di Udine Pag

7 Fig. 2.8: Risultante della composizione dei tre piani (R, G, B) Dimensione dell immagine Dopo aver parlato di come l immagine può presentarsi e delle componenti che la costituiscono, ci poniamo ora il problema della dimensione. Nei passi successivi abbiamo bisogno di estrarre blocchi ( o raster ) d immagine di dimensione 8x8 pixel. Si pone ora il seguente problema: "Cosa può accadere se la dimensione dell immagine non è esattamente multipla della dimensione del blocco da estrarre?" Il problema sembra essere futile, ma è più serio di quanto possa sembrare. Infatti nei passi successivi dovrò applicare la trasformata coseno ai blocchi estratti dall immagine e, se il blocco non è completo, la parte incompleta avrà valore 0, il che corrisponde al colore nero, questo mi porterà a compromettere la luminosità del blocco, rendendo inconsistenti le informazioni elaborate. Questo problema può essere affrontato in questo modo: controlliamo innanzitutto la dimensione dell immagine, se multipla del blocco da estrarre, non compiamo alcuna operazione; se invece non è multipla, aggiungiamo tante righe o colonne contenenti informazioni valide uguali all ultima riga o colonna dell immagine fino ad avere un blocco Università degli studi di Udine Pag

8 completo (Fig. 2.9), devo però ricordare la dimensione esatta dell immagine iniziale, in modo da non causare problemi in fase di decodifica. Fig. 2.9: Immagine di dimensione inferiore ad un multiplo del raster. I blocchi contengono informazioni di luminanza, sia per immagini a colori che per immagini in tonalità di grigio, queste informazioni di carattere numerico sono comprese nel range [0, 255] perciò per rappresentarle ho bisogno di 8 bit per ciascun numero. Università degli studi di Udine Pag

9 2.1.4 Trasformazione dello spazio cromatico Prima di parlare della trasformazione che ci interessa, riassumiamo brevemente i principali aspetti dei vari spazi di colore esistenti. La grande varietà di colori esistenti viene generata tramite la combinazione di un numero limitato di colori (di solito tre o quattro). Questi ultimi sono chiamati colori primari e le leggi che stabiliscono come devono essere mischiati sono proprie di uno spazio di colore, che stabilisce in forma matematica la combinazione di questi colori. Abbiamo lo spazio di colore RGB (Red, Green, Blue) [13], Cmyk (Cyan, Magenta, Yellow, Black) [13] e YUV [13]. Nel caso dello spazio YUV, la Y rappresenta la luminanza, cioè l intensità luminosa di un punto dell immagine, mentre U e V (chiamati anche R-Y e B- Y oppure Cr e Cb) sono i canali che trasportano le informazioni sui colori; l insieme di U e V si chiama crominanza. Generalmente risulta conveniente trasformare l immagine dallo spazio cromatico RGB a quello YCrCb, in questo spazio l immagine viene rappresentata con una componente di luminosità (livelli di grigio) e due componenti cromatiche. La ragione principale di questa trasformazione è che posso permettermi di scartare più informazione nelle componenti cromatiche che in quella della luminosità, questo in quanto l occhio umano è meno sensibile alle variazioni di frequenze cromatiche che a quelle di luminosità. Questa trasformazione introduce degli errori di arrotondamento che però sono ininfluenti rispetto alla quantità di errore introdotta con l applicazione dell algoritmo JPEG. Nel caso di immagini a livelli di grigio la trasformazione dello spazio cromatico non è necessaria. Anche per le immagini a colori la trasformazione dello spazio cromatico può essere omessa e quindi si può usare l algoritmo direttamente sull immagine rappresentata nello standard RGB, in quanto l algoritmo lavora indipendentemente su ogni componente cromatica, senza analizzare i tipi di dati contenuti in essa. Ecco le formule da applicare alle matrici R, G e B ( le quali compongono la matrice tridimensionale MxNx3 ) per cambiare lo spazio cromatico di rappresentazione dell immagine da RGB a YCrCb: Università degli studi di Udine Pag

10 Dopo che ho calcolato le nuove matrici posso ridurre (anche questo è facoltativo) l informazione nelle matrici cromatiche Cr e Cb nei seguenti modi: - 2h2v : riduco le dimensioni di Cr e Cb di 2:1 sia orizzontalmente che verticalmente facendo la media dei 4 pixel confinati. - 2h1v : riduco le dimensioni di Cr e Cb solo orizzontalmente di 2:1, la dimensione verticale resta invariata, facendo la media dei 2 pixel confinanti in orizzontale. La matrice della luminosità Y non deve venire ridotta altrimenti avrei una perdita molto elevata di informazione a livello di qualità percettiva Trasformata Coseno Discreta ( DCT ) Prima di applicare la trasformata si effettua una operazione di shift a sinistra di 128 pixel: I(i,j)=I(i,j)-128. In questo modo il range dei valori dell immagine non è più da 0 a 255 ma da -128 a 127. La matrice così ottenuta viene suddivisa in blocchi 8x8 su cui si applicherà la trasformata. La trasformata usata è la trasformata coseno discreta (DCT), che applicata ai valori del blocco 8x8 li restituisce come valori in frequenza (similmente alla trasformata di Fourier). In questo modo si potranno eliminare i dati ad alta frequenza senza toccare quelli a bassa frequenza. La DCT è invertibile senza perdita significativa di informazioni, a parte qualche errore di arrotondamento dovuto ai termini del coseno, ed è definita come: x u y v Fuv (, ) CuCv ( ) ( ) f( xy, )cos ( = ) π cos ( ) π 4 x = 0 y= dove: Cu ( ), Cv ( ) = se altrimenti u, v = 0 Consideriamo ora un esempio di blocco 8x8 (Fig. 2.10) e vediamo cosa succede all informazione numerica e grafica. Il blocco è un campione estratto da un immagine. Università degli studi di Udine Pag

11 Fig. 2.10: Raster 8x8 Pixel. Ogni blocco di 8x8 pixel rappresenta 64 segnali discreti che, dopo l applicazione della DCT vengono decomposti in 64 segnali basici ortogonali. I valori dei coefficienti DCT possono essere considerati come l ammontare relativo delle frequenze spaziali bidimensionali contenute nei 64 punti in input. La DCT del blocco in questione produrrà i seguenti segnali che, come si può notare sono quasi tutti negativi (Fig. 2.11). Fig. 2.11: Trasformata coseno del raster in Fig Il coefficiente con frequenza zero in entrambe le dimensioni ( elemento in posizione riga e colonna zero del blocco ) è chiamato "coefficiente DC", mentre i restanti 63 sono chiamati "coefficienti AC". Come si può notare il coefficiente DC è molto più grande di tutti gli altri 63 coefficienti, il cui valore tende a diminuire man mano che aumenta la distanza da DC. Università degli studi di Udine Pag

12 Da questo esempio possiamo concludere che bastano i valori in alto a sinistra ( vicini al coefficiente DC ) per definire l intera matrice. Ovviamente omettendo i valori più lontani dal coefficiente DC alcune informazioni verranno perse, ma queste saranno le meno significative, inoltre ricordiamo la capacità dell occhio umano di estrapolare l informazione mancante. E interessante notare come sono stati trasformati i segnali di partenza dopo l utilizzo della trasformata coseno, nella fase iniziale, il blocco si presentava come in Fig con differenze visibili di segnale. Fig. 2.12: Grafico del raster. Dopo la DCT il blocco presenta leggere differenze, quasi impercettibili di segnale, con un leggero picco rappresentante il valore più alto della trasformata ( coefficiente DC ), come si nota in Fig riportata nella pagina seguente. Università degli studi di Udine Pag

13 Fig. 2.13: Grafico dopo l applicazione della trasformata coseno al raster. Nella fase di decodifica al blocco verrà applicata la trasformata coseno inversa (IDCT) che è data dalla seguente formula: dove: x u y v f( x, y) C( u) C( v) F( u, v)cos ( = ) π cos ( ) π 4 u= 0 v= se u, v = 0 Cu ( ), Cv ( ) = 2 1 altrimenti L applicazione della trasformata inversa ci restituirà completamente il raster Quantizzazione Applicando fin qui il processo JPEG, abbiamo ottenuto una piccola compressione, convertendo i nostri 64 segnali in 64 coefficienti DCT. Lo scopo della fase di cui parleremo è raggiungere un ulteriore compressione rappresentando i coefficienti DCT con una precisione non più grande del necessario per ottenere la qualità dell immagine richiesta. Università degli studi di Udine Pag

14 Il fine di questo passo di elaborazione è scartare le informazioni meno significative a livello visuale. La quantizzazione è un tracciato molti a uno e perciò è fondamentalmente con perdita, anzi è proprio la fonte principale della perdita del codificatore basato sulla DCT. Ogni elemento (64) del blocco 8x8 viene diviso per un coefficiente di quantizzazione distinto ed il risultato così ottenuto arrotondato all intero più vicino: F u v IntegerRound Fuv (, ) Q (, ) = Quv (, ) Il processo di dequantizzazione è definito invece, come: Q F ' Q ( u, v) = F ( u, v) Q( u, v) Questo è il procedimento fondamentale che porta all eliminazione dell informazione meno significativa. Le matrici di quantizzazione che contengono i 64 coefficienti possono essere definite a piacere, lo standard non pone limitazioni, comunque alcuni esperimenti sulla soglia psicovisuale hanno portato però alla definizione di due tabelle ottenute empiricamente usando un campionamento 2:1 orizzontale per la luminanza e la crominanza. Le tabelle ricavate dagli esperimenti sono contenute nelle figure seguenti: Fig. 2.14: Tabella di quantizzazione per la luminanza. Università degli studi di Udine Pag

15 Fig. 2.15: Tabella di quantizzazione per la crominanza. La trasformata coseno e il processo di quantizzazione possono essere applicati anche a blocchi di dimensione diversa da quella 8x8 però è stato dimostrato che buoni risultati si ottengono per blocchi di dimensione 8x8 e 16x16, i migliori in assoluto solo per blocchi di 8x8 pixel. Un esempio di ciò che accade con la quantizzazione lo possiamo vedere considerando le tabelle in Fig e Fig Fig. 2.16: Quantizzazione della tabella in Fig Università degli studi di Udine Pag

16 Se procediamo ora con la dequantizzazione possiamo notare che non otteniamo esattamente le informazioni di partenza, ma abbiamo perso informazioni (Fig. 2.17) Fig. 2.17: Dequantizzazione della tabella in Fig Se effettuiamo una scalatura dei valori della matrice di quantizzazione, si può ottenere una variazione sulla quantità di informazione eliminata nell immagine. Il parametro di scalatura sarà compreso nel range [0, 100] assegnando come significato a 0, la massima perdita di informazione con una pessima qualità e a 100 il contrario, ovvero pochissima informazione scartata con un alta qualità di immagine. Il parametro definito di scalatura, agirà sulla matrice di quantizzazione Q come segue: Se parametro < 50 scalatura = 5000 parametro altrimenti: scalatura = 200 ( parametro) 2 Università degli studi di Udine Pag

17 2.1.7 Codifica entropica Questo passo realizza un ulteriore compressione. E utile considerare la codifica entropica composta da due fasi fondamentali: la prima riguarda la sequenza a zig-zag dei coefficienti quantizzati; la seconda fase riguarda la codifica di Huffman. Codifica DC e sequenza a zig-zag Dopo la quantizzazione dei coefficienti, ottengo una matrice 8x8 come quella in Fig in cui molti coefficienti sono nulli, bisogna ora rappresentare in modo più efficiente questa matrice. Possiamo notare che i coefficienti diversi da 0, sono concentrati nella matrice nella parte in alto a sinistra. Poiché i valori 0 rappresentano alte frequenze, mentre i restanti basse frequenze, cerchiamo di ordinare i coefficienti in base alla frequenza in modo da poter trovare i valori 0 alla fine della matrice, creando per la fase successiva, lunghe sequenze di zeri che permettono una più efficace compressione. Il processo di ordinamento richiesto per questa fase segue un percorso a zig-zag come in Fig Fig. 2.18: Scansione a zig-zag. Dopo aver ordinato i coefficienti, si potrà procedere a codificare questi 64 elementi con un metodo di tipo "run length encoding", con cui si codificheranno in modo efficiente le sequenze di zeri. Università degli studi di Udine Pag

18 Il primo elemento dei 64 viene chiamato coefficiente DC e viene codificato adottando la seguente procedura: per ridurre il coefficiente DC, che di solito è un numero abbastanza elevato, si prende il DC del blocco precedente (DCprec) e lo si sottrae a quello del blocco corrente (DCcorr); si otterrà così il seguente numero: DCdiff=DCcorr-DCprec. Se il blocco precedente non esiste, significa che sono al primo blocco; in questo caso DCprec viene posto a zero e visto che DCdiff verrà sempre calcolato con la differenza sopra esposta, DCdiff coinciderà con DCcorr. DCdiff si dovrà codificare ulteriormente nel seguente modo: si costruisce una coppia (Size,Ampiezza) dove Size è il numero di bit necessari a rappresentare il coefficiente DCdiff e Ampiezza è il DCdiff stesso. Size può essere calcolato attraverso la tabella rappresentata in Fig I restanti 63 coefficienti, detti coefficienti AC, vengono rappresentati nel seguente modo: (Runlength,Size)(Ampiezza) dove Runlength è il numero di zeri consecutivi e può rappresentare sequenze di zeri lunghe da 0 a 15. Per la coppia (Runlength,Size) è ammesso il valore speciale (15,0), il quale rappresenta 16 zeri consecutivi. Si possono usare sino ad un massimo di tre coppie (15,0) consecutive. La sequenza di zeri che termina senza un numero diverso da zero non viene codificata in quanto il numero di elementi finali, nella decodifica, dovrà comunque essere uguale a 63, quindi una volta decodificati gli elementi sino al primo non nullo, si aggiungono degli zeri per completare la sequenza sino a 63 elementi. Size mantiene lo stesso significato dato in precedenza. Ampiezza è il primo numero diverso da zero che viene trovato dopo la sequenza di zeri. Dopo questa codifica per tenere traccia di dove finisce un blocco si usa il simbolo (0,0), questo simbolo è quello che codifica anche gli zeri restanti. Un esempio di questo processo di codifica, la cui descrizione non è risultata molto agevole a parole, si trova nella pagina seguente in Fig Università degli studi di Udine Pag

19 Fig. 2.19: Codifica DC. Codifica di Huffman La proposta del JPEG specifica due metodi di codifica entropica: la codifica di Huffman [13] (approccio Baseline) e la codifica aritmetica (Lempel-Zif-Welsh Algorithm (LZW)). Sebbene la codifica aritmetica offra spesso migliori risultati, è poco usata poiché coperta da copyright IBM, AT&T e Mitsubishi. L algoritmo di Huffman è impiegato per ottenere una rappresentazione più compatta dei dati; esso utilizza le frequenze statistiche con cui un simbolo compare in una sequenza. I simboli che compaiono più frequentemente vengono rappresentati con sequenze di bit corte, quelli meno frequenti con sequenze più lunghe. Le tabelle di codifica di Huffman, in cui viene associato ad ogni simbolo della sequenza un codice di Huffman, possono essere calcolate, prima della fase di compressione, attraverso una analisi statistica dei dati da rappresentare oppure si possono usare delle tabelle di default già stabilite a priori. Università degli studi di Udine Pag

20 Lo standard JPEG non stabilisce a priori queste tabelle però mette a disposizione delle tabelle che sono state generate attraverso l analisi di immagini con caratteristiche frequenti. La codifica avviene nel seguente modo: bisogna creare una sequenza di bit che deriva dalla codifica dei diversi simboli che ho ottenuto tramite la "Baseline Entropy Encoding" ( paragrafo precedente ). Definendo (Runlength,Size) con Simbolo-1 e (Ampiezza) con Simbolo-2, a tutte le occorrenze di Simbolo-1 viene associato un codice di Huffman che è distinto a seconda se Simbolo-1 codifica un elemento AC o uno DC, infatti si usano due tabelle di Huffman separate per le due classi di elementi. Questo codice è formato da una sequenza di bit di lunghezza variabile a seconda della frequenza dell elemento. A questa sequenza si deve aggiungere la codifica del Simbolo-2, che avviene come segue: Simbolo-2 rappresenta un numero che verrà convertito in un numero binario con un numero di cifre pari a Simbolo-1 se il coefficiente è di tipo DC, se invece il coefficiente è di tipo AC si usa un numero di cifre pari alla seconda componente della coppia di Simbolo-1, cioè Size. Se Simbolo-2 è un numero positivo uso la rappresentazione binaria così ottenuta e la aggiungo alla sequenza di bit del Simbolo-1; nel caso in cui sia un numero negativo per ottenere la sequenza di bit che lo rappresenta devo procedere nel seguente modo: al numero negativo si sottrae 1, la rappresentazione positiva del numero così ottenuto viene trasformata in binario, si applica a questo numero binario il complemento a due, di questo numero complementato si prende, a partire da destra, un numero di cifre pari a Simbolo-1; si ottiene in questo modo una rappresentazione in bit del numero negativo Simbolo-2. Sulla sequenza di bit così ottenuta, che rappresenta la codifica di Huffman dei dati dell immagine, bisogna applicare un ultima operazione detta di "Byte stuffing": si suddivide la sequenza di bit in byte; scandendo tutta la stringa byte per byte ogni volta che si trova un byte che rappresenta il numero 0xFF in esadecimale cioè in binario, si inserisce nella sequenza il numero 0x00 cioè subito dopo; se la stringa di bit non è divisibile per otto, si avrà un byte incompleto che dovrà essere completato con una sequenza di "1". Un esempio di codifica di Huffman viene riportato in Fig nella pagina seguente. Università degli studi di Udine Pag

21 Fig. 2.20: Codifica di Huffman. Università degli studi di Udine Pag

22 2.1.8 Scrittura del file Il file che rappresenta l immagine JPEG è costituito da una serie di segmenti che iniziano con un "marker" che identifica il tipo di segmento memorizzato. Un marker è costituito da un byte 0xFF seguito da un altro byte diverso da 0xFF e da 0x00. Siccome 0xFF viene usato come marker di un segmento non potrà essere presente nei dati codificati con Huffman. Per ovviare a questo inconveniente si utilizza la seguente convenzione : se in tali dati trovo 0xFF inserisco subito dopo il byte 0x00. Nella fase di lettura dei dati dal file JPEG, cioè la decodifica bisogna eliminare dai dati codificati con Huffman il byte 0x00 che si trova dopo il byte 0xFF. Un file JPEG incomincia sempre con un marker SOI e finisce con un marker EOI (Fig. 2.21). Fig. 2.21: Marker file JPEG. Università degli studi di Udine Pag

23 In un file JPEG se si segue il formato JFIF si usa l "application segment" in Fig. 2.22: Fig. 2.22: Application segment. Ogni matrice di quantizzazione ha un segmento proprio e le viene assegnato un identificatore (0-3). Si possono utilizzare al massimo 4 matrici distinte di quantizzazione nello stesso file. Di solito alla matrice di quantizzazione per le componenti di luminosità viene assegnato l identificatore Tq=0 (Fig. 2.23) e quella per le componenti cromatiche Tq=1. I dati di queste matrici verranno poi memorizzati come un lista di componenti con un ordinamento a zig-zag, come si usa per i blocchi della DCT. Università degli studi di Udine Pag

24 Fig. 2.23: Matrice di quantizzazione. Un file JPEG può essere costituito da più frame. Il "Frame Header" mi da informazioni sulle caratteristiche dell immagine. Il parametro Tqi (Fig. 2.24) tiene traccia di quale matrice di quantizzazione viene usata dalla componente dell immagine (Y,Cr o Cb). Fig. 2.24: Frame Header. Università degli studi di Udine Pag

25 Ogni tabella di codici di Huffman utilizzata viene memorizzata in un segmento proprio. Il tipo di codici usati, se per coefficienti DC o AC, viene codificato in Pq (Fig. 2.25) e l utilizzo in Tq. Fig. 2.25: Codici di Huffman. Lo "Scan Header" si trova prima dei dati dell immagine codificati con Huffman. Quali codici di Huffman corrispondano a quali componenti (1-3) (Y,Cr o Cb) viene specificato da Tdj e da Taj. Università degli studi di Udine Pag

26 Fig. 2.26: Scan Header. Dopo lo "Scan Header" vengono scritti i dati veri e propri dell immagine codificati con Huffman. I segmenti del file JPEG vanno inseriti nel file rispettando l ordine riportato in Fig Università degli studi di Udine Pag

27 Fig. 2.27: Ordine di inserimento dei segmenti nel file JPEG. Università degli studi di Udine Pag

28 Nella figura che segue si può vedere una rappresentazione in esadecimale del file JPEG: Fig. 2.28: Rappresentazione esadecimale del file JPEG. Università degli studi di Udine Pag

29 Estensioni La codifica progressiva La codifica progressiva è stata realizzata per la trasmissione real-time di immagini. Permette di trasmettere i coefficienti della DCT in scansioni multiple dell immagine. Con ogni scansione il decodificatore può produrre una rappresentazione di qualità migliore dell immagine. In questo modo posso trasmettere un immagine in bassa definizione molto velocemente e poi raffinarla in trasmissioni successive. Lo spazio utilizzato per la memorizzazione dell immagine è circa uguale a quello usato per codificare, alla stessa qualità, l immagine con l algoritmo "baseline". Il decodificatore deve produrre un ciclo completo di decodifica JPEG per ogni scansione dell immagine. La codifica gerarchica La codifica gerarchica rappresenta l immagine con diverse risoluzioni. Per esempio: si possono creare le seguenti versioni dell immagine: 512x512, 1024x1024 e 2048x2048. Le immagini a risoluzione più grande vengono codificate come differenza dall immagine a risoluzione più bassa. I singoli frame di una codifica gerarchica possono venire ulteriormente codificati con il metodo progressivo Lossless JPEG Questo tipo di codifica non fa uso della DCT, in quanto gli errori di arrotondamento introdotti da questa operazione non le permettono di essere "lossless". Per lo stesso motivo non possono essere usate le operazioni di conversione dello spazio cromatico e la riduzione delle componenti cromatiche dell immagine. Il "lossless" JPEG codifica la differenza tra ogni pixel ed il valore "predetto" per quel pixel. Il valore "predetto" è dato da una funzione che usa i valori già modificati dei pixel che si trovano sopra e alla sinistra del pixel corrente (posso usare, per esempio, come funzione la media dei pixel). Università degli studi di Udine Pag

30 La sequenza così ottenuta viene poi codificata con il metodo di Huffman. L uso principale di questa tecnica di codifica è l abbinamento all estensione gerarchica del JPEG: il frame finale in una sequenza gerarchica dell immagine può essere codificato in modo "lossless" per avere una minore perdita di informazione Esempi di immagini JPEG Fig. 2.29: La stessa immagine in formato JPEG con diversi valori di compressione. Università degli studi di Udine Pag

31 La Fig rappresenta l originale in formato BMP con 16 milioni di colori, risoluzione di 1755x1198, memorizzata in un file avente un occupazione di memoria su disco di 6,01 MB. Fig. 2.30: Originale in formato BMP. Il risultato della trasformazione dell originale in formato JPEG con fattore di compressione 15% (normalmente adottato dai vari programmi di fotoritocco) viene mostrato in Fig nella pagina seguente. Le dimensioni del file sono di 506 KB. Università degli studi di Udine Pag

32 Fig. 2.31: Immagine JPEG ottenuta dall originale BMP di Fig Per apprezzare le perdite di informazione dovute al formato JPEG possiamo osservare l ingrandimento riportato in Fig Fig. 2.32: Particolare delle immagini in Fig e Università degli studi di Udine Pag

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Università degli Studi di Messina Policlinico G. Martino - Sistemi di Elaborazione delle Informazioni A.A. 26/27 Università degli Studi di Messina Policlinico G. Martino - Sistemi di Elaborazione delle

Dettagli

Abbiamo visto nella lezione precedente che le immagini possono essere compresse in vari modi, per ridurne l'occupazione di memoria (su disco o rete)

Abbiamo visto nella lezione precedente che le immagini possono essere compresse in vari modi, per ridurne l'occupazione di memoria (su disco o rete) Algoritmi di compressione per le immagini Abbiamo visto nella lezione precedente che le immagini possono essere compresse in vari modi, per ridurne l'occupazione di memoria (su disco o rete) compressione

Dettagli

Capitolo 3 Compressione sorgenti statiche

Capitolo 3 Compressione sorgenti statiche Capitolo 3 Compressione sorgenti statiche Elementi di codifica di sorgente Entropia Classificazione degli algoritmi Testo RLE Huffman statico Huffman dinamico Codifica aritmetica LZ Immagini Prestazioni

Dettagli

LE IMMAGINI DIGITALI 3 formati. Università IUAV di venezia

LE IMMAGINI DIGITALI 3 formati. Università IUAV di venezia LE IMMAGINI DIGITALI 3 formati Università IUAV di venezia Compressione Trasmissione ed archiviazione dei file grafici Algoritmo di compressione: trasformare la sequenza di byte che costituisce un file

Dettagli

Compressione delle immagini (codifica JPEG)

Compressione delle immagini (codifica JPEG) Compressione delle immagini (codifica JPEG) ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Motivazioni a favore della compressione 2 Es. Si consideri di voler proiettare un ora di un film mediante un dispositivo

Dettagli

Codifica dei coefficienti AC

Codifica dei coefficienti AC Codifica dei coefficienti AC Codifica dei coefficienti AC La DCT e la quantizzazione tendono a produrre blocchi di coefficienti con molti zeri. Esempio, con la tabella di quantizzazione predefinita: 56

Dettagli

Codifica Immagini Fisse

Codifica Immagini Fisse Codifica Immagini Fisse Corso di Telecomunicazioni Anno Accademico 2008/2009 Contenuti Caratteristiche delle immagini Codifica JPEG Perché comprimere Si supponga di voler trasmettere 30 fotografie in bianco

Dettagli

Compressione con perdita

Compressione con perdita Sistemi Multimediali Compressione con perdita Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it L'occhio umano e' meno sensibile alle differenze di colore che alle differenze di luminosita'. Questo

Dettagli

Digitalizzazione delle immagini

Digitalizzazione delle immagini Digitalizzazione delle immagini Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dai computer ma sempre più applicazioni utilizzano ed elaborano anche altri

Dettagli

CODIFICA IMMAGINI IN BIANCO E NERO

CODIFICA IMMAGINI IN BIANCO E NERO Rappresentazione delle immagini Anche le immagini possono essere codificate mediante una sequenza di 0 e 1., questa operazione si chiama digitalizzazione. La prima cosa da fare è dividere l immagine in

Dettagli

Compressione delle immagini (codifica JPEG)

Compressione delle immagini (codifica JPEG) Compressione delle immagini (codifica JPEG) A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 0 / 2 0 1 1 Motivazioni a favore della compressione 2 Es. Si consideri di voler proiettare un ora

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione JPEG

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione JPEG FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Compressione JPEG 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota

Dettagli

La codifica di sorgente

La codifica di sorgente Tecn_prog_sist_inform Gerboni Roberta è la rappresentazione efficiente dei dati generati da una sorgente discreta al fine poi di trasmetterli su di un opportuno canale privo di rumore. La codifica di canale

Dettagli

La codifica delle immagini

La codifica delle immagini Non sempre il contorno della figura coincide con le linee della griglia. Quella che si ottiene nella codifica è un'approssimazione della figura originaria Se riconvertiamo la stringa 0000000011110001100000100000

Dettagli

Rappresentazione dei numeri: il sistema di numerazione decimale

Rappresentazione dei numeri: il sistema di numerazione decimale Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica Corso di Elementi di Informatica Lezione 3 14 marzo 2017 Dott. A.A. 2016/2017 pgarau.unica@gmail.com 1 Codifica dei numeri

Dettagli

UNIVERSITÀ DEGLI STUDI DI TRIESTE

UNIVERSITÀ DEGLI STUDI DI TRIESTE UNIVERSITÀ DEGLI STUDI DI TRIESTE Corso di Elaborazione Elettronica di Immagini CODIFICA DI IMMAGINI SENZA PERDITA Sommario 1 2 (Lossless JPEG, PNG, ecc.) 3 4 Motivazione Gli algoritmi per la codifica

Dettagli

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale LEZIONI 2 e 3 Rappresentazione dell informazione 53 Analogico vs digitale LEZIONI 2 e 3 Rappresentazione dell informazione 54 Segnale analogico Il computer può lavorare soltanto con grandezze di tipo digitale

Dettagli

Numeri interi. Laboratorio di Calcolo Paola Gallo

Numeri interi. Laboratorio di Calcolo Paola Gallo Numeri interi Alfabeto binario anche il segno può essere rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k 1

Dettagli

La codifica delle immagini

La codifica delle immagini Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma si stanno diffondendo sempre di più applicazioni che utilizzano ed elaborano anche altri tipi di informazione:

Dettagli

La codifica di sorgente

La codifica di sorgente Tecn_prog_sist_inform Gerboni Roberta è la rappresentazione efficiente dei dati generati da una sorgente discreta al fine poi di trasmetterli su di un opportuno canale privo di rumore. La codifica di canale

Dettagli

La codifica delle immagini

La codifica delle immagini Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma si stanno diffondendo sempre di più applicazioni che utilizzano ed elaborano anche altri tipi di informazione:

Dettagli

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari Rappresentazione binaria Rappresentazioni diverse per: Rappresentazione delle informazioni Numeri naturali Numeri interi relativi Numeri reali Pagina 1 Pagina 4 Calcolatori digitali tutte le informazioni

Dettagli

La codifica del testo

La codifica del testo La codifica delle informazioni Informatica e sistemi di elaborazione delle informazioni La codifica delle informazioni Informatica e sistemi di elaborazione delle informazioni I slide Informatica e sistemi

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Il concetto di FILE FILE: sequenza di byte conosciuta nel computer

Dettagli

Nozioni di grafica sul calcolatore. concetti di base

Nozioni di grafica sul calcolatore. concetti di base Nozioni di grafica sul calcolatore concetti di base La riproduzione di immagini fotografiche su computer avviene suddividendo l'immagine stessa in una matrice di punti colorati: pixels I formati basati

Dettagli

I.4 Rappresentazione dell informazione - Altre codifiche

I.4 Rappresentazione dell informazione - Altre codifiche I.4 Rappresentazione dell informazione - Altre codifiche Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 20, 2015 Argomenti 1 2 3 4 L immagine viene suddivisa

Dettagli

Lez. 7 Immagini Digitali. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 7 Immagini Digitali. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 7 Immagini Digitali Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

Tecnologie Multimediali a.a. 2016/2017. Docente: DOTT.SSA VALERIA FIONDA

Tecnologie Multimediali a.a. 2016/2017. Docente: DOTT.SSA VALERIA FIONDA Tecnologie Multimediali a.a. 2016/2017 Docente: DOTT.SSA VALERIA FIONDA Rappresentazione digitale delle immagini Sistema binario Il computer "capisce" solo 2 stati: passacorrente (1) non passa corrente

Dettagli

Informazione binaria:

Informazione binaria: Informazione binaria: Codici di compressione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Una soluzione per le immagini: la tavolozza (palette) Spesso

Dettagli

Informazione multimediale

Informazione multimediale Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma ci sono sempre piu applicazioni che utilizzano ed elaborano anche altri tipi di informazione:

Dettagli

Rappresentazione di immagini a colori. Rappresentazione dei colori. Rappresentazione dei colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II

Rappresentazione di immagini a colori. Rappresentazione dei colori. Rappresentazione dei colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II Rappresentazione di immagini a colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II Per rappresentare immagini utilizzando i colori, a ogni elemento della griglia si dovranno dedicare più bit. Se dedichiamo

Dettagli

Formati e compressioni

Formati e compressioni Sistemi Multimediali Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Formati e compressioni Anche se in memoria le immagini vengono quasi sempre memorizzate come una sequenza di colori RGB,

Dettagli

RETI INTERNET MULTIMEDIALI

RETI INTERNET MULTIMEDIALI RETI INTERNET MULTIMEDIALI Codifica delle Immagini: JPEG, TIFF, Facsimile Il documento è adattato da materiale cortesemente messo a disposizione dal Prof. Stefano Paris e dal Prof. Vittorio Trecordi 1

Dettagli

Esistono delle trasformazioni standard fra i diversi formati che abbiamo discusso

Esistono delle trasformazioni standard fra i diversi formati che abbiamo discusso Trasformazioni fra formati Esistono delle trasformazioni standard fra i diversi formati che abbiamo discusso Il formato più ricco di informazioni (e più fedele) è il direct color Può essere ridotto a indicizzato

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Rappresentazione delle informazioni Pagina 1 Calcolatori digitali tutte le informazioni vengono rappresentate in forma numerica binaria (0,1): Numeri Caratteri Immagini Video Suoni Pagina 2 La codifica

Dettagli

Sommario. Lempel-Ziv coding e varianti Run-length encoding. 1 Introduzione. 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc.

Sommario. Lempel-Ziv coding e varianti Run-length encoding. 1 Introduzione. 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc. Sommario Lempel-Ziv coding e varianti 1 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc.) 3 Lempel-Ziv coding e varianti 4 Lempel-Ziv coding e varianti Il codice di Huffman visto prima sfrutta

Dettagli

UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1. Lezione 5: Formati di immagine: JPEG. D. Cecchin, F. Bui FORMATO GRAFICO JPEG

UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1. Lezione 5: Formati di immagine: JPEG. D. Cecchin, F. Bui FORMATO GRAFICO JPEG UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1 Lezione 5: Formati di immagine: JPEG D. Cecchin, F. Bui FORMATO GRAFICO JPEG ACRONIMO DI: JOINT PHOTOGRAPHIC EXPERT GROUP SVILUPPATO NEL: 1986 da un

Dettagli

RAPPRESENTAZIONE DELLE INFORMAZIONI

RAPPRESENTAZIONE DELLE INFORMAZIONI RAPPRESENTAZIONE DELLE INFORMAZIONI 1 RAPPRESENTAZIONE DELLE INFORMAZIONI Le informazioni gestite dai sistemi di elaborazione devono essere codificate per poter essere memorizzate, elaborate, scambiate,

Dettagli

impaginazione di libri, giornali e riviste la progettazione grafica (CAD) nelle industrie metalmeccanica, elettronica, impiantistica ed edile

impaginazione di libri, giornali e riviste la progettazione grafica (CAD) nelle industrie metalmeccanica, elettronica, impiantistica ed edile LEZIONE 1 impaginazione di libri, giornali e riviste la progettazione grafica (CAD) nelle industrie metalmeccanica, elettronica, impiantistica ed edile videogiochi il ritocco fotografico il montaggio di

Dettagli

Rappresentazione delle informazioni LA RAPPRESENTAZIONE DELLE INFORMAZIONI. Grandezze digitali. Grandezze analogiche

Rappresentazione delle informazioni LA RAPPRESENTAZIONE DELLE INFORMAZIONI. Grandezze digitali. Grandezze analogiche Rappresentazione delle informazioni LA RAPPRESENTAZIONE DELLE INFORMAZIONI Nella memoria del computer è possibile memorizzare esclusivamente sequenze di bit e il processore può processare soltanto dati

Dettagli

RAPPRESENTAZIONE DELLE INFORMAZIONI

RAPPRESENTAZIONE DELLE INFORMAZIONI RAPPRESENTAZIONE DELLE INFORMAZIONI 1 RAPPRESENTAZIONE DELLE INFORMAZIONI Le informazioni gestite dai sistemi di elaborazione devono essere codificate per poter essere memorizzate, elaborate, scambiate,

Dettagli

L'Informazione e la sua Codifica. Maurizio Palesi

L'Informazione e la sua Codifica. Maurizio Palesi L'Informazione e la sua Codifica Maurizio Palesi 1 Obiettivo Il calcolatore è una macchina digitale Il suo linguaggio è composto da due soli simboli Gli esseri umani sono abituati a comunicare utlizzando

Dettagli

Sistemi di Elaborazione delle Informazioni 6 CFU

Sistemi di Elaborazione delle Informazioni 6 CFU Università degli Studi di Palermo Dipartimento dell Innovazione Industriale e Digitale Sistemi di Elaborazione delle Informazioni 6 CFU Anno Accademico 2016/2017 Docente: ing. Salvatore Sorce Rappresentazione

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

Dettagli

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 10 Rappresentazione delle informazioni non numeriche 1 Rappresentazione delle informazioni Nella memoria del

Dettagli

Sistemi di Elaborazione delle Informazioni 6 CFU

Sistemi di Elaborazione delle Informazioni 6 CFU Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Sistemi di Elaborazione delle Informazioni 6 CFU Anno Accademico 2015/2016 Docente: ing. Salvatore

Dettagli

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono La codifica binaria Fondamenti di Informatica Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore Introduzione q Il calcolatore usa internamente

Dettagli

Modulo 2: RAPPRESENTAZIONE DEI DATI I sistemi di numerazione

Modulo 2: RAPPRESENTAZIONE DEI DATI I sistemi di numerazione LABORATORIO DI ABILITA INFORMATICA Modulo 2: RAPPRESENTAZIONE DEI DATI I sistemi di numerazione Ing. Maria Grazia Celentano 1 SISTEMI DI NUMERAZIONE SISTEMI DI NUMERAZIONE BIT 2/73 BIT In termini pratici

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

1 Esercizio - caso particolare di ottimalità

1 Esercizio - caso particolare di ottimalità Corso: Gestione ed elaborazione grandi moli di dati Lezione del: 5 giugno 2006 Argomento: Compressione aritmetica e Tecniche di compressione basate su dizionario Scribes: Andrea Baldan, Michele Ruvoletto

Dettagli

Tecnologie Multimediali a.a. 2017/2018. Docente: DOTT.SSA VALERIA FIONDA

Tecnologie Multimediali a.a. 2017/2018. Docente: DOTT.SSA VALERIA FIONDA Tecnologie Multimediali a.a. 2017/2018 Docente: DOTT.SSA VALERIA FIONDA Rappresentazione digitale delle immagini Codifica delle immagini 00101111110000101010100000000001010100001000000 00000000000000000000001110101000000011100100101

Dettagli

Le immagini digitali

Le immagini digitali Le immagini digitali immagini raster immagini vettoriali Immagini raster Dette pittoriche o pixel oriented dividono l immagine in una griglia uniforme. Ciascuna cella della griglia ha uguale dimensione.

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Rappresentazione delle immagini 2 Rappresentazione delle immagini Le forme e i colori presenti

Dettagli

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte Rappresentazione digitale delle informazioni Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte Ordini di grandezza Codifica delle immagini Codifica

Dettagli

La compressione video. Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG

La compressione video. Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG La compressione video Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG Trasformata di Fourier Analisi in frequenza delle immagini 2 Trasformata di

Dettagli

Codifica/Compressione multimediale

Codifica/Compressione multimediale Corso di architetture multimediali Università di Milano Corso di laurea specialistica in Informatica per la Comunicazione A.A. 2012-2013 Codifica/Compressione multimediale Perché codificare? Codifica ->

Dettagli

Le immagini digitali

Le immagini digitali Le immagini digitali Formati e caratteristiche di digitalizzazione Processo complessivo 1. Documento originale (eventuale restauro del supporto) Argomento della lezione 2. Scansione 3. Oggetto digitale

Dettagli

La memorizzazione dei dati e delle istruzioni

La memorizzazione dei dati e delle istruzioni La memorizzazione dei dati e delle istruzioni La più piccola unità di informazione memorizzabile (e quindi utilizzabile) è il bit (Binary digit), che può assumere valore 0 o 1. Il dispositivo utilizzato

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze di due soli simboli : 0 e 1 L unità elementare di informazione si chiama bit

Dettagli

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale La codifica dell informazione Il codice ASCII consente di codificare le cifre decimali da a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero 324 potrebbe essere rappresentato

Dettagli

Tutti i dispositivi di un elaboratore sono realizzati con tecnologia digitale

Tutti i dispositivi di un elaboratore sono realizzati con tecnologia digitale Calcolatore e Informazione Tutti i dispositivi di un elaboratore sono realizzati con tecnologia digitale Corrente + Corrente Magnetismo + Magnetismo Luce presente (+) Luce assente (-) Dati ed operazioni

Dettagli

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni

Dettagli

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10 La codifica dell informazione Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze di due soli simboli : 0 e 1 L unità elementare di informazione si chiama bit

Dettagli

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini Modulo 1: Le I.C.T. : La Codifica Digitale delle Immagini Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno

Dettagli

Errata corrige. Alfabeti Batak, Brahmi, Mandaic Simboli per carte da gioco, mappe, mezzi di trasporto, alchemici e emoticon

Errata corrige. Alfabeti Batak, Brahmi, Mandaic Simboli per carte da gioco, mappe, mezzi di trasporto, alchemici e emoticon Errata corrige Nella lezione precedente, avevamo indicato come corrente la versione 5 di UNICODE. In realtà, è stata pubblicata a Ottobre 2010 la versione 6, che come al solito aggiunge alcuni caratteri:

Dettagli

Compressione di Immagini.

Compressione di Immagini. Compressione di Immagini Michelangelo Diligenti Dipartimento di Ingegneria dell Informazione Università di Siena Email: diligmic@dii.unisi.it http://www.dii.unisi.it/~diligmic/bdm2009 1 Immagini Maggior

Dettagli

Codifica dell Informazione

Codifica dell Informazione Francesco Folino CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati e istruzioni in un formato tale che l esecutore automatico

Dettagli

Dall occhio al JPEG (2)

Dall occhio al JPEG (2) Dall occhio al JPEG (2) Corso di Principi e Modelli della Percezione Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it http://boccignone.di.unimi.it/pmp_2018.html

Dettagli

La codifica delle immagini

La codifica delle immagini Per distinguere 16777216 colori sono necessari 24 bit per la codifica di ciascun pixel: la codifica di un'immagine formata da 640X480 pixel richiederà 7.372.800 bit (921.600 byte) Esistono delle tecniche

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi

Dettagli

Informazione binaria: Codici per la rilevazione e correzione di errori Codici di compressione

Informazione binaria: Codici per la rilevazione e correzione di errori Codici di compressione Informazione binaria: Codici per la rilevazione e correzione di errori Codici di compressione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin

Dettagli

Memorizzazione delle immagini. Metodi e Formati

Memorizzazione delle immagini. Metodi e Formati Memorizzazione delle immagini Metodi e Formati Dati bitmap Insieme di valori numerici che specificano i colori dei singoli pixel Linearizzazione per righe Formati e file grafici Come si registrano i dati?

Dettagli

Abbiamo visto come la codifica di testi sia (relativamente semplice) Con le immagini la questione è più complessa

Abbiamo visto come la codifica di testi sia (relativamente semplice) Con le immagini la questione è più complessa Codifica delle immagini Abbiamo visto come la codifica di testi sia (relativamente semplice) Un testo è una sequenza di simboli Ogni simbolo è codificato con un numero Ed ecco che il testo è trasformato

Dettagli

La visione spaziale (1): dalla visita oculistica al JPEG

La visione spaziale (1): dalla visita oculistica al JPEG La visione spaziale (1): dalla visita oculistica al JPEG Corso di Principi e Modelli della Percezione Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it http://boccignone.di.unimi.it/pmp_2015.html

Dettagli

Codifica dell Informazione

Codifica dell Informazione Introduzione all Informatica Fabrizio Angiulli Codifica dell Informazione CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati

Dettagli

Parte 1: tipi primitivi e istruzioni C

Parte 1: tipi primitivi e istruzioni C Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una

Dettagli

1.3a: La Codifica Digitale delle Immagini

1.3a: La Codifica Digitale delle Immagini Prof. Alberto Postiglione Scienze della e Facoltà di Lettere e Filosofia Università degli Studi di Salerno 1.3a: La Codifica Digitale delle Immagini Informatica Generale (Laurea in Scienze della e) Sistemi

Dettagli

La codifica delle informazioni numeriche ed alfanumeriche.

La codifica delle informazioni numeriche ed alfanumeriche. Prof.ssa Bianca Petretti La codifica delle informazioni numeriche ed alfanumeriche. Appunti del docente RAPPRESENTAZIONE INFORMAZIONI ALFANUMERICHE codifica ASCII (7 bit): 128 caratteri (da 000 a 127);

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

Codifica di Huffman e Lempel-Ziv-Welch A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

Codifica di Huffman e Lempel-Ziv-Welch A L B E R T O B E L U S S I A N N O A C C A D E M I C O / Codifica di Huffman e Lempel-Ziv-Welch 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 0 / 2 0 1 1 Tipi di compressione Senza perdita (lossless): permettono di ricostruire perfettamente

Dettagli

Sistemi Informativi Multimediali La codifica dell informazione multimediale

Sistemi Informativi Multimediali La codifica dell informazione multimediale Obiettivi della codifica di informazioni multimediali Sistemi Informativi Multimediali La codifica dell informazione multimediale Augusto Celentano Università Ca Foscari Venezia Ridurre la dimensione di

Dettagli

Codifica di Huffman e Lempel-Ziv-Welch

Codifica di Huffman e Lempel-Ziv-Welch e Lempel-Ziv-Welch 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 0 / 2 0 1 1 Tipi di compressione Senza perdita (lossless): permettono di ricostruire perfettamente la rappresentazione

Dettagli

Codifica dei caratteri

Codifica dei caratteri Codifica dei caratteri Alfabeto anglosassone Lettere maiuscole e minuscole Cifre numeriche (0, 1, 2,, 9) Simboli di punteggiatura (,. ; :!? ) Segni matematici (+, -, {, [, >, ) Caratteri nazionali (à,

Dettagli

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica

Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica Corso di Elementi di Informatica Lezione 4 21 marzo 2017 Dott. A.A. 2016/2017 pgarau.unica@gmail.com 1 nel campo dell'informatica

Dettagli

Informatica. Ottali ed esadecimali. Numeri naturali binari nei calcolatori 02/03/2007. Introduzione ai sistemi informatici 1

Informatica. Ottali ed esadecimali. Numeri naturali binari nei calcolatori 02/03/2007. Introduzione ai sistemi informatici 1 Informatica Pietro Storniolo storniolo@csai.unipa.it http://www.pa.icar.cnr.it/storniolo/info267 Numeri naturali binari nei calcolatori Per la codifica dei numeri naturali (interi positivi) si utilizzano

Dettagli

Rappresentazione digitale delle informazioni

Rappresentazione digitale delle informazioni Rappresentazione digitale delle informazioni Informazione oggi Informatica: disciplina che studia l elaborazione automatica di informazioni. Elaboratore: sistema per l elaborazione automatica delle informazioni.

Dettagli

Altre organizzazioni

Altre organizzazioni usata quando la destinazione finale è una stampa in bianco e nero (es., foto sui giornali) Altre organizzazioni Fra le molte altre organizzazioni possibili, alcune si incontrano con particolare frequenza:

Dettagli

Acquisizione di immagini

Acquisizione di immagini Università di Roma Tor Vergata Anno Accademico 2016 2017 Acquisizione di immagini Immagini e Filmati L immagine Un'immagine è un modo di rappresentare in un spazio generalmente piano (a coordinate indipendenti)

Dettagli

1.2d: La codifica Digitale dei caratteri

1.2d: La codifica Digitale dei caratteri 1.2d: La codifica Digitale dei caratteri 2 12 ott 2011 Bibliografia Curtin, 3.6 (vecchie edizioni) Curtin, 2.5 (nuova edizione) CR pag. 9-14 Questi lucidi 3 12 ott 2011 La codifica dei caratteri Un testo

Dettagli

Cenni di fotogrammetria LE IMMAGINI DIGITALI

Cenni di fotogrammetria LE IMMAGINI DIGITALI Cenni di fotogrammetria LE IMMAGINI DIGITALI Hardcopy fotogrammetry: è la fotogrammetria che usa immagini di tipo analogico Softcopy fotogrammetry: è la fotogrammetria che usa immagini di tipo digitale

Dettagli

Introduzione alla progettazione grafica

Introduzione alla progettazione grafica Introduzione alla progettazione grafica Marco Franceschini 2 Introduzione Progettazione tecnica Progettazione artistica Il progettista grafico 3 Elementi del progetto grafico Supporto (tipologie, formati,...)

Dettagli