Il formato MPEG è un formato video compresso in cui, nella maggior parte dei casi, molte scene sono fisse oppure senza grandi cambiamenti, effetto che viene detto ridondanza temporale.
Il gruppo MPEG è stato stabilito nel 1988 con lo scopo di sviluppare degli standard internazionali di compressione, decompressione, elaborazione e codifica di immagini animate e di dati audio.
Sui video MPEG, quando si muovono solamente le labbra dell'attore, praticamente solo i pixel della bocca devono essere modificati da un'immagine all'altra. Basta quindi descrivere solamente il cambiamento da un'immagine all'altra. Questa è la differenza principale tra MPEG (Moving Pictures Experts Group) e l'M-JPEG. Tuttavia questo metodo avrà un impatto molto ridotto su una scena d'azione.
Esistono più standard MPEG:
MPEG-1, sviluppato nel 1988, è uno standard per la compressione dei dati video e dei canali audio associati (fino a 2 canali per un ascolto stereo). Esso permette di memorizzare dei video ad una capacità di banda di 1.5 Mbps ad una qualità vicina a quella delle cassette VHS su un supporto CD detto VCD (Video CD);
MPEG-2, uno standard dedicato originariamente alla televisione digitale (HDTV) che offre una qualità elevata ad una capacità di debito che può andare fino a 40 Mbps, e 5 canali audio surround. Il formato MPEG-2 permette inoltre un'identificazione e una protezione contro la pirateria. Si tratta del formato utilizzato per i DVD video;
MPEG-4 è uno standard destinato a permettere la codifica di dati multimediali sotto forma di oggetti digitali per ottenere una più grande interattività, il che rende il suo uso particolarmente adatto al web e alle periferiche mobili;
MPEG-7 è uno standard che mira a fornire una rappresentazione standard dei dati audio e visuali per rendere possibile la ricerca di informazioni in questo tipo di dati. Questo standard è anche intitolato Multimedia Content Description Interface;
MPEG-21, in corso di elaborazione, il cui scopo è di fornire un framework per tutti gli attori del mondo digitale (produttori, consumatori, ecc.) per standardizzare la gestione di questi contenuti, dei diritti d'accesso, dei diritti di autore, e così via.
La norma MPEG-1 rappresenta ogni immagine come un insieme di blocchi 16x16. Essa permette di ottenere una risoluzione di:
352x240 a 30 immagini al secondo en NTSC;
352x288 a 25 immagini al secondo in PAL/SECAM.
MPEG-1 permette di ottenere delle capacità di banda dell'ordine di 1.2 Mbps (utilizzabile su un lettore di CD-ROM). MPEG-1 permette di decodificare un video grazie a diverse tecniche:
Intra coded frames (Frames I, corrispondente ad una codifica interna) in cui le immagini sono codificate separatamente senza far riferimento alle immagini precedenti;
Predictive coded frames (frames P o codifica predetta) dove le immagini sono descritte dalle differenze con le immagini precedenti;
Bidirectionally predictive coded frames (Frames B) in cui le immagini sono descritte dalle differenze con l'immagine precedente e quella successiva;
DC Coded frames dove le immagini sono decodificate facendo delle medie per blocco.
Queste immagini sono codificate unicamente utilizzando la codifica JPEG, senza preoccuparsi delle immagini vicine. Questo tipo di immagini è necessario in un video MPEG dato che sono esse ad assicurare la coesione dell'immagine (dato che le altre sono descritte rispetto alle immagini vicine), sono soprattutto utili per i flussi video che possono essere presi man mano (televisione), e sono indispensabili in caso di errore nella ricezione. Ve ne sono quindi una o due al secondo in un video MPEG.
Queste immagini sono definite dalla differenza in rapporto all'immagine precedente. Il decoder cerca le differenze nell'immagine rispetto alla precedente e definisce dei blocchi, detti macroblocchi (16x16 pixel) che si sovrappongono all'immagine precedente.
L'algoritmo paragona le due immagini blocco per blocco e, a partire da una certa soglia di differenza, considera il blocco dell'immagine precedente diverso da quello dell'immagine in corso e applica una compressione JPEG.
È la ricerca dei macroblocchi che determinerà la velocità di decodifica, dato che più l'algoritmo cerca i blocchi "buoni", più perde tempo. Rispetto ai frame-I (che comprimono direttamente), i frame -P richiedono di avere sempre in memoria l'immagine precedente.
Come per i frame P, i frame B sono elaborati tramite le differenze rispetto ad un'immagine di riferimento, tranne che per i frame B questa differenza si ha sia sulla precedente (come per i frame P) sia sulla successiva, il che da una migliore compressione, ma provoca un ritardo (dato che bisogna conoscere l'immagine successiva) e obbliga a mantenere in memoria tre immagini (la precedente, l'attuale e la successiva).
Queste immagini danno una risoluzione di bassa qualità ma permettono una decompressione molto rapida, che serve soprattutto durante la visualizzazione rapida dato che la decodifica "normale" richiederebbe troppe risorse al processore.
Per ottimizzare la codifica MPEG, le sequenze di immagini sono in pratica codificate secondo una serie di immagini I, B e P (dato che D la si riserva per una visualizzazione rapida) il cui ordine è stato determinato a livello sperimentale. La sequenza tipo detta GOP (Group Of Pictures o in italiano gruppi di immagini) è la seguente:
IBBPBBPBBPBBI
, un'immagine I è quindi inserita ogni 12 frame.
Foto: © Pixabay.