Come configurare smartphone e PC. Portale informativo
  • casa
  • Interessante
  • Principio di compressione del suono. Mp3 - tecnologia per la compressione delle informazioni audio

Principio di compressione del suono. Mp3 - tecnologia per la compressione delle informazioni audio

Formato di compressione audio MP3

MPEG-1 Audio Layer 3 Estensione file: .mp3 Tipo MIME: audio / mpeg Tipo formato: Audio

MP3 (più precisamente, l'inglese MPEG-1/2 / 2.5 Layer 3 (ma non MPEG-3) è il terzo formato di codifica per una traccia audio MPEG) è un formato di file concesso in licenza per la memorizzazione di informazioni audio.

Al momento, l'MP3 è il più famoso e popolare dei formati comuni per la codifica digitale delle informazioni audio con perdite. È ampiamente utilizzato su reti di condivisione di file per la trasmissione valutativa di opere musicali. Il formato può essere riprodotto in quasi tutti i sistemi operativi più diffusi, su quasi tutti i lettori audio portatili ed è supportato anche da tutti i moderni modelli di stereo e lettori DVD.

MP3 utilizza un algoritmo di compressione con perdita progettato per ridurre drasticamente le dimensioni dei dati necessari per riprodurre una registrazione e garantire che la qualità di riproduzione sia molto vicina all'originale (secondo la maggior parte degli ascoltatori), sebbene gli audiofili riportino una differenza tangibile. Quando crei un MP3 a una velocità in bit media di 128 kbps, il risultato è un file di circa 1/10 della dimensione del file del CD audio originale. I file MP3 possono essere creati con bit rate alto o basso, il che influisce sulla qualità del file risultante. Il principio della compressione è quello di ridurre l'accuratezza di alcune parti del flusso sonoro, che è quasi indistinguibile dall'udito della maggior parte delle persone. Questo metodo è chiamato codifica percettiva. Allo stesso tempo, nella prima fase, viene costruito un diagramma sonoro sotto forma di una sequenza di brevi periodi di tempo, quindi le informazioni che non sono distinguibili dall'orecchio umano vengono cancellate su di esso e le informazioni rimanenti vengono memorizzate in un forma compatta. Questo approccio è simile al metodo di compressione utilizzato per la compressione delle immagini nel formato JPEG.

MP3 è stato sviluppato dal gruppo di lavoro Fraunhofer-Institut für Integrierte Schaltungen sotto la direzione di Karlheinz Brandenburg e dell'Università di Erlangen-Norimberga in collaborazione con AT&T Bell Labs e Thomson (Johnson, Stoll, Deeri, ecc.).

Lo sviluppo di MP3 si è basato sul codec sperimentale ASPEC (Adaptive Spectral Perceptual Entropy Coding). Il primo codificatore MP3 è stato L3Enc, rilasciato nell'estate del 1994. Un anno dopo, è apparso il primo lettore MP3 software, Winplay3.

Durante lo sviluppo dell'algoritmo, sono stati effettuati test su composizioni popolari molto specifiche. La canzone principale era "Tom's Diner" di Suzanne Vega. Da qui la battuta che "l'MP3 è stato creato esclusivamente per il comfort di ascoltare la tua canzone preferita del Brandeburgo", e Vega ha cominciato a essere chiamata "la mamma di MP3".


Descrizione formato

In questo formato, i suoni sono codificati in frequenza (nessuna parte discreta); c'è il supporto per lo stereo e in due formati (dettagli - sotto). L'MP3 è un formato di compressione con perdita, ovvero una parte dell'informazione audio che (secondo il modello psicoacustico) l'orecchio umano non può percepire o non è percepita da tutte le persone, viene rimossa dalla registrazione in modo irrevocabile. Il rapporto di compressione può essere variato, anche all'interno dello stesso file. L'intervallo di possibili valori di bitrate è 8 - 320 kbps. Per confronto, il flusso di dati da un CD convenzionale in formato Audio-CD è di 1411,2 kbps a una frequenza di campionamento di 44100 Hz.

MP3 e "Qualità Audio-CD"

In passato, era opinione diffusa che la registrazione a 128 kbps fosse adatta per la musica destinata ad essere ascoltata dalla maggior parte delle persone, fornendo la qualità del suono Audio-CD. In realtà, tutto è molto più complicato. Innanzitutto, la qualità dell'MP3 risultante dipende non solo dal bitrate, ma anche dal programma di codifica (codec) (lo standard non stabilisce l'algoritmo di codifica, descrive solo il metodo di presentazione). In secondo luogo, oltre alla modalità prevalente CBR (Constant Bitrate) (in cui, in altre parole, ogni secondo di audio è codificato con lo stesso numero di bit), esistono le modalità ABR (Average Bitrate) e VBR (Variable Bitrate). In terzo luogo, il confine di 128 kbps è condizionale, poiché è stato "inventato" nell'era della formazione del formato, quando la qualità della riproduzione delle schede audio e degli altoparlanti del computer era generalmente inferiore rispetto a quella attuale.

Al momento, i file MP3 più comuni con un bitrate di 192 kbps, il che potrebbe indirettamente indicare che la maggioranza pensa che questo bitrate sia sufficiente. La "qualità" effettivamente percepita dipende dal file audio originale, dall'ascoltatore e dal suo sistema audio. Alcuni amanti della musica preferiscono comprimere la musica con la "massima qualità" - 320 kbps, o addirittura passare ad altri formati, ad esempio FLAC, dove il bit rate medio è di ~ 1000 kbps. Inoltre, tra gli amanti della musica, c'è un'opinione secondo cui alcuni campioni (frammenti di registrazioni audio) non si prestano a una compressione con perdita di qualità di alta qualità: a tutti i possibili bitrate, non è difficile distinguere l'audio compresso dall'originale.

Modalità e opzioni di codifica

Esistono tre versioni del formato MP3 per esigenze diverse: MPEG-1, MPEG-2 e MPEG-2.5. Differiscono nei possibili intervalli di bitrate e frequenza di campionamento:

* 32-320 kbps a frequenze di campionamento di 32000 Hz, 44100 Hz e 48000 Hz per MPEG-1 Layer 3;

* 16-160 kbps a frequenze di campionamento di 16000 Hz, 22050 Hz e 24000 Hz per MPEG-2 Layer 3;

* 8-160 kbps a frequenze di campionamento di 8000 Hz e 11025 Hz per MPEG-2.5 Layer 3.

Modalità di controllo della codifica audio

Poiché il formato MP3 supporta la codifica a due canali (stereo), sono disponibili 4 modalità:

* Stereo - codifica a due canali, in cui i canali del segnale stereo originale sono codificati indipendentemente l'uno dall'altro, ma la distribuzione dei bit tra i canali nel bitrate totale può variare a seconda della complessità del segnale in ciascun canale.

* Mono - codifica a canale singolo. Se si codifica il materiale a due canali in questo modo, le differenze tra i canali verranno completamente cancellate, poiché i due canali vengono mixati in uno, viene codificato e viene riprodotto anche in entrambi i canali dell'impianto stereo. L'unico vantaggio di questa modalità è solo la qualità dell'output rispetto alla modalità Stereo con lo stesso bitrate, poiché un canale ha il doppio dei bit rispetto alla modalità Stereo.

* Due canali: due canali indipendenti, ad esempio colonna sonora in diverse lingue. Il bit rate è diviso in due canali. Ad esempio, se il bitrate specificato è 192 kbps, per ogni canale sarà uguale a soli 96 kbps.

* Joint stereo (Joint Stereo) - il modo migliore di codifica a due canali. Ad esempio, in una delle modalità Stereo combinata, i canali sinistro e destro vengono convertiti nella loro somma (L + R) e differenza (L-R). Per la maggior parte dei file audio, la saturazione del canale L-R è molto inferiore alla somma L + R. Inoltre, la percezione del suono da parte di una persona gioca un ruolo qui, per la quale le differenze nella direzione del suono sono molto meno evidenti. Pertanto, Combined Stereo consente di risparmiare sul bitrate del canale (L-R) o di migliorare la qualità allo stesso bitrate, poiché la maggior parte del bitrate è assegnata al canale somma (L + R). C'è un'opinione secondo cui questa modalità non è adatta per materiale audio stereo, in cui viene riprodotto materiale soggettivamente completamente diverso in due canali, poiché cancella le differenze tra i canali. Ma i codec moderni utilizzano schemi diversi in frame diversi (incluso stereo puro) a seconda del segnale originale.

CBR sta per Constant Bit Rate, ovvero Constant bit rate che viene impostato dall'utente e non cambia quando il pezzo viene codificato. Quindi, ogni secondo del pezzo corrisponde allo stesso numero di bit di dati codificati (anche quando si codifica il silenzio). CBR può essere utile per i flussi multimediali limitati al canale; in questo caso la codifica sfrutta appieno il canale dati. Per l'archiviazione, questa modalità di codifica non è ottimale, poiché non può allocare spazio sufficiente per segmenti complessi dell'opera originale, sprecando spazio su segmenti semplici. Bitrate più elevati (sopra i 256 kbps) possono risolvere questo problema allocando più spazio per i dati, ma allo stesso tempo aumentando proporzionalmente la dimensione del file.

VBR sta per Variable Bit Rate, ovvero Variable Bit Rate o Variable Bit Rate, che viene modificato dinamicamente dal programma di codifica durante la codifica, a seconda della saturazione del materiale audio codificato e della qualità di codifica impostata dall'utente (ad esempio , il silenzio è codificato con il bit rate minimo). Questo metodo di codifica MP3 è il più progressivo ed è ancora in fase di sviluppo e miglioramento, poiché materiale audio di diverse saturazioni può essere codificato con una certa qualità, che di solito è superiore a quando si imposta il valore medio nel metodo CBR. Inoltre, la dimensione del file è ridotta a causa di frammenti che non richiedono un bit rate elevato. Lo svantaggio di questo metodo di codifica è la difficoltà nel prevedere la dimensione del file di output. Ma questo svantaggio della codifica VBR è insignificante rispetto ai suoi meriti. Un altro svantaggio è che VBR considera i frammenti più silenziosi come informazioni audio "insignificanti", quindi si scopre che se ascolti molto forte, questi frammenti saranno di scarsa qualità, mentre CBR fa sia frammenti silenziosi che rumorosi con lo stesso bitrate. Il formato VBR è in costante miglioramento, grazie al costante miglioramento del modello matematico dei codec, in particolare dopo il rilascio della versione aggiornata del codec mp3 gratuito lame (versione 3.98), codifica con bitrate variabile, secondo gli stessi sviluppatori , è qualitativamente migliore di CBR e ancor di più di ABR.

ABR sta per Average Bit Rate, ovvero Average Bit Rate, che è un ibrido di VBR e CBR: il bit rate in kbit/s viene impostato dall'utente, e il programma lo varia, adeguandolo costantemente al bit rate specificato . Pertanto, l'encoder farà attenzione a utilizzare i valori di bitrate massimi e minimi possibili, poiché rischia di non adattarsi al bitrate specificato dall'utente. Questo è un chiaro svantaggio di questo metodo, poiché influisce sulla qualità del file di output, che sarà leggermente migliore rispetto all'utilizzo di CBR, ma molto peggiore rispetto all'utilizzo di VBR. D'altra parte, questo metodo consente l'impostazione più flessibile del bitrate (può essere qualsiasi numero compreso tra 8 e 320, contro solo multipli di 16 del metodo CBR) e calcolare la dimensione del file di output.

Etichette entro i limiti del file mp3 (all'inizio e/o alla fine). Possono contenere informazioni sulla paternità, l'album, l'anno di uscita e altre informazioni sulla traccia. Le versioni successive dei tag possono memorizzare le copertine degli album e i testi. Esistono diverse versioni di tag.

svantaggi

Svantaggi tecnici. MP3 è il leader in prevalenza, ma non è il migliore in termini di parametri tecnici. Esistono formati che consentono di ottenere una qualità migliore con la stessa dimensione del file, come Vorbis, AAC. Inoltre, l'MP3 non dispone di una modalità di codifica senza perdita di dati desiderabile per l'uso professionale. Allo stesso tempo, l'MP3 è abbastanza adatto (da un punto di vista professionale) per distribuire brani dimostrativi o altri modi di "distribuire" la tua musica a causa dell'ubiquità dei lettori.

Restrizioni legali. Ci sono restrizioni sui brevetti per l'uso gratuito del formato. Alcatel-Lucent possiede i diritti su MP3 e riceve royalties da coloro che utilizzano questo formato - produttori di lettori e telefoni cellulari. Per questo motivo, la purezza della licenza del formato è discutibile. In particolare, Alcatel-Lucent si è lamentata con Microsoft per il fatto che il supporto MP3 è stato integrato in Windows. Tuttavia, i brevetti per la tecnologia scadono nel 2010, dopodiché qualsiasi azienda potrà utilizzarla liberamente.

Formati - Formati di compressione audio

FLAC (Free Lossless Audio Codec) è un popolare codec di compressione audio gratuito. A differenza dei codec lossy Ogg Vorbis e MP3, FLAC non rimuove alcuna informazione dal flusso audio ed è adatto sia per ascoltare musica su apparecchiature di riproduzione del suono di alta qualità che per archiviare una raccolta audio. Oggi il formato FLAC è supportato da molte applicazioni audio.

Flusso audio

Le parti principali del flusso sono:

* Stringa di quattro byte "fLaC"

* Blocco di metadati STREAMINFO

* Altri blocchi di metadati opzionali

* Cornici audio

I primi quattro byte identificano il flusso FLAC. I seguenti metadati contengono informazioni sul flusso, seguite da dati audio compressi.

Metadati

FLAC definisce diversi tipi di blocchi di metadati (tutti elencati nella pagina del formato). I blocchi di metadati possono essere di qualsiasi dimensione, nuovi blocchi possono essere facilmente aggiunti. Il decoder ha la capacità di saltare blocchi sconosciuti di metadati. È richiesto solo il blocco STREAMINFO. Contiene la frequenza di campionamento, il numero di canali, ecc., nonché i dati che consentono al decoder di regolare i buffer. Qui viene registrata anche la firma MD5 dei dati audio non compressi. Questo è utile per controllare l'intero flusso dopo che è stato trasmesso.

Altri blocchi sono per la prenotazione dello spazio, le tabelle dei punti di ricerca, i tag, l'elenco di markup dei CD audio e i dati specifici dell'applicazione. Di seguito sono riportate le opzioni per aggiungere blocchi PADDING o punti di ricerca. FLAC non ha bisogno di punti di ricerca, ma possono aumentare significativamente la velocità di accesso e possono anche essere usati per inserire tag negli editor audio.

Dati audio

I metadati sono seguiti da dati audio compressi. I metadati e i dati audio non sono intercalati. Come la maggior parte dei codec, FLAC divide il flusso di input in blocchi e li codifica indipendentemente l'uno dall'altro. Il blocco viene compresso in un frame e aggiunto allo stream. Il codificatore principale utilizza blocchi di dimensioni costanti per l'intero flusso, ma il formato consente blocchi di lunghezze diverse nel flusso.

Divisione in blocchi

La dimensione del blocco è un parametro molto importante per la codifica. Se è molto piccolo, ci saranno troppe intestazioni di frame nel flusso, il che ridurrà il livello di compressione. Se la dimensione è grande, il codificatore non sarà in grado di trovare un modello di compressione efficiente. Comprendere il processo di modellazione può aiutarti ad aumentare il livello di compressione per alcuni tipi di dati di input. In genere, quando si utilizza la previsione lineare sui dati audio con una frequenza di campionamento di 44,1 kHz, la dimensione ottimale del blocco è compresa tra 2 e 6 mila campioni.

Decorrelazione intercanale

Se i dati audio stereo arrivano all'ingresso, possono passare attraverso una fase di decorrelazione tra i canali. I canali destro e sinistro vengono convertiti in media e differenza secondo le formule: centrale = (sinistra + destra) / 2, differenza = sinistra - destra. A differenza dello stereo comune, non c'è perdita in questo processo. Per i dati dei CD audio, questo di solito si traduce in un aumento significativo della velocità di compressione.

modellazione

Nella fase successiva, l'encoder cerca di approssimare il segnale con tale funzione in modo che il risultato ottenuto dopo averlo sottratto dall'originale (detto differenza, resto, errore) possa essere codificato con il numero minimo di bit. Anche i parametri delle funzioni dovrebbero essere annotati, in modo che non occupino molto spazio. FLAC utilizza due metodi per generare approssimazioni:

* adattare un semplice polinomio a un segnale

* codifica generale con predittori lineari (LPC).

Innanzitutto, la previsione polinomiale costante (-l 0) è significativamente più veloce ma meno accurata di LPC. Maggiore è l'ordine LPC, più lento ma migliore sarà il modello. Tuttavia, all'aumentare dell'ordine, il guadagno sarà sempre meno significativo. Ad un certo punto (di solito intorno a 9), la routine dell'encoder per determinare l'ordine migliore inizia a sbagliare e la dimensione dei fotogrammi risultanti aumenta. Per ovviare a ciò, è possibile utilizzare la forza bruta, che porterà a un significativo aumento del tempo di codifica.

In secondo luogo, i parametri per i predittori costanti possono essere descritti da tre bit ei parametri per il modello LPC dipendono dal numero di bit per campione e dall'ordine LPC. Ciò significa che la dimensione dell'intestazione del frame dipende dal metodo e dall'ordine selezionati e può influire sulla dimensione ottimale del blocco.

Codifica residua

Quando il modello è montato, l'encoder sottrae l'approssimazione dall'originale per ottenere un segnale residuo (errore), che viene quindi codificato senza perdite. Per questo, viene utilizzato il fatto che il segnale differenza di solito ha una distribuzione di Laplace ed esiste un insieme di codici speciali di Huffman, chiamati codici di Rice, che consentono di codificare in modo efficiente e rapido questi segnali senza utilizzare un dizionario.

La codifica del riso consiste nel trovare un parametro che corrisponda alla distribuzione del segnale e quindi utilizzarlo per comporre i codici. Quando la distribuzione cambia, cambia anche il parametro ottimale, quindi esiste un metodo che consente di ricalcolarlo secondo necessità. Il resto può essere suddiviso in contesti o sezioni, ciascuno con il proprio parametro Riso. FLAC consente di specificare come deve essere eseguita la suddivisione. Il resto può essere suddiviso in 2n partizioni.

Cornici

Un frame audio è preceduto da un'intestazione che inizia con un codice di sincronizzazione e contiene le informazioni minime necessarie a un decodificatore per riprodurre il flusso. Questo è anche il punto in cui vengono registrati il ​​numero del blocco o del campione e il checksum a otto bit dell'intestazione stessa. Il codice di sincronizzazione, l'intestazione del frame CRC e il numero di blocco/campione consentono la risincronizzazione e la ricerca anche in assenza di punti di ricerca. Alla fine del frame, viene scritto il suo checksum a sedici bit. Se il decoder sottostante rileva un errore, verrà generato un blocco di silenzio.

Per supportare i tipi di metadati di base, il decoder di base è in grado di saltare i tag ID3v1 e ID3v2, in modo che possano essere aggiunti liberamente. I tag ID3v2 devono apparire prima del marker "fLaC" e i tag ID3v1 devono apparire alla fine del file.

Ci sono modifiche all'encoder FLAC: Encoder FLAC migliorato e Flake.

Il 29 gennaio 2003 Xiphophorus (ora chiamato Xiph.Org Foundation) ha annunciato l'inclusione di FLAC nella loro linea di prodotti, come l'Ogg Vorbis

MINISTRO DELL'AGRICOLTURA

ISTITUTO D'ISTRUZIONE STATO FEDERALE DELL'ISTRUZIONE PROFESSIONALE SUPERIORE

UNIVERSITÀ AGRARIA STATALE DI STAVROPOL

Facoltà di Economia

Dipartimento di Informatica Applicata

INDIPENDENTE

LAVORO CONTROLLATO

nella disciplina "Multimedia"

Tema di compressione audio

Completato:

studente del gruppo 2PO

Controllato:

Professore Associato del Dipartimento di PI,

Ph.D., professore associato

Stavropol, 2011

COMPRESSIONE AUDIO

Informazione Generale

Durante la codifica primaria nel percorso dello studio, viene utilizzata la quantizzazione uniforme dei campioni di segnale audio (SS) con una risoluzione di ∆А = 16 ... 24 bit / campione con una frequenza di campionamento f = 44,1 ... 96 kHz. Sui canali di qualità da studio, di solito

∆А = 16 bit/campione, f = 48 kHz, banda di frequenza del segnale audio codificato

∆F = 20 ... 20.000 Hz. La gamma dinamica del canale digitale è di circa 54 dB. Se f = 48 kHz e ∆А = 16 bit / campione, il bit rate durante la trasmissione di uno di questi segnali è V = 48x16 = 768 kbit / s. Ciò richiede una larghezza di banda totale del canale di comunicazione quando si trasmette un segnale audio di 5.1 (Dolby Digital) o 3/2 più un canale a frequenza ultrabassa (Dolby Surround, Dolby-Pro-Logic, Dolby THX) di oltre 3.840 Mbps. Ma una persona è in grado di elaborare consapevolmente solo circa 100 bit / s di informazioni con i suoi sensi. Pertanto, possiamo parlare di ridondanza significativa inerente ai segnali audio digitali primari

Distinguere tra ridondanza statistica e psicoacustica dei segnali digitali primari. La riduzione della ridondanza statistica si basa sulla presa in considerazione delle proprietà dei segnali sonori stessi e sulla ridondanza psicoacustica - sulla presa in considerazione delle proprietà della percezione uditiva.

La ridondanza statistica è dovuta alla presenza di una correlazione tra campioni adiacenti della funzione temporale del segnale audio durante il suo campionamento. Per ridurlo vengono utilizzati algoritmi di elaborazione piuttosto complessi. Quando li si usa, non c'è perdita di informazioni, tuttavia, il segnale originale viene presentato in una forma più compatta, che richiede meno bit per la sua codifica. È importante che tutti questi algoritmi consentano la conversione inversa per recuperare i segnali originali senza distorsioni. Le trasformazioni ortogonali sono più spesso utilizzate per questo scopo. Ottimale da questo punto di vista è la trasformazione Karunen - Loev. Ma la sua implementazione richiede notevoli costi di calcolo. La trasformata del coseno discreta modificata (MDCT) è leggermente meno efficiente. È anche importante che siano stati sviluppati algoritmi di calcolo veloci per implementare MDCT. Inoltre, esiste una semplice relazione tra i coefficienti della trasformata di Fourier (a cui siamo tutti abituati) e i coefficienti MDCT, che consente di presentare i risultati dei calcoli in una forma ragionevolmente ben coerente con il funzionamento dei meccanismi uditivi . Inoltre, i metodi di codifica che tengono conto delle statistiche dei segnali audio (ad esempio, la probabilità della comparsa di livelli audio di diversa grandezza) consentono anche di ridurre il bit rate. Un esempio di tale contabilità sono i codici di Huffman, in cui ai valori di segnale più probabili vengono assegnati codici più brevi e i valori di esempio, la cui probabilità di occorrenza è piccola, sono codificati con codici di lunghezza maggiore. È per queste due ragioni che negli algoritmi più efficienti per la compressione dei dati audio digitali, non sono i campioni ST stessi ad essere codificati, ma i coefficienti MDCT e le tabelle di codici di Huffman vengono utilizzati per codificarli. Si noti che il numero di tali tabelle è piuttosto elevato e ognuna di esse è adattata a un segnale audio di un certo genere.

Tuttavia, anche con l'uso di procedure di elaborazione piuttosto complesse, l'eliminazione della ridondanza statistica dei segnali audio consente in definitiva di ridurre la larghezza di banda richiesta del canale di comunicazione solo del 15 ... 25% rispetto al suo valore iniziale, che non può essere considerata una conquista rivoluzionaria.

Dopo l'eliminazione della ridondanza statistica, la velocità del digitale durante la trasmissione di ES di alta qualità e le capacità di una persona di elaborarli differiscono di almeno diversi ordini di grandezza. Ciò indica anche una significativa ridondanza psicoacustica del SE digitale primario e, quindi, la possibilità di una sua riduzione. I più promettenti da questo punto di vista si sono rivelati metodi che tengono conto di proprietà dell'udito come il mascheramento, il premascheramento e il postmascheramento. Se è noto quali lobi (parti) del segnale sonoro percepisce l'orecchio e quali non sono dovuti al mascheramento, allora è possibile isolare e quindi trasmettere attraverso il canale di comunicazione solo quelle parti del segnale che l'orecchio è in grado di percepire , e i lobi non udibili (componenti del segnale originale) possono essere scartati (non trasmettere sul canale di comunicazione). Inoltre, i segnali possono essere quantizzati con il livello di risoluzione più basso possibile, in modo che le distorsioni di quantizzazione, che cambiano di grandezza con un cambiamento nel livello del segnale stesso, rimarrebbero ancora impercettibili, cioè sarebbero mascherate dal segnale originale. Tuttavia, dopo l'eliminazione della ridondanza psicoacustica, l'esatto ripristino della forma della funzione temporale dell'ES durante la decodifica non è più possibile.

A questo proposito, occorre prestare attenzione a due caratteristiche molto importanti per la pratica. Se la compressione dei dati audio digitali è già stata utilizzata in precedenza nel canale di comunicazione durante la consegna del programma, la sua applicazione ripetuta spesso porta alla comparsa di distorsioni significative, sebbene il segnale originale ci sembri di buona qualità prima della ricodifica. Pertanto, è molto importante conoscere la "storia" del segnale digitale e quali metodi di codifica sono già stati utilizzati per la sua trasmissione. Se misuriamo i parametri di qualità di tali codec su segnali tonali usando metodi tradizionali (come spesso si fa), otterremo valori praticamente ideali dei parametri misurati per loro a diversi, anche i più piccoli valori impostati del bit Vota. I risultati dei test di ascolto per loro, eseguiti su segnali audio reali, saranno fondamentalmente diversi, in altre parole, i metodi tradizionali di valutazione della qualità per i codec con compressione di dati audio digitali non sono adatti.

Il lavoro sull'analisi della qualità e sulla valutazione dell'efficacia degli algoritmi di compressione per i dati audio digitali in vista della loro successiva standardizzazione è iniziato nel 1988, quando è stato formato il gruppo di esperti internazionale MPEG (Moving Pictures Experts Group). Il risultato del lavoro di questo gruppo nella prima fase è stata l'adozione nel novembre 1992 dello standard internazionale MPEG 1 ISO / IEC 11172-3 (di seguito, il numero 3 dopo il numero dello standard si riferisce a quella parte di esso, che si occupa della codifica dei segnali audio).

Ad oggi, anche molti altri standard MPEG, come MPEG-2 ISO/IEC 13818-3, 13818-7 e MPEG-4 ISO/IEC 14496-3, hanno ottenuto un'ampia accettazione nelle trasmissioni.

Al contrario, gli Stati Uniti hanno sviluppato lo standard Dolby AC-3 (ad/52) come alternativa agli standard MPEG. Poco dopo, si sono chiaramente formate due diverse piattaforme di tecnologie digitali per la trasmissione e la televisione: si tratta di DAB (Digital Audi o Broadcasting), DRM (Digital Radio Mondiale), DVB (con DVB-T terrestre, DVB-C via cavo, DVB satellitare -S varietà) e ATSC (Dolby AC-3). Il primo di questi (DAB, DRM) è promosso da Europa, ATSC - dagli Stati Uniti. Queste piattaforme si differenziano, innanzitutto, per l'algoritmo di compressione prescelto per i dati audio digitali, il tipo di modulazione digitale e la procedura di codifica anti-rumore dell'ES.

Nonostante una significativa varietà di algoritmi di compressione dei dati audio digitali, la struttura di un codificatore che implementa un tale algoritmo di elaborazione del segnale può essere rappresentata sotto forma di un diagramma generalizzato mostrato in Fig. 4.1. Nel blocco di segmentazione di tempo e frequenza, il segnale audio originale viene suddiviso in componenti di sottobanda e segmentato nel tempo.La lunghezza del campione codificato dipende dalla forma della funzione temporale del segnale audio. In assenza di picchi improvvisi di ampiezza, viene utilizzato un cosiddetto campione lungo, che fornisce una risoluzione ad alta frequenza. In caso di brusche variazioni nell'ampiezza del segnale, la lunghezza del campione codificato diminuisce bruscamente, il che fornisce una risoluzione temporale più elevata. La decisione di modificare la lunghezza del campione codificato è presa dall'unità di analisi psicoacustica, calcolando il valore dell'entropia psicoacustica del segnale. Dopo la segmentazione, i segnali della sottobanda vengono normalizzati, quantizzati e codificati. Negli algoritmi di compressione più efficienti, non sono codificati i campioni stessi della SZ, ma i corrispondenti coefficienti MDCT.

Di solito, quando si comprime dati audio digitali, viene utilizzata la codifica entropica, che tiene conto contemporaneamente sia delle proprietà dell'udito di una persona che delle caratteristiche statistiche di un segnale sonoro. Tuttavia, il ruolo principale in questo è svolto dalle procedure per eliminare la ridondanza psicoacustica. Le leggi della percezione uditiva di un segnale sonoro sono prese in considerazione nell'unità di analisi psicoacustica. Qui, secondo un'apposita procedura, per ogni segnale di sottobanda, viene calcolato il massimo livello ammissibile di distorsione (rumore) di quantizzazione, al quale sono ancora mascherati dal segnale utile di tale sottobanda. Il blocco della distribuzione dinamica dei bit secondo i requisiti del modello psicoacustico seleziona per ogni sottobanda di codifica un numero tale minimo possibile al quale il livello di distorsioni causate dalla quantizzazione non superi la soglia della loro udibilità calcolata dal modello psicoacustico. Nei moderni algoritmi di compressione vengono utilizzate anche procedure speciali sotto forma di loop iterativi, che consentono di controllare la quantità di energia di distorsione di quantizzazione in sottobande con un numero insufficiente di bit disponibili per la codifica.

Gli algoritmi di compressione audio MPEG si basano sulle proprietà della percezione dei segnali sonori da parte dell'apparecchio acustico umano descritte nel primo capitolo. L'uso dell'effetto mascheramento può ridurre significativamente la quantità di dati audio, pur mantenendo una qualità del suono accettabile. Il principio qui è abbastanza semplice: "Se qualche componente non è udibile, non c'è traccia di trasmetterlo". In pratica, ciò significa che nella regione di mascheramento, il numero di bit per campione può essere ridotto a tal punto che il rumore di quantizzazione rimane ancora al di sotto della soglia di mascheramento. Pertanto, affinché un codificatore audio funzioni, è necessario conoscere le soglie di mascheramento per varie combinazioni di segnali di influenza. Un nodo importante nel codificatore del modello psicoacustico dell'udito (PAM) si occupa del calcolo di queste soglie. Analizza il segnale in ingresso a intervalli di tempo successivi e determina per ogni blocco di campioni le componenti spettrali e le corrispondenti regioni di mascheramento. Il segnale in ingresso viene analizzato nel dominio della frequenza; per questo, un blocco di campioni prelevati nel tempo viene convertito utilizzando una trasformata discreta di Fourier in un insieme di coefficienti per le componenti dello spettro di frequenza del segnale. Gli sviluppatori di codificatori a compressione hanno una notevole libertà nella costruzione del modello, l'accuratezza del suo funzionamento dipende dal rapporto di compressione richiesto.

Codifica di banda e banco di filtri. Il metodo migliore per codificare il suono, tenendo conto dell'effetto di mascheramento, è la codifica passa banda. La sua essenza è la seguente. Un gruppo di campioni del segnale audio in ingresso, chiamato frame, viene inviato a un banco di filtri (BF), che contiene, di regola, 32 filtri passa banda. Considerando il pan delle bande critiche e del mascheramento, sarebbe bene avere nel banco filtri delle bande passanti che coincidano con quelle critiche se possibile. Tuttavia, l'implementazione pratica di un banco di filtri digitali con bande disuguali è piuttosto complicata e giustificata solo in dispositivi di classe più elevata.Di solito, un banco di filtri basato su specchi in quadratura (W. fossati con larghezze di banda uguali, coprendo l'intera banda di frequenza udibile con una piccola sovrapposizione reciproca) (Fig. 4.2) In questo caso, la larghezza di banda del filtro è uguale a π / 32T e le frequenze centrali delle bande sono uguali a (2k + 1) π / 64T, dove T è il periodo di campionamento;

k = 0,1, ..., 31. Ad una frequenza di campionamento di 48 kHz, la banda passante della sezione del filtro è di 750 Hz.

L'uscita di ciascun filtro è quella parte del segnale di ingresso che cade nella banda passante di questo filtro. Inoltre, in ciascuna banda mediante PAM, viene analizzata la composizione spettrale del segnale e viene stimata quale parte del segnale deve essere trasmessa senza riduzioni, e quale si trova al di sotto della soglia di mascheramento e può essere riquantizzata a un numero inferiore di bit . Poiché, nei segnali audio reali, l'energia massima è solitamente concentrata in più bande di frequenza, può risultare che i segnali in altre bande non contengano suoni distinguibili e potrebbero non essere trasmessi affatto, la presenza, ad esempio, di un segnale forte in una banda significa che diverse bande sovrapposte verranno mascherate e potranno essere codificate con meno bit di scarto.

Per ridurre la gamma dinamica massima, viene determinato il campione massimo nel frame e viene calcolato un fattore di scala che porta questo campione al livello di quantizzazione più alto. Questa operazione è simile al companding nella trasmissione analogica. Tutti gli altri campioni vengono moltiplicati per lo stesso fattore. Il fattore di scala viene trasmesso al decoder insieme ai dati codificati per correggere il guadagno di quest'ultimo. Dopo lo scaling, viene stimata la soglia di mascheramento e il numero totale di bit viene riallocato tra tutte le bande.

Quantizzazione e allocazione dei bit. Tutte le operazioni di cui sopra non hanno ridotto in modo significativo la quantità di dati; erano, per così dire, una fase preparatoria per l'effettiva compressione del suono. Come con la compressione video digitale, la maggior parte della compressione avviene nel quantizzatore. In base alle decisioni prese dal PAM circa la riquantizzazione dei campioni in bande di frequenza separate, il quantizzatore modifica il passo di quantizzazione in modo tale da avvicinare il rumore di quantizzazione della banda data alla soglia di mascheramento calcolata. In questo caso, un campione potrebbe invece richiedere solo 4 o 5 bit.

La decisione sulle componenti del segnale trasmesso in ciascuna banda di frequenza avviene indipendentemente dalle altre, ed è necessario un certo "dispatcher" che assegni a ciascuno dei segnali a 32 bande una parte della risorsa di bit comune corrispondente al significato di questo segnale nel insieme generale. Il ruolo di tale dispatcher è svolto da un allocatore di bit dinamico.

Sono possibili tre strategie di allocazione dei bit.

In un sistema di adattamento diretto, l'encoder esegue tutti i calcoli e invia i risultati al decoder. Il vantaggio di questo metodo è che l'algoritmo di allocazione dei bit può essere aggiornato e modificato senza influenzare il funzionamento del decodificatore. Tuttavia, l'invio di dati aggiuntivi al decodificatore consuma una parte significativa del margine di bit totale.

Il sistema adattivo all'indietro esegue gli stessi calcoli sia nell'encoder che nel decoder, quindi non è necessario inviare dati aggiuntivi al decoder. Tuttavia, la complessità e il costo del decoder è molto più elevato rispetto alla versione precedente e qualsiasi modifica nell'algoritmo richiede l'aggiornamento o la rielaborazione del decoder.

Un sistema di compromesso con adattamento in avanti e all'indietro separa le funzioni di calcolo dell'allocazione dei bit tra l'encoder e il decoder in modo tale che l'encoder esegua i calcoli più complessi e invii solo i parametri chiave al decoder, spendendo su di esso relativamente pochi bit , il decoder esegue solo semplici calcoli. In un tale sistema, l'encoder non può essere modificato in modo significativo, ma è possibile regolare alcuni parametri.

Uno schema generalizzato di un codificatore e decodificatore audio che esegue la compressione digitale secondo l'algoritmo descritto con adattamento diretto è mostrato in Fig. 4.3, a. I segnali all'uscita delle bande di frequenza sono combinati in un unico flusso digitale utilizzando un multiplexer.

Nel decoder, i processi si verificano nell'ordine inverso. Il segnale viene demultiplexato, dividendo per un fattore di scala, i valori originali dei campioni digitali nelle bande di frequenza vengono ripristinati e inviati al banco di filtri unificante, che forma in uscita un flusso di dati audio adeguato a quello in ingresso da il punto di vista della percezione psicofisiologica del segnale audio da parte dell'orecchio umano.

Famiglia di standard MPEG

MPEG sta per Moving Picture Coding Experts Group, letteralmente - Moving Picture Coding Experts Group. MPEG risale al gennaio 1988. A partire dal primo incontro nel maggio 1988, il gruppo ha iniziato a crescere ed è cresciuto fino a diventare un team molto ampio di specialisti. In genere, a un meeting MPEG partecipano circa 350 professionisti provenienti da più di 200 aziende. La maggior parte dei membri MPEG sono specialisti impiegati in varie istituzioni scientifiche e accademiche.

Standard MPEG-1

Lo standard MPEG-1 (ISO/IEC 11172-3) include tre algoritmi di diversi livelli di complessità: Layer I, Layer II e Layer III. La struttura generale del processo di codifica è la stessa per tutti i livelli. Tuttavia, nonostante la somiglianza dei livelli nell'approccio generale alla codifica, i livelli differiscono nell'uso sinistro e nei meccanismi interni. Per ogni livello viene definito un flusso digitale (larghezza bit totale) e viene progettato un proprio algoritmo di decodifica MPEG-1 per codificare segnali digitalizzati con una frequenza di campionamento di 32, 44,1 e 48 KHz. Come accennato in precedenza, MPEG-1 ha tre strati (Layer I, II e III). Questi livelli differiscono per il rapporto di compressione fornito e la qualità del suono dei flussi risultanti. MPEG-1 normalizza i seguenti bit rate nominali per tutti e tre i livelli: 32, 48, 56, 64, 96, 112, 192, 256, 384 e 448 kbps, il numero di livelli di quantizzazione del segnale in ingresso va da 16 a 24. Ingresso standard ^ Viene ricevuto il segnale digitale AES/EBU per l'encoder MPEG-1 (segnale audio digitale a due canali con un bit di quantizzazione bit per report) Sono fornite le seguenti modalità di funzionamento dell'encoder audio:

■ singolo canale (mono);

■ doppio canale (stereo o due canali mono);

■ stereo congiunto (segnale con parziale separazione dei canali destro e sinistro). La caratteristica più importante di MPEG-1 è la piena compatibilità con le versioni precedenti di tutti e tre i livelli. Ciò significa che ogni decoder può decodificare segnali non solo propri, ma anche di quelli dei livelli inferiori.

L'algoritmo di livello I si basa sul formato Digital Compact Cassette (DCC) sviluppato da Philips per la registrazione su cassette compatte. La codifica Layer 1 viene utilizzata dove il grado di compressione non è molto importante e la complessità e il costo dell'encoder e del decoder sono fattori determinanti. L'encoder Layer I offre audio di alta qualità a un bit rate di 384 kbps per programma stereo.

Il livello II richiede un codificatore più complesso e un decodificatore un po' più complesso, ma fornisce una migliore compressione: la trasparenza del canale è già ottenuta a 256 kbps. Consente fino a 8 codifiche/decodifica senza un notevole degrado della qualità del suono. L'algoritmo di livello P si basa sul popolare formato MUSICAM in Europa.

Il Livello III più complesso include tutti gli strumenti di compressione di base: codifica a larghezza di banda, DCT aggiuntivo, codifica entropica, PAM avanzato. A causa della complessità dell'encoder e del decodificatore, fornisce un alto grado di compressione: si ritiene che un canale "trasparente" sia formato a una velocità di 128 kbps, sebbene sia possibile una trasmissione di alta qualità a velocità inferiori. Lo standard raccomanda due modelli psicoacustici: un Modello 1 più semplice e uno più complesso, ma anche un Modello 2 di qualità superiore. Differiscono nell'algoritmo di elaborazione del campione. Entrambi i modelli possono essere utilizzati su tutti e tre i livelli, ma il Modello 2 ha una modifica speciale per il Livello III.

MPEG -1 si è rivelato il primo standard internazionale per la compressione digitale dei segnali audio e questo ha portato alla sua diffusione in molti settori: broadcasting, registrazione del suono, comunicazioni e applicazioni multimediali. Il più diffuso è il Livello II, è diventato parte integrante della trasmissione televisiva europea satellitare, via cavo e digitale terrestre, degli standard per la diffusione sonora, della registrazione su DVD, delle Raccomandazioni ITU BS.1115 e J.52. Il livello III (chiamato anche MP-3) è ampiamente utilizzato nelle reti digitali di servizi integrati (ISDN) e in Internet.La stragrande maggioranza dei file musicali sulla rete è registrata in questo standard.

Codificatore di primo livello. Consideriamo più in dettaglio il lavoro dell'encoder di primo livello (Fig. 4.4). Il banco di filtri (BF) elabora contemporaneamente 384 o conteggi di dati audio e li distribuisce con un opportuno downsampling in 32 bande, 12 campioni in ciascuna banda con una frequenza di campionamento di 48/32 = 1,5 kHz. La durata del frame a una frequenza di campionamento di 48 kHz è di 8 ms. Un modello psicoacustico semplificato stima solo il mascheramento di frequenza dalla presenza e dal livello "istantaneo" delle componenti del segnale in ciascuna banda. In base ai risultati della valutazione, per ciascuna banda viene assegnata la quantizzazione più grossolana possibile, ma in modo che il rumore di quantizzazione non superi la soglia di mascheramento. I fattori di scala sono larghi 6 bit e coprono una gamma dinamica di 120 dB in passi di 2 dB. Il flusso digitale trasporta anche codici di allocazione a 32 bit. Sono larghi 4 bit e indicano la lunghezza della parola di codice campione in una data banda dopo la riquantizzazione.

Nel decoder, i campioni di ciascuna banda di frequenza vengono allocati da un demultiplatore e inviati a un moltiplicatore, che ripristina la loro gamma dinamica originale. Prima di ciò, viene ripristinata la profondità di bit originale dei campioni: i bit meno significativi scartati nel quantizzatore vengono sostituiti con zeri. I codici di allocazione dei bit aiutano il demultiplatore a separare le codeword appartenenti a campioni differenti e trasmesse dal codice a lunghezza variabile nel flusso seriale. I campioni di tutti i 32 canali vengono quindi inviati a un BF di sintesi, che sovracampiona e organizza i campioni in modo appropriato nel tempo, ripristinando la forma d'onda originale.

Encoder di secondo livello. Nell'encoder di secondo livello vengono eliminati i principali svantaggi del modello base di codifica a banda associati alla mancata corrispondenza tra le bande uditive critiche e le bande BF reali, motivo per cui l'effetto di mascheramento non è stato praticamente utilizzato nelle parti a bassa frequenza della gamma. La dimensione del frame è triplicata, fino a 24 ms con campionamento a 48 kHz, vengono elaborati 1152 campioni simultaneamente (3 subframe da 384 campioni ciascuno). Come segnale di ingresso per PAM, non vengono utilizzati segnali passa banda dall'uscita BF, ma i coefficienti spettrali ottenuti come risultato della trasformata di Fourier a 512 punti del segnale di ingresso dell'encoder. A causa dell'aumento sia della durata temporale del frame che dell'accuratezza dell'analisi spettrale, l'efficienza dell'operazione PAM aumenta.

Al secondo livello viene applicato un algoritmo di allocazione dei bit più complesso. Le strisce con numeri da 0 a 10 vengono elaborate con un codice di distribuzione a quattro cifre (selezione di una delle 15 scale di quantizzazione), per strisce con numeri da 11 a 22, la selezione si riduce a 3 cifre (selezione di una delle 7 scale) , le strisce con numeri da 23 a 26 consentono la selezione di una delle 3 scale (codice a due bit) e le bande con numeri da 27 a 31 (sopra i 20 kHz) non vengono trasmesse. Se le scale di quantizzazione selezionate per tutti i blocchi del frame sono le stesse, il numero di scala viene trasmesso una sola volta.

Un'altra differenza significativa dell'algoritmo di secondo livello è che non tutti i fattori di scala vengono trasmessi sul canale di comunicazione. Se la differenza tra i moltiplicatori di tre sottoframe consecutivi supera i 2 dB per non più del 10% del tempo, viene trasmessa una sola serie di moltiplicatori e questo consente di risparmiare bit sprecati. Se si verificano rapidi cambiamenti nel livello sonoro in una data banda, vengono trasmessi due o tutti e tre i gruppi di fattori di scala. Di conseguenza, il decodificatore deve ricordare i numeri delle quantizzazioni e dei fattori di scala selezionati e applicarli, se necessario, al sottoframe successivo. Codificatore di terzo livello. L'encoder Layer III utilizza un algoritmo di codifica DCT complementare avanzato.

Il principale svantaggio degli encoder di secondo livello - elaborazione inefficace di transizioni e salti nel livello sonoro che cambiano rapidamente - viene eliminato dall'introduzione di due tipi di blocchi DCT: "lungo" con 18 campioni e "corto" con 6 campioni. La scelta della modalità viene effettuata in modo adattivo commutando le funzioni della finestra in ciascuna delle 32 bande di frequenza. I blocchi lunghi forniscono una migliore risoluzione della frequenza del segnale con caratteristiche standard, mentre i blocchi corti migliorano l'elaborazione della transizione rapida. In un frame possono esserci sia blocchi lunghi che corti, tuttavia, il numero totale di coefficienti DCT non cambia, poiché invece di uno lungo, vengono trasmessi tre blocchi brevi. I seguenti miglioramenti vengono applicati anche per migliorare la codifica.

■ Quantizzazione non uniforme (il quantizzatore eleva i campioni alla potenza 3/4 prima della quantizzazione per migliorare il rapporto segnale/rumore; di conseguenza, il decoder li eleva alla potenza 4/3 per la linearizzazione inversa).

■ A differenza degli encoder del primo e del secondo livello, al terzo livello i fattori di scalatura non sono assegnati a ciascuna delle 32 bande di frequenza BF, ma alle bande di scala - parti dello spettro non associate a queste bande e corrispondenti approssimativamente alle bande critiche .

■ Codifica entropica di coefficienti quantizzati con codice di Huffman.

■ La presenza di un "serbatoio di bit" - il margine che l'encoder crea durante i periodi di un segnale di ingresso stazionario.

L'encoder di terzo livello elabora in modo più completo il segnale stereo nel formato stereo congiunto (MS Stereo). Se gli encoder degli strati inferiori operano solo in modalità di codifica dell'intensità, quando i canali sinistro e destro nelle bande superiori a 2 kHz sono codificati come un segnale (ma con fattori di scala indipendenti), l'encoder di terzo livello può operare anche in somma-differenza modalità, fornendo un rapporto di compressione più elevato del canale differenziale. Il segnale stereo viene scomposto nella media tra i canali e la differenza. In questo caso, il secondo è codificato a una velocità inferiore. Ciò consente di aumentare leggermente la qualità della codifica in una situazione normale quando i canali sono in fase. Ma questo porta anche al suo netto deterioramento se vengono codificati segnali fuori fase in fase, in particolare uno sfasamento è quasi sempre presente nelle registrazioni digitalizzate da audiocassette, ma si verifica anche su CD, soprattutto se il CD stesso è stato registrato una volta da nastro audio...

Nell'ambito del terzo livello, la codifica di un segnale stereo è consentita con altri tre metodi diversi.

■ Joint Stereo (MS/IS Stereo) introduce un'altra tecnica di semplificazione del segnale stereo che migliora la qualità della codifica a velocità di trasmissione particolarmente basse. Consiste nel fatto che per alcune gamme di frequenza non rimane nemmeno il segnale differenza, ma solo il rapporto tra le potenze del segnale nei diversi canali. È chiaro che per codificare queste informazioni viene utilizzato un tasso ancora più basso. A differenza di tutti gli altri, questo metodo comporta una perdita di informazione di fase, ma il risparmio di spazio a favore del segnale medio è maggiore quando si tratta di velocità molto basse. Questa modalità viene utilizzata per impostazione predefinita per le alte frequenze a velocità da 96 kbps e inferiori (questa modalità non è praticamente utilizzata da altri encoder di alta qualità). Ma, come già accennato, quando viene applicata questa modalità, l'informazione di fase viene persa. Inoltre, viene perso anche qualsiasi segnale fuori fase.

■ Dual Channel: ogni canale riceve esattamente metà del flusso ed è codificato separatamente come segnale mono. Il metodo è consigliato principalmente nei casi in cui canali diversi contengono segnali fondamentalmente diversi, ad esempio testo in lingue diverse. Questa modalità è impostata in alcuni encoder su richiesta.

■ Stereo: ogni canale è codificato separatamente, ma l'encoder può decidere di dare a un canale più spazio rispetto all'altro. Questo può essere utile nel caso in cui, dopo aver scartato una parte del segnale che è al di sotto della soglia di udibilità o è completamente mascherato, il codice non riempie completamente il volume assegnato a un determinato canale e l'encoder è in grado di utilizzare questo posto per codificare un altro canale. Questo, ad esempio, evita di codificare "silenzio" su un canale quando c'è un segnale sull'altro. Questa modalità viene utilizzata a velocità superiori a 192 kbps. È applicabile anche a velocità inferiori dell'ordine dei kbps.

I principali encoder Tier III utilizzati sono gli encoder di XingTech, gli encoder di FhG IIS e gli encoder basati sul codice sorgente ISO.

Gli encoder di XingTech non differiscono per la codifica di alta qualità, ma sono abbastanza adatti per la codifica di musica elettronica. La loro velocità li rende encoder ideali per la musica che non richiede una codifica di alta qualità.

Gli encoder FhG IIS sono rinomati per la loro qualità di codifica superiore a velocità in bit medio-basse, grazie al modello psicoacustico più adatto a tali velocità. Tra gli encoder console in questo gruppo, 13ps 2.61 è il più preferito. Finora viene utilizzato anche l'encoder MP3PS 3.1, ma quest'ultimo non è stato seriamente testato da nessuno. Altri codificatori, come Audio Active o MP3 Producer, presentano notevoli svantaggi, principalmente a causa di opzioni di personalizzazione limitate e un'interfaccia sottosviluppata.

Il resto degli encoder discendono dal codice sorgente ISO. Ci sono due principali direzioni di sviluppo: ottimizzazione del codice per la velocità e ottimizzazione dell'algoritmo per la qualità. La prima direzione è stata meglio rappresentata dall'encoder BladeEnc, che utilizza il modello ISO originale, ma ha apportato molte ottimizzazioni del codice, e il secondo modello è rappresentato da mpegEnc.

L'encoder MP3Pro è stato annunciato nel luglio 2001 da Coding Technologies in collaborazione con Tomson Multimedia e il Fraunhofer Institute. Il formato MP3Pro è uno sviluppo di livello III (MP3). MP3Pro è compatibile con MP3 all'indietro (completo) e in avanti (parzialmente), ovvero i file codificati con MP3Pro possono essere riprodotti in lettori convenzionali. Tuttavia, la qualità del suono è notevolmente peggiore rispetto a quando viene riprodotta in un lettore speciale. Ciò è dovuto al fatto che i file MP3Pro hanno due flussi audio, mentre i normali lettori riconoscono solo un flusso in essi, ovvero il normale MPEG-1 Layer 3.

MP3Pro utilizza una nuova tecnologia: SBR (Spectral Band Replication). È progettato per trasmettere la gamma di frequenza superiore. Il fatto è che le precedenti tecnologie per l'utilizzo di modelli psicoacustici hanno un inconveniente comune: funzionano tutte in modo efficiente, a partire da una velocità di 128 kbps. A velocità inferiori iniziano vari problemi: o è necessario tagliare la gamma di frequenze per trasmettere il suono, oppure la codifica porta alla comparsa di vari artefatti. La nuova tecnologia SBR integra l'uso dei modelli psicoacustici. Viene trasmessa (codificata) una gamma di frequenze leggermente più ristretta del solito (cioè con "alti" tagliati) e le alte frequenze vengono ricreate (ripristinate) dal decodificatore stesso in base alle informazioni sulle componenti a frequenza più bassa. Pertanto, la tecnologia SBR viene effettivamente utilizzata non tanto nella fase di compressione quanto nella fase di decodifica. Il secondo flusso di dati, di cui sopra, è proprio l'informazione minima necessaria che viene utilizzata durante la riproduzione per ripristinare le alte frequenze. Non è ancora noto esattamente quali informazioni trasporta questo flusso, ma gli studi hanno dimostrato che queste informazioni riguardano la potenza media in diverse bande di frequenza superiori.

Compressione audio per gli amanti della musica

la verità sulla compressione con perdita di bitrate elevata

Prefazione

Nella comprensione della maggior parte delle persone, la parola amante della musica il più delle volte è associato a una persona che non solo ama e colleziona musica, ma apprezza anche la musica di alta qualità, e non solo in termini artistici ed estetici, ma anche la qualità della registrazione del fonogramma stesso. Basti pensare che qualche anno fa un CD audio era considerato lo standard di qualità musicale, ma un computer, anche nei sogni, non poteva competere con la qualità del CD. Tuttavia, il tempo è un grande burlone e spesso gli piace capovolgere tutto. Sembrerebbe che sia passato un bel po' di tempo, qualche anno o due e... ecco, il CD sul PC è passato in secondo piano. Non chiedere "perché?", tu stesso conosci la risposta a questa domanda. È tutta colpa della rivoluzione nel mondo del suono al computer - compressione audio (di seguito sotto compressione audio significa compressione con perdita per ridurre le dimensioni del file audio), che ha permesso di memorizzare musica sul disco rigido, molta musica! Inoltre, è diventato possibile scambiarlo via Internet. Sono state rilasciate nuove schede audio, in grado di "spremere" la qualità quasi da studio da un hardware apparentemente inutile in termini di musica. Oggi, pur avendo un computer poco intelligente nelle prestazioni, aver acquistato una scheda audio Creative SoundBlaster Live! e ricordando che fin dall'epoca sovietica c'è un buon amplificatore e una buona acustica, non otterrai altro che un centro musicale di alta qualità, il cui suono è inferiore solo a apparecchiature audio molto costose (media o addirittura la più alta categoria Hi-Fi ). Aggiungi a questo la disponibilità generale di file musicali e sai di avere il potere nelle tue mani. E poi avviene una rivoluzione e capisci che un compact disc non è più così conveniente, sei affascinato da qualcosa di completamente diverso: i segni magici di "MP3". Non puoi né mangiare né dormire: ti trovi di fronte alla domanda apparentemente insolubile di "pollo e uova": come "spremere" e, soprattutto, come "spremere" ...

Dei formati di compressione audio che esistono oggi, tre meritano attenzione, secondo me: MP3 (o MPEG-1 Audio Layer III), LQT (come rappresentante della famiglia MPEG-2 AAC / MPEG-4) e il nuovissimo OGG format (Ogg Vorbis ) sviluppato da un gruppo di appassionati:

  • MP3 è di gran lunga il più utilizzato di questi (principalmente perché è gratuito). Vi ricordo che è stato grazie al formato MP3 che ha avuto luogo la vittoriosa processione dell'audio compresso. Tuttavia, come spesso accade con i pionieri, sta gradualmente perdendo terreno e lasciando il posto a formati nuovi e migliori.
  • Il secondo formato, LQT, è un rappresentante di una nuova direzione degli algoritmi di codifica audio, un rappresentante della famiglia AAC. Questo è un formato di qualità piuttosto elevata, ma commerciale e altamente classificato.
  • OGG è diventato ampiamente noto al pubblico questa estate e attualmente si sta sviluppando rapidamente, presto (con il rilascio dell'encoder e del decoder) dovrebbe battere MP3 con una migliore qualità del suono con una dimensione del file più piccola.

Non fornirò una descrizione dettagliata delle tecnologie e dei formati qui, puoi trovarli facilmente da solo. Ci saranno solo fatti, conclusioni e raccomandazioni. Ho intenzione di presentare la mia ricerca separatamente per ogni formato in articoli separati.

L'obiettivo

Ho deciso di "spostare" i tre formati specificati per ottenere la massima qualità del suono con la dimensione minima del file. Diversi campioni sono stati selezionati per il test (qui un campione è un piccolo frammento tagliato da un file PCM) da due tipi di composizioni. Il primo è un suono molto denso e forte con normalizzazione dell'ampiezza (compattazione del suono "verticalmente" in modo che rientri nei 16 bit di un master a 24 bit) e compressione della gamma dinamica (in modo che il suono di tutti gli strumenti sia sempre ad alta voce). Come primo tipo (come nei miei test precedenti), è stata scelta la composizione Crush On You dall'album Have A Nice Day dei Roxette, sono stati esaminati tre campioni di 15-20 secondi ciascuno da diverse parti della composizione. Il secondo campione è pulito e trasparente (arrangiamento orchestrale o acustico leggero). Il secondo tipo è stato tratto dalla composizione Mano a Mano dall'album Tango del famoso pianista Richard Clayderman.

Perché questi record particolari? I campioni Roxette hanno una compressione dinamica molto forte (il valore dell'ampiezza è molto spesso uguale al massimo (il che è negativo) e porta a un sovraccarico dell'apparecchiatura di riproduzione e a forti distorsioni).

Su tali campioni, i codificatori devono lavorare in modalità estrema, a causa della quale qualsiasi distorsione diventa facilmente udibile. le distorsioni di codifica si aggiungono alle distorsioni intrinseche già esistenti dell'originale. Chiedi "perché allora prendere un campione del genere come test?" È necessario e come. La stragrande maggioranza degli album attualmente pubblicati viene registrata in questo modo. Pertanto, l'encoder deve accettare il suono overdrive in modo appropriato.

Con i campioni di Klaiderman la situazione è diametralmente opposta. La registrazione analogica originale dopo una rimasterizzazione digitale di altissima qualità è stata registrata su CD e senza compressione dinamica.

Suono fantastico, alti molto piacevoli e morbidi. Ad essi presteremo particolare attenzione durante l'analisi, cercheremo di preservarli. Ma sono queste frequenze che saranno le più difficili da trasmettere per i programmatori.

Di "stampa"

La mia ricerca sulla qualità di riferimento per diversi bitrate ed encoder MP3 è espressa in OrlSoft MPeg eXtension. I parametri di codifica vengono selezionati in base ai risultati del test.

Il leader indiscusso nella qualità ad alto bitrate è l'encoder LAME. Gli encoder Fraunhofer IIS sono ancora validi solo per bitrate bassi - per 128 e 160 kbps. Non parlerò nemmeno degli altri. Proprio in NESSUN CASO, non scherzare con gli encoder basati sul codice XING (il rappresentante più famoso è Audio Catalyst) - questi sono i peggiori, il suono è semplicemente orribile.

Per la maggior parte degli utenti del formato MP3, il problema dell'alta qualità del suono si pone solitamente come segue: "256 o 320? Forse provare VBR?" E questa domanda li tormenta giorno dopo giorno. Non tutte le registrazioni suonano bene in 256 - c'è una perdita (misurata) molto udibile e visibile nella regione delle alte frequenze. Quando si utilizza la modalità VBR (il cosiddetto flusso di bit rate variabile), capita spesso che la musica suoni meglio a orecchio di 256, ma questo non dovrebbe essere preso come regola generale. Codifica record di scarso valore o di qualità non molto elevata: non puoi sbagliare. Ho selezionato i parametri VBR per ottenere la massima qualità per VBR.

Per il formato commerciale LQT, esiste solo un codificatore proprietario degli autori: Liquifier Pro. Li premiamo. Nota che il formato LQT è originariamente basato sulla codifica VBR, quindi ci sono semplicemente diverse modalità come "cattivo", "buono" ed "eccellente". Naturalmente, per i nostri test prendiamo la modalità "eccellente" (Audiophile), che si traduce in un flusso da 192 a 256, il più delle volte 200-220 kbps. Permettetemi di ricordarvi che il formato LQT si basa sulla famiglia di algoritmi MPEG-2 AAC. Inoltre, questa è l'implementazione della CAA di più alta qualità fino ad oggi (testata su analoghi).

Il formato OGG è un parente del formato MP3, ma contiene un diverso modello psicoacustico e alcune innovazioni tecniche che MP3 non ha. Per cominciare, OGG inizialmente supporta solo la modalità VBR. L'utente imposta il bit rate approssimativo e l'encoder cerca di comprimerlo il più vicino possibile. Il range di variazione è estremamente ampio: da 8 a 512 kbps, ed è molto più discreto di quello di MP3. La barra superiore arriva fino a 512 kbit/s, mentre oggi gli encoder MP3 "tirano" davvero solo fino a 320. Potresti chiederti "è possibile che anche 320 non sia abbastanza?" Sì, succede, ma raramente.

Campioni Roxette

Bene, veniamo alla parte più interessante. Cominciamo con le mie sensazioni uditive.

Per MP3 su un flusso a 256 kbps, i disturbi nel suono delle alte frequenze sono chiaramente udibili. Non solo una parte considerevole di essi è assente nel suono, ma si mescolano anche forti distorsioni, respiro sibilante, clangore metallico e altri "fascini". Questo è un segno che 256 chiaramente non è sufficiente, quindi dobbiamo provare più in alto. Prendiamo un campione compresso di 320. Il suono è cambiato in modo significativo - questa è una questione completamente diversa: la parte superiore è a posto, nessuna differenza è stata trovata a orecchio. Per la purezza dell'esperimento, vediamo cosa succede nella modalità a flusso variabile. Otteniamo un bitrate medio di 290 kbit/s, da cui la conclusione stessa suggerisce che 256 per il campione in esame non saranno sufficienti. In effetti, un campione codificato in modalità VBR suona leggermente meglio di 256, ma chiaramente non raggiunge 320. Nel caso di utilizzo di MP3, solo la codifica a 320 kbps è adatta per la compressione di alta qualità, ad es. al massimo delle possibilità.

Prendiamo OGG come "MP3 modificato". Ci sono cinque bit rate approssimativi per l'encoder: 128, 160, 192, 256 e 350. Bene, proviamo 192 e 256. Non prenderemo 350 bit rate, perché sappiamo già che l'MP3 a 320 kbps trasmette una qualità chiaramente eccellente, sembra che non sia necessario di meglio. Per la modalità 192, otteniamo un flusso medio di 226 e per la modalità 256 - fino a 315 kbps. Alla faccia della precisione. Una deviazione così grande dal punto di riferimento è un segnale per un materiale sonoro molto difficile da codificare; con un campione con una densità più semplice, la precisione sarà maggiore. Ad essere sincero, ho provato a valutare 320 MP3 e 315 OGG per molto tempo e sono giunto alla conclusione che entrambi suonano quasi identici al suono originale. Ma si basano su diversi modelli psicoacustici e hanno diversi colori del suono. Personalmente, mi è piaciuto un po' di più l'MP3. Tuttavia, questo è davvero un punto controverso: dopotutto, il codificatore OGG è ancora solo una versione beta. Quando c'è un rilascio, penso che dovrebbe superare l'MP3 in termini di qualità. Confrontandoli separatamente con l'originale, ero propenso a credere che l'OGG fosse ancora più vicino al suono dell'originale, ma c'è qualcosa che non va con le alte frequenze di questo encoder. Per questo motivo, l'MP3 suona un po' meglio. Non credo sia necessario dire che nella modalità 350 (il bitrate medio era 365) OGG ripete "perfettamente" l'originale.

Ora circa un formato poco conosciuto, ma ampiamente pubblicizzato come il formato "di massima qualità": il formato LQT. E, cosa più importante, suona davvero molto bene in generale, tuttavia, dopo averlo ascoltato, mi sono reso conto che non mi piaceva nel suo suono. Non distorce le alte frequenze, come MP3 a 256 kbps, ma macchia il suono e sbava molto. I suoni duri sono sfocati nel tempo. Sì, questo è male. Ma il fatto è che confrontare LQT a un bitrate di soli 230 kbps con MP3 allo stesso bitrate è inutile, l'MP3 perde nel suono generale. Certo, c'è qualcosa in cui trovare un difetto. L'MP3 perde e distorce le frequenze superiori, mentre l'LQT, a sua volta, "cade un po' attraverso" le frequenze medie e macchia quelle superiori. In generale, qui a chi piacerà qualcosa di più. Ma questo è un argomento per un altro articolo. Oggi parliamo solo di bitrate più alti. Sì, LQT è di buona qualità, ma non eccezionale. Apparentemente, ciò è dovuto alla mancanza di velocità del flusso, ovvero se una modalità di bitrate più elevata appare in LQT, batterà anche MP3 a 320 kbps su dischi del tipo in esame.

Queste erano le mie impressioni puramente soggettive. Passiamo ora a test più oggettivi. Indaghiamo la risposta in frequenza (cioè risposta in frequenza) campioni riconosciuti come i migliori (320 per MP3, 315 per OGG e 230 per LQT). Il diagramma presentato - il cosiddetto "sonarm" - è una rappresentazione tempo-frequenza del suono. La scala temporale è posizionata orizzontalmente e la scala della frequenza lineare è posizionata verticalmente.

Hai guardato da vicino? Ecco una chiara conferma delle mie parole: il nuovissimo formato Ogg Vorbis in modalità 256 è chiaramente al di sotto del "top" - il taglio di frequenza può essere visto ad occhio nudo. Il formato LQT "super commerciale" sembra offrire una gamma di alti migliore rispetto a LAME, ma la qualità complessiva è peggiore. Il fatto è che in LQT non esiste una modalità stereo pura - lì, infatti, sempre Joint-Stereo (l'encoder comprime prima il canale sinistro e quindi codifica solo la differenza tra sinistro e destro). Per questo motivo, i vertici sono macchiati di una mancanza di bitrate, che è perfettamente visibile nelle illustrazioni, inoltre questa conclusione è facilmente confermata esaminando il segnale nella matrice MS, ad es. quando lo si trasferisce al canale centrale + modalità stereo. Cosa possiamo dire del campione LAME ... tutto va bene - le frequenze superiori sono un po' tagliate, ma questo è tollerabile; non sono stati notati nemmeno cali visibili.

Riassumiamo. Al traguardo per il campione Roxette, i formati OGG e LQT a 256 kbps hanno lasciato la gara, il campione OGG a 350 kbps non è inferiore al leader. Tuttavia, non seppelliremo il nuovo formato in anticipo: aspetteremo il rilascio. Quindi eseguiremo di nuovo i test: OGG 256 contro LAME 320.

Campioni di Richard Clayderman

Tutto sembra essere chiaro con i campioni Roxette - per ora è meglio comprimere un suono denso con l'encoder LAME in modalità 320 kbps. Che ne dici di un suono più trasparente? Per prima cosa, proviamo a comprimere in modalità 256 kbps e, in teoria, tutti dovrebbero essere contenti. Risultato: le basse frequenze sembrano a posto, e anche quelle medie, ma le alte frequenze... le alte frequenze sono sparite! Sono lì, ma non hanno quel bel suono, a cui è molto difficile non prestare attenzione in questa registrazione. Le alte frequenze sono generalmente a posto e non ci sono forti perdite, ma il suono dei "piatti" è diventato una specie di sintetico, aspro e molto sgradevole. Tale suono non ha il diritto di rivendicare il titolo di suono di qualità. Bene, dovrai usare di nuovo 320, ma volevi comprimerlo in 256 ... Se confronti 320 con il suono di 256, gli alti sono molto migliori. Tuttavia, rispetto all'originale, si può sentire che la registrazione non è ancora soddisfacente in termini di qualità. Dopo aver confrontato qualche altro campione, diventa ovvio che si tratta di errori del modello psicoacustico. Anche a 320 kbps, l'MP3 non trasmette le alte frequenze normalmente sul tipo di registrazioni in esame. Le frequenze superiori diventano più nitide, più metalliche, odorano di materiale sintetico e, stranamente, sembrano più rumorose (le misurazioni della risposta in frequenza non lo dimostrano - un effetto puramente uditivo).

Esaminiamo ora Ogg Vorbis. Come nel test precedente, prendiamo campioni compressi a 256 kbps. Dopo il fallimento con MP3, è difficile credere nel risultato: il suono di Ogg Vorbis è migliore sotto tutti gli aspetti e non può essere paragonato a quello che produce il LAME a 320 kbps! Confrontando con l'originale, è anche molto difficile dire la differenza. Ogg Vorbis a 287 batte LAME a 320. Questo è esattamente quello che ho detto all'inizio dell'articolo: il formato OGG potrebbe benissimo battere l'MP3.

Bene, cosa può dirci il formato LQT intitolato a un bitrate di soli 252? Ma anche qui si ottiene un risultato scioccante: una corrispondenza estremamente vicina all'originale! Almeno, la differenza è così piccola che può essere considerata insignificante. Inoltre, presta attenzione a un fatto interessante: durante la codifica dei campioni Roxette, il bitrate medio era di circa 230 kbps e su campioni Clayderman apparentemente più semplici - 250 kbps. Ciò suggerisce che LQT si adatta molto meglio al vero suono della musica, tiene conto di tutte le sfumature in modo più accurato. Ottimo formato. Qui avrebbe un codificatore normale senza trucchi e un bitrate leggermente più alto in modo da poter codificare campioni più complessi.

Questi erano i miei studi "uditivi" soggettivi. Ora diamo un'occhiata alla risposta in frequenza.

E ancora, l'analisi della risposta in frequenza dei segnali conferma solo le mie conclusioni dai risultati di ascolto: l'LQT dà semplicemente un risultato eccezionale, questa volta migliore del LAME. L'eccellente risposta in frequenza e la perdita a 21 kHz sono rumore ad alta frequenza remoto, che è persino il benvenuto. LAME è in ritardo, ma non di molto. Come previsto, la risposta in frequenza di MP3 va bene. Ma la risposta in frequenza del campione Ogg Vorbis è stata deludente: guardate il taglio di frequenza. Ma suona meglio di quanto si possa pensare guardando la sua risposta in frequenza. Apparentemente, tagliando alcune frequenze, è possibile trasmettere in modo più accurato l'immagine sonora complessiva.

E cosa otteniamo alla fine? Due leader: LAME e LQT al massimo bitrate. OGG calpesta molto la scia di MP3 e vincerà in futuro se i suoi sviluppatori porteranno la loro idea all'incarnazione finale: dimensioni più piccole e migliore qualità.

Ricerca sul segnale delta

Il formato MP3 è migliore sulla maggior parte delle registrazioni grazie al suo elevato bit rate. Tuttavia, perde terreno quando abbiamo a che fare con un suono di altissima qualità. Qui LQT è il preferito in assoluto. Ma la differenza tra 256 e 320 non è così grande, quindi puoi spesso sacrificarla per un formato più conveniente e diffuso. Molte persone, me compreso, lo fanno nella loro libreria musicale e acquistano solo registrazioni particolarmente di alta qualità su dischi.

Tutto questo è certamente buono, ma i due formati suonano in modo diverso e questo perseguita molti. C'è un altro studio interessante. Il segnale differenza può essere calcolato (di seguito sarà indicato come segnale delta) di due campioni e scoprire così come differiscono. Questo è, ovviamente, uno studio puramente digitale, dal momento che la differenza potrebbe non essere abbastanza significativa da essere ascoltata. Nel nostro caso, tutto si è rivelato completamente diverso.

Il volume del segnale di differenza raggiunge -25 dB e la sua risposta in frequenza esternamente assomiglia fortemente al rumore a banda larga. Se ascolti il ​​segnale delta, suona come un insieme di distorsioni a banda larga, ad es. la differenza tra i modelli psicoacustici MP3 e LQT è chiaramente udibile in esso.

Confrontando MP3 con il formato OGG utilizzando lo stesso schema, non abbiamo ottenuto nulla di nuovo (la differenza, ovviamente, è minore, ma è comunque significativa):

Risultati simili si ottengono per la coppia LQT e OGG.

I risultati dello studio dei segnali delta indicano che i modelli psicoacustici dei tre formati considerati sono molto diversi tra loro e non ha senso confrontarli tra loro per la differenza di risposta in frequenza.

Conclusione

Bene, proviamo a trarre alcune conclusioni finali, presentandole sotto forma di consigli pratici:

  1. LAME è il miglior codificatore MP3 di sempre, che ti offre quasi il meglio che puoi ottenere da MP3. Per tutte le registrazioni molto rumorose e dense, consiglierei di utilizzare un 320 LAME.
  2. OGG è una modifica strutturale del formato MP3 con un nuovo modello psicoacustico, la cui elaborazione matematica e implementazione pratica è fondamentalmente diversa da MP3. Per le registrazioni di basso valore e di bassa qualità, andrà OGG in modalità 192 kbps (o LQT in modalità 128 Transparent, in media si ottengono 160-180 kbps).
  3. A differenza di MP3 e OGG, che sono codificatori MPEG-1, LQT si basa sulla specifica MPEG-2 AAC. Il formato AAC offre una qualità significativamente migliore a bit rate inferiori a causa dell'elaborazione audio fondamentalmente diversa. Per i record di valore medio, consiglio LQT (al massimo), o a tua scelta (la differenza tra loro è piccola): OGG a 256 kbps, LAME a 256. È meglio non usare la modalità VBR dell'encoder LAME, è è notevolmente peggio.
  4. Per registrazioni di altissima qualità, dove anche durante la codifica a 320 kbps, puoi sentire chiaramente l'assenza di qualcosa di significativo nel suono del campione, prova a codificare il campione con l'encoder Ogg Vorbis a 350 kbps.
  5. Se non sei ancora soddisfatto del suono compresso con perdita, dovrai acquistare i brani che ti piacciono su un disco CD-DA.

Forse una parte dell'articolo ti interessava di più. Scrivimi - Sarò molto felice di ricevere feedback.

Tecniche di compressione dati consolidate come RLE, metodi statistici e di vocabolario possono essere utilizzate per comprimere file audio senza perdita, ma il risultato dipende fortemente dai dati audio specifici. Alcuni suoni si comprimeranno bene con RLE, ma male con algoritmi statistici. La compressione statistica è più adatta per altri suoni, ma con un approccio a dizionario, al contrario, può verificarsi un'espansione. Ecco una breve descrizione dell'efficacia di questi tre metodi per la compressione dei file audio.

RLE funziona bene con i suoni che contengono lunghe serie di frasi sonore ripetitive - campioni. Con il campionamento a 8 bit, questo può accadere abbastanza spesso. Ricordiamo che la differenza di tensione tra due campioni a 8 bit è di circa 4 mV. Pochi secondi di musica omogenea, in cui l'onda sonora cambia di meno di 4 mV, genererà una sequenza di migliaia di campioni identici. Con il campionamento a 16 bit, ovviamente, le ripetizioni lunghe sono meno comuni e quindi l'algoritmo RLE sarà meno efficiente.

I metodi statistici assegnano codici di lunghezza variabile ai campioni sonori in base alla loro frequenza. Con il campionamento a 8 bit, ci sono solo 256 campioni diversi, quindi i campioni possono essere distribuiti uniformemente in un file audio di grandi dimensioni. Tale file non può essere compresso bene utilizzando il metodo Huffman. Con il campionamento a 16 bit, sono consentiti oltre 65.000 suoni. In questo caso, è possibile che alcuni campioni siano più comuni e altri meno comuni. Con una forte asimmetria delle probabilità, è possibile ottenere buoni risultati utilizzando la codifica aritmetica.

I metodi basati su dizionario presuppongono che determinate frasi vengano visualizzate frequentemente in tutto il file. Ciò accade in un file di testo in cui singole parole o sequenze di parole vengono ripetute molte volte. Il suono, invece, è un segnale analogico e i valori degli specifici campioni generati dipendono fortemente dal funzionamento dell'ADC. Ad esempio, con il campionamento a 8 bit, un'onda da 8 mV diventa un campione numerico di 2, ma un'onda vicina, ad esempio 7,6 mV o 8,5 mV, può diventare un numero diverso. Per questo motivo, i frammenti di discorso contenenti le stesse frasi e che suonano allo stesso modo per noi possono differire leggermente quando vengono digitalizzati. Quindi finiranno nel dizionario sotto forma di frasi diverse, che non daranno la compressione prevista. Pertanto, i metodi del dizionario non sono molto adatti per la compressione audio.

È possibile ottenere risultati migliori nella compressione audio con perdita di dati sviluppando tecniche di compressione che tengano conto della percezione del suono. Cancellano la parte dei dati che rimane non udibile dagli organi uditivi. È come comprimere immagini, scartare informazioni invisibili agli occhi. In entrambi i casi si parte dal fatto che l'informazione originale (immagine o suono) è analogica, cioè parte dell'informazione è già andata persa durante la quantizzazione e la digitalizzazione. Consentire qualche perdita in più facendolo con attenzione non influenzerà la qualità di riproduzione del suono non compresso, che non differirà molto dall'originale. Descriveremo brevemente due approcci chiamati soppressione del silenzio e compattazione.

L'idea alla base della soppressione del silenzio è di trattare piccoli campioni come se non ci fossero (cioè, sono zero). Questo azzeramento genererà una serie di zeri, quindi il metodo di soppressione del silenzio è in realtà una variante di RLE adattata alla compressione del suono. Questo metodo si basa sulla particolarità della percezione del suono, che consiste nella tolleranza dell'orecchio umano al rifiuto di suoni appena udibili. I file audio contenenti lunghi tratti di suono basso verranno compressi meglio utilizzando il metodo di soppressione del silenzio rispetto ai file pieni di suoni forti. Questo metodo richiede la partecipazione dell'utente, che controllerà i parametri che impostano la soglia di volume per i campioni. In questo caso sono necessari altri due parametri, non necessariamente controllati dall'utente. Un parametro viene utilizzato per determinare le sequenze più brevi di campioni silenziosi, solitamente 2 o 3. E il secondo imposta il numero minimo di campioni rumorosi consecutivi, alla comparsa dei quali si interrompe il silenzio o la pausa. Ad esempio, 15 campioni silenziosi possono essere seguiti da 2 alti, quindi 13 silenziosi, che verranno definiti come una lunga pausa di lunghezza 30, e una sequenza simile di 15, 3 e 12 campioni diventerà due pause con un breve suono in mezzo.

Il consolidamento si basa sulla proprietà che l'orecchio è più bravo a distinguere i cambiamenti nell'ampiezza dei suoni bassi rispetto a quelli forti. I tipici ADC per schede audio per computer utilizzano conversioni lineari per convertire le tensioni in numeri. Se l'ampiezza è stata convertita in un numero, l'ampiezza verrà convertita in un numero. La compressione basata sulla compressione analizza prima ogni campione del file audio e gli applica una funzione non lineare per ridurre il numero di bit assegnati a quel campione. Ad esempio, con campioni a 16 bit, l'encoder compresso può applicare la seguente semplice formula

(6.1)

accorciare ogni campione. Questa formula mappa campioni a 16 bit in modo non lineare a numeri di intervallo a 15 bit, con campioni piccoli (silenziosi) soggetti a una minore distorsione rispetto a quelli grandi (rumorosi). tab. 6.7 illustra la non linearità di questa funzione. Mostra 8 coppie di campioni e in ogni coppia la differenza tra i campioni è 100. Per la prima coppia, la differenza tra le loro immagini è 34 e la differenza tra le immagini dell'ultima coppia (forte) è 65. Il valore convertito I numeri a 15 bit possono essere ridotti ai campioni originali a 16 bit utilizzando la formula inversa

. (6.2)

Differenza

Differenza

tab. 6.7. Mappatura di campioni a 16 bit su numeri a 15 bit.

La riduzione dei campioni a 16 bit a numeri a 15 bit non comporta una compressione significativa. La migliore compressione si ottiene se nelle formule (6.1) e (6.2) si sostituisce il numero 32767 con uno più piccolo. Ad esempio, se prendi il numero 127, i campioni a 16 bit saranno rappresentati da numeri a 8 bit, ovvero il rapporto di compressione sarà 0,5. Tuttavia, la decodifica sarà meno accurata. Il campione 60100 verrà mappato al numero 113 e la decodifica mediante la formula (6.2) risulterà nel campione 60172. Un piccolo campione a 16 bit 1000 verrà mappato a 1,35, che dopo l'arrotondamento darà 1. La decodifica del numero 1 risulterà in 742, che è molto diverso dal campione originale. Qui, il rapporto di compressione può essere un parametro impostato direttamente dall'utente. Questo è un esempio interessante di una tecnica di compressione in cui il rapporto di compressione è noto in anticipo.

In pratica, non è necessario fare riferimento alle equazioni (6.1) e (6.2), poiché il risultato della mappatura può essere preparato in anticipo sotto forma di tabella. Quindi sia la codifica che la decodifica verranno eseguite rapidamente.

Il sigillo non è limitato alle equazioni (6.1) e (6.2). Tecniche più sofisticate, come -rule e -rule, sono ampiamente utilizzate nella pratica e sono incluse in molti standard di compressione internazionali.

Formato di compressione audio MP3

Metodi di compressione audio

Compressione dei dati audio

La compressione audio è il processo di diminuzione del bit rate riducendo la ridondanza statistica e psicoacustica di un segnale audio digitale.

Compressione dei dati audio(Compressione audio) - Un tipo di compressione dei dati, codifica utilizzata per ridurre le dimensioni dei file audio o per ridurre la larghezza di banda per lo streaming dell'audio. Gli algoritmi per la compressione dei file audio sono implementati in programmi per computer chiamati codec audio. L'invenzione di algoritmi speciali per la compressione dei dati audio è motivata dal fatto che gli algoritmi di compressione generali sono inefficaci per lavorare con il suono e rendono impossibile lavorare in tempo reale.

Come nel caso generale, si distingue tra compressione audio lossless, che permette di recuperare i dati originali senza distorsioni, e compressione lossy, in cui tale recupero è impossibile. Gli algoritmi di compressione con perdita danno un alto grado di compressione, ad esempio, un CD audio può contenere non più di un'ora di musica "non compressa", con compressione senza perdita, un CD conterrà quasi 2 ore di musica e con compressione con perdita in media bit rate - 7-10 ore.

Compressione senza perdite

La difficoltà con la compressione audio senza perdita di dati è che le registrazioni audio hanno una struttura estremamente complessa. Uno dei metodi di compressione è la ricerca di campioni e le loro ripetizioni, ma questo metodo non è efficace per dati più caotici, come suoni digitalizzati o fotografie. È interessante notare che mentre la grafica generata dal computer è molto più facile da comprimere senza perdite, il suono sintetizzato non ha alcun vantaggio in questo senso. Questo perché anche un suono generato dal computer di solito ha una forma molto complessa, che è un compito difficile da inventare per un algoritmo.

Un'altra complicazione è che il suono di solito cambia molto rapidamente e questo è anche il motivo per cui le sequenze di byte ordinate sono molto rare.

I formati di compressione lossless più comuni sono:
Free Lossless Audio Codec (FLAC), Apple Lossless, MPEG-4 ALS, Monkey's Audio e TTA.

Compressione con perdita

La compressione con perdita ha applicazioni estremamente ampie. Oltre ai programmi per computer, la compressione con perdita di dati viene utilizzata per lo streaming di audio su DVD, per la televisione e la radio digitali e per lo streaming di contenuti multimediali su Internet.

Un'innovazione in questo metodo di compressione era l'uso della psicoacustica per rilevare componenti sonore che non sono percepite dall'orecchio umano. Un esempio sono le alte frequenze, che vengono percepite solo quando sono sufficientemente potenti, o i suoni silenziosi che si verificano contemporaneamente o immediatamente dopo i suoni forti e sono quindi mascherati da essi: tali componenti sonori possono essere trasmessi in modo meno accurato o per niente.

Per il mascheramento, il segnale della sequenza temporale dei campioni di ampiezza viene convertito in una sequenza di spettri sonori, in cui ogni componente dello spettro è codificato separatamente. Per implementare tale trasformazione, vengono utilizzati metodi di trasformata di Fourier veloce, MDCT, filtri a specchio di quadratura o altri. La quantità totale di informazioni con tale ricodifica rimane invariata. La compressione in un dominio di frequenza specifico può significare che i componenti mascherati o zero non vengono memorizzati affatto o codificati a una risoluzione inferiore. Ad esempio, le componenti di frequenza fino a 200 Hz e oltre i 14 kHz possono essere codificate in 4 bit, mentre le componenti nella gamma media possono essere codificate in 16 bit. Il risultato di tale operazione sarà la codifica con una profondità di bit media di 8 bit, ma il risultato sarà molto migliore rispetto alla codifica dell'intero intervallo di frequenza con una profondità di 8 bit.

Tuttavia, è ovvio che i frammenti dello spettro, ricodificati a bassa risoluzione, non possono più essere ripristinati esattamente e, quindi, si perdono irrimediabilmente.
Il parametro principale della compressione con perdita di dati è il bitrate, che determina il grado di compressione del file e, di conseguenza, la qualità. Viene fatta una distinzione tra compressione Constant BitRate (CBR), Variable BitRate (VBR) e Average BitRate (ABR).

I formati di compressione con perdita più comuni sono: AAC, ADPCM, ATRAC, Dolby AC-3, MP2, MP3, Musepack Ogg Vorbis, WMA e altri.

Formato di compressione audio MP3

MPEG-1 Audio Layer 3 Estensione file: .mp3 Tipo MIME: audio / mpeg Tipo formato: Audio

MP3 (più precisamente, l'inglese MPEG-1/2 / 2.5 Layer 3 (ma non MPEG-3) è il terzo formato di codifica per una traccia audio MPEG) è un formato di file concesso in licenza per la memorizzazione di informazioni audio.

Al momento, l'MP3 è il più famoso e popolare dei formati comuni per la codifica digitale delle informazioni audio con perdite. È ampiamente utilizzato su reti di condivisione di file per la trasmissione valutativa di opere musicali. Il formato può essere riprodotto in quasi tutti i sistemi operativi più diffusi, su quasi tutti i lettori audio portatili ed è supportato anche da tutti i moderni modelli di stereo e lettori DVD.

MP3 utilizza un algoritmo di compressione con perdita progettato per ridurre drasticamente le dimensioni dei dati necessari per riprodurre una registrazione e garantire che la qualità di riproduzione sia molto vicina all'originale (secondo la maggior parte degli ascoltatori), sebbene gli audiofili riportino una differenza tangibile. Quando crei un MP3 a una velocità in bit media di 128 kbps, il risultato è un file di circa 1/10 della dimensione del file del CD audio originale. I file MP3 possono essere creati con bit rate alto o basso, il che influisce sulla qualità del file risultante.

Il principio della compressione è quello di ridurre l'accuratezza di alcune parti del flusso sonoro, che è quasi indistinguibile dall'udito della maggior parte delle persone. Questo metodo è chiamato codifica percettiva. Allo stesso tempo, nella prima fase, viene costruito un diagramma sonoro sotto forma di una sequenza di brevi periodi di tempo, quindi le informazioni che non sono distinguibili dall'orecchio umano vengono cancellate su di esso e le informazioni rimanenti vengono memorizzate in un forma compatta. Questo approccio è simile al metodo di compressione utilizzato per la compressione delle immagini nel formato JPEG.

MP3 è stato sviluppato dal gruppo di lavoro Fraunhofer-Institut für Integrierte Schaltungen sotto la direzione di Karlheinz Brandenburg e dell'Università di Erlangen-Norimberga in collaborazione con AT&T Bell Labs e Thomson (Johnson, Stoll, Deeri, ecc.).



Lo sviluppo di MP3 si è basato sul codec sperimentale ASPEC (Adaptive Spectral Perceptual Entropy Coding). Il primo codificatore MP3 è stato L3Enc, rilasciato nell'estate del 1994. Un anno dopo, è apparso il primo lettore MP3 software, Winplay3.

Durante lo sviluppo dell'algoritmo, sono stati effettuati test su composizioni popolari molto specifiche. La canzone principale era "Tom's Diner" di Suzanne Vega. Da qui la battuta che "l'MP3 è stato creato esclusivamente per il comfort di ascoltare la tua canzone preferita del Brandeburgo", e Vega ha cominciato a essere chiamata "la mamma di MP3".

Descrizione formato

In questo formato, i suoni sono codificati in frequenza (nessuna parte discreta); c'è il supporto per lo stereo e in due formati (dettagli - sotto). L'MP3 è un formato di compressione con perdita, ovvero una parte dell'informazione audio che (secondo il modello psicoacustico) l'orecchio umano non può percepire o non è percepita da tutte le persone, viene rimossa dalla registrazione in modo irrevocabile. Il rapporto di compressione può essere variato, anche all'interno dello stesso file. L'intervallo di possibili valori di bitrate è 8 - 320 kbps. Per confronto, il flusso di dati da un CD convenzionale in formato Audio-CD è di 1411,2 kbps a una frequenza di campionamento di 44100 Hz.

MP3 e "Qualità Audio-CD"

In passato, era opinione diffusa che la registrazione a 128 kbps fosse adatta per la musica destinata ad essere ascoltata dalla maggior parte delle persone, fornendo la qualità del suono Audio-CD. In realtà, tutto è molto più complicato. Innanzitutto, la qualità dell'MP3 risultante dipende non solo dal bitrate, ma anche dal programma di codifica (codec) (lo standard non stabilisce l'algoritmo di codifica, descrive solo il metodo di presentazione). In secondo luogo, oltre alla modalità prevalente CBR (Constant Bitrate) (in cui, in altre parole, ogni secondo di audio è codificato con lo stesso numero di bit), esistono le modalità ABR (Average Bitrate) e VBR (Variable Bitrate). In terzo luogo, il confine di 128 kbps è condizionale, poiché è stato "inventato" nell'era della formazione del formato, quando la qualità della riproduzione delle schede audio e degli altoparlanti del computer era generalmente inferiore rispetto a quella attuale.

Principali articoli correlati