MPEG
Origem: Wikipédia, a enciclopédia livre.
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.
“O segundo trabalho do Moving Picture Experts Group Site do Moving Pictures Express Group, popularmente conhecido como MPEG 2, foi desenvolvido para lidar com imagens de alta resolução e audio multicanal. O Direct Broadcast Satellite (DBS) foi certamente uma de suas maiores aplicações alvo.
Em julho de 1990 numa reunião da MPEG em Porto, Portugal, nós começamos a desenvolver o padrão MPEG 2. Foi nesta reunião que eu conheci Don Mead, que estava representando a Hughes Eletronics. Hughes tinha começado um programa chamado Sky Cable (mais tarde nomeado DIRECTV) e havia emitido um Request for Information (RFI) para a industria solicitando informações sobre os requerimentos do DBS. Por causa da relevância técnica do RFI, foi acordado que este documento deveria ser inserido como um documento MPEG oficial para a reunião de Porto para que os membros da MPEG pudessem levar em conta que durante os três anos de esforços intensos para se desenvolver o MPEG 2, o Dr. Mead estava intimamente envolvido. Ele fez contribuições significativas em aspectos de gerenciamento do programa. Ele estava em perfeito acordo comigo sobre a necessidade de se certificar que o padrão ficasse no caminho certo para cumprir suas obrigações agendadas, particularmente nos subgrupos de requerimentos e sistemas.”
Índice |
[editar] Histórico
Na década de 80 ficou aparente que a imagem estava tendendo para a tecnologia digital. Também era claro que se padrões internacionais não fossem desenvolvidos para a imagem digital, haveria uma "Torre de Babel" de diferentes padrões que porventura se proliferariam; assim, em 1988 ISO esquematizou o MPEG (Moving Picture Experts Group), para desenvolver padrões para o vídeo digital. 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). MPEG2 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 it 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 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 tal 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 é a 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
Figura 1: Estrutura de arquivo 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 arranjados sequencialmente, como mostra a Figura 1. Note que 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
Figura 2: Quadros dentre de um bloco de vídeo 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.
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].