View
1.028
Download
2
Embed Size (px)
DESCRIPTION
Trabalho de conclusão de curso sobre a linguagem de programação NCL, prós e contras do middleware Ginga-NCL e padrões de TV digital adotados no mundo.
Citation preview
Faculdade Estácio do Recife Bacharelado em Sistemas de Informação
O Uso da Linguagem Declarativa NCL no Desenvolvimento de Software para TV Digital Brasileira
Diogo Dostoiévsky Robespierre de Sá
Recife, 2011
Diogo Dostoiévsky Robespierre de Sá
O Uso da Linguagem Declarativa NCL no Desenvolvimento de Software para TV Digital Brasileira
Orientador: Prof. Msc. Álvaro Pinheiro
Monografia apresentada como requisito complementar para obtenção do grau de Bacharel em Sistemas de Informação da Faculdade Estácio do Recife.
Recife, 2011ii
S111u
SA, Diogo Dostoiévsky Robepierre de. O uso da linguagem declarativa NCL no desenvolvimento de software para tv digital brasileira / Diogo Dostoievsky Robespierre de Sá. –
Recife: 2011. 70 f.; 30 cm.
Orientação: Alvaro F. Pinheiro.Trabalho de conclusão de curso (Bacharelado) - Faculdade Estácio do Recife, 2011.
Inclui anexo e bibliografia.
1. Linguagem de programação NCL. I. Título.
CDU 004.438
iii
Faculdade Estácio do Recife Bacharelado em Sistemas de Informação
O Uso da Linguagem Declarativa NCL no Desenvolvimento de Software para TV Digital Brasileira
Diogo Dostoiévsky Robespierre de Sá
Monografia submetida ao corpo docente do Curso de Sistemas de Informação
da Faculdade Estácio do Recife, em Dezembro de 2011.
BANCA EXAMINADORA:
-----------------------------------------------------------------------------------------------------------------Prof. Msc. Álvaro Pinheiro, Faculdade Estácio do Recife (Orientador)
-----------------------------------------------------------------------------------------------------------------Prof. Msc. Roberto Mendonça, Faculdade Estácio do Recife (examinador interno)
----------------------------------------------------------------------------------------------------------------- Prof. Msc. Faculdade Estácio do Recife.
iv
AGRADECIMENTOS
Ao amigo Pedro “Desastre”, Guilherme e o professor de música Moura por me
permitir ter contato com o mundo das artes, através da música e por seus exemplos
de caráter.
Ao meu avô, seu Antônio, pelas suas palavras de ensinamento sobre a importância
do trabalho e do caráter para um homem e a minha avó, dona Maria, por seu grande
coração e seu exemplo de perseverança e vitória.
A minha tia Dôra e meu tio Ramos com quem sempre pude contar.
A minha mãe, uma batalhadora e exemplo de profissional.
Ao Professor e Orientador Álvaro Pinheiro pela orientação e apoio na execução e
conclusão desta Monografia.
Aos professores do Curso de Sistemas de Informação, pelos conhecimentos
transmitidos.
Aos funcionários da FIR pelo atendimento.
Ao amigo Weli, pela apoio.
v
RESUMO
A TV digital trata-se de uma evolução do modelo de transmissão de sinal televisivo e é composto por um conjunto de padrões de audio e vídeo que permitem a transmissão de uma quantidade maior de dados e consequente maior qualidade de audio e vídeo na mesma faixa de frequência do modelo de transmissão televisivo anterior. Com o advento dos dispositivos portáteis com acesso a redes wireless ao cotidiano das pessoas, se tornou comum a utilização de celulares, notebooks ou video-games portáteis ao mesmo tempo em que se assiste televisão, então de uma forma natural a TV digital passou a convergir tecnologias, afim de provê maior interatividade e entretenimento ao usuário ou telespectador através de um único aparelho, utilizando de integração de sistemas interativos que podem ou não fazer conexão com internet e fazer utilização da web.
Palavras-Chave: TV Digital. Middleware. Interatividade. Ginga. NCL.
vi
ABSTRACT
The digital TV it is an evolution of the transmission of television signals and consists of a set of standards for audio and video that enable transmission of an increased amount of data and consequent higher quality audio and video in the same range frequency of previous television broadcast model. With the advent of portable devices with wireless access to the daily lives of people, has become common to use mobile phones, laptops or portable video games while you watch television, then in a natural way digital TV has to converge technologies in order to provide more interactivity and entertainment to the user or viewer through a single device, using the integration of interactive systems that may or may not connect to the Internet and make use of the web.
Keywords: Digital TV. Middleware. Interactivity. Ginga. NCL.
vii
1
LISTA DE FIGURAS
Figura 1 (2) How digital Tv Works ………………………………………………. 6
Figura 2 (2) Transmissão simultânea da programação analógica e digital... 7
Figura 3 (2) TV digital .................................................................................... 8
Figura 4 (2) Televisão analógica televisão digital ..........................................11
Figura 5 (2) A evolução da imagem ............................................................... 12
Figura 6 (2) Exemplo de ilustração do canal de retorno/interatividade ......... 13
Figura 7 (2) Interatividade em suas mãos ..................................................... 14
Figura 8 (2) Diagrama de blocos do ISDB ..................................................... 16
Figura 9 (2) Padrões de Tv digital .................................................................. 17
Figura 10 (3) Sistema operacional ................................................................... 27
Figura 11 (4) Modelo de um sistema de televisão digital interativa.................. 29
Figura 12 (4) Difusão de sinal ..........................................................................31
Figura 13 (4) Recepção de sinal ......................................................................32
Figura 14 (5) Tipos de dados utilizados nos aplicativos de Tv digital ..............34
Figura 15 (5) Entidades NCM e elementos da linguagem NCL ......................35
Figura 16 (5) Interfaces de um nó NCM ..........................................................35
Figura 17 (5) Estrurura básica de um documento NCL..................................41
Figura 18 (5) Mostra a seleção da máquina virtual do Ginga-NCL para execução através do software VMware ..................................... 42
Figura 19 (5) Mostra o virtua software VMware após ser selecionada a máquina virtual a ser executada e suas configurações de hadware, podendo essas configurações de hadware, podendo essas configurações serem alteradas pelo usuário ..................
43
Figura 20 (5) Mostra a máquina virtual do Ginga-NCL em execução ............44
Figura 21 (5) Mostra localização do recurso que permite adicionar plug-ins a IDEECLIPE ................................................................................. 45
Figura 22 (5) Mostra a tela de inclusão de localização do plugin a ser instalado, após selecionar o botão: “Add...”................................ 46
Figura 23 (5) Mostra a versão do plugin da linguagem NCL disponível para dowload ...................................................................................... 46
1
2
Figura 24 (5) Mostra a perspectiva do remote system explorer.......................48
Figura 25 (5) Configuração de protocolo SSH .................................................49
Figura 26 (5) Mostra a configuração de conexão remota com a máquina virtual Ginga-NCL .......................................................................
50
Figura 27 (5) Mostra a tela para login na máquina virtual Ginga-NCL ............ 50
Figura 29 (5) Terminal para execução de aplicativos NCL máquina virtual ... 52
Figura 30 (5) Definição da localização de mídias ............................................ 54
Figura 31 (5) Exemplifica as mídias contidas no sistema e sua forma de armazenamento em pastas distintas entre imagem, vídeo e arquivo WEB...............................................................................
55
Figura 32 (5) Definição do leiaute do sistema através de Tags <region base> e <region>...................................................................................
56
Figura 33 (5) Demonstra como os descritores são declarados no projeto “vida viajante” .............................................................................
57
Figura 34 (5) Importação da base de conectores para o documento de hipermídia “Race.Na”..................................................................
58
Figura 35 (5) Mostra a lista de conectores e suas respectivas funções no projeto “vida viajante’ .................................................................
59
Figura 36 (5) É demonstrado as declarações de mídias pro software “vida viajante” ......................................................................................
61
Figura 37 (5) Mostra a porta de contexto do software “vida viajante” .............. 62
Figura 38 (5) Mostra o início do software “vida viajante” ................................ 63
Figura 39 (5) Mostra os elos de repetição do software “ vida viajante” ao término de u ma mídia do tipo vídeo ..........................................
63
Figura 40 (5) Mostra os elos responsáveis pela interação através de controle remoto ........................................................................................
64
Figura 41 (5) Mostra os elos responsáveis pela execução das mídias de ícones, paralização de algum vídeo em execução e inicialização de outro vídeo ao se selecionar algum ícone no menu apresentado .................................................................... 65
Figura 42 (5) Menu customization, responsável por a partir de botões selecionados pelos usuário, indicar a melhor praia para o perfil indicado .....................................................................................
67
Figura 43 (5) Indicação da melhor praia para o perfil indicado ..................... 68
Figura 44 (5) Jogo 4x4 de licença livre desenvolvido por Blender 3D.......... 69
2
3
LISTA DE TABELAS
Tabela 1 - Comparação genérica entre analógica e Tv digital ...................... 9
Tabela 2 - Tipos de resolução suportados pela Tv digital .............................. 10
Tabela 3 - 14 áreas funcionais da linguagem NCL ........................................ 37
Tabela 4 - Tabela NCL.....................................................................................
38
Tabela 5 - Tabela SMIl..................................................................................... 39
...
3
4
LISTA DE ABREVIATURAS
AAC - Advanced Audio Coding
AC3 - Audio Coding
API - Application Programming Interface
ATSC - Advanced Television Systens Committee
COFDM - Coded Orthogonal Frequency Division Multiplex
DTV - Digital Television
DVB - Digital Video Broadcasting
EPG - Electronic Program Guide
ISBD - Integrated Services Digital Broadcasting
LCD - Liquid Crystal Display
MHP - Multimedia Home Platform
MPEG - Moving Picture Experts Group
SBTVD - Sistema Brasileiro de TV Digital
SDTV - Standard Definition Television
STB - Set-Top-Box
TS - Transport Stream
TV - Televisão
TVD - TV Digital
TVDI - TV Digital e Interativa
HDTV - High-Definition Television
4
5
DASE - Digital Applications Software Environment
ARIB - Association of Radio Industries and Businesses
HTML - HyperText Markup Language
XML - Extensible Markup Language
BML - Better Markup Language
GEM - Globally Executable MHP
DMB - Digital Multimedia Broadcasting
IDE - Integrated Development Environment
NCL - Nested Context Language
8 - VSB 8-Level Vestigial Sideband
5
6
SUMÁRIO
1 INTRODUÇÃO..................................................................................................... 11.1 Delimitação da pesquisa .................................................................................. 21.2 Hipótese ........................................................................................................... 21.3 Objetivos ........................................................................................................... 31.3.1Objetivo geral................................................................................................... 31.3.2 Objetivos específicos...................................................................................... 31.4 Justificativa........................................................................................................ 4
2 REFERENCIAL TEÓRICO ................................................................................. 62.1 TELEVISÃO DIGITAL ..................................................................................... 62.1.1 Características............................................................................................... 82.1.1.1 Imagem e som ........................................................................................... 102.1.1.2 Interatividade .............................................................................................. 132.1.1.3 Acessibilidade ............................................................................................ 152.2 Ferramentas de desenvolvimento Ginga-NCL para TV digital ISDB-TB............................................................................................................................ 152.2.1 Middleware..................................................................................................... 162.3 Principais padrões de TV digital ....................................................................... 172.3.1 DVB-T (Digital Video Broadcast Terrestrial) ………………………………….. 172.3.2 ATSC (Advanced Television Systems Committee)…………………………… 192.3.3 ISDB-T (Integrated Services Digital Broadcasting Terrestrial)………………. 192.3.4 ISDB-TB (Integrated Services Digital Broadcasting Terrestrial Brazil)……... 20
3 TECNOLOGIA DE MODULAÇÃO, APLICAÇÃO, COMPRESSÃO E MIDDLEWARE UTILIZADAS PELA TV DIGITAL.................................................
22
3.1Tecnologia de modulação ................................................................................. 223.1.1OFDM.............................................................................................................. 223.1.2 8 – VSB ......................................................................................................... 233.2 Tecnologia de aplicação.. ................................................................................. 243.3 Tecnologia de compressão ............................................................................... 243.3.1 Padronização MPEG2.................................................................................... 243.3.2 Padronização MPEG4 ................................................................................... 253.3.2.1 Padronização DOLBY AAC ........................................................................ 253.4 Tecnologias de middleware.............................................................................. 263.4.1 Dase .............................................................................................................. 263.4.2 ARIB............................................................................................................... 273.4.3 GINGA........................ ................................................................................... 27
6
7
4 COMPONENTES DA TV DIGITAL INTERATIVA ............................................... 294.1 Difusão ............................................................................................................. 294.2 Receptor set-top box......................................................................................... 314.3 Datacasting, carrossel de dados e carrossel de objetos .................................. 334.3.1 Datacasting ................................................................................................... 334.3.2 Carrosel de dados ......................................................................................... 33
5 LINGUAGEM DECLARATIVA NCL..................................................................... 345.1 Identificadores da linguagem NCL 3.0.............................................................. 375.2 Estrutura básica de um documento NCL........................................................... 415.3 Sistema para TV digital – “Vida Viajante” ......................................................... 41
5.3.1 Configuração do ambiente de desenvolvimento............................................. 425.3.1.1 Instalação da máquina virtual Ginga-NcL.................................................... 425.3.2 Configurações do IDE Eclipse ....................................................................... 445.3.3 Instalação e configuração do plug-in Remote System Explorer RSE)........... 465.3.4 Criação de projeto e conexão do ambiente de desenvolvimento como a máquina virtual através de protocolo SSH ............................................................. 475.4 Criação de aplicativo utilizando a Linguagem NCL .......................................... 50
5.4.1 Definição de mídias e sua localização .......................................................... 505.4.2 Definição do código e explicação de trechos do código ............................... 535.4.2.1 Definição de regiões ................................................................................. 535.4.2.2 Definição de descritores ............................................................................. 55
5.4.2.3 Definição de conectores ............................................................................. 565.4.2.4 Definições de mídia..................................................................................... 595.4.2.5 Definindo a porta que irá determinar o início do software.......................... 605.4.2.6 Definindo elos para sincronizar início e término de exibição de mídias .... 605.4.2.7 Subsistema web colaborativo do sistema “Vida Viajante” ..........................5.4.2.7.1 Menu web................................................................................................5.4.2.7.2 Menu game..............................................................................................
636365
6 CONSIDERAÇÕES FINAIS ................................................................................ 67
7 REFERÊNCIAS.................................................................................................... 69
7
8
1 INTRODUÇÃO
Presente em países de primeiro mundo antes da sua implantação em território
brasileiro, a tecnologia de TV digital, foi uma tecnologia bastante debatida em
relação ao modelo a ser seguido (padrão americano, japonês ou europeu),
entretanto foi escolhido o padrão japonês como modelo, principalmente por sua
capacidade de recepção de sinal televisivo por dispositivos móveis e isenção de
tarifas no mesmo.
Em meados dos anos 2000, os primeiros sinais digitais começaram a ser
transmitidos ao mesmo tempo em que os consumidores estavam voltados para as
televisões de LCD e Plasma, buscando interatividade e uma maior qualidade de
imagem e som, também se tratando da “TV digital”, porém alguns dos consumidores
não estavam atento ao fato que a TV digital, não se trata de um aparelho, mas da
transmissão de um tipo de sinal que deve ser receptado por um set-top box externo
ou interno ao aparelho de televisão para que se possa usufruir da qualidade de
áudio e vídeo dos canais de televisão, aparelho este que não havia no mercado e
muito menos era acoplado aos aparelhos de televisão no início das transmissões de
sinal digital, causando frustração de alguns. Situação essa que foi mudando de
acordo com o tempo, hoje é relativamente fácil se encontrar set-top box no mercado
e alguns aparelhos de televisão já o possue acoplado.
O set-top box é um aparelho responsável pela recepção de sinal digital e
que possibilita a interatividade com o usuário através de um middleware, no caso da
TV digital brasileira o middleware presente no set-top box é o middleware Ginga, que
possue duas variações: Ginga-J que utiliza linguagem de programação Java para
possibilitar a interação com o usuário e o Ginga-NCL que utiliza linguagem
declarativa NCL e linguagem de script Lua com o mesmo objetivo. Com exceção da
linguagem Java, todas as outras tecnologias foram desenvolvidas por instituições
brasileiras, com destaque para a universidade PUC-Rio, principal responsável pela
8
9
criação da linguagem NCL e linguagem de script Lua, buscando a potencialização
da tecnologia de TV digital brasileira, já que a mesma utiliza recursos de última
geração como exemplo a codificação para áudio e vídeo MPEG-4, enquanto os
outros padrões, utilizam a codificação MPEG-2.
Por ser uma tecnologia não tão abrangente como o Java, que está presente
em todos os padrões de TV digital, a tecnologia NCL não possui uma grande
quantidade de referência acadêmica, desenvolvedores e aplicativos em relação a
tecnologia Java, porém é uma tecnologia prática e de paradigma mais simples do
que ao paradigma do Java, não necessitando conhecimentos avançado no
desenvolvimento de software.
O presente trabalho pretende fazer um estudo sobre as tecnologias da TV
digital brasileira, com foco na linguagem NCL e para exemplificação, a criação de
um protótipo utilizando a tecnologia NCL, tendo como tema o automobilismo e o
turismo.
1.1 Delimitação da pesquisa
A pesquisa se limita a análise dos padrões de TV digital em utilização no
mundo, com foco no padrão de TV digital brasileiro, seu middleware Ginga-NCL e
software de modelagem 3D. A partir dessa análise será desenvolvido um sistema
com a utilização das seguintes tecnologias: middleware Ginga-NCL e Blender 3D-
Engine. O sistema criado terá o objetivo de apresentar a TV digital como ferramenta
colaborativa e de entretenimento para todas as faixas etárias e classes sociais.
1.2 Hipótese
Após seu lançamento a televisão se tornou um dos principais meios de
comunicação e entretenimento, ocupando lugar estratégico na sala-de-estar, onde
familiares, amigos e casais de namorados se reuniam para assistir programas
televisivos diversos. Porém, com a invenção da internet e massificação dos
computadores pessoais a televisão perdeu seu lugar de destaque como meio de
comunicação e entretenimento, pois a internet permitia maior interatividade e
potêncial de entretenimento maior do que a televisão podia oferecer. Porém isso
9
10
está mudando, pois as tecnologias de televisão e computação pessoal estão
convergindo, agora já é possível conectar a televisão a internet e até fazer com que
ela adquira comportamento semelhante a computadores pessoais. Se um sistema
for bem projetado para permitir interatividade, entretenimento e colaboração através
da televisão poderá facilitar a vida das pessoas.
1.3 Objetivos
Este capítulo busca demonstrar a finalidade do presente trabalho e quais aspectos
do tema serão focalizados durante o desenvolvimento do mesmo. O tema abordado
se trata da tecnologia de TV digital e seus aspectos com relação a utilização de
software.
1.3.1 Objetivo geral
Verificar conceitos e padrões de TV digital, visando desenvolver
software utilizando ferramentas criadas e mantidas por organizações
responsáveis pela manutenção do padrão brasileiro de TV digital, que
permita a interação entre mídias e que seja um subsistema de um
sistema que utiliza conceito de Smart TV.
1.3.2 Objetivos específicos
Este capítulo apresenta de forma detalhada os objetivos que o presente trabalho busca alcançar.
Estudar e apresentar conceitos sobre TV digital, padrões de TV digital,
com foco no padrão de TV digital brasileiro.
Explanação sobre os tipos de middleware, com foco no middleware
brasileiro Ginga e configuração de emulador do middleware Ginga-
NCL, visando o estudo, desenvolvimento e execução de software para
TV digital, utilizando linguagem declarativa NCL.
10
11
Criar protótipo de software para TV digital que utilize plataforma do
middleware Ginga-NCL e conceito de Smart Tv.
1.4 Justificativa
O presente trabalho se mostra relevante, diante do crescimento da economia
brasileira, do sistema de TV digital no Brasil e a escassa fonte de referências
acadêmicas sobre as tecnologias que compõem o middleware Ginga-NCL que utiliza
a linguagem Nested Context Language (NCL) e a linguagem de script Lua e
aplicativos utilizando as tecnologias citadas. Apesar da existência do middleware
Ginga-J que utiliza linguagem de programação Java para desenvolvimento de
aplicativos e o middleware Ginga-CC que é uma camada que suporta os ambientes
existentes no Ginga, implementando os exibidores de mídia dos ambientes Ginga-
NCL e Ginga-J, o presente trabalho irá focar no middleware Ginga-NCL, pois é o
middleware que utiliza tecnologias brasileiras para o desenvolvimento de aplicações.
Tanto a linguagem NCL, o middleware Ginga-NCL e a linguagem de programação
Lua, foram desenvolvidos pela Pontifícia Universidade Católica do Rio de Janeiro
(PUC-Rio).
Junto a isso, segundo notícias do portal Nova Brasil FM (2011), o Ministério
do Turismo destaca que o crescimento do turismo nacional vai girar em torno de
16,5% no ano de 2011, isso influenciado pela classe “C”. Para alcançar a
expectativa, o ministério considerou o crescimento das 80 maiores empresas de
turismo em 2010. Juntas, elas faturaram 42 bilhões e 800 milhões de reais somente
no ano passado. Com a perspectiva de crescimento as maiores empresas do setor,
que já empregam 96 mil pessoas, deverão gerar mais postos de trabalho em 2011 e
com a realização da copa do mundo em 2014 e as olimpíadas em 2016 no Brasil, há
grandes inventimentos em infra-estrutura para poder atender bem os turistas e
aquecer o mercado nacional como um todo.1
A partir da análise dos fatos citados anteriormente, surgiu a idéia de se criar
um sistema que permitisse a integração das áreas de turismo, automobilismo e TV
digital, de forma que através de entretenimento, proporcionado por um sistema
executado através de TV digital, os usuários pudessem fazer uma viagem virtual em
1NOVA BRASIL FM. Turismo nacional deve crescer 16,5% em 2011. Disponível em: <http:/www.novabrasilfm.com.br/noticias/nova-noticia/turismo-nacional-deve-crescer-165-em-2011/> Acesso em: 09 setl 2011.
11
12
diferentes cidades do Brasil, com possibilidade de usufruir de serviços diversos
através de integração do jogo 3D com internet ou simplesmente com o acesso direto
ao portal do sistema Vida Viajante.
O presente trabalho e seu resultado também deve ser utilizador por
estudantes, pesquisadores e profissionais para o desenvolvimento de tecnologia em
TV digital, que se beneficiarão das qualidades do projeto proposto para ajudar a
implementar suas idéias ou propor melhorias do sistema, assim como a economia
das regiões brasileiras incluídas no sistema que devem se beneficiar de mais uma
oportunidade de oferecer seus serviços e alcançar mais clientes, através da
tecnologia proposta por esse trabalho.
12
13
2 REFERENCIAL TEORICO
Este capítulo busca demonstrar o embasamento teórico no qual está alicerçado o
presente trabalho, através de leitura, compreensão e explanação sobre as
tecnologias abordadas a partir de trabalhos acadêmicos e técnicos.
2.1 TELEVISÃO DIGITAL
A televisão digital surgiu em meados dos anos 70 no Japão, quando
cientistas do NHK Science & Technical Research Laboratories, obteve patrocínio da
rede pública de televisão Nippon Hoso Kyokai (NHK) e de mais 100 estações
privadas de televisão, com o objetivo de realizar pesquisas buscando chegar a uma
tecnologia que permitisse provê ao telespectador sensações tão próximas quanto às
sentidas pelos espectadores de cinema.
Assim, para que essas mudanças ocorressem houve um consenso de que
deveria ser efetuada uma alteração na forma de difusão do sinal televisivo,
passando de sinal analógico para sinal digital, ou seja, o sistema de transmissão
adotado transmitiria sinal televisivo através de códigos binários, dessa forma seria
possível processar os dados televisivos, possibilitando assim que esses mesmo
dados pudessem ser facilmente manipulados e como resultado seria possível
proporcionar novos serviços aos espectadores e tornar a televisão algo mais atrativo
às pessoas.
A transmissão digital transporta dados codificados em 0 e 1 no qual um
receptor ou set-top box é responsável por converter os dados digitais ou bits em
áudio, vídeo e serviços interativos para que o usuário ou espectador possa ter uma
experiência próxima a experiência proporcionada pelo cinema no qual se objetivou
em meados dos anos 70 com o início das pesquisas sobre transmissão digital.
Pode-se exemplicar os modelos de transmissão digital e analógica,
conforme mostra, a figura 1, o detalhe para transmissão digital, com recurso de
multi-programação, ou seja, possibilidade de assistir mais de um canal ao mesmo
13
14
tempo. Na figura 2, é possível visualizar os formatos de transmissão do mais baixo
até o mais alto nível de qualidade de imagem e a frequência padrão de 6 MHz,
praticamnete utilizada em todos os padrões de TV digital.
Figura 1.2 - How Digital TV Works.Fonte: http://electronics.howstuffworks.com/digital-converter-box2.htm
14
15
Figura 2.2 - Transmissão simultânea da programação analógica e digitalFonte:http://www.clicrbs.com.br/especiais/diversos/tvdigital_equipamentos_transmissao19082008.jpg
A televisão digital ou HDTV teve seu primeiro sinal transmitido, uma hora por
dia, em meados do ano 2000. Este dispositivo eletrônico obteve relevância, pois
passou a concorrer com os computadores pessoais de acesso a internet por se
tornarem atrativos aos usuários devido a sua gama de funcionalidades.
2.1.1 Características
A receptividade das pessoas, fabricantes e redes de televisão em relação a
capacidade de interação e alcance da TV digital, retrata o fato da TV digital ser uma
grande evolução no mundo televisual, após a criação da TV em Preto e Branco e TV
Colorida.
Objetivando uma recepção de alta qualidade, em diversas áreas, é
necessário que a transmissão digital de TV, apresente um sistema que tenha
condições de ampla cobertura e robustez, ou seja, um sistema bem configurado, que
atenda aos requisitos que forem propostos. Exemplificado na figura nº 3.
15
16
Figura 3.2 - TV DigitalFonte: http://www.dtv.org.br/index.php/entenda-a-tv-digital/50/
No Brasil a TV digital só foi lançada no final de 2007. A transmissão digital
atinge, em sua maioria, diversos estados brasileiros e observa-se a existência de
políticas de incentivos visando o crescimento dessa tecnologia.
O crescimento dessa tecnologia pode ser analisado verificando-se, conforme
tabela nº 1, os fatores que compõem a diferença entre a TV analógica e TV digital.
Tabela nº 1 – Comparação genérica entre TV analógica e TV Digital.
Fator Analógico Digital
Resolução 525 linhas (4:3) Mínimo – 240 linhas horizontais e 320 pixels por linha e varredura progressiva.
Máximo – 1.080 linhas horizontais e 1.920 pixels por linha e varredura progressiva.
Qualidade de imagem
Degrada Não degrada
16
17
Novos Recursos Nenhum Interatividade (datacasting)Múltiplos fluxos de áudio evídeo
Otimização do espectro
Uso do espectro limitado por interferências
Possível uso de canais adjacentes
Interatividade Através de outros recursos (internet – telefone – celular)
Imediato, através do próprio aparelho – Canais de Áudio, Jogos e Compras
Interferência Sim Nunca
Programação Única Múltipla – até 6 programações por canal
Formato de imagem
4:3 (vertical) 16:9 (mais horizontal)
Som Mono ou estéreo (até 2 canais)
Dolby Digital (até 6 canais)
Impressão em tela
Canhão de elétrons Em bits
Fonte: SILVA2, 2008
Dados demonstrados na tabela acima, observa-se no tocante as
características de imagem, som, interatividade, acessibilidade e cobertura do sinal
possibilita-se dizer que a TV digital, deve ser considerada uma grande evolução
tecnológica.
Ainda nesse sentido, merece destaque os tipos de resolução suportados
pela TV digital descritos na tabela nº 2 que segue abaixo:
Tabela nº 2 – Tipos de resolução suportados pela TV Digital
Sistema Definição Imagem
LDTV Baixa Resolução de 240 linhas horizontais, 320 pixels por linha e varredura progressiva.
SDTVPadrão Resolução de 480 linhas horizontais, 640
pixels por linha e uma resolução temporal de 60 quadros por segundo em modo intercalado.
EDTV Estendida Resolução de 480 linhas horizontais, 720 pixels por linha e varredura em modo progressivo.
HDTV Alta Resolução de 1.080 linhas horizontais, 1920 pixels por linha em modo intercalado ou 720 linhas horizontais, 1280 pixels por linha com varredura
2 SILVA, George Martins da. TV analógica x TV digital. Disponível em: <http://meuartigo.brasilescola.com/atualidades/tv-analogica-x-tv-digital.htm>. Acesso em: 11 jul. 2011.
17
18
progressiva.
Fonte: SILVA3, 2008.
Caminhos vêm sendo trilhados com a implantação da Tv Ditigal,
precisamente quando se observa a definição que cada sistema proporciona. O
sistema televisivo HDTV apresenta uma resolução de tela bem superior comparada
a dos formatos tradicionais.
O termo varredura progressiva, citado na tabela n° 2, significa que desenha
cada linha da imagem em seqüência, criando uma imagem nítida, completa e sem
cintilação (flicker), enquanto na varredura intercalada a imagem é formada em duas
etapas, primeiro aparecem metade das linhas da imagem espalhadas pela tela,
depois em um curto espaço de tempo ocorre outra varredura mostrando as linhas
que faltam, assim comprometendo a qualidade da imagem.
2.1.1.1 Imagem e som
A característica que mais se destaca na TV digital é a qualidade de som e
imagem, bem maior do que a qualidade da transmissão analógica. Nas mídias essa
maior qualidade aparece com as siglas HD (High Definition) ou HDTV, que indica
que será possível ver mais detalhes na imagem, como nos cinemas.
A transmissão de imagem em formato HDTV nem sempre será possível na
atual conjuntura, mas em determinados casos será possível transmitir a imagem de
TV digital com qualidade ou resolução igual a da TV analógica. Uma das diferenças
é que ao contrário da transmissão de TV analógica no qual imagem e som é
transmitido de modo contínuo, o que faz com que imagens adquiram contornos
borrados, chuviscos, fatasmas, ruídos, distorções, dificuldade para vizualizar
caracteres na tela e ouvir um som pobre, às vezes em formato estéreo, a
transmissão digital transforma cada minúsculo elemento da imagem e do som em
número binário e não há interferências, a imagem é perfeita durante todo o percurso
de transmissão dos dados ou ela não existe.
3 SILVA, George Martins da. TV analógica x TV digital. Disponível em: <http://meuartigo.brasilescola.com/atualidades/tv-analogica-x-tv-digital.htm>. Acesso em: 11 jul. 2011.
18
19
A TV digital e HDTV, não são as mesmas coisas. Todo sinal de TV digital
tem maior qualidade do que o sinal de TV analógico, porém o HDTV é apenas uma
parte da TV digital, pois nem todos os programas são transmitidos utilizando o maior
padrão de qualidade que é o HDTV.
A resolução padrão de um televisor nos dias atuais é entre 480 e 525 linhas
(padrão 4:3), na televisão digital essa resolução chega a mais que o dobro, para
1080 (16:9) linhas com o maior padrão de qualidade o HDTV, com exceção da
utilização do recurso de multi-programação, onde é possível assistir mais de um
programa ao mesmo tempo é utilizado a resolução padrão, não há suporte para
multi-programação em resolução HDTV.
Através da figura 4 é possível verificar a diferença entre televisão analógica
e televisão digital.
Figura 4.2 - Televisão analógica Televião digital.Fonte: OLIVEIRA, 2009.
A maior qualidade de imagem acompanhada da maior qualidade de audio,
onde antes só havia o formato mono (um canal de aúdio) e estéreo (dois canais de
aúdio) na TV analógica é possível com a TV digital ter até seis canais de aúdio, som
surround 5.1, porém só será disponibilizado com o uso de HDTV.
Observa-se na figura (5), citada abaixo, a diferença de resolução em cada
sistema, identificando a que permite um melhor detalhamento.
19
20
Figura 5.2 - Evolução da Imagem.Fonte: http://abandonemicrosoft.net/portal/wp-content/uploads/2007/12/resolucaotvs.jpg
Vários estudos foram realizados sobre os temas correlatos com o sistema de
TV digital e pode-se alega que no tocante a imagem a qualidade é excelente,
independente de ser exibida ou não, em tv de pequeno, médio ou grande porte. O
sinal digital pode resistir a uma resolução maior, também assim a imagem continua
com qualidade mesmo quando é transmitida em uma tela de TV maior. Com relação
ao vídeo este pode ser entrelaçado, ou seja, assim a imagem é mostrada inteira
para cada quadro o oposto de uma linha de pixels sim, outra não.
20
21
Ainda dentro deste contexto, a utilização pelos canais de TV do sistema de
multitransmissão, utilizando-se nesse aspecto da tramissão de vários sinais usando
a mesma banda, com a possibilidade das TVs adotarem, em caso de interesse, a
inclusão de teor interativo ou dados diversos ao sinal da TV digital. Baseado nessas
análises pode-se afirmar que a TV digital tolera emissoras de alta definição (HDTV).
2.1.1.2 Interatividade
A TV digital apresenta outro paradigma ao mundo da televisão que é a
interatividade. Agora é possível que os telespectados que desejam interagir com os
programas exibidos. A interatividade ocorre através de middleware, no caso do
trabalho em questão. O middleware Ginga-NCL, desenvolvido pela PUC-Rio é
definido como padrão para o modelo brasileiro de TV digital (ISDB-TB) é
responsável por gerenciar toda interatividade.
Figura 6.2 - Exemplo de Ilustração do Canal de Retorno/Interatividade.Fonte: Site Oficial da TV Digital Brasileira. 2010.
A TV digital (ISDB-TB) através do seu middleware permite que o
telespectador possa interagir com a TV, podendo escolher a câmera de sua
preferência para vizualisar determinado programa televisivo, pode comprar algum
objeto que apareça em uma cena de filme ou novela, pode fazer votações, realizar
operações bancárias, além de outros serviços que irão aparecer de acordo com a
popularização da TV digital e aperfeiçoamento de suas ferramentas de
21
22
desenvolvimento de software. Nesse caso, podemos exemplificar uma tela de
interatividade utilizando a figura 7, apresentada no texto a seguir:
Figura 7.2 - Interatividade em suas mãos. Fonte: Portal BLOG da TV Digital.
Pode-se afirmar que existem três tipos de interatividade: interatividade local,
interatividade com canal de retorno não-dedicado e interatividade com canal de
retorno dedicado.
No tipo de interatividade local, o conteúdo é transmitido unilateralmente para
o receptor, de uma só vez e são armazenados no receptor. O usuário pode interagir
livremente após o armazenamento dos dados, só haverá um novo armazenamento
de dados quando o usuário efetuar uma atualização ou acessar outro serviço.
Na interatividade com canal de retorno não-dedicado a interatividade é
estabelecida a partir de uma troca de informações por uma rede à parte do sistema.
utilizando o ar como meio de recebimiento e retorno por linha telefônica.
A interatividade com canal de retorno dedicado é caracterizada pois pode
ser desenvolvido um meio específico para operar como canal de retorno. Nesse
caso o usuário precisa de além de antenas receptoras, também antens
22
23
transmissoras e os sistemas, de forma a viabilizar a transportar os sinais até a
central de transmissão.4
2.1.1.3 Acessibilidade
A TV digital provê um maior grau de acessibilidade do que a TV analógica.
Alguns modelos de aparelhos receptores ou mesmo conversores podem incorporar
gravadores que permitem ao usuário armazenar muitas horas de gravação, a
televisão digital permite ao usuário fazer sua própria grade de programação
televisiva, além de também proporcionar maior acessibilidade aos deficientes físicos
como a possibilidade de se ativar legendas ou língua de sinais aos programas com
um simples toque no botão do controle remoto. A tendência é cada vez mais tornar a
TV digital mais acessível a todo tipo de pessoas e necessidades de acordo com o
amadurecimento das tecnologias e ferramentas.
2.2 Ferramentas de desenvolvimento Ginga-NCL para TV digital ISDB-TB
As ferramentas para desenvolvimento de aplicativos utilizando o middleware Ginga-NCL, são:
Ginga Live CD;
CD bootavel do sistema Linux, contendo Ginga-NCL C++ v. 0.12.3 e interface gráfica amigável, v 1.2;
Ginga-NCL Virtual STB;
Máquina virtual Linux para VMWare, contendo Ginga-NCL C++ v. 0.12.3; e
Eclipse – NCL Eclipse Plugin. (IDE desenvolvida em Java, com grande
facilidadoldave de desenvolvimento e integração de plugins, com uma
extensa lista de plugins e que conta também com o plugin para
desenvolvimento de software utilizando a linguagem NCL.
2.2.1 Middleware
4 Disponível em:< http://wikipedia.org/wiki/Televis%C3%A3o_digital >. Acesso em: 02 jul. 2011.23
24
Com base no conceito dado pela Rede Nacional de Ensino e Pesquisa-
RNP, de que um middleware é o neologismo criado para designar camadas de
software que não constituem diretamente aplicações, mas que facilitam o uso de
ambientes ricos em tecnologia da informação. Sendo assim, absorve serviços como
identificação, autenticação, autorização, diretórios, certificados digitais e outras
ferramentas para segurança. O texto a seguir vem reforçar:
Aplicações tradicionais implementam vários destes serviços, tratados de forma independente por cada uma delas. As aplicações modernas, no entanto, delegam e centralizam estes serviços na camada de middleware. O middleware serve como elemento que aglutina e dá coerência a um conjunto de aplicações e ambientes.5
No caso da televisão digital, o middleware está localizado entre a rede de
transmissão (hardware) e as aplicações. Sua principal finalidade é fornecer um
conjunto de ferramentas que possibilite a interoperabilidade entre os sistemas de
transmissão de vídeo para os vários tipos de mídias de transmissão. Também é
possível executar aplicações, gerenciar os eventos captados, desenhar na tela do
televisor, controlar todas as fases do ciclo de vida e acessar o fluxo de vídeo, áudio
e dados. A arquitetura básica dos elementos do middleware está representada na
figura 8, em seguida a descrição de cada camada.
Figura 8.2 - Diagrama de blocos do ISDB.Fonte: ALENCAR, 2007.
Recursos: aborda a camada mais baixa da arquitetura, local onde estão
centradas as portas e recursos de hardware;
Middleware: responsável por implementar a camada de API, apresentando
assim um modelo abstrato de comandos, eventos, registros, arquivos de
dados, recursos de hardware e streams de áudio e vídeo;
5 Disponível em:< http://pt.wikipedia.org/wiki/Televis%C3%A3o_digita.>. Acesso em: 11 set. 2011.24
25
API: camada de interface de programação de aplicações que provê os
serviços associados às aplicações.
Aplicações: camada que permite implementar serviços interativos para TV digital.
2.3 Principais padrões de TV digital
O presente trabalho se propõe a abordar com ênfase o padrão brasileiro de
TV digital (ISDB-TB) e para fins de complementação os três principais padrões de
TV digital: DVB/T, ATSC e ISDB-T.
Figura 9.2 - Padrões de TV digital.Fonte: http://muitopelocontrario.files.wordpress.com/2010/01/digital_broadcast_standards.png?
w=658&h=334
2.3.1 DVB-T (Digital Video Broadcast Terrestrial)
Segudo a organização DVB6, em 1993, como resultado de uma parceria de
mais ou menos 300 empresas europeias, criou-se o projeto DVB, porém com o
passar do tempo essa aliança resultou num envolvimento mundial. A administração
desse consórcio situa-se em Genebra (Suíça) e desenvolve trabalhos visando os
interesses destes membros.
O principal objetivo do projeto DVB é especificar uma família de padrões
mundiais para sistemas de televisão digital interativa, incluindo a transmissão do
sinal e serviços de dados associados.
6 Disponível em: < http://dvb.org/>. Acesso em: 13 nov. 2011.
25
26
Acredita-se que em torno de 120 milhões de receptores DVB estão, agora,
em residências localizadas em várias partes do mundo e que além desse padrão ser
adotado por diferentes países da comunidade européia como em outras regiões, na
Inglaterra observa-se que adoção do padrão DVB atingiu um patamar consolidado,
com um quadro de mais de um milhão de receptores digitais instalados.
Na definição do projeto DVB decidiu-se que, para a codificação de fonte dos
sinais de áudio e vídeo e para a multiplexação de diferentes sinais, o padrão MPEG-
2 seria utilizado. A razão para essa decisão foi o fato de que o MPEG-2 prometia se
tornar uma solução que pudesse ser aceita mundialmente. A complexidade do que
foi documentado é refletida no fato de os receptores decodificadores integrados
(IRDs) serem classificados considerando cinco fatores: taxa de quadros de vídeo
sendo 25 Hz ou 30 Hz, resolução (SDTV ou HDTV), presença de interface digital ou
linha básica, codificação de vídeo MPEG-2 ou H.264/AVC e diversos formatos de
áudio.
O modelo terrestre do DVB apresenta as seguintes características:
Opera nas frequências de 6, 7 ou 8 MHz
Modulação: COFDM;
Taxa de transmissão: entre 5 e 31,7Mbps;
O DVB-T dá suporte a transmissão tanto de alta definição quanto de
baixa definição;
Aplicações: EPG, t-GOV, t-COM, Internet;
Compressão: MPEG-2 (aúdio) e MPEG-2 SDTV(vídeo);
Middleware: MHP/MHEG;
Transporte: MPEG-2;
2.3.2 ATSC (Advanced Television Systems Committee)
A ATSC (Advanced Television Systems Committee) Inc.7, é uma organização
7 Disponível em:< http://www.nhk.or.jp/strl/open99/de-2/shosai-e.html>. Acesso em: 15 out. 2011.
26
27
internacional sem fins lucrativos, formada em 1982, que desenvolve padrões para
televisão digital. Ela é representada por aproximadamente 140 membros
representativos dos vários ramos das indústrias de: equipamentos de transmissão,
eletrônicos, cinema, computadores, cabos, satélites e semi-condutores e atua
coordenando padrões televisivos entre diferentes tipos de mídias de comunicação,
com foco em TV digital, sistemas interativos e comunicação multimídia
O padrão ATSC apresenta as seguintes características:
Opera na frequência de 6 MHz
Modulação: 8-VSB;
Taxa de transmissão de 19,8 Mbps;
Dificudade de recepção por antenas internas.
Não permite recepção por dispositivos móveis.
Aplicações: EPG, t-GOV, t-COM, Internet;
Compressão: Dolby AAC (aúdio) e MPEG-2 HDTV (vídeo);
Middleware: DASE;
Transporte: MPEG-2;
2.3.3 ISDB-T (Integrated Services Digital Broadcasting Terrestrial).
O padrão ISDB-T foi estabelecido em 1999 no Japão pelo grupo DiBEG –
Digital Broadcasting Experts Group (DiBEG, 2004), criado em 1997 e composto por
várias empresas e operadoras de televisão do segmento público e privado e mais
conhecido como o padrão japonês. É considerado como uma evolução do padrão
DVB-T e vem sendo desenvolvido desde a década de 70 pelo laboratório de
pesquisa da rede de TV NHK.
Revelado como o padrão mais completo e altamente versátil o ISDB-T além
de enviar os sinais da televisão digital, pode ser empregado em diversas atividades,
tais como: trasmissão de dados; receptor para recepção parcial em um PDA e em
um telefone celular; recepção com a utilização de um computador ou servidor
doméstico; acesso aos sites dos programas de televisão; serviços de atualização do
receptor por download; sistema multimídia para fins educacionais, etc. como
também em serviço de transmissão para plataforma: fixa, móvel ou portátil no
mesmo sinal.
O padrão ISTB apresenta as seguintes características:
27
28
Opera na frequência de 6 MHz
Modulação: BST-COFDM;
Taxa de transmissão de 19,8 Mbps;.
Aplicações: EPG, t-GOV, t-COM, Internet;
Compressão: Dolby AAC (aúdio) e MPEG-2 HDTV (vídeo);
Middleware: ARIB;
Transporte: MPEG-2.
2.3.4 ISDB-TB
O padrão ISDB-TB é o padrão de TV digital desenvolvido no Brasil, baseado
no padrão de TV digital japonês. Apresenta diferenças na utilização de tecnologias
desenvolvidas no Brasil e na exclusão do mecanismo anti-cópia, existente no padrão
japonês.8
A principal diferença do padrão brasileiro para o padrão japonês foi a adoção
do padrão MPEG-4, conhecido como H.264 para codificação de vídeo, em vez de
MPEG-2 adotado no padrão japonês e o HE-AAC v2, em vez do, MPEG-2 AAC do
padrão japonês, para codificação de áudio.
A TV digital brasileira praticamente surgiu em 1999, como resultado da
parceria da Anatel e do CPqD, pois nesse período teve início o processo de
avaliação técnica e econômica para escolha do padrão de transmissão digital a ser
aplicado no Brasil. Como resultado em 27 de novembro de 2003, ocorreu a criação
do Comitê do SBTVD, responsável pelos estudos que definiriam o padrão a ser
adotado no país.
O governo brasileiro escolheu o modelo ISDB-T após desenvolver vários
estudos junto a universidades e emissoras de televisão, que mostraram como
conclusão que o melhor sistema de TV digital para o Brasil seria o modelo em
questão desenvolvido pelo Japão. Assim, em junho de 2006 o governo Informou
sobre a escolha do ISDB-T como base para o desenvolvimento do SBTVD.
A escolha do padrão de transmissão ISTB-T pelas empresas de
telecomunicação brasileiras foi devido a possibilidade desse módulo em atender
dispositivos portáteis, permitindo que o público assista TV, por exemplo, em
8 Disponível em:< http://www.forumsbtvd.org.br/>. Acesso em: 13 out. 2011.
28
29
celulares, mini-televisores e outros dispositivos móveis, além da possibilidade em
proporcionar alta definição e interatividade para terminais fixos e móveis.
Com o aperfeiçoamento técnico desenvolvido, pelo Brasil, no modelo ISDB-T,
proporcionou a transmissão de conteúdo de altíssima qualidade para os
telespectadores, possibilitando ao mesmo tempo a recepção móvel e portátil dos
sinais de TV digital, nos mais diversos tipos de dispositivos, como celulares, mini-
televisores, notebooks etc. Tudo isso sem custos para o consumidor, uma vez que o
SBTVD é um sistema de televisão digital aberto, livre e gratuito. No DVB-T (Digital
Video Broadcast Terrestrial), o padrão europeu, por exemplo, a transmissão para
dispositivos móveis é tarifada pelas operadoras de telefonia.
As características do padrão ISDB-TB são as seguintes:
Opera na frequência de 6 MHz
Modulação: BST-CODFM;
Taxa de transmissão de 19,8 Mbps;.
Aplicações: EPG, t-GOV, t-COM, Internet;
Compressão: MPEG-4 AAC (aúdio) e MPEG-4 H.264 (vídeo);
Middleware: Ginga;
Transporte: MPEG-2.
Segundo Site Oficial da TV Digital, o Brasil, Peru, Argentina, Chile,
Venezuela, Equador, Costa Rica, Paraguai, Bolívia, Nicarágua e Uruguai já
anunciaram a adoção do padrão brasileiro de televisão digital ISDB-TB.
3 TECNOLOGIAS DE MODULAÇÃO, APLICAÇÃO, COMPRESSÃO E MIDDLEWARE UTILIZADAS PELA TV DIGITAL
29
30
Este capítulo apresenta as principais características de software e transmissão e
conversão de dados em formato digital, para sinais que permitam aos equipamentos
televisivos apresentarem áudio, imagem e interatividade.
3.1 Tecnologias de modulação
Este capítulo apresenta os modelos de transmissão de sinal adotados pelos padrões
japonês, americano, europeu e brasileiro, com suas diferenças, prós e contras de
cada tipo de modulação.
3.1.1 OFDM
A modulação OFDM é uma técnica de modulação utilizada geralmente por
ambientes de comunicação que utiliza altas taxas e consiste em dividir os bits em
diversos streams de taxa menor, para em vez de transmitir os bits em único stream,
transmiti-los em canais paralelos, que devem ser canais ortogonais para que não
interfiram uns nos outros.
Quando a modulação OFDM é utilizada em conjunto com condificação de
canal (técnica de correção de erro), é denominada CODFM e quando é utilizada a
sigla BST (exemplo: BST-CODFM) para designar alguma mudança no tipo da
modulação CODFM, significa que o canal é dividido em 13 segmentos, cada
seguimento pode levar um conteúdo diferente. O sétimo seguimento é utilizado para
transmitir para celulares e equipamentos portáteis, principal diferencial para os
padrões que adotam este tipo de modulação.
Na modulação OFDM, inicialmente é feita a inserção de um código corretor
de erros e embaralhamento, de maneira que bits de um mesmo byte sejam todos
misturados, para em seguida efetuar o entrelaçamento, ou seja, a reorganização dos
bits, fazendo com que os bits subsequentes passem a ser separados no tempo.
Esse processo permite evitar erros do tipo rajada (burst) e permite a recuperação do
sinal original do receptor de maneira mais fácil, pois ao fim deste processamento os
erros passam a atingir bits pertencentes a diversos bytes diferentes, distantes da
informação original e não a bits subsequentes.
30
31
3.1.2 8-VSB
Procurando robustez e aperfeiçoamento do sinal de televisão, através de
inserção de códigos de correção de erros, com finalidade de evitar a presença de
ruídos no sinal, foi criada a modulação 8-VSB, onde o fluxo de bits passa por vários
estágios até apresentar características adequadas a ser transmitido.
A primeira fase da modulação 8-VSB é o embaralhamento espectral dos
dados. Nessa fase a informação se encontra fora de ordem e se utiliza o código
Redd Solomon, como um sistema de correção de erros e que insere bytes de
paridade com finalidade de formação de segmentos. Para aumentar a robustez do
sinal, é inserido mais um código de correção de erros, o código treliça. A partir deste
momento as últimas adaptações para que se possa irradiá-los através do meio, é a
modulação de sinal na frequência correta para a propagação do sinal televisivo e a
amplificação do mesmo em um estágio de potência.
Segundo Ana Luiza Rodrigues e Regina Gomes9 as vantagens da
modulação CODFM em relação a modulação 8-VSB, são as seguintes:
1) Apresenta melhor desempenho em situações de multipercurso intenso
verificadas em áreas densamente povoadas;
2) Permite implementação do modelo de transmissão em alta definição com
adequada robustez.
3) Possibilita a recepção em áreas não atendidas por nenhum sistema, mediante
o emprego de frenquência única.
4) Apresenta melhor desempenho em situações em que o ambiente de
propagação é variável no tempo, possibilitando recepção móvel.
5) Possibilita grande versatilidade, pois um grande número de parâmetros pode
ser levado em consideração.
6) Economia espectral.
Ana Rodrigues e Regina Gomes, salienta ainda as desvantagens da
modulação CODFM em relação a modulação 8-VSB,:
1) Baixa tolerância a ruído impulsivo.
9RODRIGUES, Ana Luiza; GOMES, Regina Missias. Modulação COFDM – uma proposta atrativa para os padrões de TV Digital. Disponível em: <http://www.revdigonline.com/artigos_download/art_16.p>. Acesso em: 02 nov. 2011.
31
32
2) O aumento da banda de guarda entre sub-portadoras implica no aumento
direto da banda a ser transmitida. No caso da redução da banda de guarda
implica em interferência co-canal.
3) Deve haver uma relação entre a potência de pico e a potência média
relativamente grande, o que afeta diretamente a eficiência do modulo
amplificador de RF.
3.2 Tecnologias de aplicação
Este capítulo lista os tipos de aplicativos que podem ser utilizados através da TV
digital.
EPG (Eletronic Programming Guide) - Interface gráfica que permite a
navegação pelas possibilidades de programação encontrada na TV
digital.
t-GOV- Permite a interação do governo com cidadão, empresas e
outros governos através da televisão.
t-COM - Permite ao telespectador comprar, vender ou contratar
serviços através da televisão.
Internet - Permite ao telespectador interagir com sistemas web.
3.3 Tecnologias de compressão
Este capítulo apresenta os formatos de compressão de áudio e vídeo utilizado pelos
padrões de TV digital brasileiro, japonês, americano e europeu e a diferença entre
os modelos de MPEG-2 e MPEG-4.
3.3.1 Padronizações MPEG 2
Os tipos de padronizações MPEG 2 conhecidas são: MPEG-2 (aúdio),
MPEG-2 SDTV (vídeo padrão), MPEG-2 HDTV (vídeo de alta resolução)
O MPEG-2 foi lançado em 1994, como uma evolução do MPEG-1, sendo
posteriormente a tecnologia adotada pelo padrão japonês, americano e europeu de
TV digital para codificação de áudio e vídeo de alta qualidade e resolução, também
oferece suporte a varredura progressiva e varredura intercalada. O sinal da TV 32
33
digital dos padrões citados é codificado utilizando a tecnologia MPEG-2 e quando o
sinal alcança o destino é decodificado pelo set-top box.
O MPEG-2 é constituído por 10 partes, no qual se destacam as seguintes
partes: ISO/IEC 13818-1 Systems, ISO/IEC 13818-2 Video coding, ISO/IEC 13818-3
Audio coding e ISO/IEC 13818-6 Data broadcast e DSM-CC.
3.3.2 Padronizações MPEG 4
Os tipos de padronizações MPEG 4 conhecidas são: MPEG-4 H.264 (vídeo).
O MPEG-4 é um padrão de compressão de áudio e vídeo, introduzido no ano
de 1998 e que também foi adotado pelo padrão brasileiro de TV digital.
O padrão brasileiro para compressão é o H.264/MPEG-4 para todos os
sinais, que é mais eficiente que o MPEG-2, ou seja, é possível trafegar a mesma
quantidade de vídeo em uma taxa de dados menor (TV Globo Digital, 2008).
Vale salientar ainda que o esquema de codificação AAC foi projetado para
se obter uma alta qualidade de áudio, capaz de incluir 48 canais em um único fluxo
de dados, até 16 canais de efeitos de baixa frequência, diálogos “casados” e fluxo
de dados.
A codificação MPEG-4 se caracteriza pela capacidade de descrever cenas
na forma de objetos, mas compartilha das mesmas compressões de imagem que o
MPEG-2. O que difere estes dois tipos de compressão são as formas dos
macroblocos, enquanto o MPEG-2 tem macrobloco quadrado, os macroblocos do
MPEG-4 possui outras formas geométricas e a capacidade do MPEG-4 de
incorpoção de metadados do arquivo, responsáveis pelo transporte de informações
relacionadas ao arquivo.
3.3.2.1 Padronização Dolby AAC
A tecnologia Dolby AAC foi adotada pelo padrão ATSC e trata-se de um
padrão de compressão proprietário criado pela empresa Dolby Laboratories. O Dolby
AAC permite até 5 canais principais e um canal subwoofer que podem ser
comprimidos em um único fluxo de dados.
33
34
3.4 Tecnologias de middleware
O MHP é o middleware do padrão europeu TV digital (DVB). Este
middleware suporta dois tipos de aplicações: DVB-HTML e DVB-J. A principal
diferença entre os tipos de aplicações citados é que a aplicação DVB-HTML é uma
aplicação apresentada através de conteúdo hipermídia, enquanto a aplicação DVB-J
é apresentada através de conteúdo compilado na linguagem Java e oferece funções
de alto nível, estrutura de dados e protocolos que provê uma interface padrão para
desenvolvimento de software.
O middleware MHP é formado pela combinação de suporte à broadcast e à
internet, dividido por perfis. Existem três perfis: Enhanced, Interactive e o Internet
Access.
No perfil Enhanced, não há suporte a canal de retorno e conexão IP,
executando as aplicações via broadcast. No perfil Interactive, há possibilidade de
interatividade, pois este perfil suporta um canal de retorno e conexão IP. O perfil
Internet Access, provê suporte para aplicações em Java e web.
3.4.1 DASE
O DASE é o middleware do padrão americano de TV digital (ATSC) e que
permite a execução de serviços interativos por qualquer receptor. O conteúdo de
uma aplicação no middleware DASE pode ser de natureza declarativa ou procedural.
As aplicações declarativas buscam apresentar os dados de forma estática,
utilizando tecnologias que basicamente fazem uso de conceitos de desenvolvimento
de software para web, como XHTML, CSS, DOM, fluxo de áudio e vídeo. Enquanto
os aplicativos procedurais, são desenvolvidos utilizando a linguagem de
programação Java e permite processar tarefas mais complexas e de forma
dinâmica.
3.4.2 ARIB
34
35
O ARIB é o middleware adotado pelo padrão japonês (ISTB) e utiliza para
transmissão um TS (Transport Stream), através de um broadcasting de rádio, para
transportar áudio, vídeo e serviços de dados, que são multiplexados antes de serem
enviados pelo sinal. Para permitir a interatividade das comunicações são
disponibilizados canais interativos na rede, o ARIB também permite adiciona EPG
(Eletronic Program Guide), índices e funções de gravação automática, como forma
de facilitar a interação do usuário.
Aplicações em tempo real que necessitam de sincronização na
decodificação e reprodução, fazem uso do sistema de transmissão de dados que
utiliza o armazenamento dos pacotes como um fluxo de pacotes no PES(Packetized
Elementary Stream).
3.4.3 GINGA
O middleware GINGA foi desenvolvido pelo laboratório TeleMídia do
departamento de informática da PUC – Rio em parceria com o laboratório LAVID da
Universidade Federal da Paraíba, cada um desses laboratórios ficou com a
responsabilidade de desenvolvimento das versões Ginga-NCL e Ginga-J,
respectivamente.
O Ginga-NCL é uma infraestrutura de apresentação para aplicações
declarativas escritas na linguagem NCL (Nested Context Language), no qual está
focado o presente trabalho, que é uma linguagem de marcação assim como o BML
(padrão japonês) e o DVB-HTML (padrão europeu) com sintaxe semelhante a XML e
que permite facilidades de interatividade e sincronismo de espaço e tempo entre
mídias, ou como também é denominado, objetos de mídia, através da criação de
documentos hipermídia. O Ginga-NCL também permite como linguagem de script a
linguagem Lua, também desenvolvida pela PUC-Rio.
O Ginga-J é uma infraestrutura de apresentação para aplicações
procedurais (Java Xlet), através desta versão do Ginga é possível prover uma
interação com o usuário de maior complexidade nas aplicações, de forma
semelhante aos DVB-J e compatível com o padrão ARIB B23 japonês, no qual é
baseado a tecnologia de TV digital do Brasil.
35
36
O Ginga desde seu projeto inicial buscou a interação entre aplicativos
declarativos e procedurais, o middleware Ginga também o permite, pois em sua
arquitetura existe o módulo Commom Core que é a camada de software que dá
suporte aos módulos do Ginga-J e Ginga-NCL, através de codec e procedimentos
para obter dados do MPEG-TS ou do canal de retorno que possibilite a
interatividade.
Figura 10.3 - Sistema operacionalFonte: http://www.gingadf.com/blogGinga/?p=13
O susbistema lógico do Ginga é composto por vários módulos, porém o mais
importante é o formatter, pois esse é o responsável por receber um documento NCL
e controlar a sua apresentação, garantindo o correto funcionamento dos
relacionamentos entre as mídias.
Os objetos, seus relacionamentos e especificações de espaço-tempo são
declarados em um documento NCL, este documento é executado pelo formatador
NCL. Os tipos de objetos suportados dependem diretamente do NCL player
embutido no formatador NCL.
Outro módulo a se destacar no Ginga-NCL é o módulo da linguagem de
script Lua, que é uma linguagem de programação projetada para extender
aplicações, seus scripts são acoplados em programas maiores que precisam ler e
executar programas escritos pelos usuários.
4 COMPONENTES DA TV DIGITAL INTERATIVA
36
37
Os componentes da TV digital interativa, segundo Montez e Becker, são:
1- Um difusor, responsável por prover o conteúdo a ser transmitido e suportar
as interações com os telespectados.
2- Um receptor, responsável por receber, apresentar o conteúdo e possibilitar
ao telespectador interagir com o difusor;
3- Um meio de difusão, composto por canal de difusão e canal de retorno
(canal de interatividade), que habilita a comunicação entre difusor e
receptor. (MONTEZ ; BECKER, 2004, p. 27).
Figura 11.4 - Modelo de um sistema de televisão digital interativaFonte: MONTEZ; BECKER, 2004, p. 27.
4.1 Difusão
Montez e Becker, afirmam que difusão é o envio do conteúdo (áudio, vídeo
ou dados) de um ponto provedor do serviço de difusão (responsável pelo
gerenciamento de diversos canais televisivos) para outros pontos, os receptores,
onde se encontram a recepção digital e os telespectados. Os meios de difusão mais
comuns são via satélite, cabo e difusão terrestre (radiodifusão). (MONTEZ;
BECKER, 2004, p. 28).
A difusão via cabo tem como vantagem uma boa largura de banda para o
canal de difusão e para o canal de retorno e permite ao provedor deter e controlar o
37
38
seu meio de difusão, como desvantagem a transmissão nesse meio de difusão só
atinge as residências que estão ligadas fisicamente.
Difusão por satélite permite um alcance maior do sinal, facilitando a sua
recepção em lugares remotos, com pouco custo, já que não há necessidade de
ligação física. Como desvantagem a difusão via satélite apresenta dificuldade em
estabelecer um canal de retorno, entre o provedor e o telespectador, problema esse
que geralmente é solucionado com a utilização de linhas telefônicas como canal de
retorno.
Na difusão terrestre é que esse meio já é utilizado nas televisões
convencionais, assim em teoria se torna mais simples a migração de
telespectadores da TV convencional para a TV digital. Como desvantagem a difusão
terrestre possui o mesmo problema de estabelecimento de canal de retorno, assim
como a difusão via satélite, o menor número de canais televisivos e serviços
interativos devido a menor faixa de banda, em relação a difusão por cabo e satélite.
Além da difusão de áudio e vídeo, também existe a difusão de dados. Como
exemplo, tem legendas, guia de programação de canais, dados para T-GOV, T-
COM, T-MAIL, etc e para processamento desses dados a TV digital executa
aplicativos que geralmente são escritos em Java, apesar de existir outras linguagens
para se efetuar esse processamento, como a linguagem Lua.
A geração de conteúdo televisivo se dá de duas maneiras: transmissão ao
vivo ou a gravação para depois edição e difusão do conteúdo. Nas duas formas de
geração de conteúdo, os sinais de áudio e vídeo precisam ser codificados por um
encoder (codificador) e encapsulados em pacotes de transporte MPEG2-TS por um
multiplexador para então serem difundidos.
Ao final da multiplexação, cabe ao modulador transformar o sinal digital em
sinal analógico para que seja possível a difusão do sinal por meios convencionais. O
modulador gera um sinal analógico de baixa frequência que precisa ser convertido
para um sinal de maior frequência, através de um equipamento denominado
UpConverter, para poder ser difundido pelos meios convencionais.
38
39
Figura12.4 - Difusão de sinalFonte: MONTEZ; BECKER, 2004, p. 29.
4.2 Receptor set-top box
Após difusão do sinal, o sinal em primeiro lugar terá que ser captado por
uma antena específica para o meio de difusão utilizado, para então ser processado
pelo receptor, que pode estar acoplado a uma televisão ou ser um equipamento à
parte, conhecido como set-top box ou terminal de acesso. O set-top box é
responsável por converter os sinais digitais de forma que seja possível a televisões
convencionais apresentarem o conteúdo de áudio e vídeo do sinal convertido.
O set-top box, terminal de acesso ou receptor pode permitir interatividade
entre o telespectador e os serviços disponíveis, utilizando diversas tecnologias como
linhas telefônica e cabo para fazer a comunicação no sentido inverso da difusão.
A interatividade entre o telespectador e serviços interativos se dá pela
capacidade do set-top box em processar dados, devido a sua arquitetura que se
assemelha ao de um computador comum, contando com unidade de processamento
39
40
(CPU), unidade de armazenamento volátil e não-volátil e leitor de cartões para
controle de acesso e tudo isso é controlado por device drivers de sistemas
operacionais, sistemas estes que são mais simples do que um sistema operacional
de computador comum e possuem código armazenado em memória ROM, uma
memória não volátil, enquanto sistemas operacionas de computadores comuns são
armazenados em HD, que também é uma memória não-volátil, mas de maior
capacidade, compatível com o tamanho do sistema operacional instalado.
Segundo Montez e Becker, o primeiro elemento que capta o sinal difundido é
o sintonizador, em seguida o sinal passa pelo demodulador, que extrai o fluxo de
transporte MPEG-2, passando-o para o demultiplexador, responsável por extrair
todos os fluxos elementares. Esses, por sua vez, são então encaminhados para o
decodificador, que os converterá para o formato apropriado de exibição utilizado
pelo equipamento televisivo. (MONTEZ ; BECKER, 2004, p.30).
Figura 13.4 - Meios de sinalFonte: MONTEZ; BECKER, 2004, p.30.
40
41
4.3 Datacasting, carrossel de dados e carrossel de objetos.
Este capítulo apresenta as formas como os dados digitais são transmitidos, através
de conceitos de datacasting e carrosel de dados.
4.3.1 Datacasting
Datacasting ou data broadcasting é a trasmissão de dados digitais, através
de ondas de rádio.
Os tipos de data broadcasting destacados por Montez e Becker:
Datacasting fortemente acoplado: dados difundidos tem relacionamento temporal com o fluxo de áudio e vídeo.Datacasting fracamente acoplado: dados são relacionados ao áudio e vídeo, porém o usuário pode escolher o melhor momento para acessar esses dados.Datacasting desacoplado: dados são enviados em um fluxo totalmente independente de outros fluxos.( MONTEZ; BECKER, 2004, p. 31).
4.3.2 Carrossel de dados
O carrossel é um mecanismo onde áudio, vídeo ou dados são enviados de
forma cíclica, entrelaçados com outros dados digitais. Baseado em Montez;Becker o
DSM-CC (Digital storage media command and control) é incompleto na forma de
determinar como as aplicações nos set-top boxes irão lidar com um carrossel de
dados ou objetos, por esse motivo os padrões europeu, americano e japonês
especificam APIs com esse objetivo, contudo o carrossel de dados é mais simples e
limitado do que o carrosel de objetos, por possuir apenas um pedaço monolítico de
dados, enquanto que um carrossel de objetos estende o de dados, fazendo uma
forma de difusão de dados identificáveis.
41
42
5 LIGUANGEM DECLARATIVA NCL
Toda linguagem declarativa é baseada em um modelo conceitual de dados,
que deve representar os conceitos estruturais dos dados, suas regras e operações
sobre os dados para manipulação e atualização das estruturas, assim como eventos
e relacionamentos entre os mesmos.
Figura 14.5 - Tipos de dados utilizados nos aplicativos de TV digital.Fonte : http://www.telemidia.puc-rio.
Como forma de apresentação de mídias de forma estruturada foi criada a
linguagem declarativa NCL que proporciona alto grau de abstração para
desenvolvimento de software utilizando o middleware Ginga. Característica essa faz
com que a linguagem declarativa tenha preferência na resolução de um problema
que possa ser resolvido tanto por linguagem declarativa quanto por uma não-
declarativa, já que o alto grau de abstração torna relativamente mais fácil o
desenvolvimento de software.
O foco da linguagem NCL é com a estrutura e o(s) relacionamento(s) das
mídias através do conceito de tempo e espaço. Não há uma restrição quanto as 42
43
mídias, no entanto o suporte as mídias está relacionado com o exibidor NCL, no
caso o MPEG-4.
O NCL também permite a execução de uma linguagem de script, no caso a
linguagem de programação Lua, tecnologia essa também desenvolvida no Brasil.
A linguagem Lua possui um desempenho muito superior ao ECMAScript em
todos os quesitos importantes para uma aplicação em TV digital e também permite
código imperativo Java (Xlets), parte da ponte entre o ambiente declarativo e o
procedural do middleware Ginga.
A linguagem NCL tem como base conceitos do modelo NCM (Nexted
Context Model), no qual a figura 16 a seguir representa as entidades básicas do
modelo:
Figura 15.5 - Entidades NCM e elementos da linguagem NCL. .
Figura 16.5 - Interfaces de um nó NCMFonte: BARBOSA; SOARES, 2008.
Merece destaque as definições de Barbosa e Soares (2008) sobre os
elementos NCM:
43
44
Descriptor: um descritor define como o objeto de mídia deve ser exibido, onde e por quem, sendo a base de suporte para múltiplos dispositivos de exibição. É possível associar vários descritores a um nó de mídia, que serão escolhidos de acordo com a situação e de acordo com uma regra (rule) e também podem ser associados ao nó através de uma ligação (bind) de um elo;DescriptorSwitch:define um conjunto de descritores alternativos e é responsável por permitir à NCL a definição declarativa da forma como um conteúdo deve ser apresentado a um certo contexto de exibição.Connector: um conector define uma relação através de seus papéis (roles) e da cola (glue) entre os papéis. No NCM os conectores podem ser causais e de restrição, porém no NCL é adotado apenas os conectores causais, ou seja, a cola (glue) é sempre de causalidade, ou seja, quando condições em um conjunto de papéis forem satisfeitas, um conjunto de ações devem ser aplicadas em um conjunto de papéis;Context: utilizado para estruturar o documento NCL.Link: o elo é composto por um conector e por ligaçõs (binds) entre os papéis dos conectores e interfaces de nós que exercem o papel. Através de elos, relacionamentos de sincronismo temporal e espacial podem ser definidos.Node: um nó possui um identificador, um conteúdo e um conjunto de âncoras, sendo constituído por um conjunto de unidades de informação. Anchor: uma âncora é um subconjunto das unidades de informação de um nó e são definidas em separado do conteúdo de um nó. Media: conhecido como nó de mídia ou nó de conteúdo, representam um objeto de mídia, esses se relacionam através de propriedades. Os nós de conteúdo devem ser especializados em subclasses para melhor definir a interpretação do conteúdo (texto, imagem, áudio, vídeo, objetos com código imperativo Lua, objectos com código imperativo Java, etc).Composition: define um documento hipermídia.Property: define propriedades para nós de mídia como corde fundo, posição da mídia na tela, etc;Port: são elementos que permitem à composição expor, controladamente, as interfaces de seus nós internos e o acesso externo ao conteúdo de um contexto.Switch: é uma especialização de nós de composição, sendo o seu conteúdo constituído por nós de conteúdo ou de contexto. O nó de switch tem um atributo adicional que define para cada nó contido no seu conjunto de nós, uma regra associada. Em determinado instante o primeiro nó que tem sua regra avaliada como verdadeiro, deve ser eleito a alternativa selecionada. O nó switch difere do nó de descritores, pois o primeiro é o suporte necessário para a definição de alternativas de conteúdos, enquanto que o segundo é o suporte necessário para a definição de alternativas de Switch Port: definem um conjunto de mapeamentos para interfaces de nós contidos no nó switch.
A norma da ABNT- Associação Brasileira de Normas Técnicas (15606-
5:2008), regulamenta a versão mais atual da linguagem NCL, versão 3, é constituído
por 14 áreas funcionais e cada uma dessas áreas são subdividadas em módulos.
44
45
Tabela 3 - 14 áreas funcionais da linguagem NCLFonte: Associação Brasileira de Normas Técnicas-ABNT
1 Structure Módulo Structure2 Layout Módulo Layout3 Components Módulo Media
Módulo Context4 Interfaces Módulo MediaContentAnchor
Módulo CompositeNodeInterfaceMódulo PropertyAnchorMódulo SwitchInterface
5 Presentation Specification Módulo Descriptor6 Linking Módulo Linking7 Connectors Módulo ConnectorCommomPart
Módulo ConnectorAssessmentExpressionMódulo ConnectorCausalExpressionMódulo ConnectorTransitionAssessmentMódulo ConnectorConnectorMódulo ConnectorCausalConnectorFuncionalityMódulo ConnectorBase
8 Presentation Control Módulo TestRuleMódulo TestRuleUseMódulo ContentControlMódulo DescriptorControl
9 Timing Módulo Timing10 Reuse Módulo Import
Módulo EntityReuseMódulo ExtendedEntityReuse
11 Navigation Key Módulo KeyNavigation12 Animation Módulo Animation13 SMIL Trasition Effects Módulo TransitionBase
Módulo BasicTransitionMódulo TransitionModifiers
14 SMIL Meta-Information Módulo Metainformation
5.1 Identificadores da Linguagem Ncl 3.0
A norma da Associação Brasileira de Normas Técnicas – ABNT, (15606-
5:2008) normatiza a linguagem de programação NCL.
Os identificadores dos módulos NCL 3.0 estão de acordo com a tabela.
Segundo a ABNT 15606-5:2008 os identificadores dos módulos NCL 3.0,
estão de acordo com a tabela 3 e os identificadores do SMIL 2.0 de acordo com a e
os identificadores do SMIL 2.0 de acordo com a tabela 5.
45
46
Tabela 4 - NCL.Fonte: Associação Brasileira de Normas Técnicas-ABNT
Módulos Identificadores
Animation http://www.ncl.org.br/NCL3.0/Animation
CompositeNodeInterface http://www.ncl.org.br/NCL3.0/CompositeNodeInterface
CausalConnector http://www.ncl.org.br/NCL3.0/CausalConnector
CausalConnectorFunctionality http://www.ncl.org.br/NCL3.0/CausalConnectorFunctionality
ConnectorCausalExpression http://www.ncl.org.br/NCL3.0/ConnectorCausalExpression
ConnectorAssessmentExpression http://www.ncl.org.br/NCL3.0/ConnectorAssessmentExpression
ConnectorBase http://www.ncl.org.br/NCL3.0/ConnectorBase
ConnectorCommonPart http://www.ncl.org.br/NCL3.0/ConnectorCommonPart
ConnectorTrasitionAssessment http://www.ncl.org.br/NCL3.0/ConnectorTrasitionAssessment
ContentControl http://www.ncl.org.br/NCL3.0/ContentControl
Context http://www.ncl.org.br/NCL3.0/Context
Descriptor http://www.ncl.org.br/NCL3.0/Descriptor
DescriptorControl http://www.ncl.org.br/NCL3.0/DescriptorControl
EntityReuse http://www.ncl.org.br/NCL3.0/EntityReuse
ExtendedEntityReuse http://www.ncl.org.br/NCL3.0/ExtendedEntityReuse
Import http://www.ncl.org.br/NCL3.0/Import
Layout http://www.ncl.org.br/NCL3.0/Layout
Linking http://www.ncl.org.br/NCL3.0/Linking
Media http://www.ncl.org.br/NCL3.0/Media
MediaContentAnchor http://www.ncl.org.br/NCL3.0/MediaContentAnchor
KeyNavigation http://www.ncl.org.br/NCL3.0/KeyNavigation
PropertyAnchor http://www.ncl.org.br/NCL3.0/PropertyAnchor
Structure http://www.ncl.org.br/NCL3.0/Structure
SwitchInterface http://www.ncl.org.br/NCL3.0/SwitchInterface
TestRule http://www.ncl.org.br/NCL3.0/TestRule
TestRuleUse http://www.ncl.org.br/NCL3.0/TestRuleUse
Timing http://www.ncl.org.br/NCL3.0/Timing
TransitionBase http://www.ncl.org.br/NCL3.0/TransitionBase
46
47
Tabela 5: SMIL.Fonte: Associação Brasileira de Normas Técnicas-ABNT
Módulos Identificadores
BasicTransitions http://www.w3.org/2001/SMIL20/BasicTransitions
Metainformation http://www.w3.org/2001/SMIL20/Metainformation
Tabela 6: Atributos e elementos do perfil NCL 3.0Fonte: Associação Brasileira de Normas Técnicas-ABNT
Elementos Atributos Conteúdo
Módulo StructureNcl id, title, xmlns (head?, body?)Head (importedDocumentBase? ruleBase?,
regionBase*, descriptorBase?, connectorBase?)
Body Id (property| media|context|switch|link)*Módulo Layout
regionBase id, device (importBase|region)+Region id, title, left, right, top, bottom,
height, width, zIndex
(region)*
Módulo MediaMedia id, src, refer, instance, type,
descriptor (area|property)*
Módulo Context
contextid, refer (port|property|media|context|link|
switch)*Módulo MediaContentAnchor
Area id, coords, begin, end, text, position, first, last, label
vazio
Módulo CompositeNodeInterfacePort id, component, interface vazio
Módulo PropertyAnchorproperty name, value vazio
Módulo SwitchInterfaceswitchPort Id mapping+
Módulo Descriptordescriptor id, player, explicitDur, region,
freeze, moveLeft, moveRight, moveUp; moveDown, focusIndex, focusBorderColor; focusBorderWidth; focusBorderTransparency, focusSrc,focusSelSrc, selBorderColor
(descriptorParam)*
Módulo Linking
47
48
Bind role, component, interface, descriptor
(bindParam)*
Elementos Atributos ConteúdobindParam name, value vaziolinkParam name, value vazio
Linkid, xconnector (linkParam*, bind+)
Módulo CausalConnectorFunctionalitycausalConnector Id (connectorParam*, (simpleCondition |
compoundCondition), (simpleAction | compoundAction))
connectorParam name, type vaziosimpleCondition role, delay, eventType, key,
transition, min, max, qualifiervazio
compoundCondition operator, delay ((simpleCondition | compoundCondition)+, (assessmentStatement | compoundStatement)*
simpleAction role, delay, eventType, actionType, value, min, max, qualifier, repeat, repeatDelay
vazio
compoundAction operator, delay (simpleAction | compoundAction)+assessmentStatement comparator (attributeAssessment,
(attributeAssessment | valueAssessment))
attributeAssessment role, eventType, key, attributeType, offset
vazio
valueAssessmentValue vazio
compoundStatementoperator, isNegated (assessmentStatement |
compoundStatement)+
Módulo ConnectorBaseconnectorBase Id (importBase|causalConnector)
Módulo TestRuleruleBase Id (importBase|rule|compositeRule)+Rule id, var, comparator, value vaziocompositeRule id, operator (rule | compositeRule)+
Módulo TestRuleUsebindRule constituent, rule vazio
Módulo ContentControlSwitch id, refer (defaultComponent?,(switchPort|
bindRule|media| context | switch)*defaultComponent Component vazio
Módulo DescriptorControldescriptorSwitch Id (defaultDescriptor?, (bindRule |
descriptor)*)defaultDescriptor Descriptor vazio
Módulo ImportimportBase alias, documentURI, region vazioimportedDocumentBase
Id (importNCL)+
importNCL alias, documentURI, vazio
48
49
5.2 Estrutura básica de um documento NCL
Figura 17.5 - Estrutura básica de um documento NCL.Fonte: BARBOSA; SOARES, 2008.
Basicamente um documento NCL ou documento de hipermídia é constituido
por cabeçalho (head), onde se define as regiões de tela onde as mídias serão
apresentadas e como serão apresentadas, corpo (body) do documento, onde se
define porta(s), nós de mídias ou contexto, elos, outros elementos e no final do
documento se declara o encerramento do documento. A mídia a ser executada
inicialmente é definida através de porta ou portas, ou seja, mais de uma mídia de
entrada para o documento NCL, porém quando a porta não é especificada o
formatador executará uma porta-padrão que depende da implementação do mesmo.
5.3 Sistema para TV digital – Vida Viajante
49
50
A construção do protótipo de software para TV digital utiliza como auxílio a
máquina virtual Ginga-NCL Virtual STB que contém o middleware Ginga e promove
a simulação de um set-top box, plug-in da linguagem NCL para ambiente de
desenvolvimento Eclipse e plug-in para utilização do protocolo SSH em ambiente de
desenvolvimento Eclipse para comunicação com a máquina virtual e
consequentemente com o middleware para execução do aplicativo para TV digital.
Devido a limitações técnicas e de tempo parte do projeto será representado por
projetos já existentes e desenvolvidos por outras pessoas, como exemplificação de
funcionalidades específicas.
5.3.1 Configuração do ambiente de desenvolvimento
A seguir será apresentado a configuração da IDE Eclipse que serve para
auxiliar na codificação, com auxílio de plugins e máquina virtual Ginga-NCL.
5.3.1.1 Instalação da máquina virtual Ginga-NCL.
Figura 18.5 - mostra a seleção da máquina virtual do Ginga-NCL para execução através do software VMWare.
Fonte: Autor.Para execução da máquina virtual Ginga-NCL é necessário a instalação do
software VMWare Player ou VMWare Workstation, utilizado para execução de
50
51
diversos sistemas operacionais em modo de máquina virtual, incluindo a distribuição
do linux de nome Ubuntu, no qual é ambientado o middleware do Ginga-NCL. Após
a instalação do VMWare somente é necessário a execução do arquivo (máquina
virtual já criada), caso o usuário ache necessário é possível alterar configurações da
máquina virtual, de forma a potencializar a utilização de recursos ou diminuir a
utilização de recursos de hardware.
Figura 19.5 - Mostra o software VMWare após ser selecionada a máquina virtual a ser executada e suas configurações de hardware, podendo essas configurações serem alteradas pelo usuário.
Fonte: Autor.
51
52
Figura 20.5 - Mostra a máquina virtual do Ginga-NCL em execução.Fonte: Autor.
5.3.2 Configuração da IDE Eclipse
A IDE Eclipse é uma plataforma de desenvolvimento contruída em
linguagem Java e que provê flexibilidade no desenvolvimento de aplicativos, devido
a diversos plugins, open-source ou não, que provê o desenvolvimento em diversas
linguagens como C, C++, Java, PHP, Lua, NCL, etc e auxílio de outras diversas
ferramentas para desenvolvimeno de projetos como SVN, CVS, UML, SSH, Server,
etc.
Com foco no presente trabalho, será abordado a configuração do Eclipse
utilizando plugin para desenvolvimento de aplicativo NCL e comunicação remota
através de protocolo SSH.
Para iniciar o desenvolvimento é necessário baixar o arquivo compactado da
IDE Eclipse e descompactá-la, após descompactar basta executar o arquivo binário
da IDE. Quando o aplicativo estiver pronto para ser utilizado, deve-se então efetuar
o download do plug-in da linguagem NCL, que pode ser obtido através do site:
http://www.laws.deinf.ufma.br/ncleclipse/update, para poder integrar o plug-in a IDE
Eclipse, deve-se acessar o menu: Help >> Install New Software. Como mostra a
figura 21.
52
53
Figura 21.5 - Mostra localização do recurso que permite adicionar plugins a IDEEclipse.Fonte: Autor.
53
54
Figura 22.5 - Mostra a tela de inclusão de localização do plugin a ser instalado, após selecionar o botão: “Add...”.Fonte: Autor.
Quando acionamos o item de inclusão de novo software, será exibido uma
tela que pode adicionar a localização do plugin para que seja possível o download e
instalação do mesmo, após ser selecionado e solicitada a sua instalação, como a
figura 22 e 23.
Após selecionar o plug-in a ser instalado, deverá ser acionado o botão
“finish” e esperar o download e instalação do plugin e suas dependências de forma
automática.
54
55
Figura 23.5 - Mostra a versão do plugin da linguagem NCL disponível para download. Fonte: Autor.
5.3.3 Instalação e configuração do plug-in Remote System Explorer (RSE)
A máquina virtual contendo o middleware Ginga-NCL, funciona de forma
remota, como se estivesse alocado em outro computador, mesmo o aplicativo
responsável por sua execução, o VMWare, esteja instalado na mesma máquina que
executa o Ginga-NCL. Para podermos efetuar a comunicação entre as máquinas é
preciso utilizar protocolo de comunicação através da rede de internet, no caso
iremos utilizar o plug-in RSE que permite a comunicação com dispositivos remotos
utilizando protocolo SSH e FTP, o que é suficiente que seja possível transferir
arquivos entre o computador onde se encontra o ambiente de desenvolvimento e a
máquina virtual, no caso, a máquina remota e a consequente execução do aplicativo
para TV digital pelo ambiente Ginga-NCL.
Por padrão a IDE Eclipse para Java EE, já possui esse plugin instalado e
não é necessário efetuar o download, porém caso o desenvolvedor utilize outra
versão da IDE Eclipse que não possua o plugin instalado, o desenvolvedor seguir os
mesmos passos já demostrados na instalação do plugin para NCL, apenas alterando
55
56
o site onde está localizado o plugin, no caso o endereço web para o RSE é:
http://download.eclipse.org/dsdp/tm/updates/3.0.
5.3.4 Criaçao de projeto e conexão do ambiente de desenvolvimento com a
máquina virtual através de protocolo SSH
Após a instalação do plugin NCL e RSE na IDE Eclipse, deve-se efetuar a
conexão com o sistema remoto onde está alocada a máquina virtual e o middleware
e abrir a perspectiva “Remote System Explorer” na IDE Eclipse, para isso deve se
acessar o link através do menu: Window >> Open Perspective >> Other e escolher a
perspectiva Remote System Explorer.
Figura 24.5 - Mostra a perspectiva do Remote System Explorer.Fonte: Autor.
Quando a perspectiva do Remote System Explorer estiver disponível, deve-
se criar uma conexão SSH only com a máquina remota, acessando a opção: New >>
Connection.
Após selecionar a conexão do tipo SSH, como mostra a figura 25, devemos
configurar o número IP da máquina virtual, que se encontra no canto inferior
esquerdo da máquina virtual, como mostra a figura 33:
56
57
Figura 25.5 - Configuração de protocolo SSH.Fonte: Autor.
Em seguida deve-se conectar a máquina remota utilizando User ID e
Password, para iniciar a tela de conexão: botão direito do mouse na conexão criado
>> connect. Conforme figura 26 por padrão o usuário é “root” e a senha é
“telemidia”.
Figura 26.5 - Mostra a configuração de conexão remota com a máquina virtual Ginga-NCL.Fonte: Autor.
57
58
Figura 27.5 - Mostra a tela para login na máquina virtual Ginga-NCL.Fonte: Autor.
É possível efetuar qualquer tipo de operação (incluir, alterar, localizar,
deletar, transferir e criar diretório) em arquivos tanto na máquina virtual ou remota
quanto na máquina local. Para tornar esse processo tão mais fácil quanto efetuar
essa operação como o windows explorer do sistema operacional Windows, deve-se
configurar uma conexão de forma semelhante a conexão SSH, apenas na tela de
seleção do tipo de conexão, escolher a conexão do tipo local e preencher nome para
essa conexão, fará com que a tela do RSE, mostre as duas conexões como mostra
a figura 29.
Para se executar a aplicação de TV digital sem necessidade de sair do
eclipse, basta executar um terminal, de acordo com a figura 29, para execução de
comandos.
58
59
Figura 29.5 - terminal para execução de aplicativos NCL na máquina virtual.Fonte: Autor.
5.4 Criação de aplicativo utilizando a Linguagem NCL
Abordaremos a seguir as mídias a serem executadas, sua relação,
localização na tela e o desenvolvimento de aplicativo responsável pela execução
das mídias.
5.4.1 Definição de mídias e sua localização
59
60
Em primeiro lugar foi definido a localização de mídias, como botões de
acesso e local de execução, através de wireframe, como mostra a figura 30:
Figura 30.5 - definição da localização de mídias.Fonte: Autor.
As mídias serão divididas em 4 canais das maiores montadores de
automóveis do Brasil, um canal para acesso a sistema web e um canal para
execução de game ou jogo online, no qual usuários poderão testar carros de forma
virtual e passear por pontos turísticos do Brasil.
Região definida para vídeo em execução:
Movie 1: Botão de acesso ao canal da montadora FIAT.
Movie 2: Botão de acesso ao canal da montadora FORD.
Movie 3: Botão de acesso ao canal da montadora GM.
Movie 4: Botão de acesso ao canal da montadora Volkwagen.
WEB: Botão de acesso a sistema web.
Game: Botão de acesso a jogo online.
60
61
Após ser definida as mídias foram tratadas as imagens correspondentes aos
botões através de photoshop, como exemplificado na figura 31:
Figura 31.5 - execução de mídias iniciais do software Vida Viajante.Fonte: Autor
A idéia inicial é haver um vídeo principal que será executado com repetição
até que haja interação do usuário com outras mídias através dos botões laterais
esquerdos, responsáveis pela execução de outras mídias, ou seja, cada montadora
tem seu canal institucional próprio e que o usuário pode acessá-lo ao clicar nos
botões em que se encontra o logotipo que faz referência a montadora.
No projeto “Vida Viajante” existem três pastas para armazenar os tipos de
mídias a serem executadas, divididas em:
Image: esta pasta armazena as imagens utilizadas nos botões do software.
Video: esta pasta amarzena os vídeos que serão executados durante a
interação do sistema com o usuário.
Web: esta página armazena arquivo HTML.
61
62
Figura 31.5 - exemplifica as mídias contidas no sistema e sua forma de armazenamento em pastas distintas entre imagem, vídeo e arquivo web.
Fonte: Autor.
5.4.2 Definição do código e explicação de trechos do código
Após ser definida as mídias que serão executadas, localização de forma
visual através de wireframe e seu armazenamento no sistema, deve-se então criar o
código de contexto (NCL) que irá determinar os relacionamentos entre as mídias.
5.4.2.1 Definição de regiões
Dentro da tag <head> se declara regiões, descritores e conectores, uma
região é definida pela tag <region> , dentro da tag <regionBase> onde pode ser
declarado mais de uma <region> ou apenas uma <region> com várias tags <region>
aninhadas assim como um documento hipermídia pode apresentar mais de uma tag
62
63
<regionBase>, como no caso apresentado, onde é apresentada uma <regionBase>
e uma <region> que contém várias outras tags <region> dentro dela, onde ficará
localizada as mídias de forma visual, o leiaute, como o código de declaração de
regiões do projeto “Vida Viajante” demonstrado na figura 32:
No trecho de código da figura 32 é determinado o leiaute de botões e região
de vídeo.
Figura 32.5 - definição do leiaute do sistema através de tags <regionBase> e <region>.Fonte: Autor.
As regiões do sistema “Vida Viajante” possuem os seguinte atributos:
Id: identificador único, utilizado nas referências a descritores.
Width: dimensão horizontal da região.
Height: dimensão vertical da região.
Left: coordenada a esquerda da região em questão com relação
a região pai.
Top: coordenada referente ao topo da região em questão com
relação a região pai.
zIndex: número entre 0 e 255 que define a camada da região,
definindo quais regiões estarão sobrepostas com relação a outras regiões.
63
64
5.4.2.2 Definição de descritores
A partir do momento que se define as regiões ou leiaute das mídias na tag
<head> do documento de hipermídia, se declara os descritores de mídia que
também são declarados dentro da mesma tag <head> e são responsáveis pelo
modo como o vídeo é ou será exibido.
Um descritor é representado pelo elemento <descriptor> e cada <descriptor>
pode definir parâmetros de exibição de mídia, através de elementos filhos
<descriptorParam>.
Figura 33.5 - demonstra como os descritores são declarados no projeto “Vida Viajante”.Fonte: Autor
Os descritores do sistema “Vida Viajante” possuem os seguinte atributos:
Id: identificador único, utilizado nas referências aos descritores por nós de
mídia.
Region: identificador da região associada ao descritor, ou seja, o objeto de
mídia será apresentado na região correspondente.
FocusIndex: marcador para ítens selecionáveis.
MoveDown: redireciona o marcador para o focusIndex atribuído a este
atributo ao se movimentar o item selecionado para cima.
MoveUp: redireciona o marcador para o focusIndex atribuído a este atributo
ao se movimentar o item selecionado para baixo.
FocusBorderWidth: define a espessura do contorno de uma mídia.
64
65
FocusBorderColor: define a cor da espessura de contorno de uma mídia.
5.4.2.3 Definiçaõ de conectores
Ao se criar um projeto do tipo NCL na IDE Eclipse com o auxílio do plug-in
NCL, automaticamente é criado um arquivo NCL com vários conectores que podem
ser reutilizados em documentos hipermídias. Os conectores são os elos que iniciam
ou terminam um objeto de mídia e também são declarados dentro da tag <head>,
assim como regiões e descritores.
A reutilização de conectores disponibilizados pela ferramenta Ginga-NCL,
pode ser feito através da importação da base de conectores através do elemento
<importBase>, e também necessário declarar um alias que será utilizado na
conexão dos elos, como exemplificado na figura 34:
Figura 34.5 - importação da base de conectores para o documento de hipermídia “Race.ncl”.Fonte: Autor.
No projeto “Vida Viajante” se optou por construir uma lista de conectores
próprios, para facilitar a manutenção e evitar excesso de código que não seria
reutilizados no presente projeto, no entanto o ambiente configurado com a IDE
Eclipse permite ao desenvolvedor a criação de projetos já com conectores padrões
com uma lista grande de conexões, fica a critério do desenvolvedor criar ou não uma
nova lista para melhor entendimento. A figura 35.5 explica o conector criado de
forma simplificada, em vez dos conectores criados de forma automática:
65
66
Figura 35.5 - mostra a lista de conectores e suas respectivas funções no projeto “Vida Viajante”.Fonte: Autor.
66
67
O sincronismo em um documento hipermídia é feito através de ações
casuais que são declaradas através de conectores (connectors). O conector é quem
define os papéis (roles) que os nós de origem e de destino exercem nos elos que
utilizam o conector.
Na NCL 3.0 existe apenas um tipo de connector, o conector causal (causal
connector).
Um conector causal define condições (conditions) sobre as quais o elo pode
ser ativado e as ações (actions) que serão realizadas quando o elo for ativado. Um
conector causal deve possuir ao menos uma condição e uma ação. Para haver mais
de uma ação, deve-se marcar a propriedade que determina a condição como “max =
‘unbounded’”. Cada condição ou ação é associada a um papel (role), ponto de
interface do conector que participará das ligações (bind) do elo.
O comportamente de um conector pode ser lido da seguinte maneira:
“quando condição, então ação”, ou seja, quando um nó iniciar é finalizado outro nó.
Os conectores causal do sistema “Vida Viajante” possuem os seguinte
atributos:
Id: identificador único do conector.
Role: define os pápeis dos conectores.
o Roles de condições (padrão)
onBegin - quando começar;
onEnd - quando terminar;
onAbort - quando abortar;
onPause - quando pausar;
onResume - quando sair da pausa e começar a tocar;
onSelection - quando for selecionado;
onBeginAttribution - quando uma atribuição começar;
onEndAttribution - quando uma atribuição terminar.
o Roles de ações (padrão)
start – comece;
stop – pare;
abort – aborte;
pause – pause;
67
68
resume – reinicie;
set - configure.
Max: define o número máximo de simpleAction. Qualifier: define se será do tipo sequencial (seq) ou paralelo (par). CompoundAction: design elementos pai dos elementos simpleCondition e
simpleAction e determina o “Operator”. Operator: determina se a compoundAction será parelala ou sequencial. SimpleCondition: determina a condição que será satisfeita através de
roles de condições. ConnectorParam: define um valor como parâmetro para satisfazer uma
condição. SimpleAction: define a ação que será executada de acordo com uma
única assim do tipo roles de ações.
5.4.2.4 Definição de mídia
Após definir as tags de regiões, descritores e conectores dentro da tag
<head>, o próximo passo é definir as mídias que serão executadas pelo documento
de hipermídia do software “Vida Viajante”. A partir dessa fase todas as tags terão
que estar localizadas dentro da tag <body>. A função da tag <media> é definir um
identificador para a mídia e o descritor que definirá como a mídia será apresentada,
conforme figura 36.
Figura 36.5 - é demonstrado as declarações de mídias pro software “Vida Viajante”.Fonte: Autor.
68
69
As mídias do sistema “Vida Viajante” possuem os seguinte atributos:
Id: identificador único de mídia.
Src: local onde está armazenada a mídia.
Descriptor: identificador que controla a apresentação da mídia.
5.4.2.5 Definindo a porta que irá determinar o início do software
Após definir as mídias que serão utilizadas no documento hipermídia, dentro
da tag <body>, deve-se definir pelo menos uma porta de contexto que mapeie um nó
de mídia, que será executado ao se iniciar o programa.
Figura 37.5 - mostra a porta de contexto do software “Vida Viajante”.Fonte: Autor.
A porta de contexto do sistema “Vida Viajante” possuem os seguinte
atributos:
Id: identificador único da porta.
Component: nó de mídia ou contexto ao qual a porta mapeia.
5.4.2.6 Definindo elos para sincronizar início e término de exibição de mídias
Os elos <link> associam nós através de conectores <causalConnector> que
definem a semântica da associação entre os nós.
69
70
Figura 38.5 - mostra o início do software “Vida Viajante” e o acionamento dos compontes do tipo botão, através do atributo “role”.
Fonte: Autor.
Figura 39.5 - mostra os elos de repetição do software “Vida Viajante” ao término de uma mídia do tipo vídeo.
Fonte: Autor.
70
71
Figura 40.5 - mostra os elos responsáveis pela interação através de controle remoto.Fonte: Autor.
Figura 41.5 - mostra os elos responsáveis pela execução das mídias de ícones, paralização de algum vídeo em execução e inicialização de outro vídeo ao se selecionar algum ícone no menu
apresentado.Fonte: Autor.
Os elos do sistema “Vida Viajante” possuem os seguinte atributos:
Xconnector: identificador do conector associado ao elo.
Bind: indica uma ligação entre um componente (nó de mídia ou de contexto) e
seu papel (role) no elo.
Component: nó de mídia ou de contexto.
Role: define os pápeis dos conectores.
o Roles de condições (padrão)
onBegin - quando começar;
onEnd - quando terminar;
onAbort - quando abortar;
onPause - quando pausar;
onResume - quando sair da pausa e começar a tocar;
onSelection - quando for selecionado;
onBeginAttribution - quando uma atribuição começar;
71
72
onEndAttribution - quando uma atribuição terminar.
o Roles de ações (padrão)
start – comece;
stop – pare;
abort – aborte;
pause – pause;
resume – reinicie;
set - configure.
BindParam: define um parâmetro específico do bind. As propriedades e seus
valores são dependentes da definição do conector ao qual está associado.
Name: define o nome ou identificador do parâmetro.
Value: define o valor do parâmetro atribuído ao conector ao qual o bindParam
está associado.
5.4.2.7 Subsistema web colaborativo do sistema “Vida Viajante”
Este capítulo aborda a parte web do sistema “Vida Viajante” subdividido entre jogo
on-line e website.
5.4.2.7.1 Menu web
O menu WEB do software “Vida Viajante” deverá ser baseado em sistema
colaborativo com conceito de web 3.0, com finalidade de interação entre usuários do
sistema e incentivar debates a respeito de veículos, pontos turísticos do Brasil e
qualquer outro tipo de debate, também acesso a canais de compras on-line ,
fornecimento de informações sobre o usuário com o conceito de web 3.0 para
customização do sistema WEB e integração com redes sociais.
72
73
Para exemplificação será utilizado um website criado por Pedro, como
projeto de monografia de mestrado em Design. O website desenvolvido por pedro é
um website estático, não há como o usuário criar conteúdo, também é limitado pelo
tema de praias e número limitado de praias.
Figura 42.5: menu customization, responsável por a partir de botões selecionados pelo usuário, indicar a melhor praia para o perfil indicado.
Fonte: www.intobrazil.net
Figura 43.5 - indicação da melhor praia para o perfil indicado.Fonte: www.intobrazil.net.
73
74
O sistema “Vida Viajante” deverá permitir ao usuário, criar o próprio
conteúdo a respeito de lugares que seriam interessantes para turísta conhecer,
comentar com outros usuários, além de permitir uma viagem virtual ao local com
a utilização de ambiente 3D, no qual será explicado mais adiante.
5.4.2.7.2 Menu game
O menu Game do sistema “Vida Viajante” deve fornecer link direto para
acesso a game do tipo corrida ou do tipo simulador de ambiente 3D, esse game
poderá ser acessado indiretamente também através do menu WEB.
Essa aplicação 3D será desenvolvido em Blender, onde através de plugin
é possível ser executada em browser e deverá permitir ao usuário, competir ou
fazer um test-drive de veículo de alguma das montadoras do sistema “Vida
Viajante” passeando por pontos turísticos modelados através da ferramenta
Blender 3D.
A ferramenta Blender 3D permite facilidade de criação, já que aplica leis
da física aos componentes criados de forma automática, facilitando o
desenvolvimento de aplicação 3D. Usuários também disponibilizam diversos
ambientes e componentes com licença livre na internet, como é o caso do jogo
4X4 usado para exemplificação desse trabalho.
Figura 45.5 - jogo 4X4 de licença livre, desenvolvido por Blender 3D.Fonte: http://4x4.duskydolphin.co.uk/.
74
75
A modelagem de ambientes para o sistema “Vida Viajante” deve se dar
através de convênios com instituições, como o centro de música e tecnologia de
Peixinhos, onde jovens de classe baixa aprendem música e informática, já que o
software Blender 3D, não necessita de conhecimento técnico apurado, pois maior
parte das funções é automatizada pelo software, maior trabalho é o dom artistíco do
profissional responsável pela modelagem 3D.
75
76
6 CONSIDERAÇÕES FINAIS
A televisão analógica está sendo substituída gradualmente pela televisão
digital, que surgiu como forma de obter maior qualidade de áudio, vídeo e
interatividade. Para aumentar a interatividade houve a necessidade de se
desenvolver diversas tecnologias, que permitissem a criação de software para
promoção de interatividade. Entre as diversas tecnologias de transmissão de TV
digital, como por exemplo, a de padrão japonês, europeu e americano, pode-se
destacar a disponível no padrão brasileiro, que permite a integração de aplicativos
declarativos e procedurais, porém esses dois tipos de aplicativos são desenvolvidos
em ambientes separados e para restrição a um tema, no caso do presente trabalho,
foi escolhido o ambiente Ginga-NCL, devido à utilização de linguagem pouco
difundida que é a linguagem NCL, enquanto que o outro ambiente tem como base a
linguagem Java, linguagem muito difundida e utilizada por todos os ambientes de
desenvolvimento para TV digital, caso diferente da linguagem NCL que só é utilizada
no padrão de TV digital brasileiro.
A linguagem NCL é uma linguagem de programação, com poucas instruções
a serem declaradas e executadas de acordo com a necessidade ou contexto,
bastando apenas criar a lógica de execução de mídias através de um ou mais
documentos hipermídias.
Entretanto, o desenvolvimento de software sem o auxílio da IDE Eclipse,
plugins para linguagem NCL e acesso remoto ao middleware Ginga-NCL, torna-se
muito trabalhoso para TV digital, pois mesmo com a facilidade que a linguagem NCL
provê para criação de documentos hipermídia, há uma dificuldade em declarar as
tags NCL em estilo XML e suas propriedades, problema esse que pode ser resolvido
com o plugin NCL para IDE Eclipse que fornece auxílio através de documentação
enquanto se digita trechos de tags no documento.
76
77
Também se encontra dificuldade em lidar com a transferência de arquivos de
mídia, entre o computador local e o middlware Ginga-NCL, já que o middleware
Ginga-NCL é executado em uma máquina remota. Para isto não ocorrer é
necessário utilizar protocolo SSH. O desenvolvimento de software sem a utilização
da IDE Eclipse e plug-in RSE, resulta na necessidade de sucessivamente alterar o
documento na pasta local onde está sendo desenvolvido o projeto para TV digital.
Sendo assim, há necessidade de se transferir através de protocolo SSH,
manualmente os arquivos de uma pasta para outra, já no caso da utilização da IDE
Eclipse com o plug-in RSE os arquivos de hipermídia podem ser alterados, criados,
consultados e deletados de forma direta na area de trabalho do middleware Ginga-
NCL, a partir de uma configuração de IDE e plug-in que permite conexão automatica
e ininterrupta.
A partir do estabelecimento de um ambiente de trabalho otimizado, foi iniciada
a construção de um software para TV digital, porém, devido as limitações técnicas
do middleware e de tempo, o projeto “Vida Viajante” não foi possível ter todas as
funcionalidades implementadas, já que apesar da possibilidade do set-top box
permitir conexão com internet em teoria, ainda não é possível utilizar a internet
através do emulador disponibilizado para a criação de software e também não é
possível a utilização de browser para indexar plugin que permita a execução de
software 3D construído através da ferramenta Blender 3D até o momento, entretanto
não deixa de ser um software com potencial, sem software similar publicado. Diante
dos impedimentos não foi possível concluir o sistema “Vida Viajante” de forma plena.
Como trabalho futuro, tem-se o desenvolvimento de website com conceitos
de sistema colaborativo e WEB 3.0 e modelagem de ambiente 3D, para referência a
pontos turísticos, com o intuito de aumentar a interatividade com os usuários.
77
78
7 REFERÊNCIAS
ALENCAR, Marcelo Sampaio de. Televisão digital. São Paulo: Érica, 2007.
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR15606-5 Televisão digital terrestre- codificação de dados e especificações de transmissão digital. Parte 5: GINGA-NCL para receptores portáteis XML para codificação de aplicações. Rio de Janeiro, 2008.
BARBOSA, S. D. J.; SOARES, L. F. g. Tv interativa no Brasil se faz com Ginga: fundamentos, padrões, autoria declarativa usabilidade em T. Kowaltowski ; BREITMAN (orgs). Rio de Janeiro: 2008.
CRUZ, Renato. Tv Digital No Brasil:Tecnologia Versus Politica. São Paulo: Senac, 2008.
FERNANDES, Jorge ; LEMOS, Guido; SILVEIRA, Gledo. Introdução à televisão digital interativa, arquitetura, protocolos, padrões e prática. In: Anais do JAI-SBC, Salvador, 2004.
GIL, Antonio Carlos. Como elaborar projetos de pesquisa. 2. ed. SP: Atlas, 2010.
JUCA, Paulyne; LUCENA, Ubirajara. Experiências no desenvolvimento de aplicações para televisão digital interativa. Publicado em 20 de maio de 2005, no III Forum de oportunidades em televisão digital interativa, Poços de Caldas. Disponível em: <http://www.cesar.org.br/node/217. Acessado em 07 ago. 2011.
LAKATOS, Eva e Marconi, Marina. Metodologia do Trabalho Científico. SP : Atlas, 2010.
NOVA BRASIL FM. Turismo nacional deve crescer 16,5% em 2011. Disponível em: <http:/www.novabrasilfm.com.br/noticias/nova-noticia/turismo-nacional-deve-crescer-165-em-2011/> Acesso em: 09 jul 2011.
O'Driscol, Gerard.The Essential Guide to Digital Set-Top Boxes and Interactive TV. Set-Tops, 2009.
78
79
OLIVEIRA, Juliana. Saiba tudo sobre televisão digital. Disponível em: <http://www.tecmundo.com.br/2134-saiba-tudo-sobre-televisao-digital.htm>. Acesso em: 09 jul. 2011.
REIMERS, U. DVB – The family of International standards for digital video broadcasting. IEE, 2006.
RODRIGUES, Ana Luiza; GOMES, Regina Missias. Modulação COFDM – uma proposta atrativa para os padrões de TV Digital. Disponível em: <http://www.revdigonline.com/artigos_download/art_16.p>. Acesso em: 02 nov. 2011.SANTOS, Danilo F. de Souza. DVB: a solução de TV Digital. Disponível em: <www.dee.ufcg.edu.br/~danilo/dvbt.pdf>. Acesso em: 12 set. 2011.
SILVA, George Martins da. TV analógica x TV digital. Disponível em: <http://meuartigo.brasilescola.com/atualidades/tv-analogica-x-tv-digital.htm>. Acesso em 11 jul. 2011.
SOARES, Luiz Fernando Gomes; BARBOSA, Simone Diniz Junqueira. Programando Em NCL. Rio de Janeiro: Campus, 2009.
SQUIRRA, Sebastiao; BECKER, Valdecir. Tv Digital.Br Conceitos e estudos Estudos Sobre O Isdb-Tb . São Paulo: ATELIE Editorial, 2009.
WILSON,Tracy V. Como funciona a televisão de alta definição (HDTV). Disponível em: <http://eletronicos.hsw.uol.com.br/hdtv.html>. Acesso em: 09 julho 2011.
WOOD, David. History of the DVB Project. (trad.) Disponível em: <http://www.dvb.org/about_dvb/history/>. Acesso em 09 jul. 2011.
79