Capitolo 2 Codifica del segnale vocale - InfoCom
Capitolo 2 Codifica del segnale vocale - InfoCom
Capitolo 2 Codifica del segnale vocale - InfoCom
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Capitolo</strong> 2<br />
<strong>Codifica</strong> <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong><br />
Contenuto<br />
2.1 Rappresentazione <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> in forma numerica<br />
Il <strong>segnale</strong> <strong>vocale</strong> é il <strong>segnale</strong> analogico convogliato dalla variazione temporale <strong>del</strong>la pressione acustica generata da un<br />
parlatore. Si assume che le principali caratteristiche <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> siano note al lettore, cosi’ come le principali<br />
tecniche di codifica. Tuttavia, tali aspetti saranno qui richiamati per completezza.<br />
Il <strong>segnale</strong> <strong>vocale</strong>, come altri segnali di interesse nelle comunicazioni, è originariamente definito in un dominio<br />
e codominio continui. Supponendo che il <strong>segnale</strong> <strong>vocale</strong> x(t) presenti caratteristiche di limitazione in banda nella<br />
banda [−w, w], esso è perfettamente ricostruibile a partire dalla conoscenza dei suoi campioni estratti a passo di<br />
campionamento 1/2w. La discretizzazione <strong>del</strong> dominio <strong>del</strong> <strong>segnale</strong> pertanto non comporta perdita di informazione.<br />
Ciascun campione xn rappresenta un’istanza di una variabile aleatoria analogica X, e può essere rappresentato<br />
utilizzando un codominio discreto ˜X unicamente a patto di tollerare una perdita di informazione irreversibile sul<br />
<strong>segnale</strong> originario. In altre parole, una volta rappresentata la variabile aleatoria continua originale in un dominio<br />
quantizzato, essa sarà ricostruibile con una distorsione residua. Per una fissata misura di distorsione d(x, ˜x), si<br />
dice Rate-Distortion function R(D) il minimo numero di bit di informazione necessari per rappresentare la variabile<br />
aleatoria X con una distorsione media inferiore o al piú uguale a D, ovvero E {d(x, ˜x)} ≤D. É interessante<br />
osservare che, per funzione di distorsione quadratica d(x, ˜x) =(x − ˜x) 2 , a paritá di varianza σ 2 x la variabile aleatoria<br />
piú costosa da codificare é la variabile aleatoria Gaussiana, per la quale si ha Rg(D) = 1<br />
2 log2( σ2 x<br />
D ) per D ≤ σ2 x e<br />
Rg(D) =0per D ≥ σ2 x . Si supponga dunque di tollerare una perdita di informazione dovuta alla quantizzazione<br />
dei valori di ampiezza <strong>del</strong> <strong>segnale</strong> da rappresentare. Lo schema completo di campionamento e ricostruzione2.1<strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> é rappresentato in Fig.2.5.<br />
2.1Si osservi che, laddove il teorema <strong>del</strong> campionamento richiederebbe una ricostruzione mediante un filtro passabasso ideale, uno schema<br />
operativo tipicamente realizza la ricostruzione mediante la cascata di un convertitore digitale analogico a tenuta, approssimante un filtro con<br />
risposta impulsiva rettangolare, seguito da un filtro passabasso con enfasi alle alte frequenze.<br />
3
4 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
Rate Distortion function<br />
Nel contesto <strong>del</strong>la Teoria <strong>del</strong>l’informazione, la Rate distortion function si definisce come la minima informazione<br />
mutua media fra X e la sua rappresentazione ˜X = Q(X), sotto il vincolo che la distorsione media sia inferiore o<br />
al piú uguale a D, ovvero<br />
R(D) def<br />
= min<br />
Q, E{d(x,˜x)}≤D I(X, ˜X) =H(X) − H(X| ˜X)<br />
dove H(X) ha il significato di entropia nel caso di variabile aleatoria X discreta e di entropia differenziale nel<br />
caso di variabile aleatoria X continua. Per funzione di distorsione quadratica d(x, ˜x) =(x− ˜x) 2 , la rate distortion<br />
function di una variabile aleatoria Gaussiana di varianza σ2é data da:<br />
⎧<br />
⎪⎨ 1<br />
Rg(D) = 2<br />
⎪⎩<br />
log2( σ2 x<br />
D ) D ≤ σ2 x<br />
0 D ≥ σ 2 x<br />
La Rg(D) rappresenta un upper-bound per la R(D) di una v.a. di varianza σ2 . D’altro canto, é possibile derivare<br />
anche lo Shannon Lower Bound<br />
R(D) ≥ H(X) − 1<br />
2 log2 (2πeD)<br />
Lo studio puó essere esteso al caso di N v.a. Gaussiane indipendenti di varianza σ2 n,n=0,...N− 1. In tal caso,<br />
la R(D) congiunta assume la forma:<br />
Rg(θ) = <br />
<br />
max 0, 1<br />
2 log2( σ2 n<br />
θ )<br />
<br />
n=0,N−1<br />
Dg(θ) = <br />
n=0,N−1<br />
min σ 2 n,θ) <br />
Analoghe argomentazioni possono essere applicate a processi aleatori Gaussiani. Infatti, per il Teorema di Rappresentazione<br />
spettrale, un processo aleatorio stazionario Gaussiano a valor medio nullo e di densitá spettrale di<br />
potenza Px(ejω ) puó essere rappresentato come sovrapposizione di processi Gausssiani indipendenti nelle diverse<br />
bande di frequenza, e si ha<br />
<br />
Rg(θ) = max 0, 1<br />
2 log Px(e<br />
2<br />
jω <br />
)<br />
dω<br />
θ<br />
<br />
Dg(θ) = min Px(e jω ),θ dω<br />
2.2 Quantizzatore di Lloyd-Max, codifica PCM e ADPCM<br />
La quantizzazione dei valori di ampiezza <strong>del</strong> <strong>segnale</strong> introduce una distorsione media che dipende non solo dal numero<br />
di bit per campione ma anche dalla modalitá di assegnazione <strong>del</strong> valore di ampiezza ai livelli discreti ammissibili,<br />
ovvero alla scelta degli intervalli di quantizzazione <strong>del</strong> <strong>segnale</strong>.<br />
Supponiamo che la distorsione sia misurata da una funzione quadratica, e che ciascun campione sia rappresentato<br />
da b =log2Lbits. Siano qk,k=0, ···L − 1 i valori di ampiezza assumibili dalla variabile quantizzata ˜x e θk,k=<br />
0, ···L gli estremi dei corrispondenti L intervalli di decisione <strong>del</strong> quantizzatore. Il quantizzatore ottimo secondo il
2.2. QUANTIZZATORE DI LLOYD-MAX, CODIFICA PCM E ADPCM 5<br />
Rate Distortion function: esempio di calcolo<br />
Figura 2.1: Calcolo <strong>del</strong>la rate distortion di 4 variabili Gaussiane indipendenti di assegnata varianza.<br />
Figura 2.2: Schema completo di campionamento e ricostruzione.<br />
criterio <strong>del</strong>l’errore quadratico medio, cioé quello per cui é minima la distorsione quadratica D =E (x − ˜x) 2 é
6 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
individuato dalla soluzione congiunta, rispetto alle incognite θk e qk, <strong>del</strong>le equazioni 2.2<br />
dove<br />
⎧<br />
⎨ θk+1 =(qk + qk+1)/2<br />
⎩ qk =E{x|θk ≤ x ≤ θk+1}<br />
E {x|θk ≤ x ≤ θk+1} =<br />
θk+1<br />
θk<br />
θk+1<br />
θk<br />
x · pX(x)dx<br />
pX(ξ)dξ<br />
(2.2.1)<br />
Tale quantizzatore prende il nome di quantizatore di Lloyd-Max.<br />
A titolo di esempio consideriamo il caso che la variabile d’aleatoria di ingresso sia uniforme nell’intervallo<br />
[−A, A] e che sia quantizzata a L =2b livelli mediante quantizzazione uniforme. In tal caso la distorsione quadratica<br />
misurata é<br />
D = (2A/2b ) 2<br />
=<br />
12<br />
A2<br />
3 2−2b<br />
e diminuisce di 6 dB per ogni bit per campione aggiuntivo2.3 .<br />
Nel caso di codifica <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> gli standard internazionali di rappresentazione <strong>del</strong> <strong>segnale</strong> in termini di<br />
campionamento e quantizzazione adottano metodologie di quantizzazione subottima. In particolare, nella definizione<br />
degli standard sono stati considerati alcuni aspetti operativi. In primo luogo, il <strong>segnale</strong> può presentare una dinamica<br />
elevata, <strong>del</strong>l’ordine di 60dB; per riprodurre tanto i livelli piú alti che quelli piú bassi di <strong>segnale</strong> con un livello<br />
comparabile di rapporto <strong>segnale</strong> rumore di quantizzazione sarebbe necessario avvicinare i livelli di quantizzazione<br />
dei valori piú bassi distanziandoli per i valori piú elevati. In secondo luogo, la realizzazione di un quantizzatore non<br />
uniforme è più complessa rispetto a quella di un quantizzatore uniforme. Tali aspetti sono tenuti in conto operando<br />
una trasformazione non lineare ˆx = η(x) dei valori x in ingresso ad un quantizzatore uniforme; la trasformazione<br />
espande i valori piú bassi e comprime i valori piú elevati ed é invertita all’uscita <strong>del</strong> quantizzatore. Un quantizzatore<br />
uniforme, preceduto e seguito da trasformazioni nonlineari prende il nome di compandor (compressor-expander)<br />
2.2 Infatti, la distorsione puó essere scritta come D = L−1<br />
k=0<br />
θk+1 θ (x−qk)<br />
k<br />
2px(x) . Derivando tale espressione rispetto a θk e qk e uguagliando<br />
a zero tali derivate, i.e. ∂D/∂θk =0,∂D/∂qk =0,k =0, ···L − 1, si ricavano le espressioni sopra riportate.<br />
2.3 La diminuzione di distorsione di circa 6 dB per bit si osserva anche nella R(D) di una v.a. Gaussiana, in cui D = σ 2 /2 2R . A titolo<br />
indicativo, la formula “6 dB per bit” puó essere applicata nella grande generalitá dei casi.
2.2. QUANTIZZATORE DI LLOYD-MAX, CODIFICA PCM E ADPCM 7<br />
Figura 2.3: Azione <strong>del</strong> compandor: quantizzazione uniforme di η(x) e risultante quantizzazione non uniforme di x.<br />
La codifica Pulse Code Modulation <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong>, adottata nella Raccomandazione ITU-T G.711, si basa<br />
sul filtraggio <strong>del</strong> <strong>segnale</strong> nella banda [−4KHz,4KHz], sul suo campionamento alla frequenza di 8KHz, e sulla<br />
quantizzazione a 8 bit di ciascun campione. La quantizzazione é operata a valle <strong>del</strong>la espansione non lineare <strong>del</strong><br />
<strong>segnale</strong> (legge A)<br />
⎧<br />
⎪⎨<br />
Ax<br />
0 ≤ x ≤ 1/A<br />
1+lnA<br />
ηA(x) =<br />
(2.2.2)<br />
⎪⎩<br />
1+lnAx<br />
1/A ≤ x ≤ 1<br />
1+lnA<br />
con valore tipico A =87.6.<br />
Analogamente, lo standard PCM americano2.4 adotta l’espansione non lineare (legge µ)<br />
ηµ(x) =<br />
ln(1 + µx)<br />
ln(1 + µ)<br />
0 ≤ x ≤ 1 (2.2.3)<br />
In tal modo, una rappresentazione a livelli uniformi sull’asse ηA(x) (ηµ(x)) equivale a una rappresentazione a<br />
livelli non uniformi sull’asse x. Tali rappresentazioni richiedono 64Kb/s e presentano rapporto <strong>segnale</strong> rumore di<br />
quantizzazione comparabile a quello ottenibile con una quantizzazione uniforme a 13 bit per campione.<br />
2.4 Laddove necessario, il transcoding fra A-law e µ-law é a carico <strong>del</strong>la rete µ.
8 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
Figura 2.4: Legge A: ηA(x) vs x.<br />
I campioni adiacenti estratti dal <strong>segnale</strong> <strong>vocale</strong> a 8KHz presentano un certo livello di correlazione, ovvero una<br />
predicibilitá. Supponendo che al decodificatore siano presenti, all’istante n, un certo numero di campioni quantizzati<br />
˜xn−1, ˜xn−2, ···, é possibile<br />
• effettuare una predizione φ(xn) <strong>del</strong> campione attuale xn a partire dai campioni giá noti al decodificatore<br />
ˆxn = φ(˜xn−1, ˜xn−2, ···)<br />
mediante regole note tanto al lato <strong>del</strong> codificatore che al lato <strong>del</strong> decodificatore,<br />
• valutare l’errore di predizione residuo en<br />
• trasmetterne una versione quantizzata ˜en.<br />
• calcolare il campione quantizzato ˜xn<br />
en = xn − ˆxn<br />
˜xn =ˆxn +˜en<br />
Laddove il predittore φ sia in grado di spiegare la correlazione residua fra i campioni, in modo che l’errore di<br />
predizione residuo en presenti una varianza σ 2 e inferiore alla varianza σ 2 x dei campioni <strong>del</strong> <strong>segnale</strong> di ingresso, esso<br />
può essere rappresentato con un numero inferiore di bit, a paritá di distorsione introdotta sul <strong>segnale</strong> ricostruito. Tale<br />
codifica, di tipo differenziale, puó essere ulteriormente raffinata rendendo i parametri <strong>del</strong> filtro e/o <strong>del</strong> quantizzatore<br />
adattativi alle caratteristiche <strong>del</strong>la sequenza di ingresso.
2.2. QUANTIZZATORE DI LLOYD-MAX, CODIFICA PCM E ADPCM 9<br />
Figura 2.5: Schema di principio <strong>del</strong> DPCM.<br />
Un caso di rilevante interesse teorico ed applicativo é quello in cui la predizione φ é lineare ed effettuata su un<br />
numero finito di campioni<br />
P<br />
ˆxn = −<br />
i=1<br />
secondo il criterio <strong>del</strong> minimo errore quadratico medio, ovvero<br />
aixn−i<br />
min<br />
ai,i=1,···P E (xn − ˆxn) 2<br />
Per il principio di ortogonalitá la precedente equazione si traduce nella condizione di ortogonalitá <strong>del</strong>l’errore allo<br />
spazio <strong>del</strong>le osservazioni E {(xn − ˆxn)xn−i} =0,i=1, ···P , ovvero (vedi Fig. 2.6)<br />
Rx[i] =−<br />
P<br />
akRx[i − k], i=1, ···P<br />
k=1<br />
dove si é posto Rx[i] def<br />
= E{xnxn−i}. La potenza <strong>del</strong>l’errore di predizione PE =E{(xn − ˆxn)xn} puó essere<br />
espressa come<br />
P<br />
PE = Rx[0] + aiRx[−i]<br />
Pertanto i coefficienti <strong>del</strong>lo stimatore lineare ottimo e la potenza <strong>del</strong> residuo di predizione possono essere congiunta-<br />
i=1
10 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
Figura 2.6: Principio di ortogonalitá.<br />
mente calcolati risolvendo il sistema<br />
⎡<br />
⎤ ⎡ ⎤ ⎡ ⎤<br />
Rx[0]<br />
⎢ Rx[1]<br />
⎢<br />
⎣<br />
Rx[−1]<br />
Rx[0]<br />
. ..<br />
···<br />
···<br />
. ..<br />
Rx[−P ] 1 PE<br />
⎥ ⎢ ⎥ ⎢ ⎥<br />
Rx[1 − P ] ⎥ ⎢a1<br />
⎥ ⎢<br />
⎥ ⎢ ⎥ ⎢ 0 ⎥<br />
⎥ ⎢ ⎥ = ⎢ ⎥<br />
⎥ ⎢ .<br />
⎦ ⎣ .<br />
⎥ ⎢ .<br />
⎦ ⎣ .<br />
⎥<br />
⎦<br />
Rx[P ] Rx[P − 1] ··· Rx[0]<br />
0<br />
aP<br />
(2.2.4)<br />
La soluzione <strong>del</strong>le equazioni (2.2.4), dette di Yule-Walker, conduce alla determinazione <strong>del</strong> predittore lineare ottimo<br />
nel senso <strong>del</strong>l’errore quadratico medio2.5 . Osserviamo che la particolare struttura <strong>del</strong>la matrice di autocorrelazione,<br />
che risulta di Toeplitz ed Hermitiana, consente l’adozione di algoritmi veloci per la soluzione <strong>del</strong> sistema, e rende<br />
tale approccio utilizzabile anche in applicazioni in tempo reale.<br />
Nello schema DPCM, la potenza <strong>del</strong>l’errore risultante su ˜xn eguaglia la potenza <strong>del</strong>l’errore di quantizzazione<br />
osservato sulla variabile ˜en 2.6 . D’altro canto l’errore di predizione en, pur avendo dinamica nominalmente maggiore<br />
di quella di xn, ha tipicamente potenza minore di quella di xn, epuóessere quantizzato con tecnica PCM utilizzando,<br />
a paritá di distorsione, un minor numero di bit.<br />
Tale approccio é seguito nella codifica Adaptive Differential PCM descritta nella Raccomandazione ITU-T G.726.<br />
In tale Raccomandazione, i coefficienti <strong>del</strong> predittore sono ricavati in modo adattativo a partire dalla sequenza dei<br />
valori ricostruiti ˜xn. Il quantizzatore utilizza una rappresentazione a 4 bit. Inoltre esso presenta livelli di quantizzazione<br />
distribuiti in modo non uniforme; gli intervalli di quantizzazione sono variabili in funzione <strong>del</strong>la velocitá<br />
2.5 A titolo di esempio si osservi che per il predittore ottimo di ordine 1 risulta a1 = −Rx[1]/Rx[0], ovvero ˆxn = Rx[1]/Rx[0] ∗ xn.<br />
2.6 Infatti, en − ˜en = xn − ˆxn − ˜en = xn − (ˆxn +˜en) =xn − ˜xn
2.3. CODIFICA BASATA SU MODELLI 11<br />
di variazione <strong>del</strong> <strong>segnale</strong> di errore ˜en. Si osservi che le regole per l’adattamento <strong>del</strong> predittore e <strong>del</strong> quantizzatore<br />
dipendono da quantitá note al decodificatore e non necessitano <strong>del</strong>la trasmissione di ulteriore informazione. Il bit-rate<br />
risultante per questo tipo di codifica édi32Kb/s.<br />
Predizione e Stima Ottima<br />
Il problema <strong>del</strong>la predizione lineare si inquadra nel problema piú generale <strong>del</strong>la stima lineare di un <strong>segnale</strong> yn a<br />
partire da un insieme di osservazioni xn secondo il criterio <strong>del</strong> minimo errore quadratico medio. In tale scenario, la<br />
stima lineare é realizzata mediante filtraggio ottimo, nel senso che i coefficienti fn <strong>del</strong> filtro che realizza la stima<br />
sono ricavati in modo che la distanza quadratica media fra la stima ˆyn = <br />
i fixn−i disponibile all’uscita <strong>del</strong> filtro<br />
e il <strong>segnale</strong> yn che si vuole ricostruire sia minima. Sia S il supporto (finito o infinito numerabile) su cui é diverso<br />
da zero il filtro che realizza la stima. I coefficienti <strong>del</strong> filtro ottimo sono quelli che minimizzano<br />
C def<br />
=E (yn − ˆyn) 2 <br />
=E (yn − <br />
fixn−i) 2<br />
<br />
=E y 2 n + <br />
fifkxn−ixn−k − 2 <br />
<br />
i∈S<br />
ovvero quelli che annullano<br />
⎧<br />
∂C<br />
⎨ <br />
=0=E 2<br />
∂fm ⎩<br />
k∈S,k=m<br />
i∈S k∈S<br />
fkxn−mxn−k +2fmxn−mxn−m − 2ynxn−m<br />
In altre parole il filtro ottimo verifica la relazione<br />
<br />
fkRx[m − k] =Ryx[m]<br />
k∈S<br />
⎫<br />
⎬<br />
⎭<br />
i∈S<br />
fiynxn−i<br />
Per questa scelta <strong>del</strong> filtro, l’errore (yn − ˆyn) é ortogonale in senso statistico, ovvero incorrelato, alle osservazioni:<br />
<br />
E {(yn − ˆyn)xn−m} =E ynxn−m − <br />
<br />
= Ryx[m] − <br />
fkRx[m − k] =0<br />
k∈S<br />
fkxn−kxn−m<br />
Ció sipuóinterpretare geometricamente osservando che la stima lineare (appartenente, cioé, al sottospazio <strong>del</strong>le<br />
osservazioni) ottima nel senso <strong>del</strong>l’errore quadratico medio, é quella per cui l’errore é ortogonale al sottospazio<br />
<strong>del</strong>le osservazioni (Principio di Ortogonalitá).<br />
Tale criterio di stima ottima é di rilevante interesse in diverse applicazioni, quali l’equalizzazione di <strong>segnale</strong>, il<br />
restauro di immagini sfocate, l’interpolazione o estrapolazione di serie aleatorie. Un caso particolare di stima ottima<br />
lineare é quello in cui lo spazio <strong>del</strong>le osservazioni é costituito da P campioni di una serie aleatoria xn−1, ···,xn−P<br />
ed il <strong>segnale</strong> che si desidera stimare é il campione attuale <strong>del</strong>la serie, xn. In tal caso, il problema di stima prende il<br />
nome di predizione lineare; infatti, ponendo S = {1, 2 ...P}, Ryx[m] =Rxx[m] e aggiungendo l’equazione per<br />
il calcolo <strong>del</strong>la potenza <strong>del</strong>l’errore di predizione, le equazioni normali coincidono con le sopra esposte equazioni di<br />
Yule Walker.<br />
2.3 <strong>Codifica</strong> basata su mo<strong>del</strong>li<br />
La codifica basata su mo<strong>del</strong>li scaturisce da due ordini di considerazioni.<br />
k∈S
12 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
In primo luogo il <strong>segnale</strong> <strong>vocale</strong> presenta, su intervalli temporali <strong>del</strong>’ordine di 10, 20, 30 ms, caratteristiche<br />
spettrali quasi stazionarie e prevalente concentrazione <strong>del</strong>l’energia intorno ad un numero limitato di frequenze. Infatti,<br />
il <strong>segnale</strong> é formato nelle cavitá risonanti <strong>del</strong> cavo orale e nasale a partire dal flusso d’aria proveniente dai polmoni<br />
attraverso le corde vocali. Nell’osservazione di una finestra temporale di <strong>segnale</strong> di circa 20 ms, l’andamento spettrale<br />
osservato presenta un insieme di picchi, mo<strong>del</strong>labili come l’uscita di un filtro, opportunamente eccitato da un <strong>segnale</strong><br />
di ingresso. Per questioni di natura computazionale, il filtro é di solito descritto come un filtro a soli poli.<br />
In secondo luogo, l’orecchio umano puó percepire come intellegibile, accettabile o anche soddisfacente una<br />
rappresentazione <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> che, mimando il mo<strong>del</strong>lo di formazione <strong>del</strong> <strong>segnale</strong> stesso, ne riproduca le<br />
caratteristiche spettrali a breve termine. Pertanto, nella rappresentazione <strong>del</strong> <strong>segnale</strong> come uscita di un filtro, il<br />
<strong>segnale</strong> di ingresso attuale puó essere rappresentato in forma variamente approssimata, dando luogo a diversi livelli di<br />
qualitá. Adottando tali principi per la codifica <strong>del</strong> <strong>segnale</strong>, i parametri codificati saranno costituiti dalla descrizione<br />
dei parametri <strong>del</strong> filtro e <strong>del</strong>la versione approssimata <strong>del</strong> <strong>segnale</strong> di ingresso. In linea di principio, l’informazione<br />
piú sensibile é costituita dai parametri che descrivono il filtro, che influiscono maggiormente sulla resa <strong>del</strong> <strong>segnale</strong><br />
ricostruito.<br />
Dati i campioni xn <strong>del</strong> <strong>segnale</strong> da codificare, essi sono rappresentati tramite il seguente mo<strong>del</strong>lo di generazione<br />
xn = −<br />
P<br />
i=1<br />
aixn−i + vn<br />
(2.3.5)<br />
dove i coefficienti ai sono scelti in modo da riprodurre i picchi spettrali <strong>del</strong> <strong>segnale</strong> xn, e si calcolano in funzione<br />
dei valori <strong>del</strong>l’autocorrelazione <strong>del</strong>la sequenza xn Rx[i] =E{xnxn−i}. Il termine vn rappresenta il <strong>segnale</strong> di<br />
eccitazione <strong>del</strong> filtro che genera xn.<br />
Ai fini <strong>del</strong> calcolo dei coefficienti ai, si ipotizza in primo luogo che il <strong>segnale</strong> di generazione vn sia costituito da<br />
una serie bianca, ovvero E {vnvn−k} = σ2 vδk; il mo<strong>del</strong>lo in (2.3.6) prende il nome di mo<strong>del</strong>lo Autoregressivo, e la<br />
sequenza di campioni xn é detta serie aleatoria autoregressiva (AR)<br />
Serie aleatoria autoregressiva<br />
Si dice serie aleatoria autoregressiva (AR) una serie aleatoria osservata all’uscita di un filtro a soli poli quaando<br />
all’ingresso é applicato un rumore bianco. Una serie aleatoria AR xn é pertanto descritta da una equazione alle<br />
differenze finite<br />
P<br />
xn = −<br />
(2.3.6)<br />
i=1<br />
aixn−i + vn<br />
con E {vnvn−k} = σ2 vδk. La autocorrelazione di una serie AR soddisfa un’equazione analoga a quella di generazione<br />
<strong>del</strong>la serie AR. Lo spettro di densitá di potenza di una serie AR é esprimibile come<br />
Px(e jω )=<br />
σ 2 v<br />
|1+ P<br />
k=1 ake jωk | 2<br />
I parametri ak,k =1, ···P governano la posizione dei P picchi di Px(ejω ) in [−π, π)]. In definitiva, la serie<br />
aleatoria AR costituisce un mo<strong>del</strong>lo matematico potente e compatto, governato cioé da un numero di parametri<br />
limitato, ovvero i coefficienti ai, i=1, ···P e la varianza σ2 v.<br />
Tale mo<strong>del</strong>lo consente di valutare analiticamente i coefficienti ai, che influenzano direttamente i picchi spettrali<br />
<strong>del</strong> filtro, in funzione <strong>del</strong>la autocorrelazione <strong>del</strong>la sequenza xn. Una volta ricavati i valori ai, sotto questa ipotesi
2.3. CODIFICA BASATA SU MODELLI 13<br />
semplificativa, la codifica basata su mo<strong>del</strong>li opera una rappresentazione piú appropriata <strong>del</strong> <strong>segnale</strong> vn. I diversi<br />
algoritmi di codifica basata su mo<strong>del</strong>li adottano rappresentazioni differenti di tale <strong>segnale</strong>.<br />
L’equazione di generazione <strong>del</strong> mo<strong>del</strong>lo AR consente di esprimere i coefficienti di autocorrelazione <strong>del</strong>la sequenza<br />
xn in funzione dei coefficienti ai, i=1, ···P<br />
ovvero<br />
E {xnxn−k} = −<br />
Rx[k] =−<br />
P<br />
aiE {xn−ixn−k} +E{vnxn−k}<br />
i=1<br />
P<br />
i=1<br />
Rx[k] =Rx[−k],k
14 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
Algoritmo di Levinson-Durbin<br />
Un efficiente algoritmo ricorsivo per il calcolo dei coefficienti ap e <strong>del</strong>la varianza σ2 v é l’algoritmo di Levinson-<br />
Durbin, qui di seguito schematicamente riportato. L’algoritmo si basa sul calcolo dei coefficienti di mo<strong>del</strong>li di<br />
ordine crescente<br />
• Inizializzazione<br />
• Mo<strong>del</strong>lo di ordine i<br />
aii = −<br />
σ 2 v0 = ˆRx(0)<br />
a11 = − ˆ Rx(1)/ ˆ Rx(0)<br />
σ 2 v1 = σ 2 v0(1 − a 2 11)<br />
ˆRx(i)+ <br />
k=1,i−1 ai−1 k ˆ Rx(i − k)<br />
σ 2 vi−1<br />
aik = ai−1 k − aii ai−1 i−k, k=1, ···i − 1<br />
σ 2 vi = σ 2 vi−1(1 − a 2 ii)<br />
(2.3.9)<br />
(2.3.10)<br />
dove con ˆ Rx(n) si sono indicati i valori stimati <strong>del</strong>l’autocorrelazione <strong>del</strong> <strong>segnale</strong> a partire dai campioni disponibili.<br />
I coefficienti aii sono anche detti coefficienti di riflessione. Un algoritmo alternativo é rappresentato dall’algoritmo<br />
di Schur, che valuta direttamente i coefficienti di riflessione aii e si presta alla realizzazione in parallelo.<br />
2.3.1 Regular Pulse Excitation- Long Term Prediction - Linear Prediction Coding<br />
La codifica RPE-LTP-LPC é adottata nel GSM e conduce ad un bit-rate di sorgente di 13Kb/s. La codifica é<br />
applicata su trame di 20 ms, corripondenti a 160 campioni estratti a 8KHz. Il filtro LPC é un filtro a soli poli<br />
<strong>del</strong>l’ottavo ordine, ed é determinato in modo da minimizzare l’energia <strong>del</strong> <strong>segnale</strong> di eccitazione mediante l’algoritmo<br />
di calcolo detto di Shur. Il <strong>segnale</strong> di eccitazione é calcolato mediante filtraggio (Short Term Filtering). Il <strong>segnale</strong><br />
cos´ ottenuto presenta una ridondanza dovuta ad una pseudoperiodicitá. Tale ridondanza é rimossa suddividendo la<br />
trama di 160 campioni in quattro blocchi (ciascuno di 40 campioni). Per ogni blocco, si individua una predizione,<br />
identificata in termini di ritardo e fattore di scala, a partire dai blocchi precedenti. Il residuo di predizione é quindi<br />
filtrato passabasso e sottocampionato di un fattore 1/3. Si sceglie una <strong>del</strong>le tre sequenze sottocampionate; poiché la<br />
fase scelta puó variare da blocco a blocco, essa é trasmessa insieme al valore di picco <strong>del</strong> residuo. Infine, le ampiezze<br />
degli impulsi residui sono codificate con tecnica ADPCM. L’allocazione dei bit fra le diversi componenti codificate<br />
é sintetizzata in Tabella 2.1. É interessante osservare che i parametri aii che descrivono il filtro LPC sono trasmessi<br />
1+aii<br />
.<br />
codificando i relativi Log Area Ratio definiti come LARii def<br />
=log 10<br />
2.3.2 Adaptive Multirate Narrowband Codec<br />
1 − aii<br />
Il codec AMR é adottato nel sistema UMTS2.8 e possiede la proprietá di consentire l’adattamento <strong>del</strong> bit-rate alla<br />
disponibilitá <strong>del</strong>le risorse di rete con un intervallo temporale di 20 ms. Il bit-rate puó variare da un massimo di<br />
2.8Al codec AMR Narrowband si affianca il codec AMR wideband, adottato per servizi di streaming e di messaggistica multimediale, che<br />
estende la banda a 507000Hz, ed opera a 9 differenti bit-rate fra i 6.6 e i 23.85 kbit/s, su campioni estratti a 16 KHz in un intervallo di 20ms.
2.3. CODIFICA BASATA SU MODELLI 15<br />
Informazione<br />
Parametri LPC (8) 36<br />
Ritardo LTP 28<br />
Guadagno LTP 8<br />
Fase di sottocampionamento 8<br />
Ampiezza massima 24<br />
Ampiezze campioni (13) 156<br />
Totale 260<br />
Tabella 2.1: Bit codificati per ogni trama di 20 ms nel GSM RPE-LTP-LPC.<br />
Figura 2.7: Schema <strong>del</strong> vocoder LPC-LTP-RPE adottato nel GSM.<br />
12.2Kb/s fino ad un minimo di 4.75Kb/s. La codifica si basa su un mo<strong>del</strong>lo LPC descritto da un filtro a soli poli<br />
di ordine 10. Nella modalitá a12.2Kb/s il filtro é calcolato su un intervallo di 10 ms 2.9 . I parametri dei filtri sono<br />
codificati quantizzando e trasmettendo <strong>del</strong>le funzioni ad esse correlate, dette Linear Spectral Pairs, che presentano<br />
caratteristiche piú favorevoli rispeto alla quantizzazione. 2.10 Il <strong>segnale</strong> di eccitazione <strong>del</strong> filtro LPC è suddiviso in<br />
Esso si basa sui principi di Linear Prediction Coding, e per motivi di complessitá computazionale codifica separatamente i contenuti al di sotto e<br />
al di sopra di 6400 Hz.<br />
2.9Ogni 120 ms, sono calcolati due filtri, a partire da due stime <strong>del</strong>la funzione di autocorrelazione ottenute estraendo i campioni mediante due<br />
distinte finestre, relative principalmente al secondo e al quarto sottoblocco dei 160 campioni. I parametri dei due filtri cos´ ottenuti sono utilizzati<br />
per generare, mediante interpolazione temporale, i parametri relativi al primo e al terzo sottoblocco.<br />
2.10 Le Linear Spectral Pairs sono definite come LSPi =cosωi, dove ωi sono le radici dei polinomi P (z) =A(z)+z −(P +1) A(z −1 ),Q(z) =<br />
A(z) − z −(P +1) A(z −1 ), con A(z) =1− <br />
i=1,P −1 aiz −i .
16 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
quattro blocchi e rappresentato come la somma di due sequenze estratte rispettivamente da un codebook adattativo ed<br />
uno di innovazione. Il codebook adattativo é costituito dai precedenti campioni <strong>del</strong> <strong>segnale</strong> di ingresso stesso; nella<br />
ricerca <strong>del</strong>la parola di codice adattativo si utilizzano anche ritardi non interi, corrispondenti a sequenze interpolate, e<br />
si privilegiano le sequenze di campioni piú prossime. Il codebook fisso é costituito da sequenze di impulsi sparsi di<br />
valore ±1, diversamente allocati. I campioni relativi al sottoblocco attuale sono descritti come una somma pesata di<br />
una versione interpolata temporalmente dei campioni al sottoblocco precedente e di un <strong>segnale</strong> di eccitazione estratto<br />
dal codebook fisso. In dipendenza <strong>del</strong> rate, cambia la rappresentazione dei pesi utilizzati nella somma, che possono<br />
essere ulteriormente predetti temporalmente e compressi. In decodifica sono inoltre esplicitamente previste alcune<br />
operazioni di post-processing finalizzate a ridurre gli artefatti introdotti dalla codifica.<br />
Il codec AMR presenta ulteriori caratteristiche di flessibilitá, consentendo di codificare trame che non contengano<br />
voce ad un bit-rate inferiore rispetto alle trame che contengono <strong>segnale</strong> <strong>vocale</strong>. Questa funzionalitá é realizzata<br />
ricorrendo ad un modulo di rivelazione di attivitá <strong>vocale</strong> (Voice Activity Detector, VAD) al trasmettitore, che decide<br />
per ogni trama di 20 ms se il <strong>segnale</strong> é presente o no. Inoltre, vengono stimati, codificati e trasmessi alcuni parametri<br />
(Silence Descriptor, SID) che descrivano le caratteristiche <strong>del</strong> rumore di fondo. Al decodificatore tali parametri<br />
sono utilizzati per generare un rumore sintetico (confort noise) che dia la percezione di comunicazione attiva. La<br />
flessibilitá <strong>del</strong> codec puó essere sfruttata al livello radio per ridurre le risorse trasmissive impiegate, riducendo il<br />
consumo di potenza <strong>del</strong> terminale e di conseguenza aumentando la durata <strong>del</strong>la batteria e diminuendo il livello di<br />
interferenza sugli altri utenti.<br />
Figura 2.8: Schema <strong>del</strong> vocoder AMR adottato nell’UMTS.
2.4. TRASMISSIONE DEL SEGNALE VOCALE SU CANALI AFFETTI DA ERRORI 17<br />
2.4 Trasmissione <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> su canali affetti da errori<br />
Nelle precedenti sezioni sono state esaminati i principi di codifica <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> e i principali standard2.11 ad essi<br />
relativi. Su canali di comunicazione affetti da errori, l’informazione trasmessa deve essere opportunamente protetta.<br />
Da un punto di vista teorico, la codifica di sorgente e di canale ottima potrebbero essere derivate separatamente.<br />
Tuttavia le tecnica di codifica di sorgente e di canale in uso sono ben lungi dal massimo teorico e traggono beneficio<br />
dall’essere progettate congiuntamente.<br />
Per ció che riguarda le codifiche come la PCM e la ADPCM, che mirano a riprodurre la forma d’onda <strong>del</strong> <strong>segnale</strong><br />
nel tempo, l’informazione compressa da trasmettere non é a priori differenziabile in termini di una maggiore o minore<br />
importanza ai fini <strong>del</strong>la qualitá percettiva <strong>del</strong> <strong>segnale</strong> ricostruito. Pertanto la codifica di canale é operata in modo<br />
indifferenziato sui dati di sorgente, secondo modalitá che dipendono dal mezzo trasmissivo.<br />
Per ció che riguarda invece la codifica dei dati compressi mediante codifica basata su mo<strong>del</strong>li, i parametri codificati<br />
rivestono importanza differente ai fini <strong>del</strong>la riproduzione <strong>del</strong> <strong>segnale</strong>. I parametri piú sensibili sono quelli relativi ai<br />
coefficienti <strong>del</strong> filtro LPC, che determinano la posizione dei picchi in frequenza <strong>del</strong> <strong>segnale</strong> ricostruito.<br />
Il sistema GSM distingue, nell’ambito dei 260 bit relativi ad una trama, fra 182 bit che necessitano di protezione<br />
e 78 bit che non necessitano di protezione. Inoltre, nel sottoinsieme dei bit da proteggere sono individuati i 50<br />
bit piú importanti. Pertanto, a questi ultimi é preliminarmente applicata una codifica a blocco mediante l’aggiunta<br />
di 3 bit di paritá 2.12 . Tutti i bit <strong>del</strong>la prima classe vengono poi codificati mediante un codice convoluzionale di<br />
rapporto di codice Rc =1/2. Essi vengono poi trasmessi insieme ai bit <strong>del</strong>la seconda classe, per un totale di<br />
(50+3+132+4)× 2 + 78 = 456 bit, corrispondenti ad un bit-rate dopo codifica di canale pari a 456/20ms =<br />
22.8Kb/s. In trasmissione é effettuato un interleaving su 8 Normal Burst GSM, a loro volta inseriti in 8 trame, in<br />
un assegnato time slot; nei primi quattro Time Slot, i dati sono multiplati insieme ai dati <strong>del</strong>la trama precedente;<br />
nei rimanenti quattro Time Slot, i dati sono multiplati insieme ai dati <strong>del</strong>la trama successiva2.13 . Complessivamente,<br />
l’interleaving si estende su un intervallo temporale di 4ms × 8 = 32ms. Osserviamo l’effetto di un errore di<br />
trasmissione. Esso é con elevata probabilitá rivelato se compare fra i bit piú significativi; puó o meno essere rivelato<br />
se compare fra i bit meno significativi. In presenza di errori rivelati sui 50 bit piú importanti, la trama ricevuta<br />
é scartata, e possono essere messe in atto strategie di mascheramento basate su tecniche predittive. In ogni caso,<br />
essendo noto e prefissato il numero di bit <strong>del</strong>la trama <strong>vocale</strong>, la decodifica puó riprendere dalla trama immediatamente<br />
successiva a quella errata.<br />
Nella trasmissione sul sistema UMTS, si osserva la differenza sostanziale che lo strato di Radio Resource Management<br />
puó pienamente fruire <strong>del</strong>la flessibilitá di adattamento <strong>del</strong> bit-rate trasmissivo <strong>del</strong>la sorgente, grazie alla<br />
possibilitá di allocare codici CDMA di differente Spreading Factor. Per altro, questo consente di sfruttare tecniche<br />
di Voice Activity Detection e di codifica di parametri di Confort Noise in modo piú sistematico ed efficiente di<br />
quanto possibile nel caso GSM. Tutti i bit <strong>del</strong>la trama <strong>vocale</strong> sono trasmessi utilizzando un codice convoluzionale<br />
con rapporto di codice variabile fra 1/2 e 1/5, come rappresentato in Tab.2.2; un certo numero di bit, variabile in<br />
2.11I sistemi GSM e UMTS colloquiano fra di loro e con la rete GSTN mediante opportune operazioni di Transcoding, realizzate rispettivamente<br />
dalla TRAnscoding Unit nella GERAN e dal Media Gateway nella UMTS Core Network. La TRAU supporta la transcodifica fra il Full Rate a<br />
13 Kb/s e Half Rate a 5.6 Kb/s, basato su tecnica CELP, Enhanced Full Rate a 12.2 Kb/s, AMR NB e PCM. Il Media Gateway supporta tutte le<br />
modalitá di transcoding <strong>del</strong> TRAU piú quelle fra IP, ATM, PCM.<br />
2.12Ai rimanenti 132 bit <strong>del</strong>la prima classe sono applicati 4 tail bit al fine di chiudere il successivo codificatore convoluzionale su uno stato noto.<br />
2.13Ciascun Normal Burst convoglia 456/8=57 bit codificati relativi alla trama attuale, che occupano alternativamente i bit pari e i bit dispari dei<br />
Normal Burst appartenenti a TS successivi; i rimanenti 57 bit, costituiti rispettivamente dai bit dispari e dai bit pari, sono occupati dai bit <strong>del</strong>le<br />
trame temporalmente adiacenti.
18 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />
Figura 2.9: Normal Burst <strong>del</strong> GSM.<br />
funzione <strong>del</strong> bit-rate selezionato, é codificato preliminarmente con dei bit di paritá. I parametri di Confort Noise<br />
sono trasmessi utilizzando un codice convoluzionale di Rc =1/4. Alternativamente, puó essere utilizzata la modalitá<br />
cosiddetta half rate, in cui i rapporti di codice variano fra 1/2 e 1/3.<br />
Bit Rate Code Rate<br />
12.2 1/2<br />
10.2 1/3<br />
7.95 1/3<br />
7.4 1/3<br />
6.7 1/4<br />
5.9 1/4<br />
5.15 1/5<br />
4.75 1/5<br />
Tabella 2.2: Esempi di rapporti di codice per codifica di <strong>segnale</strong> <strong>vocale</strong> nel sistema UMTS.
Bibliografia<br />
[1] M.G. Di Benedetto, P. Mandarini, “Comunicazioni Elettriche”, Edizioni Ingegneria 2000.<br />
[2] G. Scarano, “Dispense di elaborazione <strong>del</strong>le immagini”, infocom.uniroma1.it/˜gaetano.<br />
[3] 3GPP Technical Specification TS 06.10, “Full rate speech; Transcoding”, www.3gpp.org.<br />
[4] 3GPP Technical Specification TS 05.03, “Channel coding”, www.3gpp.org.<br />
[5] 3GPP Technical Specification TS 26.090, “Adaptive Multi-Rate speech codec: Transcoding functions”, www.3gpp.org.<br />
[6] 3GPP Technical Specification TS 25.212, “Multiplexing and Channel Coding (FDD)”, www.3gpp.org.<br />
[7] 3GPP Technical Specification TS 25.222, “Multiplexing and Channel Coding (TDD)”, www.3gpp.org.<br />
[8] 3GPP Technical Specification TS 25.944, “ Channel Coding and Multiplexing Examples”, www.3gpp.org.<br />
19