Sunteți pe pagina 1din 64

COMPRESIA AUDIO.

Semnalul necomprimat:
- Frecvena maxim perceput de urechea uman este de aprox. 20kHz;
- frecvena de eantionare este de minim 40 kHz;
- cuantizare cu 16 biti/eantion;
- pentru un semnal stereo calitate CD (eantionat cu 44,1 kHz) rezult o rat de transmisiune
pentru semnalul necomprimat de 1.4 Mbps.
Metodele de compresie fr pierderi (Huffman, LZW, etc.) n general nu funcioneaz bine
pentru compresia audio.
Metode de compresie cu pierderi:
Silence Compression
- detecteaz zonele de linite, asemntoare cu codarea run-length;
Adaptive Differential Pulse Code Modulation (ADPCM)
- n CCITT G.721 -- 16 sau 32 kbii/sec.
- codeaz diferena ntre dou eantioane consecutive;
- adapteaz pasul de cuantizare aa nct s se micoreze variana (puterea) zgomotului de
cuantizare.
- se obine o compresie de aproximativ 4:1.
1

Linear Predictive Coding (LPC)


- se transmit, conform modelului vorbirii, parametrii de model ai corzilor vocale, laringelui,
cavitii bucale.
- sun ca i vorbirea sintetizat pe calculator.
- rat de 2.4kbiti/sec.
Code Excited Linear Predictor (CELP)
- efectueaz LPC, dar transmite i termenul de eroare
- calitate de audio-conferin la o rat de 4,8 kbii/sec.
Codarea audio poate fi fcut n:
TIMP
- complexitate redus;
- necesit mai mult de 10 bii/eantion pentru pstrarea calitii;
FRECVEN
- se poate obine o calitate nalt cu numai 3 bii/eantion;
- se utilizeaz codarea n subbenzi i prin transformri;
Pentru obinerea unor rate de compresie mari toate metodele de codare se bazeaz pe percepia
audio uman (PSIHOACUSTIC).

Auzul si vocea uman

Domeniul audibil este ntre 20 Hz i 20 kHz, cel mai sensibil la frecvene de la 2 la 4 kHz.
Dinamica auzului (ncet la tare) e de aproximativ 96 dB.
Vocea are domeniul normal de frecven ntre 500 Hz i 2 kHz
Fonemele sonore (m, v, l) au frecvene joase.
Fonemele insonore (f, s) au frecvene nalte.

Ct de sensibila este urechea umana?


Experiment: O persoan ascult un semnal de 1 kHz ntr-o camer linitit. Se reduce nivelul
semnalului pn cnd acesta nu se mai aude. La fel se reprezint pentru toat gama de frecvene
audio i rezult curba de mascare n linite:

Mascarea n frecven
Experiment: Se asculta un ton de 1 kHz (ton de mascare) la un nivel fixat (60 dB).
Se asculta un ton de test cu nivel variabil pn cnd acesta ncepe s se aud.
Se variaz frecvena semnalului de test n jurul lui 1 kHz.

Se repet experimentul pentru mai multe frecvene ale tonului de mascare obinndu-se curbele
pragului de mascare n frecven.

Benzi critice
Msur uniform de percepie a frecvenei neproporional cu limea curbei de mascare.
Aproximativ 100 Hz pentru frecvene de mascare <500 Hz, crete din ce n ce mai mult peste 500
Hz.
Limea benzii se numete mrimea benzii critice.
Bark
O alt unitate de msur pentru frecven (dup Barkhausen).
1 Bark = limea unei benzi critice.
Pentru frecvene < 500 Hz, f/100
0
3
.
Pentru frecvene > 500 Hz, 9+4 log2(f/1000)

Benzi critice [kHz]


6
9

12

15

10 12 14 16 18 20 22 24
Uniti Bark

Pragurile de mascare reprezentate n funcie de banda critic:

Mascare temporal
Dac ascultm un sunet puternic, apoi acesta se oprete, trebuie s treac un timp scurt pentru ca s
putem auzi un sunet slab n apropiere.
Experiment: Se ascult un ton de mascare de 1 kHz, 60 dB i un ton de test de 1.1kHz, 40 dB.
Tonul de test nu se poate auzi (e mascat).
Se oprete tonul de mascare, apoi, dup o scurt ntrziere, se oprete tonul de test.
Se ajusteaz ntrzierea la durata minim la care tonul de test mai poate fi auzit (aprox. 5 ms).
Se repet cu niveluri diferite ale tonului de test.
7

Se ncearc alte frecvene pentru tonul de test (durata tonului de mascare rmne constant).
Efectul total al mascrii:

Concluzii:
Dac avem un ton puternic (de exemplu 1 kHz), atunci tonurile mai slabe, apropiate n frecven i
timp, sunt mascate.
Comparaiile se fac pe scala benzilor critice (dimensiunea mascrii e aproximativ o band critic).
Exist doi factori de mascare: mascare n frecven i mascare temporal.
Cum se poate folosi mascarea n compresia audio?
Un semnal mascat de altul mai puternic este comparabil cu zgomotul de cuantizare.
Funcia de mascare ofer distorsiunea maxim acceptabil pentru fiecare band critic.
Codorul determin mascarea din fiecare banda cauzat de semnalele din benzile apropiate.
Dac puterea n band este sub pragul de mascare aceasta nu se codeaz.
Altfel, se determin numrul de bii necesari pentru cuantizarea fiecrui coeficient astfel nct
zgomotul introdus de cuantizare este sub pragul de mascare. (1 bit de cuantizare introduce 6 dB
zgomot).

Filtre de analiz

Filtre de sintez

Benzile de frecven percepute de ureche nu sunt uniforme ci logaritmice.


Bancul de filtre de analiz ar trebui s aproximeze benzile critice.
Minimizarea ratei de bii n limitele date de mascare conduce la o compresie audio optim.
Se poate folosi pentru analiza n subbenzi transformata cosinus dac E(z) este matricea DCT i
R(z) este matricea IDCT.

10

Codarea MPEG-1 audio

Standardul ISO/IEC 11172-3 elaborat ntre 1988 i 1991.


Este primul standard de compresie audio de nalt calitate.
Codeaz semnale audio cu frecvenele de eantionare de 32, 44.1 i 48kHz.
Rata de bit comprimat pentru un semnal de calitate CD-audio stereo este ntre 64kbii/s i
256kbii/s fa de 1.4Mbii/s necomprimat.
Schema bloc a codorului:

11

Codorul analizeaz componentele spectrale ale semnalului audio cu ajutorul bancului de filtre sau a
transformrii MDCT (layer 3).
Aplica un model psihoacustic pentru a estima nivelul minim de zgomot.
Se furnizeaz SMR (Signal-to-Mask Ratio) pentru alocarea biilor sau a zgomotului.
Se formeaz fluxul de bii dup cum urmeaz:

Header

CRC

32 bii

16 bii

Audio
Data

Anciliary
Data

Header-ul
- Syncword (12 bii)
- Layer code (2 bii) reprezentnd layerele I, II si III
- Bit-rate index (4 bii) indexul debitului utilizat (difer pentru fiecare layer n parte)
- Frecvena de eantionare (2 bii) poate fi 48, 44.1 i 32kHz
- Padding bit
- Mod (2 bii) stereo, joint stereo, unu sau dou canale

12

Schema bloc a decodorului

Standardul MPEG audio include 3 layere diferite corespunztor diverselor aplicaii, cu creterea
complexitii codorului dar i a performanelor (calitatea sunetului raportat la rata de bit).
Layerele sunt compatibile n sensul ierarhic (layerul N poate decoda fluxul de date codate n
layerul N i n toate layerele inferioare).
Toate layerele au aceeai structur de baz.

13

Layer 1
- de la 32 kbps pna la 448 kbps
- rata de compresie 1:4
Layer 2
- de la 32 kbps pna la 384 kbps
- rata de compresie 1:6..8
Layer 3
- de la 32 kbps pna la 320 kbps
- rata de compresie 1:10..12
Layer I - algoritmul de baz pentru codarea audio
- Bancul de filtre mparte semnalul audio n 32 de subbenzi de frecven cu lime egal. Acestea
nu corespund cu benzile critice.
- Codorul calculeaz pragul de mascare folosind benzile critice.
- Eroarea care apare la reconstrucie nu este mare.
- Cadrul este format din 12 eantioane/subband.
- Conine un model psihoacustic pentru determinarea adaptiv a alocrii biilor i pentru
cuantizare.
- Domeniile de aplicaie includ nregistrarea digital pe band sau disc.

14

Layer II - algoritm mbuntit fa de layer I


- mbuntirea const ntr-o codare suplimentar a alocrii biilor, a factorilor de scalare i o
structur diferit a cadrului.
- Codorul formeaz 3 blocuri cu 12 eantioane/bloc i 32 de subbenzi (1152 eantioane).
- Se transmite un tip de alocare a biilor i maxim 3 factori de scalare pentru 3 blocuri (cte un
factor de scalare pentru fiecare bloc).
- Aplicaii n studiourile profesionale (radiodifuziune, nregistrri), telecomunicaii, multimedia
etc.
Layer III - cea mai bun compresie
- Crete complexitatea codorului/decodorului.
- Conine un banc de filtre hibrid (filtre plus MDCT- modified discrete cosine transform).
- Se obine o rezoluie mai bun n frecven prin utilizarea MDCT.
- Dou lungimi ale blocului MDCT: 36 eantioane i 12 eantioane.
- Aplicaii n telecomunicaii pe canale de banda ngust ISDN, mp3 i alte aplicaii cu debit
foarte redus.
Algoritmi propui:
ASPEC (Audio Spectral Perceptual Entropy Coding): codare cu transformate cu suprapunerea
blocurilor;
ATAC (Adaptive Transform Aliasing Cancellation): codare cu transformate fara suprapunerea
blocurilor;
15

SB/DPCM (Subband Coding and DPCM): codare pe subbenzi cu mai putin de 8 subbenzi;
MUSICAM (Masking-pattern Universal Subband Integrated Coding and Multiplexing): codare pe
subbenzi cu mai mult de 8 subbenzi;

16

Eantioane
intrare

Separare
n
frecven

Cuantizare i
codare
Scalare
Cuantizare i
codare

Multiplexare

Fluxul
binar
codat

Factori de scalare
Alocarea biilor
Calculul pragului de mascare i al alocrii biilor

Eantioanele audio sunt mapate n frecven printr-o transformare sau cu un banc de filtre.
Coeficienii audio din domeniul de frecven sunt normai cu un factor de scalare detreminat din
pragul de mascare al rspunsului psihoacustic.
Codorul MUSICAM
Reducerea
redundanei

FFT

Prag de
mascare

Reducerea
redundanei
Alocare
dinamic
a biilor
17

Codare

Factori
scalare

Multiplexare

Banc
de filtre

Filtrele polifazice au complexitate de calcul redus iar faza liniar permite reconstrucia perfect.
Un semnal eantionat cu 48kHz este mprit n 32 de subbenzi, fiecare band avnd limea de
0.75kHz.
Semnalele de subband sunt mprite n cadre digitale de 12 eantioane succesive (8 ms).
Intervalul de eantionare n fiecare subband este de 2/3 ms.
Pragul de mascare se calculeaz dintr-un estimat pe termen scurt al densitii spectrale de putere
prin medierea transformatei FFT.
Calculul se repet la fiecare 24 ms.
Limea constant a subbenzilor nu coincide cu benzile critice.
Dup calculul puterii zgomotului de mascare, biii se aloca cuantizoarelor minimizndu-se NMR.
Factorii de scalare pot fi calculai folosind cuantizarea adaptiv aa nct eantioanele s fie ntre [1,1].
Factorii de scalare au redundan mare i pot fi codai, urmnd a fi transmii mpreun cu
informaia de alocare a biilor n fluxul de date.
Codorul ASPEC
Ferestruire
MDCT

Cuantizare
Codare entropie
Prag de
mascare

18

Multiplexare

Pentru separarea n frecven se utilizeaz MDCT.


Eantioanele sunt ferestruite pentru limitarea alierii n domeniul timp.
MDCT mpreun cu subeantionarea creeaz dintr-un bloc de 2N eantioane, N coeficieni n
frecven.
Calculul pragului de cuantizare:
Este calculat energia semnalului n domeniul frecven (amplitudine i faz);
Se calculeaz energia n fiecare band critic. Aceast energie d pragul nemprtiat.
mpratierea e calculat cu o funcie de mprtiere.
n final se calculeaz entropia perceptual utilizat pentru estimarea numrului de bii necesari
pentru blocul curent.
Datele cuantizate sunt codate cu cod Huffman.
Factorii de scalare i alocarea biilor sunt multiplexati n fluxul de date.
MPEG Layer I

Filtrarea n subbenzi;
Modelare psihoacustic;
Scalare i alocarea biilor;
Cuantizare i codare
Formarea fluxului de date
19

Cadru

Header

CRC

32 bii

16 bii

Audio
Data

Anciliary
Data

Format Layer I
Alocare
de bii
4 bii

Factor Eantioane
de scal
2 - 15 bii
6 bii

Filtrarea n subbenzi
Se folosete un banc de filtre pentru a transforma semnalul audio din domeniul timp n frecven.
Filtrele mpart semnalul iniial n 32 de benzi de frecven echidistante cu frecven de eantionare
FS/32.

20

subbanda

32

512 eantioane
12 eantioane

32 eantioane
32*12=384 eantioane

subbanda

subbanda

Pentru fiecare subband se calculeaz maximul (n modul) pentru fiecare set de 12 eantioane.
Factorul de scalare se alege dintr-un tabel i este valoarea imediat superioar maximului gsit.
Se codeaz indexul factorului de scalare din tabel, pe 6 bii pentru fiecare subband.
Acesta se transmite doar dac a fost alocat benzii un numr nenul de bii.

21

maxim
subbanda

codare
pe 6 bii

factor
de scal

maxim

codare
pe 6 bii

factor
de scal

maxim

codare
pe 6 bii

factor
de scal

32

12 eantioane

subbanda
subbanda

2
1

Modelare psihoacustic
Layer I suporta att modelul psihoacustic I ct i modelul psihoacustic II.
Totusi, modelul psihoacustic I este suficient pentru Layer I, care implic un FFT de 512 elemente.
SMR (signal-to-mask ratio) se determina din modelul psihoacustic folosit.

Modelul psihoacustic I

22

Calculul FFT n paralel cu filtrarea n subbenzi compenseaz lipsa de selectivitate a filtrelor n


zona de joas frecven. FFT este de 512 eantioane pentru layer I i de 1024 eantioane pentru
layer II.
Se cunoate pragul de mascare n linite.
Se extrag din spectrul de putere FFT componentele tonale i netonale deoarece ele influeneaz
pragul de mascare n benzile critice.
Componentele tonale sunt cele care respecta relaiile:
powerx (i j ) < powerx (i ) 7 powerx (i + j )
j {2,3,6}
powerx (i 1) < powerx (i ) powerx (i + 1)

Se elimina componentele vecine componentelor tonale.


Se elimina componentele tonale i netonale care sunt sub pragul de mascare n linite.
Daca mai multe componente tonale sunt la distan mai mic de 0.5 Bark se pstreaz maximul lor.
Calculul pragului global de mascare (n dB):
LTq ( i ) 10 m LTtm ( j ,i ) 10 n LTnm ( j ,i ) 10
LTG (i ) = 10 log10 10
+ 10
+ 10

j =1
j =1

unde LTq este pragul n linite, iar LTtm i LTnm sunt pragurile de mascare datorate componentelor
tonale i netonale.
Pragul global de mascare minim din subbanda n se utilizeaz pentru determinarea raportului
semnal-mascare (SMR):
SMRsb ( n) = Lsb ( n) LTmin (n) dB
unde Lsb(n) este nivelul semnalului n subbanda n.
23

Se calculeaz SMR pentru fiecare subband.


Modelul psihoacustic II
Dimensiunea FFT i a ferestrei Hann poate fi variat. Layer III calculeaz modelul de dou ori n
paralel cu FFT de 192 i de 576 esantioane (bloc scurt / lung).
Se consider o funcie de mprtiere ntre benzile critice vecine bazat pe mascarea temporal
(sunetele se sting n timp iar curba de mascare este influenat de sunetele precedente).
Pragul audibil final se calculeaz prin convoluia energiei mprtiate i a energiei pariale iniiale.
SMR e calculat ca raport ntre energia parial epart i nivelul zgomotului npart:
SMRn = 10log10 ( epartn npartn )
Alocarea biilor
Conceptul de baz n alocarea biilor este minimizarea MNR din cadru cu constrngerea ca
numrul total de bii utilizai s nu depeasc numrul de bii disponibili n cadru Bf. Bf se
calculeaz cu formula:
Bf =

Bit rate
384 biti / cadru
fs

Procedura de alocare de bii e iterativ i pornete din starea zero bit allocation.
Inti se calculeaz mask-to-noise ratio MNR care se obine cu formula:
24

MNR = SNR - SMR (dB)


unde :

SNR se gsete n tabelul urmtor


SMR este furnizat de modelul psihoacustic.

Bii

Codul

0
2
3
4
5
6
7
8
9
10
11

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010

Numr de
niveluri
0
3
7
15
31
63
127
255
511
1023
2047
25

SNR
(dB)
0.00
7.00
16.00
25.28
31.59
37.75
43.84
49.89
55.93
61.96
67.98

12
13
14
15
invalid

1011
1100
1101
1110
1111

4095
8191
16383
32767
-

74.01
80.03
86.05
92.01
-

MNR arat diferena dintre eroarea de cuantizare i msurarea perceptual.


Eantioanele audio pot fi comprimate de MNR ori.
De aceea minimul MNR din fiecare subband e determinat la fiecare iteraie.
Procedura iterativ se repet pn cnd MNR e minimizat i numrul de bii folosii pentru cele 4
componente se apropie de numrul de bii disponibili.
Biii marginali calculai la fiecare iteraie Bmg, pot fi calculai ca:
Bmg=Btav-(bbal+bscf+bspl+banc)

unde:
bbal - numrul de bii de alocare
bscf - numrul de bii pentru factorul de scal
bspl - numrul de bii pentru eantioane
banc - numrul de bii pentru ancillary data

26

calculeaz minimul MNR din


toate subbenzile nemarcate

nu

mai sunt bii


disponibili ?
da

marcheaz
subbanda

incrementeaz
numrul de bii alocai

Cuantizarea i codarea
Eantioanele de subband sunt codate i cuantizate de un cuantizor uniform cu o reprezentare
simetric fa de 0.
Fiecare eantion de subband Si este normat la factorul de scal i cuantizat utiliznd formula :
S
S qi = A i
scf

+ B

Coeficienii A i B sunt tabelai.


Numr de

B
27

niveluri
3
7
15
31
63
127
255

0.750000000
0.875000000
0.937500000
0.968750000
0.984375000
0.992187500
0.996093750

-0.250000000
-0.125000000
-0.062500000
-0.031250000
-0.015625000
-0.007812500
-0.003906250

Fluxul de bii
Informaia codat din subbenzi e multiplexat n cadre. Aceast operaie nu presupune o codare
suplimentar.
Un cadru este compus dintr-un numr ntreg de sloturi pentru a ajusta fluxul mediu de bii.
n Layer I un slot are 32 de bii n timp ce n Layer II i III un slot are 8 bii.
Numrul de sloturi dintr-un cadru se obine mprind Bf la numrul de bii dintr-un slot.
Dac frecvena de eantionare este 44.1 kHz numrul de sloturi nu este ntreg. n asemenea cazuri
cadrul trebuie ajustat prin adugarea de bii (padding). Astfel numrul de sloturi dintr-un cadru
poate fi N sau N+1.
Ex:
FS=44.1 kHz, 114.84 cadre/sec, 1 cadru=8.70ms
rezult 17.41 sloturi => 18 sloturi

28

MPEG Layer II
Layer II urmrete n principiu aceleai reguli de codare i decodare ca i Layer I.
Principala diferen este ca Layer II introduce corelatie ntre subbenzi. Layer II contine informatii
pentru 1152 de esantioane
(3 x 12 x 32 esantioane = 1152 de esantioane).
In fluxul de date apare i un selector al factorului de scal.

Layer II suport att modelul psihoacustic I ct i modelul psihoacustic II.


29

Modelul psihoacustic I implic un FFT de 1024 esantioane iar modelul II 512 eantioane.
SMR din fiecare subband se determin din modelul psihoacustic folosit.
Codarea factorilor de scalare
Se poate folosi aceeai analiz i sintez a filtrelor ca n cazul Layer I.
n Layer II un cadru conine 36 (3 x 12) eantioane de subband (12 granule) i 3 factori de scal
pe subband.

Cele dou diferene se obin din cei trei factori de scal dup cum urmeaz:
Dscf1=scf3-scf1
Dscf2=scf3-scf2

30

subbanda 0

scf3

scf1
scf2

Dscf1

Dscf2

subbanda i

subbanda 31

Fiecare diferen este clasificat n una din cele 5 clase dup cum urmeaz:
Clasa
1
2
3
4
5

Condiia
Dscfi
-3
-3 < Dscfi < 0
Dscfi = 0
0 < Dscfi < 3
Dscfi 3
31

Cele doua clase ce rezult corespund transmisiei unui pattern (cei trei factori de scal care trebuie
transmii).
Redundana e redus cu preul codrii informaiei de selectare a factorului de scal (2 bii).
(Clasa1,Clasa2)
(1,1), (1,5), (4,5),
(5,1),(5,5)
(1,2), (1,3), (5,2),(5,3)
(1,4), (5,4)
(2,1), (2,5), (3,5)
(2,2),
(2,3),(3,1),(3,2),(3,3)
(2,4)
(3,4), (4,4)
(4,1), (4,2), (4,3)

Pattern
transmis
123

Factor de scal
selectat
0

122
133
113
111

3
3
1
2

444
333
222

2
2
2

Biii de selecie a factorului de scal reprezint numrul i poziia factorilor de scal din fiecare
subband.
scfsi

Factori de scal

Factor de scal
32

0
(00)
1
(01)
2
(10)
3
(11)

codai
3

decodat
scf1, scf2, scf3

primul

scf1 i

scf2
al doilea scf3
scf=scf1=scf2=scf
3
primul
scf1
al doilea scf2
siscf3

1
2

33

subbanda 0

C
Dscf1

Dscf2

(i,

subbanda i

j)

subbanda 31

Ex: Presupunem c 3 factori de scal A, B, C sunt obinui ntr-o subband.


Clasa
(1,1)
(1,3)
(3,2)

Factori de scal
transmii
ABC
AB
A

scfs
i
00
11
10

Factori de scal
decodai
ABC
ABB
AAA

Alocarea biilor
34

SMR din modelul psihoacustic este folosit pentru a obine MNR i operaia iterativ este similar
cu cea din Layer I, incluznd i cmpul de selecie a factorului de scal.
Cuantizarea i codarea:
Acelai algoritm folosit la cuantizare n Layer I se aplic i aici.
Trei eantioane succesive (1 granul) sunt codate ca un singur cuvnt de cod.
La decodare se va folosi urmtorul algoritm ( s(0), s(1) i s(2) sunt cele 3 eantioane codate):
for i=0 to 2
s(i)=(code) MOD (numr de nivele)
code=(code) DIV (numr de nivele)
Cele trei eantioane sunt decuantizate dup formula:
S(i)=C(S(i)+D)
Unde C i D sunt constante tabelate.
Formarea fluxului de bii:

35

Aceleai operaii ca i n Layer I sunt efectuate. Aceast operaie nu presupune o codare


suplimentar.
n Layer II un slot are 8 bii.
Aceiai algoritmi de padding se aplic i aici.

MPEG Layer III


Codarea n MPEG Layer III e mult mai sofisticat dect cea din Layer I/II.
Cu ajutorul unui banc de filtre hibride se obine o mai bun rezoluie n frecven.
Filtrele hibride sunt obinute prin cascadarea filtrelor polifazice de analiz (folosite i n Layer I i
II) cu operaia MDCT (Modifed DCT).
Modelul perceptual combin calculul energiei cu FFT i cu bancul de filtre.
Ieirile modelului perceptual sunt valorile pragului de mascare echivalent cu valoarea acceptat a
zgomotului n fiecare band.
Benzile de frecven sunt egale cu benzile critice.
Cuantizarea nu mai este uniform, se introduce codarea entropic, se introduc mai multe bucle
pentru modelul psihoacustic i pentru alocarea de bii.
Codarea Huffman se face n funcie de statistica semnalului muzical alegndu-se tabelul de codare
optim.

36

Ferestrele definite pentru MDCT sunt pentru blocuri lungi i scurte.


Pentru blocuri lungi (N=36) formula este:

1
h ( k ) = x ( k ) sin k +
2
N

k=0, 1, ..., 35, N=36

Pentru blocuri scurte se aplic aceeai formul doar c N=12.


Comutarea ntre blocuri nu e instantanee. Pentru aceasta se definesc ferestre de tranziie (lung =>
scurt i scurt => lung).
Decizia de comutare se ia din curba de mascare obinut din estimatul entropiei psihoacustice.
Dac valoarea entropiei psihoacustice (PE) depete un anumit nivel (PE>1800) atunci se va trece
la blocul scurt.

37

Transformarea Cosinus Modificat (MDCT)


Urmtoarea ecuaie se folosete pentru a obine N/2 coeficieni Si din N eantioane de intrare xk:

N

Si = xk cos
2k + 1 + ( 2i + 1)
2
k =0
2N

N 1

unde :

i = 0, 1, ...,

N
1
2

N poate fi 12 pentru blocuri scurte i 36 pentru blocuri lungi.


Transformarea MDCT invers are expresia:
N
1
2

xk = Si cos
2k + 1 + ( 2i + 1)
2
i =0
2N

unde k=0, 1, ..., N-1

Reducerea efectului de aliere


Calculul de reducere a alierii se face att n codor ct i n decodor.
Numai blocurilor lungi li se aplic aceast procedur.
Transformarea MDCT d 18 coeficieni din 36 de eantioane de intrare. ntre 2 seturi de 18
coeficieni se aplic un operator fluture ca n figura urmtoare.

38

csi

bloc anterior

-cai
cai
-csi
unde i=0, 1, ..., 7 iar csi i cai se calculeaz cu formulele:
bloc curent

csi =

1 + ci2

cai =

ci
1 + ci2

Cei 8 coeficieni ci sunt tabelai:


i
0
1
2
3
4
5
6
7

ci
-0.6
-0.535
-0.33
-0.185
-0.095
-0.0041
-0.0142
-0.0037

39

Cuantizarea i codarea
Cuantizorul MPEG Layer III este neliniar. Legea de cuantizare este de forma:
3

Q x 4

La decodare va trebui efectuat operaia invers adic ridicarea la puterea 4/3.


Codorul Huffman este utilizat pentru codare entropic.
Procesul de gsire a ctigului i factorilor de scalare optimi pentru un bloc, rata de bit i ieirea
modelului perceptual este realizat n dou cicluri iterative prin analiz-sintez.
Ciclul interior (ciclul de rat):
- Codul Huffman aloc valorilor cuantizate mici (cele mai frecvente) cuvinte de cod de lungime
minim.
- Dac numrul de bii rezultat depete numrul de bii disponibili pentru codarea unui bloc de
date, aceasta se poate ajusta prin modificarea ctigului global care rezult ntr-un pas de
cuantizare mai mare, ceea ce conduce la valori cuantizate mai mici.
- Operaia este repetat cu diferii pai de cuantizare pn cnd cererea de bii pentru codarea
Huffman este suficient de mic.
Ciclul exterior (ciclul de control al zgomotului):
- Pentru a dimensiona zgomotul de cuantizare n funcie de pragul de mascare, se aplic un factor
de scalare fiecrei benzi.
- Sistemul pornete cu un factor de scalare 1.
40

- Dac zgomotul de cuantizare ntr-o band depete pragul de mascare (zgomotul permis),
factorul de scalare pentru aceast band este ajustat pentru a reduce zgomotul de cuantizare.
- Deoarece pentru a reduce zgomotul de cuantizare sunt necesari mai muli pai de cuantizare deci
o rat de bit mai mare, ciclul interior de rat este repetat de fiecare dat cnd se modific factorii
de scalare.
- Ciclul exterior este repetat pn cnd zgomotul (calculat ca diferena ntre valorile spectrale
originale i cuantizate) este sub pragul de mascare.

Codarea semnalului stereo.


MPEG-1 audio codeaz att cu semnal mono ct i stereo.
Sunt patru moduri de codare: mono, stereo, dou canale separate i joint stereo.
O tehnic de codare eficient a semnalului stereo se numete joint stereo coding:
- Codarea stereo a intensitii exploateaz redundana din semnalele stereofonice bazat pe
perceperea la frecvene mai mari de 2kHz numai a anvelopei energiei canalelor drept si stng.
- Codarea MS(middle/side) stereo exploateaz redundana din semnalele stereofonice bazat pe
codarea sumei i diferenei dintre canalele drept i stng.

41

MPEG-2 AUDIO
Permite i codarea semnalelor cu frecvene mai mici de eantionare: 16, 22 i 24kHz.
Realizeaz o analiz n frecven cu rezoluie mrit.
Include codorul MPEG-1 (Layer I, II i III)
Codare multicanal:
- Permite codarea a 2 pn la 5 canale: sunet surround sau coloana sonor pentru mai multe limbi

42

Compatibilitatea MPEG audio.


Compatibilitate direct (forward):
- Un decodor nou poate decoda un flux de bii creat de un codor mai vechi.
- Se poate obine relativ uor.
Compatibilitate invers (backward):
- Un decodor mai vechi poate decoda un flux de bii creat de un codor nou, cel puin parial.
- Limiteaz eficiena codrii.
Codorul audio MPEG-2 compatibil n sens invers (ISO/IEC 13818-3):

43

Codarea Non Backward Compatible (NBC)


MPEG-2 Advanced Audio Coding (AAC) ISO/IEC 13818-7 (Aprilie 1997).
Rata de codare: 320-384 kbii/s pentru 5 canale, 64 kbii/canal.
Semnal codat NBC la 320kbii/s are aceeai calitate ca semnalul codat BC la 640kbii/s.

44

Permite codarea multicanal: 1-48 canale audio, 0-16 canale LFE (low frequency enhancement), 016 canale de date.
Aceeai structur (codare perceptual pe subbenzi) ca la MPEG-1 cu unele mbuntiri.

mbuntiri
- Banc de filtre cu rezoluie mrit (MDCT n 1024 sau 128 puncte) cu rspuns la impuls micorat
la 5.3 ms (fa de 18.6 ms la Layer III) reduce distorsiunile de tip pre-echo (zgomotul de
cuantizare se aude naintea muzicii care l produce).
- Cuantizarea dependent de evoluia n timp a semnalului (Temporal noise shaping TNS).
- Predicie invers n subbenzi ofer o codare eficient a semnalelor tonale.
45

- Codare stereo Middle/Side i de intensitate mai flexibil reduce rata de bit.


- Codare Huffman cu tabele de codare pe fiecare bloc al codorului.
Profiluri MPEG-2 AAC

Profilul principal
- Cea mai bun calitate, complexitate maxim
- MDCT n 1024 sau 128 puncte
Profilul de complexitate redus
- Fr predicie i TNS
Profil cu frecvena de eantionare scalabil
- Complexitatea i frecvena de eantionare sunt scalabile
- Folosete filtre hibride ca la MPEG-1 Layer III
- Fr predicie i intercorelare canal

46

Pentru a obine compatibilitate n sens invers dar cu o rat de bit mai mare se poate folosi schema
(Simulcast):

MPEG-4 AUDIO
MPEG-4 Audio integreaz codarea audio sintetizat i natural.
Partea de codare sintetizat cuprinde realizarea muzicii i vorbirii definite simbolic. Include
sisteme MIDI i Text-to-Speech. n plus, sunt incluse tehnici de localizare 3-D a sunetului,
permind crearea unor medii de sunet artificiale folosindu-se surse artificiale i naturale.
Codarea audio natural
pentru debite ntre 2 kbiti/s i 64 kbiti/s.
trei tipuri de codecuri:
- un codec parametric pentru cele mai mici debite
47

- un codec CELP (Code Excited Linear Predictive) pentru debite medii:


- codecuri timp-frecven (TF) incluznd MPEG-2 AAC i Cuantizare Vectorial.
Sunt oferite faciliti pentru o gam larg de aplicaii de la vorbirea inteligibil la audio-multicanal
de nalt calitate.
n MPEG-4 sunt incluse funcii adiionale
- controlul vitezei la redare.
- modificarea nlimii sunetului.
- nlturarea erorilor.
- scalabilitatea.
Obiecte audio MPEG-4
MPEG-4 definete obiectele audio ca obiecte realistice.
Un obiect audio real-world poate fi definit ca o entitate semantic audibil (vocea unor vorbitori,
instrumente muzicale etc.).
Acesta poate fi nregistrat cu un microfon (nregistrare mono) sau cu mai multe microfoane n
direcii diferite (nregistrare multicanal).
Obiectele audio pot fi grupate sau mixate mpreun dar nu pot fi (uor) descompuse n sub-obiecte.
Un singur obiect audio poate fi reprezentat pe unu sau mai multe canale audio, dac definim
canalele audio ca informaia pentru poziia unei boxe. De exemplu un flux audio MPEG-1 poate fi
un obiect audio n MPEG-4. Acest obiect poate conine un canal (mono) sau 2 canale (stereo etc.)

48

Exemple de aplicaii tipice pentru MPEG-4 Audio


Cnt N-1 Obiecte Audio
- Transmiterea a cinci semnale multicanal care reprezint cinci instrumente ale unui cvintet.
Asculttorul poate asculta numai patru instrumente deoarece vrea sa cnte el la al cincilea
instrument.
Servicii de difuzare n mai multe limbi
- Cei ce urmresc programele sportive sunt frecvent distrai de vocea comentatorului. MPEG-4
permite un mix-minus stil de prezentare unde s fie incluse toate sunetele, mai puin vocea
comentatorului.
- Alternativ, ntr-un serviciu multi-limbi, poate fi inclus unul din comentariile n limbi strine.
Filme
- O scen la gar dintr-un film poate conine de exemplu patru tipuri de obiecte audio:

49

- Obiectul conversaie:
- Vocea welcome este cu siguran cea mai importanta informaie.
- Vorbirea este ntotdeauna localizat n faa asculttorului.
- Aceast conversaie poate fi de asemenea disponibil n mai multe limbi.
- Obiectul fundal:
- Trenul va veni din deprtare spre centrul scenei, va trece de asculttor i va dispare n spatele
lui.
50

- n plus canalul pentru efecte de joas frecven va produce un zgomot de huruit.


- Dei includerea acestui obiect este dorit, el poate fi exclus n cazul unei conexiuni cu debit
foarte redus.
- Obiectul anun:
- Pentru anun este suficient de transmis vorbire cu calitate redus.
- Pot fi generate uor unele efecte pseudo 3D i de ecou la prezentarea scenei.
- Muzica de fundal:
- Orchestra poate fi codat cu MPEG-2 mutlicanal i fluxul de bii poate fi folosit fr
necesitatea recodrii.

Obiecte audio multi-limb


Pentru o producie internaional mai mult de un obiect conversaie este necesar.
51

Acelai obiect audio din scen poate exista n mai multe limbi.
Fiecare limb este un obiect audio separat, va fi codat cu un codor independent, i va fi selectat
la cerere n decodor.
Codarea obiectelor audio
Codarea MPEG-4 a obiectelor audio ofer tehnici pentru reprezentarea sunetelor naturale i pentru
sunetele sintetizate pe baza descrierii structurii.
Reprezentarea pentru sunetele sintetizate poate deriva dintr-un ir de date sau aa numita descriere
de instrument i prin codarea parametric pentru a furniza efecte ca reverberaia i spaializarea.
Aceast reprezentare avantajeaz compresia i alte funcii cum ar fi scalabilitatea i redarea la
diferite viteze.
MPEG-4 standardizeaz codarea audio natural pentru debite ntre 2 kbii/s i 64 kbii/s.

52

Pentru obinerea celei mai bune caliti posibile pentru toate debitele i s ofere i funcii
suplimentare, n standard au fost incluse trei tipuri de structuri de codare:
Tehnici de codare parametric (HVXC),
- Codare voce cu 8 kHz frecven de eantionare la rate de bit foarte mici (ntre 2 4 kbii/s).
- Scalabilitatea ratei de bit: Este posibil decodarea la 2kbii/s dintr-un flux de bit codat cu
4kbii/s.
- Variaia vitezei de redare i a pitch-ului: Util pentru cutarea n baze de date de vorbitori.
- Sunt combinate dou tipuri de scheme de codare: una pentru segmente vocale i alta pentru
segmente nevocale.
53

- Voce: Informaia de faz este eliminat la reprezentarea spectrului de putere a erorii de predicie
a filtrului LPC.
- Nevocal: Parametrii consoanelor sunt obinui cu codorul CELP.

Tehnici de codare Code Excited Linear Predictive (CELP).


- Codarea vorbirii la debite medii ntre 6 24 kbii/s.

54

- n aceast zon, dou frecvene de eantionare, 8 i 16 kHz, sunt folosite pentru vorbirea de
band ngust i band larg.
- Banda ngust: 3,85-12,2 kbps, pentru cadre de 10-40 ms.
- Band larg: 10,9-23,8 kbps, pentru cadre de 10-20 ms.

Tehnici de codare timp-frecven (T/F),


- Pentru debite peste 16 kbii/s semnale audio.
- Se folosesc n principal codoarele TwinVQ i AAC.
- Frecvenele de eantionare sunt peste 8 kHz.
- Extensii la AAC:
55

- Substituia zgomotului perceptual (PNS)

- Codarea parametric a semnalelor asemntoare zgomotului se folosete n codarea vorbirii


(consoane).
- Perceptual Noise Substitution (PNS) permite o codare selectiv a frecvenelor pentru semnale
similare zgomotului.
- Componentele ca de zgomot se detecteaz n funcie de factorul de scalare al benzii.
- Coeficienii spectrali corespunztori nu sunt cuantizai i codai. In loc de acetia se transmite un
flag de nlocuire cu zgomot i puterea total a benzii substituite.
- Decodorul genereaz semnal pseudo aleator cu puterea echivalent a coeficienilor spectrali.
56

- Predicie pe termen lung


- Semnalele tonale necesit precizie la codare mai mare dect semnalele similare zgomotului
(netonale).
- Componentele tonale sunt predictibile
- Predicia fiecrui coeficient spectral se face n MPEG-2 AAC cu un predictor invers adaptiv.
Acesta are complexitate mare (50% din complexitatea decodrii).
- n MPEG-4 se folosete Long Time Predictor (LTP) cunoscut n codarea vorbirii.
- Acesta are complexitate redus (cu 50% mai mic fa de MPEG-2 la aceleai performane)
- Codecul TwinVQ (Transform-Domain Weighted Interleave Vector Quantization)
- Codare audio la rate de bit extrem de mici (6-8 kbii/s)
- Codoarele CELP nu se comport bine la codarea muzicii.
- La rata dorit se obin 0,5 bii pe componenta de frecven!
- Selecteaz vectorul codat controlat de modelul perceptual.
- Este complet integrat n MPEG-4 AAC.
- Folosete aceeai reprezentare spectral ca i codorul AAC.
- Folosete facilitile MPEG-4 (LTP, TNS, joint stereo)

57

- Structura TwinVQ:
- Normalizarea coeficienilor spectrali:
- Anvelopa LPC (curba global a spectrului)
- Codarea componentelor periodice (componente armonice)
- Codarea curbei dup scara bark.
- Cuantizarea Vectorial (VQ)
- ntreeserea coeficienilor spectrali n sub-vectori
- Cuantizarea vectorial se face cu dou seturi de cuvinte de cod.
Scalabilitatea codorului audio MPEG-4
58

Exist mai multe tipuri de scalabilitate:


- Scalabilitatea debitului permite unui flux de bii s fie partiionat ntr-un flux cu debit mai mic
care s poat fi nc decodat ntr-un semnal inteligibil. Partiionarea poate fi efectuat fie n
timpul transmisiei sau la decodor.

- Scalabilitatea benzii de frecven este un caz particular al scalabilitii debitului, unde o parte
din fluxul de bii reprezint o parte din spectrul de frecven care poate fi ignorat n timpul
transmisiunii sau la decodare.

59

- Scalabilitatea complexitii codorului permite ca codoare de complexitate diferit s genereze


fluxuri de bii valide i inteligibile.
- Scalabilitatea complexitii decodorului permite ca un flux de bii s fie decodat de decodoare
cu diferite niveluri de complexitate.
Scalabilitatea funcioneaz cu unele din tehnicile MPEG-4, dar poate fi aplicat i unei combinaii
de tehnici (de exemplu cu Twin VQ ca layer de baz i AAC pentru layere extinse).
Exemplu: Codarea semnalului eroare de cuantizare al unui modul AAC sau TwinVQ ca intrare
ntr-un al doilea modul cuantizare/codare n frecven.

Exemplu: Combinarea cu codor CELP:

60

Codarea audio sintetizat


Codarea Text To Speech (TTS)
Codoarele TTS asigur un debit ntre 200 bii/s i 1.2 kbii/s i permit ca s se genereze o vorbire
sintetizat inteligibil, primind la intrare text sau text i parametrii prozodici (conturul nlimii,
durata fonemelor etc.)
MPEG-4 ofer o interfa standard pentru operarea unui codor TTS i nu standardizeaz un anume
sintetizor TTS.
Sunt incluse urmtoarele funcionaliti:
- Sinteza vorbirii folosind prozodia vorbirii originale.
- Controlul sincronizrii buzelor cu informaia despre foneme.
- Pauz, reluare, derulare nainte/napoi.
- Suport pentru limbi strine i dialecte pentru text.
61

- Suport pentru simboluri de foneme internaionale, i suport pentru specificarea vrstei, sexului,
debitului verbal al vorbitorului.
Sinteza dup partitur
Tehnicile de Structurare Audio decodeaz datele de intrare i produc sunete.
Aceast decodare este condus de un limbaj special de sinteza numit SAOL (Structured Audio
Orchestra Language), standardizat ca parte a MPEG-4.
Acest limbaj e utilizat pentru a defini o orchestr" alctuit din instrumente (provenite din
fluxul de bii i nu fixate n terminal) care creeaz i proceseaz data de control.
Un instrument este o mic reea de primitive de procesare de semnal care poate emula sunete
specifice ca ale instrumentelor acustice naturale.
Reeaua de procesare a semnalului poate fi implementat hardware sau software i include
generarea i procesarea sunetelor i manipularea sunetelor pre-stocate.
MPEG-4 nu standardizeaz o metoda de sintez ci mai degrab o metod de descriere a sintezei.
Orice metod curent sau viitoare poate fi descris n SAOL, inclusiv sinteza wavetable, FM,
aditiv, modelare psihic i granular, precum i metode hibride non-parametrice.
Controlul sintezei este desvrit prin extragerea partiturii sau scenariului din fluxul de bii.
O partitur este un set de comenzi n timp care invoc diferite instrumente la momente de timp
specifice, fiecare contribuind la interpretarea global a muzicii sau la generarea efectelor sonore.

62

Descrierea partiturii, integrat ntr-un limbaj numit SASL (Structured Audio Score Language),
poate fi folosit pentru a crea sunete noi i de a include informaii adiionale de control pentru
modificarea sunetului existent.
Aceasta permite compozitorului un control mai fin asupra sunetului final sintetizat.
Pentru sinteza care nu necesit un control aa de fin, se poate utiliza protocolul MIDI pentru
controlul orchestrei.
Controlul fin mpreun cu definirea de instrumente proprii, permite generarea unor sunete pornind
de la simple efecte audio cum ar fi zgomot de pai sau de ui nchise, pn la simularea sunetelor
naturale cum ar fi ploaia sau de la muzica cntat pe instrumente convenionale pna la sunete
integral sintetizate pentru efecte audio complexe sau muzica futurist.
Pentru terminale cu mai puine faciliti i pentru aplicaii care nu necesita o sinteza att de
sofisticat, un wavetable bank format (SASBF) este standardizat.
Cu acest format pot fi extrase eantioane de sunet care vor fi folosite n sinteza wavetable, de
asemenea i procesri simple cum ar fi: filtre, reverberaii i efecte de cor.
n acest caz, complexitatea de calcul pentru procesul de decodare poate fi determinat exact,
examinndu-se fluxul de bii.
Efecte audio speciale
Decodorul bazat pe Structurarea audio/Efecte permite la decodare un flux de date care s includ
att canalele audio decodate ct i parametrii necesari pentru controlul efectelor (desfurarea lor n
timp etc.)
63

Efectele sunt n esen descrieri de instrumente speciale servind procesoarelor de efecte aplicate
asupra fluxului de intrare.
Procesarea de efecte include reverberatoare, spaializatoare, mixere, limitatoare, controlul
dinamicii, filtre, flangere, coruri i efecte hibride.
Avndu-se n vedere aceste faciliti, se poate realiza pe lng compoziia muzical, organizarea
altor tipuri de audiii cum ar fi voce, efecte sonore i ambian general.

64

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