Sunteți pe pagina 1din 14

Voice over IP Codarea semnalului vocal

38

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

Voice over IP Codarea semnalului vocal

39

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 4 3 2 1 2 4 8 16 32 64 Fig. 1. Calitatea subiectiv funcie de debitul binar Debit binar [Kbps] Codarea hibrid Codarea formei de und Codarea sursei (vocoder)

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 ( z ) ai z i
i 1

Voice over IP Codarea semnalului vocal

40
(n) e (n) + e

s(n)

+ -

e(n) Q +

(n) s

+ P(z)

( n) s

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):

(n) . d ( n) s ( n) s
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, (n) este cunoscut la codor i este folosit pentru a calcula reziduul de semnalul reconstituit s predicie i, deoarece conform schemei se poate scrie:

( n) s ( n) d ( n) . s 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: ( n) . ( n ) d ( n ) d e( n ) s ( n ) s

(n) este estimatul eantionului curent s(n) i este obinut din p valori Eantionul s trecute ale acestuia. Cuantizorul calculeaz eroarea e(n) ca diferen dintre eantionul curent (n) la recepie. Pentru a i estimatul su, o cuantizeaz i transmite valoarea cuantizat e 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,

Voice over IP Codarea semnalului vocal

41

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).

Banda 1 s[n] QMF analiza Banda 2

Multiplexor

Codor ADPCM Codor ADPCM

Inserie date

ieire 64 Kbii/sec

Fig. 3. Codorul n subbenzi G.722

Demultiplexor

Decodor ADPCM

Banda 1 QMF Banda 2 sinteza s[n]

intrare

Extragere date

Decodor ADPCM

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

42

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.

Voice over IP Codarea semnalului vocal

43

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 FTJ 20 Hz 300 450 Hz s(n) Detector FTJ 20 Hz 300 450 Hz + (n ) 200 300 Hz

2800 3200 Hz

Detector

FTJ 20 Hz

2800 3200 Hz

Sonor/nesonor Generator impuls Fig. 5. Vocoderul canal Generator zgomot

F0

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: s (n) ak s (n k ) G bl u (n l ), b0 1 ,
k 1 l 0 p q

(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:

Voice over IP Codarea semnalului vocal


q

44

H ( z)

S ( z) G U ( z)

1 bl z l 1 ak z
k 1 l 1 p k

(2)

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:

s (n) ak s (n k ) Gu (n) .
k 1

(3)

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 (n) care estimeaz semnalul original s(n) n forma: un semnal s (n) ak s (n k ) . s
k 1 p

(4)

(n) este: Eroarea de predicie care se face aproximnd s(n) cu s (n) s (n) ak s(n k ) . r ( n) s ( n) s
k 1 p

(5)

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 ) , unde R(z) este transformata z a semnalului rezidual, iar A( z ) 1 ak z k
k 1 p

(6)

(7)

reprezint filtrul de analiz predictiv. Filtrul de sintez cu poli H(z) de forma:


H ( z) 1 A( z ) 1 1 ak z
k 1 p k

(8)

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

Voice over IP Codarea semnalului vocal

45

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)

r(n)

s(n)

a z
k 1 k

a z
k 1 k

s(n)

A(z) a) analiza

r(n)

r(n)

H(z) b) sinteza

s(n)

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

46

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.

Voice over IP Codarea semnalului vocal

47

Modelul cu excitaie zgomot - impuls 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 s k (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 s k (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 s k (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 s k (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,

Voice over IP Codarea semnalului vocal

48

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 Analiza LPC LAR a) Codorul Cod RPE Decodare RPE Semnal rezidual Filtru termen lung F0 ctig b) Decodorul Fig. 8. Schema bloc a sistemului RPE LPT utilizat n standardul GSM Sinteza LPC Semnal vocal Semnal rezidual Predicie termen lung F0 ctig Codare RPE Cod RPE

Postprocesare

LAR

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

Voice over IP Codarea semnalului vocal

49

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) + + + AL(z) W(z) W(z) + A(z) W(n) sW(n) +

Ctig Index

Minimizarea erorii

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.

Voice over IP Codarea semnalului vocal

50

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 Dicionar coduri Ctig + + A(z) (n) s(n) +

Analiza LP Index VQ

MSE

W(z)

Fig. 10. Codorul Low Delay CELP

Ctig Dicionar coduri VQ Index Adaptare ctig + + A(z) Postfiltrare Semnal vocal

Analiza LP Fig. 11. Decodorul Low Delay CELP

Voice over IP Codarea semnalului vocal

51

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) 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