ImageEdit
Entropia codifica origine nel 1940 con l’introduzione di Shannon–Fano codifica, la base per la codifica Huffman che è stato sviluppato nel 1950. La codifica della trasformazione risale alla fine degli anni ‘ 60, con l’introduzione della trasformazione di Fourier veloce (FFT) nel 1968 e la trasformazione di Hadamard nel 1969.
Un’importante tecnica di compressione delle immagini è la discrete Cosine Transform (DCT), una tecnica sviluppata nei primi anni 1970., DCT è la base per JPEG, un formato di compressione con perdita di dati che è stato introdotto dal Joint Photographic Experts Group (JPEG) nel 1992. JPEG riduce notevolmente la quantità di dati necessari per rappresentare un’immagine al costo di una riduzione relativamente piccola della qualità dell’immagine ed è diventato il formato di file immagine più utilizzato. Il suo algoritmo di compressione altamente efficiente basato su DCT è stato in gran parte responsabile dell’ampia proliferazione di immagini digitali e foto digitali.
Lempel–Ziv–Welch (LZW) è un algoritmo di compressione senza perdita di dati sviluppato nel 1984. È usato nel formato GIF, introdotto nel 1987., DEFLATE, un algoritmo di compressione senza perdita specificato nel 1996, viene utilizzato nel formato Portable Network Graphics (PNG).
Wavelet compression, l’uso di wavelet nella compressione delle immagini, è iniziato dopo lo sviluppo della codifica DCT. Lo standard JPEG 2000 è stato introdotto nel 2000. In contrasto con l’algoritmo DCT utilizzato dal formato JPEG originale, JPEG 2000 utilizza invece algoritmi discrete wavelet Transform (DWT). La tecnologia JPEG 2000, che include l’estensione Motion JPEG 2000, è stata selezionata come standard di codifica video per il cinema digitale nel 2004.,
AudioEdit
La compressione dei dati audio, da non confondere con la compressione della gamma dinamica, ha il potenziale per ridurre la larghezza di banda di trasmissione e i requisiti di archiviazione dei dati audio. Gli algoritmi di compressione audio sono implementati nel software come codec audio. Sia nella compressione lossy che in quella lossless, la ridondanza delle informazioni viene ridotta, utilizzando metodi come la codifica, la trasformazione discreta del coseno di quantizzazione e la previsione lineare per ridurre la quantità di informazioni utilizzate per rappresentare i dati non compressi.,
Lossy algoritmi di compressione audio forniscono una maggiore compressione e sono utilizzati in numerose applicazioni audio, tra cui Vorbis e MP3. Questi algoritmi si basano quasi tutti sulla psicoacustica per eliminare o ridurre la fedeltà dei suoni meno udibili, riducendo così lo spazio necessario per memorizzarli o trasmetterli.
Il compromesso accettabile tra perdita di qualità audio e dimensioni di trasmissione o archiviazione dipende dall’applicazione., Ad esempio, un compact disc (CD) da 640 MB contiene circa un’ora di musica ad alta fedeltà non compressa, meno di 2 ore di musica compressa senza perdita di dati o 7 ore di musica compressa nel formato MP3 a un bit rate medio. Un registratore di suoni digitale in genere può memorizzare circa 200 ore di discorso chiaramente intelligibile in 640 MB.
La compressione audio senza perdita produce una rappresentazione di dati digitali che possono essere decodificati in un duplicato digitale esatto dell’originale. I rapporti di compressione sono circa il 50-60% della dimensione originale, che è simile a quelli per la compressione dei dati senza perdita generica., I codec lossless utilizzano curve fitting o linear prediction come base per stimare il segnale. I parametri che descrivono la stima e la differenza tra la stima e il segnale effettivo sono codificati separatamente.
Esistono diversi formati di compressione audio senza perdita di dati. Vedere elenco dei codec senza perdita di dati per un elenco. Alcuni formati sono associati a un sistema distinto, come Direct Stream Transfer, utilizzato in Super Audio CD e Meridian Lossless Packing, utilizzato in DVD-Audio, Dolby TrueHD, Blu-ray e HD DVD.,
Alcuni formati di file audio presentano una combinazione di un formato lossy e una correzione lossless; ciò consente di rimuovere la correzione per ottenere facilmente un file lossy. Tali formati includono MPEG-4 SLS (Scalable to Lossless), WavPack e OptimFROG DualStream.
Quando i file audio devono essere elaborati, mediante ulteriore compressione o per la modifica, è preferibile lavorare da un originale invariato (non compresso o compresso senza perdita)., L’elaborazione di un file compresso con perdita per qualche scopo di solito produce un risultato finale inferiore alla creazione dello stesso file compresso da un originale non compresso. Oltre all’editing o al mixaggio del suono, la compressione audio senza perdita viene spesso utilizzata per l’archiviazione o come copie master.
Compressione audio lossyedit
Confronto tra spettrogrammi di audio in un formato non compresso e diversi formati lossy., Gli spettrogrammi lossy mostrano bandlimiting di frequenze più alte, una tecnica comune associata alla compressione audio lossy.
La compressione audio con perdita viene utilizzata in una vasta gamma di applicazioni. Oltre alle applicazioni standalone solo audio di riproduzione di file in lettori MP3 o computer, flussi audio compressi digitalmente sono utilizzati nella maggior parte dei DVD video, televisione digitale, streaming media su Internet, via satellite e via cavo radio, e sempre più nelle trasmissioni radio terrestri., La compressione lossy in genere raggiunge una compressione molto maggiore rispetto alla compressione lossless, scartando i dati meno critici basati su ottimizzazioni psicoacustiche.
La psicoacustica riconosce che non tutti i dati in un flusso audio possono essere percepiti dal sistema uditivo umano. La maggior parte della compressione con perdita riduce la ridondanza identificando prima suoni percettivamente irrilevanti, cioè suoni che sono molto difficili da ascoltare. Esempi tipici includono alte frequenze o suoni che si verificano contemporaneamente a suoni più forti. Quei suoni irrilevanti sono codificati con una precisione ridotta o per niente.,
A causa della natura degli algoritmi con perdita di dati, la qualità audio subisce una perdita di generazione digitale quando un file viene decompresso e ricompresso. Ciò rende la compressione con perdita inadatta per la memorizzazione dei risultati intermedi in applicazioni di ingegneria audio professionale, come l’editing del suono e la registrazione multitraccia. Tuttavia, i formati lossy come MP3 sono molto popolari tra gli utenti finali in quanto la dimensione del file è ridotta al 5-20% della dimensione originale e un megabyte può memorizzare circa un minuto di musica con una qualità adeguata.,
Coding methodsEdit
Per determinare quali informazioni in un segnale audio sono percettivamente irrilevanti, la maggior parte degli algoritmi di compressione lossy utilizzano trasformazioni come la modified Discrete cosine Transform (MDCT) per convertire le forme d’onda campionate nel dominio del tempo in un dominio di trasformazione, in genere il dominio della frequenza. Una volta trasformate, le frequenze dei componenti possono essere prioritarie in base a quanto sono udibili., L’udibilità dei componenti spettrali viene valutata utilizzando la soglia assoluta dell’udito e i principi del mascheramento simultaneo—il fenomeno in cui un segnale è mascherato da un altro segnale separato dalla frequenza—e, in alcuni casi, il mascheramento temporale—in cui un segnale è mascherato da un altro segnale separato dal tempo. I contorni di uguale volume possono anche essere usati per appesantire l’importanza percettiva dei componenti. I modelli della combinazione orecchio-cervello umano che incorporano tali effetti sono spesso chiamati modelli psicoacustici.,
Altri tipi di compressori con perdita di dati, come il linear Predictive coding (LPC) utilizzato con speech, sono codificatori basati su sorgente. LPC utilizza un modello del tratto vocale umano per analizzare i suoni vocali e dedurre i parametri utilizzati dal modello per produrli momento per momento. Questi parametri che cambiano vengono trasmessi o memorizzati e utilizzati per guidare un altro modello nel decoder che riproduce il suono.
I formati Lossy sono spesso utilizzati per la distribuzione di streaming audio o comunicazione interattiva (ad esempio nelle reti di telefonia cellulare)., In tali applicazioni, i dati devono essere decompressi come i flussi di dati, piuttosto che dopo l’intero flusso di dati è stato trasmesso. Non tutti i codec audio possono essere utilizzati per applicazioni di streaming.
La latenza viene introdotta dai metodi utilizzati per codificare e decodificare i dati. Alcuni codec analizzeranno un segmento più lungo, chiamato frame, dei dati per ottimizzare l’efficienza e quindi lo codificheranno in un modo che richiede un segmento più ampio di dati contemporaneamente per decodificarlo., La latenza intrinseca dell’algoritmo di codifica può essere critica; ad esempio, quando c’è una trasmissione bidirezionale di dati, come ad esempio con una conversazione telefonica, ritardi significativi possono seriamente degradare la qualità percepita.
In contrasto con la velocità di compressione, che è proporzionale al numero di operazioni richieste dall’algoritmo, qui la latenza si riferisce al numero di campioni che devono essere analizzati prima che un blocco di audio venga elaborato. Nel caso minimo, la latenza è pari a zero campioni (ad esempio, se il codificatore/decodificatore riduce semplicemente il numero di bit utilizzati per quantizzare il segnale)., Gli algoritmi di dominio del tempo come LPC hanno spesso basse latenze, quindi la loro popolarità nella codifica vocale per la telefonia. In algoritmi come MP3, tuttavia, è necessario analizzare un gran numero di campioni per implementare un modello psicoacustico nel dominio della frequenza e la latenza è dell’ordine di 23 ms (46 ms per la comunicazione bidirezionale).
Codifica Speechedit
La codifica vocale è una categoria importante di compressione dei dati audio. I modelli percettivi utilizzati per stimare ciò che un orecchio umano può sentire sono generalmente in qualche modo diversi da quelli utilizzati per la musica., La gamma di frequenze necessarie per trasmettere i suoni di una voce umana sono normalmente molto più stretta di quella necessaria per la musica, e il suono è normalmente meno complesso. Di conseguenza, il discorso può essere codificato ad alta qualità utilizzando un bit rate relativamente basso.
Se i dati da comprimere sono analogici (come una tensione che varia nel tempo), la quantizzazione viene impiegata per digitalizzarla in numeri (normalmente interi). Questo è indicato come analogico-digitale (A/D) conversione., Se gli interi generati dalla quantizzazione sono 8 bit ciascuno, l’intero intervallo del segnale analogico è diviso in 256 intervalli e tutti i valori del segnale all’interno di un intervallo sono quantizzati allo stesso numero. Se vengono generati interi a 16 bit, l’intervallo del segnale analogico è diviso in 65.536 intervalli.
Questa relazione illustra il compromesso tra alta risoluzione (un gran numero di intervalli analogici) e alta compressione (piccoli interi generati). Questa applicazione di quantizzazione è utilizzata da diversi metodi di compressione vocale., Ciò si ottiene, in generale, con una combinazione di due approcci:
- Codifica solo suoni che potrebbero essere prodotti da una singola voce umana.
- Buttare via più dei dati nel segnale-mantenendo quel tanto che basta per ricostruire una voce “intelligibile”, piuttosto che l’intera gamma di frequenza dell’udito umano.
Forse i primi algoritmi utilizzati nella codifica vocale (e nella compressione dei dati audio in generale) erano l’algoritmo A-law e l’algoritmo μ-law.,
HistoryEdit
Solidyne 922: La prima scheda audio commerciale al mondo per la compressione di bit audio per PC, 1990
La codifica percettiva è stata utilizzata per la compressione della codifica vocale, con la codifica predittiva lineare (LPC). I concetti iniziali per LPC risalgono al lavoro di Fumitada Itakura (Università di Nagoya) e Shuzo Saito (Nippon Telegraph and Telephone) nel 1966. Durante il 1970, Bishnu S. Atal e Manfred R., Schroeder ai Bell Labs ha sviluppato una forma di LPC chiamata adaptive predictive coding (APC), un algoritmo di codifica percettiva che sfruttava le proprietà di mascheramento dell’orecchio umano, seguito nei primi anni 1980 con l’algoritmo CELP (Code-excited Linear Prediction) che ha raggiunto un significativo rapporto di compressione per il suo tempo. La codifica percettiva viene utilizzata dai moderni formati di compressione audio come MP3 e AAC.
Il primo sistema di compressione audio broadcast automation commerciale al mondo è stato sviluppato da Oscar Bonello, professore di ingegneria all’Università di Buenos Aires., Nel 1983, utilizzando il principio psicoacustico del mascheramento delle bande critiche pubblicato per la prima volta nel 1967, ha iniziato a sviluppare un’applicazione pratica basata sul computer PC IBM recentemente sviluppato, e il sistema di automazione broadcast è stato lanciato nel 1987 sotto il nome di Audicom. Venti anni dopo, quasi tutte le stazioni radio del mondo utilizzavano una tecnologia simile prodotta da un certo numero di aziende.
A literature compendium for a large variety of audio coding systems was published in the IEEE Journal on Selected Areas in Communications (JSAC), in February 1988., Mentre c’erano alcuni documenti di prima di quel tempo, questa raccolta documentava un’intera varietà di codificatori audio finiti e funzionanti, quasi tutti usando tecniche percettive (cioè di mascheramento) e qualche tipo di analisi di frequenza e codifica silenziosa di back-end. Molti di questi documenti hanno sottolineato la difficoltà di ottenere un audio digitale buono e pulito per scopi di ricerca. La maggior parte, se non tutti, degli autori nell’edizione JSAC erano attivi anche nel comitato audio MPEG-1, che ha creato il formato MP3.,
VideoEdit
La compressione video è un’implementazione pratica della codifica sorgente nella teoria dell’informazione. In pratica, la maggior parte dei codec video vengono utilizzati insieme a tecniche di compressione audio per memorizzare i flussi di dati separati ma complementari come un unico pacchetto combinato utilizzando i cosiddetti formati contenitore.
Il video non compresso richiede una velocità di trasmissione dati molto elevata. Sebbene i codec di compressione video lossless funzionino con un fattore di compressione da 5 a 12, un tipico video di compressione con perdita H. 264 ha un fattore di compressione compreso tra 20 e 200.,
Le due tecniche chiave di compressione video utilizzate negli standard di codifica video sono la trasformata discreta del coseno (DCT) e la compensazione del movimento (MC). La maggior parte degli standard di codifica video, come i formati H. 26x e MPEG, in genere utilizzano la codifica video DCT compensata dal movimento (block motion compensation).
Teoria della codificazionemodifica
I dati video possono essere rappresentati come una serie di fotogrammi fissi. Tali dati di solito contengono abbondanti quantità di ridondanza spaziale e temporale. Algoritmi di compressione video tentano di ridurre la ridondanza e memorizzare le informazioni in modo più compatto.,
La maggior parte dei formati di compressione video e codec sfruttano sia la ridondanza spaziale e temporale (ad esempio attraverso la codifica differenza con compensazione del movimento). Le somiglianze possono essere codificate memorizzando solo le differenze tra fotogrammi temporalmente adiacenti (codifica inter-frame) o pixel spazialmente adiacenti (codifica intra-frame).La compressione inter-frame (una codifica delta temporale) è una delle tecniche di compressione più potenti. Utilizza (ri)i dati di uno o più fotogrammi precedenti o successivi in una sequenza per descrivere il fotogramma corrente., La codifica intra-frame, d’altra parte, utilizza solo i dati all’interno del frame corrente, essendo effettivamente la compressione dell’immagine fissa.
Una classe di formati specializzati utilizzati nelle videocamere e nell’editing video utilizza schemi di compressione meno complessi che limitano le loro tecniche di previsione alla previsione intra-frame.
Di solito la compressione video impiega inoltre tecniche di compressione con perdita come la quantizzazione che riducono aspetti dei dati di origine che sono (più o meno) irrilevanti per la percezione visiva umana sfruttando le caratteristiche percettive della visione umana., Ad esempio, piccole differenze di colore sono più difficili da percepire rispetto ai cambiamenti di luminosità. Gli algoritmi di compressione possono mediare un colore in queste aree simili per ridurre lo spazio, in modo simile a quelli utilizzati nella compressione delle immagini JPEG. Come in tutte le compressioni con perdita, c’è un compromesso tra qualità video e bit rate, costo di elaborazione della compressione e decompressione e requisiti di sistema. I video altamente compressi possono presentare artefatti visibili o distraenti.,
Altri metodi rispetto ai formati di trasformazione basati su DCT prevalenti, come la compressione frattale, la ricerca di corrispondenza e l’uso di una trasformata wavelet discreta (DWT), sono stati oggetto di alcune ricerche, ma in genere non sono utilizzati in prodotti pratici (ad eccezione dell’uso della codifica wavelet come codificatori di immagini fisse senza compensazione del movimento). L’interesse per la compressione frattale sembra diminuire, a causa di recenti analisi teoriche che mostrano una mancanza comparativa di efficacia di tali metodi.,
Codifica inter-frame
La codifica inter-frame funziona confrontando ogni fotogramma nel video con quello precedente. I singoli fotogrammi di una sequenza video vengono confrontati da un fotogramma all’altro e il codec di compressione video invia solo le differenze al fotogramma di riferimento. Se il frame contiene aree in cui non è stato spostato nulla, il sistema può semplicemente emettere un breve comando che copia quella parte del frame precedente in quello successivo., Se le sezioni del fotogramma si muovono in modo semplice, il compressore può emettere un comando (leggermente più lungo) che dice al decompressore di spostare, ruotare, schiarire o scurire la copia. Questo comando più lungo rimane ancora molto più breve della compressione intraframe. Di solito l’encoder trasmetterà anche un segnale residuo che descrive le restanti differenze più sottili alle immagini di riferimento. Utilizzando la codifica entropia, questi segnali residui hanno una rappresentazione più compatta rispetto al segnale completo., Nelle aree di video con più movimento, la compressione deve codificare più dati per tenere il passo con il maggior numero di pixel che stanno cambiando. Comunemente durante esplosioni, fiamme, stormi di animali e in alcuni scatti di panoramica, il dettaglio ad alta frequenza porta a diminuzioni di qualità o ad aumenti del bitrate variabile.,
Ibrido basato su blocchi di trasformare formatsEdit
fasi di Lavorazione di un tipico video encoder
Oggi, quasi tutti i più comuni metodi di compressione video (ad esempio, quelle norme approvate dalla ITU-T o ISO) condividono la stessa architettura di base, che risale al H. 261, che è stato standardizzato nel 1988 dalla ITU-T., Si basano principalmente sul DCT, applicato a blocchi rettangolari di pixel vicini, e sulla previsione temporale usando i vettori di movimento, così come al giorno d’oggi anche una fase di filtraggio in-loop.
Nella fase di previsione, vengono applicate varie tecniche di deduplicazione e codifica delle differenze che aiutano a decorrelare i dati e a descrivere nuovi dati sulla base di dati già trasmessi.
Quindi i blocchi rettangolari di dati pixel (residui) vengono trasformati nel dominio della frequenza per facilitare il targeting delle informazioni irrilevanti nella quantizzazione e per una riduzione della ridondanza spaziale., La trasformata discreta del coseno (DCT) che è ampiamente utilizzata in questo senso è stata introdotta da N. Ahmed, T. Natarajan e K. R. Rao nel 1974.
Nella fase di elaborazione con perdita principale che i dati vengono quantizzati al fine di ridurre le informazioni che sono irrilevanti per la percezione visiva umana.
Nell’ultima fase la ridondanza statistica viene in gran parte eliminata da un codificatore di entropia che spesso applica una qualche forma di codifica aritmetica.
In una ulteriore fase di filtraggio in loop è possibile applicare vari filtri al segnale immagine ricostruito., Calcolando questi filtri anche all’interno del ciclo di codifica possono aiutare la compressione perché possono essere applicati al materiale di riferimento prima che venga utilizzato nel processo di previsione e possono essere guidati utilizzando il segnale originale. L’esempio più popolare sono i filtri di deblocking che sfuocano gli artefatti di blocco dalle discontinuità di quantizzazione ai limiti del blocco di trasformazione.
Storyedit
Nel 1967, A. H. Robinson e C., Cherry ha proposto uno schema di compressione della larghezza di banda di codifica run-length per la trasmissione di segnali televisivi analogici. La trasformata discreta del coseno (DCT), che è fondamentale per la compressione video moderna, è stata introdotta da Nasir Ahmed, T. Natarajan e K. R. Rao nel 1974.
H. 261, che ha debuttato nel 1988, ha introdotto commercialmente l’architettura di base prevalente della tecnologia di compressione video. È stato il primo formato di codifica video basato sulla compressione DCT, che sarebbe successivamente diventato lo standard per tutti i principali formati di codifica video che seguirono. H.,261 è stato sviluppato da un certo numero di aziende, tra cui Hitachi, PictureTel, NTT, BT e Toshiba.
Gli standard di codifica video più popolari utilizzati per i codec sono stati gli standard MPEG. MPEG-1 è stato sviluppato dal Motion Picture Experts Group (MPEG) nel 1991, ed è stato progettato per comprimere video di qualità VHS. È stato succeduto nel 1994 da MPEG-2 / H. 262, che è stato sviluppato da un certo numero di aziende, principalmente Sony, Thomson e Mitsubishi Electric. MPEG-2 è diventato il formato video standard per la televisione digitale DVD e SD. Nel 1999, è stato seguito da MPEG-4 / H.,263, che è stato un importante balzo in avanti per la tecnologia di compressione video. È stato sviluppato da un certo numero di aziende, principalmente Mitsubishi Electric, Hitachi e Panasonic.
Il formato di codifica video più utilizzato è H. 264/MPEG-4 AVC. È stato sviluppato nel 2003 da un certo numero di organizzazioni, principalmente Panasonic, Godo Kaisha IP Bridge e LG Electronics. AVC ha introdotto commercialmente i moderni algoritmi CABAC (context-adaptive binary arithmetic coding) e CAVLC (context-adaptive variable-length Coding)., AVC è il principale standard di codifica video per i dischi Blu-ray ed è ampiamente utilizzato da servizi Internet in streaming come YouTube, Netflix, Vimeo e iTunes Store, software web come Adobe Flash Player e Microsoft Silverlight e varie trasmissioni HDTV su televisione terrestre e satellitare.,
GeneticsEdit
Gli algoritmi di compressione genetica sono l’ultima generazione di algoritmi lossless che comprimono i dati (tipicamente sequenze di nucleotidi) utilizzando sia algoritmi di compressione convenzionali che algoritmi genetici adattati al tipo di dati specifico. Nel 2012, un team di scienziati della Johns Hopkins University ha pubblicato un algoritmo di compressione genetica che non utilizza un genoma di riferimento per la compressione., HAPZIPPER è stato adattato per i dati HapMap e raggiunge una compressione di oltre 20 volte (riduzione del 95% delle dimensioni del file), fornendo una compressione da 2 a 4 volte migliore e in tempi molto più rapidi rispetto alle principali utility di compressione per tutti gli usi. Per questo, Chanda, Elhaik e Bader hanno introdotto la codifica basata su MAF (MAFE), che riduce l’eterogeneità del set di dati ordinando gli SNP in base alla loro frequenza allele minore, omogeneizzando così il set di dati. Altri algoritmi nel 2009 e nel 2013 (DNAZip e GenomeZip) hanno rapporti di compressione fino a 1200 volte, consentendo di memorizzare 6 miliardi di genomi umani diploidi basepair in 2.,5 megabyte (rispetto a un genoma di riferimento o in media su molti genomi). Per un benchmark nei compressori di dati di genetica/genomica, vedere
Lascia un commento