Apresentamos mais um de uma série de artigos sobre os fundamentos da TV digital, que começou tratando do modo como o MPEG é usado na compressão dos dados e no envio de informações sobre som e imagem na forma digital. Na edição anterior estudamos os processos digitais de modulação, com uma análise das vantagens e desvantagens que cada um pode apresentar. Continuamos essa série tratando agora dos sistemas de TV digital, com uma breve introdução ao seu princípio de funcionamento. Este artigo consiste numa versão que é uma tradução adaptada completa da documentação original da Tektronix. Os leitores que dominam o inglês também podem acessar a versão original em www.tektronix.com/video_audio.
Este artigo é de 2006 quando ainda não estava definido o padrão de TV digital a ser usado em nosso país.
Esta série é formada pelos artigos TEL138 a TEL143
A compressão MPEG é a base dos sistemas de TV digital, tornando-se cada vez mais importante na transmissão de qualquer tipo de dado, principalmente os que representam grande quantidade de informações, e que estejam na forma digital.
Nesse artigo, baseado em material da Tektronix vamos discutir as exigências da TV digital analisando os principais padrões, começando pelo DVB e o ATSC para depois passarmos ao padrão japonês que foi aprovado para uso em nosso país.
Uma Vista Geral
A ATSC (Advanced Television Systems Committee) é uma organização americana que define os padrões para as difusão digital terrestre.
DVB significa Digital Video Broadcastin Project tratando dos padrões e práticas estabelecidas pelo Projeto DVB.
Esse projeto era originalmente europeu, mas produz padrões e orientações aceitas em muitas áreas do mundo. Esses padrões fornecem guias para todos os meios de transmissão, incluindo satélite, cabos e difusão terrestre.
A difusão digital tem uma distribuição e também exigências de transmissão diferentes, conforme mostra a figura 1.
As devem produzir correntes de transporte que contenham diversos programas de televisão.
As correntes de transporte não possuem nenhuma proteção contra erros e nos dados comprimidos, o efeito de erros pode ser muito sério.
As correntes de transporte precisam ser fornecidas sem erros aos transmissores, links de subida de satélites e transmissores de cabos.
Nesse contexto, livre de erros significa um taxa de erros de bit (BER) de 1 em 10-11 ou melhor.
Essa tarefa é normalmente realizada por operadores de redes de telecomunicações, que vão utilizar uma camada adicional de correção de erro da forma necessária (as estratégias de correção de erros são selecionadas dependendo do canal de transmissão).
Essa camada deve ser transparente ao seu destino.
Difusão no domínio digital consiste em enviar a corrente de transporte inteira ao telespectador.
Quer seja o canal em cabo, satélite ou terrestre, os problemas são mais ou menos os mesmos. Metadados (Metadata) descrevendo a transmissão devem ser codificados na corrente de transporte de uma forma padronizada.
No DVB os metadados são chamados informação de serviço (DVB-S) e incluem serviços tais como teletexto assim como detalhes dos programas que são transmitidos, tanto individuais como junto com outros multiplexados.
Na difusão existe muito menos controle sobre a qualidade do sinal e ruído, além do que interferência e uma possibilidade a ser considerada. Isso requer algum tipo de camada de correção adiantada de erro (FEC).
Diferentemente da FEC usada por operadores de redes de telecomunicações, que podem ter proprietários (ou padronizadas como pelo European Telecommunications Standard Institute (ETS), que define a transmissão DVB em redes SDH e PDH), a correção adiantada de erro (FEC) usada em difusão deve ser padronizada de tal forma que todos os receptores possam usá-la.
Remultiplexação
Remultiplexar consiste em juntar diversos sinais multiplexados num novo sinal multiplexado contendo mais informações ainda.
Trata-se de uma tarefa complexa porque as saídas dos multiplexadores que vão ser trabalhados devem ser compatíveis e, além disso, deve-se montar o sinal com partes dos outros.
Os dados necessários para se formar uma corrente de transporte devem ser selecionados em relação a tabela de associação de programa e as tabelas de mapeamento de programa as quais vão abrir os PIDs dos programas.
Se for possível usar os mesmos PIDs em duas correntes de transporte então os PIDs e uma ou mais correntes elementares devem ser mudados.
Os cabeçários dos pacotes devem passar no clock de referência de programa (PCR) que vai permitir que o decodificador final recrie o sinal de clock de 27 MHz.
Como a posição dos pacotes contendo PCRs pode ser diferentes na nova multiplexação, o remultiplexador deve editar os valores PCR para que eles possam ser refletidos na nova posição no eixo de tempo.
As tabelas de mapeamento de programa e tabelas de associação de programa devem ser editadas para refletir a estrutura da nova corrente de transporte, assim como as tabelas de acesso condicional.
Se na soma da corrente de programas selecionada a taxa de bits é menor do que na saída, o remultiplexador vai criar pacotes de enchimento com PIDs apropriados.
Entretanto, se as correntes de transporte vierem como multiplexadores estatísticos, é possível que a taxa de bits instantânea da nova corrente de transporte exceda a capacidade do canal.
Essa condição pode ocorrer se diversos programas selecionados em diferentes correntes de transporte contiverem simultaneamente alta entropia.
Nesse caso, a única solução consiste em se recomprimir e criar novos coeficientes mais curtos em uma ou mais correntes de bits de modo a reduzir a taxa de bits.
Service Information (SI)
No futuro, o envio de sinais digitais vai significar a existência de um grande número de programas, teletextos e serviços disponíveis para o telespectador e eles devem ser espalhados através de diversas correntes de transporte.
Tanto o telespectador como o decodificador integrado ao receptor (IRD) devem ser capaz de ajudar a mostrar o que está disponível e acessar o serviço selecionado.
Essa capacidade exige metadados entre as capacidades do MPEG-OS (Program Specific Information) e é denominada como DVB-SI (Service Information). DVB-SI deve incluir o NIT que é opcional nas correntes de transporte MPEG.
O DVB-SI é embutido na corrente de transporte como pacotes adicionais de transporte com PIDs próprios que carregam informação técnica para os IRDs.
O DVB-SI também contém informações de um guia eletrônico de programa (EPG), como a natureza de um programa, o horário e o canal no qual ele estará disponível, além dos países nos quais ele estará disponível.
Os programas também podem ser avaliados de tal forma que um controle de acesso por idade possa ser feito.
O DVB-SI inclui as seguintes tabelas e os MPEG-PSI:
Tabela de informação de rede (NIT). Informação numa corrente de transporte que descreve diversas correntes de transporte. O NIT leva informação relacionada com a organização fixa do multiplexador, correntes de transporte carregadas numa rede e as características da própria rede. As correntes de transporte são identificadas pela combinação de um ID de rede original e um ID da corrente de transporte no NIT.
Tabela de Descrição de Serviço (SDT). Cada serviço numa corrente de transporte DVB deve ter uma descrição desse serviço e todas as descrições devem ser montadas numa tabela de descrição de serviço. Um serviço pode ser televisão, rádio ou teletexto. O descritor de serviço inclui o nome do fornecedor do serviço.
Tabela de Informação de Evento (EIT) – EIT é uma tabela para DVB que contém os nomes dos programas, horários do início, duração e tudo mais.
Tabela de Horário e Data (TDT) – A TDT é uma tabela que embute a hora UTC e um selo de dados na corrente de transporte.
O DVB-SI também define outras tabelas opcionais como: tabela de associação de buquê (BA), tabela de status para os dados em processamento (RST), tabela de offset de horário (TOT) e tabela de enchimento (ST).
O ATSC, assim como o DVB, usa a seção de tabelas privadas do MPEG-2 para definir diversas novas tabelas.
O conjunto de tabelas de comando definido pela ATSC em A/65a é parte do protocolo de informação do sistema e programa (PSIP). O PSIP do ATSC inclui as seguintes tabelas sobre e acima do MPEG-PSI:
Tabela de Canal Visual Terrestre (TVCT) definindo, num mínimo, os programas MPEG-2 embutidos na corrente de transporte na qual o TVCT é transportado.
Tabela de Guia Mestre (MGT) definindo o tipo, identificadores de pacotes e versões para todas as outras tabelas PSIP na corrente de transporte, exceto para a tabela de tempo do sistema (SIT).
Tabela de Região Avaliada (RRT) definindo o nível de controle (censura) dos programas de qualquer conteúdo carregado na corrente de transporte.
Tabela de Horário do Sistema (SST) determinando a data e horário.
Tabela de Informação de Evento (EIT-n) definindo as primeiras quatro tabelas de informação de evento (EIT-0, EIT-1, EIT2 e EIT-3) descrevendo 12 horas de eventos (programas de TV), cada uma com uma cobertura de 3 horas, e incluindo os canais virtuais listados no TVCT.
Correção de Erro
A correção de erro é necessária porque as condições de longos percursos de transmissão não podem ser controladas.
Em alguns sistemas, a detecção do erro é suficiente porque ela pode ser usada para pedir uma nova transmissão.
Está claro que essa abordagem não vai funcionar com sinais em tempo real como os usados em televisão.
Em lugar disso, é usado o FEC no qual bits extras suficientes, conhecidos como redundância, são adicionados aos dados de modo a permitir que o decodificador faça correções em tempo real.
O FEC usados nos sistemas modernos são usualmente baseados nos códigos Reed-Solomon (R-S).
Como funcionam esses códigos foge à finalidade dessa série de artigos.
De forma resumida, os códigos R-S adicionam redundância aos dados de modo a formar uma palavra de código de tal forma que cada símbolo é dado como um termo num mínimo de duas equações.
Se não existir nenhum erro. a soma (ou síndrome) é sempre zero.
Essa condição de zero é obtida independentemente dos dados e torna a checagem fácil.
Nas correntes de transporte os pacotes sempre têm 188 bytes de comprimento, antes da adição dos dados de correção de erro.
A soma de 16 bytes da redundância R-S produz um pacote com comprimento de 204 bytes (na pratica, as correntes de transporte podem usar 204 bytes mesmo quando uma FEC não está presente.
O uso de 16 bytes de enchimento impede o reclocking do sistema quando o FEC é adicionado ou deletado).
No caso de que a síndrome não seja zero, ao resolver as equações simultâneas o resultado será dois valores necessários à correção do erro: a localização do erro e a sua natureza.
Entretanto, se o tamanho do erro excede metade do tamanho da redundância adicionada, o erro não poderá ser corrigido.
Infelizmente, nos canais típicos de transmissão, a qualidade do sinal é estatística. Isso significa que alguns bits individuais podem estar errados devido a ruído, e num momento até mesmo um número elevado deles, conhecido como burst (salva) pode ser corrompido em conjunto.
Essa corrupção pode ocorrer devido a uma descarga elétrica ou interferência de equipamento elétrico.
Não é econômico proteger cada palavra de código contra esses bursts porque eles não ocorrem sempre.
A solução é o uso de uma técnica denominada “interleaving”.
A figura 2 mostra que a fonte de dados é codificada FEC antes da transmissão e esses dados são aplicados num buffer RAM.
Na figura 3 é mostrada uma das possíveis técnicas em que os dados entram na RAM em filas e então são lidos em colunas.
Os dados reordenados são então transmitidos. Na recepção, os dados são recolocados na sua ordem original ou de-interleaved, utilizando-se uma segunda RAM.
O resultado do processo de interleaving é que os erros de burst no canal após o de-interleaving se torna um grande número de símbolos de erros individuais, que podem ser corrigidos com mais facilidade.
Quando um erro de burst alcança o tamanho máximo que pode ser corrigido, o sistema se torna vulnerável a erros aleatórios de bits que tornam palavras de código incorrígiveis. O uso de código interno aplicado depois do interleave e corrigido antes do de-interlaved pode prevenir erros aleatórios evitando que eles entrem na memória de-interleave.
Como a figura 3 mostrou, quando essa abordagem é usada com uma estrutura de blocos de interleave, o resultado é um código de produto.
A figura 4 mostra que a interleave pode também ser convolucional, na qual o conjunto de dados é cortado, aplicando-se um intervalo diferente a cada fila.
O interleave convolucional ou cruzado, tem a vantagem de precisar de menos memória para o processo de interleave e de-interleave.
Codificação de Canal
Dados seriais de binários em seqüência são impróprios para a transmissão por diversos motivos.
Seqüências de bits idênticos causam desvios DC e afetam o clock de bits. Não existe controle do espectro e a faixa passante exigida é muito grande.
Nos sistemas de rádio e cabo práticos, um esquema de modulação denominado código de canal é necessário.
Os esquemas de modulação digital, como os que vimos em artigo anterior, e mostrado na figura 5, nos permite ver uma aplicação desses princípios num modulador 64QAM.
Nos esquemas descritos acima, o espectro do sinal transmitido depende do sinal.
Algumas partes do espectro podem conter alta energia e causar interferência em outros serviços enquanto que outras partes do espectro podem conter pouca energia e por isso serem suscetíveis à interferência.
Na prática, um processo aleatório é necessário para descorrelacionar o espectro transmitido do conteúdo de dados.
A figura 6 mostra que, quando a energia tornada aleatória ou dispersada é usada, uma seqüência pseudo-aleatória é somada aos dados seriais antes de sua entrada ao modulador.
O resultado é que o espectro transmitido é como ruído, com uma estatística relativamente estacionária.
Fica claro que uma seqüência sincronizada e idêntica deve ser subtraída no receptor, como foi mostrado.
Tornar aleatória não pode ser aplicável aos padrões de sincronismo, ou eles não poderão ser detectados.
Codificação Interna
A codificação interna de um sistema FEC é projetada para prevenir erros aleatórios, causados pela redução da potência do esquema de interleaving.
Um código interno apropriado pode prevenir tais erros dando um aumento aparente na relação sinal-ruído (SNR) na transmissão.
Na codificação por treliça, que pode ser usada com sinais multi-níveis, diversos símbolos multi-níveis são associados a um grupo.
A forma de onda que resulta de um determinado grupo de símbolos é chamada treliça.
Se cada símbolo pode ter oito níveis, então em três símbolos podem haver 512 possíveis treliças.
Na codificação por treliça, os dados são colocados de tal forma que somente certas formas de onda de treliças representam dados válidos.
Se somente 64 das treliças representam dados livres de erro, então dois bits de dados por símbolo podem ser enviados em lugar de três.
O bit remanescente é uma forma de redundância porque as treliças, diferentes das 64 corrigidas, podem ser devido a erros.
Se uma treliça é recebida na qual o nível de um dos símbolos é ambíguo devido ao ruído, a ambigüidade pode ser resolvida porque o nível correto deve ser um que resulta numa treliça válida.
Essa técnica é conhecida como decodificação de máxima semelhança.
As 64 treliças válidas devem ser feitas tão diferentes quanto seja possível de modo a permitir que o sistema continue a trabalhar com uma relação sinal-ruído pobre.
Se o codificador de treliça comete um erro, o código externo vai corrigi-lo.
A codificação convolucional de Viterbi pode usada no DVB. A figura 7 mostra que, seguindo um interleaving, os dados são aplicados a um shift register.
Os conteúdos do shift register vão produzir duas saídas que representam verificações de paridade diferentes nos dados de entrada, de tal forma que erros de bits possam ser corrigidos.
Fica claro vão existir dois bits de saída para cada bit de entrada, assim o codificador mostrado é denominado codificador de taxa ½.
Qualquer taxa entre 1/1 e ½ pode pertencer aos dados originais a serem transmitidos, mas a quantidade de redundância pode variar.
A falha em se transmitir a saída inteira ½ é denominada “puncturing” e ela permite qualquer balanceamento seja obtido na taxa de bits e na potência de correção.
Dígitos de Transmissão
A figura 8 mostra os elementos de um transmissor digital ATSC.
A informação de serviço descrevendo a transmissão é adicionada a corrente de transporte.
Essa corrente é então tornada aleatória antes de ser roteada a um codificador de correção de erro R-S externo que adiciona redundância aos dados.
Um processo de interleaving convolucional reordena então os dados de tal forma que os dados adjacentes na corrente de transporte não sejam adicionados na transmissão.
Um codificador interno de treliça é então usado para produzir um sinal multi-nível para um modulador de banda lateral vestigial (VSB).
A figura 9 mostra um transmissor DVB-T.
A informação de serviço é adicionada como antes, seguida por um estágio que torna aleatórios os sinais para dispersão de energia.
Uma verificação externa R-S de símbolos é adicionadas antes do interleaving.
Depois disso, um processo de codificação interna é realizado e os dados codificados são aplicados a um modulador COFDM. A saída do modulador é então convertida para produzir a saída de RF.
No receptor, o bit de clock é extraído e usado para controlar a temporização do sistema inteiro.
A codificação de canal é revertida para se obter o fluxo de dados mais os erros de transmissão.
O código interno corrige os erros aleatórios e pode também identificar erros grandes para ajudar o codificador externo depois do de-interleaving.
A colocação aleatória dos dados é removida e o resultado é a corrente original de transporte.
O receptor pode então identificar o PAT, a informação de serviço (SI) e o PMT de modo que o telespectador possa ver o que está disponível na corrente de transporte e selecionar o programa que deseja ver no multiplexador.
Índice
Introdução à TV Digital (CUR9000)