Tehnici de Codare a Sistemului Vocal
1.1. Aplicatii multimedia care folosesc compresia semnalului vocal
Una dintre cele mai naturale forme de comunicare dintre fiintele umane este comunicarea prin intermediul vorbirii. Prin intermediul ei se transmit gindurile (in forma cea mai importanta de informatie: mesajul lingvistic), personalitatea si starea de emotivitate a locutorului. Mesajul lingvistic este transmis prin intermediul semnalului vocal, unda acustica ce are proprietati bine definite, dar a carei producere si intelegere inca nu a fost descifrata complet. Totusi, exista modele pentru producerea si intelegerea acestui tip de semnal la nivel cerebral.
Revolutia aplicatiilor multimedia include in mod inevital transmiterea si a semnalului vocal, pe linga alte tipuri de semnale: video, text, imagini, muzica, etc. Dar, data fiind capacitatea limitata a canalelor de comunicatie si nevoia de a transmite cit mai multa informatie intr-un timp limitat a condus la necesitatea de compresie a acestor semnale.
In Tabelul 1.1.1. sunt prezentate debitele necesare pentru a transmite diferite tipuri de semnale audio. Se observa ca in toate cele trei cazuri date ca exemplu, debitul este mult mai mare decit debitul de 64 Kbps asigurat de un sistem PCM clasic. Vom vedea putin mai departe ca exista sisteme de compresie capabile de transmisia semnalului vocal la debite sub 2400 bps, deci cu rapoarte de compresie mai mari de 5000 (cresterea raportului de compresie este totusi platita prin pierderea unor informatii de finete din semnalul audio). In mod cert, sistemele multimedia necesita astfel de rapoarte de compresie, deci prelucrari suplimentare ale semnalului vocal.
Tabelul 1.1.1. Debitele binare corespunzatoare diferitelor tipuri de semnal audio
Tipurile de aplicatii multimedia care utilizeaza transmisia semnalului vocal pot fi analizate in Tabelul 1.1.2
Tabelul 1.1.2. Aplicatii multimedia ce folosesc transmisia semnalului vocal
1.2. Atributele sistemelor de compresie a semnalului vocal
In cele mai multe cazuri sistemele pentru compresia semnalului vocal sunt implementate in concordanta cu cerintele unei anumite aplicatii. Din acest unghi de vedere este important de discutat atributele unor astfel de sisteme de compresie cu scopul de a le optimiza pentru cazul aplicatiilor reale. Principalele atribute ale unui sistem de compresie a semnalului vocal sunt:
debitul binar
calitatea semnalului reconstituit la receptie
complexitatea (timp de calcul sau memorie necesara)
intirzierea
imunitatea la erorile din canalul de comunicatie
banda necesara transmiterii
debitul binar
Reducerea debitului binar este principala motivatie in realizarea compresiei de semnal. In functie de aplicatie si de constringerile de proiectare, debitul poate fi fix sau variabil. Sistemele de compresie adesea au un debit fix din cauza ca sunt mai usor de realizat, nu necesita definirea unor criterii pentru modificarea debitului intr-un anumit interval de timp, iar daca linia de comunicatii are o capacitate fixa in principiu se recomanda selectarea unui codec cu un debit de iesire egal cu cel al canalului (incluzind bitii de protectie la erori). Sistemele cu debit variabil se bazeaza pe utilizarea a doua debite: debit mai mare pentru transmisia vocii, debitul mic pentru transmiterea unor informatii specifice – pe durata portiunilor de liniste sau a pauzelor dintre cuvinte. Pentru viitor se estimeaza utilizarea pe scara din ce in ce mai mare a sistemelor de compresie cu debit variabil.
Debite binare fixe se folosesc in:
comunicatii telefonice militare la debit redus: 0.8 – 4.8 Kbps
comunicatii celulare sau prin satelit: 3.3 – 13 Kbps
comunicatii pe linie telefonica: debit mai mare de 16 Kbps
Debite binare variabile sunt foarte importante in:
comunicatii mobile folosind CDMA (la debit redus capacitatea sistemului creste)
aplicatii care nu necista timp real (de exemplu memorarea)
b) calitatea semnalului reconstituit
Evaluarea calitatii semnalului reconstituit este una din cele mai dificile probleme, deoarece nu a fost posibila gasirea unui criteriu obiectiv de masurare prin care sa poata fi corelat semnalul sintetizat cu semnalul de intrare si cu larga varietate de sisteme de compresie. Mai mult, descresterea debitului binar face dificila estimarea comportarii codecului in aplicatii reale. De aceea s-au stabilit criterii subiective de evaluare, bazate pe un mare numar de codari/decodari pentru care, in mod subiectiv se stabileste calitatea semnalului de iesire.
Exista urmatoarele criterii subiective pentru aprecierea calitatii sistemelor de compresie:
DRT (Diagnistic Rhyme Test) pentru aprecierea inteligibilitatii
DAM (Diagnostic Acceptability Measure), pentru aprecierea calitatii in conditii variate de distorsiune a semnalelor
MOS (Mean Opinion Score), pentru aprecierea globala a calitatii, prin intermediul unui numar, obtinut ca medie a evaluarilor a 20 – 60 ascultatori. Numarul este intre 1 (calitate inacceptabila) si 5 (calitate excelenta).
c) complexitatea
Complexitatea ca timp de calcul si necesar de memorie determina in principal costul si energia consumata de echipamentul hardware care realizeaza compresia. Cu exceptia citorva aplicatii, cum ar fi sistemele de informare sau transmiterea unor mesaje, compresia trebuie realizata in timp real. Pentru indeplinirea cerintelor de mai sus solutia este implementarea algoritmului de compresie pe un procesor de semnal.
In cazul sistemelor comerciale de uz individual (telefoane mobile, sisteme de raspuns automat), se aleg procesoare mai ieftine, care opereaza in virgula fixa. Pentru sisteme in care mai multi utilizatori au acces la resursele hardware se prefera procesoare in virgula mobila, deoarece costul sistemului este mai putin important fata de costul dezvoltarii aplicatiilor. In plus, procesoarele de semnal pot avea memorie inclusa, iar un acelasi procesor poate efectua atit functiile sitemului de compresie cit si cele ale sistemului de transmisie (modem).
d) intirzierea
Intirzierea datorata prelucrarilor care se efectueaza asupra semnalului in vederea compresiei au importanta majora in special in cazul comunicatiilor in ambele directii. Exista doua praguri pentru intirzierea unui sistem de compresie.
Primul prag (de valoare aproximativ 150 ms) este cel care afecteaza continuitatea unei comunicari bidirectionale. Pentru comunicatii intr-un singur
sens o intirziee de 400 – 500 ms este acceptabila.
Al doilea prag este determinat de prezenta ecoului, de aceea se impun restrictii importante asupra sistemului de compresie daca ecoul nu este eliminat. Pragul depinde de tipul canalului de comunicatie.
Intirzierea unui sistem de compresie are urmatoarele 4 componente:
intirzierea algoritmului: majoritatea algoritmilor lucreaza pe cadre de semnal; prelucrarea nu poate incepe pina cind un cadru de semnal nu s-a acumulat in bufferul de prelucrare. In plus, unii algoritmi au nevoie de esantioane suplimentare, adica de un extra-cadru (timp numit "look-ahead"). Astfel, intirzierea algoritmului este data de dimensiunea unui cadru plus dimensiunea unui extra-cadru.
intirzierea cauzata de timpul de prelucrare: este timpul necesar prelucrarii unui cadru. In majoritatea sistemelor acest timp este mai mic decit fereastra de analiza, astfel procesorul ramine liber pina la sosirea unui nou cadru
intirzierea cauzata de multiplexare: de obicei bitii rezultati din compresie sunt protejati la erorile din canalul de comunicatie prin introducerea de biti de corectie. Timpul necesar "asamblarii" bitilor de informatie cu bitii de corectie este timpul de multiplexare. Operatia este necsara si la receptie.
intirzierea cauzata de tansmisie: este timpul necesar transmisiei fluxului de date. Adesea, o anumita sursa vocala este multiplexata cu alte informatii sau poate ocupa un intreg canal. In principiu timpul de transmisie este mai mic decit durata unui cadru.
e) imunitatea la erori
In mod inevitabil fluxul binar receptionat de decodor contine erori datorate canalului de comunicatie. Aceste erori sunt de doua tipuri:
erori aleatoare
erori in rafala (de exemplu in comunicatiile mobile)
si pentru ele trebuie elaborate strategii diferite de protectie.
Protectia la erorile aleatoare (limitate la 1 – 5 %) se face prin intermediul codurilor ciclice redundante, iar protectia la erorile in rafala are in vedere un procedeu de scramblare prin care aceste erori sunt transformate in erori aleatoare sau prin aplicarea unui polinom corector de un tip special si apoi codare convolutionala. In plus, fluxul binar de la iesirea sistemului de compresie este divizat in biti foarte importanti, importanti sau mai putin importanti, biti care sunt codati diferit. Dupa aplicarea codarii canalului debitul creste de aproape doua ori. De asemenea, sistemul de decodare identifica acele cadre cu un numar de erori mai mare decit cel admis si fie le respinge (inlocuindu-le cu cadrul anterior sau un cadru rezultat din interpolare), fie cere retransmiterea lor, prin proceduri specifice sistemului de comunicare.
f) banda ocupata
Semnalul vocal poate fi limitat la 10 KHz fara a-i afecta caracteristicile perceptuale, dar in marea majoritate a sistemelor de comunicatii el este limitat la o frecventa mult mai mica.
De exemplu, in sistemele telefonice banda este de 200 – 3400 Hz, iar ambele frecvente de taiere afecteaza caracteristicile semnalului. In sistemele digitale semnalul este esantionat la 8 KHz, rezultind o banda utila de 4 KHz. Semnal vocal de banda larga (7 KHz) este folosit in standardul G.722, care la debite chiar mai mici (56 sau 48 Kbps) decit debitul PCM de 64 Kbps asigura o calitate a semnalului receptionat mult mai buna. Dar totusi, G.722 este mai putin raspindit din cauza ca exista multe situatii in care el interfera cu sistemul PCM (de banda ingusta). Este de asteptat ca G.722 sa fie utilizat in aplicatii de tip videotelefonie sau videoconferinta, acolo unde semnalul, in forma lui decodificata (banda de 7 KH), nu traverseaza canale de banda ingusta.
2. STANDARDE PENTRU COMPRESIA SEMNALULUI VOCAL
2.1. Sisteme de compresie pentru linia telefonica
a) compresie PCM la 64 Kbps: G.711
Sistemul de compresie face apel la legile de compandare/expandare (pentru America si Japonia) si A (pentru restul lumii) pentru a reprezenta pe 8 biti un semnal esantionat pe 13, respectiv 12 biti. Raportul semnal zgomot este de aproximativ 35 dB. Ambele sisteme de compresie au o calitate apropiata.
b) compresie ADPCM: G.721, G.723, G.726, G.727
CCITT a aplicat pentru prima data ADPCM G.721 (32 Kbps) din urmatoarele motive:
pentru cresterea de doua ori (2 x 32 Kbps) a capacitatii in sisteme de comunicatii DCME (Digital Circuit Multiplication Equipment)
in legaturile submarine (cablu sau fibra optica) sau prin satelit, frecvent apar situatii in care sursele furnizeaza date cu structura diferita (lege A sau ), de aceea G.721 accepta la intrare atit legea A cit si legea . In plus, daca se utilizeaza o tehnica digitala de interpolare a semnalului vocal, capacitatea creste de 2.5 ori
G.721 are proprietatea de tandem sincron: daca un circuit necesita o codare ADPCM in care la un capat exista legea A, iar la celalalt legea , nu exista nici un fel de distorsiune in semnal datorata celei de-a doua compresii.
G.721 este utilizata in sistemul DECT (Digital European Cordless Telephone) si in sistemul CT2 (Cordless Telephone II), utilizind accesul TDMA, fara protectie la erori.
G.723 suporta debitele de 32, 24 sau 40 Kbps. Debitul de 24 Kbps este utilizat in conditiile in care se depaseste capacitatea canalului de transmisie, iar debitul de 40 Kbps se prefera pentru transmisia datelor.
G.726 este o unificare a sistemeleor G.721 si G.723 avind in plus si debitul de 16 Kbps, cu aplicatie directa la DCME.
G.727 ofera aceleasi debite de iesire ca si G.726, dar numarul nivelelor de cuantizare este intotdeauna par. Poseda un cuantizor de 2 biti, incorporat intr-unul de 3 biti, care la rindul lui este inclus in altul de 4 biti si apoi in unul de 5 biti. Acest lucru este necesar in sistemele PCME (Packet Circuit Multiplex Equipment), cind la depasirea capacitatii canalului se elimina bitii mai putin importanti din codul ADPCM.
c) LD-CELP 16 Kbps (Low-Delay Code Excited Linear Prediction): G.728
Acest sistem a fost dezvoltat cu intentia de a depasi performantele G.721 32 Kbps, la un debit injumatatit: 16 Kbps. Prima aplicatie a fost pentru videotelefonia de debit redus: H.320, dar s-a dovedit ca exista si alte caracteristici care pot fi exploatate: robustete pentru semnale innecate in zgomot sau cu semnal muzical, robustete mai mare la erori aleatoare decit G.721, capacitate de a coda foarte bine tonurile de semnalizare din retea, precum si capacitate de a coda foarte bine semnale de la modemuri de debit redus (2400 bps).
Tabelul 2.1.1. Compaartie intre standardele de compresie ITU pe linia telefonica
2.2. Alte standarde ITU pentru banda telefonica
ITU-T 8 Kbps: G.729
Acest sistem a fost propus pentru LMTS (Land Mobile Telephone Service), dar in faza de testare (1993 – Nippon Telephone and Telegraph, 1994 – France Telecom), desi calitatea pentru semnale vocale era buna, nu s-a comportat corect la: teste cu semnale zgomotoase sau cu muzica, la modificarea nivelelor audio, la eronarea totala a unor cadre. De aceea nu s-a implementat in sisteme comerciale.
compresie la debit redus pentru aplicatii in videotelefonie
Ideea a fost de a stabili schema de compresie a semnalelor audio pentru aplicatii de tip videotelefon pe linii telefonice comutate PSTN (Public Switched Telephone Network) prin intermediul unui modem de mare viteza (se mai transmite video si informatii auxiliare). S-au stabilit mai multe metode capabile de codarea la: 5.3, 9.6, respectiv 14.4 Kbps. Debitul cel mai mic, 5.3 Kbps, rezulta dintr-o codare algebrica a sursei si favorizeaza codarea semnalului video si utilizarea "canalelor virtuale", folosite pentru informatii aditionale. Debitul de 9.6 Kbps rezulta in urma unei codari de tip LPC cu impulsuri multiple.
c) ITU-T 4
Se propune un sistem de compresie la debit redus cu aplicatii in videotelefonie, comunicatii personale si comunicatii mobile prin satelit.
2.3. Standarde pentru compresia semnalelor vocale de banda larga
a) compresia G.722
Pentru banda telefonica de 200 – 3200 Hz sunetele fricative precum /f/ sau /s/ sunt greu de distins. De aceea pentru aplicatii de tip teleconferinta sau videoconferinta s-a propus utilizarea semnalelor audio de banda larga (50 – 7000 Hz).
Sistemul de compresie G.722 utilizeaza filtre de tip QMF (Quadrature Mirror Filters) trece jos, respectiv trece sus pentru a coda subbenzile inferioara (48 Kbps) sau superioara (16 Kbps).
b) compresia ITU-T pentru semnale vocale de banda 7 KHz
Aceasta metoda de compresie asigura un debit binar de 24 sau 16 Kbps echivalenta calitativ cu o compresie G.722 la debit de 56 Kbps, respectiv 48 Kbps. Se disting doua moduri de compresie: modul A si modul B, utilizate in functie de aplicatie si in functie de complexitatea codarii.
Aplicatiile vizeaza:
telefonie de banda larga pe canale ISDN
videotelefonie si videoconferinta pe accesul de baza ISDN
transmisii de pachete in retele ISDN de banda larga sau in retele ATM
aplicatii pe circuite digitale multiplex
aplicatii PSTN punct la punct via modem
mesagerie vocala
2.4. Compresia pentru telefonia mobila in Europa
Tabelul 2.4.1. Caracteristicile sistemelor de compresie pentru GSM
2.5. Compresia pentru telefonia mobila in America
a) IS54 7.95 Kbps VSELP
Standardul a fost propus de Motorala si face parte din categoria mai larga Interim Standard 54 (IS54). Exista presiuni pentru a inlocui acest standard cu standardul ITU-T 8Kbps din cauza ca in zone unde interfera si alte semnale, calitatea oferita de IS54 VSELP este mai slaba decit cea in sistemul analogic FM.
b) IS96 8.5 Kbps QCELP si EVRC
Una din caracteristicile de baza ale telefonie digitale celulare de tip CDMA (Code Division Multiple Acces) este capacitatea crescuta si pentru a atinge aceasta capacitate sistemul face apel la un sistem de compresie a semnalului vocal la debit variabil. Debitul este redus pe perioada pauzei dintre cuvinte sau a linistii.
IS96 QCELP este un codor cu debit de iesire variabil. Debitul normal pe durata convorbirii este de 8.5 Kbps, dar el este redus la 0.8 Kbs pentru scurtele perioade de liniste sau pauze in vorbire. La acest debit redus se aplica algoritmi de interpolare si se utilizeaza statistica zgomotului de fond pentru a reconstitui semnalul real la receptie. Pentru a imbunatati calitatea semnalului audio, in special pentru medii cu mult zgomot (unde algoritmul QCELP nu da rezultatele cele mai bune), a fost propus un alt sistem numit EVRC (Enhanced Variable Rate Coder).
Tabelul 2.5.1. Comparatie intre standardele de compresie pentru telefonia mobila in America
2.6. Compresia pentru telefonia mobila in Japonia
a) RCR STD-27B (JDC-VSELP, Japanese Digital Cellular – VSELP)
Este un sistem asemanator cu IS54 VSELP, cu diferenta ca aici se utilizeaza doar un vector de excitatie in loc de doi. In IS54 dictionarele au cite 7 vectori de baza, pe cind in JDC-VSELP exista 8 vectori de baza). Performantele JDC-VSELP sunt mai slabe decit ale standardelor RPE-LTP sau IS54.
JDC Half-rate 3.45 Kbps: PSI-CELP
Sistemul a fost propus de NTT cu scopul de a dubla capacitatea in sistemul JPDC (Japanese TDMA Personal Digital Cellular). Inovatia este utilizarea algoritmului CELP cu frecventa fundamentala sincrona (PSI – Pitch Sinchronous Innovation). Este cel mai complex algoritm standardizat la ora actuala.
2.7. Compresia in standardul INMARSAT (4.15 Kbps): IMBE
Acest tip de compresie a fost standardizata in 1990 (INMARSAT, International MARitime SATellite Corporation) cu scopul de a asigura comunicatiile vocale intre vapoare si statiile de control de pe uscat via satelit, pentru comunicatiile mobile via satelit, precum si pentru comunicatiile radio de urgenta ale politiei.
Debitul de 4.15 Kbps rezulta la iesirea unui codec de tip IMBE (Improved Multi Band Excitation), iar prin adaugarea bitilor pentru protectia la erori se ajunge la un debit de 6.4 Kbps.
Ideea compresiei are la baza divizarea semnalului in mai multe subbenzi. Pentru fiecare subbanda se ia decizia sonor/nesonor, iar spectrul este cuantizat si transmis impreuna cu informatia despre frecventa fundamentala. Acest tip de codare difera fata de codarea LPC prin aceea ca decizia sonor/nesonor se ia pentru fiecare subbanda si nu pentru tot semnalul. Astfel, vocea sintetizata pare mult mai naturala. Probleme apar atunci cind peste semnalul vocal se suprapun sunete muzicale sau zgomot.
2.8. Standarde pentru aplicatii militare
a) vocoderul LPC la 2400 bps: FS1015
Este un standard militar american a carui proiect a inceput in 1970, iar in timp fiind continuu imunatatit. Vocoderul este bazat pe modelul predictiei liniare (LPC, Linear Predictive Coding) si are un debit la iesire de 2400 bps. In 1984 a fost adoptat si de NATO, dar mai recent NATO a adoptat un nou standard pentru compresia semnalului vocal la 800 bps, bazat pe cuantizarea vectoriala.
FS1015 va fi inlocuit in viitor cu un alt tip de vocoder in care calitatea semnalului reconstituit va fi mult mai buna, iar protectia la erori mult mai mare.
b) vocoderul CELP la 4800 bps: FS1016
Cresterea naturaletii semnalului sintetizat in aplicatiile militare prin aplicarea tehnicii de compresie CELP cu dictionar ternar (impulsurile de excitatie ale vocoderului sunt impulsuri +1, -1 sau 0 ponderate cu un factor de amplificare) si transmisiile prin modem la 4800 bps au facut posibila introducerea standardului FS1016. Calitatea semnalului sintetizat este sub cea oferita de standardul GSM sau IS54.
Codarea PCM. Wideband PCM.
PCM (Pulse Coded Modulation) este o tehnica de codare a semnalului vocal definită în standardul ITU-T G.711 și este metoda care se folosește în telefonia digitală pentru a coda semnalul de voce.
Primul pas în conversia semnalului vocal analogic în semnal digital este filtrarea semnalului analogic, adică limitarea la banda de frecvență telefonică [300Hz, 3400 Hz].
Următorul pas este eșantionarea, la o frecvență care să respecte teorema eșantionării, Fe > 2*Fm, astfel frecvența de eșantionare a fost aleasă Fe = 8 kHz.
Se poate observa că filtrarea are rolul de a preveni apariția fenomenului de aliere. După ce a avut loc eșantionarea, următorul pas este compresia semnalului, proces ce se realizează prin cuantizare neuniformă.
Un parametru important care caracterizează modulația PCM este raportul semnal/zgomot de cuantizare, eroarea de cuantizare fiind considerat ca și un zgomot.
unde N este numărul intervalelor de cuantizare, pi este probabilitatea ca semnalul de transmis să cadă în intervalele de cuantizare i, Pqi este puterea zgomotului de cuantizare în intervalul i.
Wideban PCM
In figura este prezentată diagrama bloc la nivel înalt al encoder-ului. Semnalul de intrare este eșantionat la Fe=16 kHz și este filtrat trece sus pentru a elimina componentele din banda 0-50 Hz.
Banda semnalului este împărțită în două sub-benzi de 8kHz una superioară iar cealaltă inferioară, utlilizând 32-tap QMF (quadrature mirror filterbank).
Semnalul din banda inferioară este codat cu un codor embedded lower-band care generează un bitstream principal (Layer 0) compatibil G.711, la 64kbit/s și un bitstream lower-band enhancement (Layer 1) la 16 kbit/s.
Semnalului din banda superioară este aplicată transformata MDCT (Modified Discrete Cosine transform), iar coeficienții de domeniu frecvență sunt codați împreună cu factorul de normalizare și generează un bitstream higher-band (Layer 2) la 16kbit/s. În final bitstrem-urile sunt multiplexate ca un bitstream scalabil.
3. CODAREA ADPCM G.726 A SEMNALULUI VOCAL
3.1. Introducere
In sistemele de prelucrare digitala a semnalului vocal exista avantaje unanim recunoscute:
• stocare simpla
• precizie deosebita
• posibilitati de compresie
• imunitate la erori, etc.
Prelucrarea numerica este de asemenea incurajata de dezvoltarea exploziva a calculatoarelor si a circuitelor integrate digitale. Tehnica digitala se impune nu numai in prelucrarea semnalelor dar si in transmisia lor, iar transmiterea semnalului vocal a fost si ramine un obiectiv important in retelele de telecomunicatii. In acest context telecomunicatiile, in general si telefonia, in special, evolueaza rapid spre digital .
Reprezentarea informatiei analogice (semnal vocal) sau digitale (date) este aleasa astfel incit sa se asigure optimizarea unei anumite caracteristici a transmisiunii cum ar fi:
• utilizarea optima a canalului
• compatibilitatea cu un anumit tip de mediu sau echipament
• costuri scazute
• asigurarea secretului transmisiei sau a unui anumit nivel de calitate .
Transmiterea digitala a semnalului vocal prezinta un numar impresionant de avantaje. Cea mai mare parte dintre acestea caracterizeaza transmisiunile digitale in general:
• rezistenta mare la perturbatii (raportul semnal / zgomot necesar la receptie este practic cu 20 de dB mai mic decit in cazul transmisiilor analogice )
• posibilitatea de regenerare a semnalelor (zgomotul nu se mai acumuleaza)
• posibilitatea de protectie la erori prin codarea canalului si de asigurare a secretului transmisiei prin criptare
• multiplexarea (cu diviziune in timp mai ieftina decit cea cu diviziune in frecventa)
• avantaje tehnologice (circuite VLSI dedicate, procesoare de semnal, interfete elctro-optice , etc .) .
Nu cu multi ani in urma principalul dezavantaj al transmisiunilor digitale era reprezentat de cresterea benzii necesare transmisiei. Odata cu dezvoltarea si implementarea algoritmilor evoluati de digitizare a vocii, care asigura o calitate corespunzatoare a vocii la debite de 32 Kbps, 24 Kbps sau chiar la 13, respectiv 6.5 Kbps in telefonia mobila, eficienta spectrala a transmisiunilor digitale a devenit comparabila sau chiar mai buna decit cea a transmisiunilor analogice, cel putin din punctul de vedere al transmisiilor de voce. Fara indoiala ca elaborarea unei tehnici performante de modulatie , pe de o parte, si extinderea impresionanta a utilizarii fibrei optice ca mediu de transmisiune, pe de alta parte, a contribuit esential la aceasta. Ca problema ramine necesitatea asigurarii sincronizarii la diferite nivele, cerinta cu atit mai costisitoare cu cit debitul in retelele de telecomunicatii creste.
Vocea umana este o sursa de natura analogica. Ea este abordata de o maniera statistica fiind modelata prin distributii de variabile aleatoare continue, cu variatii puternice in timp si de la un vorbitor la altul. Semnalele vocale sunt nestationare si continue. Ele pot fi considerate ca si cvasistationare pe intervale de timp scurte. Spectrul de putere al semnalului vocal difera in functie de sunet. El este cuprins in general intre 80 de Hz si 12 KHz, densitatea spectrala de putere scazind puternic la frecvente inalte, mai mari de 4 KHz.
3.2. Sistemul de codare ADPCM G.726
Caracteristicile ce se vor descrie in continuare se recomanda pentru conversia unui canal PCM de 64 de Kbps (legea A sau μ) la/de la un canal de 40, 32, 24 sau 16 kbps. Conversia se aplica debitelor binare PCM folosind o tehnica de transcodare ADPCM. Relatia dintre frecventa semnalului si legile de codare – decodare PCM este complet specificata in Recomandarea G.711.
Principala aplicatie a canalelor de 24 si 16 Kbps este folosirea lor ca si canale suplimentare de voce, iar canalele de 32 si 40 Kbps se folosesc pentru transmisii de prin modemuri operind la mai mult de 4800 Kbps .
3.2.1. Codorul ADPCM G.726
Dupa conversia semnalului PCM de intrare (legea A sau μ), in semnal PCM liniar se obtine un semnal diferenta prin scaderea din semnalul de intrare a unui semnal estimat. Aceast semnal diferenta este codat adaptiv. Un cuantizor adaptiv cu 31, 15, 7 sau 4 nivele (in functie de debitul de iesire) este folosit pentru a coda pe 5, 4, 3 sau 2 biti valoarea semnalului diferenta (Figura 3.2.1.)
Figura 3.2.1. Scheme de principiu
Figura 3.2.2. reprezinta schema bloc a codorului. Pentru variabilele ce vor apare in continuare k este indexul esantionului, iar esantioanele se iau la intervale de 125 μs (fe =8 kHz).
Conversia formatului PCM de intrare
Blocul Conversie PCM liniar converteste semnalul PCM de intrare s(k) din logaritmic (legea A sau μ) in semnal PCM uniform (liniar), sl(k) .
Calcul diferenta
Acest bloc calculeaza semnalul d(k), obtinut ca diferenta dintre semnalul uniform PCM sl(k) si semnalul estimat se(k) :
d(k) = sl(k) – se(k)
Cuantizorul adaptiv
Un cuantizor adaptiv neuniform cu 31, 15, 7 sau 4 nivele este folosit pentru a cuantiza semnalul diferenta d(k) rezultind 40, 32, 24 respectiv 16 Kbps. Inainte de cuantizare d(k) este normalizat (logaritmat in baza 2) si scalat cu y(k) (calculat de blocul de adaptare a cuantei):
dn(k) = log2( dl(k) ) – y(k)
Operatii la 32 de biti (exemplificare), analog se procedeaza si pentru 40, 24, 16 Kbps)
Pentru reprezentarea nivelului cuantizat dn(k) se folosesc 4 biti (trei pentru amplitudine si unu pentru semn). Iesirea pe 4 biti a cuantizorului I(k), este chiar semnalul de iesire la 32 kbps; I(k) ia una din cele 15 valori diferite de zero, dar I(k) este semnal de intrare pentru cuantizorul adaptiv invers, pentru blocurile de control a vitezei de adaptare si adaptarea factorului de scala.
Tabelul 3.2.1. Corespondenta valoare diferenta – nivel de cuantizare (32 Kbps)
Cuantizorul adaptiv invers
Versiunea cuantizata a semnalului diferenta dq(k) se obtine prin scalare folosind y(k) si diferenta cuantizata normalizata dqn(k), care se gaseste in tabel, si apoi se renunta la domeniul logaritmic :
dq(k) =2dqn(k) + y(k)
Adaptarea factorului de cuantizare (cuantei)
Acest bloc calculeaza y(k), cuanta folosita atit de cuantizor cit si de cuantizorul invers. La intrarea lui avem iesirea cuantizorului I(k) si parametrul de control al vitezei de adaptare al. Specifice sunt cele doua moduri de adaptare a cuantei :
• rapid , pentru semnale cu fluctuatii mari
• lent , pentru semnale cu fluctuatii mici
Viteza de adaptare este cotrolata de o combinatie de factori de scala rapizi si lenti. Factorul de scala rapid (unlocked), yu(k), este calculat recursiv in domeniu logaritmic in baza doi, din factorul de scala logaritmic rezultat anterior, y(k) :
yu(k) = ( 1 – 2-5 ) y(k) + 2-5 WI I(k) I
unde yu(k) este limitat intre : 1.06 ≤ yu(k) ≤ 10.00
De exemplu pentru 32 kbps, functia discreta W(I) este definita dupa cum urmeaza :
Factorul de scala lent (locked ) yl(k) se obtine din yu(k) printr-o operatie de filtrare trece jos :
yl(k) = ( 1 – 2 -6 ) yl(k-1) + 2-6 yu(k)
Factorii de scala rapid si lent sunt apoi combinati pentru a obtine factorul de scala rezultant:
y(k) = al(k) yu(k-1) + ( 1- al(k) ) yl(k – 1)
unde : 0 ≤al(k) ≤1
Controlul vitezei de adaptare
Parametrul de control al(k) poate lua valori in intervalul (0, 1). El tinde spre unu pentru semnal vocal si tinde spre zero pentru semnal de date. Este o masura a ratei de variatie a valorilor semnalului diferenta. Se calculeza doua variante ale amplitudinii medii a lui I(k) :
dms(k) = ( 1 – 2-5 ) dms(k-1) + 2-5 FI I(k) I
si dml(k) = ( 1 – 2-7 ) dml(k-1) + 2-7 FI I(k) I
Pentru 32de kbps F│I(k)│ este definit ca :
Astfel dms(k) este media pe termen scurt, iar dml(k) este media pe termen lung a lui F│ I(k)│ .
Predictorul adaptiv si calculul semnalului refacut
Principala functie a predictorului adaptiv este de a calcula semnalul estimat se(k) din semnalul diferenta cuantizat dq(k). Se folosesc doua structuri de predictoare adaptive, un predictor de ordinul sase, care modeleaza zerourile si un predictor de ordinul doi care modeleaza polii sistemului care produce semnalul de intrare. Acesta structura dubla ii permite sa lucreze mai bine cu marea varietate de semnale ce pot fi intilnite. Semnalul estimat este calculat ca:
Ambele seturi de coeficienti ai predictorului se modifica folosind un algoritm de gradient simplificat.
Detector de ton si tranzitii
Pentru a imbunatati performantele sistemului pentru semnale provenite de la modemuri ce opereaza cu modulatia FSK, se realizeaza un proces de detectie in doi pasi. Mai intii subbanda de semnal este detectata astfel incit cuantizorul sa poata fi adus intr-un mod de adaptare rapid :
In plus, o tranzitie de la o banda de semnal este definita astfel incit coeficientii predictorului sa poata fi setati in zero si cuantizorul sa poata fi fortat intr-un mod rapid de adaptare
Simplificind schema de codare ADPCM G.726 prin eliminarea blocurilor: control viteza de adaptare, detector de ton si tranzitii si adoptind un predictor format dintr-un element de intirziere, se cere implementarea practica a codorului in scopul studiului performantelor pentru debitul de 32 Kbps.
O serie de blocuri care intervin in structura decodorului au fost descrise deja mai sus. In continuare se va face descrierea functionala a blocurilor care sunt specifice decodorului.
Conversia in format PCM de iesire
Acest bloc converteste semnalul refacut sr(k) intr-un semnal PCM logaritmic (legea A sau μ) , sp(k).
Adaptarea la codarea sincrona
Adaptarea la codarea sincrona previne acumularea distorsiunilor datorate codarii sincrone tandem ( ADPCM – PCM – ADPCM , e t c. ) si conexiunilor digitale, cind :
1) transmisia semnalelor ADPCM este fara erori
2) debitele ADPCM si PCM nu sunt alterate de dispozitivele digitale de procesare a semnalelor .
Din tabelul si graficul de mai sus se pot desprinde doua concluzii :
• raportul semnal / zgomot ( RSZG ) creste aproximativ liniar cu cresterea numarului de biti folositi la codare
• la cresterea cu unu a numarului de biti, raportul semnal / zgomot inregistreaza o crestere de aproximativ 10 dB.
In Figura 3.4.2. sunt prezentate comparativ formele de unda ale semnalului original si ale semnalelor refacute pentru diferite debite de codare. La o privire mai atenta se observa ca pe masura ce debitul scade, zgomotul din semnal devine mai vizibil, ajungind in final ca la debitul de 16 kbps semnalul sa fie foarte zgomotos. Acest lucru e confirmat si de rapoartele semnal / zgomot din tabel .
Primul lucru care se observa este ca variatia raportului semnal zgomot la semnalele de date nu mai este la fel de liniara ca si in cazul semnalelor vocale. La codarea pe 2 sau 3 biti raportul semnal / zgomot se mentine oarecum constant (13 – 15 dB ) apoi la 4 biti are o crestere de 12 dB, dupa care la cresterea cu inca unu a numarului de bitI, cresterea RSZG nu mai este asa importanta. La debitul recomandat pentru date de 40 Kbps, semnalul este refacut foarte bine, avind doar un usor zgomot de granularitate. La o privire atenta se poate observa ca valoarea acestui zgomot creste odata cu amplitudinea nivelului de semnal .
Algoritmul propus de Recomandarea G.726 se preteaza la implementare soft. Rezultatele obtinute sunt foarte bune. Rapoartele semnal zgomot obtinute pe cele citeva cazuri pe care s-au facut experimentele s-au situat intre 2 si 50 de dB, desigur in functie de debit.
In urma experimentelor se pot trage o serie de concluzii si anume ca raportul semnal zgomot depinde de debitul la care se face prelucrarea . Mai clar se vede acest lucru daca ne raportam la numarul de biti pe care se face codarea. Astfel, se poate spune ca in general la cresterea cu unu a numarului de biti, RSZG creste cu aproximativ 10 dB. De asemenea din graficele obtinute se observa o crestere aproape liniara a RSZG in raport cu cresterea numarului de biti.
In cazul semnalelor de date se obtin de asemenea rezultate bune, in special la debitul de 40 de Kbps. Pentru semnalele de date bipolare pare sa fie general faptul ca nivelele negative sunt refacute mai prost decit cele pozitive.
Trebuie sa remarcam ca atit pentru semnalele de date cit si pentru cele vocale asemanarea dintre spectrul semnalului original si al celui refacut este foarte mare, ceea ce indica o calitate foarte buna a sistemului de codare / decodare.
Foarte interesant este faptul ca erorile de predictie si refacere sunt asemanatoare cu semnalul original, incit daca le redam in difuzor suna la fel ca si semnalul original, avind doar o amplitudine mai mica si putin zgomot.
Concluzii:
• Codorul ADPCM G.726 asigura codarea adaptiva a diferentei dintre doua esantioane succesive a unui semnal original (format PCM, frecventa de esantionare de 8 KHz, 8 bitI, legea A sau miu). Debitul de iesire poate fi selectat la: 40, 32, 24 sau 16 Kbps.
• Debitul de iesire depinde de numarul nivelelor de cuantizare folosite de blocul de cuantizare dupa cum urmeaza:
40 Kbps 5 biti
32 Kbps 4 biti
24 Kbps 3 biti
16 Kbps 2 biti
• In structura sistemului de codare se identifica blocurile: cuantizare adaptiva a diferentei, adaptare cuanta, control al vitezei de adaptare, predictorul adaptiv, detector de tonuri.
• Adaptarea cuantei se face sub comanda blocului de control al vitezei de adaptare si adaptare cuanta. Viteza de adaptare este controlata de o combinatie de factori de adaptare (rapid/lent) prin intermediul unui parametru de control. Adaptarea poate fi:
– rapida – pentru semnale cu fluctuatii de amplitudine mari
– lenta – pentru semnale cu fluctuatii mici
• Predictorul are o structura cu 2 poli si sase zerouri, asigurind stabilitatea sistemului in bucla inchisa si calculind un semnal estimat, in scopul minimizarii erorii de predictie. Coeficientii filtrului se modifica in timp pe baza unui algoritm de gradient simplificat.
• Codorul contine in structura sa, pe bucla de reactie negativa, elementele specifice ale decodorului. In decodor apare blocul de adaptare la codarea sincrona pentru a preveni erorile de codare sincrona tandem ADPCM – PCM – ADPCM.
• Implementarea practica a codorului poate fi realizata in timp real pe procesor de semnal sau chiar pe PC.
• Rezultatele experimentale obtinute la codarea cu acest tip de codec pun in evidenta urmatoarele:
– prin prisma rapoartelor semnal zgomot, se recomanda utilizarea dbitului de 40 Kbps pentru transmisii de date, 32 Kbps pentru transmisii de voce, iar 24 Kbps si 16 Kbps pentru canale auxiliare de voce
– pornind de la esantioane de 16 biti se pot obtine 5, 4, 3 sau 2 biti (corespunzator debitelor de 40, 32, 24, 16 Kbps) pentru fiecare esantion, rezultind rapoarte de compresie intre 3 si 8
– RSZG creste liniar cu crsterea numarului de biti
– o crestere cu 1 a numarului de biti conduce la o crestere cu aproximativ 10 dB a RSZG
– eroarea de predictie are caracteristici acustice aproximativ identice cu cele ale semnalului original
– spectrul semnalului refacut este aproape identic cu spectrul semnalului original
– la codarea datelor, variatia RSZG nu mai depinde liniar de numarul de biti.
CODAREA ADPCM PENTRU SEMNALE AUDIO DE BANDA LARGA – G.722
4.1. Principiul codarii
Codarea ADPCM a unor semnale audio de banda larga pentru aplicatii multimedia pune o serie de probleme. Astfel, datorita benzii semnalului de pina la 7 KHz, frecventa de esantionare standard de 8 kHz este insuficienta.
Standardul G.722 propune codarea ADPCM in subbenzi. Ideea este de a imparti banda de 7 – 8 KHz in doua subbenzi, inferioara si superioara, fiecare avind 4 KHz latime. Asupra acestor benzi se poate aplica o codare ADPCM clasica. Frecventa de esantionare in standardul G.722 este egala cu 16 KHz. Sistemul poate avea trei debite diferite de iesire (64 , 56 sau 48 Kbps) in functie de modul de lucru. Se ofera posibilitatea de a transmite pe linga voce, un canal de date de 8 sau 16 Kbps .
Daca se transmit date trebuie adaugata informatie suplimentara pentru a preciza modul de lucru. Datele se transmit in cel mai putin semnificativ bit (la debit de 8 Kbps), sau in cei mai putin semnificativi doi biti ai subbenzii inferioare (la debit de 16 kbps).
Codorul ADPCM pentru banda inferioara
Semnalul diferenta eL se obtine prin scaderea semnalului estimat sL din semnalul de intrare xL.
eL = xL – sL
Se observa ca prin suprimarea celor mai putin semnificativi doi biti de la iesirea cuantizorului apare posibilitatea de a insera un flux de date de maxim 2 x 8 = 16 Kbps pe canalul inferior, fara a afecta functionarea corecta a decodorului. Utilizarea unui cuantizor de 60 de nivele in loc de 64 garanteaza indeplinirea conditiei de densitate de amplitudine ceruta de standardul G.802 in toate conditiile si toate modurile de lucru.
Debitele de 48, respectiv 16 Kbps se multiplexeaza intr-un debit unic de 64 kbps. Primul bit transmis in linie este IH1 .
Concluzii:
• codarea ADPCM G.722 se aplica semnalelor audio de banda larga (banda de 7 KHz)
• pentru o codare cu raport semnal/zgomot ridicat, G.722 are in vedere codarea ADPCM in subbenzi. Semnalul de intrare cu banda maxima de 8 KHz este filtrat trece sus, respectiv trece jos pentru a obtine doua subbenzi: superioara si inferioara. Subbenzile sunt cuantizate pe 2 biti (subbanda superioara, acolo unde informattia acustica este mai putin relevanta), respectiv 6 biti (subbanda inferioara, care contine informatii importante despre frecventa fundamentala si frecventele formantilor)
• debitul sursei vocale poate fi de 64, 56 si 48 Kbps, in functie de numarul bitilor care se transmit pentru banda inferioara: 6, 5 sau 4. Astfel apare posibilitatea de a transmite pe linga canalul vocal un canal de date de 0, 8 sau 16 Kbps
• debitul de la iesirea codecului este de 64 Kbps si se obtine prin multiplexarea fluxului vocal cu fluxul de date
• calitatea semnalului audio reconstituit este acceptabila, pentru debitul de 48 Kbps si este buna, respectiv foarte buna pentru debitele de 56 si 64 Kbps.
Codarea in subbenzi
Codarea in subbenzi este folosita in domeniul semnalelor sonore pentru compresie
Aceasta presupune impartirea benzii semnalului in mai multe subbenzi, fiecare din acestea fiind codata separat.
Pentru a obtine subbenzile, este nevoie de filtre
Schema generala
Schema codare in subbenzi pentru G.722
Codarea:
Operatii:
Separare semnal in subbenzi
Calcularea pragurilor de mascare folosind modelul psihoacustic
Fiecare esantion al unei subbenzi este cuantizat si codat
Plasarea esantioanelor in grupuri numite cadre
Decodarea:
Operatii
Despachetare cadre
Decodarea esantioane subbenzi
Reconstructia semnalului sonor folosind mapare frecventa-timp
Mapare timp-frecventa
Aceasta se realizeaza aplicand Transformata Fourier Rapida (FFT) asupra semnalului original
Asigura conversia semnalului din domeniu timp in domeniu frecventa
Filtrul polifaza
Filtrul polifaza este in esenta un banc de filtre trece banda (pot fi si trece sus si trece jos) dispuse pe unul sau mai multe stagii.
Imparte semnalul intr-un numar de N subbenzi (N=puteri ale lui 2).
Odata ce subbenzile sunt obtinute, acestea pot fi codate independent folosind diverse codari (ADPCM in cazul G.722, MDCT+ Huffman in cazul MPEG I)
Exemplu de banc de filtre care divide semnalul in 8 subbenzi
Se foloseste regula lui Nyquist : daca f0 este cea mai mare frecventa a semnalului, atunci frecventa de esantionare trebuie sa fie de cel putin 2 ori mai mare
Extensia regulii lui Nyquist: pentru semnale cu componente intre doua frecvente f1 si f2, frecventa de esantionare are valoarea fs= 2 (f2-f1)
Forma generala a relatiei intre intrarea si iesirea filtrului:
unde: yn – iesirea din filtru
xn – intrarea in filtru
ai, bi – coeficienti
Modelul psihoacustic
Foloseste atat semnalul original in domeniu timp, cat si semnalul transformat in domeniu frecventa
Evalueaza energia in fiecare subbanda, si calculeaza un parametru numit raport semnal – prag de mascare ( RSPM [dB]) pe baza caruia sa se poata determina numarul nivelelor de cuantizare necesare in codare.
Cuantizare si codare
Fiecare esantion din fiecare subbanda este cuantizat si codat
Cuantizare neuniforma
Codarea depinde de cerinte (ADPCM in cazul G.722, Huffman in cazul mpeg1)
Formare cadre
Toate esantioanele sunt grupate in grupuri numite cadre
Faciliteaza reconstructia semnalului audio la decodare
Caracteristici performanta
Impartirea semnalului in subbenzi nu duce la compresie, dar duce la o codare mai eficienta decat daca ar fi codat semnalul initial asa cum este
Pentru codarea subbenzilor pot fi folosite mai multe solutii (ADPCM in cazul G.722, Huffman in cazul mpeg1), astfel metoda codarii in subbenzi poate fi adaptata in functie de necesitati
Codarea sinusoidala a semnalului vocal
Codarea sinusoidala urmareste generalizarea modelului excitatiei glotale, in loc sa utilizeze impulsuri sau secvente aleatoare, se presupune ca excitatia este compusa din componente sinusoidale de amplitudini, frecvente sau faze particulare.
Functia excitatiei este adesea reprezentata prin intermediul unui tren de impulsuri pe durata zonelor vocalizate, unde distanta dintre impulsuri este chiar “pitch”, si ca zgomot pe zone nevocalizate. Alternativa acestui model este inlocuirea cu o suma de sinusi. Motivatia reprezentarii sinusoidale este ca excitatia, unde este perfect periodica, poate fi inlocuita cu o serie de componente Fourier, unde fiecare componenta din serie corespunde unui sinus. Mai general, sinusii vor fi inlocuiti cu armonice care apar cand periodicitatea nu e exacta sau cand excitatie este nevocala. La trecerea formei sinusoidale ce reprezinta excitatia, prin tractul vocal rezulta o reprezentare sinusoidala pentru forma de unda a semnalului vocal data de :
(1)
unde si reprezinta ampltitudinea si faza pentru fiecare componenta sinusoidala asociata cu frecventa si este numarul de forme sinusoidale.
In care frecventele sinusoidelor sunt multipli ai frecventei fundamentale, iar amplitudinile si fazele sunt date de STFT. Daca STFT este data de:
Estimarea parametrilor vocali sinusoidali
Problema analizei si sintezei este de a lua forma de unda vocala, de a extrage parametrii ce reprezinta portiuni cvasistationare si utilizarea lor sau a variantei lor codate pentru a reconstrui o aproximare care sa fie cat mai aproape de forma originala. Daca forma de unda vocala este reprezentata de un numar arbitrar de sinusi, problema estimarii parametrilor, desi usor de rezolvat, duce la rezultate care nu au nici o importanta fizica. In consecinta, abordarea se bazeaza pe observarea ca atunci cand semnalul vocal este perfect periodic, parametrii sinusilor corespund Transformatei Fourier pe termen scurt. In acest caz avem:
(2)
In care frecventele sinusoidelor sunt multipli ai frecventei fundamentale, iar amplitudinile si fazele sunt date de STFT. Daca STFT este data de:
(3)
Atunci analiza Fourier da urmatorii parametrii estimati :
amplitudinea: (4)
faza: (5)
Magnitudinea STFT va avea valori la multiplii de .
Cand semnalul vocal nu este perfect vocal, vor exista valori insa nu neaparat la armonice. In acest caz faza formei de unda sinusoidale va fi calculata pentru partea reala si imaginara a STFT.
Daca se utilizeaza o fereastra de analiza de tip Hamming, atunci o data calculata latimea ferestrei pentru un cadru particular, avem:
(6)
O posibila schema bloc pentru analiza si sinteza semnalului vocal prin analiza sinusoidala este:
Schema bloc a sistemului de analiza/sinteza sinusoidala ilustreaza funcțiile majore subsumate în cadrul sistemului.
Figura ne da o descriere completa a sistemului de analiză / sinteză . O simulare care nu este in timp real a fost dezvoltata inițial pentru a determina eficiența abordării propuse în modelarea vorbirii reale. Vorbirea prelucrata în simulare a fost filtrata trece jos la 5 kHz, digitalizata la 10 kHz, și analizata la intervale de 1O-ms cadru. Semnalul este trecut printr-un DFT de 512 puncte cu o fereastra hamming adaptiva cu o latime de 20 ms.
Numărul maxim de vârfuri utilizate în sinteza a fost stabilit la un număr fix (~ 80). Dacă s-au obținut vârfuri în exces, s-au folosit numai cele mai inalte vârfuri.
O bază de date mare de vorbire a fost procesata cu acest sistem și vorbirea sintetica a fost în esență, imposibil de distins de original. O examinare vizuală a pasajelor reconstruite arată că structura de undă este în esență conservată.
Estimarea parametrilor pentru modelul sinusoidal armonic
Primul pas in procedura de analiza, este de a presupune ca frame-ul de intrare din semnalul vocal a fost deja analizat in termeni de componente sinusoidale, cu tehnica descrisa mai sus. Atunci s(n) este:
(10)
Unde, , reprezinta amplitudinea, frecventa si faza celor L sinusi masurati. Scopul este de a incerca sa reprezentam acesti sinusi cu o alta forma de unda pentru care toate frecventele sa fie armonice. Aceasta forma de unda poate fi modelata astfel:
(11)
Unde: este frecevnta fundamentala normalizata, este numarul de armonici din banda semnalului vocal, e anvelopa tractului vocal, si sunt fazele armonicelor. De acum inainte va fi numita “pitch”, desi in zone de semnal nevocal terminologia nu are nici o semnificatie. Este de dorit sa se estimeze frecventa fundamentala si fazele, astfel incat semnalul sa fie cat mai aproape de cel real .
Primul termen din formula de mai sus repezinta puterea semnalului si este independent de parametrii necunoscuti:
(14)
Intrucat fazele afecteaza numai al doilea termen al ecuatiei (18), eroarea medie de predictie va fi minimizata alegand:
,(19)
Necunoasterea perioadei fundamentale afecteaza numai al doilea si al treilea termen din ecuatia de mai sus care poate fi adusa la forma redusa:
(21)
Si eroarea medie patratica poate fi exprimata prin:
(22)
Intrucat primul termen este o valoare constanta cunoscuta valoarea minima a erorii medii patratice se obtine prin maximizarea lui .
Este util ca mai departe sa se utilizeze reprezentarea sinusoidala a semnalului vocal de intrare. Substituind reprezentarea din ecuatia (10) in ecuatia (14), atunci puterea devine:
(23)
Tehnica OLA
Metoda overlap-add se bazează pe tehnică fundamentală în DSP: (1) se descompune semnalul în componente simple (2) se proceseaza fiecare dintre componente într-un mod util și (3) recombinarea componentelor transformate în semnalul final
-este o modalitate eficientă de a evalua convoluția discretă a unui semnal foarte lung x[n], cu un filtru cu raspuns finit la impuls (FIR), h[n]
Pentru inceput, semnalul x[n] este impartit in secvente le yk[n] care nu se suprapun, iar apoi Transformata Fourier Discreta (DFT) aplicata asupra acestor secvente este evaluata prin multiplicarea Tranformatei Fourier Rapide (FFT) aplicata pe xk[n] cu FFT aplicata pe h[n]. Dupa recuperarea yk[n] prin FFT inversa, semnalul de iesire rezultat este reconstruit prin suprapunere (overlapping) si adaugare (adding) cu yk[n], ca in figura de mai jos. Suprapunerea apare din faptul ca o convolutie liniara e intotdeauna mai lunga decat secventa originala.
Modelul HNM – Harmonic plus Noise Model
Modelul HNR reprezinta o masura prin care poate fi cuantificata cantitatea de zgomot aditiv din semnalul aditional. Acesta poate imbunatati codarea sinusoidala prin faptul ca se poate tine cont, la codare, si de parametrii fizici ai semnalului vocal uman.
Descompunerea vorbirii in parti (cvasi) periodice și non-periodice are multe aplicatii in :
Modificare discursului
Codarea vorbirii
Detectia vocii patologice
Spectrul de vorbire este împărțit într-o banda de înaltă si joasa frecventa delimitata de asa numita maximum voiced frequency.
Banda joasă a spectrului de frecvențe este reprezentata numai de valuri sinusoidale armonice.
Banda superioară este modelata ca o componenta de zgomot modulata de o anvelopa in domeniul timp.
HNM permite sinteza de copiere și modificari prozodice de înaltă calitate
Rezolutia perioadei fundamentala – adaptive
In formularea de mai sus fereastra de analiza e fixata la N+1 esantioane. Aceasta inseamna ca lobul principal al functiei sinc este fixa pentru toate valorile lui pitch. Aceasta este contrar faptului ca urechea este mai putin toleranta la diferente mari pentru domenii de frecvente inalte, fata de frecventele joase. Acest efect poate fi pus in evidenta prin definirea functiei distanta pentru lobul k armonic sa fie:
(31)
Si sa fie zero in rest. In acest fel rezolutia este foarte mare la valori mici a lui pitch, in contrast cu valorle mari unde rezolutia este mica.
CODAREA SEMNALELOR AUDIO IN STANDARDUL MPEG PENTRU APLICATII MULTIMEDIA
Caracteristici psihoacustice aplicate in codarea MPEG a semnalelor audio
Standardul MPEG (Motion Picture Expert Group) foloseste in procesul de codare a semnalelor audio caracteristici psihoacustice de audibilitate determinate in laborator pe un mare numar de subiecti. Caracteristica principala este ca in spectrul semnalelor audio exista componente care nu sunt percepute de urechea umana. De exemplu, o componenta spectrala de amplitudine mare face ne-audibile componentele de frecventa apropiata, care au amplitudini mai mici ca un anumit prag. Acest efect se numeste efect de mascare.
Efectul de mascare se manifesta in trei ipostaze:
• mascarea componentelor spectrale
• mascarea temporala
• pragul absolut de mascare .
a) Mascarea componentelor spectrale (MCS) se produce atunci cind componentele spectrale din jurul frecventei cu amplitudine dominanta nu depasesc un anumit prag de mascare. Pragul de mascare depinde de frecventa, amplitudinea si durata in timp a tonului dominant .
b) Mascarea temporala (MT) consta in persistenta efectului de mascare o anumita perioada Δt (in general de ordinul a 200-500 ms) chiar si dupa disparitia brusca a frecventei dominante. In intervalul Δt pragul de mascare scade. Practic, frecventa dominanta nu scade brusc, ci in timp si in consecinta pragul de mascare scade pina la o anumita valoare.
c) Pragul absolut de mascare ( PAM ) este valoarea minima a amplitudinii, pentru care componentele spectrale sunt audibile
De remarcat ca in spectrul semnalelor audio exista o multitudine de frecvente dominante si ca atare pragul de mascare global, la un moment dat, se va determina in functie de pragul de mascare, mascarea temporala si pragul absolut de mascare, pentru fiecare componenta in parte. Din Figura 5.2.3 se observa ca pragul de mascare global depinde de amplitudinile si frecventele componentelor spectrale dominante.
5.3 Sistemul de codare/decodare MPEG-1
In prima etapa a implementarii MPEG-1 (ISO / IEC 11172-3) realiza codarea a doua canale stereo la debitul de 256 Kbps si la o calitate apropiata de CD. Standardul nu precizeaza codorul ci doar decodorul cu scopul de a asigura compatibilitatea cu dezvoltarile tehnologice viitoare, dar prevede 3 nivele (Layers) de codare: Layer I, Layer II si Layer III asociate cu calitatea si debitul binar dorit, nivele intelese ca trei algoritmi distincti.
Caracteristici ale codarii MPEG-1 :
• semnalul de intrare poate fi :
– 1 canal audio mono
– 1 canal audio stereo (in scopul reducerii debitului, se pot coda simultan mai multe canale individuale exploatind corelatia dintre ele)
– 2 canale independente (eventual bilingv)
• frecventa de esantionare poate fi selectata la 32, 44.1 sau 48 kHz
• debitul binar
– fix si precizat discret in intervalul 32-448 Kbps, in functie de nivel (I, II sau III )
– fix, dar neprecizat in intervalul 32-448 Kbps
– pseudovariabil (valabil doar pentru Layer III)
5.3.1 Structura codorului si decodorului MPEG-1
In Figura 5.3.1. se prezinta schema bloc a unui sistem de codare / decodare MPEG-1, nivelele I si II. Blocurile componente impreuna cu functiile realizate sunt urmatoarele :
• Bancul de 32 de filtre trece banda genereaza 32 de canale spectrale (ci ; i = 1..32 ) uniform distribuite pe tot spectrul semnalului de intrare. Largimea de banda a unui filtru este fe / 2 x 32, unde fe este frecventa de esantionare a semnalului original.
• Subesantionarea cu 32 are rolul de a reduce frecventa de esantionare pe fiecare canal ci in concordanta cu teorema esantionarii. La o banda de fe /2 x 32, noua frecventa de esantionare va fi fe / 32.
• Secvente de cite 12 esantioane consecutive din fiecare subbanda subesantionta, csI sunt grupate in blocuri Bi , care corespund la 12 x 32 = 384 esantioane de intrare.
• Pe baza unei tabele cu 63 de valori blocul de scalare determina pentru fiecare subbanda factorii de scalare FSi (subunitari), astfel incit toate esantioanele din cadrul unui bloc sunt normalizate la valoarea maxima.
• In blocurile de cuantizare si codare se produce codarea fiecarei subbenzi cI , pe un numar variabil de biti Ri, in concordanta cu importanta sa in spectru. Numarul nivelelor de cuantizare este determinat de modelul psihoacustic .
Obiectivul modelului psihoacustic este estimarea unui parametru numit raport semnal – prag de mascare (RSPM [dB]) pe baza caruia sa se poata determina numarul nivelelor de cuantizare necesare in codare. Desi standardul nu precizeaza algoritmul de lucru al acestui bloc, un exemplu poate fi urmarit in Figura 5.3.2.
Algoritmul prezentat in Figura 5.3.2. are 9 pasi:
P1: Pentru fiecare grup de 384 esantioane de intrare (ce corespunde unui bloc Bi) se calculeaza densitatea spectrala prin intermediul FFT in 512 (Nivel I) sau 1024 (Nivel II) puncte, cu fereastra Hamming. Rezolutia spectrala este de 8 puncte (Nivel I), respectiv 16 puncte (Nivel II) pentru fiecare subbanda.
P2 : Pe baza spectrului se calculeaza puterea maxima Pi
P3 : Se determina, pe baza de tabele, Pragul Absolut de Mascare (PAM) pentru fiecare componenta din FFT (valorile depind de calitatea codarii: pentru debite mai mari de 96 Kbps PAM scade cu aproximativ 12 dB).
P4: Separarea componentelor A si B din spectru. Componentele de tip A si B se caracterizeaza prin maxime locale in vecinatatea carora se gasesc (intr-o banda predefinita) una-doua componente spectrale semnificative. Benzile predefinite sunt mai inguste decit subbenzile, pentru frecvente joase si mai largi decit subbenzile pentru frecvente inalte. Prin eliminarea din spectru a componentelor de tip A, ramin componentele de tip B. Acestea se caracterizeaza prin componenta mai semnificativa din fiecare banda a unui banc de filtre neuniform benzi critice).
P5 : Eliminarea componentelor A si B nerelevante. Exista doua etape:
– se elimina atit componentele A cit si B care sunt sub PAM
– pentru doua componente de tip A apropiate in frecventa (Δf) se elimina componenta de amplitudine mai mica .
P6: Se calculeaza, pe considerente experimentale, pragul de mascare pentru componentele A si B ca o functie de amplitudine si frecventa. Se observa ca pentru o aceeasi amplitudine a componentelor A si B, efectul de mascare este mai pronuntat pentru componentele de tip A.
P7 : Se calculeaza pragul de mascare global, ca o suma a pragurilor de mascare absolute, de tip A, respectiv B.
P8 : Pentru fiecare subbanda, corespunzatoare bancului de 32 de filtre, se determina minimul Mi din functia prag de mascare .
P9 : Caculul raportului semnal-prag de mascare pentru fiecare subbanda i : RSPMi [dB] = Pi [dB] – Mi [dB]
Acest parametru este o masura a gradului in care se produce mascarea in fiecare subbanda si ca atare poate fi folosit in a aloca un numar mai mare de biti la codare, pentru subbenzile mai importante (Pi – Mi , mare), sau un numar mai mare de biti pentru subbenzile nerelevante (Pi -Mi , mic).
• In conditiile de mai sus este posibila o alocare dinamica si adaptiva a numarului de biti de cod, Ri , pentru subbenzile componente. Alocarea este diferita pentru Nivel I si Nivel II.
• Datele obtinute de la sistemul de codare formeaza un cadru, care este precedat de un header de 32 de biti.
Structura cadrului MPEG-1: (Semnificatia cimpurilor de biti)
SYNC – Syncword – 12 biti toti ‘1’ pentru sincronizare
ID – defineste algoritmul: ID = 1 (MPEG-1), ID = 0 (MPEG-2)
LC – Layer Code ;
PROT – Protection Bit; PROT = 0 (CRC este prezent) ; PROT = 1 (nu exista CRC)
BITR – Bit Rate Index – indica debitul binar
SF – Sampling Frequency, indica frecventa de esantionare ; depinde de ID
PAD – Padding Bit (PAD = 1, arata ca in cadru se gasesc biti suplimentari pentru a controla debitul binar )
PRIV – Private Bit, pentru uz privat
M – Mode, conform cu tabelul de mai jos :
Trebuie retinut ca in modul stereo canalele fiind codate separat este posibil ca pentru anumite cadre calitatea redarii sa fie slaba pentru un anumit debit dat. Pentru a elimina acest neajuns, modul Intesity-Stereo exploateza caracteristica prin care la frecvente medii si inalte urechea este mai sensibila la diferenta de amplitudine de pe cele doua canale decit la continutul spectral.
Astfel, pentru a folosi eficient numarul de biti alocati unui cadru, la frecvente medii si inalte se aduna semnalele pentru a transmite un singur semnal. Numarul subbenzii de la care se face adunarea este specificat prin variabila mode extension din header. Reconstituirea efectului stereo are loc prin codarea si transmiterea a doi factori de scala pe fiecare canal. La receptie are loc ponderarea semnalului audio cu acesti factori, generind doua amplitudini care sunt controlate separat. Informatia specifica modului Intensity-Stereo se include in fluxul de date audio in primii doi octeti .
5.3.2 Nivelul I de codare (Layer I)
Algoritmul de codare introduce ideea selectarii unui cuantizor ditr-un grup de 15 cuantizoare cu scopul de a obtine un raport zgomot-prag de mascare cit mai uniform in toate benzile, la un debit de 384 Kbps si calitate apropiata de CD. Numarul de biti pe care se face codarea blocurilor (ci) poate fi de la 0 la 15.
Daca raportul zgomot-prag de mascare (RZPM [dB]) este negativ, atunci zgomotul de cuantizare va fi imperceptibil.
Se poate scrie ca :
RZPMi [dB] = Zi [dB] – RZPMi [dB] ,
unde :
RZPMi – rapotrul zgomot de cuantizare – prag de mascare
RSZi – raportul semnal – zgomot de cuantizare
RSPMi – raportul semnal – prag de mascare
Procedura de alocare a bitilor este iterativa, pornind cu o alocare de Ri =0 biti si crescind apoi numarul de biti pe care se face codarea pina cind se obtine calitatea dorita.
5.3.3 Nivelul II de codare (Layer II)
Pentru reducerea debitului binar de la 384 Kbps la 256 Kbps, cit prevede Nivelul II de codare, algoritmul MPEG-1 Layer II face apel la reducerea redundantei care apare in semnalul audio. In cazul codarii MPEG-1 aceasta redundanta se manifesta prin :
• corelatia inalta dintre factorii de scalare din blocuri succesive de esantioane ale aceleiasi subbenzi
• numarul nejustificat de mare al nivelelor de cuantizare pentru benzile de frecventa inalta
La modul concret, aceasta redundanta este rezolvata in procesul de codare prin mai multe masuri care conduc la reducerea debitului binar :
[1] Se grupeaza cite 3 bocuri pe fiecare subbanda si se codeaza ca un singur bloc
a) daca factorii de scalare din cele trei blocuri succesive nu difera prea mult se transmite un singur factor de scalare
b) daca 2 din 3 factori de scalare sunt asemanatori se transmit 2 factori de scalare
c) daca factorii de scalare difeira mult intre ei se transmit toti trei
Observatie : In plus se mai transmite un parametru SCFSI ( Scale Factor Side Information ) pentru a putea reconstitui valorile factorilor de scalare la receptie.
2. Se reduce numarul nivelelor de cuantizare pentru frecvente medii si inalte
(gama dinamica a semnalului in aceste domenii este mica si un numar mare de nivele de cuantizare nu produce un efect acustic important ).
3. Se grupeaza cite trei esantioane de semnal din fiecare bloc intr-un triplet. Tripletul se codeaza cu un cod unic de 5, 7 sau 10 biti .
5.3.4 Nivelul III de codare (Layer III)
Nivelul III de codare are la baza structura Nivelelor I si II , dar introduce citeva elemente noi pentru a creste rezolutia la frecvente joase si pentru a elimina variatiile nedorite ale pragului de mascare la aceste frecvente. Debitul binar asigurat este de 128 kbp, dar nu la calitate de CD. Cresterea rezolutiei in frecventa este asigurata de prelucrarea fiecarei subbenzi printr-o TCDM (Transformata Cosinus Discreta Modificata). Din fiecare subbanda sunt generate 6 sub-subbenzi (in cazul TCDM pe termen scurt) sau 18 sub-subbenzi (in cazul TCDM pe termen lung). Pe termen scurt se obtine o mai buna rezolutie temporala, iar pe termen lung o mai buna rezolutie spectrala.
De exemplu, pentru portiuni de semnal cu variatie lenta (frecvente joase) este necesara o crestere a rezolutiei la frecvente joase, deci o ferestra de analiza mai mare. Pentru primele doua subbenzi se va folosi TCDM pe termen lung, iar pentru celelalte 30, TCDM pe termen scurt. Comutarea ferestrei de analiza (scurt /lung, lung/scurt ) are loc intr-un bloc de adaptare a ferestrei de analiza pentru tranzitii scurt-lung, respectiv lung-scurt.
Caracteristicile esentiale ale algoritmului sunt :
a) utilizarea TCD cu fereastra de analiza variabila pentru a forma din subbenzi sub-subbenzi, in scopul cresterii rezolutiei spectrale.
b) gruparea in ordinea frecventei a sub-subbenzilor in granule dupa regula repetitiva :
– un esantion din fiecare sub-subbanda cu fereastra de analiza pe termen lung
– 3 esantioane din fiecare sub-subbanda cu fereastra de analiza pe termen scurt pentru a forma un grup de 576 de esantioane. Aceasta grupare garanteaza amplitudinea descrescatoare a esantioanelor. Doua granule formeaza un cadru audio care corespunde la 1452 esantioane de intrare.
c) gruparea adaptiva a esantioanelor din fiecare granula cu scopul de a reduce numarul de biti de codare pentru factorii de scalare din fiecare subbanda. Daca doi factori de scalare succesivi sunt identici, al doilea nu se mai transmite dar se transmite informatie auxiliara. Factorii de scalare se grupeaza in clase care apoi se codeaza.
d) cuantizarea neuniforma a esantioanelor din granule prin aplicarea transformatei T(f) = f 0.75 asupra componentelor spectrale. Exista 5 cuantizori, corespunzatori la 5 domenii de variatie ale esantioanelor:
– primii 3 codeaza esantioanele mari prin gruparea cite doi si codarea cu cod Huffman
– al patrulea are 3 nivele de cuantizare ( +/- 1 , 0 ) si codeaza un grup de 4 esantioane
– al cincelea corespunde frecventei inalte si codeaza tot timpul 0. Aceasta informatie nu se mai transmite .
e) introducerea unui buffer pentru a adapta debitul binar variabil de la iesirea codorului Huffman la debitul fix al canalului de iesire. Prin reactie negativa se evita golirea sau umplerea bufferului .
Observatie : Bufferul asigura si codarea de inalta calitate a portiunilor de semnal rapid variabile (frecvente mari). Efectul este numit corectie “ pre-echo “.
f) headerul nu se transmite la inceputul cadrului audio de lungime variabila, ci acolo unde este nevoie . Un pointer indica pozitia exacta a datelor (main-data begin).
Observatii :
• Pentru modul stereo, acest algoritm permite codarea sumei, respectiv diferentei celor doua canale, bazinduse pe faptul ca diferenta semnalelor poate fi codata cu un numar mai mic de biti. Astfel debitul binar scade. Acest mod de codare se numeste MS_Stereo (M = Middle : left + right , S = Side : left + right ). La receptie semnalul original se obtine prin adunarea, respectiv scaderea semnalelor “ Middle “ , respectiv “ Side “.
• Exista situatii in care se poate utiliza atit MS_Stereo cit si Intesity_Stereo simultan, cazuri in care modul MS_Stereo se aplica doar subbenzilor de frecvente joase, acolo unde Intensity_Stereo nu se aplica.
5.4 Sistemul de codare/decodare MPEG-2
MPEG-2 este o extensie a sistemului MPEG-1 pentru codarea canalelor stereo. Frecventa de esantionare poate fi scazuta la 16, 22.5 sau 24 kHz, iar debitul binar poate fi chiar 8 Kbps, fapt semnalat prin pozitionarea in zero a bitului ID din header.
Trasatura esentiala a MPEG-2 este definirea si utilizarea unui standard pentru compresia a doua canale stereo:
– stinga (L- left),
– dreapta (R – right ) , pentru compatibilitate cu MPEG-1
si inca 4 canale aditionale:
– central (C – front Center),
– auxiliar stinga (LS – side / rear Left Surround) ,
– auxiliar dreapta (RS – side / rear Right Suround)
– un canal optional de inalta fidelitate la frecvente joase (LFE – Low Frequency Enhancement ).
Compatibilitatea cu MPEG-1 se realizeaza prin codarea canalelor L si R ca in MPEG-1, iar a canalelor aditionale in cimpul de date auxiliar ce urmeaza dupa datele audio in canalul MPEG-1. Fluxul binar rezultat se numeste multicanal audio.
Concluzii:
• Codarea MPEG a semnalelor audio exploateaza caracteristici psiho-acustice intr-un sistem de codare in subbenzi. In spectrul semnalelor audio exista componente spectrale care nu sunt auzite, din cauza ca sunt in vecinatatea unor compenente de frecventa apropiata si de amplitudine mult mai mare. Acest efect este numit efect de mascare.
• Efectul de mascare se manifesta in 3 ipostaze: mascarea componentelor spectrale, mascarea temporala si pragul absolut de mascare.
• MPEG-1 este un standard care permite codarea canalelor stereo la debite date de nivelul de codare. Nivelele de codare se numesc Layer I, Layer II, Layer III.
• Schema MPEG-1 este in esenta un codor in subbenzi dotat cu un bloc de procesare auxialiar: blocul de modelare psiho-acustica, prin intermediul caruia se aloca dinamic numarul de biti pentru fiecare subbanda, dupa ce in prealabil s-a calculat pragul de mascare.
• MPEG-1 Layer I are in vedere obtinerea unui raport zgomot/prag de mascare cit mai uniform in toate subbenzile prin selectarea comandata a unui cuantizor dintr-un grup de 15 cuantizori.
• MPEG-1 Layer II reduce debitul binar de la 384 Kbps la 256 Kbps prin eliminarea redundantei din semnalul audio folosind tehnici precum: codarea unor grupe de blocuri din fiecare subbnada, reducerea numarului nivelelor de cuantizare pentru frecvente medii si inalte, codarea unor triplete de esantioane.
• MPEG-1 Layer III utilizeaza in structura codorului un bloc de Transformata Cosinus Modificata ce opereaza comandat pe termen scurt sau lung in vederea imbunatatirii rezolutiei temporale (pentru semnale cu variatie lenta) sau spectrale (pentru semnale cu variate rapida).
• MPEG-2 genereaza un Multicanal Audio folosind urmatoarele idei: gruparea subbenzilor, aplicarea unor transformari matriceale multicanalului audio, utilizarea predictiei adaptive multicanal sau codarea falsa a canalului central. Se pastreaza compatibilitatea cu MPEG-1.
Codarea LPC
Codarea LPC este o tehnica generala de compresie a semnalului vocal bazata pe corelatia puternica existenta intre esantioanele succesive.
In principiu metoda consta in determinarea unui predictor liniar pentru fiecare cadru de semnal si reprezentarea semnalului prin coeficientii predictoarelor.
Acest tip de codare presupune:
1.segmentarea optima a semnalului vocal –realizarea unui compromis intre factorul de compresie (lungime mai mare a segmentelor) si eroarea de predictie (lungimea segmentelor cat mai redusa );
-acest deziderat este atins alegand o fereastra de 20-30 ms – acesta fiind intervalul maxim in care semnalul poate fi considerat cvasistationar
2.determinarea lungimii ideale a predictorului si calculul eficient al coeficientilor de predictie
-corelatia dintre 2 esantioane este cu atat mai redusa cu cat distanta dintre ele este mai mare , prin urmare exista un ordin maxim al predictorului , p , cu propietatea ca pentru orice valoare mai mare eroarea de predictie se reduce foarte putin; p se determina experimental, valori tipice fiind 10-15
–problema determinarii celor p coeficienti se reduce la rezolvarea eficienta a unui sistem de ecuatii liniare particular –ecuatiile Yule-Walker (matrice Toepelitz) ; exista 2 metode –metoda corelatiei si metoda covariantei
-cuantizarea diferentiata a fiecarui tip de coeficient –in functie de importanta acestuia
Schema bloc – modelul sursa filtru :
U[n] –excitatia -tren de impulsuri cu perioada To /zgomot alb gaussian
G-castigul –valoarea maxima a excitatiei
H(z) –functia de sistem a filtru care modeleaza tractul vocal –coeficientii filtrului sunt coeficientii de predicitie
S[n]-semnalul vocal
Sursa
1.Pentru foneme sonore sursa este un tren de impulsuri cu perioada egala cu perioada fundamentala a vibratiilor corzilor vocale (extrasa din semnalul de eroare folosind AMDF sau autocorelatia)
– semnalul de eroare este o aproximare a excitatiei
2.Pentru foneme nesonore excitatia este zgomot alb gaussian
Filtrul
Filtrul cu coeficienti variabili avand doar poli (in numar de p) modeleaza tractul vocal . Este inversul filtrului de predictie A(z).
Functia se sistem a filtrului (all poles):
Sinteza semnalului:
Raspunsul in frecventa al filtrului H reprezinta anvelopa spectrala a semnalului vocal (“spectrul netezit”). Maximele locale reprezinta formantii.
Calitatea vocii sintetizate din parametrii LPC este relativ slaba chiar si in cazul codarii excitatiei .In comparatie cu alte metode de compresie frecvent utilizate (MPEG,ADPCM) tehnica LPC are, in general, avantajul unei rate de compresie mai ridicate , dar calitatea semnalului este mai slaba. Folosind un model suficient de complex se poate obtine un semnal satisfacator, metoda fiind folosita in aplicatii comerciale (ex. GSM)
-Variatia erorii cu ordinul predictorului:
-eroarea descreste odata cu ordinul predictorului, dar aceasta scadere vine cu pretul cresterii efortului de calcul. Prin urmare un ordin mai mare de 15 nu se justifica.
CUANTIZAREA VECTORIALA
Cuantizarea vectorială – notiuni teoretice
Cuantizarea este procesul de discretizare a unei surse continue de semnal. Cuantizarea vectoriala este un instrument robust de codare si compresie a datelor, folosit cu succes in compresia imaginilor si a semnalelor vocale, precum si in recunoasterea vocii.
Cuantizarea vectoriala poate fi asimilata cu ideea de aproximare, de exemplu rotunjire la numarul întreg imediat superior.
Cuantizarea vectoriala mapeaza vectori de dimensiune k din spatiul intr-un set finit de vectori Y=.
Elementele cuantizarii vectoriale
Fiecare este un cuvant de cod (se numeste Centroid), iar multimea lor defineste alfabetul Y=.
Fiecare cuvant de cod reprezinta o intreaga regiune denumita Voronoi si care trebuie sa respecte proprietatile: , adica o valoare este reprezentata de un singur cuvant de cod
Cuvantul de cod trebuie ales respectand o anumita regula generala. Aceasta regula difera de cazul practica unde se foloseste cuantizarea vectoriala. Un criteriu posibil ar fi distanta euclidiana dintre cuvantul de cod si vectorul de intrare
Schema codare/decodareVQ
Raportul semnal-zgomot
• Presupunem ca semnalul (variabila aleatoare) x are medie nula
• Raportul semnal-zgomot (SNR—signal to noise ratio) asociat unui cuantizor
SNR = 10 log10E{x2}/D [dB]
• Daca semnalul nu are medie nula, se foloseste varianta în loc de E{x2}
• În general, despre cuantizoarele cu SNR > 10dB se spune ca au rezolutie înalta; pentru acestea sunt valabile rezultatele asimptotice prezentate mai departe
Generarea alfabetului
Generarea alfabetului este una dintre cele mai importante si dificile operatii in cazul cuantizarii vectoriale. De succesul acestei operatii depinde reusita codarii vectoriale, iar daca acesta nu este ales corespunzator se poate ajunge la rezultate dezastroase. Pentru a ne asigura ca rezultatul procesului de creare a alfabetului va genera rezultate satisfacatoare avem trei criterii care trebuie respectate :
Conditia de cel mai apropriat vecin (Nearest neighbour condition)
adica numai daca . Conditia arata ca in interiorul unei zone Voronoi vom avea acele elemente a caror distanta este mai mica fata de oricare element din orice alta zona Voronoi.
Conditia de centroid
Conditia arata ca noul cuvant de cod (centroidul) trebuie ales astfel incat el sa reprezinte cel mai bine toate elementele din jurul sau. De aceea, pentru a alege noul cuvant de cod se alege media aritmetica a elementelor din zona Voronoi
Probabilitate zero pe margini
Conditia arata ca nici un element nu trebuie sa se afle la granita dintre doua regiuni Voronoi. Daca ar exista astfel de elemente atunci codarea lui ar putea ridica probleme, nestiind carui centroid ii apartine.
Alegerea cuvintelor initiale
Generarea valorilor initiale folosite la generarea alfabetului este de asemenea o operatie dificila. De-a lungul timpului s-au cautat diferiti algoritmi care sa garanteze ca aceste valori initiale sa conduca la un alfabet optim. Cateva din acesti algoritmi sunt prezentati mai jos:
Random Coding
Valorile initiale sunt alese total aleator dintre valorile de intrare. Tehnica, desi este simpla, nu garanteaza ca aceste valori sunt optimale. Se pot intampla cazuri in care centroizii alesi astfel sa reprezinta fie prea putine date de intrare fie prea multe. O dispozitie cat mai uniforma a datelor de intrare favorizeaza aceasta tehnica.
Pruning
Se porneste cu un set de antrenare dupa care se introduc noi valori in sistem. Se calculeaza distorsiunile dintre datele de intrare si setul de antrenare, iar daca valoare obtinuta este sub un prag stabilit atunci se alege un nou centroid. Ideea este ca, daca avem valori care sunt prea departate de centroid, e mai rentabil sa cream un nou centroid care sa reprezinte acele date, precizia creste astfel.
Pair wise Nearest Neighbour Design
Este foarte asemanator cu metoda de mai sus, diferenta este ca algoritmul se opreste in momentul in care am gasit L vectori, valoarea L fiind cunoscuta de la inceput.
Splitting
Se calculeaza centroidul tuturor datelor de intrare (media aritmetica). Valoarea astfel aleasa se desparte in C+ε, C-ε care vor asigura o mai buna acoperire a datelor de intrare. Cele doua centroide rezultate se vor descompune mai departe pana cand alfabetul va avea rezolutia ceruta.
Generarea alfabetului – Algoritmul LBG
– Se porneste cu o secventa de antrenare T care este o multime de M vectori de dimensiune K
– Se creeaza un alfabet initial care va fi imbunatatit prin iteratii succesive
– se obtine
– se partitioineaza spatiul T in regiuni folosind conditia celui mai apropriat vecin
– se calcueaza centroizii
– se calculeaza abaterea erorii medii patratice ,
– daca fractia este sub un anumit prag algoritmul se opreste, daca nu se trece la pasul urmator
Aplicatia „dspvqtwodim” (Matlab) folosește pentru cuantizare algoritmul Lloyd generalizat (Generalized Lloyd Algorithm – GLA). Se permite introducerea unei secvențe de antrenare, alegerea alfabetului inițial și al numărului nivelelor de codare, și selectarea criteriului de oprire a algoritmului. În urma rulării, se va afișa distribuția celulelor și a vectorilor alfabetului de codare, precum și numărul de vectori din secvența de antrenare conținuți în fiecare celulă, la fiecare iterație.
Algoritmul Lloyd-Max
0. Se da numarul de nivele de cuantizare N. Se alege un dictionar initial C = {c1, . . . , cN}. Se alege o toleranta ǫ. Se initializeaza pasul de iterare i = 0
1. Se calculeaza punctele de decizie optime dk, k = 1 : N − 1, pentru codurile ck, conform relatiei (1)
2. Se calculeaza codurile optime ck, k = 1 : N, pentru
punctele de decizie dk, conform relatiei (2)
3. Calculeaza distorsiunea medie curent a
4. Daca D(i−1) − D(i)/D(i) < ǫ,
atunci stop. Altfel, se pune i ← i + 1 ¸si se reia de la pasul 1
comentarii
• Distorsiunea scade la fiecare pas: pentru e.g. puncte de decizie date, noile coduri minimizeaz˘a distorsiunea, a¸sadar produc o distorsiune mai mic˘a decât codurile de la itera¸tia anterioar ˘a
• Algoritmul converge c˘atre un punct sta¸tionar, care este un minim local (nu neap˘arat cel global)
• Ini¸tializ˘ari diferite ale algoritmului pot produce rezultate diferite
In data mining, k-means clustering is a method of cluster analysis which aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean. This results in a partitioning of the data space into Voronoi cells.
CELP – Code Excited Linear Prediction
Tehnica CELP se bazează pe trei idei:
1.Utilizarea unui model de predicție liniara (LP) pentru a modela tractului vocal
2. Utilizarea intrarilor dictionarelor de coduri (adaptiv și fix) ca excitație a modelului LP
3.Căutare efectuata în buclă închisă într-un "domeniu perceptual ponderat"
Decodorul
Excitația este produsa prin însumarea contribuțiile de la dictionarul de coduri adaptiv (alias pitch) si dictionarul fix (alias innovation or fixed):
Unde contributia dictionarului adaptiv (pitch) si contributia dictionarului fix (innovation or fixed).
Dictionarul fix este un dictionary cuantizare vectoriala care poate fi implicit sau explicit hardcodat in codec. Acest dictionarul poate fi algebraic (ACELP) sau stocat in mod explicit (ex. Speex).
Intrările in dictionarul adaptiv constau in versiuni ale excitației întârziate. Acest lucru face posibilă codarea eficienta a semnalelor periodice, cum ar fi sunete vocii.
Filtrul care modeleaza excitatia este de forma 1/A(z), unde A (z) este numit filtru de predicție și se obține cu ajutorul predicției liniare.
Codorul
Principiul de baza din spatele CELP se numeste Analiza de Sinteza(Analysis-by-Synthesis (AbS)), si inseamna ca, codarea (analiza) este realizata prin OPTIMIZAREA SEMNALULUI decodat intr-o bucla inchisa. In teorie, cel mai bun flux CELP ar fi produs prin incercarea tuturor combinatiilor de biti posibile si selectarea celei care produce cel mai bun semnal decodat. Practic acest lucru nu este posibil din doua motive: complexitatea necesara este dincolo de orice device hardware disponibil in prezent, iar al doilea “best sounding” criteriu de selectie ce implica un ascultator uman.
In scopul de a realiza codarea in timp real, folosind resurse de calcul limitate, cautarea CELP este impartita in parti mai mici, mai usor de gestionat, realizandu-se astfel cautari secventiale . Codarea se realizeaza in urmatoarea ordine:
Coeficienții LTI (LPC), se calculează și cuantizeaza, de obicei, ca LPC
Dictionarul de coduri adaptiv (pitch) este căutat și contribuția se elimina
Dictionarul de coduri fix (innovation) este cautat
Codarea de tip MBE
Modelul MBE e descris pentru modelarea la calitate inalta a vorbirii cu si fara zgomot.
Codorul MBE
Sistem de analiza/sinteza a semnalului vocal care ofera o calitate crescuta a vorbirii la un debit scazut (4,8 kbps);
Este capabil sa genereze vorbire inteligibila dar nu realizeaza cu succes sintetizarea la calitate inalta;
Aplicatii pentru astfel de codoare (vocoders): voice mail, comunicatii digitale la debite mici, telefonie de securitate inalta
Vorbirea e generata in codor prin excitarea cu un tren de impulsuri periodice – in cazul voiced speech, sau zgomot aleator in cazul unvoiced speech. [2]
Un avantaj major:
imparte fiecare segment al vorbirii in regiuni/benzi de frecventa.
pentru fiecare banda de frecventa se analizeaza spectrul si se ia o decicie voiced/unvoiced.
Astfel rezulta o combinatie de voiced/unvoiced energy dependenta de frecventa.
Regiunile voiced sunt reprezentate de armonici ale frecventei fundamentale, iar regiunile unvoiced de catre zgomot aleator. [3]
Utilizarea deciziilor voiced/unvoiced ii permite modelului MBE sa fie in control asupra spectrului de excitation. [4]
Spectrul semnalului vocal reconstituit este mai apropiat de cel original (original speech frame) decat in alte modele (ex: CELP), la un debit mic.
Usor scalabili pentru debite peste 2 kbps.
Model matematic
Semnalul vocal, s(n), e cvasi-stationar – se aplica o fereastra w(n), pe intervale scurte de timp (10ms – 40ms).
Sw(n) = W(n)s(n)
Transformata Fourier Sw(ω) = Hw(ω)|Ew(ω)|
diferenta fata de modele precendente: forma spectrului de excitatie, care era specificat de frecventa fundamentala (ω0) si de o decizie V/UV pentru intreg spectrul. In cazul MBE este specificata de frecventa fundamentala (ω0) si de o functie dependenta de frecventa (voiced/unvoiced mixture function)
Pentru a reduce numarul de parametrii necesari aceasta functie s-a inlocuit cu o decizie V/UV dependenta de frecventa.
Alta diferenta fata demodele precedente: – un numar mai mare de benzi de frecventa (peste 20).
Parametrii V/UV se obtin combinand segmentele unui spectru periodic |Pw(ω)| in benzile de frecventa voiced cu segmentele spectrului de zgomot aleator in benzile de frecventa unvoiced.
Anvelopa spectrala
Frecventa fundamentala
Informatia V/UV pentru fiecare armonica
Faza fiecarei armonici declarata voiced (pt unvoiced nu sunt obligatorii in algoritmul de sinteza)
Se estimeaza pentru minimizarea criteriului de eroare:
G(w) – functie de ponderare dependenta de frecventa
sau :
Decizia voiced/unvoiced este facuta pentru fiecare armonica prin compararea erorii normalizate cu un anumit prag.
Comparatie cu LPC
LPC
nu produce vorbire de calitate inalta fara sa adauge o prediction residual;
nu este robust la zgomotul de fundal [1];
Mai complex dpdv computational (time consuming);
Codebook pentru operare la debite fixe si nu e usor scalabil la alte debite.
Prediction residual poate fi vazut ca o eroare de semnal care corecteaza inacuratetea in modelul de predictie liniar. Prin eliminarea acestuia, cum e facut in standardul 2.4 kbps LPC-10 system, se obtine o calitate scazuta a vorbirii (“harsh, mechanical quality in the speech”[1]) .
Codarea de tip MELP
Codarea LPC se bazează pe un model pur parametric pentru codarea semnalului vocal; motiv pentru care apar multe distorsiuni, pocnituri, intreruperi,… deranjante pentru urechea umana
Pentru rezolvarea acestor neajunsuri MELP combina cele două forme de excitatie a filtrului de sinteză: generatorul de impulsuri și cel de zgomot
Astfel la același debit transmis calitatea creste substanțial
Schema codorului
1.calcul eroare de predicție
2.Ferestruire Hamming
3. 200 eșantioane umplute cu 0 pană la 512
4.FFT in 512 puncte
5.Calculul maximelor in jurul frecventelor de rezonanța (10 val)
6.Normalizare cu α (dependent de maxime)
7.Cuantizare vectorială
Schema decodorului
Decodare vectoriala
Interpolare
Extensie simetrică (pentru obținerea de valori reale după IDFT)
Șiftare circulară (previne apariția schimbarilor abrupte la început de perioadă)
Comparatie LPC – MELP
LPC folosește un generator de impulsuri cu o anumita frecvența pentru segmentele vocalizate și un generator de zgomot alb pentru segmentele nevocalizate si comuta intre cele doua. (vorbire / non-vorbire)
MELP combina semnalele de la generatorul de impulsuri cu cel de la generatorul de zgomot alb inainte de a le trece prin filtrul de sinteză
In plus MELP adauga un jitter aperiodic in semnalului vocalizat.
Imbunatatiri fata de LPC:
Jittter-ul introdus la tranzitia dintre zonele de semnal vocalizat si nevocalizat are rolul de a reduce variatia frecventei fundamentale, care determina aparitia distorsiunilor (pocnituri, intreruperi) din semnalul vocal
Forma impulsului e extrasă la codare si transmisă alături de fiecare cadru.
Se bazează pe calculul amplitudiniilor Fourier din eroarea de predicție
Excitatia mixta
Sinteza se face prin “mixarea” impulsurilor (F0) si zgomotului alb prealabil filtrate
Parametrii filtrelor sunt variabili în timp și depind de “intensitatea vocii”, care măsoara gradul de “vocalizare”
Alocarea bitilor
Debitul de iesire este de 2400 bps -> la fiecare 22.5 ms se transmite un pachet de 54 de biti
Compresia prin transformata wavelet
Analiza Fourier
împarte un semnal în componentele sale sinusoidale la diferite frecvențe
putem transforma domeniul timp în domeniu frecvență
dezavantaj :-pierderea informației temporale, adică nu știm exact în ce moment de timp are loc un anumit eveniment.
STFT – Short Time Fourier Transform
mapează un semnal pe două dimensiuni adică în timp și spațiu =>putem să obținem anumite informații legate atât de frecvență cât și de timp
Dezavantaje:
precizie limitată, depinzând de dimensiunile ferestrei temporale.
fereastra de durată finită este însoțită de rezoluție fixă de frecvență
rezoluție fixă timp-frecvență.
Analiza Wavelet
rezolva acest neajuns al STFT
dezvolta o tehnică de analiză a semnalelor folosind o fereastră de dimensiune variabilă
nu folosește un domeniu variabil timp frecvență ci unul scală-frecvență.
Transformata Wavelet
wavelet =un semnal care are o durată limitată și o valoare medie egală cu zero; regular si asimetric
Un semnal sinusoidal nu are durată limitată, este predictibil și omogen
Analiza Fourier vs Analiza Wavelet
Analiza Wavelet = împărțirea unui semnal într-o serie de semnale care sunt versiunile scalate și deplasate ale undei Wavelet originale
=>mult mai ușor să descriem un semnal real cu ajutorul unui wavelet decât cu o sinusoidă
Transformata Wavelet Continuă (CWT – Continuous Wavelet Transform)
=sumă temporală a produsului dintre semnalul original f(t) și versiunile scalate și translatate ale funcției Wavelet de bază Ψ
{ ψa,b(x) }- Set de functii de baza obtinut prin translatare/scalare (a – scala ( a mic=>comprimare); b –translatia (deplasare= întârzierea))
Coeficienții transformatei wavelet sunt dați de produsul intern al funcției de transfer cu fiecare dintre funcțiile bază.
Transformarea continuă inversă wavelet este dată de relația:
Transformata Wavelet discreta (DWT – Discrete Wavelet Transform)
calculul coeficientilor Wavelet pentru orice scala ->costisitor, neeficient
aplica DWT – alegem un set de scale si pozitii folosind metoda diadica => factor de scala si pozitie =putere a lui 2
permite realizarea unei analiza mult mai eficiente și mai corecte
putem implementa DWT folosind filtrele-implementare a algoritmului de descompunere în subbenzi folosind două canale
conținutul de joasă frecvență – definește „identitatea” semnalului.
conținutul de frecvență înaltă aduce îmbunătățiri în descrierea semnalului.
Reprezentarea cu filtre a DWT
aproximările – sunt componente cu factor de scală mare, adică componente de frecvență joasă
detalii – componente cu factor de scală mic, adică componente de frecvență înaltă
semnal original trecut prin DWT (trecut prin două filtre complementare)=>
=> 2 ori numarul de esantioane
(2 comp: A – aproximări, D – detalii)
– trebuie facuta o subesantionare
=> la ieșirea bancului de filtre
se obține aceeași cantitate de
informație ca la intrare
Procesul de analiză și sinteză DWT
Decompunerea: impartirea unui semnal pentru obtinerea coeficientilor wavelet
Procesul de reconstrucție a semnalului folosind coeficienții DWT se face parcurgând calea inversă și anume: se realizează supra-eșantionarea, și se aplică o filtrare, adica asamblarea semnalului din coeficienti; inainte de reconstructie coeficientii wavelet pot fi modificati
Compresia s. vocal folosind Wavelet
Wavelet-urile concentreaza inf. vocala in cativa coeficienti vecini=> multi coef vor fi zero sau cu amplitudini neglijabile
Auzul mai putin sensibil a frecv inalte-> se va folosi o metoda de compresie in care coef de detaliu sunt limitati (informația de frecvență înaltă din semnalul vocal)=> eroarea datorata limitarii nu se va auzi
O componenta de semnal~ folosind un nr. mic de coef. de aproximare si cativa coef. de detaliu
Coeficientii de val mica nesemnificativi =>compresie
Pasi proces de compresie
1.Alegerea wavelet-ului: obiectivul este reducerea varianței erorii de reconstrucție și creșterea SNR
2. Descompunerea wavelet: semnalul este descompus în benzi de frecvențe diferite sau în mai multe componente de rezoluție mai mică
3. Trunchierea coeficienților: cea mai mare
parte a energiei semnalului vocal se concentrează în coeficienți de valoare mare, care sunt puțini.
4. Măsurarea performanței:
Factorul de compresie
Energia reținută a semnalului
Raportul semnal-zgomot
Metoda Wavelet Packet este o generalizare a descompunerii Wavelet care ofera mai multe posibilitati de analiza a semnalului
In cazul analizei de tip wavelet semnalul este impartit in doua parti: aproximare si detaliu
In procedurile clasice de decompozitie wavelet, pasul generic (primul pas) realizeaza o impartire a coeficientilor de aproximare in doua parti. Se obtine un vector de coef. de aproximare si un vector de coef. de detalii.
Informatia pierduta intre doua aproximari succesive este capturata in coeficientii de detalii.
Coeficientii de aproximare -> low pass results.
Coeficientii de detaliu -> high pass results.
La fiecare pas de descompunere se aplica transformata wavelet
Transformata wavelet se aplica doar pentru coef de aproximare
Dupa fiecare pas rezulta alti doi vectori :
De aproximare
De detaliu
ESTIMAREA CALITĂȚII SEMNALULUI VOCAL ÎNTR-O TRANSMISIUNE VoIP
Introducere
Caracterul omniprezent incontestabil al protocolului IP este dovedit procentual la nivelul întregului glob: conform ISOC (Internet Society) protocolul IP stă la baza interconectării a peste 20% din populația totală a globului. Mai mult de 15% din întreaga populație beneficiază de acces la Internet, numărul acestora înregistrând o dublă expansiune în perioada 2000-2006. Cererea consumatorilor, accesul nelimitat și standardele deschise au devenit principalele motivații ale dezvoltării continue de aplicații și servicii inovatoare. Contextul astfel impus pieței de către consumator este unul al serviciilor interactive personalizate accesibile din orice locație, în orice moment, în orice mod (oriunde-oricum-oricând). Premisa consumatorului reprezintă dezideratul trendului tehnologic de dezvoltare caracterizat de interoperabilitatea la nivel de serviciu, dispozitiv, rețea și de convergența rețelelor IP (Future Networks).
Interoperabilitatea la nivel de serviciu a fost marcată de integrarea serviciului de voce și date utilizând ca suport de trasmisie infrastructura IP (VoIP). Soluția propusă prezintă avantaje atât din perspectiva clientului (utilizatorului), a dezvoltatorului cât și din perspectiva furnizorului (industria enterprise) determinând o productivitate generală. Avantajele generale sunt determinate de eficientizarea costurilor (planuri de apel, echipamente, dispozitive, mentenanță, liciențere), flexibilitatea serviciilor și posibilitatea de extindere rapidă a complexității serviciilor. Din perspectiva dezvoltatorilor, principalul criteriu este determinat de utilizarea eficientă a benzii de transmisie.
Tehnologia VoIP reprezintă alternativa serviciului de voce din rețele cu comutație de circuite (PSTN) pentru rețele cu comutație de pachete. Principalul criteriu de evaluare în comparația celor două tipuri de rețele, în contextul serviciului de voce, este calitatea semnalului. Pentru ca eficientizarea costurilor să devină avantajul de departajare a celor două soluții, este necesar ca serviciul de voce în rețele cu comutație de pachete să atingă un nivel al calității comparativ cu cel din rețelele cu comutație de circuite.
Factorii de influență asupra calității semnalului sunt marcați de elementele componenete ale unui sistem VoIP. Tehnologia Internet și infrastructura IP determină o dependență a calității semnalului de voce față de o nouă serie de factori de distorsiune. La nivel global sunt considerate influențele induse de rețeaua de transport și de acces. De nivel particular sunt considerate elementele din rețeaua terminală (rețeaua/bucla de abonat).
Calitatea serviciului de voce în tehnologia VoIP
1.1 Calitatea semnalului vocal
Noțiunea de calitate a semnalului de voce implică două dimensiuni:
dimensiunea subiectivă, din perspectiva percepției umane și
dimensiunea obiectivă, din perspectiva tehnică a planificării rețelelor.
Dimensiunea subiectivă este referința dimensiunii obiective. Din perspectiva obiectivă sunt definite elementele de calitate, ce reprezintă factorii de influență a semnalului vocal. Efectele factorilor de influență sunt cele care generează perspectiva subiectivă a calității semnalului vocal. Rezultatele de referință obținute experimental sunt utilizate pentru analiză, estimare și evaluare și stau la baza construirii modelelor de aproximare a stării sistemului în diferite circumstanțe.
1.2 Elemente de calitate pentru serviciul de voce
Cele două perspective (obiectivă/subiectivă) sunt mapate de asemenea și pe noțiunea de calitate a serviciului de voce (QoS). Din perspectiva utilizatorului, este definită calitatea experienței iar din perspectiva operatorului calitatea serviciului. (fig.2)
Calitatea serviciului reprezintă ” efectul colectiv al performanței obiective a serviciului ce determină în final satisfacția consumatorului”
Calitatea experienței reprezintă ”o măsură a toleranței globale asupra unui serviciu din perspectiva consumatorului”
Calitatea este definită din perspectiva transmisiunii, a eficacității comunicării și a facilității de comunicare.
Calitatea transmisiunii vocii consideră toate elementele de calitate cu un impact asupra fidelității de redare (e.g. zgomotul de linie, nivelul de semnal, pierderi de pachet pe traseu)
Eficacitatea comunicării consideră acele elemente de calitate ce afectează capabilitățile de conversație din sistem. (e.g ecou, întârzierea cap-cap a trasmisiei)
Facilitatea comunicării consideră factorii de influență din perspectiva terminalului opus ceea ce presupune operații de adaptare la mediu deficitar.
Arhitectura sistemului VoIP
Arhitectura de principiu cuprinde trei componente majore:
bucla de abonat a emițătorului,
rețeaua de transport (rețeaua IP),
bucla de abonat a receptorului (fig.3).
La emisie, semnalul analogic de voce este digitizat și codat în vederea compresiei prin intermediul unui codor. Informația utilă pachetizată este apoi încapsulată în pachete RTP în vederea transmiterii pe canal. La recepție, pachetele sunt decapsulate și informația digitală de voce este extrasă. Bufferul de recepție are rolul de a diminua efectele canalului. Prin interpolare, informația de voce este decodată astfel încât pachetele intermediare pierdute sunt estimate din pachetele adiacente. [3]
În sistemele cu comutație de circuite, legătura fizică este creată și menținută pe durata întregului apel. Semnalul de voce este transmis sincron și sincronizat la emisie și receție. Prin urmare, deteriorarea semnalului în rețele cu comutație de circuite apare datorită imperfecțiunilor mediului de transmisie ce influențează sistemul de comunicație (e.g zgomot ambiental).
În cazul sistemului cu comutație de pachete VoIP nu există o legătură fizică prestabilită și menținută. Întreg procesul de livrare la destinației a informației (voce) implementează funcțiile stivei de protocoale TCP/IP. Datele utile (semnalul de voce) sunt supuse procesului de încapsulare înainte de a fi trimise pe canal(fig.4).
Informația adăugată prin procesul de încapsulare este redundantă și scade eficiența transmisiei. În vederea transportului sunt considerate protocoalele TCP, UDP. Fiind un protocol orientat pe conexiune, TCP, induce o redundanță sporită datorită controlului suplimentar al transmisiei ( mesaje ACK, avertizări de congestie). UDP, fiind un protocol neorientat pe conexiune, presupune lungimi mai reduse ale pachetelor dar este mai susceptibil la erori.
Transmiterea pachetelor la destinație se face pe baza campului adresă IP destinație, fără a exista un canal de direcționare, pachetele putând parcurge căi diferite. Prin urmare, cauzele degradării semnalului sunt diferite în cazul rețelelor cu comutație de pachete. De majoră importanță sunt pierderile de pachete și întârzierea, cauzate de congestia în rețea sau datorită imperfecțiunilor rețelei. [2]
Codecuri utilizate în VoIP
2.1Arhitectura conceptuală a buclei de abonat
Bucla de abonat vizează procesul de prelucrare si procesare a semnalului vocal în vederea transmiterii în rețea (fig.5). Interconectarea celor două tipuri de rețele se realizează prin intermediul rețelei de acces (gateway).
În urma conversiei A/D (8kHz), semnalul este supus unei proceduri de suprimare a ecoului și de reducere a zgomotului de fond.
Etapa următoare de de detecție a semnalului de voce util (VAD – Voice Activity Detection). În cazul nedetectării, algoritmul de transmisie discontinuă (DTX) atribuie întregului semnal caracteristica de zgomot de fond. Această procedură are rolul de eficientizare a transmisiei prin reducerea benzii: semnalul inecat în zgomot este rejectat înainte de transmisia pe canal. În cazul detectării semnalului util, semnalul de la sursă este codat în vederea compresiei prin utilizarea unui algoritm de compresie.
Dacă se optează pentru o strategie de protecție suplimentară la imperfecțiunile canaluluim, semnalului codat i se aplică o codare suplimentară: FEC (Forward Error Correction)/LBR (Low Bit-rate Redundancy ).
2.2 Clasificarea codecurilor utilizate în VoIP
Compromisul utilizării codecurilor în prelucrarea semnalului vocal în vederea transmisiei constă în diminuarea fidelității semnalului în vederea reducerii benzii necesare transmisiei.
Clasificarea relativă la algoritmii de codare utilizați
Considerând criteriul algoritmilor de codare, rezultă:
Metode de codare:
Codarea formei de unda
Codarea in domeniul timp
Codarea scalar
ADPCM 32 kbps
PCM 64 kbps
ADPCM 24/48 kbps
Codarea vectoriala
Codarea in domeniul frecventa
Codarea in subenzi – ADPCM 64 kbps
Codarea prin transformari ale semnalului
Codarea percetuala
Codarea sursei de semnal
Codarea hybrid
Codorul LPC
Codorul LPC in bucla inchisa
Cu excitatie multipla – MELP
Excitatie cu impulsuri – RPE
Excitatie cu coduri – CELP
Codorul LPC in bucla deschisa
Clasificarea relativă la banda de transmisie utilizată:
codecuri de bandă îngustă
În rețele PSTN digitale,
codecul utilizat la scară largă este G.711 (PCM, 64kbps). Controlul ocupării benzii de transmisie în momente de vârf poate fi optimizată prin utilizarea DCME (Digital Circuit Multiplication Equipment) ce implementează codecul G.726 cu rate de bit cuprinse într 24kbps-32kbps (ADPCM, 40-32-24-60kbps, ITU-T Rec. G.726 1990).
Rețele mobile (GSM) presupun integrarea codecurilor special:
GSM EFR (GSM Enhanced Full Rate Codec) (ETSI GSM, 06.60, 1996) și GSM FR (GSM Full Rate Codec) (ETSI GSM 06.10, 1988).
Rețele 3G, conform specificațiilor IS-54 (EIA/TIA/IS54-B, 1990), integrează codecul de 8kbps VSELP (Vector Sum Excited Linear Prediction).
În rețelele cu comutație de pachete, codecurile caracteristive sunt G.711(ITU-T Rec. G.711, 1988), G.723 (bandă dublă 5.3 kbps sau 6.3kbps, ITU-T Rec. G.723.1, 1996), G.729 (CS-ACELP, Conjugate-Structure Algebraic-Code-Excited Linear-Prediction)(8kbps, ITU-T Rec. G.729, 1996). Codecuri specifice sunt iLBC (Internet Low Bit-Rate) (15.2 kbps, 13.33 kbps, Andersen&all, 2002), AMR-NB (Adaptive Multirate Codec, Narrow-Band)( 8 debite posibile simultan într 4.75kbps-12.2kbps, ETSI TS 126 071, 2002).
Codecul AMR este integrat în concepția rețelelor de viitor, momentan fiind implementat în rețele UMTS, 4G. Algoritmul implementat realizează adaptarea ratei de transmisie la puterea semnalului radio: cu cât semnalul are o putere mai mica, cu atât banda alocată va fi mai mare în vederea adăugării biților de control pentru corecția la recepție. Codecurile de voce utilizează pachete de dimensiune diferită cu o durată cuprinsă între 10ms-40ms.
codecuri de bandă largă
Rețelele ISDN implementează într-o primă etapă de evoluție codecul SB-ADPCM(Sub-band ADPCM) (64kbps-56kbps-48kbps, ITU-T Rec. G.722, 1988).
În vederea eficientizării utilizării resurselor radio, a fost integrat codecul cu o rată de bit mai scăzută WB-AMR (Algebraic Code-Excited Linear Prediction ACELP) (6.60, 8.85, 12.65, 14.25, 15.85, 18.25, 19.85, 23.05 or 23.85 kbps, ITU-T Rec. G.722.2, 2002, 3GPP TR 26.976, 2002). Pentru cea mai mare rată de transmisie, banda alocată este cuprinsă într 50-6600 Hz. Banda necesară transmisiei scade o data cu scăderea ratei de transfer. Alte codecuri posibile sunt: G722.1 cu rată de bi scăzută (32kbps, 64kbps, ITU-T Rec. G.722.1) și extinderea G.729 (ITU-T Rec. G.729.1, 2006)
Factori QoS de influență
Rolul initial al rețelelor IP a fost de a furniza support în comunicația asincronă, implicând servicii și proceduri best-effort, fără garanția calității serviciului [10].
Pentru integrarea QoS în rețele IP au fost propuse 2 metodologii:
implementarea QoS la nivel strat aplicație (e.g FEC), sau
implementare QoS la nivel de infrastructură a rețelei (DiffServ, IntServ).
Factorii de influență asupra QoS sunt: jitter, întârzieri, pierderi de pachete, erori de bit, zgomot, ecou, diafonii. Principalii factori de influență la nivel de rețea sunt: jitter, întârzieri, pierderi de pachete. (fig.7).
Pierderi de pachete
Pierderea pachetelor este principala sursă de deteriorare a calității transmisiunii în rețele cu comutație de pachete, respectiv VoIP. Pierderea pachetelor are loc atât la nivel de rețea cât și la nivel de terminal/gateway datorită întârzierilor mari. Pierderile la nivel de rețea sunt cauzate în cele mai multe cazuri de congestii la nivel de router (router buffer overflow), instabilitatea routerelor, legături deteriorate. Congestia este cauza majoră a pierderii pachetelor. Pierderile de pachete sunt influențate de lungimea pachetului (uzual 10-60ms ), tipul de codec utilizat, distribuția de pierderi a pachetelor, metoda de contracarare utilizată (PLC, FEC, LBR). Metodele FEC și LBR presupun transmisii suplimentare, ceea ce duce la creșterea întârzierilor și scăderea eficienței de transmisie. [3] [2] [10].
Alte metode de compensare a pierderilor de pachete [6]:
Întrețeserea pachetelor (Interleaving), pentru a reduce efectul pierderii unui pachet asupra unui cadru de semnal,
Împărțirea biților dintr-un cadru în clase de importanță și folosirea unor metode de codare diferite pentru diferite clase (cu o mai bună protecție la erori pentru clasele mai importante),
Întârzieri și variații ale întârzierii (jitter)
Întârzierile și variațile întârzieilor sunt principala sursă de degradare a calității semnalului vocal. Întârzierea cap-cap cuprinde componentele:
timpul de propagare
timpul de transmisie
timpul de asteptare în coadă
timpul de procesare a codecului
timpul de pachetizare/depachetizare
timpul de așteptare în bufferul de recepție
Comutația de pachete presupune căi alternative de rutare a pachetelor. Astfel burst-urile de pachete presupun întârzieri diferite la destinație. Jitter-ul reprezintă varianța statistică a intervalului de timp între sosirea a două pachete și este determinat în mare parte de așteptarea în coada de transmisie. Se recomandă ca valoarea sa sa fie recalculată în mod continuu, după sosirea fiecărui pachet i. IETF, RFC 1889, definește jitterul ca fiind deviația medie standard între transmisia și recepția pachetului.
Modele de estimare a calității în VoIP
Estimarea calității semnalului vocal în transmisiuni VoIP este crucială din perspective tehnice, legale, comerciale. Estimarea calității se face prin proceduri de măsurare.
4.1 Clasificarea procedurilor de estimare
Clasificarea tipurilor de proceduri utilizate în estimarea calității semnalului vocal se bazează pe o structură ierarhizată pe nivele, de tip arborescent. (fig.9)
Un prim nivel departajează procedurile de estimare în obiective și subiective.
Procedurile subiective au dezavantajul relativității, al condiționării mediului, a consumului de timp și costuri suplimentare, nu sunt repetabile și nu pot fi utilizate pentru estimări pe termen lung în infrastructuri de rețele. Acestea sunt aplicabile prin intermediul unui set de teste subiective aplicabile unui eșantion de persoane. Față de măsurările obiective au insă avantajul preciziei și al fiabilității. Dezavantajele procedurilor subiective, determină interesul comercial crescut în procedurile obiective.
Procedurile obiective utilizează algoritmi ce simulează percepția umană sau modele computaționale ce evaluează automat calitatea pe baza metricilor obiective ale semnalului semnalului de voce transmis. Acuratețea, precizia și fiabilitatea estimării se obține prin utilizarea metodelor obiective prin corelație cu estimarea subiectivă. [11] [3]
Al doilea nivel de clasificare vizează in principal ramura estimării obiective ce presupune două subdiviziuni: metodologii intruzive și neintruzive.
Procedurile intrusive utilizează două semnale de intrare (original, degradat). Semnalul degradat denumește semnalul la recepție. Sunt denumite intrusive datorită injectării semnalelor de test(de referință) și a nevoii de a utiliza infrastructura rețelei. Aceste procedure au o precizie ridicată a măsurării calității traficului pentru o transmisie cap-cap dar nu sunt potrivite pentru monitorizarea în timp real a traficului. În cazul în care semnalul de referință este degradat datorită zgomotului de fond compararea cu semnalul de la recepție are o fiabilitate scăzută.
Procedurile neintruzive (fig.10) nu utilizează injectarea semnalului de referință. Estimarea se face doar pe baza semnalului de la recepție. Procedurile neintruzive au avantajul posibilității de a fi utilizate pentru aplicații de monitorizare a traficului în timp real și pentru aplicații ce realizează controlul dinamic al calității traficului. [11] [3]
Al treilea nivel de ierarhizare referețiază ramificarea procedurilor intruzive și neintruzive din punct de vedere al mecanismului de procesare a semnalului. Măsurările neintruzive presupun două categorii de metode diferite de estimare a calității semnalului, cu algoritmi diferențiați ca și complexitate sau acuratețe: metode bazate pe semnal (fig.11b) și metode parametrice(fig.11c).
Metodele bazate pe semnal au ca intrare semnalul de recepție și se bazează pe tehnici de procesare a semnalului când ce estimează calitatea semnalului atunci când anvelopa acestuia suferă degradări datorită codării LBR sau a transmisiei pe canale wireless deficitare. Concret, această metodă, procesează fluxul de voce decodat de la ieșirea din bufferul de recepție în vederea extragerii informației relevante pentru estimarea calității. În practică sunt utilizate pentru predicție generală [2] (fig.12)
Metodele parametrice au ca intrare parametri semnalului vocal sau parametric de rețea (pierderi de pachete, jitter, întârzieri). Parametrizarea oferă specificitate acestor metode, preferate pentru acurațea și fiabilitatea ridicată.
Datorită principiului implementat, măsurările intruzive sunt referențiate ca metode comparative(fig.11a): determină MOS în urma testelor de ascultare prin comparația între semnalul original și cel recepționat utilizând distanța cepestrală.
Al patrulea nivel de ierarhizare vizează măsurile intruzive clasificate în măsuri intruzive în domeniul timp, în domeniul spectral, perceptuale.
Măsurile intruzive în domeniul timp sunt ușor de implementat dar nu sunt fiabile pentru estimarea codecurilor de rată scăzută și rețele actuale.
Măsurile intruzive în domeniul spectral se bazează pe parametrii modelelor de procesare a semnalului vocal.
În contrast cu măsurile intruzive în domeniul spectral, măsurile perceptuale sunt bazate pe modelul percepției auditive umane. Aceste măsuri transformă semnalul de voce într-un domeniu perceptual relevant (e.g domeniul audibilității) și încorporează modele ale sistemului auditiv uman (blocul de trasformare perceptuală și blocul cogniției). Modulul de cogniție mapează diferența dintre semnalul original și cel de la recepție într-o distorsiune perceptuală estimate, corelată apoi cu MOS (fig.13)
Controlul erorilor in sistemele de codarea semnalelor vocale
La transmiterea la debite reduse (aplicatii pentru comunicatii mobile) efectul erorilor este pronuntat si se manifesta prin:
Interferente
Fadding
Efectmulticale
Cross –talk =>pot fi assimilate cu ZGOMOT -> necesara aplicarea unor strategii specific de reducerea erorilor
Clasificare zgomot:
–Aditiv–produce modificarea amplitudinii(MA) ->de evitat prin cresterea puterii semnalului emis
–Multiplicativ–produce MA, MF -> apare in special la trs pe purtatoare; nu mai depinde de amplitudinea semnalului util
Codare combinata sursa-canal
Implica transmiterea de informative redundanta(FEC)
•Codare la debit redus -> banda limitata -> contradictie cu FEC
•-> codare fara a adauga redundant sau redundant minima -> codare combinata sursa-canal = Codare ROBUSTA (robust speech coder)
•Analiza contextului (controlul erorilor la nivel de sursa):
–Majoritatea codecurilor folosesc modelul predictive (dinamica, intelesok)
•Sunt bazate pe caracteristici care variaza lent -> orice schimbare brusca poate fi detectata la receptive -> idea de a fi folosita in corectia erorilor
–Modelul psihoacustic–degradarea anumitor parametri–effect negativ
•Protectie la erori ridicata(cuantizare, FEC)
•Transforma erorile in erori subiective – importante(exemple)
–Parametrii sunt aceeia ai unui model, deci exista anumite relatii intre ei -> protejarea relatiei dintre parametri
Reconstructia cadrelor
Reconstructia spectrala:
–Ideea: informatia pierduta se reconstituie din informatia trecuta
–Exploatarea corelatiei LSF la nivel de intercadru -> reutilizarea LSF din cadrele anterioare in cadrele actual piedute
–Reducerea impactului formantilor din cadrul anterior asupra cadrului current->interpolare parametri la nivel de intercadru
Reconstructia sursei:
–Se presupune ca sursa“pierduta”este sonora
–Se presupune un T0 obtinut din interpolarea ultimelor valori ale T0
–Amplitudinea impulsurilor este si ea interpolata
Reconstructia sursei(c), mai buna decat reconstr spectrului(b) –din cauza ca periodicitatea cadrului pierdut coincide cu periodicitatea din bufferul de reconstructie
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Tehnici de Codare a Sistemului Vocal (ID: 124427)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
