Elaborazione e trasmissione di informazioni multimediali/A3
![]() |
![]() | ![]() | A4. Tecniche PCM ![]() |
---|
La voce umana naturale (fino a 12 kHz) dovrebbe essere rappresentata da un segnale digitale caratterizzato da un bit rate <math>R</math> molto elevato:
- <math>R = N \times F_c = 16 \; \text{bit/campione} \times 24000 \; \text{Hz} = 384000 \; \text{b/s}</math>
dove:
- la frequenza di campionamento <math>F_c</math> è imposta dal teorema di Shannon:
- <math>F_c > 2 \times 12000 = 24000 \; \text{Hz}</math>
- come numero di bit <math>N</math> si può assumere quello adottato per i CD audio:
- <math>N = 16 \; \text{bit/campione}</math>
Un bit rate troppo elevato può essere un problema importante dal punto di vista di:
- capacità di trasmissione in rete:
- originariamente i modem potevano trasmettere centinaia/poche migliaia di bit al secondo;
- oggi è importante risparmiare banda sul backbone dove passano tante telefonate;
- potenza di elaborazione dei microprocessori.
- Bit rate tipici di segnali digitali non compressi
- musica non compressa (CD audio):
- mono:
- <math>R=16 \; \text{bit/campione} \times 44100 \; \text{Hz} \simeq 715 \; \text{kb/s}</math>
- stereo:
- <math>R \simeq 1,4 \; \text{Mb/s}</math>
- mono:
- musica compressa (MP3):
- <math>R\leq 320 \; \text{kb/s}</math>
- video a risoluzione 640×480:
- <math>R=640 \; \text{px} \times 480 \; \text{px} \times 25 \; \text{fps} \times 24 \; \text{bpp} \simeq 184 \; \text{Mb/s}</math>
- voce in banda telefonica:
- <math>R=12 \; \text{bit/campione} \times 8000 \; \text{Hz} = 96 \; \text{kb/s}</math>
Compressione[modifica | modifica sorgente]
Il segnale digitale in uscita dal convertitore analogico/digitale, prima di essere trasmesso o archiviato, attraversa tipicamente due blocchi:
- codifica di sorgente: si occupa di codificare il segnale digitale in maniera compatta, al fine di ridurne il bit rate, tramite tecniche di compressione che conoscono il contenuto del segnale (ad es. MP3);
- codifica di canale: si occupa di codificare i bit da trasmettere in maniera robusta tramite tecniche di protezione (rilevamento e recupero) dagli errori che lavorano su sequenze di bit indipendentemente dal contenuto del segnale (ad es. codice di Hamming).
Classificazione delle tecniche di compressione[modifica | modifica sorgente]
- lossless (senza perdite) (es. RAW, FLAC, ZIP): il segnale decompresso <math>y \left[ n \right]</math> è identico al segnale originario <math>x \left[ n \right]</math> → i due segnali <math>y \left[ n \right]</math> e <math>x \left[ n \right]</math> sicuramente sono percettivamente indistinguibili indipendentemente dall'ascoltatore;
- lossy (con perdita) (es. MP3, JPEG, MPEG-2): il segnale decompresso <math>y \left[ n \right]</math> è diverso dal segnale originario <math>x \left[ n \right]</math> → i due segnali <math>y[n]</math> e <math>x[n]</math>:
- devono essere almeno percettivamente simili secondo la statistica (cioè percepiti come simili dalla maggior parte delle persone);
- se il bit rate è sufficientemente elevato, possono essere percepiti come indistinguibili.
rapporto di compressione | formati comuni | applicazioni | |
---|---|---|---|
lossless | da 2 a 3 volte | RAW, FLAC, ZIP |
|
lossy | da 10 a 100 volte | MP3, JPEG, MPEG-2 |
|
Caratteristiche dei codificatori multimediali[modifica | modifica sorgente]
Bit rate[modifica | modifica sorgente]
- constant bit rate (CBR): il bit rate è costante → la codifica è più semplice da implementare, ma meno efficiente;
- variable bit rate (VBR): il bit rate è variabile nel tempo:
- source-driven: il bit rate cambia in base alla variabilità del segnale (es. telefonata: voce/silenzio);
- network-driven: il bit rate cambia in base alla banda disponibile del canale (es. YouTube).
Complessità[modifica | modifica sorgente]
La complessità di un codificatore può essere quantificata in base a:
- numero di operazioni della CPU al secondo, espresso in MIPS (unità di misura indipendente dalla CPU);
- quantità di memoria RAM occupata durante l'esecuzione dell'algoritmo;
- quantità di memoria ROM richiesta per memorizzare il codice (ad es. tabelle di quantizzazione).
Ritardo[modifica | modifica sorgente]
Il ritardo di un codificatore è dato dalla somma di due componenti:
- ritardo computazionale: dipende dalle prestazioni della tecnologia (ad es. potenza della CPU) in uso, e può essere ridotto con hardware più potente;
- ritardo algoritmico: dipende dall'algoritmo per come è stato progettato, e non può essere ridotto se non modificando l'algoritmo (ad es. ritardo di bufferizzazione per algoritmi che lavorano su segmenti di campioni).
Robustezza[modifica | modifica sorgente]
La robustezza può essere intesa in due modi:
- robustezza ai segnali di ingresso: quanto un codificatore tarato per una specifica categoria di segnale è sensibile a un segnale diverso da quello atteso, ad esempio:
- musica invece di voce a un codificatore vocale;
- voce + rumore di fondo (es. finestrino aperto);
- robustezza agli errori di trasmissione: anche la codifica di sorgente si preoccupa di proteggere il bitstream compresso dagli errori comprimendo in modo robusto:
- robustezza agli errori su singoli bit;
- robustezza alle perdite di pacchetti (frame): ad esempio il codificatore ILBC di Skype fu progettato per Internet (rete IP con perdite).
Qualità[modifica | modifica sorgente]
L'elaborazione dei segnali multimediali guarda non tanto al rapporto segnale/rumore SNR, quanto alla percezione del segnale multimediale da parte dell'essere umano.
|
La valutazione delle prestazioni di un algoritmo di compressione si basa principalmente sulla valutazione percettiva: si chiede a un numero statisticamente significativo di persone di valutare il risultato della decodifica.
Voce[modifica | modifica sorgente]
La voce decodificata deve essere caratterizzata da:
- l'intelligibilità (indispensabile): capire la sequenza di fonemi che viene pronunciata dall'interlocutore;
- una sufficiente qualità (naturalezza): capire informazioni sul parlatore (come identità, sesso, età...).
Come misurare la naturalezza?
- ad ogni ascoltatore viene fatta ascoltare la voce decodificata e viene chiesto di esprimere un giudizio soggettivo da 1 (pessimo) a 5 (eccellente);
- si calcola il MOS che è la media di tutti i voti.
Il valore 4 del MOS corrisponde alla toll (= pedaggio) quality, ovvero alla qualità percepita come uguale a quella della telefonia analogica tradizionale e che la telefonia digitale deve avere come minimo perché la gente sia disposta ad acquistare il servizio. Esempi di codificatori che raggiungono la toll quality sono: PCM lineare, G.711, ADPCM G.726.
Per ottenere un risultato significativo dal punto di vista statistico, cioè affetto da un margine di errore sufficientemente piccolo (<math>\approx 0,1 \; \text{MOS}</math>), occorre che:
- il campione di ascoltatori sia il più possibile rappresentativo del pubblico degli utenti di telefonia:
- il numero di ascoltatori deve essere significativo (<math>\approx 40 \div 50</math>);
- il campione di ascoltatori deve essere il più possibile eterogeneo (ad es. età, sesso...);
- il campione di stimoli sia il più possibile rappresentativo del segnale:
- gli ascoltatori devono essere sottoposti a un insieme statisticamente rappresentativo di tutti gli stimoli possibili (ad es. voce maschile/femminile, lingue diverse...) (≈ centinaia).
Audio[modifica | modifica sorgente]
Il campione di ascoltatori è composto da esperti (golden ears) in grado di compiere un'analisi critica.
L'obiettivo è raggiungere la trasparenza (indistinguibilità) percettiva: l'ascoltatore non riesce a distinguere l'originale dal risultato della decodifica → il campione di ascoltatori dà un voto statisticamente casuale (50%).
Misure oggettive[modifica | modifica sorgente]
I test soggettivi:
- sono costosi e lenti perché coinvolgono un gran numero di persone;
- non sono completamente affidabili: sono basati sulla statistica.
Recentemente sono nate delle misure oggettive:
- SNR e derivati: sono tecniche rudimentali e poco utili, in quanto due segnali diversi possono suonare simili;
- tecniche oggettive di tipo percettivo (derivate dalla psico-acustica): sono in grado di simulare come il segnale verrà percepito dall'orecchio umano, ma sono usati solo per misure relative (cioè per confronti tra due algoritmi):
- voce: ITU PESQ;
- audio: ITU PEAQ.
![]() |
![]() | ![]() | A4. Tecniche PCM ![]() |
---|