Na maior parte das sequências de vídeo, a maioria das cenas são fixas ou alteram-se muito pouco, é o que se chama a redundância temporal.
Quando só os lábios do actor se movem, quase só os pixéis da boca vão ser alterados de uma imagem para a outra. É aí que reside a diferença essencial entre o MPEG (Moving Pictures Experts Group) e o M-JPEg. Contudo, este método terá muito menos impacto numa cena de acção.
O grupo MPEG foi estabelecido em 1988 com o objectivo de desenvolver padrões internacionais de compressão, de descompressão, de tratamento e codificação de imagens animadas e de dados áudio.
Existem vários padrões MPEG :
A norma MPEG-1 representa cada imagem como um conjunto de blocos 16 x 16. Permite obter uma resolução :
O MPEG-1 permite obter débitos de aproximadamente 1.2 Mbps (explorável num leitor de CD-ROM).
O MPEG-1 permite codificar um vídeo graças a várias técnicas :
Estas imagens são codificadas unicamente utilizando a codificação JPEG, sem se incomodar com as imagens que a cercam. Tais imagens são necessárias num vídeo MPEG, porque são elas que asseguram a coesão da imagem (dado que os outros são descritos em relação às imagens que o cercam), elas são nomeadamente úteis para os fluxos vídeo que podem ser tomados em movimento (televisão), e são indispensáveis no caso de erro na recepção. Há por isso um ou dois por segundo num vídeo MPEG.
Estas imagens são definidas por diferença em relação à imagem precedente. O codificador procura as diferenças da imagem em relação à precedente e define blocos, chamados macroblocos (16x16 pixéis) que se vão sobrepor à imagem precedente.
O algoritmo compara as duas imagens bloco por bloco e, a partir de certo limiar de diferença, considera o bloco da imagem precedente diferente do da imagem corrente e aplica-lhe uma compressão JPEG.
É a busca dos macroblocos que determinará a velocidade da codificação, porque quanto mais o algoritmo procura “bons” blocos, mais perde tempo…
Em relação aos frames-I (que comprimem directamente), os frames-p têm de ter sempre em memória a imagem precedente.
Tal como os frames P, os frames B são trabalhados por diferenças em relação a uma imagem de referência, salvo que no caso dos frames B esta diferença pode efectuar-se quer sobre a precedente (como nos casos dos frames P) quer sobre a seguinte, o que dá uma melhor compressão, mas provoca um atraso (dado que é necessário conhecer a imagem seguinte) e obriga a guardar em memória três imagens (a precedente, a actual e a seguinte).
Estas imagens dão uma resolução de muito baixa qualidade, mas permitem uma descompressão muito rápida, isto serve nomeadamente aquando da visualização em fasrt forward, porque a descodificação “normal” pediria demasiado recursos ao processador.
Para optimizar a codificação MPEG, as sequências de imagens são na prática codificadas de acordo com uma sequência de imagens I, B, e P (D está, como dissemos, reservado para o avanço rápido Fast forward) cuja ordem foi determinada experimentalmente. A sequência tipo chamada GOP (Group Of Pictures) é a seguinte:
IBBPBBPBBPBBI