Codifica e presentazioni di immagini fisse per terminali mobili in reti a commutazione di pacchetto
|
|
- Gilda Orsini
- 8 anni fa
- Visualizzazioni
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
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
DettagliUn 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
DettagliSommario. 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
DettagliIMMAGINE 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
DettagliLinguaggi 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
DettagliLe 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
DettagliIl 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
DettagliCapitolo 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
DettagliC 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
DettagliLezione 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
DettagliARCHITETTURA 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
DettagliDispensa 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.
Dettagli4 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
DettagliElementi 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
DettagliCodifica 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
DettagliStrutturazione 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
DettagliDal 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
DettagliLe 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
DettagliIntroduzione 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
DettagliCapitolo 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:
DettagliApproccio 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
DettagliLINGUAGGI 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
DettagliIntroduzione 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
DettagliAlgoritmi 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
DettagliAlessandro 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
DettagliDatabase. 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
DettagliInformatica. 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
DettagliCorso 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
DettagliInformatica 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
DettagliRappresentazione 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
DettagliLa 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
DettagliLogica 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
DettagliVariabili 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
DettagliIndice 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)
DettagliA 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
DettagliCompressione 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
DettagliDimensione 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
DettagliFasi 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
DettagliUn 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
DettagliCompilatore 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
Dettagli4. 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
Dettaglilo 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,
DettagliSISTEMI 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
DettagliPDF 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
DettagliPlate 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
DettagliOggetti 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
DettagliCorso 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
DettagliIntroduzione 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
DettagliFONDAMENTI 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
DettagliInformatica. 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
DettagliAppunti 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
DettagliLa 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
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliIntroduzione 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
DettagliCOS È 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
Dettagliwww.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).
DettagliDall 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
DettagliMon 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
DettagliElaborazione 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
DettagliIl 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
DettagliImmagini 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
DettagliCon 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
DettagliLo 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)
DettagliDefinire 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
DettagliLa 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à
Dettagli2) 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
DettagliBASI 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
DettagliEVOLUZIONE 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
DettagliReti 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
DettagliAPPUNTI 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) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
Dettaglila 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
DettagliSistema 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
DettagliScheduling 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
DettagliOttimizzazione 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
DettagliGestione 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
DettagliAnalisi 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
DettagliFIRESHOP.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
DettagliDeterminare 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
Dettagliconnessioni 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
DettagliINFORMATICA 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
DettagliGenerazione 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:
DettagliPiani 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
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
DettagliCorso 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
DettagliBase 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
DettagliCorso 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
DettagliRegistratori 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...
Dettagli12 - 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,
Dettagliper 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
DettagliSintesi 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
DettagliEsercitazioni 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
DettagliVideoStreaming 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
DettagliScenario 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
DettagliEsempio: 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
DettagliExcel. 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
DettagliLa 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
DettagliUn 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
DettagliConsiglio 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
DettagliTipi 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