Sunteți pe pagina 1din 14

Voice over IP Codarea semnalului vocal

86

Metode de codare a semnalului vocal


Metodele de codare a semnalului vocal se pot clasifica n trei mari categorii, dintre care
dou sunt de baz i o a treia reprezint o combinaie ntre primele dou:
codarea formei de und
codarea sursei de semnal
codarea hibrid
Metodele de codare a formei de und fac abstracie de natura semnalului, fiind, prin
urmare, aplicabile oricrui tip de semnal, nu neaprat de vorbire. Comparativ cu a doua
categorie, aceste metode sunt n general mai robuste n ceea ce privete semnalul de intrare, n
sensul c se comport bine fa de o clas larg de semnale de intrare, incluznd semnalele
audio de tip muzic, dar debitul binar rezultat este mai mare. Ceea ce se codeaz n acest caz
sunt parametrii semnalului ca atare, deosebindu-se, din acest punct de vedere, metode care
codeaz forma de und n domeniul timp, respectiv metode care codeaz forma de und n
domeniul frecven. Codarea se poate face utiliznd metode de cuantizare scalar, care
codeaz fiecare eantion al semnalului vocal n mod independent fa de eantioanele vecine,
sau metode de cuantizare vectorial, care codeaz simultan mai multe eantioane ale
semnalului vocal, grupate ntr-un vector. n domeniul frecven, codarea se poate face
descompunnd semnalul n subbenzi, sau folosind diferite transformri ale semnalului.
Codarea poate fi non-parametric sau parametric, dup cum se aplic direct semnalului vocal
sau unei reprezentri parametrice a acestuia, bazate n general pe transformri unitare sau
modele ale semnalului. Dintr-un alt punct de vedere, codarea poate fi cu memorie, respectiv
fr memorie, dependent de modul n care regulile de codare in cont sau nu in cont de
valorile trecute ale eantioanelor de intrare sau ieire.
Metodele de codare a sursei de semnal realizeaz o reprezentare parametric a sursei de
semnal vocal, codnd acest semnal cu ajutorul parametrilor sursei, sau, cu alte cuvinte,
simulnd, ntr-un fel sau altul, mecanismul natural de producere a semnalului vocal. Din acest
motiv, codoarele din aceast categorie sunt desemnate prin termenul generic vocoder (voice
coder). Fa de metodele din prima categorie, aceast clas de metode asigur n general un
debit binar mai redus, dar performanele codrii se degradeaz puternic pentru semnale de alt
natur dect cele vocale. n cazul acestor metode, pentru etapa de codare se mai folosete i
termenul de analiz, deoarece n aceast etap, prin analiza semnalului vocal, se extrag
parametri care l reprezint, iar pentru etapa de decodare se folosete termenul de sintez.
Analiza presupune prelucrarea semnalului vocal n sensul extragerii parametrilor modelului,
care apoi sunt transmii la decodor. Determinarea parametrilor prin care se reprezint modelul
se poate face n bucl deschis sau n bucl nchis. n cel de-al doilea caz, codorul include o
replic a decodorului, justificnd denumirea de analiz-prin-sintez. Modelarea sursei
semnalului vocal st la baza celor mai cunoscute metode de codare, dintre care unele
reprezint standarde n domeniu. De remarcat c au fost propuse unele modele denumite
articulatorii, care modeleaz direct mecanismul uman de producere a vorbirii naturale, fiecare
organ component al acestui mecanism fiind explicit reprezentat n model. Dei aceste modele
ar putea produce un semnal vocal natural la un debit binar foarte redus, exist dificulti n
extragerea parametrilor articulatorii ai modelului din secvena de semnal vocal aplicat la
intrare. Parametrii care caracterizeaz modelul, la rndul lor, se pot cuantiza folosind oricare
dintre metodele cunoscute, fie scalare, fie vectoriale, sau combinaii ale acestora.
Metodele de codare hibride mbin eficiena vocoderelor n ceea ce privete rata de bit cu
calitatea codorului pentru forma de und i asigur n acest mod o calitate bun la o rat de bit
medie sau mic. Codarea hibrid folosete un model pentru producerea semnalului vocal, la
fel cu metodele de codare a sursei, dar semnalul de excitaie pentru acest model este codat cu
metodele folosite de codoarele de form de und. n aceast categorie se nscriu codoarele
care folosesc analiza prin sintez, din familia vocoderelor LPC, la care semnalul de excitaie

87

Voice over IP Codarea semnalului vocal

este reprezentat de impulsuri multiple (MPLP), impulsuri regulate (RPELP), coduri (CELP)
sau sum de vectori (VSELP).
n figura 1 se reprezint situarea celor trei categorii de metode pe o scar logaritmic a
debitului binar realizat, indicndu-se totodat i calitatea semnalului vocal obinut.
Calitate [MOS]
5

Codarea formei
de und

Codarea
hibrid

Codarea sursei
(vocoder)

3
2

Debit binar
[Kbps]

1
2

16

32

64

Fig. 1. Calitatea subiectiv funcie de debitul binar

Toate metodele de codare a semnalului vocal realizeaz o compresie a semnalului i din


acest punct de vedere sunt cunoscute dou categorii de metode de compresie: compresia cu
pierderi i compresia fr pierderi. Aproape toate metodele de codare folosite n mod curent
pentru codarea semnalului vocal realizeaz o compresie cu pierderi. Evident este de dorit ca
aceste pierderi s fie ct mai mici, iar efectul lor asupra calitii semnalului obinut dup
decodare s nu fie perceptibil, sau, n cel mai ru caz, s nu fie deranjant. n acest sens, un rol
important l are cunoaterea mecanismului percepiei naturale a sunetelor de ctre sistemul
auditiv uman i realizarea codorului dup criterii perceptuale.
Sunt cunoscute ns i metode de codare a semnalului vocal care realizeaz o compresie
fr pierderi, cu aplicabilitate la codarea semnalelor audio pentru transmisiuni de nalt
calitate.
De remarcat c metodele de compresie fr pierderi, utilizate pentru arhivarea datelor i
programelor pentru calculatoarele personale (ARJ, ZIP, RAR), ofer o rat de compresie
foarte redus pentru semnalele vocale sau semnalele audio n general, comparativ cu alte
tipuri de date. Astfel, dac pentru un fiier de tip document (.doc) se poate atinge prin arhivare
o rat de compresie de 1:10, pentru un fiier de tip audio (.wav), rata de compresie nu
depete 1:1,2.
1. Codarea formei de und
1.1 Codarea n domeniul timp
1.1.1 Codarea scalar:
PCM uniform,
PCM neuniform (cu compresie pas de cuantizare neuniform) - scar logaritmic
pentru pasul de cuantizare (legile de compresie i A).
PCM diferenial (DPCM).
Codorul delta (modulator delta), este un caz particular al codorului DPCM, n care
diferena ntre dou eantioane succesive este codat doar pe un bit.
Schemele codorului i decodorului DPCM sunt prezentate n figura 2.a, respectiv figura
2.b i conin un predictor pe termen scurt P(z), descris de relaia:
p

P ( z ) = ai z i
i =1

88

Voice over IP Codarea semnalului vocal

s(n)

e(n)

e(n)

+
s (n)

e(n) +

s(n)

+
P(z)

P(z)
(a) Codor

(a) Decodor

Fig. 2. Codorul i decodorul PCM diferenial

Codorul DPCM cuantizeaz diferena dintre eantionul curent i valoarea prezis a


acestuia, calculat cu ajutorul predictorului P(z), diferen numit reziduu de predicie d(n):

d (n) = s(n) s (n) .


Deoarece reziduul de predicie d(n) are o gam dinamic mai mic dect s(n), pentru
cuantizarea cu aceeai eroare vor fi necesari mai puini bii. nglobnd n codor un deocodor,
semnalul reconstituit s(n) este cunoscut la codor i este folosit pentru a calcula reziduul de
predicie i, deoarece conform schemei se poate scrie:
s( n) = d ( n) + s ( n) .

rezult c eroarea de cuantizare fcut la codarea semnalului s(n) este egal cu eroarea fcut
pentru a coda semnalul d(n), fr ca precizia predictorului s conteze:
e( n) = s ( n) s( n) = d ( n) d ( n) .

Eantionul s (n) este estimatul eantionului curent s(n) i este obinut din p valori
trecute ale acestuia. Cuantizorul calculeaz eroarea e(n) ca diferen dintre eantionul curent
i estimatul su, o cuantizeaz i transmite valoarea cuantizat e(n) la recepie. Pentru a
reconstitui eantionul curent, eroarea e(n) este adunat eantionului estimat.
ADPCM cu debitul binar de 32 kbii/secund - standardul G.721,
ADPCM cu debite de 24 kbps sau 48 kbps - standardul G.723.
1.1.2. Codarea vectorial
Compresia semnalului vocal prin codare vectorial presupune codarea simultan a unui
set de date (eantioane succesive de semnal) grupate ntr-un vector. Pentru aceasta semnalul
vocal se mparte n cadre i se consider c eantioanele dintr-un cadru formeaz un vector.
1.2 Codarea n domeniul frecven
Aceste tipuri de codificare a formei de und exploateaz redundana semnalului n
domeniul frecven. Posibilitatea reducerii debitului binar al semnalului const n structura
spectrului de putere pe timp scurt a semnalului vocal i n unele particulariti ale urechii
umane n perceperea sunetelor.
1.2.1 Codarea n subbenzi
Codorul n subbenzi divide banda de frecvene a semnalului de intrare n mai multe
subbenzi folosind un banc de filtre trece-band. Semnalul de la ieirea fiecrui filtru este
eantionat i codat; rezultatul codrii este multiplexat n vederea transmiterii. La recepie,

89

Voice over IP Codarea semnalului vocal

Banda 1
s[n]

QMF
analiza

Banda 2

Codor
ADPCM
Codor
ADPCM

Multiplexor

semnalele sunt demultiplexate, decodate (demodulate), i prin nsumare cu ajutorul unor filtre
se obine un semnal care aproximeaz semnalul original.
Standardul G.722: semnal audio de 7 kHz la un debit binar de 64 kbps pentru
teleconferin n reeaua ISDN. Banda audio este mprit n dou subbenzi. Codarea n cele
dou subbenzi se face folosind tehnica ADPCM: subbanda de frecvene joase este codat la
48 kbps, iar subbanda de frecvene nalte este codat la 16 kbps. Codorul G.722 include o
schem de alocare dinamic a biilor i un canal auxiliar de date. Schema bloc a codorului i
decodorului n subbenzi CCITT G.722 este reprezentat n figurile 3 (codorul) i 4
(decodorul).

ieire

Inserie
date

64 Kbii/sec

intrare

Extragere
date

Demultiplexor

Fig. 3. Codorul n subbenzi G.722

Decodor
ADPCM

Banda 1

Decodor
ADPCM

Banda 2

QMF

s[n]

sinteza

mod
Fig. 4. Decodorul n subbenzi G.722

1.2.2 Codarea prin transformri ale semnalului


Acest tip de codare a semnalului vocal folosete o transformare unitar ale crei
componente sunt codate n vederea transmiterii iar la recepie dup decodare se face
transformarea invers pentru refacerea semnalului original.
Posibilitatea reducerii debitului binar ntr-o astfel de codare deriv din proprietatea
transformrii unitare de a produce componente aproape necorelate, care pot fi codate
independent, cu un numr variabil de bii, funcie de importana lor. n plus, se poate exploata
faptul c unele din aceste componente au variaii lente n timp.
Se cunosc mai multe transformri discrete care se pot folosi pentru acest tip de codare:
transformata Fourier discret (DFT), transformata cosinus discret (DCT), transformata
Walsh-Hadamard (WHT), transformata Karhunen-Loewe (KLT).
Dintre acestea, transformata Kahunen-Loewe este optimal, n sensul c furnizeaz
componente maxim decorelate pentru orice semnal de intrare, dar volumul mare de calcule
necesare limiteaz folosirea ei.
Transformata Walsh-Hadamard este deosebit de avantajoas din punct de vedere al
simplitii calculelor, avnd n vedere forma particular a matricii de transformare, care
const numai din valorile +1 i 1.

Voice over IP Codarea semnalului vocal

90

1.2.3 Codarea perceptual a semnalelor audio


Aceast categorie de metode de codare, cunoscut i sub numele de compresie audio, s-a
dezvoltat n legtur cu aplicaiile multimedia, n scopul de a obine o reprezentare digital
comprimat a semnalelor audio de nalt fidelitate, n vederea stocrii sau transmiterii. Banda
audio acoperit este cuprins ntre 100 Hz i minimum 15 kHz, mult mai larg dect banda
semnalului vocal din transmisiunile de tip telefonic. Obiectivul declarat al acestor metode de
compresie este de a obine un semnal audio de foarte bun calitate, care s nu poat fi
difereniat de semnalul original.
Codarea propriu-zis a semnalului se face folosind unii dintre algoritmii prezentai
anterior (codarea n subbenzi, codarea prin transformri, etc.), iar cuantizarea rezultatelor se
face pe un numr variabil de bii, avnd n vedere principiile psihoacustice specifice
mecanismului auzului uman (codare perceptual).
Principiile psihoacustice pe care se bazeaz codarea perceptual pot fi rezumate astfel:
pragul absolut de audibilitate al urechii umane reprezint presiunea sonor minim a
undei acustice care este perceput de auzul uman, n funcie de frecven,
banda critic, definit ca banda de frecven la care percepia subiectiv a sunetului
se modific abrupt,
mascarea simultan a sunetelor: un sunet puternic mascheaz un sunet mai slab,
mascarea temporal: un sunet puternic, abrupt, introduce regiuni de pre-mascare i de
post-mascare n timp, regiuni n care sunetele slabe nu sunt percepute,
Alte metode de codare n domeniul frecven:
1.2.4. Codarea utiliznd analiza i sinteza sinusoidal
1.2.5. Codarea folosind transformata Fourier pe termen scurt
1.2.5. Vocoderul de faz
2. Codarea sursei de semnal
Aceast categorie de metode de codare a semnalului vocal se bazeaz pe modelul
producerii semnalului vocal, fiind codate separat cele dou componente ale modelului,
respectiv sursa de excitaie i tractul vocal. Din acest motiv, metodele din categoria codrii
sursei de semnal sunt specifice semnalului vocal, iar dispozitivul care realizeaz codarea se
mai numete i vocoder (voice coders). Spre deosebire de metodele de codare a formei de
und, codarea sursei de semnal asigur o calitate bun la un debit binar relativ redus, dar
performanele vocoderelor se degradeaz pentru alte tipuri de semnale dect semnalul vocal.
n aceast categorie de metode care codeaz sursa de semnal, se ncadreaz i vocoderul cu
predicie liniar, care va fi prezentat n detaliu, n cele ce urmeaz fiind prezentate cteva
vocodere de pionierat n domeniu.
2.1. Vocoderul canal
Vocoderul canal propus de Dudley este, din punct de vedere istoric, cea mai veche
metod de analiz i sintez a semnalului vocal bazat pe prelucrarea semnalelor electrice
(1939), folosind reprezentarea spectrului semnalului ca produs ntre caracteristica tractului
vocal i spectrul sursei de excitaie. Tractul vocal este reprezentat prin nfurtoarea spectral
a semnalului vocal, extras cu un banc de filtre cu 16 20 de canale. Numrul de canale
reprezint un compromis ntre fineea reprezentrii i complexitatea codorului.
Semnalul de la ieirea fiecrui filtru este redresat i aplicat unui filtru trece jos, cu banda
de trecere de 20 Hz, considerat ca fiind suficient pentru a reproduce evoluia temporal a
anvelopei spectrale a semnalului vocal.

91

Voice over IP Codarea semnalului vocal

Sinteza presupune circuite de multiplicare n care se realizeaz produsul dintre


nfurtoarea spectral i semnalul de excitaie, care poate fi, n funcie de natura semnalului
sonor/nesonor, zgomot alb sau impulsuri periodice, urmate de filtre trece band identice cu
cele de analiz pentru fiecare canal.
Schema bloc a vocoderului canal este prezentat n figura 5.
200 300 Hz

Detector

200 300 Hz

FTJ
20 Hz

300 450 Hz

Detector

FTJ

s(n)

300 450 Hz

(n
)

20 Hz

2800 3200 Hz

Detector

FTJ

2800 3200 Hz
20 Hz

Sonor/nesonor
Generator
impuls

F0

Generator
zgomot

Fig. 5. Vocoderul canal

Alte metode de codare n domeniul frecven:


2.2. Vocoderul formantic
2.3. Vocoderul homomorfic
2.4. Predicia liniar
Predicia liniar este metoda predominant folosit n codarea semnalului vocal la debit
binar redus, datorit simplitii calculelor i posibilitii de reprezentare cu bun precizie a
parametrilor caracteristici ai semnalului vocal. Predicia liniar permite att extragerea
redundanei din semnalul vocal, ct i construcia unui model pentru mecanismul de
producere a vorbirii naturale.
Ecuaiile de predicie liniar
Conform modelului de predicie liniar, se poate considera c pe durata unui cadru de
semnal vocal de N eantioane, eantionul curent s(n) al semnalului vocal este obinut la ieirea
unui sistem ca urmare a semnalului de excitaie u(n) aplicat la intrare:
p

k =1

l =0

s (n) = ak s ( n k ) +G bl u (n l ), b0 = 1 ,

(1)

n care {ak } , {bl } sunt parametrii sistemului i G are semnificaia unui factor de ctig.
Conform relaiei (1), eantionul curent este prezis ca o combinaie liniar a unui
numr de p eantioane de ieire precedente precum i a eantionului de intrare curent i a q
eantioane de intrare precedente.
Transformata z care caracterizeaz sistemul descris de (1) este:

92

Voice over IP Codarea semnalului vocal


q

H ( z) =

S ( z)
=G
U ( z)

1 + bl z l
l =1
p

1 ak z

(2)

k =1

i reprezint modelul general al producerii semnalului vocal, cu poli i zerouri, denumit model
ARMA (autoregresive moving average autoregresiv cu medie alunectoare).
Modelul descris de relaia (2) prezint dou cazuri particulare de interes:
dac ak = 0 pentru k = 1, 2,..., p , H(z) devine un model numai cu zerouri, numit
model MA (moving average model cu media alunectoare),
dac bl = 0 pentru l = 1, 2,..., q , H(z) devine un model numai cu poli sau model
autoregresiv AR.
Modelul cu poli (AR) este preferat n modelarea semnalului vocal fa de modelul
ARMA datorit simplitii calculului i datorit corespondenei cu modelul cu tuburi acustice
al producerii vorbirii naturale.
Conform modelului numai cu poli, eantionul curent se poate estima ca o combinaie
liniar a unor eantioane precedente, la care se adaug un termen care reprezint excitaia i,
n acest caz, rel. (1) devine:
p

s (n) = ak s (n k ) + Gu (n) .

(3)

k =1

Deoarece pentru un sistem AR care produce un semnal de forma (3) excitaia nu este
accesibil, estimarea parametrilor modelului se poate face numai pe baza observrii
semnalului de ieire i, pentru c acest semnal este produs prin recurena (3), se poate defini
un semnal s(n) care estimeaz semnalul original s(n) n forma:
p

s(n) = ak s (n k ) .

(4)

k =1

Eroarea de predicie care se face aproximnd s(n) cu s(n) este:


p

r (n) = s (n) s( n) = s (n) ak s (n k ) .

(5)

k =1

Eroarea (5) se mai numete i semnal rezidual, i comparnd (3), (4) i (5) se constat
c eroarea de predicie coincide cu semnalul de excitaie nmulit cu factorul de ctig.
Aplicnd transformarea z n rel. (5) rezult:

R( z ) = A( z ) S ( z ) ,

(6)

unde R(z) este transformata z a semnalului rezidual, iar


p

A( z ) = 1 ak z k

(7)

k =1

reprezint filtrul de analiz predictiv.


Filtrul de sintez cu poli H(z) de forma:
H ( z) =

1
=
A( z )

1
p

1 ak z

(8)
k

k =1

modeleaz nfurtoarea spectrului de putere pe termen scurt a semnalului vocal.

93

Voice over IP Codarea semnalului vocal

Sistemul numai cu poli este un bun estimant al sistemului cu poli i zerouri descris de
(2). Astfel, un sistem cauzal descris de rel. (2) se poate descompune n forma:
H ( z ) = G ' H min ( z ) H ap ( z ) ,

(9)

unde G ' este un factor de ctig, H min ( z ) este funcia de transfer a unui filtru trece tot de
faz minim, iar H ap ( z ) este funcia de transfer a unui filtru numai cu poli de forma (7).
Filtrul trece tot H min ( z ) contribuie numai la faza semnalului de ieire i poate fi omis,
avnd n vedere insensibilitatea relativ a auzului uman la faza semnalului.
Prin urmare, se va reine pentru sistemul de producere a semnalului vocal modelarea
numai cu poli, exprimat prin rel. (8), n care ordinul de predicie p are o valoare ntreag
relativ mic.
Schema bloc din figura 61 ilustreaz operaiile de analiz i sintez a semnalului prin
predicie liniar, prin implementarea direct a rel. (3) i (5).
s(n)

r(n)

a z
k =1

s(n)

r(n)

s(n)

+
p

a z

k =1

r(n)

A(z)

r(n)

a) analiza

s(n)

H(z)
b) sinteza

Fig. 6. Analiza i sinteza prin predicie liniar

n concluzie, un sistem de codare a semnalului vocal, compus dintr-un codor i un


decodor care utilizeaz predicia liniar, se poate reprezenta schematic ca n figura 7.
Semnal
de intrare

Analiza
LP

Semnal rezidual

Sinteza
LP

Semnal
de ieire

Coeficienii LP
Fig. 7. Analiza i sinteza LP

Conform acestei scheme, n urma analizei LP a semnalului de intrare rezult dou


categorii de informaii care se cuantizeaz i se transmit la decodor:
coeficienii de predicie,
semnalul rezidual de predicie.
Calculul coeficienilor de predicie
Pentru determinarea coeficienilor de predicie {ak } din rel. (3), se minimizeaz energia
erorii de predicie (5) n raport cu aceti coeficieni. Calculul se poate face n dou moduri
diferite,
Metoda autocorelaiei
Metoda covarianei
care conduc la un sistem liniar de p ecuaii cu p necunoscute (coeficienii de predicie).

Voice over IP Codarea semnalului vocal

94

Codarea semnalului vocal prin predicie liniar trebuie s in cont i de unele


considerente de ordin practic, ca de exemplu:
Preaccentuarea frecvenelor nalte
Amplitudinea redus a componentelor de frecven nalt din spectru conduce la o
dinamic ridicat a spectrului, cu consecine negative asupra analizei semnalului vocal prin
predicie liniar. Astfel, pentru a evidenia i componentele spectrale de frecven ridicat i
mic amplitudine, analiza prin predicie liniar trebuie s fie mai precis, n aceast zon a
spectrului manifestndu-se efectele rotunjirilor, inevitabile ntr-o implementare real. n plus,
este posibil ca matricea de autocorelaie s devin chiar singular, fcnd dificil rezolvarea
ecuaiilor de determinare a coeficienilor de predicie. Soluia problemei const n
preaccentuarea semnalului vocal, nainte de prelucrare, folosind un filtru cu funcia de transfer
de forma:

H ( z ) = 1 z 1 , > 0
care prezint o caracteristic de transfer de tip trece-sus i care va favoriza frecvenele
nalte ale spectrului ( este cuprins n intervalul 0,8 0,9).
Pentru a pstra nealterat spectrul semnalului vocal obinut prin predicie liniar, se
aplic acestui semnal o dezaccentuare, n partea de decodor, cu un filtru de tip trece-jos, cu o
funcie de transfer invers celei de preaccentuare.
Reprezentri ale coeficienilor de predicie
Coeficienii LPC definii anterior nu au proprieti adecvate pentru a se cuantiza i
transmite direct. Deoarece pot avea orice valoare real, sunt dificil de cuantizat i, n plus,
orice eroare de cuantizare sau transmisie se reflect prin modificri importante ale spectrului.
De asemenea, sunt necesare msuri pentru asigurarea stabilitii filtrului de sintez. Sunt
cunoscute i utilizate mai multe reprezentri alternative ale coeficienilor de predicie, care
prezint unele avantaje n privina cuantizrii:
Coeficienii de reflexie
Coeficienii LAR
Perechile de linii spectrale
Codorul LPC
Modelarea mecanismului de producere a semnalului vocal prin predicie liniar se
bazeaz pe modelul liniar al producerii semnalului vocal, ilustrat n fig. 6. Modelul LPC de
baz consider semnalul vocal ca fiind rezultat la ieirea unui sistem liniar invariant n timp la
a crui intrare se aplic un semnal de excitaie corespunztor. Acest model este complet
determinat dac se cunosc parametrii sistemului liniar i semnalul de excitaie. Modul n care
se determin aceti parametri clasific codoarele LPC n dou clase:
codarea LPC n bucl deschis,
codarea LPC n bucl nchis.
Codorul LPC n bucl deschis
Codorul LPC n bucl deschis se bazeaz pe modelul LPC, pentru care excitaia ideal
este eroarea rezidual de predicie. Modul n care se obine semnalul de excitaie la recepie
conduce la gruparea codoarelor LPC n bucl deschis n mai multe categorii, dintre care cele
mai importante sunt prezentate n continuare.
Modelul cu excitaie zgomot - impuls

Voice over IP Codarea semnalului vocal

95

Acest model evit necesitatea codrii i transmiterii erorii reziduale, nlocuind acest
semnal de excitaie cu unul generat local, la recepie, compus dintr-o secven de impulsuri
periodice pentru sunetele sonore, respectiv un zgomot alb pentru sunetele nesonore.
Un codor care folosete acest model a devenit standardul FS-1015 i este cunoscut ca
algorimul LPC-10, asigurnd un debit binar de 2,4 kbps.
Modelul cu excitaie mixt
Modelul cu excitaie mixt aduce o mbuntire n ceea ce privete erorile datorate
excitaiei cu impulsuri de frecven fix pentru semnalele sonore ale modelului prezentat
anterior, mai ales n cazul tranziiilor sonor-nesonor. O surs de excitaie mixt produce o
sum ponderat ntre un semnal de excitaie tip impuls periodic i unul tip zgomot.
Modelul excitat rezidual
Deoarece filtrul de predicie liniar lucreaz ca un decorelator pe termen scurt, eroarea
rezidual de predicie va avea un spectru relativ plat. Eroarea de predicie este semnalul de
excitaie ideal pentru filtrul de sintez de tipul numai poli i conine toate informaiile despre
semnalul vocal care nu au fost capturate de analiza prin predicie liniar (de exemplu
informaii despre frecvena fundamental, zerouri datorate tractului nazal).
Codarea semnalului eroare de predicie se poate face folosind un debit binar redus,
avnd n vedere banda de frecven relativ limitat a acestui semnal (max. 800 Hz) i variaia
lent n timp a acestui semnal.
Codorul LPC n bucl nchis
Un codor LPC n bucl nchis poate fi caracterizat prin:
un model de producere a semnalului vocal, care depinde de setul de parametri :

s(n) = f () ,
un numr de K valori posibile pentru setul de parametri : 1 , 2 ,3 ,... K ,
o msur a erorii | EK |2 prin care se compar semnalul original s(n) cu semnalul
refcut s(n) .
Codorul n bucl nchis gsete setul optim de parametri prin sintetizarea tuturor
celor K semnale vocale diferite sk (n) , corespunztoare tuturor valorilor posibile pentru
parametrii i calcularea erorii | Ek |2 corespunztoare, reinnd i transmind la decodor
indexul k care minimizeaz acest msur a erorii. Deoarece se calculeaz explicit fiecare
valoare sk (n) i se compar cu semnalul de intare s(n), se justific denumirea de analiz prin
sintez, sub care este cunoscut acest codor, spre deosebire de codarea n bucl deschis, unde
parametrii codorului se determin pe baza unor relaii analitice, fr a calcula explicit sk (n) .
Aceast metod de codare a semnalului vocal n bucl nchis conduce la o
complexitate de calcul foarte ridicat, datorat necesitii estimrii tuturor valorilor posibile
sk (n) i respectiv | Ek |2 . Metodele de codare LPC n bucl nchis folosite n practic adopt
un compromis pentru a reduce complexitatea, calculnd parametrii filtrului liniar al modelului
n bucl deschis, folosind o metod analitic adecvat, iar semnalul de excitaie optim se
determin n bucl nchis.
Codorul LPC n bucl nchis poate utiliza, n general, trei modele diferite pentru
semnalul de excitaie:
excitaia multiimpuls,
excitaia cu impulsuri periodice,
excitaia cu vectori sau cod,
care vor fi prezentate pe scurt n continuare.

96

Voice over IP Codarea semnalului vocal

Codorul LPC cu excitaie multiimpuls (Multi-pulse Excited LP - MPLP)


Algoritmul MPLP presupune folosirea unui semnal de excitaie care const ntr-un tren
de impulsuri neuniform distanate n timp, pentru care se calculeaz n cursul procesului de
analiz att amplitudinea ct i localizarea n timp, astfel nct eroarea medie ptratic ntre
semnalul vocal de intrare i semnalul sintetizat local s fie minim. Uzual se folosesc secvene
formate din 4 6 impulsuri pentru un cadru de semnal cu durata de pn la 5 ms.
Codorul LPC excitat cu impulsuri periodice (Regular Pulse Excitation - RPE)
Codoarele RPE folosesc ca secven de excitaie tot un impuls multiplu, dar, spre
deosebire de codorul LPC excitat multiimpuls, codorul RPE folsete o succesiune de
impulsuri uniform distanate n timp. Prin urmare, secvena de excitaie, aleas dintr-un set de
secvene prestabilite, este determinat prin specificarea locaiei k a primului impuls i a
distanei dintre dou impulsuri succesive, n cazul n care aceast distan nu are o valoare
fix. Numrul de impulsuri pentru un cadru de semnal cu durata de 5 ms este de ordinul 10
15. Amplitudinea impulsurilor se determin prin rezolvarea unui set de ecuaii liniare obinute
prin anularea derivatei unei erori, dar este important de remarcat avantajul c distana n timp
ntre impulsuri nu mai trebuie determinat dac se stabilete un numr fix de impulsuri de
excitaie uniform distanate n timp pentru fiecare cadru de semnal vocal.
Algoritmul RPE a fost ales pentru implementarea unui codor pentru semnalul vocal
utilizat n sistemul de telefonie mobil european GSM. Schema bloc a sistemului de codare i
decodare a semnalului vocal conform standardului european GSM RPE-LPT este prezentat
simplificat n figura 8. Partea de codare, prezentat n fig. 8a, primete semnalul vocal
eantionat la frecvena de 8 KHz, pentru o band de (0,3 3,4) KHz i cuantizat liniar pe 13
bii. Prelucrarea se face pe cadre de semnal vocal cu durata de 20 ms, corespunztor cu 160
eantioane, care sunt segmentate n subcadre de cte 5 ms (40 eantioane). Etajul de
preprocesare realizeaz o preaccentuare i o compensare a componentei continue.
Semnal
vocal

Preprocesare

Semnal
rezidual

Analiza
LPC
LAR

Predicie
termen
lung

Codare
RPE

Cod
RPE

F0 ctig

a) Codorul
Cod
RPE

Decodare
RPE

Semnal
rezidual

Filtru
termen
lung
F0 ctig

Sinteza
LPC

Postprocesare

Semnal
vocal

LAR

b) Decodorul
Fig. 8. Schema bloc a sistemului RPE LPT utilizat n standardul GSM

Predictorul pe termen scurt care urmeaz etajului de preprocesare determin un numr


de 8 coeficieni de predicie la fiecare 20 ms, coeficieni care, pentru o cuantizare mai
eficient, sunt codai ca parametri LAR. Pentru cei 8 coeficieni LAR, n ordinea
LAR(1)...LAR(8), se aloc un numr variabil de bii pentru codare i anume 6/6/5/5/4/4/3/3.
Blocul de predicie pe termen lung extrage din semnalul rezidual informaiile referitoare
la ctig i frecvena fundamental, informaii care sunt codate i transmise prin canalul de

97

Voice over IP Codarea semnalului vocal

comunicaie la decodor. Pentru ctig se aloc 2 bii iar pentru ordinul predictorului pe termen
lung 7 bii.
Pentru semnalul de excitaie corespunztor unui subcadru de semnal vocal de 40 de
eantioane, se folosesc 13 impulsuri uniform distanate n timp, dispuse sub forma unei
grile, n care, dup fiecare impuls de excitaie urmeaz 3 impulsuri nule. Aceast gril poate
avea prin urmare 4 poziii distincte n subcadru, poziii care se pot coda pe 2 bii. Pentru a
coda amplitudinea fiecrui impuls din gril se detemin impulsul cu amplitudinea maxim i
aceast valoare se codeaz logaritmic folosind 6 bii, iar pentru celelalte impulsuri se codeaz
pe 3 bii valoarea normat la amplitudinea maxim. Debitul binar rezultat prin codare este 260
bii/cadru sau 13 kbps.
Codorul LPC excitat cu coduri (Code Excited Linear Prediction - CELP)
Cele dou variante de codoare folosind excitaia multiimpuls determinat prin metoda
analizei prin sintez, prezentate anterior, realizeaz un semnal vocal de foarte bun calitate la
un debit binar considerat mediu. Pstrarea calitii semnalului sintetizat la rate binare mai
mici reclam folosirea unei secvene de excitaie codat mai eficient. Aceast cerin o
ndeplinete codorul CELP, prezentat n figura 9, care folosete pentru excitaie un cod sau un
vector, memorat ntr-un dicionar de coduri.
Dicionarul de coduri folosit n schema prezentat conine un numr corespunztor de
secvene de excitaie, memorate sub forma unor vectori, fiecare vector coninnd un numr de
eantioane cu care acoper o durat de semnal vocal de un subcadru. Vectorul de excitaie,
nmulit cu un coeficient de ctig, este trecut prin filtrele de predicie pe termen lung,
respectiv pe termen scurt. Semnalul sintetizat prin filtrare este comparat cu semnalul vocal de
intrare iar blocul de minimizare a erorii va alege ca optim acel vector de cod pentru care
semnalul sintetizat este cel mai apropiat de semnalul de intrare. Att semnalul sintetizat ct i
cel de intrare sunt ponderate perceptual cu funcia W(z) nainte de a se calcula eroarea.
Dicionar
s(n)
ci(n)

Ctig

+
+

W(z)
W(z)

AL(z)

Index
Minimizarea
erorii

sW(n)
W(n)
-

A(z)

ei(n)

Fig. 9. Codorul CELP

Dezavantajul major al codorului CELP este puterea mare de calcul necesar pentru
codare i memoria relativ mare pentru dicionarul de coduri. Acest fapt a dus la dezvoltarea
unor algoritmi performani de cutare i a unor dicionare de coduri structurate, n scopul
reducerii complexitii operaiilor de cutare.
Sunt cunoscute variante de codor CELP, denumite VSELP (Vector Sum Excited
CELP), care folosesc mai multe dicionare, semnalul de excitaie fiind obinut ca o sum de
vectori din aceste dicionare, sau ACELP (Algebraic CELP, n care vectorii sunt reprezentai
prin valori 0, +1 sau 1).
Diferite variante de codor CELP sunt standardizate: FS 1016 (CELP cu debit de 4,8
Kbps), Half-rate GSM (VSELP cu debit 5,6 kbps), AMR (codecul pentru 3G ACELP) etc.

98

Voice over IP Codarea semnalului vocal

Codorul CELP cu ntrziere redus ( Low Delay CELP)


O caracteristic a codoarelor CELP prezentate anterior este aceea c exist o ntrziere
apreciabil ntre semnalul de intrare n codor i semnalul de ieire din decodor, datorat
modului n care se face codarea semnalului, pe cadre, respectiv subcadre, la care se adaug
timpul determinat de algoritmul de cutare n dicionarele de coduri. Aceast ntrziere poate
atinge valoarea corespunztoare a dou pn la patru cadre de analiz. O valoare tipic pentru
ntrzierea unui codor CELP cu un cadru de analiz de 20 ms este aproximativ 60 ms.
ITU a luat n considerare posibilitatea standardizrii unor algoritmi de codare a
semnalului vocal cu ntrziere redus, fiind ales un codor CELP de ntrziere redus (LowDelay CELP) pentru standardul G.728.
n figura 10 este prezentat codorul Low-Delay CELP, iar n figura 11 decodorul
corespunztor.
Reducerea ntrzierii se obine pe dou ci.
Pe de o parte, se folosesc pentru reducerea ntrzierii cadre de analiz scurte, cu durata
de 2,5 ms, divizate n subcadre de 0,625 ms, care corespund unor vectori de excitaie scuri,
de numai 5 eantioane.
Pe de alt parte, se folosete la recepie un predictor adaptiv napoi, care determin
parametrii LPC pe baza valorii cuantizate a eantioanele precedente ale semnalului vocal,
eantioane deja disponibile la recepie.
Codorul Low-Delay CELP nu folosete predicia pe termen lung, acest lucru fiind
compensat de utilizarea unui ordin ridicat pentru predictorul pe termen scurt (p = 50), pentru a
pstra informaii despre frecvena fundamental (pitch). Pentru o mbuntire a spectrului
semnalului n zona formanilor i a frecvenei fundamentale, se folosete o postfiltrare.
Adaptare
ctig

s(n)
+

Dicionar
coduri

(n)

Ctig

A(z)

Analiza LP
Index VQ

MSE

W(z)

Fig. 10. Codorul Low Delay CELP

Ctig
Dicionar
coduri
VQ
Index

Adaptare
ctig

Postfiltrare

+
A(z)

Analiza LP
Fig. 11. Decodorul Low Delay CELP

Semnal
vocal

Voice over IP Codarea semnalului vocal

99

Codorul Low-delay CELP prezentat realizeaz o ntrziere de maximum 2 ms, ceea ce


permite i ndeplinirea cerinelor CCITT referitoare la transmiterea informaiilor de
semnalizare DTMF i a semnalelor provenite de la modemuri n banda telefonic de baz.
Alte tipuri de codoare folosite n VoIP:
Codoare open source:
iLBC (Internet low bit rate codec)
SPEEX,
Ambele sunt variante CELP, cu,
Codoare proprietare, cu comportare mbuntit fa de pierderile de pachete i cu
band larg (frecvena de eationare pn la 16 kHz):
iSAC (Internet Speech Audio Codec) folosit de programul Skype
iPCM (Internet PCM)

S-ar putea să vă placă și