WP 2. Deliverable D2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "WP 2. Deliverable D2"

Transcript

1 Progetto 3DCloudViz NICE -DIEE WP 2 Algoritmi e sistemi per la visualizzazione remota anche su reti a banda limitata ed elevata latenza Deliverable D2 R.2.1 Stato dell'arte sugli algoritmi di compressione e metriche per la comparazione degli algoritmi di compressione R.2.2 Relazione test comparativo sulle performance reali degli algoritmi di compressione in contesti operativi generici e per categorie specifiche di contenuto (es. testo, grafica, fotografie ) R.2.3 Dataset per la validazione degli algoritmi di compressione R.2.4 Modello architetturale di un sistema di compressione adattativa, sistema di decisione per la selezione dinamica dell'algoritmo di compressione e protocollo di comunicazione tra client e server

2 Pattern Recognition and Applications Lab DIEE - Università di Cagliari R2.1 STATO DELL'ARTE SUGLI ALGORITMI DI COMPRESSIONE E METRICHE PER LA COMPARAZIONE DEGLI ALGORITMI DI COMPRESSIONE Progetto 3D CloudWiz

3 Sommario Sommario...i Obiettivo del documento...1 Compressione lossless di immagini in real-time...2 Algortimi di compressione dati...3 Codici di Huffman...4 Codifica aritmetica...5 LZ77 LZ LZW(Lempel-Ziv-Welch)...6 RLE Run Length Encoding...7 Deflate...7 Algoritmi di compressione lossless per immagini...8 Lossless JPEG e JPEG-LS...8 JPEG2000 lossless...10 JPEG XR...11 Confronti tra i tre algoritmi precedentemente descritti...12 GIF...13 PNG...13 Implementazioni multithread di diverso tipo...15 ImageZero...15 LZ Algoritmi di compressione proposti in letteratura...17 A Lossless Image Compression Technique using Location Based Approach...18 Context-based Dictionary Image Compression...19 A new Algorithm for Lossless Compression applied to two-dimensional Static Images...21 Fast Lossless Color Image Compressing Method Using Neural Network...22 Conclusioni...24 Bibliografia...25 Compressione di immagini generiche a contenuto eterogeneo (compound images)...29 Metodi di segmentazione delle componenti di un'immagine...30 Approccio ad oggetti...30 Approccio a layer...30 Approccio a blocchi...32 i

4 Approccio ibrido...33 Algoritmi proposti in letteratura...34 Metodi a blocchi...34 Metodi a layer...39 Metodi ibridi...41 Conclusioni...44 Bibliografia...44 Metriche per il confronto fra algoritmi di compressione di immagini...47 Compression ratio...47 Tempo di compressione e decompressione...47 Mean Squared Error MSE...48 Peak Signal to Noise Ratio PSNR...48 Structural Similarity Index SSIM...49 Bibliografia...50 ii

5 Obiettivo del documento Scopo di questo documento l identificazione degli algoritmi più promettenti, tra quelli emergenti, per la compressione delle informazioni e la definizione di un insieme di metriche che consentano un efficace confronto dei diversi algoritmi sia nell'utilizzo in contesti generici che nell'applicazione a particolari categorie di informazioni e di pesare opportunamente la possibilità di modulare dei parametri di configurazione in modo da poterne modificare dinamicamente il funzionamento in funzione di contesti operativi (differenti condizioni di banda e latenza). Il documento è organizzato in diverse sezioni e coprirà i seguenti argomenti: Compressione lossless di immagini in real-time; Compressione di immagini generiche a contenuto eterogeneo (compound images); Metriche per il confronto fra algoritmi di compressione di immagini. 1

6 Compressione lossless di immagini in real-time In questa sezione del documento si andrà ad analizzare lo stato dell'arte relativo alla codifica e alla decodifica delle immagini 2D nello specifico caso di algoritmi di tipo lossless, quindi senza perdita d'informazione, che possano essere utilizzati in un contesto nel quale sia necessaria la loro applicazione in real time (RT) o near real time. In letteratura vengono presentati un elevato numero di algoritmi di compressione di tipo lossy, specialmente facenti uso di DCT (Discrete Cosine Transform) o di DWT (Discrete Wavelet Transform) e/o loro combinazioni, mentre gli algoritmi di tipo lossless, presenti in numero più limitato, rimandano a tecniche di compressione più generiche ed universali per tutti i tipi di dati. All'interno di quest'insieme di algoritmi risulta ancora più complesso andare ad identificare tecniche che agiscano in real time o near real time. L'evoluzione degli studi sugli algoritmi di compressione d'immagini viene inoltre condizionata dalla presenza sul mercato di alcuni algoritmi di COdifica e DECodifica (CODEC) ormai ritenuti degli standard (ad esempio i vati PNG, JPEG ecc): essi raggiungono dei risultati tali che risulta complessa la realizzazione di metodologie che possano migliorarne le performance. In relazione alle specificità richieste, algoritmi di tipo lossless e funzionanti in real time o near real time, vengono presentate in questo documento tre categorie di algoritmi di compressione: algoritmi generici di compressione dati; algoritmi di compressione immagini considerati standard; algoritmi di compressione immagini proposti nella ricerca. Per gli algoritmi generici di compressione dati verrà presentato un riepilogo delle tecniche di compressione dati più comuni (es. codici di Huffman, LZ77, RLE ecc) con una breve descrizione dell'algoritmo che esse implementano. Per quanto riguarda gli algoritmi di compressione immagini considerati standard verranno presentate, anche con tabelle di confronto, quelle metodologie di compressione più diffuse nel mercato oggetto di studi specialmente nel settore di sviluppo di tipo industriale (es. JPEG-XR, PNG 2

7 ecc). Per quanto riguarda gli altri algoritmi allo stato dell'arte proposti nella letteratura verrà presentato un resoconto delle tecniche che appaiono più interessanti dal punto di vista delle performance promesse. Algortimi di compressione dati In questo paragrafo andiamo ad analizzare le tecniche di compressione dei dati senza perdite, o lossless, che avviene attraverso l'utilizzo di codici, quindi definendo delle corrispondenze tra simboli d'ingresso e simboli d'uscita. Tali codici agiscono sui dati in ingresso, che possono essere sequenze di simboli e/o dati, in virtù di un modello statistico della sorgente che genera gli stessi simboli. Il modello al quale si fa riferimento può essere adattativo, quindi costruito e/o perfezionato contestualmente alla codifica dei simboli, oppure sussistere o essere dato a priori, quindi costruito sui dati stessi in modo globale ad esempio con una pre analisi delle statistiche dei simboli che occorre codificare. L'output di queste tecniche sarà quello di generare un bit-stream dal quale è possibile, mediante l'operazione inversa di decodifica, risalire perfettamente e senza nessuna alterazione o perdita d'informazione ai dati originali. Le principali tecniche di compressione dati presenti in letteratura risultano essere: codici di Huffman; codifica aritmetica [1]; LZ77 LZ78; LZW(Lempel-Ziv-Welch); RLE Run Length Encoding. Altri algoritmi di compressione dati spesso utilizzati sono: trasformata di Burrows-Wheeler (BWT) [2]; Prediction by Partial Matching (PPM) [3]; 3

8 Deflate [4]. Queste compressioni lossless sono assolutamente generiche, adattabili quindi a qualunque formato dati, ma al variare della tipologia di dati in ingresso esse offrono prestazioni notevolmente differenti le une dalle altre. Combinazioni di queste tecniche, o parti di esse sono già utilizzati all'interno di comuni codec per immagini. Abbiamo ad esempio che LZW viene utilizzato per le immagini GIF, una variante di Deflate è stata implementata per PNG, mentre LZW e RLE sono utilizzate direttamente nel formato TIFF. Codici di Huffman I codici di Huffman sono tra i primi algoritmi di compressione dell'informazione. Nel 1952 David A. Huffman pubblicò un articolo [5] in cui mostrava un metodo per la costruzione di codici con criteri di minima ridondanza, questo metodo si mostra quindi particolarmente adatto alla compressione lossless dei dati in differenti contesti. Si può definire il processo di definizione dei codici come segue: 1) si crea una lista ordinata di simboli in base alle occorrenze degli stessi nel messaggio originale; 2) si ripetono i passi 2a, 2b e 2c tante volte finché all'interno della lista non rimane un unico simbolo; a) si determinano i due elementi meno frequenti all'interno della lista. Si crea un nodo genitore dell'albero di Huffman avente come nodi figli questi due elementi; b) si assegna la somma delle frequenze dei nodi figli al nodo genitore e lo si reinserisce nella lista ordinata; c) si cancellano i figli dalla lista ordinata; 3) si assegna infine una parola codice ad ogni elemento basandosi sulla sua posizione a partire dalla radice: in questo modo i simboli più frequenti saranno codificati con parole più corte e viceversa quelli più rari con parole più lunghe. 4

9 Questo algoritmo di compressione è stato poi adattato e migliorato in differenti modi. I più conosciuti, qui non presentati, sono: Codifica adattativa di Huffman [6]; Algoritmo di Huffman con template; Codifica di Huffman a base n [7]; Codifica con costi per lettera diseguali [8]. Codifica aritmetica Negli anni '80 sono stati introdotti nuovi tipi di algoritmi statistici che hanno ovviato ad alcuni problemi che si presentavano con l'algoritmo di Huffman: i codici aritmetici [12]. Il codice di Huffman associa un valore intero ad ogni elemento della sorgente, il che porta ad un dispendio eccessivo in termini di memoria e proporzionale al numero di simboli all'interno della sorgente. I codici aritmetici codificano invece simboli, o gruppi di simboli, con numeri decimali, e permettono quindi di adoperare per la codifica dei numeri frazionari di bits. Se esaminiamo un solo simbolo, ovviamente, i risultati ottenuti con le due diverse tecniche saranno molto simili; ma una volta che esaminiamo una sequenza lunga di dati d'ingresso, la somma degli arrotondamenti (tali si possono considerare i bits adoperati dalla codifica di Huffman rispetto a quelli dei codici aritmetici) per la codifica dei singoli simboli porta ad una differenza netta tra i risultati ottenuti con i codici aritmetici e il codice di Huffman. LZ77 LZ78 Altre tipologie di codifica sono quelle descritte dagli algoritmi Lempel-Ziv: di queste esistono differenti implementazioni. Nella prima versione (LZ77) [13] la codifica/compressione avviene mediante la sostituzione di parti di dati già processate. Si utilizza una finestra di scorrimento dei dati avente dimensione fissa: quando la finestra incontra un dato ripetuto allora tale dato viene sostituito da una coppia lunghezza-distanza che indica l'esigenza di dover copiare una certa porzione di dati, avente una certa lunghezza, da una determinata distanza. 5

10 Con questa tipologia di compressione la possibilità di trovare una corrispondenza nel dizionario per la stringa di dati esaminata è quindi dipendente unicamente dai dati contenuti nella finestra di scorrimento in quell'istante e non si tiene invece conto dei record precedenti. Per superare questi inconvenienti e aumentare l'efficacia della codifica Lempel e Ziv, un anno dopo, svilupparono la codifica LZ78 [14]: si costruisce un dizionario dei dati già incontrati e si sostituiscono le occorrenze dei dati presenti nella finestra con un riferimento ai dati del dizionario. La decodifica è analoga alla codifica, all'inizio il dizionario contiene solo la stringa vuota e mentre viene riempito viene anche restituita la codifica originale. La differenza con il precedente algoritmo è il ridotto numero di confronti tra stringhe di dati e quindi una maggiore velocità, riguardo al coefficiente di compressione non ci sono rilevanti differenze. Anche a questi algoritmi sono stati applicati diversi adattamenti: da essi, ad esempio, derivano LZW, LZMA(Lempel Ziv Markov chain) [15] e LZSS [16]. LZW(Lempel-Ziv-Welch) Nel 1984 Terry Welch rivisitò l'algoritmo LZ78 [17] cercando di migliorarlo dal punto di vista della velocità adottando un dizionario base non vuoto. L algoritmo LZW si basa sulla creazione di un dizionario di stringhe ricorrenti in un determinato insieme di dati utilizzando un dizionario di base che di norma è costituito dai 255 caratteri derivanti dalla codifica ASCII. Leggendo un unico carattere alla volta si aggiorna il dizionario mantenendo la sequenza codificata più lunga incontrata sino a quel momento. La velocità di questo algoritmo, rispetto a LZ78, è tale che l'ha portato da essere stato scelto e utilizzato in sistemi come: l'utility UNIX compress/uncompress. formato grafico TIFF. formato grafico GIF. standard V.42 bis per la trasmissione dati. 6

11 Il prezzo da pagare per un incremento di performance in termini di velocità è un fattore di compressione che risulta non essere elevato. RLE Run Length Encoding L'algoritmo RLE è una forma molto semplice di codifica per la compressione dati. Esso è basato sul fatto che in ogni flusso di dati sono presenti diversi dati simili, i valori ripetuti vengono definiti run, questi dati ridondanti saranno sostituiti con un contatore e il valore ad esso associato. Questo tipo d algoritmo intuitivo funziona bene con tipologie di dati in cui in cui sono presenti un largo numero di occorrenze consecutive dello stesso byte pattern: da questo deriva il suo largo impiego nel settore legato alla compressione di immagini. Ad esempio RLE si presta bene per la compressione di formati grafici come BMP, PCX, TIFF (basandosi sulla ridondanza spaziale delle immagini) e viene anche utilizzato in alcune implementazione di formati editoriali come PDF o nella tecnologia per l'invio di FAX. Possiamo trovare diverse implementazioni di quest algoritmo: RLE a livello di bit: ogni byte codifica sequenze di bit uguali; RLE a livello di byte: ogni run è codificato da due byte; RLE a livello di byte misto: si utilizza il concetto di byte di lunghezza, ossia un byte in cui il bit più indicativo denota il tipo di run (1 = compresso, 0 = non compresso). Deflate L'algoritmo Deflate è un algoritmo per la compressione dei dati introdotto dal programma PKZIP, e quindi formalizzato nella RFC 1951 [18]. Esso utilizza una combinazione dei metodi di compressione LZ77 e la codifica di Huffman. Deflate comprime i dati del flusso d'ingresso in blocchi di byte di lunghezza arbitraria massima di 64KB. Ognuno di questi blocchi è compresso separatamente mediante una combinazione di LZ77 e Huffman secondo il seguente criterio: gli alberi di Huffman usati per un blocco sono indipendenti da quelli utilizzati per blocchi precedenti o successivi; 7

12 LZ77 può utilizzare un riferimento a una stringa duplicata vista in precedenza nella sequenza di input. La decisione relativa alla modalità di suddivisione in blocchi viene demandata all'utilizzatore finale in base alle proprie esigenze e in base alla tipologia di dato da andare a comprimere. Algoritmi di compressione lossless per immagini In questa sezione vengono presentati i principali algoritmi di compressione e decompressione delle immagini considerati degli standard. In particolare si farà riferimento alle alla famiglia di codec lossless appartenenti allo standard JPEG (Lossless Jpeg / Jpeg-LS, Jpeg2000 e JpegXR), il formato GIF e il formato PNG. Vengono inoltre presentati ImageZero e LZ4 che, pur non rappresentando una novità in termini di tecniche di compressione, rappresenta una novità in quanto aggiunge la parallelizzazione delle operazioni rispetto alle implementazioni dei codec tradizionali al fine di garantire una notevole velocità di codifica. Lossless JPEG e JPEG-LS A partire dal 1993, in seguito al successo della serie degli standard JPEG lossy, la commissione JPEG (Joint Photographic Experts Group) valutò che fosse necessario adottare una modalità di compressione lossless nello standard JPEG. La prima versione del "lossless" JPEG codificava la differenza tra ogni pixel ed il valore "predetto" per quel pixel. Il valore "predetto" è il risultato di una funzione che usa come parametri i valori dei pixel che si trovano sopra, sopra a sinistra e immediatamente alla sinistra del pixel in esame. Tale codifica viene anche chiamata Pulse Code Modulation (DPCM) e veniva utilizzata al posto della comune DCT utilizzata nel lossy JPEG. La sequenza di dati ottenuta veniva poi codificata con il metodo di Huffman o con altre codifiche aritmetiche. La ricerca di un sostituto che garantisse minore complessità computazionale e aumentasse le performance in termini di efficienza di compressione portò all'analisi di algoritmi che continuassero a non utilizzare la DCT o le trasformazioni tra spazi di colore ma che altresì 8

13 portassero ad una compressione lossless o quasi lossless. Il risultato di tale ricerca è stato poi standardizzato in ISO /ITU-T.87 con il nome di JPEG-LS. Il core del JPEG - LS è basato sull'algoritmo LOCO -I [19]di HP che si contraddistingue in quanto la fase di codifica viene preceduta da due fasi: quella di predizione e quella di modellazione degli errori. La bassa complessità di questa tecnica deriva da due fattori: il fatto che la previsione residuale segue quella che viene chiamata Discrete Laplace Distribution ; l'utilizzo, in fase di codifica, di codici come quelli di Golomb-Rice, noti per essere ideali per le distribuzioni geometriche. Di seguito una tabella comparativa che illustra i risultati di compressione per un test set di immagini con l'utilizzo di differenti algoritmi candidati ad appartenere allo standard JPEG-LS espressi in bits/sample [20]: Image LOCO-I JPEG-LS FELICS LossLess JPEG Huffman LossLess JPEG Arithm CALIC Arithm LOCO-A PNG Bike cafe woman tools bike cats water finger us chart chart s compound compound

14 aerial faxballs gold hotel Media JPEG2000 lossless Si tratta del successore designato del JPEG, già ufficializzato come standard ISO/ITU che va sotto il nome di JPEG2000 [21]. La versione completa delle specifiche relative a questo formato è scaricabile dalla pagina web del JPEG.org [22]. JPEG2000 è completamente diverso dal suo predecessore JPEG: propone prima di tutto il fatto che uno stesso algoritmo possa essere adatto sia alla codifica lossy che a quella lossless. La differenza tra i due standard è sostanziale e possiamo brevemente identificarle come segue: durante la prima trasformazione, quella che in JPEG veniva svolta tramite l'utilizzo di una DCT (Discrete Cosine Transform), in JPEG2000 si utilizza la DWT (Discrete Wavelet Transform); la fase di quantizzazione dei valori è opzionale in JPEG2000 se l'utente desidera ottenere una compressione senza perdita d'informazione. JPEG utilizza una versione avanzata della codifica di Huffman, JPEG2000 utilizza un metodo chiamato Embedded Block Coding with Optimized Truncation (EBCOT) [23]. Queste non sono però le uniche differenze apportate rispetto allo standard JPEG: a causa di questo i programmi attuali più diffusi (software di grafica, viewer e browser) e l'hardware (ad esempio le fotocamere digitali) non supportano nativamente il nuovo formato dello standard. Questo fatto non gioca a favore di JPEG2000 vista l'ampissima diffusione del formato JPEG (oltre l'80% delle immagini è codificato con lo standard JPEG) per cui il futuro di questo nuovo formato è ancora molto incerto nonostante le potenzialità che offre. 10

15 Questi i passaggi per la codifica con JPEG2000 lossless: Passo 1) Preprocessing Se stiamo comprimendo un'immagine a colori occorre trasformare l'immagine nello spazio YCbCr e, per ogni canale, sottraiamo 127 ad ogni valore unsigned contenuto in esso. In questo modo avremo una centratura dei valori sullo 0. Passo 2) Trasformazione Uno dei principali cambiamenti nello standard JPEG2000 è l'uso della Trasformazione Wavelet Discreta (DWT) invece della DCT. Il risultato di quest operazione è la decorrelazione tra le informazioni di bassa e alta frequenza contenute nell immagine. La DWT si applica poi ricorsivamente, solitamente 2/3 volte, alla componente delle basse frequenze. Il risultato finale di tutta l'operazione è che l'intero contenuto informativo dell'immagine originale è stato segmentato in una serie di trasformazioni successive, che potranno poi essere compresse in un minimo spazio e poi decompresse in modo reversibile. Alla DWT vengono applicati dei filtri per la compressione, nel caso lossless solitamente il filtro LeGall53 o W5x3. Nel caso lossy i filtri applicati sono differenti. C'è da fare presente che la complessità della DWT dipende dalla dimensione dei filtri applicati e dal tipo di filtro. Solitamente essa è computazionalmente più complessa della DCT e richiede anche una maggiore memoria. Passo 3) Quantizzazione Nel caso di codifica lossless non si applica alcun tipo di quantizzazione. Passo 4) Encoding Per la compressione senza perdita di dati, usiamo semplicemente la metodologia EBCOT [24]per codificare gli elementi della trasformazione wavelet. JPEG XR JPEG XR [25], precedentemente conosciuto come HD Photo [26], è un formato per la compressione 11

16 delle immagini sviluppato da Microsoft e studiato per superare la limitazione degli 8 bit per canale del formato JPEG estendendo la profondità del colore a 16 bit o più, supportare un numero maggiore di di spazi di colore e garantire la possibilità di gestire porzioni di immagine senza dover decodificare l intera immagine. La qualità dell'immagine, percettivamente comparabile a quella del JPEG2000, ha un carico computazionale più vicino a quello del JPEG offrendo però una compressione superiore anche in caso di compressione lossless. L'algoritmo di compressione è molto simile a quello JPEG: avviene una trasformazione in un differente spazio di colore; ogni piano di colore viene suddiviso in blocchi di dimensione fissa; i blocchi vengono trasformati sotto il dominio della frequenza e gli viene applicata una codifica entropica. Essendo la trasformazione da RGB a YCbCr leggermente lossy (introduce infatti dei piccoli errori in fase di arrotondamento), il nuovo standard JPEG XR propone l'adozione della trasformazione dallo spazio RGB a quello YUV. La fase di trasformazione nel campo della frequenza avviene su blocchi di dimensioni inferiori e senza l'utilizzo della trasformata DCT bensì utilizzando, come nel JPEG2000, la DWT (Discrete Wavelet Transform) utilizzando l'algoritmo con schema lifting [27]: esso è un metodo alternativo per il calcolo dei coefficienti delle wavelet avente un minore costo computazionale e un minore utilizzo di memoria. Il vantaggio di questa codifica rispetto a JPEG2000 è il fatto che questa è già supportata dalla gran parte dei software che utilizzano immagini. Confronti tra i tre algoritmi precedentemente descritti In letteratura sono già presenti [28] dei test comparativi tra i tre algoritmi fin'ora trattatati. A puro titolo d'esempio di seguito vengono riportati brevemente i risultati d'interesse riferiti alle immagini Lena.bmp, Peppers.bmp, Couple.bmp e Sailboat on Lake.bmp (in alcuni casi si parte da formati.ppm o.pnm) presenti all'indirizzo ed utilizzati per avere un PSNR pari 12

17 a 40db (valori in tabella in bpp) TEST JPEG-2000 JPEG-XR JPEG-LS Lena.bmp Peppers.bmp Couple.bmp Sailboat on Lake.bmp GIF Il formato GIF (Graphic Interchange Format), diffuso alla fine degli anni 80, usa una forma di compressione LZW che mantiene inalterata la qualità dell'immagine. La profondità dei colori delle immagini GIF è di 8 bit, che consente di usare una tavolozza di massimo 256 colori. Consente inoltre di inserire la trasparenza ad uno dei colori individuati. Lo schema di compressione LZW è più adatto a comprimere immagini con grossi campi di colore omogeneo ed è meno efficiente nella compressione di immagini complesse con molti colori e grane/finiture complesse. Tale formato è stato superato a partire dal 1995 a causa dello sviluppo del PNG. PNG Il formato di codifica PNG [29] (Portable Network Graphics) è un formato grafico di tipo raster (bitmap) basato sulla compressione deflate. È stato elaborato nel 1995 per fornire un'alternativa libera al formato GIF per la quale era stato improvvisamente richiesto il pagamento delle royality di utilizzo. La compressione proposta con questo formato è una compressione senza perdita (lossless compression) da 5 a 25% migliore della compressione GIF. PNG può supportare colori fino a 32 bit. Il formato PNG-8, il primo nato, presenta effettivamente molte analogie con il formato GIF. Il formato PNG-24 è invece più simile a un JPEG e può supportare la trasparenza anche su più livelli di colore. Esso possiede solitamente una funzione di intreccio che permette di visualizzare progressivamente l'immagine. 13

18 La struttura dei file PNG è composta come segue: una firma in esadecimale del file che identifica il tipo PNG una serie di chunks dell'immagine I chunks dell'immagine contengono il contenuto informativo dell'immagine stessa. I più importanti sono quelli definiti critical : IHDR Image header PLTE Palette IDAT Image data IEND Image trailer Oltre a questi chunks principali sono poi presenti chunks accessori. I chunks possono essere presenti nel file in qualsiasi ordine ma devono cominciare dal segmento di titolo (IHDR chunk) e finire dal segmento finale (IEND chunk). I chunks a loro volta sono suddivisi in quattro parti: dimensione del chunk, un numero intero di 4 byte tipo del chunk, un codice di 4 byte di caratteri ASCII alfanumerici che identificano la tipologia del chunk i dati del chunk il CRC (cyclic redundancy check), un codice correttore di 4 byte che permette di verificare l'integrità del segmento Di seguito una tabella riepilogativa relativa alla conversione di un'immagine campione che evidenzia le differenze di compressione tra PNG e le varie compressioni legate al JPEG impostando la qualità di output pari al 100%. TEST BMP JPEG (Qualità 100%) JPEG-XR (Qualità 100%) PNG Butterfly.bmp 668 KB 201 KB 251 KB 267 KB Questi valori sono stati ottenuti utilizzando il tool di grafica Gimp sulla seguente immagine 14

19 d'esempio avente dimensioni 485x353 reperita gratuitamente sul sito Implementazioni multithread di diverso tipo Come già specificato in fase introduttiva vengono qui di seguito presentati due differenti tools di compressione, uno specifico per le immagini (ImageZero) e uno più generico (LZ4) che pongono il loro punto di forza sulla velocità d esecuzione dell algoritmo di compressione e decompressione piuttosto che sui livelli di compressione raggiunti. Tali performance vengono perseguite adattando gli algoritmi di compressione alle potenze di calcolo offerte dai moderni processori: in particolare si fa un forte utilizzo del multithreading. ImageZero ImageZero [30] nasce nel 2012 da un progetto di Chistoph Feck, sviluppatore di KDE, che ricercava un codec estremamente veloce, che fosse di tipologia lossless e che offrisse un discreto rapporto di compressione. Non avendo trovato quello che cercava ha stabilito di realizzarlo lui stesso. Le piattaforme di benchmark indipendenti per la valutazione delle prestazioni relative alle procedure di codifica e decodifica lossless documentano la velocità e la qualità del suo codec [31] [32]. Il codice è attualmente al primo stadio di sviluppo ma è estremamente promettente: rispetto al PNG comprime un'immagine PPM a 24 bit circa 20 volte più velocemente e la decomprime 2 volte più velocemente. Il tasso di compressione è estremamente prossimo a quello del PNG. L'algoritmo utilizzato è molto semplice: la compressione e la decompressione viene realizzata per pixel, senza branches (ad eccezione di un unico branch nel bit coder), in modo che sulle moderne CPU possa essere eseguito molto velocemente e in parallelo. Questo tipo di codifica non è adatta per grafici o per immagini in scala di grigi. 15

20 Andando ad utilizzare come immagine campione quella presente all'indirizzo seguente: questi sono i risultati ottenuti per le varie tipologie di codifica e decodifica: Metodo Dimensione del File (KB) Tempo di Compressione (s) Tempo di Decompressione (s) Originale JPEG-LS ,6 7,3 PNG ,4 2,4 ImageZero ,2 1,3 Alcuni interessanti risultati compresi nel LossLess Photo Compression Benchmark mostrano i risultati dei tempi di compressione e decompressione dei sistemi di compressione lossless applicati su un database di circa 3.46 GB. Quello che viene evidenziato è che il formato ImageZero, rilasciato con licenza BSD, così come il codice al quale fa riferimento, è nettamente il codec più veloce e garantisce una notevole velocità sia di compressione che di decompressione. La tabella seguente fornisce un riepilogo di quanto emerge. Software / Codec Licenza Dimensione (%) Compressione (s) Decompressione (s) Originale bzip2-1 bzip2 License 56, PNG libpng License 42, ImageZero BSD 41, JPEG-LS HP License 37, lossless WebP BSD 35, Flic Proprietario 30, Gralic Proprietario 28,

21 LZ4 LZ4 [33] è un algoritmo di compressione di dati generici, derivante dal filone dei codec LZ77, particolarmente orientato ad aumentare notevolmente le velocità di compressione e decompressione. Attualmente è un progetto presente su google-code [34] e sta avendo un notevole successo in quanto riesce a garantire velocità di 400MB/s per ogni core dedicato alla compressione. L'algoritmo è inoltre scalabile con le CPU multi core. I tempi di decompressione ottenuti sono nell'ordine dei GB/s e raggiungono, nei sistemi multi core, il limite di velocità della ram. Di seguito, in Tabella 6, viene riportato uno schema comparativo con le performance registrate da LZ4 rispetto ad altri algoritmi/tools di compressione Tool Ratio Comp. Speed (MB/s) Decomp. Speed (MB/s) LZ4 (r101) 2, LZO , QuickLZ (1.5.1b6) 2, Snappy , LZF 2, Zlib , Algoritmi di compressione proposti in letteratura Di seguito vengono messi in risalto quelli che sembrano essere gli algoritmi di compressione per immagini più promettenti presenti in letteratura. Il vincolo della ricerca di compressioni lossless (o near lossless), real time (o near real time) e applicabili a immagini con un contenuto generico ha portato a un'elevata scrematura dell'offerta scientifica disponibile. La gran parte degli articoli analizzati è risultata essere non idonea allo scopo del presente documento. Molte delle pubblicazioni fanno inoltre riferimento a dataset di test non pubblici e/o comunque di difficile reperibilità o aventi un contenuto molto limitato d'immagini pregiudicando l'eventuale ripetibilità dei test presentati. Gli approcci mostrati sono quindi unicamente quelli che presentano delle misure di prestazioni relative a un dataset di dimensione sufficiente o relative a set di immagini standard. 17

22 A Lossless Image Compression Technique using Location Based Approach A Lossless Image Compression Technique using Location Based Approach [32] è una tecnica per la compressione lossless d'immagini basata sulla divisione in blocchi 4x4 dell'immagine originale e in una loro successiva compressione. L'algoritmo in oggetto si basa essenzialmente su pochi semplici passi: 1) scomporre l'immagine in blocchi 4x4 non sovrapposti 2) per ogni blocco poi a) convertire il blocco in un array di 16 elementi con un approccio da sinistra a destra e dall'alto in basso b) individuare il valore più frequente all'interno dell'array (MFP) e eliminarlo c) scrivere il valore dell'mfp sul bit stream d'uscita susseguito da 4 bit che indicano il numero di occorrenze (la frequenza) dell'mfp d) individuare la frequenza del secondo valore più frequente all'interno dell'array (SMFP): se occorrono k bit per rappresentare questa frequenza, scrivere k nei successivi 4 bit nel bit stream d'uscita e) scrivere quindi il valore dell'smfp in 8 bit f) scrivere il numero di occorrenze dell'smfp g) scrivere tutte le posizioni delle sue occorrenze in k bit h) ripetere i passi da e) a g) per tutti i distinti valori di pixel rimasti nell'array 3) ripetere per ogni blocco per un'immagine a colori occorre ovviamente ripetere l'intero algoritmo per ogni componente di colore. Una tabella comparativa dei risultati di compressione, in termini di dimensione dell'immagine in bit, riportata nell'articolo viene di seguito proposta: TEST Non compressa GIF TIFF PNG LICTLBA 18

23 Lena Baboon Iris L'articolo presentato propone un metodo di compressione che sembra dare buoni risultati ma risulta anomalo il numero ridotto di campioni su cui vengono eseguiti i test. Inoltre esso sembra presentare dei limiti, ad esempio, il caso in cui tutti i pixel siano diversi comporterebbe un aggravio in termini di dimensioni dell'immagine, si avrebbero infatti per un singolo blocco 4x4 di un singolo canale di un'immagine: 8 bit per MFP bit per la frequenza MFP 4 bit per la rappresentazione di K 8 bit per SMFP 1 bit per la frequenza di SMFP 4 bit per la posizione di SMFP ( )*14 = 182 bit per i restanti valori dei pixel per un totale di 211 bit di un blocco compresso contro 128 bit del blocco non compresso. L'articolo stesso specifica però che nei blocchi di test 4x4 analizzati, circa , solo in una piccola parte di questi, 79, si è verificato il caso peggiore precedentemente indicato. Context-based Dictionary Image Compression Il Context-based Dictionary Image Compression (CDIC) [33] è un algoritmo proposto nel 2012 e che propone l'applicazione di tecniche di compressione di dati testuali anche nel campo delle immagini. In particolare la tecnica di compressione da applicare alle immagini è quella proposta da Nakano e altri [34] nel 1994, il Classifying to Sub-Dictionaries (CSD), che propone l'idea di combinare tecniche di compressione basate su dizionari a tecniche di compressione basate sul contesto dei 19

24 dati: in particolare combinando la compressione Lempel-Ziv-Welch (LZW) con lo schema Prediction by Partial Matching (PPM). L'algoritmo in questione utilizza un numero elevato di sottodizionari che sono inizialmente presi in considerazione con tutti i possibili singoli caratteri. Ogni stringa da codificare viene codificata in base all'ultimo simbolo presente nella precedente sotto stringa che viene associato al dizionario secondario da utilizzare. Una volta individuato il dizionario, si utilizza l'algoritmo LZW per la compressione dei dati. Utilizzando sempre l'ultimo elemento per la codifica di una stringa successiva, viene considerato [35] come uno schema PPM del primo ordine. L'applicazione del CSD alle immagini bidimensionali è stata testata e confrontata con le prestazioni offerte dalla semplice compressione LZW. Per completezza di analisi, per la predizione del corretto sotto dizionario da andare a utilizzare, sono stati effettuati due differenti test: in un caso veniva sfruttato il valore del pixel a sinistra, mentre in un secondo caso il valore del pixel superiore. Quello che viene evidenziato dai test condotti su 9 immagini standard è che mediamente la codifica LZW riduce lo spazio occupato del 14%, mentre con la codifica CSD si può arrivare fino al 17%. I risultati pubblicati non sono entusiasmanti in termini di compressione anche perché, come nella maggior parte dei casi, non vengono riportati i tempi di codifica e decodifica delle immagini. Nella tabella a seguire vengono riportati i risultati ottenuti dai test svolti da El-Sakka dove i valori sono da intendersi in byte. TEST Non Compressa LZW CSD (Pixel sinistro) CSD (Pixel Superiore) Boats Camera Columbia Crowd Lake

25 Man Milkdrop Peppers Plane A new Algorithm for Lossless Compression applied to two-dimensional Static Images A new Algorithm for Lossless Compression applied to two-dimensional Static Images (ALCSI) [36] è stato proposto nel 2012 e prevede l'utilizzo di una tecnica ibrida per la compressione delle immagini che sfrutta i concetti introdotti dall'algoritmo INA [37] per la parallelizzazione del processo. I risultati sperimentali del metodo INA, dello stesso autore, evidenziano come il metodo indicato abbia performance superiori alla codifica di Huffman e al JPEG-LS, di seguito un breve schema riassuntivo nella tabella seguente relativo alla compressione di un'immagine 2048x2048 in cui la compressione, per il metodo INA è stata ottenuta in secondi: METHODS COMPRESSION RATIOS Huffman Coding 4% Prediction 27% JPEG-LS (Standard) 54% INA 58% Il metodo si compone di tre fasi: una prima fase di segmentazione dell'immagine, una seconda fase di compressione e una terza di codifica. Nella prima fase, l'intera immagine viene suddivisa in blocchi di dimensione fissa: ogni blocco genera due gruppi distinti. Un primo gruppo che identifica la sequenza dei pixel del blocco ordinati in ordine crescente e l'altro che rappresenta una sequenza formata da pixel organizzati in gruppi di coppie ordinate. I vantaggi apportati dalla segmentazione dell'immagine, tipicamente in blocchi di 21

26 dimensione 4x4, sono essenzialmente riconducibili all'aumento in termini di velocità, alla riduzione della memoria richiesta e all'adattamento dei dati stessi per l'utilizzo nell'albero binario. La seconda fase, quella di compressione, è la novità apportata da questo metodo e si riferisce all'esecuzione parallela della compressione dei due gruppi ottenuti nella prima fase di segmentazione tramite l'utilizzo di un albero binario e uno schema di predizione. Nella terza ed ultima fase viene applicato un codificatore per la generazione del bit stream d'uscita. I risultati sperimentali pubblicati nella tabella seguente legati a questo metodo sono stati dei lievi miglioramenti nelle misure del rapporto di compressione e dei bit per punto rispetto al JPEG-LS. METHODS COMPRESSION RATIOS BPP Methods based on Substitution models 1,03 7,79 Methods based on Arithmetic models 1,11 7,21 Methods based on Dictionary models 1,23 6,53 Methods based on Predictive models 1,57 5,09 Methods based on Transformed models 1,76 4,54 JPEG-LS Standard 1,75 4,57 ALCSI 1,77 4,52 Fast Lossless Color Image Compressing Method Using Neural Network L'approccio mostrato nel 2002 con la pubblicazione Fast Lossless Color Image Compressing Method Using Neural Network [38] mira a rinunciare alle prestazioni in termini di compressione per andare invece a migliorare i tempi di compressione dei dati dell'immagine. Gli autori propongono un algoritmo di tipo predittivo che consta di tre fasi. Nella prima fase si procede a una trasformazione dello spazio di colore: seguendo gli esempi di JPEG-LS e JPEG2000 gli autori propongono un loro nuovo spazio di colore. Partendo dalle componenti originali (denominate genericamente A 1, A 2 e A 3 ) si ottengono le nuove componenti secondo queste equazioni: A 1 ' = floor (0.25A A A 3 ) 22

27 A 2 ' = A 1 - A 2 A 3 ' = A 3 - A 2 la trasformazione è ovviamente reversibile. Nella seconda fase si applica invece un modello predittivo: il valore del pixel è predetto pesando i valori dei quattro pixel in direzione in alto a sinistra. Se il pixel d'interesse è nella prima o nell'ultima colonna o se è nella prima riga, si utilizza un valore di default per il pixel vicino mancante. Il pixel k-simo in posizione (i,j) sarà calcolato come: P k (i,j) = w 1 P k (i,j-1) + w 2 P k (i-1,j-1) + w 3 P k (i-1,j) +w 4 P k (i-1,j+1) dove i generici w inizialmente assumeranno il valore Nella terza fase viene invece utilizzato una correzione adattativa dei singoli pesi in base all'algoritmo riportato in [39] attraverso l'utilizzo di una rete neurale a due livelli. I risultati ottenuti da questo metodo indicano che con questo metodo è possibile ottenere una compressione nettamente superiore che con il solo utilizzo dei metodi di Huffman o Lzw. Si ottiene inoltre un rapporto di compressione un po' peggiore rispetto a JPEG-LS ma si riesce, con l'utilizzo della metodologia proposta, a migliorare i tempi di compressione dell'immagine stessa. Di seguito sono mostrate due tabelle che riassumono tali prestazioni. Nella prima si fa riferimento al numero medio di bits per codificare ogni pixel, nella seconda vengono indicati i tempi di compressione ottenuti per le immagini di test. I risultati di compressione vengono proposti in termini di bits/pixel: Image Huffman LZW JPEG-LS Proposed Scenery1 2,92 5,01 2,13 2,20 Scenery2 2,27 4,20 1,83 1,89 Aerial 2,65 3,92 1,90 2,22 Computer's 2,47 3,08 2,21 2,55 Peppers 4,67 5,84 3,88 4,28 23

28 Lena 5,12 6,78 4,52 4,76 I tempi di compressione, in termini di secondi, vengono riportati nella seguente tabella: Image Huffman LZW JPEG-LS Proposed Scenery1 6,88 9,87 6,21 5,10 Scenery2 9,35 13,32 8,68 7,27 Aerial 6,83 7,90 6,62 5,55 Computer's 5,24 8,68 4,46 3,89 Peppers 1,18 3,12 0,60 0,51 Lena 2,87 3,89 1,05 0,90 Conclusioni La letteratura scientifica, in relazione a codec lossless o near lossless che possano essere utilizzati in real time o in near real time, risulta essere limitata. Negli ultimi anni la comunità scientifica si è concentrata infatti ad affrontare le problematiche relative alla compressione e decompressione d'immagini seguendo gli andamenti del mercato: si è manifestata infatti una proliferazione di studi su specifiche tipologie d'immagine a discapito di studi legati a immagini generiche (in formato RGB o BGR). Ad esempio si riscontrano un numero elevato di studi legati alle immagini realizzate secondo il criterio Bayer CFA [40-42], specifico in particolare per immagini fotografiche ad elevata risoluzione e dipendente dai filtri implementati nelle fotocamere, come mostrato dagli studi in corso anche in aziende come Microsoft [43]; si ha anche la ricerca di nuove tecniche di codifica legato a immagini di tipo medicale [44,45], legato alle immagini astronomiche [46] o più genericamente alle 24

29 tematiche del compound image compression [47,48]. Quello che viene evidenziato è che gli algoritmi e i formati di compressione già presenti sul mercato (JPEG XR, PNG ecc) sono attualmente considerati stabili e affidabili. Le prestazioni che essi offrono vengono valutate sufficienti per l'esigenza attualmente manifestata dal mercato: essi risultano offrire rapporti di compressione molto buoni, superati solo minimamente dai nuovi algoritmi presentati in letteratura, e tempi di compressione ragionevoli per le più diffuse applicazioni. Quello che si evidenzia è inoltre la presenza di una serie di studi e implementazioni che mirano ad utilizzare le codifiche dati ritenute standard (Huffman, LZ78 ecc) parallelizzandone però il processo ed adattando quindi queste tecniche al multi threading offerto dai processori oppure andando ad implementare i medesimi algoritmi al fine di utilizzare la potenza di calcolo presente nella GPU del sistema. Ovviamente tali soluzioni non migliorano il rapporto di compressione offerto dagli algoritmi ma si limitano a migliorare i tempi legati alla compressione e decompressione dei dati. Bibliografia 1. « [Online]. 2. M. Burrows e D. Wheeler, «A block sorting lossless data compression algorithm». 3. « [Online]. 4. « [Online]. 5. D. Huffman, «A method for the construction of minumum-redundancy codes». 6. P. E. Black, «Adaptive Huffman coding,» in Dictionary of Algorithms and Data Structures. 7. P. E. Black, «K-ary Huffman coding,» in Dictionary of Algorithms and Data Structures. 8. M. Golin, C. Kenyon e N. Y. Young, «Huffman Coding with Unequal Letter Costs». 9. I. Witten, R. Neal e J. Cleary, «Arithmetic Coding for Data Compression». 10. J. Ziv e A. Lempel, «A Universal Algorithm for Sequential Data Compression». 11. J. Ziv e A. Lempel, «Compression of Individual Sequences via Variable-Rate Coding». 25

30 12. D. Salomon, «Data Compression: The Complete Reference». 13. J. Storer e T. Szymansky, «Data Compression via Textual Substituion». 14. T. Welch, «A Technique for High-Performance Data Compression». 15. « [Online]. 16. M. Weinberger, G. Seroussi e G. Sapiro, «The LOCO-I Lossless Image Compression Algorithm: Principles and Standardization into JPEG-LS». 17. « [Online]. 18. M. Charrier, D. Santa Cruz e M. Larsson, «JPEG2000, the Next Millenium Compression Standard for Still Images». 19. « [Online]. 20. D. Taubman e M. Marcelin, «JPEG2000: Image Compression Fundamentals, Standards and Practice». 21. AA.VV., « [Online]. 22. AA.VV., «Recommendation T.832 /03/2009, updated 12/2009: Information Technology JPEG XR image coding system Part 2: Image coding specification». 23. AA.VV., «HD Photo: a New Image Coding Technology for Digital Photography». 24. « [Online]. 25. A. Solanki, «Implementation and performance analysis of JPEG2000, JPEG, JPEG-LS, JPEG- XR and H.264/AVC Intra frame coding,» [Online]. 26. « [Online]. 27. « [Online] [Online]. 29. « [Online]. 30. « [Online]. 31. « [Online]. 26

31 32. M. Hasan e K. M. Nur, «A Lossless Image Compression Technique using Location Based Approach». 33. M. El-Sakka, «Context-based Dictionary Image Compression». 34. AA.VV., «Highly efficient universal coding with classifying to subdictionaries for text compression». 35. J. Cleary e W. Teahan, «Unbounded length contexts for PPM». 36. J. Larrauri, «A new Algorithm for Lossless Compression applied to two-dimensional Static Images». 37. J. Larrauri e E. Kahoraho, «A new Method for Real Time Lossless Image Compression Applied to Artificial Vision». 38. K. Jia, S. Fang e S. Dun, «Fast Lossless Color Image Compressing Method Using Neural Network». 39. J. Zurada, «Introduction to Artificial Neural System». 40. « [Online]. 41. K. Chung e Y. Chan, «A Lossless Compression Scheme for Bayer Color Filter Array Images». 42. C. Koh, J. Mukherjee e S. Mitra, «New Efficient Methods of Image Compression in Digital Cameras with Color Filter Array». 43. H. Malvar e G. Sullivan, «Progressive-to-Lossless Compression of Color-Filter-Array Images using Macropixel Spectral-Spatial Transformation». 44. C. Flint, «Determining optimal medical image compression: psycometric and image distortion analysis». 45. J. Janet, D. Mohandass e S. Meenalosini, «Lossless Compression Techniques for Medical Images in Telemedicine». 46. AA.VV., «Astronomical Image Compression Based on Noise Suppression». 47. T. Lin e P. Hao, «Compound Image Compression for Real-Time Computer Screen Image Transmission». 27

32 48. AA.VV., «Block-based Fast Compression for Compound Images». 49. C. Taskin e S. Sarikoz, «An Overview of Image Compression Approaches». 50. H. Cai e J. Li, «Lossless Image Compression with Tree Coding of Magnitude Levels». 51. B. Aiazzi, S. Baronti e L. Alparone, «Near Lossless Image Compression By Relaxation Labeled Prediction». 52. B. Aiazzi, S. Baronti e L. Alparone, «Lossless Image Compression Based on a Fuzzy-Clustered Prediction». 53. S. Qian, A. Hollinger e Y. Hamiaux, «Study of Real Time Lossless Data Compression for Hyperspectral Imagery». 54. M. Ciavarella e A. Moffat, «Lossless Image Compression Using Pixel Reordering». 55. AA.VV., «Lossless Image Compression». 56. M. Bhammar e K. Mehta, «Survey of Various Image Compression Techniques». 57. M. Groach e A. Garg, «DCSPIHT: Image Compression Algorithm». 58. M. Ashok e T. Reddy, «Color image compression based on Luminance and Chrominance using Binary Wavelet Transform and Binary Plane Technique». 59. N. Salam e R. Nair, «An Optimized Real Time Image Codec for Image Data Transmission and Storage». 60. A. Kaushik e M. Gupta, «Analysis of Image Compression Algorithms». 61. M. Allam e E. Abdel-Ghaffar, «JPEG2000 Performance Evaluation». 28

33 Compressione di immagini generiche a contenuto eterogeneo (compound images) Gli algoritmi di compressione illustrati finora applicano lo stesso algoritmo di compressione su tutto il dato. Questi però, non sono ottimali però nell'applicazione verso le compound image. Queste ultime sono immagini a contenuto eterogeneo ovvero possono essere composte da diverse aree contenenti testo, immagini grafiche o fotografie naturali. Due tipici esempi di compound image sono l'immagine visualizzata nello schermo di un computer ed il sito web di un giornale, nella figura seguente viene mostrato un semplice esempio. La compressione di una compound image si basa sul fatto che vengano individuate le varie 29

34 componenti/classi che compongono l'immagine, le quali verranno codificate separatamente tramite un apposito algoritmo di compressione, differente per ciascuna componente/classe. Nella prossima sezione verranno presentati i principali approcci proposti in letteratura per compiere la segmentazione delle compound image. Metodi di segmentazione delle componenti di un'immagine Come accennato poco sopra, il primo step da effettuare nella compressione delle compound image è la classificazione dell'immagine, ovvero l'individuazione di tutte le componenti che costituiscono la compound image. In relazione a tale classificazione esistono numerosi approcci di cui i più utilizzati sono i seguenti: Approccio a oggetti Approccio a layer Approccio a blocchi Approccio ibrido Approccio ad oggetti L approccio a oggetti si propone di suddividere l immagine in regioni, a loro volta divisibili in oggetti caratterizzati da bordi perfettamente definiti. Gli oggetti possono essere lettere, fotografie o elementi grafici. Questo approccio dovrebbe offrire un ottimo rapporto di compressione, in quanto una volta selezionato correttamente l oggetto, esso può essere compresso con l esatto algoritmo adatto al caso, senza considerare casi in cui la segmentazione non avvenga correttamente. In pratica la codifica dei bordi delle oggetti risulta essere piuttosto complessa, rendendo poco vantaggioso questo metodo in quanto fortemente dipendente dallo stato dell'arte attuale delle tecniche di segmentazione automatica. Approccio a layer In questo approccio l'immagine composita viene suddivisa in piani contenenti delle porzioni dell'immagine di partenza. La ricostruzione avviene attraverso degli layer specifici detti maschere. Dal punto di vista teorico l'immagine composita può essere suddivisa in un numero di layer che può dipendere dalla specifica applicazione. Uno dei metodi più diffusi è quello del Mixed raster 30

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

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

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

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

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

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

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

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

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

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

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

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

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

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

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

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

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

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 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

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

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

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

I formati dei file immagine

I formati dei file immagine I formati dei file immagine Le immagini vettoriali Le immagini vettoriali sono caratterizzate da linee e curve definite da entità matematiche chiamate vettori I vettori sono segmenti definti da un punto

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

INFORMATICA E GRAFICA PER IL WEB

INFORMATICA E GRAFICA PER IL WEB INFORMATICA E GRAFICA PER IL WEB Psicologia e comunicazione A.A. 2014/2015 Università degli studi Milano-Bicocca docente: Diana Quarti LEZIONE 04 INFORMATICA E GRAFICA PER IL WEB A.A. 2014/2015 docente:

Dettagli

TECNICHE DI COMPRESSIONE DATI

TECNICHE DI COMPRESSIONE DATI TECNICHE DI COMPRESSIONE DATI COMPRESSIONE DATI La compressione produce una rappresentazione più compatta delle informazioni è come se si usassero meno parole per dire la stessa cosa in modo diverso. Esistono

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

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

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

Software di compressione

Software di compressione Software di compressione di Giulia Giacon 1 Di cosa stiamo parlando? Si tratta di software applicativi in grado di comprimere e di decomprimere un file. 1. La quantità di bit necessari alla rappresentazione

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

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

Word processor funzione Stampa Unione

Word processor funzione Stampa Unione Word processor funzione Stampa Unione La funzione Stampa unione permette di collegare un documento che deve essere inviato ad una serie di indirizzi ad un file che contenga i nominativi dei destinatari.

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

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

Allegato tecnico. Per l invio di documenti elettronici al Comune di Prato

Allegato tecnico. Per l invio di documenti elettronici al Comune di Prato Allegato tecnico Per l invio di documenti elettronici al Comune di Prato 1. Formati ammissibili per l invio di documenti elettronici. Indipendentemente da quale sia il metodo scelto per l invio di una

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

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Immagini vettoriali. Immagini raster

Immagini vettoriali. Immagini raster Immagini vettoriali Le immagini vettoriali sono caratterizzate da linee e curve definite da entità matematiche chiamate vettori. I vettori sono segmenti definiti da un punto di origine, una direzione e

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

La codifica delle immagini

La codifica delle immagini Analogamente possiamo codificare le immagini a colori. In questo caso si tratta di individuare un certo numero di sfumature, gradazioni di colore differenti e di codificare ognuna mediante un'opportuna

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

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

Workland CRM. Workland CRM Rel 2570 21/11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

Workland CRM. Workland CRM Rel 2570 21/11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX Attività Attività --> FIX In alcuni casi, in precedenza, sulla finestra trova attività non funzionava bene la gestione dei limiti tra date impostati tramite il menu a discesa (Oggi, Tutte, Ultima Settimana,

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

Dettagli

gestione e modifica di immagini fotografiche digitali

gestione e modifica di immagini fotografiche digitali gestione e modifica di immagini fotografiche digitali i formati grafici immagini raster e vettoriali La rappresentazione delle immagini in formato elettronico può essere attuata in due modi: raster (detta

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

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

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

ACO Archiviazione Elettronica e Conservazione sostitutiva

ACO Archiviazione Elettronica e Conservazione sostitutiva ACO Archiviazione Elettronica e Conservazione sostitutiva Luglio 2013 INDICE A) INSTALLAZIONE DELL AGGIORNAMENTO... 2 AGGIORNAMENTO STAND ALONE/SERVER... 2 AGGIORNAMENTO CLIENT... 4 B) ELENCO MODIFICHE...

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

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

CHIUSURE di MAGAZZINO di FINE ANNO

CHIUSURE di MAGAZZINO di FINE ANNO CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

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

La codifica delle immagini

La codifica delle immagini Analogamente possiamo codificare le immagini a colori. In questo caso si tratta di individuare un certo numero di sfumature, gradazioni di colore differenti e di codificare ognuna mediante un'opportuna

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Introduzione. Installare EMAS Logo Generator

Introduzione. Installare EMAS Logo Generator EMAS Logo Generator Indice Introduzione... 3 Installare EMAS Logo Generator... 3 Disinstallare EMAS Logo Generator... 4 Schermata iniziale... 5 Creare il Logo... 7 Impostazioni... 7 Colore...8 Lingua del

Dettagli

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Login All apertura il programma controlla che sia stata effettuata la registrazione e in caso negativo viene visualizzato un messaggio.

Dettagli

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 Progetto ICoNLingua Scienza senza Frontiere CsF- Italia Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 1. Introduzione La valutazione sia in itinere

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007 REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007 INTRODUZIONE Uno degli elementi più importanti che compongono un Business Plan è sicuramente la previsione dei risultati economico-finanziari. Tale

Dettagli

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

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

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

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

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

Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente

Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente Prerequisiti Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente L opzione Provvigioni agenti è disponibile per le versioni Vendite, Azienda Light e Azienda Pro. Introduzione

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

MANUALE ESSE3 Gestione Registro delle lezioni

MANUALE ESSE3 Gestione Registro delle lezioni MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

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

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

Monitor Orientamento. Manuale Utente

Monitor Orientamento. Manuale Utente Monitor Orientamento Manuale Utente 1 Indice 1 Accesso al portale... 3 2 Trattamento dei dati personali... 4 3 Home Page... 5 4 Monitor... 5 4.1 Raggruppamento e ordinamento dati... 6 4.2 Esportazione...

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

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

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

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

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Elenchi Intrastat. Indice degli argomenti. Premessa. Operazioni preliminari. Inserimento manuale dei movimenti e presentazione

Elenchi Intrastat. Indice degli argomenti. Premessa. Operazioni preliminari. Inserimento manuale dei movimenti e presentazione Elenchi Intrastat Indice degli argomenti Premessa Operazioni preliminari Inserimento manuale dei movimenti e presentazione Collegamento con la Contabilità Collegamento con il ciclo attivo e passivo Generazione

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

VALORE DELLE MERCI SEQUESTRATE

VALORE DELLE MERCI SEQUESTRATE La contraffazione in cifre: NUOVA METODOLOGIA PER LA STIMA DEL VALORE DELLE MERCI SEQUESTRATE Roma, Giugno 2013 Giugno 2013-1 Il valore economico dei sequestri In questo Focus si approfondiscono alcune

Dettagli