Lezione 3_4i
Codifica
Codifica Binaria
Codifica binaria dei numeri
Codifica binaria dei caratteri
Codifica binaria delle immagini
Codifica binaria dei segnali video
Codifica binaria dei segnali elettrici
Codifica
I dati possono essere di tipoi:
• analogico, in cui la grandezza è definita in modo continuo, o
• digitale in cui la grandezza è definita in modo discreto.
Le grandezze percepite dai nostri sensi sono tipicamente di natura analogica.
Un segnale analogico è una grandezza che varia in modo continuo nel tempo
o nello spazio o in entrambi i domini.
Codifica
• I dati possono essere “memorizzati su” o “trasmessi mediante” un supporto.
• Il supporto non è il dato.
• Ogni supporto ha caratteristiche fisiche proprie.
• Alcuni supporti sono adatti a memorizzare i dati mentre altri sono
particolarmente convenienti nel trasportarli.
• I medesimi dati possono essere scritti su supporti differenti.
Codifica
• La codifica è l’operazione con cui i dati sono trascritti su un supporto.
• La decodifica è l’operazione con cui i dati sono letti da un supporto.
Codifica binaria
Per trattare (creare, elaborare, immagazzinare , trasmettere ….) le informazioni
(ad es. i segnali) con metodi e strumenti automatici (ad es. il calcolatore) si
utilizzano sistemi digitali.
Programmi e dati sono forniti ai sistemi digitali come sequenze binarie. In cui
ogni elemento è rappresentato mediante i due simboli binari 0 e 1.
I simboli 0 e 1 rappresentano due stati:
• spento / acceso
• basso / alto
• buio / luce
Programma
0101100110100101100110
Dati
1101000110101010001110
Risultati
Hardware1101001101101000001010
Schema di un sistema di elaborazione
Codifica binaria
Processo che permette di rappresentare dei dati (numeri, testi, immagini,
suoni. . . ) mediante sequenze binarie. Il processo inverso è la decodifica.
Codifica
Dati
Rappresentazione
Decodifica
Codifica binaria
Bit
• L’elemento base della codifica binaria è il bit (binary digit, cifra binaria).
• Con un bit possiamo rappresentare una informazione che può assumere
2 valori.
• Esso costituisce l'unità di misura dell'informazione, definita come la
quantità minima di informazione che serve a discernere tra due possibili
stati equiprobabili.
Esempio
Stato di una lampadina
0 = spento, 1 = acceso
Codifica binaria
Per rappresentare più valori è necessario usare sequenze di bit
1 bit 2 valori: 0, 1
2 bit 4 valori: 00, 01, 10, 11
3 bit 8 valori: 000, 001, 010, 011, 100, 101, 110, 111
n bit rappresentano 2n diversi valori
Il byte
• Il byte è l’unità fondamentale del linguaggio
dei computer
• È composto da 8 bit
• Rappresenta 256 possibili stati (28 = 256)
Codifica binaria
Altre unità di misura
•
•
•
•
nibble = 4 bit = ½ byte
word (WORD) = pari a 16, 32 o 64 bit a seconda del tipo di elaboratore
double word (DWORD o LONGWORD) = 2 word
quad word (QWORD) = 4 word
Unità multiple di bit e byte
Nome
Simbolo
Kilobyte KB
Megabyte
Gigabyte GB
Terabyte TB
Multiplo
103
MB
109
1012
N. di byte a cui corrisponde
1.024
106
1.048.576
1.073.741.824
1.099.511.627.776
Nel simbolo delle unità di misura la lettera b può essere maiuscola o minuscola:
• La b minuscola indica che trattiamo multipli del bit
o 1 Mb = 1 Megabit = 1.048.576 bit
• La B maiuscola indica che trattiamo multipli del byte
o 1 MB = 1 Megabyte = 1.048.576 byte = 8.388.608 bit
Codifica binaria
Esempio: quanta memoria occupa il file lezione3i.ppt.
Considerando il sistema operativo windows, cliccando con il tasto destro del
mouse su un file e selezionando la voce Proprietà si ottengono alcune
informazioni sul file scelto, in particolare sono fornite e le dimensioni del file.
Codifica binaria
Esempio: capacità di memoria dell’ hard disk C:?
Considerando il sistema operativo windows, cliccando con il tasto destro del
mouse sull’hard disk C: e selezionando la voce Proprietà si ottengono alcune
informazioni.
Codifica binaria
Esercizio 1
Quanti valori diversi si possono rappresentare con 5 bit?
Con 5 bit si possono rappresentare 25 = 32 diversi valori.
Esercizio 2
Quanti valori diversi si possono rappresentare con 2 byte?
2 byte = 16 bit, pertanto si possono rappresentare 216 = 65536 diversi valori.
Esercizio 3
Quanti bit servono per rappresentare 1000 diversi valori?
Si deve trovare il minimo numero n di bit che soddisfi 2n > 1000,
Risulta 210 = 1024, quindi n = 10.
Esercizio 4
Quanti bit occorrono per rappresentare 112 diversi valori?
Occorrono 7 bit infatti 27 = 128.
Codifica binaria
Attraverso il processo di codifica si possono rappresentare vari tipi di dati:
•
•
•
•
•
•
•
Numeri naturali
Numeri interi (numeri naturali + numeri interi negativi)
Numeri reali (numeri razionali + numeri irrazionali)
Caratteri
Immagini
Suoni (Segnali)
Video
Esistono diverse convenzioni (codifiche) per fornire a ciascun tipo di dato una
rappresentazione binaria.
Codifica binaria dei numeri (1)
Sistema di numerazione decimale
I numeri normalmente utilizzati sono espressi con la notazione posizionale in
base decimale
• base decimale perché sono utilizzate dieci cifre diverse (da 0 a 9)
• notazione posizionale perché cifre uguali in posizioni diverse hanno
significato diverso (hanno peso diverso, cioè pesano diversamente nella
determinazione del valore del numero espresso)
Il peso di una cifra è uguale:
• alla base del sistema di numerazione (10 in questo caso)
• elevata a potenza pari alla posizione della cifra nel numero posizione che
si incrementa da destra a sinistra a partire da 0.
Codifica binaria dei numeri (2)
Sistema di numerazione decimale
La parte frazionaria, a destra del simbolo separatore, si valuta con potenze
negative
I numeri negativi sono costruiti anteponendo un segno “−”.
Codifica binaria dei numeri (3)
Sistema di numerazione esadecimale
Il sistema di numerazione esadecimale (base 16) utilizza una notazione
posizionale basata su:
• 16 cifre (da 0 a 9 più A,B,C,D,E,F) e
• sulle potenze di 16
Dove
A=10, B=11, C=12, D=13, E=14 e F=15
Ad esempio:
C6FC  (12) 163 + 6
162 + (15)
161 + (12)
160 = 50940
Nelle pagine Web i colori sono codificati mediante il sistema esadecimale.
Codifica binaria dei numeri (2)
I calcolatori usano invece numeri binari, cioè numeri rappresentati con notazione
posizionale in base binaria
• la base binaria usa solo due cifre diverse, 0 e 1
• la conversione da base binaria a decimale è semplice
I numeri binari sono più facili da manipolare per i calcolatori, perché è meno
complicato costruire dei circuiti che distinguono tra
• “acceso” o “spento”, piuttosto che fra
• dieci diversi livelli di voltaggio
Codifica binaria dei numeri (3)
La conversione di un numero da base decimale a base binaria è, invece, più
complessa, la parte intera del numero va elaborata indipendentemente dalla
eventuale parte frazionaria
a) la parte intera del numero decimale viene convertita nella parte intera del
numero binario
b) la parte frazionaria del numero decimale viene convertita nella parte
frazionaria del numero binario
c) la posizione del punto separatore rimane invariata
Per convertire la sola parte intera, si
divide il numero per 2, eliminando
l’eventuale resto e continuando a dividere
per 2 il quoziente ottenuto fino a quando
non si ottiene quoziente uguale a 0
Il numero binario si ottiene scrivendo la
serie dei resti delle divisioni, iniziando
dall’ultimo resto ottenuto
Codifica binaria dei numeri (4)
Per convertire la sola parte frazionaria, si moltiplica il numero per 2, sottraendo
1 dal prodotto se è maggiore di 1 e continuando a moltiplicare per 2 il risultato
così ottenuto fino a quando non si ottiene un risultato uguale a 0 oppure un
risultato già ottenuto in precedenza.
• Il numero binario si ottiene scrivendo la
serie delle parti intere dei prodotti
ottenuti, iniziando dal primo.
• Se si ottiene un risultato già ottenuto in
precedenza, il numero sarà periodico,
anche se non lo era in base decimale.
Codifica binaria dei numeri (5)
Numeri interi: rappresentazione in modulo e segno
• Il bit più significativo (MSD) indica il segno: 1 = negativo, 0 = positivo
• i restanti bit indicano il modulo
• esempio: (1101)2 = (−5)10, (0111)2 = (+7)10
• notazione intuitiva ma scomoda per operazioni aritmetiche, lo zero ha due
rappresentazioni!
In questa codifica, con n bit si rappresentano i valori nell’intervallo:
(−2n−1 + 1 2n−1 − 1)
Codifica binaria dei numeri (6)
Numeri interi: rappresentazione in complemento a 2
• Tale rappresentazione semplifica lo svolgimento delle operazioni:
• Dati n bit, un numero positivo N è rappresentato in modo standard (come
sono rappresentati i numeri naturali)
• −N, invece si rappresenta come 2n− N
• Metodo operativo per rappresentare −N:
o rappresentare il modulo N in modo standard
o complementare tutti i bit (1 ! 0, 0 ! 1)
o sommare 1
In complemento a 2, con n bit, si possono rappresentare gli interi nell’intervallo:
(−2n−1; 2n−1− 1)
Esempio: con 3 bit si rappresentano i numeri in (−4; 3)
Dec.
−4
−3
−2
−1
bin. in C2
100
101
110
111
Dec.
0
+1
+2
+3
Bin. in C2
000
001
010
011
Codifica binaria dei numeri (7)
Codifica dei numeri reali
In tale codifica esiste il problema di rappresentare gli elementi di un insieme
continuo con un numero finito di bit.
In un intervallo dell’insieme continuo esistono infiniti elementi
Si hanno due possibili rappresentazioni:
• Virgola fissa,
• Virgola mobile.
Rappresentazione in virgola fissa:
si stabilisce a priori la posizione del punto decimale e quindi le cifre si
suddividono in due parti.
Numero fissato di bit per la parte intera e per la parte frazionaria. Ad esempio:
6935.14084 oppure 5765430.192
Codifica binaria dei numeri (8)
Rappresentazione in virgola mobile (floating point):
numero variabile di bit per le due parti.
• Mantissa :
• Caratteristica:
valore m tra -1 e 1 (frazionario)
esponente n
R = mxbn
E’ possibile rappresentare:
• numeri molto grandi con poche cifre oppure
• numeri molto piccoli con precisione.
Normalizzazione: .002673 x 104

.2673 x 102
Il problema dell'approssimazione dei numeri reali tuttavia rimane ed è viene
studiato nel settore del calcolo numerico.
Codifica binaria dei caratteri (1)
Il carattere è una unità di informazione corrispondente a un grafema, o a un
simbolo, della forma scritta di una lingua naturale
Esempi di carattere sono:
o lettere
o numeri
o segni di interpunzione
o caratteri di controllo (es: carriage return, line feed)
Codifica binaria dei caratteri (2)
Gli elaboratori rappresentano i caratteri secondo un sistema di codifica che
assegna ad ogni carattere un numero, rappresentato come serie di bit
La rappresentazione binaria effettiva dipende dal particolare sistema di codifica
adottato
• ASCII
• EBCDIC
• UNICODE
Codifica binaria dei caratteri (3)
• ASCII (American Standard Code for Information Interchange) è un codice per la
codifica dei caratteri
• Lo standard è stato pubblicato da ANSI nel 1968
• Il sistema originario US-ASCII codificava i caratteri a 7 bit è ora standard ISO
(ISO/IEC 646)
Codifica binaria dei caratteri (4)
• Nei PC si usa la versione extended ASCII che utilizza 8 bit per la codifica
• L’utilizzo dell’ottavo bit di ogni byte per rappresentare altri 128 caratteri
aggiuntivi ha prodotto notevoli problemi di compatibilità dovuti anche all’utilizzo
di estensioni proprietarie
• ISO ha rilasciato uno standard (ISO 8859) contenente un’estensione a 8 bit del
set ASCII
- ISO 8859-1 (Latin1): caratteri lingue Europa Occidentale
- ISO 8859-2: caratteri linguaggi Europa Orientale
- ISO 8859-5: caratteri cirillici
Codifica binaria dei caratteri (5)
Codifica binaria dei caratteri (6)
EBCDIC (Extended Binary Coded Decimal Interchange Code) indica un sistema
di codifica dell'informazione a 8 bit
È usato in numerosi elaboratori sia di classe mainframe (ad es. z/OS, OS/390,
VM e VSE) che minicomputer (ad es. OS/400 e i5/OS)
Rappresenta
bene
i
caratteri in lingua inglese
ma necessita di apposite
codepage per le altre
lingue.
È stato introdotto nel 1964
Codifica binaria dei caratteri (7)
Unicode
Con tale rappresentazione ad ogni carattere è associato un numero, in modo
indipendente
• dalla lingua
• dalla piattaforma informatica
• dal programma utilizzato
In origine la codifica era ideata sulla base di 16 bit con cui era
possibile identificare 65536 caratteri. Successivamente al fine di
aumentare il numero di caratteri codificabili si è adottata la codifica a
21 bit (1 milione di caratteri).
Codifica binaria delle immagini (1)
L’immagine è suddivisa in pixel
Pixel
Codifica binaria delle immagini (2)
L’immagine è suddivisa in pixel
Pixel
Ad ogni pixel si associa una rappresentazione binaria: bianco = 0 e nero = 1
Definendo un ordine di scansione si
ottiene una stringa binaria:
0000000011110001100000100000
Codifica binaria delle immagini (3)
• Assegnando un bit ad ogni pixel si possono rappresentare solo immagini in
bianco e nero
• Per rappresentare immagini con diversi livelli di grigio o a colori si associa
una sequenza di bit per ogni pixel. Ad esempio:
• con 8 bit per pixel si ottengono 28 = 256 livelli di grigio
• con 24 bit per pixel si ottengono 224 = 16777216, 16.7 milioni di colori
Codifica binaria delle immagini (4)
Per rappresentare i colori esistono vari modelli
HSB: Hue (tinta), Saturation (saturazione) e Brightness (luminosità).
RGB: Red (rosso) Green (verde) e Blue (blu).
Questo modello rappresenta il modo secondo il quale i calcolatori vedono i
colori. Nei display LCD (liquid crystal display) a colori, ad esempio, i punti sono
inizialmente scuri e quando sono attivati si illuminano.
In particolare, ogni singolo pixel è diviso in tre sottopixel di colore rosso, verde
e blu da filtro aggiuntivo. Ogni sotto pixel può essere controllato indipendentemente
per produrre migliaia o milioni di colori possibili per ciascun pixel.
CMYK :Cyan, Magenta, Yellow e blacK (ciano, magenta, giallo e nero).
Questo modello è usato per la stampa. In altre parole questi sono i 4 inchiostri
colorati usati all' interno delle stampanti.
LAB: Luminance (luminosita') ed A e B (che sono le componenti cromatiche).
In base a questo modello, il componente A si estende dal verde al rosso, mentre il
componente B si estende dal blu al giallo. Questo modello venne sviluppato per
essere indipendente dall' hardware. In altre parole tramite questo modello si
possono gestire i colori indipendentemente dalle macchine usate (come
monitor, stampanti, o computer)
Codifica binaria delle immagini (5)
Nei display dei calcolatori è utilizzato lo standard RGB dove ogni colore è
ottenuto combinando tre diverse gradazioni di colori primari (rosso verde e blu).
Per ogni pixel si devono specificare i livelli dei
tre colori
Considerando un byte per ogni colore
primario risulta che un pixel è rappresentato
da 24 bit (3 byte).
La risoluzione è il numero di pixel presenti sullo schermo (800
1600 1200)
600, 1024
768,
Codifica binaria delle immagini (6)
Immagini bitmap
• rappresentate pixel per pixel
• tipicamente in file con estensione .bmp
• hanno elevate dimensioni
Immagini bitmap compresse
Esistono due tipi di algoritmi di compressione dati:
• Algoritmi lossless, tale compressione conserva i dati originali in
modo da poter riottenere una copia esatta. Per esempio, se k
pixel lungo la stessa riga hanno lo stesso colore, si memorizza il
colore una volta sola e il numero k
• Algoritmi lossy in cui è presente una riduzione dei dati originali.
Tali tecniche sacrificando alcuni dettagli permettono una
compressione maggiore
- gif (Graphics Interchange Format). Ottenuti con tecniche di
compressione lossless.
- jpeg (Joint Photographic Experts Group). Realizzati con tecniche
di compressione lossy.
Codifica binaria delle immagini (7)
Immagini vettoriali
• Gli elementi costituenti sono delle forme geometriche (primitive) come
punti, linee, curve e poligoni su una griglia algebrica. A tali forme sono
assegnate varie caratteristiche spessore e colore dei bordi, tipo e colore
dell’area interna dei poligoni ecc.
• Differenza fondamentale tra immagini bitmap e vettoriali è che i pixel hanno
tutti la stessa dimensione ed hanno una posizione chiaramente definita,
mentre le primitive di una immagine vettoriale possono assumere dimensioni
e posizioni differenti.
• Quando si ingrandisce con lo zoom la primitiva di un'immagine vettoriale, non
si riescono a distinguere i singoli punti di questo elemento.
• SVG (Scalable Vector Graphics) indica uno tecnologia (uno standard, un
linguaggio) in grado di visualizzare oggetti di grafica vettoriale
cdr - tale estensione indica file CorelDraw
ai - tale estensione indica file Adobe Illustrator
Codifica binaria delle immagini (8)
Immagini vettoriali vs immagini bitmap
Vantaggi
Possibilità di esprimere i dati in un formato che occupi meno spazio.
• Possibilità di ingrandire l'immagine arbitrariamente, senza che si verifichi una
perdita di risoluzione.
Svantaggi
• Realizzazione non intuitiva dell’ immagine
• Molte risorse richieste per trattare l’ immagine
Codifica binaria dei segnali video (1)
Un segnale video è codificato come una sequenza di immagini, frame
(fotogrammi), che si susseguono ad una velocità costante nel tempo.
La velocità a cui si susseguono i frame (frame rate) è misurata in frame per
secondo (fps)
Per il fenomeno della "persistenza della visione" il cervello umano interpreta una
sequenza di immagini che si succedono come un flusso continuo in movimento
Il frame rate deve essere abbastanza alto affinché l’occhio umano non percepisca
il passaggio da un fotogramma all’altro (almeno 23 fps)
Codifica binaria dei segnali video (2)
• Il segnale video digitale è costituito da una sequenza di frame, almeno 23 fps.
• Nel caso della TV digitale con frame costituiti da 720 576 pixel, in cui i colori
sono rappresentati da 8X3 bit e il frame rate è 25 fps
o un secondo di video corrisponde a: 720 x 576 x 8 x 3 x 25 bit pari a circa
30MB
o una ora di video corrisponde a 30MB x 3600 = 108 GB
• Pertanto il segnale video non compresso richiede enormi quantità di dati da
memorizzare o trasmettere.
• E’ possibile ridurre la quantità di dati mediante la compressione o codifica
video.
Codifica binaria dei segnali video (3)
• La compressione è la riduzione della quantità di dati per trasmettere la
stessa informazione (testo, audio, video).
• La compressione viene realizzata dal compressore o codificatore (coder)
• Per ottenere l’informazione originaria occorre effettuare la decompressione
• La decompressione è effettuata dal decompressore o decodificatore (decoder)
• Spesso i due dispositivi (coder e decoder)
sono realizzati mediante un unico
dispositivo o software (codec)
•
Esistono decine di codec differenti e ognuno
utilizza
una
diversa
tecnologia
di
compressione, con o senza perdita di dati.
•
Il rapporto tra la quantità di bit da inviare senza e con compressione è
denominato fattore di compressione
Codifica binaria dei segnali video (4)
Per comprimere il segnale video si utilizza la ridondanza presente in esso. Si usa
distinguere:
•
•
•
•
la ridondanza spaziale (la presenza nei singoli fotogrammi di aree omogenee)
la ridondanza temporale (la somiglianza tra fotogrammi consecutivi),
la ridondanza statistica (la dipendenza statistica dei pixel),
la ridondanza psicofisica (legata al fatto che non tutta l’informazione presente nel
video viene effettivamente percepita da un osservatore umano).
Le tecniche di codifica video sfruttano questi tipi di ridondanza, considerando le
prime due classi di ridondanze si parla di codifica:
• Intra-frame (sfruttano le ridondanze all’interno di un fotogramma)
• Inter-frame (sfruttano le ridondanze temporali)
Codifica binaria dei segnali video (5)
Intra-frame
Forniscono un fattore di compressione inferiore, ma richiedono un minor
numero di risorse per effettuare le operazioni di compressione e
decompressione.
Sono le più semplici: ogni fotogramma viene compresso come se fosse una
singola immagine, ad esempio con JPEG o con JPEG2000. Questa operazione
determina la versione “motion” dei vari standard:
Motion-JPEG, Motion-JPEG2000.
Queste tecniche sono concettualmente semplici e sono utilizzate per
applicazioni come il cinema digitale o i programmi di video-chiamate su
computer.
Codifica binaria dei segnali video (6)
Inter-frame
Questo permette fattori di compressioni notevoli, anche se richiede un numero di
risorse notevole.
•
Codifica differenziale
•
Conditional replenishment (CR)
•
Stima e compensazione del movimento
Codifica binaria dei segnali video (7)
Codifica differenziale
Nel caso di codifica differenziale si sfrutta il fatto che fotogrammi consecutivi di
una sequenza video sono molto simili tra loro. Invece di trasmettere il
fotogramma originale si codifica la differenza tra quest’ultimo ed il precedente.
Ad esempio, in un filmato si muovono in genere gli elementi in primo piano,
mentre invece lo sfondo rimane costante.
Codifica binaria dei segnali video (8)
Conditional replenishment (CR)
• La codifica differenziale può essere migliorata tramite il conditional
replenishment.
• L’immagine è divisa in blocchi e per ognuno di essi si verifica se ci sono stati
cambiamenti significativi rispetto al fotogramma precedente.
• Se è così, il blocco è ritrasmesso (modo new), altrimenti si dice che il CR ha
avuto successo, e si può decidere di non trasmettere.
Codifica binaria dei segnali video (9)
Stima e compensazione del movimento
Il modello su cui si basa il CR fallisce in alcune condizioni molto comuni.
Si consideri ad esempio una scena fissa ripresa da una telecamera in
movimento.
Nonostante fotogrammi consecutivi siano molto ridondanti, il CR fallisce quasi
sempre, perché blocchi simili tra loro non si trovano nella stessa posizione
quando si passa da un’immagine alla successiva.
Una soluzione consiste nell’integrare nel modello del segnale dei parametri che
tengano conto del movimento della telecamera.
Questo è ottenuto con le tecniche di stima e compensazione del movimento
(ME, motion estimation e MC, motion compensation).
• La stima del movimento si realizza valutando un insieme di parametri che
descrivono il movimento relativo tra due fotogrammi.
• La compensazione consiste nel produrre una stima accurata del
fotogramma corrente utilizzando i parametri di movimento e il fotogramma di
riferimento.
Codifica binaria dei segnali video (10)
Codec popolari sono:
• MPEG
• XviD / DivX
• H.264
MPEG
Esistono numerose varianti ed estensioni che lo rendono applicabile in
moltissimi contesti.
• Lo standard MPEG-1 è quello utilizzato dai Video CD e supporta un numero
ristretto di dimensioni e di velocità di trasmissione.
• Lo standard MPEG-2 è quello usato nei DVD e nelle trasmissioni digitali
terrestri e satellitari.
• MPEG-4 è uno standard invece destinato a fornire compressioni superiori e
a lavorare a velocità di trasmissione ridotte.
Codifica binaria dei segnali video (10)
XviD / DivX
Mentre il DivX è un codec commerciale, il codec XviD è open source, creato come
alternativa gratuita (oggi anche il codec Divx , anche se commerciale, è gratuito).
Entrambi i codec possono decodificare l'uscita dell'altro poiché entrambi sono basati
sullo standard MPEG-4.
H.264 è il codec più popolare per i video ad alta definizione.
L'H.264 è fino a 2 volte più efficiente della compressione MPEG-4, quindi un file di
uguale qualità occupa la metà dello spazio.
L'H.264 è ora incluso nel codec MPEG-4 part 10 (o AVC) e comprende molteplici
metodi di codifica in un singolo pacchetto.
Codifica binaria dei segnali video (11)
Container
Diversi dai codec sono i container, ossia i formati di file che possono
contenere al loro interno:
•
•
•
•
•
•
audio,
video,
codec,
menu,
sottotitoli e
informazioni varie.
Codifica binaria dei segnali video (12)
I formati video più comuni sono:
AVI (Audio Video Interleave)
Lo standard usato sui PC Windows e sviluppato da Microsoft è stato il primo che
ha introdotto la possibilità di trattare dati di tipo video su PC.
Il formato AVI si basa sul driver MCI (Media Control Interface) sviluppato dalla
Microsoft per il controllo delle periferiche di output. Esso è l’interfaccia software
che si inserisce tra l’applicazione specifica e la scheda grafica, consentendo una
corretta interazione tra hardware e software.
Sono supportati moltissimi codec di compressione (SuperMac, Cinepak, MS
Video 1 e M-Jpeg) , garantendo una vasta generalità di utilizzo.
Codifica binaria dei segnali video (13)
MOV
Si tratta del formato video proprietario della Apple, oltre che della principale
estensione multimediale per sistemi di tipo Mac OS.
Data la diffusione e la popolarità del sistema targato Apple, il formato MOV è
ormai un'alternativa da tenere in considerazione per ogni tipo di calcolatore.
Gli algoritmi di compressione presenti in QuickTime (principale software per la
visualizzazione dei file in formato MOV) sono principalmente tre, distinti per tipo
di dato:
• ilJPEG (immagini),
• il video compressor (video, l’algoritmo di compressione è della Apple), e
• l’animation compressor (animazioni, computer graphic).
Il formato MOV è ottimo per prodotti multimediali (ad
esempio CD-ROM).
Può essere utilizzato anche per piccoli progetti
di Digital Video.
Codifica binaria dei segnali video (14)
FLM (ADOBE FILMSTRIP)
Formato proprietario della Adobe. Tutti i fotogrammi della sequenza
compilata sono raccolti in un unico file, a varie risoluzioni. La dimensione su
disco di tale file è enorme, quindi la riproduzione risulta estremamente lenta.
MPEG (Moving Picture Experts Group)
Formato standard che si avvale dell'algoritmo di compressione MPEG. La
qualità video è decisamente buona considerando il rapporto di compressione
(fino a 200:1).
D’altra parte, la compressione avviene in un tempo molto maggiore del tempo di
riproduzione e inoltre per la sua struttura interna (ridondanza spaziale) non è
possibile l'elaborazione frame-by-frame.
Esistono diverse versioni con qualità standard diverse: MPEG1, MPEG2 e
MPEG4.
Codifica binaria dei segnali video (15)
MKV (Matroska)
E’ il formato più adattabile, progettato per supportare quasi tutti i formati audio
o video, molto efficiente dal punto di vista della qualità, compatibile con il codec
H.264 e ottimo per i film in HD.
MP4
Tale formato consigliato per caricare video su internet in siti come vimeo o
YouTube
che
lo
considerano
il
formato
preferito.
Il contenitore MP4 utilizza la codifica MPEG-4 o H.264 per i video e l'AAC o
AC3 per l'audio.
E' un formato ampiamente supportato dalla maggior parte dei lettori
multimediali commerciali ed è il container più comune utilizzato per i video
online.
VOB (DVD Video Object )
E’ il container dei DVD
Codifica binaria dei segnali video (16)
DV e HDV (DIGITAL VIDEO )
Si tratta di un formato per la videoripresa completamente digitale molto adatto a
procedure di editing. La compressione interna è simile al Motion Jpeg (MJpeg).
Il formato HDV ne costituisce l'evoluzione in alta definizione e nasce da un
accordo
circa
le
specifiche
tecniche
tra
quattro
colossi
come Canon, JVC, Sharp e Sony.
Il DV è un formato digitale nativo, cioè nasce digitale sin dal momento della
ripresa e rimane tale sino al momento di riversare il videoclip.
Col DV al momento della ripresa, sul nastro DV viene registrato il videoclip
digitale, una sequenza di bit che si devono soltanto trasferire su computer senza
nessuna ricompressione e al massimo con l'aggiunta di un header (intestazione)
che permette di riconoscere il file come multimediale.
Un file DV potrebbe presentarsi come un AVI (su PC), ma in realtà è sempre un
DV.
Codifica binaria dei segnali video (16)
Xvid4PSP è un software gratuito per la conversione dei video da un formato ad un
altro.
Salvatore Aranzulla
http://www.videohelp.com/software/XviD4PSP
Codifica dei segnali elettrici (1)
Il mondo che ci circonda è caratterizzato da una serie di proprietà
fisiche, grandezze o quantità.
es. temperatura, pressione, umidità, etc.
Le grandezze fisiche possono essere continue o discrete.
• Le grandezze continue variano uniformemente e possono assumere un
numero infinito di valori.
• Le grandezze discrete variano bruscamente da un valore all'altro.
Esse si basano su eventi elementari che assumono
valori distinti. Per esempio, è possibile avere 2 o 3
bambini in una famiglia. Analogamente quando si
tira un dado ci si aspetta un valore da 1 a 6.
Grandezze discrete possono essere prodotte
dall’uomo.
Spesso è conveniente rappresentare le grandezze fisiche mediante segnali
elettrici, in cui una grandezza elettrica tensione o corrente descrive le
variazioni della grandezza fisica. Anche i segnali elettrici possono essere
continui o discreti.
Codifica dei segnali elettrici (2)
Segnali continui sono spesso indicati come segnali analogici. Esempi di segnali
analogici sono:
• le uscite dei generatori di segnale,
• i segnali prodotti da strumenti di misura,
• i segnali prodotti da un microfono,
• I segnali elettrici per sistemi audio
Tali segnali possono essere suddivisi in segnali periodici e non periodici.
L’analisi dei circuiti che operano con tali
segnali può essere ricondotta alle
tecniche adottate nel caso di segnali
sinusoidali, mediante lo sviluppo in serie
e la trasformata di Fourier.
Codifica dei segnali elettrici (3)
•
•
I segnali discreti sono spesso indicati come segnali digitali
Molti segnali digitali assumono solo due valori e sono indicati come segnali
binari
I segnali binari possono essere ottenuti:
• da un processo di campionamento del segnale analogico e
• da un processo di quantizzazione.
Codifica dei segnali elettrici (4)
Processo di campionamento
In tale processo sono rilevati i valori del segnale analogico in determinati istanti.
In altre parole il segnale è campionato (misurato), ad intervalli di tempo regolari:
• Ampiezza misurata in un dato istante di tempo = campione
• Il numero di misure effettuate in un secondo definisce la frequenza di
campionamento (Hertz, Hz)
Codifica dei segnali elettrici (4)
Per ottenere dei campione utili a ricostruire il segnale analogico, deve essere
soddisfatto il teorema di Nyquist.
Teorema di campionamento di Nyquist la frequenza di campionamento deve
essere maggiore di due volte la massima frequenza presente nel segnale da
campionare (Frequenza di Nyquist)
La frequenza di campionamento
è determinato dalla massima
frequenza presente nel segnale
e non dalla più alta frequenza di
interesse.
Codifica dei segnali elettrici (5)
Processo di quantizzazione
• In tale processo i valori dei campioni sono approssimati ad un numero finito di
possibili valori. Tale numero è 2n, dove n è il numero di bit usati per la codifica
binaria di ogni campione.
• In tale processo è introdotto l’errore di quantizzazione, funzione
o del numero di bit utilizzati e
o dall’intervallo di possibili valori del segnale elettrico (Vrange).
• La risoluzione è data da 2n.
• La risoluzione elettrica è la differenza tra due livelli adiacenti Vrange/(2n-1) .
• L’errore di quantizzazione massimo è metà della risoluzione elettrica.
Codifica dei segnali elettrici (6)
Ad esempio, si consideri un segnale analogico (da 0 a 9V) da convertire in un
segnale digitale a 4 bit.
• Un numero binario 4 bit può rappresentare 24=16 valori diversi da 0 a 15.
• La risoluzione della conversione è 9V/15 = 0.6V.
• Se il valore analogico è uguale a nx0.6V (n = 0 15) la conversione è diretta.
• Quando il valore della tensione è tra due livelli incrementali successivi, è scelto
il livello più vicino ed è selezionato il codice relativo.
Codice binario
Ingresso analogico = 6.2V:
- valore tra 6V e 6.6V,
- più vicino a 6V,
- è scelto il codice 1010
relativo a 6 V e
- l’errore di quantizzazione
è pari a 0.2V.
1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000
6.2V
0.0 0.6 1.2 1.8 2.4 3.0 3.6 4.2 4.8 5.4 6.0 6.6 7.2 7.8
Ingresso analogico (V)
8.4 9
Codifica dei segnali elettrici (6)
L’accuratezza della ricostruzione dipende
o dalla frequenza di campionamento
o dal numero di bit usati per rappresentare ogni campione
Maggiore accuratezza significa maggior quantità di memoria occupata
Codifica dei segnali elettrici audio
Anche per i suoni si possono utilizzare tecniche di compressione per ridurre
l’occupazione di memoria.
Algoritmi lossy per suoni:
sfruttano il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad
altri di volume maggiore sono poco udibili e possono essere eliminati.
Tale fenomeno è utilizzato nello standard Mp3 (Moving Picture Expert Group-1/2
Audio Layer 3, noto anche come MPEG-1 Audio Layer III o MPEG-2 Audio Layer
III).
Il metodo di compressione Mp3 permette di ridurre le dimensioni dei file di un
fattore 12 rendendo il download 12 volte più veloce.
Codifiche standard
• WAV (Windows).
• AIFF (Audio Interchange File Format, Apple).
• MIDI: Codifica le note e gli strumenti che devono eseguirle è efficiente,
ma solo opera solo sulla musica e non sulla voce.
• MP3: Grande diffusione, molto efficiente