Upload
mikisumi
View
580
Download
9
Embed Size (px)
Citation preview
Uvod u organizaciju računara
vežbe - čas 7: Predstavljanje zvuka
Uvod u organizaciju računara 2
Zvučni signali
Zvučni signal predstavlja promenu pritiska vazduha kroz vreme
Ilustracija ovoga je moguća npr. pomoću programa Sound Recorder
Uvod u organizaciju računara 3
Amplituda i frekvencija
Razliku izmedju maksimalne i minimalne vrednosti nazivamo amplitudom.
Što je amplituda zvučnog signala veća, zvuk je glasniji
Uvod u organizaciju računara 4
Frekvencija
Broj promena signala, npr. od svoje najveće vrednosti do najmanje i nazad u jednoj sekundi nazivamo frekvencijom zvuka. Frekvencija se meri u Hercima (1Hz= jednom u sekundi).
Što brže zvučni signal menja svoju vrednost to nam se zvuk čini piskaviji.
Uvod u organizaciju računara 5
Čujni raspon
U proseku, ljudsko uho može da čuje zvukove čija je frekvencija između 5Hz i 20 kHz medjutim precizni raspon je osobina svakog pojedinca. U principu, već frekvencije iznad 10kHz većina ljudi veoma loše čuje.
Jačina zvuka koju ljudsko uho može da registruje se kreće od skoro 0dB (prag šuma) do 120dB (prag bola)
Uvod u organizaciju računara 6
Digitalizacija zvuka
Prema Nyqist-ovoj teoremi, prilikom digitalizacije je dovoljno uzimati uzorke vrednosti zvučnog signala (semplirati) dva puta češće od njegove najveće frekvencije.
Za verno zapisivanje frekvencija do 20kHz potrebno je da frekvencija uzoraka bude 40kHz
Uvod u organizaciju računara 7
Uobičajene frekvencije uzoraka
Opšte prihvaćen CD audio standard se zasniva na učestalosti uzoraka od 44.1kHz.
DAT kasete, poznate muzičkim profesionalcima koriste učestalost od 48kHz
Većina zvukova u video igrama je sa uzorcima na 11 ili 22 kHz.
Uvod u organizaciju računara 8
Dubina zvuka (dinamički raspon)
Ranije se za digitalizaciju koristilo 8 bita (jedan bajt).
Danas je uobičajeno da se za zapis svakog uzorka koristi 16 bitova (dva bajta).
Ovo omogućuje zapisivanje 65536 nivoa jačine zvuka, što daje dinamički raspon od oko 96dB, što se smatra prilično zadovoljavajućim.
Uvod u organizaciju računara 9
Mono i stereo zvuci
Da bi se bolje dočarao prostorni raspored zvuka, koristi se stereo tehnika.
Uzimanje uzoraka u mono tehnici se vrši pomoću jednog mikrofona.
Za digitalizaciju stereo zvuka potrebno je najmanje 2 mikrofona (dva kanala).
Uvod u organizaciju računara 10
Nekomprimovani zapis zvuka
Nposrednim zapisivanjem niza brojeva dobijenih digitalizacijom zvuka dobijamo tzv. sirovi zapis (PCM – Pulse Code Modulation).
Za sirovi zapis jednog minuta zvuka u stereo tehnici, potrebno je:60sekundi * 44100 * 2 bajta * 2 kanala = 10,5 Mb
Uvod u organizaciju računara 11
RIFF formati
RIFF je grupa formata za zapis mnogih tipova podataka, pre svega multimedijalnih (zvuka i videa).
Najpoznatiji RIFF formati su WAVE, AVI, DIVX...
Uvod u organizaciju računara 12
Parčići (chunks)
Svi RIFF formati se sastoje od parčića (chunks). Svako parče ima svoj tip, koji se zapisuje pomoću 4 karaktera, za čim slede 4 bajta koji označavaju veličinu parčeta i zatim sam sadržaj.
Sama RIFF datoteka je sama za sebe jedno parče čiji sadržaj počinje oznakom tipa RIFF datoteke, a zatim sledi niz drugih parčića.
Uvod u organizaciju računara 13
Format RIFF datoteke
Adresa Sadržaj(hex) 0000 'R', 'I', 'F', 'F' 0004 Dužina datoteke – 32 bitni
neoznačeni broj 0008 tip datoteke (4 karaktera) 000C tip prvog parčeta (4 character) 0010 dužina prvog parčeta 0014 Sadržaj prvog parčeta ...
Uvod u organizaciju računara 14
WAVE format
WAVE spada u grupu RIFF formata i namenjen je isključivo za zapis zvuka.
Zapis u WAVE formatu se sastoji od parčeta (chunk) sa oznakom “fmt” i parčeta sa oznakom “data”
WAVE format omogućava i nekoliko tipova kompresije, mada se najčešće koristi za zapis nekomprimovanog zvuka, tj. parče “data” sadrži PCM zapis.
Uvod u organizaciju računara 15
Kanonski izgled WAV datoteke
Offset Sadržaj0 ‘R’ ‘I’ ‘F’ ‘F’4 veličina datoteke8 ‘W’ ‘A’ ‘V’ ‘E’
Uvod u organizaciju računara 16
Kanonski izgled WAV datoteke
12 ‘f’ ‘m’ ‘t’ ‘ ’
16 00 00 00 10
20 tip kompresije (1 PCM)
22 broj kanala (1 mono, 2 stereo)
24 Sample rate (najčešće 44100)
28 Broj bajtova u sekundi = Sample rate * Poravnanje
32 Poravnanje = broj kanala * bajtova po uzorku
34 Broj bitova po uzorku (8 ili 16)
36 ‘d’ ‘a’ ‘t’ ‘a’
40 dužina data bloka
44 Zapis uzoraka
Uvod u organizaciju računara 17
Kanonski zapis WAV datoteke
Ukoliko se radi radi o 8 bitnim uzorcima vrednosti se zapisuju kao neoznačeni brojeve, dok se 16 bitni uzorci zapisuju u poptpunom komplementu.
Stereo (i drugi višekanalni zapisi) se zapisuju isprepletano (po uzorak za svaki kanal)
Uvod u organizaciju računara 18
Kompresija
Jedan od problema sa WAV zapisom je, naravno, to što zauzima previše memorijskog prostora.
Zbog toga se zvučni zapis obično komprimuje na neki način.
Uvod u organizaciju računara 19
Pristup problemu komprimovanja
Pošto je zvuk signal koji se veoma nepredvidivo menja, većina algoritama kompresije koji se zasnivaju na ponavljanjima podataka (kao npr. algoritmi korišćeni u ARJ, ZIP) pokazuju loše rezultate.
Zbog toga se pristupa primeni tzv. psihoakustičkih algoritama koji uglavnom spadaju u grupu Loosy algoritama.
Uvod u organizaciju računara 20
Maskiranje
U toku dana ne vidimo zvezde. Razlog tome je to što je svetlost zvezda maskirana jakom svetlošću sunca.
Većina algoritama za kompresiju zvuka se zasnivaju na sličnim osobinama ljudskog čula sluha.
Uvod u organizaciju računara 21
Maskiranje tihih zvukova
Na primer, tih zvuk u blizini (u vremenu) mnogo glasnijeg se ne percipira, pa se na njegovo kodiranje ne isplati trošiti bajtove.
Slično, ako u bliskom trenutku postoje zvuci bliske frekvencije, jači zvuk može da maskira drugi.
Koji su zvuci dovoljno tihi? Ovaj podatak se najčešće dobija eksperimentima i to sa živim ljudima koji slušaju zvuke i daju svoj sud.
Uvod u organizaciju računara 22
Lokalnost maskiranja
Na primer: – Ukoliko imamo zvuk frekvencije 1000Hz i u
njegovoj blizini zvuk od 1100Hz, ali 18 dB tiši, čovek prosečnog sluha neće čuti drugi zvuk.
– Ako bi drugi zvuk bio frekvencije 2000Hz i iste glasnoće, on bi se čuo, zbog toga što je frekvencijski prilično udaljen od prvog. Pokazuje se da bi ovaj ton morao biti 45dB slabiji da bi bio nečujan.
Zaključujemo da je maskiranje značajnije u slučaju bliskih frekvencija.
Uvod u organizaciju računara 23
Maskiranje jakih zvukova
Posledica maskiranja je da je dopušteno podizanje nivoa šuma u blizini jakih zvukova.
Zaključujemo da zbog većeg nivoa dopuštenog šuma nije potrebna visoka preciznost zapisa, pa se može upotrebljavati manje bitova za zapis.
Uvod u organizaciju računara 24
Pre i post maskiranje
Ljudsko čulo sluha ima ograničenje da ne registruje dobro vremenski bliske zvukove:– ne registruje tihi ton koji se javi do 5
milisekundi pre glasnog (premaskiranje).– ne registruje tihi ton koji se javi do 100
milisekundi posle završetka glasnog (postmaskiranje)
– tačna vremena zavise od razlike intenziteta.
Uvod u organizaciju računara 25
MPEG formati
MPEG – Moving pictures experts group
Ekspertska organizacija koja je pod pokroviteljstvom ISO napravila nekoliko standardnih formata za zapisivanje zvuka, filma i drugih multimedijalnih sadržaja
Uvod u organizaciju računara 26
Najpoznatiji MPEG standardni
MPEG 1 – standard na kome su zasnovani formati kao su VideoCD i MP3
MPEG 2 – standard na kome se zasnivaju digitalna televizija i DVD format
MPEG 4 – standard multimedije za fiksni i mobilni web
MPEG 7 – standard za opisivanje i pretragu audio i vizuelnog sadržaja
Uvod u organizaciju računara 27
Audio Layer-i
Layeri unutar MPEG standarda čine oznake podstandarda koji se odnose samo na zapisivanje audio signala
Jedan od najpoznatijih MPEG-ovih audio layera je audio MPEG layer 3, ili pod drugim, čuvenijim imenom MP3.
Dok je MP3 najčuveniji, MP1 je skoro zaboravljen, dok je MP2 imao neki uticaj dok nije potisnut layerom MP3.
Uvod u organizaciju računara 28
Audio Layer-i (2)
Audio layeri su međusobno kompatibilni naniže, što znači da programi koji mogu da tumače MP3 mogu da tumače i novije layere.
Uvod u organizaciju računara 29
Kratko o algoritmu
Audio MPEG deli celokupni zvučni frekventni opseg na 32 podpojasa (subbands).
Ovi pojasi su kod layera 1 i 2 bili po 625Hz, dok se kod layera 3 uvode pojasevi različite širine. – Naime, uho jasno razlikuje 1kHz od
3kHz, dok veoma teško razlikuje 15kHz od 18kHz (ako se uopšte nešto čuje).
Uvod u organizaciju računara 30
Kratko o algoritmu (2)
Ako npr. imamo ton od 1kHz jačine 60dB, on spada u 8. pojas: – Koder izračunava da je maskirajući
efekat ovog tona 35dB, što daje odnos signal/šum od 25 dB, što znači da je za zapis ovog zvuka dovoljno 4 bita.
– Dodatno, ovaj maskirajući efekat se proteže od pojasa 5 do 13, naravno sa umanjenim uticajem.
Uvod u organizaciju računara 31
Kratko o algoritmu (3)
Poslednji korak algoritma je primena Huffmanovog kodiranja na rezultat dobijen primenom maskiranja.
Sve ovo čini proces MP3 kodiranja prilično računski zahtevnim. Proces dekodiranja je nešto jednostavniji, ali je i on svakako komplikovan.
Uvod u organizaciju računara 32
Statičko Huffman-ovo kodiranje
Osnovna ideja je da se karakteri koji se češće javljaju kodiraju kraćim sekvencama, dok je kod karaktera koji se ređe pojavljuju dozvoljeno koristiti i duže kodove.
Na početku je potrebno izgraditi sortiranu tabelu frekvencija pojavljivanja svih znakova koje želimo da kodiramo. Neka su to npr. karakteri
Uvod u organizaciju računara 33
Izgradjna Huffmanovog drveta
Pronadju se dva karaktera koja se najređe pojavljuju i ona se zamene novim “karakterom” čija je frekvencija zbir frekvencija polazna dva karaktera.
Novouvedeni “karakter” predstavlja čvor drveta iz koga izniču polazni karakteri. Postupak se ponavlja sve dok se ne izgradi kompletno drvo.
Uvod u organizaciju računara 34
Odredjivanje kodova
Sve grane drveta koje vode “na levo” se označe nulom, dok se sve grane koje vode “na desno” označe jedinicom. Kôd svakog karaktera se odredjuje prikupljanjem oznaka grana putanje koja vodi do njega.
Uvod u organizaciju računara 35
Huffmanovo drvo - primer
Kodovi su:A 0 B 100 C 1010D 1011 E 110 F 111
A(13)
B(6)
C(3) D(2)
E(4) F(4)
8
5
11
19
32
Uvod u organizaciju računara 36
Format MP3 datoteke
Svaka MP3 datoteka se sastoji od više delova koji se nazivaju okviri (frames)
Svaki okvir se sastoji od 32 bitnog zaglavlja (header) i sadržaja.
Jedan okvir služi za zapis 1152 uzorka kod Layer-a 2 i 3
Uvod u organizaciju računara 37
Zaglavlje MP3 okvira
Zaglavlje se sastoji od 32bita:AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM
A - 11 bitova za sinhronizaciju – svi moraju imati vrednost 1
B – oznaka verzije MPEG standarda– 00 – MPEG 2.5– 01 – rezervisano– 10 – MPEG 2– 11 – MPEG 1
Uvod u organizaciju računara 38
Zaglavlje MP3 okvira (2)
C – Oznaka layer-a– 00-rezervisano– 01 – Layer 3– 10 – Layer 2– 11 – Layer 1
D – Oznaka kontrole– 0 – CRC– 1 – kontrola isključena
Uvod u organizaciju računara 39
Zaglavlje MP3 okvira (3)
E – bit rate. Izražava se u kbps. Svakom layer-u odgovaraju različite kombinacije. – Npr. za MPEG 1 layer 3, 1001 znači 128kbps.
F - Sampling rate. Npr. Za MPEG1 standard, i sve layere – 00 označava 44100 Hz– 01 – 48000 Hz– 10 – 32000 Hz
G – Padding – dodatni bit koji kaže da li postoje dodatni bitovi za poravnavanje
Uvod u organizaciju računara 40
Zaglavlje MP3 okvira (4)
H – Rezervisani bitI – Broj kanala
– 00, 01, 10 Stereo, – 11 Mono
J – dodatna oznaka načina zapisa (samo kod stereo sistema)
Uvod u organizaciju računara 41
Zaglavlje MP3 okvira (5)
K – Copyright– 0 nema– 1 ima
L – originalnost zapisa– 0 kopija originala– 1 original
M – Oznaka pojačanja
Uvod u organizaciju računara 42
Izračunavanje dužine okvira
Iako u zaglavlju svakog okvira nije eksplicitno zapisana njegova dužina, ona se može rekonstruisati na osnovu ostalih podataka i to kod Layera 3 po formuli:Dužina = 144 * bitrate / samplerate + padding
Uvod u organizaciju računara 43
ID3 v2
MP3 format se može proširiti dodatnim informacijama o muzici, izvođaču, tekstu pesme i slično.
Standard koji ovo opisuje se zove ID3 i trenutno nosi oznaku verzije 2.4.0. – Pošto se ovaj standard pojavio posle
standardizacije MP3, ovakve dodatne oznake su se pisale na kraju MP3 datoteke.
– Tek od verzije 2, su oznake premeštene na početak.
Uvod u organizaciju računara 44
ID3 v2, primer