Codifica della voce e dell'audio/Codifica di sorgente

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
Schema a blocchi di un sistema di conversione A/D e D/A con compressore.

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:
  • musica compressa (MP3):
  • video a risoluzione 640×480:
  • voce in banda telefonica:

Compressione[modifica]

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]

  • 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.
Confronto tra le tecniche di compressione lossless e lossy
rapporto di compressione formati comuni applicazioni
lossless da 2 a 3 volte RAW, FLAC, ZIP
  • audiofili che desiderano la massima qualità
  • immagazzinamento dei "master": si evitano compressioni in cascata
  • applicazioni particolari: applicazioni legali, ambito medico, astronomia
lossy da 10 a 100 volte MP3, JPEG, MPEG-2
  • memorizzazione su dischi piccoli
  • trasmissione su canali con poca banda disponibile

Caratteristiche dei codificatori multimediali[modifica]

Bit rate[modifica]

  • 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]

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]

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]

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]

L'elaborazione dei segnali multimediali guarda non tanto al rapporto segnale/rumore SNR, quanto alla percezione del segnale multimediale da parte dell'essere umano.

Viewmag.png Definizione

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]

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?

  1. ad ogni ascoltatore viene fatta ascoltare la voce decodificata e viene chiesto di esprimere un giudizio soggettivo da 1 (pessimo) a 5 (eccellente);
  2. 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]

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]

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.