Você está na página 1de 12

TV Digital II: Compressão

Controle de Saída da Taxa de Bits

O fluxo de bits gerados pelo codificador de vídeo (áudio) é chamado de fluxo


elementar (ES). A fim de cumprir as restrições dos canais (de transmissão ou
gravação/reprodução) e do buffer de entrada especificado para o decodificador
de referência MPEG, a taxa de bits desta corrente primária deve ser constante.
Isto não é garantido pelo processo de codificação descrito acima, pois há uma
quantidade extrema de detalhes diferentes e movimentos nas imagens a serem
codificadas.
A saída do codificador é equipada com um buffer FIFO para controlar a taxa de
bits; a quantidade de bits é monitorada e mantida dentro de limites pré-
determinados por meio de um gabarito que altera os parâmetros de quantização,
que têm uma grande influência sobre a taxa de bits do fluxo de bits codificados.
Desta forma é possível obter uma taxa de bits constante, com uma resolução
que depende do conteúdo da imagem e da quantidade de movimentos da
imagem. Um diagrama em blocos de um codificador MPEG dando apenas uma
idéia de sua complexidade real é visto na figura 4.5 [5].

Figura 5: Diagrama esquemático do codificador MPEG


Fonte: BENOIT, 2008

O decodificador é mais simples, pois não precisa realizar a estimativa de


movimento, e isto foi um dos principais objetivos desse padrão já que haverá
muito mais decodificadores que codificadores. O diagrama em blocos de um
decodificador é visto na figura 6.
Figura 6: Diagrama esquemático do decodificador MPEG
Fonte: BENOIT, 2008

Codificação de Vídeo MPEG-2

O padrão MPEG-2 pode ser descrito como uma caixa de ferramentas de


compressão e tem aplicação nas transmissões de radiodifusão. É um padrão
mais complexo que o MPEG-1 e utiliza as ferramentas especificadas no MPEG-
1 com o acréscimo de novas ferramentas. O padrão MPEG-2 é totalmente
compatível com o padrão MPEG-1. Embora o padrão MPEG-1 fosse projetado
para codificação de imagens em movimento, ele não permitia tratar de imagens
entrelaçadas. A diferença mais importante entre MPEG-1 e MPEG-2 é a
introdução de instrumentos de codificação projetados para tratar o
entrelaçamento. A probabilidade de erros de dados quando a informação é lida
em mídias de armazenamento digital é baixa, mas quando se trata em aplicações
de transmissão de TV Digital esses erros tornam-se mais comuns, por isso o
padrão MPEG-2 deu uma atenção especial a esse tipo de aplicação [5].
A norma MPEG-2 foi projetada para ser extremamente flexível e pode ser
utilizada em várias aplicações como, por exemplo, transmissão por radiodifusão
terrestre, satélite ou cabo, vídeos armazenados digitalmente, sistemas de
informações e multimídia. Este padrão de codificação de vídeo é utilizado nos
sistemas de TV Digital ATSC, DVB e ISDB.

Níveis e Perfis do MPEG-2

A norma MPEG-2 possui quatro níveis que definem a resolução do quadro,


desde o padrão SIF até HDTV, e cinco perfis que determinam o conjunto de
ferramentas de compressão utilizada, por isso há um compromisso entre a taxa
de compressão e custo do decodificador [5].

Os quatro níveis podem ser descritos da seguinte forma:

 O nível baixo corresponde à resolução SIF usado na norma MPEG-1


(até 360x288);
 O nível principal corresponde ao padrão de resolução 4:2:0 (até
720x576);
 O nível alto-1440 é destinado a HDTV (resolução até 1440x1152);
 O nível alto é otimizado para tela HDTV wide (resolução de até
1920x1152) [5].

Os perfis são:

 O perfil simples é definido para simplificar o codificador e o


decodificador, a fim de obter uma taxa de bits mais alta, pois não utiliza
a predição bi-direcional (quadros B);
 O perfil principal é o melhor compromisso entre a compressão, taxa e o
custo, pois utiliza os três tipos de imagem (I,P,B), o que o leva ao uso de
um codificador e um decodificador mais complexo;
 Os perfis escaláveis (codificação de hierarquia) são destinados para
utilização futura. Eles permitirão a transmissão de imagem com
qualidade base (camada de base) em termos de resolução espacial
(perfil escalável espacialmente) ou precisão de quantização (perfil
escalável em SNR), e de informação complementar (camada de
reforço), permitindo que as características da imagem sejam
melhoradas;
 O perfil alto é destinado para aplicações de transmissão de HDTV nos
formatos 4:2:0 ou 4:2:2 [5].

É importante ressaltar que há um grau de compatibilidade entre os perfis. Essa


compatibilidade é crescente, ou seja, o decodificador de um perfil é capaz de
decodificar os perfis de menor complexidade. A hierarquia de camadas de
decomposição do MPEG-2 é a mesma do MPEG-1. Há uma pequena diferença
na camada fatia, pois não há a necessidade de cobrir toda a imagem, somente
as que são constituídos por blocos contíguos na mesma linha horizontal [5].
Se excluirmos os níveis e perfis, a principal característica do padrão MPEG-2
em relação ao MPEG-1 é o processamento de quadros entrelaçados. Para
melhores resultados, quadros entrelaçados serão tratados de maneiras
diferentes, dependendo da importância dos movimentos entre os dois campos
de uma imagem: os casos extremos são, por um lado, as imagens de filmes de
cinema, em que os dois campos vêm da mesma imagem de cinema (pelo menos
em sistemas de 50 Hz), e por outro lado, imagens de eventos esportivos de TV,
onde as diferenças devido ao movimento entre os dois campos de uma imagem
são importantes [5].

Modos MPEG-2 Específicos de Predição (Quadros Entrelaçados)

A sequência temporal da posição vertical das linhas pertencentes aos campos


sucessivos em um sistema entrelaçado é mostrada na figura 4.7. Para a
codificação de imagens intra-entrelaçadas, o padrão MPEG-2 permite escolher
entre duas estruturas da imagem, um quadro e um campo [5].
Figura 7: Posição das linhas de campos sucessivos em um sistema
entrelaçado
Fonte: BENOIT, 2008

A estrutura de quadro (também chamada de progressiva) é mais adequada para


casos onde há pouco movimento entre dois campos sucessivos. Macro blocos e
blocos são cortados fora do quadro completo como mostra a figura 4.8, e assim
a DCT é aplicada aos pontos verticais consecutivos separados entre si por 20ms
(duração de um campo em sistemas de 50Hz), o que não é nenhum problema
para as partes da imagem com pouco movimento. Neste modo, entretanto, é
possível codificar os blocos mais animados em modo intercampo, o que significa
o posicionamento dos blocos em apenas um bloco [5].

Figura 8: Corte de blocos de macro blocos (modo de quadro)


Fonte: BENOIT, 2008
A estrutura do campo (também chamada de entrelaçada) é preferível quando há
movimentos entre campos sucessivos. Neste caso, para evitar que um conteúdo
de frequência vertical elevada reduza a eficiência da compressão na etapa
seguinte a DCT, os macro blocos são cortados fora de um campo como o da
figura 4.9, que é considerada uma imagem independente. No caso de estimativa
de movimento, modos diferentes também são possíveis; um macro bloco pode
ser previsto nos modos quadro, campo ou misto [5].

Figura 9: Corte de blocos fora de macro blocos (modo de campo)


Fonte: BENOIT, 2008

Padrão de Compressão de Vídeo MPEG-4.1 (H.264/AVC)

Este padrão de compressão de vídeo é um resultado de estudos da Joint Video


Team (JVT), contando com a participação dos membros da Video Coding Expert
Group (VCEG) do I’IT-T e do Motion Pictures Expert Group (MPEG) da ISSO-
IEC; por isso é conhecido com MPEG-4.1 e H.264. O padrão muitas vezes é
referenciado como H.264/AVC (Advanced Video Coding) [5].
Esta norma, registrada sob o número ISO-IEC 14496-10, prevê um aumento
considerável na eficiência de compressão MPEG-2 com um ganho de pelo
menos 50%. Esta eficiência é muito importante no caso da televisão de alta
definição (HDTV), que no padrão MPEG-2 requer uma taxa de bits de pelo
menos 15 a 18 Mbit/s [5].
Este padrão de compressão de vídeo é utilizado no sistema SBTVD e também
pode ser utilizado como alternativa nos outros três sistemas de TV Digital.
A norma H.264/AVC consiste em duas camadas: uma camada de codificação
de vídeo, que representa na forma mais compacta possível o conteúdo de vídeo;
uma camada de abstração de rede (NAL), que formata a representação VCL na
forma mais adequada para o seu destino (transporte ou armazenamento) [5].
A camada NAL formata os dados produzidos pelo VCL codificando em unidades
NAL, que contém um número inteiro de bytes. Dependendo do destino da
corrente gerada (corrente de transporte ou fluxo puro de bit), as unidades NAL
são precedidas ou não por um prefixo no começo [5].
A parte VCL representa a codificação H.264 adequada. Tal como os padrões
MPEG-1 e MPEG-2, o VLC é um compressor de quadros híbrido, que explora a
dependência estatística temporal entre quadros sucessivos e compressão intra
quadro. A compressão, por sua vez, explora a dependência espacial por meio
de um método de codificação baseado em uma transformada da previsão
residual. No modo misto, a previsão é feita por macro blocos pertencentes a dois
quadros [5].
Assim como o padrão MPEG-2, o H.264 suporta a codificação de imagens
entrelaçadas ou progressivas no formato 4:2:0, mas no caso do MPEG-4, uma
sequência pode incluir ambos os tipos de quadros [5].
As últimas extensões do padrão H.264 (FRExt) permitem a codificação de
imagens nos formatos 4:2:2 e 4:4:4, com diferentes espaços de cores (YCbCr,
RGB, YCgCo) e possibilitam uma precisão superior a 8 bits (10 ou 12) para as
amostras de vídeo [5].
A melhor eficiência do padrão H.264 sobre o MPEG-2 não é resultado de um
algoritmo revolucionário, mas de um acréscimo de múltiplas melhorias
relativamente pequenas, se analisadas separadamente [5].
Este resultado tem sido obtido através da utilização das seguintes
características: modos de predição mais sofisticados, podendo variar dentro de
um quadro, referindo-se a um número maior de imagens sucessivas; uma
transformada inteira, em vez do DCT, utilizando blocos de 4x4 e 8x8; uma
codificação de entropia adaptável mais eficiente (CAVLC e CABAC) [5].
A codificação utilizando entropia (quantidade média de informação de uma
mensagem) é do tipo adaptável ao contexto e pode usar dois modos, CABAC
(Context-Adaptive Binary Arithmetic Coding) e CAVLC (Context-Adaptive
Variable-Length Coding). Cabac permite uma redução de aproximadamente 10
a 15% na taxa de bits necessárias de um quadro com qualidade equivalente em
relação ao CAVLC, que é significativamente mais eficiente do que o VLC do
padrão MPEG-2 [5].
A utilização de novas ferramentas, PicAFF (Adaptive Picture Frame Field) e
MBAFF (Adaptive macrobloco Frame Field), permite a otimização do
processamento de imagens entrelaçadas [5].
Finalmente, um filtro de desbloqueio permite uma redução na visibilidade dos
blocos e macro blocos, um inconveniente comum nos sistemas de compressão
de vídeo, fornecendo uma redução de 5 a 10% na taxa de bits em imagens com
qualidade subjetivas [5].
Assim como o padrão MPEG-2, a norma H.264 compreende muitos perfis e
níveis, que são descritos na tabela 4.1. Os perfis definem a complexidade do
conjunto de ferramentas escolhidas [5].

Tabela 1: Ferramentas de codificação de diferentes perfis do padrão H.264


FERRAMENTAS DE BASE PRINCIPAL ESTENDIDO ALTO
CODIFICAÇÃO
Fatia I e P X X X X
CAVLC X X X X

CABAC X X

Fatias B X X X

Imagem entrelaçada (PicAFF, X X X


MBAFF)

Erro de ressalto (FMO, ASO, X X


RS)

Erro de ressalto enhanced (DP) X

Fatia SP e SI X

Transformada em 8x8 ou 4x4 X


bloco

Adaptação de matrizes de X
quantificação

Controle QP separado para Cb X


e Cr

Formato de vídeo X
monocromático

Fonte: BENOIT, 2008

O perfil alto foi o último adicionado ao padrão, que originalmente contava com
três perfis. Ele é uma extensão do perfil principal que aumenta a eficiência por
meio do Fidelity Range Extensions (FRExt). O perfil alto é composto por quatro
subperfis, dos quais apenas o primeiro é mostrado na tabela 4.1, pois é o que se
destina a aplicações de transmissões. Com relação aos níveis, eles
correspondem à resolução do quadro e escala de 1 (QCIF) a 5 (1Kx2K), com
muitos níveis intermediários. A tabela 4.2 detalha os vários níveis [5].

Tabela 2: Níveis do padrão H.264


TAXA
DE REF
NÍVEL TAMANHO DA IMAGENS /
BITS QUADROS
H.264 IMAGEM SEGUNDOS
MÁX MÁX
(bit/s)
1 QCIF 15 64K 4

1.b QCIF 15 128K 4

1.1 CIF ou QCIF 7,5(CIF)/(30QCIF) 192K 2(CIF)/9(QCIF)

1.2 CIF 15 384K 6

1.3 CIF 30 768K 6

2 CIF 30 2M 6

2.1 HHR(480i/576i) 30 ou 25 4M 6

2.2 SD(720∗480i/576i) 15 4M 5

3 SD(720∗480i/576i) 30 ou 25 10M 5

3.1 1280x720p 30 14M 5

3.2 1280x720p 60 20M 4

4 720/1080p 60 ou 50/30 ou 25 20M 4

4.1 720/1080p 60 ou 50/30 ou 25 50M 4

4.2 1920x1080p 60 50M 4

5 2k*1K 72 135M 5

5.1 2K*1K ou4K*2K 120/ 130 240M 5

Fonte: BENOIT, 2008

Compressão de Sinais de Áudio MPEG

O padrão de áudio MPEG-1 descreve um algoritmo apropriado para a


codificação de um sinal de áudio monofônico ou estéreo com uma largura de
banda de até 24KHz. O algoritmo é dividido em três níveis de complexidade de
codificação, chamado de camadas. O algoritmo da camada I é o mais simples
em termos de complexidade computacional e exige a maior taxa de bits para
produzir um sinal de áudio com qualidade. Os algoritmos das camadas II e III
incluem componentes adicionais que aumentam a complexidade do algoritmo da
camada I, mas a taxa de bits necessária para produzir um sinal de áudio com
qualidade é menor [5].
A especificação desse padrão ocorreu em 1993 e os algoritmos utilizados nesse
padrão são o MUSICAM para camada I e II e o ASPEC para camada III[5].
O padrão de áudio MPEG-2 é uma extensão do algoritmo de codificação do
padrão MPEG-1.
O padrão de codificação de áudio MPEG-2 contém dois algoritmos
completamente distintos. O primeiro algoritmo foi projetado para ser compatível
com o padrão MPEG-1 e é chamado de MPEG-2 BC. Foi referendado como
padrão em 1995. O segundo algoritmo é conhecido como MPEG-2 AAC e foi
adicionado ao padrão MPEG-2 em 1997 [5].
A norma MPEG-2 BC utiliza os mesmos algoritmos do padrão MPEG-1, mas
tem funcionalidades adicionais que permitem a entrada de taxas menores de
amostragem para sinais de áudio. Essa norma foi implementada no sistema DVB
de TV Digital [5].
O algoritmo MPEG-2 AAC foi implementado para técnicas de compressão mais
recentes, mantendo a compatibilidade com as versões anteriores. Essa norma é
utilizada no sistema japonês ISDB de TV Digital [5].

Camadas de Áudio MPEG

O padrão MPEG define três camadas de codificação com diferentes taxas de


compressão para a qualidade de áudio percebida [5].
A camada I utiliza o algoritmo PASC (Precision Adaptative Sub-Band Coding)
que foi desenvolvido pela Philips para a DCC cassete de áudio digital. Utiliza a
taxa de bits fixa escolhida entre 14 possíveis que vão de 32 a 448 kbit/s; para
uma qualidade hi-fi necessita de 192 Kbit/s por canal de áudio, e, portanto 384
Kbit/s para estéreo. A principal vantagem dessa camada é a simplicidade do
codificador e do decodificador [5].
O modelo psicoacústico utilizado é conhecido como modelo 1. A precisão dos
coeficientes de quantização de sub-banda é definida para a duração do quadro
de 4 bits, que permite uma codificação de 0 a 15 bits de cada sub-banda, e o
fator de 6 bits de escala para todo quadro [5].
A camada II utiliza um algoritmo conhecido como MUSICAM que foi
desenvolvido para o rádio digital europeu (DAB, Digital Audio Broadcasting).
Para uma qualidade de áudio equivalente, a camada II necessita de 30 a 50%
de taxa de bits a menos que a camada I, pois é acrescentada uma complexidade
nos codificadores e decodificadores. A taxa de bits fixa varia de 32 a 192 Kbit/s
por canal e para uma qualidade hi-fi necessita de 128 Kbit/s por canal e para
estéreo 256 Kbit/s [5].
O modelo psicoacústico utilizado é o mesmo que para a camada I (modelo
1),mas a duração do quadro é três vezes maior. A fim de reduzir a taxa de bits,
a precisão dos coeficientes de quantização de sub-banda diminui com a
frequência (quantização definida em 4 bits para bandas baixas, 3 bits de bandas
médias e 2 bits de bandas altas) em vez do formato fixo utilizado na camada I.
Além disso, duas ou três amostras consecutivas de sub-banda podem ser
agrupadas e codificadas com o mesmo coeficiente [5].
A camada III utiliza o formato MP3, que foi desenvolvido utilizando um modelo
diferente de psicoacústica (modelo 2), e a analise do sinal é baseada na
codificação Huffmann e na DCT, diferentemente das camadas I e II que utilizam
a codificação de sub-banda. Para uma qualidade determinada, a taxa de
compressão obtida com a camada III é aproximadamente o dobro da camada II,
mas os codificadores e decodificadores são substancialmente mais complexos
e a codificação/decodificação no tempo é muito mais longa. A qualidade hi-fi
requer apenas 64 kbit/s por canal (128 kbit/s para estéreo) [5].

Formato do Quadro de Áudio MPEG

O quadro de áudio é a unidade elementar de acesso a uma sequência de áudio


MPEG. É composto por quatro partes: um cabeçalho de 32 bits, paridade (CRC)
sobre 16 bits, dados de áudio de comprimento variável e dados auxiliares de
comprimento variável [5].

Formato do Quadro da Camada I

O quadro da camada I do padrão MPEG é mostrado na figura 4.10 e representa


384 amostras PCM do sinal de áudio, contendo 12 amostras sucessivas de sub-
banda. Como o número de amostras é independente da frequência de
amostragem, a duração do quadro é inversamente proporcional à frequência de
amostragem. Esta duração é de 12 ms para 32 KHz, 8,7 ms para 44,1KHz e 8ms
para 48 KHz [5].

Figura 10: Representação simplificada de um quadro MPEG de áudio da


camada I
Fonte: BENOIT, 2008

Formato do Quadro da Camada II


Neste caso, o quadro é formado por 12 subquadros, como mostra a figura 4.11,
representando 96 (3x32) amostras PCM do sinal de áudio, totalizando 1152
amostras. A duração é três vezes a duração do quadro da camada I, ou seja, 36
ms para 32 KHz, 26,1 ms para 44,1 KHz, 24 ms para 48 KHz. A parte de áudio
do quadro da camada II é diferente da camada I e sua alocação de bits é mais
complexa devido às numerosas opções de codificação [5].

Figura 11: Representação simplificada de um quadro MPEG de áudio da


camada II
Fonte: BENOIT, 2008

Padrão de Áudio Dolby Digital AC3

Este padrão descreve um algoritmo apropriado para a codificação de áudio com


formatos de 5.1 canais, com uma taxa de dados de 32 a 640 Kbit/s. O algoritmo
de codificação AC-3 baseia-se no algoritmo de codificação AC-2 desenvolvido
em 1989 e permite comprimir os fluxos de áudio com fator de 10 a 12 com uma
amostragem de 16 bits a 48 KHz [3].
Em fevereiro de 1992, o ATSC recomendou o uso de um sinal de áudio com 5.1
canais para o serviço de HDTV. O AC3 foi o padrão escolhido para fornecer esse
sinal de áudio. Entretanto, as exigências colocadas por um codificador para
prover as aplicações de TV Digital são mais diversificadas do que para um
codificador destinado às aplicações de cinema digital, que foi onde o AC3 era
utilizado. Assim foi feita uma melhoria no algoritmo base do AC3 para prover o
serviço de TV Digital. Foram incluídos recursos para prover uma variedade maior
de taxa de bits de saída, capacidade de sintetizar os 5.1 canais de saída para
menos canais e reproduzir o sinal de saída com uma variedade dinâmica
restringida. No final de 1993, o algoritmo de codificação AC3 foi recomendado
para o uso no sistema de TV digital ATSC. O padrão foi publicado em 1994 e
revisado em 2001 com algumas modificações quanto ao fluxo de bits alternados
[3].
O primeiro passo desse padrão é transformar uma sequência de amostras da
entrada de áudio em um bloco de coeficientes de frequência. Isto é feito através
de uma transformada no domínio do tempo chamada de TDAC. Em seguida,
cada bloco do coeficiente de frequência é representado no formato de ponto
flutuante como um expoente e uma mantissa. O expoente atua com um fator de
escala para a mantissa e indica o número de zeros na representação inteira do
coeficiente binário. Os valores do expoente podem variar de 0 a 24. O conjunto
dos expoentes é também utilizado como uma aproximação da densidade
espectral do sinal e é referido como o envelope espectral do sinal. Este envelope
espectral é utilizado no processo de atribuição de bits para determinar o tamanho
do quantizador para mantissa de cada coeficiente. O processo de atribuição de
bits utiliza um modelo de mascaramento de frequência para determinar a
precisão necessária para cada mantissa [3].
Um fluxo de bits AC3 consiste de uma sequência de quadros de sincronização.
Cada quadro de sincronização inclui seis blocos de áudio, cada um contendo os
dados codificados representando 256 amostras de uma nova entrada. Cada
quadro de sincronização começa com um cabeçalho com uma informação de
sincronização (SI), contendo informações do cabeçalho necessárias para
adquirir e manter a sincronização, e um cabeçalho com informações de fluxo de
bits contendo parâmetros que descrevem o serviço de áudio codificado. O
quadro de sincronização termina com um campo de verificação de erro que
contém um CRC utilizado para detecção de erros, e um campo de dados auxiliar
(AUXI) que pode ser incluído após os blocos codificados de áudio [3].

Você também pode gostar