Kodovanje govora
Kodovanje govora
Performanse kodera govora utiču kako na kvalitet
govora tako i na kapacitet sitema.
Cilj kod dizajniranja kodera govara je da se napravi
koder koji će imati što manji binarni protok i istovremeno
obezbediti što bolji kvalitet gvora na prijemnoj strani. U
isto vreme mora se voditi računa i o kompleksnosti i
kašnjenju. Generalno što je koder kompleksniji to je veće
kašnjenje i skuplja implementacija.
Koderi govora sa niskim binarnim protokom
omogućavaju da se poveća broj korisnika u sistemu sa
ograničenim dodeljenim opsegom frekvencija.
Klasifikacija tehnika kodovanja
signala govora
Slika 6.7.1
Tehnike kodovanja signala govora
Kodovanje talasnog oblika – ove tehnike
pokušavaju da reprodukuju vremenski oblik
govornog signala što vernije. Prednsot im je što
su robusnije kada su u pitanju različite
karakteristike govora i kada je u pitanju prenos u
prisustvu šuma. Takoñe su manje kompleksne.
Meñutim kada je u pitanju ekonomičan prenos
lošije su od tehnika kod kojih se koduju
parametri izvora.
Tehnike kodovanja govora
Kodovanje parametara izvora – ove tehnike su
generalno mnogo kompleksnije ali postižu manje
binarne protoke odnosno ekonomičnije su u
pogledu binarnog protoka.
Ove tehnike se baziraju na modeliranju izvora
filtrom koji za odgovarajući pobudni signal daje
na izlazu signal koji se koduje. Umesto da se do
predajnika prenose odbirci kod ovog pristupa
kodovanju prenose se parametri filtra i
odgovarajući pobudni signal.
Karakteristike signala govora
Raspodela amplituda signala govora – dobru
aproksimaciju predstavljaju Gamma raspodela i
Laplace-ova raspodela
3
p (s ) =
3
8πσ s s
−
e
2σ s
1
p (s ) =
e
2σ s
−
s
2s
σs
Karakteristike signala govora
Trenutne vrednosti signala govora se ne menjaju
nezavisno. Autokorelaciona funkicja predstavlja
meru sličnosti izmeñu vrednosti signala govora u
različitim vremenskim trenucima.
Karakteristike signala govora
Spektralna gustina srednje snage signala
govora.
Karakteristike signala govora
Signal govora je ograničenog spektra što zanči
da može da se diskretizuje u vremenu sa
konačnom brzinom uzimanja odbiraka i da može
da se rekonstruiše na prijemu iz ovih odbiraka.
U skladu sa teoremom odabiranja, kontinualan
signal ograničen učestanošću fm, može se
diskretizovati u vremenu, odnosno može se
predstaviti odbircima uzetim u odreñenim
trenucima ako je perioda odabiranja T≤1/(2 fm)
Kvantizacija
Pored vremenske diskretizacije za formiranje
digitalnog signala potrebno je izvršiti i diskretizaciju
po amplitudi.
Kvantizacija predstavlja preslikavanje kontunualne
funkcije u odgovarajuću diskretnu funkciju ili
preslikavanje velikog skupa diskretnih vrednosti
neke promenljive u manji skup vrednosti.
Skalarna kvantizacija: ulazne i izlazne veličine u
procesu kvantizacije su skalari
Vektorska kvantizacija: ulazne i izlazne veličine u
procesu kvantizacije su vektori
Skalarna kvantizacija
Kvantizer vrši preslikavanje realne skalarne
funkcije x u diskretnu funkciju y koja ima
konačan skup vrednosti {y0, y1,..., yL-1}
y
yL-1
nivoi
odlučivanja
x0
x1
x2
xL
x
y2
y1
y0
nivoi
rekonstrukcije
Kvantizacija
Za svaku vrednost ulazne veličine u intervalu
I = [x , x )
izlaz kvantizera je y = Q ( x ) = y i
Greška kvantizacije ei = x − yi
Obično se računa srednja kvadratna greška
koja se unosi postupkom kvantizacije
i
i
i +1
L −1 xi +1
MSEq = ∑ ∫ ( x − yi ) 2 p ( x)dx
i = 0 xi
Dizajn kvantizera podrazumeva odreñivanje
nivoa rekonstrukcije i nivoa odlučivanja.Obično
se kao kriterijum optimalnosti uzima
minimizacija srednje kvadratne greške
Uniformni kvantizer
Najjednostavniji ali i veoma bitan slučaj.
Intervali odlučivanja su podjednaki odnosno korak
kvantizacije je isti.
Nivoi rekonstrukcije su takoñe uniformno
rasporeñeni. Nivoi rekonstrukcije su aritmetička
sredina nivoa odlučivanja odgovarajućeg intervala
odlučivanja.
N-broj rekonstrukcionih nivoa ∆=(xmax-xmin)/N
Dva tipa uobičajenih uniformnih
kvantizera
Sa nulom i bez nule u rekonstrukcionim nivoima
y
y
yL-1
x0 x1 x2
yL-1
xL
y2
x0 x1 x2
x
y1
y0
Uobičajen kvantizer
za neparno N
“midtread”
xL
y2
x
y1
y0
Uobičajen kvantizer za
parno N
“midrise”
Primer 1
Na izlazu kvantizera indeks kvantizacionog nivoa
se dobija kao
 x x

q = round   =  + 0 . 5 
 ∆  ∆

Nivo rekonstrukcije je y = q ∆
y
2∆
∆
x=0.9∆, q= 1, y=∆
x=1.7∆, q=2, y=2∆
-1.5∆ -0.5∆
0.5∆ 1.5∆ 2.5∆
-∆
-2∆
x
Primer 2
Na izlazu kvantizera indeks kvantizacionog nivoa
se dobija kao q =  ∆x  a nivoi rekonstrukcije kao
∆
y = q∆ +
2
y
2.5∆
1.5∆
x=0.9∆, q=0,
y=0·∆+∆/2=∆/2
x=1.7∆, q=1,
y=1·∆+∆/2=3/2∆
0.5∆
-2∆
-∆
∆
-0.5∆
-1.5∆
-2.5∆
2∆
x
Greška kvantizacije uniformnog
kvantizera za uniformnu raspodelu
ulaznog signala
p( x) =
1
xmax − xmin
x
Uniformna raspodela ulaznog signala -x
Za unifrmni kvantizer sa N nivoa rekonstrukcije
2 xmax
korak kvantizacije iznosi ∆ = N
Greška kvantizacije je uniformno rasporedjena u
L −1 x
intervalu [-∆/2,∆/2]
MSEq = ∑ ∫ ( x − yi ) 2 p ( x)dx
max
i +1
0
-3.5∆ -2.5∆
-1.5∆ -0.5∆
-3∆
-∆
-4∆
-xmax
-2∆
0.5∆
0
1.5∆
∆
2∆
-3∆
3∆
e(x)
0.5∆
∆
-4∆
2.5∆
-2∆
-∆
-0.5∆
2∆
xi
3.5∆
4∆
xmax
3∆
4∆
max
Greška kvantizacije
Greška kvantizacije je uniformno rasporedjena u
intervalu [-∆/2,∆/2]
Srednja kvadratna greška kvantizacije iznosi
∆
2
2
1
∆
MSEq = ∫ e 2 de =
∆
12
∆
−
2
Odnos signal-šum u ovom slučaju je
2
max
1
x max
∆2 N 2
2
Ps = ∫ x p ( x ) dx =
x dx =
=
∫
2 x max − x max
3
12
∆2 N 2
n
n
SNR = 10 log10 122 = 20 log10 N
SNR
=
20
log
2
= 6.02n
N
=
2
∆
12
x
2
Primer
Signal na ulazu u kvantizer ima funkciju gustine
verovatnoće signala kao što je prikazano na slici. Neka se
koristi uniformni kvantizer sa četiri kvantizaciona nivoa.
Odreditit nivoe odlučivanja i nivoe rekonstrukcije.
Izračunati srednju kvadratnu grešku na izlazu ovog
kvantizera. Za koju raspdelu signala bi ovaj kvantizer bio
8
optimalan. p(x )
∆= =2
4
x0 = 0, x1 = 2, x2 = 4, x3 = 6, x4 = 8
1
4
x
 ,
p( x ) =  32
0,
0≤ x≤8
y0 = 1, y1 = 3, y2 = 5, y3 = 7
drugde
8
2
4
x
6
8
MSE = ∫ ( x − 1) p( x )dx + ∫ (x − 3) p( x )dx + ∫ (x − 5) p( x )dx + ∫ ( x − 7 ) p( x )dx = 0.333
2
[ ]
0
8
2
2
Ps = E x = ∫ x p ( x )dx = 32
2
2
0
2
4
Ps
= 19.82 dB
SQNR = 10 log10
MSE
2
6
Optimalni kvantizer (Lloyd-Max)
Najčešće se kao kriterijum optimizacije koristi
srednja kvadratna greška
{
} ∫
MSE = E ( x − xq ) 2 =
xmax
− xmax
N −1 xi +1
( x − xq ) 2 p( x)dx = ∑ ∫ ( x − yi ) 2 p( x) dx
i = 0 xi
Minimizacijom MSE dobija se da kod optimalnog
kvantizera nivoi odlučivanja leže na sredini
izmeñu rekonstrukcionih nivoa, a rekonstrukcioni
nivoi leže u centrima mase gustine xverovatnoće
izmeñu nivoa odlučivanja
∫ xp( x)dx
i +1
xi =
yi + yi −1
yi =
2
xi
xi +1
∫ p( x)dx
xi
Neuniformna kvantizacija
Kada ulazni signal nema uniformnu
raspodelu onda uniformni kvantizer nije
optimalan prema kriterijumu minimizacije
MSE
Primer ulazni signal ima Gausovu raspodelu
manji kvantizacioni korak za manje
p(x)
odnosno verovatnije amplitude
∆1 ∆2 ∆3
x
Neuniformni kvantizer sa
kompanderom
Umesto optimalnog u praksi češće koristi
kvantizer koji se sasoji od uniformnog
kvantizera i kompandera.
Karakteristike kompresije
Pri prenosu govora postupkom PCM u praksi se
koriste µ kompesija (USA, Japan...) i A
kompesija (Evropa)
Impulsna kodovana modulacija
(Pulse Code Modulation – PCM)
Posle odmeravanja i kvantizacije vrši se
kodovanje odnosno predstavljanje kvantovanih
trenutnih vrednosti signala brojevima koji
se predstavljaju
grupom impulsa.
Prediktivne tehnike za kompresiju
Koristeći vremensku korelaciju izmeñu odbiraka
moguće je predvideti vrednost odbirka na osnovu
vrednosti prethodnih odbiraka.
Umesto kodovanja signala direktno, u ovim
tehnikama se koduje razlika izmeñu signala i
predikcije signala.
Kada se signal razlike kvantizuje prediktivno
kodovanje se zove diferencijalna impulsno kodna
modulacija DPCM.
Specijalan slučaj DPCM kod koga se koristi
jednobitni kvantizer naziva se delta modulacija DM.
Diferencijalna impulsna kodna
modulacija (DPCM)
Kod PCM svaki odbirak se nezavisno koduje.
Meñutim kod većine signala (govor, slika) postoji
značajna korelacija izmeñu susednih odbiraka,
odnosno prosečna promena u amplitudi izmeñu
susednih odbiraka je mala. Jednostavno rešenje
je da se umesto odbiraka kvantizuju i koduju
razlike izmeñu odbiraka. Pošto su razlike manje
od samih odbiraka biće potrebno manje bita za
kodovanje signala razlike nego samih odbiraka.
Primer 1
Neka je odbirak signala
na slici označen sa zi
Najjednostavnija predikcija za
vrednost odbirka jeste vrednost
prethodnog odbirka zˆi = zi −1
zi
+
di
−
zˆ i = z i −1
d i = zi − zˆi = zi − zi −1 dˆi = Q(d i ) = d i + eq
dˆi
z i −1
zi
+
kašnjenje
z i = z i −1 + dˆi
i = 1,
d1 = z1 − z0 , dˆ1 = d1 + eq ,1
i = 2, z 2 = z 2 + eq ,1 + eq , 2
Q
dˆi
z1 = z0 + dˆ1 = z0 + d1 + eq ,1
Poblem: akumulacija greške kvantizacije
Primer 1
Da bi se prevazišla
akumulacija greške
kvantizacije koristi
se sledeća šema:
zi
zˆi = z i −1
dˆi
dˆi = Q(di ) = di + eq
d1 = z1 − z0 , dˆ1 = d1 + eq ,1
z1 = z0 + dˆ1 = z1 + d1 + eq ,1
-
Q
dˆi
+
prediktor
z i = z i −1 + dˆi , d i = zi − z i −1
i = 1,
+
di
+
zi
zi
+
prediktor
i = 2,
d 2 = z 2 − z1 , dˆ2 = d 2 + eq , 2
z 2 = z1 + dˆ2 = z 2 + eq , 2
Kvantizer je u okviru petlje povratne sprege
Generalni oblik DPCM sistema
Vrednost odbirka se predviña na osnovu n prethodnih
vrednosti
zˆ i = f ( z i −1 , z i − 2 ,..., z i − n )
Kod linearne predikcije
zˆ i =
n
∑a
j =1
j
z i− j
e p = zi − zˆi
Greška predikcije
2
2
MSE p = E e p = E ( zi − zˆi )
Srednja kvadratna vrednost greške predikcije
{ } {
}
Optimalna linearna predikcija
Kao kriterijum optimalnosti se uzima minimalna MSE
Optimizacija je složena zbog toga što se kvantizer nalazi
u okviru povratne petlje. Zato se nezavisno optimizuju
prediktor i kvantizer.
Prediktor se optimizuje kao da nema kvantizera a
kvantizer se projektuje za prema statističkim osobinama
2
p
 
greške predikcije.
 
MSE
{ }
p
MSE p = E z n − 2∑ ai E{z n z n −1} + ∑∑ ai a j E {z n −i z n − j }
p
p
p
2
pi =1
p
= E   z n − ∑ a n z n − i  
i =1
 
 
p i =1 j =1
MSE p = R(0) − 2∑ ai R (i ) + ∑∑ ai a j R (i − j )
i =1
i =1 j =1
Minimizacijom MSE predikcije u odnosu na koeficijente
prediktora dobija se
p
Rˆ (n ) = ∑ x x , n = 0,1,2,..., p
∑ a i R(i − j ) = R( j ), j = 1,2,..., p
N −n
1
N
i =1
i =1
i i+n
Adaptivna DPCM
Zbog nestacionarnog karaktera signala nije moguće
pronaći optimalno rešenje za projektovanje
prediktora i kvantizera.
Bolji rezultati se mogu dobiti adaptivnim tehnikama
kojima se prilagoñavaju parametri prediktora ili
kvantizera lokalnim statističkim karakteristikama
signala koja se komprimuje.
Delta modulacija
DM je specijalan slučaj DPCM kod koje se koristi linearni
prediktor prvog reda sa koeficijentom a1=1 i jednobitni
kvantizer.
zˆ i = z i −1
+ ∆, zi > z i −1
ˆ
di = 
− ∆, zi < z i −1
Greške kod delta modulacija (DM)
Dve pojave kraktaristične za DM su
granularni šum i preopterećenje usled
strmine.
Adaptivna DM
Korak kvantizacije se prilagoñava promenama ulaznog
signala.
Ako se signal brzo menja povećava se korak kvantizacije
i na taj način se smanjuje šum preopterećenja.
Kada se signal sporo menja smanjuje se korak
kvantizacije a time i granularni šum.
Frekvencijski zavisno kodovanje
Signal se deli na frekvencijske opsege pri čemu
se signal iz svakog podopsega nezavisno
koduje. Na ovaj način moguće je signal iz
različitih opsega kodovati sa različitom
preciznošću uzimajući u obzir perceptualne
kriterijumime. Prednost ovih tehnika je što se
broj bita koji se korsiti za različite podopsege
može dinamički menjati i deliti izmeñu različitih
opsega.
Primer – adaptivno podopsežno
kodovanje (Adaptive Subband Coding)
Signal se deli na odreñeni broj (4 ili 8 ) susednih
opsega korišćenjem banke filtara. Obično se
koristi filtri koj pokrivaju jednu oktavu (Npr. 0400, 400-800, 800-1600, 1600-3200 Hz). Nakon
filtriranja signal iz podopsega se transliraju
naniže, tako da je donja granična učestanost
približno 0 Hz. Sledeći korak je ADPCM.
Slika dukic
Linearno prediktivno kodovanje
Proces generesinja govora se može modelovati
filtrom promenljivih karakteristika koji je pobuñen
odgovarajućim pobudnim signalom. U slučaju
zvučnih glasova pobuda se moće modelovati
povorkom impulsa. Kod bezvučnih glasova
pobuda se dobro modeluje belim šumom.
Slika Dukic
Linearno prediktivno kodovanje
(LPC)
Signal govora se može smatrati stacionarnim u
intervalima trajanja 20-30ms, što znači da se parametri
filtra ne menjaju u ovom intervalu vremena. U koderu se
posmatraju ovi intervali vremena i procenjuju se
vrednosti parametra modela, (koeficijenti filtra, tip
pobude, pojačanje, pitch).
Koeficijenti filtra se odredjuju postupkom linearne
predikcije slično kao kod DPCM.
Parametri se kvantizuju i šalju ka prijemniku.
LPC
LPC je osnova za mnoge kompleksnije
vokodere:
Residual excited LPC (RELP)
Code excited LPC (CELP)
Vector sum excited LPC (VSELP)
Regular Pulse Excited – Long Term
Prediction (RPE - LTP)
Kriterijumi za izbor kodera govora
Binarni protok
Kvalitet govora
Kašnjenje
Kompleksnost
Kompatibilnost sa postojećim standardima
Otpornost na greške u prenosu
Koderi govora koji se koriste u
bežičnim telekomunikacijama
slika
Performanse kodera govora
slike
Performanse kodera govora
Download

5 MTK Kodovanje govora