Sunteți pe pagina 1din 82

UNIVERSITY POLITEHNICA of BUCHAREST

DEPARTMENT
DEPARTMENT OF
OF COMPUTER
COMPUTER SCIENCE
SCIENCE

Transmisia datelor multimedia in retele de calculatoare


Compresia audio
I

Conf. Dr. Ing. Costin-Anton Boiangiu


<Costin.Boiangiu@CS.PUB.RO>
<Costin.Boiangiu@CS.PUB.RO>

Cuprins
1.
2.
3.
4.
5.
6.

Debitul de informatie al surselor audio


Motivatia compresiei vorbirii
Motivatia compresiei audio
Compresia vorbirii
Compresia audio
Criterii de perfomanta in codarea vorbirii

Debitul de informatie al surselor audio


Clasele de semnale audio sunt:
semnalele generate de vorbirea umana pentru canale telefonice
vorbirea de banda larga
semnalul audio de banda larga

Fiecare dintre ele difera prin:


banda
gama 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-telefonie


Benzi mai mari (7 KHz pentru vorbirea de banda larga) sunt necesare pentru
imbunatatirea inteligibilitatii si naturaletii vorbirii
Reprezentarile audio de banda larga (fidelitate mare), incluzand necesitatile audio
multicanal, necesita benzi de cel putin 20 KHz

Debitul de informatie al surselor audio


Formatul 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]

PCM
rata de inf
[Kb/s]

Vorbire telefonie

300-3400

64

Vorbire de banda larga

50-7000

16

128

Audio banda medie

10-11000

24

16

384

Audio banda larga

10-22000

48

16

768

Debitul de informatie al surselor audio


Formatul pentru CD(Compact disc) este standardul de

facto al reprezentarii audio numerice


Cu 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/s
Este 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.32 Mb/s

Debitul de informatie al surselor audio


Comparatie 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 memorare

Rata audio
[Mb/s]

Over-head
[Mb/s]

Rata binara totala

Compact disc CD

1.41

2.91

4.32

Digital Audio Tape


(DAT)

1.41

1.67

3.08

Codarea vorbirii vs. codarea semnalului audio


Codarea audio implica:
rate de esantionare mai mari
o rezolutie in amplitudine mai buna
gama dinamica mare
variatii mari in spectrul de putere
reprezentare stereo si multicanal
calitate mai buna
Codarea vorbirii si codarea audio sunt similare in sensul ca ambele se bazeaza pe proprietatile

perceptiei audio umane


Vorbirea 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 audio


Fie o melodie cu durata de 1 minut
In conditii de calitate CD, semnalul audio:
este esantionat cu frecventa de 44.1 KHz (deci, 44100
esantioane/secunda)
este semnal stereo
are 16 biti pe esantion
In 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 audio


O melodie modesta de cateva minute, de exemplu 3-4

minunte, va ocupa un spatiu de


10,584 Mbytes * 3-4 min. = 31.752 42.336 MB
Pentru un album cu 10 melodii rezulta un necesar

10 melodii * 40 MB = 400 MB
ceea ce este cam mult pentru majoritatea utilizatorilor
obisnuiti

Motivatia compresiei audio


Daca 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 min

ceea 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 vorbirii


Codarea vorbirii este un aspect important al

telecomunicatiilor moderne
Codarea vorbirii

= procesul de reprezentare
numerica a semnalului vorbire
Obiectivul de baza al codarii vorbirii este de a
reprezenta semnalul vorbire:
cu un numar mic de biti
cu mentinerea unui nivel de calitate suficient pentru
refacerea vorbirii originale
cu un grad de dificultate rezonabil

Motivatia compresiei vorbirii


Un numar mic de biti inseamna:
o banda mica necesara transmisiei
mai 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
limitata
Comunicatiile multimedia si alte aplicatii bazate pe
vorbire necesita voce reprezentata numeric
Algoritmii de codare aplica metode sofisticate pentru
reducerea redundantei

Motivatia compresiei vorbirii


Semnalul 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 2 N nivele
fiecare esantion s(n) este reprezentat pe R biti

Cuantizorul 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 vectorial

Un cuantizor tipic foloseste 8 sau 16 biti pe esantion

Motivatia compresiei vorbirii


In 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 canal
Se obtine astfel o reprezentare compacta cu mai putini biti
Decodorul 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 timp


Motivatie:
reducerea timpului necesar unui utilizator pentru a asculta un mesaj,

prin cresterea capacitatii de comunicare a urechii


reducerea 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-calculator
Ex.: 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 timp


Compresia temporala este utilizata in:
prezentarea mesajelor in sistemele de mail vocal
ajutorarea persoanelor cu deficiente majore de vedere
sistemele de recunoastere a vorbirii cand formele de intrare sunt

normalizate la o lungime standard

Vorbirea comprimata in timp este referita ca:


accelerata
comprimata
cu scara de timp modificata
cu viteza marita
cu timp modificat

Vorbirea rapida
Rata 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 fiziologice

Schimbarea vitezei
Schimbarea 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
inteligibilitatii

Sinteza vorbirii
Cu 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 inregistrata

Eliminarea pauzelor (Silence Removal)


Cea mai simpla metoda consta in utilizarea energiei sau

mediei amplitudinii, combinata cu pragurile de timp


Alte metode utilizeaza masuratori de trecere prin zero sau
parametrii LPC
De

exemplu tehnica TASI (Time Assigned Speech


Interpolation) este utilizata pentru a dubla capacitatea
cablurilor telefonice transoceanice
Tehnica DSI (Digital Speech Interpolation) este similara dar
se lucreaza in totalitate in domeniul digital
DSI/TASI doresc sa conserve banda sistemului

Esantionare neuniforma
Principiul metodei este prezentat in urmatoarea figura
Daca intreruperile se fac la intervale regulate, largi

portiuni din semnal se pot sterge fara a se afecta


inteligibilitatea

Esantionare neuniforma
O alta tehnica prezentata in figura urmatoare (C): segmentele semnalului

vorbire sunt alternativ indepartate si retinute


Durata 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 urechi
Sub aceasta conditie dichotic inteligibilitatea si
propuntierea cresc
Desi initial exista o slaba dificultate in intelegerea
mesajului, adaptarea este imediata
Raportul de compresie creste pana la 50% prin pastrarea
intregii informatii din semnalul original

Esantionarea cu prezentare dihotonica


Cuantizarea 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 unda
Diferenta formelor de unda, de la iesire si de la intrare constituie

criteriul eroare pentru proiectarea circuitului de cuantizare

Cand 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 dihotonica


In 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 umana
Irelevanta se manifesta ca o amplitidine ne-necesara sau ca o
rezolutie in frecventa
Portiunile 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

jos
Se remarca existenta a doua piese de baza la partea de codare:
Un bloc pentru transformarea semnalului intr-o reprezentare care modeleaza precis

sursa
Un model care modeleaza acusto-fiziologic (psihoacustic, in engleza) aparatul auditiv

Acesta furnizeaza o aproximare a mecanismelor de perceptie ale urechii umane


Cele 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

semnalului
In codarea vorbirii, un model fizic al tractului vocal este folosit pentru

definirea parametrilor vorbirii


Acesti 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 muzica
In 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 critice

Sistemul auditiv poate fi descris ca un banc de filtre trece banda, a

caror caracteristica amplitudine frecventa se suprapun


Filtrele 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 mare


In 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
directa
Cu cat fereastra de analiza este mai mare cu atat presupunerea este

mai buna
In 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 codare
Cercetarile 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 25ms

Compresia 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 informatie


Interesul 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
variabil
Compresia ratei de informatie pentru semnale audio si vorbire
se poate face prin: tehnici predictive, codare sub-banda, codare
prin transformare, diferite forme de cuantizare vectoriala
Se 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


semnal
Irelevanta inseamna componente spectrale cu amplitudine mai mica

decat pragul psihoacustic


Cele doua trasaturi (redundanta si irelevanta) sunt folosite pentru a
reduce cantitatea de simboluri in raport cu PCM
Acest lucru se obtine prin impartirea spectrului sursei in benzi de
frecventa pentru a genera componente spectrale necorelate si prin
cuantizarea acestor componente separat

Se folosesc doua categorii de codare:


Codarea transformarii (TC=transform coding)
Codarea sub-benzii (SBC=subband coding)

Codarea in domeniul de frecventa


Diferentele dintre cele doua categorii sunt de ordin istoric
Amandoua utilizeaza o analiza filterbank in codor pentru a

descompune semnalul de iesire in componente spectrale


sub-esantionate
Componentele 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 transformare
Aceste componente spectrale sunt recombinate in decodor
prin sinteza fitrului bank

Codarea 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 acestuia
Fiecare 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 banda
Aceasta decimare rezulta intr-un umar de esantioane subbanda ce
egaleaza acelea din semnalul original
In 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-benzii
Semnalelel subbanda interpolate apar la iesirile FTB ale

filtrului de sinteza
Procesul de esantionare poate introduce distorsiune de
esantionare (aliasing distorsion) din cauza suprapunerii
subbenzilor
Daca 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 cuantizarii

Codarea 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-corelati
Acesti coeficienti sunt cuantizati si transmisi in forma numerica spre

decodor

In decodor are loc transformarea inversa, refacand semnalul in

domeniul timp
In absenta erorilor de cuantizare sinteza furnizeaza o reconstructie

exacta

Transformari

tipice sunt: tranformata Fourier discreta,


transformata cosinus discreta (DFT), sau trasformata cosinus
discreta modificata (MDCT)

Codarea transformarii
MDCT (Modified DCT) se bazeaza pe o suprapunere de

50% a filtrelor succesive de analiza


Efectul 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 baza
Raspunsul la impuls al filtrului de analiza este versiunea
inversata in timp

Codarea transformarii
Schema a bloc a sistemului cu compresia audio folosind

codarea transformarii

Codarea transformarii
Pre-procesarea inseamna una sau mai multe prelucrari de tipul: filtrare,

compresia domeniului de variatie a amplitudine, folosirea unui model


perceptual pentru indeparatarea informatiei nerelevante
Prin T este reprezentata o transformare de tipul Fourier, DCT sau
MDCT
Selectia

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-procesare
La receptie are loc decodarea coeficientilor si aplicarea unei

transformari inverse pentru refacerea semnalului initial

Metoda de compresie LPC


LPC = Linear Predictive Coding
LPC exploateaza redundanta semnalului vorbire prin mecanismul de generare a

vorbirii: un filtru liniar excitat de un semnal numit semnal de excitatie


Semnalul excitatie se mai numeste si semnal rezidual
Codoarele pentru vorbire prelucreaza un grup de esantionae, numit cadru sau
segmen
Codorul vorbirii calculeaza coeficientii filtrului si semnalul de excitatie pentru
fiecare cadru
Coeficientii filtrului sunt astfel calculati pentru a asigura ca energia la iesirea
filtrului pentru cadrul analizat sa fie minimizata
Un astfel de filtru se numeste filtru LP analizor
Semnalul rezultant se numeste semnal rezidual pentru acel cadru particular
La decodare, filtrul LP lucreaza ca un filtru de sinteza, in timp ce semnalul rezidual
actioneaza ca semnal de excitatie pentru filtrul de sinteza

Metoda de compresie LPC


In 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 excitatie
Tehnica 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 transmis
Tabelul cu semnalele de excitatie este cunoscut atat de codor cat si
de decodor
Semnalul excitatie este selectat astfel incat distorsiunea dintre
cadrul original si cel reconstruit sa fie minima

Metoda de compresie LPC


Tipic, 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 cadru

Metoda de compresie LPC


Modelul vorbirii

Metoda de compresie LPC


Modelului de vorbire are doua moduri de functionare
In primul mod, comutatorul K este in pozitia a si se

genereaza fonemele sonore

Semnalul excitatie este constituit dintr-o serie de impulsuri


dreptughiulare cu perioada Tp, Ts este frecventa de esantionare

Al doilea mod de lucru necesita comutatorul K in pozitia b,

si corespunde fonemelor insonore


Exista 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 LPC


In aplicatiile practice se utilizeaza o schema mai

compacta, unde cele trei filtre sunt inlocuite cu unul


singur, H(z)

Metoda de compresie LPC


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

s ( n)

k 1

k 0

ak s(n k ) G ak u (n k ),

b0 1

unde G este castigul filtrului si {ak, bk} sunt parametrii modelului


Numarul p implica folosirea a p esantioane trecute, si se numeste ordinul predictiei liniare
Functia de transfer H(z) a modelului se obtine prin aplicarea transformatei in z ecuatiei:

H ( z)

S ( z)
G
U ( z)

1
1

bk z k

k 1
p

ak z k

k 1

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 LPC


Exista doua cazuri speciale ale acestui model:
Cazul modelului de tip auto-regresiv, cand H(z) are numai

poli, deci coeficientii bk sunt nuli

Acest model se foloseste din motive de simplitate si eficienta a


implementarii. Ideea este ca in rezolvarea unui model polizeroruri este nevoie de rezolvarea unui set de ecuatii neliniare in
timp ce modelul numai cu poli necesita rezolvarea unui set liniar
de ecuatii

Cazul modelului de tip medie alunecatoare, cand H(z) are

numai zerouri, deci coeficientii ak sunt zero

Metoda de compresie LPC


Transformata z inversa a modelului cu toti polii este

s ( n)

a k s ( n k ) G u ( n)

k 1

Coeficientii {ak} sunt numiti coeficientii LP ai filtrului liniar


Semnalul eroare e(n) este diferenta dintre semnalul de intrare si cel estimat, dupa relatia

e(n) s (n) s(n) s (n) a k s (n k )


k 1

iar in domeniul z avem relatia de legatura

E( z ) S ( z ) A( z )

Metoda de compresie LPC


Ca urmare, modelul global poate

fi descompus in doua parti


Partea

de analiza analizeaza
semnalul vorbire si produce
semnalul eroare
Partea de sinteza preia semnalul
eroare ca semnal de intrare, este
filtrat de filtrul 1/A(z) si se
obtine semnalul vorbire
Semnalul eroare se mai numeste

semnal rezidual sau semnal de


excitatie

Metoda de compresie LPC


Exista doua tipuri de codoare bazate pe predictie liniara:
Codor adaptiv inainte sau direct (forward adaptive coder)
Predictia

liniara se bazeaza pe esantionale de intrare vechi


Analiza LP este efectuata in codor si se transmit coeficientii LP
Codor adaptiv inapoi sau invers (Backward adaptive coder)
Coeficientii LP sunt calculati din esantioanle vechi reconstruite
Analiza LP este facuta din nou la receptie, deci in cadrul
decodorului
In acest fel, nu este necesar sa se transmita coeficientii LP de
catre codor

Estimarea coeficientilor predictiei linare


Exista 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 minimizata
Cea 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 aleatoare
Uzual, in timpul vorbirii cu intensitate mica, forma tractului vocal si

a excitatiei nu se modifica in 200 ms


Dar fonemele au o durata medie de 80 ms
Cele mai multe schimbari apar mai frecvent decat intervalul de 200
ms

Analiza semnalului presupune ca proprietatile semnalului se

schimba lent in timp, ceea ce permite o analiza in timp scurt a


semnalului
Semnalul 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 analiza


Tehnica se numeste ponderare (windowing)

Alegerea formei ferestrei este importanta intrucat esantionale vor fi

ponderate in mod diferit


Folosirea unei ferestre dreptunghiulare determina aparitia unor lobi

secundari mari si anumite efecte nedorite in domeniul frecventa


Pentru a inlatura aceste oscilatii mari, se utilizeaza ferestre de filtrare fara
schimbari abrupte in domeniul timp, asa cum este fereastra Hamming,
Blackman, Kaiser sau Bartlett
Se pot folosi si combinatii de ferestre, asa cum se foloseste in GSM, unde
fereastra de analiza are doua jumatati de ferestre Hamming de dimensiuni
diferite

Reprezentarea parametrilor LP
Parametrii 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 mic

Reprezentarea parametrilor LP
Coeficientii 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 LP
Toate aceste reprezentari au relatii de legatura exacte cu coeficientii LP

si pastreaza toata informatia desprea acestia


Dintre acestia, o parte sunt mai usor de calculat si au proprietati

particulare ce le fac mai atractive pentru diferite scopuri

Metoda autocorelatiei
Mai intai, semnalul vorbire s(n) este multiplicat cu o

fereastra w(n) pentru a obtine un segment de vorbire


ponderat sw(n), dupa relatia

s w ( n ) w( n )s( n )
Al doilea pas este minimizarea energiei semnalului

rezidual; energia reziduala se obtine cu expresia


E

(n)

s w ( n ) a k s w ( n k )

k 1
p

Metoda autocorelatiei
Valorile parametrilor {ak} care minimizeaza energia E se gasesc prin

calcularea derivatelor partiale ale lui E in raport cu {ak} si egalarea lor cu


zero
E
0 , pentru k 1,..., p
a k

de unde rezulta un set de p ecuatii cu p mecunoscute


p

k 1

ak s w ( n i )s w ( n k ) s w ( n i )s w ( n ),

1 i p

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

Metoda autocorelatiei
Ecuatiile liniare pot fi exprimate in functie de functia de

autocorelatie
Functia de autocorelatie a unui segment ponderat de vorbire este
definita de relatia
R( i )

Nw 1

s w ( n )s w ( n i ),

1 i p

n i

unde Nw este lungimea ferestrei


Prin inlocuirea valorilor autocorelatiei in penultima ecuatie se obtine
p

ak R( i k ) R( i ),

k 1

1 i p

Metoda autocorelatiei
Setul de ecuatii liniare poate fi scris matricial sub forma

R( 0 )
R( 1 )

R( 1 )
R( 0 )

R( p 1 ) R( p 2 )

R( p 1 )
R( p 2 )

R( 0 )

a1 R( 1 )
a

R
(
2
)
2

a
R
(
p
)
p

Ultima ecuatie poate fi scrisa matricial sub forma

R a r

Metoda autocorelatiei
Matricea R este o matrice Toeplitz, deci are toate

elementele de pe diagonala principala egale


Acest lucru permite rezolvarea ecuatiei matriciale prin

algoritmul Levinson-Durbin sau prin algoritmul lui Schur

Datorita structurii matricii R, A(z) este de tip faza minima


Filtrul 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-Durbin
Algoritmul rezolva ecuatia matricala Ax=b, in care A are

o structura Toeplitz, matrice simetrica si pozitiv definita,


iar b este un vector arbitrar
Aceste 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 A


Si

aceasta conditie
autocorelatiei

este

satisfacuta

de

ecuatiile

Algoritmul Levinson-Durbin
Fie ak(m) coeficientul k pentru un cadru oarecare m al

iteratiei
Algoritmul LD rezolva iterativ setul de ecuatii in mod
iterativ pentru m=1,2,,p dupa relatiile:
k ( m ) R( m )

m 1

ak ( m 1 )R( m k )

am ( m ) k( m )

k 1

a k ( m ) a k ( m 1 ) k ( m )a m k ( m 1 ), 1 k m

E( m ) 1 k ( m ) 2 E( m 1 )

Algoritmul Levinson-Durbin
Se considera initial E(0) = R(0) si a(0) = 0
La 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) | 1


Aceasta conditie pentru coeficientul de reflexie k(m)

garanteaza ca radacinile lui A(z) vor fi in interiroul


cercului unitate
Rezulta ca sinteza fltrului H(z) va fi stabila si deci

metoda corelatiei determina stabilitatea filtrului cautat

Criterii de perfomanta in codarea vorbirii


Pentru evaluarea unui codor particular trebuie considerate

o serie de criterii, cel mai importante fiind:


calitatea vorbirii

Codoarele vorbirii urmaresc producerea unei distorsiuni audibile


minime la o rata data
Naturaletea si inteligibilitatea sunetului produs sunt criterii de
asemena importante
Calitatea vorbirii poate fi determinata prin teste de ascultare ce
calculeaza opinia media a unor ascultatori
Calitatea vorbirii poate fi apreciata si prin masuri cantitative cum
sunt castigul predictiei, distorsiunea spectrala

Criterii de perfomanta in codarea vorbirii


Rata de bit

Inseamna numarul de biti pe secunda ce trebuie transmisi de codor


Obiectivul algoritmului de codare este de a reduce rata de bit prin
mentinerea unei calitati inalte a vorbirii

Necesarul de memorie pentru implementare; toti algoritmii

de codare a vorbirii sunt executati in circuite integrate DSP


dedicate sau de uz general
Acestea au capacitate limitata de memorie RAM precum si o
viteaza finita
Rezulta ca algoritmii de codare-decodare nu trebuie sa fie prea
complecsi, deci sa nu depaseaca capacitatea circuitelor DSP

Criterii de perfomanta in codarea vorbirii


Adesea, algoritmii de codare prelucreaza impreuna grupuri

de esantioane
Daca numarul de esantioane este prea mare, se introduce o
intarziere intre vorbirea originala si cea codata
Aceasta nu este de dorit in transmisiile de timp real, dar poate fi
tolerata in cazul memorarii vorbirii sau a inregistraii acesteia

Banda de frecventa a semnalului vorbire ce trebuie codat

este o alta problema


In transmisiunile telefonice se utilizeaza o banda de 200-3400 Hz
Exista insa transmisii audio, cum sunt cele din teleconferinte sau
tele-invatare, ce necesita benzi de 7-20 KHz

Criterii de perfomanta in codarea vorbirii


Algoritmii de codare trebuie sa fie robusti la erorile ce pot

apare pe canal

Erorile 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

strazii
zgomotul masinii
al biroului, etc.

Algoritmii de codare trebuie sa mentina o buna calitate a vorbirii


in prezenta unor astfel de surse de zgomot

Aprecierea distorsiunilor
Inteligibilitate si Intelegere
Inteligibilitatea se refera uzual la abilitatea de a identifica

cuvinte izolate
Intelegerea se refera la intelegerea continutului unui
material

Aceasta este uzual testata prin intrebari despre materialul


inregistrat

Aprecierea distorsiunilor
Perceptia 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 umana

De 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 distorsiunilor


Testele subiective permit o evaluare comparativa a diverselor codoare
In astfel de teste, calitatea vorbirii este apreciata uzual prin inteligibilitate,

tipic definita ca procentul de cuvinte sau foneme care sunt corect percepute
Aspectele semnificative ale perceptiei vorbirii sunt

inteligibilitatea si

naturaletea
Pentru aprecierea acestor calitati se poate folosi masura Scorul opiniei mediii
(MOS = Mean Opinion Score)
Determinarea acesteia reclama un proces lent
Decizia este impartita in 5 domenii ca in tabelul de mai jos
Score

Calitatea vorbirii

Nivelul distorsiunii

Excelenta

Imperceptibila

Buna

Abia perceptibila dar nu deranjanta

Acceptabila

Perceptibila si slab deranjanta

Saraca

Deranjabila dar nu intolerabila

Nesatisfacatoare

Foarte deranjanta si intolerabila

Masuri de aprecire subiectiva a distorsiunilor


Opinia sau nivelul perceput al distoriunii este transformat in termeni

descriptivi:
excelent
foarte bun
bun
sarac
nesatisfacator

Aceste aprecieri se refera la tot ansamblul de distorsiuni, permit

comparea directa cu masurile obiective (cantitative), dar nu ajuta


imediat la intelegerea cauzelor distorsiunilor
Testele subiective necesita o multime numeroasa de ascultatori, ce
necesita o intsruire adecvata in ascultare si calibrare
Este nevoie si de un mediu special pentru testare

Masuri 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
N T 1

SNR[dB] 10 lg

n0
N T 1

s2( n )

s( intreg
n ) s( nfisierul
) 2
Este o masura globala, definita
pe
n0

Masuri de aprecire obiectiva a distorsiunilor


raportul 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
N s 1
N

1 F
SEGSNR[dB]
10 lg N s 1
N F i 10

n0

s 2 ( N si j )

s( N s i j ) s( N s i j ) 2

n0

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


global

Masuri de aprecire obiectiva a distorsiunilor


Castigul predictiei

N T 1

s2( n )

Pg [dB] 10 lg n 0

N T 1

r 2( n )

n0

unde NT este numarul de esantioane


Un 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 adevarata
Exemplu
Fisierul de intrare

Pg [dB]

Fisier 1, vorbitor feminin, 23808 esantioane

16.12

Fisier 2, vorbitor masculin, 30976 esantioane

17.35

Fisier 3, vorbitor masculin, 28416 esantioane

16.01

Masuri de aprecire obiectiva a distorsiunilor


eroarea energiei
N T 1

E err

n0
N T 1

n0

N T 1

e (n)

s (n)

s( n ) s( n ) 2 ( n )

n0

N T 1

s2( n )

n0

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 distorsiunilor


In domeniul frecventa:
distorsiunea spectrala se defineste ca diferenta patratica

medie dintre spectrul de putere original si spectrul de putere


obtinut prin cuantizarea coeficientilor LPC

Pentru cadrul i distorsiunea este


SDi

1
Fs

Fs

S ( f )

10 lg i
S ( f )
i

df

[dB]

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


originale si estimate

Masuri de aprecire obiectiva a distorsiunilor


Si(f) si sunt spectrele originale si estimate sunt definite prin

Si ( f )

S i ( f )

Ai ( e j 2 f / Fs )

1
( e j 2f / Fs )
A
i

Ai(z) si sunt LPC original si- respectiv- cuantizati


In locul integrarii se poate poate folosi sumarea (de fapt,

DFT) dupa relatia


SDi

n1 1

n1 n0 n n
0

j 2n 2
S (e
)
10 lg i
S i ( e j 2n )

[dB]

Masuri de aprecire obiectiva a distorsiunilor


Alta masura este distanta euclidiana ponderata

Se evalueaza in raport cu reprezentarea LSF, intrucat acestia au o


buna legatura cu forma spectrala, adica formantii, si cu vaile
Daca f si sunt doi vectori, original si codata LSF, atunci distanta
euclidiana este

d ( f, f ) f f

iar in cazul unei analize de ordinul p se obtine


p

d ( f, f ) ( f i f i )2
i 1

Masuri de aprecire obiectiva a distorsiunilor


Daca wi este ponderea asignata componentei spectrale i a

LSF (care are componente necorelate), atunci distanta


euclidiana ponderata este
p

d ( f, f ) wi ( f i f i )2
i 1

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.

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