8 MPEG Audio

64
1 COMPRESIA AUDIO. Semnalul necomprimat: - Frecvenţa maximă percepută de urechea umană este de aprox. 20kHz; - frecvenţa de eşantionare este de minim 40 kHz; - cuantizare cu 16 biti/eşantion; - pentru un semnal stereo calitate CD (eşantionat cu 44,1 kHz) rezultă o rată de transmisiune pentru semnalul necomprimat de 1.4 Mbps. Metodele de compresie fără pierderi (Huffman, LZW, etc.) în general nu funcţionează bine pentru compresia audio. Metode de compresie cu pierderi: Silence Compression - detectează zonele de “linişte”, asemănătoare cu codarea run-length; Adaptive Differential Pulse Code Modulation (ADPCM) - în CCITT G.721 -- 16 sau 32 kbiţi/sec. - codează diferenţa între două eşantioane consecutive; - adaptează pasul de cuantizare aşa încât să se micşoreze varianţa (puterea) zgomotului de cuantizare. - se obţine o compresie de aproximativ 4:1.

description

8 MPEG Audio

Transcript of 8 MPEG Audio

  • 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.