MPEG
Origem: Wikipédia, a enciclopédia livre.
| Esta página precisa ser reciclada de acordo com o livro de estilo (desde Fevereiro de 2008) Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior. |
MPEG é um padrão de compressão usado em vídeo e áudio desenvolvido pelo grupo MPEG (Moving Picture Experts Group).
Índice |
[editar] Histórico
Na década de 80 ficou claro a necessidade de aliar imagem com tecnologia digital. Nesse sentido, em 1988 ISO esquematizou o MPEG (Moving Picture Experts Group), para desenvolver padrões para o vídeo digital.[1] Foram definidos três itens a serem desenvolvidos:
- Video e audio associados a uma taxa de 1.5 Mbps (mais tarde chamado de MPEG-1);
- Imagens em movimento e audio associados a uma taxa de 10 Mbps (mais tarde chamado de MPEG-2);
- Imagens em movimento e audio associados a uma taxa de 60 Mbps (mais tarde reduzido para 40 Mbps e então cancelado).
MPEG 1 era orientado como imagem digital armazenada em Mídia de armazenagem digital (DSM - Digital Storage Media). MPEG-2 foi orientado como broadcast. MPEG-3 para televisão de alta-definição (HDTV). Enquanto os padrões se desenvolviam ficou claro que as técnicas empregadas nos padrões poderiam ser usados em qualquer bitrate (quantidade de bits necessários para codificar um segundo de informação, seja esta vídeo, áudio ou ambos). Assim o título dos que incluiam a taxa de transmissão, foram alterados para MPEG-1 e MPEG-2 e ficou claro que MPEG-2 poderia satisfazer as necessidades do HDTV, assim, o MPEG-3 foi descartado.
[editar] O papel do MPEG Systems
O vídeo, audio, ou qualquer outra informação para um serviço codificado em MPEG deve ser multiplexado num único fluxo de bits. Essa é a principal tarefa do MPEG-2 Systems. Quando o multiplexador está recebendo um fluxo de bits de vídeo e áudio comprimidos, como eles devem ser multiplexados para que o decodificador possa obtê-los sincronizados? Uma outra tarefa do Sistema é fornecer meios para essa sincronização.
Apesar de que um fluxo MPEG representa um fluxo constante de bits, os bits precisam ser organizados em grupos (pacotes) para que erros de bit não se propaguem além das fronteiras de um único pacote. Geralmente, quanto maior o pacote, mais suscetível ele é aos erros de bit. Por outro lado, agrupando os bits em pacotes cria um maior tráfego para acomodar os cabeçalhos dos pacotes. Geralmente quanto menores os pacotes, maior o tráfego. Assim, existe um tradeoff entre escolher o tamanho do pacote e sua resiliência e eficiência. Pode-se considerar portanto que formar pacotes é uma terceira função para os MPEG Systems.
Na maioria dos casos, decodificadores necessitam de Informações Específicas do Programa (PSI - Program Specific Information) para decodificar o os dados que chegam. Fornecer estas PSIs é a quarta tarefa do MPEG Systems. Um MPEG Systems deve:
- Multiplexar fluxos de bits individuais num único fluxo de bits.
- Prover maneiras para sincronizar os fluxos de bits que compôem um serviço de áudio e/ou vídeo.
- Empacota os bits em grupos.
- Provê informações específicas chamadas PSI.
Nos MPEG-2 Systems, um programa é definido como o conjunto de Fluxos Elementares significativos, como áudio e vídeo, que têm a mesma base de tempo.
[editar] O Vídeo MPEG
Um arquivo MPEG é um arquivo digital contendo vídeo e áudio digitais codificados seguindo determinados padrões de compressão e armazenados em um dado formato específico. O comitê ISO especifica separadamente o tratamento de áudio e de vídeo, permitindo streams sem áudio, por exemplo.
Um filme é uma sequência de blocos. Cada bloco do filme contém seções individuais para o vídeo e para o áudio. A sincronização entre o vídeo e o áudio é feita através de marcadores de tempo que são afixados durante a codificação nos identificadores de blocos.
[editar] Compressão MPEG
O padrão MPEG especifica 3 tipos de quadros comprimidos no arquivo de saída, como mostra a Figura 2. Nos quadros I (Intraframe) somente se aplicam algoritmos de redução de redundância espacial. Nos quadros P (Predicted) e B (Bidirectionally Predicted) também se aplicam algoritmos de redução de redundância temporal. No caso dos quadros B a predição de movimento é bidirecional, ou seja, é feita com quadros no passado e no futuro em relação ao quadro sendo codificado.
Os quadros apresentam diferentes taxas de compressão, sendo que os quadros B apresentam a maior taxa, seguidos dos P e dos I. Isto se deve ao fato de que nos quadros I eliminamos apenas a redundância espacial. Quanto maior a compressão maiores as perdas de qualidade sofridas nos quadros, por isso há a necessidade de intercalar quadros I de tempos em tempos para permitir a “restauração” da qualidade do sinal e também acesso aleatório aos quadros do filme.
O padrão publicado pela ISO especifica o formato final do arquivo comprimido, deixando margem para que diferentes abordagens possam ser utilizadas, com diferentes compromissos entre compressão e complexidade computacional. Além disso, também fazem parte do padrão:
- Uso da Transformada Discreta do Cosseno (DCT), seguida de Quantização e Run Length Encoding [Hel96] (RLE) para redução da redundância espacial de cada quadro do filme;
- Uso de Motion Estimation e Motion Compensation (MEC) preditiva e interpolativa para redução de redundância temporal entre quadros e
- Uso de Codificação de Huffman [Huf52] ao final do processo, gerando a compressão efetiva.
A DCT faz uma transformação na imagem, mudando o domínio de representação da mesma. Este processo não introduz perdas de qualidade na imagem, sua utilização se dá porque ela permite uma representação mais compacta da imagem, facilitando a compressão.
[editar] O papel do MPEG Systems
O vídeo, audio, ou qualquer outra informação para um serviço codificado em MPEG deve ser multiplexado num único fluxo de bits. Essa é a principal tarefa do MPEG-2 Sistems. Quando o multiplexador está recebendo um fluxo de bits de vídeo e áudio comprimidos, como eles devem ser multiplexados para que o decodificador possa obtê-los sincronizados? Uma outra tarefa do Sistema é fornecer meios para essa sincronização.
Apesar de que um fluxo MPEG representa um fluxo constante de bits, os bits precisam ser organizados em grupos (pacotes) para que erros de bit não se propaguem além das fronteiras de um único pacote. Geralmente, quanto maior o pacote, mais suscetível ele é aos erros de bit. Por outro lado, agrupando os bits em pacotes cria um maior tráfego para acomodar os cabeçalhos dos pacotes. Geralmente quanto menores os pacotes, maior o tráfego. Assim, existe um tradeoff entre escolher o tamanho do pacote e sua resiliência e eficiência. Pode-se considerar portanto que formar pacotes é uma terceira função para os MPEG Systems.
Na maioria dos casos, decodificadores necessitam de Informações Específicas do Programa (PSI - Program Specific Information) para decodificar o os dados que chegam. Fornecer estas PSIs é a quarta tarefa do MPEG Systems. Um MPEG Systems deve:
- Multiplexar fluxos de bits individuais num único fluxo de bits.
- Prover maneiras para sincronizar os fluxos de bits que compôem um serviço de áudio e/ou vídeo.
- Empacota os bits em grupos.
- Provê informações específicas chamadas PSI.
Nos MPEG-2 Systems, um programa é definido como o conjunto de Fluxos Elementares significativos, como áudio e vídeo, que têm a mesma base de tempo.
Existem diferentes formas de se detectar movimento de objetos numa sequência de imagens. O padrão MPEG adota algoritmos de MEC baseados em casamento de blocos. Este algoritmo consiste na procura de um bloco de tamanho fixo (16x16 pixels no padrão MPEG) de um quadro em uma janela de busca em um quadro seguinte (ou anterior). Esta janela pode ser de tamanho variável mas o tamanho usual é de 30x30 pixels [BK97].

