• Nenhum resultado encontrado

3.2 O FLUXO DE TRANSPORTE (TRANSPORT STREAM)

3.2.4 APLICAÇÃO INTERATIVA

O Ginga-NCL realiza a apresentação de aplicações interativas especifica- das em NCL. NCL é uma linguagem declarativa para a especificação das aplicações nos sistemas de TV digital e também é a linguagem de referência, definida pelo ITU- T, para sistemas IPTV. Ao contrário das linguagens imperativas, como a linguagem Java, que também podem ser utilizadas na especificação das aplicações para TV, a construção de aplicações NCL não exige que o autor seja um programador com ex- periência na especificação através dessa linguagem. Ao contrário, NCL é proposta para que autores relacionados à área de TV possam especificar as aplicações, inclu- indo publicitários, engenheiros, etc.

Através da NCL é possível especificar um objeto, como um vídeo, áudio, texto, etc., que podem estar sendo transmitidos através dos fluxos elementares, como um nó representado pelo elemento <media>.

Cada elemento do documento NCL possui alguns atributos. O elemento <media> possui os atributos id, que define um identificador exclusivo para esse

elemento, src, que define o endereço ou diretório onde se encontra o conteúdo des- se elemento e descriptor, que referencia o descritor que especifica como o objeto deverá ser apresentado. Há ainda outros atributos que não fazem parte do escopo deste trabalho.

Um documento NCL traz a especificação da forma com que os objetos de mídia são estruturados e relacionados no tempo e no espaço. O elemento <area> permite a especificação de âncoras que identificam segmentos do objeto de mídia. Essas âncoras podem ter várias especializações em relação ao conteúdo que se de- seja marcar. Dentre as especializações destacam-se: âncora de texto, espacial, rotu- lada, de intervalo de tempo relativo e de intervalo de amostras. As âncoras de inter- valo permitem descrever um conjunto de unidade de informação dos objetos de mí- dia, e, neste trabalho, o enfoque principal fica por conta deste tipo de âncoras, mais especificamente, âncoras por amostra NPT. Esse tipo de âncora é definido em um documento NCL como um elemento <area>, filho do elemento <media>.

Utilizando os atributos first e last, ou begin e end referentes ao ele- mento <area>, um fluxo NPT pode atuar como referência temporal entre os objetos de uma aplicação. O atributo first determina o início de uma mídia contínua en- quanto o atributo last determina o término da âncora de uma mídia contínua. A Erro: Origem da referência não encontrada mostra um segmento de um código NCL que usa uma base temporal para fazer referência aos objetos. O receptor associa o

“contentId” atual, contido no fluxo NPT, à aplicação que foi iniciada. Como pode ser

observado na Erro: Origem da referência não encontrada, os valores dos atributos first e last das âncoras são definidos com base no valor do NPT.

Figura 15: CARROSSEL DE OBJETOS DSM-CC.

Em um sistema interativo, faz-se necessário algum mecanismo para transportar os arquivos inerentes às aplicações. Estas aplicações são enviadas pela emissora por difusão. O padrão DSM-CC possui os recursos necessários para tornar esta tarefa factível. O DSM-CC não é somente um padrão, mas um pacote completo de proto- colos, incluindo todos os elementos necessários para que um sistema de TV digital funcione de forma adequada. Isto inclui a configuração de rede, o controle de fluxo de mídias, o sincronismo de mídias, o acesso a arquivos em uma ou duas vias, etc. O uso mais comum do DSM-CC é prover acesso a objetos em um servidor remoto. Arquivos e diretórios são tratados como objetos, e clientes podem usar este meca- nismo para manipular estes objetos e acessar seus conteúdos [2].

Uma vez que a sintonização de um canal pode ser realizada em qualquer instante, aplicações que possam ser instanciadas durante qualquer momento do conteúdo audiovisual principal devem ser enviadas ciclicamente. Dessa forma, é ga- rantido o acesso à aplicação pelo usuário telespectador, mesmo que ele tenha de esperar uma “rodada” até que esta aplicação esteja disponível. Este processo é co- nhecido como carrossel. Um carrossel de objetos permite que um ou mais sistemas de arquivos sejam ciclicamente enviados. Esse carrossel é especificado no conjunto de protocolos DSM-CC.

Vários carrosséis de objetos podem ser transmitidos simultaneamente. Aplicações presentes em um carrossel podem fazer referência a arquivos presentes em outro carrossel. Como exemplo, uma página em HTML pode utilizar como refe- rência uma imagem contida em outro carrossel de objetos [16]. Para que o receptor

interprete a hierarquia de diretórios de forma correta, deve-se utilizar um mecanismo para fazer com que os autores de aplicações interativas aprendam detalhes do me- canismo de identificação de recursos do carrossel de objetos e do protocolo DSM- CC, com o objetivo de especificarem as aplicações com as URLs adequadas ao am- biente de exibição do sistema de TV digital. [17].

O DSM-CC determina que os dados transmitidos através do carrossel de objetos devem ser divididos em unidades denominadas módulos. Cada módulo pode possuir mais de um arquivo desde que não ultrapasse um total de 64 Kbytes. Os ar- quivos que estão em um mesmo módulo podem fazer parte de diretórios diferentes. Uma vez que os objetos foram dispostos em módulos, cada um deles é então trans- mitido um após o outro. Após transmitir o último módulo, a transmissão é reiniciada a partir do primeiro bloco. O resultado disso é um fluxo que contém o sistema de arqui- vos transmitido de forma cíclica. Assim, se um determinado receptor não recebeu uma parte de um módulo em particular, devido a um erro na transmissão ou por ter sido iniciado após a transmissão desse módulo, basta esperar pela retransmissão desse módulo.

Em alguns casos, utilizar o carrossel de objetos dessa forma significa in- troduzir uma latência impraticável para os dados enviados pela emissora. Para ate- nuar este problema, os geradores de carrossel oferecem como opção transmitir al- guns módulos com maior frequência que outros. Assim, os módulos que contêm ar- quivos com maior prioridade podem ser transmitidos com maior frequência.

Como exemplo, considere a estrutura de diretórios da Erro: Origem da re- ferência não encontrada. Essa estrutura conta com um arquivo “index.htm” que deve ser exibido nos receptores. O arquivo “Pasta1.htm” possui como elo (Link) para o “Track1.mp3”. Se, eventualmente, o link for acionado, a mídia “Track1.mp3” seria exibida.

Figura 16: Sistema de arquivos do Carrossel de Objetos.

Para transmitir a estrutura da Erro: Origem da referência não encontrada via carrossel de objetos, primeiro é necessário separar seus arquivos em módulos. Inicialmente, seria possível alocar o arquivo “Pasta1.htm” em um primeiro módulo. O arquivo seguinte da estrutura - Track1.mp3 - possui mais de 64 Kbytes e, portanto, não é possível que este faça parte do mesmo módulo de “Pasta1.htm”. Assim, “Track1.mp3” é alocado em um módulo único. Analogamente, o arquivo image001.png deve ser alocado em um terceiro módulo. Já os demais arquivos po- dem ser alocados no mesmo módulo que se encontra o arquivo Pasta1.htm, uma vez que a soma do tamanho desses arquivos é inferior a 64 Kbytes. A disposição fi- nal de arquivos em três módulos é ilustrada na Erro: Origem da referência não en- contrada.

Após a divisão dos dados em módulos, é possível determinar a sequência que estes módulos serão transmitidos. Uma sequência interessante seria 1-3-2, já que o arquivo “image001.png” depende do arquivo “pasta1.htm” para ser exibido. Assim, essa divisão resultaria em uma menor latência na transmissão. O módulo 2 só será utilizado se o usuário acionar a âncora e, portanto, não fará falta antes da ocorrência da ação interativa. A Erro: Origem da referência não encontrada ilustra a forma de transmissão escolhida:

Figura 18: Sequência de Transmissão dos Módulos do Carrossel de Objetos.

Finalmente, neste exemplo, um objeto de evento deveria ser transmitido (nesse mesmo carrossel de objetos). Simplificadamente, o objeto de evento possui informações sobre os eventos DSM-CC que farão com que a aplicação responsável exiba o arquivo “Pasta1.htm”. Os objetos DSM-CC, bem como os eventos DSM-CC, são abordados na seção seguinte.

Documentos relacionados