Codifica della voce e dell'audio/Tecniche PCM: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{Lezione/30 |titoloPrec = Codifica di sorgente |numPrec = A3 |titoloPrecMediaWiki = A3 |titoloCorr = Tecniche PCM |numCorr = A4 |titoloSucc = Tecniche parametriche |numSucc = A5... |
Nessun oggetto della modifica |
||
Riga 1:
{{Codifica della voce e dell'audio}}
Le '''tecniche di quantizzazione {{tooltip|PCM|Pulse Code Modulation}}''' si basano su:
*
*
Le tecniche PCM per la codifica della voce in banda telefonica possono essere suddivise in:
*
** [[#Tecniche PCM senza memoria|
** [[#Tecniche PCM differenziali o predittive|
* [[#Tecniche PCM adattative: adaptive PCM (APCM)|
;Caratteristiche delle tecniche PCM
<ul>
<li class=pro>
<li class=pro>
<li class=pro>
<li class=contro>
</ul>
Line 55 ⟶ 44:
[[File:Logarithmic quantizer characteristic.svg|thumb|Caratteristica ingresso/uscita di un quantizzatore ottimo per la voce.]]
Il quantizzatore uniforme è un [[Codifica della voce e dell'audio/Conversione analogico/digitale#Quantizzatore ottimo|quantizzatore ottimo]] per segnali distribuiti uniformemente sulla zona operativa, ma i segnali audio naturali hanno una distribuzione di probabilità non uniforme. In particolare, la voce ha una funzione distribuzione di probabilità PDF gaussiana fortemente concentrata intorno al valor medio → a parità di qualità, è possibile risparmiare bit utilizzando un quantizzatore avente una distribuzione dei livelli non uniforme:
* intorno all'intensità media il segnale è più probabile → servono livelli più fitti;
* alle basse e alle alte intensità il segnale è meno probabile → i livelli possono essere più radi.
Line 121 ⟶ 110:
L'ordine <math>N</math> deve essere scelto dal compromesso tra:
*
*
** la memoria necessaria per bufferizzare gli <math>N</math> campioni passati;
** la complessità di calcolo.
Line 136 ⟶ 125:
===Codifica predittiva: Linear Predictive Coding (LPC)===
Un approccio alternativo alla codifica differenziale è la '''codifica predittiva''', che affronta un
L'idea delle tecniche predittive è quella di codificare e trasmettere l<nowiki>'</nowiki>'''errore di predizione''' <math>e[n]</math>, cioè la differenza tra il valore effettivo del campione corrente <math>x[n]</math> e il valore predetto <math>\tilde x[n]</math>:
:<math>e[n] = x[n] - \tilde x[n]</math>
<ul>
<li>
<dl><dd><math>\tilde x[n] = f \left( x[n-1] \right) = \alpha x[n-1]</math></dd></dl>
Se <math>\alpha</math> è il coefficiente di correlazione <math>\rho</math> tra il campione predetto <math>\tilde x[n]</math> e il campione effettivo <math>x[n]</math>, l'errore di predizione <math>e[n]</math> è minimizzato e la codifica è ottima;</li>
<li>
<dl><dd><math>\tilde x[n] = f \left( x [n-1], x[n-2], \ldots , x[n-N] \right) = \sum_{i=1}^N \alpha_i x[n-i]</math></dd></dl>
Se i parametri <math>\alpha_i</math> sono i '''coefficienti di predizione lineare''', l'errore di predizione <math>e[n]</math> è minimizzato e la codifica è ottima.</li>
Line 185 ⟶ 174:
;Algoritmo
#
#
#
# si ritorna al passo 1 avanzando la finestra alla sequenza di <math>M</math> campioni successivi.
Il numero <math>M</math> di campioni su cui viene applicato l'algoritmo di codifica scelto è un compromesso tra:
*
*
Siccome il segnale vocale varia approssimativamente da 50 a 100 volte al secondo, è sufficiente aggiornare la scelta dell'algoritmo ottimo:
Line 202 ⟶ 191:
;Vantaggi/svantaggi
<ul>
<li class=pro>
<li class=contro>
<li class=contro>
<li class=contro>
</ul>
{{clear|right}}
Line 216 ⟶ 205:
Riducendo del fondo scala quando possibile, si possono ottenere due risultati:
*
*
;Algoritmo
#
#:<math>\textrm{E} \left[ n_0 \right] = \sum_{i=n_0 - \frac{M}{2}}^{n_0 + \frac{M}{2}} x^2 [i]</math>
#
#
# si ritorna al passo 1.
{{clear|right}}
Line 230 ⟶ 219:
Le tecniche ADPCM introducono nelle tecniche DPCM l'adattività ai cambiamenti nel tempo dell'energia del segnale differenziale:
* DPCM: i valori ottimi dei parametri <math>\alpha_i</math> sono calcolati una volta in fase di progetto, in modo da minimizzare
*:<math>d[n] = x [n] - \sum_{i=1}^N \alpha_i x [n-i] , \quad - \infty < n < + \infty</math>
* ADPCM: i valori ottimi dei parametri <math>\alpha_i</math> sono calcolati di volta in volta per la finestra corrente di <math>M</math> campioni, in modo da minimizzare
*:<math>d[n] = x [n] - \sum_{i=1}^N \alpha_i x [n-i] , \quad n_0 - \frac{M}{2} < n < n_0 + \frac{M}{2}</math>
;Algoritmo
#
#:<math>\textrm{E} \left[ n_0 \right] = \sum_{i=n_0 - \frac{M}{2}}^{n_0 + \frac{M}{2}} d^2 [i]</math>
#
#
# si ritorna al passo 1.
Line 245 ⟶ 234:
;Quantizzatore uniforme
I valori ottimi dei parametri <math>\alpha_i</math> calcolati per la finestra di trasmissione corrente sono numeri reali → oltre ai campioni del segnale stesso, occorre quantizzare anche questi valori per poterli mandare al ricevitore in modo digitale → occorre progettare un quantizzatore uniforme per ognuno dei 10 parametri <math>\alpha_i</math>:
#
#
#
#
#* se è noto a priori il rapporto segnale/rumore SNR desiderato, è facile ricavare il numero di livelli per mezzo della formula:
#*:<math>\text{SNR} = 10 \log_{10}{\frac{\sigma_x^2}{\sigma_e^2}} \; \text{dB}= K + \alpha \frac{X_m}{\sigma_x} + 6N_Q</math>
#* nel caso di segnali multimediali, si usano tanti livelli quanti bastano per ottenere una
;Quantizzatore ottimo
Line 269 ⟶ 258:
==Note==
<references />
[[Categoria:Codifica della voce e dell'audio|Tecniche PCM]]
|