i dati audio - di.unito.itvincenzo/elabsuoimm3/slidepdf/formati_audio.pdf · il problema e le...

59
I dati audio Campionamento Quantizzazione e Codifica Formati e standard Supporti

Upload: hoangthuan

Post on 23-Feb-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

I dati audio

CampionamentoQuantizzazione e CodificaFormati e standard Supporti

Campionamento

Moltiplicare il segnale per l’impulso di campionamento

t ffmax

ffc 2fct… …

t…

ffmax

fc 2fc

fc-fmax fc+fmax

Aliasing e filtri anti-aliasing

ffmax fc 2fc

fc-fmax fc+fmax

aliasing

Non esistono filtri idealiOccorre tenersi un margine di sicurezza

rispetto a fc/2

Campionamento nel CD: 44 kHz

Si è abbastanza larghi sui 20 kHzRisposta piatta fino a 20 kHzAttenuazione sufficiente (60 dB) a 22 kHz

E’ abbastanza economico costruire un filtro di questo tipo

Popolari frequenze di campionamento

Strumenti di registrazione digitale limitati a specifiche frequenze (o loro approssimazioni)Anche alcuni strumenti di riproduzione offrono supporto solo per alcune frequenze Alcune sono divisori di frequenze comuni (ciò deriva dalla facilità per i circuiti di dividere la frequenza dei clock)

8000standard telefonico (codifiche µ-law e A-law) NeXT workstation: 8012.8210513 (sembra per uniformità con CoDec per telecomunicazione)

11 k (in realtà 11025)un quarto della sr del CD o metà della sr del Mac

16000 (standard di compressione G.722)18.9 k CD-ROM/XA standard

22 k 22050: metà sr del CD 22254.545454545454: sr del Mac (22254.5454 ... frequenza di scan orizzontale del Mac 128k)

32000radio digitale e NICAM (Nearly InstantaneousCompandable Audio Matrix [IBA/BREMA/BBC]) TV in UK, long play DAT e HDTV giapponese

37.8 k: standard CD-ROM/XA (qualità superiore)

44056: per audio professionale (un numero intero di campioni entra in un frame video)44100: sr del CD audio

i lettori DAT che registrano digitalmente da CD usano anche tale frequenza di campionamento

48000: sr del DAT (Digital Audio Tape) per uso domestico96000: sr qualità DVD

Quantizzazione

Quantizzazione lineare

La gamma continua viene spezzata in un certo numero di intervalli uguali Tecnica standard dei costruttori dei convertitori A/D e D/A Valore di tensione Parola binaria

[-5.000, -4.961] 00000000 [-4.961, -4.922] 00000001 [-4.922, -4.883] 00000010 [-4.883, -4.844] 00000011 … 00000100 … … … … … 11111011 [+4,844, +4,883] 11111100 [+4,883, +4,922] 11111101 [+4,922, +4,961] 11111110 [+4,961, +5,000] 11111111

Il rapporto segnale/rumore (SNR)

SNR = rapporto traampiezza max del segnaleampiezza media dell’errore di quantizzazione

Ampiezza media dell’errore di quantizzazionecostante e indipendente dall’ampiezza del segnaleno correlazione tra segnale e parametri di digitalizzazione

Per PCM lineare, SNR diminuisce con l’ampiezza (segnali deboli degradati)

Quantizzazione uniforme e non

Numero di intervalli è sempre dato dalla dimensione della parola binariaCome si scelgono e si codificano gli intervalli

quantizzazione uniforme: intervalli equi-spaziati quantizzazione non uniforme: intervalli spaziati differentemente

Quant. uniforme e ampiezze ridotte

si usa un numero di bit sufficientemente elevato da evitare il problemaEsempio

Con 16 bit, SNR = gamma dinamica = circa 96 dB Max ampiezza in riproduzione = 100 dB

Il segnale più debole è circa 90 dB sotto (poco oltre la soglia dell’udibile)

Quant. non uniforme e ampiezze ridotte

regioni di quantizzazione …spaziate meno per ampiezze vicine allo zerospaziate di più per ampiezze elevate (maggiore errore di quantizzazione)

la quantizzazione non uniforme slega SNR e gamma dinamica

Quantizzazione logaritmica

0

1

2

3

4

5

6

7

Cosa vuol dire che questeregioni sono uniformi suscala logaritmica?

Le nuove regioni di quantizzazione

Il nuovo errore di quantizzazione

0

123

4 56

7

Quantizzazione: 4 bit lineari e 3 bit log

0123456789

101112131415

0

123

4 56

7

Schema di quantizzazione logaritmica

assegna i valori a regioni spaziate in modo uguale sulla scala logaritmica gamma dinamica: con 8 bit log si ottiene la g.d.di un quantizzatore lineare a 13-14 bitSNR: un convertitore 8-bit log va meglio di un convertitore 8-bit lin alle ampiezze basse, ma peggio alle ampiezze elevate

Vantaggi e svantaggi

produce risparmi di memoriain generale, migliore qualità audio a parità di srpiù complesso applicare le tecniche di elaborazione del segnale (la somma di due segnali corrisponde al prodotto)

Codifica

Senza segno e con segnoOffset binaryComplemento a 2Segno + valore

Il problema e le soluzioni

Codifica unipolare e bipolare

Codifica unipolare (interi senza segno)0 corrisponde alla tensione minima negativa Esempio: da 0 V a 10 V

Codifica bipolare (interi con segno)convenienti per elaborazioni digitali sul segnaleEsempio: da -5 V a +5 V

Offset binary

Il formato più semplice (output da molti ADC)Svantaggi:

0000 picco negativo Silenzio a metà scalaQuindi: sovrapposizione di due sorgenti di silenzio digitale = livello di picco positivo (DC level) !!!

Somma di segnali: prima dell’elaborazione occorre sottrarre metà del livello di picco da ogni segnale

Complemento a 2

1000: fondo scala negativo 0111: fondo scala positivo0000: silenzio

La somma di segnali è una semplice addizione binaria

Segno e magnitudo

Primo bit di segno: 0 positivi – 1 negativiLa magnitudo aumenta da 0000Usato nei sistemi di broadcast Nicam

Memorizzazione dei dati

Pulse Code Modulation (PCM)

0 1 0 001 11 Tempo

AmpiezzaCampionei Campionei+1

Campioni di 4 bit

Interleaving dei campioni multicanale

si costruiscono frame di campioni da tutti i canalicon N canali, i dati sono in sequenze di frame di N campioni (ciascuno per canale)per lo stereo, canale sx precede canale dx

I campione

II campione

? campione

I campioneII campioneIII campione

? campione

Frame multicanale

vantaggifacile sincronizzazione dei canalimemorizzazione e trasmissione più efficiente

svantaggispreco di spazio (non necessari tutti i canali)operazioni sui singoli canali

Little Endian e Big Endian

7 6 5 4 3 2 1 0

15 14 13 12 11 10 9 8

LSB

MSB

Big Endian Little Endian

00000000 00001000

0000100000000000

0000000000001000

Riassumendo

I parametri dei dati audio

Frequenza di campionamento (sampling rate) campioni al secondo (o Hz): es. 8000, 44100 è misurata per canale

Quantizzazione numero di bit per campione: es. 8 or 16

Numero di canali1 per mono, 2 per stereo, etc.

Alcuni standard de facto

rate style mono/stereo

8000 8-bit µ-law, log mono22050 8-bit linear unsigned mono e stereo44100 16-bit linear signed mono e stereo

Quanto “pesa” l’audio

L’audio digitale non compresso occupa ...molto spazio sull’hard-disk per la memorizzazioneuna banda ampia sul canale di trasmissione

Esempio: brano di 1 min con qualità CD parametri: sr = 44,100 KHz; quantizzazione = 16 bitmemoria = 44.100 c/s * 2 can * 2 byte/c * 60 s ~ 10 Mbytetempo = 10 Mbyte * 8 bit/byte / (56 kbps * 60 s) ~ 24 min

Solo per scaricare un minuto di musica stereo!

Formati

I formati

Storicamente, ogni tipo di macchina usava un suo formato per i dati audioAlcuni formati applicabili in modo più generaleConversioni tra quasi tutti i formati (talvolta si perde informazione)

Due tipi di formati

autodescriventi: parametri e forma di codifica espliciti in una intestazione (header)senza intestazione (headerless - anche detti “raw”): parametri e codifica fissati a priori

Formati con intestazione

Definiscono una famiglia di codifiche di dati un parametro definisce la variante di codifica usataparametri del device per il campionamento descrizione del suono leggibile dall’utente (+ il copyright)

Spesso header iniziano con una parola “chiave”e proseguono con i dati di codifica

signed / unsigned, bytes / short integers, ...quasi nessuna variazione sulle info di canale

La tabella dei formati di file audioEstensione Origine Parametri

.au, .snd NeXT, Sun rate, #canali, codifica, info string

.aif(f), AIFF Apple, SGI rate, # canali, quantizzazione, molte info

.aif(f), AIFC Apple, SGI stessa cosa (AIFF con compressione)

.wav, WAVE Microsoft rate, #canali, quantizz., molte info

.voc Soundblaster rate (8 bits/1 ch; silence deletion)

.iff, IFF/8SVX Amiga rate, # canali, info sugli strumenti (8 bit)

.mp3, .mp4 standard MPEG rate, #canali, qualità dei campioni

.sf IRCAM rate, #canali, codifica, info

none, MIME Internet

.ra Real Networks rate, #canali, qualità dei campioni

.smp Turtle Beach loops, cues, (16 bits/1 ch)

.wve Psion (8 bits, 1 ch, a-law, 8khz) none, HCOM Mac rate (8 bits/1 ch; usa Huffman) none, NIST SPHERE DARPA speech community .mod or .nst Amiga

Formati senza intestazione

Definiscono una singola codifica dei datinon ammettono variazioni dei parametria volte permettono più sr, ma può essere un problema tirarla fuori

Estensione (o nome) / Origine / Parametri.snd, .fssd / Mac, PC/ var. sr, 1 canale, 8 bits unsigned

.ul / telefonia US / 8 k, 1 canale, 8 bit "u-law”

.snd / Amiga / var. sr, 1 canale, 8 bits signed

Un esempio: il formato WAV (Windows)

Identificatore “RIFF”Tipo “WAVE”

Format chunkIdentificatore: “fmt “

Data chunkIdentificatore: “data“

Il formato RIFF

Byte Offset

Nome Lunghezza in byte

Descrizione

00 rID 4 Contiene i caratteri “RIFF”

04 rLEN 4 Lunghezza dei dati nel prossimo chunk

08 rDATA rLEN Il chunk di dati

Il formato WAV:la definizione del chunk rDATA

rData Byte Offset

Nome Lunghezza in byte

Descrizione

00 wID 4 Contiene “WAVE”

04 Chunk del Formato

24 Formato dei dati nel chunk successivo

28 Wave data chunk

? Wave audio data

Il chunk del formato

Offset Nome Lunghezza in byte

Descrizione

00 fID 4 “fmt ”

04 fLen 4 Lunghezza del chunk

08 wFormatTag 2 Codifica segnale (es. 1=PCM)

10 # Canali 2 1 = mono 2 = stereo

12 # Campioni / Sec 2 Tasso di playback

14 # Byte medi / Sec 2 #canali * # campioni al sec * # bit x campione / 8

16 # Block Align 2 Dimensione sample frame

18 Format Specific 6 Area dati specifici per il formato

Il chunk dei dati

Data ChunkOffset

Nome Lunghezza inbyte

Descrizione

00 h dID 4 “data”

02 h dLen 4 Lunghezza delcampo dData

00 h dData dLen Veri e propridati sulla formad’onda

Vista globale sul formato WAV

File da 8 bit monoogni byte rappresenta un campione

File da 16 bit stereo2 byte per campioneprimo byte, canale di sxsecondo byte, canale di dx

I supporti

I supporti per l’audio digitale

I campioni audio possono essere registrati su qualsiasi supporto (nastro, disco, circuito integrato)Si può usare qualsiasi tecnica di registrazione: elettromagnetica, otticaI dati possono essere scritti in molti formati: formato = strutturazione dei campioni

Supporti

DAT (nastro magnetico): accesso seriale, piccole cassette e registratori, compatibilissimiDCC (nastro magnetico): accesso seriale, un formato digitale con compressione che si può usare anche in registratori analogici, qualitàinferiore al CDHD (disco magnetico o ottico): accesso casuale (in msec), se fissi più veloci, non dello stesso formato del CD (anche se sembra simile)

Floppy (magnetico): accesso casuale (lento), solo file corti, non utile per archivio a lungo termineSony MD (magnetico): accesso casuale, floppy con compressione, qualità inferiore al CDMemoria semiconduttore (elettronico): accesso casuale velocissimo (80 nanosec), eccellente per editing temporaneo, costoso e delicato per grandi DB

CD-DA

Data transfer rate = 1411200 bit/sectutti i data bit del frame (192) sono usati per i campioni audio192 = 12 x 16 (ogni frame contiene 12 campioni, 6 per canale)

Program areacontiene informazioni sulle tracce (es. durata)indice: numero di tracce e locazione sul disco

CD-ROM

Differenza fondamentale con il CD-DA: livello di rilevamento e correzione degli erroriSettori (blocchi) consecutivi: unità min di accesso casuale

ogni settore = 98 frame1 frame = 192 bit di dati (24 byte)98 frame = 2352 byte di dati

I blocchi del CD-ROM (2 modalità)

Mode1

Mode2

Sync12 bytes

Indirizzo3 bytes

Mode1 byte

Dati dell’applicazione2048 bytes

Rilevamento e correzioneerrori 288 bytes

Sync12 bytes

Indirizzo3 bytes

Mode1 byte

Dati dell’applicazione2336 bytes

2352 bytes

Testo e codici

Audio e immagini

Compromessi sulla qualità audio

“Lentezza” del trasferimento dati su CD-ROMl’audio potrebbe “balbettare”grafica e video rallentare o a scatti

Compromessi possibili sull’audiouso del formato MIDI (sintesi FM o wavetable, spazio occupato minimo)abbassare quantizzazione e/o sr (OK assieme)scelta tipica: 8 bit, 22 KHz

Suggerimenti per la produzione audio

Registrare sempre al max di quantizzazioneUsare il ditherer quando si converte a 8 bit

aggiungendo rumore per 3/4 del livello di quantizzazione picco a picco si elimina il crumbling

Usare l’equalizzatore per aggiungere forza alla regione midrange (3-10 KHz)

aggiunge un po’ di dinamicità persa con la conversione a 22 KHz (a causa del filtro antialiasing)

Riepilogo formati e supporti audio digitali

CD Audio DAT G.721 A-lawµ-law

Frequenza dicampionamento(kHz)

44.1 48 8 8

Dimensione deicampioni (bits)

16 16 16/4 8

Quantizzazione Lineare Lineare Lineare LogNumero di canali 2 2 1 1Tasso dati per canale(1000 bit/sec)

705 708 32 64

Codifica PCM PCM ADPCM PCMQualità M olto alta M olto alta M edia Telefono