11 - compresia audio - i

82
Transmisia datelor multimedia in retele de calculatoare Compresia audio I Conf. Dr. Ing. Costin-Anton Boiangiu <[email protected]> UNIVERSITY POLITEHNICA of BUCHAREST DEPARTMENT OF COMPUTER SCIENCE

Upload: andreeax

Post on 30-Jan-2016

266 views

Category:

Documents


3 download

DESCRIPTION

compresia audio

TRANSCRIPT

Slide 1

Transmisia datelor multimedia in retele de calculatoareCompresia audio IConf. Dr. Ing. Costin-Anton Boiangiu

UNIVERSITY POLITEHNICA of BUCHARESTDEPARTMENT OF COMPUTER SCIENCECuprinsDebitul de informatie al surselor audioMotivatia compresiei vorbirii Motivatia compresiei audioCompresia vorbiriiCompresia audioCriterii de perfomanta in codarea vorbirii

Debitul de informatie al surselor audioClasele de semnale audio sunt:semnalele generate de vorbirea umana pentru canale telefonicevorbirea de banda largasemnalul audio de banda largaFiecare dintre ele difera prin:bandagama dinamica (dynamic range)calitatea asteptata a ascultatorului (destinatarului)

Calitatea vorbirii de banda telefonica (cca. 3 KHz) este acceptabila pentru telefonie si o serie de servicii de video-telefonieBenzi mai mari (7 KHz pentru vorbirea de banda larga) sunt necesare pentru imbunatatirea inteligibilitatii si naturaletii vorbiriiReprezentarile audio de banda larga (fidelitate mare), incluzand necesitatile audio multicanal, necesita benzi de cel putin 20 KHz

Debitul de informatie al surselor audioFormatul numeric conventional as semnalelor audio este dat de modulatia in cod a impulsurilor (PCM= Pulse Code Modulation)Frecventa[Hz]Frecventa de esantionare(Rata esantionarii)[KHz]PCM[bit/esantion]PCMrata de inf[Kb/s]Vorbire telefonie300-34008864Vorbire de banda larga50-7000168128Audio banda medie10-110002416384Audio banda larga10-220004816768Debitul de informatie al surselor audioFormatul pentru CD(Compact disc) este standardul de facto al reprezentarii audio numericeCu rata de esantionare de 44.1 KHz, debitul de informatie pentru un semnal stereo pentru un CD este:2 x 44.1 x 16 x 1000 = 1.41 Mb/sEste necesar un antet (overhead) semnificativ pentru codul de linie, care transforma cei 8 biti de informatie in 14 biti, (pentru sincronizare si corectia erorilor) =>49 de biti pentru fiecare esantion audio de 16 biti=>debitul stereo total este 14.1 x 49 / 16 = 4.32Mb/s

Debitul de informatie al surselor audioComparatie intre diferitele debite ale CD-ului cu cele ale unei benzi audio digitale (DAT = digital audio tape)

Debitele pentru CD si DAT (Semnal stereo, esantionat cu 44.1 KHz; DAT esantionat la 32 KHz si 48 KHz)

Dispozitiv de memorareRata audio[Mb/s]Over-head[Mb/s]Rata binara totalaCompact disc CD1.41 2.914.32Digital Audio Tape (DAT)1.411.673.08Codarea vorbirii vs. codarea semnalului audioCodarea audio implica:rate de esantionare mai mario rezolutie in amplitudine mai bunagama dinamica marevariatii mari in spectrul de puterereprezentare stereo si multicanalcalitate mai bunaCodarea vorbirii si codarea audio sunt similare in sensul ca ambele se bazeaza pe proprietatile perceptiei audio umaneVorbirea poate fi codata foarte eficient prin utilizarea unui model de producere a sunetului, pe cand semnalele audio nu se preteaza la aceasta metoda

In algoritmii de codare curenti se folosesc patru tehnologii de baza: codarea perceptuala (perceptual coding)codarea domeniului de frecventa (frequency-domain coding),comutarea ferestrelor (window switching)alocarea dinamica a bitilor (dynamic bit allocation)Motivatia compresiei audioFie o melodie cu durata de 1 minutIn conditii de calitate CD, semnalul audio:este esantionat cu frecventa de 44.1 KHz (deci, 44100 esantioane/secunda)este semnal stereoare 16 biti pe esantionIn format binar (wav), rezulta un necesar de memorie (sau de stocare) de:

44.100 esantioane / s * 2 canale * 16 bit / esantion * 60 s = 84.672.000 biti = 10,584 MBytes

Motivatia compresiei audioO melodie modesta de cateva minute, de exemplu 3-4 minunte, va ocupa un spatiu de10,584 Mbytes * 3-4 min. = 31.752 42.336 MB

Pentru un album cu 10 melodii rezulta un necesar 10 melodii * 40 MB = 400 MBceea ce este cam mult pentru majoritatea utilizatorilor obisnuiti

Motivatia compresiei audioDaca se considera problema transmiterii pe un canal internet a unei singure melodii, pe o conexiune cu viteza de 64 Kbit/s, este necesar un timp de [10,584 MBytes * 8 bit/Byte] / [64 Kbit/s * 60 s/min ] = 22.05 minceea ce este iarasi destul de mult pentru un utilizator obisnuit

Utilitarele de compresie a semnalelor audio realizeaza rapoarte de compresie de pana la 10 ori, fara pierderea calitatii subiective a semnalului, astfel incat timpul transmiterii se poate reduce la 2 min, ce poate fi acceptabil

Motivatia compresiei vorbiriiCodarea vorbirii este un aspect important al telecomunicatiilor moderneCodarea vorbirii = procesul de reprezentare numerica a semnalului vorbireObiectivul de baza al codarii vorbirii este de a reprezenta semnalul vorbire:cu un numar mic de biticu mentinerea unui nivel de calitate suficient pentru refacerea vorbirii originale cu un grad de dificultate rezonabilMotivatia compresiei vorbiriiUn numar mic de biti inseamna:o banda mica necesara transmisieimai putina memorie pentru memorare

Desi in sistemele de comunicatie cu fir sunt disponibile benzi foarte mari de frecventa (ex. cablul optic), in comunicatiile fara fir si cele prin satelit banda este limitataComunicatiile multimedia si alte aplicatii bazate pe vorbire necesita voce reprezentata numericAlgoritmii de codare aplica metode sofisticate pentru reducerea redundantei

Motivatia compresiei vorbiriiSemnalul vorbire este un semnal analogic s(t) esantionat la o frecventa de esantionare ts 2fmax, unde fmax este frecventa maxima din spectrul semnalului s(t)Semnalul discret va fi notat cu s(n)Acest semnal este apoi codat prin diverse scheme de codare cum sunt PCM sau codare predictiva

In codarea PCM (Pulse Coded Modulation) :semnalul discret este cuantizat in 2N nivelefiecare esantion s(n) este reprezentat pe R bitiCuantizorul poate fi uniform sau neuniform (cuantizatoarele neuniforme utilizeaza mai putini biti pe esantion, asa cum sunt cuantizoarele cu lege sau A, ce folosesc numai 8 biti pe esantion)scalar sau vectorialUn cuantizor tipic foloseste 8 sau 16 biti pe esantion

Motivatia compresiei vorbiriiIn codarea predictiva codorul considera un grup de esantioane, la un moment dat, extrage o serie de coeficienti ce modeleaza esantioanele considerate, converteste coeficientii in simboluri binare si le transmite pe canalSe obtine astfel o reprezentare compacta cu mai putini bitiDecodorul reconstruieste semnalul vorbire din parametrii transmisi, asa cum se prezinta in urmatoarea figura (Schema de baza pentru un sistem de transmisiune audio cu codare-decodare)

Tehnici de compresie a vorbirii in domeniul timpMotivatie: reducerea timpului necesar unui utilizator pentru a asculta un mesaj, prin cresterea capacitatii de comunicare a urechiireducerea cantitatii de date in vederea minimizarii spatiului de memorare si a benzii de transmisie a mesajelor vorbite

Compresia in timp a vorbirii poate fi utilizata intr-o varietate de aplicatii incluzand instruirea, ajutorarea celor cu deficiente auditive si pentru interfetele om-calculatorEx.: Studiile au aratat ca ascultarea de doua ori a materialelor redate cu o viteza dubla este mult mai eficienta decat ascultarea mesajelor la viteza normala

Tehnici de compresie a vorbirii in domeniul timpCompresia temporala este utilizata in:prezentarea mesajelor in sistemele de mail vocal ajutorarea persoanelor cu deficiente majore de vederesistemele de recunoastere a vorbirii cand formele de intrare sunt normalizate la o lungime standardVorbirea comprimata in timp este referita ca:acceleratacomprimatacu scara de timp modificatacu viteza maritacu timp modificatVorbirea rapidaRata de vorbire normala in Engleza este intre 130 si 200 cuvinte pe minut (wpm)

Cand se vorbeste repede, vorbitorul schimba ne-intetionat atributele relative ale vorbirii relativ la durata pauzelor, durata vocalelor consonante etc.

In general, vorbitorii pot comprima vorbirea lor pana la 70%, limitarea fiind din cauza limitarilor fiziologiceSchimbarea vitezeiSchimbarea vitezei este similara cu redarea unei casete la o viteza mai mare sau mai mica

Metoda poate fi reprodusa digital prin schimbarea ratei de esantionare in timpul intoarcerii casetei

Metodele nu sunt prea folosite intrucat produc un efect nedorit al modificarii frecventei proportional cu schimbarea vitezei de redare, cauzand o scadere a inteligibilitatiiSinteza vorbiriiCu o voce pur sintetica este posibil sa se genereze vorbire la diverse rate ale cuvintelor

In mod curent sintetizoarele text-vorbire pot produce rate de pana la 550 wpm

Acest lucru se obtine prin reducerea selectiva a fonemelor (phoneme) si a duratei pauzelor

Tehnica este puternica, in particular pentru ajutorarea persoanelor cu dizabilitati, dar nu este relevanta in raport vorbirea inregistrataEliminarea pauzelor (Silence Removal)Cea mai simpla metoda consta in utilizarea energiei sau mediei amplitudinii, combinata cu pragurile de timpAlte metode utilizeaza masuratori de trecere prin zero sau parametrii LPCDe exemplu tehnica TASI (Time Assigned Speech Interpolation) este utilizata pentru a dubla capacitatea cablurilor telefonice transoceaniceTehnica DSI (Digital Speech Interpolation) este similara dar se lucreaza in totalitate in domeniul digitalDSI/TASI doresc sa conserve banda sistemului

Esantionare neuniformaPrincipiul metodei este prezentat in urmatoarea figuraDaca intreruperile se fac la intervale regulate, largi portiuni din semnal se pot sterge fara a se afecta inteligibilitatea

Esantionare neuniformaO alta tehnica prezentata in figura urmatoare (C): segmentele semnalului vorbire sunt alternativ indepartate si retinuteDurata fiecarui interval de esantionare trebuie sa fie cel putin egala cu a unui formant (pitch) (15 ms) dar trebuie sa fie de asemenea mai mica decat lungimea unui fonem

Esantionarea cu prezentare dihotonica (Sampling with Dichotic Presentation)O varianta interesanta a metodei de esantionare este obtinuta prin redarea semnalului esantionat standard unei urechi si a materialului indepartat celeilalte urechiSub aceasta conditie dichotic inteligibilitatea si propuntierea crescDesi initial exista o slaba dificultate in intelegerea mesajului, adaptarea este imediataRaportul de compresie creste pana la 50% prin pastrarea intregii informatii din semnalul original

Esantionarea cu prezentare dihotonicaCuantizarea numerica pe un numar mare de biti conserva formele de unda, in sensul ca semnalul de la iesire este apropiat de semnalul de la intrare, ca forma de undaDiferenta formelor de unda, de la iesire si de la intrare constituie criteriul eroare pentru proiectarea circuitului de cuantizareCand cuantizarea se realizeaza cu numar mic de biti (numar mic de simboluri binare), in proiecatrea codorului trebuie sa se includa informatie despre producerea si perceptia semnalelor audio, astfel incat semnalul de iesire poate sa difere mult de semnalul de intrare, insa efectul acestora asupra urechii umane sa fie acelasi

Esantionarea cu prezentare dihotonicaIn principiu, un algoritm de codare eficienta a sursei va:indeparta componentele redundante ale sursei de semnal prin exploatarea corelatiilor dintre esantioane. (codare entropica)Indeparteaza componentele care nu sunt percepute de urechea umanaIrelevanta se manifesta ca o amplitidine ne-necesara sau ca o rezolutie in frecventaPortiunile de semnal care sunt mascate nu trebuie transmise. (codare perceptuala)

Compresia audio bazata pe modelul perceptiei audio (Perceptual coding)Schema de baza a unui codor-decodor audio, bazat pe model, este prezentata mai josSe remarca existenta a doua piese de baza la partea de codare:Un bloc pentru transformarea semnalului intr-o reprezentare care modeleaza precis sursaUn model care modeleaza acusto-fiziologic (psihoacustic, in engleza) aparatul auditivAcesta furnizeaza o aproximare a mecanismelor de perceptie ale urechii umaneCele doua blocuri (transformari) determina marimea reducerii ce poate fi obtinuta prin procesul de codarea

Compresia audio bazata pe modelul perceptiei audio (Perceptual coding)In etajul de reprezentare al semnalului are loc reducerea redundantei semnaluluiIn codarea vorbirii, un model fizic al tractului vocal este folosit pentru definirea parametrilor vorbiriiAcesti parametrii, impreuna cu informatia reziduala, sunt codati. In timp ce aceasta tehnica permite obtinerea unor rapoarte de compresie foarte mari, nu este foarte eficienta cu semnale muzicale pentru ca este foarte dificil sa se modeleze bine toate sursele posibile de muzicaIn codarea audio, reprezentarea din domeniul timp a semnalului este tipic transformata intr-o reprezentare timp-frecventa cu ajutorul unui banc de filtre (cascada de filtre)In acest caz, iesirile din domeniul frecventa ale bancului de filtre furnizeaza reprezentarea primara a semnalului

Compresia audio bazata pe modelul perceptiei audio (Perceptual coding)Urechea umana realizeaza o analiza Fourier echivalenta cu un bank (lant) de filtre, unde transformarea frecventelor de lucru in lucru mecanic are loc in membrana basilara.Spectrele de putere nu sunt reprezentate pe o scara liniara a frecventelor, ci pe benzi de frecventa limitate, denumite benzi criticeSistemul auditiv poate fi descris ca un banc de filtre trece banda, a caror caracteristica amplitudine frecventa se suprapunFiltrele au banda de ordinul 50-100 Hz pentru frecvente mai mici de 500 Hz si de pana la 5000 Hz pentru semnale de frcventa mai mareIn gama audio, se pot defini astfel 26 benzi critice acoperind intervalul de frecventa de pana la 24 KHz

Compresia audio bazata pe modelul perceptiei audio (Perceptual coding)Ipoteza generala este ca semnalele audio sunt cvasi-stationare, deci, o corespondenta in domeniul frecventa rezulta intr-o reprezentare a semnalului care este mai eficienta decat PCM directaCu cat fereastra de analiza este mai mare cu atat presupunerea este mai bunaIn general, se face un compromis intre o codare de eficienta inalta, data de un bank de filtre cu inalta rezolutie, obtinuta in etajul de reprezentare a semnalului si costul memoriei/intarzierii necesara intregului sistem de codareCercetarile din domeniul rezolutiei spectrale au arata ca o alegere buna pentru o rezolutie de frecventa este de 20 Hz ce corespunde unei rezolutii in domeniul timp de 25msCompresia audio bazata pe modelul perceptiei audio (Perceptual coding)Bancuri de filtre variante in timp sunt des utilizate pentru a evita imprastierea zgomotului de cuantizare in timp in semnalul rconstituit

Aceste metode permit bancului de filtre sa se adapteze la o rezolutie de timp marita, tipic egala cu 5ms, in prezenta unui tranzient (impuls). Reducerea ratei de informatieInteresul pentru reducerea ratei de bit (low bit rate coding) este dat de necesitatea minimizarii costurilor de transmisiei si a necesarului de memorie pentru stocare, de necesitatea de a transmite pe canale cu capacitate limitata, asa cum sunt canalele radio mobile, si pentru a suporta codarea cu pas variabilCompresia ratei de informatie pentru semnale audio si vorbire se poate face prin: tehnici predictive, codare sub-banda, codare prin transformare, diferite forme de cuantizare vectorialaSe obtin astfel rate de 0.5-1 bit/esantion pentru vorbire si 1-2 bit/ esantion pentru semnale audio

Codarea in domeniul de frecventa (Frequency-domain coding)In domeniul frecventa se poate defini redundanta ca fiind o caracteristica spectrala ascutita (ne-plata) pe termen scurt a sursei de semnalIrelevanta inseamna componente spectrale cu amplitudine mai mica decat pragul psihoacusticCele doua trasaturi (redundanta si irelevanta) sunt folosite pentru a reduce cantitatea de simboluri in raport cu PCMAcest lucru se obtine prin impartirea spectrului sursei in benzi de frecventa pentru a genera componente spectrale necorelate si prin cuantizarea acestor componente separatSe folosesc doua categorii de codare:Codarea transformarii (TC=transform coding)Codarea sub-benzii (SBC=subband coding)

Codarea in domeniul de frecventaDiferentele dintre cele doua categorii sunt de ordin istoricAmandoua utilizeaza o analiza filterbank in codor pentru a descompune semnalul de iesire in componente spectrale sub-esantionateComponentele spectrale se numesc esantioane subbanda (subband samples) daca bancul de filtre are o rezolutie mica; in caz contrar se numesc linii spetrale sau coeficienti de transformareAceste componente spectrale sunt recombinate in decodor prin sinteza fitrului bankCodarea sub-benzii (SBC=subband coding)In SBC, sursa de semnal este supusa unei analize filterbank constand din M filtre trece banda care sunt continue in frecvente astfel incat multimea semnalelor subbanda poate fi recombinata aditiv pentru a produce semnalul original sau o versiune apropiata a acestuiaFiecare iesire a filtrului este decimata la limita (se mai spune critic decimata)(adica esantionata la dublul benzii nominale) cu un factor egal cu M, numarul de filtre trece bandaAceasta decimare rezulta intr-un umar de esantioane subbanda ce egaleaza acelea din semnalul originalIn receptor, rata de esantionare a fiecarei subbenzi este crescuta la cea a sursei de semnal prin completarea la un numar apropiata cu esantionae zero

Codarea sub-benziiSemnalelel subbanda interpolate apar la iesirile FTB ale filtrului de sintezaProcesul de esantionare poate introduce distorsiune de esantionare (aliasing distorsion) din cauza suprapunerii subbenzilorDaca se folosesc filtre perfecte, (filtre dublu-banda in cuadratura sau filtre polifazice), termenii aliasing sunt eliminati si suma iesirilor filtrelor trecebanda este egala cu semnalul de intrare, in absenta cuantizariiCodarea sub-benzii

Codarea transformarii (TC=transform coding)In TC, un bloc de esantionae de intrare este transformat liniar cu o transformata discreta intr-un set de coeficienti de transformare, aproape ne-corelatiAcesti coeficienti sunt cuantizati si transmisi in forma numerica spre decodorIn decodor are loc transformarea inversa, refacand semnalul in domeniul timpIn absenta erorilor de cuantizare sinteza furnizeaza o reconstructie exactaTransformari tipice sunt: tranformata Fourier discreta, transformata cosinus discreta (DFT), sau trasformata cosinus discreta modificata (MDCT)Codarea transformariiMDCT (Modified DCT) se bazeaza pe o suprapunere de 50% a filtrelor succesive de analizaEfectul consta in obtinerea unui castig mai mare si a unui raspuns al filtrelor individuale mai bun. S-a mentionat ca decodorul bazat pe transformta inversa poate fi privit ca un filtru bank; raspunsul la impuls al filtrelor trece banda componente este egal cu secventa transformarilor de bazaRaspunsul la impuls al filtrului de analiza este versiunea inversata in timpCodarea transformariiSchema a bloc a sistemului cu compresia audio folosind codarea transformarii

Codarea transformariiPre-procesarea inseamna una sau mai multe prelucrari de tipul: filtrare, compresia domeniului de variatie a amplitudine, folosirea unui model perceptual pentru indeparatarea informatiei nerelevantePrin T este reprezentata o transformare de tipul Fourier, DCT sau MDCTSelectia coeficientilor inseamna selectarea celor mai importanti coeficienti pentru indeplinirea unui criteriu de eroare minima Codarea coeficientilor inseamna de fapt o codare de canal, adica adaugarea unor simboluri de control pentru protectia la perturbatii si, eventual, a unor informatii privitoare la parametrii transformarilor din etapa de pre-procesareLa receptie are loc decodarea coeficientilor si aplicarea unei transformari inverse pentru refacerea semnalului initialMetoda de compresie LPCLPC = Linear Predictive CodingLPC exploateaza redundanta semnalului vorbire prin mecanismul de generare a vorbirii: un filtru liniar excitat de un semnal numit semnal de excitatieSemnalul excitatie se mai numeste si semnal rezidualCodoarele pentru vorbire prelucreaza un grup de esantionae, numit cadru sau segmen Codorul vorbirii calculeaza coeficientii filtrului si semnalul de excitatie pentru fiecare cadruCoeficientii filtrului sunt astfel calculati pentru a asigura ca energia la iesirea filtrului pentru cadrul analizat sa fie minimizataUn astfel de filtru se numeste filtru LP analizorSemnalul rezultant se numeste semnal rezidual pentru acel cadru particularLa decodare, filtrul LP lucreaza ca un filtru de sinteza, in timp ce semnalul rezidual actioneaza ca semnal de excitatie pentru filtrul de sintezaMetoda de compresie LPCIn vederea reducerii ratei de bit totale, codoarele vorbirii cum sunt CELP (code excited linear prediction) nu transmit intreg semnalul rezidual, intrucat se foloseste un tabel de codare vectorial pentru a coda semnalul de excitatieTehnica este numita cuantizare vectoriala (VQ), astfel incat codorul selecteaza unul dintre semnalele de excitatie dintr-un tabel predeterminat, si va transmite indexul semnalul de excitatie care se afla cel mai aproape de cel care trebuie transmisTabelul cu semnalele de excitatie este cunoscut atat de codor cat si de decodorSemnalul excitatie este selectat astfel incat distorsiunea dintre cadrul original si cel reconstruit sa fie minimaMetoda de compresie LPCTipic, se folosesc rate de esantionare de 8 KHz iar lungimea cadrului este de 20 ms, astfel incat exista 160 esantioane in fiecare cadru

Se gaseste ca un filtru de ordinul 10 este suficient pentru modelarea anvelopei spectrale pentru o rata de esantionare de 8 KHz, deco codorul lucreaza cu 12 parametri (10 coeficienti, castigul fitrului si indexul semnalului de excitatie) in loc de 160 de esantioane pentru un cadruMetoda de compresie LPCModelul vorbirii

Metoda de compresie LPCModelului de vorbire are doua moduri de functionare In primul mod, comutatorul K este in pozitia a si se genereaza fonemele sonoreSemnalul excitatie este constituit dintr-o serie de impulsuri dreptughiulare cu perioada Tp, Ts este frecventa de esantionareAl doilea mod de lucru necesita comutatorul K in pozitia b, si corespunde fonemelor insonoreExista trei filtre care modeleaza efectele glotei, ale tractului vocal si al radiatiei sonore (efectul buzelor)Multiplicarea cu constanta G este pentru modificarea intensitatii.

Metoda de compresie LPCIn aplicatiile practice se utilizeaza o schema mai compacta, unde cele trei filtre sunt inlocuite cu unul singur, H(z)

Metoda de compresie LPCPentru filtru se foloseste structura ARMA (Autoregressive Moving Average)Un semnal vorbire s(n) este considerat ca iesire a unui sistem excitat de un semnal excitatie u(n)Esantionul vorbirii s(n) este modelat ca o combinatie liniara a iesirilor vechi si prezente si a intrarilor vechi, dupa relatia:

unde G este castigul filtrului si {ak, bk} sunt parametrii modeluluiNumarul p implica folosirea a p esantioane trecute, si se numeste ordinul predictiei liniareFunctia de transfer H(z) a modelului se obtine prin aplicarea transformatei in z ecuatiei:

ceea ce arata un model de tip poli-zerouri. In spectrul vorbirii, nazalele sunt reprezentate de zerouri si formantii sunt reprezentati de poli.

Metoda de compresie LPCExista doua cazuri speciale ale acestui model:

Cazul modelului de tip auto-regresiv, cand H(z) are numai poli, deci coeficientii bk sunt nuliAcest model se foloseste din motive de simplitate si eficienta a implementarii. Ideea este ca in rezolvarea unui model poli-zeroruri este nevoie de rezolvarea unui set de ecuatii neliniare in timp ce modelul numai cu poli necesita rezolvarea unui set liniar de ecuatiiCazul modelului de tip medie alunecatoare, cand H(z) are numai zerouri, deci coeficientii ak sunt zeroMetoda de compresie LPCTransformata z inversa a modelului cu toti polii este

Coeficientii {ak} sunt numiti coeficientii LP ai filtrului liniarSemnalul eroare e(n) este diferenta dintre semnalul de intrare si cel estimat, dupa relatia

iar in domeniul z avem relatia de legatura

Metoda de compresie LPCCa urmare, modelul global poate fi descompus in doua partiPartea de analiza analizeaza semnalul vorbire si produce semnalul eroarePartea de sinteza preia semnalul eroare ca semnal de intrare, este filtrat de filtrul 1/A(z) si se obtine semnalul vorbireSemnalul eroare se mai numeste semnal rezidual sau semnal de excitatie

Metoda de compresie LPCExista doua tipuri de codoare bazate pe predictie liniara:Codor adaptiv inainte sau direct (forward adaptive coder)Predictia liniara se bazeaza pe esantionale de intrare vechiAnaliza LP este efectuata in codor si se transmit coeficientii LPCodor adaptiv inapoi sau invers (Backward adaptive coder)Coeficientii LP sunt calculati din esantioanle vechi reconstruiteAnaliza LP este facuta din nou la receptie, deci in cadrul decodoruluiIn acest fel, nu este necesar sa se transmita coeficientii LP de catre codorEstimarea coeficientilor predictiei linareExista doua metode larg folosite in estimarea coeficintilor predictiei liniare: autocorelatia covarianta

Ambele metode folosesc coeficientii filtrului LP {ak} astfel incat energia reziduala (energia semnalului rezidual) sa fie minimizataCea mai folosita metoda este metoda celor mai mici patrate

Ponderarea pe ferestre (windowing)Semnalul vorbire este un semnal variabil in timp si unele variatii sunt aleatoareUzual, in timpul vorbirii cu intensitate mica, forma tractului vocal si a excitatiei nu se modifica in 200 msDar fonemele au o durata medie de 80 msCele mai multe schimbari apar mai frecvent decat intervalul de 200 msAnaliza semnalului presupune ca proprietatile semnalului se schimba lent in timp, ceea ce permite o analiza in timp scurt a semnaluluiSemnalul este divizat in segmente succesive, analiza se face pe aceste segmente si se extrag anumite proprietati dinamice

Ponderarea pe ferestre (windowing)Semnalul s(n) este inmultit cu o fereastra de analiza w(n) pentru a extrage un anumit segment de analizaTehnica se numeste ponderare (windowing) Alegerea formei ferestrei este importanta intrucat esantionale vor fi ponderate in mod diferitFolosirea unei ferestre dreptunghiulare determina aparitia unor lobi secundari mari si anumite efecte nedorite in domeniul frecventaPentru a inlatura aceste oscilatii mari, se utilizeaza ferestre de filtrare fara schimbari abrupte in domeniul timp, asa cum este fereastra Hamming, Blackman, Kaiser sau BartlettSe pot folosi si combinatii de ferestre, asa cum se foloseste in GSM, unde fereastra de analiza are doua jumatati de ferestre Hamming de dimensiuni diferiteReprezentarea parametrilor LPParametrii LP au gama dinamica destul de mare, astfel incat sunt dificil de cuantizat

Alte moduri de reprezentare au o gama dinamica mai mica si posibil de estimat

Acest lucru permite folosirea unui numar diferit de biti pentru cuantizare, cu atat mai mic cu cat efectul coeficientilor asupra raspunsului filtrului este mai micReprezentarea parametrilor LPCoeficientii predictiei liniare pot avea diferite reprezentatri echivalente: frecventele liniilor spectrale (line spectral frequencies LSF)coeficienti de reflectie (reflection coeficients RC);autocorelatii (autocorelations)rapoarte logaritmici ale ariilor (log area ratios LAR)coeficienti de reflexie arcsine (arcsine of reflection coefficients ASRC)raspunsul la impulse al filtrului LP ( impulse responses of LP synthesis filter - IR)Reprezentarea parametrilor LPToate aceste reprezentari au relatii de legatura exacte cu coeficientii LP si pastreaza toata informatia desprea acestiaDintre acestia, o parte sunt mai usor de calculat si au proprietati particulare ce le fac mai atractive pentru diferite scopuri

Metoda autocorelatieiMai intai, semnalul vorbire s(n) este multiplicat cu o fereastra w(n) pentru a obtine un segment de vorbire ponderat sw(n), dupa relatia

Al doilea pas este minimizarea energiei semnalului rezidual; energia reziduala se obtine cu expresia

Metoda autocorelatieiValorile parametrilor {ak} care minimizeaza energia E se gasesc prin calcularea derivatelor partiale ale lui E in raport cu {ak} si egalarea lor cu zero

de unde rezulta un set de p ecuatii cu p mecunoscute

In ultima ecuatie semnalul ponderat sw(n)=0 in afara ferestrei de filtrare

Metoda autocorelatieiEcuatiile liniare pot fi exprimate in functie de functia de autocorelatieFunctia de autocorelatie a unui segment ponderat de vorbire este definita de relatia

unde Nw este lungimea ferestreiPrin inlocuirea valorilor autocorelatiei in penultima ecuatie se obtine

Metoda autocorelatieiSetul de ecuatii liniare poate fi scris matricial sub forma

Ultima ecuatie poate fi scrisa matricial sub forma

Metoda autocorelatieiMatricea R este o matrice Toeplitz, deci are toate elementele de pe diagonala principala egaleAcest lucru permite rezolvarea ecuatiei matriciale prin algoritmul Levinson-Durbin sau prin algoritmul lui SchurDatorita structurii matricii R, A(z) este de tip faza minimaFiltrul folosit la sinteaza are functia de transfer H(z) = 1 / A(z), deci zerourile lui A(z) devin polii lui H(z)Astfel, faza minima a lui A(z) garanteaza stabilitatea filtrului H(z)

Algoritmul Levinson-DurbinAlgoritmul rezolva ecuatia matricala Ax=b, in care A are o structura Toeplitz, matrice simetrica si pozitiv definita, iar b este un vector arbitrarAceste cerinte sunt satisfacute de matricea de autocorelatie R, definita anterior.

Algortimul LD necesita o forma speciala a lui b, unde b consta din anumite elemente ale lui ASi aceasta conditie este satisfacuta de ecuatiile autocorelatieiAlgoritmul Levinson-DurbinFie ak(m) coeficientul k pentru un cadru oarecare m al iteratieiAlgoritmul LD rezolva iterativ setul de ecuatii in mod iterativ pentru m=1,2,,p dupa relatiile:

Algoritmul Levinson-DurbinSe considera initial E(0) = R(0) si a(0) = 0La fiecare iteratie, coeficientul ak(m) pentru k=1,2,..,m descrie predictorul liniar de ordin m; eroarea de energie E(m) este redusa cu un factor de (1-k(m)2).Intrucat E(m) nu este negativa, rezulta ca | k(m) | 1Aceasta conditie pentru coeficientul de reflexie k(m) garanteaza ca radacinile lui A(z) vor fi in interiroul cercului unitateRezulta ca sinteza fltrului H(z) va fi stabila si deci metoda corelatiei determina stabilitatea filtrului cautatCriterii de perfomanta in codarea vorbiriiPentru evaluarea unui codor particular trebuie considerate o serie de criterii, cel mai importante fiind:calitatea vorbiriiCodoarele vorbirii urmaresc producerea unei distorsiuni audibile minime la o rata dataNaturaletea si inteligibilitatea sunetului produs sunt criterii de asemena importanteCalitatea vorbirii poate fi determinata prin teste de ascultare ce calculeaza opinia media a unor ascultatoriCalitatea vorbirii poate fi apreciata si prin masuri cantitative cum sunt castigul predictiei, distorsiunea spectrala

Criterii de perfomanta in codarea vorbiriiRata de bitInseamna numarul de biti pe secunda ce trebuie transmisi de codorObiectivul algoritmului de codare este de a reduce rata de bit prin mentinerea unei calitati inalte a vorbiriiNecesarul de memorie pentru implementare; toti algoritmii de codare a vorbirii sunt executati in circuite integrate DSP dedicate sau de uz generalAcestea au capacitate limitata de memorie RAM precum si o viteaza finitaRezulta ca algoritmii de codare-decodare nu trebuie sa fie prea complecsi, deci sa nu depaseaca capacitatea circuitelor DSP

Criterii de perfomanta in codarea vorbiriiAdesea, algoritmii de codare prelucreaza impreuna grupuri de esantioaneDaca numarul de esantioane este prea mare, se introduce o intarziere intre vorbirea originala si cea codataAceasta nu este de dorit in transmisiile de timp real, dar poate fi tolerata in cazul memorarii vorbirii sau a inregistraii acesteiaBanda de frecventa a semnalului vorbire ce trebuie codat este o alta problemaIn transmisiunile telefonice se utilizeaza o banda de 200-3400 HzExista insa transmisii audio, cum sunt cele din teleconferinte sau tele-invatare, ce necesita benzi de 7-20 KHzCriterii de perfomanta in codarea vorbiriiAlgoritmii de codare trebuie sa fie robusti la erorile ce pot apare pe canalErorile de pe canal sunt cauzate de zgomotul de pe canal, interferenta inter-simbol, fading etc.In timpul transmisiilor reale, semnalele vorbire sunt afectate de diferite zgomote acustice ce provin din mediu cum sunt: zgomotul straziizgomotul masiniial biroului, etc. Algoritmii de codare trebuie sa mentina o buna calitate a vorbirii in prezenta unor astfel de surse de zgomotAprecierea distorsiunilorInteligibilitate si Intelegere

Inteligibilitatea se refera uzual la abilitatea de a identifica cuvinte izolateIntelegerea se refera la intelegerea continutului unui materialAceasta este uzual testata prin intrebari despre materialul inregistratAprecierea distorsiunilorPerceptia si redundanta vorbirii

Importanta analizei modului in care se realizeaza perceptia consta in faptul ca aprecierea calitatii semnalului reconstituit din parametrii transmisi pe canal, se face de catre urechea umanaDe aceea, trebuie explorat modul in care functioneaza urechea umana, prin evidentierea aspectelor importante si a celor mai putin importante.Sistemul auditiv uman actioneaza ca un set de filtre si este foarte sensibil in domeniul 200-5600 Hz in ceea ce priveste perceptia.Trasaturile importante ale perceptiei, cum este vocea, sunt determinate din structura armonica care este prezenta in diomeniul frecventelor joase (ce nu depaseste 3 KHz).Intrucat sursa si mai ales destinatarul semnalului vorbire este un operator uman, pe langa masurile clasice de apreciere a distorsiunilor apar si masuri de natura subiectiva

Masuri de aprecire subiectiva a distorsiunilorTestele subiective permit o evaluare comparativa a diverselor codoareIn astfel de teste, calitatea vorbirii este apreciata uzual prin inteligibilitate, tipic definita ca procentul de cuvinte sau foneme care sunt corect perceputeAspectele semnificative ale perceptiei vorbirii sunt inteligibilitatea si naturaleteaPentru aprecierea acestor calitati se poate folosi masura Scorul opiniei mediii (MOS = Mean Opinion Score)Determinarea acesteia reclama un proces lentDecizia este impartita in 5 domenii ca in tabelul de mai josScoreCalitatea vorbiriiNivelul distorsiunii5ExcelentaImperceptibila4BunaAbia perceptibila dar nu deranjanta3AcceptabilaPerceptibila si slab deranjanta2SaracaDeranjabila dar nu intolerabila 1NesatisfacatoareFoarte deranjanta si intolerabilaMasuri de aprecire subiectiva a distorsiunilorOpinia sau nivelul perceput al distoriunii este transformat in termeni descriptivi: excelentfoarte bunbunsaracnesatisfacatorAceste aprecieri se refera la tot ansamblul de distorsiuni, permit comparea directa cu masurile obiective (cantitative), dar nu ajuta imediat la intelegerea cauzelor distorsiunilorTestele subiective necesita o multime numeroasa de ascultatori, ce necesita o intsruire adecvata in ascultare si calibrareEste nevoie si de un mediu special pentru testareMasuri de aprecire obiectiva a distorsiunilor In domeniul timp:

raportul semnal-zgomot: daca s(n) este semnalul original al vorbirii, este vorbirea codata si fisierul vorbire are NT esantioane, atunci raportul semnal-zgomot este

Este o masura globala, definita pe intreg fisierul

Masuri de aprecire obiectiva a distorsiunilorraportul semnal-zgomot segmental (pe segment) considera raportul semnal zgomot calculat pe un segment si face media geometrica a valorilor obtinute. Daca semnalul vorbire are NF cadre si lungimea fiecarui cadru este NS, raportul semnal-zgomot segmental este

In general, este o masura mai buna decat raportul semnal zgomot global

Masuri de aprecire obiectiva a distorsiunilorCastigul predictiei

unde NT este numarul de esantioaneUn castig mare al predictiei presupune ca filtrarea LP este aproape de aceea a tractului vocal, astfel incat semnalul eroare r(n) va fi mai aproape de excitatia adevarataExemplu

Fisierul de intrarePg [dB]Fisier 1, vorbitor feminin, 23808 esantioane16.12Fisier 2, vorbitor masculin, 30976 esantioane17.35Fisier 3, vorbitor masculin, 28416 esantioane16.01Masuri de aprecire obiectiva a distorsiuniloreroarea energiei

Intrucat se folosesc aceeasi coeficienti pentru filtrare si filtrare inversa, in mod teoretic semnalele vorbire de intrare si de iesire ar trebui sa fie identice, deci senalul eroare sa fie zero Experimental, ne asteptam ca semnalul eroare sa fie foarte mica din cauza reprezentarii finite a datelor si a limitarilor impuse simularilor

Masuri de aprecire obiectiva a distorsiunilorIn domeniul frecventa:

distorsiunea spectrala se defineste ca diferenta patratica medie dintre spectrul de putere original si spectrul de putere obtinut prin cuantizarea coeficientilor LPCPentru cadrul i distorsiunea este

unde Fs este frecventa de esantionare, Si(f) si sunt spectrele originale si estimate

Masuri de aprecire obiectiva a distorsiunilorSi(f) si sunt spectrele originale si estimate sunt definite prin

Ai(z) si sunt LPC original si- respectiv- cuantizatiIn locul integrarii se poate poate folosi sumarea (de fapt, DFT) dupa relatia

Masuri de aprecire obiectiva a distorsiunilorAlta masura este distanta euclidiana ponderataSe evalueaza in raport cu reprezentarea LSF, intrucat acestia au o buna legatura cu forma spectrala, adica formantii, si cu vaileDaca f si sunt doi vectori, original si codata LSF, atunci distanta euclidiana este

iar in cazul unei analize de ordinul p se obtine

Masuri de aprecire obiectiva a distorsiunilorDaca wi este ponderea asignata componentei spectrale i a LSF (care are componente necorelate), atunci distanta euclidiana ponderata este

Calculul ponderilor se face dupa urmatoarele considerente:ponderea formantilor este mult mai mare decat a vailor;urechea umana distinge mai usor diferentele frecventelor joase decat cele inalte; ca atare frecventele joase trebuie ponderate mai mult

Referinte(Tamanna, 2000) Tamanna Islam, Interpolation of Linear Prediction Coefficients for Speech Coding, MS Thesis, Department of Electrical Engineering, McGill University, Montreal, Canada, April 2000

(Arons, 1995) Barry Arons, Techniques, Perception, and Applications of Time-Compressed Speech Speech Research Group, MIT Media Lab, 20 Ames Street, E15-353, Cambridge MA 2139, (Tamanna, 2000) Tamanna Islam, Interpolation of Linear Prediction Coefficients for Speech Coding, MS Thesis, Department of Electrical Engineering, McGill University, Montreal, Canada, April 2000.Thomas Sikora, MPEG Digital Audio Coding, IEEE Signal Processing Magazine, September 1997, pp. 58-81. Brandenburg, H. And Popp, H., An Introduction to MPEG Layer-3, Franhofer Institut fur Integrierte Schaltungen (IIS), EBU Technical Teview- June 2000, pp. 1-15.Brandenburg Karlheinz, Mp3 And Aac Explained, Mp3 And Aac Explained, Aes 17th International Conference On High Quality Audio Coding, 2000.