Desenvolvimento de um aplicativo para TV Digital usando as bibliotecas de JavaTV

of 92 /92
JOSIMAR FERREIRA GUILHERME WELLINGTON CÉSAR GOMARIN DESENVOLVIMENTO DE UM APLICATIVO PARA TV DIGITAL USANDO AS BIBLIOTECAS DE JAVATV FRANCA 2009
  • date post

    21-Oct-2014
  • Category

    Technology

  • view

    6.349
  • download

    4

Embed Size (px)

description

Desenvolvimento de um aplicativo para TV Digital Interativa, onde o telespectador pode assistir de imediato os vídeos disponibilizados pela emissora, ou agendá-los para uma determinada data e hora, além de conferir as informações sobre o vídeo que está em execução, dentre outras funcionalidades.

Transcript of Desenvolvimento de um aplicativo para TV Digital usando as bibliotecas de JavaTV

Microsoft Word - TCC final.doc

JOSIMAR FERREIRA GUILHERME WELLINGTON CSAR GOMARIN

DESENVOLVIMENTO DE UM APLICATIVO PARA TV DIGITAL USANDO AS BIBLIOTECAS DE JAVATV

FRANCA 2009

JOSIMAR FERREIRA GUILHERME WELLINGTON CSAR GOMARIN

DESENVOLVIMENTO DE UM APLICATIVO PARA TV DIGITAL USANDO AS BIBLIOTECAS DE JAVATV

Trabalho de Concluso de Curso apresentado como exigncia parcial, para obteno do grau no curso de Cincia da Computao da Universidade de Franca.

Orientador: Fernando Orsi Coorientador: Hemerson da Silva Calabreze

FRANCA 2009

Catalogao na fonte Biblioteca Central da Universidade de Franca

Guilherme, Josimar Ferreira G974d Desenvolvimento de um Aplicativo para TV Digital usando as bibliotecas

JavaTV / Josimar Ferreira Guilherme, Wellington Csar Gomarin ; orientador: Fernando Orsi, coorientador: Hemerson Calabreze. 2009

90 f. : 30 cm.

Trabalho de Concluso de Curso. Bacharel em Cincia da Computao

1. Computao TV Digital. 2. TV Digital Interatividade. 3. TV Digital (aplicativo) JavaTV (bibliotecas). I. Gomarin, Wellington Csar. II. Universidade de Franca. III. Ttulo.

CDU 681.3.06:621.397.27

JOSIMAR FERREIRA GUILHERME WELLINGTON CSAR GOMARIN

DESENVOLVIMENTO DE UM APLICATIVO PARA TV DIGITAL USANDO AS BIBLIOTECAS DE JAVATV

Orientador:____________________________________________________ Nome: Prof. Fernando Orsi Instituio: Universidade de Franca

Coorientador:_________________________________________________ Nome: Prof. Hemerson da Silva Calabreze Instituio: Universidade de Franca

Examinador (a):________________________________________________ Nome: Eder de Oliveira Cabral Instituio: Universidade de Franca

Examinador (a):________________________________________________ Nome: Cludia Vicci Amadeu Instituio: Universidade de Franca

Franca, 09/11/2009.

DEDICAMOS este projeto aos nossos pais e familiares que sempre nos apoiaram em nossos estudos, pela educao e ensinamentos que nos foi proporcionado fazendo com que alcanssemos uma estrutura necessria para atingir nossos objetivos.

AGRADECEMOS primeiramente a Deus, que nos deu fora necessria para chegarmos at aqui, aos nossos orientadores Fernando Orsi e Hemerson da Silva Calabreze, ao professor Fabiano Magrin pela sugesto do projeto e aos demais professores e amigos que sempre nos apoiaram durante toda a realizao deste projeto.

RESUMO

GUILHERME, Josimar Ferreira; GOMARIN, Wellington Csar. Desenvolvimento de um Aplicativo para TV Digital usando as bibliotecas JavaTV. 2009. Trabalho de Concluso de Curso (Graduao em Cincia da Computao) Universidade de Franca, Franca.

O objetivo do projeto criar um aplicativo para TV Digital que proporcione ao telespectador a interatividade com a programao, facilitando a escolha do que assistir, no dependendo da programao contnua da TV atual, fazendo tudo de maneira mais fcil utilizando apenas o controle remoto. O projeto tambm mostra o impacto que a TV Digital ir causar nos hbitos das pessoas, transformando, por exemplo, as maneiras de votar, comprar, viajar e acessar informaes bancrias. O foco do Aplicativo desenvolvido foi na disponibilizao de vdeos para serem assistidos em tempo real ou agendados pelo telespectador em uma determinada data e horrio, e tambm fornecer informaes sobre os vdeos que foram disponibilizados. A linguagem Java, por se tratar de uma linguagem multiplataforma, foi utilizada para o desenvolvimento do aplicativo, com a incorporao de bibliotecas como JavaTV, HAVi e DAVIC. Para simular o ambiente de TV Digital foi usado o emulador XleTView no padro MHP (Multimedia Home Platform). O estudo foi feito atravs de pesquisas em livros, artigos, em Fruns e sites oficiais na internet, monografias e revistas. O aplicativo pode servir de base para projetos futuros que necessitem de manipulao de arquivos de vdeos na interatividade com a TV Digital.

Palavras chave: TV Digital, interatividade, JavaTV, XleTView.

ABSTRACT

GUILHERME, Josimar Ferreira; GOMARIN, Wellington Csar. Development of an application for TV Digital using the JavaTV libraries. 2009. Trabalho de Concluso de Curso (Graduao em Cincia da Computao) Universidade de Franca, Franca.

The aim of this project is create an application for Digital TV that provides the viewer the interactivity with programming, facilitating the choice of who will watch, not depending on the continuous programming on TV, making it easier using only the remote control. The

project also shows the impact that digital TV will cause on people habits, transforming, for example, ways to vote, buy, travel and access banking information. The focus of the application developed was in the availability of videos to watched in real time or scheduled by the viewer on a determined date and time, and also provide information about the videos that were available. The Java language, because it is a language platform, was used for application development, with the incorporation of libraries as Java TV, HAVi and DAVIC. To simulate the environment of Digital TV has been used the emulator XleTView in standard MHP (Multimedia Home Platform). The study was done through researching books, articles, forums and official sites on the Internet, monographs and journals. The application can work as a basis for future projects that require manipulation of video files on interactivity with Digital TV.

Key-words: Digital TV, interactivity, JavaTV, XleTView.

LISTA DE FIGURAS

Figura 1 - Cronograma de implantao da TV Digital no Brasil

19

Figura 2 - Comparao entre o sinal analgico e o digital

21

Figura 3 - Comparao entre as resolues de tela para televiso

22

Figura 4 - TV sendo exibida em um celular

23

Figura 5 - Exemplo de Interatividade

25

Figura 6 - Componentes que definem um sistema de TV Digital

26

Figura 7 - Modelo de um set-top Box

27

Figura 8 - Blocos na forma de caixa preta definindo um sistema de televiso digital

28

Figura 9 - Ciclo de vida de um Xlet

35

Figura 10 - Interface do XleTView

37

Figura 11 - Camadas do dispositivo do modelo grfico do MHP

39

Figura 12 - Diagrama de Casos de Uso

53

Figura 13 - Diagrama de Classes: Aplicativo Arquivo TV

55

Figura 14 - Diagrama de Classes: Sistema Administrativo

57

Figura 15 - Diagrama de Sequncia: Agendar Vdeo

58

Figura 16 - Diagrama de Sequncia: Encerrar Aplicao

59

Figura 17 - Funcionamento em um ambiente real

61

Figura 18 - Resultado do Teste da Classe Aplicativo com JUnit

62

Figura 19 - Resultado da iniciao do aplicativo pelo XleTView 63

Figura 20 - Resultado do Teste da verificao do agendamento com JUnit

64

Figura 21 - Agendamento sendo iniciado

66

Figura 22 - Tela com as informaes do vdeo exibido 66

LISTA DE SIGLAS

8VSB

Vestigial Sideband Modulation

API Application Programming Interface

ARIB Association of Radio Industries and Businesses

ATSC Advanced Television System Comittee

AWT Abstract Window Toolkit

COFDM Coded Orthogonal Frequency-Division Multiplexing

CPqD Centro de Pesquisa e Desenvolvimento Padre Roberto Landell de Moura

DASE Digital Applications Software Environment

DAVIC Digital Audio Visual Council

DVB Digital Video Broadcating

DVB-H Digital Video Broadcasting Handheld

DVB-T Digital Video Broadcasting Terrestrial

DVD Digital Vdeo Disc

EAD Ensino Distncia

EPG

Eletronic Program Guide

GPL General Public License

GSM Global System Mobile

HAVi Home Audio Video Interoperability

HD High Definition

HDTV High Definition Television

HTML Hypertext Markup Language

IBGE Instituto Brasileiro de Geografia e Estatstica

IDE Integrated Development Environment

IP Internet Protocol

ISDB Integrated Services Digital Broadcasting

ISDB-T Integrated Services Digital Broadcasting Terrestrial

JMF Java Media Framework

LCD Liquid Crystal Display

LGPL Lesser General Public License

MHP Multimedia Home Platform

MPEG Moving Picture Experts Group

NCL Nested Context Language

NTSC National Television System Committee

PAL-M Phase Alternate Lines, com padro M

PNAD Pesquisa Nacional de Amostra de Domiclios

PUC-RJ Pontifcia Universidade Catlica do Rio de Janeiro

RGB Red, Green, Blue

SDTV Standard Definition Television

SBTVD Sistema Brasileiro de Televiso Digital

TVDI Televiso Digital Interativa

UFPB Universidade Federal da Paraba

UHF Ultra High Frequency

UI User Interface

URL

Uniform Resource Locator

USB Universal Serial Bus

USP Universidade de So Paulo

XML eXtensible Markup Language

SUMRIO

INTRODUO ..................................................................................................................... 14 1 A ERA DA TV DIGITAL ....................................................................................... 16 1.1 CONSIDERAES INICIAIS................................................................................. 16 1.2 HISTRIA DA TELEVISO................................................................................... 16 1.2.1 Televiso Analgica .................................................................................................. 17

1.2.2 TV Digital no mundo ................................................................................................ 18 1.2.3 TV Digital no Brasil .................................................................................................. 18 1.3 O QUE MUDA COM A TV DIGITAL .................................................................... 20 1.3.1 HDTV........................................................................................................................ 20 1.3.2 Multiprogramao ..................................................................................................... 22

1.3.3 Mobilidade e Portabilidade ....................................................................................... 23 1.3.4 Interatividade............................................................................................................. 24 1.4 COMPONENTES DA TV DIGITAL INTERATIVA.............................................. 26 1.5 PADRES PARA A TVDI....................................................................................... 28 1.5.1 Padro Americano ..................................................................................................... 28 1.5.2 Padro Europeu ......................................................................................................... 29 1.5.3 Padro Japons .......................................................................................................... 30 1.5.4 Padro Brasileiro ....................................................................................................... 30 1.6 CONSIDERAES FINAIS .................................................................................... 31 2 APLICAES EM JAVATV ................................................................................ 32 2.1 CONSIDERAES INICIAIS................................................................................. 32 2.2 JAVATV ................................................................................................................... 32

2.2.1 Bibliotecas JavaTV.................................................................................................... 33 2.3 XLET......................................................................................................................... 34

2.4 EMULADORES........................................................................................................ 36 2.4.1 XletView ................................................................................................................... 37

2.4.2 OpenMHP.................................................................................................................. 38 2.5 API HAVI.................................................................................................................. 38 2.6 API DAVIC............................................................................................................... 40

2.7 METODOLOGIA ..................................................................................................... 41 2.8 CONSIDERAES FINAIS .................................................................................... 42 3 APLICAO PARA TV DIGITAL...................................................................... 43 3.1 CONSIDERAES INICIAIS................................................................................. 43 3.2 O APLICATIVO: ARQUIVO TV......................................................................... 43 3.3 REQUISITOS DO SISTEMA................................................................................... 44 3.3.1 Declarao dos Requisitos Funcionais e No-Funcionais......................................... 45 3.4 CASOS DE USO....................................................................................................... 48

3.4.1 Lista dos Casos de Uso.............................................................................................. 48 3.4.2 Casos de Uso no Modo Expandido ........................................................................... 49 3.4.3 Diagrama de Casos de Uso........................................................................................ 53 3.5 DIAGRAMA DE CLASSES..................................................................................... 55 3.6 DIAGRAMA DE SEQUNCIA............................................................................... 58 3.7 CONSIDERAES FINAIS .................................................................................... 59 4 TESTES E RESULTADOS .................................................................................... 60 4.1 CONSIDERAES INICIAIS................................................................................. 60 4.2 FUNCIONAMENTO EM AMBIENTE REAL........................................................ 60 4.5 TESTES DO SISTEMA E RESULTADOS OBTIDOS ........................................... 61 4.6 DIFICULDADES ENCONTRADAS ....................................................................... 67 4.7 PROJETOS FUTUROS ............................................................................................ 68 4.8 CONSIDERAES FINAIS .................................................................................... 68 CONCLUSO........................................................................................................................ 69 REFERNCIAS .................................................................................................................... 70 GLOSSRIO ......................................................................................................................... 73 ANEXOS ................................................................................................................................ 78

14

INTRODUO

Com o surgimento da TV Digital, a qualidade de imagem e som transmitidos pelas emissoras largamente melhor, transmitindo sons em seis canais ao invs de dois, sem rudos e imagens em Alta Definio com resoluo de at 1920x1080 pixels (Site Oficial da TV Digital Brasileira, 2009). A melhora na qualidade da imagem e som o que a TV Digital nos traz de imediato, contudo ela oferece mais que isso. O telespectador deixa de ser uma mera figura passiva, que apenas assiste ao que transmitido, e passa a ser um telespectador que interage com o que transmitido, pois a TV digital traz a possibilidade da interatividade com o contedo transmitido atravs da TVDI (TV Digital Interativa).

Com a TVDI possvel o acesso Internet e a um grande fluxo de dados. Esse fluxo de dados contm alm da imagem e som, informaes como notcias, resultados esportivos, jogos, consulta financeira, previso meteorolgica, entre outros (Site Oficial da TV Digital Brasileira, 2009). Tambm possvel com a TVDI a interatividade em grupo, onde os telespectadores trocam informaes entre si. Um exemplo prtico o uso de tele-conferncia para o EAD (Ensino a Distncia).

Para atender a essa demanda, o desenvolvimento de aplicativos tornou-se necessrio para que o usurio telespectador interaja com a TV em busca de informaes. O aplicativo ir proporcionar maior comodidade e entretenimento ao telespectador, onde at os mais inexperientes utilizaro o aplicativo por ser de fcil entendimento e que ser muito til no cotidiano.

O objetivo deste projeto apresentar as caractersticas da tecnologia de TV Digital e o desenvolvimento de um Xlet, ou seja, um aplicativo para TV Digital responsvel pela interatividade com o usurio atravs das bibliotecas de JavaTV. O aplicativo far uma reserva de um vdeo escolhido pelo usurio no horrio definido por ele, de acordo com a listagem dos vdeos da emissora que ir apresent-los em sequncia. Para isso ser usado um emulador para simulao em um desktop, chamado XletView, baseado em um middleware Open Source chamado MHP (Multimedia Home Platform) que adotado pelo padro europeu de TV Digital.

15

Para o desenvolvimento deste projeto sero feitas pesquisas em livros, monografias, artigos, revistas e sites. O aplicativo ser desenvolvido na linguagem Java, pois segundo o site TVDI, a linguagem muito ampla no sentido que podemos us-la para programar para qualquer tipo de aplicativo final, seguido das APIs JavaTV, HAVi (Home Audio Video Interoperability) e DAVIC (Digital Audio Visual Council) que fornece todo o material necessrio para o desenvolvimento. Existem tambm outras tecnologias como Ginga NCL (Nested Context Language) e Microsoft TV que uma plataforma para desenvolvimento paga.

16

1 A ERA DA TV DIGITAL

1.1 CONSIDERAES INICIAIS

Neste captulo ser apresentada a histria da televiso, as mudanas da TV analgica para a TV Digital, os componentes que integram a Televiso Digital Interativa

(TVDI), e os padres utilizados pela mesma, que fornece conceitos bsicos para o desenvolvimento do aplicativo proposto desenvolvido com JavaTV utilizando o emulador XleTView.

1.2 HISTRIA DA TELEVISO

A televiso pode ser considerada como um dos melhores meios de comunicao existentes. Atravs dela possvel receber informaes, entretenimento e cultura, alm de ser bem acessvel a todos. O resultado da Pesquisa Nacional de Amostra de Domiclios (PNAD) realizada pelo IBGE em 2007 aponta que, 94,5% dos lares brasileiros possuem televiso (Teleco, 2009). Desde sua criao, a televiso vem evoluindo com o passar dos anos. Primeiramente surgiu com transmisses em preto e branco, passando a serem transmitidas a cores alguns anos depois (Tudo Sobre TV, 2009). At ento no havia sofrido mais nenhuma mudana, at o surgimento da Televiso Digital em Alta Definio (HDTV High Definition Television), onde alm da melhora significativa da qualidade de som e imagem, o telespectador pode interagir com a programao que transmitida (TVDi, 2009).

17

1.2.1 Televiso Analgica

A histria da televiso deve-se a grandes cientistas que contriburam para a sua inveno. Segundo o site Tudo sobre TV, em 1817, o qumico sueco Jakob Berzelius descobriu o Selnio, mas em 1873, o ingls Willoughby Smith comprovou que o Selnio possua a propriedade de transformar energia luminosa em energia eltrica; em 1892, Julius Elster e Hans Getiel inventaram a clula fotoeltrica; em 1906, Arbwehnelt desenvolveu um sistema de televiso por raios catdicos. Em 1926, John Logie Baird fez a primeira demonstrao em Londres para a comunidade cientfica, onde o padro de definio possua 30 linhas e era mecnico. Em maro de 1935 emitiu-se oficialmente a televiso na Alemanha, com a inteno de transmitir as Olimpadas de Berlim, o primeiro grande evento passado na telinha. No ano seguinte, Londres j utilizava imagens com 405 linhas oferecendo uma melhora significativa para a poca (Tudo sobre TV, 2004). Para Alencar (2007), em 1939 ocorreu a primeira transmisso de televiso, em circuito fechado, que se tem conhecimento no Brasil. Foi durante a Feira Internacional de Amostras na cidade do Rio de Janeiro. No dia 18 de setembro de 1950, Assis Chateubriand inaugurou a TV Tupi de So Paulo, canal 3. Dez anos mais tarde, o Brasil j possua 200 mil televisores.

De acordo com o site Tudo Sobre TV (2009), as transmisses em cores comearam nos Estados Unidos em 1954, porm nessa poca j havia mais de 10 milhes de aparelhos em preto e branco. Com isso, criou-se nos Estados Unidos um comit especial para colocar cor no sistema preto e branco, denominado National Television System Committee, cujas iniciais dariam o nome para o novo sistema, NTSC. O novo sistema a cores tinha o princpio de decompor a luz branca em trs cores primrias, vermelho, verde e azul, conhecido por RGB (Red, Green, Blue), numa proporo de nveis de 30% de vermelho, 59% de verde e 11% de azul. Para Alencar (2007), em 19 de fevereiro de 1972, aconteceu a primeira transmisso em cores no Brasil, com a Festa da Uva de Caxias, Rio Grande do Sul (Alencar, 2007). O sistema de transmisso no Brasil o PAL-M (Phase Alternate Lines, com padro M) desde esta poca. O sistema PAL foi desenvolvido na Alemanha para o uso da resoluo de 625 linhas, e a Universidade de So Paulo (USP) modificou o sistema para PAL-M para o uso da resoluo de 525 linhas adotado pelo Brasil. Com a TV a cores, a resoluo mdia dos

18

aparelhos de 480 linhas variando de acordo com o sistema de transmisso, chegando a at 625 linhas. Com os novos aparelhos com mais de 40 polegadas, esta resoluo j no suficiente para preencher toda a tela, pois a quantidade de pixels pouca, com baixa qualidade da imagem.

1.2.2 TV Digital no Mundo

Apesar de a TV Digital ser uma novidade tecnolgica, os primeiros padres de transmisso digital existentes esto sendo avaliados a mais de duas dcadas. Inicialmente, a ideia principal era focada na alta definio, mas atualmente h diversos recursos de interatividade com o telespectador, como placar esportivo, notcias e outras informaes. A TV de alta definio, HDTV, j est funcionando desde 1995 nos Estados Unidos, mas com uma tmida adeso do pblico, e o Japo foi o primeiro pas a implantar um satlite dedicado transmisso digital. Segundo o site Teleco, o processo de implantao da TV Digital vem ocorrendo gradativamente em alguns pases, no Reino Unido em 1998, nos Estados Unidos em 2002, Japo em 2003 e no Brasil em 2007. A transio para a TV Digital est sendo lenta, pois os aparelhos necessrios para receber o sinal esto, na data atual, com preos altos, inclusive os seus conversores (set-top boxes) que so responsveis pela decodificao do sinal, e para se obter sucesso na implantao da TV Digital, os conversores devem ser acessveis populao.

1.2.3 TV Digital no Brasil

De acordo com a Revista Guia Como se Faz Especial TV Digital sem Segredos, o interesse em desenvolver um sistema nacional de transmisso de TV Digital surgiu em 1994 por um grupo de emissoras e algumas empresas. Alencar (2007) diz que, em 1999, a Universidade de Mackenzie comeou a realizar alguns testes dos padres de transmisses digitais existentes e o CPqD (Centro de Pesquisa e Desenvolvimento Padre Roberto Landell de Moura) fez a validao dos mesmos, com a participao de outras entidades. Aps estes testes, o presidente da Repblica Lus

19

Incio Lula da Silva assinou o decreto n 4901 que criou o SBTVD (Sistema Brasileiro de Televiso Digital). A transmisso de TV Digital no Brasil iniciou oficialmente no dia 02 de Dezembro de 2007, somente para a regio metropolitana de So Paulo. Atualmente, outras cidades tambm recebem o sinal digital, e aos poucos, as demais cidades brasileiras tero acesso a essa tecnologia. At 2011, o sinal digital ser obrigatrio em todas as capitais brasileiras. Estima-se que at 2013, transmissoras e suas afiliadas ofeream o sinal digital. Porm, somente no dia 29 de Junho de 2016 que o sinal analgico dever sair do ar, como mostra a figura abaixo (Site Oficial da TV Digital Brasileira, 2009).

Figura 1 - Cronograma de implantao da TV Digital no Brasil Fonte: Site Oficial da TV Digital Brasileira.

Assim que a transmisso analgica for encerrada, quem no possuir um conversor digital para analgico (set-top box), ou um televisor com o conversor embutido, no conseguir mais assistir televiso, portando, o telespectador ser obrigado a comprar um conversor para continuar recebendo as transmisses. Dentre os principais padres de transmisso digital existentes, e de acordo com as necessidades locais, o Brasil decidiu criar seu prprio sistema digital, o SBTVD, derivado do sistema japons ISDB (Integrated Services Digital Broadcasting) que o sistema digital mais completo e eficiente at o momento (Revista Guia Como se Faz Especial TV Digital sem Segredos, 2008).

20

1.3 O QUE MUDA COM A TV DIGITAL

A TV Digital possui diversos benefcios, como o sinal de alta definio de udio e vdeo, multiprogramao, mobilidade, portabilidade e a interatividade. A tecnologia transforma cada elemento da imagem e do som em um cdigo binrio (composto de 0 e 1), que transmitido pelo ar na frequncia UHF (Ultra High Frequency) e convertido pelo set-top box. Segundo a Revista Guia Como se Faz Especial TV Digital sem Segredos, mesmo adquirindo o conversor set-top box, o televisor de tubo no ter a mesma qualidade do sinal digital que os televisores de plasma e de LCD (Liquid Crystal Display), pois estes ltimos possuem telas no formato widescreen, proporcionando at 30% mais de visibilidade.

1.3.1 HDTV

Segundo a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), o sinal de alta definio (HDTV) o principal benefcio da TV Digital. Com ele obtm-se um som mais limpo, puro e com menos rudos, pois o sinal de udio deixa de ser de dois canais (mono ou estreo), passando a ser de seis canais, graas ao sistema de som Surround 5.1, com realce dos graves, que proporciona ao telespectador uma experincia como se estivesse dentro do programa transmitido, permitindo a utilizao em diversos idiomas dentre outros servios; e a imagem ser apresentada com mais detalhes, pois o sinal de vdeo deixa de ser de 480 linhas e passa a ser de at 1080 linhas horizontais, que somente alcanado em televisores widescreen Full HD, cuja razo de aspecto 16:9, que indica a relao entre a largura e a altura da tela, sendo que o sinal analgico possua tela quadrada de 4:3. Ainda de acordo com a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), as diferenas mais visveis durante a transio do sinal analgico para o digital ser a diminuio dos rudos e as distores das imagens, denominadas fantasmas da TV analgica. O telespectador brasileiro que estiver equipado com o set-top box, ter no incio uma transmisso semelhantes qualidade encontrada em um DVD (Digital Vdeo Disc) de qualidade com som e imagem limpos. No Brasil, as emissoras de TV ainda no esto

21

transmitindo toda a sua programao em HDTV. Quando isso ocorre, um cone com a sigla HDTV ou HD (High Definition) aparece identificando que a transmisso digital. Aos poucos as mesmas incluiro gradativamente seus programas em HDTV. Segundo a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), existe tambm um formato de TV para HDTV que exibe qualidade superior ao modelo de tubo e inferior ao Full HD, chamado HDTV Ready que possui definio de 720 linhas horizontais.

A Figura 2 mostra uma comparao entre o sinal analgico e o sinal digital sendo exibidos em TVs de tubo e de LCD. possvel perceber que o sinal digital deixa a imagem mais visvel, podendo ser observada uma rea mais ampla da imagem.

Figura 2 - Comparao entre o sinal analgico e o digital Fonte: Site Veja isso.

Com o formato de tela widescreen (16:9), o telespectador consegue enxergar uma rea mais ampla da cena. Um exemplo deste grande benefcio ser a cobertura de eventos esportivos. O telespectador poder ter uma viso panormica como se estivesse assistindo a partida diretamente do local transmitido. Este detalhe dever ser observado pelos produtores de TV, tomando cuidado com as informaes exibidas em cena. Segundo o site da Associao Brasileira de Emissoras de Rdio e Televiso (2009), os padres HDTV atuais so definidos como 1080i (entrelaado), 1080p ou 720p (progressivo) usando uma proporo de tela 16:9. As resolues existentes para HDTV so de 1280 x 720 pixels, obtida no padro 720p, podendo chegar a at 1920 x 1080 pixels que obtida no padro 1080p,

22

enquanto que na resoluo do sinal analgico de 720 x 480 pixels. No modo entrelaado, as linhas que formam a imagem so lidas em dois tempos (primeiro as linhas mpares e depois as pares) e tambm em dois sentidos (da esquerda para a direita e de cima para baixo), este processo chamado de varredura ou scanning, porm este modo causa efeito de cintilamento na tela, pois no l todas as linhas de uma s vez, dando a impresso que a imagem est piscando. No modo progressivo, ou progressive scan, a leitura feita em uma combinao de linhas mpares e pares ao mesmo tempo em um nico sentido (de cima para baixo), gerando uma nica varredura proporcionando melhor nitidez da imagem, sem o efeito de cintilamento apresentado anteriormente. A figura abaixo mostra algumas resolues de tela existentes.

Figura 3 - Comparao entre as resolues de tela para televiso Fonte: Site Image Group.

Segundo a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), outro sinal digital existente o sistema digital padro, que identificado por SDTV (Standard Definition Television), cuja sua qualidade um pouco inferior ao HDTV. Este sinal transmitido pelas TVs por assinaturas e alguns decodificadores.

1.3.2 Multiprogramao

Atualmente, o telespectador est acostumado a assistir a transmisso a partir do ngulo que a emissora exibe, mas isso mudar, pois com a chegada da multiprogramao, as

23

emissoras transmitiro aos telespectadores mais de um programa ao mesmo tempo ou vrios ngulos diferentes de uma mesma atrao, sendo que o telespectador escolher qual o melhor ngulo que deseja assistir. De acordo com a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), inicialmente, a TV digital brasileira focar em transmisso em HDTV e no em multiprogramao, que ainda demorar mais tempo para entrar em vigor, pois ainda no atrativa para o sistema de negcios praticado pela TV aberta por medo de perda de audincia. Porm j existem testes para a implantao deste recurso no Brasil (Folha Online, 2009).

1.3.3 Mobilidade e Portabilidade

A diferena entre mobilidade e portabilidade que a primeira a possibilidade de assistir a um programa de TV em qualquer lugar, podendo estar no trnsito, na rua, no escritrio, no mar ou at mesmo no ar com qualidade do sinal excelente; e a segunda a transmisso digital para dispositivos portteis, como celulares, computadores ou notebooks. Acredita-se que a mobilidade e a portabilidade da TV Digital conquistar o telespectador, pois ser possvel assistir TV pelo seu prprio celular, em qualquer lugar onde ele estiver. As pessoas talvez comecem a usar mais o celular por causa da interatividade do que propriamente assistir programas. Na figura a seguir h um exemplo de como a TV ser exibida no celular.

Figura 4 - TV sendo exibida em um celular Fonte: Blog teiasilvio.

24

De acordo com o site Meio Bit (2009), existem diversos receptores de TV Digital onde possvel, atravs da entrada USB, assistir TV pelo prprio computador. Basta conectar o receptor entrada USB e atravs de um software assistir ao canal desejado.

1.3.4 Interatividade

A TV Digital muito mais que som e imagem. O sinal digital pode transmitir dados e informaes simultneos programao. De acordo com o site G1, o sinal digital estabelece comunicao entre o telespectador e a emissora atravs de um canal de retorno, permitindo que informaes sobre determinado programa fiquem disponveis ao usurio. Exemplos do que pode ser feito com a interatividade: votar em enquetes, conferir escalao de um time durante um jogo ou at ver a programao do canal. Com a interatividade da TV Digital tambm ser possvel acessar Internet, leitura de e-mails, conferir saldo de contas bancrias, jogos e at compra de produtos, um exemplo mostrado na Figura 5. De acordo com a Folha Online (2006), existem trs tipos de interatividade: a local, a intermitente e a permanente.

Interatividade Local: contedo adicional, em imagens de baixa definio, textos ou aplicativos disponveis na caixa receptora ou enviados pelas emissoras.

Interatividade Intermitente: h necessidade de canal de retorno, como linha telefnica, por exemplo, gerando gastos ao telespectador. intermitente, pois no funciona o tempo todo, apenas quando o usurio deseja se conectar operadora de telecomunicaes para enviar sua resposta. Alm do contedo fornecido pelas TVs, oferece votaes, e-mails e comrcio eletrnico.

Interatividade Permanente: h necessidade de canal de retorno conectado o tempo todo, como assinatura de servio de banda larga. Permite acesso Internet, mensagens instantneas, servios bancrios, servios de governo, comrcio eletrnico, jogos e transmisso de vdeos por streaming.

25

Figura 5 - Exemplo de Interatividade Fonte: Blog tagilramos.

Segundo o site CPqD (2009), o middleware Ginga, programa que permitir a interao do telespectador com o controle remoto composto de duas partes: a declarativa, que foi desenvolvida na Pontifcia Universidade Catlica do Rio de Janeiro (PUC-RJ) e usa NCL, como um HTML (Hypertext Markup Language), usando a linguagem de script brasileira chamada Lua; a outra parte a procedural, desenvolvida na Universidade Federal da Paraba (UFPB), feita em Java, baseada no padro europeu, porm ocorreram problemas e teve de ser refeita, aps isso foi concluda e batizada de Java DTV. Ginga uma tecnologia que leva ao cidado todos os meios para que ele obtenha acesso informao, educao distncia e servios sociais apenas usando sua TV, o meio de comunicao onipresente do pas. uma especificao aberta, de fcil aprendizagem e livre de royalties, permitindo que todos os brasileiros produzam contedo interativo, o que dar novo impulso s TVs comunitrias e produo de contedo pelas grandes emissoras (Ginga, 2009). Na realidade a interatividade da TV Digital ainda no muito difundida nos pases, o especialista em TV Digital Daniel Pataca em uma entrevista para o site Cosmo (2009) diz: A interatividade na TV Digital ainda um aprendizado, mesmo no exterior ela no tem um impacto grande, por enquanto. A TV Digital interativa vai ser uma coisa completamente diferente, afirma o pesquisador do CPqD.

26

1.4 COMPONENTES DA TV DIGITAL INTERATIVA

Segundo Brennand e Lemos (2007:111), um grupo de componentes foi criado para viabilizar a transmisso, recepo e apresentao dos contedos audiovisuais e a execuo de aplicaes que permitem interatividade com a televiso. Esses componentes podem ser classificados em: transmisso (ou modulao), codificao, transporte, middleware e aplicao.

De acordo com Eli Cndido Junior (2008), a transmisso de uma aplicao de TV Digital feita da seguinte maneira: o seu contedo, contendo udio, vdeo e a aplicao interativa, codificado gerando um fluxo elementar. No caso das aplicaes o mecanismo de transmisso conhecido como carrossel de dados. No carrossel de dados, o contedo das aplicaes dividido em mdulos que so enviados em ciclos, permitindo que mude para o canal de cada mdulo. Os fluxos elementares so agrupados formando programas de TV que tambm so agrupados em canais de TV lgicos. Quando o sinal chega ao receptor, acontece o processo inverso. O sinal demodulado e demultiplexado para separar todos os fluxos. Assim, o set-top box realiza a demodulao do sinal de TV. A figura a seguir mostra os componentes que definem um sistema de TV Digital.

Figura 6 - Componentes que definem um sistema de TV Digital Fonte: Eli Cndido Jnior, 2008.

27

Ainda segundo Eli Cndido Junior (2008), o set-top box um equipamento responsvel pela conexo entre um televisor e uma fonte externa de sinal, transformando este sinal em contedo que apresentado na tela da televiso. Ele adaptado para as necessidades do ambiente televisivo, possuindo processador, memria, sistema operacional, entre outros itens. Nele encontrado tambm o middleware, que de suma importncia para o desenvolvimento de aplicaes em TV Digital. A Figura 7 mostra um modelo de set-top box. Segundo Brennand e Lemos (2007:99), no contexto de TV Digital, o middleware vem a ser o software que controla suas principais facilidades (grade de programao, menus de opo), inclusive a possibilidade de execuo de aplicaes, dando suporte interatividade. O middleware estabelece comunicao entre o hardware e o sistema operacional do set-top box s aplicaes e tambm responsvel por fornecer as APIs (Application Programming Interface). Ainda no existe um padro universal de middleware. Os aparelhos convencionais de TV necessitam da instalao do set-top box, e os mais modernos tm o conversor embutido no prprio aparelho.

Figura 7 - Modelo de um set-top box Fonte: Eli Cndido Jnior, 2008.

Segundo Pozzo (2008), o sistema de televiso digital responsvel pelas definies que servem de referncia para criao de produtos compatveis entre geradores de contedo, programadores de aplicao, fbrica de equipamentos eletrnicos entre outros. Para obter todas as vantagens que a televiso digital capaz de proporcionar, preciso ter um padro definido pelos esquemas de compresso e codificao de vdeo, pela camada de abstrao de software do set-top box (o middleware) e o esquema de multiplexao e modulao de dados, como mostra a figura a seguir:

28

Figura 8 - Blocos na forma de caixa preta definindo um sistema de televiso digital Fonte: Aplicativos Para Televiso Digital Interativa (Pozzo).

1.5 PADRES PARA A TVDI

Os pioneiros em transmisso digital foram os Estados Unidos, mas a Europa e o Japo tambm desenvolveram seus prprios modelos para embarcarem nessa nova era digital. Atualmente existem trs padres de sistemas: o americano, chamado ATSC (Advanced Television System Comittee), com o seu middleware DASE (Digital Applications Software Environment); o europeu, chamado de DVB (Digital Video Broadcasting), com o middleware MHP (Multimedia Home Platform); e o japons, chamado ISDB (Integrated Services Digital Broadcasting), com o middleware ARIB (Association of Radio Industries and Businesses). O Brasil, baseado no sistema japons, criou o seu prprio padro, chamado ISDB-TB (Integrated Services Digital Broadcasting Terrestrial) com o middleware Ginga.

1.5.1 Padro Americano

Os Estados Unidos apresentaram o seu padro de transmisso digital no incio da dcada de 1980. focado na alta definio (HDTV). Segundo Brennand e Lemos (2007:115), seu formato compresso e transporte de vdeo o MPEG-2 (Moving Picture

29

Experts Group), e a compresso de adio o Dolby AC-3. A transmisso dos sinais digitais feita por modulao 8VSB (Vestigial Sideband Modulation). Porm, segundo o site CPqD (2009), este sistema no disponibiliza a interao com as novas tecnologias mveis, como os celulares e a tecnologia Wi-fi (aparelhos em fio) devido modulao terrestre usada 8VSB, que se mostra pouco compatvel com receptores em movimento. Este sistema tambm utilizado como padro de transmisso digital no Canad, Mxico e Coria do Sul (Revista Guia Como se Faz Especial TV Digital sem Segredos, 2008). De acordo com Brennand e Lemos (2007:116), este padro no muito difundido em outros pases devido ao alto custo de instalao que superior aos modelos europeu e japons, e ainda assim testes demonstram que o ATSC mais suscetvel a erros e rudos de transmisso que nos outros padres citados.

1.5.2 Padro Europeu

Segundo o site DVB (2009), o sistema europeu comeou a ser desenvolvido na dcada de 1990, o padro DVB est presente em mais de 35 pases da europa e tem servios usados em todos os continentes. Detm um mercado atual de 270 milhes de conversores. E, como j tinham o padro americano como modelo, os europeus avaliaram os prs e contras do modelo americano e desenvolveram um padro para atender as necessidades europias (Revista Guia Como se Faz Especial TV Digital sem Segredos, 2008). Este padro privilegia a multiprogramao e a interatividade. O middleware MHP baseado em tecnologias como JavaTV, DAVIC e HAVi, o qual foi completamente desenvolvido em Java, sendo este padro o escolhido para o desenvolvimento do projeto, pois o mesmo fornece ferramentas de fcil acesso, que so mais utilizadas e se tornou base para o desenvolvimento de outros padres como o japons e o brasileiro. Alm do suporte qualidade HDTV, ele est voltado para a interatividade, porm para permitir a transmisso para dispositivos mveis, necessrio uma banda extra, o DVB-H (Digital Vdeo Broadcasting Handheld). Segundo o Brennand e Lemos (2007:113), o formato de compresso de vdeo utilizado por DVB o MPEG-2 e para audio MPEG-2 ACC. A transmisso dos sinais digitais feita por modulao COFDM (Coded Orthogonal Frequency-Division Multiplexing).

30

Ainda de acordo com Brennand e Lemos (2007:112), considerado um sistema mais flexvel que o padro americano, pois permitem diversas configuraes para camadas de transmisso (transmisso terrestre por radiodifuso, via cabo, via satlite e via micro-ondas). Neste padro a interoperabilidade e a segurana das informaes so observadas atentamente.

1.5.3 Padro Japons

Segundo a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), o modelo japons comeou a ser desenvolvido no final da dcada de 1990, como j sabiam dos erros do sistema americano e ancorados na bem-sucedida experincia europia, os japoneses desenvolveram o sistema de transmisso digital mais completo e eficiente. Este padro rene a flexibilidade do DVB-T (Digital Vdeo Broadcasting Terrestrial), somados s necessidades de comunicao e entretenimento futuras. Apresentaram ao mundo a possibilidade de um canal de TV Digital ser segmentado em vrios subcanais, conhecido como multiprogramao, e tambm se preocuparam com a mobilidade e portabilidade do sistema, que o seu grande diferencial. Segundo o Brennand e Lemos (2007:116), esse padro considerado o mais verstil para transmisso do sinal digital para dispositivos mveis, porm menos eficaz que o DVB, que capaz de apresentar menor consumo de bateria desses dipositivos mveis. Seu formato compresso e transporte de vdeo o MPEG-2, e a compresso de adio o MPEG-2 AAC. A transmisso dos sinais digitais feita por modulao COFDM. Com todos esses benefcios, o padro japons serviu de inspirao para a implantao do padro brasileiro.

1.5.4 Padro Brasileiro

Dentre os principais padres de transmisso digital existentes e de acordo com as necessidades locais, o Brasil decidiu criar seu prprio sistema digital, o SBTVD, derivado do sistema japons ISDB-T (Integrated Services Digital Broadcasting- Terrestrial) que o sistema digital mais completo e eficiente at o momento.

31

Segundo a Revista Guia Como se Faz Especial TV Digital sem Segredos (2008), o Sistema brasileiro o primeiro a adotar o padro de codificao e compresso MPEG-4, tambm conhecido como H.264 para codificao de vdeo, e o HE-AAC v2 para udio. Estes padres tornam os sinais de udio e vdeo mais compactos, podendo ser enviados juntos em um nico feixe de dados, sendo que o padro japons utiliza o sistema MPEG-2, o mesmo que os DVDs, ou seja, inferior ao padro brasileiro. tambm devido compresso pelo padro MPEG-4 que possvel estabelecer o recurso de multiprogramao. Os engenheiros brasileiros tambm agregaram outras tecnologias ao sistema japons, tornando-o compatvel com as tecnologias mais recentes, como protocolo IP e tecnologia mvel como

GSM (Global System Mobile). O middleware utilizado no SBTVD o Ginga, responsvel pela interatividade, e oferece uma srie de facilidades para o desenvolvimento de contedos e aplicativos para TV Digital, pois possui um conjunto de APIs mais amplo. Ele subdivido em dois paradigmas de programao (Ginga-NCL e Ginga-J) diferentes que podero ser utilizados dependendo das funcionalidades requeridas no projeto. Ginga-NCL um ambiente de apresentao multmdia para aplicaes declarativas escritas em NCL e sua linguagem de script Lua. O Ginga-J prov uma infra-estrutura de execuo de aplicaes Java e extenses especificamente voltadas ao ambiente de TV (Ginga, 2009).

1.6 CONSIDERAES FINAIS

Os conceitos apresentados neste captulo relacionado TV Digital so essenciais para o entendimento das concluses que sero obtidas e apresentadas pelo desenvolvimento do aplicativo para TV Digital com interatividade permanente desenvolvido baseado no padro europeu, com seu middleware MHP. No captulo seguinte ser explicado as aplicaes em JavaTV e as demais APIs utilizadas para o desenvolvimento do projeto.

32

2 APLICAES EM JAVATV

2.1 CONSIDERAES INICIAIS

Neste captulo sero apresentadas as ferramentas e tecnologias usadas para o desenvolvimento de um aplicativo para TV Digital, chamado Arquivo TV. Sero abordados os conceitos sobre a API JavaTV e suas bibliotecas, Xlets, emuladores e as demais APIs HAVi e DAVIC.

2.2 JAVA TV

A linguagem Java muito ampla, de forma que se pode us-la para o desenvolvimento de tecnologias diferentes, pois, segundo o site TDVI (2009), a Sun desenvolve bibliotecas para permitir programar para os mais variados tipos de aplicaes, alm da programao para computadores domsticos, pode-se programar para outros fins muito interessantes, com a mais nova API (Application Programming Interface) criada, chamada de JavaTV, para atender a programao para TV Digital. De acordo com o site Aprenda na Web (2009), JavaTV uma API baseada na plataforma JAVA, que foi desenvolvida pela Sun Microsystems com o apoio de algumas grandes indstrias de televiso (LG Electronics, Motorola, Philips, Samsung, Sony, Toshiba, entre outras) foi lanada em Dezembro de 2000. Atualmente, a API se encontra na verso 1.1, disponibilizada em 24 de janeiro de 2006. Segundo o site Sun (2009), a interface de programao de aplicaes JavaTV oferece uma plataforma ideal para o desenvolvimento e implantao emergente classe de servios de televiso interativa. A linguagem de programao Java fornece contedo colaborador com um elevado grau de flexibilidade e controle sobre a aparncia de suas aplicaes, oferecendo a mais dinmica e atraente experincia de televiso interativa.

33

A API JavaTV tem como objetivo principal, o desenvolvimento de aplicaes interativas portteis, suportando um alto nvel de interatividade e grficos de qualidade, que podem ser executados em um set-top box, desde que o mesmo esteja equipado com a Mquina Virtual Java, que necessrio para interpretar os bytecodes gerados. Segundo o site JavaFree, essa API fornece fluxo de udio e vdeo, acesso condicional, acesso aos dados nos canais de transmisso e do Service Information, controle do sintonizador de canais, sincronizao da mdia e gerenciamento do ciclo de vida das aplicaes. possvel o desenvolvimento de aplicaes interativas com JavaTV independente da tecnologia utilizada nos protocolos de transmisso, pois essa API funciona independente do sistema de TV Digital adotado, desde que, este padro suporte JavaTV. Com o uso de JavaTV, os programas de televiso contero no somente udio e vdeo, ter tambm um servio interativo, com dados e aplicaes associados sua programao.

2.2.1 Bibliotecas JavaTV

Segundo Eli Cndido Jnior (2008:27), JavaTV necessita de um ambiente Personal Java e usa um subconjunto do AWT (Abstract Window Toolkit) para construir as interfaces do usurio e JMF (Java Media Framework) para o controle da mdia. Ainda de acordo com Eli Cndido Jnior (2008), a API JavaTV possui vrias bibliotecas que so responsveis por prover a estrutura bsica do sistema:

javax.tv.xlet modelo de ciclo de vida das aplicaes e classes de apoio; javax.tv.locator oferece mecanismos para referncias em formato de URL

(Uniform Resource Locator) para servios de broadcast e clipes de mdia broadcast;

javax.tv.net oferece mecanismo para acessar datagramas IP contidos em um fluxo de broadcast;

javax.tv.carousel acesso a arquivos de broadcast agregados em um sistema de aquivos no fluxo de vdeo;

34

javax.tv.graphics adiciona um suporte mnimo biblioteca grfica AWT, para soluo de questes especficas em TV (sobreposio de imagens em vdeo);

javax.tv.media extenses para suporte integrao JMF; javax.tv.media.protocol suporte JMF para protocolos de streaming

broadcast;

javax.tv.service descrio alto nvel de servios de TV Digital, incluindo tambm mecanismos bsicos para a coleta de informaes sobre servio do fluxo broadcast;

javax.tv.service.guide suporte para aplicaes do tipo EPG (Eletronic Program Guide, Guia Eletrnico de Programao) e seus conceitos associados (horrio, classificao etria, etc.);

javax.tv.service.navigation suporte navegao em servios de TV Digital. Isso inclui suporte lista de servios favoritos, componentes agregados a servios, etc.;

javax.tv.service.transport conceitos descrevendo os mecanismos de transporte para um servio de TV Digital;

javax.tv.service.selection conceitos descrevendo como os servios so apresentados ao usurio e como um novo servio pode ser selecionado. H tambm a possibilidade de apresentao de mltiplos servios de uma s vez (picture-in-picture);

javax.tv.util classes utilitrias para aplicaes JavaTV, incluindo gerncia de temporizadores e eventos temporizados.

2.3 XLET

Um Xlet uma aplicao Java desenvolvida para proporcionar interatividade para a TV Digital. Assim como um applet adicionado em pginas HTML e midlets so adicionados em aparelhos celulares, os xlets so adicionados em um servio de TV Digital, os chamados set-top boxes (The MHP Guide, 2006). A maior diferena entre um applet e um xlet, que o primeiro no pode ser paralisado, e o segundo pode ser paralisado depois de ter

35

sua execuo continuada, pois em um ambiente de televiso interativa, vrios xlets podem estar sendo executados simultaneamente, e provavelmente apenas um xlet estar sendo exibido, sendo assim, paralisado um xlet, ele se torna invisvel e poupa recursos de hardware, possibilitando a execuo e exibio de outras aplicaes. Cada Xlet tem seus prprios recursos que no interferem no funcionamento de outros Xlets. A aplicao Xlet possui uma interface que permite a uma fonte externa control-

la de diversas formas. A Figura 9 mostra os estados que um Xlet pode possuir em seu ciclo de vida: carregado, paralisado, iniciado e destrudo.

Figura 9 - Ciclo de vida de um Xlet Fonte: Carvalho e Arajo, 2007.

No estado de Carregado ou Loaded, a aplicao j foi carregada, porm ainda no foi inicializada; no estado de Paralisado ou Paused, a aplicao minimiza sua utilizao de recursos; no estado de Iniciado ou Active, a aplicao est em uso com seus recursos ativos; e no estado de Destrudo ou Destroyed, a aplicao libera todos os seus recursos da memria. A interface responsvel pela implementao de todos os mtodos de um xlet mostrado na Figura 9 a javax.tv.Xlet. Quando uma aplicao chamada, ele primeiro dispara o mtodo initXlet(XletContext ctx) e, em seguida startXlet( ). O mtodo pauseXlet( ) deixar o xlet pausado e invisvel, e s retornar visvel quando o mtodo startXlet( ) for chamado. Para encerrar definitivamente o xlet, a aplicao chama o mtodo destroyXlet(boolean inconditional), assim o xlet volta ao estado de no carregado, e o parmetro boolean inconditional usado para indicar a obrigao de encerrar ou se tem a possibilidade de negar o encerramento do xlet (The MHP Guide, 2006).

IniciadoIniciadoIniciadoIniciado

CarregadoCarregadoCarregadoCarregado ParalisadoParalisadoParalisadoParalisado

DestrudoDestrudoDestrudoDestrudo

36

De acordo com The MHP Guide (2006), quando um xlet pretende alterar seu estado atual, o gerenciador dele avisado atravs dos mtodos invocados pelo objeto XletContext que passado como parmetro na inicializao do xlet. Existem trs mtodos que informam o gerenciador do xlet sobre suas mudanas:

void resumeRequest( ): Se o xlet pretende alterar seu estado de paralisado para iniciado, esse mtodo invocado.

void notifyPaused( ): Quando o xlet entra no estado de pausado, o gerenciador do xlet avisado por esse mtodo.

void notifyDestroy( ): Quando o xlet entra no estado de destrudo, o gerenciador do mesmo avisado sobre sua destruio atravs desse mtodo, e no pode mais retomar o estado de iniciado.

2.4 EMULADORES

Como a TVDI ainda no est funcionando totalmente, o ambiente de TV simulado com a utilizao de estaes testes ou em softwares de emulao. O emulador faz o papel do middleware nas aplicaes, que muito importante para testes preliminares em aplicaes de TV Digital. Para a execuo das aplicaes para TVDI existem diversos emuladores (XleTView, OpenMHP e Mhp4Free). O escolhido para a realizao deste projeto o XleTView, por ser mais simples, de cdigo aberto e compatvel com diversos padres de TV Digital.

Segundo Eli Cndido Jnior (2008), um ambiente de TVDI possui recursos de memria e processamento mais escassos que um computador convencional, um set-top box recebe o contedo atravs de difuso de um sinal que contm uma sequncia de transporte MPEG, enquanto um computador pode utilizar as mais diversas fontes de mdias (locais ou remotas). Porm o set-top box possui vrios dispositivos de hardware especficos que no so encontrados normalmente em um computador, como decodificadores MPEG e demoduladores dentre outras particularidades.

37

2.4.1 XleTView

De acordo com Eli Cndido Jnior (2008), o XleTView um emulador de cdigo aberto sob a licena GPL (General Public License) e alm de uma implementao de referncia da API JavaTV, traz consigo especificaes de outras APIs do MHP como HAVi, DAVIC e implementaes da prpria DVB, alm das bibliotecas PersonalJava. Como a verso para desenvolvimento em Java do middleware brasileiro ainda no tinha sido liberada no incio do projeto, todos os testes de aplicaes para TVDI foram feitos no XleTView, pois segundo Eli Cndido Jnior (2008), todos os padres da tecnologia Java seguem os mesmos princpios, garantindo uma portabilidade entre os padres de TV Digital Interativa. A figura a seguir mostra a interface do XleTView.

Figura 10 Interface do XleTView

O emulador desenvolvido totalmente na linguagem Java e executado tanto em plataforma Linux como em Windows, porm necessrio a utilizao do Java 2 Standard Development Kit para compilar xlets e executar o XleTView. Utiliza o JMF, porm com vrias deficincias, entre elas a incapacidade de exibir vdeos MPEG relacionados ou controlados por um xlet (Eli Cndido Jnior, 2008). Baseado nos padres MHP, existe um simulador de controle remoto no XleTView, onde os eventos so capturados utilizando a classe AWT ou HAVi.

38

2.4.2 OpenMHP

Alm do emulador XleTView, h tambm o OpenMHP, porm ele mais complexo. um projeto de software de cdigo aberto sob a licena LGPL (Lesser General Public License) e baseado na especificao DVB-MHP. Assim como o XleTView, este emulador tambm necessita da utilizao do Java 2 Standard Development Kit para simular as xlets e do JMF para permitir adicionar udio e vdeo. Para Carvalho e Arajo (2007), o emulador OpenMHP fornece toda uma aplicao de teste das aplicaes, explorando muitos conceitos da especificao JavaTV e permitindo a implementao de funcionalidades na sua interface.

2.5 API HAVI

HAVi uma organizao criada em 1998 por um grupo de fabricantes que inclui Grudig AG, Hitachi, Philips, Thomson, Panasonic, Sharp, Sony e Toshiba, com o intuito de oferecer uma arquitetura de rede de modo que todos os dispositivos de udio e vdeo que compe a rede possam interagir entre si (HAVi, 2009). A especificao HAVi define um conjunto de APIs e middleware capaz de automaticamente detectar dispositivos na rede, coordenando as funes de vrios dispositivos, a instalao de aplicaes e de interface do usurio do software em cada aparelho, e garantindo a interoperabilidade entre mltiplas marcas de dispositivos (HAVi, 2009). A API HAVi oferece uma boa base para a construo de aplicaes grficas avanadas utilizando funes de controle remoto, displays e grficos de TV. Parte desta API herda do pacote Java AWT (Abstract Window Toolkit). A AWT vem com interfaces voltadas mais para computadores com uso de programao para mouse e texto. Por outro lado, a API HAVi prov UI (User Interface) baseado em imagens, reusa os aspectos de AWT que no so orientadas a computadores e tambm tm acesso ao sistema grfico e resoluo do vdeo (Cunha; Karlsson; Hemmlepp, 2009). Alguns objetos de UI que a API HAVi inclui so botes, text fields, texto esttico, cones entre outros. Tambm possui objetos de alto nvel como containers e componentes para ajudar no gerenciamento e distribuio dos objetos de UI.

39

Uma tela de TVDI geralmente dividida em trs camadas: Background layer, Video layer, Graphics layer. A camada de Background mostra o fundo com uma imagem ou cor fixa; a camada de Video a rea em que o vdeo est sendo executado; a camada de Graphics mostra a interface da aplicao onde so adicionados todos os recursos de UI. O usurio v as camadas na sequncia Graphics, Video e Background, como mostra a figura abaixo:

Figura 11 Camadas do dispositivo do modelo grfico do MHP Fonte: Aplicativos Para Televiso Digital Interativa (Pozzo).

Segundo o site InteractiveWeb (2009), a API HAVi possui uma classe chamada HScreen que responsvel pela configurao de tela. Esta classe possui trs subclasses (HVideoDevice, HGraphicsDevice e HBackgroundDevice) que so capazes de configurar cada camada da TVDI separadamente. As aplicaes xlets compartilham a tela de uma TVDI pela classe HScene, cada xlet pode possuir apenas um HScene, que substitui a classe Frame de AWT. HScene responsvel pelo controle de foco para o controle remoto, sendo que no objeto do tipo HScene que so adicionados os objetos e containers responsveis pela UI, e tambm controla quando a aplicao fica visvel.

40

2.6 API DAVIC

DAVIC era uma associao sem fins lucrativos, com uma adeso que culminaram 222 empresas de mais de 25 pases, e hoje atua somente atravs do site www.davic.org. Estabelecida em 1994, DAVIC possui um conjunto de especificaes e padres que tem como objetivo de fornecer interoperabilidade e difundir plataformas que executam udio e vdeo, promovendo o sucesso da interatividade digital (DAVIC, 2009). A API DAVIC proporciona aos produtores de contedos multimdias maior audincia, onde os usurios so protegidos contra a obsolescncia e tm acesso a uma maior quantidade de informao e comunicao com a entrega do contedo de udio e vdeo junto com a interatividade. (DAVIC, 2009). Atualmente a API DAVIC aparece como uma soluo que complementa sistemas de TV a cabo por todo o mundo. Suas implementaes aparecem mais fortes na Europa, onde trabalha junto com o DVB. Normalmente necessrio a integrao com outras APIs, por exemplo, a HAVi.

De acordo com Cunha, Karlsson e Hemmlepp (2009), algumas funcionalidades desta API so:

Define que funcionalidade um sistema digital de udio e vdeo devem fornecer;

Arquiteturas de referncia do provedor, da rede de distribuio e tambm do sistema presente na casa do usurio;

Arquitetura de gerenciamento;

Protocolos de camadas baixas e definio de interfaces fsicas;

Representao de informao;

Ferramentas bsicas de segurana;

Ferramentas para verificao de conformidade e interoperabilidade;

Arquitetura para armazenamento de contedo;

Arquitetura que disponibilize interatividade ao usurio final.

41

2.7 METODOLOGIA

A metodologia para o desenvolvimento do aplicativo Arquivo TV utiliza a IDE (Integrated Development Environment) NetBeans 6.5 na plataforma Windows, simulando no emulador XleTView por se tratar de um emulador mais simples de ser usado e por haver maior informao sobre o mesmo, tambm utiliza a ferramenta JUDE Professional verso 5.5 para o desenvolvimento da modelagem. Para o estudo, foram feitas pesquisas em artigos e monografias sobre o assunto, em sites oficiais, revistas e livros sobre TV Digital Interativa, mas como uma tecnologia recente, h muitas dificuldades em se encontrar material sobre a tecnologia.

O modelo de processo utilizado para o desenvolvimento do aplicativo o Iterativo Incremental, onde cada incremento desenvolvido, validado e integrado ao sistema. Neste processo, o primeiro incremento satisfaz os requisitos mais crticos, assim, com os

incrementos iniciais obtm-se informaes sobre os requisitos posteriores do sistema, diminuindo o risco de falha geral do projeto. Para a execuo dos vdeos preciso converter os mesmos para um formato suportado pelo emulador XleTView. Utiliza-se o software Super para a converso dos vdeos na extenso .mov com codificao de vdeo H.263 e de udio A-law. Para fazer a instalao do aplicativo Arquivo TV e o Sistema Administrativo utiliza-se o software Inno Setup. No desenvolvimento da aplicao utiliza-se as APIs JavaTV, HAVi e DAVIC, onde os conhecimentos foram obtidos atravs de alguns exemplos de cdigos-fonte de aplicativos para TV Digital disponveis em sites, e atravs destes exemplos foram desenvolvidos aplicaes testes para um melhor conhecimento da tecnologia. Tambm foram adquiridos conhecimentos em programao para a linguagem Java, utilizando como principal referncia o livro Java Como Programar Edio 6 de Deitel e Deitel (2005). Na classe principal h uma cena onde os vdeos so exibidos e a aplicao exibida na camada superior dos vdeos. Usa-se a extenso JMF da API JavaTV para o controle dos vdeos. Utiliza-se tambm a linguagem XML para o agendamento dos vdeos e contedo das informaes e o framework JUnit para os testes de alguns componentes do aplicativo.

42

2.8 CONSIDERAES FINAIS

Neste captulo foi apresentado os conceitos das APIs JavaTV, HAVi e DAVIC, alm das bibliotecas comuns da linguagem Java e a metodologia de pesquisa do desenvolvimento do aplicativo Arquivo TV. No prximo captulo ser apresentado como o aplicativo ir funcionar e tambm a modelagem do mesmo.

43

3 APLICAO PARA TV DIGITAL

3.1 CONSIDERAES INICIAIS

Neste captulo apresentada a modelagem do aplicativo desenvolvido utilizando o modelo de desenvolvimento Iterativo Incremental, exibindo seus requisitos funcionais e no-funcionais, diagrama de casos de uso, diagramas de classes e diagramas de seqncia, com toda a especificao do aplicativo.

3.2 O APLICATIVO: ARQUIVO TV

O desenvolvimento de aplicativos para TV Digital diferente de uma aplicao para o computador. As aplicaes de TV geralmente so pequenas, devido s limitaes de memria e de processamento (Eli Cndido Jnior, 2008). Neste projeto, desenvolveu-se uma aplicao que executa no middleware MHP, utilizando a linguagem Java (JDK verso 6.0 update 13) e as APIs JavaTV, HAVi e DAVIC. Utilizou-se o IDE Net Beans 6.5 para a codificao e o emulador XleTView (verso 0.3.6) para a execuo. A aplicao desenvolvida, Arquivo TV, permite ao telespectador assistir vdeos disponibilizados pela emissora, onde o mesmo pode interagir com diversas funcionalidades. A principal funcionalidade disponvel o agendamento em uma determinada data e horrio. Ao iniciar-se, o aplicativo verifica se existe algum agendamento j efetuado, atravs da consulta de um arquivo de configurao em XML, tambm verifica se o telespectador optou por terminar de assistir a um vdeo j iniciado anteriormente. Caso algum dos vdeos agendados for excludo do servidor ou a data do agendamento for expirada, o telespectador informado e o agendamento excludo. O telespectador poder navegar pela aplicao atravs de um menu principal, podendo requisitar ajuda para navegao, pausar, consultar informaes, controlar o udio, alternar e adiantar ou retroceder o vdeo que est

44

sendo exibido. Os vdeos so armazenados de acordo com sua classificao em pacotes em um diretrio do servidor da emissora, onde os telespectadores podem acess-los atravs de um sub-menu para assistirem de imediato ou efetuar um agendamento. No agendamento, o telespectador escolhe o pacote e posteriormente o vdeo pertencente ao mesmo, aps isso, o telespectador define o horrio que deseja agendar, sendo que esta informao do horrio fica gravada em um arquivo XML. Quando o vdeo agendado estiver para comear o telespectador ser avisado por meio de mensagem na tela, perguntando se o mesmo deseja assisti-lo ou continuar vendo a programao corrente. Em caso de resposta negativa, o agendamento cancelado; em caso de resposta positiva, o vdeo agendado ser iniciado, interrompendo a programao atual. O Telespectador poder agendar no mximo dez vdeos e tambm poder excluir qualquer agendamento efetuado. O administrador do servidor da emissora poder adicionar ou remover pacotes e vdeos sem que o cdigo fonte do aplicativo sofra alterao. Para adicion-los ou remov-los, basta o administrador acessar o sistema administrativo do aplicativo ArquivoTV e fazer as devidas alteraes, o administrador tambm poder incluir e remover as informaes sobre os vdeos adicionados. Todas as informaes existentes sero armazenadas em arquivos configurados em XML.

3.3 REQUISITOS DO SISTEMA

Neste tpico ser apresentada a lista de requisitos do sistema que so classificados em requisitos funcionais e requisitos no funcionais, onde os funcionais descrevem o que o aplicativo Arquivo TV e o Sistema Administrativo deve fazer e os no funcionais fixam restries sobre como os requisitos funcionais sero implementados.

45

3.3.1 Declarao dos Requisitos Funcionais e No-Funcionais

Requisitos No Funcionais

Nome Restrio Categoria Desejvel Permanente NF1: Definir

cores usadas no aplicativo

Somente sero

utilizadas as cores vermelha, branca, preta, amarela e azul.

Interface (X) ( )

NF2: Definir

nome e

logotipo da aplicao

O aplicativo chamar

Arquivo TV com o

logotipo baseado nas cores da aplicao.

Interface ( ) (X)

NF3: Utilizar

Middleware MHP

O middleware instalado no set-top box dever ser o MHP.

Software ( ) (X)

Requisitos Funcionais

F1: Exibir Vdeos Sequencialmente Oculto (X) Descrio: Os vdeos sero exibidos em sequncia caso o telespectador no interrompa a programao corrente. Havendo interrupo, a sequncia continuar a partir do vdeo escolhido pelo telespectador.

F2: Mostrar / Ocultar Menu Principal Evidente (X) Descrio: O Menu Principal aparecer na tela da aplicao toda vez que for chamado, onde o telespectador pode navegar pelos seus sub-menus. O telespectador tambm poder ocult-lo quando ele no estiver sendo usado.

F3: Mostrar / Ocultar Menu de Ajuda Evidente (X) Descrio: O Menu de Ajuda aparecer na tela toda que o telespectador cham-lo. O telespectador tambm poder ocult-lo.

F4: Pausar Vdeo Evidente (X) Descrio: O telespectador poder pausar a execuo do vdeo corrente e continuar a execuo do vdeo.

46

F5: Mostrar Informaes dos Vdeos Evidente (X) Descrio: O telespectador poder requisitar as informaes do vdeo corrente.

F6: Mostrar Listagem de Pacotes Evidente (X) Descrio: O telespectador poder listar os pacotes de vdeos existentes no servidor atravs do sub-menu Pacotes.

F7: Mostrar Listagem de Vdeos Evidente (X) Descrio: O telespectador poder listar os vdeos existentes no servidor atravs do sub-menu Vdeos, onde mostrado os vdeos do pacote corrente.

F8: Alternar entre os vdeos e pacotes Evidente (X) Descrio: O telespectador poder alternar entre os pacotes e vdeos atravs de seus sub-menus Pacotes e Vdeos respectivamente.

F9: Agendar Vdeos Evidente (X) Descrio: O telespectador poder agendar um vdeo atravs do sub-menu Agendar Vdeos, informando o pacote, vdeo e o horrio que deseja assistir, limitado a 10 agendamentos.

F10: Encerrar Aplicativo Evidente (X) Descrio: O telespectador poder encerrar o aplicativo atravs do sub-menu Sair.

F11: Adicionar Vdeos e ou Pacotes Evidente (X) Descrio: O Administrador do servidor poder adicionar pacotes e ou vdeos atravs do sistema administrativo do aplicativo ArquivoTV.

F12: Remover Vdeos e ou Pacotes Evidente (X) Descrio: O Administrador do servidor poder remover pacotes e ou vdeos atravs do sistema administrativo do aplicativo ArquivoTV, onde as suas respectivas informaes tambm sero removidas.

F13: Adicionar Informaes Evidente (X) Descrio: O Administrador do servidor poder adicionar informaes sobre os vdeos atravs do sistema administrativo do aplicativo ArquivoTV quando os criar.

F14: Alterar udio Evidente (X) Descrio: O telespectador poder aumentar ou diminuir o udio atravs das teclas + e - do controle remoto do set top-box.

F15: Gravar Agendamento Oculto (X) Descrio: O sistema ir gravar em um arquivo XML as informaes sobre o

47

agendamento efetuado pelo telespectador.

F16: Ler Agendamento Oculto (X) Descrio: O sistema ir ler o arquivo XML que contm as informaes sobre os agendamentos toda vez que for iniciado.

F17: Cancelar Agendamento Evidente (X) Oculto (X) Descrio: O sistema ir cancelar o agendamento do aplicativo se o telespectador negar a execuo do vdeo na data e horrio agendado. O agendamento tambm cancelado caso a data marcada para o agendamento do vdeo estiver expirada, ou se o usurio exclu-lo atravs do aplicativo.

F18: Exibir Vdeo Interrompido Evidente (X) Descrio: O telespectador poder interromper a execuo do vdeo ao encerrar o aplicativo e desejar continuar assistindo o vdeo no momento em que foi interrompido quando iniciar o aplicativo novamente.

F19: Pular ou Retroceder Vdeo Evidente (X) Descrio: O telespectador poder passar uma parte do vdeo para frente pressionando a tecla cerquilha, ou retroceder uma parte do vdeo pressionando a tecla asterisco.

48

3.4 CASOS DE USO

Neste tpico ser apresentada a lista de casos de uso, o diagrama de casos de uso e os trs principais casos de uso do aplicativo no modo expandido. Um caso de uso representa uma unidade de interao entre o usurio e o sistema.

3.4.1 Lista de Casos de Uso

C1: Iniciar Aplicao;

C2: Navegar Pelo Aplicativo;

C3: Mostrar Informao;

C:4 Mostrar Menu Principal;

C:5 Listar Pacote;

C:6 Listar Vdeo;

C:7 Agendar Vdeo;

C:8 Cancelar Agendamento;

C:9 Encerrar Aplicao;

C:10 Gerenciar Pacotes;

C:11 Gerenciar Vdeos.

49

3.4.2 Casos de Uso no Modo Expandido

Caso de Uso: Iniciar Aplicao. Ator: Telespectador. Finalidade: Inicia a Aplicao Arquivo TV. Tipo: primrio, essencial. Viso Geral: Telespectador inicia aplicao e os vdeos comeam a serem exibidos automaticamente.

Sequncia Tpica de Eventos

Ao do Ator Resposta do Sistema

1 Telespectador executa a aplicao. 2 Aplicativo prepara execuo.

5 Telespectador l informao. 3 Aplicativo l informaes sobre vdeos agendados.

4 Retorna informao de aplicao sendo carregada.

6 Inicia a aplicao.

7 Encerra a operao.

Sequncias Alternativas 4a Retorna informao sobre agendamento(s) expirado(s). Executar caso de uso Cancelar Agendamento. 4b Retorna informao sobre vdeo excludo do servidor. Executar caso de uso Cancelar Agendamento.

50

Caso de Uso: Listar Vdeo. Ator: Telespectador. Finalidade: Lista os Vdeos de um Determinado Pacote. Tipo: primrio, essencial.

Viso Geral: Telespectador pressiona o boto para Listar os vdeos, os vdeos so listados de acordo com o pacote atual, o telespectador escolhe o vdeo para assistir.

Sequncia Tpica de Eventos

Ao do Ator Resposta do Sistema

1 Telespectador pressiona boto para listar os vdeos.

2 verifica qual o pacote atual.

4 Telespectador escolhe o vdeo que deseja assistir.

3 Retorna os vdeos.

5 Retorna o vdeo que o telespectador escolheu.

6 Exibe o vdeo no aplicativo.

7 Encerra operao.

51

Caso de Uso: Agendar Vdeo Ator: Telespectador. Finalidade: Agenda um Vdeo Especfico. Tipo: primrio, essencial.

Viso Geral: Telespectador pressiona o boto para Agendar Vdeo, escolhe o pacote desejado e escolhe o vdeo passando data e horrio para agendamento.

Sequncia Tpica de Eventos

Ao do Ator Resposta do Sistema

1 Telespectador pressiona boto para agendar os vdeos.

2 Exibe lista de pacotes existentes.

3 Telespectador escolhe o pacote do qual deseja agendar o vdeo.

4 Exibe lista de vdeos do pacote escolhido.

5 Telespectador escolhe o vdeo para agend-lo.

6 Confirma o vdeo.

7 Telespectador informa data e horrio. 8 Confirma data e horrio do agendamento.

10 Telespectador Confirma informaes. 9 Mostra informaes sobre o agendamento.

11 Encerra operao.

Sequncias Alternativas 6a Vdeo j agendado. Repetir operao. 8a Data e ou horrio incorreto. Repetir operao. 8b Horrio j possui vdeo agendado. Repetir operao. 10a Telespectador no confirma informaes. Executar caso de uso Cancelar Agendamento.

52

Caso de Uso: Navegar Pelo Aplicativo Ator: Telespectador. Finalidade: Navegar Pela Cena Onde o Vdeo Executado. Tipo: primrio, essencial.

Viso Geral: Telespectador pressiona a tecla do controle remoto virtual correspondente ao que ele deseja fazer dentre as opes disponveis e o aplicativo responde de acordo com a tecla pressionada.

Sequncia Tpica de Eventos

Ao do Ator Resposta do Sistema

1 Telespectador pressiona a tecla do controle remoto virtual desejada.

2 Verifica tecla pressionada.

3 Responde ao telespectador.

4 Encerra operao.

Sequncias Alternativas

2a Tecla sem funo. Repetir Operao. 2b Tecla vermelha pressionada. Executar caso de uso Mostrar Menu Principal. 2c - Tecla verde pressionada. Pausar / Despausar Vdeo. 2d - Tecla amarela pressionada. Mostrar / Ocultar Ajuda. 2e Tecla azul pressionada. Executar caso de uso Mostrar Informao. 2f Seta para a direita pressionada. Passar para o prximo vdeo. 2g Seta para a esquerda pressionada. Voltar para o vdeo anterior. 2h Seta para cima pressionada. Passar para o prximo pacote. 2i Seta para baixo pressionada. Passar para o pacote anterior. 2j Tecla asterisco pressionada. Pula a execuo para a prxima parte do vdeo. 2l Tecla cerquilha pessionada. Volta a execuo para a parte anterior do vdeo. 2m Tecla mais pressionada. Aumenta o udio. 2n Tecla menos pressionada. Diminui o udio.

53

3.4.3 Diagrama de Casos de Uso

Um diagrama de casos de uso descreve um cenrio que mostra as funcionalidades do sistema do ponto de vista do usurio. O extend em um caso de uso uma indicao de que outros casos de uso podero ser adicionados a ele. A figura abaixo ilustra o Diagrama de Casos de Uso do projeto:

Figura 12 Diagrama de Casos de Uso

54

A matriz abaixo mostra a qual caso de uso (seo 3.4.1 deste captulo) cada requisito funcional (seo 3.3.1 deste captulo) pertence.

Casos de Uso

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 F1 X F2 X X R F3 X e F4 X q F5 X . F6 X F7 X F F8 X u F9 X n F10 X c F11 X X i F12 X X o F13 X n F14 X a F15 X i F16 X s F17 X F18 X F19 X

Os requisitos funcionais esto presentes nos casos de uso no local indicado com um X. Alguns requisitos esto presentes em mais de um caso por se tratar de funes similares, porm a execuo feita de maneira diferente para cada caso de uso.

55

3.5 DIAGRAMAS DE CLASSES

A figura a seguir representa o Diagrama de Classes do aplicativo Arquivo TV.

56

Figura 13 Diagrama de Classes: Aplicativo Arquivo TV

57

A figura a seguir representa o Diagrama de Classes do Sistema Administrativo.

Figura 14 Diagrama de Classes: Sistema Administrativo

58

3.6 DIAGRAMA DE SEQUNCIA

Quando o telespectador pressiona o boto Agendar Vdeo, disparado o mtodo controlaMenuPacote(), onde exibido o menu para a escolha de pacotes. Escolhido o pacote, chamado o mtodo mudaPacote() que pega a informao do pacote e cria um menu para a escolha dos vdeos. Assim que o telespectador escolher o vdeo o mtodo mudaVideo(int index) disparado, e a tela muda para o menu de agendamento pedindo data e hora para o agendamento. Aps adicionar a data e a hora o agendamento salvo pelo mtodo salvaAgendamento() e uma verificao constante sobre a hora do sistema realizada. A figura abaixo mostra o Diagrama de Sequncia do caso de uso Agendar Vdeo.

Figura 15 Diagrama de Sequncia: Agendar Vdeo

59

Quando o telespectador pressiona o boto Sair, chamado o mtodo setVisible(true) exibindo um menu para encerrar a aplicao. Neste menu pode-se escolher por encerrar a aplicao normalmente ou optar por terminar de assistir o vdeo corrente mais tarde quando reeiniciar a aplicao. Optando por assistir o vdeo mais tarde, o mtodo criaXmlStop() chamado criando um arquivo com as informaes do vdeo e a posio de parada do vdeo, logo aps a aplicao encerrada pelo mtodo destroyXlet(true). A figura abaixo mostra o Diagrama de Sequncia do caso de uso Encerrar Aplicao.

Figura 16 Diagrama de Sequncia: Encerrar Aplicao

3.7 CONSIDERAES FINAIS

Neste captulo foi apresentado o aplicativo Arquivo TV com suas especificaes, seus requisitos, alm do diagrama de casos de uso, os diagramas de classes, e os diagramas de sequncia. No prximo captulo ser abordado os testes do sistema e seus resultados.

60

4 TESTES E RESULTADOS

4.1 CONSIDERAES INICIAIS

Neste captulo apresentada a simulao da transmisso do aplicativo Arquivo TV em um ambiente real, testes, resultados, dificuldades encontradas e propostas para projetos futuros.

4.2 FUNCIONAMENTO EM AMBIENTE REAL

Com a ausncia do sinal digital de TV no ambiente local de desenvolvimento, o aplicativo foi desenvolvido para rodar em um middleware, usando um emulador que simula o ambiente de TV Digital. Em um ambiente real, seriam necessrias adaptaes para que o aplicativo funcionasse corretamente, como a implementao de um canal de retorno (conexo Internet) e mudana no armazenamento de arquivos. Segundo Cndido Jnior (2008), uma estao de TV (Servidor de Gerao de Contedo) transmitir (via satlite, terrestre ou cabo) o sinal de vdeo para os set-top boxes. O telespectador pode executar a aplicao, e atravs do canal de retorno solicita os vdeos escolhidos nos Servidores de Aplicaes Interativas, conforme mostra a Figura 17.

61

Figura 17 Funcionamento em um ambiente real Fonte: Eli Cndido Jnior, 2008.

O aplicativo inicialmente encontra-se no servidor da emissora e enviado juntamente com o sinal digital ao set-top box do telespectador. Quando selecionado um vdeo para assistir em tempo real, a solicitao enviada emissora atravs de seu canal de retorno e a mesma processa e o envia ao telespectador com suas respectivas informaes. Ao efetuar um agendamento, as informaes como a data e a hora so salvas no set-top box, o qual verifica constantemente a hora agendada. No horrio marcado, solicitado o vdeo agendado emissora pelo canal de retorno, e as informaes sobre o agendamento so atualizadas no set-top box.

4.3 TESTES DO SISTEMA E RESULTADOS OBTIDOS

Segundo Sommerville (2007), as duas principais atividades para os testes so: Testes de Componentes e Teste de Sistema, que foram utilizados no aplicativo Arquivo TV. Nos Testes de Componentes foi utilizado o framework de testes JUnit onde algumas classes foram testadas separadamente afim de encontrar erros nas chamadas de mtodos e declarao dos objetos, verificando se os valores dos atributos so os esperados.

62

Em outras classes no foi possvel utilizar o JUnit, pois a execuo das mesmas s possvel no emulador XleTView, onde os testes foram feitos com inseres de sadas indicando se houve erro atravs do prompt do sistema em tempo de execuo. A Figura 18 mostra o resultado de um teste realizado pelo JUnit na classe Aplicativo, onde ocorreram alguns tratamentos de excees que foram feitos para garantir que objetos no pudessem ser instanciados se no estivessem em execuo com algum middleware.

Figura 18 Resultado do Teste da Classe Aplicativo com JUnit

Executando o aplicativo Arquivo TV pelo emulador XleTView, todos os objetos so intanciados e nenhuma exceo gerada. A figura a seguir mostra o resultado no prompt do sistema.

63

Figura 19 Resultado da iniciao do aplicativo pelo XleTView

A Figura 20 mostra o teste realizado pelo JUnit na classe responsvel pela criao do objeto, que constantemente verifica a data e hora agendada. Se estiver no horrio agendado, o teste exibe uma exceo com a mensagem Aplicativo no iniciado, pois somente ser iniciado se for executado no emulador XleTView.

64

Figura 20 Resultado do Teste da verificao do agendamento com JUnit

Alm dos testes realizados no JUnit, foram feitas as seguintes verificaes:

Se a cena em que o aplicativo exibido foi criada corretamente - caso o middleware no suporte os objetos da API HAVi, que so necessrios para criar a cena, a aplicao no iniciada;

A integridade do vdeo e suas informaes - o administrador s conseguir excluir o vdeo, se o mesmo no estiver em uso pelo telespectador. O

65

administrador dever retirar o aplicativo Arquivo TV da transmisso para que no haja perda de dados para os telespectadores;

A criao do objeto responsvel pela execuo do vdeo - caso o middleware no suporte a API JMF o aplicativo encerrado;

A ausncia de vdeos e de pacotes - o aplicativo Arquivo TV continuar sendo executado mesmo com a ausncia de vdeos e pacotes.

J no Sistema Administrativo os principais testes realizados foram:

Verificar a integridade dos diretrios principais caso o diretrio de Vdeos e o de Informaes no for localizado, o Sistema Administrativo no iniciado.

Verificar a existncia de pacotes ao adicionar um vdeo - caso no existir pacotes, o administrador informado e o menu de insero aberto em seguida.

No Teste de Sistema foram realizados testes funcionais onde a cada incremento, os requisitos funcionais j implementados eram testados. Ao final da implementao, foram realizados testes para verificar se o aplicativo Arquivo TV e o Sistema Administrativo atendem aos requisitos. O desempenho do aplicativo Arquivo TV no emulador XletView foi satisfatrio, atendendo a requisio de vdeos em um tempo moderado. Apenas em alguns momentos houve um tempo de espera maior devido ao processamento de onde o aplicativo est sendo emulado. Os resultados obtidos foram satisfatrios, de modo que foi possvel disponibilizar vdeos para serem assistidos em tempo real ou agendados pelo telespectador em uma determinada data e horrio, e fornecer informaes sobre os vdeos que foram disponibilizados. A Figura 21 mostra o aplicativo no momento em que requisitado ao telespectador o incio do vdeo agendado.

66

Figura 21 Agendamento sendo iniciado

A Figura 22 mostra o resultado com as informaes sobre o vdeo que est sendo exibido.

Figura 22 Tela com as informaes do vdeo exibido

67

4.4 DIFICULDADES ENCONTRADAS

No incio do projeto, a maior dificuldade encontrada foi a obteno de informao para o desenvolvimento, pois a documentao da API HAVi no estava disponvel no site oficial. Quanto ao emulador XleTView, as dificuldades encontradas foram a de descobrir o que era preciso para que o emulador fosse executado e a maneira de trabalhar com arquivos de vdeos. Outra dificuldade foi encontrar o formato ideal de udio e vdeo para que o arquivo no ocupasse muito espao, mantendo a qualidade de execuo, pois vrias monografias, artigos e fruns citavam que o nico formato suportado pelo XleTView era o de extenso avi com codec Cinepack. Aps vrios testes, concluiu-se que o formato ideal de vdeo o H.263 e de udio A-Law, com extenso mov. Alm disso, o emulador possui algumas limitaes que interferiram no desenvolvimento do projeto como, por exemplo, a no aceitao de transparncias grficas em cima da camada de vdeo quando se trabalha juntamente com a biblioteca JMF e a perda de foco no aplicativo quando o emulador minimizado no computador. A principal dificuldade foi a de no encontrar exemplos com cdigo-fonte implementados de aplicaes que manipulam vdeos, pois todos os exemplos encontrados apenas exibiam um vdeo que era configurado no emulador. Aps muita pesquisa, encontrou-se um exemplo que manipulava dois vdeos, e mesmo assim o cdigo encontrado continha alguns erros. Com isso, ganhou-se confiana para trabalhar em uma aplicao que manipulasse vrios arquivos de vdeo. No Sistema Administrativo, a principal dificuldade encontrada foi a de copiar arquivos de vdeo para o diretrio do sistema, pois quando cpia era realizada, o sistema ficava travado at a cpia ser concluda. Aps alguns estudos descobriu-se que era necessria a utilizao de threads para que o sistema no ficasse aguardando a cpia, liberando a aplicao para uso.

Durante os testes do aplicativo Arquivo TV, no foi possvel realizar o teste de componentes do JUnit em todas as classes, como citado anteriormente, pois em algumas classes no se conseguiu instanciar objetos e alguns atributos e mtodos s so executados no emulador XleTView, como por exemplo, o xlet e o player, que so os dois objetos mais utilizados, no puderam ser instanciados.

68

4.5 PROJETOS FUTUROS

Como projetos futuros pode-se implementar esta proposta utilizando o middleware Ginga, atravs da linguagem Java com a API padro Java DTV, que foi desenvolvida baseada na API JavaTV e na linguagem NCL. Esta API foi escolhida pelo padro brasileiro de TV Digital. O projeto tambm pode servir de base para emissoras que necessitem de manipulao de arquivos de vdeos na interatividade com a TV Digital, implementando-se um canal de retorno para a realizao da interatividade permanente, fazendo com que a transmisso dos vdeos seja feita por streaming.

4.6 CONSIDERAS FINAIS

Neste captulo foi apresentado o funcionamento do aplicativo em ambiente real, alm dos seus requisitos de instalao, explicao de seu funcionamento, os principais testes e resultados, alm de demonstrar as principais dificuldades encontradas e propostas futuras.

69

CONCLUSO

Conclui-se que o objetivo principal deste projeto, que era desenvolver um aplicativo interativo capaz de manipular vdeos realizando agendamentos que so armazenados no set-top box e mostrando as suas respectivas informaes, foi alcanado. Com a TV Digital, os telespectadores tero participao ativa no contedo fornecido pela emissora, onde o interesse em assistir televiso aumentar efetivamente pelo simples fato de o mesmo interagir com o aplicativo. Baseado nisso, com o projeto proposto, o telespectador tem muito mais entretenimento no seu dia-a-dia, pois pode escolher o que deseja assistir, no dependendo da programao comum da emissora. A linguagem Java utilizada no projeto, por se tratar de uma linguagem muito ampla, pode-se programar para diversas plataformas, com APIs de fceis acessos, dentre elas a API JavaTV para atender a programao da TV Digital, levando em considerao que os set-top boxes do suporte a esta linguagem. Com o emulador XleTView, foi relatado que o mesmo fornece funcionalidades bsicas paras os aplicativos para TV Digital, onde pde-se desenvolver o aplicativo apesar de suas limitaes. Foi utilizado este emulador por ser mais popular, alm de ser de cdigo aberto e gratuito. Como extenses deste trabalho pode-se desenvolver aplicativos manipulando arquivos de vdeos baseados no middleware Ginga utilizando a API Java DTV e tambm serve de base para emissoras que necessitem desta manipulao, porm necessria a implementao de um canal de retorno utilizando interatividade permanente.

70

REFERNCIAS

ABERT. Associao Brasileira de Emissoras de Rdio e Televiso. Disponvel em: . Acesso em: 08 de mai. 2009.