Você está na página 1de 11

A pesquisa seguinte transcorre com uma descrição do modo de compressão MPEG para

vídeo, baseados nas normas ISO 11172-2 (MPEG-1 vídeo) e 13818-2 (MPEG-2 Video).
Primeiramente é necessário que se apresente a técnica de compressão, por sinal bastante
complexa, no padrão MPEG-1. O padrão MPEG-2 é, na verdade, um aumento de capacidade
em relação ao MPEG-1, sendo o algoritmo de compressão praticamente o mesmo,
apresentando algum adendo.
PADRÃO MPEG –1 MPEG –2 DE CODIFIÇÃO DIGITAL DE VÍDEO
Genericamente falando, uma seqüência de vídeo contém uma quantidade de redundâncias em
seus frames (quadros).
O objetivo maior usado na redução da taxa de bits para armazenamento e transmissão que
explora ambas as redundâncias estatísticas e subjetivas e codifica a informação com o
mínimo de tamanho de informação, usa técnicas de codificação por entropia (verificação de
erros). A performance da compressão de vídeo naturalmente depende da quantidade de
redundâncias que a imagem contém.
Uma das aplicações do algoritmo de compressão MPEG é para a transmissão de um sinal de
vídeo por um canal de comunicação de pequena largura de banda. Neste caso uma boa
compressão é obtida tendo-se perda da qualidade do vídeo.
Quanto menor a taxa de bits requerida pelo canal mais se faz necessário a compressão.
As técnicas de compressão procuram otimizar a compressão de modo a minimizar as perdas
para uma dada taxa de bits requerida.
O Modelo Codificador MPEG Vídeo
As técnicas MPEG de codificação digital são de naturezas estatísticas.
Informações de vídeo geralmente possuem muitas redundâncias em ambas as direções
temporal e espacial.
Usa-se uma técnica de codificação por correlação entre pixels de um mesmo frame (Intra-
frame) para se prever um pixel através dos pixels mais próximos contidos no mesmo frame,
ou entre pixels de frames próximos (técnicas de codificação Inter-frames).
Os algoritmos de compressão MPEG empregam a técnica de codificação por Transformada
Discreta De Coseno (DCT) em blocos de imagem de 8x8 pixels para explorar eficientemente
correlações espaciais entre pixels em frames próximos de uma mesma imagem.
Contudo, no caso em que a correlação entre frames próximos é alta, ou seja , onde existem
frames consecutivos iguais ou muito parecidos, se torna desejável o uso da técnica de
codificação inter-frames DPCM empregando previsão temporal.
Na codificação de vídeo MPEG usa-se uma combinação de ambas as técnicas de previsão
compensada de movimento temporal seguida pela codificação transformada da informação
espacial remanescente para alcançar alta compressão dos dados (híbrido: codificações DPCM
e DCT).
A figura 1 descreve um exemplo de propriedade de correlação pixel-a-pixel de uma imagem.
Figura 1: Correlação inter-elemento espacial com alta correlação pixel-a-pixel. As variáveis
X e Y descrevem a distância entre pixels na imagem horizontal e vertical, respectivamente.
Subamostragem e interpolação
• Quase todas as técnicas de codificação de vídeo fazem uso exaustivo de
subamostragens e quantização antes da codificação. O conceito básico de
subamostragem é o de reduzir as dimensões de entrada do vídeo ( horizontal e
vertical) e desta forma o número de pixels a serem codificados antes do processo de
codificação.
• No receptor as imagens codificadas são interpoladas para a exibição. Esta técnica
pode ser considerada como uma das técnicas mais elementares e faz uso de
características fisiológicas específicas do olho humano, e assim, remove redundâncias
subjetivas de um dado de vídeo.
• O olho humano é mais sensível a mudanças de brilho do que a mudanças de cor. No
entanto os sistemas MPEG primeiramente dividem a imagem em componentes YUV (
componentes de luminância (Y) e crominância (U, V)), com descrição mais adiante.

• Em seguida os componentes de crominância são subamostrados em relação aos


componentes de luminância com uma relação Y:U:V específica para aplicações
particulares. Com o padrão MPEG-2 é usada uma relação de 4:1:1 ou 4:2:2.

Previsão Por Compensação De Movimento


É uma ferramenta poderosa para reduzir redundâncias temporais entre frames e é usada
extensivamente nos padrões de codificação de vídeo MPEG-1 e MPEG-2 como uma técnica
de previsão para codificação temporal DPCM. O conceito de compensação de movimento é
baseado na estimativa de movimento entre frames de vídeo. O movimento entre frames pode
ser descrito por um número limitado de parâmetros de movimento (pelo vetor de movimento
de translação de pixels).
Neste exemplo simples a melhor previsão para um pixel atual é dado pela previsão de
movimento compensado de um pixel de um frame codificado anteriormente. De qualquer
forma a codificação de uma informação de movimento com cada pixel da imagem codificada,
geralmente não é desejável nem necessário.
Já que a correlação espacial entre vetores de movimento é frequentemente alta, assume-se
que um vetor de movimento representa o movimento de um "bloco" de pixels adjacentes.
Nos algoritmos de compressão, as técnicas de previsão por compensação de movimento são
usadas para reduzir as redundâncias temporais e somente as imagens de previsão de erros - a
diferença entre imagens originais e imagens compensadas por previsão – são codificadas.
Geralmente a correlação entre pixels numa imagem obtida por compensação de movimento
inter-frame é menor que a propriedade de correlação no caso da compensação por intra-
frames devido à previsão baseada em frames codificados anteriores.
Figura 2 : comparação de blocos por aproximação de compensação de movimento. Um vetor
de movimento (vm) é estimado por um bloco em um frame atual N a ser codificado. Os
pontos do vetor de movimento para um dado bloco de mesmo tamanho num frame codificado
anteriormente N-1. O erro por compensação por previsão de movimento é calculado
subtraindo-se cada pixel em um bloco com seu movimento desviado duplicado no bloco
referido do frame anterio
Codificação No Domínio Da Transformada
• Codificação por transformada tem sido estudada extensivamente durante as duas
últimas décadas e tornou-se um método de compressão muito popular para
codificação de imagens fotográficas e codificação de vídeo. O objetivo da codificação
por transformada é descorrelacionar o conteúdo de imagens de intra ou inter-frames e
codificar coeficientes de transformada particulares dos pixels originais da imagem.
• Para este propósito as imagens de entrada são divididas em blocos separados de pixels
b (blocos de NxN pixels).
• A transformação pode ser representada como uma operação de matriz usando NxN
transformações na matriz A para obter os NxN coeficientes da transformada c baseado
numa transformação linear separável e de sentido unitário C = A b AT
• Onde AT é a transposta da matriz de transformação A. A transformação é reversível,
já que o bloco original NxN de pixels b pode ser reconstruído usando uma
transformação linear e separável inversa
• b = ATc A
• Em meio a diversas possíveis alternativas a Transformada Discreta de Coseno (DCT)
aplicada a blocos menores de imagem, usualmente 8x8 pixels tem sido a transformada
de melhor performance para imagens fotográficas e codificação de vídeo.
Implementações baseadas em DCT são usadas em muitos padrões de codificação de
imagens e vídeo devido à sua alta performance de descorrelação e a disponibilidade
de algoritmos rápidos de DCT exigidos pelas implementações em tempo real.
• Um dos maiores objetivos da codificação por transformada é fazer os coeficientes da
Transformada possivelmente pequenos o bastante para que eles sejam insignificantes
(em termos de medidas estatísticas e subjetivas) e não necessitem ser codificados para
transmissão.
• Ao mesmo tempo é desejável minimizar dependências estatísticas entre coeficientes
com o objetivo de reduzir a quantidade de bits necessários para codificar os
coeficientes remanescentes.
• A Figura 3 ilustra a variância (energia) de um bloco de 8x8 de coeficientes de DCT
intra-frames baseado num modelo estatístico simples hipoteticamente já discutido na
figura 1. Aqui a variância para cada coeficiente representa a incerteza do coeficiente
como variou dentre um grande número de frames.
• Coeficientes com pequenas variâncias são menos significativos para a reconstrução
dos blocos de imagem que coeficientes com maiores variâncias. Como deve ser
percebido na figura 3, na variação somente um reduzido número de coeficientes DCT
precisa ser transmitido para o receptor para se obter uma reconstrução valorosa dos
blocos de imagem.
• Além disso, os coeficientes DCT mais significativos estão concentrados próximos do
canto esquerdo superior (coeficientes DCT baixos) e o significado da queda dos
coeficientes com o aumento da distância. Isto implica que quanto maior o coeficiente
DCT menor sua importância para a reconstrução que os menores coeficientes.
• Também aplicando compensação por previsão de movimento a transformação usando
o DCT geralmente resulta numa apresentação compacta do sinal DPCM temporal no
domínio DCT – o qual herda a coerência estatística similar ao do sinal no domínio
DCT para os sinais intra-frames da Figura 3 (embora com redução de energia) - a
razão pela qual os algoritmos MPEG aplicam codificação DCT também para
compressão inter-frames satisfatoriamente.
Figura 3 : A figura ilustra a distribuição de variância dos coeficientes DCT calculadas
tipicamente como a variação sobre um grande número de blocos de imagem. As variâncias
dos coeficientes DCT foram calculadas baseadas no modelo estatístico usado na figura 1, u e
v descrevem as variáveis horizontal e vertical da imagem no domínio da transformada dentro
do bloco de 8x8. A maior parte da variância total está concentrada próxima do coeficiente DC
do DCT (u=0, v=0).
O DCT é fortemente relacionado com a Transformada Discreta de Fourier (DFT) e isto tem
alguma importância para compreender que os coeficientes DCT podem ser dados pela
interpretação de freqüência próxima ao DFT. Desta forma coeficientes DCT baixos estão
relacionados com baixas freqüências espaciais dentro de blocos de imagem e altos
coeficientes DCT com freqüências mais altas. Esta propriedade é usada em esquemas de
codificação MPEG para remover redundâncias subjetivas nos dados da imagem baseados em
critérios do sistema de visão humano. Já que o observador humano é mais sensível a erros de
reconstrução relacionados à baixas freqüências espaciais do que para altas freqüências, uma
freqüência adaptativa ponderada (quantização) de acordo com a percepção visual humana
(quantização percentual) é geralmente aplicada para aperfeiçoar a qualidade visual das
imagens decodificadas para uma dada taxa de bits.
A combinação das duas técnicas descritas acima – compensação por previsão de movimento
temporal e codificação no domínio da transformada – pode ser vista como o elemento chave
do padrão de codificação MPEG. Um terceiro elemento característico dos algoritmos MPEG
é que estas duas técnicas são processadas num pequeno bloco de imagem (de tipicamente
16x16 pixels para compensação por movimento e 8x8 pixels para codificação por DCT). Por
este motivo os algoritmos de codificação MPEG são geralmente referenciados como
algoritmos DPCM/DCT baseados em blocos híbridos.
Os blocos de imagem utilizados pela compensação de movimento são constituídos de 16x16
pixels e chamados de macroblocos. A equação 1 abaixo é calculada em diversos lugares do
quadro para o casamento de macroblocos em quadros diferentes. A fórmula é a diferença
absoluta (AE – Absolute Difference):
Na equação, f(i,j) representa o macrobloco do quadro corrente, e g(i,j) representa o mesmo
macrobloco de um quadro de referência. O macrobloco de referência é deslocado por um
vetor (dx, dy), representando a procura da localidade. O AE é validado em muitos pixels na
área de procura. Há um algoritmo que direciona esta procura chamado de Three-Step-Search
(TSS), que valida a AE no centro e em oito locais que o cercam, de uma área de 32x32 pixels.
O local que produz o menor AE torna-se o centro do próximo quadro, e a escala de procura é
reduzida pela metade. Esta seqüência é repetida três vezes.
MPEG-1 – PADRÃO GENÉRICO PARA CODIFICAÇÃO DE FIGURAS EM
MOVIMENTO E AUDIO ASSOCIADO PARA ARMAZENAMENTO DE MÍDIA
DIGITAL ATÉ 1.5Mbits/s
A técnica de compressão de vídeo desenvolvida por MPEG-1 cobre muitas aplicações em
sistemas interativos em CD-ROM para a distribuição de vídeo em uma rede de
telecomunicações.
O padrão de codificação de vídeo MPEG-1 foi desenvolvido para ser genérico. Para suportar
a grande gama de aplicações possui um perfil diversificado de parâmetros de entrada
incluindo tamanhos flexíveis de figuras e a taxa de frames pode ser especificado pelo usuário.
MPEG sugere um conjunto de parâmetros restritivos: todo decodificador MPEG-1 deve ser
apto a suportar pelo menos parâmetros de entrada de uma fonte de vídeo como os de uma TV:
incluindo um número mínimo de 720 pixels por linha, um número mínimo de 576 linhas por
figura, uma taxa mínima de 30 frames por segundo e uma taxa mínima de bits de
1.86Mbits/s. O padrão de entrada de vídeo consiste em um formato de figura de vídeo não
entrelaçado. Deve-se notar que de nenhuma forma a aplicação do MPEG-1 está limitada a
este conjunto de parâmetros restritivos.
O algoritmo de vídeo MPEG-1 foi desenvolvido com base na atividade do JPEG e H.261.
Procurou-se manter um alto grau de associatividade com o padrão CCITT H.261 de forma
que implementações com ambas as normas são suportadas. Contudo, MPEG-1 foi objetivado
inicialmente para aplicações em CD-ROM de multimídia, requerendo funcionalidade
adicional suportada por ambos codificador e decodificador.
Características importantes providas pelo MPEG-1 incluindo acesso randômico de vídeo
baseado em frames, avanço e retrocesso rápidos (FF/FR) procura entre seqüências de bits
comprimidos, reprodução reversa de vídeo e editabilidade de seqüências de bits
comprimidos.

Esquema Básico de Codificação Inter-frame Mpeg-1


A técnica básica de codificação MPEG-1 (igualmente ao MPEG-2) é baseada numa estrutura
macrobloco, compensação de movimento e renovação condicional de macroblocos. Como
desenhado na Figura 4a o algoritmo de codificação MPEG-1 codifica o primeiro frame em
uma seqüência de vídeo em modo de codificação intra-frame (I-picture). Cada frame
subsequente é codificado usando previsão inter-frame (P-picture) – somente o dado do frame
codificado imediatamente anterior I- ou P-frame é usado para a previsão. O algoritmo
MPEG-1 processa os frames de uma seqüência de vídeo baseada em bloco. Cada frame
colorido de entrada em uma seqüência de vídeo é particionado em macroblocos não
sobrepostos como ilustrado na figura 4b. Cada macrobloco contém blocos de dados de ambos
luminância e bandas coexistentes de crominância – quatro blocos de luminância (Y1, Y2, Y3,
Y4) e dois blocos de crominância (U, V) cada um com 8x8 pixels. A relação de amostragem
entre luminância e crominância dos pixels Y:U:V é
FIGURA 4: A.) Ilustração de I-pictures (I) e P-pictures (P) numa sequência de vídeo.
Os P-pictures são codificados usando compensação por previsão de movimento baseada no
frame anterior mais próximo. Cada frame é dividido em macroblocos separados (MB).
B.) Com cada macrobloco (MB), a informação relacionada com quatro blocos de luminância
(Y1, Y2., Y3, Y4) e dois blocos de crominância (U, V) é codificada. Cada bloco contém 8x8
pixels.
O diagrama de bloco do sistema híbrido básico MPEG-1 DPCM/DCT de codificação e
decodificação está ilustrado na figura 5. O primeiro frame numa seqüência de vídeo (I-
picture) é codificado em modo Intra sem referência a nenhum frame passado ou futuro.
No codificador a DCT é aplicada para cada bloco de luminância e crominância de 8x8 pixels
e após a saída da DCT cada um dos 64 coeficientes DCT é quantizado uniformemente (Q). A
largura de passo do quantizador (sz) usada para quantizar os coeficientes DCT dentro de um
macrobloco é transmitida ao receptor. Depois de quantização o coeficiente DCT mais Baixo
(coeficiente DC) é tratado diferenciadamente dos demais coeficientes remanescentes
(coeficientes AC). O coeficiente DC corresponde à média de intensidade dos componentes do
bloco e é codificado usando um método de previsão DC diferente. Os valores dos
coeficientes DCT remanescentes do quantizador não zero estão então em rastreados em zig-
zag e codificados por entropia corrida usando tabelas de código de comprimento de variável
(VLC).
O conceito de rastreamento zig-zag está esquematizado na Figura 6. O rastreamento do sinal
de 2 dimensões do domínio DCT seguido pelas informações de tamanho de variável e palavra
de sincronismo para os coeficientes servem de mapeamento para um sinal de imagem de duas
dimensões em uma seqüência de bits de uma dimensão. Os valores dos coeficientes AC do
quantizador "não zero" (comprimentos) são detectados ao longo da linha de rastreamento
bem como a distância corrida entre dois coeficientes "não zero" consecutivos. Cada par
consecutivo (run, length) de somente uma palavra de código VLC. O objetivo do
rastreamento zig-zag é traçar os coeficientes DCT de baixa freqüência.
As possíveis localizações dos coeficientes DCT de acordo com a sua significância. Com
referência à Figura 3 o coeficiente DCT mais baixo (0,0) contém a maior parte da energia do
bloco e a energia está concentrada próxima dos coeficientes DCT mais baixos.
O decodificador realiza a operação reversa, primeiro extraindo e decodificando os códigos de
tamanho de variável (VLD) da seqüência de bits para determinar as localizações e os valores
de quantização dos coeficientes DCT "não zero" para cada bloco. Com a reconstrução (Q*)
de todos os coeficientes DCT "não zero" pertencentes a um bloco e em seguida com a
transformada DCT inversa (DCT-1) os valores dos pixels do bloco quantizado são obtidos.
Pelo processamento da imagem inteira, todos os blocos de imagem são decodificados e
reconstruídos.
Para a codificação P-picture, o frame anterior I- ou P-picture (frame N-1) é armazenado num
depósito de frame (FS) em ambos codificador e decodificador. A compensação de movimento
(MC) é realizada com base em um macrobloco – somente o vetor de movimento é estimado
entre os frames N e N-1 para um dado macrobloco a ser codificado. Estes vetores de
movimento são codificados e transmitidos ao receptor. O erro de compensação por previsão
de movimento é calculado pela subtração de cada pixel num macrobloco pela sua cópia
desviada em movimento do frame anterior. Um bloco de 8x8 DCT é então aplicado para cada
um dos blocos de 8x8 contidos no macrobloco seguidos pela quantização (Q) dos coeficientes
DCT com subsequente codificação de run-length e codificação de entropia (VLC). Um buffer
de vídeo (VB) é necessário para assegurar que uma desejada taxa de bit constante seja
produzida na saída do codificador. A largura de passo da quantização (sz) pode ser ajustada
para cada macrobloco em um frame para alcançar a taxa de bits desejada e para evitar a
saturação (overflow) do buffer (e underflow).
O codificador usa o processo inverso para produzir um macrobloco do frame N no receptor.
Após a decodificação a palavra de tamanho de variável (VLD) contida no buffer do
decodificador de vídeo (VB) os valores de pixel da previsão de erros são reconstruídos
(operações Q*, e DCT-1). Os pixels compensados em movimento do frame anterior N-1
contidos no depósito de frames (FS) são somados aos da previsão de erro para recuperar o
monobloco particular do frame N.
A fórmula 2 abaixo representa a DCT bi-dimensional de 8x8 escrita em termos de valores de
bits f(i,j) e os coeficientes da transformada no domínio da freqüência F(u,v):
Os coeficientes da DCT F(u,v) são então quantizados para reduzir o número de bits para
representá-los e também o número de coeficientes de valores-zero.
A vantagem da codificação de vídeo usando a compensação por previsão de movimento do
frame anteriormente reconstruído N-1 num codificador MPEG está ilustrado nas Figuras 7a
até 7d para uma seqüência de teste típica. A figura 7a mostra um frame no instante de tempo
N a ser codificado e a figura 7b o frame reconstruído no instante N-1 o qual é armazenado
num depósito de frames (FS) em ambos codificador e decodificador. Os vetores de
movimento do bloco (mv, ver também a figura 2) ilustrado na figura 7b foi estimado através
de um procedimento de estimativa de movimento feito pelo codificador e fornece uma
previsão do deslocamento de translação de cada macrobloco em um frame N com relação ao
frame N-1.
A figura 7b ilustra o sinal de diferença puro entre os frames (N e N-1) que é obtido sem
nenhuma compensação por previsão de movimento no processo de codificação – desta forma
todos os vetores de movimento são considerados como zero. A figura 7b ilustra a diferença
entre os sinais de frames compensados por movimento quando os vetores de movimento na
figura 7b são usados para a previsão. Aparentemente o sinal residual a ser codificado é
enormemente reduzido usando a compensação de movimento com a codificação por
diferença pura entre
Figura 7: (A) Frame no instante N a ser codificado. (B) Frame no instante N-1 usado para
prever o conteúdo do frame N (note que os vetores de movimento ilustrados na imagem não
fazem parte da imagem reconstruída armazenada no codificador e decodificador). (C) A
imagem obtida por previsão de erro sem o uso da previsão de movimento – todos os vetores
de movimento são considerados como zero. (D) A imagem de previsão de erro a ser
codificada com o emprego da compensação por previsão de movimento.
Renovação condiciona
Uma característica suportada pelo MPEG-1 é a possibilidade de atualizar a informação do
Macrobloco no decodificador somente se necessário – se o conteúdo do Macrobloco mudou
em comparação ao conteúdo do mesmo Macrobloco do frame anterior. (Renovação de
Macrobloco Condicional). A chave para a codificação eficiente de uma seqüência de vídeo a
uma taxa de transmissão de bits mais baixa, é a seleção do modo de previsão apropriada para
garantir Renovação Condicional. O padrão MPEG distingue principalmente três tipos
diferentes de codificação Macrobloco(tipos MB):
Skipped MB – previsão do frame anterior com vetor de movimento zero. Nenhuma
informação sobre o Macrobloco é codificada nem transmitida para o receptor.
Inter MB – previsão de movimento compensado do frame anterior é usado. O tipo MB, o
endereço MB e, se requerido, o vetor de movimento, os coeficientes DCT e o progresso de
quantização são transmitidos.
Intra MB – nenhuma previsão é usada do frame anterior (somente previsão Intra-frame).
Somente o tipo MB, o endereço MB e os coeficientes DCT e o progresso de quantização são
transmitidos para o receptor
Funcionalidades Específicas de Mídia Gravável
Algumas funcionalidades de armazenamento são características do MPEG-1 como, acesso
aleatório, avanço rápido (FF) e retrocesso rápido (FR). Desta maneira, faz o uso do conceito
B-Pictures (previsão bi-direcional/quadros bi-direcionais interpolados). A Figura 8 mostra o
conceito para um grupo de quadros consecutivos em uma seqüência de vídeo. Três tipos de
quadro são considerados: Intra-picture (I-picture) são codificados sem referência a outros
quadros contidos na seqüência de vídeo, como visto na Figura 4. I-pictures permitem acesso a
pontos para acesso aleatório e FF/FR na seqüência de bits, mas permite somente baixa
compressão.
Quadros com previsão Inter-frame (P-pictures) são codificados com referência ao I-picture ou
P-picture anteriormente codificado e mais próximo, normalmente incorporando compensação
de movimento para aumentar eficiência. As P-pictures são usados como referência para
previsão passada e futura de frames, e não são adequados para acessar pontos aleatórios. As
B-pictures necessitam de frames passados e futuros como referência. Para garantir alta
compressão, a compensação de movimentopode ser empregada baseado nos mais próximos
P-pictures e I-pictures passados e futuros. As B-pictures nunca são usadas como referência.
As B-pictures podem ser codificadas usando a previsão de movimento compensado baseado
nos dois frames mais próximos já codificados (tanto I-picture como P-picture). A direção para
previsões de quadro são indicados na figura.
Como regra geral, uma seqüência de vídeo codificada usando I-pictures somente (I I I I I ...)
permite o mais alto grau de acesso randômico, FF/FR e editbilidade, mas dispõe apenas de
baixa compressão. Uma seqüência codificada com uma atualização regular I-picture e
nenhum B-picture (ex. I P P P P P P I P P P P ...) dispõe de compressão moderada um certo
grau de acesso aleatório e funcionalidade FF/FR. A junção dos três tipos de quadros, como na
figura 8 (I B B P B B P B B I B B P ...), dispõe de alta compressão e acesso aleatório razoável
e funcionalidade FF/FR, mas também aumenta o atraso de codificação. Para, por exemplo,
videotelefonia e videoconferência este atraso não é tolerável.
Controle de Taxa de Compressão
O padrão MPEG permite que se ajuste o stepsize (sz) da Figura 5 para quantização dos
coeficientes DCT. Pode-se selecionar diferentes valores de quantização para cada
Macrobloco, podendo-se gerar tanto taxa de compressão constante ou variável.
A compressão de vídeo é variável por natureza. Para que se armazene ou transmita a uma
taxa de bits constante, é necessário que o video buffer (VB) da Figura 5 armazene
temporariamente a seqüência de bits variável.
Há um algoritmo de controle de taxa de compressão no codificador que ajusta o stepsize
garantindo-se que o buffer nunca vai "transbordar".
O algoritmo de controle de taxa de compressão não é parte do padrão MPEG-1 e é deixado
para cada desenvolvedor usar de acordo com a necessidade de eficiência. Este algoritmo pode
significar em grande melhoria na reconstrução do vídeo no decodificador.
MPEG-2 STANDARD FOR GENERIC CODING OF MOVING PICTURES AND
ASSOCIATED AUDIO
O universo de estudo do MPEG-1 é o desenvolvimento dentro de um padrão de codificação
de vídeo de sucesso com um aumento de produtos disponíveis no mercado. Um fator chave
para este sucesso é a estrutura genérica do padrão que suporta uma larga escala de aplicações
e parâmetros de aplicações específicas. Contudo, o MPEG continuou seu esforço para
padronização em1991 com uma segunda fase (MPEG-2) para promover uma solução para
codificação de vídeo para aplicações não previstas originalmente ou encaradas pelo padrão
MPEG-1. O padrão MPEG-2 foi especificamente desenvolvido para garantir a qualidade de
compressão de vídeo que não fosse menor que NTSC/PAL e até a qualidade CCIR 601. As
aplicações emergentes, como TV a cabo, transmissão ATM para redes, aplicações VTR e
transmissão digital por satélite e terrestre, foram amparadas pela nova padronização. Em
1994 o Padrão MPEG-2 foi publicado.
Basicamente o MPEG-2 pode ser visto como um adendo ao padrão de codificação MPEG-1 e
é compatível ao mesmo. Um decodificador MPEG-2 pode decodificar uma seqüência de bits
codificada pelo padrão MPEG-1. Algumas características de codificação foram adicionadas
ao padrão MPEG-2 para suportar principalmente codificação de vídeo entrelaçado. Além
disso, extensões de código para vídeo scalable video foram introduzidos para codificação de
TV digital e HDTV.
O escopo de utilização do padrão MPEG-2 é conforme com codificação não-escalável de
vídeo digital para parâmetros de TV digital com um máximo de 720 amostras por linha e 576
linhas por frame, uma taxa de frames máxima de 30 frames por segundo e uma taxa de bit
máximoa de 15 Mbit/s
Modos não-escaláveis de codificação MPEG-2
Idêntico ao padrão MPEG-1, o algoritmo de codificação é baseado na codificação híbrida
DCT/DPCM como esquematizado na Figura 5, incorporando uma estrutura de Macroblocos,
compensação de movimento e modos de codificação para renovação condicional de
Macroblocos. O conceito de I-pictures, P-pictures e B-pictures, como apresentado na Figura 8
é mantido no MPEG-2.
Field e Frame Pictures: o padrão MPEG-2 introduziu o conceito de frame pictures e field
pictures para acomodar a codificação para vídeo entrelaçado. Para seqüências entrelaçadas,
assume-se que a entrada para a codificação consista de uma série de campos diferentes (topo)
e campos parecidos (abaixo) que são separados em tempo por um período de campo.
Dois campos de um frame podem ser codificados separadamente (field pictures, Figura 9).
Neste caso cada campo é separado em Macroblocos adjacentes de não-superposição e a DCT
é aplicada no campo. De maneira alternativa, dois campos podem ser codificados juntos
como um frame (frame pictures), similar à codificação de seqüências de vídeo gradual. Aqui,
linhas consecutivas dos campos do topo e abaixo são simplesmente unidos para formar um
frame. Ambos frame pictures e field pictures podem ser usados em uma seqüência de vídeo
única.
Figura 9: O conceito de field pictures e um exemplo de previsão de campo. Os campos do
topo e os campos abaixo são codificados separadamente
Entretanto, cada campo abaixo é codificado usando-se previsão Inter-field de movimento
compensado baseado no campo de topo codificado anteriormente. Os campos de topo são
codificados usando-se previsão Inter-field de movimento compensado tanto no campo de
topo codificado como no campo abaixo codificado. Este conceito pode ser estendido para
incorporar B-pictures.
Field e Frame Prediction: novos modos de previsão de campos de movimentos compensados
foram introduzidos pelo MPEG-2 para codificar eficientemente os field pictures e os frame
pictures
O exemplo da Figura 9 mostra simplificadamente uma seqüência de vídeo entrelaçada,
contendo aqui apenas três field pictures e nenhum B-pictures. Na previsão de campos, as
previsões são feitas independentemente para cada campo usando-se dados de um ou mais
campos previamente decodificados, ou seja, para um campo de topo um campo prévio pode
ser obtido tanto por um campo de topo prévio (usando-se a previsão de movimento
compensado) ou de um campo abaixo decodificado, pertencendo à mesma cena (quadro).
Geralmente a previsão Inter-field de um campo decodificado no mesmo quadro é preferível
se nenhum movimento ocorre entre campos. Uma indicação para que tipo de campo é usado
para previsão é transmitido com a seqüência de bits. Dentro de um field picture todas as
previsões são field predictions.
O padrão MPEG-2 introduziu novos modos de compensação de movimento para explorar
eficientemente as redundâncias temporais entre campos, nomeado de previsão Dual Prime e a
compensação de movimento baseado em 16x8 blocos.
Formato de crominância: o MPEG-2 tem um formato de taxa de subamostragem específico
para luminância e crominância Y:U:V, para garantir seu uso com transmissões de vídeo de
alta qualidade. Próximo ao formato já suportado pelo MPEG-1 de 4:2:0, a especificação do
MPEG-2 é estendida para 4:2:2.
Extensões Mpeg-2 Para Codificação Escalável
As ferramentas de escalabilidade normatizadas pelo MPEG-2 suportam aplicações além
daqueles enderessados pelo perfil básico algoritmo de codificação básico. O objetivo da
codificação escalável é permitir interoperacionalidade entre diferentes serviços e suportar
flexivelmente com capacidade diferente de exibição. Receptores mesmo não capazes ou
concordantes com a resolução de vídeo podem decodificar subconjuntos de arquiteturas de
seqüências de bits para exibir vídeo com baixa resolução espacial ou temporal ou com menor
qualidade. Outro objetivo importante da codificação escalável é permitir que uma seqüência
de vídeo arquitetada seja sobreposta por transmissão prioritária.
A maior desafio aqui é distribuir sinais vídeo realisticamente na presença de erros de canal,
como erros de celula em transmissões em redes baseadas em ATM ou em interferências co-
canais em transmissão digital terrestre.
Suportar flexivelmente multiplas resoluções é de interesse particular para interações entre
HDTV e definição de padrão de televisão (SDTV), em cujo caso este fato é importante para o
receptor de HDTV ser compatível com os produtos SDTV. A compatibilidade pode ser
alcançada em termos de codificação escalável da fonte de HDTV e a evitar o desperdício de
se fazer transmissão de duas seqüências de vídeo para dois receptores de HDTV e SDTV.
Outras aplicações importantes para a codificação escalável inclui a procura de base de dados
de vídeo e reprodução de vídeo com equipamentos de vídeo de multiresolução.
A figura 10 ilustra a filosofia geral de um esquema de codificação multiescala. Dois
arquiteturas são disponíveis, cada arquitetura suportando vídeo numa escala diferente, ou seja
, uma representação de multiresolução pode ser reduzindo-se um sinal de entrada de vídeo em
um vídeo de menor resolução (subamostrando espacialmente ou temporalmente). A versão
reduzida é codificada em um layer básico de seqüência de bits com taxa de bits reduzido. O
layer básico de vídeo reconstruído ampliado (superamostrado espacialmente ou
temporariamente) é usado como previsão para a codificação do sinal original de entrada.
O erro de previsão é codificado com um layer melhor de seqüência de bits. Se um receptor
não é capaz ou não é compatível de exibir o vídeo com qualidade total, um vídeo de menor
qualidade pode ser reconstruído pela decodificação do layer mais básico da seqüência de bits.
É importante notificar, contudo, que a exibição do vídeo à resoluções mais altas com
qualidade reduzida também é possível somente pela decodificação dos layers de menor taxas
de bits. Desta forma a codificação escalável pode ser usada para codificar vídeo com uma
taxa de bits desejada alocado em cada layer a fornecer os requisitos de largura de banda
específicos dos canais de transmissão e da mídia de armazenamento. A procura através de
bases de dados de vídeo e transmissão de vídeo por redes heterogêneas são aplicações
esperadas para o benefício desta funcionalidade.
Durante a fase de padronização do MPEG-2 foi dado como impossível desenvolver um
esquema de codificação escalável genérico capaz de satisfazer todos os requisitos de diversas
aplicações. Enquanto algumas aplicações estavam limitadas a pequenas complexidades de
implementações, outras pediam eficiência muito maior de codificação. Como conseqüência o
MPEG-2 padronizou três esquemas de códigos escaláveis: SNR (qualidade) escalabilidade,
Escalabilidade espacial e temporal – cada uma delas objetivando atender especificações de
aplicações particulares. As ferramentas de escalabilidade forneceram extensões algorítmicas
para esquemas não escaláveis definidos no perfil principal.
É possível combinar diferentes ferramentas de escalabilidade num esquema de codificação
híbrido, isto é permitir interoperabilidade entre serviços com resoluções espaciais diferentes e
taxas de frames podem ser suportadas no sentido da combinação de ferramentas de
escalabilidade espacial e temporal num esquema de codificação com arquitetura híbrida. A
interoperabilidade entre HDTV e SDTV pode ser obtida embora com uma certa suceptância a
erros de canal combinando as extensões de escalabilidade espacial com as ferramentas de
escalabilidade SNR. A sintaxe MPEG-2 suporta até três diferentes layers escaláveis.
A escalabilidade espacial foi desenvolvida para suportar displays com diferentes resoluções
espaciais no receptor – resoluções espaciais de vídeo mais baixas podem ser reconstruídos do
layer básico. Esta funcionalidade é vantajosa para aplicações incluindo codificações
embutidas para sistemas HDTV/TV, permitindo uma migração de um serviço de TV digital
para serviços de HDTV de alta fidelidade espacial. O algoritmo é baseado em uma
aproximação piramidal clássica para codificação progressiva de imagem.
A ferramenta de escabilidade SNR foi desenvolvida para garantir escalabilidade de qualidade.
Se o layer básico pode ser protegido de erros de transmissão, uma versão do vídeo com
qualidade reduzida pode ser obtida decodificando-se o sinal do layer básico apenas. O
algoritmo usado para se conseguir uma degradação "polida" é baseado em uma técnica de
escalabilidade por freqüência (no domínio DCT). Ambos os layers na Figura 11 codificam o
sinal de vídeo na mesma resolução espacial. As Figuras 11a e 11b mostram um detalhe da
implementação possível de um codificador e de um decodificador de escalabilidade SNR.
No layer básico os coeficientes DCT são grosseiramente quantizados e transmitidos para se
conseguir uma qualidade de imagem moderada a uma taxa de transmissão de bits reduzida. O
layer codifica e transmite a diferença entre os coeficientes DCT não-quantizados e os
coeficientes quantizados do layer básico com um processo de quantização melhorado. No
decodificador, a mais alta qualidade do sinal de vídeo é reconstruída decodificando-se ambas
as seqüências de bits do layer mais baixo e do layer mais alto.
É também possível usar este método também para se obter vídeo com resolução espacial
menor no receptor. Se o decodificador seleciona os coeficientes DCT mais baixos da matriz
NxN da seqüência de bits do layer básico, DCTs inversas não padronizadas de tamanho NxN
podem ser usadas para reconstruir o vídeo a uma resolução espacial reduzida
Figura 11: (a) Uma implementação possível de um codificador de dois layers para
codificação SNR-escalável de vídeo. (b) Decodificador.
A escalabilidade temporal foi desenvolvida com o objetivo similar da escalabilidade espacial
– vídeo estereoscópico pode ser suportado com uma seqüência de bits layered prático para
receptores com displays que possuem essas funcionalidades. Os layers são conseguidos
provendo-se uma previsão de uma das imagens do vídeo estereoscópico (ex. Vista esquerda)
no layer melhorado baseado nas imagens codificadas da vista oposta transmitida no layer
básico.
Partição de dados é utilizado como cancelamento de erros na presença de erros de
transmissão ou erros de canal no ATM, transmissão terrestre ou ambientes de gravação
magnética. Esta ferramenta não foi formalmente padronizada ainda para o MPEG-2 pelo fato
de poder ser uma ferramenta de pré-processamento ou pós-processamento para qualquer
esquemático de layer único. O algoritmo é similar à escalabilidade SNR e baseada na
separação dos coeficientes DCT e implementada com complexidade muito baixa se
comparada aos outros esquemas de escalabilidade. Para garantir proteção contra erro, os
coeficientes DCT na seqüência de bits são simplesmente separados e transmitidos em dois
layers com probabilidade de erro diferente.

Você também pode gostar