Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 1
• Osnovni principi kompresije audio signala
• Kompakcija energije – spektralni domen
• Kvantizacija spektralnih koeficijenata
• Statističko kodovanje – Huffmann algoritam
• Primer aloritma za kompresiju audio signala – MP3
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 2
Primeri kompresije
Crno-bela slika dimenzija 512x512 pixela, 8 bita po pixelu
Potrebno 512 x 512 x 8 = 2097152 bita
Govor 10 sekundi, 8 kHz mono
Potrebno 10 x 8000 x 8 = 640000 bita
Rukopis
Potrebno 528 x 36 = 19008 bita
crno-bela fotografija devojke zagonetnog osmeha
Tekst 47 karaktera
Potrebno 47 x 8 = 376 bita
Lenna
Cilj – predstaviti pojavu iz realnog sveta u digitalnom svetu
Problem – broj bita potreban za „verno“ predstavljanje pojave
Primeri sa potrebnim brojem bita
Naziv pojave
Potrebno najmanje bita – primenjivost ograničena
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 3
Osnovni principi kompresije
Ukupan sadržaj signala
Kernel Redundansa Irelevansa
Model
relevantno
irelevantno
red
un
dan
tno
ner
edu
ndan
tno
mod
eli
dekorelacija
Originalni signal: s(t) Rekonstruisani signal: r(t)Komprimovani
digitalni signal
R
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 4
Kernel Redundansa Irelevansa
Kompresija bez gubitaka (lossless): r(t) = s(t)
Kernel Redundansa IrelevansaKernel
Kernel Redundansa Irelevansa
Kompresija sa gubicima (lossy): r(t) ~ s(t)
Kernel RedundansaKernel
]/[:
][log10
1:
1:
2
2
22
22
sbitRrate
dBSNR
srN
greška
sN
signal
e
s
N
nne
N
ns
SNR
R
Dobitak kompresije
GC - coding gain
Distortion – rate
theory
Obična
digitalizacijaMetoda
kompresije
Osnovni principi kompresije
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 5
Osnovni principi kompresije
Analiza (bez gubitaka)
• predikcija
• spektralna dekompozicija
• modeli
Kompresija Dekompresija
Originalni signal
Komprimovani signal
Kvantizacija (sa gubicima)
• skalarna (linearna ili nelinearna)
• vektorska
Kodovanje (bez gubitaka)
• statističko (Huffmann, aritmetičko)
• strukturno (run-length)
Parametri
Sinteza (bez gubitaka)
• predikcija
• spektralna dekompozicija
• modeli
Parametri
Dekodovanje (bez gubitaka)
• statističko (Huffmann, aritmetičko)
• strukturno (run-length)
Rekonstruisani signal
Osnovni principi kompresije
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 6
Proces analize ortogonalne filter banke sa preklapanjem za L=2 (50% preklapanje)
Proces sinteze ortogonalne filter banke sa preklapanjem za L=2 (50% preklapanje)
Kompakcija energije - TF sa preklapanjem
2MM IMDCT
2MM
+
2MM
+
MM
Okvir
k+2
Okvir
k+3
. . . . . .
IMDCT
IMDCT
M M M M
Okvir
k
Okvir
k+2
Okvir
k+3
2M MDCT M
2M MDCT M
2M MDCT M
Okvir
k+1
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 7
Kompakcija energije - TF sa preklapanjem
Ilustracija MDCT, “preklopi i saberi” (overlap-add procedure) i koncepta poništavanja aliasinga u vremenskom domenu (TDAC).
a) Umjetno kreiran signal u vremenskom domenu, isprekidanim linijama su označeni prozori sa 50% preklapanja
b) MDCT koeficijenti signala obuhvaćenog prozorom 1
c) IMDCT koeficijenti signala pod b), alias je obeležen markerima na grafiku
d) MDCT koeficijenti signala obuhvaćenog prozorom 2
e) IMDCT koeficijenti signala pod d), alias je obeležen markerima na grafiku
f) Rekonstruisani signal u vremenskom domenu nastao korišćenjem “preklopi i saberi” procedure.Originalni signal u preklopljenom delu (između tačaka B i C) je perfektno rekonstruisan
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 8
Sinusna i KBD prozorska funkcija Karakteristike sinusne i KBD prozorske funkcije
Kompakcija energije - Primeri prozorskih funkcija
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 9
Kompakcija energije - Primer
Primer: sinusni signal
• učestanost odabiranja 1
• dužina prozora 1024 odbirka
• spektralna rezolucija: 512 različitih učestanosti
• amplitudno kvantovanje: 16 bita
• broj mogućih faza: 1024
Ukupan sadržaj signala:
= 1024 x 16 = 16384 bita
Model
Odbirci u vremenu
IFFT
parametri
{ f, q, a }
Kernel: parametri
9 + 9 + 16 = 34 bita
Redundansa i Irelevansa:
16384 – 34 = 16350 bita
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 10
Kvantizacija spektralnih koeficijenata
Transformaciono kodovanje
• dekorelacija signala pomoću spektralne dekompozicije (banke filtera)
• kvantizacija i alokacija bita na transformacione koeficijente (podopsege)
HN-1 $N
H1 $N
H0 $N
x(nN+k)
y(nN+0)
hN
hN
hN
GN-1
G1
G0
+
y(nN+1)
y(nN+N-1)
r(nN+k)
Q0
Q1
QN-1
BN-1
B1
B0
1
0
N
n
nBBN
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 11
Generalni model
• uslov perfektne rekonstrukcije u analizi sintezi
• maksimalna dekorelacija u analizi
• optimalna alokacija bita kod kvantovanja
0
Analiza
dekorelacija
Sinteza
perfektna
rekonstrukcija
Qn
N-1
signal
s(k)rekonstrukcija
r(k)
podopseg n
snqn
1
0
222222 ,
)()(
1,...,0:
N
n
nnn
nn
ss
ksdkrsq
NnpodopsegaN
2
21
0
2,
2
2222, 2
:
q
N
n
nqq
Bnnnq
nnnn
SNR
c
sqbitaB
n
Signali u podopsezima Šum kvantizacije u podopsezima
1
0
1 N
n
nBN
B
Broj bita po ulaznom odbirku
Kvantizacija spektralnih koeficijenata
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 12
Optimizacija: Rasporediti raspoložive bite {Bn; n=0,...,N-1} na podopsege tako da je:
• ukupan broj bita konstantan
• da je ukupna snaga kvantizacionog šuma minimalna
• referenca je direktno kvantovanje ulaznih odbiraka (B bita):
1
0
1 N
n
nBN
B
1
0
22 2minN
n
Bn
nc
2
2
11
0
2
2
0
2
1
2
1
1,...,1,0
n
n
NN
n
n
NldGldBB
N
G
SNRGSNR
Nn
B
cSNR
20 2
1
SNR
[dB]
G [dB]
obična
digitalizacijametoda
kompresije
Bit / odbirak
G / 6
Kvantizacija sp. keof. - Kontrola raspodele bita
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 13
a) originalni signal
b) N=1024
c) N=256
Kvantizacija sp. keof. – Izobličenje pre-eho
• Inverzna transformacija ravnomerno širi kvantizacionu grešku
• Adaptivne TDAC filter banke – promenljiva dužina bloka
• Dugački blokovi za kratkotrajno stacionarne signale (npr. čembalo)
• Kratki blokovi za brzo promjenljive signale (npr. kastanjete)
• Izbor između dugačkih blokova (velika frekventna razlučivost) i kratkih blokova (velika vremenska razlučivost)
• Šta se dešava sa stepenom kompresije?
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 14
Kvantizacija sp. keof. – Poređenje transformacija
Blok transformacije• jednostavna realizacija
(brzi algoritmi)
• blocking effect je problem
Transformacije
sa preklapanjem• složenija obrada
(pre/post processing)
• nemaju blocking effect
• pre-eho je problem
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 15
Statističko kodovanje - Huffmann algoritam
Entropijsko kodovanje (Huffmann)
kompresija u statističkom smislu
promenjiva dužina reči koda
N
n
nn
n
ppeVerovatnoć
NnSSimboli
1
1:
,...,1:
Sortirati simbole po opadajućim verovatnoćama:
WLengthLwwpw
Nssl
lwlwW
nnsk
kkn
NN
k
11
11
),...,1(
,,......,,
Stopiti dva poslednja u listi
1111
1111
11
1
111
111
,
1,...,1
nL
nL
nL
nL
nL
nL
nnk
nk
nk
nk
nnn
nnn
lll
www
Lkll
ww
Sortirati simbole po opadajućim verovatnoćama:
Wn Ln = Ln-1 -1
Kodovanje:
• Dodeliti svakoj od dve pod-grupe 0 i 1
• postupak ponavljati do poslednjeg simbola
• Svaki simbol dobija po jednu reč promenjive dužine
• Dekodovanje: pomoću poznate raspodele bita (bit-tree)
Algoritam za kodovanje
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 16
Statističko kodovanje - Primer
Primer 2: Potrebno je kodovati Huffmann algoritmom sledeću sekvencu simbola:
AABABCABCDABCDEABAAA
Simbol Verovatnoća Kod
A 0.45 0
B 0.25 10
C 0.15 110
D 0.10 1110
E 0.05 1111D
C
0.45
0.25
0.10
0.15
0.05E
0.55
0.15
110
111
1110
1111
0.3
1
11
0
10
A
B1.0
Kodovana sekvenca – 0 0 10 0 10 110 0 10 110 1110 0 10 110 1110 1111 0 10 0 0 0 - 40 bita
Originalna sekvenca – 20 x 3 bita 60 bita.
Ušteda 20 bita – 33%
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 17
Huffman i run-length algoritmi
Run-length coding
pretpostavlja sekvence sa puno uzastopnih nula
koristi zajedničku statistiku vrednosti i dužine sekvenci sa nulama
Simboli: Nk SSs ,....,1
S1
SN
Sn
3
Novi simboli: 0,..,2,,1,,0,,..,0,1 Nnnnk SSSSSs
Huffmann & Run-length kodovanje u praksi
predznak (+,-) se prenosi sa jednim posebnim bitom
absolutne vrednosti amplitude zajedno sa sekvencama nula se statistički analiziraju
Simboli => (+/-, Sn, Zn)
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 18
Primer aloritma za kompresiju audio signala
• Primer 3 (demo): Upotreba kratkih i dugačkih blokova u MP3 algoritmu (pojava prednjeg
odjeka i povećanje stepena kompresije)
MP3 enkoder
• Filter banka 32 podopsega
• MDCT sa 18/6 podopsega
• Izbor prozorske funkcije i broj podopsega u zavisnosti od tipa signala
• Brzo promenljivi signali (tranizienti) – 32 x 6 = 192 podopsega
• Relativno stacionarni signali (skoro čisti tonovi) - 32 x 18 = 576 podopsega
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 19
Treba zapamtiti:
Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala. Ako se
inverznim postupkom (dekompresijom) dobija rekonstruisani signal identičan originalnom signalu
govorimo o kompresiji bez gubitaka (engl. lossless). Ako se rekonstruisani signal razlikuje od
originalnog signala govorimo o kompresiji sa gubicima (engl. lossy).
Osnovni koraci u kompresiji su:
• Analiza - kompakcija energije prelaskom u spektralni domen;
• Kvantizacija spektralnih koeficijenata;
• Kodovanje (Huffman coding, run-length coding).
Osnovni koraci u dekompresiji su:
• Dekodovanje;
• Sinteza
Kompresija audio signala zasniva se na kompakciji energije (spektralni domen) sa ciljem da se ukloni
redundansa između odbiraka audio signala i uklanjanju irelevanih delova imajući u vidu
nesavršenosti auditornog sistema čoveka.
Pri kompresiji audio signala za kompakciju energije koristi se ortogonalna transformacija sa
preklapanjem (uglavnom MDCT). Koristi se faktor preklapanje L=2 (50% preklapanje susednih
blokova odbiraka). Za svakih 2M ulaznih odbiraka generiše se M spektralnih koeficijenata. S obzirom
da postoji 50% preklapanje (svaki blok od 2M ulaznih odbiraka učestvuje u generisanju 2 bloka od M
spektralnih koeficijenata) ukupan broj generisanih spektralnih koeficijenata jednak je broju ulaznih
odbiraka (kao da je korištena ortogonalna transformacija bez preklapanja). Inverznom
transformacijom od M spektralnih koeficijenata generiše se 2M odbiraka sa aliasingom. Blokovi od
2M rekonstruisanih odbiraka kombinuju se procedurom preklopi-i-saberi (overlap-and-add) i
dobijaju se blokovi od M rekonstruisanih odbiraka bez aliasinga.
OASDSP2: Osnovi kompresije audio signala
Novi Sad, 2019 strana 20
Treba zapamtiti:
U praksi se transformacija sa preklapanjem (MDCT) računa korištenjem brzog algoritma svođenjem
na DCT-IV koja se može svesti na FFT.
Transformacija sa preklapanjem omogućuje perfektnu rekonstrukciju originalnog signala u odsustvu
kvantizacije. Ako su spektralni koeficijenti kvantizovani greška (šum) kvantizacije biće rasprostranjen
na svih 2M rekonstruisanih odbiraka. Ako je energija ulaznih odbiraka izrazito neravnomerno
raspoređena (nagla promena intenziteta zvuka – npr. tišina praćena udarcem kastanjeta) šum
kvantizacije spektralnih koeficijenata (ravnomerno raspoređen po bloku rekonstruisanih odbiraka) biće
primetan u tihom delu (tamo gde se u originalnom signalu nalazila tišina).
U slučaju da je tišina bila praćena naglom promenom intenziteta dolazi do pojave koja se naziva
prednji eho (eng. pre-echo). Eho se čuje prije pojave koja ga je izazvala. Prednji eho može se ublažiti
korišćenjem kraćih blokova ulaznih odbiraka (kraće transformacije), pa se kod brzo promenljivih audio
sekvenci koriste kraće transformacije a kod sporo promenljivih (stacionarnih) audio sekvenci koriste
duže transformacije. Korišćenjem kraćih transformacija (veća vremenska rezolucija) dolazi do
smanjenja frekventne rezolucije i smanjenja efikasnosti kompakcije energije, te smanjenja stepena
kompresije.
Kvantizacija spektralnih koeficijenata je ireverzibilna. Svaka kompresija audio signala u kojoj se koristi
kvantizacija spada u kompresije sa gubicima. Kvantizacijom se uklanjaju irelevantni delovi signala.
Kodovanje je reverziblna operacija (ne unosi gubitke kvaliteta signala). Kodovanjem se uklanjaju
redundantni delovi signala.
Dobitak kompresije predstavlja povećanje odnosa signal-šum pri istom broju bita utrošenih za
predstavljanje signala u odnosu na običnu digitalizaciju. Alternativno, dobitak kompresije možemo
predstaviti preko smanjenja broja bita utrošenih za predstavljanje signala u odnosu na običnu
digitalizaciju pri istom odnosu signal-šum.