20
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

Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 2: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 3: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 4: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 5: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 6: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 7: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 8: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 9: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 10: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 11: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 12: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 13: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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?

Page 14: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 15: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 16: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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%

Page 17: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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)

Page 18: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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

Page 19: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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.

Page 20: Osnovni principi kompresije audio signala Kompakcija ... 3-4...•Statističko kodovanje ... Kompresijom digitalnog signala smanjuje se broj bita potreban za predstavljanje signala

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.