Codifica e presentazioni di immagini fisse per terminali mobili in reti a commutazione di pacchetto

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Codifica e presentazioni di immagini fisse per terminali mobili in reti a commutazione di pacchetto"

Transcript

1 Università degli studi Roma Tre Facoltà di Ingegneria Elettronica Anno Accademico 2001/2002 Codifica e presentazioni di immagini fisse per terminali mobili in reti a commutazione di pacchetto Francesco Stabile Relatore: Ch.mo Prof. A. Neri Co-Relatore: Ing. F. Romano 2 Relatore: Ch.mo Prof. C. Palma

2 PREFAZIONE La tesi è stata svolta presso le strutture ed i laboratori dalla Scuola di Formazione Superiore ELIS di Roma, nell'ambito del progetto Servizi Multimediali commissionato da Ericsson a Vivai D Impresa. Le basi su cui poggia l informatica sono sempre soggette a continui cambiamenti, ed inevitabili cedimenti dovuti alla rapidità con cui emergono le nuove necessità. Gli impulsi dati da Internet, dall e-commerce e dai nuovi dispositivi digitali, in particolare dalla diffusione di cellulari e pda, tendono a mettere in evidenza le carenze di tecnologie consolidate da tempo. Resta da vedere se le innovazioni saranno così importanti da comportare l abbandono di formati largamente diffusi e supportati quali lo JPEG ed il GIF. Questi attuali sistemi di codifica delle immagini hanno consentito l incredibile sviluppo delle telecomunicazioni multimediali e di internet, ma già ci si scontra con i loro limiti nell evoluzione dei nuovi scenari. Un breve ma significativo esempio: un codificatore a perdita di informazioni per compressione come JPEG, a bassi bit rate fornisce immagini di pessima qualità percettiva; non permette inoltre la definizione di zone dell immagine più importanti. La soluzione a queste necessità ed altre necessità ha portato alla definizione dello standard JPEG Scopo del lavoro di ricerca e sperimentazione presentato in questa tesi è lo sviluppo di un software multipiattaforma per dispositivi wireless e portabili che consenta di sfruttare le caratteristiche di JPEG Nel corso del primo capitolo si descrivono brevemente gli standard attuali per le immagini fisse con particolar riguardo a JPEG, JPEG-LS, PNG e JBIG; si analizzeranno le limitazioni rispetto a JPEG Quest ultimo verrà trattato ampiamente nel secondo capitolo, dove si affronteranno: la trasformata pag. II

3 Wavelet per il supporto alla scalabilità della risoluzione; la codifica entropica, che grazie al rate allocator, permette una scalabilità del livello di dettaglio; il packet partitioning che ha lo scopo di migliorare la capacità di accesso diretto a regioni dell immagine. Nel terzo capitolo si descriveranno le peculiarità del linguaggio Java, analizzando soprattutto le piattaforme utilizzate in ambito mobile: Java 2 MicroEdition e Personal Java. Piattaforma, quest ultima, che è stata utilizzata per lo sviluppo del software. Nel capitolo quattro si analizza l architettura software alla base dello sviluppo: il compilatore ed il simulatore per piattaforme Symbian; inoltre verrà analizzato in dettaglio il processo che permette di creare i files di installazione, utili per testare l applicativo sul Sony Ericsson P800, il terminale utilizzato per i effettuare i test finali dell applicativo. Nel capitolo cinque si descrivono le scelte progettuali effettuate e le caratteristiche del visualizzatore realizzato. Verranno analizzate l interfacce grafiche utilizzate e le soluzioni adottate per risolvere i problemi di compatibilità con la piattaforma Personal Java del P800. Nel capitolo 6 si analizzano alcune architetture implementate per lo streaming, in special modo quella utilizzante JPIP (JPEG 2000 Internet Protocol), protocollo di comunicazione interattivo per dati compressi in formato JPEG Tale protocollo è il più accreditato, tra tutti gli altri a diventare un vero e proprio standard di riferimento. Nel corso del capitolo, oltre ad una disamina tecnica di JPIP, è presente anche un applicazione Java (lato client) che testa il meccanismo di richiesta scalabile secondo questo protocollo. Infine nel settimo capitolo si presentano le considerazioni conclusive, commentando i risultati ottenuti ed indicando eventuali sviluppi futuri. pag. III

4 INDICE CAPITOLO 1 STANDARD ATTUALI PER LE IMMAGINI IMMAGINI FISSE JPEG-LS PNG JBIG E JBIG JPEG... 6 CAPITOLO 2 LO STANDARD JPEG INTRODUZIONE CODIFICA TRASFORMAZIONE DELLE COMPONENTI TRASFORMATA WAVELET QUANTIZZAZIONE CODIFICA ENTROPICA REGIONI DI INTERESSE DECODIFICA DECODIFICA ENTROPICA DEQUANTIZZAZIONE ANTITRASFORMATA WAVELET TRASFORMAZIONE INVERSA DELLE COMPONENTI CAPITOLO 3 JAVA, J2ME E PJAVA LINGUAGGIO JAVA INTRODUZIONE AL LINGUAGGIO UN LINGUAGGIO SEMPLICE ARCHITETTURA NEUTRALE SICUREZZA IN JAVA J2ME (JAVA 2 MICROEDITION) INTRODUZIONE IL SETTORE EMBEDDED L ARCHITETTURA J2ME PJAVA (PERSONAL JAVA) CAPITOLO 4 AMBIENTE DI SVILUPPO INTRODUZIONE SOFTWARE UTILIZZATI ECLIPSE IDE UIQ SDK PER SYMBIAN pag. 1

5 4.3 PROCESSO DI SVILUPPO DI APPLICAZIONI JAVA PER PIATTAFORME SYMBIAN INTRODUZIONE SVILUPPO DEL CODICE JAVA SVILUPPO PER L INTERFACCIA SYMBIAN GENERAZIONE DEL FILE SYS SONY ERICSSON P CAPITOLO 5 REALIZZAZIONE DEL VISUALIZZATORE DI IMMAGINI JPEG JPEG 2000 VIEWER ANALISI REQUISITI SCELTE PROGETTUALI INTERFACCIA GRAFICA VISUALIZZATORE CAPITOLO 6 ARCHITETTURE SCALBILI PER LO STREAMING DI IMMAGINI JPEG STREAMING SCALABILE UTILIZZANDO JPIP INTRODUZIONE ARCHITETTURA PROPOSTA SINTASSI DI RICHIESTA SINTASSI DI REPLICA JPIP HEADERS DESCRIZIONE DEL PROTOCOLLO INTERATTIVO JPIP-H DESCRIZIONE DEL PROTOCOLLO INTERATTIVO JPIP-HT COMUNICAZIONI NON INTERATTIVE STREAMING SCALABILE UTILIZZANDO HTTP ARCHITETTURA SAMPLE SESSION STRUTTURA DEL CODESTREAM JPEG STRUTTURA DELL INDEX FILE LE DUE ARCHITETTURE A CONFRONTO CAPITOLO 7 CONCLUSIONI E SVILUPPI FUTURI APPENDICE A: LISTATO DEL MAIN DI JP2VIEW APPENDICE B: LISTATO RELATIVO ALL IMPLEMENTAZIONE DEL CLIENT JPIP-H IN JAVA BIBLIOGRAFIA pag. 2

6 CAPITOLO 1 STANDARD ATTUALI PER LE IMMAGINI In questi ultimi anni stiamo assistendo ad una grande diffusione di dispositivi quali fotocamere digitali, smart phone dotati di fotocamere on-board, pda. In questi apparati più che in altri, si ha l esigenza di avere un formato che consenta di memorizzare immagini occupando poca memoria ma che nello stesso tempo permette una visualizzazione con qualità percettive soddisfacenti. Con particolar riguardo al campo della telefonia mobile, un formato più snello, consente un utilizzo inferiore della risorsa di banda nel caso di trasmissione o ricezione di un immagine. In genere per le immagini ci sono due tipi differenti di compressione o codifica: lossless (senza perdita) o lossy (con perdita). Nel primo caso si è in grado di restituire, al termine della decompressione, un'immagine esattamente uguale all'originale, com'era prima che venisse compressa. Nel secondo caso non si può assicurare una reversibilità assoluta, infatti l immagine ricostruita è una versione simile a quella di partenza ma non identica. 1.1 IMMAGINI FISSE Ci sono differenti formati per rappresentare le immagini, dipende dal programma utilizzato per salvarle; i più conosciuti sono bmp (Bitmap Image for Windows o OS/2), tiff (Tagged Image File Format), tag (Truevision Targa), gif (CompuServe Graphics Interchange), i quali codificano l immagine normalmente o talvolta utilizzano tecniche di compressione con perdita. Dipendentemente dal formato, un immagine è rappresentata da un set di tre matrici di numeri, dove ogni numero indica l ampiezza della caratteristica del pixel, per esempio l ampiezza del pag. 3

7 colore (es. rosso, verde o blu). Ogni numero è compreso in un intervallo tra 0 e 255, oppure è normalizzato tra 0 ed 1, e mostra l ampiezza della scala di grigio dell intensità del pixel, dove zero è nero e 255 è bianco. Questo numero è rappresentato da un set di otto bit ( a seconda del formato anche 12, 16 o 24 bit). Queste tre matrici potrebbero rappresentare i tre colori principali nello spazio dei colori, normalmente rosso verde e blu per RGB, o è possibile trasformarli in YCbCr o YUV dove vengono rappresentate le caratteristiche di luminanza e crominanza dell immagine. Ci sono molti standard che cercano di ridurre in modi differenti le dimensioni delle immagini utilizzando diversi metodi e proprietà. Quelli più importanti e più efficienti per compressioni lossy e lossless sono JPEG che utilizza la trasformata DCT, e JPEG 2000 che verrà descritto nel capitolo 2; tratterò brevemente anche differenti tecniche come JPEG-LS, PNG, JBIG JPEG-LS JPEG-LS è uno standard introdotto per le codifiche lossless di immagini fisse ed è stato proposto da ISO/ITU-T recentemente. Prevede anche una compressione quasi lossless per incrementare il tasso di compressione dell immagine. Il sistema base descritto nella Parte 1 dello standard, utilizza tecniche di predizione adattativa; la compressione quasi lossles è ottenuta invece, fissando un errore di campionamento massimo. Nella Parte 2 vengono introdotte alcune estensioni, ed in particolare un algoritmo di codifica aritmetica, questo algoritmo è utilizzato per raggiungere alti tassi di compressione lossless utilizzando una codifica con bassa pag. 4

8 complessità computazionale. JPEG-LS comunque non prevede supporti per la scalabilità, per la resistenza agli errori e caratteristiche simili PNG Il formato PNG (Portable Network Graphics), è stato sviluppato da 3WC per la codifica di immagini fisse è importante perché nasce in contrapposizione al Gif come un formato grafico compresso e del tutto gratuito. Vedremo ora alcune le sue caratteristiche: Compressione: utilizza esclusivamente compressione lossless, non esistono opzioni per salvarlo in un formato non compresso oppure in modalità lossy. Controllo Errore: utilizza un sisteme chiamato chiamato CRC-32, ovvero cyclic redundancy check (controllo di ridondanza ciclico) a 32 bit, che associa valori di controllo ad ogni blocco di dati ed è in grado di rilevare immediatamente qualsiasi corruzione delle informazioni salvate o trasmesse via Internet. Supporto milioni di colori: Le immagini PNG supportano la modalità RGB. E bene sottolineare che non supportano la modalità CMYK o YUV. Altre caratteristiche supportate sono il canale alfa e l interlacciamento. pag. 5

9 1.1.3 JBIG E JBIG 2 JBIG (Joint Bi.level Image Export Group), come JPEG, è un gruppo di esperti nominati da enti di standardizzazione nazionali, per lavorare alla produzione di standard per immagini bi-livello; in questi anni hanno prodotto due standard: JBIG e JBIG2. Possono anche essere utilizzati per la codifica di immagini a scala di grigio ed a colori con un numero limitato di bit per pixel. La prima versione dello standard è stata sviluppata molto tempo fa; recentemente i tecnici stanno lavorando per completare la nuova versione, JBIG2 che ha vantaggi significativi: migliore nella compressione, prestazioni migliori anche nella decodifica, supporta anche le tecniche lossless e lossy JPEG E uno standard flessibile che definisce una serie di possibili elaborazioni da eseguire sulle immagini, che possono essere saltate. In pratica non viene specificato come si deve fare la compressione ma solo quali regole devono essere rispettate dai dati compressi per poter poi ottenere una corretta decompressione. Segue una breve analisi dei passi da eseguire per la codifica; si tratta di una procedura più o meno standard che viene maggiormente utilizzata. Conversione di spazio monocromatico L immagine originale viene convertita dallo spazio cromatico RGB a quello YIQ( o YUV). Il formato YUV consiste in 3 piani di colore: luminanza (Y) e due componenti di crominanza (U e V). Questa separazione, anche se non necessaria, permette una migliore compressione. Infatti, sfruttando un fenomeno noto nel campo video, è possibile ridurre le dimensioni dell'immagine YUV con una pag. 6

10 leggera riduzione della qualità applicando un sotto campionamento (decimazione) delle componenti cromatiche e mantenendo intatte le informazioni sulla luminosità. Se questa fase viene saltata, la successiva processerà l'immagine in RGB invece che in YUV. Analisi in Frequenza (DCT) L'elaborazione chiave del JPEG è sicuramente la DCT, Discrete Cosine Transform nella sua versione bidimensionale (2D). La DCT è una trasformata che in generale fa passare il segnale dal dominio del tempo al dominio della frequenza. Si tratta di una versione in campo reale della FFT che invece è in campo complesso. I coefficienti che ne derivano rappresentano le ampiezze di quei segnali armonici (coseno) che sommati ricostruiscono il segnale. Nel JPEG viene usata la versione bidimensionale della DCT ed in questo caso non si parla di tempo e frequenza ma di spazio e frequenze spaziali. Per poter essere processata, l'immagine viene divisa in piani (tre piani cromatici R-G-B o Y-U-V a seconda dallo stadio precedente) e all'interno di ogni piano viene di nuovo suddivisa in blocchi di 8x8 pixel. Il blocco di 8x8 pixel nel dominio dello spazio viene trasformato in un blocco di 8x8 coefficienti nel dominio della frequenza spaziale. In questo blocco avremo i coefficienti in alto a sinistra che rappresentano le basse frequenze spaziali 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 rappresenta la media dei valori del blocco 8x8 originario. pag. 7

11 Quantizzazione In questa fase avviene l'eliminazione delle informazioni visive meno importanti. Ciò si realizza moltiplicando la matrice 8x8 di coefficienti in frequenza per una quantization table. La tabella contiene valori tra zero ed uno, quelli più bassi si trovano in corrispondenza delle alte frequenze mentre quelli più alti in corrispondeza delle basse frequenze. I valori così ottenuti vengono arrotondati all'intero più vicino, in questo modo i coefficienti meno significativi tendono ad azzerarsi mentre rimangono i coefficienti relativi ai contributi informativi più importanti. Essendo già piccoli, i valori in alta frequenza vengono molto spesso arrotondati a zero. Il risultato è la concentrazione di pochi coefficienti diversi da zero in alto a sinistra e zero tutti gli altri. Quando in un file JPEG si sceglie il fattore di compressione, in realtà si sceglie un fattore di scala sui valori della quantization table. Più i valori sono bassi e maggiore è il numero di coefficienti che si azzerano con conseguente riduzione del numero di coefficienti significativi. Questo processo ovviamente cancella informazioni via via più importanti e porta ad un progressivo deterioramento della qualità dell'immagine compressa. Codifica entropica Una volta eliminati i dettagli meno importanti grazie alla DCT e alla quantizzazione, è necessario adottare una serie di tecniche entropiche per ridurre la quantità di memoria necessaria per trasmettere le restanti informazioni significative. Tra i restanti coefficienti è importante separare la componente continua (DC) dalla componente variabile (AC). La componente AC viene analizzata tramite una lettura a Zig-Zag. La lettura a Zig Zag rende adiacenti il più possibile i coefficienti uguali a zero e permette un ottimale rappresentazione dei dati tramite Run Lenght Encoding (RLE). Si tratta di una semplice tecnica di pag. 8

12 compressione applicata ai componenti AC. Il vettore 1x64 risultante dalla lettura a Zig-Zag contiene molti zero in sequenza, per questo si rappresenta il vettore tramite coppie (skip, value), dove skip è il numero di valori uguali a zero e value è il successivo valore diverso da zero. La coppia (0,0) viene considerata come segnale di fine sequenza. Sul valore DC di ciascun blocco viene invece applicata una tecnica detta DPCM. In pratica esistendo generalmente 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. Questo stratagemma consente una ulteriore riduzione dello spazio occupato dai dati. L'ultima codifica entropica applicata ai dati è la classica codifica a lunghezza di codice variabile. 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. Decompressione JPEG è un codec simmetrico per sua natura quindi l'elaborazione necessaria per la decompressione è l'esatto inverso di quella necessaria per la compressione. Sui dati compressi si applica la decompressione Huffman, i dati risultanti servono per la ricostruzione blocco dopo blocco delle componenti DC e AC, quindi i coefficienti vengono moltiplicati per una tabella di quantizzazione inversa. il blocco 8x8 risultante viene sottoposto ad una DCT inversa e a questo punto, a seconda delle impostazioni del file si è già ottenuto l'immagine RGB oppure si deve effettuare la conversione da YUV a RGB. pag. 9

13 Verso JPEG 2000 JPEG è uno standard abbastanza semplice nella sua essenza, eppure l'importanza che ha assunto nel mondo dell'informatica è stata ed è tutt'oggi veramente enorme. Tutto questo non sarebbe stato possibile senza l'impegno del Joint Picture Expert Group. Ma come per tante altre tecnologie è arrivata l ora di essere sostituito. Siamo infatti ormai vicinissimi alla completa definizione del nuovo standard JPEG 2000 che promette maggiori prestazioni in compressione, maggiore qualità e maggiori funzionalità nell'ambito della sicurezza. Nel corso del secondo capitolo si parlerà in modo dettagliato di JPEG pag. 10

14 CAPITOLO 2 LO STANDARD JPEG INTRODUZIONE JPEG 2000 è il nuovo standard di compressione di immagini statiche destinato al Web e alla distribuzione su PDA, cellulari, PC, televisioni,ecc. Esso costituisce l'evoluzione del famosissimo formato JPEG e, anche se dotato di caratteristiche fortemente innovative, JPEG 2000 non mira, almeno nel breve termine, a sostituire JPEG, piuttosto ci si attende una "transizione", durante la quale il nuovo standard integrerà ed amplierà le funzionalità offerte da JPEG. Le caratteristiche salienti di JPEG 2000 sono: Consente sia la compressione con perdita d informazione (lossy), sia quella senza perdita (lossless). E' un sistema di codifica unico, in grado di trattare in modo efficace immagini provenienti da sorgenti diverse, con diverse necessità di compressione. Produce immagini con qualità visive migliori, specialmente a bassi bitrate, rispetto a quelle ottenibili con JPEG, grazie alle proprietà della trasformata Wavelet. Permette di modificare ed, eventualmente, di decodificare regioni qualsiasi dell'immagine, operando direttamente sui dati in forma compressa. Può generare immagini compresse scalabili sia in risoluzione sia in livello di dettaglio, lasciando all utilizzatore la libertà di scegliere quanta informazione e quali parti dell'immagine utilizzare per la decompressione. Introduce il concetto di Region of Interest (ROI, Regione di Interesse) di un'immagine. pag. 11

15 E' in grado di raggiungere notevoli tassi di compressione con qualità ancora accettabili. Lo standard JPEG 2000 è suddiviso principalmente in sei documenti distinti, chiamati Part nella terminologia dello standard. Part 1 - Definisce i requisiti minimi che un decoder deve avere. Serve a creare un insieme di opzioni di base per le quali sia garantita la massima interoperabilità tra le diverse realizzazioni. Part 2 - Si occupa di applicazioni più specifiche, che forniscono incrementi prestazionali, specialmente in particolari ambiti applicativi. Un immagine codificata con queste estensioni potrebbe non essere interpretata correttamente da decoder conformi soltanto alle specifiche della Part I. Part 3 - Riguarda "Motion JPEG 2000", uno standard video digitale di elevata qualità. Part 4 - Indica le regole di conformità allo standard JPEG Part 5 - E' costituito da modelli software che possono essere usati come riferimento nello sviluppo di prodotti JPEG Part 6 - Contiene una serie di specifiche per l'impiego di JPEG 2000 in ambiti quali fac-simile numerico ed editoria elettronica (fax-like). Nella Part 1 dello standard viene specificato soltanto l'algoritmo di decodifica e il formato dei dati compressi. Per l algoritmo di codifica non c è nessun vincolo di implementazione, ma ovviamente deve essere compatibile con l'algoritmo di decodifica. Nella Part 9 dello standard, che non è ancorà disponibile, si parla di Jpip (Jpeg 2000 internet protocol) che è un protocollo di comunicazione interattivo per lo scambio di dati compressi con JPEG JPEG 2000 è un formato a multirisoluzione. L'immagine viene memorizzata in numerose risoluzioni in un unico file, senza ridondanza dei dati e può essere trasmessa o decodificata a una risoluzione adatta al dispositivo su cui viene visualizzata. In questo modo l'immagine viene compressa una sola volta ad una pag. 12

16 risoluzione sufficientemente alta per poi essere decodificata in diverse risoluzioni. La caratteristica di multirisoluzione è dovuta all'utilizzo della cosiddetta Discrete Wavelet Transform (DWT), che permette una codifica lossy o lossless a seconda del tipo di trasformata utilizzata. 2.2 CODIFICA La codifica di un immagine può essere scomposta logicamente in una successione di trasformazioni applicate sequenzialmente. Lo schema a blocchi è il seguente: Immagine Originale Trasformazione delle componenti Trasformata Wavelet Quantizzazione Codifica Entropica Immagine compressa Figura 1: Codifica JPEG 2000 (schema a blocchi) TRASFORMAZIONE DELLE COMPONENTI Il primo passo dell algoritmo consiste nel suddividere l immagine da codificare in regioni rettangolari disgiunte dette tile. Le dimensioni di tutte le tile sono uguali, fatta eccezione per le regioni che si trovano ai bordi dell immagine,che possono essere più piccole. Per motivi di efficienza computazionale, le loro dimensioni devono essere potenze di due. Nel caso in cui un immagine abbia più di una componente, solitamente rosso, verde e blu, si applica una trasformazione puntuale di decorrelazione per ogni campione di ogni componente. Possono essere impiegati due tipi di trasformazione: pag. 13

17 YCrCb. Analoga alla trasformazione utilizzata in JPEG, viene impiegata in codifiche lossy. La trasformazione da RGB ad YCrCb può essere espresse dalle seguenti equazioni poste in forma matriciale: Y C C B R = R 0.5 G B RCT Reversible Component Transform. Fornisce una decorrelazione analoga alla precedente, ma consente la ricostruzione senza perdite dell immagine; ovviamente è impiegata in codifiche lossless. In modo analogo alla trasformazione irreversibile, possiamo esprimere la RCT mediante la seguente uguaglianza matriciale: Y U V R R R R + 2G + 4 = R G B G B Le trasformazioni successive sono applicate in modo indipendente ad ogni tile di ciascun componente; così facendo è possibile estrarre e ricomporre anche singole parti dell immagine originale, realizzando una prima tipologia di accesso diretto. Più avanti vedremo un ulteriore raffinamento del metodo di accesso diretto, perchè se dipindesse esclusivamente dal tiling, potrebbe rivelarsi troppo grossolano e di scarsa utilità. E anche possibile diminuire notevolmente la pag. 14

18 memoria necessaria per la compressione elaborando separatamente le varie parti dell immagine. Infine l indipendenza della codifica rispetto a componenti e tile permette applicare tutte le trasformazioni a ciascuna tile per ogni componente. Perciò in seguito si farà riferimento ad immagini formate da una singola tile e da un unica componente. Si potrà fare un ragionamente analogo anche per casi più complessi, con immagini multi-tile e multi-componente TRASFORMATA WAVELET Mediante una trasformata Wavelet discreta (DWT) ogni tile viene scomposta in più livelli di risoluzione. Ciascun livello di decomposizione contiene un certo numero di sottobande, formate da coefficienti che esprimono le caratteristiche dell immagine in termine di frequenze spaziali orizzontali e verticali. Sono previsti tre diversi tipi di decomposizione. Nella decomposizione usata normalmente da JPEG 2000, l immagine viene scomposta tramite i seguenti filtri: LL: deriva dall applicazione di un filtro passo-basso separabile all immagine originale, seguito da un sottocampionamento in entrambe le direzioni. Quindi LL è una versione a bassa risoluzione dell immagine originale. HL: filtro passa-alto orizzontale, addolcisce i picchi orientati orizzontalmente, in modo da corrispondere maggiormente all orientazione verticale. LH: simile ad HL ma con direzioni opposte HH: corrisponde principalmente a caratteristiche orientate in diagonale La sottobanda LL, viene successivamente e reiteratamente scomposta in livelli di decomposizione successivi come mostrato in figura 2. pag. 15

19 Figura 2: Suddivisione in sottobande Nelle seguenti immagini possiamo osservare i vari livelli di decomposizione che si susseguono. Al primo livello, l immagine originale è stata scomposta i quattro sotto-immagini (con risoluzione ¼ dell originale) che rappresentano il contenuto in bassa frequenza (figura 3).Al secondo livello di decomposizione si opera sul contenuto in bassa frequenza generato al primo livello. Vengono quindi generate altre sottobande di dettaglio e nuova sottobanda di bassa frequenza (figura 4). Si procede per livelli successivi generando sempre più sottobande di dettaglio (figura 5). I dettagli generati ai livelli successivi di decomposizione sono più importanti ai fini percettivi di quelli generati ai primi livelli. In figura 6 possiamo notare quali sottobande sono necessarie per ricostruire il livello di risoluzione desiderato. pag. 16

20 Figura 3: Decomposizione in sottobande, primo livello Figura 4: Decomposizione in sottobande, secondo livello pag. 17

21 Figura 5: Decomposizione in sottobande, terzo livello Figura 6: Livelli di decomposizione in sottobande pag. 18

22 La trasformata DWT può essere reversibile o irreversibile. La trasformazione irreversibile utilizzata generalmente da JPEG 2000 impiega il filtro Daubechies 9/7, a valori reali (R). I coefficienti dei filtri di analisi, passa-alto e passa-basso, sono riportati nella tabella 1. La trasformazione reversibile viene solitamente realizzata mediante un filtro 5/3, a valori in Z. La caratteristica di questo tipo di filtro è permettere una ricostruzione completa e senza perdite in fase di sintesi. I coefficienti dei filtri di analisi, passa-alto e passa-basso, sono riportati in tabella 2. I termini analisi e sintesi indicano rispettivamente la fase codifica e decodifica. 9/7 Analisi i h L (i) (i) ± ± ± ± h H TABELLA 1 : CODIFICA JPEG2000. FILTRO DAUBECHIES 9/7 DI ANALISI pag. 19

23 5/3 Analisi i h L (i) (i) 0 3/4 1 ± 1 1/4-1/2 ± 2-1/8 h H TABELLA 2:CODIFICA JPEG FILTRO 5/3 DI ANALISI Lo standard permette di realizzare la trasformata Wavelet in due modi differenti. Il più tradizionale fa uso dell implementazione a banco di filtri; il secondo si basa sul lifting scheme. Sinteticamente, il filtraggio basato sul lifting scheme consiste in una serie di operazioni elementari, dette passi di lifting, mediante le quali: il valore dei campioni di posto pari è aggiornato in base ad una media pesata dei campioni di posto dispari (prediction); il valore dei campioni di posto dispari è aggiornato in base ad una media pesata dei campioni dei nuovi campioni di posto pari (update). Il filtraggio basato sul lifting scheme, per la trasformazione reversibile 5/3, è espresso dalle seguenti relazioni (analisi): y 2n+ 1 = x 2n+ 1 x 2n + x 2 2 n+ 2 1 y 2n = x 2n + y 2n 1 + y 4 2n+ 1 2 pag. 20

24 Dove x (n) è l estensione simmetrica periodica del segnale x (n). I campioni da trasformare devono essere estesi ai bordi dell immagine a prescindere dal tipo di trasformazione utilizzata. Lo standard prescrive l utilizzo di un estensione simmetrica e periodicache è necessaria per garantire la consistenza delle operazioni di filtraggio effettuate in prossimità dei bordi dell immagine. Il numero di campioni che dovranno essere prodotti per estensione simmetrica dipende strettamente dalla lunghezza del supporto e dal tipo di filtro utilizzato QUANTIZZAZIONE Nel processo di quantizzazione i coefficienti prodotti dalla trasformata Wavelet vengono discretizzati, con conseguente riduzione della precisione. JPEG 2000 utilizza una quantizzazione scalare ed uniforme. Il quantizzatore scalare è un processo che associa ad ogni valore scalare d ingresso un valore scalare in uscita, mediante opportuni intervalli di quantizzazione chiamati soglie. L aggetttivo uniforme definisce un quantizzatore scalare che ha tutti gli intervalli di quantizzazione uguali, con ampiezza pari a bi. Per la quantizzazione scalare uniforme bi è detto passo di quantizzazione. La quantizzazione, raggruppando in intervalli discreti la dinamica continua dell ingresso, è un processo che porta alla perdita di informazione. Unica eccezione è il caso di coefficienti interi prodotti, ad esempio, con Wavelet 5/3 e passo di quantizzazione unitario: qui la quantizzazione può avvenire senza alcuna perdita di informazione. Possiamo avere quindi due possibili condizioni: pag. 21

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

IMMAGINE BITMAP E VETTORIALI

IMMAGINE BITMAP E VETTORIALI BITMAP VETTORIALE VETTORIALE BITMAP IMMAGINE BITMAP è una immagine costituita da una matrice di Pixel. PIXEL (picture element) indica ciascuno degli elementi puntiformi che compongono la rappresentazione

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali. 1 Le immagini digitali Le immagini digitali Università IUAV di venezia Trattamento di immagini digitali immagini grafiche immagini raster immagini vettoriali acquisizione trattamento geometrico trattamento

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

C M A P M IONAM A E M NT N O

C M A P M IONAM A E M NT N O IMMAGINE DIGITALE Nelle immagini digitali, il contenuto fotografico (radiometria) viene registrato sotto forma di numeri. Si giunge a tale rappresentazione (RASTER) suddividendo l immagine fotografica

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Elementi di teoria dei segnali /b

Elementi di teoria dei segnali /b Elementi di teoria dei segnali /b VERSIONE 29.4.01 Filtri e larghezza di banda dei canali Digitalizzazione e teorema del campionamento Capacità di canale e larghezza di banda Multiplexing e modulazioni

Dettagli

Codifica delle Informazioni

Codifica delle Informazioni Codifica delle Informazioni Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Panoramica Le informazioni gestite dai sistemi di elaborazione devono essere codificate

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Dal foglio di carta alla multimedialità

Dal foglio di carta alla multimedialità Dal foglio di carta alla multimedialità Multimediale Che utilizza più mezzi di comunicazione. Nell'ambito delle tecnologie educative significa utilizzare più mezzi didattici integrati. IPERTESTO E IPERMEDIA

Dettagli

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi Le immagini digitali formati, caratteristiche e uso Testo e foto di Mario Ceppi GIF Ideale per la rappresentazione di immagini sul Web come gif animate, pulsanti e intestazioni, non è invece adatto alle

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1 Informatica Pietro Storniolo storniolo@csai.unipa.it http://www.pa.icar.cnr.it/storniolo/info200708 Numeri razionali Cifre più significative: : sono le cifre associate ai pesi maggiori per i numeri maggiori

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Informatica grafica e Multimedialità. 4 Immagini grafiche

Informatica grafica e Multimedialità. 4 Immagini grafiche Immagini raster e vettoriali Le immagini grafiche si distinguono in due classi differenti: immagini raster e immagini vettoriali. Le immagini raster, dette anche pittoriche o pixel-oriented, dividono l

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

La codifica delle immagini

La codifica delle immagini La codifica delle immagini La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: 1. Il numero dei campionamenti o di misurazioni

Dettagli

Logica e codifica binaria dell informazione

Logica e codifica binaria dell informazione Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Compressione del Segnale (Audio)

Compressione del Segnale (Audio) Compressione del Segnale (Audio) Carlo Caini e Alessandro Vanelli Coralli Argomenti della Presentazione Introduzione Perché comprimere Come comprimere Esempi di Algoritmi di compressione Codifiche predittive

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Un po di statistica. Christian Ferrari. Laboratorio di Matematica Un po di statistica Christian Ferrari Laboratorio di Matematica 1 Introduzione La statistica è una parte della matematica applicata che si occupa della raccolta, dell analisi e dell interpretazione di

Dettagli

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

4. Un ambiente di sviluppo per Java

4. Un ambiente di sviluppo per Java pag.15 4. Un ambiente di sviluppo per Java Esistono in commercio molti ambienti di sviluppo utilizzati dai programmatori Java, in particolare si tratta di editor complessi che mettono a disposizione tools

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

PDF created with pdffactory trial version www.pdffactory.com

PDF created with pdffactory trial version www.pdffactory.com Codifica di immagini Codifica di immagini o Un immagine è un insieme continuo di informazioni A differenza delle cifre e dei caratteri alfanumerici, per le immagini non esiste un'unità minima di riferimento

Dettagli

Plate Locator Riconoscimento Automatico di Targhe

Plate Locator Riconoscimento Automatico di Targhe Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni La codifica delle Immagini Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori, infatti

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Elaborazione testi: immagini

Elaborazione testi: immagini by Studio Elfra sas Gestione Immagini Aggiornato a Aprile 2009 Informatica di base 1 Elaborazione testi: immagini Il testo di un documento di Word può essere integrato con immagini di vario tipo: 2 1 Elaborazione

Dettagli

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero

Dettagli

Immagini Digitali Immagini digitali

Immagini Digitali Immagini digitali Immagini digitali Processi e metodi per la codifica e il trattamento dei formati raster e vettoriali Immagini raster Fondamenti Le immagini raster, chiamate anche pittoriche o bitmap, sono immagini in

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

La Videosorveglianza Criteri per il dimensionamento dello storage

La Videosorveglianza Criteri per il dimensionamento dello storage La Videosorveglianza Criteri per il dimensionamento dello storage Serie vol 1005/2010 L importanza di registrare le immagini video Il valore di un sistema di videosorveglianza non dipende solo dall abilità

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione completa delle fidelity card & raccolta punti Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 3 La gestione delle fidelity card nel POS... 4 Codificare una nuova fidelity

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Piani di input e piani di calcolo reale in FaTA-e

Piani di input e piani di calcolo reale in FaTA-e 0 1 Piani di input e piani di calcolo reali in FaTA-e Dalla versione XX di FaTA-e è presente una nuova implementazione per il calcolo dei baricentri di massa e rigidezza. La nuova procedura consente di

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Compressione delle immagini 2 Tecniche di compressione Esistono tecniche di compressione per

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Dettagli

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08 Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari Mariagiovanna Sami Corso di reti Logiche 8 Anno 27-8 8 Quali componenti, se non AND e OR (e NOT )? Si è detto inizialmente che

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

VideoStreaming su IP

VideoStreaming su IP VideoStreaming su IP Anno Accademico 2007/2008 Agenda Principi di video Streaming Come prevenire gli errori e come mascherarli Appendice Come si realizza la codifica/decodifca Protocollidirete Overview

Dettagli

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante Esercizio 0 Scambio lettere Scrivere la funzione void scambiolettere(char *dest, char *lettere, int p_o_d) che modifichi la stringa destinazione (dest), sostituendone i caratteri pari o dispari (a seconda

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

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

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

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Tipi di dato-prima parte

Tipi di dato-prima parte Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi

Dettagli