Codifica della voce e dell'audio/Codifica di sorgente
La voce umana naturale (fino a 12 kHz) dovrebbe essere rappresentata da un segnale digitale caratterizzato da un bit rate molto elevato:
dove:
- la frequenza di campionamento è imposta dal teorema di Shannon:
- come numero di bit si può assumere quello adottato per i CD audio:
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:
- stereo:
- mono:
- musica compressa (MP3):
- video a risoluzione 640×480:
- voce in banda telefonica:
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 è identico al segnale originario → i due segnali e sicuramente sono percettivamente indistinguibili indipendentemente dall'ascoltatore;
- lossy (con perdita) (es. MP3, JPEG, MPEG-2): il segnale decompresso è diverso dal segnale originario → i due segnali e :
- 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 Million Instructions Per Second (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.
- percezione
- l'effetto di un segnale tenuto conto di tutto il processo di elaborazione umana (cervello incluso)
- psico-acustica
- in ambito acustico, la disciplina che studia la percezione uditiva
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 (), occorre che:
- il campione di ascoltatori sia il più possibile rappresentativo del pubblico degli utenti di telefonia:
- il numero di ascoltatori deve essere significativo ();
- 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.