dall'analogico al digitale - innovit.org · interpolazione. Impiegando questa tecnica,...

107
Dallanalogico al digitale

Transcript of dall'analogico al digitale - innovit.org · interpolazione. Impiegando questa tecnica,...

Dall’analogico al digitale

Dall’analogico al digitaleIntroduzione al digitale

Dall’analogico al digitaleIntroduzione al digitale

Effettuiamo la misura analogica di una grandezza fisica quando il suo valore, istante per istante, è rappresentato dal valore assunto da un’altra grandezza fisica, di solito differente dalla prima.

Per esempio, la posizione di un indice su di una scala graduata è l’analogo meccanico dell’intensi- tà di luce che colpisce una fotocellula.

L’intensità della luce e la posizione dell’indice possono assumere qualsiasi valore, senza solu- zioni di continuità.

Dall’analogico al digitaleIntroduzione al digitale

La descrizione completa dell’andamento di una grandezza di questo genere richiederebbe la conoscenza di tutti gli infiniti valori da essa assunti, istante per istante.

Graficamente, sarebbe rappresentata da una curva continua.

Dall’analogico al digitaleIn

trodu

zion

e al

dig

itale

Dall’analogico al digitaleIn pratica, quasi sempre, ci si accontenta di misurare la grandezza a intervalli stabiliti; se ne prendono, in altre parole, alcuni campioni.

Questo corrisponde a disegnare una serie di punti, separati, su di un diagramma.

I valori intermedi si possono approssimare mediante interpolazione. In

trodu

zion

e al

dig

itale

Impiegando questa tecnica, l’andamento della grandezza può anche essere rappresentato sotto forma di tabella, una lista di numeri che rappresenta i valori misurati.

Dall’analogico al digitaleIn

trodu

zion

e al

dig

itale

In questo modo, tuttavia, non siamo certi di rappresentare l’andamento della grandezza in modo corretto; di fatto, ignoriamo cosa accade tra una misura e la successiva

quindi lo stesso insieme di valori (campioni) può rappresentare andamenti assai differenti tra loro.

Dall’analogico al digitaleIntroduzione al digitale

Con una adeguata scelta di campioni è possibile

rappresentare quasi qualsiasi cosa

Dall’analogico al digitaleIntroduzione al digitale

Dall’analogico al digitaleIntroduzione al digitale

Con una adeguata scelta di campioni è possibile rappresentare quasi qualsiasi cosa

Dall’analogico al digitaleIntroduzione al digitale

Per rappresentare il valore di una cifra è sufficiente un dispositivo in grado di assumere due soli stati differenti.Per esempio, un normale interruttore (o una lampada).

Dall’analogico al digitaleCome calcolano le macchine

George Boole (1815 - 1864), matematico ir- landese, fu uno dei fondatori dell'Algebra Astratta e il primo a concepire pienamente l'ap- plicazione dei metodi algebrici a oggetti non matematici. La sua opera più importante è «Indagine sulle leggi del pensiero» (1854).

La logica booleana impiega due soli valori (VERO e FALSO) e tre operatori logici (E, O, NON), e permette di calcolare algebricamente il valore di verità di predicati che possono risultare solo veri o falsi.

Dall’analogico al digitaleCome calcolano le macchine

Questo significa che è possibile rappresentare e verificare in modo automatico predicati anche assai complessi impiegando solo dispositivi in grado di assumere due stati. Uno stesso dispositivo può quindi rap- presentare, indifferentemente, una cifra binaria o il valore di verità di un predicato (o, in generale, una qualsiasi tra due scelte possibili).

Dall’analogico al digitaleCome calcolano le macchine

George Boole (1815 - 1864), matematico ir- landese, fu uno dei fondatori dell'Algebra Astratta e il primo a concepire pienamente l'ap- plicazione dei metodi algebrici a oggetti non matematici. La sua opera più importante è «Indagine sulle leggi del pensiero» (1854).

Una singola cifra binaria è detta

BIT

(acronimo dell’inglese Binary Digit - cifra binaria)

Dall’analogico al digitaleCome calcolano le macchine

Con una sola cifra decimale possiamo scrivere i numeri da zero a nove; per scrivere numeri più grandi dobbiamo usare più cifre.

Con una sola cifra binaria siamo più limitati: infatti pos- siamo solo scrivere i numeri zero e uno; siamo forzati a impiegare più cifre (bit).

Per ragioni costruttive, i sistemi automatici lavorano uti- lizzando un numero di cifre (bit) multiplo di un numero fisso.

Dall’analogico al digitaleCome calcolano le macchine

Un gruppo di otto bit è detto

BYTE

e, in genere, rappresenta il gruppo minimo di bit trattati come entità singola.

Con un byte (otto cifre binarie) si possono scrivere numeri positivi compresi tra 0 e 255 (in binario 00000000 … 11111111), oppure numeri relativi compresi tra 127 e -128 (in binario 0111111 … 10000000).

Dall’analogico al digitaleCome calcolano le macchine

Come calcolano le macchine

Si definisce

WORD

La lunghezza, in bit o byte, che un dispositivo digitale impiega preferenzialmente per le sue operazioni.

I primi home e personal computer (p.e. Commodore 64, Spectrum, Apple ][) operavano su otto bit alla volta (un byte), per cui avevano una word di otto bit.I computer moderni impiegano word di 32, 64 e, in qualche caso, 128 bit (4, 8, 16 byte), ma sono in grado di trattare lunghezze inferiori, sino al singolo byte.

Dall’analogico al digitale

In generale una word lunga n bit può rappresentare numeri interi positivi compresi tra zero e

2n-1

8 bit 0 255 32 bit 4.294.967.29516 bit 0 65.535 64 bit >1 · 1019

Per numeri più grandi si possono impiegare più byte. I numeri interi relativi si ottengono con una particolare codifica (forma di scrittura) detta in complemento a due.

Come calcolano le macchineDall’analogico al digitale

I computer sono molto bravi a fare i calcoli con i numeri interi.

Purtroppo non lo sono altrettanto quando hanno a che fare con i numeri in virgola mobile (i numeri decimali).

I numeri decimali sono APPROSSIMATI ricorrendo a una forma che comprende una mantissa e un esponente, sulle quali si opera con le normali regole algebriche.

In questo modo non è tuttavia possibile scrivere qualsiasi numero decimale: dato un intervallo numerico (p.e. quello compreso tra 3,1 e 3,2), in esso sono presenti infiniti numeri. Ma la loro rappresentazione richiederebbe un numero infinito di cifre, che ovviamente non sono disponibili. Per cui si avranno errori di arrotondamento (anche gravi!) di cui si deve tener conto.

Come calcolano le macchineDall’analogico al digitale

Trattamento numerico dei segnaliDall’analogico al digitale

Trasformare un segnale con andamento continuo in uno digi- tale (numerico), ci porge la possibilità di applicare ad esso elaborazioni di tipo matematico.

Questa trasformazione richiede due fasi

- campionamento- quantizzazione

L’elaborazione digitale di segnali analogici, (p.e. audio o video) comprende un certo numero di fasi:

- Prelievo di una serie di campioni del segnale (campionamento)- Conversione del loro valore in formato numerico (conversione A/D)- Eventuale elaborazione matematica- Immagazzinamento o trasmissione- Riconversione in analogico (conversione D/A)

Trattamento numerico dei segnaliDall’analogico al digitale

Come abbiamo visto, una serie di campioni può non rappre- sentare in modo corretto l’andamento di una grandezza. Un’er- rata scelta delle modalità di campionamento può creare grossi problemi.

Trattamento numerico dei segnaliDall’analogico al digitale

Se l’intervallo tra un campione e il seguente è eccessivo, i valori otte- nuti rappresentano un segnale del tutto diverso, e inesistente in origine. Questo segnale spurio viene detto alias.

Trattamento numerico dei segnaliDall’analogico al digitale

Gli aliasalias compaiono in qualsiasi tipo di campionamento, sia esso effettuato nel tempo (sequenza di campioni presi in successione), sia nello spazio (campioni presi in punti diversi).

La televisione, anche quella analogica, si basa sul campionamento di una grandezza (luminanza della scena) sia nello spazio (le aree elementari - o pixel - nelle quali l’immagine viene suddivisa durante la fase di analisi) sia nel tempo (la serie di semiquadri successivi).

La creazione di alias è quindi un vecchio, e ben noto, problema.

Trattamento numerico dei segnaliDall’analogico al digitale

Creazione di alias dovuta alla limitata frequenza di campionamento nello spazio

In questo caso gli alias compaiono come strutture geometriche e pattern ripetitivi assenti nell’originale.

Il campionamento introduce sempre una distorsione (il segnale ricostruito è diverso dall’originale), a meno di usare un numero infinito di campioni. A un maggior numero di campioni corrisponde una distorsione minore.

Trattamento numerico dei segnaliDall’analogico al digitale

La forma d'onda descritta dai campioni raccolti si discosta sempre più da quella originale man mano che si riduce la frequenza di campionamento:

non non sarsaràà possibilepossibile ottenereottenere unauna ricostruzionericostruzione adeguataadeguata se la se la frequenzafrequenza allaalla qualequale sisi prelevanoprelevano i i campionicampioni èè minoreminore del del doppiodoppio delladella frequenzafrequenza del del segnalesegnale didi ingressoingresso,,

in in altrealtre parole con parole con menomeno didi due due campionicampioni per per periodoperiodo..

Trattamento numerico dei segnaliDall’analogico al digitale

Limite di Nyquist

Nyquist, Harry (Nilsby, Svezia, 7.2.1889 – Harlingen, USA, 4.4.1976) Ingegnere e fisico, si occupò, tra l’altro, di telegrafia e telefonia. Fu uno dei fondatori della teoria dell’informazione.

Trattamento numerico dei segnaliDall’analogico al digitale

““Un segnale analogico può essere Un segnale analogico può essere completamente definito nella sua versione completamente definito nella sua versione campionata purchcampionata purchéé la frela fre--quenza di quenza di campionamento sia campionamento sia almeno il doppioalmeno il doppio della della massima frequenza contenuta nello stesso massima frequenza contenuta nello stesso segnalesegnale””

((ShannonShannon//NyquistNyquist))

Trattamento numerico dei segnaliDall’analogico al digitale

Gli alias nascono quando il segnale d’ingresso contiene componenti di frequenza superiore al limite di Nyquist. Questi segnali spuri sono indistinguibili da quelli reali, e, una volta che siano stati introdotti, non esiste modo per eliminarli. Per eliminare (o ridurre) l’aliasing, si deve impedire che le fre- quenze più alte raggiungano i dispositivi di campionamento.

campionamento sub-Nyquist

Trattamento numerico dei segnaliDall’analogico al digitale

Trattamento numerico dei segnaliDall’analogico al digitale

Si dovrà, quindi, utilizzare un filtro passa-basso

Un filtro passa-basso è un dispo- sitivo che lascia passare, con atte- nuazione minima o nulla, solo fre- quenze minori di una frequenza limite (la sua frequenza di taglio).

Le altre componenti sono tanto più fortemente attenuate quanto più la loro frequenza supera la frequenza di taglio del filtro.

Trattamento numerico dei segnaliDall’analogico al digitale

frequenza

ampiezza100%

0

ft

frequenza

ampiezza

100%

0

ftfiltro ideale

filtro reale

I segnali oltre la frequenza di taglio sono completamente bloccati

I segnali oltre la frequenza di taglio sono progressivamente attenuati

Frequenza di taglio

Quiz #1:

Perché la frequenza di campionamento di un CD è 44 KHz?

Perché si assume che la gamma di frequenze udibili (HI- FI) si estenda sino a 20 kHz, quindi, per rispettare il limite di Nyquist, si dovrà campionare ad almeno il doppio di questa frequenza (aggiungendo un piccolo margine di sicurezza!)

Trattamento numerico dei segnaliDall’analogico al digitale

Le frecce indicano gli istanti nei quali viene eseguito il campionamento

tempo

ampiezza

Trattamento numerico dei segnaliDall’analogico al digitale

Rappresentazione grafica dei valori dei campioni per un segnale sinusoidale

La conversione analogico-digitale si realizza con i converti- tori AD. Ne esistono moltissimi tipi, con caratteristiche diverse, adatti a scopi diversi.

In generale, questi dispositivi producono un numeronumero interointero che rappresenta (in binario) l'ampiezza del segnale di ingresso sotto forma di multiplo di una qualche unità, per esempio di 1 mV (un millivolt - un millesimo di volt): un valore di 25 (binario 11001) sarà da interpretare, in questo caso, come 25 mV.

Trattamento numerico dei segnaliDall’analogico al digitale

I convertitori producono solo un numero limitato di cifre binarie: 4, 8, 10, 12, 16 o 24 bit.

Per questa ragione non possono rappresentare in modo corretto qualsiasi valore d’ingresso: I valori intermedi, che richiederebbero una rappresentazione frazionaria, saranno troncati all’intero minore:

errore di quantizzazione.

(non eliminabile!)

Trattamento numerico dei segnaliDall’analogico al digitale

Un ipotetico convertitore AD a 3 bit, che esprime l’altezza di un oggetto come numero di gradini. Con 3 bit, i valori in uscita saranno compresi tra 0 e 7 (non esistono gradini frazionari!). L’altezza degli uomini sarà rappresentata dallo stesso codice (710 o 1112 ), come quella dei due oggetti (110 o 0012 ).

Trattamento numerico dei segnaliDall’analogico al digitale

000001

010011

100

101

110

111 co dice binar io (3 bit)

L’altezza di un gradino è la nostra unità di misura

non esistono gradini frazionari

overflow!!

In pratica, il codice prodotto dal convertitore indica un’intervallo, una fascia di valori entro cui è contenuta, in quel momento, l’ampiezza del segnale d’ingresso.

Trattamento numerico dei segnaliDall’analogico al digitale

000001

010011

100

101

110

111 co dice binar io (3 bit)

L’altezza di un gradino è la nostra unità di misura

non esistono gradini frazionari

overflow!!

In pratica, il codice prodotto dal convertitore indica un’intervallo, una fascia di valori entro cui è contenuta, in quel momento, l’ampiezza del segnale d’ingresso.

Trattamento numerico dei segnaliDall’analogico al digitale

000001

010011

100

101

110

111 co dice binar io (3 bit)

L’altezza di un gradino è la nostra unità di misura

non esistono gradini frazionari

overflow!!

Trattamento numerico dei segnaliDall’analogico al digitale

000001

010011

100

101

110

111 co dice binar io (3 bit)

Errore di quantizzazione.

L’altezza di un gradino è la nostra unità di misura

non esistono gradini frazionari

overflow!!

Aumentando il numero di gradini (i bit) per lo stesso intervallo di misura totale (gradini più piccoli), l’errore di quantizzazione si riduce.

Trattamento numerico dei segnaliDall’analogico al digitale

La quantizzazione, quindi, consiste nell’approssimare un numero reale sostituendolo con un numero intero

AA

tt

Trattamento numerico dei segnaliDall’analogico al digitale

L’errore di quantizzazione si traduce in rumore (segnale indesiderato) che si aggiunge al segnale.

Questo rumore è ineliminabile, ma diminuisce all’au- mentare del numero di bit usati.

Trattamento numerico dei segnaliDall’analogico al digitale

Dinamica

Intervallo di quantizzazione

Livelli diquantizzazione

Errore diquantizzazione

L’errore di quantizzazione è la differenza tra il segnale da quantizzare e quello quantizzato.

Trattamento numerico dei segnaliDall’analogico al digitale

Ricordiamo come, in binario, n bit possono rappresentare 2n numeri e

altrettanti livelli; quindi a un maggiore numero di bit può corrispon-

dere un maggior numero di livelli con minore distorsione di

quantizzazione.

Trattamento numerico dei segnaliDall’analogico al digitale

n. bitn. bit n. di livellin. di livelli

22

44

88

1616

44

1616

256256

6553665536

Nelle applicazioni video l’ampiezza dei campioni è espressa con 8 - 10

- 12 bit.

Il rapporto tra segnale utile e rumore dipende dal numero n di bit

impiegati secondo la

S/S+N = 6(n+1) dB

Con 8 bit sarà 6(8+1) = 54 dB

Trattamento numerico dei segnaliDall’analogico al digitale

I parametri che definiscono un convertitore A/D sono:

Tempo di conversione: tempo necessario per eseguire una misura; determina la frequenza di campionamento e la massima frequenza del segnale trattabile. Normalmente aumenta con il numero di bit del risultato.

Dinamica: intervallo di tensioni ammesse per il segnale di ingresso

Linearità: questo parametro indica, in percentuale, di quanto si discosta la lettura effettiva da quella teorica.

Risoluzione: la più piccola variazione del segnale di ingresso che produce un cambiamento nel codice in uscita.

Ripetibilità: presentando più volte lo stesso segnale al convertitore si dovrebbe ottenere sempre il medesimo valore; per varie ragioni questo non accade. La ripetibilità è un parametro che indica di quanto il circuito si discosta dal comportamento ideale.

Trattamento numerico dei segnaliDall’analogico al digitale

Schema riassuntivoSchema riassuntivo

Trattamento numerico dei segnaliDall’analogico al digitale

Le tecniche di compres- sione dei dati hanno lo sco- po di ridurre il numero di bit necessario a rappresen- tare una certa informazione (messaggio).

Questa è una necessità fon- damentale quando si deb- bano inviare messaggi su canali dotati di banda pas- sante insufficiente.

CompressioneDall’analogico al digitale

Il problema si presenta quando si cerca di trasmettere (o registrare) un segnale TV digitale o, peggio, lo si vuole inviare via Internet.

Anche l’invio di una sola immagine fissa può essere problematico.

CompressioneDall’analogico al digitale

La trasmissione TV a definizione standard (SDTV)(SDTV) richiederebbe un mezzo in grado di sostenere velocità di trasmissione di circa 250 megabit per secondo.

Il flusso di dati da un CD 1x è di circa 1,2 megabit per secondo.

La tecnologia DVD richiede 5 - 10 megabit per secondo.

Un registratore DV arriva a 25 (50) megabit per secondo.

Un modem standard dovrebbe raggiungere i 56 kilobit per secondo; l’ISDN raggiunge i 64 (128) kilobit, uno DSL arriva a 8000.

CompressioneDall’analogico al digitale

Esistono due classi di compressione:

• Lossless (senza perdita di dati)• Lossy (con perdita di dati)

Entrambe si basano sulla riduzione della ridondanza nei dati.

Le informazioni ridondanti sono quelle ripetute, deducibili dalle altre, irrilevanti o di rilevanza trascurabile.

CompressioneDall’analogico al digitale

Le compressioni lossless permettono la ricostruzione completa del messaggio nella sua forma originale.

Le tecniche lossy permettono di ricostruire un messaggio simile (ma non identico) all’originale.

CompressioneDall’analogico al digitale

Le prime possono essere paragonate alla stenografia.Le seconde a un riassunto.

Un esempio stupido di compressione lossless:

la frase “sopra la panca la capra campa” é com -prensibile anche se scritta come

sopr la pan la capr camp

le singole parole possono essere correttamente ricostruite dal materiale esistente, ma abbiamo impiegato 24 caratteri (spazi compresi) al posto di 29.

CompressioneDall’analogico al digitale

Se definiamo un codice che associa univocamente a determinate parole un simbolo, possiamo ottenere compressioni molto elevate:

= sopra

= panca = capra

= campa= la

Per un totale di soli 6 simboli contro i 29 del messaggio originale

CompressioneDall’analogico al digitale

codice

messaggio

I sistemi di compressione possono essere divisi in:

generali adatti a qualsiasi tipo di dato

specifici (semantic dependent): traggono profitto dalle carat- teristiche di specifici tipi di dati. Possono dare risultati migliori nel loro particolare campo di impiego

CompressioneDall’analogico al digitale

Codifica di Huffman statica (uso generale, lossless)

ogni simbolo del messaggio è codificato con un codice binario di lunghezza diversa

ai simboli più frequenti sono assegnati codici formati da pochi bit (al limite 1), mentre i codici più lunghi sono assegnati ai simboli più rari

Compressione - HuffmanDall’analogico al digitale

I codici impiegati godono della proprietà di prefisso:

il codice di un qualsiasi simbolo non inizia MAI con una sequenza di bit uguale al codice di un’altro simbolo

in altre parole una qualsiasi sequenza di '1' e '0' che rappresenta un certo simbolo non può essere spezzata in modo che le parti rimanenti siano codici validi di altri simboli, e questo permette di riconoscere sempre con esattezza l'inizio e la fine di ogni elemento senza ambiguità. Questa proprietà permette di non non dover inserire markerdover inserire marker per indicare l’inizio del codice di un simbolo.E’ necessario trasmettere la struttura dell'albero corrispondente.

Compressione - HuffmanDall’analogico al digitale

1 - Si costruisce un elenco dei simboli contenuti nel messaggio, ordinato per probabilità (nº di volte che compare un certo simbolo / nº totale dei simboli presenti) decrescente (il primo simbolo dell’elenco sarà quello che compare più spesso nel messaggio)

2 - si costruisce un albero binario partendo dai due simboli meno frequenti, unendo poi a questi via via tutti gli altri simboli sino ad arrivare a quello più usato.

In pratica:

Compressione - HuffmanDall’analogico al digitale

3 - Si assegna ad ogni diramazione dell’albero 1 bit di codifica (es. ‘1’ se si deve seguire la diramazione a destra, ‘0’ se si segue quella a sinistra) il codice di ogni simbolo sarà composto dai valori incontrati, partendo dalla radice, per raggiungerlo nell’albero

4 - la decodifica avviene partendo dalla radice e svoltando alle biforcazioni secondo i bit via via incontrati

Compressione - HuffmanDall’analogico al digitale

elenco dei simboli del messaggio ordinati in base alla probabilità di comparsa:

messaggio = "sopra la panca la capra campa": 29 simboli (caratteri)

'a' 9 volte (31.03%) 'r' 2 volte (6.89%)spazio 5 volte (17.24%) 'm' 1 volta (3.44%)'p' 4 volte (13.79%) 'n' 1 volta (3.44%)'c' 3 volte (10.34%) 'o' 1 volta (3.44%)'l' 2 volte ( 6.89%) 's' 1 volta (3.44%)

In ASCII (8 bit per carattere) 29 byte (232 bit).

Compressione - HuffmanDall’analogico al digitale

Si crea l’albero accoppiando successivamente i simboli con probabilità via via mag- giore; questo albero ha, co- me foglie, i simboli del mes- saggio. Partendo dalla radi- ce potremo raggiungere qual- siasi simbolo scegliendo tra i due rami di ogni biforca- zione; i simboli 1 e 0 rap- presentano le direzioni pos- sibili. L'elenco delle scelte è il codice che sarà impiegato per rappresentare quel parti- colare simbolo.

Compressione - HuffmanDall’analogico al digitale

radice

Avremo, quindi:'a’ 0 - 1 bit'_’ 10 - 2 bit‘p’ 110 - 3 bit'c’ 1110 - 4 bit'l’ 11110 - 5 bit'r’ 111110 - 6 bit'm’ 1111110 - 7 bit'n’ 11111110 - 8 bit'o’ 111111110 - 9 bit's’ 111111111 - 9 bit

e saranno ora necessari:

'a’ 9 x 1 bit = 9 bitspazio 5 x 2 bit = 10 bit'p' 4 x 3 bit = 12 bit'c' 3 x 4 bit = 12 bit'l' 2 x 5 bit = 10 bit'r' 2 x 6 bit = 12 bit'm' 1 x 7 bit = 7 bit'n' 1 x 8 bit = 8 bit'o' 1 x 9 bit = 9 bit's' 1 x 9 bit = 9 bit

Dall’analogico al digitaleCompressione - Huffman

totale 98 bit anziché 232 (il 42%).

P = 110

La frase sarà codificata come

Per la decodifica si ricompone la serie continua di bit, quindi si parte dalla radice e, bit dopo bit, si prende la diramazione indicata finché si arriva al carattere cercato. Questo segna anche la fine della codifica del carattere medesimo e l’inizio di quello successivo. Si torna alla radice e si ripete, sino al termine dei bit disponibili. Il messaggio compresso dovrà contenere le informazioni necessarie alla costruzione dell’albero di codifica: quest’ingombro aggiuntivo può rendere inutile l’uso di questo sistema di compressione su messaggi molto brevi.

111111111111111110110111110010111100101100111111101110010111100111001101111100101110011111101100

Questa sequenza di bit viene spezzata in byte:

Dall’analogico al digitaleCompressione - Huffman

111111111111111110110111110010111100101100111111101110010111100 111001101111100101110011111101100

L’algoritmo LZ analizza il messaggio spezzandolo in una serie di segmenti di lunghezza via via crescente, e raggruppando quelli che tendono a ripetersi

L’insieme dei segmenti cosi prodotti è inserito in un elenco, una sorta di dizionario, e a ogni elemento è assegnato un codice

Le parti comuni sono sostituite dal loro codice

Dall’analogico al digitaleCompressione - Lempel-Ziv

Codifica di Lempel-Ziv (uso generale, lossless)

Se supponiamo, per esempio, che nel processo di codifica si sia trovata la sequenza “AN” e che questa sia stata codificata come sesta voce del dizionario, la parola AND sarà inserita come “6,D” (cioè “AN” + “D”), e questa sarà la settima voce. Se, proseguendo, si trova una “E” (la parola che stiamo esaminando é ANDE), il tutto sarà codificato come “7,E”, in altre parole

<ANDE > 5 - ...6 - AN7 - AN+D 6,D8 - (AN+D)+E 7,E9 - ...

Dall’analogico al digitaleCompressione - Lempel-Ziv

RLERLE (Run Length Encoding) (lossless, generale/specifica)

La codifica RLE sostituisce una serie di simboli uguali ripetuti con una coppia (n, s) dove n é il numero di ripetizioni, s é il simbolo ripetuto; questo la rende utile per messaggi che con- tengono sequenze piuttosto lunghe di ripetizioni di uno stesso simbolo.

La RLE è adatta alla grafica semplice.

Es: messaggio originale abbbbbbbaacccccccdxxxmessaggio codificato RLE 1a7b2a7c1d3x

Dall’analogico al digitaleCompressione - RLE

Quelle appena viste sono solo alcune delle tecniche di compressione lossless, totalmente invertibili. Ognuna di esse è applicabile a un messaggio (ora inteso come sequenza di bit) di qualsiasi tipo.

Purtroppo esiste un limite teorico definito alla compressione ottenibile; in pratica si ha una riduzione dal 15% al 70% delle dimensioni degli archivi (in media intorno al 50%).Questo rende le tecniche lossless insufficienti per la compressione del video e dell’audio

Dall’analogico al digitaleCompressione

Per ottenere compressioni più spinte, sarà necessario ricorrere alle tecniche lossy.

Dall’analogico al digitaleCompressione

Nel settore di cui ci occupiamo, i principali metodi di compressione lossy sono:

JPEG, (M-JPEG), DV

MPEG-1 (1991)

MPEG-2 (1994)

MPEG-4 (1998)

Dall’analogico al digitaleCompressione

Tutte si basano su di una tecnica matematica detta DCT

Discrete Cosine Transform

Dall’analogico al digitaleCompressione

Che non è altro che una versione particolare della

Trasformata di Fourier

Qualsiasi segnale periodico, con qualsiasi andamento, può essere scomposto in una serie infinita di segnali sinusoidali con frequenze multiple di quella di base del segnale originale e ampiezze e fasi opportune.

All’opposto, qualsiasi segnale periodico, di qualsiasi forma, può essere ricostruito sommando una serie infinita di segnali sinusoidali con frequenze in relazione armonica e dotati di opportune ampiezze e fasi.

Dall’analogico al digitaleCompressione

0%10%

20%30%40%

50%60%70%

80%90%

100%

Amp.

F 2F 3F 4F 5F 6F 7FFreq.

Sommando tra loro se- gnali sinusoidali con op- portune frequenze e am- piezze si possono ottene- re altre forme d’onda

Fondamentale più 3ª armonica, in fase, con ampiezza pari al 25% della fondamentale.

Dall’analogico al digitaleCompressione

0%10%

20%30%40%

50%60%70%

80%90%

100%

Amp.

F 2F 3F 4F 5F 6F 7FFreq.

Fondamentale più 2ª, 3ª, 4ª, 5ª, 6ª, in fase. Ogni armonica ha ampiezza pari al 50% della precedente.

Dall’analogico al digitaleCompressione

Sommando tra loro se- gnali sinusoidali con op- portune frequenze e am- piezze si possono ottene- re altre forme d’onda

0%10%

20%30%40%

50%60%70%

80%90%

100%

Amp.

F 2F 3F 4F 5F 6F 7FFreq.

Fondamentale più 3ª, 5ª, 7ª, in fase. Ogni armonica ha ampiezza pari alla precedente.

Dall’analogico al digitaleCompressione

Sommando tra loro se- gnali sinusoidali con op- portune frequenze e am- piezze si possono ottene- re altre forme d’onda

Aumentando il numero delle armoniche usate l’onda ricostruita può avere la precisione desiderata

Fondamentale + IIIª armonica

Fondamentale + IIIª, Vª, VIIª armonica

Infinite armoniche dispari

Dall’analogico al digitaleCompressione

Su questo principio si sono basati i progettisti dei primi sintetizzatori analogici che comparvero alla fine degli anni ‘60.

Il Il timbrotimbro di uno strumento musicale dipende dalla di uno strumento musicale dipende dalla forma dforma d’’ondaonda che viene generata.che viene generata.

Applicando sia la sintesi per somma di armoniche, sia l’analisi (filtraggio) è possibile ricostruire il suono di qualsiasi strumento esistente. E di quelli che non esistono.

Dall’analogico al digitaleCompressione

Moog Synth

Il mito di ogni ragazzino che suo- nasse in una canti- na negli anni ‘70!

Walter Carlos performing on the Moog Synthetizer

Dall’analogico al digitaleCompressione

La stessa tecnica si può applicare in due dimensioni, alle immagini

Dall’analogico al digitaleCompressione

Si possono definirefunzioni sinusoidaliin due dimensioniAnche in questo casola loro combinazionepuò produrre funzionicomplesse

FondamentaleSeconda armonicaTerza armonica

Luminosità =f(x,y)Altezza=f(x,y)

Dall’analogico al digitaleCompressione

Immagine di un quadrato sintetizzata come somma di 8 frequenze spaziali in relazione armonica (dispari) tra loro

Dall’analogico al digitaleCompressione

Aumentando il numero delle armoniche usate la forma ricostruitapuò avere la precisione desiderata

Immagine di un quadrato ricostruita sommando un numero crescente di armoniche dispari

Dall’analogico al digitaleCompressione

Applicando la trasformata di Fourier (o una funzione simile, come la DCT) a una immagine si ottiene una serie di coefficienti che rappresentano le caratteristiche delle funzioni sinusoidali che la costituiscono.

I coefficienti prodotti dalla trasformata di Fourier bidimensionale sono solo un altro modo di rappresentare l’immagine.

Nella ricostruzione (antitrasformata) è possibile trascurarne alcu- ni: questo corrisponde all’eliminazione delle frequenze cor- rispondenti (filtraggio). La qualità dell’immagine peggiora, ma diminuisce la quantità di dati necessari a rappresentarla.

Dall’analogico al digitaleCompressione

Trasformata di Fourier

immagine originale

Rappresentazione visivadei coefficienti

Antitrasformata

Immagini ricostruite impiegando un numero via via maggiore di coefficienti

Dall’analogico al digitaleCompressione

L’eliminazione di una parte delle informazioni contenute in una immagine è un tipo di

compressione con perdite (lossy)

Per mantenere una qualità accettabile si cerca di eliminare solo le componenti dotate di frequenza più alta (che corrispondono ai dettagli più fini e meno visibili)

Dall’analogico al digitaleCompressione

Nelle applicazioni pratiche relative alla compressione di immagini (JPEG, MPEG) si preferisce usare la DCT poiché:

• è matematicamente più semplice

• richiede un numero minore di coefficienti

Dall’analogico al digitaleCompressione

Joint PhotographicsExpert Group

Dall’analogico al digitaleCompressione - JPEG

JPEG è una tecnica di compressione con perdite (lossy) per immagini statiche basata sull’impiego della

DCTDCT (Discrete Cosine (Discrete Cosine TransformTransform))

per la riduzione del dettaglio, e applicazione successiva delle compressioni

RLE (Run Length Encoding) e Huffman

Dall’analogico al digitaleCompressione - JPEG

Quella descritta è la versione base della codifica JPEG, detta JPEG Baseline. Ne esistono altri quattro tipi :

- Codifica progressivaCodifica progressiva

-- Codifica gerarchicaCodifica gerarchica

-- Codifica a quantizzazione variabileCodifica a quantizzazione variabile

-- LosslessLossless JPEGJPEG

Dall’analogico al digitaleCompressione - JPEG

JPEG progressiva

Destinata alla trasmissione di immagini in rete, prevede una serie successiva di scansioni del- l’immagine a ognuna delle quali corrisponde l’invio di coefficienti di ordine via via maggiore.

La prima immagine ricevuta ha qualità molto scarsa, qualità che migliora a ogni successiva scansione.

L’utente può farsi rapidamente un’idea ab- bastanza precisa di che cosa sta ricevendo, senza dover attendere la fine della trasmissione.

Dall’analogico al digitaleCompressione - JPEG

Dall’analogico al digitaleCompressione - JPEG

JPEG a codifica gerarchica

La codifica contiene diverse versioni dell’immagine a diverse risoluzioni (p.e. 512x512, 1024x1024 ecc).Le immagini a risoluzione maggiore sono codificate come differenza da quelle più piccole.Le singole versioni possono essere codificate in JPEG progressivo.

Sostanzialmente identica alla codifica Baseline ma si introduce, per ogni blocco di pixel, un fattore di scala da applicare alla matrice di quantizzazione.

Questo permette di codificare parti dell’immagine, con diversa importanza, con qualità diversa

Dall’analogico al digitaleCompressione - JPEG

JPEG a quantizzazione variabile

Scarsamente impiegata nella praticaNon viene usata la DCT (introduce errori di arrotondamento).Per ogni pixel viene codificata la differenza tra il valore reale e quello predetto usando il valore dei pixel vicini.I valori ottenuti sono trattati con codifica di Huffman

Dall’analogico al digitaleCompressione - JPEG

JPEG lossless

Immagine originale

Compressione 10:1

Compressione 100:1

Dall’analogico al digitaleCompressione - JPEG

La compressione JPEG è in grado di ottenere forti tassi di compressione, ma la qualità peggiora sensibilmente oltre il rapporto 10:1

Ricomprimere un file più volte porta a un peggioramento della qualità anche impiegando tassi di compressione modesti

!

Dall’analogico al digitaleCompressione - JPEG

Motion -Joint PhotographicsExpert Group

Dall’analogico al digitaleCompressione - M-JPEG

E’ l’adattamento della JPEG alle immagini in movimento. In pra- tica ogni frame viene compreso come se si trattasse di una singola immagine statica.

Lavora male con immagini interlacciate, e la compressione ottenuta, a parità di qualità finale, è nettamente inferiore a quelle date da MPEG 1 e 2.

Dall’analogico al digitaleCompressione - M-JPEG

SOLO CON BASSI FATTORI DI COMPRESSIONE (2:1) E CON SEGNALI 4:2:2 SONO SODDISFATTI I REQUISITI DI QUALITA’

DCT INTRA-FIELD OTTIMIZZATA PER PRODUZIONI E POST PRODUZIONI (es. BETACAM DIGITALE)

A COMPRESSIONI MAGGIORI (> 10:1), JPEG INTRO- DUCE DEI DISTURBI DI CODIFICA NELLA FORMA DI “MOSAICO” O IMMAGINE A BLOCCHI

Dall’analogico al digitaleCompressione - M-JPEG

Il formato DVDV è stato creato per standardizzare semplificando ed unificando il processo di ripresa, acquisizione, editing, riversamento oltre che per aumentare la qualità del video rispetto ai sistemi analogici consumer e professionali pre- cedenti.

E’ un formato digitale nativo con codeccodec certi e sicuri validi per tutti gli apparati e le marche.

Dall’analogico al digitaleCompressione - DV

DVDV MM--JPEGJPEG

Formato e codec nativiData rate più bassoSi può lavorare sempre in DVPorta hardware poco costosaStandard de facto per ripresa ed editingData rate fisso a 3,6 MB/sQualità uguale a tutti i formati DV

Codec utilizzato solo per acquisizioneNecessita hardware aggiuntivoNon esiste un vero standardData rate e qualità variabile con la compressione

Dall’analogico al digitaleCompressione - DV e M-JPEG

Moving Pictures Expert GroupISO/IEC JTC1 SC29 WG11

Dall’analogico al digitaleCompressione - MPEG

MPEG è il “nomignolo” del gruppo internazionale incaricato di definire gli standard relativi alle tecniche di compressione da applicare alle “immagini in movimento” e all’audio

Sono stati definiti vari standard:

MPEG - 1MPEG - 2MPEG - 3MPEG - 4MPEG - 7MPEG - 21 Impieghi vari su rete non strettamente connessi con

video/audio (ricerca info, e-commerce ecc.)

Streaming multimediale con contenuti diversi sincronizzati

HDTV - decaduto e incorporato in MPEG - 2Televisione/audio per broadcastingFilmati/televisione/audio per multimedia e rete

Dall’analogico al digitaleCompressione - MPEG

Si invia il primo simbolo, integralmente o con compressione losslessSi analizza la sequenza di simboli incontrata sino a oraSi ipotizza, applicando un qualche criterio, quale sarà il prossimo simboloSi confronta il simbolo predetto con quello effettivo

Abbiamo tre possibilità:

• Siamo molto fortunati: il simbolo predetto e quello effettivo sono uguali. Non trasmettiamo nulla, in quanto il predittore gemello certamente fornirà lo stesso risultato

• Siamo moderatamente fortunati: il simbolo predetto non è troppo diverso da quello effettivo. Trasmettiamo solo le differenze (facili da comprimere)

• Siamo Lupo Alberto e il simbolo predetto non assomiglia, nemmeno alla lontana, a quello giusto. Trasmettiamo il simbolo giusto, completo.

Dall’analogico al digitaleCompressione - MPEG 1

MPEG -1 è stato previsto per codificare video in scansione progressiva.

Per lavorare con video interlacciato sono state previste due possibilità:

- concatenazione di field: tecnica complessa e inefficiente che richiede che i frame siano deinterlacciati, elaborati con oppor- tuni codificatori, quindi reinterlacciato dopo la decodifica

- codifica separata: ogni field viene codificato singolarmente

Dall’analogico al digitaleCompressione - MPEG 1

Dall’analogico al digitaleCompressione - MPEG 2

Lo standard MPEG-2 può essere considerato un’evoluzione di MPEG-1, cui é concettualmente simile; le modifiche introdotte, oltre a migliorare le caratteristiche generali di compressione, mirano a renderne assai più vasto il campo di applicazione. L’applicazione principale, tuttavia, é quello della trasmissione televisiva con bitrate tra 4 e 9 Mbps anche se le specifiche sono talmente flessibili da permettere applicazioni ad alto bitrate, quali l’HDTV (questa constatazione ha di fatto reso inutile la realizzazione dello standard MPEG-3, mirato a questo tipo di impieghi).

Dall’analogico al digitaleCompressione - MPEG 2