top of page

Codecs de vídeo

Na distribuição de vídeo em stream, muitos codecs têm vindo a ser utilizados e substituídos por outros mais eficientes. Embora existam alguns concorrentes como o VP8 da Google, VC-1 da Miscrosoft ou o Theora da Xiph.org Foundation, hoje o codec de vídeo mais utilizado, nomeadamente em streaming em dispositivos móveis, é o H.264/AVC.

 

 

H.264/AVC


O codec H.264/AVC foi desenvolvido juntamente pela ITU-T e ISO/IEC MPEG, mas ao contrário de codecs anteriores, como o MPEG-2 Vídeo, não surgiu para uma aplicação específica. Apesar do codec H.264/AVC ter surgido por volta de 2003, substituiu as normas anteriores, pois possui uma codificação melhorada, nomeadamente cerca de 50% menos débito para a mesma qualidade subjetiva, em comparação com as normas já existentes (MPEG-2 Vídeo).

H.264/AVC

 

 

Pouco movimento. O codec H.264 apresenta a mesma qualidade subjectiva para metade do débito binário.
Muito movimento. O codec MPEG-2 tem mais efeito de bloco, mesmo com o dobro do débito binário.

Esta melhoria foi conseguida sobretudo com um aumento de complexidade de codificação.

A arquitetura de codificação do H.264/AVC, é muito semelhante a arquiteturas anteriores, mas os blocos são mais complexos.

Arquitetura do codec H.264/AVC [12]
O ganho de eficiência está essencialmente ligado à compensação de movimento com blocos de tamanho variável (e menores), múltiplas tramas de referência, transformada hierárquica com blocos menores (4x4), filtro de efeito de bloco no loop de predição e codificação entrópica melhorada (Context Adaptive Variable Lenght Coding-CAVLC e Context Based Adaptive Binary Arithmetic Coding-CABAC) [12]. Este codec, relativamente a outros anteriores, é mais eficiente em redes móveis pois reduz o consumo de tráfego, assim como suporta larguras de banda inferiores. Para além disto, destaca-se também por possuir um possuir uma boa resiliência a erros utilizando várias ferramentas essenciais em mobile video streaming. O codec H.264/AVC utiliza ferramentas como ordenação flexível de macroblocos (FMO), segmentação da imagem em slices, inserção de slices intra e tramas de refrescamento IDR, reference picture selection, partição de dados e slices redundantes.
 
 
 
 
 
 
A ordenação flexível de macroblocos consiste em agrupar os macroblocos, através de um mapeamento. Por exemplo, a figura ao lado possui dois slices: o de macroblocos em branco e o de macroblocos em cinza. Este mapeamento facilita a ocultação ou disfarce de erros, porém diminui a eficiência de compressão pois quebra os mecanismos de predição dentro da própria figura.
Ordenação flexível de macroblocos [4]

A inserção de slices intra continua a ser uma ferramenta essencial para evitar a propagação de erros. Existem também as tramas de refrescamento (IDR) que faz com que em figuras seguintes não possam usar figuras anteriores às IDR na compensação de movimento [4].

 

A ferramenta Reference Picture Selection consiste em o descodificador, caso exista feedback, sinalizar o codificador quando a imagem recebida foi danificada e portanto este não a utilizará no loop de predição.

 

A partição de dados consiste na partição de um slice em 3 partições A, B e C, permitindo diferentes proteções a erros de acordo com a importância dos elementos.

 

A ferramenta slices redundantes permite a codificação de slices usando menos bits e apenas são utilizados se o slice primário, de melhor qualidade, não estiver disponível no descodificador.

 

 

Para gerir o elevado número de ferramentas de codificação da norma H.264/AVC e a máxima complexidade do descodificador aceitável para determinada aplicação há diversos níveis/perfis que podem ser utilizados.Os perfis Baseline e Extended são aqueles que mais ferramentas incluem no que diz respeito à resiliência a erros, por isso mais indicados quando se codifica vídeo para ser transmitido em canais com taxas de erro elevadas, como em ambientes móveis.
Perfis do H.264/AVC [12]
Para além disto, para resolver a grande heterogeneidade atual em termos de dispositivos, criou-se a extensão SVC do H.264/AVC, que oferece uma stream contruída por camadas. Cada cliente pode utilizer tantas camadas quanto a capacidade do seu dispositivo móvel. Uma maoir proteção da camada base é também uma forma de garantir uma qualidade mínima aceitável.

Codecs de áudio 

Os codecs de áudio MP3 e AAC pois são os mais utilizados em conjunto com o codec H.264/AVC. Já o codec de áudio Vorbis é utilizado em conjunto com os codecs de vídeo VP8 e Theora.

MP3

O codec MP3 é um sistema de compactação de áudio que frequentemente acompanha o vídeo compactado em H.264/AVC e vem de MPEG-1 Audio Layer 3. Trata-se dum formato bastante popular devido à sua taxa de compactação, que pode chegar a 12 vezes o tamanho do ficheiro original, não havendo perdas significativas e percetíveis na qualidade de som. O método de compressão consiste em retirar do áudio amplitudes ou frequências que não percetíveis ao ser humano (irrelevância), e em escala menor, tira vantagem de alguma redundância existente. O seu débito binário é da ordem dos kbps, sendo 128 kbps a taxa-padrão. No entanto, este codec apresenta uma grande desvantagem que é o seu atraso e a relação de compactação comparando com outros codecs de streaming.

 

 

 

 

 

 

 

O codec Advanced Audio Coding (AAC), que também frequentemente acompanha o vídeo compactado em H.264/AVC foi projetado para substituir o codec MP3, conseguindo melhor qualidade de som para débitos binários idênticos. Também a sua taxa de compactação é superior face à do MP3. Testes comparativos mostraram que um arquivo AAC aparenta ter maior qualidade sonora e transparência que um arquivo MP3 codificado à mesma taxa. À medida que o débito binário aumenta, a eficiência do formato de áudio torna-se menos importante em relação à implementação do codificador, e a vantagem do AAC em relação ao MP3 passa a ter uma diferença menos significativa. Quanto ao número de canais, o AAC é mais abrangente que o MP3, possuindo 48 canais contra os 5.1 no MP3. O AAC é o formato padrão para o  iPhone, o iPod e o iTunes da Apple, entre outros dispositivos móveis. O AAC, embora tecnicamente superior, ainda não teve toda a sua capacidade de implementação explorada [3].

AAC

Codec de áudio: MP3
Codec de áudio: AAC

Ver outras tecnologias

bottom of page