Schemi di compressione di immagini / video estremamente intensi dal punto di vista computazionale che offrono una compressione migliore rispetto allo standard JPEG / H.264 del settore


8

Sto cercando di cercare schemi di compressione di immagini / video che offrano prestazioni di compressione superiori (mantenendo costante la qualità dell'immagine) rispetto agli standard di settore ampiamente adottati (ad esempio JPEG / H.264), ma per motivi che sono troppo computazionali o di risorse intensivo, implementarli su workstation basate su CPU è impossibile e quindi non adottato in standard comuni.

Potevo solo considerare la compressione frattale come un buon esempio. La comunità è a conoscenza di altri esempi simili?


2
Per quanto riguarda le immagini, esistono algoritmi più sofisticati di JPEG, come JPEG2000. JPEG2000 offre rapporti di compressione migliorati, ma non sono sicuro che la sua mancanza di adozione sia dovuta alla complessità computazionale. Inoltre, JPEG è considerato "abbastanza buono" per la maggior parte delle applicazioni, quindi non c'è alcuna motivazione reale per usare qualcosa di meglio (soprattutto perché l'archiviazione su disco è così abbondante nei sistemi moderni). Coloro che si preoccupano della massima qualità dell'immagine, come i fotografi professionisti, spesso evitano del tutto la compressione, facendo affidamento su acquisizioni non elaborate delle uscite del sensore di immagine.
Jason R,

Penso che la qualità di JPEG dipenda più dalla quantità di dati che butti via che da quanto tempo impieghi per elaborarli.
endolito il

1
Le trasformazioni di analisi dei componenti principali / KLT / Hotelling possono fare un lavoro molto migliore rispetto al DCT nel rappresentare un segnale con un numero limitato di funzioni di base, ma sono piuttosto costose dal punto di vista computazionale. Non sono sicuro se qualcuno abbia effettivamente fatto schemi di compressione completi con loro però.
Eglaser,

@eglaser: ti interessa elaborare PCA / KLT / Hotelling? Sarebbe bello se tu potessi pubblicare la tua risposta come risposta.
Ang Zhi Ping,

1
@eglaser KLT è meglio di DCT in termini di compattezza energetica. Tuttavia, ciò non significa necessariamente che sia un codec migliore; questo perché KLT per ogni pezzo di immagine / video è unico e quindi, non solo devi trasmettere i coefficienti risultanti, devi anche inviare il kernel.
Dipan Mehta,

Risposte:


8

Esistono vari aspetti della compressione, sia che si tratti di immagini o video. (Può essere che l'audio sia totalmente diverso, quindi non mi riferisco qui).

Se guardi davvero alla storia dello standard di compressione, quando sono stati formati per la prima volta, gli encoder MPEG1 in tempo reale erano rari. La CPU in quel momento non era abbastanza per renderlo in tempo reale; tuttavia, non è stata la complessità di elaborazione (da sola) a fermare più algoritmi di complessità da utilizzare con i codec. (Probabilmente il fattore principale che era responsabile dell'inclusione / esclusione di alcuni algoritmi era a. Brevetti, b. Fattibilità di implementazione).

Tuttavia, vorrei riformulare la domanda in modo un po 'più semplice:

Quali altre ricerche sulla compressione sono disponibili che devono ancora essere lanciate sul mercato (o non sono state affatto, ma potrebbero valere la pena per alcune applicazioni)?

Ecco alcuni punti da guardare:

1. Meglio trasformare?

DCT è stata di gran lunga una trasformazione universale in tutti i codec. Tuttavia, ci sono molti articoli di ricerca che suggeriscono che Wavelets potrebbe essere migliore. In effetti, l'unico JPEG2000 includeva le wavelet, ma quello standard non era un grande successo. Probabilmente era meglio di DCT in qualche modo; in particolare ci sono affermazioni che Wavelets sovraperformano DCT [Vedi: Rif 1]

Penso che wavelet sia computazionalmente costoso rispetto a DCT (in parte perché le implementazioni DCT 8x8 sono altamente ottimizzate). Ma credo di non aver volato così tanto perché dal punto di vista del mercato perché DCT all'epoca era molto più diffusa e la differenza di miglioramento non era così sostanziale per le persone da cambiare.

2. Compensazione del movimento multi-ipotesi
Mentre MPEG 2 era abbastanza soddisfatto delle immagini , una vasta ricerca di Bern Girod [vedi riferimento 2] ha dimostrato che - il concetto può essere esteso ben oltre. In effetti, H.264 ha fatto una grande generalizzazione sulla compensazione del movimento basata su più target: in pratica si possono archiviare oltre 16 immagini (rispetto a 2 in MPEG2) e la previsione può essere estremamente elevata.B

Mentre, questo è già parte dello standard in H.264 - questo non è ancora completamente sfruttato. È necessario rendere praticabile una ricerca così ampia per la stima del movimento. La maggior parte degli encoder H.264 sta ancora nascendo nello sfruttare appieno il potenziale di questo.

3. Compressione scalabile di immagini / video La compressione
scalabile di immagini e video è di nuovo un sacro graal di come è possibile eseguire la codifica con più descrizioni per immagini e video. Fondamentalmente la stessa immagine o video può essere codificato a più risoluzioni, quantizzazione (qualità) o frame rate. Ciò produce diversi livelli di qualità rispetto alla velocità in bit all'interno dello stesso flusso e il server di streaming può effettivamente adattare il bitrate e la qualità in modo dinamico per adattarsi al meglio al video in termini di qualità. Vedi [Rif 3], [Rif 4], [Rif 5]

Di questo, solo il vero successo è il JPEG progressivo che è praticamente utile per i siti Web e davvero utile. Ancora una volta, mentre la promessa di adattare dinamicamente il flusso di bit è grande, ma funziona solo se ci sono sistemi pratici in cui è possibile stimare tale bit rate e il tipo di adattamento può servire a qualche scopo reale. Tuttavia, nel dominio video, nonostante il supporto di questo negli standard (MPEG2, MPEG4 e H.264) - non c'è quasi alcun uso di questo.

4. Oggetto video
Questo è forse l'ultimo santo graal della compressione. Il video oggetto [Rif. 6] come avviato dallo stesso organismo standard MPEG, tuttavia, è stato anche supportato da ampie ricerche.

L'idea di base è quella di segmentare il video in termini di oggetti distinti e in seguito ciascuno di tali oggetti può essere trattato come un piano separato. ogni oggetto e può essere applicato con bit rate, quantizzazione, frame rate e previsioni molto efficienti differenti. Inoltre, si possono manipolare tali oggetti come il modo in cui si possono fare cose in Photoshop / Gimp.

Tuttavia, a quanto pare, la segmentazione di immagini e video del mondo reale con oggetti percettivi rilevanti - è un problema difficile! Quindi, anche se ho encoder / decodificatori, ho bisogno di un sistema di segmentazione robusto e in tempo reale per rendere le cose possibili. Questo è di gran lunga un problema molto aperto su come applicare il video sotto forma di video a più livelli per farlo funzionare.

5. Più dimensioni
Oltre a questo - ci sono codec per video stereo (aka multiview) e video 3D (concetto quasi simile) che cercano inoltre di ridurre la ridondanza nella dimensione aggiuntiva. Mentre questa è ancora ricerca in corso qui, H.264 ha un profilo per questo ora. Lo stesso vale per la codifica Cinema.

Ci sono ancora molti progetti di ricerca nell'area di questo - tuttavia, la compressione video è ormai un mercato delle materie prime. E la ricerca che non genera sostanzialmente nuove applicazioni o se ci sono problemi di fattibilità nell'attuazione non sopravviverà praticamente nonostante la sua ingegnosità.

Spero che sia di aiuto.

Riferimenti:

  1. Uno studio comparativo di codifica di immagini basata su DCT e Wavelet di Zixiang Xiong, et. al. OPERAZIONI IEEE SU CIRCUITI E SISTEMI PER LA TECNOLOGIA VIDEO, VOL. 9, NO. 5, AGOSTO 1999 pagg. 692

  2. Analisi di efficienza della previsione multi-ipotesi basata sul movimento per la codifica video Bernd Girod OPERAZIONI IEEE SULL'ELABORAZIONE DELLE IMMAGINI, VOL. 9, NO. 2, FEBBRAIO 2000 173

  3. Codifica video scalabile con risoluzione del dominio spaziale di Barry G. Haskell, Hsueh-Ming Hang. Proc. SPIE 2094, Visual Communications and Image Processing, 718 novembre (1993);

  4. Il metodo di codifica video scalabile a grana fine MPEG-4 per lo streaming multimediale su IP di Hayder M. Radha, et. al. OPERAZIONI IEEE SU MULTIMEDIA, VOL. 3, NO. 1, MARZO 2001 53

  5. Progressi nella codifica video scalabile di Ohm, J.-R .; Atti dell'IEEE gennaio 2005 Volume: 93 Emissione: 1 pagg. 42 - 56

  6. Codifica di trama basata su oggetti di video in movimento in MPEG-4, di Andr ́ Kaup, TRANSAZIONI IEEE SU CIRCUITI E SISTEMI PER LA TECNOLOGIA VIDEO, VOL. 9, NO. 1, FEBBRAIO 1999 pagg. 5

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.