Domanda

Sii paziente poiché non ho lavorato molto con gli algoritmi di compressione, quindi questo potrebbe essere ovvio per alcuni di voi. Qualcosa che ho sempre notato quando alcuni video in streaming iniziano a perdere tempo. Mi sono reso conto solo di essere curioso quando ho esaminato questa domanda:

Sfida di codifica delle immagini di Twitter

Non sto parlando dei pixel stessi, ma piuttosto del layout a griglia che risulta dalla compressione. Di che tipo di algoritmo o tecnica è indicativo? Cosa puoi dirmi al riguardo?

È stato utile?

Soluzione

Dai un'occhiata a questo articolo di Wikipedia su MPEG-2 . Per citarne una parte:

  

In breve, la cornice grezza è divisa in 8 pixel per blocchi di 8 pixel. I dati in ciascun blocco sono trasformati da una trasformazione del coseno discreta. Il risultato è una matrice di coefficienti 8 per 8. La trasformazione converte le variazioni spaziali in variazioni di frequenza, ma non modifica le informazioni nel blocco; il blocco originale può essere ricreato esattamente applicando la trasformata inversa del coseno.

In altre parole, la struttura a griglia che vedi è un effetto diretto di questo DCT applicato ai blocchi di pixel 8x8.

Altri suggerimenti

La logica dei blocchi è collegata al compromesso di posizione / frequenza. L'immagine è divisa in blocchi prima della compressione nel dominio spettrale ( DCT ) in modo che i manufatti a causa della compressione sono più localizzati. In JPEG standard, i blocchi hanno dimensioni costanti sull'intera immagine. Per formati più recenti come JPEG2000, i blocchi sono adattati all'immagine, usando le wavelet. Non ho familiarità con i dettagli dei formati video, ma la logica è la stessa.

Questo è lo stesso fenomeno per la codifica audio (mp3): invece di calcolare lo spettro sull'intero file audio, dividi il file in alcune sezioni di alcuni campioni (alcune centinaia generalmente per segnali a 44,1 kHz). Allo stesso modo, in caso di danneggiamento dei dati compressi (rete, file corrotto), si sentiranno rumori dovuti a finestre mancanti.

Si chiama Macroblocking .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top