MPEG-2 E O datacasting SUPORTADO NA TV DIGITAL – 2ª PARTE

DESTAQUE
MPEG-2 E O datacasting SUPORTADO NA TV DIGITAL – 2ª PARTE
OS AUTORES APRESENTAM DETALHADAMENTE NESTA SEGUNDA PARTE DO ARTIGO A FUNCIONALIDADE DOS SISTEMAS NA TELEVISÃO DIGITAL, DESCREVENDO PASSO A PASSO TODOS OS SISTEMAS E PROTOCOLOS UTILIZADOS.
Por Carlos Piccioni e Carlos Montez

PES e o Data streaming
Funcionalidades não suportadas pelos pacotes de transporte estão disponíveis nessas estruturas, como por exemplo, correção de erros e sincronização. De forma a atender diferentes requisitos no transporte de dados, não disponíveis em nível de pacotes de transporte, o MPEG-2 Systems define dois tipos de estruturas.
As PES são utilizadas principalmente como forma de encapsulamento de fluxos elementares de áudio e vídeo. Geralmente, para um fluxo de vídeo MPEG-2, cada quadro é conduzido em um pacote PES. Com relação ao áudio, um pacote PES carrega em torno de 24 milisegundos de amostragem. Além de áudio e vídeo MPEG-2, as PES também podem carregar outros tipos de dados. O tamanho de cada pacote PES é variável, chegando a cerca de 65 mil bytes.
As PES carregam em seu cabeçalho informações como a identificação do tipo de conteúdo, além de estampilhas de tempo para a sincronização do mesmo. São duas estampilhas de tempo com essa finalidade, o PTS, Presentation Time Stamp, e o DTS, Decoding Time Stamp. Ambas são baseadas no relógio de referência de programa, o PCR.
O PTS corresponde ao instante em que o conteúdo transportado por uma PES deve ser apresentado. Por exemplo, pode corresponder ao instante em que um quadro de um fluxo de vídeo deve ser exibido.
O DTS indica o instante em que a carga da PES deve ser decodificada. Essa estampilha de tempo se mostra útil em situações onde determinada informação a ser apresentada deve ser decodificada depois da informação que ainda não foi entregue ao receptor. Isso ocorre, por exemplo, na decodificação e apresentação de vídeo MPEG-2 onde alguns quadros, os quadros do tipo B (quadros bidirecionais MPEG-2. Sua codificação é baseada em informações de quadros anteriores e posteriores), necessitam de informações de um quadro posterior para sua decodificação.
O mecanismo conhecido como data streaming faz uso das PES para a difusão de dados, e pode ser definido como uma área de datacasting onde dados, na maioria das vezes não delimitados, são continuamente difundidos e geralmente alimentam alguma aplicação do set-top box.
O uso das PES para o data streaming permite o datacasting sincronizado, devido ao uso das estampilhas de tempo DTS e PTS. Essa é a sua grande vantagem em relação às outras formas de difusão de dados. O datacasting via PES é geralmente empregado em aplicações que requisitam forte acoplamento dos dados com outros fluxos elementares.

Seções, PSIs e o MPE
As seções, diferentemente das PES, são utilizadas principalmente no transporte de determinadas tabelas e contêm informações referentes aos serviços presentes em um fluxo de transporte. Essas tabelas são conhecidas como PSI, ou Program Specific Information, e podem ser transmitidas em uma seção ou fragmentadas em mais de uma.
São cinco as PSIs definidas pelo padrão MPEG-2, porém as duas de maior interesse na difusão de dados são:
• Tabela de Associação de Programas ou Serviços (PAT –Program Association Table)
• Tabela de Mapeamento de Programa ou Serviço (PMT –Program Maple Table)
Um demultiplexador, ao receber determinado fluxo de transporte, deve ser capaz de descobrir quais serviços estão presentes no mesmo. Tal informação é fornecida pela Tabela de Associação de Programas. Ela contém a lista de todos os serviços presentes em um fluxo de transporte, associando cada serviço a um determinado PID.
A informação sobre quais fluxos elementares fazem parte de determinado serviço estão presentes na Tabela de Mapeamento de Programa. É o PID dos pacotes que transportam essa tabela que é referenciado pela PAT para cada serviço. A PMT contém a lista dos fluxos elementares do serviço, o tipo de cada fluxo, assim como o PID de seus pacotes de transporte.
Para um set-top box, a PAT é ponto de partida para se localizar determinado serviço ou fluxo elementar em um fluxo de transporte. Esse é motivo pelo qual todos os pacotes com PID igual a zero são reservados para o transporte da PAT como definido pelo MPEG-2 Systems. A Figura 5 ilustra a sintaxe de uma PAT.

figura 1
Fig. 5 – Sintaxe da PAT.

A estrutura de uma seção carregando uma PAT é semelhante às demais PSI.
Através do identificador de tabela é possível determinar se a tabela é uma PAT, PMT, etc. Especificamente para a PAT existe o campo denominado identificador do fluxo de transporte, que como o próprio nome indica, serve como um identificador para o fluxo de transporte no qual os serviços referenciados pela PAT são transportados. Alguns campos são comuns a todas as PSI. Como essas tabelas podem ser atualizadas periodicamente, suas modificações são informadas ao decodificador através de campos como o número de versão e o indicador de tabela válida. O campo indicador de tabela válida informa se a tabela que está sendo transmitida atualmente, de determinado número de versão, já deve substituir a tabela de número de versão anterior, ou se apenas está sendo difundida previamente para que o set-top box se prepare para as futuras modificações.
As seções possuem tamanho variável, indicado pelo campo tamanho da seção, porém não pode ser maior que 1024 bytes. Caso a PAT ou a PMT seja maior que esse valor, a mesma deve ser segmentada em mais de uma seção. De forma a numerar essas seções, é utilizado o campo número da seção, que é incrementado até a última seção de determinada tabela. Para prever o tamanho da tabela nesse caso, o número total de seções pode ser obtido pelo decodificador desde a primeira seção através do campo número da última seção. As seções implementam também mecanismos de correção de erros através do CRC de 32 bits, calculado no momento de codificação e inserido nos últimos 4 bytes da seção.
Além do identificador do fluxo de transporte, uma estrutura única das PAT é o conjunto de associações para cada serviço presente no fluxo de transporte. Cada serviço é referenciado por um número de programa, ao qual é atribuído um PID. Esse PID indica em qual fluxo está sendo transportada a Tabela de Mapeamento de Programa.
Dessa forma, ao selecionar determinado serviço, o demultiplexador passa a filtrar os pacotes com o PID em questão, informado pela PAT, obtendo assim a PMT referente ao mesmo. A sintaxe das seções das PMTs é apresentada na Figura 6.

figura 2
Fig. 6 – Sintaxe da PMT.

Alguns campos da seção da PMT são semelhantes aos da PAT, possuindo as mesmas funções. Porém, um campo único na PMT é o número do programa, que é um identificador para o serviço, com o mesmo valor referenciado pela PAT. Um campo adicional é o PCR PID, que indica em quais pacotes está sendo transportado o relógio base do programa, PCR. A seção da PMT contém ainda um campo de tamanho variável, definido pelo campo tamanho da informação de programa, que possui informações adicionais sobre o mesmo.
Após a informação de programa, a PMT possui uma lista relacionando todos os fluxos elementares que fazem parte do serviço. Cada entrada dessa lista é dividida em três partes: tipo do fluxo, PID e descritores. O primeiro informa qual o tipo de fluxo carregado pelos pacotes com o PID do segundo campo: vídeo, áudio, etc. Os descritores são opcionais, dependentes geralmente da implementação, e fornecem informações adicionais sobre o fluxo referenciado. Ao ler a lista fornecida pela PMT, o demultiplexador decide quais fluxos irá repassar aos decodificadores. A Figura 7 ilustra a relação entre as PSI e os demais fluxos elementares.

figura 3
Fig. 7 – Relação entre PAT, PMT e demais fluxos elementares.

Além das seções utilizadas na codificação das PSI descritas até então, existe um tipo genérico de seção denominado private section. As private sections podem ser utilizadas para transportar outras tabelas, definidas em implementações de sistemas de TVD, ou qualquer outro tipo de dado. A Figura 8 ilustra a sintaxe das private sections.

figura 4
Fig. 8 – Sintaxe das Private Sections.

É possível encapsular dados em uma private section utilizando apenas três bytes de cabeçalho. A existência dos demais cinco bytes comuns em uma seção são sinalizadas pelo campo indicador de sintaxe da seção. A maioria dos outros campos possui a mesma função dos presentes na PAT e PMT. Além do indicador de sintaxe da seção, a única diferença do cabeçalho completo da private section é o campo identificador estendido de tabela, cuja funcionalidade é determinada pela implementação. Outra diferença é que, segundo o padrão MPEG-2, uma private section pode chegar até 4096 bytes, contra os 1024 das seções utilizadas na codificação das PSI.
O Multiprotocol Encapsulation, MPE, a terceira forma de datacasting apresentada neste artigo, é utilizado para transportar datagramas de diversos protocolos através de private sections do padrão MPEG-2. O padrão DSM-CC (que será apresentado em mais detalhes na próxima seção) estende as private sections, definindo a chamada seção de datagrama. Uma seção de datagrama pode ser codificada de acordo com qualquer tipo de protocolo de rede da terceira camada do modelo ISO/OSI, e a sua sintaxe pode ser encontrada nas recomendações para difusão de dados dos diversos sistemas de TVD.
Sistemas de televisão digital como o DVB otimizaram a sintaxe das seções de datagrama de forma a facilitar o transporte de datagramas IP. A preferência pelo protocolo IP se deve a dois fatores: sua popularidade e, caso utilize-se essa forma de datacasting para oferecer serviços de internet via canal de difusão (downstream), a mesma é considerada uma escolha natural. Vários trabalhos, como, apontam o IP datacasting através do MPE como solução para diversas aplicações utilizando o canal de difusão da televisão digital, principalmente no que se refere à recepção móvel.
A grande diferença em relação aos dois mecanismos de datacasting apresentados anteriormente, o data piping e o data streaming, reside no fato de que no MPE do tipo IP Datacasting os dados podem ser facilmente endereçados a um set-top box (unicast) ou a grupos de set-top boxes (multicast). Não que isso não seja possível com os dois tipos anteriores, mas o endereçamento, nesse último caso, é uma característica intrínseca ao protocolo IP (e conseqüentemente, ao IP datacasting).
O endereçamento dos receptores ocorre de forma similar a uma rede IP sobre Ethernet: cada receptor possui um endereço de hardware fixo, o endereço MAC (Media Access Control). Também podem haver outros tipos de endereçamento, como o número de série do aparelho ou o número de algum smart card acoplado ao receptor. Esses endereços são mapeados para endereços IPs para que os datagramas IP alcancem corretamente seus destinatários. Tal tarefa é realizada por descritores de roteamento nas PSIs do fluxo de transporte ou, como definido no sistema DVB, através de uma tabela adicional denominada IP/MAC Notification Table, ou INT.
Outra diferença com relação ao data streaming através das PES é que as seções de datagrama não contêm informações temporais. Dessa forma, qualquer tentativa de sincronização deve ser de responsabilidade da implementação ou efetivada através de outros recursos do DSM-CC.

A primeira parte deste artigo está na edição 86.

Continua na próxima edição.

Os  Autores
Carlos Piccioni é pós-graduado em Engenharia Elétrica pela Universidade Federal de Santa Catarina (UFSC).
Carlos Montez é do departamento de automação e sistemas, em Florianópolis, Santa Catarina.

e-mail: [email protected][email protected]

Referência
L. Staffans. Internet protocol datacasting, a technology overview. Master’s thesis, Helsinki University of Technology, 2004.
Tektronix. A Guide to MPEG Fundamentals and Protocol Analysis, 2002. URL http://www.tek.com/Measurement/App_Notes/25_11418/eng/ 25W_11418_4.pdf.
European Telecommunications Standards Institute. Digital Video Broadcasting: Implementation guidelines for Data Broadcasting, 2003. ETSI TR 101 202.
G. Zhiqi, Y. Songyu, and Z. Wenjun. Using object multiplex technique in data broadcast on digital CATV channel. IEEE Transactions on Broadcasting, 50(2):113– 119, Jun. 2004.
D. Catapano et. al. DTV data broadcasting: Opportunities and experiences. Technical report, Triveni Digital Inc., Harris Corporation, 2003.
S. Bushholz, A. Schill, e T. Ziegert. A simulation study of update techniques for cyclic data broadcast. In 4th ACM International Workshop on Modeling, Analysis and Simulation of Wireless and Mobile Systems, pages 115–122, Rome, Italy, Jul. 2001.
G. Thomas. ATSC datacasting: Opportunities and challenges. In NAB2000 Broadcasting Eng. Conf., Apr. 2002.
E.A. Heredia. Optimal object allocation for multimedia broadcast. In Int. Conf. Acoustics, Speech, and Signal Processing, pages 3717–3720, May 1998.
E.M. Schwalb. iTV Handbook: Technologies and Standards. Prentice Hall PTR, 2003.
European Telecommunications Standards Institute. Digital Video Broadcasting: Multimedia Home Platform Specification 1.0.3, 2003. ETSI ES 201 812 V1.1.1.
S. Morris. Mhp interactive, 2005. URL http://www.interactivetvweb.org/tutorial/mhp/index.shtml. Último acesso em 26 de janeiro.
Moving Picture Experts Group. The MPEG home page, 2005. URL http://www.chiariglione.org/mpeg. Último acesso em 27 de janeiro.
International Organization for Standardization. Coding of Moving Pictures and Associated Audio -MPEG-2 Systems, 2000. ISO/IEC 13818-1.
G. Fairhurst. Data transmission using MPEG-2 and DVB, 2005. URL http://www.erg.abdn.ac.uk/research/future-net/digital-video/ dsm-cc.html. Último acesso em 27 de janeiro.
International Organization for Standardization. Coding of Moving Pictures and Associated Audio -Extension for Digital Storage Media Command and Controls, 1996. ISO/IEC 13818-6.
Object Management Group, 2005. URL http://www.omg.org. Último acesso em 27 de janeiro.
ATSC Implementation Subcommittee Informational Document. Implementation of data broadcasting in a DTV station. Technical report, Advanced Television Systems Committee, 1999.
Advanced Television Systems Committee. ATSC Recommended Guidelines for the ATSC Data Broadcasting Standard, 2001. ATSC A/91.