-
1
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.
-
2
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).
-
3
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:
-
4
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.
-
5
Se repet experimentul pentru mai multe frecvene ale tonului de
mascare obinndu-se curbele pragului de mascare n frecven.
-
6
Benzi critice Msur uniform de percepie a frecvenei neproporional
cu limea curbei de mascare. Aproximativ 100 Hz pentru frecvene de
mascare 500 Hz, 9+4.log2(f/1000)
Benzi critice [kHz] 0 3 6 9 12 15
0 2 4 6 8 10 12 14 16 18 20 22 24 Uniti Bark
-
7
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.
-
8
Se ncearc alte frecvene pentru tonul de test (durata tonului de
mascare rmne constant). Efectul total al mascrii:
-
9
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).
-
10
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.
-
11
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:
-
12
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
32 bii
CRC
16 bii
AudioData
AnciliaryData
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
-
13
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.
-
14
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.
-
15
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;
-
16
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;
-
17
Separaren
frecvenScalare
Cuantizare icodare
Multi-plexare
Calculul pragului de mascare i al alocrii biilor
Cuantizare icodare
Eanti-oane
intrareFluxul
binar
codat
Factori de scalareAlocarea 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
Bancde filtre
FFT
Factoriscalare
Prag demascare
Alocaredinamica biilor
Reducerearedundanei
Reducerearedundanei
Codare
Multiplexare
-
18
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
FerestruireMDCT
CuantizareCodare entropie Multiplexare
Prag demascare
-
19
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
-
20
Header
32 bii
CRC
16 bii
AudioData
AnciliaryData
Cadru
Format Layer I
Alocarede bii4 bii
Factorde scal
6 bii
Eantioane
2 - 15 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.
-
21
512 eantioane
subbanda 1
subbanda 2
subbanda 32
32 eantioane
12 eantioane
32*12=384 eantioane 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.
-
22
subbanda 1
subbanda 2
subbanda 32
12 eantioane
maxim
maxim
maxim
codarepe 6 bii
codare
codarepe 6 bii
pe 6 bii
factorde scal
factorde scal
factorde scal
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
-
23
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:
( ) ( ) 7 ( ) {2,3,6}x x xpower i j power i power i j j < + (
1) ( ) ( 1)x x xpower i power i power i < +
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):
( ) 10 ( , ) 10 ( , ) 1010
1 1( ) 10 log 10 10 10q tm nm
m nLT i LT j i LT j i
Gj j
LT i= =
= + + 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):
min( ) ( ) ( )sb sbSMR n L n LT n= dB unde Lsb(n) este nivelul
semnalului n subbanda n.
-
24
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: ( )1010logn n nSMR epart npart= 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:
384 /fs
Bit rateB biti cadruf
= 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:
-
25
MNR = SNR - SMR (dB)
unde : SNR se gsete n tabelul urmtor SMR este furnizat de
modelul psihoacustic.
Bii Codul Numr de niveluri
SNR (dB)
0 0000 0 0.00 2 0001 3 7.00 3 0010 7 16.00 4 0011 15 25.28 5
0100 31 31.59 6 0101 63 37.75 7 0110 127 43.84 8 0111 255 49.89 9
1000 511 55.93
10 1001 1023 61.96 11 1010 2047 67.98
-
26
12 1011 4095 74.01 13 1100 8191 80.03 14 1101 16383 86.05 15
1110 32767 92.01
invalid 1111 - - 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
-
27
calculeaz minimul MNR dintoate subbenzile nemarcate
marcheazsubbanda incrementeaz
numrul de bii alocai
mai sunt biidisponibili ?
nu
da
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 :
iqi N
SS A Bscf
= +
Coeficienii A i B sunt tabelai.
Numr de A B
-
28
niveluri 3 0.750000000 -0.2500000007 0.875000000
-0.125000000
15 0.937500000 -0.06250000031 0.968750000 -0.03125000063
0.984375000 -0.015625000127 0.992187500 -0.007812500255 0.996093750
-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
-
29
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.
-
30
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
-
31
subbanda 31
subbanda i
subbanda 0
scf1scf2
scf3
Dscf1 Dscf2
Fiecare diferen este clasificat n una din cele 5 clase dup cum
urmeaz:
Clasa Condiia 1 Dscfi -3 2 -3 < Dscfi < 0 3 Dscfi = 0 4 0
< Dscfi < 3 5 Dscfi 3
-
32
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) Pattern transmis
Factor de scal selectat
(1,1), (1,5), (4,5), (5,1),(5,5)
123 0
(1,2), (1,3), (5,2),(5,3) 122 3 (1,4), (5,4) 133 3
(2,1), (2,5), (3,5) 113 1 (2,2),
(2,3),(3,1),(3,2),(3,3) 111 2
(2,4) 444 2 (3,4), (4,4) 333 2
(4,1), (4,2), (4,3) 222 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
-
33
codai decodat 0
(00) 3 scf1, scf2, scf3
1 (01)
2 primul scf1 i scf2
al doilea scf3 2
(10) 1 scf=scf1=scf2=scf
3 3
(11) 2 primul scf1
al doilea scf2 siscf3
-
34
subbanda 31
subbanda i
subbanda 0
A B CDscf1 Dscf2
(i, j)
Ex: Presupunem c 3 factori de scal A, B, C sunt obinui ntr-o
subband. Clasa Factori de scal
transmii scfs
i Factori de scal
decodai (1,1) ABC 00 ABC (1,3) AB 11 ABB (3,2) A 10 AAA
Alocarea biilor
-
35
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:
-
36
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.
-
37
Ferestrele definite pentru MDCT sunt pentru blocuri lungi i
scurte. Pentru blocuri lungi (N=36) formula este:
( ) ( ) 1sin2
h k x k kN = + 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.
-
38
Transformarea Cosinus Modificat (MDCT) Urmtoarea ecuaie se
folosete pentru a obine N/2 coeficieni Si din N eantioane de
intrare xk:
( )10
cos 2 1 2 12 2
N
i kk
NS x k iN
=
= + + + unde : 0, 1, ..., 1
2Ni =
N poate fi 12 pentru blocuri scurte i 36 pentru blocuri lungi.
Transformarea MDCT invers are expresia:
( )1
2
0
cos 2 1 2 12 2
N
k ii
Nx S k iN
=
= + + + 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.
-
39
csi
-csi
-cai
cai
bloc curent
bloc anterior
unde i=0, 1, ..., 7 iar csi i cai se calculeaz cu formulele:
2 2
11 1
ii i
i i
ccs cac c
= =+ +
Cei 8 coeficieni ci sunt tabelai: i ci0 -0.6 1 -0.535 2 -0.33 3
-0.185 4 -0.095 5 -0.0041 6 -0.0142 7 -0.0037
-
40
Cuantizarea i codarea Cuantizorul MPEG Layer III este neliniar.
Legea de cuantizare este de forma:
34Q x
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.
-
41
- 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.
-
42
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
-
43
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):
-
44
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.
-
45
Permite codarea multicanal: 1-48 canale audio, 0-16 canale LFE
(low frequency enhancement), 0-16 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.
-
46
- 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
-
47
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
-
48
- 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.)
-
49
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:
-
50
- 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.
-
51
- 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.
-
52
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.
-
53
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.
-
54
- 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.
-
55
- 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:
-
56
- 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.
-
57
- 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)
-
58
- 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
-
59
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.
-
60
- 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:
-
61
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.
-
62
- 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.
-
63
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.)
-
64
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.