• Non ci sono risultati.

La compressione audio

N/A
N/A
Protected

Academic year: 2022

Condividi "La compressione audio"

Copied!
63
0
0

Testo completo

(1)

1

La compressione audio

Come risparmiare spazio e tempo lavorando sulla forma d’onda

(2)

2

La compressione audio

L’arte di minimizzare le risorse per i dati audio aridurre la memoria occupata

aridurre i costi di trasmissione

aRisultati attuali: buona qualità in confronto all’audio non compresso (stesso tasso di trasferimento dati)

(3)

3

Obiettivo: riproduzione trasparente

aAudio che anche “orecchie” sensibili non riescono a distinguere dall’originale

aNumero minimo di bit mantenendo una riproduzione trasparente del segnale

(4)

4

L’audio digitale

aVantaggi

`alta fedeltà delle copie del segnale

`robustezza

`gamma dinamica estesa

aSvantaggio: alto tasso di trasferimento dati

`campionamento: 44.1 kHz (CD), 48 kHz (DAT)

`quantizzazione: PCM lineare a 16 bit

(5)

5

Perché nasce la compressione

L’audio digitale non compresso occupa ...

amolto spazio sull’hard-disk per la memorizzazione auna banda ampia sul canale di trasmissione

(6)

6

Esempio: brano di 1 min con qualità CD

a Parametri

`campionamento = 44,100 c/s

`quantizzazione = 16 bit = 2 byte

`canali = 2

a Memoria = 44.100 c/s * 2 can * 2 byte/c * 60 s

~ 10 Mbyte

a Tempo = 10 Mbyte * 8 bit/byte / (56 kbps * 60 s) ~ 24 min

Solo per scaricare un minuto di musica stereo!

(7)

7

… non solo

aProblemi di banda per applicazioni multimediali aAccesso e trasferimento dati sempre più veloce,

ma ...

… immagini, video, testo, e audio di alta qualità sincronizzati tutti assieme

(8)

8

Due livelli di applicazioni

aBassa qualità

`telefonia

aAlta qualità

`colonne sonore per giochi su CD-ROM

`memorie allo stato solido (flash) per i suoni

`audio su Internet

`broadcast di audio digitale (Radio e TV)

(9)

9

Compressione e decompressione

Encoding, Codifica, Compressione Dati audio

non compressi

Bitstream in modalità compressa Decoding,

Decodifica, Decompressione Audio non compresso

che suona come l’originale lossless

lossy

(10)

10

Nell’analogico

aProblema: gamma dinamica ridotta

aRiduzione del rumore (Dolby) per aumentare la gamma dinamica ridotta dal rumore

acompansion: compression + expansion

`registrazione: compressione della gamma dinamica

`riproduzione: espansione della gamma dinamica

aCompansion su tutte le frequenze (dbx) o su bande selezionate (Dolby A, B, C)

(11)

11

La compansion nel digitale

aEsempio: valori di 8 bit

`00001101 = 1101 x 1

`00011010 = 1101 x 10

`00110100 = 1101 x 100

`01101000 = 1101 x 1000

`11010000 = 1101 x 10000

aSono sufficienti 7 bit = 4 + 3 (si risparmia 1 bit:

riduzione del 12,5%)

aPerdita di accuratezza nei valori più grandi

(12)

12

ITU-T G.711, µ-law e A-law

-32768 +32767

0 255

-32768 +32767

(13)

13

µ-Law compansion

aQuantizzazione logaritimica

aGamma dinamica di 14 bit con una codifica a 8-bit aPer i servizi voce ISDN in Nord America e Giappone aSemplice il computo della codifica

-8 +7

-4 +3

(14)

14

Codifica µ-law

Codifica PCM lineare (a 16 bit)

codifica µ-Law

a 8-bit

Decodifica PCM lineare (a 16 bit)

(15)

15

Esempi di codifica µ-law

(16)

16

Lossy µ-law

- 200 (a 16 bit)

106 a 8-bit

- 193 (a 16 bit)

(17)

17

ADPCM

CCITT G.721, G.723, e ITU-T G.726

aStandard per la compressione di dati vocali

`CCITT G.721 (ADPCM a 32 Kbps)

`CCITT G.723 (ADPCM a 24 e 40 Kbps)

aADPCM = Adaptive Differential PCM

`metodo comune di compressione

`buon compromesso tra velocità di elaborazione, tasso di compressione e decodifica di qualità

(18)

18

Codifica della differenza (DPCM)

aRidondanze temporali tra i campioni

aLa differenza tra due campioni a x-bit si può rappresentare con meno bit di x

aSi memorizza la differenza (non il campione)

+1 +1

+1 0 0 -1

-1 0 0

+1 0 -1

-1 -1 -3

0 +1 +2

+3

(19)

19

Problema “Slope Overload“

a Differenze elevate (alte frequenze) non si possono rappresentare con un numero piccolo di bit

a Gli errori introdotti porterebbero a distorsioni sulle alte frequenze

+1 +1

0 -1

-1 0 0

0 0 -1

-2

-4 +4 +5

-8 +6 -4 +1

+1

(20)

20

Adaptive DPCM (ADPCM)

aPassi di quantizzazione più grandi per differenze più grandi, e viceversa

aSi usano i campioni precedenti per stimare i cambiamenti futuri

(21)

21

Schema di ADPCM

(22)

22 Predictor

+

+ campione

PCM a x-bit

“differenza”

ADPCM a y-bit Quantizer

Adattatore Step-Size

Requantizer +

Campione n+1 PCM predetto

Raffiniamo l’adattabilità ADPCM

+ +

(23)

23

Due varianti di ADPCM

aIMA/DVI ADPCM

`comprime dati audio a 16-bit in soli 4 bit

aMicrosoft ADPCM

`variante di ADPCM da usare con i WAV

`anch’esso dati audio a 16-bit data in 4-bit data

(24)

24

IMA ADPCM

Register +

+ campione

PCM a 16-bit

“differenza”

ADPCM a 4-bit Quantizer

Adattatore Step-Size

Requantizer +

Campione n-1 PCM

aPredictor non adattativo

aPasso di quantizzazione aumenta in modo logaritmico

+ +

(25)

25

IMA: Tabella Passi (di quantizzazione)

6484 71

1166 53

209 35 37

17

32767 88

5894 70

1060 52

190 34 34

16

29794 87

5358 69

963 51 173

33 31

15

27086 86

4871 68

876 50 157

32 28

14

24623 85

4428 67

796 49 143

31 25

13

22358 84

4026 66

724 48 130

30 23

12

20350 83

3660 65

658 47 118

29 21

11

18500 82

3327 64

598 46 107

28 19

10

16818 81

3024 63

544 45 97

27 17

9

15289 80

2749 62

494 44 88

26 16

8

13899 79

2499 61

449 43 80

25 14

7

12635 78

2272 60

408 42 73

24 13

6

11487 77

2066 59

371 41 66

23 12

5

10442 76

1878 58

337 40 60

22 11

4

9493 75

1707 57

307 39 55

21 10

3

8630 74

1552 56

279 38 50

20 9

2

7845 73

1411 55

253 37 45

19 8

1

7132 72

1282 54

230 36 41

18 7

0

Passo Indice

Passo Indice

Passo Indice

Passo Indice

Passo Indice

(26)

26

Selezione step-size adattiva

8 1,75

111 7/4passo < differenza

6 1,50

110 3/2passo < differenza < 7/4passo

4 1,25

101 5/4passo < differenza < 3/2passo

2 1,00

100 passo < differenza < 5/4passo

-1 0,75

011 3/4passo < differenza < passo

-1 0,50

010 1/2passo < differenza < 3/4passo

-1 0,25

001 1/4passo < differenza < 1/2passo

-1 0,00

000 differenza < 1/4passo

Variazione indice Moltiplicatore

Output del Quantizer Quantizzazione

(27)

27 Lookup

Tabella Step-Size

Registro

Calcolo Adattamento

Indice Tabella Step-size Adattamento

indice Nuovo indice

Output Quantizer Nuovo

Step-Size

Adattatore Step-size

Quantizer

Adattatore Step-Size

Requantizer

Quantizer

Requantizer Nuovo

Step-Size

Limiti tabella +

(0 - 88)

(28)

28

Esempio

20 51

1,5 22

6 110 3/2 34<51<7/4 34 16/34

-51 20 15

71 28

1,75 16

8 111 7/4 16<45

8/16 -45

54 14

99 13,75 1,25

8 4

101 5/4 11<14<3/2 11 4/11

-14 99 13

113 3

0,25 4

-1 001 1/4 12<3<1/2 12 5/12

3 113 12

110 10

1,00 5

2 100 10<11<5/4 10 3/10

11 111 11

100 0

0 3

-1 000 0<1/4 11 4/11

0 100 10

100 9

0,75 4

-1 011 3/4 12< 9< 12 5/12

-9 100 9

109 9,75

0,75 5

-1 011 3/4 13<13< 13 6/13

-13 106 8

119 11,25

1,25 6

4 101 5/4 9<12<3/2 9

2/9 -12 118 7

130 0

0 2

-1 000 1<1/4 10 3/10

-1 129 6

130 2,75

0,25 3

-1 001 1/4 11<4<1/2 11 4/11

4 131 5

127 9

0,75 4

-1 011 3/4 12<9< 12 5/12

9 127 4

118 6,5

0,5 5

-1 010 1/2 13<9<3/4 13 6/13

9 120 3

111 10,5

1,5 6

6 110 3/2 7<12<7/4 7 0/7

12 112 2

100 0/7

100 1

Decode

Molt.

Nuovo indice Var.

indice Output

Quant.

Confronto C[N]-Passo Indice/

Passo C[n]

X[n]

(29)

29

La compressione di tipo percettivo

MP3 & Co.

Principi psicoacustici applicati

(30)

30

Schema generale

X(n)

Analisi tempo/

frequenza

Quantizzazione e

Codifica

Allocazione di bit Analisi

psicoacustica

Compressione senza perdite (entropia)

Parametri

Soglie di mascheramento

bitstream nel canale

Infoaggiuntive

Decodifica del bitstream Ricostruzione

campioni per banda Sintesi

segnale X’(n)

Codifica del bitstream

(31)

31

Soglia assoluta dell’udito

(32)

32

Le bande di

frequenza critiche

Banda Centro Estremi

1 50 -100

2 150 100-200

3 250 200-300

7 700 630-770

11 1370 1270-1480

15 2500 2320-2700

19 4800 4400-5300 20 5800 5300-6400

25 19500 15500- Bande di 100 Hz fino a

circa 500 Hz

Bande per 20% del centro oltre 500 Hz

(33)

33

Soglie di mascheramento globale

(34)

34

Mascheramento simultaneo

Tono di

mascheramento Soglia di

mascheramento

Minima soglia di mascheramento

Banda critica

Banda vicina

m-1 mm+1 SMR

MNR SNR dB

frequenza

(35)

35

Mascheramento temporale

masker

Pre (5 ms)

Post

(50-300ms) Simultaneo

-50 0 50 100150 0 50 100 150 250 ms dB

(36)

36

MPEG

(Motion Picture coding Experts Group)

Gruppo di lavoro di ISO/IEC per lo sviluppo di standard internazionali per ...

acompressione, decompressione, elaborazione, e rappresentazione codificata di …

a… video, audio, combinazioni A/V.

(37)

37

Standard MPEG

aMPEG-1: memorizzazione/recupero video/audio (11/92)

aMPEG-2, standard per la TV digitale (11/94) aMPEG-4

`v. 1, standard applicazioni multimediali (10/98)

`v. 2, standard audio/video HDTV (12/99)

aMPEG-7: standard rappr. dei contenuti

`ricerca, filtraggio, gestione di info multimediale

`rilasciato a luglio 2001

(38)

38

… e MPEG1/2 Layer III (MP3)

a1987 progetto Eureka (Digital Audio Broadcasting)

alavoro su audio percettivo in collaborazione tra Fraunhofer IIS e l’Università di Erlangen

arisultato: algoritmo molto potente ISO-MPEG Audio Layer-III

(39)

39

Lo schema di compressione MPEG-1

aStruttura di base comune su più layer

`calcolo delle sottobande

`calcolo del modello psicoacustico

a3 Layer

`Layer I: semplice, poco efficace

`Layer III: complesso, efficace

aScelta del layer - rapporto qualità/compressione

(40)

40

Modalità di compressione

aPiù frequenze di campionamento (32/44.1/48) aBitstream compresso supporta mono, dual

mono, stereo, joint stereo

aBit rate da 32 a 224 kbps (compressione da 2,7 a 24 volte) – tassi fissi e variabili

aSupporta il controllo e la correzione degli errori aInformazioni supplementari

(41)

41

I tre livelli di compressione

aLayer I

`il più semplice (bitrate oltre 128 kbps a canale)

`DCC di Philips usa la compressione di Layer I a 192

aLayer II

`complessità media (bitrate circa 128 kbps a canale)

`applicazioni in DAB

aLayer III

`il più complesso, migliore qualità

`64 kbps adatto per trasmissione audio su ISDN

(42)

42

MPEG 1 - Layer III

Loop controllo distorsione

Codifica di Huffman

bitstream Banco di filtri

(32 sottobande)

FFT 1024 punti audio digitale PCM

Codifica del bitstream

Decodifica del bitstream Ricostruzione dei

campioni per bande Ricostruzione dei

campioni nel tempo audio digitale

decompresso

Loop controllo quant. log.

Codifica info agg.

MDCT 0

31

Modello psicoacustico Analisi tempo-frequenza

0 575

Allocazione dei bit, quantizzazione e codifica

Analisi psicoacustica

Riserva

(43)

43

Corrispondenza bande critiche e MPEG

(44)

44

Frame di 12 campioni consecutivi

(45)

45

Modello psico-acustico

aFFT a 1024 punti

aSeparazione del segnale in tonale e non tonale

`“perceptual noise shaping”

`“perceptual subband coding“

aCalcolo soglie mascheramento globale

aCalcolo rapporto SMR (Signal to Masker Ratio) per quantificare i dati da comprimere

(46)

46

Modello psicoacustico

aNecessario per stabilire il livello max di quantizzazione

aNon si deve udire il rumore di quantizzazione

FFT 1024 punti

Modello psicoacustico Analisi psicoacustica

(47)

47

Compressione dei dati audio

aPiù cicli di quantizzazione e codifica

aModello psicoacustico + bitrate in uscita

Loop controllo distorsione

Codifica di Huffman Loop controllo

quant. log.

0 575

Allocazione dei bit, quantizzazione e codifica

Riserva

(48)

48

Allocazione dei bit

aAlloca i bit necessari per sottobanda

aCalcola MNR = SNR - SMR per sottobanda aPrende il minimo MNR

aAssegna i bit necessari

m-1m m+1 SMR

NMR SNR dB

frequenza

(49)

49

Spettro di ampiezza per 32 sottobande

Soglia globale di mascheramento

Allocazione di bit per banda

(50)

50

Quantizzazione e codifica

aI bit determinano i livelli di quantizzazione aCodifica logaritmica dei campioni

(51)

51

Codifica di Huffman

aMeno bit ai valori più frequenti

aDopo Huffman: ok per i limiti del bitrate ?

(52)

52

Due cicli di lavoro

aCiclo interno sui limiti del bitrate (RATE LOOP)

`si quantizzano e si codificano i valori

`compressione di Huffman

`se si eccede il bitrate, si allocano meno bit e go back

aCiclo esterno sul controllo del rumore per banda

`all’inizio tutte le bande sono trattate allo stesso modo

`se dopo il RATE LOOP il rumore in qualche banda va oltre il mascheramento, si allocano più bit solo per quelle bande

(53)

53

Terminazione: 3 casi

aIn nessuna banda il rumore supera la soglia del mascheramento (no distorsione)

aIterare ancora comporta per qualche banda il superamento dei valori permessi

aLa prossima iterazione porterebbe ad aumentare i bit per tutte le bande

aGli encoder che lavorano in real time hanno anche limiti di tempo

(54)

54

Quantizzazione/codifica

aBit di allocazione fino a 4 aFattore di scala tra 0 e 6 bit

(55)

55

Frame Packer

afile compresso in frame di campioni aogni frame ha

`un header con le info di sincronizzazione

`16 bit per il CRC

`Bit per 12 campioni per 32 sottobande

aCoda di bit per info supplementari

(56)

56

Tipiche riduzioni di MPEG

Riferimento standard (CD):

16 bit * 2 canali * 44100 sr = 1.411 kbps

a1:4 con Layer I (PASC)

`corrisponde a 384 kbps per un segnale stereo

a1:6...1:8 con Layer II

`corrisponde a 256..192 kbps per un segnale stereo

a1:10...1:12 con Layer III (MP3)

`corrisponde a 128..112 kbps per un segnale stereo

sempre mantenendo la qualità audio CD

(57)

57

Decodifica

aSintetizza un segnale a partire dalle componenti spettrali codificate

aNon si ha più lo stesso segnale!!!

aTutto dipende dal bit-rate

bitstream

Decodifica del bitstream Ricostruzione dei

campioni per bande Ricostruzione dei

campioni nel tempo audio digitale

decompresso

(58)

58

Esempi di bitrate

abit-rate = numero medio di bit consumati da un secondo di dati audio (kbps)

abit-rate per il CD = 1411.2 kbps

abit-rate per MP3 per qualità CD = 128 kbps

(59)

59

Le performance di MP3

aqualità telefonica: 96:1 (2.5 kHz / mono / 8 kbps) ameglio di AM radio: 24:1 (7.5 kHz / mono / 32

kbps)

asimile a FM radio: 26...24:1 (11 kHz / stereo / 56...64 kbps)

aquasi-CD: 16:1 (15 kHz / stereo / 96 kbps)

aCD: 14..12:1 (>15 kHz / stereo / 112..128kbps)

`prende approx. 1Mb/minute di spazio hard-disk

aOltre: 8…4:1 per la musica acustica

(60)

60

MP3 Codec

aprogramma del tipo di una libreria di sistema (collezione di funzioni)

avengono lanciate dai programmi di frontend acodec in distribuzione con frontend MP3

(61)

61

L’encoder migliore

aNon ha senso chiedersi quale sia l’encoder migliore: la risposta dipende dalle esigenze

`encoder veloci/lenti (> velocità, < fedeltà audio)

`confrontare mp3 ottenuti da encoder diversi a parità di bit-rate

aConsiglio pratico (ovvio): creare MP3 con basso bitrate con encoder ‘lenti’

(62)

62

I Frontend MP3

ainterfaccia ai codec

aAlcuni frontend implementano funzioni per

“normalizzare” il volume, o realizzano ID TAGS aIDTAG è informazione (testuale, in genere) nel

file di layer III (autore, titolo, etc ...)

(63)

63

Player MP3

asuona mentre decomprime

ai dati audio (campioni) vengono inviati alla scheda per la conversione

Riferimenti

Documenti correlati

Poiché possono avvenire collisioni, ogni stazione mentre trasmette monitora il canale OUTBOUND e interrompe la trasmissione se sopraggiunge una frame da una stazione con numero

• Calcolare la potenza totale di ogni canale modulato sapendo che l’indice di modulazione è m a = 0.5 e la potenza associata ad una banda laterale vale 10 W. •

Le bande di frequenze 174-223 MHz e 470-790 MHz possono essere impiegate nell’ambito del servizio mobile terrestre, limitatamente ad applicazioni in ausilio alla radiodiffusione,

Dal 2020, in assenza di un’apposita disciplina re- golamentare, l’amministra- zione pubblica o il soggetto affi datario, su richiesta del debitore, è tenuto a concedere

Come anticipato nell’introduzione, una condanna penale diventa definitiva solamente dopo che siano terminati tutti i gradi di giudizio: in pratica, solo dopo la sentenza

numero di transizioni nell’unità di tempo è una sequenza di tutti 1 (come NRZI). • Richiede un miglior rapporto S/N rispetto

© 1999 Pier Luca Montessoro ( si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni

Si scriva il programma RLE_speech_compress.c che riceva sulla riga di comando i nomi di un file audio di ingresso e di un file audio di uscita, e scriva nel file di uscita