Nella maggior parte delle sequenze video, molte scene sono fisse oppure senza grandi cambiamenti, effetto che viene chiamato di ridondanza temporale.
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 l'MPEG (Moving Pictures Experts Group) e l'M-JPEG. Tuttavia questo metodo avrà un impatto molto ridotto su una scena d'azione.
Il gruppo MPEG è stato stabilito nel 1988 con lo scopo di sviluppare degli standard internazionali di compressione, decompressione, trattamento e codifica di immagini animate e di dati audio.
Esistono più standard MPEG :
La norma MPEG-1 rappresenta ogni immagine come un insieme di blocchi 16 x 16. Essa permette di ottenere una risoluzione di&nbs;:
L'MPEG-1 permette di ottenere delle capacità di banda dell'ordine di 1.2 Mbps (utilizzabile su un lettore di CD-ROM).
L'MPEG-1 permette di decodificare un vide grazie a diverse tecniche :
Queste immagini sono codificate unicamente utilizzando la codifica JPEG, senza preoccuparsi delle immagini vicine. Questo tipo di immagini è necesario 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.
E' 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 lavorati 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 codifca 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