Introdução ao MPEG

Transcrição

Introdução ao MPEG
MPEG
Este Guia é um novo paradigma das medições para as indústrias de televisão e telecomunicações. Informações teóricas, dados experimentais, documentos apresentados em conferências e seminários, artigos publicados
em jornais e revistas, serão divulgados em próximas edições.
Para expressar o seu interesse por novas tecnologias e obter informações
e novidades técnicas e teóricas, produtos disponíveis na área, resumos
técnicos ou outros recursos para auxiliar engenheiros que trabalham com
tecnologia avançada, visite nossos sites ou entre em contato direto. A
Tektronix possui uma coleção bastante abrangente sobre o assunto.
TEKTRONIX
www.tektronix.com.br
MPEG
Editora SENAI
Rio de Janeiro
2009
© 2009. TEKTRONIX
Direitos da obra original em inglês.
Tradução e impressão autorizadas para o SENAI Departamento Nacional.
Tradutor
Dalton Vilella Camilher
Revisora Técnica
Nelia Caetano
Catalogação-na-Publicação (CIP) - Brasil
T 235 m
Tektronix.
MPEG / Tektronix ; tradução Dalton Vilella Camilher. - Rio
de Janeiro : Ed. SENAI, 2009.
224 p. : il. ; 23 cm. - (Coleção TV Digital)
Tradução de: MPEG fundamentals and protocol analysis
including DVD and ATSC
Inclui glossário
ISBN 978-85-99002-15-5
1. Engenharia eletrônica e comunicação. 2. MPEG. I. SENAI
Departamento Nacional. II. Título.
CDD: 621.3880028
Editora SENAI
Rua São Francisco Xavier, 417 - Maracanã
20550-010 - Rio de Janeiro - RJ
Tel.: (0XX21) 3978-5314
[email protected]
SUMÁRIO
Seção 1 – Introdução ao MPEG ................................................... 9
Seção 2 – Compressão de Vídeo .................................................27
Seção 3 – Compressão de Áudio.................................................55
3.1 O Mecanismo da Audição ......................................................... 57
3.2 Codificação da Sub-Banda ....................................................... 59
3.3 MPEG Camada 1 ..................................................................... 61
3.4 MPEG Camada 2 ..................................................................... 62
3.5 Codificação por Transformada ................................................... 63
3.6 MPEG Camada 3 ..................................................................... 64
3.7 MPEG-2 Áudio ....................................................................... 64
3.8 MPEG-4 Áudio ....................................................................... 65
3.9 AC-3 .................................................................................... 67
Seção 4 – Os Padrões ................................................................69
4.1 O que é MPEG? ...................................................................... 71
4.2 Quem é ITU? ......................................................................... 71
4.3 Evolução dos Padrões ............................................................. 72
4.3.1 Performance do Vídeo .......................................................... 74
4.3.2 Licenciamento. ................................................................... 75
4.4 MPEG-1 ................................................................................ 76
4.5 MPEG-2 ................................................................................ 77
4.5.1 Perfis e Níveis em MPEG-2 .................................................... 79
4.6 MPEG-4 ................................................................................ 82
4.6.1 Documentos Padrões do MPEG-4 ............................................ 84
4.6.2 Codificação do Objeto .......................................................... 84
4.6.3 Codificação de Áudio e Vídeo ................................................ 86
4.6.4 Escalabilidade..................................................................... 86
4.6.5 Tamanho Variável do Macrobloco ........................................... 87
4.6.6 Perfis e Níveis em MPEG-4 parte 10 (AVC/H.264) ......................88
4.6.7 MP4 Formato Contêiner ........................................................ 89
4.7 SMPTE VC-1 ..........................................................................90
4.7.1 Transformada de Bloco de Dimensão Variável ........................... 91
4.7.2 Compensação de Movimento ................................................. 91
4.7.3 Decodificando Blocos e Suavizando Imagens ............................ 91
4.7.4 Compensação do Efeito Fading (Desbotamento) ....................... 92
4.7.5 Perfis e Níveis..................................................................... 92
4.8 MPEG-7 e MXF ....................................................................... 92
4.9 MPEG-21 .............................................................................. 94
Seção 5 – Fluxos Elementares ...................................................95
5.1 Sintaxe de Fluxo Elementar de Vídeo ......................................... 97
5.2 Fluxos Elementares de Áudio.................................................... 99
Seção 6 – Empacotamento de Fluxos Elementares (PES) ........... 101
6.1 Pacotes PES ........................................................................ 103
6.2 Marcas de Tempo ................................................................. 103
6.3 PTS/DTS ............................................................................. 104
Seção 7 - Programa Stream ..................................................... 107
7.1 Gravação vs. Transmissão ...................................................... 109
7.2 Introdução a Programa Stream ............................................... 110
Seção 8 – Transporte Stream ...................................................111
8.1 O Trabalho do Transporte Stream ............................................ 113
8.2 Pacotes .............................................................................. 114
8.3 Referência do Clock de Programa (PCR) ................................... 115
8.4 Identificação do Pacote (PID) ................................................ 117
8.5 Informação Específica do Programa (PSI)................................. 117
Seção 9 – Modulação Digital .................................................... 121
9.1 Princípios de Modulação ....................................................... 123
9.2 Modulação Analógica............................................................ 123
9.3 Modulação em Quadratura ..................................................... 124
9.4 Sistemas Simples de Modulação Digital ................................... 124
9.5 Chaveamento do Deslocamento de Fase ................................... 127
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
9.5.1 Turbo 8PSK ...................................................................... 128
9.5.2 DBV S2 ............................................................................ 129
9.6 Modulação de Amplitude de Quadratura – QUAM ....................... 130
9.7 Modulação de Banda Lateral Vestigial – VSB ............................. 131
9.8 Multiplex de Divisão de Freqüência Ortogonal Codificado - COFDM .. 133
9.9 Multimedia Digital Broadcast da China-Terrestre/Handheld – DMB-T/H .. 135
9.10 Serviço de Dado Integrado Broadcasting (ISDB) ...................... 136
9.10.1 Sistema de Satélite ISDB-S ............................................... 137
9.10.2 Sistema a Cabo ISDB-C ..................................................... 137
9.10.3 Modulação Terrestre ISDB-T ............................................... 138
9.10.4 Modulação Móvel ISDB-Tss ................................................ 139
9.10.5 ISDB em Resumo ............................................................. 139
9.11 Sistemas Broadcast Móveis .................................................. 140
9.11.1 DVB-H ........................................................................... 141
9.11.2 T-DMB ........................................................................... 142
9.11.3 DAB IP .......................................................................... 143
9.11.4 FLO ............................................................................... 144
9.11.5 Segmento Único ISDB ...................................................... 145
Seção 10 – Introdução a DVB e ATSC ........................................ 147
10.1 Uma Visão Geral ................................................................. 149
10.2 Remultiplexação................................................................. 150
10.3 Informação de Serviço (SI) .................................................. 151
10.4 Correção de Erro................................................................. 153
10.4.1 Codificação Turbo ............................................................ 156
10.5 Codificação de Canal; Dipersão de Energia .............................. 157
10.6 Codificação Interna ............................................................ 158
10.7 Transmitindo Dígitos ........................................................... 160
Seção 11 – Transmissão de Dados ............................................163
11.1 Aplicações ........................................................................ 165
11.1.1 Dados Relativos ao Programa ............................................. 165
11.1.2 Dados Oportunistas .......................................................... 166
11.1.3 Rede de Dados ................................................................ 166
11.1.4 TV Aprimorada ................................................................ 167
11.1.5 TV Interativa .................................................................. 167
11.2 Encapsulamento de Conteúdo ............................................... 168
11.2.1 Encapsulamento de Dados MPEG......................................... 168
11.2.2 Encapsulamento de Dados DVB .......................................... 174
11.2.3 Encapsulamento de Dados ATSC A/90 .................................. 174
11.2.4 Encapsulamento de Dados ARIB ......................................... 175
11.3 Conteúdo de Dados Broadcasting .......................................... 176
11.3.1 Como Carrosséis de Objetos são Transmitidos ....................... 176
11.3.2 Sincronização de Dados MPEG-2 ......................................... 177
11.3.3 Sinalizando Conteúdos de Dados ........................................ 178
11.4 Apresentação de Conteúdo ................................................... 179
11.4.1 Set Top Box “Middleware” ................................................. 179
11.4.2 Histórico de Padrões Middleware Abertos ............................. 181
11.4.3 A Plataforma Doméstica de Multimedia DVB (MHP)................ 183
11.4.4 ATSC Plataforma de Aplicação Comum Avançada (ACAP) ......... 184
Seção 12 – Teste de MPEG .......................................................185
12.1 Requerimentos de Teste....................................................... 187
12.2 Analisando o Transporte Stream ............................................ 187
12.3 Visão Hierárquica ............................................................... 189
12.4 Padrões de Verificação de Conformidade ................................. 192
12.4.1 Orientações de Medição de DVB, TR 101 209 ........................ 192
12.5 Verificações do Transporte Stream ATSC, A/78 ......................... 194
12.6 Visão do Pacote ................................................................. 195
12.7 Análises de Sintaxe e CRC .................................................... 196
12.8 Análises de Tempo .............................................................. 197
12.9 Teste de Stream Elementar ................................................... 201
12.10 Análise de Stream Elementar .............................................. 202
12.11 SINCRONIZAÇÃO Áudio Visual.............................................. 205
12.12 Criando um Transporte Stream ............................................ 206
12.13 Geração de Imprecisão de PCR ............................................ 206
12.14 Análise de Carrossel de Dados Broadcast .............................. 208
Glossário ................................................................................ 211
Seção 1
Introdução ao MPEG
MPEG é uma das técnicas de compressão de áudio e vídeo mais populares
porque não é apenas um simples padrão, mas uma gama de padrões adequados para diferentes aplicações e baseados em princípios similares.
MPEG são as iniciais de Moving Picture Experts Group (Grupo de Especialistas em Movimento de Imagem), parte do Joint Technical Committee
(Comitê de Junta Técnica), JTC1, estabelecida pela ISO (Organização Internacional de Padrões) e IEC (Comissão Eletrotécnica Internacional). JTC1
é responsável pela tecnologia da informação; dentro do JTC1 o subgrupo
SG29 é responsável pela “codificação do áudio, Imagem e Informação de
multimedia e hipermedia”. Há vários grupos de trabalho dentro do SG29,
incluindo o JPEG (Joint Photographic Experts Group) e o Grupo de Trabalho 11 para compressão de imagem em movimento. ISO/IEC JTC1/SG29/
WG11 é o MPEG.
MPEG pode ser descrito como uma interação de siglas. Como estabelece
o ETSI, “O CAT é o indicador que possibilita o IRD a encontrar o EMMs
associado com o sistema CA que ele usa.” Se você consegue entender esta
sentença, você não precisa deste livro!
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
1.1 Convergência
Técnicas Digitais têm progredido rapidamente em áudio e vídeo por inúmeras razões. A informação digital é mais robusta e pode ser codificada
para substancialmente eliminar erros. O CD (Compact Disc) foi o primeiro
produto de consumo a demonstrar isto.
Mesmo que o CD possui uma qualidade de som aprimorada com respeito
ao seu predecessor, o vinil, a comparação somente da qualidade não é
relevante. O que realmente importa é que as técnicas de gravação e transmissão digitais permitem a manipulação do conteúdo a um nível que é
impossível com o processo analógico. Quando o áudio ou o vídeo é digitalizado o conteúdo é em forma de dados. Tais dados podem ser manuseados
da mesma maneira que qualquer outro tipo de dados; assim, áudio e vídeo
digitais tornam - se domínio da tecnologia do computador.
A convergência de computadores e sinais de áudio/vídeo é uma conseqüência inevitável das invenções da computação e da modulação por código
de pulso (PCM). A media digital pode armazenar qualquer tipo de informação, logo é fácil usar um dispositivo de armazenamento do computador
para vídeo digital. As Ilhas de Edição não linear foi o primeiro exemplo
da aplicação da tecnologia convergente que não teve precursor analógico.
Outro exemplo, a multimedia, combina o armazenamento de áudio, vídeo,
gráficos, textos e dados na mesma media. Multimedia não tem equivalência no domínio analógico.
1.2 Por que é Necessária a Compressão?
O início do sucesso do vídeo digital foi em aplicação de pós-produção,
onde o alto custo do vídeo digital foi compensado por camadas ilimitadas
e por capacidade de efeitos. Entretanto, produção padrão de vídeo digital
gera acima de 200 megabits de dados por segundo, e este bit rate requer
extensa capacidade de armazenamento e banda larga para transmissão. O
vídeo digital somente poderia ser usado em aplicações mais amplas se os
requisitos de armazenamento e da largura de banda pudessem ser facilitados; este é o propósito da compressão.
11
Seção 1
Compressão é um modo de expressar áudio e vídeo digital empregando
menos dados. A compressão tem as seguintes vantagens:
Uma menor quantidade de armazenamento é necessária para uma dada
quantidade de material fonte;
Quando trabalhando em tempo real, a compressão reduz a largura de banda necessária; adicionalmente, a compressão permite transferência mais
rápida em tempo real entre medias, por exemplo, entre fita e disco;
Um formato de gravação comprimido usa uma densidade de gravação mais
baixa e isto pode permitir um gravador menos sensível a fatores ambientais e a manutenção.
1.3 Princípios de Compressão
Existem duas técnicas fundamentalmente diferentes que podem ser usadas
para reduzir a quantidade de dados empregada para transportar o conteúdo da informação. Em sistemas de práticas de compressão, estas são usualmente combinadas, freqüentemente de maneiras bastante complexas.
A primeira técnica é aprimorar a eficiência da codificação. Há muitas maneiras de codificar qualquer informação, e a representação mais simples
de dados de vídeo e áudio contém uma quantidade substancial de redundância. O conceito de entropia é discutido abaixo.
Muitos truques de codificação podem ser usados para reduzir ou eliminar
redundâncias; exemplos incluem os sistemas de codificação run-lenght e
variable-lenght como os códigos Huffman. Quando devidamente empregados, estas técnicas são completamente reversíveis de maneira que após a
descompressão a informação é idêntica àquela na entrada do sistema. Este
tipo de compressão é conhecido como lossless (sem perda). Programas de
arquivamento de computadores como o PKZip empregam a compressão
lossless.
Obviamente, a compressão sem perdas é a ideal, mas infelizmente não
proporciona usualmente o nível de redução de dados necessário para aplicação em áudio e vídeo. Entretanto, por não ter perdas, pode ser aplicado
12
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
em qualquer ponto do sistema e é freqüentemente usado na saída de
dados de compressores com perdas.
Se a eliminação de redundância não reduz os dados tanto quanto necessário, alguma informação terá que ser descartada. Sistemas de compressão
com perdas alcançam a redução de dados pela remoção de informação irrelevante ou de relevância menor. Estas não são técnicas gerais que podem
ser aplicadas a qualquer stream de dados; a avaliação da relevância só
pode ser feita no contexto da aplicação, compreendendo o que os dados
representam e como serão usados. No caso da televisão, a aplicação é a
apresentação de imagens e sons aos sistemas visuais e auditivos humanos,
e os fatores humanos precisam ser bem compreendidos para se projetar
um sistema de compressão efetivo.
Algumas informações de sinais de vídeo não podem ser percebidas pelo
sistema visual humano, assim sendo, são realmente irrelevantes neste
contexto. Um sistema de compressão que descarta somente informações
de imagens irrelevantes é conhecido como visualmente sem perdas.
1.4 Compressão em Aplicações de Televisão
Sinais de televisão, analógico ou digital, sempre representaram um grande
envolvimento de informação e técnicas de redução de largura de banda
têm sido usadas desde o início. Provavelmente o exemplo mais inicial
seja o entrelaçado. Para um dado número de linhas e uma dada taxa de
imagem, o entrelaçado oferece uma redução de largura de banda de 2:1.
O processo produz perdas; o entrelaçado gera artefatos causados pela
interferência entre a informação vertical e a temporal e reduz a resolução
vertical útil da imagem. Todavia, a maioria do que é rejeitado é irrelevante,
assim, o entrelaçado representava uma técnica bastante simples e muito
compensadora em seu tempo. Infelizmente, o entrelaçado e os artefatos
gerados são muito inconsistentes para esquemas digitais de compressão
mais sofisticados. Muito da complexidade do MPEG-2 resulta da necessidade de lidar com sinais entrelaçados, e há ainda uma perda significativa na
eficiência da codificação quando comparado aos sinais progressivos.
13
Seção 1
Os próximos passos mais importantes vieram com o advento das cores.
Câmeras coloridas produzem sinais GBR (Green, Blue, Red), assim, existe
nominalmente três vezes mais informação que em um sinal monocromático – mas, sinais coloridos deveriam ser transmitidos nos mesmos canais
usados pelos monocromáticos.
A primeira parte da solução foi transformar os sinais GBR em um sinal de
brilho, luminância (normalmente designado Y) mais dois sinais de diferença de cor, U e V, ou I e Q. A geração de um sinal de luminância passou
por um longo processo para resolver o problema da compatibilidade com
receptores monocromáticos, mas, o passo importante para minimizar a
largura de banda veio com os sinais de diferença de cores.
Descobriu-se que o sistema visual humano usa sensores que são sensíveis ao brilho e que pode “ver” imagens de resolução muito alta. Outros
sensores captam informação de cores, mas com resolução muito menor. O
resultado final é que, dentro de certos limites, uma imagem nítida monocromática de uma cena brilhante sobreposta a uma de informação de
cor de menor definição (baixa largura de banda) aparecerá como figura
colorida nítida. Não é possível tirar vantagem disto quando lidamos com
sinais GBR, pois cada sinal contém ambas as informações de brilho e
cor. Entretanto, no sistema YUV, a maioria da informação de brilho esta
contida no sinal Y, e muito pouco nos sinais de diferença de cor. Assim, é
possível filtrar os sinais de diferença de cor e reduzir bastante a informação a ser transmitida.
Este é um exemplo de como eliminar a maioria da informação irrelevante.
Sob o aspecto da visão, o sistema visual humano não responde significativamente às informações de alta freqüência nos sinais de diferença de
cor, logo pode ser descartado. As transmissões de televisão em NTSC têm
aproximadamente 500 kHz em cada sinal de diferença de cor, e as imagens
são adequadamente nítidas para muitas aplicações.
O passo final no processo de redução da largura de banda do NTSC e PAL
foi “esconder” os sinais de diferença de cor em partes não usadas do espectro do sinal monocromático. Embora o processo não seja estritamente
sem perdas, isto pode ser considerado como um aumento da eficiência da
codificação do sinal.
14
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Algumas das técnicas no mundo digital são bastante diferentes, mas princípios similares se aplicam. Por exemplo, o MPEG transforma sinais em um
domínio diferente para permitir a isolação da informação irrelevante. A
transformação para sinais de diferença de cor ainda é empregada, mas as
técnicas digitais permitem filtrar o sinal de diferença de cor para reduzir
a resolução vertical para outras aplicações.
A figura 1-1a mostra que no sistema de televisão tradicional, o sinal GBR
da câmera é convertido para componentes Y, Pb, Pr para produção e codificação do sinal analógico composto para transmissão. A figura 1-1b mostra
o equivalente moderno. Os sinais Y, Pb, Pr são digitalizados e transportados como sinais Y, Cb, Cr na forma SDI através do processo de produção, antes de serem codificados em MPEG para transmissão. Claramente, o
MPEG pode ser considerado pela radiodifusão como uma substituição mais
eficiente para o vídeo composto. Além disso, o MPEG tem maior flexibilidade porque a taxa de bits necessária pode ser ajustada para se adequar
à aplicação. Em baixas taxas de bits e baixas resoluções, o MPEG pode ser
usado para vídeo conferência e vídeo telefone.
Digital Vídeo Broadcasting (DVB) (Radiodifusão de Vídeo Digital) e o Advanced Television Systems Committee (ATSC)(Comitê de Sistemas de Televisão Avançados), padrões de radiodifusão digital europeu e americano
originais não seriam viáveis sem a compressão, porque a largura de banda
necessária seria demasiadamente grande. A compressão estende o tempo
de execução do DVD (digital video/versatile disk) permitindo filmes longa
15
Seção 1
metragem em um simples disco. A compressão também reduz o custo de
ENG e outras contribuições para a produção de televisão. DVB, ATSC e disco de vídeo digital (DVD) são todos baseados na compressão MPEG-2.
Na gravação de fitas, a compressão moderada facilita e adiciona confiabilidade em Betacam Digital e Digital-S, enquanto em SX, DVC, DVCPRO e
DVCAM a meta é a miniaturização. Em servidores de vídeo com base em
disco, a compressão diminui o custo de armazenamento. A compressão
também reduz a largura de banda, o que permite que mais usuários tenham acesso a um dado servidor. Esta característica é também importante
para aplicações em VOD (video on demand – vídeo por encomenda).
1.5 Introdução à Compressão de Vídeo Digital
Em todo material de programa real, há dois tipos de componentes de
sinal: aqueles que são inesperados e imprevisíveis e aqueles que podem
ser antecipados. O componente inesperado é chamado de entropia e é a
informação real do sinal. O restante é chamado de redundância porque não
é essencial. A redundância pode ser espacial, como em grandes áreas planas de uma imagem onde os pixels adjacentes têm quase o mesmo valor. A
redundância também pode ser temporal, quando são usadas semelhanças
entre imagens sucessivas. Todos os sistemas de compressão trabalham
separando a entropia da redundância no encoder.
Somente a entropia é gravada ou transmitida e o decoder computa a redundância do sinal transmitido. A figura 1-2a (ver próxima página) mostra
este conceito.
Um codificador ideal extrairia toda a entropia e somente esta seria transmitida para o decoder. Um decoder ideal, então, reproduziria o sinal original. Na prática, este ideal não pode ser alcançado. Um codificador ideal
seria complexo e causaria um atraso muito longo para usar a redundância
temporal. Em certas aplicações, tais como gravação ou broadcasting, algum delay é aceitável, mas em videoconferência não. Em alguns casos, um
codificador muito complexo seria dispendioso demais. Isto quer dizer que
não existe um sistema de compressão ideal.
16
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Na prática, é necessária uma gama de codificadores que tenha uma faixa
de processamento de delays e complexidades. A força do MPEG é que ele
não é apenas um formato simples de compressão, mas uma variedade de
ferramentas de codificações padronizadas que podem ser flexivelmente
combinadas para se adequarem a uma variedade de aplicações. A maneira
na qual a codificação foi engendrada é incluída nos dados comprimidos de
tal forma que o decoder pode lidar automaticamente com qualquer decisão que o codificador tome.
Em MPEG-2 e MPEG-4 a codificação é dividida em vários profiles que têm
diferentes complexidades e cada profiles pode ser implementado em diferentes níveis dependendo da resolução da imagem de entrada. A seção 4
considera os profiles e níveis em detalhes.
Existem muitos formatos de vídeo digitais diferentes e cada um tem uma
taxa de bits diferente. Por exemplo, um sistema de alta definição deve ter 6
vezes a taxa de bits de um sistema padrão de definição. Conseqüentemente,
só conhecer a taxa de bits do codificador não é muito útil. O que importa é
o fator de compressão, que é a razão entre a taxa de bits de entrada e a taxa
de bits comprimidos, por exemplo, 2:1, 5:1 e assim por diante.
17
Seção 1
Infelizmente, o número de variáveis envolvidas torna muito difícil determinar um fator de compressão adequado. A figura 1-2a mostra que para
um codificador ideal, se toda a entropia é enviada, a qualidade é boa. Entretanto, se o fator de compressão for aumentado, a fim de reduzir a taxa
de bits, nem toda a entropia é enviada e com isso a qualidade cai. Note
que em um sistema de compressão, quando ocorre a perda de qualidade,
ela é acentuada (Figura 1-2b). Se a taxa de bits disponível for inadequada,
é melhor evitar esta área pela redução da entropia da imagem de entrada.
Isto pode ser feito através de filtragem. A perda de resolução causada pela
filtragem é subjetivamente mais aceitável que os artefatos de compressão.
Para identificar perfeitamente a entropia, um compressor ideal teria que
ser extremamente complexo. Um compressor prático pode ser menos complexo por razões econômicas e precisa enviar mais dados para assegurar
o transporte de toda a entropia. A figura 1-2b mostra a relação entre a
complexidade e a performance do codificador. Quanto maior o fator de
compressão requerido, mais complexo o codificador tem que ser.
A entropia em sinais de vídeo varia. A gravação de um locutor anunciando
as notícias tem muita redundância e é fácil de comprimir. Em contraste, é
mais difícil comprimir uma gravação com folhas ao sabor do vento ou uma
torcida de futebol que está se movendo constantemente e desta forma,
tem menos redundância (mais informação ou entropia). Em cada caso, se
toda a entropia não for enviada, haverá perda de qualidade. Assim, nós
podemos escolher entre um canal de taxa de bits constante com qualidade
variável ou um canal de qualidade constante com taxa de bits variável. As
operadoras de telecomunicações tende a preferir uma taxa de bits constante por motivos práticos, mas uma memória temporária (buffer) pode
ser usada para mediar variações da entropia se o aumento do delay resultante for aceitável.
Em gravação, uma taxa de bits variável pode ser mais fácil de lidar e os
DVDs usam taxas variáveis de bits, usando memória temporária de tal
forma que a média da taxa de bits permaneça dentro das capacidades do
sistema de disco.
A intra-codificação (intra = interna) é uma técnica que explora a redundância espacial, ou redundância dentro da imagem; a inter-codificação
18
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
(inter = entre) é uma técnica que explora a redundância temporal. A intracodificação pode ser empregada isoladamente, como no padrão JPEG para
imagens estáticas, ou combinada com inter-codificação como em MPEG.
A intra-codificação se baseia em duas características típicas da imagem.
Primeira, nem todas as freqüências espacial estão simultaneamente presentes, e segunda, quanto maior a freqüência espacial, menor deverá ser
a amplitude. Intra-codificação requer análise das freqüências espacial em
uma imagem. Esta análise tem o propósito de transformar tais ondas em
DCT (transformada discreta do cosseno). A “transformada” produz coeficientes que descrevem a magnitude de cada freqüência espacial. Tipicamente, muitos coeficientes serão zero, ou próximos de zero, e estes coeficientes podem ser omitidos, resultando em uma redução da taxa de bits.
A inter-codificação se baseia em encontrar similaridades entre imagens
sucessivas. Se uma dada imagem está disponível no decoder, a próxima
imagem pode ser criada enviando somente as diferenças das imagens. As
diferenças na imagem aumentarão quando houver movimento de objetos,
mas este aumento pode ser contrabalanceado usando compensação de
movimento; uma vez que um objeto em movimento geralmente não altera
muito sua aparência de uma imagem para a próxima. Se o movimento pode
ser medido, uma aproximação maior da imagem atual pode ser criada pela
substituição de parte da imagem anterior para uma nova localização. O
processo de substituição é controlado por um par de valores de deslocamento horizontal e vertical (conhecido como vetor de movimento) que
é transmitido ao decoder. A transmissão do vetor de movimento requer
menos dados que o envio de dados da diferença da imagem.
O MPEG pode lidar com ambas as imagens entrelaçadas e não entrelaçadas.
Uma imagem, em algum ponto do eixo do tempo, é chamada de “picture”
(foto, quadro, tela), se é um campo ou um quadro. O entrelaçado não é
uma fonte ideal de compressão digital porque é, em si mesmo, uma técnica de compressão. A codificação temporal é mais complexa porque os
pixels de um campo estão em posição diferente daqueles do próximo.
A compensação de movimento minimiza, mas não elimina as diferenças
entre imagens sucessivas. A diferença de imagem é em si mesma, uma imagem espacial e pode ser comprimida usando intra-codificação baseada em
19
Seção 1
transformada, como descrito previamente. A compensação de movimento
simplesmente reduz a quantidade de dados na diferença de imagens.
A eficiência de um codificador temporal aumenta com a duração do tempo sobre o qual ele pode agir. A figura 1-2c mostra que se um alto fator
de compressão for necessário, uma duração maior de tempo na entrada
precisa ser considerada e assim uma codificação de delay mais longa será
experimentada. Claramente, sinais codificados temporalmente são difíceis
de serem editados porque o conteúdo de uma dada imagem de saída pode
estar baseado em dados de imagens que foram transmitidos em algum
tempo anterior. Sistemas de produção terão que limitar o grau de codificação temporal para permitir a edição e esta limitação irá, por sua vez,
limitar o fator de compressão disponível.
1.6 Introdução à Compressão de Áudio
A taxa de bits de um canal de áudio digital PCM é em torno de 1,5 megabits por segundo, o que é aproximadamente 0,5% do 4:2:2 do vídeo
digital. Com esquemas moderados de compressão de vídeo, tal como o Betacam Digital, a compressão do áudio é desnecessária, mas à medida que
o fator de compressão de vídeo aumenta, torna-se importante comprimir
o áudio também.
A compressão de áudio leva vantagem sobre dois fatos: primeiro, em sinais típicos de áudio, nem todas as freqüências estão presentes simultaneamente; segundo, por causa do fenômeno do mascaramento, a audição
humana não pode discernir todos os detalhes de um sinal de áudio. A
compressão de áudio separa o espectro de áudio em faixas através de filtragem ou transformadas, e inclui menos dado quando descreve faixas em
que o nível é baixo. Onde o mascaramento previne ou reduz a audibilidade
de uma faixa particular, ainda menos dados são necessários para serem
enviados.
20
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A compressão de áudio não é tão fácil de executar quanto à compressão
de vídeo por causa da sensibilidade da audição. O mascaramento somente
funciona adequadamente quando este e o som mascarado coincidem espacialmente. A coincidência espacial é sempre o caso em gravações mono,
mas não em gravações estéreo, onde sinais de baixo nível podem ser
ouvidos se estiverem em partes diferentes do estágio do som. Conseqüentemente, em sistemas de som estéreo e surround (envolvente), um fator
de compressão mais baixo é permissível para uma dada qualidade. Outro
fator complicador da compressão de áudio é que ressonâncias de retardo
em alto-falantes de baixa qualidade realmente mascaram os artefatos de
compressão. Testar uma compressão com alto-falantes de baixa qualidade
ocasiona um resultado falso, e sinais que são aparentemente satisfatórios
podem trazer desapontamento quando ouvidos em equipamentos de boa
qualidade.
1.7 MPEG Streams
A saída de um simples codificador MPEG de áudio ou vídeo é conhecida
como stream elementar. Um stream elementar é um sinal interminável em
tempo quase real. Por conveniência, o stream elementar pode ser dividido
em blocos de dados de tamanhos controláveis, formando um empacotado de
stream elementar (PES). Estes blocos de dados precisam de informação de
cabeçalho para identificar o início dos pacotes e precisam incluir um sinal
de time, porque o empacotamento causa interrupções no eixo do tempo.
21
Seção 1
A figura 1-3 mostra que um vídeo PES e um número de áudio PES podem ser
combinados para formar um programa stream, desde que todos os codificadores sejam controlados por um clock comum. A marcação de time em cada
PES pode ser usada para assegurar o sincronismo labial entre o vídeo e o
áudio. Programas stream têm pacotes de tamanhos variáveis de cabeçalhos.
Eles são usados em transferência de dados em discos óticos e HDs (Hard
Disk), os quais são essencialmente livres de erros e dos quais são esperados
arquivos de tamanhos arbitrários. Os DVDs usam programa stream.
Para transmissão e radiodifusão digital, vários programas e seus PES associados podem ser multiplexados em um simples transporte stream. Um
transporte stream difere de um programa stream onde os pacotes PES são
subdivididos mais adiante em pequenos pacotes de tamanho fixo e onde
múltiplos programas codificados com diferentes clocks podem ser transportados. Isto é possível porque um transporte stream tem um mecanismo
de programa de referência de clock (PCR) que permite a transmissão de
múltiplos clocks, um dos quais é selecionado e restaurado no decoder. Um
programa único de transporte stream (SPTS) também é possível e isto
pode ser encontrado entre um codificador e um multiplexador. Desde que
um transporte stream possa sincronizar (genlock) o clock do decoder com
o clock do encoder, o SPTS é mais comum que o Programa stream.
Um transporte stream é mais que um simples multiplexador de áudio e
vídeo PES. Além do áudio, vídeo e dados comprimidos, um transporte
stream inclui metadados descrevendo o bit stream. Isto inclui a tabela de
associação de programa (PAT) que lista todos os programas no transporte
stream. Cada entrada na tabela PAT aponta para uma tabela de mapa de
programa (PMT) que lista os streams elementares complementando cada
programa. Alguns programas serão abertos, mas alguns poderão estar sujeitos a acesso condicional (criptografados) e esta informação é também
carregada nos metadados.
O transporte stream consiste de pacotes de dados de tamanho fixo, cada
um contendo 188 bytes. Cada pacote leva um código identificador de
programa (PID). Os pacotes no mesmo stream elementar têm todos os
mesmos PID, de tal forma que o decoder (ou o demultiplexador) pode selecionar stream(s) elementar que quiser e rejeitar o restante. A contagem
22
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
contínua de pacotes assegura que todos os pacotes necessários para decodificar o stream sejam recebidos. Um sistema de sincronização efetivo é
necessário para que os decoders possam identificar corretamente o início
de cada pacote e decodificar o bit stream em palavras.
1.8 Necessidade de Monitorar e Analisar
O MPEG transporte stream é uma estrutura extremamente complexa que
usa tabelas interligadas e identificadores codificados para separar os
programas e o elementar streams dentro dos programas. Dentro de cada
stream elementar, há uma estrutura complexa, permitindo o decoder distinguir entre, por exemplo, vetores, tabelas de coeficientes e tabelas de
quantização.
Falhas podem ser divididas em duas categorias gerais. Na primeira categoria, o sistema de transporte libera informação corretamente de um
encoder/multiplexer para um decoder sem erros de bits ou jitter adicional,
mas o encoder/multiplexer ou o decoder tem uma falha. Na segunda categoria, o encoder/multiplexer e o decoder estão corretos, mas o transporte
de dados de um para outro está defeituoso. É muito importante saber se
a falha está no encoder/multiplexer, no transporte ou no decoder quando
se pretende encontrar uma solução.
Sincronizar problemas, tais como perda ou corrupção de padrões de sincronismo pode impedir a recepção do transporte stream completo. Defeitos do protocolo de transporte stream podem impedir que o decoder
encontre todos os dados para um programa, talvez liberando o vídeo, mas
não o som. A liberação correta de dados, mas com jitter excessivo pode
causar problemas de timing no decoder.
Se um sistema que usa um transporte stream MPEG falha, esta pode estar
no encoder, no multiplexer ou no decoder. Como podemos isolar esta falha? Primeiro, verifique se o transporte stream está em conformidade com
a codificação padrão MPEG. Se o stream não estiver adequado, um decoder
dificilmente poderá ser acusado de defeitos. Se o stream estiver adequado,
o decoder necessita de atenção.
23
Seção 1
Ferramentas de teste de vídeo tradicionais, como o gerador de sinais, o
monitor de forma de ondas e o vectorscope, não são apropriados na análise
de sistemas MPEG, exceto para assegurar que os sinais de vídeo que entram
e que saem de um sistema MPEG são de qualidade adequada. Em seu lugar,
uma fonte confiável de sinais de teste válidos MPEG é essencial para testar
equipamentos de recepção e decoders. Com um analisador adequado, a performance de encoders, sistemas de transmissão, multiplexers e remultiplexers pode ser avaliada com alto grau de confiança. Como fornecedor de longa reputação de equipamentos de teste de alta qualidade para a indústria de
vídeo, A Tektronix continua a prover soluções de testes e medidas à medida
que a tecnologia evolui, proporcionando ao usuário de MPEG a confiança de
que os sistemas de compressão complexos estão funcionando corretamente
e permitindo diagnósticos rápidos quando não estão.
1.9 Armadilhas da Compressão
Compressão MPEG causa perdas porque o que é decodificado não é idêntico ao original. A entropia da fonte varia, e quando esta é alta, o sistema de compressão pode liberar artefatos visíveis quando decodificada Na
compressão temporal, supõe - se a redundância entre imagens sucessivas.
Quando não é este o caso, o sistema pode falhar. Um exemplo é o vídeo
de uma coletiva de imprensa onde os flashes são disparados. Imagens individuais contendo o flash são totalmente diferentes de imagens próximas,
e os artefatos de codificação podem se tornar óbvios.
Movimento irregular ou vários objetos em movimentos independentes na
tela exigem muita largura de banda de vetor e esta exigência só pode ser
satisfeita pela redução da largura de banda disponível para dados de imagem. Novamente, artefatos visíveis podem ocorrer cujos níveis variam e
dependem do movimento. Este problema freqüentemente ocorre em vídeo
de cobertura de esportes.
Quantificação grosseira resulta em iluminação de contorno e cores de fundo. Estes podem ser visto como sombras manchadas e blocos em grandes
áreas de cores descoradas. Subjetivamente, a compressão de artefatos
é mais irritante que os danos relativamente constantes dos sistemas de
transmissão de televisão analógicos.
24
A única solução para estes problemas é reduzir o fator de compressão.
Conseqüentemente, o usuário de compressão terá de fazer um julgamento
de valor entre a economia de um alto fator de compressão e o nível de
artefatos.
Além de aumentar o delay da codificação e da decodificação, a codificação temporal também causa dificuldade na edição. De fato, o bit stream
MPEG não pode ser editado arbitrariamente. Esta restrição ocorre porque,
na codificação temporal, a decodificação de uma imagem pode requerer o
conteúdo de uma imagem anterior e o conteúdo pode não estar disponível
após uma edição. O fato de que as imagens podem ser enviadas fora de
seqüência complica a edição.
Se a codificação apropriada estiver sendo usada, as edições podem ser
feitas, mas somente em pontos de emendas que sejam relativamente espaçosos. Se for necessária uma edição arbitrária, o stream MPEG precisa
ser submetido a um processo de decodificar-modificar-recodificar, o que
resultará em perda de geração.
Seção 2
Compressão de Vídeo
Esta seção mostra como a compressão de vídeo está baseada na percepção
dos olhos. Técnicas importantes, tais como compensação de transformações e de movimentos, são consideradas como uma introdução à estrutura
de um codificador MPEG.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
2.1 Codificação Espacial ou Temporal?
Como foi visto na seção 1, a compressão de vídeo pode levar vantagem
em ambas às redundâncias espacial e temporal. Em MPEG, a redundância
temporal é reduzida primeiro, pelo emprego de similaridades entre imagens sucessivas. Tanto quanto possível, a imagem corrente é criada ou
“predita” pelo uso de informação de imagens já enviadas. Quando esta
técnica é empregada, é necessário enviar apenas a diferença da imagem,
o que elimina as diferenças entre a imagem atual e a predita. A diferença
da imagem é assim sujeita à compressão espacial. Na prática é mais fácil
explicar a compressão espacial antes de explicar a compressão temporal.
A compressão espacial baseia-se em similaridades entre pixels adjacentes
em áreas planas da imagem e no domínio de freqüências espacial em áreas
de padronização. O sistema JPEG usa somente compressão espacial, desde
que é projetado para transmitir imagens estáticas individuais. Entretanto,
JPEG pode ser usada para codificar uma sucessão de imagens individuais
para vídeo. Na assim chamada aplicação de “Movimento JPEG”, o fator de
compressão não será tão bom quanto se fosse empregada a codificação
temporal, mas o bit stream será livremente editado na base de imagempor-imagem.
2.2 Codificação Espacial
O primeiro passo na codificação espacial é executar uma análise das freqüências de espaço usando uma transformada. Uma transformada é sim-
29
Seção 2
plesmente uma maneira de expressar uma forma de onda em um domínio
diferente, neste caso, no domínio da freqüência. A saída de uma transformada é um conjunto de coeficientes que descrevem o quanto uma dada
freqüência está presente. Uma transformada inversa reproduz a forma de
onda original. Se os coeficientes são manipulados com suficiente precisão,
a saída da transformada inversa é idêntica à forma de onda original.
A transformada mais conhecida é a de Fourier. Esta transformada identifica
cada freqüência na entrada do sinal. Ela identifica cada freqüência pela
multiplicação da forma de onda de entrada pela amostra da freqüência
alvo, chamada de função base, e integrando o produto. A figura 2-1 mostra que quando a forma de onda de entrada não contém a freqüência alvo,
a integral será zero; mas quando esta está presente, a integral será um
coeficiente que descreve a amplitude da freqüência componente.
O resultado será como descrito se a freqüência componente estiver em
fase com a função base. Entretanto, se a freqüência componente estiver
em quadratura com a função base, a integral será ainda zero. Desta forma,
faz-se necessário executar duas pesquisas para cada freqüência, com as
funções bases em quadratura uma da outra, de tal forma que cada fase da
entrada seja detectada.
A transformada de Fourier tem a desvantagem de requerer coeficientes
para ambos os componentes de seno e co-seno de cada freqüência.
Na transformada do co-seno, a forma de onda de entrada é espelhada no
tempo consigo mesma antes da multiplicação pelas funções de base. A
figura 2-2 mostra que este espelhamento cancela todos os componentes
30
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
do seno e duplicam todos os componentes do co-seno. A função de base
do seno é desnecessária e somente um coeficiente é necessário para cada
freqüência.
A transformada discreta do co-seno (DCT) é uma amostra da versão da
transformada do co-seno e é usada extensivamente na forma de duas dimensões em MPEG. Um bloco de 8x8 pixels é transformado para se tornar
um bloco de 8x8 coeficientes.
Uma vez que a transformada requer a multiplicação por frações, que tem a
extensão de uma palavra resulta em coeficientes que têm comprimento de
palavra maior que os valores em pixels. Tipicamente, um bloco de pixel de
8 bits resulta em um bloco de coeficientes de 11 bits. Assim, uma DCT não
resulta em qualquer compressão de fato, o resultado é o oposto. Entretanto, a DCT converte a fonte de pixels em um grupo onde a compressão
se torna mais fácil.
A figura 2-3 mostra os resultados de uma transformada inversa de cada um
dos coeficientes individuais de uma DCT de 8x8. No caso do sinal de luminância, o coeficiente superior esquerdo é o brilho médio ou componente
DC do bloco inteiro. Acompanhando a linha superior, a freqüência espacial
horizontal aumenta. Descendo a coluna da esquerda, a freqüência espacial
vertical aumenta. Em imagens reais, diferentes freqüências espaciais verticais e horizontais podem ocorrer simultaneamente e um coeficiente no
mesmo ponto dentro do bloco representará todas as combinações verticais
e horizontais possíveis.
A figura 2-3 também mostra 8 coeficientes como formas de ondas de dimensão horizontais. Combinar estas formas de ondas com várias amplitudes e uma e outra polaridade pode reproduzir qualquer combinação de
8 pixels. Assim, combinando os 64 coeficientes da DCT 2-D (duas dimensões) resultará no bloco original de 8x8 pixels.
31
Seção 2
Claramente, para imagens coloridas, as amostras de diferença de cor também precisarão ser trabalhadas. Os dados de Y, Cb e Cr são montados em
arranjos separados de 8x8 e são transformados individualmente.
Em material de programas mais autênticos, muitos dos coeficientes terão
valor zero ou quase zero, e assim, não serão transmitidos. Este fato resulta
em significante compressão que é virtualmente sem perdas. Se for necessário um fator de compressão maior, então o comprimento da palavra de
coeficientes que não seja zero terá que ser reduzido. Esta redução diminuirá a acuidade destes coeficientes e irão introduzir perdas no processo.
Cuidadosamente, as perdas podem ser introduzidas de certa maneira que
seja menos visível ao expectador.
2.3 Ponderação
A figura 2-4 mostra que a percepção humana aos ruídos de imagens não
é uniforme, mas é em função da freqüência espacial. Mais ruído pode ser
tolerado em altas freqüências espacial. Também, ruído no vídeo é efetivamente mascarado por detalhes finos na imagem, enquanto que em áreas
maiores é altamente visível. O leitor esteja ciente de que medidas tradicionais de ruído são freqüentemente ponderadas de tal forma que medidas
técnicas relatam mais precisamente os resultados subjetivos.
32
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A compressão reduz a acuidade dos coeficientes e tem efeito similar ao
uso de amostras de palavras mais curtas em PCM; o que significa dizer, o
nível de ruído aumenta.
Em PCM, o resultado de encurtar o comprimento da palavra é que o nível
de ruído aumenta igualmente em todas as freqüências.
Como o DCT divide o sinal em freqüências diferentes, torna-se possível
controlar o espectro do ruído. Efetivamente, coeficientes de baixa freqüência são “renderizados” mais precisamente que os coeficientes de alta
freqüência pelo processo de ponderação.
A figura 2-5 mostra que, no processo de ponderação, os coeficientes da DCT
são divididos por constantes que são uma função da freqüência de duas
dimensões. Coeficientes de baixa freqüência serão divididos por números
pequenos e coeficientes de alta freqüência serão divididos por números
grandes. Seguindo a divisão, o resultado é deslocado para o inteiro mais
próximo. Este deslocamento é uma forma de requantização. Na ausência
de ponderação, esta requantização teria o efeito de aumentar uniformemente o tamanho do passo de quantização, mas com a ponderação, isto
aumenta o tamanho do passo de acordo com o fator de divisão.
33
Seção 2
Como resultado, coeficientes que representam baixas freqüências espacial
são requantizados com passos relativamente pequenos e sofrem pequeno aumento de ruído. Coeficientes que representam freqüências espacial
maiores são requantizados com grandes passos e sofrem mais ruídos. Entretanto, menos passos significam que menos bits são necessários para
identificar o passo e a compressão é obtida.
No decoder, zeros de baixa ordem serão adicionados para restituir os coeficientes ponderados às suas magnitudes corretas. Estes serão então multiplicados pelos fatores ponderados inversos. Claramente, em freqüências
altas os fatores de multiplicação serão maiores, então o ruído requantizado será maior. Seguindo a ponderação inversa, os coeficientes terão seus
valores originais DCT de saída, mais o erro requantizado, que será maior
em freqüência alta que em freqüência baixa.
Como uma alternativa, coeficientes ponderados podem ser requantizados
não linearmente de tal forma que o tamanho do passo quantificado aumenta com a magnitude do coeficiente. Esta técnica permite fatores maiores de compressão, mas piora os níveis de artefatos.
Claramente, o grau de compressão obtido e, desse jeito, o bit rate de
saída obtido, é em função da rigorosidade do processo de requantificação.
Diferentes bit rates exigem diferentes tabelas de ponderação. Em MPEG, é
possível usar várias tabelas diferentes de ponderação e a tabela em uso
pode ser transmitida ao decoder, para assegurar a correta decodificação.
34
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
2.4 Varredura (Scanning)
Em material típico de programa, o mais significante coeficiente DCT é
geralmente encontrado dentro ou próximo do canto superior esquerdo da
matriz. Após a ponderação, coeficientes de baixo valor podem ser deslocados para zero. Transmissão mais eficiente pode ser obtida se todos
os coeficientes diferentes de zero forem enviados primeiro, seguidos por
um código indicativo de que os restantes são todos zero. A varredura é
uma técnica que aumenta a probabilidade de alcançar este resultado, porque envia coeficientes em ordem descendente de nível de probabilidade.
A figura 2-6a (veja na próxima página) mostra que em um sistema não
entrelaçado, a probabilidade de um coeficiente ter um alto valor é mais
alta no canto superior esquerdo e mais baixa no canto inferior direito. A
varredura diagonal em ziguezague de 45 graus é a melhor seqüência a ser
usada aqui.
35
Seção 2
Na figura 2-6b, é mostrado um padrão alternativo de varredura que pode
ser usado em fontes entrelaçadas. Em uma imagem entrelaçada, um bloco
DCT de 8x8 de um campo se estende sobre duas vezes a área da tela vertical, tal que para um detalhe de uma imagem dada, freqüências verticais
parecerão ser duas vezes maiores que as freqüências horizontais. Assim,
a varredura ideal para uma imagem entrelaçada estará em uma diagonal
que é duas vezes mais profundo. A figura 2-6b, mostra que uma dada
freqüência espacial vertical é varrida antes da mesma freqüência espacial
horizontal.
2.5 Codificação da Entropia
No vídeo real, nem todas as freqüências espacial estão presentes simultaneamente; assim sendo, a matriz de coeficiente DCT terá termos zero dentro dela. A requantização aumentará o número de zeros pela eliminação
de valores pequenos.
Não obstante o uso da varredura, coeficientes zero irão ainda aparecer entre valores significantes. A codificação Run lenght (RLC) permite que estes
coeficientes sejam trabalhados mais eficientemente. Onde estão presentes
valores repetidos, tal como uma linha de zeros, o RLC simplesmente transmite o número de zeros em vez de cada bit individualmente.
36
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A probabilidade de ocorrer valores de coeficientes específicos em vídeo
real pode ser estudada. Na prática, alguns valores ocorrem muito freqüentemente. A informação estatística pode ser usada para alcançar futuras compressões usando código de comprimento variável (VLC – Variable
Lenght Coding). Valores que ocorrem com freqüência são convertidos em
palavras de códigos curtos e valores não freqüentes são convertidos em
palavras de códigos longos. Para auxiliar na decodificação, nenhum código
de palavra pode ser o prefixo de outra.
2.6 Codificador Espacial
A figura 2-7 mostra reunidos todos os conceitos de codificação espacial
precedentes. O sinal de entrada é considerado como SDI 4:2:2 (Serial
Digital Interface), que pode ter comprimento de palavra de 8 ou 10 bits.
MPEG usa somente resolução de 8-bits; assim sendo, uma etapa de arredondamento será necessária quando o sinal SDI contiver palavras de 10
bits. A maioria dos profiles MPEG opera com amostragem de 4:2:0; desta
forma, um estágio de interpolação com filtro passa-baixa vertical será necessário. Arredondamento e sub amostragem de cor introduz uma pequena
perda irreversível de informação e uma redução proporcional no bit rate.
O formato de entrada de varredura necessitará ser armazenado para que
possa ser convertidos em blocos de 8x8 pixels.
37
Seção 2
O estágio DCT transforma a informação da imagem para o domínio da freqüência. O DCT em si mesmo não realiza qualquer compressão. Após o DCT,
os coeficientes são ponderados e deslocados, proporcionando a primeira
compressão significante. Os coeficientes são então varridos em ziguezague para aumentar a probabilidade de que os coeficientes significantes
ocorram primeiro na varredura. Após o último coeficiente que não seja
zero, um código de final de bloco EOB (end of block) é gerado.
Os dados dos coeficientes são comprimidos mais adiante pelas codificações RLC e pela VLC. Em um sistema de bit rate variável, a quantização
pode ser fixa, mas em um sistema de bit rate fixo, um buffer de memória
é usado para absorver variações de difícil codificação. Imagens altamente
detalhadas tenderão a preencher este buffer, enquanto que imagens sem
detalhes permitirão que este seja esvaziada. Se ocorrer o risco deste buffer ser sobrecarregado, os passos da requantização terão que ser ampliados, para que o fator de compressão seja aumentado.
No decoder, o bit stream é “deserializado” e a codificação da entropia é
revertida para reproduzir os coeficientes ponderados. Os coeficientes são
postos em uma matriz de acordo com a varredura em zigzag, e a ponderação inversa é aplicada para recriar o bloco de coeficientes DCT. Após a
transformar inversa, um bloco de 8x8 pixel é recriado. Para obter a saída
de varredura, os blocos são armazenados em uma RAM, que é lida uma
linha de cada vez. Para obter uma saída 4:2:2 de dados 4:2:0, um processo
de interpolação vertical será necessário, como mostrado na figura 2-8.
38
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
As amostras de cor 4:2:0 são posicionadas meio a meio entre as amostras
de luminância no eixo vertical de tal forma que fiquem igualmente espaçadas quando uma fonte entrelaçada for usada.
2.7 Codificação Temporal
A redundância temporal pode ser explorada por inter-codificação ou transmitindo-se apenas as diferenças entre imagens. A figura 2-9 mostra que
o atraso de uma imagem, combinado com a subtração pode computar
as diferenças das imagens. A diferença da imagem é uma imagem por si
mesma e pode ser comprimida mais além, pelo codificador espacial como
previamente descrito. O decoder inverte a codificação espacial e adiciona
a diferença da figura a figura anterior para obter a próxima imagem.
Há algumas desvantagens deste sistema simples. Primeiro como apenas as
diferenças são enviadas, é impossível começar a decodificar após o início
da transmissão. Esta limitação torna difícil ao decoder prover imagens
logo após o chaveamento entre um bit stream e outro (como ocorre quando o espectador troca de canal). Segundo, se qualquer parte da diferença
de dados for incorreta, o erro da figura se propagará indefinidamente.
39
Seção 2
A solução para estes problemas é usar um sistema que não seja completamente diferencial. A figura 2-10 mostra que imagens completas são
periodicamente enviadas.
Estas são chamadas imagens Intra-codificadas (ou imagens I), e são obtidas
somente pela compressão espacial. Se um erro ou uma troca de canais ocorrer, será possível reiniciar a decodificação correta na próxima imagem I.
2.8 Compensação de Movimento
O movimento reduz as similaridades entre imagens e aumenta os dados
necessários para criar a diferença da imagem. A compensação de movimento é usada para aumentar a similaridade. A figura 2-11 mostra este
princípio. Quando um objeto se movimenta pela tela da TV, ele pode
aparecer em um lugar diferente em cada imagem, mas não muda muito
na aparência. A diferença de imagem pode ser reduzida pela medição do
movimento no encoder. Esta medida é enviada ao decoder como um vetor.
O decoder usa o vetor para levar parte da imagem anterior para um lugar
mais apropriado na nova imagem.
40
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Um vetor controla o deslocamento de uma área inteira de uma imagem
que é conhecida como macrobloco. O tamanho do macrobloco é determinado pela codificação DCT e pela estrutura de sub amostragem de cores. A
figura 2-12a mostra que, com um sistema 4:2:0, o espaçamento vertical e
horizontal de amostras de cores é exatamente duas vezes o espaçamento
da luminância. Um único bloco DCT de 8x8 de amostras de cores se estende sobre a mesma área de quatro blocos 8x8 de luminância; assim sendo,
esta é a área mínima de uma imagem que pode ser deslocada por um vetor.
Um macrobloco 4:2:0 contém quatro blocos de luminância: um bloco Cb
e um bloco Cr.
No profile 4:2:2, as cores são sub amostradas somente no eixo horizontal. A
figura 2-12b mostra que em 4:2:2, um único bloco DCT de 8x8 de amostras
de cores se estende sobre dois blocos de luminância. Um macrobloco 4:2:2
contém quatro blocos de luminância: dois blocos Cb e dois blocos Cr.
O avaliador de movimento trabalha comparando os dados de luminância
de duas imagens sucessivas. Um macrobloco na primeira imagem é usado
como referência. A correlação entre a referência e a próxima imagem é
41
Seção 2
avaliada em todos os deslocamentos possíveis com uma resolução de metade de um pixel sobre toda a faixa de pesquisa. Quando a maior correlação é encontrada, esta correlação é tomada para representar o movimento
correto.
O vetor de movimento tem um componente vertical e outro horizontal.
Em material de programa típico, um objeto móvel pode se estender sobre
um número de macroblocos. Um fator de compressão maior é obtido se os
vetores são transmitidos diferencialmente. Quando um grande objeto se
move, macroblocos adjacentes têm os mesmos vetores e o vetor diferencial torna-se zero.
Vetores de movimento estão associados à macroblocos, não com objetos
reais da imagem e há ocasiões onde parte do macrobloco se move e outra parte não. Neste caso, é impossível compensar adequadamente. Se o
movimento da parte móvel é compensado pela transmissão de um vetor,
a parte estacionária será movida incorretamente, e será necessário dados
da diferença para correção. Se o vetor não é enviado, a parte estacionária
estará correta, mas os dados da diferença serão necessários para corrigir
a parte móvel. Um compressor prático pode tentar ambas as estratégias e
escolher aquela que requer menos dado.
2.9 Codificação Bidirecional
Quando um objeto se move, ele oculta o background em sua parte anterior
e mostra o background em sua parte posterior. O background mostrado
requer dados novos a serem transmitidos porque a área de background foi
previamente oculta e nenhuma informação pode ser obtida da imagem anterior. Um problema similar acontece se a câmera se move em uma panorâmica; novas áreas aparecem e nada se sabe sobre elas. O MPEG auxilia para
minimizar este problema através do emprego da codificação bidirecional,
que permite que informações sejam tomadas das imagens, antes e depois
da imagem corrente. Se o fundo está sendo revelado, ele estará presente
em uma imagem posterior, e a informação pode ser movida no sentido
inverso no tempo para criar parte de uma figura anterior.
42
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A figura 2-13 mostra o conceito da codificação bidirecional. Baseado em
um macrobloco individual, uma imagem codificada bidirecionalmente
pode obter dados de movimentos compensados de uma imagem anterior
ou posterior, ou mesmo usar uma média dos dados anteriores e posteriores.
A codificação bidirecional reduz significativamente a porção da diferença
de dados necessários para aprimorar o grau de predição possível. O MPEG
não especifica como um encoder deve ser construído, somente que é constituído de bit stream adequado. Entretanto, um compressor inteligente
poderia tentar todas as três estratégias de codificação e selecionar aquela
que fornece o menor número de dados a serem transmitidos.
2.10 Imagens I, P e B
Em MPEG, três tipos diferentes de imagens são necessários para dar suporte às codificações diferencial e bidirecional, minimizando a propagação
do erro.
Imagens I são imagens Intracodificadas que não necessitam de informação
adicional para decodificação. Elas exigem grande quantidade de dados em
comparação com outros tipos de imagens, e por isso elas não são transmitidas freqüentemente mais do que o necessário. Consistem primariamente
de coeficientes transformados e não têm vetores. Imagens I são decodificadas sem referências a nenhuma outra imagem, assim elas permitem ao
observador mudar de canais, e elas impedem a propagação do erro.
43
Seção 2
Imagens P são antecipadamente preditas a partir de uma imagem anterior,
que poderia ser uma imagem I ou uma imagem P. Os dados da imagem
P consistem de vetores que descrevem de onde, na imagem precedente,
cada macrobloco deve ser tirado, e de coeficientes transformados que
descrevem a correção ou dados da diferença que precisa ser adicionada
ao macrobloco. Quando não são encontrados dados adequados para um
macrobloco pela busca da compensação de movimento, dados intra são
enviados para codificar aquele macrobloco. Imagens P requerem, grosseiramente, metade dos dados de uma imagem I.
Imagens B são preditas bidirecionalmente das imagens I ou P precedentes e/ou posteriores. Os dados da imagem B consistem de vetores que
descrevem de onde, nas imagens precedentes ou posteriores, os dados
devem ser tomados. Também contêm os dados intra-codificados que provêm às correções necessárias. Novamente, quando não são encontrados
dados adequados para um macrobloco pela busca da compensação de movimento, dados intra são enviados para codificar aquele macrobloco. A
predição bidirecional é bastante efetiva, assim a maioria dos macroblocos
de uma imagem B é largamente codificada por vetores de movimento.
Também a imagem B nunca é usada como referencia para codificar outras
imagens, assim não há possibilidade de erro de propagação. Isto permite
aos encoders usarem a requantização mais dinamicamente para correção
de dados. Uma imagem B típica requer perto de um quarto dos dados de
uma imagem I.
Note que uma imagem B não tem que usar ambas as direções de predição;
em algumas circunstâncias apenas uma direção é empregada. Esta opção
pode ser usada quando construindo grupos fechados de imagens (GOP).
44
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A figura 2-14 introduz o conceito de GOP. O GOP representa a em seqüência a estrutura das imagens I, P e B. Geralmente a estrutura GOP se repete
em seqüência, mas o comprimento e a estrutura podem mudar a qualquer
tempo. Não há limites formais no comprimento de um GOP, mas por propósitos de transmissão um comprimento típico é de 12 a 15 imagens.
A natureza da compressão temporal do MPEG significa que a ordem de
transmissão das imagens não é a mesma ordem como são mostradas. Uma
imagem P segue naturalmente uma I ou P da qual é predita, assim não há
exigências especiais. Uma imagem B codificada bidirecionalmente, por outro lado, não pode ser decodificada até que ambas imagens de referência
tenham sido recebidas e decodificadas. A figura 2-14 mostra as figuras de
um GOP em ordem de exibição no topo, e em ordem de transmissão embaixo. Note que, na ordem de transmissão, as imagens B sempre seguem
as duas imagens de referência das quais são preditas.
Existem dois tipos de GOP, aberto e fechado. Um GOP fechado não requer
referência externa. Na ordem de exibição, pode começar com uma imagem
I e terminar com uma imagem P. Na ordem de transmissão usualmente
ocorrerão imagens B seguindo a última imagem P, mas estas são imagens
que serão exibidas antes daquela última imagem P.
É possível começar e/ou terminar um GOP fechado com imagens B (em
ordem de exibição), mas neste caso, a imagem B inicial ou final tem que
ser codificada usando apenas uma única direção de predição. Imagens B
no início de um GOP fechado têm que usar somente predição atrasada.
Imagens B no final de um GOP fechado podem usar somente predição
adiantada – similar à imagem P, mas as regras de imagens B seriam usadas
para requantização, etc.
Um GOP aberto não tem estas restrições nos vetores de predição. Por
exemplo, Imagens B no final do GOP podem usar predição adiantada da
última imagem P e predição atrasada da primeira imagem I do próximo
GOP. Esta estrutura é levemente mais eficiente, mas as predições podem
ultrapassar quaisquer limites da imagem. É muito mais difícil unir bit streams; e eventos como mudança de canais são mais prováveis de causarem
erros de imagens.
45
Seção 2
A estrutura GOP pode ser alterada pelo encoder quando há mudanças de
cenas. Predições sobre uma mudança de cena geralmente falha, desde que
haja grande entropia entre as duas imagens de cada lado da mudança de
cena. Um encoder pode escolher entre detectar a mudança de cena, usar
um GOP fechado anterior à mudança de cena e começar um novo GOP
(aberto ou fechado) com uma imagem I representando a primeira imagem
da nova cena.
Transmitir dados de imagem fora de seqüência exige memória adicional no
encoder e decoder e também causa delay. O número de imagens bidirecionalmente codificadas, tanto imagens intra ou adiantadamente preditas,
precisam ser restritas para reduzir custo e para minimizar o delay, se for
uma edição.
A figura 2-15 mostra a acomodação que precisa ser feita entre o fator de
compressão e o delay da codificação. Para uma mesma qualidade, enviar
somente imagens I exige mais que o dobro do bit rate de uma seqüência
IBBP.
46
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
2.11 Um Compressor MPEG
As figuras 2-16a, b e c mostram uma estrutura típica de um compensador
bidirecional de movimento. A entrada de vídeo pré-processada introduz
uma série de memórias de quadros que podem ser bypassados para mudar
a ordem das imagens. Os dados, então, entram no subtrator e no avaliador
de movimento. Para criar uma imagem I, o final do atraso da entrada é
selecionado e o subtrator é desligado para que os dados passem diretamente para serem codificados espacialmente (ver figura 2-16a). A saída
dos dados do subtrator também passa por uma memória de quadros que
pode guardar várias imagens. A imagem I é retida na memória.
47
Seção 2
Para codificar uma imagem P, as imagens B na entrada do buffer são
bypassados, de tal forma que a futura imagem seja selecionada (veja figura 2-16b). O avaliador de movimento compara a imagem I na saída da
memória com a imagem P na entrada da memória para criar vetores de
movimentos adiantados. Os macroblocos de imagens I são substituídos
por estes vetores para formar uma imagem P predita. A imagem P predita é subtraída da imagem P atual para produzir o erro de predição, que é
codificado espacialmente e enviado juntamente com os vetores. O erro de
predição é também adicionado à imagem P predita para criar uma imagem
P localmente decodificada que também acompanha a saída da memória.
48
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A memória de saída, então, contém uma Imagem I e uma imagem P. Uma
imagem B da entrada do buffer pode agora ser selecionada. O compensador
de movimento comparará a imagem B com a imagem I que a precede e a
imagem P que a segue para obter vetores bidirecionais (veja figura 2-16c).
O compensador de movimento adiantado e atrasado funciona para produzir duas imagens B preditas. Estas são subtraídas da imagem B atual.
No princípio do macrobloco-por-macrobloco, dados adiantados ou atrasados são selecionados de acordo com aqueles que representam as menores
diferenças. As diferenças de imagens são, então, codificadas espacialmente e enviadas com os vetores.
Quando todas as imagens B intermediárias são codificadas, a memória
de entrada, mais uma vez, será bypassada para criar uma nova imagem P
baseada na imagem P antecedente.
49
Seção 2
A figura 2-17 mostra um codificador MPEG. A saída do compensador de
movimento é codificada espacialmente e os vetores são adicionados em
um multiplexer. Dados sintáticos são também adicionados para identificar
o tipo de imagem (I, P ou B) e prover outra informação para auxiliar o
decoder (veja Seção 5 – Streams Elementares). Os dados de saída são armazenados para permitir variações temporárias do bit rate. Se o bit rate
médio for alto demais, o buffer temporário tenderá a encher. Para prevenir
sobrecarga, a quantificação terá que ser feita com mais rigor. Igualmente,
o buffer deveria mostrar sinais de sob carga para que a quantificação funcione tranqüilamente para manter a média de bit rate.
2.12 Pré-Processamento
Um compressor procura eliminar a redundância dentro da imagem e entre
imagens. Qualquer coisa que reduza esta evidente redundância, que não é
conteúdo da imagem, é indesejável. Ruído e efeitos granulados em filmes
são particularmente problemáticos porque geralmente ocorrem sobre a
imagem inteira. Após o processo DCT, o ruído resulta em mais coeficientes
não zero, e o codificador não é capaz de distinguir esta informação dos
dados da imagem original. Uma quantificação mais severa será exigida
para codificar todos os coeficientes, reduzindo a qualidade da imagem. O
ruído também reduz similaridades entre imagens sucessivas, aumentando
a diferença dos dados necessários.
A subportadora residual de vídeo decodificada do vídeo composto é um
problema sério porque resulta em freqüências altas e espacial que estão
normalmente em um nível baixo nos programas componentes. A subpor-
50
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
tadora também alterna em fase de imagem para imagem causando um aumento na diferença de dados. Naturalmente, qualquer artefato composto
decodificado que é visível na entrada do codificador MPEG provavelmente
será reproduzido no decoder.
Qualquer prática que cause movimentos indesejáveis deverá ser evitada.
Montagens instáveis de câmeras, além de proporcionar imagens trêmulas,
aumentam as diferenças de imagens e exige mais dos vetores de transmissão. Isto também acontecerá com material de telecine se houver danos no
mecanismo de tração do filme. Em geral, o vídeo que deve ser comprimido
precisa ser da melhor qualidade possível. Se não for obtida uma alta qualidade, serão consideradas técnicas de redução de ruído e de estabilização.
Se um alto fator de compressão é exigido, o nível de artefatos pode aumentar, especialmente se a qualidade a entrada for baixa. Neste caso,
pode ser melhor reduzir a entropia apresentada ao codificador através do
uso de pré-filtragem. O sinal de vídeo é submetido à filtragem passa-baixa
por duas razões, o qual reduz o número de coeficientes necessários e reduz
o nível de artefatos. A imagem ficará menos nítida, mas menos nitidez é
preferível a um alto nível de artefatos.
Na maioria das aplicações MPEG-2, é usada amostragem 4:2:0, que requer
um processo de redução da amostragem (downsampling) de croma, se a
fonte for 4:2:2. Em MPEG-1, luminância e croma têm a amostragem reduzida para produzir uma imagem de entrada ou formato de imagem comum
CIF (common image format) que tem apenas 352 pixels. Esta técnica reduz
a entropia por um fator maior. Para uma compressão muito alta, o quarto
do formato de imagem comum QCIF (quarter common image format), que
tem 176 pixels, é usado. A redução da amostragem é um processo que
combina um filtro passa-baixa espacial com um interpolador. A redução da
amostragem em sinais de entrelaçados é problemática, porque um detalhe
na vertical é espalhado sobre dois campos que podem não se correlacionar
devido ao movimento.
Quando o material fonte é o telecine, o sinal de vídeo tem características
diferentes do vídeo normal. No vídeo de 50Hz, pares de campos representam o mesmo quadro do filme, e não há movimento entre eles. Assim, o
movimento entre campos alterna entre zero e o movimento entre os qua-
51
Seção 2
dros. No vídeo de 60Hz, um pulldown de 3:2 é usada para obter os 60Hz
do filme de 24Hz. Um quadro é feito com dois campos; o próximo é feito
com três campos e assim por diante.
Conseqüentemente, um campo em cinco é completamente redundante. O
MPEG trabalha melhor o material de filme descartando o terceiro campo
no sistema 3:2. Um código de 24Hz na transmissão alerta o decoder para
recriar a seqüência 3:2 pela releitura da memória de campo. Em telecine
de 50Hz e de 60Hz, pares de campos são desentrelaçados para criar quadros, e então o movimento é medido entre os quadros. O decoder pode
recriar o entrelaçado através da leitura das linhas alternadas na memória
de quadros.
Um corte é um evento difícil para um compressor lidar porque freqüentemente resulta em falha quase completa da predição, requerendo uma
grande quantidade de dados para correção. Se um código de delay puder
ser empregado, um codificador poderá detectar cortes com antecipação
e modificar dinamicamente a estrutura do GOP, de tal forma que uma
imagem I seja inserida para coincidir com o corte. Neste caso, o corte é
manipulado com muito poucos dados extras. As últimas imagens B antes
do quadro I, quase que certamente, necessitará usar predição adiantada.
Em algumas aplicações que não estiver em tempo real, como edição de
DVD, um codificador poderia efetuar dois passos na entrada de vídeo: um
passo para identificar a dificuldade ou áreas de grande entropia e criar
uma codificação de estratégia; e um segundo passo para realmente comprimir a entrada de vídeo.
2.13 Wavelets
Todas as transformadas estão sujeitas a incerteza porque quanto mais
precisamente é conhecido o domínio da freqüência, menos precisamente
é conhecido o domínio do tempo (e vice versa). Na maioria das transformadas como a Transformada Discreta de Fourier (DFT) e a Transformada
Discreta do Co-seno (DCT), o comprimento do bloco é fixo, assim, a resolução do tempo e da freqüência é fixa. Os coeficientes da freqüência representam valores igualmente espaçados em uma escala linear. Infelizmente,
52
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
porque os sentidos humanos são logaritmos, a escala uniforme do DFT e da
DCT fornece resolução inadequada de freqüência de um lado sem e excesso
de resolução de outro lado.
A transformada da wavelet não é afetada por este problema porque sua
resolução de freqüência é uma fração fixa de uma oitava e, assim sendo,
tem uma característica logarítmica. Isto é feito através da alteração do
comprimento do bloco como uma função da freqüência. À medida que a
freqüência decresce, o bloco se torna mais longo. Assim, uma característica da transformada das wavelets é que todas as funções base contêm
o mesmo número de ciclos, e estes ciclos são simplesmente escalonados
ao longo do eixo do tempo para pesquisar por diferentes freqüências. A
figura 2-18 contrasta o tamanho do bloco fixo de DFT/DCT com o tamanho
variável da wavelet.
As wavelets são especialmente úteis em codificação de áudio porque elas
se adaptam automaticamente às exigências conflitantes da localização
precisa de transientes no tempo e a precisa avaliação do nível de áudio
de um tom uniforme.
53
Seção 2
Para codificação de vídeo, as wavelets têm a vantagem de reproduzir sinais
de resolução escalonáveis sem nenhum esforço extra. Em vídeo com movimento, as vantagens das wavelets são contrabalançadas pela dificuldade
de determinar os vetores de movimento para um bloco de tamanho variável, mas em imagens paradas ou codificação de imagens I esta dificuldade
não é um problema. A codificação das wavelets tem mostrado benefícios
particulares para aplicações em baixo bit rate. Os artefatos gerados pela
excessiva quantização dos coeficientes de wavelets geralmente aparecem
como “mancha”, e estas são muito menos intoleráveis que os “blockiness”
(imagem em pequenos blocos) que resultam da excessiva quantização dos
coeficientes do DCT.
54
Seção 3
Compressão de Áudio
A compressão de áudio que produz perdas é baseada inteiramente nas
características da audição humana, a qual precisa ser considerada antes
que seja possível qualquer descrição de compressão. Surpreendentemente,
a audição humana, particularmente em estéreo, é realmente mais criticamente discriminadora que a visão humana, e conseqüentemente a compressão de áudio deve ser considerada com atenção. Como na compressão
de vídeo, a compressão de áudio requer um número de diferentes níveis de
complexidade de acordo com o fator de compressão desejado.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
3.1 O Mecanismo da Audição
A audição consiste de processos físicos no ouvido e processo mental dos
nervos que se combinam para nos dar a impressão do som. A impressão
que recebemos não é idêntica a forma de onda acústica efetiva presente
no canal do ouvido porque alguma entropia é perdida. Os sistemas de
compressão de áudio que perdem somente aquela parte da entropia que
será perdida no mecanismo da audição produzirão bons resultados.
O mecanismo físico da audição consiste do ouvido externo, médio e interno. O ouvido externo é composto do canal do ouvido e do tímpano. O
tímpano converte o som incidente em vibração, quase da mesma forma
que o diafragma de um microfone. O ouvido interno funciona sentindo
as vibrações transmitidas através de um fluido. A impedância do fluido é
muito maior que a do ar e o ouvido médio age como um transformador de
casamento de impedância que aprimora a transferência de potência.
A figura 3-1 mostra que as vibrações são transferidas para o ouvido interno pelo osso estribo, que age sobre a janela oval. As vibrações no fluido
do ouvido passam até a cóclea, uma cavidade espiral do crânio (mostrado
estendido na figura 3-1 para maior clareza). A membrana basilar é esticada através da cóclea. Esta membrana varia em massa e consistência ao
longo de seu comprimento. No final, perto da janela oval, a membrana é
firme e fina, e assim, sua freqüência de ressonância é alta. Distante do
final, a membrana á macia e grossa e ressona em freqüências baixas. A
faixa de freqüências de ressonância disponível determina a faixa de freqüência da audição humana, que na maioria das pessoas é de 20Hz até
perto de 15kHz.
Freqüências diferentes no som de entrada causam a vibração de diferentes
áreas da membrana. Cada área tem diferentes terminações de nervos para
permitir a discriminação dos níveis de sons. A membrana basilar também
possui minúsculos músculos controlados por nervos que, juntos, agem
como um tipo de sistema de realimentação positiva que aprimora o fator
Q da ressonância.
O comportamento ressonante da membrana basilar é um paralelo exato do
comportamento de um analisador de transformação. De acordo com a teo-
57
Seção 3
ria da incerteza das transformações, quanto mais precisamente o domínio
da freqüência de um sinal é conhecido, menos precisamente o domínio do
tempo é conhecido. Conseqüentemente, quanto mais uma transformação
for capaz de discriminar entre duas freqüências, menos capaz será para
discriminar entre o tempo de dois eventos. A audição humana desenvolveu-se com certo compromisso de balancear a discriminação da incerteza
do tempo e a discriminação da freqüência; no balanceamento, nenhuma
das duas habilidades é perfeita.
A imperfeição na discriminação de freqüência resulta da inabilidade em
separar freqüências muito próximas. Esta inabilidade é conhecida como
“mascaramento” auditivo, definido como sensibilidade reduzida a um som
em presença de outro.
A figura 3-2a (veja na próxima página) mostra que o limiar (ponto de
início) da audição é em função da freqüência. A maior sensibilidade é,
sem surpresas, na faixa da fala. Na presença de um tom único, o limiar
é modificado como na figura 3-2b. Note que o limiar cresce para tons de
freqüências mais altas e se estende para freqüência mais baixa. Na presença de um espectro complexo de entrada, como música, o limiar cresce
em quase todas as freqüências. Uma conseqüência deste comportamento
é que o “chiado” do áudio analógico de um cassete só é audível durante passagens silenciosas da música. O processo de comprimir e expandir
“Companding” faz uso deste princípio amplificando sinais de áudio de baixo nível antes de gravar ou transmitir, retornando-os ao seu nível correto
posteriormente.
58
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A discriminação de tempo imperfeita do ouvido é devida à sua resposta
de ressonância. O fator Q é tal que um dado som precisa estar presente
por pelo menos quase um milissegundo antes de se tornar audível. Por
causa desta resposta lenta, o “mascaramento” pode ainda ocorrer mesmo
quando os dois sinais envolvidos não forem simultâneos. O mascaramento
adiantado ou atrasado ocorre quando o mascarador mantém este efeito
em sons de níveis mais baixos antes e depois da duração real do som mascarado. A figura 3-3 mostra este conceito.
O mascaramento aumenta o limiar da audição e os compressores tomam
vantagem deste efeito elevando o piso de ruído, que permite que a forma
de onda do áudio seja expressa com poucos bits. O piso de ruído só pode
ser elevado em freqüências nas quais há efetivo mascaramento. Para maximizar o mascaramento efetivo, é necessário separar o espectro de áudio
em diferentes bandas de freqüência para permitir a introdução de diferentes porções de “companding” e ruído em cada banda.
3.2 Codificação da Sub-Banda
A figura 3-4 mostra um compressor – expandidor “compander” separador
de banda. O filtro separador de banda é um conjunto de filtros de fase
linear e banda estreita que se sobrepõem e todos têm a mesma largura de
banda. A saída em cada banda consiste de amostras representando uma
59
Seção 3
forma de onda. Em cada banda de freqüência, a entrada de áudio é amplificada até um nível máximo antes da transmissão. Posteriormente, cada
nível retorna ao seu valor correto. A captação de ruído na transmissão
é reduzida em cada banda. Se a redução do ruído for comparada com o
limiar da audição, pode-se ver que um ruído maior pode ser tolerado em
algumas bandas por causa do mascaramento. Conseqüentemente, em cada
banda, após o “companding” é possível reduzir o comprimento da palavra
amostrada. Esta técnica produz compressão porque o ruído de quantização
introduzido pela perda de resolução é mascarado.
A figura 3-5 mostra um simples codificador separador de banda usado em
MPEG camada 1. A entrada de áudio digital é aplicada a um filtro separador de banda que divide o espectro do sinal em um número de bandas. Em
MPEG, este número é 32. O eixo do tempo é dividido em blocos de intervalos iguais. Em MPEG camada 1, existe 384 amostras de entrada, assim,
há 12 amostras em cada uma das 32 bandas na saída do filtro. Dentro de
cada banda, o nível é amplificado por multiplicação para elevar o nível até
o máximo. O ganho exigido é constante para a duração de um bloco e um
fator de escala simples é transmitido com cada bloco em cada banda a fim
de permitir que o processo seja revertido no decoder.
60
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A saída do banco de filtros para o MPEG camada 1 é analisada usando uma
FFT (Fast Fourier Transform – Transformada Rápida de Fourier) de 512 pontos para determinar o espectro do sinal de entrada. Esta análise orienta
um modelo de mascaramento que determina o grau de mascaramento que
pode ser esperado em cada banda. Quanto maior o mascaramento, menos
exatas precisam ser as amostras em cada banda. A exatidão da amostra é
reduzida através de requantização para reduzir o comprimento da palavra.
Esta redução é constante também para todas as palavras da banda, mas
diferentes bandas podem usar diferentes comprimentos de palavras. O
comprimento da palavra precisa ser transmitido como um código de alocação de bits para cada banda para permitir ao decoder decompor a série
do bit stream adequadamente.
3.3 MPEG Camada 1
A figura 3-6 mostra bit stream de áudio em MPEG camada 1. Após o padrão
de sincronização e o cabeçalho, há códigos de alocação de 32 bits de
quatro bits cada. Estes códigos descrevem o comprimento da palavra das
amostras em cada sub-banda. Logo após vem os 32 fatores de escala usados no “companding” de cada banda. Estes fatores de escala determinam
o ganho necessário ao decoder para retornar o áudio em seu nível correto.
Os fatores de escala são seguidos, por sua vez, pelos dados do áudio em
cada banda.
61
Seção 3
A figura 3-7 mostra o decoder da camada 1. O padrão de sincronização
é detectado pelo gerador de timing, que decompõe a série de alocação
de bits e os dados do fator de escala. O dado da alocação de bits, então,
permite a decomposição das amostras de comprimento variáveis. A requantização é revertida e a compressão é revertida pelos dados do fator
de escala para por cada banda de volta ao nível correto. Estas 32 bandas
separadas são, então, combinadas em um filtro combinador que produz a
saída de áudio.
3.4 MPEG Camada 2
A figura 3-8 mostra que quando o filtro separador de bandas é usado para
conduzir o modelo de mascaramento, a análise espectral não é muito
precisa, desde que há somente 32 bandas e a energia poderia estar em
qualquer lugar da banda. O piso de ruído não pode ser muito elevado
porque, no pior caso mostrado, o mascaramento pode não funcionar. Uma
análise espectral mais acurada permitiria um fator de compressão mais
alto. No MPEG camada 2, a análise espectral é executada por um processo
separado. Uma FFT (Fast Fourier Transform) de 1024 pontos trabalhando
diretamente na entrada é usada para conduzir o modelo de mascaramento.
Para analisar freqüências mais precisamente, o tempo de varredura da
transformação tem que ser aumentado, o que é feito pelo aumento do
tamanho do bloco para 1152 amostras.
Como o esquema de “companding” dos blocos é o mesmo da camada 1,
nem todos os fatores de escala são transmitidos, desde que contêm um
grau de redundância em material de programa real. O fator de escala de
blocos sucessivos na mesma banda difere de 2dB, menos de dez por cento
62
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
do tempo, e a vantagem desta característica é a análise de grupos de três
fatores de escala sucessivos. Quando o conteúdo da sub-banda é aproximadamente constante (conhecido como programa estacionário ou quase
estacionário), apenas um fator de escala em três é enviado. Como o conteúdo transiente aumenta em uma dada sub-banda, dois ou três fatores de
escalas serão enviados. Um código de seleção do fator de escala é também
enviado para permitir ao decodificador determinar o que foi enviado em
cada sub-banda. Esta técnica efetivamente divide ao meio a taxa de bits
do fator de escalas.
3.5 Codificação por Transformada
As camadas 1 e 2 são baseadas em filtros separadores de bandas nos quais
o sinal é ainda representado como uma forma de onda. Entretanto, a
camada 3 adota a codificação por transformada similar àquela usada em
codificação de vídeo. Como mencionado acima, o ouvido realiza um tipo
de transformada de freqüência no som incidente e, por causa do fator Q da
membrana basilar, a resposta não pode aumentar ou reduzir rapidamente.
Conseqüentemente, se uma forma de onda de áudio é transformada para
o domínio da freqüência, os coeficientes não precisam ser enviados muito
freqüentemente. Este princípio é a base da codificação por transformada. Para fatores mais altos de compressão, os coeficientes podem ser requantizados, tornando-os menos exatos. Este processo produz o ruído que
estará localizado nas freqüências onde o mascaramento for maior. Outra
63
Seção 3
vantagem extraída de um codificador por transformada é que a entrada do
espectro é conhecida com precisão, assim, um modelo de mascaramento
preciso pode ser criado.
3.6 MPEG Camada 3
Este nível complexo de codificação só é realmente usado quando for necessário um fator de compressão muito alto. Ele tem um grau de pontos
comuns com a camada 2. A transformada discreto do co-seno usada tem
384 coeficientes de saída por bloco. but in a multi-level coder, it is possible to use a hybrid transform incorporating the 32-band filtering of layers
1 and 2 as a basis. Esta saída pode ser obtida pelo processamento direto
das amostras de entrada, mas em um codificador de múltiplos níveis, é
possível usar uma transformação híbrida incorporando a filtragem de 32
bandas de camadas 1 e 2 como base. Se isto for feito, as 32 sub-bandas
do QMF (quadrature mirror filter – filtro de espelho de quadratura) são
cada uma, mais além, processadas por um MDCT (modified discreet cosine
transform – transformada discreta do co-seno modificado) para obter 384
coeficientes de saída.
São usados dois tamanhos de janela para evitar pré-eco em transientes.
O chaveamento das janelas é desempenhado pelo modelo psico-acústico.
Tem sido constatado que o pré-eco está associado com a entropia do áudio acima do valor médio. Para obter o fator de compressão mais alto, a
quantificação não uniforme dos coeficientes é usada juntamente com a
codificação Huffman. Esta técnica aloca as palavras mais curtas aos códigos de valores mais comuns.
3.7 MPEG-2 Áudio
Embora originalmente designados como áudio MPEG níveis 1, 2 e 3, os
sistemas agora são mais exatamente conhecidos como MPEG-1 Nível 1,
etc. MPEG-2 definiu as extensões para áudio MPEG-1, e um novo sistema
de codificação avançado.
64
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
O MPEG-2 permite o uso de amostragem em níveis mais baixos que o
MPEG-1. Ele não é rigorosamente compatível com os anteriores, mas requer apenas tabelas adicionais em um decoder MPEG-1 para que se tornem
inter operacionais.
O áudio MPEG-2 BC (backward compatible – compatível com os anteriores)
provê sistemas de 5.1 canais (cinco canais com largura de banda completa
mais um canal de largura de banda baixa para efeitos de baixa freqüência). O MPEG-2 BC tem um bit stream MPEG-1 (2 canais) em seu núcleo e
incorpora extensões multicanais de uma forma que será ignorada por um
decoder MPEG-1.
O MPEG-2 AAC (advanced audio coding – codificação avançada de áudio) é
um sistema mais sofisticado com bancos de filtros de resolução mais alta e
ferramentas de codificação adicionais. Isto oferece uma eficiência de codificação significantemente maior, mas não é compatível com os anteriores.
3.8 MPEG-4 Áudio
A codificação MPEG-4 é baseada em objetos (veja seção 4.6). Os objetos
do MPEG-4 podem representar sons naturais ou sintéticos.
Para codificação de áudio natural, o conjunto de ferramentas do MPEG-4
inclui o MPEG-2 AAC e também uma variedade de outras ferramentas, incluindo codificação paramétrica para bit rate muito baixo e uma técnica
conhecida como codificação excitada por predição linear (CELP) para codificação da fala na faixa média do bit rate. São empregadas várias formas
de escabilidade, incluindo escalabilidade de bitstream que pode ser aplicada em pontos do sistema de transmissão.
65
Seção 3
O uso da codificação de objetos permite que escolhas sejam feitas no
ponto de decodificação. Por exemplo, um concerto pode ser transmitido
como dois objetos, orquestra e solo. A decodificação normal apresentaria
o trabalho completo, mas um instrumentista poderia decodificar apenas
o objeto da orquestra e executar o solo “ao vivo”. Aproximações similares
poderiam permitir a codificação de programas de tal forma que os ouvintes pudessem selecionar um modo de “supressão” para eliminar comentários como um evento esportivo.
Em 2001, foi apresentada uma variante de alta eficiência do MPEG-4 AAC.
Esta pretendia proporcionar uma performance superior em bit rate baixo,
tipicamente em torno de 128 Kbit/s. HE-AAC, também conhecida como
aacPlus, é realmente um super conjunto de AAC (advanced audio coding)
que adiciona uma técnica aprimorada, conhecida como SBR (Spectral Band
Replication – replicação do espectro da banda).
O SBR é uma técnica de expansão da largura de banda que habilita CODECs
de áudio para fornecer a mesma qualidade de audição com aproximadamente metade do bit rate que o CODEC interno necessitaria se operado
sem esta técnica.
Mais recentemente, o HE-AAC v2 foi apresentado, como ilustrado pela
figura 3-9. Novamente, este é um super conjunto do v1 e adiciona um
melhoramento com o Estéreo Paramétrico (PS). Parametric Stereo increases the coding efficiency by exploiting a parametric representation of
the stereo image of a given input signal. O Estéreo Paramétrico aumenta
a eficiência da codificação explorando uma representação paramétrica da
imagem estéreo de um dado sinal de entrada.
66
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Ainda sobre a arquitetura de superconjunto, os decoders HE-AAC v2 também são capazes de decodificar os bitstreams AAC comuns, tanto quanto
os bitstreams que incorporam os dados componentes do AAC e SBR. Isto
permite um alto grau de flexibilidade para os broadcasters, à medida que
contém todos os componentes técnicos necessários para compressão de
áudio sobre uma ampla faixa de bit rates.
3.9 AC-3
A técnica de codificação de áudio AC-3, inventada pelos Laboratórios Dolby, é usada no sistema ATSC em vez dos esquemas de codificação de áudio
MPEG. É registrado como Padrão ATSC a/52. Posteriormente, o AC-3 foi
adotado como um componente opcional do DVB e pelo sistema Motorola
Digicypher II. O AC-3 é um sistema baseado na transformação que obtém
ganho de codificação pela requantização dos coeficientes de freqüência.
A entrada PCM do codificador AC-3 é dividida em blocos de janelas sobrepostas como mostrado na figura 3.9.1. Estes blocos contêm 512 amostras
cada, mas por causa da completa superposição, há cem por cento de redundância. Após a transformada, existem 512 coeficientes em cada bloco,
mas por causa da redundância, estes coeficientes podem ser reduzidos
para 256 coeficientes, usando uma técnica chamada de TDAC (time domain aliasing cancellation).
A forma de onda de entrada é analisada e, se houver um transiente significante na segunda metade do bloco, a forma de onda será separada em
duas para prevenir o pré eco. Neste caso, o número de coeficientes permanece o mesmo, mas a resolução da freqüência será reduzida à metade
e a resolução temporal será duplicada. Um sinal indicador é posto no bit
stream para indicar ao decoder que isto foi feito.
Os coeficientes saem em notação de ponto flutuante como uma mantissa e um expoente. A representação é o equivalente binário da notação
científica. Expoentes, efetivamente, são fatores de escalas. O conjunto de
expoentes de um bloco produz uma análise do espectro da entrada com
precisão finita em uma escala logarítmica chamada de envelope espectral.
67
Seção 3
Esta análise espectral é a entrada para o modelo de mascaramento que
determina o grau que o ruído pode atingir em cada freqüência.
O modelo de mascaramento dirige o processo de requantização que reduz
a acuidade de cada coeficiente arredondando a mantissa. Uma significante
proporção dos dados transmitidos consiste dos valores das mantissas.
Os expoentes também são transmitidos, mas não diretamente, uma vez
que há redundância adicional entre eles que pode ser aproveitada. Dentro
de um bloco, somente o primeiro expoente (o de freqüência mais baixa) é
transmitido em sua forma absoluta. Os expoentes restantes são transmitidos diferencialmente e o decoder adiciona a diferença ao valor anterior.
Onde a entrada de áudio tem um espectro suave, os expoentes em várias
bandas de freqüências podem ser o mesmo. Os expoentes podem ser agrupados em conjuntos de dois ou quatro com sinais para descrever o que
foi feito.
Grupos de seis blocos são montados em um quadro de sincronismo AC-3.
O primeiro bloco do quadro sempre trás os dados completos do expoente,
mas em casos de sinais estacionários, blocos posteriores no quadro podem
usar os mesmos expoentes.
68
Seção 4
Os Padrões
As seções 2 e 3 apresentaram as tecnologias de compressão de vídeo e
áudio, e muitas ferramentas usadas nos padrões. Durante anos, duas principais corporações se comprometeram com o desenvolvimento paralelo de
padrões e algoritmos de compressão de vídeo e de áudio, que são MPEG e
ITU. Esta seção examina a história, a estrutura e a evolução dos padrões
relacionados com broadcasting.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
4.1 O Que é MPEG?
MPEG é Moving Pictures Experts Group (Grupo de Especialistas em Imagens
Móveis), um comitê subordinado ao controle da junta ISO (International
Standards Organization - Organização de Padrões Internacionais) e à IEC
(International Electrotechnical Commission – Comissão Eletrotécnica Internacional). A IEC trata da padronização internacional de tecnologias
elétricas e eletrônicas; a ISO trata virtualmente de tudo o mais. No começo da era da tecnologia da informação, ISO e IEC formavam um comitê de
junta técnica (JTC1) para tratar as questões sobre tecnologias da informação (TI). JTC1 tem um número de grupos de trabalhos, incluindo JPEG
(Joint Photographic Experts Group – Grupo de Juntas de Especialistas
Fotográficos) e WG11, que é o MPEG.
O comitê foi formado em 1988 sob a direção do Dr. Leonardo Chiariglione
da Itália. Foi estabelecida uma diretriz invejável para registros de geração
de padrões que teve ampla aceitação: MPEG-1, MPEG-2 e o padrão de compressão de áudio MP3 (áudio MPEG-1 camada 3). Esta reputação perdeu
um pouco do brilho por causa do MPEG-4, não por causa de deficiências
do padrão, mas como resultado do longo atraso na publicação dos termos
da licença, e à forte reação adversa aos primeiros termos que foram eventualmente publicados no começo do ano 2002.
4.2 Quem é ITU?
A ITU (International Telecommunication Union – União Internacional de
Telecomunicação) é a agência da União das Nações especializadas no campo das telecomunicações. O ITU-T (Telecommunication Standardization
Sector – Setor de Padronização das Telecomunicações) é uma organização permanente do ITU. O ITU-T é responsável pelo estudo das questões
técnicas, de operação e tarifas e distribuição de recomendações sobre
estes assuntos com uma visão de padronização das telecomunicações com
aceitação mundial. Em algumas áreas da tecnologia da informação que
estejam na abrangência do ITU-T, os padrões necessários são preparados
em bases cooperativas com ISO e IEC.
71
Seção 4
Um grupo conhecido como ITU-T SG 16 Q.6, é responsável pelo desenvolvimento de padrões atualizados. Este grupo é mais conhecido como VCEG
(Vídeo Coding Experts Group – Grupo de Especialistas em Codificação de
Vídeo).
4.3 Evolução dos Padrões
A figura 4.3 ilustra a evolução dos padrões de vídeo. Podemos perceber
que os grupos ITU-T VCEG e MPEG WG 11 têm colaborado para desenvolver
novos padrões de codificação de vídeo. Os CODECs resultantes têm sido
publicados por ambas as corporações com nomes diferentes. O padrão de
CODEC de vídeo MPEG-2 que surgiu da parceria é conhecido na comunidade
ITU-T como H.262.
O padrão de vídeo MPEG-4 parte 2 é um padrão amplo e ainda tem alguns
problemas para implementação comercial. É excessivamente complexo,
contendo muitos profiles, a grande maioria dos quais sem aplicações comerciais. Incluindo um número de acertos técnicos, como a sintaxe que
não é tão bem estruturada e clara como deveria ser, tornando a implementação e a interoperabilidade mais difíceis. Alguns elementos não são
inteiramente claros e estão vagos quanto à interpretação. Há alguns erros,
quanto ao padrão, o software de referência normativa e os bitstreams normativos são algumas vezes diferentes entre si. Levou muito tempo para o
desenvolvimento e a padronização do MPEG-4, durante este período prolongado, a tecnologia mudou para o H.264/AVC, que sem dúvida, produz
melhor compressão.
72
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
H.264 é um nome relativo aos padrões de vídeo da linha H.26x do ITU-T,
enquanto que o AVC é relativo ao lado ISO/IEC MPEG da parceria do projeto que completou o trabalho sobre o padrão, após um desenvolvimento
inicial feito pelo ITU-T como um projeto chamado H.26L. É comum chamar
o padrão de H.264/AVC (ou AVC/H.264 ou H.264/MPEG-4 AVC ou MPEG-4
Parte 10) para enfatizar a herança comum. Retornando à história do ITU-T
o nome H.26L, é menos comum, mas ainda é usado. Ocasionalmente, também pode ser conhecido como “o CODEC JVT”, em referência à organização
JVT que o desenvolveu.
O H.264/AVC se concentra somente no vídeo, e como resultado é mais
fácil e rápido de padronizar que o MPEG-4 Parte 2. Além disso, não tem
que interoperar com muitas outras partes do mesmo padrão.
A estrutura dos padrões H.264/AVC garantiu que os elementos dos sistemas fossem observados em outros lugares – por exemplo, com uma pequena modificação do Transport Stream MPEG-2 ele pode conduzir o vídeo
H.264/AVC tanto quanto o vídeo MPEG-2. Como resultado, o H.264/AVC se
tornou altamente atrativo para toda a indústria de broadcast, que emprega o Transporte Stream MPEG-2 (‘TS’). O processo de se embutir o vídeo
H.264/AVC em um MPEG-2 TS mostra que ele é compatível com os ante-
73
Seção 4
riores, com a maioria da infra-estrutura altamente dispendiosa existente
– transmissão por satélite, transmissão de TV a cabo, etc. Para se beneficiar
das vantagens do aprimoramento da qualidade e das possibilidades que
o vídeo em HD oferece precisam ser atualizados apenas os elementos de
vídeo na fonte e nos pontos finais de destino.
Embora seja complexo em si mesmo (ver “Complexidade do H.264/AVC”),
o padrão foi bem projetado e bem escrito. Um Software de relativa boa
referência também está disponível. O resultado é que para os engenheiros
implementarem o H.264/AVC, embora seja ainda uma tarefa muito grande,
é geralmente mais fácil de implementar do que o MPEG-4 parte 2. Muitas
companhias reconhecem a maturidade do padrão, assim, há um real incentivo comercial por trás disso.
Nos últimos anos a Microsoft entrou no mercado de broadcast com um
CODEC alternativo de vídeo, o AVC/H.264. A Microsoft originalmente desenvolveu o formato Windows Media Vídeo (WMV) como um CODEC proprietário com propósito de streaming pela Internet. Com o WMV versão 9
foi adicionado um novo Profile Avançado para aplicação em broadcast.
In 2003, WMV-9 was submitted to SMPTE for
Em 2003, o WMV-9 foi submetido ao SMPTE para padronização. O padrão
foi oficialmente aprovado em março de 2006 como SMPTE 421M, que é
também conhecido como VC-1.
O VC-1 proporciona uma performance similar ao do H.264/AVC e potencialmente oferece reduzida exigência de memória e de processamento. Com a
padronização SMPTE ele deve encontrar uso amplamente disseminado.
É notório que os formatos que competem pela próxima geração de padrão de
DVD, o HD DVD e o Blu-ray, ambos devem suportar o AVC/H.264 e o VC-1.
4.3.1 Performance do Vídeo
A performance do CODEC é simplesmente a medida de quantos bits são necessários para alcançar uma qualidade visual específica em uma seqüência
de vídeo. Entretanto, isso é muito mais complexo do que parece, pois a
74
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
performance e a “qualidade visual” é uma combinação subjetiva de muitas
coisas, por exemplo:
- Nitidez de vídeo;
- Objetos visuais como “chuvisco” ou “fantasma”;
- Fidelidade de cores;
- Sincronização de áudio/vídeo;
- Suavidade dos movimentos.
Estes aspectos visuais derivam dos diferentes tipos de codificações usados
em toda a seqüência, os diferentes tipos de quadros e a distribuição da
variação do uso de bits durante a seqüência. Apesar dos elementos subjetivos serem difíceis de medir, é possível quantificar os elementos objetivos,
tais como a codificação e o emprego dos bits. Há certa correlação entre a
qualidade visual e os parâmetros quantificáveis, por exemplo, a medida do
PSNR Razão de Pico do Sinal/Ruído (Peak Signal-to-Noise Ratio).
4.3.2 Licenciamento
O comitê MPEG, propriamente dito, não tem a função de licenciar. Sob o
patrocínio do ISO e IEC, requer que a tecnologia incluída em seus padrões
seja licenciável sob “termos razoáveis e não discriminatórios”, mas não
há uma definição aceita como “razoável”. O licenciamento é de responsabilidade dos detentores das patentes mais importantes, e isto tipicamente,
significa muitas organizações ao redor do mundo que contribuíram com
pesquisa e desenvolvimento, e queira ter alguma recompensa.
Para o MPEG-2, os detentores da patente se reuniram e formaram um
grupo, o MPEG-LA (autoridade para licenciamento do MPEG). Todas as patentes essenciais são certificadas por este grupo, e são licenciadas como
um bloco para qualquer organização que queira implementar os padrões.
Isto funcionou bem para o MPEG-2, mas, como descrito acima, maiores
dificuldades foram experimentadas com o MPEG-4 parte 2, e certamente
entravou seu sucesso comercial.
75
Seção 4
O H.264/AVC (também conhecido como MPEG-4 parte 10) também sofreu
com prolongados problemas de licenciamento, e esta é a razão por que o
VC-1 foi introduzido. Eventualmente foram formados dois grupos separados de detentores de patentes que são representados pela MPEG-LA e Via
Licencing. É necessária uma licença das duas corporações por qualquer
organização que deseje implementar o padrão H.264/AVC.
4.4 MPEG-1
O sistema MPEG-1, ISO/IEC 11172, é o primeiro padrão internacional de
compressão para imagens em movimento e foi desenvolvido entre 1988 e
1992. Ele emprega transformada DCT, coeficiente de quantização e codificação de comprimento variável de maneira similar ao JPEG, mas também
inclui compensação de movimento para compressão temporal.
São três partes:
- Sistema ISO/IEC 11172-1, a estrutura multiplex;
- Codificação de Vídeo ISO/IEC 11172-1;
- Codificação de Áudio ISO/IEC 11172-1.
O MPEG-1 representou um excelente empreendimento técnico. Foi projetado para comprimir imagem streams com figura de tamanho SIF, 352x288
(25Hz PAL) ou 352x240 (30Hz NTSC), e áudio associado, para uma razão
total de dados comprimidos de aproximadamente 1,5 Mbits/s. Esta taxa
é adequada para transporte para circuitos de dados T1 e para reprodução
de CD-ROM, e corresponde aproximadamente à resolução de um gravador
de vídeo.
Uma medida deste empreendimento pode ser vista pela comparação dos
números de um CD de áudio. Um CD de áudio normal, que tenha dois canais de áudio, com uma resolução de 16-bits e uma taxa de amostragem
de 44,1 kHz, tem uma taxa de transferência de dados de até 1,5 Mbit/s.
O MPEG-1 sucedeu a compressão de vídeo e áudio de tal forma que ambos
podem ser transmitidos com a mesma taxa de dados!
76
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
O formato CIF é um acordo entre os formatos europeu e o americano SIF
(source input format – formato da fonte de entrada): resolução espacial
para 625 SIF (352x288) e resolução temporal 525 SIF (29,97 Hz). Esta é
a base para vídeo conferência.
O MPEG-1 foi desenvolvido para imagens CIF e não tem recursos para imagem entrelaçada, assim ele teve, obviamente, pouco impacto no mundo
de televisão broadcast.
Antes de deixarmos o MPEG-1, é importante notar o que realmente está
incluído no padrão e como a interoperabilidade é realizada. O padrão define um conjunto de ferramentas, sintaxe do bit stream, e a operação do
decoder. Ele não define a operação do encoder – qualquer dispositivo que
produz um bit stream válido sintaticamente, que pode ser decodificado
por um decoder compatível, é um encoder MPEG válido. Ele também não
define a qualidade da imagem, nem a qualidade do codificador. Isto permite a evolução da tecnologia da codificação sem alteração do padrão, sem
tornar obsoletos os decoders existentes. Este modelo é usado por todos os
padrões MPEG. O sucesso desta estratégia é óbvio; embora o MPEG-2 seja
usado para vídeo, o MPEG-1 camada 2 de áudio ainda está em uso como
o principal sistema de compressão de áudio nos sistemas de transmissão
DVB de hoje.
4.5 MPEG-2
O MPEG-1 foi paralisado (ou seja, alterações subseqüentes foram permitidas apenas para editoração) em 1991. No mesmo ano teve início o
processo do MPEG-2, e eventualmente tornou-se um padrão em 1994. Os
objetivos iniciais eram simples; havia a necessidade de um padrão que
pudesse acomodar a qualidade da largura de vídeo broadcast. Isto exigia a codificação “full size” (completa) das imagens de definição padrão
(704x480 em 29,97Hz e 704x576 em 25Hz), e a habilidade para codificar
vídeo entrelaçado eficientemente.
Em muitos aspectos, o MPEG-2 representa a “nova era” do MPEG. A maior
flexibilidade do MPEG-2, combinada com maior disponibilidade de circui-
77
Seção 4
tos integrados em larga escala, significava que o MPEG-2 poderia ser usado em um vasto número de aplicações. O sucesso do MPEG-2 é mais bem
realçado pelo fim do MPEG-3, direcionado para televisão de alta definição.
O MPEG-3 foi rapidamente abandonado quando ficou claro que o MPEG-2
poderia conciliar esta aplicação com facilidade. O MPEG-2 é, obviamente,
a base para ambos os padrões de transmissão ATSC e DVB, e o sistema de
compressão usado pelo DVD.
O MPEG-2 também se permitiu ser modificável. Pelo emprego de profiles
e níveis, discutidos logo abaixo, foi possível completar o padrão para
uma aplicação, foi então ampliado para acomodar as exigências de mais
aplicações de uma maneira evolutiva. O trabalho de ampliação do MPEG-2
continuou em 2002.
- ISO/IEC 13818-1 Sistemas (stream de transporte e de programas), PES,
modelo de buffer T-STD e as tabelas básicas PSI: CAT, PAT, PMT e NIT;
78
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
- ISO/IEC 13818-2 codificação de vídeo;
- ISO/IEC 13818-3 codificação de áudio;
- ISO/IEC 13818-4 MPEG teste e conformidade;
- ISO/IEC 13818-6 transmissão de dados e DSMCC.
Uma das maiores realizações do MPEG-2 definidas no 13818-1, o transporte stream, é descrito na Seção 8. A flexibilidade e robustez deste projeto
permitiram seu emprego em muitas aplicações, incluindo o transporte dos
dados do MPEG-4 e do MPEG-7.
Nota: o fluxo de transporte do DVB e ATSC conduz áudio e vídeo PES dentro de agrupamentos de “programas”, que são inteiramente diferentes dos
“fluxos de programas” (estes usados em DVD & CD).
Os Transporte Streams do MPEG têm normalmente um bit rate constante,
mas, os programa streams normalmente têm um bit rate variável.
4.5.1 Perfis e Níveis em MPEG-2
Com pequenas exceções, o MPEG-1 foi projetado com uma tarefa: a codificação de imagens de tamanho fixo e áudio associado a um bit rate
conhecido de 1,5 Mbits/s. As ferramentas e a sintaxe do MPEG-1 podem
e têm sido usadas para outros propósitos, mas tal uso é fora do padrão e
requer encoders e decoders proprietários. Há somente um tipo de decoder
que condiz com o padrão do MPEG-1.
No princípio, havia um propósito similar para o MPEG-2. Ele foi destinado
à codificação para transmissão de som e imagens, nominalmente em sistemas de televisão entrelaçado de 525/60 e 625/50. Entretanto, à medida
que os projetos progrediam, ficou claro que as ferramentas desenvolvidas
eram capazes de lidar com muitas dimensões de imagens e uma grande
faixa de bit rate. Além disso, ferramentas mais complexas foram desenvolvidas para codificação de sistemas escalonáveis. Isto significa que, na
prática, não poderia haver um simples decoder MPEG-2. Se um decoder
fosse capaz de manusear bit streams de alta velocidade codificados usan-
79
Seção 4
do todas as ferramentas possíveis, ele não seria um decoder econômico
para aplicações do mainstream. Como exemplo simples, um dispositivo
capaz de decodificar sinais de alta definição em, digamos, 20 Mbits/seg.
seria substancialmente mais caro que outro limitado à definição padrão
em torno de 5 Mbits/seg. Este seria um padrão limitado que precisaria de
um dispositivo caro para uma aplicação simples.
O MPEG desenvolveu uma estrutura bi-dimensional de profiles e níveis
para classificação de bit streams e decoders. Os profiles definem as ferramentas que podem ser usadas. Por exemplo, a codificação bi-direcional
(quadros B) pode ser usada no profile principal, mas não no profile simples.
Os níveis dizem respeito somente à escala. Um decoder de alto nível deve
ser capaz de receber um bit tream mais rápido, e deve ter mais buffer no
decoder e maior armazenamento de quadros que um decoder de nível principal. Entretanto, o profile principal em nível alto (MP@HL – main profile
at high level) e o perfil principal em nível principal (MP@ML – main profile at main level) usam exatamente as mesmas ferramentas de codificação/
decodificação e os mesmos elementos de sintaxe.
A figura 4-5 mostra os emparelhamentos de profile e nível que são definidos pelo MPEG-2 (profiles nos eixos horizontais, Níveis nos eixos verticais). Note que nem todas as combinações são válidas; apenas os pares
completos são definidos no padrão. É uma exigência para conformidade
com o padrão que um decoder, em qualquer profile/nível, capaz de decodificar perfis e níveis mais baixos. Por exemplo, um decoder MP@ML deve
ser capaz de decodificar bit streams de profile principal em nível baixo
(MP@LL – main profile at low level) e profile simples em nível principal
(SP@ML – simple profile at main level).
O profile simples não suporta a codificação bi-direcional, e assim, somente sairão imagens I e P. Isto reduz o delay da codificação e decodificação
e usa um hardware mais simples. O profile simples foi definido apenas no
nível principal.
O Main Profile foi projetado para uso de larga proporção. O nível baixo usa
uma entrada de baixa resolução tendo somente 352 pixels por linha. A
maioria das aplicações de broadcast requer um subsistema do MPEG MP@ML,
que dá suporte à TV de definição padrão (SDTV – Standard definition TV).
80
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
O nível alto 1440 é um projeto de alta definição que duplica a definição,
se comparada ao nível principal. O alto nível não apenas duplica a resolução, mas mantém esta resolução com o formato 16:9 aumentando o
número de amostras horizontais de 1440 para 1920.
Em sistemas de compressão que usa transformada espacial e requantização, produzem sinais escalonáveis. Um processo escalonável é aquele em
que a entrada resulta em um sinal principal e um sinal “auxiliar”. O sinal
principal pode ser decodificado sozinho para fornecer uma imagem de certa qualidade, mas se a informação do sinal auxiliar for adicionada, alguns
aspectos da qualidade podem ser aprimorados.
Por exemplo, um codificador MPEG convencional, pela requantização rigorosa dos coeficientes, codifica uma imagem com moderada relação sinal/ruído.
Se, entretanto, esta imagem é localmente decodificada e subtraída pixel
por pixel da original, o que resulta numa imagem de ruído quantizada. Esta
imagem pode ser comprimida e transmitida como um sinal auxiliador. Um
decoder simples decodifica apenas o bit stream de ruído principal, mas um
decoder mais complexo pode decodificar ambos os bit streams e combinálos para produzir uma imagem de baixo ruído. Este é o princípio da escalabilidade da razão sinal/ruído (SNR – signal-to-noise ratio).
Como alternativa, codificar somente as freqüências espaciais mais baixas
em uma imagem HDTV pode produzir um bit stream principal que um receptor SDTV pode decodificar. Se uma imagem de menor definição é localmente
decodificada e subtraída da imagem original, o resultado seria uma imagem
com melhor definição. Esta imagem pode ser codificada em um sinal auxiliar.
Um decoder adequado poderia combinar o sinal principal e o auxiliar para
recriar a imagem HDTV. Este é o princípio da escalabilidade espacial.
O alto perfil sustenta ambos SNR e escalabilidade espacial, tanto quanto
permite a opção de amostragem de 4:2:2.
O profile 4:2:2 foi desenvolvido para melhorar a compatibilidade com equipamento de produção digital. Este profile permite operarações 4:2:2 sem
necessidade de complexidade adicional usando alto profile. Por exemplo,
um decoder HP@ (high profile at main level) deve sustentar escalabilidade SNR, que não é uma exigência para produção. O profile 4:2:2 tem
81
Seção 4
a mesma liberdade da estrutura GOP de outros profiles, mas na prática é
comumente usado em GOPs curtos, facilitando a edição. A operação 4:2:2
requer bits rate mais altos do que a 4:2:0, e o uso de GOPs curtos e requer
bit rate ainda maior para uma dada qualidade.
O conceito de profile e níveis é outro desenvolvimento do MPEG-2 que
tem mostrado ser robusto e ampliável; o MPEG-4 usa um arranjo bem mais
complexo de profiles e níveis, que será discutido adiante.
4.6 MPEG-4
A padronização internacional é um processo lento, e avanços tecnológicos que ocorrem freqüentemente poderiam ser incorporados a padrões
em desenvolvimento. Isto é o desejável, mas aprimoramentos contínuos
podem significar que um padrão nunca é concluído e usado. Para assegurar
que um padrão seja concluído há regras estritas que proíbem mudanças
substanciais após certo ponto do processo de padronização. Assim, quando um padrão é oficialmente adotado há freqüentemente certo acúmulo
de recursos adicionais e extensões que seriam desejáveis. Este foi o caso
do MPEG-2. Como discutido acima, o MPEG-3 foi iniciado e abandonado,
então o novo projeto foi o MPEG-4.
82
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
No começo o foco principal do MPEG-4 foi a codificação de vídeo e áudio
com taxas muito baixas. De fato, o padrão foi explicitamente melhorado
para três faixas de bit rate:
- Abaixo de 64 Kbits/s;
- De 64 a 384 Kbits/s;
- De 384 Kbits/s até 4 Mbits/s.
A performance em baixo bit rate foi mantida como objetivo maior e algumas idéias muito criativas contribuíram para este fim. Grande atenção
também foi dada à capacidade de recuperação a erros, tornando o MPEG-4
muito útil para emprego em ambientes propícios a erros, tais como transmissão para dispositivos de manuseio pessoal. Entretanto, outros profiles
e níveis usam bit rate de até 38,4 Mbits/s, e ainda há trabalhos em andamento sobre profiles e níveis de alta qualidade que usam taxas de dados
de até 1,2 Gbits/s.
O mais importante é que o MPEG-4 se tornou muito mais que apenas mais
um sistema de compressão – ele evoluiu para um conceito totalmente novo
de codificação multimedia com ferramentas poderosas para interatividade e
um vasto campo de aplicações. Um “resumo” oficial deste padrão abrange
67 páginas, então apresentaremos aqui uma breve introdução ao sistema.
83
Seção 4
4.6.1 Documentos Padrões do MPEG-4
As partes principais do padrão MPEG-4 são:
- ISO/IEC 14496-1 Sistemas;
- ISO/IEC 14496-2 Visual;
- ISO/IEC 14496-3 Áudio;
- ISO/IEC 14496-4 Teste de Conformidade;
- ISO/IEC 14496-6 Estrutura de Integração de Transferência de Multimedia
(DMIF);
- ISO/IEC 14496-10 Codificação de Vídeo Avançada;
- ISO/IEC 14496-12 Formato de Arquivo de Media em Base ISO;
- ISO/IEC 14496-14 Formato de Arquivo MP4;
- ISO/IEC 14496-15 Formato de arquivo de Codificação de Vídeo Avançada
(AVC).
4.6.2 Codificação do Objeto
O ponto de partida mais significante do sistema de transmissão convencional é o conceito de objetos. Diferentes partes de uma cena podem ser
codificadas e transmitidas separadamente como objetos de vídeo e objetos de áudio a serem reunidos ou recompostos por um decoder. Diferentes
tipos de objetos podem ser, cada um, codificados com as ferramentas mais
apropriadas ao trabalho. Os objetos podem ser gerados independentemente, ou uma cena pode ser analisada para separar, por exemplo, objetos em
foreground e background.
Em uma demonstração interessante, a cobertura de vídeo de um jogo de
futebol foi processada para separar a bola Em uma interessante demonstração, a cobertura de uma partida de futebol foi processada separadamente a bola do restante da cena. O background (cena sem a bola) foi
transmitido como “provocação” para atrair uma audiência “pay-per-view”.
84
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Qualquer um podia ver os jogadores e o campo, mas somente aqueles que
pagaram podiam ver a bola!
O processo de orientação do objeto leva a três características-chave stream MPEG-4:
- Vários objetos podem ser codificados usando técnicas diferentes e recompostos no decoder;
- Os objetos podem ser de origem natural, como cenas de uma câmera; ou
sintético, como um texto;
- Instruções no bit stream com ou sem a escolha do usuário, podem permitir várias apresentações diferentes do mesmo bit stream.
A figura 4-6 mostra o sistema generalizado para codificação de objetos em
MPEG-4. Este diagrama também enfatiza as oportunidades de interação
do usuário com os sistemas do MPEG-4 – um poderoso recurso, particularmente para designers de vídeo game.
Estas capacidades não têm que ser usadas – o MPEG-4 proporciona codificação tradicional de áudio e vídeo, e aperfeiçoa o MPEG-2 pela possibi-
85
Seção 4
lidade de eficiência aprimorada e resiliência a erros. Entretanto, a verdadeira força do MPEG-4 vem da arquitetura descrita acima. A codificação
independente de objetos oferece um grande número de vantagens. Cada
objeto pode ser codificado da maneira mais eficiente, e pode ser empregado um escalonamento espacial e temporal apropriado (ver 4.6.3).
4.6.3 Codificação de Áudio e Vídeo
Muitas das ferramentas de codificação de vídeo em MPEG-4 são similares
àquelas do MPEG-2, mas otimizada para melhor uso da codificação prevista e codificação mais eficiente da entropia. Entretanto, a aplicação das
ferramentas pode diferir significativamente dos padrões anteriores.
O MPEG-4 codifica objetos de vídeo. No modelo mais simples um vídeo é
codificado quase da mesma forma que no MPEG-2, mas é descrito como
um objeto único de vídeo com a forma retangular. A representação da
imagem é conhecida como codificação da textura. Onde há mais de um
objeto de vídeo, alguns podem ter formas irregulares, e geralmente todos
serão menores que um objeto de tela cheia de background. Isto significa
que somente a área ativa do objeto precisa ser codificada, mas a forma e
a posição também têm que ser representadas.
O padrão inclui ferramentas para codificação da forma de objetos retangulares e irregulares, ou em binário ou em representações de escala cinza
(similar a um canal alpha). O conceito é mostrado na figura 4-6-3.
Similarmente, o MPEG-4 usa ferramentas similares às do MPEG-1 e MPEG-2
para codificar áudio ao vivo, e AAC (advanced audio coding) oferece maior
eficiência. Múltiplos “objetos” de áudio podem ser codificados separadamente e recompostos no decoder. Como no vídeo, objetos de áudio podem
ser naturais ou sintéticos.
4.6.4 Escalabilidade
No contexto da compressão de mídia, escalabilidade significa a habilidade
de distribuir conteúdo de mais de uma qualidade dentro do mesmo bit
stream. Como mostrado na figura 4-6-4 o MPEG-2 e o MPEG-4 parte 2,
86
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
ambos fornecem profiles escalonáveis usando um modelo convencional; o
encoder gera uma camada-base e uma ou mais camadas otimizadas. A(s)
camada(s) otimizada(s) pode(m) ser descartada(s) para transmissão ou
decodificação se não estiverem disponíveis os recursos suficientes. Este
procedimento funciona, mas todas as decisões sobre níveis de qualidade
precisam ser tomadas durante a codificação, e na prática, o número de camadas otimizadas é severamente limitado (geralmente em uma camada).
4.6.5 Tamanho Variável do Macrobloco
Como ilustrado na figura 4-6-5, uma das vantagens do AVC/H.264 sobre o
MPEG-4 parte 2 é o tamanho variável dos macroblocos. O H.264/AVC permite que macroblocos de 16x16 sejam subdivididos em blocos tão pequenos quanto 4x4, para melhorar a eficiência da compressão. Em MPEG-2 e
MPEG-4 parte 2, há somente um tipo de ‘intra’ macrobloco, contendo uma
imagem comprimida, que não se refere a qualquer outro macrobloco.
Para incorporar esta eficiência, entretanto, existem 26 tipos de AVC/H.264
intra macroblocos. Existem muitos outros elementos complexos em H.264/
AVC, como a codificação de Entropia ‘CABAC’, onde os bits são repartidos
de tal forma que frações de 1 bit podem representar efetivamente um
elemento de sintaxe específica.
Esforços substanciais têm sido feitos para entender e reduzir a energia computacional exigida. Por exemplo, em lugar de uma DCT, uma simples e bem
definida transformada de inteiro 4x4 poderia ser utilizada onde é usada
apenas operação de subtração, adição ou mudança de execução rápida.
87
Seção 4
4.6.6 Perfis e Níveis em MPEG-4 parte 10 (AVC/H.264)
De maneira similar ao MPEG-2, foram especificados uma série de profiles e
níveis para classificação de bitstreams e decoders. Os próximos sete profiles, ou capacidades são direcionados para diferentes tipos de aplicações:
- Baseline Profile: principalmente direcionado a aplicações de recursos limitados de computação, este profile é amplamente empregado em vídeo
conferência e dispositivo móveis;
- Main Profile: este perfil tem sido grandemente suplantado pelo High
profile como o profile mainstream para os consumidores broadcast e dispositivos de armazenamento;
- Extended Profile: um profile focado na stream de vídeo, este tem relativamente alta capacidade de compressão além de boa resiliência quanto a
perda de dados;
- High Profile: o profile principal para broadcast e dispositivos de armazenamento em disco, particularmente para aplicações em HDTV. Inclui
eficiências de codificação extras, por exemplo, com a introdução da transformada de bloco de 8x8. Este é o profile empregado nos formatos de
disco HD DVD e Blu-ray;
- High 10 Profile: este profile amplia o High profile usado principalmente
por equipamentos de consumo; em particular, suporta com precisão imagem decodificada de até 10 bits por amostra;
- High 4:2:2 Profile: O primeiro direcionado a dispositivos profissionais que
usam vídeo entrelaçado, este profile amplia o High Profile 10; em particular, suporta o formato de amostragem de croma de 4:2:2;
- High 4:4:4 Profile: Este profile amplia o High Profile 4:2:2. Ele suporta amostra de croma 4:4:4, até 12 bits por amostra, eficiente codificação na região
sem perda e codificação por transformada de vídeo RGB que reduz o erro de
transformação do espaço de cor. Note que este profile foi removido do padrão
em favor do desenvolvimento de um novo profile aprimorado de 4:4:4.
88
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Existem cinco níveis principais e vários sub-níveis associado a cada profile. Níveis essencialmente relacionados à escala. Cada nível especifica
um bit rate de vídeo máximo e um número de macroblocos por quadro,
assim como a resolução do display. A resolução do display pode variar
de 128x96 no nível 1 até 4096x2304 no nível 5.1. Isto cobre os formatos QCIF usados em telefones móveis para displays de HDTV. Note que
1920x1080 e 4096x2048 se referem aos modos 2K e 4K, respectivamente,
em se tratando de HDTV.
4.6.7 MP4 Formato Contêiner
O MP4 é uma multimídia de formato contêiner padrão. Ele é mais comumente usado para armazenar bitstreams MPEG-4 de áudio e vídeo, mas
também pode ser usado para armazenar outros dados tais como subtítulos
e imagens paradas. O formato MP4 é baseado no formato contêiner QuickTime da Apple, mas tem sido aprimorado de várias maneiras. Como a
maioria dos formatos contêineres mais modernos, o MP4 permite o envio
de streaming de Internet. O nome do arquivo oficial da extensão MPEG-4
parte 14 é .mp4, assim o formato contêiner é freqüentemente mencionado
simplesmente como MP4. Dispositivos que executam arquivos .mp4 são
mencionados como MP4 players.
89
Seção 4
O MPEG-4 parte 15 especifica o formato para transporte de H.264/AVC elementar streams dentro de um arquivo MP4.
4.7 SMPTE VC-1
O modo básico de operação do VC-1 é o mesmo da maioria de outros padrões de compressão de vídeo desde o H.261 e
MPEG-1 e envolve compensação de movimento baseada em blocos e transformada espacial. Um bom número de melhorias tem sido feitas para proporcionar uma superior performance de taxa de distorção comparada com
CODECs mais antigos, que lhe permite competir com o H.264/AVC.
Juntamente com inovações para aprimorar a qualidade, ele tem sido também desenvolvido para ter um relativo baixo nível de complexidade, o que
o ajuda a atingir uma ampla faixa de aplicações e bit rates. Algumas das
tecnologias empregadas no VC-1 são descritas adiante.
90
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
4.7.1 Transformada de Bloco de Dimensão Variável
O VC-1 compartilha da habilidade do AVC/H.264 de usar macroblocos menores que os CODECs mais tradicionais a fim de aumentar a eficiência da
codificação e reduzir a presença de artefatos tais como “zumbido” ao
redor dos blocos. A transformada padrão 8x8 pode ainda ser usada, mas
esta pode ser subdividida em múltiplos de 8x4, 4x8 ou 4x4 para produzir
a melhor qualidade de imagem para cada macrobloco. O tamanho da transformada pode ser especificado por bloco ou por macrobloco, mas pode
também ser sinalizado ao nível do quadro, o que pode ser útil em situação
de baixo bit rate para reduzir sobrecarga.
4.7.2 Compensação de Movimento
O modelo para compensação de movimento no VC-1 é similar àquele empregado no MPEG-1 e muitos outros CODECs em que uma predição para
um bloco é feita baseada em um quadro de referência e um vetor de
deslocamento.
Existem quatro modos de compensação de movimento disponíveis em VC-1
que são feitos sob medida para diferentes cenários do decoder. Para bit
rates baixo e blocos de complexidade 16x16 juntamente com resolução de
1/2 pixel podem ser usados. Para bit rates altos, vetores de movimento
para resolução de 1/4 de pixel podem ser codificados e o tamanho do
bloco reduzido para 8x8.
Diferentemente do H.264/AVC, vetores de movimento para blocos de 4x4
não podem ser enviados; isto significa que a complexidade é menor, mas
ao custo de ter a flexibilidade reduzida.
4.7.3 Decodificando Blocos e Suavizando Imagens
Vários métodos são empregados para reduzir os “blocking” artefatos que
são freqüentemente visíveis em CODECs baseados em blocos, especialmente em bit rates baixos. O VC-1 usa um filtro de decodificação de blocos em
91
Seção 4
loop para reduzir estes artefatos, que podem afetar múltiplos quadros se
usados como blocos de predição em quadros futuros.
Uma técnica de suavização por superposição é também empregada para
reduzir as descontinuidades indesejáveis nos contornos dos blocos. Esta
usa transformada que sobrepõem levemente os contornos dos blocos para
minimizar as margens dos artefatos.
4.7.4 Compensação do Efeito Fading (Desbotamento)
A performance da compensação de movimento tende a diminuir quando
tenta compensar os ‘fading’ de uma cena. A compensação do ‘fade’ permite uma transformada linear dos valores de pixels feita em consideração a
grandes mudanças na luminância. Isto pode, em termos, produzir melhores resultados na compensação de movimento.
4.7.5 Perfis e Níveis
A figura 4-7 mostra que o VC-1 tem três profiles: Simples, Principal e Avançado. Os profiles Simples e Principal precisam ser encapsulados dentro de
um envelope ASF, enquanto que os Avanced profile streams podem existir
como streams elementares independentes.
O Avanced profile alcança muitos aspectos associados à indústria broadcast visto que dá suporte tanto ao entrelaçado quanto à codificação
progressiva. É também facilmente encapsulado em formatos de contêiner
e de transporte.
Os três profiles têm entre dois e cinco níveis que correspondem amplamente
à escala de vídeo em ambos os termos bit rate e resolução. Isto proporciona
uma faixa adequada para aplicações móveis de Vídeo de Alta Definição.
4.8 MPEG-7 e MXF
O MPEG-7 não é relacionado à compressão; e sim a metadados, também
conhecido como “bits sobre bits”. Os metadados são informações digitais
92
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
que descrevem o conteúdo de outra informação digital. Em linguagem
moderna, o material do programa ou conteúdo, a imagem atual, o vídeo,
o áudio ou dados de objetos que conduzem a informação são conhecidos
como essência dos dados. Os metadados dizem ao mundo tudo o que ele
precisa saber sobre o que está na essência.
Quem é trabalha com armazenamento de informação, sejam com vídeotapes, livros, músicas, etc., sabe da importância e da dificuldade na precisão
da catalogação e indexação. Informação armazenada somente é útil se
sua existência for conhecida, e se pode ser recuperada a qualquer tempo
quando necessária.
Este problema sempre tem nos acompanhado, no domínio analógico o
endereçamento é feito pela combinação de etiquetas, catálogos, cartões
de indexes, etc. Mais recentemente, a indústria da computação favoreceu
o uso dos bancos de dados que são mais eficientes e de menor custo e permite que máquinas de buscas poderosas acessem informação armazenada,
propiciando que a informação esteja presente de forma pesquisável.
O MPEG-7 define uma estrutura de descritores e esquemas de descrição
que pode caracterizar quase tudo. Pelo menos na teoria, elementos primitivos como histogramas coloridos podem ser combinados para representar assuntos complexos como faces individuais. Pode ser possível indexar
automaticamente material de tal forma que um banco de dados pode ser
pesquisado para mostrar cenas, por exemplo, do Presidente Clinton com o
Presidente da Reserva Federal dos Estados Unidos Greenspan juntos.
Entretanto, o MPEG-7 não tem sido largamente adotado, e em vez disso,
os formatos assim chamados “invólucro” ou “contêiner” como o MXF, estão crescendo em popularidade, particularmente em ambientes de Produção. Os aspectos chave do MXF são:
- Interoperabilidade;
- Capacidade de extensão;
- Plataforma Independente;
O MXF dá suporte a um bom número de diferentes trilhas essenciais, codificadas com uma variedade de CODECs juntos, acompanhados de metadados.
93
Seção 4
Ele usa o sistema de metadados KLV (Key-Lenght-Value / Valor de comprimento chave), o qual se refere a um dicionário local ou registro público
externo. Um dicionário de metadados MXF é padronizado pelo SMPTE.
4.9 MPEG-21
O padrão MPEG-21 é planejado para definir uma estrutura aberta de multimedia do criador do conteúdo até o consumidor do conteúdo. É desenvolvido para habilitar o uso transparente e aumentar os recursos de multimedia através de uma grande variedade de redes e dispositivos. O maior
anseio do padrão é que possa por um fim ao compartilhamento ilícito de
arquivos.
Em seu âmago está um padrão de “Linguagem de Expressão de Direitos”,
como meio de distribuir direitos digitais, permissões e restrições. É um
padrão baseado em XML desenvolvido para transmitir informação sobre
licença legível pela máquina e fazê-lo de maneira “onipresente, sem ambigüidades e segura”.
O MPEG-21 é baseado em dois conceitos básicos: a definição de uma unidade fundamental de distribuição e transação, em termos do Item Digital;
e o conceito de usuários interagindo entre si. O MPEG-21 provê uma arquitetura em que um usuário interage com outro, e o objeto desta interação é
um Item Digital. O MPEG-21 define essencialmente a tecnologia necessária para dar suporte aos usuários que desejem permutar, acessar, consumir,
negociar ou manipular itens digitais de maneira eficiente e transparente.
Isto é, é uma coleção de tecnologias que designers de, digamos sistemas
DRM, poderiam usar.
94
Seção 5
Fluxos Elementares
Um stream elementar é basicamente a saída bruta de um encoder e contém
não mais que o necessário para que um decoder se aproxime da imagem
e do áudio originais. A sintaxe do sinal comprimido é rigidamente definida em MPEG, de tal forma que os decoders tenham garantia de poderem
operá-los. O encoder não é definido, exceto se precisar, de alguma forma,
produzir a sintaxe correta.
A vantagem deste processo é que ele é adequado ao mundo real, no qual
existem provavelmente muito mais decoders que encoders. Pela padronização os decoders, podem ser fabricados com custo baixo. Em contrapartida, o encoder pode ser mais complexo e mais caro, mas com potencial
para melhor qualidade de imagem à medida que a complexidade aumenta.
Quando o encoder e o decoder são diferentes em complexidade, o sistema
de codificação é dito como assimétrico.
O processo do MPEG também permite a possibilidade de que a qualidade
melhore à medida que os algoritmos de codificação sejam refinados, enquanto ainda produzem bit streams que podem ser entendidos pelos decoders mais antigos. O processo também permite o uso de codificação de
algoritmos proprietários, que não precisam atingir o domínio público.
96
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
5.1 Sintaxe de Fluxo Elementar de Vídeo
A figura 5-1 mostra a construção de vídeo stream elementar. A unidade
fundamental de informação de imagem é o bloco DCT (transformada discreta do co-seno), que representa um arranjo 8x8 de pixels que pode ser
Y, Cb ou Cr. Primeiro é enviado o coeficiente DC que é representado mais
precisamente que os outros coeficientes; em seguida os coeficientes restantes e o código de final de blocos (EOB – end of block).
Os blocos são montados em macroblocos, que são as unidades fundamentais de uma imagem e podem ter compensação de movimento. Cada
macrobloco tem um vetor de movimento bi-dimensional no cabeçalho. Nas
imagens B, os vetores podem ser atrasados ou adiantados. A compensação
de movimento pode ser baseada em campo ou quadro e isto é indicado. A escala usada para requantização de coeficiente também é indicada.
Usando vetores, o decoder obtém informação das imagens adiantadas e
atrasadas para produzir uma imagem predita. Os blocos são transformados
inversamente para produzir uma imagem de correção que é adicionada à
imagem predita para produzir a saída decodificada. Na codificação 4:2:0,
cada macrobloco terá quatro blocos Y e dois blocos de diferença de cores.
Para tornar possível identificar qual bloco descreve qual componente, os
blocos são enviados em uma ordem específica.
Os macroblocos são montados em fatias que sempre representam tiras
horizontais de imagem, da esquerda para a direita. Em MPEG, as fatias
podem iniciar em qualquer lugar e serem de tamanhos arbitrários, mas em
ATSC elas têm que começar no canto esquerdo da imagem. Várias fatias
podem existir sobre a largura da tela. A fatia é a unidade fundamental
de sincronização para comprimento variável e codificação diferencial. Os
primeiros vetores de uma fatia são enviados integralmente, ao passo que
os vetores restantes são transmitidos diferencialmente. Em imagens I, os
primeiros coeficientes DC de uma fatia são enviados integralmente e os
coeficientes DC restantes são transmitidos diferencialmente. Em imagens
divergentes, a correlação destes coeficientes não deve ser esperada, e
esta técnica não é apropriada.
97
Seção 5
No caso de erro de um bit no stream elementar, ou a decomposição da
série dos símbolos de comprimentos variáveis será interrompida, ou os
subseqüentes coeficientes codificados diferencialmente ou os vetores estarão incorretos. A estrutura das fatias permite a recuperação provendo
um ponto de re-sincronização no bit stream.
Um número de fatias é combinado para formar uma imagem que é a parte
ativa do campo ou do quadro. O cabeçalho da imagem define se a imagem
foi codificada I, P ou B e inclui uma referência temporal de tal forma que
a imagem possa ser apresentada no tempo correto. Em caso de pans e
tilts, os vetores em cada macrobloco serão os mesmos. Pode ser enviado
um vetor global para a imagem inteira, e os vetores individuais então, se
tornam diferenças deste valor global.
As imagens podem ser combinadas para produzir um GOP que precisa começar (em ordem de transição) com uma imagem I. O GOP é a unidade
fundamental da codificação temporal. No padrão MPEG, o uso de GOP é
opcional, mas é uma necessidade prática. Entre duas imagens I, um número variável de imagens P e/ou B pode ser intercalado, como descrito
na Seção 2. Um GOP pode ser aberto ou fechado. Em um GOP fechado, as
últimas imagens B não necessitam da imagem I no próximo GOP para decodificação e o bit stream pode ser cortado no final do GOP.
Se forem empregados GOPs, vários podem ser combinados para produzir
uma seqüência de vídeo. A seqüência começa com um código de início de
seqüência, seguido da seqüência do cabeçalho e termina com um código
de final de seqüência. Cabeçalhos de seqüências adicionais podem ser posicionados por toda a seqüência. Este procedimento permite que a decodificação comece em qualquer parte da seqüência, como pode ocorrer na
execução de discos de vídeo digitais e fitas cassetes. O cabeçalho de seqüência especifica as dimensões horizontal e vertical da imagem, a razão de
aspecto, o formato de sub-amostragem de croma, a taxa da imagem, o uso
de varredura progressiva ou entrelaçada, o profile, o nível, o bit rate, e as
matrizes de quantização usadas em imagens intra e inter codificadas.
Sem os dados do cabeçalho de seqüência, um decoder não pode entender
o bit stream, e desta forma, os cabeçalhos de seqüência se tornam os
pontos de partida em que os decoders podem começar uma operação cor-
98
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
retamente. O espaçamento entre os pontos de partida influencia o delay
na decodificação correta que pode ocorrer quando o espectador troca de
um canal de televisão para outro.
5.2 Fluxos Elementares de Áudio
Vários tipos de áudio podem ser embutidos em um multiplex MPEG-2. Estes tipos incluem áudio codificado de acordo com as camadas de MPEG 1,
2, 3 ou AC-3. O tipo de codificação de áudio usado tem que ser incluído
em um descritor que o decoder lerá a fim de acessar o tipo apropriado de
decodificação.
O processo de compressão de áudio é bastante diferente do processo de
vídeo. Não há equivalência entre os diferentes tipos de quadros I, P ou B,
e os quadros de áudio sempre contém a mesma quantidade de dados de
áudio. Também não há equivalência quanto à codificação bidirecional e os
quadros de áudio não são transmitidos fora da seqüência.
Em áudio MPEG-2, o descritor possui no cabeçalho de seqüência uma camada usada para comprimir o áudio e o tipo de compressão empregada
(por exemplo, estéreo), juntamente com a taxa de amostragem original.
A seqüência de áudio é montada a partir de um número de unidades de
acesso (AUs – Access Units) que serão quadros de áudio codificados.
Se for empregada a codificação AC-3, como em ATSC, este uso terá reflexos no cabeçalho de seqüência. A unidade de acesso de áudio (AU) é
um quadro de sincronismo AC-3 como descrito na Seção 3.7. O quadro de
sincronismo AC-3 representa um intervalo de tempo equivalente a 1536
amostras de áudio e é de 32 ms para uma amostragem de 48 kHz e de 48
ms para 32 kHz.
99
Seção 6
Empacotamento de Fluxos
Elementares (PES)
Para fins práticos, os streams elementares contínuos transportam áudio e
vídeo dos compressores necessários para que os pacotes sejam separados
em pacotes. Estes pacotes são identificados pelos cabeçalhos com marcas
de tempo e de sincronização. Os pacotes PES (Packetized Elementary Streams) podem ser usados para criar Programa Stream e Transporte Stream.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
6.1 Pacotes PES
No PES, um stream elementar ininterrupto é dividido em pacotes de tamanho conveniente para cada aplicação. Este tamanho pode ser de algumas
centenas de kilobytes, embora isso possa variar com a aplicação.
Cada pacote é precedido por um cabeçalho de pacote PES. A figura 6-1
mostra o conteúdo de um cabeçalho. O pacote começa com um prefixo de
código de início com 24 bits e um stream ID que identifica o conteúdo do
pacote como vídeo ou áudio e depois especifica o tipo de codificação de áudio. Estes dois parâmetros (prefixo de código de início e stream ID) compreendem o código de início do pacote que identifica o início de um pacote. É
importante não confundir o pacote no PES com o pacote bem menor usado
no transporte streams que, infelizmente, têm o mesmo nome.
Em razão de o MPEG definir somente o transporte stream, não o encoder,
um designer pode escolher construir um multiplexer que converta de stream elementar para transporte stream de uma vez. Neste caso, os pacotes
PES podem nunca existir de forma identificável, mas apesar disso, eles
estão logicamente presentes como Transport Stream payload.
6.2 Marcas de Tempo
Após a compressão, as imagens são enviadas fora da seqüência por causa
da codificação bidirecional. Elas requerem uma quantidade variável de
dados e estão sujeitas a um delay variável devido à multiplexagem e transmissão. A fim de manter áudio e vídeo sincronizados, marcas de tempo são
periodicamente incorporadas em cada imagem.
Uma marca de tempo é um número de 33 bits que é uma amostra de
um contador acionado por um clock de 90 kHz. Este clock é obtido pela
divisão do clock de programa de 27 MHz por 300. Desde que a exibição
dos tempos é igualmente espaçada, não é essencial incluir uma marca
de tempo em cada unidade de apresentação. Em vez disso, as marcas de
tempo podem ser interpoladas pelo decoder, mas estas não podem estar
separadas por mais que 700 ms, tanto nos programa streams quanto nos
transporte streams.
103
Seção 6
As marcas de tempo indicam onde uma particular unidade de acesso se
encaixa no tempo. O sincronismo labial é obtido pela incorporação de
marcas de tempo nos cabeçalhos de ambos os pacotes PES de vídeo e
de áudio. Quando um decoder recebe um pacote PES selecionado, ele
decodifica cada unidade de acesso e as armazena em uma RAM. Quando o
ponto da linha de tempo alcança o valor da marca de tempo, a RAM é lida.
Esta operação tem dois resultados desejáveis: - primeiro, uma correção de
base de tempo efetiva em cada stream elementar; - segundo, os streams
elementares de vídeo e áudio podem ser sincronizados para formar um
programa.
6.3 PTS/DTS
Quando a codificação bidirecional é usada, uma imagem deve ser decodificada algum tempo antes de ser exibida, de tal forma que ela possa agir
como uma fonte de dados para uma imagem B. Contudo, por exemplo, para
que as imagens sejam exibidas na ordem IBBP, elas serão transmitidas na
ordem IPBB. Conseqüentemente, existem dois tipos de marcas de tempo.
A marca de tempo de decodificação (DTS – Decode Time Stamp) indica o
tempo em que uma imagem deve ser decodificada; enquanto uma marca
de tempo de apresentação (PTS – Presentation Time Stamp) indica quando
a imagem deve ser exibida na saída do decoder.
As imagens B são decodificadas e apresentadas simultaneamente, assim
sendo, elas contêm somente PTS. Quando uma seqüência IPBB é recebida,
ambas as imagens I e P têm que ser decodificadas antes da primeira imagem B. Um decoder só pode decodificar uma imagem de cada vez; desta
forma, a imagem I é decodificada primeiro e armazenada. Enquanto a
104
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
imagem P está sendo decodificada, a imagem I decodificada está saindo,
e assim poderá ser seguida pelas imagens B.
A figura 6-2 mostra que quando uma unidade de acesso contendo uma
imagem I é recebida, ela terá ambas DTS e PTS no cabeçalho e estas
marcas de tempo estarão separadas pelo período de uma imagem. Se a
codificação bidirecional estiver sendo usada, uma imagem P precisa seguir
e esta imagem também tem marcas de tempo DTS e PTS, mas a separação entre as duas marcas de tempo tem o período de três imagens para
permitir a interposição das imagens B. Assim, se uma seqüência IPBB é
recebida, I é atrasada no período de uma imagem, P é atrasada no período
de três imagens, as duas Bs não são atrasadas em nada, e a seqüência de
apresentação se torna IBBP. Claramente, se a estrutura GOP for alterada
de tal forma que haja mais imagens B entre I e P, a diferença entre DTS e
PTS nas imagens P será maior.
As bandeiras PTS/DTS no cabeçalho do pacote são dispostas de forma a
indicar a presença do PTS isolado ou ambas às marcas de tempo PTS e DTS.
Pacotes de áudio podem conter várias unidades de acesso e o cabeçalho
do pacote contém um PTS. Em razão dos pacotes de áudio nunca serem
transmitidos fora de seqüência, não há DTS em um pacote de áudio.
105
Seção 7
Programa Stream
Os programa streams são uma forma de combinar vários pacote streams
PES e são vantajosos para aplicações de gravação tais como DVD.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
7.1 Gravação vs. Transmissão
Para uma dada qualidade de imagem, a taxa de dados de vídeo comprimido
irá variar com o conteúdo da imagem. Um bit rate variável trará resultados
melhores. Em transmissão, canais mais práticos são fixados e todo o bit
rate é mantido constante pelo uso de “Stuffling” (dado sem utilização).
Em um DVD, a utilização de Stuffing significa a perda da capacidade de
gravação. Porém, uma gravação média pode decair ou acelerar, até fisicamente ou, no caso de um disco rígido, pela mudança da taxa de requisição
de transferência de dados. Este procedimento permite que um canal de
taxa variável seja obtido sem perda da capacidade. Quando um médio é
recolocado, a velocidade pode ser ajustada para manter o buffer de dados
aproximadamente pela metade, sem relação com o bit rate atual, que pode
mudar dinamicamente. Se a leitura do buffer pelo decoder for uma taxa
elevada, ele tenderá a esvaziar o buffer, e o sistema condutor irá simplesmente elevar a taxa de acesso para restaurar o equilíbrio. Essa técnica
somente funciona se o áudio e vídeo foram codificados a partir do mesmo
clock; de outra forma, eles se separarão ao longo da gravação.
Para satisfazer essas condições conflitantes, são utilizados como alternativa programa streams e transporte streams. Um programa stream funciona
bem em um único programa com bit rate variável em um ambiente de
gravação; um transporte stream funciona bem em múltiplos programas em
um ambiente de transmissão com bit rate fixo.
O problema de “Genlocking” as fontes não ocorre em um tocador de DVD.
O tocador determina a base de tempo do vídeo com um gerador de pulso
de sincronismo local (interno ou externo) e simplesmente obtêm dados a
partir do disco a fim de suprir imagens nessa base de tempo. Em transmissão, o decoder tem que criar a base de tempo no encoder ou ele sofrerá
“Overflow” ou “Underflow”. Sendo assim, o transporte stream utiliza referência de clock de programa (PCR), enquanto que programa stream não
tem a necessidade do clock de programa.
109
Seção 7
7.2 Introdução a Programa Stream
Um programa stream é um multiplex de pacotes PES que transporta vários
streams elementar que foram codificados utilizando o mesmo clock máster
ou clock de tempo do sistema (STC). Esse stream pode ser um stream de
vídeo e seu stream de áudio associado ou um muiltcanal de programa
somente de áudio. O stream elementar de vídeo é dividido em unidades
de acesso (AUs), cada uma contém dados comprimidos descrevendo uma
imagem. Essas imagens são identificadas como I, P ou B e cada uma transporta um número AU que indica a seqüência correta de apresentação. Um
vídeo AU torna-se um pacote de programa stream. Em vídeo, esses pacotes variam em tamanho. Por exemplo, um pacote de imagem I será muito
maior do que o pacote de imagem B. Unidades de acesso de áudio digital
são geralmente do mesmo tamanho e muitos são colocados em um pacote
de transporte stream. Esses pacotes não deveriam ser confundidos com
pacotes de transporte stream que são menores e de tamanho fixo. O limite
AU de vídeo e áudio raramente coincide no eixo do tempo, mas essa falta
de coincidência não é um problema porque cada limite possui sua própria
estrutura de “Time-Stamp”.
110
Seção 8
Transporte Stream
Um transporte stream é mais do que um multiplex de muitos pacotes PES.
Em programa stream, Time Stamps são suficientes para recriar o eixo do
tempo porque o áudio e vídeo são amarrados a um clock comum. Para
transmitir dados em uma rede à distância, há necessidade adicional de
recriar o clock para cada programa no decoder. Isso requer uma camada
adicional de sintaxe para fornecer sinais PCR.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
8.1 O Trabalho do Transporte Stream
O transporte Stream transporta muitos programas diferentes e cada um
pode utilizar um fator de compressão diferente e um bit rate que pode
mudar dinamicamente apesar de todos os bit rate permanecer constantes.
Esse comportamento é chamado de multiplexação estática e permite que
um programa que manipula material com dificuldade peça emprestado
largura de banda a um programa que manipula material com facilidade.
Cada vídeo PES pode ter um número diferente de áudio e dados PESs associados com ele. Apesar dessa flexibilidade, um decoder deve ser capaz de
mudar de um programa para o próximo e selecionar corretamente os canais
apropriados de dados e áudio. Alguns dos programas podem ser protegidos
para que eles possam ser vistos somente por aqueles que pagaram uma
assinatura ou taxa. O transporte stream deve conter informação CA para
administrar essa proteção. O fluxo de transporte contém PSI para realizar
essas tarefas.
A camada de transporte converte os dados PES em pacotes pequenos de
tamanho constante (adicionando bits Stuffing se necessário) que são auto
contidos. Quando esses pacotes chegam ao decoder, pode ocorrer jitter no
tempo. O uso de multiplexação de divisão de tempo também causa delay,
mas isso não é um fator fixo porque a proporção do bit stream alocado
para cada programa não precisa ser fixa. Time Stamps é parte da solução,
mas elas somente funcionam se tiver um clock estável. O transporte stream deve conter mais dado permitindo a recriação de um clock estável.
A operação de equipamento de produção de vídeo digital é altamente dependente da distribuição de um sistema de clock estável para sincronização.
Em produção de vídeo, o Genlocking é utilizado, mas em longas distâncias,
a distribuição de um clock separado não é prática. Em um Transporte Stream,
diferentes programas podem ter sido gerados originalmente sem necessariamente serem sincronizados. Como resultado, o Transporte stream proporciona um meio de sincronização para cada programa.
O método de sincronismo adicional é chamado de PCR e ele recria um
clock de referência estável que pode ser dividido para criar uma linha
113
Seção 8
de tempo no decoder, para que o Time Stamp para os streams elementar
em cada programa se torne úteis. Conseqüentemente, uma definição de
um programa é um conjunto de streams elementares dividindo a mesma
referência de tempo.
Em um único Transporte Stream de Programa (SPTS), haverá um canal de
PCR que recria um clock de programa para o áudio e o vídeo. O SPTS é
frequentemente utilizado como a comunicação entre um codificador de
áudio/vídeo e um multiplexador. Também é utilizado em aplicações de
VOD. Porém, a maioria dos transporte streams broadcast inclui múltiplos
programas (MPTS). Essa agregação mais larga contém informação de controle, mais conhecida como sinalização (SI) necessária para coordenar
toda a transmissão, tal como um guia de programa eletrônico (EPG), assim
como programas específicos.
8.2 Pacotes
A figura 8-1 mostra a estrutura do pacote de um transporte stream. O tamanho é constante, 188 bytes e é sempre dividido em cabeçalho e carga
útil. A Figura 8-1 mostra que o comprimento mínimo do cabeçalho é de 4
bytes e não contém adaptação de campo. Neste cabeçalho, a informação
mais importante é:
114
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
- O byte de sincronismo. Este byte é reconhecido pelo decodificador de
modo que o cabeçalho e a carga útil possam ser republicados.
- O indicador de erro de transporte. Este indicador é ajustado se a camada
da correção de erro, acima da camada de transporte, estiver experimentando uma taxa de erro de gravação de bit (BER) que é muito alta para ser
corrigida. Isso indica que o pacote deve conter erros, veja a seção 10 – Introdução para DVB & ATSC para detalhes da camada de correção de erro.
- A identificação do pacote (PID). Este código de treze bits é usado para
distinguir entre diferentes tipos de pacotes. Mais informação será dita
sobre o PID depois.
- O contador de continuidade. Este valor de quatro bits é somado pelo
multiplexador em cada novo pacote de mesmo PID que tiver sido enviado.
Isto é usado para determinar se qualquer pacote foi perdido, repetido ou
saiu da seqüência.
Em alguns casos, mais informação de cabeçalho é necessário e se este for
o caso os bits de controle de adaptação de campo são ajustados para indicar que o cabeçalho é maior que o normal. A Figura 8-1 mostra que quando
isto acontece o comprimento extra do cabeçalho está descrito pelo código
do comprimento de adaptação de campo. Aonde o cabeçalho é estendido
a carga útil torna-se menor para manter constante o tamanho do pacote.
8.3 Referência do Clock do Programa (PCR)
O codificador usado para um programa particular terá um clock de programa de 27 MHz. No caso de uma entrada SDI (interface serial digital) o bit
de clock pode ser dividido por 10 para produzir o clock do codificador do
programa. Onde diversos programas de mesma origem de produção, terão
o mesmo clock. No caso de uma entrada de vídeo analógica, o período H
de sincronização necessitará ser multiplicado por uma constante em um
circuito de fase travado para produzir 27 MHz.
O adaptador de campo no cabeçalho do pacote é usado periodicamente
para incluir o código PCR que permite a geração de um clock travado no
115
Seção 8
decodificador. Se o codificador ou um demultiplexador tiverem que trocar
fontes, o PCR pode ter uma descontinuidade. A contagem da continuidade
pode também ser perturbada. Este evento é mantido pelo indicador de
descontinuidade, que diz ao decodificador para aguardar um distúrbio.
Caso contrário uma descontinuidade é uma condição de erro.
A figura 8-2 mostra como o PCR é usado pelo decodificador para recriar
uma versão remota do clock de 27-MHz para cada programa. Os clocks do
codificador mantêm um contador binário constantemente funcionando, e
o valor destes contadores são periodicamente testados e colocados nos
campos de adaptação do cabeçalho como PCR. O PCR é um número de 42bits que é representado por uma base PCR de 33-bits, mais uma extensão
PCR de 9-bits para prover uma alta resolução. (A base PCR, como o PTS
é um número de 33-bits que é uma amostra de um contador guiado por
um clock de 90-KHz). Aos pacotes gerados por cada codificador é dado
um PID. O decodificador reconhece os pacotes com o PID correto para o
programa selecionado e ignora os outros. No decodificador uma tensão
controlada do oscilador (VCO) gera um clock nominal de 27-MHz e este
guia um contador local de PCR. O PCR local é comparado com o PCR do
cabeçalho do pacote e a diferença é um erro de fase de PCR. Este erro é
filtrado pelo controle de VCO que eventualmente trará o contador local em
cada etapa com o cabeçalho PCRs. Uma forte filtragem de VCO assegura
que a oscilação na transmissão PCR não modula o clock. O indicador de
116
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
descontinuidade irá zerar o contador local PCR e opcionalmente pode ser
usado para reduzir a filtragem, com isso ajudar o sistema a rapidamente
travar no novo sincronismo.
O MPEG requer que o PCR esteja enviando em uma taxa de pelo menos 10
PCRs por segundo, visto que, DVB especifique o mínimo de 25-PCRs por
segundo.
8.4 Identificação do Pacote (PID)
Um campo de 13 bits no cabeçalho do pacote de transporte contém o código de identificação do pacote (PID). O PID é usado pelo demultiplexador
para distinguir entre os pacotes que contêm diferentes tipos de informações. A taxa de bit do fluxo de transporte deve ser constante, mesmo que
a soma das taxas dos diferentes fluxos de transporte possa conter variação.
Esta exigência é mantida pelo uso de pacotes nulos, se a taxa real de carga
útil, cair mais pacotes nulos serão inseridos. Os pacotes nulos sempre têm
o mesmo PID, que é 8191(treze uns na representação binária).
Em um dado fluxo de transporte, todos os pacotes que pertencem a um
dado fluxo elementar, terão o mesmo PID. O demultiplexador pode facilmente selecionar todos os dados para um dado fluxo elementar simplesmente aceitando somente pacotes com o PID correto. Os dados para um
programa inteiro podem ser selecionados usando os PIDs para fluxos de
vídeo, áudio e dados, tais como, subtítulos ou tele texto. O demultiplexador pode corretamente selecionar pacotes somente se estes puderem ser
corretamente associados com o fluxo elementar ao qual eles pertencem. O
demultiplexador pode fazer essa tarefa, somente se ele souber quais são
os corretos PIDs. Esta é a função do PSI.
8.5 A Informação Específica do Programa (PSI)
O PSI é carregado nos pacotes que têm PIDs únicos, alguns dos quais
são padronizados e outros são especificados pela tabela de associação
do programa (PAT), tabela de acesso condicional (CAT) e pela tabela de
117
Seção 8
descrição do fluxo de transporte (TSDT). Estes pacotes devem ser incluídos periodicamente em cada fluxo de transporte. O PAT sempre tem um
PID de 0, o CAT sempre tem um PID de 1, e o TSDT sempre tem um PID
de 2. Estes valores e o pacote de nulo de PID de 8191 são apenas PIDs
fixados pelo padrão de MPEG. O demultiplexador deve determinar todos
os PIDs restantes acessando as tabelas apropriadas, entretanto, existem
algumas limitações no uso de PIDs em ATSC e DVB. Nessa consideração (e
em algumas outras), o MPEG e o DVB diagonal ATSC não são inteiramente
permutáveis. Todo fluxo de transporte DVB e ATSC deve ser MPEG-2 e compatível com (ISO/IEC 13818-1), mas nem todos os fluxos de transporte
MPEG-2 serão compatíveis com o padrão ATSC (A/65B) ou DVB (EN 300
468). Os programas que existem no fluxo de transporte são listados nos
pacotes da tabela de associação (PAT), sendo (PID=0) que carrega o PID
de cada pacote PMT. A primeira entrada no PAT, programa 0, é reservada
para dados da rede e contém pacotes de PID com a tabela de informação
da rede (NIT). O uso do NIT é opcional em MPEG-2, mas é obrigatório em
DVB. O PIDs para as mensagens de controle de direito (ECM) e mensagens
de gerência de direito (EMM) são listadas nos pacotes de tabela de acesso
condicional (CAT), sendo (PID=1).
Como mostra a figura 8-3 os PIDs de vídeo, áudio e streams elementar de
dados que pertencem ao mesmo programa serão listados nos pacotes da
tabela de mapa do programa (PMT). Cada pacote PMT normalmente tem
118
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
seu próprio PID, mas no MPEG-2 isto não é obrigatório. O número do programa dentro de cada PMT definirá de modo único cada PMT.
Uma dada tabela de informação de rede NIT contém mais detalhes do que
apenas sobre o carregamento de fluxo de transporte. São incluídos também detalhes de outros fluxos de transporte que podem estar disponíveis
para o mesmo decodificador, por exemplo, ajustando para um canal de RF
diferente ou direcionando uma antena para um satélite diferente. O NIT
pode listar um número de outros fluxos de transporte e cada um deve ter
uma descrição que especifique a freqüência de rádio, posição orbital, e
assim por diante. Em DVB, Metadata adicional, conhecido como DVB-SI, é
incluído e o NIT é considerado como uma parte do DVB-SI. Esta operação
é discutida na sessão 10 - introdução para DVB e ATSC, quando trataremos
o assunto de modo geral, o termo PSI/SI é usado.
Primeiramente recebendo um fluxo de transporte, o demultiplexador deve
olhar para os PIDs 0 e 1 no cabeçalho do pacote. Todo pacote PID 0 contém o PAT. Todo pacote PID 1 contém dado CAT.
Através da leitura do PAT, o demultiplexador pode encontrar os PIDs no
NIT, e cada tabela do mapa do programa (PMT). Encontrando os PMTs, o
demultiplexador pode encontrar os PIDs de cada stream elementar.
Consequentemente se for exigida a decodificação de um programa particular, em referência ao PAT, então o PMT é tudo que é necessário para encontrar os PIDs de todos os streams elementar no programa. Se o programa
é codificado, o acesso para o CAT também será necessário, à medida que
a demultiplexação é impossível sem um PAT, a velocidade de lock é em
função de como frequentemente os pacotes de PAT são enviados. O MPEG
especifica um intervalo máximo de 0.5 segundos para os pacotes PAT e os
pacotes PMT, que são remetidos para aqueles pacotes PAT. Em DVB e ATSC,
o NIT pode residir nos pacotes que têm um PID específico.
119
Seção 9
Modulação Digital
Os sistemas MPEG codificam e empacotam vídeo, áudio e outros dados.
Para o armazenamento, o stream de dados resultante pode ser gravado nos
discos rígidos ou talvez em um DVD. Para outras aplicações, os dados MPEG,
geralmente no formulário do transporte stream, tem que ser emitido de
um lugar para outro ou para muitos lugares. Os sistemas de televisão usam
cabos, satélites e transmissão terrestre de vários modos para contribuição,
distribuição e difusão. Todos esses mecanismos de transportes modulam
os dados em alguma portadora. Esta seção fornece uma breve introdução
para os esquemas de modulação digital.
Esta seção discutirá apenas as técnicas de modulação. Os outros processos
são necessários para que um stream de dados seja adequado para transmissão e isto depende da modulação escolhida e das características do
canal. Estas técnicas serão discutidas na seção 10.
122
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
9-1 Princípios de Modulação
Uma portadora contínua não conduz informação a menos que isso seja
modificado de alguma forma pela informação que será transmitida. Uma
portadora pode ser modificada de três formas, mudando sua amplitude,
freqüência ou fase. A freqüência e a fase naturalmente estão relacionadas
entre si, embora seja tratadas em separado por tipos de modulação, a
diferença tornar-se muito obscura, alguns sistemas de “modulação em
freqüência” são implementados por “moduladores em fase”, após ter executado a integração no sinal modulante. Geralmente estes tipos de moduladores são chamados de “moduladores de ângulo” e são úteis quando for
desejado que no sinal modulado a potência do envelope seja constante.
9-2 Modulação Analógica
No mundo analógico, a amplitude ou freqüência de uma portadora é modulada, de acordo com a amplitude do sinal de áudio ou vídeo, geralmente
de acordo com uma lei linear. Um exemplo onde duas subportadoras em
fase de quadratura sejam moduladas em amplitude (como descrito mais
tarde na figura 9-3) pode ser encontrado nos sistemas de modulação de
cor NTSC e PAL. Quando estas duas estiverem de forma linear, moduladas
em amplitudes, as subportadoras são combinadas, e o sinal resultante tem
simultaneamente modulação de amplitude e de fase.
123
Seção 9
Este é um exemplo conhecido e útil. Nós podemos pensar de duas maneiras
em relação à informação da cor. Expressa na forma polar como um ângulo de
fase (relacionado ao hue) somado à amplitude (relacionada à intensidade da
saturação de cor) ou na forma retangular “cartesiano” XY, expressando os dois
sinais de diferença de cor, B-Y e R-Y. Se os componentes de diferença de cor
forem tratados como valores de “X e Y” em um gráfico, as duas representações
estarão visivelmente relacionadas como ilustrado na figura 9-1. Esta figura
é similar ao conhecido vectorscope que é essencialmente um diagrama de
constelação da componente de cor B-Y e R-Y.
9-3 Modulação em Quadratura.
A figura 9-2 mostra como nós podemos modular uma portadora com dois
sinais diferentes, usando a conhecida técnica “modulação em quadratura”.
Uma única portadora é dividida em duas partes, e uma dessas partes é
atrasada em 1/4 de tempo de ciclo da portadora ou deslocado em fase de
90 graus para criar duas portadoras em quadratura de fase. As duas portadoras são cada amplitude modulada por um sinal apropriado e as duas portadoras moduladas são somadas. Isto gera um único sinal com amplitude e
fase determinadas pelas amplitudes dos dois sinais modulantes.
A demodulação é conseguida por um processo quase idêntico, pois o sinal
recebido é emitido a dois demoduladores, em cada demodulador o sinal
é multiplicado por um sinal do oscilador local, sincronizado a um sinal
recebido. Os dois sinais do oscilador local estão separados de 90º e cada
demodulador recupera um eixo da modulação de quadratura.
9-4 Sistema Simples de Modulação Digital.
A maioria dos sistemas de modulação digital usa modulação em quadratura, pois os dois eixos são designados geralmente I (em fase) e Q (em
fase de quadratura). Às vezes somente um eixo da modulação é usado. Em
alguns casos a modulação digital é apenas a modulação analógica onde
níveis particulares de sinais modulantes são usados para definir de modo
124
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
único uma combinação particular binária de bits. Estes níveis de sinais
analógicos pré- definidos são chamados de símbolos.
Todo método de modulação digital mantém um compromisso entre a eficiência da largura de banda, robustez e complexidade. A taxa de símbolo é o
principal fator na determinação da largura de banda do sinal transmitido.
A taxa de símbolo é a taxa na qual a modulação muda. Com uma filtragem ideal a largura de faixa de freqüência positiva pode ser tão pequena
quanto à metade da taxa símbolo, mais isto requer um tempo preciso de
amostragem de símbolo e filtragem no receptor. Conseqüentemente, os
símbolos são tipicamente filtrados com uma pequena largura de faixa extra de 5 a 20% para facilitar a filtragem e a amostragem do receptor. Então
com sinais típicos de faixa lateral dupla da modulação em quadratura, a
largura de faixa do sinal modulado, é aproximadamente 5 a 20% maior
que a taxa símbolo. Tendo em vista que o receptor precisa ser limitado em
banda para melhorar a relação sinal ruído, a filtragem símbolo é tipicamente dividida entre o transmissor (limitação da largura de faixa ocupada
do canal) e o receptor (limitação da largura de banda do ruído). A maneira
mais comum para dividir a filtragem símbolo é pegar a raiz quadrada da
resposta de símbolo desejada e colocar a raiz quadrada idêntica no filtro
de ambos, na saída do transmissor e na entrada do receptor. Deste modo
a resposta combinada ajusta a raiz quadrada para recuperar a resposta de
símbolo desejada.
Alguns sistemas simples de modulação digital carregam apenas um bit de
informação por símbolo. Em outras palavras, cada símbolo pode representar um de dois possíveis estados, representando zero binário ou um
binário através da polaridade do símbolo. Neste caso o bit rate do sistema
é a mesma que a taxa símbolo, entretanto, outros sistemas tem muitos
estados possíveis para cada símbolo, assim eles podem transportar mais
que um bit de informação por símbolo. Geralmente a quantidade de estados é uma potência de dois, assim o bit rate do sistema é um múltiplo
inteiro da taxa símbolo.
Os sistemas de modulação digital são frequentemente rotulados pelo tipo
de modulação, precedidos pelo número que representa o número de estados para cada símbolo. Por exemplo, 4QAM descreve a modulação de am-
125
Seção 9
plitude de quadratura com quatro estados possíveis para cada símbolo. Os
quatros estados podem transportar dois bits de informações (00, 01, 10,
11), assim o bit rate de um sistema 4QAM e duas vezes a taxa símbolo.
Os mais simples sistemas de modulação digital carregam um bit de informação por símbolo. Cada símbolo tem dois estados possíveis, representando zero binário e um binário. Os estados podem ser criados pela modulação de amplitude, freqüência ou fase, mas a modulação de freqüência e
fase são as mais comuns.
O chaveamento de troca da freqüência binária (BFSK ou 2FSK) usa uma
freqüência de portadora para representar um zero binário e uma freqüência diferente para representar o um binário. Às vezes a diferença de freqüência é muito pequena e é alcançada por um modulador de fase depois
de integrar os símbolos.
O chaveamento de troca de fase binária (BPSK ou 2PSK) usa uma portadora de fase (amplitude constante) para representar o zero binário e o
inverso (180º de deslocamento de fase) para representar o um binário.
Os diferentes estados possíveis de um símbolo são geralmente mostrados
em um diagrama de constelação mostrando as várias combinações resultantes dos valores permitidos dos sinais modulantes de I e Q. O diagrama
de constelação para BPSK, mostrado na figura 9-3, é muito simples, pois
somente um eixo é usado e há somente dois valores permitidos. Estes
sistemas podem ser muito robustos, pois o receptor necessita apenas de
sinal suficiente (ou razão de sinal para ruído) para determinar qual de dois
126
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
estados possíveis foi transmitido para cada símbolo. Entretanto, eles não
usam o espectro eficientemente, pois a largura de faixa pode ser muito
grande para taxa de bit requerida. Estes sistemas são usados em trajetos
de transmissão muitos difíceis, tais como a telemetria de profundidade
de espaço onde o sinal ruído, melhor que largura de faixa, é o fator de
limitação.
9-5 Chaveamento do Deslocamento de Fase.
BPSK ou 2PSK foram descritos na secção anterior. Outras formas de modulação PSK utilizam ambos os eixos I e Q. Chaveamento de deslocamento
de fase quaternário (QPSK, também conhecido como chaveamento de deslocamento de fase de quadratura) é o mais comum, e utiliza dois valores
em cada eixo. O diagrama de constelação é mostrado na Figura 9-4. QPSK
possui quatro estágios possíveis por símbolo, logo cada símbolo transporta dois bits de informação; um possível mapeamento dos estados de
valores binários é mostrado na Figura. Se os símbolos I e Q estão apropriadamente temporizados, o sinal QPSK terá uma potência de envelope
constante. Portanto, QPSK é utilizado extensivamente em comunicações
de satélite onde amplificadores de potência saturados com potência de
envelope de saída fixa são utilizados.
8PSK é menos comum, mas é utilizado em sistemas de transmissão de
satélite profissionais, particularmente no Japão e nos EUA. O diagrama
de constelação é mostrado na Figura 9-5. 8PSK transporta três bits de
127
Seção 9
informação em cada símbolo, então a taxa de bit é três vezes a taxa de
símbolo e sem codificação especial requer mais potência de portadora ou
um prato de recepção largo, visto que o sinal-ruído deve ser mais alto do
que para QPSK.
9.5.1 Turbo 8PSK
Turbo 8PSK utiliza técnicas avançadas de Turbo Coding para correção de
erro direto para aumentar o rendimento dos links de transmissão via satélite através da utilização de 8PSK sem aumentar o tamanho da antena
e a potência da portadora. A codificação Turbo FEC utiliza técnicas de
estatística para recuperação de dados de probabilística e é abordada com
mais detalhes na secção 10 em técnicas avançadas de FEC.
128
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
9.5.2 DVB S2
DVB-S2 – Digital Video Broadcast – Satélite – Segunda geração é uma
melhoria e especificação atualizada projetada para atender a especificação DVB-S. Ela oferece largura de banda mais alta do que a especificação
DVB-S original, porém mais complexa e foi aceita comercialmente pela necessidade de serviços de transmissão via satélite de alta definição. DVB-S2
pode estreitamente aproximar do limite “Shannon” para a taxa de dados
máxima de transmissão alcançável em uma dada largura de banda do canal
com uma portadora definida para razão de ruído (C/N) e oferece até 30% a
mais de capacidade do que DVB-S, mas ainda proporciona compatibilidade
com o anterior.
DVB-S2 possui duas inovações sobre o DVB-S, parâmetros de codificação
de canal de mudança em tempo real utilizando VCM (Codificação e modulação Variável) e ACM (Codificação e Modulação Adaptativa).
São disponibilizados quatro modos de modulação:
- QPSK como em DVB-S.
- 8 PSK.
- 16APSK.
- 32APSK.
129
Seção 9
DVB-S2 FEC utiliza uma combinação de codificação BCH binária combinada
com um código muito largo de verificação de paridade de baixa densidade
(LDPC) desenvolvido primeiramente pela Gallanger em 1958. A codificação LDPC tem novos interesses, obscurecendo a codificação Turbo, devido
à grande potência computacional disponível hoje. Decodificadores LDPC
podem fornecer Thresholds de erro de receptor com 0,7 dB do limite Shannon. De fato, em alguns casos, a relação sinal-ruído pode ser negativa.
Também, FEC de LDPC e BCH combinadas são utilizadas no padrão DMBT/H da China descrito mais a frente.
9.6 Modulação de Amplitude de Quadratura – QUAM
A modulação em amplitude de quadratura (QAM) é à base de muitos sistemas
de transmissão. Ambos os eixos I e Q são utilizados para modulação e, dependendo da variante particular, dois ou mais níveis de amplitude são permitidos
para cada eixo.
A variante mais simples é a 4QAM onde somente dois valores são utilizados
para cada eixo, fornecendo quatro estados possíveis para cada símbolo. O
diagrama de constelação mostrado na Figura 9-6, onde podemos ver que o
4QAM é idêntico ao QPSK e transporta dois bits por símbolo.
16QUAM utiliza quatro valores em cada eixo, fornecendo 16 estados possíveis.
Sistemas 16QAM transportam quatro bits por símbolo. Como seis valores são
permitidos por cada eixo de modulação, há um total de 36 estados possíveis.
Cindo bits podem ser transportados utilizando somente 32 estados, então,
quatro das combinações possíveis não são utilizadas em 32QAM. O diagrama de constelação para 16QAM é mostrado na Figura 9-7 e para 32QAM é
mostrado na Figura 9-8. Em 32QAM os quatro estados dos “cantos” não são
utilizados; esses são os estados que representariam a amplitude mais alta e,
portanto, a potência mais alta do transmissor.
130
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
As Figuras 9-7 e 9-8 também ajudam a mostrar a relação entre o bit rate e
a robustez. Na presença do ruído ou jitter, o afastamento mais próximo dos
estados em 32QAM (potência transmitida igual) fará mais provavelmente erros de decodificação. Colocando de outra forma, mais estados possíveis por
símbolo, melhora-se a relação sinal ruído exigida para uma dada taxa de erro.
Quando uma boa relação sinal ruído é garantida, podem ser usadas grandes
densidades de constelação. O 64QAM usa oito valores em cada eixo e transporta seis bits por símbolo. O 64QAM é o esquema de modulação em sistema
de cabos mais extensivamente usado no mundo, como ele fornece uma boa
relação entre a robustez e compatibilidade com o legado de infra-estrutura de
cabos. O 256QAM é usado em alguns dos mais recentes sistemas de televisão
a cabo, permite 16 valores para cada eixo de modulação e transporta oito bits
por símbolo.
9-7 Modulação de Banda Lateral Vestigial - VSB
Quando uma portadora é modulada, bandas laterais são geradas acima e
abaixo da freqüência da portadora. Por exemplo, um sistema QAM com
uma taxa símbolo de 6 Mega símbolos por segundo terá bandas laterais
acima e abaixo, com apenas 3 MHz a mais em cada, requerendo apenas
um canal nominal de 6 MHz de largura de banda. Entretanto, usando uma
portadora em quadratura de pelo menos dois bits por símbolo são disponíveis se for para a constelação mais simples.
131
Seção 9
Para recuperar as informações de amplitude e fase (ou dois eixos de modulação em quadratura), as duas bandas laterais devem ser recuperadas
no receptor.
Os sistemas de banda lateral vestigial eliminam mais de uma banda lateral
antes da transmissão, então apenas um eixo da modulação pode ser recuperado visto que a componente da portadora de quadratura não é cancelada devido o desaparecimento da banda lateral baixa. (Uma interpretação
alternativa é dizer que o outro eixo de modulação é utilizado de tal forma
para suprir a banda lateral não exigida 2VSB possui a mesma constelação
como BPSK. Desde que, somente uma banda lateral é transmitida, a portadora em quadratura não pode ser utilizada, logo, QPSk não é possível.
Lembre-se que QPSK (ou 4-QAM) é de 2 bits por símbolo, portanto necessita somente da metade da taxa símbolo para o mesmo bit rate como 2VSB.
Portanto, visto que QPSK necessita de uma largura de banda de mais ou
menos igual a taxa símbolo, 2VSB com uma banda lateral somente ocuparia a mesma largura de banda como QPSK para o mesmo bit rate. A Figura
9-9 mostra os diagramas de constelação para 4VSB e a Figura 9-10 mostra
8VSB, transportando respectivamente dois e três bits por símbolo.
Modulação 8VSB é utilizada nos Estados Unidos pelo padrão de televisão
digital ATSC. 4VSB foi proposto originalmente, fornecendo dois bits por
símbolo. Porém, foi descoberto que 8VSB, em conjunto com bit de paridade extra usando codificação Trellis (veja a secção 10.6), correção de erro
132
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
interno fornece a mesma taxa de dados com um melhor desempenho de
sinal-ruído.
9.8 Multiplex de Divisão de Freqüência Ortogonal Codificado – COFDM
Nos sistemas acima, um sinal de banda de base é fornecido para moduladores que operam em uma única portadora para produzir a(s) banda(s)
lateral (is) transmitida(s). Uma alternativa para um sistema de banda
larga é aquela que produz muitas portadoras de bandas pequenas em um
espaço regulado cuidadosamente. A Figura 9-11a mostra que uma porta-
133
Seção 9
dora modulada digitalmente possui um espectro nulo em cada lado. Outra
portadora de freqüência ligeiramente mais alta ou mais baixa pode ser colocada aqui sem interferência, contanto que ela tenha um número inteiro
de ciclos mais ou menos por símbolo. Isso cria um par de portadora ortogonal que pode ser modulada independentemente. Portanto, as duas são
mutuamente ortogonais como mostra a Figura 9-11b. Esse é o princípio de
OFDM (Multiplexação de divisão de freqüência ortogonal). Na prática, uma
variante conhecida como multiplexação de divisão de freqüência ortogonal codificada (COFDM) aumenta o desempenho em condições de canais
não ideais pelo uso do FEC tal como o concatenado Viterbi convulacional
e o código Reed Solomon, descrito na próxima secção. COFDM é utilizada
na transmissão de vídeo digital (DVB), sistema terrestre, DVB-T, o sistema
terrestre ISDB-T Japonês e em todos os sistemas de transmissão móvel
DVB-H, T-DMB, DAB-IP, ISDB-Tss e FLO.
Cada portadora em um sistema OFDM pode ser modulada por qualquer uma
das técnicas descritas nessa secção. Na prática, QAM é geralmente utilizada, 16QAM e 64QAM são mais comuns. Não é necessário utilizar todas
as portadoras. Por exemplo, se uma parte do canal está sujeito a um alto
grau de interferência, as portadoras afetadas podem ser omitidas.
O número de portadoras em um sistema OFDM pode ser muito grande. DVBT possui a opção de 1705 ou 6817 portadoras (conhecido como sistema de
2K e 8K). Porque a largura de banda alocada para cada portadora é pequena, a taxa símbolo é correspondentemente reduzida, e o espaço de tempo
para transmitir cada símbolo é maior. Essa é a chave para a tolerância de
OFDM para interface de muitos percursos.
Em um sistema de única portadora, tal como 8VSB, uma taxa de dados alta
significa que o tempo do símbolo é muito pequeno. No caso do Sistema de
Televisão Digital ATSC, mais ou menos 11 milhões de símbolos são transmitidos a cada segundo, dando uma duração de símbolo menor que 100
ns. Isso significa que mesmo um delay multipercurso muito pequeno criará
interferência de símbolo interno porque o sinal atrasado representando
um símbolo chegará durante a recepção de um símbolo subseqüente.
Em contraste, um sistema OFDM com milhares de portadoras terá um tempo de símbolo na ordem de centenas de microssegundos (dependendo do
134
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
dada rate, do número de portadoras e da modulação utilizada). Interferência de símbolo interno pode ser eliminada virtualmente pela adição de
um “Guard Band” para cada símbolo, deliberadamente tornando o símbolo
mais longo que o necessário. Isso reduz a taxa símbolo, mas somente a
um grau relativamente pequeno. Por exemplo, se a duração de símbolo
nominal é de 200 µs, um Guard Band de 50 µs reduzirá a taxa símbolo por
somente 20% - e a eliminação de interferência de símbolo interno pode
permitir a utilização de uma constelação de ordem maior, talvez mais que
a compensação por essa perda. Essa técnica não é prática em um sistema
de única portadora de banda larga. Como exemplo, o mesmo Guard Band
de 50 µs com tempo de símbolo de 100 ns reduziria o data rate para uma
fração de um por cento.
Porém, OFDM não é fundamentalmente imune para multipercursos devido a sua própria interferência de símbolo causando nulos de portadoras.
Portanto, qualquer portadora piloto que seja necessária no receptor, deve
ser dispersa entre várias portadoras de dados. De fato, receptores COFDM
tipicamente utilizam equalização adaptativa para atenuar o multipercurso
como exigido com única portadora, sistemas de taxa símbolo alta. Essa
tolerância para interferência de multpercursos também torna os sistemas
COFDM bem adaptados para redes de trabalho de única freqüência onde
dois ou mais transmissores sincronizados emitem o mesmo sinal. Um receptor pode, dependendo de sua localização e sistema de antena, receber
sinais de mais de um transmissor em tempos diferentes. Se os comprimentos dos percursos são radicalmente diferentes, o sinal principal será
provavelmente mais forte do que o segundo sinal, e a interferência será
mínima. Se os comprimentos dos percursos e a intensidade do sinal são
similares, um Guard Band prevenirá a interferência de símbolo interno.
9.9 Multimedia Digital Broadcast da China – Terrestre/Portátil – DMB-T/H
A China anunciou seu próprio padrão de TV digital projetado para ambas
as coberturas fixa e móvel. Com o nome de Transmissão de Multimedia Digita l-Terrestre/Portátil DMB-T/H (GB 20600-2006), ele é derivado de dois
outros padrões: ADTB-T (similar ao ATSC-T) e uma variante de T-DMB.
135
Seção 9
DMB-T/H é derivado do trabalho da Universidade Tsinghua em Beijing e a
Universidade Jiaotong em Shanghai e combinam a tecnologia desenvolvida por ambas as universidades.
DMB-T/H fornece o serviço de SDTV e de HDTV, Transmissão de Áudio Digital, Transmissão de Multimídia e serviços de dados para receptores fixos.
Para receptores móveis ele fornece SDTV, Transmissão de áudio Digital,
Transmissão de Multimídia e serviços de dados.
O padrão utiliza as seguintes tecnologias para transmissão em um canal
de 8 MHz as bandas UHF e VHF e possui vários modos de operação definidos por tipos de fornecimento de multimídia específicos:
- Suporte para Network Multi Freqüências (MFNs) e Network de Única Freqüência (SFNs).
- Bit randomization.
- FEC (codificação de LDPC e BCH binária).
- Modulação QAM em OFDM – 64QAM, 32QAM, 16QAM, 4QAM, 4QAM-NR.
- Intercalamento no domínio do tempo muito profundo.
- 3 taxas de código, 3 tamanhos de quadro e 2 comprimentos de interlacalamento permitindo uma faixa ampla de bit rate.
- 3780 modos de portadora (espaçamento de 2 KHz) com interlançamento
no domínio da freqüência.
- Dual piloto, modo de única portadora.
- Técnicas de espectro espalhadas para transmissão de SI.
9.10 Serviço de Dado Integrado Broadcasting (ISDB)
Transmissão de dados de serviço integrada (ISDB) é um desenvolvimento que utiliza muitos esquemas de modulação e foi desenvolvido para
serviços de televisão digital no Japão. Ela é projetada para suportar os
sistemas hierárquicos de muitos níveis. Ela pode ser utilizada, por exem-
136
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
plo, para fornecer simultaneamente uma recepção de baixo data rate sob
condições móveis excepcionalmente difíceis, data rate intermediário (definição padrão) para recepção de área menos importante, e alto data rate
(talvez para HDTV) para condições de boa recepção.
Há quatro sistemas de modulação ISDB em uso hoje no Japão:
9.10.1 Sistema de Satélite ISDB-S
Lançado em Dezembro de 2000, ISDB-S permite que dois broadcasters
dividam um transponder de satélite. Ele também refere ao digital BS ou
digital CS quando o segmento de espaço é um satélite broadcast ou satélite de comunicação, respectivamente.
Até oito transporte streams podem ser utilizados de maneira combinada
entre os broadcasters dividindo o transponder. A taxa de bit agregada
dependerá da largura de banda do transponder e do modo de modulação
utilizado. Por exemplo, para um transponder de 34,5 MHz, a taxa máxima
incluindo a correção de erro direta é de 56,610 Mbits/s.
Modulação hierárquica permite que o modo de modulação seja variado em
uma base de pacote por pacote em uma estrutura de 48 pacotes. Para cada
pacote é atribuído um slot de modulação. São permitidos quatro modos de
modulação BSPK(1/2), QPSK(para 7/8) e TC8PSK. O Número de slots varia
de acordo com o modo utilizado.
9.10.2 Sistema a Cabo ISDB-C
A principal característica desse sistema é que ele transmite múltiplos
transporte streams em uma única portadora 64QAM. O sistema foi desenvolvido para retransmitir eficientemente a informação transportada em
sinais ISDB-S. Um máximo de 52,17 Mbis/s de informação é transmitido
tipicamente em uma portadora digital BS. A taxa de informação de um
sinal de 64QAM/6 MHz é de 29,162 Mbits/s. Portanto, pelo menos dois
canais de televisão a cabo podem ser utilizados para retransmitir informação de uma única portadora BS. O serviço digital BS completo consiste
137
Seção 9
em quatro transmissores e ocupa aproximadamente 174 MHz incluindo
Guard Bands. A utilização de 8 canais a cabo ISDB-C seria necessária para
transportar esta informação, enquanto que 29 canais seriam necessários
usando a transmissão a cabo convencional de um transporte stream por
portadora.
Existem 52 slots de modulação mais 1 slot para sincronizar o cabeçalho,
TSMF (transport stream multiplexing frame).
9.10.3 Modulação Terrestre ISDB-T
O canal ISDB-T é dividido em 13 segmentos (tipicamente uma largura de
400-500 KHz), é utilizada uma transmissão COFDM separada para cada
segmento.Todos os parâmetros afetando a robustez (número de portadora,
comprimento de Guard Band, tipo de modulação, codificação convolucional) podem ser escolhidos separadamente por cada camada da hierarquia.
Por exemplo, o segmento mais robusto pode utilizar um guard band longo,
modulação QPSK e codificação convolucional de 1/2. O nível mais alto
poderia utilizar um guard band curto, 64QAM e codificação convolucional
de 7/8 – fornecendo muitas vezes o data rate do segmento robusto.
O segmento central pode ser utilizado para recepção parcial, projetado
para permitir um receptor de banda pequena para receber somente esse
segmento.
Em um OFDM normal a largura de banda do canal completa representa uma
única camada.
138
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
As portadoras utilizadas são espaçadas através da largura de banda em
conjuntos múltiplos de certa freqüência. Em ISDB-T a largura de banda de
canal de 5,6 MHz é dividida em 13 segmentos, cada um tendo uma largura
de banda de 429 KHz. Transmissão hierárquica de ISDB-T é alcançada pela
transmissão de grupos de segmentos OFDM tendo parâmetros de transmissão diferentes. Esses grupos de camadas constituem as camadas. Em uma
modulação não hierárquica o mesmo esquema de modulação é utilizado
para todos os 13 segmentos.
9.10.4 Modulação Móvel ISDB-Tss
Único segmento ISDB-T (ISDB-T) utiliza o segmento central dos 13 grupos
de segmentos para transmitir serviços para terminais móveis e é mostrado
mais detalhes na secção 9.11.5.
9.10.5 ISDB em Resumo
ISDB-C significa a aplicação de diferentes modos de modulação para transporte stream múltiplos e os transmite em um canal de 34,5 MHz em uma
única portadora.
ISDB-C proporciona a transmissão de transporte stream múltiplo em um
único canal de 6 MHz em uma única portadora, mas com um modo comum
de modulação.
ISDB-T permite até três transmissões do mesmo transporte stream em um
único canal de 6 MHz.
Compressão MPEG já está sendo utilizada em transmissão e se tornará
muito importante no futuro. Essa secção aborda os requisitos adicionais
para transmissão de televisão digital, como implementado pelos dois padrões principais de DTV.
139
Seção 9
9.11 Sistemas Broadcast Móveis
Sistemas de broadcast móveis são muito importantes como telefones celulares e técnicas de compressão de vídeo digitais altamente eficientes que
mesclam recepção móvel de TV e multimedia. Técnicas de codificação de
canal COFDM dominam essa área devido à sua robustez e habilidade de lidar
com interferência de multipercurso e grandes deslocamentos de Doppler de
portadoras devido à recepção em alta velocidade em carros e trens.
A maioria de redes de transmissão móvel são projetadas para ser Redes de
Única Freqüência (SFNs), por exemplo, as mesmas transmissões são feitas
de todos os pontos de transmissão na rede exatamente na mesma freqüência
e tempo alinhado, utilizando um clock proveniente de um GPS. Isso possui
a vantagem de eficiência espectral e se apóia na habilidade de sinais OFDM
para rejeitar interferências próprias de sinais de multipercurso utilizando o
símbolo Guard Band interno.
Vários padrões para TV móvel foram de autoria de corporações indústrias
e companhias comerciais e todos estão sendo implantados, com alguma
predominância em sua região geográfica progenitora. Muitos sistemas concorrentes estão sendo implantados em paralelo, levando a necessidade de
um handset de muitos padrões capazes de atender redes utilizando padrões
de transmissão diferentes.
Todos os padrões móveis focaram no fornecimento de baixa potência, e, portanto, tem vida longa com transmissões de RF de grande robustez. Em um
ambiente handsets móvel a antena será pequena de 1,5-2 m de comprimento do chão. Isso leva a uma série de inovações em uma previsão de canal
avançado e técnicas de FEC. Todos os padrões de transmissão abordados
são realmente de broadcast, apontam para sistemas de muitos pontos que
requer somente um link direto para o terminal de recepção, muitos utilizam
um canal de retorno de celular para fornecer serviços interativos, por exemplo, links para páginas da Web.
Muitos sistemas de transmissão de TV móveis utilizam vários métodos comuns para melhorar a imunidade dos links de transmissão para o desafiante
ambiente de RF. Isso inclui:
140
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
- Modo de aquisição de sincronismo robusto para melhorar o tempo de sincronismo e fornecer a sinalização do modo do canal.
- Intercalamento de Tempo profundo para reduzir o impacto de interferência
impulsiva.
- Corte de tempo para reduzir o consumo de potência permitindo ao handset
somente receber no ciclo baixo.
- Profundidade de “Variable Fast Fourier Transform” (FFT) para fornecer “Trad
Offs” entre o tamanho de SFN.
- Operação de SFN para eficiência de freqüência.
9.11.1 DVB-H
Transmissão de Vídeo Digital – DVB-H Portátil foi definida pelo DVB como
padrão de transmissão para terminais móveis, e permite larguras de banda
de até 14 Mbits/s para ser recebido por terminais móveis alimentados por
bateria. É possível recepção robusta em velocidades móveis de até muitos
100 KM/h.
O padrão desenvolveu uma série de técnicas para reduzir a potência e
aumentar a robustez da recepção, incluindo o corte de tempo de transmissões e um link de transmissão baseada em IP com um Encapsulamento
Multiprotocolo de Forward Correção de Erro (MPE-FEC). Suas características técnicas são:
- Corte de tempo.
141
Seção 9
- Stream de transmissão IP MPE
- MPE FEC (Opcional).
- Intercalamento profundo de dados.
- 2K, 4K & 8K Modo FFT.
- Bits de Sinalização de Parâmetro de Transmissão (TPS).
O padrão de codificação de vídeo utilizado para transmissão DVB-H deixou
para o operador de rede selecionar a partir dos CODECs DVB aprovados. Na
prática, SMPTE VC-1 e MPEG-4 parte 10 (H.264/AVC) tem predominado em
sistemas operacionais.
DVB-H foi especificado para operar em ambas as bandas existentes TV VHF
e UHF e a Banda L com larguras de banda de canal de 5, 6, 7 e 8 MHz. A
banda UHF é uma banda de espectro de maior preferência, questões comerciais têm visto com sucesso o emprego de redes na banda L.
Padrões ratificados ETSI para DVB-H incluem entre outros EM 302 304
Sistema de Transmissão para Terminais Portáteis (DVB-H) e TR 102 377
DVB-H padrões de Orientações de Implementação.
9.11.2 T-DMB
Transmissão de Multimedia Digital – Terrestre (T-DMB) a transmissão é
baseada na Eureka 147 padrão de Transmissão de áudio Digital (DAB).
Como DAB, T-DMB é projetado para transmissões em banda de radiofreqüência III (VHF) e Banda L. O stream Reed Solomon FEC codificado (uma camada adicional de FEC para DAB de áudio) com uma palavra de paridade de
comprimento de16 bytes; é então aplicado o intercalamento convolucional.
A fim de diminuir os efeitos de canal tais como desaparecimento e sombreamento (fading e shadowing), o modem DMB utiliza modulação OFDM4DPSK. T-DMB é um padrão ETSI (TS 102 427 e TS 102 428).
T-DMB utiliza MPEG-4 parte 10 (H.264/AVC) para o vídeo e MPEG-4 parte
3 BSAC ou HE-AAC V2 para o áudio. O áudio e vídeo são encapsulados em
Transporte Streams MPEG-2.
142
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
9.11.3 DAB IP
DAB IP é um sistema de transmissão novamente derivado da Eureka 147
DAB padrão de áudio, mas utilizando o ETSI DAB padrão EM 300 401
v1.4.1 para transmissão utilizando Protocolo de Internet (IP) como o
mecanismo de transporte.
DAB IP possui a vantagem de ter um espectro disponível na Europa e a
habilidade de utilizar a estrutura de áudio DAB existente para transmissão
salvando assim o custo “Rollout” da rede. O lado negativo é a limitação
da largura de banda do canal de RF comum para todas as tecnologias baseadas em DAB de 1,7 MHz que limita o bit rate e, portanto vários canais
de TV podem ser transportados. Adicionalmente os serviços de TV DAB
também são provenientes de muitos “Handsets”.
Transporte IP foi escolhido por sua flexibilidade e a capacidade de se integrar com as redes de transmissão existentes e oferecer migração futura
para sistemas de transmissão para largura de banda maior.
143
Seção 9
9.11.4 FLO
Forward Link Only - FLO é um padrão de TV móvel de propriedade da Qualcomm. O sistema está sendo submetido a corporações de padrões para ratificação e está se expandindo em relação a sua implantação inicial nos EUA.
144
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
FLO é novamente baseado em modulação OFDM utilizando um FFT de 4 K,
mas utiliza modulação hierárquica para fornecer cobertura de serviço para
as extremidades da área de transmissão com bit rate reduzido.
FLO também utiliza intercalamento de tempo para reduzir a suscetibilidade de interferência impulsiva e codificação turbo para correção de erro
direta (veja a secção 10 em FEC). Suas características técnicas são:
- Baseado no modo OFDM FFT 4K
- Modulação Hierárquica
- Serviço para a extremidade da célula
- Intercalamento de tempo
- Codificação Turbo
9.11.5 Segmento Único ISDB
ISDB Transmissão de Segmento Único é o padrão Japonês para transmissão de TV móvel e diferentemente dos outros padrões móveis, ele foi projetado dentro do padrão inicial de transmissão terrestre digital Japonês,
como parte hierárquica.
Segmento único ISDB utiliza o fato de que ISDB-T separa o canal de transmissão em 13 segmentos, cada um deles é um bloco de OFDM
Uma capacidade de transporte de 280,85 Kbps para 1,17873 Mbps é disponível por bloco dependendo da taxa de codificação escolhida.
Os parâmetros de transmissão para ISDB são especificados em um bloco
por bases de bloco, portanto, para transmissão móvel um canal robusto
pode ser codificado. Essa característica é utilizada com o segmento único
central (ISDB-Tss) para proporcionar recepção portátil.
145
Seção 10
Introdução a DVB e ATSC
A compressão MPEG já está sendo utilizada em broadcasting e se tornará
muito importante no futuro. Essa secção fala sobre os requisitos adicionais para televisão digital broadcasting e como foi implementada pelos
dois principais padrões de DTV.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
10. 1 Uma Visão Geral
ATSC (Comitê de Sistemas de Televisão Digital) é uma organização Americana que define padrões para transmissão digital terrestre. DVB se refere
ao Projeto de Vídeo Digital Broadcasting e aos padrões e práticas estabelecidas pelo projeto DVB. Esse projeto foi originalmente um projeto
Europeu, mas produz padrões e orientações aceitos em muitas partes do
mundo. Esses padrões e orientações englobam todas as formas de transmissão, incluindo transmissão via satélite, cabo e terrestre.
Broadcasting digital possui distribuição e exigências de transmissão diferentes, como mostrado na Figura 10.1. Transmissores produzirão transporte streams que contenham vários programas de televisão. Transporte
stream não possui proteção contra erros, e em compressão de dados, os
efeitos de erros são graves. Transporte stream precisam ser entregues sem
erros aos transmissores, “Uplinks” de satélite e cabeça de final de cabo.
Nesse contexto, a ausência de erro significa um bit error rate (BER) de
1 em 10-11, ou melhor. Essa tarefa é normalmente confiada às operadoras de rede de telecomunicações, que irão utilizar camada adicional de
correção de erro quando necessário (estratégias de correção de erro são
selecionadas dependendo do canal de transmissão). Essa camada deve ser
transparente ao destino.
Uma empresa de transmissão em particular ou operadora de cabo pode
não desejar todos os programas em um transporte stream. Vários programa
streams podem ser recebidos e uma seleção de canais pode ser realizada
e codificada em um único transporte stream de saída utilizando um multiplexer. A configuração muda dinamicamente.
Transmissão no domínio digital consiste na transmissão de todo o transporte stream para o receptor. Se for canal a cabo, satélite ou terrestre, os
problemas são os mesmos. O Metadado utilizado para descrever a transmissão, deve ser codificado no transporte stream de maneira padronizada.
Em DVB, esse Metadado é chamado de informação de serviço (DVB-SI) e
inclui serviços tais como tele texto, assim como detalhes de programas
transportados através dos próprios multiplexes ou através de outros multiplexes.
149
Seção 10
Em transmissão, há muito menos controle da qualidade do sinal, e ruído
de interferência é uma possibilidade. Isso requer alguma forma de camada
de correção de erro direto (FEC - Forward Error Correction). Provavelmente
a FEC utilizada pelas operadoras de rede de telecomunicações, que pode
ser proprietário, (ou padronizado como pelo Instituto de Padrão de Telecomunicações Europeu (ETSI), que define a transmissão DVB sobre redes
SDH e PDH), a correção de erro direto (FEC) utilizada em transmissão deve
ser padronizada para que os receptores sejam capazes de entendê-las.
A adição de correção de erro obviamente aumenta o bit rate conforme o
interesse do transmissor ou cabo. Infelizmente, a transmissão a cabo de
dados requer mais do que serialização dos dados. Na prática os sistemas
precisam de codificação de canal.
10.2 Remultiplexação
Essa é uma tarefa complexa porque um multiplexer tem que fornecer um
bit stream em conformidade ao que é originado das partes de outros. Os
dados necessários de um dado de transporte stream de entrada podem
ser selecionados com referência à tabela de associação de programa e às
tabelas de mapa de programa que irão divulgar os PIDs dos programas
requeridos. É possível que os mesmos PIDs tenham sido utilizados em dois
transporte streams de entrada; portanto, os PIDs de um ou mais elementares streams podem ter que ser trocados. Os pacotes de cabeçalhos devem
passar pela referência de clock de programa (PCR) que irá permitir que o
último decodificador crie um clock de 27 Mhz. Como as posições de pacotes contendo PCR podem ser diferentes no novo multiplex, o remultiplexer
pode precisar de editar os valores de PCR para refletir suas novas posições
no eixo do tempo.
As tabelas de mapa de programa e tabelas de associação de programa necessitarão ser editadas para refletir a nova estrutura de transporte stream,
de acordo com as tabelas de acesso condicional (CAT).
Se o total dos bit rates do programa stream selecionados for menor do que
o bit rate de saída, o multiplexer criará pacotes de enchimento com PIDs
adequados. Porém, se o transporte streams veio de multiplexers de esta-
150
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
tística, é possível que o bit rate instantâneo do novo transporte stream
exceda a capacidade do canal. Essa condição pode ocorrer se muitos programas selecionados em diferentes transporte streams simultaneamente
tiverem alta entropia. Nesse caso, a única solução é recomprimir e criar
coeficientes curtos e novos em um ou mais bit streams para reduzir o bit
rate.
10.3 Informação de Serviço (SI)
No futuro, o digital implicará em um amplo número de programas, tele textos e serviços disponíveis na tela e esses podem ser separados através de
vários transporte stream diferentes. Tanto a tela quanto o decoder integrado
no receptor (IRD) necessitarão de ajuda para mostrar o que estiver disponível e fornecer o serviço selecionado. Essa capacidade requer um Metadata
além das capacidades de MPEG-PSI (Informação específica de programa) e
é referenciada como DVB-SI (informação de serviço). DVB-SI é considerada
para incluir o NIT, que é opcional em fluxos de transporte MPEG.
DVB-SI é embutido transporte stream como pacotes de transporte adicionais com PIDs únicos e transporta informação técnica para IRDs. DVB-SI
também contém informação de guia de programa eletrônico (EPG), tais
como natureza de programa, o tempo e o canal no qual ele pode ser alocado, e os países nos quais ele está disponível.
Programas também podem ser avaliados para que um julgamento de origem possa ser exercitado.
DVB inclui as seguintes tabelas sobre e acima de MPEG-PSI:
- Tabela de Informação de Rede (NIT). Informação em um transporte stream que descreve muitos transporte stream. A NIT transmite informação
relacionada à organização física do multiplex, transporte stream transportados por uma dada rede e as características da própria rede. Transporte
stream são identificados pela combinação de um ID de rede original e um
ID de transporte stream na NIT.
- Tabela de Descrição de Serviço (SDT). Cada serviço em um transporte stre-
151
Seção 10
am DVB pode ter um descritor de serviço e esses descritores são colocados
na tabela de descrição de serviço. Um serviço pode ser televisão, rádio ou
tele texto. O descritor de serviço inclui o nome do provedor do serviço.
- Tabela de Informação de Evento (EIT). EIT é uma tabela para DVB que
contém nomes de programas, tempos de início, durações e mais.
- Tabela de Tempo e Data (TDT). A TDT é uma tabela que fixa um tempo UTC
e “Date Stamp” no transporte stream.
DVB-SI também define outras tabelas opcionais incluindo: tabela de associação de Bouquet (BAT), tabelas de running status (RST), tabela time
offset (TOT) e a tabela de enchimento (ST).
O ATSC, como DVB, utilizou a tabela de secção privada de MPEG-2 para
definir várias tabelas novas. Esse conjunto de novas tabelas mandatórias
definidas pelo ATSC em A/65A é parte do protocolo de programa e sistema
de informação (PSIP). ATSC PSIP deve incluir as seguintes tabelas acima
do MPEG-PSI:
- Tabela de Canal Virtual Terrestre (TVCT) definindo, em um mínimo, programas MPEG-2 multiplexados no fluxo de transporte no qual a TVCT é
transportada.
- Tabela de Guia Máster (MGT) definindo o tipo, identificadores de pacotes
e versões para todos ou outras tabelas PSIP no fluxo de transporte, exceto
para a tabela de tempo de sistema (STT).
- Tabela de Região de Taxa (RRT) definindo o sistema de orientação original
de TV referenciado por qualquer conteúdo do descritor consultivo transportado no fluxo de transporte.
- Tabela de Tempo de Sistema (STT) definindo a data corrente e o tempo
do dia.
- Tabela de Informação de Evento (EIT-n) definindo as primeiras quatro
tabelas de eventos (EIT-0, EIT-1, EIT-2 e EIT-3) descrevendo 12 horas
de eventos (programas de TV), cada um com uma cobertura de 3 horas e
incluindo todos os canais virtuais listados no TVCT.
152
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
10.4 Correção de Erro
A correção de erro é necessária porque as condições ao longo do percurso
da transmissão não podem ser controladas. Em alguns sistemas, a detecção de erro é importante porque ela pode ser utilizada para viabilizar uma
retransmissão. É claro que essa sugestão não funcionará com sinais em
tempo real tais como televisão. Ao invés disso, o FEC é utilizado nos bits
extras suficientes, conhecidos como redundância, que são adicionados aos
dados para permitir que o decoder desempenhe correções em tempo real.
Resumidamente, códigos R-S (um caso especial do código BCH geral) adicionam redundância através da adição de bytes de dados de paridade
extra (bytes N, por exemplo) para um bloco de bytes de dados para que
o decoder R-S no receptor possa corrigir qualquer ou todos os bits em
cada byte(s) (N/2) no bloco de bytes. O decoder R-S também pode indicar
bytes com erro que ele não pode corrigir, no entanto que não sejam excessivos os bytes com erro em cada bloco. Se nenhum dos bits de qualquer
um dos bytes no bloco (incluindo os bytes de paridade extra) esteja com
erro, uma síndrome de erro de byte de zero é retornada. Essa condição de
zero é obtida independentemente dos dados e realiza uma fácil verificação.
Nos transporte streams, os pacotes são sempre de 188 bytes ao longo primeiramente da adição de dados de correção de erro. A adição de 16 bytes
de redundância R-S (paridade) produz um comprimento de pacote de 240
bytes. Na prática, transporte streams podem utilizar pacotes de 204 bytes
mesmo quando a FEC não estiver presente. O uso dos 16 bytes evita o reclocking do stream quando um FEC é adicionado ou excluído. Perceba que os
bytes de paridade R-S nem sempre têm que ser de 8 bits para casar com o
tamanho do byte de dados de pacote. Por exemplo, QAM-J83B utiliza um tamanho de byte R-S de 7 bits em blocos de bytes de dados de 8 bits, portanto,
não há uma correspondência de 1:1 para os bytes de dados de pacote.
Num evento em que a síndrome não for zero, a solução das equações simultâneas resultará em dois valores necessários para correção de erro: o
byte errado e os bits nesse byte que estão com erro. Porém, se o número
de bytes errados excederem a metade do número de bytes de paridade,
os bits com erro não podem ser corrigidos. Infelizmente, em canais de
transmissão típicos, a qualidade do sinal é estatística. Isso significa que
153
Seção 10
enquanto poucos bits podem estar com erro devido a ruído, há ocasiões
em que um grande número de bits, conhecidos como um “Burst”, todos
podem estar corrompidos. Essa corrupção pode ser provocada por raio ou
interferência de equipamento elétrico e irá saturar o bloco de dados codificados R-S e facilmente excederá o número de bytes (N/2) corrigíveis.
Não é econômico proteger cada palavra de código contra tais Bursts, porque eles não ocorrem com muita frequência. A solução é utilizar uma
técnica conhecida como intercalamento. A Figura 10-2 mostra que quando
o intercalamento é utilizado, a fonte de dados é codificada em FEC, mas
antes da transmissão, eles alimentam um buffer RAM. A Figura 10-3 mostra uma técnica possível em que os dados entram na RAM em fileiras e
são então lidos em colunas. Os dados reordenados são agora transmitidos.
Na recepção, os dados são colocados de volta em sua ordem original, ou
desintercalados, utilizando uma segunda RAM. O resultado do processo
de intercalamento é que um Burst de erros no canal após o desintercalamento torna-se grande número de erros de bytes únicos em cada bloco de
dados R-S abrangendo um grande número de blocos de dados R-S, o que é
mais prontamente corrigido.
154
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Quando um erro de Burst alcança o tamanho de correção máximo, o sistema está vulnerável a erros de bits aleatórios que tornam o código das
palavras incorreto. A utilização de um código interno aplicado após o intercalamento e corrigido antes do de-intercalamento pode prevenir erros
aleatórios de entrarem na memória do de-intercalamento.
Como a Figura 10-3 mostra, quando essa abordagem é utilizada com uma
estrutura de bloco de intercalamento, o resultado é um código de produto.
A Figura 10-4 mostra que o intercalamento também pode ser convolucional, no qual o conjunto de dados é cortado aplicando um delay diferente para cada fileira. Convolucional (Forney), ou intercalamento cruzado,
possui a vantagem de utilizar menos memória para o intercalamento e
desintercalamento.
155
Seção 10
10.4.1 Codificação Turbo
Codificação turbo é uma classe de códigos de correção de erro desenvolvidos recentemente (1992) projetados para alcançar a máxima transferência
de informação sobre um canal de largura de banda limitada que está
sujeito a ruído.
A principal diferença das técnicas de codificação de erro estabelecidas é que
o receptor é projetado para fornecer não somente um data bit stream recebido, mas também uma probabilidade de medição para cada bit corrigido.
No codificador de transmissão, os dados são separados em três sub blocos
de bits, como mostra a Figura 10-5. O primeiro sub bloco do m bits é a
carga de dados. O segundo sub bloco é n/2 bits de paridade para a carga
de dados computada utilizando um código “Recursive Systematic Convolution” (RSC). O terceiro sub bloco é n/2 bits de paridade calculada para
uma permutação conhecida da carga de dados. Os dados transmitidos são,
portanto, m+n bits e incluem dois redundantes, mas diferentes sub blocos
de dados de paridade.
No decoder o “front end” (parte do programa que é responsável pela interface do usuário) do receptor produz dois streams inteiros dos streams
de paridade n/2 para cada bit do data stream que corresponde a probabilidade de que o bit seja um 0 ou 1. Se refere ao soft bit. Esse dado inteiro
está na faixa de -127 até +127 com -127 significando certamente 0, -100
significa muito provavelmente 0, 0 significa que poderia ser 1 ou 0 e valores similares de + provavelmente para bits 1.
A chave para o código turbo é a utilização de dois streams provavelmente
gerados pelo receptor para resolver diferenças entre os dois bit streams
de paridade decodificados. Cada um dos dois decoders de paridade gera
uma hipótese para o padrão de sub bloco de carga de m bits. Os padrões
de hipóteses de bit são comparados e se eles diferirem, os dois decoders
trocam as probabilidades que eles têm por cada bit na carga de m bit hipotético. Cada decoder então incorpora as estimativas de probabilidades
derivadas para os bits de outros decoders para gerar uma nova hipótese
para m. Eles então comparam as novas hipóteses até que um acordo seja
estabelecido.
156
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Esse processo interativo continua até que os decoders alcancem uma solução voltada para m ou na qual eles aceitem ser corrigidos. Uma característica de alguns decoders Turbo é que a BER correta pode ter um piso onde
a BER não aumenta com o aumento no S/N, mas essa BER é tipicamente
projetada para ser muito melhor do que a BER exigida.
10.5 Codificação de Canal; Dispersão de Energia
Dados binários seriais naturais são inadequados para transmissão por várias razões. Execuções de bits idênticos causam deslocamentos DC e falta
de bit clock. Não há controle do espectro e a largura de banda necessária
é muito grande. Na prática em sistemas de transmissão e a cabo, é necessário um esquema de modulação chamado código de canal. Esquemas
de modulação digital são discutidos na Secção 9. A Figura 10-6 mostra a
aplicação desses princípios para um modulador 64QAM.
157
Seção 10
Nos esquemas descritos acima, o espectro do sinal transmitido é dependente de sinal. Algumas partes do espectro contêm alta potencia e causam
interferências a outros serviços, enquanto que outras partes do espectro
podem conter baixa potencia e serem susceptíveis a interferência. Na prática, aleatoriedade é necessária para de-correlacionar o espectro transmitido do conteúdo de dados. A Figura 10-7 mostra que quando aleatoriedade ou dispersão de potencia é utilizada, uma seqüência pseudo-aleatória
é adicionada ao dado serial antes que ele seja colocado no modulador. O
resultado é que o espectro transmitido está como ruído com relativamente
estatísticas estacionárias. Claramente, uma seqüência idêntica e síncrona
deve ser subtraída no receptor como mostrado. Aleatoriedade não é tipicamente (DVB e ATSC) aplicada aos padrões de sincronismo como os bytes
de sincronismo TS, para detecção simplesmente, mas isso não é sempre
verdade. Por exemplo, o novo padrão da China realiza a aleatoriedade nos
bytes de sincronismo TS (carga agnóstica) e determina o tempo de frame
da sincronização de símbolo.
10.6 Codificação Interna
O código interno de um sistema de FEC é projetado para prevenir erros aleatórios de redução de potência do esquema de intercalamento. Um código
interno adequado pode prevenir tais erros dando um aumento aparente ao
SNR da transmissão. Típicos de códigos internos são códigos convolucionais onde, por exemplo, um bit extra é adicionado baseado na seqüência
de bit anterior. A razão de bits de dados para o total de bits é chamada de
158
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
taxa de código convolucional. Em codificação Trellis (desenvolvida por G.
Ungerboeck em 1982), que pode ser utilizada com sinalização de muitos
níveis, o código convolucional é combinado com mapeamento de símbolo
de constelação onde vários símbolos de muitos níveis são associados em
um grupo. A forma de onda que resulta de um grupo particular de símbolos é chamada de “Trellis”. Se cada símbolo pode ter oito níveis, então
em três símbolos pode haver 512 Trellises possíveis. Antes de Ungerboeck,
a codificação interna convolucional era independente do mapeamento do
símbolo ou constelação, como na Figura 10-8. Com a combinação dos processos, aumentou substancial o ganho de codificação efetiva ou de S/N.
Na codificação Trellis, os dados são codificados de tal forma que somente
certas formas de ondas Trellis representem dados válidos. Se somente 64
dos Trellises representam dados livre de erro, então dois bits de dados por
símbolo podem ser enviados ao invés de três.
O bit remanescente é uma forma de redundância porque Trellises que não
sejam os corretos 64 devem ser devido a erros. Se um Trellis é recebido no
nível no qual um dos símbolos é ambíguo devido a ruído, a ambigüidade
pode ser resolvida porque o nível correto deve ser aquele que fornece um
Trellis válido. Essa técnica é conhecida como decodificação de probabilidade máxima, e ficou conhecida por A. Viterbi.
Os 64 Trellises válidos devem ser diferentes o quanto possível para fazer
com que o sistema continue funcionando com uma razão de sinal-ruído
mais baixa. Se o codificador Trellis comete um erro, o codificador externo
corrigirá o erro.
Em DVB, codificação interna convolucional padrão Viterbi pode ser utilizada. A Figura 10-8 mostra que seguindo o intercalamento, os dados são
alimentados em um registrador de deslocamento. O conteúdo do registrador de deslocamento produz duas saídas que representam verificações
diferentes de paridade nos dados de entrada para que os erros de bit possam ser corrigidos. Certamente, haverá dois bits de saída para cada bit de
entrada; portanto, o codificador mostrado é descrito como um codificador
de ½ taxa. Qualquer taxa entre 1/1 e 1/2 ainda permitiria a transmissão
do dado original, mas a quantidade de redundância variaria. Falha para
transmitir 1/2 em toda saída é chamada de punção (puncturing) e permite
o equilíbrio necessário entre o bit rate e a potência de correção.
159
Seção 10
10.7 Transmitindo Dígitos
A Figura 10-9 mostra os elementos de um transmissor digital ATSC. A informação de serviço descrevendo a transmissão é adicionada ao Transporte
Stream. Esse stream (exceto para o byte de sincronismo 0x47 do pacote) é então aleatorizado antes de rotiar para um codificador externo de
correção de erro R-S que adiciona bytes redundantes aos bytes de dados
de cada pacote TS. Um processo de intercalamento convolucional então
reordena os dados de tal forma que esses dados adjacentes do Transporte
Stream não sejam adjacentes na transmissão.
Um codificador interno trellis e intercalamento é então utilizado para
produzir um sinal de muitos níveis para o modulador de banda lateral
vestigial (VSB). Em ATSC o byte de sincronismo 0x47 realmente nunca é
codificado e enviado pelo transmissor.
No lugar deste byte em especial, nível 2, um pulso de sincronismo é enviado e o receptor sempre insere um 0x47 nessa posição, logo, ele não
tem que decodificar o byte de sincronismo de aleatoriedade, codificação
R-S e codificação Trellis.
A Figura 10-10 mostra um transmissor DVB-T. A Informação de serviço é
adicionada como antes, seguida pelo estagio de aleatoriedade para dispersão de potencia (exceto para o pacote de byte de sincronismo 0x47).
Símbolos externos de verificação de R-S são adicionados antes do interca-
160
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
lamento. Após o intercalamento, o processo de codificação interna acontece, e os dados codificados alimentam um modulador COFDM. A saída
do modulador então é convertida ascendentemente “upconverted” para
produzir a saída de RF.
No receptor, o bit clock é extraído e usado para controlar o tempo de todo
o sistema. A codificação de canal é reservada para obter os dados não
processados mais os erros de transmissão. A codificação interna corrige
erros aleatórios e pode identificar grandes erros para ajudar o codificador
externo após de-intercalamento. A aleatoriedade é removida e o resultado
é o transporte stream original. O receptor deve identificar o PAT, a Informação de Serviço (SI) e PMT que o PAT indica para que seja informado à
tela o que está disponível no Transporte Stream e o programa selecionado
pode ser localizado no multiplex.
161
Seção 11
Transmissão de Dados
A seção anterior focou as bases do transporte stream MPEG-2 e sua principal aplicação de transporte de vídeo comprimido e áudio stream, similar
às transmissões analógicas convencionais. Porém uma das maiores vantagens de um transporte stream MPEG-2 é que ele pode transportar dados
de vídeo e áudio. Embora os sistemas de televisão analógicos tiverem a
capacidade e realizar o transporte de dados, suas larguras de banda máxima de dados são muito limitadas comparadas com as possíveis larguras de
banda de um transporte stream.
Essa seção proverá um resumo dos diferentes métodos do MPEG-2 e as
variantes regionais (DVB, ATSC e ARIB (Associação de Indústrias de Rádio
e Negócios)) para encapsular dados em um transporte stream.
A próxima secção irá, portanto complementar como os dados são apresentados à tela pelo “Set Top Box” (que não estritamente está no escopo do
MPEG-2).
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
11.1 Aplicações
Há muitos tipos diferentes de aplicações para transmissão de dados sobre
um transporte stream, e cada tipo de aplicação pode requerer tipos diferentes de dados com exigências de tempo diferentes.
Por exemplo, o tipo de dado envolvido no envio de tráfego de internet é
muito diferente do necessário para fornecer uma atualização de “Firmware”
para um “Set Top Box”. Um tempo irreal de atualização de informação de
validação possui exigências de tempo muito diferentes de uma aplicação
de questionário onde respostas e perguntas são enviadas em uma sincronização fechada com o vídeo/áudio.
MPEG-2 fornece uma grande variedade de técnicas diferentes para enviar
dados. A escolha da técnica é uma troca entre a otimização da largura de
banda (e sendo assim o custo do fornecimento do serviço) enquanto as
exigências de tempo da aplicação são atendidas.
Os tipos de aplicações podem ser vagamente agrupados pelas suas exigências de tempo real e níveis de interatividade como descrito nas próximas
secções.
11.1.1 Dados Relativos ao Programa
A especificação básica do MPEG-2 não possui qualquer provisão para um
EPG que pode fornecer informação sobre os canais de TV ou programas individuais que estão sendo transportados no transporte stream. As variantes regionais ATSC, DVB e ARIB têm utilizado a sintaxe de tabela privada
de MPEG-2, tal como a EIT para fornecer dados adicionais sobre programas.
É necessário transmitir essas tabelas em intervalos regulares e fornecer
o tempo inicial, sinopse e outras informações sobre serviços e programas.
Porém, mesmo esse nível de informação pode não ser suficiente e, portanto, há muitos EPGs de proprietário que estendem a quantidade de informação disponível e também fornecem facilidades como procura aprimorada,
canais favoritos e outros serviços adicionais. Esses EPGs aprimorados são
geralmente residentes permanentes no “Set Top Box” e utilizam uma com-
165
Seção 11
binação da informação da tabela padrão e formatos de dados de proprietário. Geralmente essas informações de programa não são críticas em relação
ao tempo e técnicas de bit rate muito baixo são utilizadas. Em muitos casos
os dados são projetados para serem gravados pelo “Set Top Box”, logo eles
aparecem e imediatamente são disponibilizados para o usuário, mesmo se o
tempo de transmissão atual total for relativamente longo.
11.1.2 Dados Oportunistas
Raramente é possível utilizar a largura de banda completa de um transporte
stream com stream de vídeo e áudio, principalmente por causa da necessidade de manipular a restrição complexa de remultiplexação ou inserção
de tabela. Sistemas de dados oportunistas se utilizam dessa capacidade de
sobra pela substituição de alguns pacotes nulos com dados úteis. Porém, a
largura de banda desses dados não pode ser garantida e podem ser muito
pequenas. Sendo assim, somente podem ser utilizados para aplicações sem
restrição de tempo real.
Algumas aplicações utilizando esse tipo de dado poderiam ser transferências
de arquivos, tais como listas de preço ou distribuição de dados de nível
de estoque através do satélite para todas as localizações da companhia. O
único constrangimento é que a transferência deve ser noturna, portanto a
baixa largura de banda e sendo assim serviços de dados oportunistas de
baixa qualidade podem ser utilizados.
11.1.3 Rede de Dados
Uma aplicação muito comum é a utilização de transporte stream de transmissão como uma portadora de dados de rede. No caso mais simples, um
link de satélite proveria uma interconexão de largura de banda muito
alta entre duas companhias geograficamente separadas. Esse link de rede
poderia ser utilizado para transportar virtualmente qualquer tipo de protocolo de rede.
Porém, o uso atual mais comum é para Downloads de internet de alta
velocidade utilizando somente o protocolo IP. Nesse cenário uma cone166
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
xão de internet de baixa velocidade é utilizada para enviar comandos e
solicitação de página para um servidor de internet. Porém, o servidor de
internet ira então rotiar qualquer dado de solicitação através de um link
de satélite em velocidade muito alta do que as possíveis por um ISDN ou
uma conexão média de banda larga.
Uma variante desta aplicação é utilizada quando somente um canal de
retorno lento for permitido, nesse caso, por exemplo, dados relativos ao
programa de TV atual podem ser entregues em demanda sobre o sinal
transmitido sem que os usuários estejam cientes de que estão acessando
um site de internet.
11.1.4 TV Aprimorada
Em uma aplicação de TV aprimorada não há canal de retorno, e, portanto
todos os dados requeridos devem ser enviados sobre o transporte stream
transmitido. Apesar dessa imposição de restrições óbvias do projeto e da
faixa de uma aplicação, ainda é possível produzir uma faixa muito larga
de jogos, questionários e informações comerciais onde os usuários podem
estar completamente sem conhecimento de que toda a interconexão é somente com a TV. Esse é especialmente o caso com o material pré-gravado,
onde é relativamente direto sincronizar dados “Pop-ups”, tais como perguntas e respostas de questionários, com áudio/vídeo.
11.1.5 TV Interativa
A principal diferença entre TV aprimorada e interativa é que a TV interativa possui um canal de retorno para enviar ou receber dados altamente
personalizados. Isso amplia muito a faixa de aplicações, incluindo a possibilidade de prover interação em tempo real com outras telas, tais como
jogos ou votação de muitos jogadores, assim como um retorno realmente
personalizado.
Uma nova extensão deste tipo é quando uma conexão de internet de alta
velocidade é combinada com um canal de retorno verdadeiro. Isso oferece
167
Seção 11
uma integração continua de dados personalizados com transmissão de
televisão, permitindo simultaneamente entregar VOD de programação ou
outro material
11.2 Encapsulamento de Conteúdo
O primeiro estágio em uma transmissão de dados é encapsular os dados
em uma forma adequada para transmissão em transporte stream. Há uma
grande variedade de diferentes tipos de dados e, portanto os padrões
MPEG-2 provê muitos métodos diferentes de encapsulamento. Os vários
países especificam padrões, tais como o DVB e o ATSC que aprimoraram
mais as opções básicas do MPEG-2 para atender as exigências regionais,
mas todos esses são construídos na essência dos padrões MPEG-2.
11.2.1 Encapsulamento de Dados MPEG
11.2.1.1 Dados “Piping”
Dados Piping são utilizados para a entrega assíncrona simples de dados
para um Set Top Box na rede. Sua aplicação principal é enviar dados de
proprietário em sistemas fechados onde um Set Top Box foi pré-programado para procurar por dados específicos em certos PIDs. Os dados são
transportados diretamente na carga de pacotes TS MPEG-2 sem nenhuma
informação de tempo. Uma aplicação típica pode ser uma atualização noturna de níveis de estoque de produtos para todos os terminais de vendas
em uma região.
11.2.1.2 Data Streaming
O data streaming é utilizado para a entrega de ponta a ponta de dados em
modo assíncrono, síncrono ou sincronizado. Os dados são transportados
como pacotes PES em um método similar aos serviços de áudio e vídeo.
De fato, vídeo e áudio são realmente exemplos específicos de um serviço
168
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
de streaming de dados síncrono. Como os pacotes PES são sinalizados nas
tabelas de informação de serviço (SI) e podem transportar informação de
tempo, essa abordagem é mais flexível do que o dado Piping, mas, na prática é utilizado em um modo similar em sistemas fechados de proprietário.
11.2.1.3 DSMCC – Controle e Comando de Media de Gravação de Dados
A especificação de MPEG-2 DSM-CC de (ISSO/IEC 13818-6) fornece mais
formas de transmissão de dados nas secções de uma tabela privada de um
padrão MPEG-2. Foi originalmente desenvolvido como uma forma de entrega de VOD de material de programa através de uma rede no Transporte
Stream. O protocolo foi estendido para possibilitar a entrega sob demanda
(utilizando o paradigma MPE) assim como a entrega periódica (utilizando o
paradigma carrossel) de dados através de múltiplos fornecedores de rede.
11.2.1.4 MPE – Encapsulamento de Multi-Protocolo
Encapsulamento de Multi-Protocolo (MPE) permite um Datagrama de qualquer protocolo de comunicação para ser transmitido na secção de uma
tabela DSM-CC através de um Transporte Stream. Um Datagrama é uma
estrutura lógica que contém todas as informações sobre os dados, por
exemplo, seu tamanho e conteúdo, onde ele deve estar indo e como ele
deve chegar lá.
A aplicação mais comum é o tráfego de internet onde o Datagrama TCP/
IP transporta informação sobre o endereço lógico (IP) da fonte e destino
(alvo) assim como o endereço de controle de acesso de media (MAC) (um
único endereço de rede) do alvo. Porém MPE suporta quase qualquer tipo
de protocolo de rede e é certamente não restrito a somente dados TCP/
IP. Na verdade, o padrão DVB-H usa MPE para stream de áudio e vídeo
e elementar stream para telefones celulares. DVB-H tipicamente utiliza
os protocolos UDP/IP ao invés de TCPÍP, conforme os dados estão sendo transmitidos. Muitas implementações também utilizam o protocolo de
tempo real (RTP) para facilitar a sincronização de áudio e vídeo (sincro-
169
Seção 11
nismo labial). Um exemplo de uma quantidade de protocolos DVB-H é
ilustrado na Figura 11-1.
11.2.1.5 Carrosséis
Carrosséis são destinados para a transmissão periódica de informação sobre transporte stream. Embora o conteúdo de um carrossel mude em resposta a um pedido de um usuário, ele é mais usual para o carrossel se for
regularmente repetido independentemente se qualquer objeto observado
ou se está necessitando desse dado nesse momento.
Um objeto necessita de um item de dado, a expectativa é de que ele simplesmente espere até que seja retransmitido.
Há dois tipos diferentes de carrosséis, carrosséis de objeto e carrosséis de
dados, e as principais diferenças entre eles são:
Carrosséis de dados contêm somente módulos de dados de conteúdo não especificado; cabe ao objeto saber o que fazer com os dados que ele recebe.
Carrosséis de objeto contêm objetos de dados identificáveis tais como
imagens, arquivos de texto, ou arquivos de aplicações executáveis e contêm uma lista de diretório de todos os objetos no carrossel.
Carrosséis de dados são frequentemente utilizados para downloads de
novos softwares de sistema para um Set Top Box considerando que um
carrossel de objeto é utilizado por serviços de compra, EPGs e para enviar
aplicações e jogos.
Em ambos os carrosséis de dados e de objetos, os itens são repetidos em
intervalos periódicos. Porém, carrosséis de objetos facilitam a variação da
taxa de repetição de objetos individuais. Por exemplo, o EPG para as próximas
horas de observação pode repetir muito mais do que para o próximo mês. As
taxas de repetição para objetos pode ser uma decisão comercial realizada pelo
provedor de serviço para maximizar a utilização da largura de banda.
Ambos os carrosséis de dados e de objetos são baseados nas extensões
DSM-CC para as especificações de MPEG-2 ISSO13818-6, com extensões
específicas para os sistemas ATSC, ARIB e DVB.
170
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
11.2.1.6 Carrosséis de Dados
Um carrossel de dados não contém qualquer item individual ou diretório
de estrutura, mas um único bloco monolítico de dados. É de responsabilidade do usuário alvo, saber o que o dado é e o que fazer com ele.
A estrutura é mostrada na Figura 11-1. Um único item completo de dados
é definido como um “módulo”. Módulos de transmissão são separados em
um ou mais blocos. Cada bloco é enviado como uma secção na carga de
uma mensagem de Bloco de Dados de Downloads (DDB), que segue a
sintaxe da tabela privada definida de MPEG. A mensagem DDB pode ser
enviada em qualquer ordem ou em qualquer periodicidade; sendo assim
um mecanismo é necessário para identificar em quais módulos os DDBs
pertencem.
Uma mensagem de Indicação de Informação de Downloads (DII) é usada
para ligar os DDBs juntos em um módulo. A informação para mais do que
um módulo pode estar em uma única mensagem de DDI; isso forma um
grupo. Usualmente um grupo conterá módulos de dados relacionados logicamente.
171
Seção 11
Se houver mais módulos relacionados do que o que pode ser agrupado em
uma única mensagem DDI, um Supergrupo de mensagens múltiplas de DDI
pode ser formado. Esses são referenciados por uma mensagem de Início de
Servidor de Downloads (DSI).
Um carrossel de dados de uma camada contém um número pequeno de
módulos referenciados em um único DLL.
Um carrossel de dados de duas camadas contém mensagens DSI referenciando uma ou mais mensagens DLL. Ele pode ser menor ou maior do que
um único carrossel.
Uma utilização típica para um carrossel de 2 camadas seria para suporte
de multi-linguagem. Um grupo pode conduzir o programa executável ao
longo de um módulo, com o texto em Inglês em um segundo módulo.
O segundo grupo poderia então somente transportar um único módulo
com o texto em Francês somente, salvando o excedente da repetição do
módulo de aplicação.
172
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
11.2.1.7 Carrosséis de Objetos
Carrosséis de objetos são utilizados para transmitir itens identificáveis
individualmente de dados de identidade de um servidor para um receptor.
Esses itens são chamados de objetos e podem ser imagens, arquivos de
texto, programas, um diretório para um vídeo PID, uma lista de diretório
ou gateway de serviço que são disponíveis no carrossel. Objetos Relacionados, agrupados e enviados juntos, como um único carrossel, formam
um domínio de serviço. Objetos podem ser enviados tão freqüentemente
quanto requeridos e diferentes objetos podem ter taxas de repetição muito diferentes.
A característica principal de carrosséis de objetos é que todos os objetos são enviados utilizando o paradigma BIOP (transmissão de protocolo
inter-ORB). Desenvolvedores de softwares convencionais utilizaram ORB
(Corretagem de Requisição de Objeto) por muitos anos. BIOP estende o
sistema básico para possibilitar a identificação e utilização de objetos em
um ambiente de transmissão através de redes diferentes de provedores de
serviços diferentes.
Na essência, um BIOP é um método para trocar informações sobre um objeto que está sendo transmitido no carrossel. O BIOP pode conter o objeto
ou simplesmente um indicador de objeto. O BIOP também pode indicar
como utilizar esse objeto, providenciando inclusive um link para download do software de aplicação necessário para utilizar esse objeto.
Carrosséis de objeto são similares aos carrosséis de dados, nesse grupo de
objetos eles são combinados juntos para formarem módulos. A metodologia básica de carrosséis de dados é então utilizada para transmitir esses
dados utilizando blocos, módulos e DLLs. A principal diferença é que o DSI
é utilizado para apontar diretamente para o objeto diretório do Gateway
de Serviço, que é utilizado para buscar todos os outros objetos no carrossel. Esse arranjo é mostrado na Figura 11-2.
173
Seção 11
11.2.2 Encapsulamento de Dados DVB
DVB adotou o padrão de métodos de encapsulamento MPEG-2 com pouquíssimas variações, principalmente para remover possíveis ambigüidades
provenientes das especificações originais (EN 301 192).
Isso inclui a especificação de um formato MPE ligeiramente diferente e a
imposição de restrições no tamanho de pacote máximo de dados PES.
DVB também tem a responsabilidade de garantir que não haverá ambigüidades entre serviços de dados que utilizam IORs fornecendo uma única
localização de redes IDs e servidores IDs.
DVB também definiu dois formatos PES de streaming de dados específicos para legenda de DVB e para “tele texto” de DVB e possui um formato de padronização para utilização do carrossel de dados para transmitir
atualizações de firmware de set top Box (STB). O DVB também definiu
muitos descritores de dados e adicionalmente tabelas que são discutidas
nas secções abaixo. A maioria destes complementos úteis é habilitar o
descritor a fornecer uma máscara simples para o destinatário MAC em um
Datagrama MPE. Isso possibilita um suporte simples para estreito, multi
ou serviços MPE broadcast.
11.2.3 Encapsulamento de Dados ATSC A/90
A especificação ATSC A/90 inclui algumas diferenças significantes de ambos os padrões DVB e MPEG-2. Primeiro A/90 não utiliza carrosséis de
objeto e o sistema CORBA/IOR, mas ao invés disso ele utiliza uma tabela
separada, A adição mais útil dessas Tabelas de Pesquisas de Rede (NRT),
é fornecer informação vinculativa que liga um dado referenciado com a
sua localização real. Longe de uma indiscutível simplificação da operação
do sistema, ele também habilita suporte direto para URLs de internet que
não estão disponíveis no DVB ou MPEG.
Em segundo, o A/90 utiliza somente carrosséis de dados que podem efetivamente conter somente um único objeto. O formato do carrossel de dados foi estendido para opcionalmente incluir um cabeçalho de adaptação
174
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
DSM-CC que pode conter um PTS para habilitar a distribuição de dados
síncronos. O conceito MPEG de NPT em um programa não está disponível.
O A/90 também define tipos de dados adicionais, incluindo suas próprias
versões de DSM-CC MPE assim como permiti que dados IP sejam transmitidos utilizando o formato PES.
Principalmente devido a essa falta de suporte para carrosséis de objetos,
houve pouca adaptação de A/90.
11.2.4 Encapsulamento de Dados ARIB
O padrão japonês ARIB B24 é indiscutivelmente o mais simples de todos
os sistemas. Ele não suporta dados “Piping” ou carrosséis de objetos. Ao
invés disso, ele utiliza o formato de carrosséis de dados para enviar um
ou mais títulos pela imposição de uma estrutura de diretório específica
no conteúdo do carrossel de dados. ARIB não permite referências para
qualquer título que não seja referenciado diretamente no PMT e, portanto,
não tem a necessidade de ligações do tipo de NRT ou CORBA (common
object request broker architecture - arquitetura de corretor de requisição
de objeto comum).
175
Seção 11
11.3 Conteúdo de Dados Broadcasting
11.3.1 Como Carrosséis de Objetos são Transmitidos
Uma completa explanação está além do escopo desse documento; a descrição seguinte é uma abordagem muito simplificada e rápida. (Veja também a Figura 11-3.) Diretório, arquivo e objetos stream são enviados no
mesmo método que o carrossel de dados, por exemplo, em módulos separados em blocos, eles são enviados como seções na carga de um Download
Data Block DDB.
Uma mensagem DSI Download Server Initiate contém a localização de um
objeto de diretório especial chamado de gateway de serviço. Mensagens
DSI são referenciadas no SI e, portanto, formam o ponto de início para
elaborarem o que está em um específico carrossel de objeto. O DSI referencia o DLL que referencia o DDB que contém o módulo no qual o objeto
gateway de serviço é enviado.
Objetos são referenciados em um objeto diretório utilizando IORs interoperable object references (referências de objetos inter operáveis). Neles
estão todas as informações necessárias para acessar um objeto no mesmo
domínio de serviço ou em outro carrossel de objetos (incluindo aquelas
transmissões em outros Transporte Streams).
O nome dado para essa estrutura no IRO que descreve a localização de um
objeto é chamado de “Profile Body” que são divididos em dois modos:
BIOP Profile Body – utilizado somente por objetos dentro desse domínio
de serviço.
Profile Body de Poucas Opções – utilizado por objetos em outros servidores ou transporte streams.
Um IOR pode conter mais do que um Profile Body se o objeto estiver
disponível em mais do que um carrossel e o Set Top Box pode escolher o
acesso mais fácil/rápido.
Derivações são utilizadas para resolver o problema de que os reais PIDs utilizados para transmitir streams de DLLs, DDB e vídeo/áudio não são conhecidos
até imediatamente antes da transmissão. No carrossel, portanto, todas as
176
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
referências para PIDs são realizadas somente em relação de uma derivação; a
associação entre uma derivação e um PID real é realizada no SI. Isso simplifica muito os streams de remultiplexação através de redes diferentes.
11.3.2 Sincronização de Dados MPEG-2
Há uma necessidade das transmissões de dados serem sincronizadas de
alguma forma com programas que estão sendo transmitidos. Não é realmente prático utilizar o fornecimento em tempo real de um dado como o
método de sincronização, exceto em aplicações de tempo real não criticas
tais como atualizações de placares de esporte onde poucos segundos ou
mais de erro não são significantes na prática. Porém, mesmo um segundo
ou dois poderiam ter um grande impacto em, por exemplo, em programas
de perguntas onde a revelação muito rápida da resposta poderia ter sérias
conseqüências.
MPEG-2 fornece mecanismos de tempo diferentes para os tipos diferentes
de encapsulamento de dados. Dados Piping e MPE não suportam qualquer
mecanismo de tempo sem ser entregue em tempo real de dados.
Pacotes PES de streams de dados podem conter marca de tempo de apresentação (PTS) e possivelmente decodificação de marca de tempo (DTS),
marcas de tempo para sincronização com de sistema de clock derivados
dos valores de PCR no stream. O mecanismo é exatamente o mesmo para
sincronização e decodificação de áudio e vídeo.
Carrosséis de dados MPEG-2 não possuem informação de tempo. Porém,
carrosséis de objetos podem conter um objeto especial chamado de “evento stream” que contém informação de tempo relativa ao tempo de execução normal (NPT) de um programa de televisão individual. O NPT não
é o mesmo que o PCR, como o clock NPT pode ser pausado durante, por
exemplo, uma parada comercial. Em outras palavras, o NPT de um programa pode permanecer em completa sincronização com a linha de tempo do
programa, não considerando quando for transmitido ou como é dividido
em paradas comerciais.
177
Seção 11
11.3.3 Sinalizando Conteúdos de Dados
Serviços de dados são primeiramente encapsulados de acordo com um
padrão nacional ou internacional relevante e depois transmitidos através
de um transporte stream para um STB.
Porém, a fim de se utilizar um serviço de dados, o STB deve primeiramente saber que um serviço de dados existe e quando ele estará disponível
(“notificação”). Em segundo lugar, ele deve encontrar e identificar os
vários componentes do serviço de dados (“sinalizando”) quando ele está
realmente sendo transmitido. O MPEG-2 somente define o PAT e PMT, logo,
toda a notificação e sinalização podem ser realizadas somente pela inspeção do tipo stream elementar e alguns descritores muito básicos.
Apesar de ser utilizável, há um grande número de limitações para utilizar
somente o PAT e PMT, serviços de sincronismo de dados ou eventos não
são possíveis. Ambos DVB e ATSC possuem, portanto, tabelas adicionais
definidas que significantemente aumentam a quantidade de informação
fornecida sobre qualquer serviço de dados presente. Note que em todos
os casos o transporte de dados PIDs deve ser sinalizado como presente na
entrada de pelo menos um PMT.
11.3.3.1 Notificação de DVB
O DVB considera serviços de dados como sendo associados com um evento
individual (por exemplo, um simples programa de perguntas) ou como
parte de um serviço, tal como um canal de esporte. Na realidade ele está
sujeito ao paradigma MPEG-2 onde um serviço de dados é logicamente
indistinguível de um stream de áudio ou vídeo convencional.
Ele, portanto, possui definido simplesmente um número de descritores
adicionais que são colocados na tabela EIT ou na tabela SDT que notificam que um serviço de dados ou evento estará disponível. A localização
real de componentes e serviços de dados é então sinalizada utilizando as
técnicas descritas acima.
A única tabela nova é a tabela de informação de aplicação, que é definida
para utilização somente com serviços MHP. Ela contém uma lista de todas
178
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
as aplicações em um carrossel, um direcionador para sua classe de boot e
opcionalmente permite que as aplicações sejam auto iniciadas ou encerradas em uma mudança de canal.
11.3.3.2 Notificação ATSC
Em contraste com o DVB, a especificação de A/90 trata os eventos e serviços de dados totalmente separadamente dos serviços de áudio e vídeo e
adicionou muitas tabelas para atender esse paradigma. Essas são as tabelas de serviços de dados (DST), que listam os serviços de dados que estão
sendo enviados e a tabela de evento de dados (DET). A DET é exatamente
análoga ao EIT para informação de sincronismo de programa convencional
e utiliza uma sintaxe idêntica. Uma terceira tabela, a tabela de serviços de
termos longos, é similar a DET, mas, fornece informação de sincronismo de
termo longo além do máximo de 16 dias fornecidos pela DET.
11.4 Apresentação de Conteúdo
O último estágio de uma transmissão é rodar a aplicação no STB e apresentar a informação na tela. Deve ser percebido que um Transporte Stream
é inteiramente agnóstico ao conteúdo real que ele está transportando,
somente se ele for encapsulado no protocolo correto para vídeo, áudio
ou dados. Em outras palavras, a próxima seção é completamente separada
dos padrões de transmissão de dados ATSC, DVB ou MPEG-2, como aplicações e dados são fornecidas somente pelo Transporte Stream para serem
utilizadas pelo STB.
11.4.1 Set Top Box “Middleware”
Em alguns casos, como os dados de internet, os ambiente nos quais os dados serão utilizados são auto definidos ou relativamente sem importância.
Porém, em muitos casos, tais como jogos e aplicações, é crítico que aplicações de dados sejam construídas para rodarem apropriadamente no STB
179
Seção 11
alvo. Em muitos casos o STB terá um software de interface de programa de
aplicação (API) para rodar que conecte a função de alto nível proveniente
da aplicação para os drivers do software que controlam o hardware real
no box e ligam ao dados no Transporte Stream. Essas camadas de software, que se acomoda entre a aplicação e os drivers, são conhecidos como
“Middleware”.
Há, porém, uma grande variedade de STB em utilização no mundo. Seus
desempenhos e conjuntos de características são muito básicos permitindo
somente decodificar e mostrar uma imagem de definição padrão básica
através das últimas unidades com alta capacidade de processamento. Algumas unidades modernas possuem conjuntos de chips de gráficos de alto
desempenho e rodam sistemas de operação completos tais como Linux
ou Windows. Eles são equipados com drives de disco rígido para gravação
de programas, possuem DVD ROMs para reprodução de DVD e pode rodar
programas convencionais como pacotes da Microsoft ou Star Office.
Um simples gráfico projetado para ser mostrado em um novo boxe de
alto desempenho pode não estar disponível em uma unidade mais antiga.
Desenvolvedores de aplicações teriam que criar programas completamente
diferentes utilizando linguagens de programação diferentes para cada tipo
de Set Top Box, Middleware e sistema operacional; claramente ineficientes
e aumentando o custo do desenvolvimento. Houve muitas tentativas para
padronizar boxes ou pelo menos suas funcionalidades mínimas, onde a
funcionalidade do Box é claramente definida e controlada pelos próprios
broadcasters de uma forma muito fechada.
Outra abordagem foi considerada por companhias que fornecem solução
completa através da oferta de um Middleware com as ferramentas de
desenvolvimento de aplicação para desenvolver programas compatíveis.
Esses sistemas são mais abertos do que o Middleware pode licenciar a
operar em uma variedade de diferentes set top boxes com desempenhos
diferentes de características à medida que eles atendem a funcionalidade
básica exigida.
Um esquema de transmissão de dados de proprietário e um serviço interativo “Walled Garden” têm sido muito utilizados como um sistema interativo, fornecendo uma interatividade real através de um canal de retorno.
180
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Ofertas de outras companhias também são muito utilizadas na Europa e
aplicações podem ser fornecidas utilizando carrosséis de objetos padrões.
Há muitos outros sistemas de proprietário.
Um padrão aberto é um ambiente de aplicação definido pelo “Multimedia
Hypermedia Experts Group” (MHEG). Uma variante particular do MHEG-5
é melhorada para aplicações de memória de baixo desempenho e Set Top
Boxes em particular, O MHEG-5 possui alguns êxitos, notavelmente nos UK
onde é utilizado para transmissões terrestre para STBs.
A tendência atual é, portanto, em direção à padronização em um Middleware aberto com um API de programação claramente definido. Isso
beneficia o consumidor que pode escolher uma ampla variedade de Set
Top Boxes enquanto permite aos desenvolvedores de aplicação reutilizar
o código.
11.4.2 Histórico de Padrões Middleware Abertos
Dois “Front-runners” por um padrão de Middleware global emergiu rapidamente, a Multimedia de Plataforma Doméstica (MHP) do DVB e o Ambiente
de Software de Aplicação de TV Digital (DASE) do ATSC. Ambos os padrões
construídos sobre seus respectivos padrões de encapsulamento de dados,
EN 301 192 para o DVB e A/90 para ATSC, como ilustrado na Figura 11-4.
A falta de interoperabilidade e suporte de carrosséis de objetos fez com
que o DASE não fosse largamente adotado.
Laboratórios de Cabos nos EUA decidiram desenvolver um padrão que endereçam essas deficiências para o Mercado de TV a Cabo. Eles colaboraram
com o DVB em seu trabalho em padrões Middleware abertos, levando as
especificações de MHP que estão sendo utilizadas como base para uma
Plataforma de Aplicações de Cabo Aberto (OCAP) em janeiro de 2002.
Com muitas organizações em todo o mundo se empenhando pela mesma
meta na criação de sistemas Middleware abertos, a procura por alguma
forma de harmonização passou a fazer sentido. Para uma indústria que é
global como a indústria de televisão, isso é muito importante. O item de
trabalho do GEM (Executável Globalmente MHP) veio após uma necessida-
181
Seção 11
de dos Laboratórios de Cabos para considerarem a unificação MHP com o
padrão DASE original do ATSC.
A especificação GEM foi primeiramente publicada em Fevereiro de 2003 e
é um subconjunto de MHP. Foi projetada para questões de interoperabilidade entre as várias especificações de Middleware de padrão aberto. Essas
questões incluem:
- Problemas de interoperabilidade que envolve padrões Middleware anteriores,
- Elementos do sistema de transmissão; em particular, modulação, sistemas, mecanismos de fornecimento e sistemas CA,
- Exigências de mercado de operador de rede específicas.
O ATSC desenvolveu então o padrão ACAP (Advanced Common Application
Platform). O ACAP foi primeiramente baseado no GEM e DASE, com funcionalidades adicionais do OCAP. Na verdade, o equipamento que é compatível com o ACAP, também será com os padrões GEM e OCAP. O ACAP foi
planejado para fornecer acesso às várias vantagens desses padrões para os
mercados de ATSC, sendo assim substituiu o obsoleto DASE.
182
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
11.4.3 A Plataforma Doméstica de Multimedia DVB (MHP)
A plataforma doméstica de multimedia (MPH) define um API muito abrangente com vários perfis e níveis diferentes que permiti um desempenho e
custo de STB e serviços diferentes. São possíveis TV aprimorada e TV interativa (com canais de retorno), e ainda permite conexões de internet, que de
outra forma não é diretamente possível pelos outros padrões DVB.
Aplicações de MHP são fornecidas utilizando o padrão DVB de carrosséis de
objetos e notificadas utilizando a tabela AIT descrita anteriormente. Isso
permite que as aplicações sejam auto iniciadas, pausadas ou terminadas
e para buscas serem explicitamente gravadas com o intuito de acelerar os
tempos de “boot” de aplicação. O padrão de MHP é baseado na tecnologia
Java e engloba um conjunto de APIs derivados dos padrões existentes, tais
como TVJava, HAVI (interoperabilidade vídeo e áudio doméstico) e DAVIC
(Conselho Visual de áudio Digital).
Aplicações podem ser baseadas tanto em Java ou em HTML e há muitos MHP
kits de desenvolvimento de software (SDK) disponíveis de vários fornecedores diferentes. As aplicações terão que se submeter a um teste de conformidade e ser eletronicamente sinalizada para garantir a interoperabilidade e a
segurança do sistema.
O MPH Logo também é protegido e os STBs devem submeter a um processo
de conformidade antes que eles possam ser esgotados com o logo. Testes
de interoperabilidade regular foram notórios nestes dois últimos anos para
garantir que todas as aplicações MHP funcionem em todos os Set Top Box
MHP de vários lideres de fabricação.
MHP é de fato padrão na Europa, e os serviços foram iniciados oficialmente
na Finlândia em agosto de 2001. Porém, MHP não é um padrão somente
da Europa, é também adotado no mundo todo. Por exemplo, ele é usado
na Coréia do Sul para transmissão de dados via satélite e na Austrália por
transmissão terrestre.
183
Seção 11
11.4.4 ATSC Plataforma de Aplicação Comum Avançada (ACAP)
O padrão Middleware ACAP foi planejado para fornecer conteúdo e aos
autores de aplicações a segurança de que seus programas e dados serão
recebidos e rodados uniformemente em todas as marcas e modelos de
receptores. Foi planejado para aplicação em sistemas de transmissão e
recepção terrestre e sistema de TV a cabo. Em adição, a mesma arquitetura
e facilidades podem ser aplicadas para outros sistemas de transporte, tais
como o satélite.
No coração do ACAP está o GEM “Framework”. O GEM permite as variadas
organizações a obter harmonia em especificações técnicas, tais como a
seleção de uma execução única e (onde possível) um conjunto comum
de APIs. A meta é tal que as aplicações e conteúdos serão interoperáveis
através de todas as plataformas baseadas em GEM.
Apesar de outros padrões não serem completamente compatíveis com todas as especificações de MHP, GEM garante que a compatibilidade será
mantida onde for viável. O conjunto de tecnologias, onde equivalentes
funcionais são permitidas, é negociado como parte do diálogo técnico
entre o DVB e cada uma das organizações que desejam utilizar o GEM. Adicionalmente, as especificações de GEM contêm uma lista daquelas outras
especificações com as quais elas podem ser utilizadas.
Com o interesse de manter a meta de interoperabilidade, a sinalização
de serviços ACAP é puramente restrita a MPEG; isto é, somente PMTs. Ao
contrário do MHP, que inclui a sinalização específica de DVB.
ACAP suporta dois perfis de uso, um é somente Java e o outro é uma combinação de Java e XHTML (HTML estendido).
184
Seção 12
Teste de MPEG
A habilidade de analisar transporte streams existentes pela conformidade é essencial, mas essa habilidade deve ser complementada por uma
habilidade para criar transporte streams que são conhecidos para serem
compatível.
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
12.1 Requerimentos de Teste
Apesar da tecnologia de MPEG diferir dramaticamente da tecnologia que a
precedia, os requerimentos de teste são basicamente os mesmos. Em uma
base operacional, o usuário quer ter uma verificação de confidencia simples e regular que garanta que tudo esteja bem. No caso de uma falha, a
localização da falta precisa ser estabelecida rapidamente. Para o propósito
do projeto de equipamento, a natureza dos problemas deve ser explorada
em detalhes. Como com todos os testes de sinal, a sugestão é combinar a
geração de sinais conhecidos válidos para inserção em um sistema com a
habilidade de medir sinais em vários pontos.
Uma das características do MPEG que o distancia muito de equipamentos
de vídeo de transmissão tradicional é a existência de camadas de informação múltiplas, na qual se espera que cada camada seja transparente a
que está abaixo. É muito importante estabelecer em qual camada reside
qualquer falta para evitar uma procura sem resultado.
Por exemplo, se o monitor de vídeo em um decoder MPEG mostra defeitos
visíveis, esses defeitos podem ser devido a um número de possibilidades.
Talvez o encoder esteja falhando, e transporte stream esteja fornecendo
fielmente a informação de falha. Por outro lado, o encoder pode estar bom,
mas a camada de transporte esteja corrompendo os dados. No DVB, há
muito mais camadas tais como dispersão de potencia, correção de erro e
intercalamento. Tal complexidade requer uma abordagem estruturada para
a detecção de falhas, utilizando as ferramentas corretas. A discussão de
análise de protocolo de compressão dos dados nesse guia ajuda o usuário
a obter uma compreensão do assunto. Lendo outro aspecto importante
de teste para televisão comprimida, a qualidade da avaliação da imagem,
também pode ajudar. Essa última discussão foi publicada pela Tektronix,
“Um Guia para Medição de Vídeo para Sistemas de Televisão Comprimida.”
(“A Guide to Video Measurements for Compressed Television Systems.”)
12.2 Analisando o Transporte Stream
O Transporte Stream MPEG possui uma estrutura estritamente complexa,
mas um analisador tal como o da Série MTS400 da Tektronix pode sim-
187
Seção 12
plificar essa estrutura em uma apresentação lógica dos dados contidos.
Isso permite que o usuário determine se Transporte Stream está a correto.
Muitas dessas análises podem ser feitas em um tempo real do Transporte
Stream ao vivo. Isso inclui a hierarquia dos programas e qual proporção
do bit stream está alocada para cada PID.
Se for necessária uma análise mais detalhada, pode ser feita simplesmente
gravando a parte do Transporte Stream para mais análises. Essa técnica é
conhecida como teste de tempo deferido e pode ser utilizada, por exemplo, para examinar os conteúdos de uma marca de tempo.
Quando utilizado para teste de tempo deferido, um analisador de Transporte Stream MPEG está agindo como um analisador lógico que fornece
ferramentas específicas de interpretação de dados MPEG. Como com todos
os analisadores lógicos, um mecanismo de sincronismo em tempo real é
necessário para determinar o tempo ou condições sobre qual uma captura
acontecerá. A Figura 12-1 mostra um típico diagrama em blocos de um
analisador ilustrando a seção em tempo real, seção de armazenamento e
seção deferida. Em análises em tempo real, somente a seção em tempo
real opera, e uma fonte de sinal precisa ser conectada. Para captura, a
seção em tempo real é utilizada para determinar quando sincronizar a
captura. Muitos analisadores incluem ferramentas conhecidas como filtros
que permitem que as análises seletivas sejam aplicadas antes ou depois
da captura.
Uma vez que a captura é completada, a seção deferida pode operar nos
dados capturados e o sinal de entrada não é mais necessário. Também o
osciloscópio que grava pode mostrar a entrada em tempo real diretamente
ou salvá-la para um estudo posterior.
Os analisadores da série MTS400 combinam ambas as análises em tempo
real e a deferida em uma única ferramenta. Eles também incorporam um
mecanismo de sincronismo sofisticado, chamado de “CaptuteVu”, que faz
com que o bitstream seja gravado em uma memória volátil (RAM) para
análise atrasada. Isso possibilita repetições de remoção de erros em torno
das análises em tempo real, captura e Loop de análise atrasada.
188
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
12.3 Visão Hierárquica
Quando analisarmos um Transporte Stream não familiar, a visão hierárquica
é um excelente ponto inicial porque ela fornece uma visão gráfica de cada
tabela, ou SI, componente de bitstream. A Figura 12-2 mostra um exemplo
189
Seção 12
de um mostrador de hierarquia tal como o fornecido pelo MTS400. Os três
displays nos mostram as tabelas de Transporte Stream presentes junto com
componentes de stream contidos. O usuário pode facilmente ver como muitos programas estão presentes e a cada conteúdo de vídeo e áudio.
Um analisador cria a visão hierárquica utilizando o PAT e o PMT nos dados
PSI no Transporte stream junto com qualquer tabela específica de padrões tal como a DVB-SI EIT e ADT. Os PIDs dessas tabelas são mostrados
no painel de Sumário associados com cada tabela. Dados PAT e PMT são
fundamentais para a operação de qualquer demultiplexer ou decoder; na
verdade, se perdido ou incorreto, é improvável que equipamento mais
“Downstream” será capaz de interpretar todo o Transporte Stream. Essa
situação é mostrada na Série MTS400 como erro PAT/PMT.
Embora a visão hierárquica seja útil para mostrar conteúdos PSI e SI, não
é particularmente útil para navegação entre tabelas. O painel de Sumário
na Série MTS400 contém uma série de Hiperlinks para rapidamente navegar as conexões lógicas entre tabelas tais como a DVB SDT e PMT assim
como a PAT e PMT. Em adição, o MTS400 inclui uma visão de EPG que
engloba os conteúdos EIT e SDT. O usuário pode navegar diretamente para
uma seção EIT individual de interesse da visão de EPG (veja a Figura 12-3).
A visão de EPG também suporta os padrões ATSC e ARIB.
A habilidade do demux ou decoder para amarrar “lock” o Transporte Stream depende da freqüência com a qual os dados PSI são enviados. A opção
de taxa de PSI/SI mostrada na Figura 12-4 mostra a freqüência de inserção
de informação de sistema. Informação de PSI/SI também deveria ser consistente com o conteúdo real no bitstream. Por exemplo, se um PID dado
é referenciado em um PMT, seria possível encontrar PIDs desse valor no
bitstream. A função de verificação de consistência realiza tal comparação.
A Figura 12-5 mostra um erro de consistência de um bitstream incluindo
dois pacotes não referenciados.
Um Sumário de programa visto graficamente mostra as proporções do
transporte stream alocado para cada PID ou programa. A Figura 12-6 mostra um exemplo de display. A visão hierárquica e o Sumário de Programa
mostram o número de elementos no transporte stream e a proporção de
largura de banda alocada.
190
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
191
Seção 12
12.4 Padrões de Verificação de Conformidade
12.4.1 Orientações de Medição de DVB, TR 101 290
Fundada em setembro de 1993, o projeto Vídeo Digital Broadcasting (DVB)
é um consórcio liderado por mais de 260 indústrias broadcasters, fabricantes, operadoras de rede, desenvolvedores de software e corporações reguladoras em mais de 35 países unidos para projetar padrões globais para o
fornecimento de televisão digital e serviços de dados. Apesar dos Serviços
DVB focados na Europa, seus padrões são disponibilizados em todos os continentes com mais de 120 milhões de receptores de DVB desenvolvidos.
Um dos mais importantes padrões de DVB é o TR 101 290. Ele fornece
orientações para medições em satélite DVB, cabo e sistemas de televisão
digital terrestre. Ele define muitas técnicas de medição, tais como: os
resultados obtidos são comparados quando a medição é transportada em
conformidade com a definição apropriada. O objetivo geral dos testes é
fornecer uma “verificação de saúde” dos mais importantes elementos do
TS; isto é, a lista de teste não é exaustiva.
Os testes são separados em três grupos de prioridade de acordo com sua
importância para propósitos de monitorização:
192
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
1. O primeiro grupo lista um conjunto básico de parâmetros que são considerados necessários para garantir que o TS pode ser decodificado. Esses
são principalmente as sincronizações do Transporte Stream, pacotes abandonados mais a integridade de PSI (tabelas de PAT e PMT).
2. O segundo grupo lista parâmetros adicionais que são recomendados
para monitoramento contínuo. Isso inclui marcas de tempo PCR e PTS e
tabelas CRCs.
3. O terceiro grupo lista parâmetros adicionais que poderiam ser de interesse para certas aplicações. Esses são essencialmente comprometidos
com a integridade das outras tabelas SI, tais como SDT e ETI.
A Figura 12-7 mostra uma visão dos testes de DVB da Série MTS400. Um
LED colorido mostra o estado atual de cada teste, incluindo um âmbar
para um teste que estava previamente com erro. A visão permite que o
usuário obtenha um relatório detalhado de subtestes individuais, ajuste
de parâmetros de teste e mostre as entradas de Log filtradas. Se necessário, ele também mostra uma lista de PIDs para cada teste.
193
Seção 12
12.5 Verificações do Transporte Stream ATSC, A/78
O comitê de Sistemas de Televisão Avançados (ATSC) foi formado em 1982,
como uma organização internacional não lucrativa, desenvolvendo voluntariamente padrões para televisão digital. As organizações membros do
ATSC representam as indústrias broadcast e associadas. Especificamente,
ATSC desenvolve padrões de televisão entre diferentes comunicações focando a televisão digital, sistemas interativos e comunicações multimedia
de banda larga. Os maiores usuários dos padrões ATSC são a TV a cabo da
América do Norte e mercados terrestres.
O A/78 é uma prática recomendada proporcionando uma metodologia comum para descrição de critério de conformidade de TS. Especificamente
os elementos e parâmetros SI em um ATSC são verificados para uma transmissão correta. O RP utiliza o fundamento de que a severidade de um erro
depende da magnitude do desvio. Ele especifica 5 grupos de testes de
prioridade associados com faixas de desvio do padrão para certos parâmetros. As 5 prioridades, ou níveis de severidade, são:
1. Fluxo de Transporte Fora do Ar (TOA) A estação está tecnicamente fora
do ar, como os erros de TS são tão severos. Receptores não serão capazes
de sintonizar e decodificar qualquer coisa nessa transmissão.
2. Programa Fora do Ar (POA) Um serviço principal está com erro no ponto
onde decoders não serão capazes de decodificar o programa. Isso é provavelmente causado por sinalização incorreta.
3. Componente Perdido (CM) Tipicamente, um dos streams elementar de
áudio ou vídeo pode não ser encontrado.
4. Qualidade de Serviço (QOS) Parâmetros estão fora da especificação em
certa margem em que se pode esperar que uma significante fração dos
receptores produza saídas falhas.
194
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
5. Tecnicamente Não Conforme (TNC) Viola a carta do padrão, mas na prática terá pouco efeito na experiência de observação.
Como pode ser esperado, há muitos parâmetros em comum entre o ATSC e
DVB monitorados. A diferença é que o ATSC especifica o erro limiar para
categorização escalada. Geralmente é descrito como:
- O método oficial para duas vezes o método.
- Duas vezes o método oficial para cinco vezes o método.
- Além de cinco vezes o método.
Um exemplo é o erro de repetição de PAT, como mostrado na Tabela 12-2.
12.6 Visão do Pacote
Como uma alternativa para verificação de dados específicos em lugares não
especificados, é possível analisar dados não específicos em lugares específicos, incluindo pacotes de Transporte Stream individuais, tabelas ou pacotes
PES. Essa análise nas Séries MTS400 é conhecida como a visão de Pacote,
porque o analisador automaticamente analisa e decodifica o dado e depois
mostra seu significado. A Figura 12-8 mostra um exemplo de um pacote
de transporte MPEG em uma visão “Hex” assim como visão do Pacote. Um
campo selecionado no visor do Pacote automaticamente seleciona os bytes
correspondentes na visão Hex para uma correlação mais fácil.
195
Seção 12
A Figura 12-8 mostra um exemplo de um PAT no visor de Pacote. A estrutura do campo na visão do Pacote é definida por arquivos script. Arquivos
script são simplesmente arquivos de texto, tal como mostrado na Figura
12-9 que usa palavras chave pré-definidas. Isso permite rápidas atualizações se os padrões mudarem e também a interpretação de proprietário SI,
quando o software não for alterado.
12.7 Análises de Sintaxe e CRC
Para enviar material de programa, o transporte stream depende completamente da utilização exata de sintaxe por encoders. Sem configurações corretas de bandeira de bits fixos, padrões de sincronismo, códigos de início
de pacote e contas de pacotes, um decoder pode interpretar erradamente
bit stream. A função de verificação de sintaxe considera que todos os bits
não são materiais de programa e mostra qualquer discrepância. Discrepâncias de espúrio poderiam existir devido a erros de transmissão; ponto
de discrepância consistente para um encoder ou multiplexer defeituoso.
A Figura 12-10 mostra um erro de sintaxe, assim como uma verificação
perdida de redundância cíclica (CRC).
Muitas tabelas MPEG possuem “Checksums” ou CRCs anexadas para detecção de erro. O analisador pode recalcular os Checksums e compará-los com
o Checksum real. Novamente, espúrios de CRC de descasamentos poderiam
ser devido a erros de stream-bit, mas ponto de erros de CRC consistente
para uma falha de hardware.
196
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
12.8 Análises de Tempo
Os testes descritos acima verificam a presença de elementos e sintaxe
corretos no transporte stream. Porém, para amostrar corretamente áudio
e vídeo em tempo real, o transporte stream também deve entregar tempo
exato para os decoders.
A transferência correta de dados de clock de programa é vital porque esses
dados controlam todo o tempo do processo de decodificação. Análises PCR
podem mostrar que, em cada programa, dados PCR são enviados em uma
taxa suficiente e com exatidão suficiente para serem compatíveis.
Os dados PCR de um multiplexer podem ser precisos, mas a remultiplexação pode colocar os pacotes de um dado programa em um lugar diferente
no eixo do tempo, por isso é necessário que os dados PCR sejam editados
pelo multiplexer. Conseqüentemente é importante que o PCR seja testado
com precisão após os dados serem remultiplexados.
A Figura 12-11 mostra uma tela PCR que indica as posições nas quais os
PCRs foram recebidos com relação à média de clock. Os dados no painel
do Cursor mostram os dados associados com qualquer PCR selecionado.
Medição de imprecisão de PCR é baseada na recuperação de clock PLL
em um receptor. O analisador calcula o bitrate constante a partir dos 10
primeiros valores de PCR, que serão utilizados como base para interpolar
mais valores. Esses podem depois serem comparados com valores reais.
Um filtro passa alta é utilizado para garantir que as imprecisões plotadas
sejam consistentes com a oscilação de PLL.
197
Seção 12
Uma abordagem alternativa na Figura 12-12 mostra um gráfico de intervalo de PCR, imprecisão, jitter, deslocamento de freqüência e movimento,
que é atualizado em tempo real.
A Figura 12-13 mostra uma tela de marca de tempo para stream elementar
selecionado. Mostram também a unidade de acesso, o tempo de apresentação, e, onde apropriado, o tempo de decodificação.
Em MPEG, a reordenação e uso de tipos de tela diferentes causa delay e
requer buffering no encoder e decoder. Um stream elementar deve ser codificado dentro dos limites da disponibilidade do buffering do decodor. O
MPEG define um decoder modelo chamado T-STD (transport stream system
target decoder); um encoder ou multiplexer não deve distorcer o fluxo
de dados além da capacidade do buffering do T-STD. O transporte stream
contém parâmetros chamados de verificação de buffer de Vídeo VBV (video
buffer verify) especificando a quantidade de buffering necessário por um
dado stream elementar.
198
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A análise do T-STD mostra graficamente a posição do buffer de uma forma
que o “Overflows” ou “Underflows” podem ser facilmente vistos. A Figura
12-124 mostra uma tela de buffering. A saída de um compressor/multiplexer normal é de uso limitado porque ela não é determinística. Se o decoder
apresentar defeito, não há garantia que o mesmo defeito será visto na
repetição do teste porque o mesmo sinal de vídeo não resultará no mesmo
transporte stream. Nesse caso, transporte stream absolutamente repetível
é essencial para que o defeito possa ocorrer com o intuito de estudo ou
retificação.
A solução é gerar um transporte stream que está em conformidade em relação a tudo e depois adicionar uma quantidade controlada de imprecisão
para que a imprecisão seja então conhecida a ele para ser a única fonte
de incompatibilidade. O editor de recurso do MTS400 é projetado para
criar tais sinais.
199
Seção 12
Jitter no transporte stream deve estar em certos limites, mas um decoder
bem projetado deve ser capaz de recuperar programas além desses limites
a fim de garantir uma operação confiável. Não há nenhuma forma de teste
utilizando transporte stream porque, se eles são compatíveis, o decoder
não está sendo testado. Se há uma falha, ela não será reproduzível e não
será clara se a falha é devido ao jitter ou alguma outra incompatibilidade.
A solução é gerar um transporte stream compatível com tudo e depois
adicionar uma quantidade controlada de imprecisão para que a imprecisão
seja então conhecida para ser a única fonte de incompatibilidade. O editor
MTS400 é projetado para criar tais sinais.
200
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
12.9 Teste de Stream Elementar
Devido à natureza flexível do bitstream MPEG, o número de possibilidades
e combinações que ele realiza é quase incalculável. Como o encoder não
é definido, fabricantes de encoders não são obrigadas a utilizar todas as
possibilidades; Na verdade, por razões de economia. Isto dificulta muito
o teste porque o fato do decoder funcionar com um encoder em particular
não prova sua compatibilidade. Esse encoder particular pode simplesmente não estar utilizando os modos que fazem com que o decoder falhe.
Uma complicação maior acontece porque encoders tipicamente não produzirão o mesmo bitstream se a entrada de vídeo ou áudio se repetir. Há
pouca chance de que o mesmo alinhamento acontecer entre as imagens
resultantes I-, P- e B-. Se um decoder falha em um dado teste, ele pode
não falhar na próxima vez que o teste for aplicado, sendo assim fica difícil
encontrar a falha. Uma falha em um encoder não determina se a falha está
com no encoder ou com no decoder. A dificuldade de codificação depende
muito da natureza do material de programa, e qualquer material de programa dado não necessariamente exercitará cara parâmetro sobre toda a
faixa de codificação.
Para realizar testes que possuem resultados significativos, duas ferramentas são necessárias:
Uma fonte conhecida de sinais de teste deliberadamente explora toda a
faixa de codificação. Essa faixa inclui a compatibilidade do bitstreams para
o padrão de vídeo em questão, mas também streams contendo erros de bitstream deliberados. Esses sinais devem ser determinísticos, pois uma falha
no decoder fornecerá sintomas repetidos. O produto Vclips da Tektronix é
uma coleção de bitstreams projetados para desempenhar essa tarefa.
Um analisador de stream elementar permite que toda a sintaxe de um encoder verifique a compatibilidade, tal como o MTS4EA da Tektronix.
201
Seção 12
12.10 Análise de Stream Elementar
Um stream elementar é um payload que o transporte stream deve entregar de modo transparente. O transporte stream realizará isso se o stream
elementar for ou não compatível. Em outras palavras, o teste de um transporte stream para compatibilidade simplesmente significa verificar se ele
está fornecendo stream elementar sem mudanças. Isso não significa que o
stream elementar foi propriamente montado no primeiro local. A estrutura
do stream elementar ou sintaxe é de responsabilidade do encoder. Desta forma, um teste de stream elementar essencialmente testa o encoder.
Deve ser observado que um encoder pode produzir sintaxe compatível, e
ainda ter uma qualidade de áudio e vídeo ruim. Porém, se a sintaxe estiver incorreta, um decoder pode não ser capaz de interpretar o stream
elementar. Um stream elementar pode estar com uma incompatibilidade
intermitente se algum modo menos comum de operação não estiver propriamente implementado.
202
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Como o transporte stream freqüentemente contêm vários programas provenientes de encoders diferentes, problemas de stream elementar tendem
a ser restritos a um programa, enquanto que problemas de transporte
stream tendem a afetar todos os programas. Se tiver algum problema na
saída de um decoder em particular, então o teste stream Vclips deve rodar
nesse decoder. Se esses são satisfatórios, a falha pode estar no sinal de
entrada. Se a sintaxe Transporte Stream foi testada, ou se outros programas estão funcionando sem falhas, então o stream elementar em particular com erro deve ser analisado.
203
Seção 12
O componente principal de análises do stream elementar é a verificação
de compatibilidade entre os padrões relevantes. O MTS4EA produz uma
saída Log com todas as violações e incompatibilidades. O usuário pode
selecionar alguma entrada Log e sincronizar a tela de vídeo e outras telas
para o ponto onde o bitstream faça uma rápida identificação de problemas. Uma característica útil é a superposição; há muitos tipos diferentes
incluindo média de quantização e bits por Macrobloco.
A Figura 12-15 mostra uma tela de bits por macrobloco que ilustra um
problema de otimização de encoder; são utilizados muitos para codificar
a informação de background que não muda. Em um nível mais baixo de
teste, a Figura 12-16 mostra um quadro P decodificado superposto com
informação do tipo macrobloco. Também mostra os detalhes de um macrobloco selecionado.
As análises de stream elementar abordadas até agora têm sido terminadas
simplesmente; isto é, uma medição do sinal de saída sem considerar a
qualidade dos dados de vídeo não comprimidos originalmente. Se o vídeo
original estiver disponível para referência, então o MTS4EA cria um sinal
gráfico de razão de ruído (Figura 12-17) e a diferença será visível.
204
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
12.11 SINCRONIZAÇÃO Áudio Visual
Um dos principais problemas de transmissões em toda sua história é a sincronização da informação de áudio e vídeo, comumente referida como sincronismo labial. Em um ambiente de produção, a informação de áudio e vídeo
tipicamente trafega por rotas diferentes antes de serem codificadas e multiplexadas, deixando, portanto, muitas chances para introdução de delay.
O MTS4EA inclui uma característica de Delay AV que mede o delay introduzido pelo encoder sob teste utilizando um teste de entrada padrão,
como mostra a Figura 12-18. Um gráfico do Delay AV é esboçado, assim
como os erros gerados por cada ponto que excede o limiar para o padrão
escolhido.
205
Seção 12
12.12 Criando um Transporte Stream
Sempre que o decoder considerar necessário, ele irá gerar um sinal de
teste de qualidade conhecida. A Figura 12-19 mostra que um transporte
stream MPEG deve incluir a Informação Específica de Programa (PSI), tal
como PAT, PMT e NIT descrevendo um ou mais programa stream. Cada programa stream contém seu próprio PCR e seu stream elementar, com marcas
de tempo periódicas.
Um transporte stream DVB conterá informação de serviço adicional, tais como
tabelas BAT, SDT e EIT. Um editor PSI/SI pode inserir qualquer combinação de
compatibilidade desejada de PSI/SI em um bitstream de teste tradicional.
Claramente, cada item requer uma porção de transporte stream disponível.
O multiplexer MTS400 fornece um gráfico mostrando o bit rate total utilizado em cada ponto bitstream, como ilustrado na Figura 12-20. Todo bit
rate do transporte stream deve permanecer constante, portanto, o remanescente do bit rate é utilizado pela inserção de pacotes de enchimento
com PIDs que contêm todos os 1s, os quais o decoder rejeitará.
12.13 Geração de Imprecisão de PCR
O decoder MPEG gera um clock contínuo utilizando o clock simples dos dados PCR para conduzir um phase-locked loop. O loop precisa de filtragem
e amortecimento para que o jitter no tempo de chegada de dados PCR não
cause instabilidade no clock.
Para testar o desempenho do phase-locked loop, é necessário um sinal
com imprecisão conhecida; de outra forma, o teste não tem sentido. O
Gerador MTX100 gera inexatidões simuladas para esse propósito. Porque
ser um gerador de referência, o Gerador MTX100 possui circuitos de clock
altamente estáveis e o jitter de saída é muito pequeno. Para criar o efeito
de jitter, o tempo dos dados PCR não muda. Ao invés disso, os valores de
PCR são modificados para que o calculo PCR seja ligeiramente diferente
do ideal. Os valores modificados resultam em erros de fase no decoder que
são não são reconhecidos como jitter real.
206
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
A vantagem é que o jitter de qualquer magnitude requerida pode ser facilmente adicionado a qualquer programa simplesmente modificando os
dados PCR e deixando todos os outros dados intactos. Outros programas
de transporte stream não necessitam ter adição de jitter. De fato, é melhor
ter um programa stream estável para ser utilizado como uma referência.
Para diferentes testes propostos, a base de tempo deve ser modulada de
várias formas que determinam o espectro do loop de erro de fase a fim
de testar a filtragem do loop. O jitter de onda quadrada se alterna entre
valores que estão igualmente adiantados ou atrasados. Valores de jitter
senoidal fazem com que o erro de fase seja uma onda senoidal amostrada.
Jitter aleatório faz com que o erro de fase seja similar ao ruído.
207
Seção 12
12.14 Análise de Carrossel de Dados Broadcast
A descrição de carrosséis na Secção 11 deve conduzir muitos leitores a
concluir que eles são complexos. Parte da complexibilidade é devido à
troca entre a largura de banda da transmissão e responsabilidade da experiência do usuário. Isso resulta na necessidade de restringir a largura de
banda repetindo os grupos de dados em taxas diferentes, dependendo de
sua probabilidade para mudar. Isto é, atualizações de placares de futebol
irão mudar mais freqüentemente do que a previsão de meteorologia. Incorporar essa flexibilidade significa que carrosséis tipicamente consistem
em um largo número de componentes que necessitam ser ligados e sinalizados corretamente para garantir a integridade de toda a aplicação de
interatividade.
O principal problema encontrado no envio de aplicações de transmissão de
dados pode ser resumido como:
- Tempo
- Bit rates
- Sinalização e Ligações de Componentes (referências)
O analisador de carrossel da Tektronix é projetado para ajudar no diagnóstico de todos esses problemas, ambas as camadas nos carrosséis de dados
e de objetos. Na verdade, ele permite análises de bit rate e gráficos de intervalos de repetição para cada modo indicado nas camadas de protocolo
mostradas na Figura 12-21.
A Figura 12-22 mostra um típico analisador de Carrossel com o painel de
Serviços na esquerda e o painel Log de Mensagem na parte inferior. São
mostrados os conteúdos de um Carrossel de Objetos, junto com o intervalo
de repetição e gráficos de bit rate para o objeto de “Início” selecionado.
Se forem selecionados múltiplos nós para ambos bit rate ou intervalo de
repetição, então cada tendência adicional é somada ao mesmo gráfico
para facilidade de comparação.
Uma das principais questões de tempo é o tempo de Boot. Isto é a quantidade de tempo que ele leva do início da transmissão de um carrossel ao
208
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
ponto onde o STB pode executá-lo. Isto é muito importante para anúncios
interativos, onde os anúncios ao qual o carrossel é associado podem durar
apenas 20 segundos.
O analisador de Carrossel incorpora muitos métodos de tempo, um deles
é o Cold Boot Time. Que medi o tempo gasto para sinalizar o carrossel e
o download do gateway de serviço, a classe de boot e todos os utensílios.
Isso é repetido em intervalos regulares no bitstream.
A classe de boot deve ser recebida antes de qualquer um dos utensílios.
Isto simula ao STB não conhecido qual carrossel de objeto a classe de Boot
depende até ele ser recebido e processado. Diretórios devem ser recebidos
antes de qualquer objeto, pois este método de tempo não tem sinalização
de gravação. O fim de cada ciclo será o fim do módulo contendo o último
utensílio – isto é uma importante distinção, como um utensílio pode não
ser o único no módulo.
Os problemas de sinalização mais comuns são objetos pendentes e objetos ausentes. A Figura 12-24 mostra que quando um objeto é encontrado
durante a análise, mas sua chave não é a que se refere ao Service Gateway,
ele é visto sob objetos desconhecido num nó. Porém, quando um objeto
diretório é encontrado, as chaves de pequenos nós resultantes podem ser
resolvidos e sua estrutura de árvore construída corretamente, apesar de o
próprio objeto diretório poder ainda não ter sido resolvido.
A Figura 12-25 mostra que objetos referenciados, mas não encontrados são indefinidos. O caminho pelo qual o objeto ausente é esperado também é marcado.
209
Seção 12
Ocasionalmente, a sinalização é suficientemente quebrada de uma forma que o carrossel presente no Transporte Stream não seja encontrado
durante a análise. Nesse exemplo, o carrossel pode ser indefinido com
Sinalização Manual do nó de PID relacionado. O Transporte Stream será
então re-analisado com qualquer seção DSM-CC no PID selecionado sendo
processado.
Como esperado, a Tektronix também oferece um produto Gerador de Carrossel para criação de conteúdos de carrosséis na saída do Transporte Stream. Isto é particularmente útil em situação de teste onde os efeitos de
parâmetros de variação, tais como intervalos de repetição individuais, são
verificados rapidamente. O Gerador criará carrosséis de objetos de acordo
com os padrões MPEG-2, DVB, DTT (MHEG-5) ou MHP.
210
Glossário
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
AAC – Advanced Audio Coding (Codificação de Áudio Avançada)
AAU - Unidade de Acesso de Áudio. Veja a Unidade de Acesso.
AC-3 – O esquema de compressão de áudio inventado pelos laboratórios
Dolby e especificados pelo Padrão de Televisão Digital ATSC. No mundo de
equipamento do consumidor ele é chamado de Dolby Digital.
ACAP – Plataforma de Aplicação Comum Avançada.
A/D – Conversor Analógico-Digital
AES – Sociedade de Engenharia de Áudio
ANSI – Instituto de Padrões Nacionais Americano.
API – Interface de programa de Aplicação.
ARIB – Associação de Indústrias de Negócios de Rádio.
ASF – Formato de Vídeo Avançado (formalmente “Formato de Fluxo Avançado”), um formato de fluxo de propriedade da Microsoft.
ATM – Veja modo de transferência assíncrona.
ATSC – Comitê de Sistemas de Televisão Avançada.
ATVEF – Fórum de Aprimoramento de Televisão Avançada.
AU – Unidade de Acesso.
BAT – Tabela de Associação Buquê.
BCH – Código Bose, Ray-Chaudhure, Hocquenghem. Um código BCH é
código digital de comprimento variável, de correção de erro, cíclico e de
multinível utilizado para corrigir erros aleatórios múltiplos padrão.
BER – Taxa de Erro de Bit.
BFSK – Freqüência Binária Shift Keying.
BIOP – Protocolo Inter-ORB de Transmissão.
Bloco – Um bloco é um conjunto de valores de pixel ou coeficientes DCT,
usualmente 8 por 8 (8x8), representando a informação de luminância ou
crominância.
213
BPSK – Fase Binária “Shift Keying”. CA – Acesso Condicional. Informação
indicando se um programa está embaralhado.
Buquê – Um grupo de fluxos de transporte nos quais os programas são indefinidos pela combinação da rede de trabalho ID e PID (parte de DVB-SI).
CAT – Tabela de Acesso Condicional. Pacotes tendo códigos PID (veja a
secção 8 – Fluxos de Transporte) de 1 e esses contendo informação sobe
o sistema de embaralha mento. Veja ECM e EMM.
CD – Disco Compacto.
CELP – Código Excited Linear Predictive.
CIF – Formato de permuta Comum. Um formato de pixel de 352x240 por
conferência de vídeo de 30 fps.
C/N – Portadora para razão de ruído
Codificação Huffman – Um tipo de fonte de codificação que utiliza códigos de diferentes comprimentos para representar símbolos que possuem
probabilidades desiguais de ocorrência.
Código de Canal – Uma técnica de modulação que converte data raw em
um sinal que pode ser recordado ou transmitido por razão ou cabo.
Coeficiente – Um número especificando a amplitude de uma freqüência em
particular ou função de base em uma transformação.
COFDM – Multiplex de Divisão de Freqüência Ortogonal Codificado, uma
forma modificada de OFDM. Um esquema de modulação digital utilizando
um número muito grande de portadoras, cada uma transportando uma
taxa de dados muito baixa. Utilizado por DVB-T.
CORBA – Common Object Request Broker Architecture.
Compressão – Redução no número de bits utilizados para representar um
item de dado.
CRC – Verificação Cíclica de Redundância.
DAB – Transmissão de áudio Digital.
DAB-IP – Transmissão de Áudio Digital – Protocolo de Internet
214
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
DAC – Conversor Digital Analógico
DASE – Ambiente de Software de Aplicação de TV Digital.
DAVIC – Digital Áudio Visual Council.
DCT – Discrete Cosine Transform.
DDB – DownloadDataBlock.
DET – Tabela de Evento de Dados.
DLL – DownloadInfoIndication.
DMB-T/H – Transmissão Multimídia Digital - Terrestre/Portátil.
Dolby Digital – Veja AC-3.
DRM – Digital Rights Management.
DSI – DownloadServerInitiate.
DSMCC – Controle e Comando de Mídia de Gravação Digital.
DST – Tabela de Serviços de Dados.
DTS – Decodificando Time Stamp. Parte de PES de cabeçalho indicando
quando uma unidade de acesso deve ser decodificada.
DVB – Transmissão de Vídeo digital. Geralmente se referem ao consórcio
de transmissores, fabricantes, corpos regulatórios e outros iniciados na
Europa que criaram padrões para o fornecimento de televisão digital e
serviços de dados. Inclui as versões de DVB-C (cabo), DVB-S (satélite) e
DVB-T (terrestre).
DVB-H – Transmissão de Vídeo Digital – Portátil.
DVB-SI – Informação de Serviço DVB. Informação transportada em um
multiplex de DVB descrevendo os conteúdos de múltiplos diferentes. Incluindo NIT, SDT, EIT, TDT,
BAT, RST e ST (veja a Secção 10 – Introdução a DVB & ATSC).
DVC – Digital Vídeo Cassete.
DVD – Digital Versatlle Disk ou Disco de Vídeo Digital.
215
ECM – Entitlement Control Message. Informação de acesso condicional
especificando palavras de controle ou outro fluxo específico embaralhando
parâmetros.
ECS – Especificação de Conteúdo Aprimorada.
EIT – Tabela de Informação de Evento. Parte de DVB-SI.
EMM - Entitlement Management Message. Informação de acesso condicional especificando o nível de autorização ou serviços de decodificadores
específicos. Um decodificador individual ou um grupo de decodificadores
pode ser endereçado.
Enchimento – dados sem significância adicionados para manter a taxa de
bit constante.
ENG - Electronic News Gathering. Termo utilizado para descrever o uso da
representação digital de um sinal para reduzir a redundância.
EOB – Fim do Bloco.
EPG – Guia de Programa Eletrônico. Um guia de programa fornecido pela
transferência de dados ao invés de um papel impresso.
Estrutura “Archor” – Uma estrutura de vídeo que é utilizada para prognóstico. Estruturas I e estruturas P são geralmente utilizadas como estruturas
“Archor”, mas estruturas B nunca serão estruturas Archor.
ETSI – Instituto de Padrões de Telecomunicação Europeu.
FEC – Correção de Erro Forward. Sistema no qual a redundância é adicionada à mensagem para que os erros sejam corrigidos dinamicamente no
receptor.
FFT – Fast Fourier Transform.
Figuras I – Figuras Intra-codificadas.
Fluxo de Programa – Um fluxo de bit contendo vídeo comprimido, áudio e
informação de tempo.
Fluxo de Transporte (TS) – Um multiplexe de vários fluxos de programa que
são transportados em pacotes. A denultiplexação é achieved por diferentes pacotes Ids (PIDs). Veja PSI, PAT, PMT e PCR.
216
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
Fluxo Elementar – A saída natural de um compressor transportando um
único sinal de vídeo ou áudio.
GEM – MHP Globalmente Executável.
GOP – Grupo de Figuras. Na ordem de transmissão, um GOP inicia com uma
figura I e termina com a última figura antes da próxima figura I.
GOP Fechado – Um grupo de figuras nas quais as últimas figuras não
necessita de dados do próximo GOP para codificação bidirecional. GOP
Fechado é utilizado para realizar um ponto “Splice” em um fluxo de bit.
HAVI – Interoperabilidade de Áudio e Vídeo Caseiro.
HDTV – Televisão de Alta Definição.
HTML – Linguagem de Hypertext Markup.
IEC – Comissão Eletrotécnica Internacional.
Inter-coding – Compressão que utiliza a redundância entre figuras sucessivas; também conhecido como codificação temporal.
Interlançamento – Uma técnica utilizada com correção de erro que quebra
erro de burst em muitos erros pequenos.
Intra-coding – Compressão que funciona inteiramente em uma figura;
também conhecido como codificação especial.
IOR – Referência de Objeto Interoperável.
IP – Protocolo de Internet.
IRD – Decodificador Receptor Integrado. Um receptor de RF combinado e
decodificador MPEG que é utilizado para adaptar um conjunto de TV para
transmissões digitais.
ISDB – Transmissão de Dados de Serviços Integrados, o sistema de transmissão digital desenvolvido no Japão.
ISDB-Tss – Segmento Único de ISDB-T.
ISO – Organização Internacional de Padronização.
ITU – União de Telecomunicação Internacional.
217
JPEG – Joint Photographic Experts Group.
JTC1 – Joint Technical Comitê do IEC.
JVT – Joint Vídeo Team.
LDPC – Código de Verificação de Paridade de Bixa Densidade
Limite Shannom – Estabelecido por Claude Shannom em 1948, o teorema
descreve a eficiência máxima possível de métodos de correção de erros
vesus níveis de interface de ruído e corrupção de dados.
Modo de Transferência Assíncrona (ATM) – Um protocolo de sinal digital para transporte eficiente de ambas as informações de bursty e taxa
constante em redes de trabalho digital de banda larga. O fluxo digital
ATM consiste em pacotes de comprimento fixo chamados de “cells”, cada
um contendo 53 8 bits bytes – um cabeçalho de 5 bytes e uma carga de
informação de 48 bytes.
MAC – Controle de Acesso de Mídia.
Macrobloco – A área na tela representada por vários blocos de luminância
e de diferença de cor DCT que são todos direcionados por um vetor de
movimento.
Mascaramento – Um fenômeno psíquico acústico que certos sons não podem ser ouvidos na presença de erros.
MDCT – Modified Discreet Cosine Transform.
MGT – Tabela Guia Máster
Motion Vector – Um par de números que representam o deslocamento
horizontal e vertical de uma região de uma figura de referência para prognóstico.
MP@HL – Perfil principal em alto nível.
MP@LL – Perfil Principal em nível baixo.
MP@ML – Perfil principal no nível principal.
MPE – Encapsulamento em protocolo múltiplo.
218
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
MPEG – Moving Picture Experts Group ISO/IEC JTC1/SC29/WG11, e os padrões desenvolvidos por esse grupo.
MPEG-LA – Acordos de Licença de MPEG.
MPTS – Fluxo de Transporte de Muitos Programas.
MXF – Formato de mudança de Material.
NIT – Tabela de Informação de Rede de Trabalho. Informação em um Fluxo
de Transporte que descreve muitos fluxos de transporte.
Nível – O tamanho da figura de entrada em uso com um dado perfil (veja
a Secção 2 – Compressão e Vídeo).
NPT – Tempo de Play Normal.
NRT – Tabela de Pesquisas de Rede de Trabalho.
OCAP – Plataforma de Aplicações cabo aberto.
OFDM – Multiplexação de Divisão de Freqüência Ortogonal.
ORB – Brokerage Requisição de Objeto.
Pacotes – Um termo utilizado em dois contextos: em fluxos de programas,
um pacote é uma unidade que contém uma ou mais unidades de apresentação; em fluxo de transporte, um pacote é um quantum de dados de um
tamanho pequeno e fixo.
Pacotes Nulos – Pacotes de “enchimento” que não transportam dados mas
são necessários para manter uma taxa de bit constante com uma carga
variável. Pacotes nulos sempre possuem um PID de 8191 (todos 1). (Veja
a Secção 8 – Fluxo de Transporte.)
PAL – Linha Alternada de Fase.
PAT – Tabela de Associação de Programa. Dados operando em pacotes tendo o código do PID (veja a Secção 8 – Fluxo de Transporte) de zero que o
decodificador MPEG utiliza para determinar que programas existem em um
Fluxo de Transporte.
PCM - Modulação de Código de Pulso. Um termo técnico para uma forma de
onda de fonte analógica, por exemplo, sinais de áudio e vídeo, expressos
219
amostras numéricas periódicas. PCM é um sinal digital não comprimido.
PCR – Referência de Clock de Programa. A amostra do clock count do decodificador que é enviada no programa de cabeçalho para sincronizar o
clock do decodificador.
Perfil – Especifica a sintaxe de código utilizada.
PES – Fluxo Elementar Empacotado.
PID – Identificador de Programa.Um código de 13 bits no cabeçalho de
pacote de transporte. PID 0 indica que o pacote contém um PAT PID. (Veja
a Secção 8 – Fluxo de Transporte.) PID 1 indica um pacote que contém
CAT. O PID 8191 (todos 1) indica pacotes nulos (enchimento). Todos os
pacotes pertencentes ao mesmo fluxo elementar possuem o mesmo PID.
Pixel – Elemento de Figura (algumas vezes pel). A menor unidade de uma
imagem, representada por uma amostra, ou um conjunto de amostras tais
como GBR ou YcrCb.
PLL – Phase Locked Loop.
PMT – Tabelas de Map de Programas. As tabelas em PAT que apontam para
o conteúdo de dados, vídeo e áudio de um fluxo de transporte.
Pré-processamento – O processamento do sinal de vídeo que ocorre antes da
codificação MPEG. Redução de ruído, “Down Sampling”, identificação “CutEdit” e identificação “Pulldown” 3:2 são exemplos de processamentos.
PS – Estéreo Paramétrico.
PS – Fluxo de Programa.
PSI – Informação Específica de Programa. Informação que keeps track dos
programas diferentes em um fluxo de transporte MPEG e no fluxo elementar em cada programa. PSI inclui PAT, PMT, NIT, CAT, ECM e EMM.
PSI/SI – Um termo geral para MPEG PSI e DVB-SI combinado.
PSIP – Protocolo de Informação de Programa e Sistema.
PTS – Presentation Time Stamp. O tempo no qual uma unidade de apresentação é para ser disponibilizada ao observador.
220
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
PU – Unidade de Apresentação. Uma figura comprimida ou bloco de áudio.
QAM – Modulação de Amplitude de Quadratura, um sistema de modulação
digital.
QCIF – Formato de interchange comum de resolução de um quarto (176x144
pixels). Veja CIF.
QMF – Filtro Mirror de Quadratura.
QPSK – Quaternary Phase Shift Keying (também conhecido como Quadrature Phase Shift Keying), um sistema de modulação digital particularmente adequado para links de satélite.
QSIF – Formato de entrada de fonte de resolução de um quarto. Veja CIF.
Quantização – Um paço de processamento que aproxima valores dos sinais
alocando um de um número de valores pré definidos.
RLC – Run Lenght Coding. Um esquema de código que conta o número de
bits familiares ao invés de enviá-los individualmente.
RRT – Rating Region Table.
RST – Running Status Table.
R-S – Reed-Solomon é uma função polinomial utilizada pelo DVB para
protejer até 8 bytes em cada pacote de transporte.
RTP – Protocolo em Tempo Real.
SRB – Replication de Banda Espectral.
Scalability - Uma característica de MPEG-2 fornecida para níveis de qualidade múltipla através do fornecimento de camadas de dados de vídeo.
Camadas múltiplas de dados permitem que um decodificador complexo
produza uma figura melhor utilizando mais camadas de dados, enquanto
um decodificador mais simples ainda pode produzir uma figura utilizando
somente a primeira camada de dados.
SDI – Interface Digital Serial. Padrão de interface de cabo coaxial serial
intend para sinais de vídeo digital de produção.
SDK – Kit de Desenvolvimento de Software.
221
SDT – Tabela de Descrição de Serviço. Uma tabela listando os fornecedores
de cada serviço em fluxo de transporte.
SDTV – Televisão de Definição Padronizada.
SI – Veja DVB-SI.
SIF – Formato de Entrada de Fonte. Sinal de entrada de meia resolução
utilizado por MPEG-1.
Síndrome – Resultado inicial de um cálculo de verificação de erro. Geralmente, se a síndrome é zero, é assumido que não há erro.
Slice – Uma sequência de macroblocos consecutivos.
SMPTE – Sociedade de Motion Picture e Engenheiros de Televisão.
SNR – Razão de Sinal-Ruído.
SP@ML – Perfil Simples no Nível Principal.
SPTS – Fluxo de Transporte de Programa Único.
ST – Tabela de Enchimento.
STB – Set Top Bos.
STC – Clock de Tempo de Sistema. O clock comum utilizado para codificar
vídeo e áudio no mesmo programa.
STT – Tabela de Tempo de Sistema.
Taxa de Bit – A taxa na qual o fluxo de bit comprimido é fornecida do canal
para a entrada de um decodificador.
TCP/IP – Protocolo de Controle de Transmissão/Protocolo de Internet.
TDAC – Cancelamento Aliasing no Domínio do Tempo. Uma técnica de codificação utilizada em compressão de áudio AC-3.
T-DBM – Transmissão de Multimídia Digital. Terrestre.
TDT – Tabela de Dados e Tempo. Utilizada em DVB-SI.
TOT. Tabela de Deslocamento de Tempo.
Truncation – Shortening o comprimento da palavra de uma amostra ou
coeficiente removendo bits de ordem baixa.
222
Um Guia para Fundamentos de
MPEG e Análise de Protocolo
T-STD – Decodificador Alvo de Sistema de Fluxo de Transporte. Um decodificador tendo uma certa quantidade de memória buffer para ser apresentada por um codificador.
TVCT – Tabela de Canal Virtual Terrestre.
UDP – Protocolo de Datagrama de Usuário.
Unidade de Acesso – Os dados codificados para uma figura ou bloco de
som e qualquer Stuffing (valores nulos) que o seguem.
VAU – Unidade de Acesso de Vídeo. Uma figura comprimida em fluxo de
programa.
VBV – Vídeo Buffer Verify.
VCO – Oscilador Controlado por Tensão.
VLC – Codificação de Comprimento Variável. Uma técnica comprimida que
aloca códigos curtos para valores de frequência e códigos longos para valores infrequent.
VOD – Vídeo em Demanda. Um sistema no qual programas de televisão
ou filmes são transmitidos para um único consumidor somente quando
requisitado.
VSB – Modulação de Banda Lateral Vestigial. Um sistema de modulação
digital utilizado por ATSC.
Wavelet – Uma transformação utilizando uma função de base que não é de
comprimentoo fixo mas que aumenta conforme a frequência cai.
Weighting – Um método de mudança da distribuição do ruído que é devido
a truncation por valores pré multiplying.
XHTML – HTMS estendido.
Y/C – Luminância e Crominância.
223
Este livro foi impresso em papel offset 90g/m2
tipologia ITC Officina Sans Std, corpo 11, pela Gráfica FIRJAN.
Editora SENAI
Rua São Francisco Xavier 417, Maracanã
CEP 20550-010 - Rio de Janeiro, RJ
Tel: (0XX21) 3978-5314
[email protected]

Documentos relacionados