relatório parcial da ic tv digital - daniel aguillar
DESCRIPTION
TRANSCRIPT
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO Centro das Ciências Exatas e Tecnologia
Faculdade de Matemática, Física e Tecnologia
Programa Institucional de Bolsas de Iniciação Científica
PIBIC/CEPE
DESENVOLVIMENTO DE PLATAFORMAS PARA
PRODUÇÃO E DIFUSÃO DE CONTEÚDOS DIGITAIS –
UMA APLICAÇÃO PARA TV DIGITAL INTERATIVA (TVDI)
Período: Março/2010 - Fevereiro/2011
Orientadores: Professor Julio Arakaki
Professor Eduardo Savino Gomes
Alunos
Daniel Antonio Midena Aguillar (09002418) - Depto. de Ciência da Computação
Marvin Ferreira da Silva (09002468) - Depto. de Ciência da Computação
Autor:
Daniel Antonio Midena Aguillar
São Paulo, 10 de Agosto de 2010.
Sumário
1. Introdução.................................................................................................................. 3 2. Descrição das Atividades ........................................................................................... 4 2.1. Procedimentos metodológicos............................................................................. 6 3. Cronograma das atividades ........................................................................................ 7 4. GINGA-NCL e Middleware GINGA .............................................................................. 8 5. Conclusões ................................................................................................................ 9 6. Referências ............................................................................................................. 10
3
1. Introdução
Devido às constantes evoluções tecnológicas, a televisão que antes era uma tecnologia
totalmente analógica, se encaminha para se tornar cada vez mais uma tecnologia digital (Tanto na
transmissão como na recepção dos conteúdos disponibilizados para os seus usuários.).
Como conseqüência, verifica-se um aumento considerável nas possibilidades de oferta de
conteúdos cada vez com maior interatividade para os seus usuários. Nota-se então, o surgimento e
demanda para o desenvolvimento de conteúdos interativos e conseqüentemente a necessidade de
estudo e desenvolvimento de linguagens de programação e softwares que possam atender a esta
demanda aumentando as possibilidades oferecidas pela TV Digital.
Escolhemos este assunto (desenvolver um aplicativo para a Tv Digital), pois além de ser um
tópico para realizarmos uma iniciação científica, é também um desafio e uma inovação a ser realizada,
embora já haja conteúdo desenvolvido, é uma nova tecnologia que precisa e merece mais estudos e
aprofundamentos.
O intuito desta iniciação científica é o estudo para posterior desenvolvimento uma aplicação-
protótipo, a qual eventualmente poderá ser disponibilizada através de algum canal de TV.
Este documento apresenta os tópicos já cobertos por esta pesquisa e consiste de duas partes.
A primeira traz o cronograma da pesquisa e a apresentação das atividades desenvolvidas durante os
primeiros meses do projeto, onde é apresentado um detalhamento do que foi desenvolvido em relação
a cada um dos tópicos abordados.
Na segunda parte são apresentadas informações, discussões e exemplos sobre as
investigações realizadas sobre os assuntos relacionados ao tema deste projeto.
4
2. Descrição das Atividades
No cronograma apresentado, foi relacionada para os primeiros meses deste projeto de
pesquisa, a realização das seguintes atividades:
Mês-Ano Fase/Atividades
Março-2010 Estudo da Tecnologia
o Levantamento bibliográfico
Abril-2010 Estudo da Tecnologia
o Levantamento de ferramentas existentes
Maio-2010 Estudo das Ferramentas existentes
Junho-2010 Estudo da área da aplicação e definição dos requisitos para o protótipo
Julho-2010 Desenvolvimento de Relatório Parcial
Agosto-2010 Desenvolvimento de Relatório Parcial
O levantamento sobre o material já existente constituiu-se, basicamente, na busca de sites,
revistas e livros disponíveis que abordam o assunto. Dentre os mais relevantes encontrados, foi feita
uma listagem de referências, no fim deste documento. O orientador auxiliou na busca, indicando sites
com aplicações que já conhecia e livros com informações pertinentes.
Do material encontrado, só foi possível utilizar uma parcela, afinal, a maior parte do material
traz, em maior volume, referências quanto às possibilidades, normas e softwares, não trazendo muitos
exemplos práticos de aplicações. Vale ressaltar que existiu uma grande dificuldade em encontrar
conteúdo e material para estudo da linguagem e acreditamos que isto se deva ao fato de ser uma
―novidade‖ no mundo tecnológico. O material encontrado nos forneceu exemplos simples, cuja
interação com o usuário é pequena, porém, são funcionais, além disto, foi difícil conseguir fazer com
que os aplicativos fossem instalados e funcionassem corretamente, pois estes que baixamos da
internet, como Composer, NCL Player, VMWare Player, etc, alguns não chegaram a rodar em nenhum
computador que tentamos instalar, fazendo com que nós voltássemos ao ponto de partida no quesito
de teste do software.
Também foi encontrada, pelo orientador Professor Eduardo, uma revista (WEB MOBILE
MAGAZINE, Edição 22 - Ano 2004, p.11) que falava sobre desenvolvimento de aplicações para TV
Digital e também trazia um exemplo de implementação de uma interface gráfica, usando Java TV,
então iniciamos a implementação, porém ao chegar em um ponto próximo ao término, descobrimos
que não seria possível rodar a aplicação devido à ausência das bibliotecas necessárias para
5
compilação do programa, tentamos buscá-las na em diversos locais da Internet, porém, não foram
encontradas, ocasionando assim o cancelamento deste teste que iria ser realizado.
Após um período complicado de falta de informações e documentações, encontramos um curso
de TV Digital - Linguagem NCL (Nested Context Language), ministrado pela empresa Tempo Real
Eventos. Infelizmente nós não pudemos participar pela escassez de vagas para o mesmo. Porém
obtivemos acesso à apostila usada durante o curso (desenvolvida por eles).
Assim que terminamos o estudo da apostila, após algumas tentativas e erros, obtivemos nosso
maior êxito nos testes realizados. Baixamos o software VMWare Player 3.1.0, que é uma máquina
virtual, e através desta, conseguimos rodar uma máquina virtual baseada em Linux, chamada ―Fedora-
fc7-GINGA-i386‖ que simula o ambiente de TV Digital (de um Set-top Box* com GINGA-NCL). Após
testes, conseguimos rodar programas-modelo já desenvolvidos que vieram junto com o sistema
baixado, desenvolvidos em linguagem NCL.
A seguir, um trecho de código de um exemplo simples de programação em GINGA-NCL para
exibição de um vídeo:
<?xml version=”1.0” encoding=”ISSO-8859-1”?>
<ncl id=”ex1” xmlns=http://www.ncl.org.br/NCL3.0/EDTVProfile>
<head> <regionBase>
<region height=”100%” id=”rgVideo1” left=”0” top=”0” width=”100%”/> </regionBase>
<descriptorBase>
<descriptor id=”dVideo1” region=”rgVideo1”/>
</descriptorBase>
</head>
<body>
<port component=”video1” id=”pEntrada”/>
<media descriptor=”dVideo1” id=”video1” src=”media/video_android1.mp4”/>
</body>
</ncl>
Exemplo de implementação de um programa para exibir um vídeo em GINGA-NCL.
Fonte: (TEMPO REAL et al., Mão na massa - Apostila de GINGA-NCL - Curso TV Digital, 2010, p. 18)
Foi criado um BLOG (http://tvdigital-pucsp.blogspot.com) para auxiliar na intercomunicação
entre alunos e orientadores durante desenvolvimento do projeto, além de fornecer uma fonte de
informações para pessoas que também possam enfrentar os mesmos problemas que enfrentamos.
Por fim, iniciamos o desenvolvimento do relatório parcial da Iniciação, a fim de disponibilizar
para a apreciação dos órgãos patrocinadores e reguladores envolvidos, todas as informações sobre o
que ocorreu e o que foi realizado até o presente momento.
* Set-top box: “Conversor, set-top box (STB) ou power box é um termo que descreve um equipamento que se conecta a um televisor e a uma fonte externa de sinal, e transforma este sinal em conteúdo no formato que possa ser apresentado em uma tela.(...)”
6
Neste mês de Agosto, me inscrevi e participarei de um curso de TV Digital, onde o principal
tema abordado é o GINGA-NCL, junto à empresa Tempo Real Evento. Acredito que isto nos ajudará
muito para atingirmos nossas metas e objetivos e, sobretudo desenvolver um protótipo funcional.
Todos os eventos narrados ocorreram deste o início do projeto até o mês atual, Agosto.
2.1. Procedimentos Metodológicos
Os procedimentos utilizados durante a pesquisa realizada até então, constituíram-se de:
Levantamento de material, tecnologias e documentação contendo o tema abordado;
Busca por informações em livros, fóruns, apostilas, etc.
Testes e implementações de aplicações já desenvolvidas, obtidas em canais de
desenvolvimento GINGA-NCL;
Reuniões de posicionamento e alinhamento com os professores orientadores.
7
3. Cronograma das atividades
Mês-Ano Fase/Atividades
Março-2010 Estudo da Tecnologia
o Levantamento bibliográfico
Abril-2010 Estudo da Tecnologia
o Levantamento de ferramentas existentes
Maio-2010 Estudo das Ferramentas existentes
Junho-2010 Estudo da área da aplicação e definição dos requisitos para o protótipo
Julho-2010 Desenvolvimento de Relatório Parcial
Agosto-2010 Desenvolvimento de Relatórios Parcial
Setembro-2010 Desenvolvimento de modelos baseados nas especificações e requisitos para o
protótipo
Outubro-2010 Especificação e definição das Estruturas de Dados para o protótipo
Novembro-2010 Especificação e definição das operações e dos Métodos para o protótipo
Dezembro-2010 Desenvolvimento do Modelo de Implementação
o Codificação do protótipo
Janeiro-2011 Desenvolvimento do Modelo de Implementação e redação de relatório final
o Codificação do protótipo
Fevereiro-2011 Redação de relatório Final
o Testes e conclusões do Projeto
8
4. GINGA-NCL e Middleware GINGA
Desenvolvido pela PUC-RIO (Pontifícia Universidade Católica do Rio de Janeiro), o subsistema
GINGA-NCL é um ambiente que proporciona uma linguagem de alto nível para apresentação
multimídia de conteúdo interativo através de aplicações declarativas escritas em NCL. A principal
vantagem deste sistema é que a forma de desenvolver nesta linguagem NCL é relativamente mais fácil
por abstrair diversos aspectos mais detalhados que em linguagens de baixo nível seriam
contempladas e não seriam abstraídas.
O conceito da linguagem NCL é relativamente simples, similar ao da linguagem HTML
(Hypertext Markup Language): Através de tags**, é possível programar as tarefas que se deseja
realizar. Esta linguagem também permite um alto nível de integração entre outros tipos de linguagens
e isto se deve ao fato de ter sido uma linguagem desenvolvida com este fim.
Com relação ao middleware* GINGA, este é um conjunto de tecnologias padronizadas e
inovações Brasileiras do Sistema Brasileiro de TV Digital (SBTVD) que melhor atendem aos requisitos
da TV Digital do país, tendo seu desenvolvimento de forma colaborativa entre a PUC-RIO, Telemídia e
UFPB (Universidade Federal da Paraíba).
* Middleware: “Middleware ou mediador, no campo da computação distribuída é um programa de computador qua faz e mediação de
envio e recebimento de informações/comandos entre software e demais aplicações. (...)”. ** Tags: “São estruturas de linguagem de marcação que consistem em breves instruções, tendo uma marca de início e outra de fim (...)”.
9
5. Conclusões
Depois de efetuadas pesquisas por documentação, manuais, revistas, artigos, etc., concluímos
que realmente há pouco material disponível para estudo e aprendizado da tecnologia para TV Digital
(SBTVD), por ser uma área relativamente nova. Ainda assim, obtivemos êxito em encontrar
informações importantes para o início de nossas atividades.
Até o presente momento, o cronograma foi seguido à risca, não deixando nenhuma etapa por
realizar. Felizmente conseguimos baixar alguns softwares (já citados anteriormente) necessários para
testar o funcionamento do GINGA-NCL. Estes foram utilizados para verificar o funcionamento de
programas-modelo obtidos como exemplo. E serão estes exemplos que nos ajudarão para atingirmos
pleno entendimento da tecnologia e posterior desenvolvimento de nosso protótipo.
A demanda por programadores e softwares de TV Digital no Brasil é grande, pois há poucas
pessoas e empresas devidamente dedicadas a estas questões. No entanto, ainda é uma área que se
percebe em franca expansão com grandes possibilidades tanto de estudo como de negócio.
Concluindo, pudemos perceber durante o desenvolvimento de nossas atividades, que é uma
área recente e que depende de esforço e estudo para que se desenvolva em sua plenitude no Brasil.
Acreditamos que o alcance de nossos objetivos seja plenamente possível, que estamos adquirindo
acesso às principais ferramentas e informações para tal fim e também que é necessária a
documentação de todo o processo de desenvolvimento tanto para fins de maior entendimento como
para fins de auxílio a novos pesquisadores nesta área.
10
6. Referências
ABNT. NBR15606-1: Televisão digital terrestre — Codificação de dados e especificações de transmissão para radiodifusão digital. Disponível em: <http://www.abnt.org.br/imagens/Normalizacao_TV_Digital/ABNTNBR15606-1_2007Vc_2008.pdf>
ABNT. NBR15606-2 - Digital terrestrial television – Data coding and transmission specification for digital broadcasting – Part 2: GINGA-NCL for fixed and mobile receivers – XML application language for application coding.
Disponível em: <http://www.dtv.org.br/download/en-en/ABNTNBR15606_2D2_2007Ing_2008Vc2_2009.pdf> ANATEL, TV DIGITAL: Implantação do Sistema Brasileiro de Televisão Digital Terrestre - SBTVD-T na plataforma de transmissão e retransmissão de sinais de radiodifusão de sons e imagens.
Disponível em <https://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5820.htm> DAVIC: Digital Audio Visual Council.
Disponível em: <http://www.davic.org>
DIBEG: Integrated Services Digital Broadcasting - Terrestrial (ISDB-T) Disponível em: <http://www.dibeg.org> GINGA: Informações sobre as plataformas/tecnologias e aplicativos Brasileiros.
Disponível em: <http://www.ginga.org.br/> GINGA NCL: Informações sobre a tecnologia.
Disponível em: < http://www.gingancl.org.br/> SBTVD: Normas Brasileiras de TV Digital.
Disponível em:< http://www.forumsbtvd.org.br/materias.asp?id=112> SOARES, Luiz Fernando Gomes et al. Nested Context Model 3.0 Part 1 – NCM Core.
Disponível em:< http://www.ncl.org.br/documentos/ncm30.pdf> SOARES, Luiz Fernando Gomes et al. Programando em NCL 3.0 – Desenvolvimento de Aplicações para o Middleware GINGA – TV DIGITAL E WEB. 1 ed. Ed. Campus, 2009.
SOARES, Luiz Fernando Gomes et al. TV Digital Interativa no Brasil se faz com Ginga: Fundamentos, Padrões, Autoria Declarativa e Usabilidade.
Disponível em: < http://www.ncl.org.br/documentos/JAI2008.pdf> WIKIPEDIA: Definições de middleware, tags e set-top box.
Disponível em< http://pt.wikipedia.org/wiki/Middleware>, <http://pt.wikipedia.org/wiki/Tag_(programação)> e <http://pt.wikipedia.org/wiki/Set-top_box>