Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la...

46
1 Università degli Studi di Genova Scienze della Formazione, 1° anno, a.a. 2015-2016 Corso di Fondamenti di Informatica (6 CFU) Modulo 3 – multimedia Prof. Antonio Camurri [email protected] Rev. 1.11.2015

Transcript of Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la...

Page 1: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

1

Università degli Studi di Genova

Scienze della Formazione, 1° anno, a.a. 2015-2016

Corso di Fondamenti di Informatica (6 CFU)

Modulo 3 – multimedia

Prof. Antonio Camurri

[email protected]

Rev. 1.11.2015

Page 2: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

2

Analogico e Digitale

In linea generale, la differenza fra analogico e digitale corrisponde alla differenza fra una rappresentazione continua e una rappresentazione discreta di determinate grandezze. Una rappresentazione continua o analogica è ad esempio quella fornita da una lancetta che si sposta sul quadrante di uno strumento, mentre una rappresentazione digitale è attraverso numeri. Un termometro analogico mostra la temperatura attraverso l'altezza della colonnina di mercurio: quest'altezza varia in modo continuo col variare della temperatura. Un termometro digitale mostra invece la temperatura attraverso dei numeri su uno schermo: la temperatura indicata varia in modo discontinuo. Se il termometro ha, ad esempio, la precisione di una cifra decimale, potrà mostrare la differenza fra 37,5 e 37,6 gradi, ma non le temperature intermedie tra questi due valori: la cifra sullo schermo 'scatta' da 37,5 a 37,6 senza poterle rappresentare. Analogamente, un orologio analogico mostra l'ora attraverso la posizione delle sue lancette, mentre un orologio digitale mostra l'ora attraverso numeri; una bilancia analogica mostra il peso attraverso il movimento dell'ago sul quadrante, mentre una bilancia digitale mostra il peso attraverso numeri.

Orologio analogico e orologio digitale: l'uno presenta l'ora attraverso il movimento continuo delle lancette, l'altro

attraverso la scansione da un numero al successivo.

A prima vista, una rappresentazione analogica sembra rispondere meglio alla natura continua della maggior parte dei fenomeni che vogliamo misurare. D'altro canto, la nostra capacità di discriminare fra rappresentazioni analogiche di valori molto vicini attraverso l'uso di strumentazioni meccaniche convenzionali è in genere minore di quella offerta da uno strumento digitale sufficientemente preciso; la costruzione di apparecchiature meccaniche in grado di rendere 'leggibile' in maniera analogica la differenza fra valori molto vicini è spesso assai complessa. La progressiva sostituzione di strumentazioni elettroniche - che privilegiano la rappresentazione digitale - alle strumentazioni meccaniche, ha permesso quindi in molti casi un progresso nella precisione della misurazione e spesso una riduzione dei costi. Lo sviluppo del computer, nato per lavorare su informazioni numeriche, ha ulteriormente favorito il processo di traduzione in termini digitali di grandezze e fenomeni che tradizionalmente non erano rappresentati attraverso numeri.

Page 3: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

3

Un suono rappresentato in termini di onde acustiche nell’aria è un esempio di grandezza di tipo analogico: i valori che possono essere assunti sono potenzialmente infiniti. Un disco in vinile su cui è registrata una canzone rappresenta un esempio di rappresentazione analogica di suoni; la stessa canzone in un file MP3 ne è una rappresentazione digitale. Una immagine analogica si può considerare come un’area costituita da infiniti punti colorati, ognuno di dimensione infinitamente piccola. In realtà, una immagine fotografica (analogica) è composta da milioni di pigmenti colorati molto piccoli e spazialmente irregolari sulla pellicola: si parla di “grana” della pellicola. Sulla pellicola fotografica sono posti dei materiali fotosensibili che alterano il loro stato se colpiti dalla luce. L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

Immagini digitali La digitalizzazione è il processo di conversione che, applicato alla misurazione di un fenomeno fisico, ne determina il passaggio dal campo dei valori continui a quello dei valori discreti. Tale processo viene oggi comunemente sintetizzato nei termini di passaggio dall'analogico al digitale.

Una immagine digitale è composta da un numero definito di pixel (picture element) disposti su una griglia, tutti delle stesse dimensioni. I diversi colori che rappresentano le immagini sono memorizzati come numeri: codifica con un numero diverso per ogni colore rappresentato. In fase di acquisizione di una immagine digitale (attraverso una macchina fotografica digitale o uno scanner), ad ogni pixel viene assegnato un colore, codificato da un valore binario. In fase di visualizzazione su schermo, ad ogni pixel viene fatto corrispondere il colore corrispondente al codice numerico contenuto nel pixel. L’immagine è quindi rappresentata da una matrice di pixel, dove ogni pixel corrisponde a uno o più numeri che ne codificano il colore in modo univoco. L'operazione di digitalizzazione di una immagine comporta il passaggio a un numero finito di punti, tutti della stessa dimensione: si ha quindi quindi una perdita di informazione. In molti casi questo è accettabile, in quanto è possibile definire un numero sufficientemente elevato di punti (pixel) ognuno di una dimensione talmente piccola da rendere l’immagine percepita dall’occhio come un continuo, quindi una buona approssimazione di una immagine analogica. La digitalizzazione consente di passare dal continuo (infiniti punti) a una matrice di un numero finito di pixel.

In generale, nell'informatica, con il termine digitalizzazione si intende il processo di trasformazione di un segnale analogico (ad esempio, un'immagine, un suono, una misura analogica di una grandezza fisica) in un formato digitale. Il formato digitale è

Page 4: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

4

interpretabile dal computer. Per poter far sì che un computer possa elaborare una immagine, occorre che l’immagine sia tradotta in numeri. Il processo che trasforma un’immagine in una sequenza ordinata di numeri è la digitalizzazione. La digitalizzazione di una immagine avviene grazie a dispositivi quali ad esempio lo scanner o le macchine fotografiche digitali.

La digitalizzazione si compone di una sequenza di due fasi: 1) Campionamento spaziale: operazione con la quale un’immagine continua è

trasformata in un insieme di rettangoli più o meno grandi (immagine come matrice di pixel);

2) Quantizzazione cromatica: ad ogni pixel è associato un colore dato dalla media dei colori presenti all’interno della porzione di immagine sottesa al pixel.

Il risultato sarà una matrice bidimensionale: ad ogni punto di coordinate (m,n), è associata l’informazione cromatica definita dalla quantizzazione cromatica. Il pixel è l’elemento più piccolo in cui è possibile scomporre l’immagine digitale. Analizziamo ora le due fasi della digitalizzazione in maggiore dettaglio.

Campionamento spaziale Il campionamento spaziale consiste nella suddivisione dell’immagine analogica in tanti quadratini elementari (pixel – picture element); l’immagine è dunque trasformata in una matrice (analogia con un “mosaico”). In ogni immagine occorre decidere la dimensione dei pixel: più questi sono piccoli (ovvero più è elevata la loro densità), più l’immagine è di alta qualità, in quanto avrà una risoluzione spaziale (o geometrica) più elevata. La risoluzione geometrica è legata alle dimensioni dei pixel: più piccoli sono i passi di campionamento (dX e dY), maggiore è la risoluzione geometrica del dispositivo. La risoluzione geometrica viene misurata in punti per pollice o DPI (dots per inch), dove 1 inch = 2,54cm. Si definisce pixel aspect ratio il rapporto tra larghezza e altezza del pixel; spesso tale rapporto è uguale ad uno: in questo caso i pixel sono quadrati. E’ bene tenere presente che una maggiore risoluzione comporta il vantaggio di poter apprezzare maggiori dettagli dell’immagine, ma anche lo svantaggio di una maggiore occupazione di memoria: infatti ogni pixel occupa memoria del computer e aumentando il numero di pixel si aumenta anche l’occupazione di memoria della immagine.

Dimensione di una immagine (pixel) = Risoluzione(dot/Inch) * Dimensione (Inch) Errore comune: confondere la dimensione in pixel con la risoluzione.

Page 5: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

5

Relazione tra dimensione e risoluzione: Diversi dispositivi di output portano a diversi risultati in termini di resa dell’immagine. Ad esempio: Monitor: 72 dpi; in ogni pixel posso avere un colore scelto fra 16 milioni di colori. Stampante a getto d'inchiostro: normalmente 300 dpi; in ogni punto posso miscelare pochi colori (di solito 4: CMY+Black). Supponiamo di avere una immagine di dimensioni originali 1024x768 pixel Se la visualizzo su un monitor a 1024x768 otterrò una visualizzazione full screen (a pieno schermo); se la visualizzo su un monitor a 2048x1536, verrà visualizzata solo su di un quarto dello schermo. Su una stampante 300 dpi otterremo una stampa di dimensioni 3.41x2.56 inch, ovvero 8.66x6.50 cm. Aliasing Un problema derivante dal campionamento di una immagine reale è detto aliasing, la caratteristica seghettatura che compare nel passaggio tra due aree di colore differente, separate da una linea non parallela ai lati delle aree rettangolari di campionamento. L’immagine seguente illustra l’aliasing: una linea retta in diagonale di colore scuro su sfondo chiaro appare “scalettata”, con i pixel visibili. Nell’immagine successiva è mostrata la stessa immagine a seguito di una elaborazione per ridurre l’aliasing.

Come si può notare dalle due immagini seguenti, l’aliasing può provocare distorsioni molto gravi che impediscono la comprensione di parti dell’immagine: nel caso seguente, un poligono diventa una macchia senza una forma precisa:

Page 6: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

6

Quantizzazione cromatica La quantizzazione cromatica consiste nell’assegnare a ciascun pixel uno o più valori numerici che ne definiscono il colore. Si assegna innanzi tutto un codice differente ad ogni colore: più la quantizzazione cromatica è dettagliata e raffinata, più la tavolozza di colori (palette) sarà ampia: con una tavolozza di colori più ampia la qualità dell’immagine digitale sarà più elevata in quanto potrò in ogni pixel avvicinarmi maggiornamente al colore medio effettivo dell’immagina originale anaoligica all’interno di quel pixel. A questo proposito si anticipa un argomento che verrà poi approfondito in seguito: la percezione del colore. E’ nota la possibilità di creare una vasta gamma di colori a partire da pochi colori fondamentali. Per gli schermi televisivi, i monitor dei computer, videoproiettori ecc. vengono utilizzati il rosso, il verde e il blu (Red Green Blue - RGB), mentre per la stampa si usano il ciano, il magenta ed il giallo (CMY). Per ogni colore reale si stabilisce quale combinazione di intensità di ciascuno dei colori primari lo approssima meglio. L’intervallo compreso tra la minima e la massima intensità di ogni colore viene suddiviso in un certo numero di livelli; maggiore è tale numero, migliore sarà la precisione con cui il colore è definito. Solitamente per definire la tavolozza di colori si utilizza un numero di livelli che sia una potenza di due (es. 256 livelli per ogni colore primario). Le informazioni corrispondenti ad ogni colore primario prendono il nome di banda; nel caso esposto si parla di 8 bit per banda (28[R]+ 28[G]+ 28[B]), cioè 24 bit per pixel (224≈ 16.000.000 colori). Occorre spesso effettuare compromessi tra qualità dell’immagine e occupazione di memoria, in funzione delle finalità di utilizzo dell’immagine. Ad esempio, se l’immagine è destinata ad essere inserita in una pagina internet, occorre prestare particolare attenzione alle dimensioni, per non penalizzare gli utenti del sito con tempi lunghi di download della pagina dovuti a una immagine di dimensioni troppo grandi. La qualità di una immagine digitale è data dalle caratteristiche di campionamento e di quantizzazione: nella acquisizione, tali caratteristiche sono definite dal sensore della fotocamera (o dello scanner). Campionamento spaziale e quantizzazione cromatica impongono comunque un degrado della qualità: sono il prezzo da pagare per i numerosi vantaggi che offre il digitale. Riassumendo: un'immagine digitalizzata è una matrice di numeri ottenuti dalla scansione di un'immagine analogica (sorgente), utilizzando apparecchiature come ad esempio lo scanner o la fotocamere digitali, che producono direttamente l'immagine digitale dalla scena ripresa. Ogni valore nella matrice rappresenta un pixel (PICture ELement), corrispondente alla intensità luminosa media (il livello di grigio o il colore) di un'areola corrispondente nell'immagine sorgente. I pixel sono

Page 7: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

7

rettangolari e caratterizzati da due dimensioni dX (orizzontale) e dY (verticale), dette passi di campionamento della digitalizzazione, mentre i reciproci (1/dX e 1/dY) vengono detti frequenze di campionamento. L'insieme ordinato dei campioni di un’immagine digitalizzata assume l'aspetto di una matrice o tabella numerica composta da un certo numero di righe (M) e di colonne (N). Ogni campione o elemento di tabella è localizzato tramite i suoi numeri di riga e di colonna, supponendo che il primo pixel in alto a sinistra costituisca l'origine, di coordinate (0,0). Sistema Binario, Bit e Byte Per essere in grado di rispondere alla domanda “quanto spazio occupa un’immagine?”, occorre approfondire la conoscenza del sistema di codifica binaria. Il calcolatore usa il sistema binario per fare calcoli e per codificare informazione. Il sistema binario usa solo due simboli: ø e 1 (ø= falso/spento/no; 1=vero/acceso/si). NOTA: Il sistema binario si riferisce a:

1) aritmetica binaria; 2) sistema di codifica binaria delle informazioni;

in questo contesto stiamo considerando quest’ultimo caso di codifica binaria delle informazioni. bit = unità elementare della informazione. 1 Byte = 8 bit.

Con N bit è possibile codificare 2N diverse informazioni. Esempio: se ho una immagine con 1 bit per pixel (immagine binaria), vorrà dire che a ogni pixel posso assegnare uno tra 21=2 valori diversi (ad esempio bianco o nero: immagini binarie). Con 2 bit per pixel posso avere 22=4 valori diversi: 00, 01, 10, 11. Quindi una immagine con 2 bit per pixel potrà avere al più 4 colori (o livelli di grigio).

Formati delle immagini raster o bitmap La grafica bitmap (o raster) definisce immagini digitali formate da matrici di pixel come abbiamo visto finora: un’immagine bitmap è definita dall’insieme di valori numerici che identificano il colore di ciascuno dei pixel costituenti l’immagine stessa. Il termine raster (dall’inglese trama, reticolo, griglia) ha origine nella tecnologia televisiva analogica, dal termine che indica le righe orizzontali (scan line) dei televisori o dei monitor analogici. Nella grafica raster l'immagine viene vista come una scacchiera o matrice e ad ogni elemento della scacchiera, chiamato pixel, viene associato uno specifico colore. E’ possibile avere diversi tipi di immagini: immagini binarie:

pixel solo bianchi o neri; 1 bit/pixel: 2 valori possibili (0,1)

Page 8: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

8

immagini a livelli di grigio (greyscale): I pixel possono assumere solo valori di grigio. In funzione del numero di livelli di grigio nella tavolozza (palette) dell’immagine, occorrerà di conseguenza definire il numero di bit/pixel. Ad esempio: - Se ho 8 bit/pixel (uno standard diffuso), potrò avere al massimo 28 = 256

diversi livelli di grigio nell’immagine (tavolozza o palette al massimo composta da 256 diversi livelli di grigio).

- 16 bit/pixel consentono di avere una tavolozza composta da 216 livelli di grigio.

Immagini a colori:

immagini truecolor: 24 bit/pixel (RGB, 8 bit per banda), corrisponde a una tavolozza di 224 colori ovvero 16,7 milioni di colori.

Immagini a colori dotate di Color Look-Up Table (LUP):

Spesso per limitare l’occupazione di memoria si utilizza un numero limitato di colori, memorizzando l’immagine solo con 8 o 4 bit (ottenendo una tavolozza di 256 o 16 colori, rispettivamente). In questo caso il formato dell’immagine contiene anche la Look-Up-Table dei colori (detta anche colormap o palette), che definisce quali sono i 256 o i 16 colori presenti nella immagine. Nel pixel viene qundi inserito l’indirizzo della riga della LUP dove è definita la rappresentazione completa (ad es RGB) del colore voluto: questo consente di avere pixel con un numero inferiore di bit nel caso di immagini con ben definite e limitate palette di colori. I formati di immagini GIF, TIF e PNG usano una look-up table con 4 o 8 bit. Una delle più comuni Look up Table è la colormap o palette: una palette descrive 256 colori codificati da 0 a 255: ad ogni elemento della palette corriponde una terna di valori RGB.

Tutti i tipi di immagini visti sinora sono detti immagini raster o bitmap, ovvero immagini formate da matrici di pixel. Ora siamo in grado di rispondere a domande importanti quali ad esempio:

Quanto spazio di memoria occupa un’immagine? Esercizio: data una immagine di dimensione 100 x 100 pixel (ovvero 10.000 pixel) con una tavolozza di 60 livelli di grigio,

1) qual è il minimo numero di bit per pixel per poter rappresentare tutti i livelli di grigio dell’immagine?

Occorre un numero N di bit per pixel tale che 2N sia uguale o superiore a 60. 25=32; 26=64; 64≥60 Quindi: occorrono 6 bit/pixel per una tavolozza di 60 livelli di grigio. Se usassi 5 bit/pixel, avrei una tavolozza pari a 25=32 < 60. Quindi: il minimo

Page 9: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

9

numero di bit/pixel necessario per codificare una immagine con una tavolozza di 60 lilvelli di grigio (o 60 colori) è di 6 bit/pixel.

2) Qual è l’occupazione di memoria per questa immagine? Occorre moltiplicare l’occupazione in bit di ogni pixel per il numero totale di pixel dell’immagine. Nel nostro caso abbiamo: 10.000 pixel x 6 bit/pixel = 60.000 bit di occupazione di memoria della immagine. Riassumendo: - Qual è il numero massimo di colori che posso codificare con N bit? 2N - Quale è il minimo numero di bit che mi occorrono per rappresentare X colori? Occorre un numero N di bit tale che 2N ≥ X - Qual’è l’occupazione di memoria di un’immagine? occupazione di memoria (in bit) = Numero totale di pixel x Numero di bit per pixel - Qual è la minima occupazione di memoria per un pixel di un’immagine? 1 bit per pixel (2 colori solamente, di solito bianco e nero: immagini binarie)

Grafica vettoriale

Le immagini considerate finora sono immagini bitmap o raster: Esistono anche altri tipi di immagini: Immagini vettoriali: definite da caratteristiche geometriche (punti, segmenti, rettangoli, poligoni, poliedri, ...) Immagini miste: bitmap + vettoriale Nella grafica vettoriale un'immagine è descritta mediante un insieme di primitive geometriche che definiscono punti, linee, curve e poligoni, ai quali possono essere attribuiti colori e anche sfumature. È radicalmente diversa dalla grafica raster in quanto nella grafica raster le immagini vengono descritte come una griglia di pixel opportunamente colorati. Principali vantaggi della grafica vettoriale rispetto alla grafica raster: possibilità di esprimere i dati in una forma direttamente comprensibile ad un

essere umano (ad esempio, lo standard SVG);

possibilità di esprimere i dati in un formato che occupa di solito molto meno spazio rispetto all'equivalente raster;

possibilità di ingrandire l'immagine arbitrariamente, senza che si verifichi una perdita di risoluzione dell'immagine stessa.

Il primo punto si traduce nella possibilità, per una persona, di intervenire direttamente sull'immagine anche senza fare uso di programmi di grafica o addirittura senza conoscenze approfondite in merito. Ad esempio, per modificare una immagine vettoriale codificata in formato SVG, è sufficiente aprire il file SVG con

Page 10: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

10

un editor di testo (il formato SVG è una descrizione testuale della immagine) e modificare le stringhe lette nel file che rappresentano linee, poligoni, curve ecc.

Tale sistema di descrizione delle informazioni grafiche presenta inoltre l'indubbio vantaggio di una maggiore compressione dei dati: in pratica una immagine vettoriale occuperà molto meno spazio rispetto ad una corrispondente raster, con una riduzione dell'occupazione di memoria (sia memoria centrale che memoria di massa), in particolare se l’immagine è composta da forme geometriche e riempimenti a tinta piatta (costante). Risulta inoltre più facile da gestire e da modificare, essendo minore la quantità di dati coinvolti in ogni singola operazione di aggiornamento. Questo rende la grafica vettoriale particolarmente adatta per gestire grandi quantità di dati come quelli cartografici, che sono infatti tipicamente gestiti in modalità vettoriale. Infine, l'ingrandimento o la riduzione delle misure e proporzioni di un soggetto in grafica vettoriale non incide in maniera significativa sul peso (occupazione) dell'immagine stessa, e il riempimento di forme con tinte piatte è generato da semplici funzioni matematiche e risulta quindi estremamente leggero in termini di memoria utilizzata.

La grafica vettoriale, essendo definita attraverso equazioni matematiche, è indipendente dalla risoluzione, mentre la grafica raster, se viene ingrandita oltre certi limiti porta all’ingrandimento dei pixel fino a renderli visibili singolarmente. Una linea che percorre lo schermo trasversalmente, se viene rappresentata utilizzando la grafica raster, viene memorizzata come una sequenza di pixel colorati disposti a formare la linea. Se si provasse ad ingrandire una sezione della linea si vedrebbero i singoli pixel che compongono la linea (mostrando una linea “scalettata”). La medesima linea in grafica vettoriale è codificata come una equazione di una retta che parte da un punto identificato con delle coordinate iniziali e termina in un altro punto definito con delle coordinate finali: ingrandire una sezione della linea non produce artefatti visivi o la visualizzazione dei singoli pixel componenti l'immagine, dato che la linea sarebbe ricalcolata dal processore grafico e visualizzata sempre con la massima risoluzione consentita dal monitor.

Il principale svantaggio della grafica vettoriale rispetto alla grafica raster è che la realizzazione di immagini vettoriali non è una attività intuitiva come nel caso delle immagini raster. I programmi vettoriali dispongono di molti strumenti che, per essere sfruttati pienamente, richiedono conoscenza specialistica. Un altro difetto è legato alle risorse richieste per trattare le immagini vettoriali: una immagine vettoriale molto complessa può richiedere l'impiego di un computer molto potente per essere elaborata (calcolare la sua visualizzazione in termini di pixel a video), inoltre le risorse richieste per trattare l'immagine non sono definibili a priori e quindi ci si potrebbe trovare in alcuni casi nell'impossibilità di elaborare un'immagine per la mancanza di risorse (memoria, velocità della CPU) sufficienti. Nel caso di una

Page 11: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

11

immagine raster, invece, una volta definita la risoluzione ed il numero di colori, è abbastanza semplice definire le risorse massime necessarie per trattare l'immagine stessa. Al contrario di quanto accade con le tinte piatte, i riempimenti sfumati o complessi generati in vettoriale comportano un alto impiego di risorse. La grafica vettoriale ha un notevole utilizzo nell'editoria, nell'architettura (applicazioni CAD - Computer Aided Design), nell'ingegneria e nella grafica realizzata al computer, nei videogiochi, in installazioni interattive artistiche e museali, e in applicazioni in cui gli utenti esplorano e si muovono all’interno di ambienti virtuali (virtual environment) o di realtà aumentata (augmented reality). Tutti i programmi di grafica tridimensionale salvano i lavori definendo gli oggetti come aggregati di funzioni primitive matematiche (rette, curve ecc). Nei personal computer un uso evidente è la definizione dei font: quasi tutti i font vengono realizzati in modo vettoriale, per consentire all'utente di variare la dimensione dei caratteri senza perdita di definizione.

Formati per immagini bitmap Quando dobbiamo memorizzare su memoria di massa (ad es su disco) un’immagine, sorge il problema di come registrare i dati che la descrivono, cioè di quale formato usare. Ciascun formato definisce uno standard nel quale vengono indicate quali sono le informazioni necessarie e in che modo vanno immagazzinate nel file dell’immagine, insieme ai valori dei pixel. Raw Format La rappresentazione più semplice è l’elencazione dei valori numerici che identificano ciascun pixel. Il risultato è un file che permette di ricostruire l’immagine iniziale. Tuttavia vi sono alcuni problemi che rendono il raw format un modo poco efficiente di descrivere un’immagine. Il primo problema deriva dal fatto che chi legge l’immagine deve almeno conoscere le dimensioni in pixel della stessa immagine, quanti bit per pixel sono stati utilizzati e cosa rappresenta un pixel. Il secondo problema è la ridondanza: l’elencazione di tutti i valori numerici dei pixel comporta spesso ripetizioni inutili di dati (ad esempio sequenze anche lunghe di pixel tutti con lo stesso colore).

Compressione e metodi di compressione Senza compressione, il numero dei pixel memorizzati è esattamente M x N e l’occupazione di memoria è M x N x Dimensione del pixel (in bit). Effettuando la compressione, la quantità di valori memorizzati è inferiore, con un risparmio proporzionale al grado di compressione Y = byte originali / byte dopo la compressione.

Page 12: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

12

In elettronica, informatica e telecomunicazioni la compressione dell'immagine è il nome generico sotto il quale si raggruppano gli algoritmi e le tecniche, appartenenti alle tecniche di compressione dati, che si utilizzano per ridurre la dimensione delle immagini digitali. Algoritmi di compressione riducono la quantità di dati necessari per memorizzare una immagine. Si distinguono due famiglie di tecniche di compressione di immagini: - metodi di compressione con perdita di informazione (lossy); - metodi di compressione senza perdita di informazione o conservativi (lossless); Esistono molte tecniche di compressione per entrambe le famiglie lossy e lossless. Per ricostruire l’immagine non compressa a partire dal file compresso il computer impiegherà tempo di calcolo, così come per il procedimento di compressione. Con i metodi lossless si ottengono in genere livelli di compressione (rapporto tra la grandezza del file originale e la grandezza del file compresso) inferiori rispetto ai metodi lossy. Tuttavia i metodi lossless consentono un’assoluta fedeltà di riproduzione: decomprimendo un file compresso con un metodo lossless riottengo esattamente il file originale dell’immagine non compressa. Con i metodi lossy, quando decomprimiamo il file compresso, non si ottiene invece l’originale, in quanto vi sono informazioni perse che non possono essere più recuperate; per contro, i rapporti di compressione sono di solito molto più elevati. I metodi di compressione numerica senza perdita di informazioni sono strettamente legati al concetto di entropia, che si può definire come la misura del disordine presente in un sistema. Un’immagine molto uniforme è “ordinata”, è dunque a bassa entropia e saranno sufficienti pochi numeri per descriverla; un’immagine complessa è “disordinata”, ad alta entropia e necessiterà di molti numeri in più per essere descritta. Metodo Run Lenght Encoding (RLE) E’ un metodo di compressione lossless. Sostituisce a sequenze di pixel identici l’indicazione del numero di volte che tale pixel si ripete, seguita dal valore del pixel stesso. Invece di avere tanti pixel tutti identici, memorizzo il loro numero e il loro valore. In questo modo, per certe tipologie di immagini (ad esempio geometriche, con parti caratterizzate da colore costante, ovvero “ordinate”, a bassa entropia) si possono ottenere valori di compressione molto elevati. Non funziona bene in genere con immagini fotografiche (ad alta entropia), in quanto sono in genere rare sequenze di pixel identici in immagini reali: in questi casi, una codifica con RLE può portare a una immagine che occupa ancora più memoria! E’ estremamente valido quindi nelle immagini a basso livello di entropia (ad esempio immagini geometriche, schemi e diagrammi), ma poco utile ad esempio in fotografie.

Page 13: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

13

Metodo Lempel – Ziv – Welch (LZW) E’ un metodo di compressione lossless, usato nei formati GIF e TIFF. Si basa sulla costituzione di un dizionario contenente sequenze numeriche di pixel di varia lunghezza, ricorrenti nei dati da comprimere. Ogni volta che una sequenza già presente nel dizionario viene incontrata, essa viene rimpiazzata con il codice corrispondente. Quando si presenta una nuova sequenza, essa viene aggiunta al dizionario. Joint Photographic Experts Group (JPEG) E’ un metodo di compressione lossy, basato su studi di psicofisica della visione: vengono perse informazioni a cui l’occhio è meno sensibile. La compressione JPEG permette all’operatore di regolare l’entità della perdita di informazioni; tanto minore sarà la perdita, tanto minore sarà la compressione e viceversa. JPEG si basa sulla psicofisica della visione e in particolare sui seguenti fatti: - l’occhio umano è poco sensibile alle alte frequenze spaziali; - l’occhio umano risponde con diversa sensibilità alle componenti cromatiche; - l’occhio umano è più sensibile alle variazioni di luminosità che a quelle di colore: JPEG è particolarmente indicato per immagini di tipo fotografico (a colori 24 bit/pixel o greyscale), che contengono scene reali, senza le variazioni brusche di intensità e colore caratteristiche artificiali (come i disegni, in cui sono presenti contorni molto netti fra zone differenti). JPEG è molto utilizzato per le immagini destinate al web, data la elevata capacità di compressione. Bisogna tenere presente comunque che il JPEG porta distorsioni, sfumature che “deformano” e “sfocano” l’immagine rispetto all’originale. Il procedimento di compressione JPEG: Una immagine a 24 bit/pixel di tipo RGB viene dapprima convertita in uno spazio colore in cui le componenti di luminanza e crominanza sono separate: a questo punto, sfruttando il fatto che l’occhio umano è più sensibile alle variazioni di luminosità che a quelle cromatiche, la risoluzione di quest’ultime viene ridotta, sostituendo a gruppi di pixel la loro media (questa operazione può essere condotta orizzontalmente, verticalmente oppure in entrambe le direzioni). I valori risultanti per ogni componente vengono raggruppati in blocchi di 8x8 pixel, ciascuno dei quali viene sottoposto a particolari trasformazioni che uniformano i colori nell’immagine (sfruttando la minore sensibilità dell’occhio a variazioni di colore): a questo punto, l’immagine ottenuta viene ulteriormente compressa usando RLE (lossless).

Page 14: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

14

Immagine compressa con JPEG, con qualità 10%, occupazione di memoria 3,2Kb

Immagine compressa con JPEG, con qualità 50%, occupazione di memoria 6,7Kb

Immagine compressa con JPEG, con qualità 90%, occupazione di memoria 30,2Kb

Immagine compressa con JPEG, con qualità 100%, occupazione di memoria 87,7Kb

Page 15: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

15

Come si può notare nelle immagini precedenti, il miglior rapporto qualità/dimensione si ha con valore intorno al 90%. È inoltre immediatamente osservabile come, all'aumentare del livello di compressione, compaiano artefatti sempre più visivamente evidenti: tra questi il più tipico per il formato JPEG è la quadrettatura o "blocking"; oltre ad esso si verificano fenomeni di "ringing" (fenomeno di Gibbs) e "blurring" o "blur" (sfocatura). La codifica JPEG è stata negli anni migliorata: si veda il sito http://www.jpeg.org/ Formati dei file Ad ogni formato di file e a ogni metodo di compressione usato per le immagini, corrisponde un'estensione diversa del nome del file. Alcuni esempi di formati supportati dai principali programmi di elaborazione di immagini: BMP (BitMaP), GIF (Graphics Interchange Format), JPEG, PNG (Portable Network Graphic), TIFF (Tag Image File Format), RAW format (semplice memorizzazione della matrice dei pixel riga per riga senza alcuna compressione).

Page 16: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

16

Cenni sulla Percezione Abbiamo visto come JPEG sfrutta le catratteristiche psicofisiche dell’occhio. In questo capitolo analizziamo brevemente il sistema percettivo umano. Solitamente si considerano i sensi come separati uno dall’altro: vista, udito, tatto, …. Come il cervello umano elabora i segnali acquisiti dal mondo esterno attraverso i sensi? Quanti sono i sensi? Si parla di multimodalità per esprimere la confluenza di più canali percettivi: l’essere umano, per sua natura, è multimodale. I diversi canali sensoriali (udito, visione, tatto, olfatto…) vengono percepiti ed elaborati dal cervello in modo sinergico, integrato, non sono elaborati separatamente.

• Perception is the process of attaining awareness or understanding of sensory information.

• That is, the process of transforming sensorial information to higher-level representations which can be used in associative processes (memory access) and cognitive processes such as reasoning.

• Perception is one of the oldest fields in psychology:

– the Weber–Fechner law (19th century) on the logarithmic relationship between physical magnitudes of stimuli and perceived intensity

• What one perceives is a result of interplays between past experiences, including culture, and the interpretation of the perceived.

• If the percept does not have support in any of these perceptual bases it is unlikely to rise above perceptual thresholds.

Sensory Modalities:

• Law of specific nerve energies: we are aware not of objects themselves but of signals about them transmitted through our nerves, and that there are different kinds of nerves, each nerve having its own “specific nerve energy” (Muller, 1830). This is of course not true according to more recent scientific discoveries.

• Muller adopted the five primary senses that Aristotle had recognized: seeing, hearing, touch, smell, taste.

• The specific nerve energy represented the sensory modality that each type of nerve transmitted.

• Sensory modality: the sensory channel through which information is perceived; it refers to the type of communication channel used for transferring or acquiring information.

• There are specific receptor cells, tuned to be sensitive to different forms of physical energy in the environment

Page 17: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

17

• Mode: a state determining how information is interpreted to extract or transfer its meaning.

• Multimodal refers to both sensory modality and mode. A multimodal system is a computer systems (i) capable to collect and integrate information from different sensory modalities considered as a whole, and (ii) to interpret such information to extract meaning.

How many sensory channels ? An overview of the human input channels at the neurophysiological level

• The different sensory modalities are not processed in isolation. • Multimodal areas exist in cortical and sub-cortical areas in the brain. • The integration of the different channels is essential, among other things, for

allowing the brain to reconstruct internal body models and internal representations.

Page 18: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

18

Terminology: Multimedia Vs Multimodal: • Medium = information carrier (e.g.,: press, video, audio, graphic video

terminals, e-mails, ...) • Multimedia system: a system that can gather information from and produce

information in more than one medium. • Codes (encoding) = conventions used for representing information • E.g., medium press may contain codes such as pictures, diagrams, text. • Multimedia systems and multimodal systems make use of many media and

many communication channels. • Moreover, a multimodal system aims at modeling information content and

meaning: • A multimodal system aims at understanding and processing the underlying

meaning of information. • A multimedia system only focuses on the medium, i.e., on the technology

rather than on the human. Sensory Modalities:

• Major modalities for human-computer interaction: – Vision – Hearing – Somatic senses

• Some of the sensory modalities do not have a cortical representation (sense of balance, chemical senses) or just have a very reduced one (taste) and do not give origin to “conscious perception”: thus we cannot speak, for them, of “perceptual channels”.

In the following sections we examine in detail vision.

Visione Analizziamo ora alcune nozioni introduttiove sulla percezione visiva e sulla psicofisica della visione. Successivamente tratteremo brevemente la percezione uditiva (hearing, auditory perception) e la percezione tattile (sense of touch, haptic) e la loro integrazione multimodale.

Il colore La percezione del colore rappresenta uno dei campi più affascinanti della psicofisica della visione. Il colore ha un ruolo determinante nella comunicazione, ad esempio nella pubblicità: occorre la consapevolezza del fatto che il colore è uno strumento linguistico ed emozionale molto forte, in grado di influire sulla percezione anche in modo inconscio o semiconscio. I primi film agli esordi del cinema usavano tecniche di colorizzazione della pellicola in bianco e nero (imbibizione e viraggio), per ottenere effetti emotivi di grande

Page 19: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

19

efficacia. Non si colorava la pellicola per simulare il colore del mondo reale, ma per comunicare emozioni! La colorazione poteva avvenire tramite due differenti processi: imbibizione e viraggio. Nell' operazione di imbibizione la pellicola prendeva la colorazione omogeneamente (come se venisse proiettata da una luce colorata). Il viraggio è invece un procedimento chimico che consentiva di colorare solo le parti scure (le parti chiare rimangono bianche). E’ interessante notare come queste tecniche di colorizzazione agli esordi del cinema venissero utilizzate non per ottenere una colorazione realistica delle immagini, ma per ottenere una resa emozionale, ad esempio esaltando un colore in particolare: ad esempio esaltare il rosso vuol dire accrescere la tensione, come ad esempio nel film “Il fantasma dell’opera”. Anche in film recenti l’uso del colore (viraggio) assume una grande importanza per la comunicazione emozionale: si veda ad esempio i diversi viraggi utilizzati in “Traffic” (giallo ocra – scena deserto; blu – scena del processo; true color – scene di transizione o di preparazione). Il colore ha pertanto una importanza fondamentale nella comunicazione, ed influenza in modo esplicito e implicito (parzialmente o totalmente non cosciente) l’osservatore. Il colore attira l’attenzione, cattura l’occhio, ma può anche “offendere”, stancare l’occhio e creare situazioni di stress: l’uso del colore nelle pagine web o in presentazioni Powerpoint va considerato con molta attenzione. La percezione del colore Il primo tentativo di spiegazione scientifica della percezione dei colori fu proposto da Newton: la luce bianca, attraversando un prisma di vetro, viene decomposta in uno spettro di luci colorate. Un oggetto illuminato assorbe solo determinate componenti cromatiche, riflettendo le altre, le quali, raggiungendo l’occhio umano, generano la sensazione di colore. Un oggetto appare dunque del colore corrispondente alla frequenza riflessa. In realtà la teoria newtoniana non spiega fino in fondo le origini del colore: ad esempio non riesce a spiegare come si originino dei colori come il marrone. Distinguiamo tra il caso in cui si sommino luci e quello in cui si mescolino pigmenti colorati. Nel primo caso si parla di sintesi additiva, mentre nel secondo caso di sintesi sottrattiva (essendo i pigmenti sostanze assorbenti, il numero delle componenti cromatiche che l’occhio percepisce diminuisce). Il sistema RGB è stato scoperto empiricamente: sono i cosiddetti colori primari. Nella sintesi sottrattiva i colori sono i complementari dei colori RGB, ovvero CMY (ciano, magenta, giallo), definendo come colore complementare il colore che si ottiene sottraendo alla luce bianca il colore dato; si è constatato che il ciano è complementare del rosso, il magenta lo è del verde ed il giallo del blu.

Page 20: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

20

La somma di tutte le componenti additive genera il bianco, mentre la somma di quelle sottrattive produce il nero. La luce è un’onda elettromagnetica; le onde elettromagnetiche possono essere rappresentate: - come onde; - come fasci di particelle (fotoni) prive di massa e aventi un’energia inversamente proporzionale alla lunghezza d’onda. Frequenza= 1/ lunghezza d’onda Da un punto di vista prettamente fisico, luce e onde radio sono la stessa cosa: il parametro che varia è la lunghezza d’onda. Da un punto di vista psicofisico le due onde sono diverse. Anche il suono è una onda elettromagnetica in un campo di frequenze a cui è sensibile l’orecchio e tutto il corpo (cavità della testa, pelle, cassa toracica ad esempio nel caso di suoni bassi ad elevato volume ecc.). Onde elettromagnetiche nel campo visivo: solo quelle aventi una lunghezza d’onda compresa fra i 380 e i 770 nm (nanometri) vengono percepite, mentre quelle minori di 380 nm (raggi uv, x, gamma) o quelle maggiori di 770 nm (infrarossi, microonde, radioonde) non rientrano nel visibile.

Si noti come, al netto della resa qualitativa del video o della stampa di questo documento, la percezione della variazione di colore cambia molto in funzione della frequenza: nel campo del rosso non si apprezzano le variazioni come ad esempio nelle zone verde/blu/indaco. La ragione fisiologica della percezione del colore è da ricercarsi nella distribuzione e nelle proprietà spettrali delle cellule recettori della retina: i “sensori” dell’occhio. Nella retina sono presenti due tipi di cellule recettore: i coni (distribuiti soprattutto al centro, in zona fovea), responsabili della visione diurna e i bastoncelli (distribuiti maggiormente nella periferia della retina, capaci di lavorare anche a bassa intensità luminose, nella penombra – visione scotopica), responsabili della visione notturna, meno raffinati in fatto di risoluzione spaziale.

Page 21: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

21

I bastoncelli sono tutti equivalenti tra loro, mentre i coni si dividono in tre diversi tipi. Dal punto di vista molecolare la visione consiste nell’assorbimento da parte di una particolare proteina (opsina), del fotone luminoso incidente. Dove il pigmento non assorbe, il fotone non viene rilevato. E’ importante ricordare che se i ricettori fossero tutti uguali (come nel caso dei bastoncelli), non vi potrebbe essere la sensazione cromatica. Nell’essere umano, invece, i coni sono di tre tipi, ognuno con una sensibilità ad un singolo canale R, G e B. Dunque percepiamo il colore perché abbiamo tre tipi di cellule recettore, ciascuna atta a ricevere una diversa frequenza. I bastoncelli sono insensibili al colore, e ciò spiega come mai quando l’illuminazione è scarsa gli oggetti appaiono tutti più o meno grigi anche se sono di diverso colore. I coni si dividono in tre diversi tipi, ciascuno responsabile della percezione di uno dei tre colori fondamentali, e cioè del BLU, del VERDE e del ROSSO. Nella figura seguente sono riportati i grafici di sensibilità dei tre tipi di coni al variare della lunghezza d’onda

Curve di assorbimento della luce da parte dei tre tipi di coni (individuate sperimentalmente)

Tuttavia la sensazione di colore non si spiega completamente in base alla percentuale di stimolazione di ciascun tipo di cono: sono determinanti anche altri parametri come brillantezza (intensità della luce), saturazione (rapporto tra colore puro e luce bianca espresso in percentuale) e tinta (colore vero e proprio, cioè il nome con cui identifichiamo il colore in questione).

Page 22: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

22

Spazi colore

Il termine “spazi” è giustificato dal fatto che ogni sistema di rappresentazione dei colori si basa su variabili numeriche che possono essere rappresentate su assi cartesiani, e che quindi, variando nell’intervallo, descrivono degli spazi geometrici. Gli spazi colore si suddividono in due gruppi: spazi relativi (device dependent) e spazi assoluti (device independent). Nei primi la rappresentazione del colore dipende dal dispositivo utilizzato, mentre i secondi forniscono una rappresentazione del colore indipendentemente dal dispositivo utilizzato. Spazio colore tricromico RGB

Ogni pixel contiene tre valori (R,G e B) che vengono sommati per ottenere il colore voluto. Nella figura precedente, la prima immagine a sinistra si ottiene sommando le tre immagini successive R, G e B. Dal punto di vista matematico, lo spazio colore RGB è uno spazio tridimensionale in cui ciascuna variabile R,G e B può variare tra ø (assenza) e 1 (punto di massima intensità). Lungo la diagonale principale del cubo (linea tratteggiata in figura) c’è la scala dei grigi.

Il sistema tricromico RGB è un buon modello per la sintesi additiva dei colori, e viene impiegato in tutti i dispositivi di output a colori in cui si sommano luci (schermi,

Page 23: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

23

proiettori, etc.). Nella stampa, invece, vale la sintesi sottrattiva, per cui si utilizza uno spazio di colore denominato CMY, da Cyan (ciano), Magenta e Yellow (giallo), ottenibile dalla figura precedente portando l’origine delle coordinate sul bianco e posizionando gli assi sui tre colori CMY. Sebbene il nero possa essere ottenuto come somma di ciano, magenta e giallo in proporzioni identiche, risulta troppo dispendioso utilizzare nelle stampanti i tre inchiostri insieme, per cui di fatto in molti casi si usa il sistema quadricromico CMYK, dove la lettera K indica il nero. Data la difficoltà di prevedere il risultato di una combinazione RGB o CMY, in informatica è utilizzato anche lo spazio di colore HS*, dove H sta per Hue (tinta o tonalità), S sta per Saturation (saturazione), e * sta per Lightness (luminosità) o Value (valore); per saturazione si intende la purezza del colore (diminuire la saturazione corrisponde ad aggiungere bianco al colore). I sistemi HS* e RGB sono utilizzati nelle finestre di selezione colore di Windows (vedi figura seguente) e sono equivalenti: posso passare dalla rappresentazione di un colore da HS* a RGB e viceversa mediante semplici operazioni matematiche.

RGB è il sistema tricromico più famoso: è un sistema additivo, perché le regole di composizione dei colori di base ricalcano le composizioni di luci e si ispira alle caratteristiche della retina umana.

Page 24: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

24

Spazio colore tricromico CMY E’ il sistema tricromico più usato per la stampa (sintesi sottrattiva); di fatto, però, nella stampa, si usa un sistema quadricromico (CMYK), dove la lettera K indica il nero. Risulterebbe infatti troppo dispendioso impiegare i tre inchiostri insieme per ottenere il colore nero. Tradurre un’immagine su video RGB in una su carta CMY è un’operazione non del tutto banale. E’ possibile passare dal sistema RGB a CMY e viceversa senza perdere informazione con semplici operazioni matematiche. Spazi colore HS* Con i sistemi RGB e CMY risulta difficile prevedere in modo intuitivo quale colore corrisponda a una particolare terna di valori. E’ utile invece poter usufruire di uno spazio cromatico che sia strettamente correlato con le proprietà psicofisiche del colore che si vuole rappresentare. In questi sistemi H sta per Hue (tinta), S sta per Saturation (saturazione), mentre il terzo parametro indica l’intensità (V=Value, I=Intensity, L=Lightness). Il concetto è il medesimo, ma muta la loro espressione matematica. Bisogna tenere presente che aumentando l’intensità aumenta la luminosità del colore; aumentando la saturazione aumenta l’effetto “colore pieno”, mentre variando la tinta ci si muove con continuità nello spettro cromatico.

Page 25: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

25

Spazi colore assoluti: lo Standard CIE La Commission Internationale de l’Eclairage (CIE) nel 1931 ha proposto un sistema di rappresentazione dei colori tricromico che tiene conto delle proprietà del sistema visivo umano. E’ quindi uno spazio assoluto, che definisce il colore in modo indipendente dal dispositivo che lo riproduce. Vengono definiti i valori tristimolo X, Y, Z, legati alle proprietà spettrali dei coni. In funzione di questi valori vengono poi definite le coordinate di cromaticità x, y, z in questo modo: x= X/(X+Y+Z) y=Y/(X+Y+Z) z=Z/(X+Y+Z) con x+y+z=1 Spesso il sistema CIE viene rappresentato come un diagramma cromatico bidimensionale, nel quale z si deduce per sottrazione da 1: z= 1 – (x + y) Questo tipo di diagramma rappresenta tutti i colori che l’uomo percepisce. La frontiera dello spazio colorato è costituita da una curva particolare, che ricorda una specie di U rovesciata, detta luogo dello spettro e dalla linea porpora - vedi figura:

Page 26: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

26

Colori e dispositivi di output

Mezzi toni (half toning) Nella stampa non a colori, alcune stampanti hanno la possibilità di scrivere solo pixel binari (bianchi o neri). Come si possono ottenere i livelli di grigio? Ciò si ottiene traducendo la risoluzione cromatica in risoluzione spaziale e sfruttando le proprietà di integrazione (ovvero di media) effettuate dall’occhio umano: se i pixel sono molto piccoli, l’occhio non li distinguerà singolarmente, ma considererà più scure le zone con elevata densità di punti neri e viceversa più chiare quelle con bassa densità di pixel neri. Questa operazione deve essere compiuta con attenzione (ovvero rendendo casuali le distribuzioni dei punti bianchi e neri), per evitare che si formino sul disegno delle texture indesiderate. Questa tecnica viene definita Half Toning o Clustered Dot – Order. Esempio:

Diffusione lineare E’ un’estensione della tecnica di half toning, in quanto può essere applicata sia a immagini grayscale che a immagini a colori. Algoritmo della diffusione lineare: viene scansionata ogni linea dell’immagine dal primo all’ultimo pixel; per ogni linea, si calcola la somma dei valori dei pixel precedenti fino al pixel attuale: se tale somma supera un valore di soglia predefinito, si stampa un pixel bianco e si riduce la somma dei valori dei pixel precedenti

Page 27: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

27

dell’ammontare della soglia. Se la somma non supera il valore, si stampa un pixel nero. Si prosegue quindi con il pixel successivo, sommando il nuovo valore del pixel confrontando nuovamente con la soglia. Per evitare effetti simili a texture, di solito si somma all’immagine un insieme di pixel casuali con media uguale a zero, per non alterare la luminosità. Occorre scegliere la soglia in modo oculato, in quanto se si sceglie un valore troppo alto, le immagini scure verranno stampate nere e viceversa se il valore scelto è troppo basso vengono stampate bianche. Il valore di soglia deve essere scelto sulla base delle caratteristiche dell’istogramma dei livelli di grigio. Dithering e diffusione dell’errore Tutti i display hardware, comprese le vecchie schede video dei primi computer o i moderni schermi LCD fino alle fotocamere digitali, e le stampanti (specialmente quelle economiche) sono in grado di mostrare un limitato numero di colori rispetto alle periferiche più avanzate. Uno degli usi del dithering permette di mostrare immagini di qualità su schermi che non lo sono. Ad esempio, possiamo visualizzare immagini in truecolor su schermi in grado di mostrare solo 256 colori alla volta. I colori disponibili verranno usati per generare una "approssimazione" dell'immagine originale. Il dithering sfrutta i vantaggi dell'occhio umano, che tende a miscelare due colori se sono posti troppo vicini (acutezza visiva). Questo uso del dithering, in cui gli schermi dei computer sono la principale limitazione, viene fatto nel campo del software come ad esempio i web browser. Dal momento che il browser raccoglie immagini da fonti esterne, può essere necessario operare il dithering su quelle troppo "profonde". A causa di questo problema, venne definita una tavolozza standard chiamata Web-safe palette, che raggruppa i colori visualizzabili su tutti gli schermi, a prescindere dal sistema operativo o dal browser utilizzati. In questo modo si è in grado di rappresentare (far percepire) più colori di quanti il dispositivo non permetterebbe. L’esempio seguente mostra un esempio di applicazione a una immagine reale.

Fotografia originale, caratterizzata da un elevato numero di sfumature di colore (si veda ad esempio il dettaglio evidenziato).

Page 28: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

28

Immagine originale a cui è stata applicata una tavolozza limitata (web-safe color palette) senza l'applicazione del dithering. Notare le ampie aree con colore uniforme, la perdita di dettagli e l’emergere di linee e contorni inesistenti nella realtà (ad esempio sul collo del gatto). Immagine originale con web-safe color palette e l'applicazione di un algoritmo di dithering e error diffusion. Anche se usiamo la stessa tavolozza di colori, l'applicazione del dithering e della diffusione dell’errore genera un'immagine dal punto di vista percettivo più simile all'originale, senza false linee e falsi contori.

Elaborazione delle immagini Uno dei vantaggi principali di avere immagini digitalizzate è la enorme flessibilità e facilità nel poterle elaborare. Elaborare un’immagine significa operare sull’informazione contenuta nei singoli pixel, applicare procedure per modificare i pixel per produrre una nuova immagine, i pixel della quale siano ottenuti trasformando i corrispondenti pixel dell’immagine originaria secondo una fissata regola di trasformazione. I principali obiettivi della elaborazione di immagini sono i seguenti:

1. Eliminare disturbi (Image restoration); 2. Esaltare particolari (Image enhancement); 3. Estrarre informazioni (Image analysis);

Elaborare le immagini significa manipolare l’informazione in esse contenuta. Nelle immagini abbiamo due tipi di informazione: - il valore del pixel; - la posizione del pixel nell’immagine;

Page 29: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

29

Esistono in generale tre diverse famiglie di elaborazioni: 1. Elaborazioni puntuali: il valore di un pixel viene modificato utilizzando solo

l’informazione presente nel pixel stesso; 2. Elaborazioni locali: si tiene conto anche dei pixel circostanti; 3. Elaborazioni globali: si tiene conto di tutta l’immagine;

Elaborazioni puntuali Classico esempio di elaborazione puntuale è dato dalla sostituzione di un valore di grigio con un altro. Ad esempio, consideriamo una immagine ecografica medica: un organo interno potrebbe essere caratterizzato da uno specifico livello di grigio nell’immagine ecografica. Potremmo quindi voler sostituire tutti i pixel con quel determinato valore di grigio con un altro colore molto differente dai grigi circostanti in modo da evidenziare l’organo interno su cui si vuole indagare. Definiamo p(m,n) il valore del pixel alla riga m e colonna n dell’immagine originaria e P(m,n) il valore del medesimo pixel nell’immagine elaborata. Chiediamo la sostituzione di tutti i pixel che valgono K con il valore K’. p(m,n) se p(m,n)≠K P(m,n)= K’ se p(m,n)=K

Spiegazione della formula a parole: il valore del pixel nell’immagine elaborata rimarrà p(m,n) se il valore è diverso da K; diverrà K’ se il valore coinciderà con K.Altro esempio di elaborazione puntuale è l’operazione di sogliatura (threshold):

p(m,n) se p(m,n)≥K P(m,n)= K’ se p(m,n)<K

Elaborazioni locali Nelle elaborazioni locali, per effettuare la trasformazione, vengono presi in considerazione anche i valori dei pixel vicini al pixel in esame. L’insieme dei pixel vicini a p(m,n), viene detto intorno di p. Esempio di elaborazione locale è dato dal filtro di media condotto su un intorno 3x3 centrato nel pixel da elaborare: sostituisco al valore del pixel la media di tutti i pixel che lo circondano. Introducendo il concetto di “filtraggio” si può dire che questo stia ad indicare una manipolazione in generale. Ai fini pratici dell’esempio di filtro di media, consideriamo l’intorno di lato 3 del pixel p(m,n):

p(m-1,n-1) p(m,n-1) p(m+1,n-1) p(m-1,n) p(m,n) p(m+1,n)

p(m-1,n+1) p(m,n+1) p(m+1,n+1)

Page 30: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

30

m+1 n+1

P(m,n)= 1/9 ∑ ∑ p(i,j) i=m-1 j= n-1

In questo modo si sommano tutti gli elementi dell’intorno del pixel e poi si divide per 9 (numero dei valori considerati), per conoscere la media dell’intorno di p(m,n). Nel pixel P(m,n) abbiamo quindi semplicemente la media dei valori dei pixel degli 8 pixel che lo circondano e di se stesso: somma nove valori dei colori dei pixel circostanti e divide per 9. Elaborazioni globali Con le elaborazioni globali il valore assunto da un pixel dipende da tutti i pixel dell’immagine (il valore di ogni pixel elaborato dipende globalmente da tutta l’immagine): ad esempio, per migliorare una foto se sovraesposta o sottoesposta calcolo quanto sommare o sottrarre al valore di grigio di ciascun pixel sulla base della sovra o sottoesposizione complettiva della immagine. Un altro esempio è la determinazione della media del valore di grigio in una immagine seguita dalla successiva somma o sottrazione di questo valore a ciascun pixel della immagine. La trasformazione su ogni pixel dipende quindi dalla informazione acquisita da tutta l’immagine. Elaborazioni globali tipiche sono basate sugli istogrammi dei livelli di grigio dell’immagine. L’istogramma è una rappresentazione grafica della quantità di pixel presenti nell’immagine per ciascun livello di grigio. L’asse orizzontale X rappresenta i valori dei grigi, dal bianco al nero. L’asse verticale Y rappresenta il numero di pixel per ogni livello. L’istogramma fornisce una raffigurazione sintetica delle caratteristiche di luminosità dell’immagine, trascurando però ogni informazione relativa alla posizione dei singoli pixel. Più immagini possono quindi essere caratterizzate dallo stesso istogramma. Esempio di utilizzo di modifica dell’istogramma dei valori di grigio allo scopo di migliorare la qualità dell’immagine: nella prima immagine mostrata di seguito abbiamo tutti i livelli di grigio concentrati tra i valori 100 e 200, che corrisponde a una immagine poco contrastata, uniforme. Nel secondo caso i valori dei pixel sono stati normalizzati in tutta la gamma di valori di grigi (tra 0 e 255 nel caso di pixel a 8bit), ottenendo così una immagine maggiormente contrastata, in quanto la trasformazione fa corrispondere i livelli di grigio della prima immagine (tra 100 e 200 circa) alla intera gamma tra 0 e 255: questo produce una immagine caratterizzata da una più netta separazione tra i diversi livelli di grigio, come appare nella seconda figura riportata sotto.

Page 32: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

32

Elaborazioni locali Frequenze spaziali, convoluzione, filtri

Il concetto di frequenza spaziale non deve essere confuso con quello di frequenza elettromagnetica. La frequenza spaziale indica infatti quanto i pixel variano nello spazio dell’immagine. In formula la frequenza spaziale può essere così sintetizzata: lunghezza in pixel dell’intera riga dell’immagine FS = lunghezza in pixel del segmento composto da pixel tutti uguali Volendo costruire un istogramma per studiare queste frequenze, si riportano nelle ascisse i valori delle frequenze spaziali del reticolo e nelle ordinate la percentuale dei pixel dell’immagine corrispondente a ciascuna frequenza. Questo istogramma prende il nome di spettro di frequenza ed è un passo in avanti rispetto al semplice istogramma dei livelli di grigio che indica come è fatta la distribuzione quantitativa dei livelli di grigio in un’immagine (in ascissa si riportano i possibili valori che un pixel può assumere, e in ordinata il numero di pixel presenti nell’immagine che hanno quel valore), tralasciando ogni dettaglio sulla distribuzione spaziale. Molte manipolazioni efficaci su un’immagine si possano effettuare, oltre che nel dominio spaziale, anche nel dominio delle frequenze. La formula fondamentale per passare dal dominio spaziale a quello di frequenza è stata elaborata da Fourier, matematico francese, e viene appunto chiamata Trasformata di Fourier. Grazie a questa formula è possibile effettuare operazioni complesse come la convoluzione, di cui si parlerà in seguito, in modo relativamente semplice: la convoluzione tra due funzioni nel dominio spaziale risulta equivalente al prodotto delle relative trasformate nel dominio di frequenza. In altre parole: la convoluzione richiede diversi calcoli sulla immagine; se trasformo l’immagine del dominio delle frequenze spaziali, la convoluzione corrisponde semplicemente a una moltiplicazione: pertanto in alcuni casi diventa più semplice fare elaborazioni di immagini nel dominio delle frequenze. Tuttavia si preferisce in generale lavorare nel dominio spaziale per due motivi essenziali: -Le operazioni che si realizzano in un dominio possono essere realizzate anche nell’altro; -Le approssimazioni numeriche che si compiono nel trasformare e antitrasformare l’immagine si traducono in “errori di calcolo” a svantaggio della qualità dell’immagine.

Page 33: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

33

Convoluzione La convoluzione è un procedimento che permette di definire una maschera (una matrice di numeri, detti pesi, di piccola dimensione: ad es 3x3) e di far scorrere quest’ultima sopra l’immagine, centrandola sopra ciascun pixel in modo sequenziale; permette di calcolare i prodotti tra i valori dei pixel e i pesi relativi alle varie posizioni e, infine, di fare le somme di tutti i pixel considerati. La convoluzione è un’elaborazione di tipo locale: si sommano i valori dei pixel dell’intorno del pixel considerato (interni alla maschera) e si moltiplicano per i pesi definiti nella maschera. Ad esempio: in una media aritmetica di intorno 3x3, avremo una maschera di 9 caselle contenenti ognuna lo stesso peso pari a 1/9. Per non alterare i valori globali dell’immagine (ad es. luminosità), la somma dei valori della maschera deve essere pari a 1. Se la somma dei pesi della maschera risulta essere >1 allora si avrà Sovraesposizione. Se la somma dei pesi della maschera risulta essere <1 allora si avrà Sottoesposizione. Considerando sempre l’intorno del pixel 3x3, si fornisce la formula della convoluzione e sua corrispondente maschera: -1 ø 1

-1 ø

1 1 1

P(m,n)= ∑ [∑ p(m-i, n-j) k(i,j)] i= -1 j= -1

dove: P(m,n)= pixel dopo convoluzione p(m,n)= pixel prima della convoluzione K= maschera i,j= indici scorrimento maschera La convoluzione è qualcosa di più potente di una semplice media, poiché è possibile pesare in modo differente i valori all’interno della maschera. Ad esempio, data la seguente maschera,

1/10 1/10 1/10

1/10 1/5 1/10

1/10 1/10 1/10 possiamo notare che i pixel laterali contano meno del pixel centrale. Il nuovo pixel centrale ha un valore che fa contare di più il valore del vecchio pixel centrale.

p(m-1,n-1) p(m,n-1) p(m+1,n-1) p(m-1,n) p(m,n) p(m+1,n)

p(m-1,n+1) p(m,n+1) p(m+1,n+1)

Page 34: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

34

1/16 1/8 1/16

1/8 1/4 1/8 1/16 1/8 1/16

In questa seconda maschera, abbiamo la seguente situazione: il pixel originario ha importanza forte (“pesa” per 1/4). I pixel adiacenti in direzione orizzontale e verticale: importanza meno forte (1/8). I pixel in diagonale hanno importanza ancora minore (1/16) in quanto più distanti.

Filtri passa-basso Vengono detti filtri passa-basso i filtri che riducono o eliminano le alte frequenze spaziali lasciando intatte le basse. In questo modo si riduce il rumore presente in un’immagine a scapito però della nitidezza. Occorre pertanto usare buon senso nella scelta e applicazione di algoritmi per ottenere il migliore compromesso caso per caso, in modo da capire dove tagliare e quanto incisivi fare i tagli. Media locale Per ogni pixel dell’immagine data, si considera l’intorno di lato N (ad esempio 3) di cui il pixel dato è al centro. Si calcola la media aritmetica e si assegna come valore del pixel nella nuova immagine la media stessa. Prendendo i valori medi dei livelli di grigio, si riduce il rumore, ma si rischia di sfuocare i contorni; più grande è l’intorno, più si perderanno le alte frequenze spaziali. La convoluzione consente di avere medie pesate. Filtro di mediana E’ il metodo più efficace per eliminare il rumore ad altissime frequenze spaziali riducendo le alterazioni nell’immagine. La nuova immagine avrà come pixel centrale il valore della mediana dell’intorno considerato. Per calcolare la mediana occorre porre in ordine crescente (o decrescente) i valori considerati e: -se il numero dei valori è dispari, prendere il valore posto al centro; -se il numero dei valori è pari, fare la media dei due valori centrali;

Page 35: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

35

Esempio di uso di filtro passa-basso: riduzione di aliasing Le due immagini mostrate di seguito hanno lo stesso numero di pixel. La differenza sta nel modo in cui sono state ottenute. Nel primo caso l'immagine, prima di essere ridimensionata, è stata sfocata tramite un filtro passa-basso (low pass filter): questo crea valori intermedi di colore che riducono l’effetto di aliasing. Nel secondo caso l'immagine è stata soltanto ridimensionata senza creazione di valori intermedi ai bordi degli oggetti ove si manifesta un cambio netto.

L'immagine qui sopra è stata filtrata con ridimensionamento tramite l'opzione "bicubic" in Photoshop. Ciò provoca una sfocatura tale per cui, anche se il numero di pixel viene ridotto, i passaggi di tonalità risultano omogenei e si adattano al numero di pixel disponibili.

L'immagine è stata ridimensionata al 29% dell'originale usando l'impostazione "nearest neighbour" di Photoshop.

Filtri passa-alto Un altro importante problema nella elaborazione di immagini riguarda la estrazione di particolari, ad esempio i contorni. Per “esaltazione dei particolari” si intendono tutte quelle trasformazioni volte a facilitare l’interpretazione di un’immagine da

Page 36: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

36

parte di un osservatore. L’esaltazione dei particolari serve per rendere più evidenti determinati contenuti di una immagine. Tuttavia, in questo contesto si considera che la estrazione effettiva delle informazioni è compiuta dall’osservatore, non dal computer. L’esaltazione dei particolari serve per rendere più evidenti, facilmente percepibili e calcolabili determinati contenuti. I filtri passa-alto ottengono una esaltazione dei contorni riducendo il contributo delle basse frequenze spaziali. L’esaltazione dei particolari implica la amplificazione dell’eventuale rumore presente nella immagine: occorre quindi anche in questo caso applicare tali filtri con attenzione. Usare filtri passa-alto per mettere in evidenza i particolari fini dell’immagine viene comunemente detto sharpening (rafforzamento), perché come risultato dell’applicazione di questi filtri si ottiene un aumento del contrasto medio dell’immagine. L’operazione di rendere i contorni più evidenti viene anche chiamata edge crispening. Filtri passa-alto per la estrazione dei contorni Filtri di gradiente Si basano sull’osservazione che il contorno di un oggetto corrisponde alla zona di transizione oggetto/sfondo – oggetto/oggetto che presenta una brusca variazione di luminosità. Questi tipi di filtri massimizzano le differenze esistenti tra pixel consecutivi: al pixel dell’immagine trasformata viene assegnato un valore tanto più alto, quanto maggiore è la differenza tra i due pixel considerati nell’immagine originale. N.B.= la somma dei valori delle maschere dei filtri di gradiente deve essere uguale a ø e non a 1: in questo caso non si vuole mantenere costante la luminosità, anzi, l’immagine deve risultare buia ovunque tranne che i pixel appartenenti ai contorni. Filtro Laplaciano, filtro di Prewitt, filtro di Sobel Un filtro più robusto rispetto a quello di gradiente è quello laplaciano: l’operatore laplaciano rappresenta la derivata seconda, cioè la variazione della variazione della f di luminosità. E’ efficace specialmente per l’identificazione di quei contorni in cui non è tanto importante la differenza fra il colore del pixel dell’oggetto e quello dello sfondo (o di un altro oggetto), ma la rapidità con cui si passa dall’oggetto allo sfondo. Il filtro di Prewitt adotta un approccio di tipo gradiente, ma usa maschere in cui tutti i pixel hanno valore diverso da ø, quindi contribuiscono al calcolo. Il filtro di Sobel è di tipo non lineare e raggiunge di solito prestazioni superiori ai precedenti, anche se ha un peso computazionale più elevato.

Page 37: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

37

Esempio di applicazione di filtro di Sobel Altre tecniche per il miglioramento di immagini e per l’estrazione di contorni Per estrarre contorni, esistono anche altri metodi che non utilizzano filtri passa-alto. Istogrammi di grigio Un’altra tecnica possibile per migliorare l’immagine consiste nella manipolazione dell’istogramma dei livelli di grigio, che è finalizzata non tanto alla definizione dei particolari di un oggetto, ma a ridistribuirne il contrasto e/o la luminosità che potrebbero essere stati falsati al momento della generazione della immagine (fotografia, ripresa con telecamera ecc) o al momento della sua digitalizzazione. In tal caso non è coinvolta l’informazione spaziale, ma l’informazione cromatica attraverso modifiche sull’istogramma dei livelli di grigio. Si produce in questo modo un aumento di visibilità delle sfumature e dei dettagli, come mostrato nelle due immagini del paesaggio nelle pagine precedenti. Immagine differenza Un metodo molto comune per estrarre contorni è basato sul calcolo dell’immagine differenza: • Data una immagine, per estrarre contorni si crea una seconda immagine ottenuta eseguendo uno shift (slittamento) dell’immagine originale di un pixel (ad esempio a destra); • Si esegue la differenza fra l’immagine originale e quella ottenuta con lo shift. • Il risultato ottenuto pone in risalto i contorni che possono essere eventualmente esaltati riscalando i livelli di luminanza.

Page 38: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

38

immagine originale

immagine differenza

Page 39: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

39

Sequenze di Immagini - compressione e bitrate Smartphone, tablet, computer, videogiochi e moltissime applicazioni su internet contengono sequenze di immagini (video). Una sequenza di immagini è costituita da più fotogrammi (frame) dello stesso formato all’interno di una stessa sequenza. Codifica interlacciata: Ogni frame è suddiviso in due metà (field). Nel primo field sono contenute le righe pari dell’immagine, nel secondo le righe dispari: in questo modo il formato è detto interlacciato ed è nato da esigenze dei primi sistemi elettronici della televisione analogica, in modo da avere una percezione più fluida di sequenze video anche con frame rate e risoluzione non elevati. Codifica progressive scan: le immagini sono semplicemente codificate in sequenze di frame: tutti i pixel di un frame sono visualizzati nello stasso istante e non più in due istanti successivi (righe pari seguiute da righe dispari come nel formato interlacciato). Uno dei principali problemi nella creazione di un video digitale è la grande quantità di spazio occupato da quest’ultimo. Esempio: Supponiamo di avere un video con queste caratteristiche: video in risoluzione VGA, ovvero 640x480 pixel per ogni frame; spazio colore 24 bit, 8 bit per banda (3byte, RGB); 25 fps (frame per second). Quanto occupa ogni fotogramma (frame) di questo video? 640x480 = 307.200 pixel 307.200 pixel x 24 bit = 7.372.800 bit 7.372.800 bit/8= 921.600 Byte≈ 900 Kbyte -Quanto occupa 1 secondo di video? Se 1 frame occupa 900 KByte e in 1 secondo ci sono 25 frame, avremo: 900 KB x 25 fps ≈ 20 Mbyte Come le immagini singole, anche le sequenze possono essere compresse con tecniche senza perdita di dati (lossless) oppure con perdita di dati (lossy). Queste ultime permettono di comprimere fino a 100 volte. In base alla durata e alla occupazione del video, è possibile calcolare il flusso di dati necessario alla sua codifica (bitrate). Il bitrate esprime la quantità di informazione digitale necessaria a memorizzare 1 secondo di video e si misura in Kbps.

Page 40: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

40

Le immagini artificiali Abbiamo visto che esistono due diverse categorie di immagini digitali:

raster (o bitmap) e vettoriali. Le prime sono composte da matrici di pixel. C’è però un altro modo di rappresentare in modo digitale una immagine, tipicamente usato nei sistemi CAD (software per architetti): in questo caso si parla di immagini vettoriali, tipicamente tridimensionali. Si forniscono le coordinate del punto di partenza e del punto di arrivo, che verranno congiunti con una linea.

(x’,y’,z’)

(x,y,z) Le immagini vettoriali, come abbiamo visto in precedenza, occupano meno spazio, a patto che siano forme geometriche. Per essere visualizzate sono convertite in raster (o bitmap).

Come vengono realizzate le immagini tridimensionali? Prima di tutto occorre definire, al calcolatore, la posizione nello spazio dell’oggetto da creare, dando le sue coordinate (x,y,z). z

y

x

Page 41: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

41

Successivamente occorre eseguire i passi seguenti:

a) Generazione della struttura wireframe (“filo di ferro”): Si crea l’intelaiatura dell’oggetto:

i soli “fili metallici”, ovviamente, non sono sufficienti per ottenere una immagine realistica.

b) Rendering: definizione delle superfici. Occorre definire il punto di vista dell’osservatore e coprire i “fili di ferro” con delle texture. Successivamente, usando appositi algoritmi, si cancellano gli spigoli e le superfici nascoste, ovvero non visibili dal punto di vista dell’osservatore.

Per eliminare ciò che non si vede, si usano algoritmi come lo z-buffer (aree di memoria): per ogni oggetto della scena vengono calcolate le coordinate della sua proiezione sull’immagine che si sta generando, e per ogni pixel di questa proiezione viene determinata la distanza dall’osservatore. Se questa distanza è minore di quella attualmente memorizzata nello z-buffer, il punto viene sostituito dal punto appena determinato, poiché vuol dire che il nuovo punto risulta essere più vicino all’osservatore di quello analizzato in precedenza. Un algoritmo più efficiente è il ray casting e affina lo z-buffer: un raggio immaginario incontra l’oggetto da rappresentare, lo attraversa, prosegue per poi uscire dall’oggetto stesso. Il secondo punto che incontra è naturalmente invisibile, dunque può essere cancellato.

Page 42: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

42

c) Definizione dell’illuminazione dell’immagine: Per definire le proprietà di illuminazione della scena, si devono considerare i contributi di differenti fattori: -luce ambientale; -luce diffusa; -luce speculare; La luce ambientale è quel livello di illuminazione che raggiunge comunque tutti i punti della scena, anche quelli non direttamente illuminati. Ogni oggetto rifletterà in tutte le direzioni una quantità di luce proporzionale alla intensità della luce ambientale, secondo un fattore che definisce le caratteristiche di riflessione dell’oggetto. Per luce diffusa si intende la luce che un oggetto riflette in tutte le direzioni in modo uniforme (non speculare), indipendentemente dalla posizione dell’osservatore. L’illuminazione speculare è direttamente collegata alla riflessione direzionale della luce. Il parametro di specularità determina l’intensità dei riflessi speculari che si formano su una superficie, quando l’angolo tra la normale e la direzione di osservazione è uguale o vicino all’angolo tra la normale e la direzione di illuminazione.

Ray tracing Il ray tracing è un algoritmo che in un approccio unico comprende tutti gli aspetti del rendering. Si basa sul principio della reversibilità di un raggio di luce: si può ripercorrere la storia del raggio di luce andando all’indietro; si traccia la storia di un raggio di luce che piove sulla scena. Sfruttando il principio fisico di reciprocità, si segue la storia del raggio muovendosi al contrario (backward ray tracing), come se i raggi uscissero dall’occhio e tendessero ad andare verso la sorgente di luce. In questo modo si esplorano solo i raggi utili, quelli, cioè, che raggiungono effettivamente l’occhio.

Page 43: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

43

Percezione uditiva – Psicoacustica (cenni)

Il suono, la visione e il tatto vengono acquisiti in modo sinergico, analizzati e integrati nel cervello come un unico stimolo complessivo (percezione multimodale).

La psicoacustica è lo studio della percezione soggettiva umana dei suoni. Più precisamente è lo studio della psicologia della percezione acustica.

In molte applicazioni dell'acustica e dell'elaborazione del segnale sonoro diventa strettamente necessario conoscere come il suono viene percepito da un essere umano. Il suono, il cui stimolo acustico è composto da onde di pressione che si propagano attraverso le molecole dell’aria, può essere misurato accuratamente tramite apparecchiature sofisticate.

Capire come queste onde vengano recepite e analizzate all'interno del nostro cervello è estremamente importante.

L'acustica si occupa sostanzialmente di fenomeni ondulatori nell'aria o in altri materiali (acqua, legno etc) che consentono al nostro orecchio di ricevere la pressione esercitata su questi materiali e di inviare al cervello un impulso corrispondente.

In acustica ci occupiamo perciò di frequenze, lunghezze d'onda, riflessioni e così via da un punto di vista strettamente fisico e - potremmo dire - oggettivo: un diapason, ad esempio, produce oggettivamente una vibrazione di 440Hertz con una certa intensità sonora misurabile.

Tutto ciò si può analizzare con strumenti della Fisica e si possono attribuire unità di misura certe a grandezze come la frequenza o la pressione sonora.

Ma che cosa accade quando questi fenomeni giungono all'orecchio umano?

Che cosa avviene nel cervello?

Che cos'è ciò che noi chiamiamo "suono" e che certamente non interpretiamo come una pressione o come una vibrazione, ma come un'esperienza di tipo unico e indefinibile?

E perchè il suono influisce sui nostri stati d'animo e le emozioni?

Tutto ciò rientra nello studio della psicoacustica, una scienza sperimentale che cerca di approfondire la conoscenza dei fenomeni sonori in rapporto all'uomo che li percepisce.

L'orecchio umano agisce da trasduttore nel trasformare energia acustica, prima in energia meccanica e successivamente in energia elettrica. Una volta che l'energia è

Page 44: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

44

stata convertita dalla forma meccanica a quella elettrica dall'orecchio, gli impulsi elettrici arrivano al cervello attraverso delle terminazioni nervose. Qui vengono elaborati permettendo la percezione del suono, l'ascolto della musica, il riconoscimento di emozioni.

Il sistema uditivo è composto da tre sezioni: l'orecchio esterno, l'orecchio medio e l'orecchio interno.

Il suono viene raccolto dal padiglione auricolare, produce la vibrazione del timpano, che propaga il suono nell’orecchio interno verso la coclea.

Alle grandezze fisiche (oggettive) del suono corrispondono grandezze psicoacustiche (percettive).

Principali attributi psicoacustici: 1. altezza o pitch (frequenza percepita) 2. loudness (intensità percepita) 3. timbro 4. attributi spaziali (distanza, direzione di provenienza del suono)

Per approfondimenti (facoltativo): “Audio e multimedia”, 4a edizione, V.Lombardo e A.Valle, Apogeo, 2014.

Page 45: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

45

Percezione aptica e integrazione multimodale (cenni)

“Seeing is touching” (Cezanne)

Per una persona priva della vista, la mano è in grado di costruire una rappresentazione mentale completa della forma che ha esplorato. Così come l’occhio si spinge alla ricerca delle cause e degli effetti, la mano verifica i principi del mezzo e dello scopo. Esiste un collegamento molto stretto tra il tipo di esplorazione che si conduce con le mani e quella che compiono gli occhi e ciò porta a dedurre che vi è una relazione innata latente che unisce campi sensoriali apparentemente distinti e conferma la primitiva unità organica dei sensi (Werner, 1970, pag. 95) I dati della percezione tattile sono infatti, per un vedente, un arricchimento e una precisazione di quelli della percezione visiva, e viceversa. Basti pensare allo spessore, molto più facilmente valutabile dal tatto che non dalla vista. Una persona allenata può percepire differenze di centesimi di millimetri nello spessore della carte, in un tempo inferiore ai 10 secondi, semplicemente opponendo pollice e indice (è la contrazione del muscolo posto alla base del pollice che permette la stima dello spessore). Il tatto da solo, ad ogni modo, non è sufficiente per conoscere la realtà: è necessaria la cosiddetta percezione aptica (letteralmente “toccare con attenzione”), che è qualcosa che coinvolge tutto l’essere, presupponendo una elaborazione cosciente degli elementi semplicemente percepiti, integrandoli tra di loro per ottenere un tutto strutturato. Con la sola percezione tattile si costruisce uno spazio limitato, in cui manca il concetto di prospettiva, così come manca uno sfondo nella collocazione spaziale degli oggetti. È necessaria l’integrazione di tutte le percezioni ottenute con i sensi vicarianti della vista: tatto, udito, olfatto e gusto, ma anche senso termico, senso anemestico (dell’aria in movimento), la cinestesia (per cinestesia si intende la percezione che una persona ha del movimento e della posizione del corpo e delle sue parti), la sensibilità muscolare e plantare, la memoria muscolare, la capacità associativa e un’immaginazione correttamente formata per estendere il concetto di spazio. È grazie alla sintesi di tutte queste percezioni che un non vedente si ferma prima di toccare un ostacolo, senza neppure sfiorarlo.

Page 46: Corso di Fondamenti di Informatica (6 CFU) · L’immagine è ottenuta per analogia con la quantità di luce che ha impresso i diversi punti della pellicola durante la fase dell’esposizione.

46

Integrazione di visione, udito e percezione aptica

Occhio: alta risoluzione spaziale, bassa risoluzione temporale Un video è una sequenza di immagini statiche: bastano 10-15 immagini al secondo (10-15Hertz) per percepire non più le singole immagini statiche come stimoli separati ma comoe un unico stimolo (movimento). La risoluzione spaziale dell’occhio è pertanto ridotta: circa 10Hz, ovvero due stimoli visivi a distanza di circa 100ms sono percepiti come un unico stimolo.

Orecchio: bassa risoluzione spaziale, alta risoluzione temporale L’orecchio ha una altissima risoluzione temporale, intorno a 1ms. Un disturbo brevissimo in un file audio mp3 è riconosciuto senza difficoltà dall’orecchio.

Mano: si colloca in una posizione intermedia rispetto vista e udito: media risoluzione spaziale (migliore dell’orecchio, peggiore dell’occhio), media risoluzione temporale (migliore dell’occhio, peggiore dell’orecchio)

Risoluzione temporale: la mano percepisce vibrazioni come stimoli distinti fino a circa 700Hz, quindi è meglio dell’occhio (10Hz) ma è peggiore rispetto all’orecchio. Concludendo, i nostri sensi si sono evoluti in modo da poter funzionare naturalmente in sinergia, in modo integrato. E’ fondamentale quindi, nella informatica, progettare e costruire sistemi multimodali in grado di integrare visione, tatto, udito e, in prospettiva, altri canali sensoriali. Concludiamo il corso con una riflessione sulla importanza della comunicazione non verbale, affettiva e sociale nei sistemi informatici multimodali: esempi in ambito museale, didattico, e nella terapia e riabilitazione dicussoi a lezione sono disponibili nei seguenti siti internet:

www.casapaganini.org

www.youtube.com/InfoMusLab

dance.dibris.unige.it