PADRÕES DE MIDDLEWARE PARA TV DIGITAL



Documentos relacionados
Desenvolvimento de Sistemas para TV Digital. Prof. Fabrício J. Barth Faculdades Tancredo Neves

NCL e Java. Aquiles Burlamaqui

Introdução Padrão Brasileiro de TV Digital. Desenvolvimento de Aplicações Interativas. Trabalhos em andamento

Roteiro. Módulo IV 3 horas. A arquitetura de um sistema digital de televisão Padrões de Middleware DASE MHP ARIB GINGA

Entretenimento e Interatividade para TV Digital

1.1. Aplicações de TVD dinâmicas

GTTV - Grupo de Trabalho de Televisão Digital. Guido Lemos de Souza Filho LAViD - DI CCEN UFPB

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Jornalismo Multiplataforma. Tecnologias Redes e Convergência. eduardo.barrere@ice.ufjf.br

1 Introdução Motivação

APLICAÇÃO PARA A TV DIGITAL INTERATIVA UTILIZANDO A API JAVATV Eli CANDIDO JUNIOR 1 Francisco Assis da SILVA 2

Televisão Digital Interativa se faz com Ginga. Guido Lemos de Souza Filho LAVID DI - UFPB

TV Digital no Brasil e o Middleware Ginga. Luiz Eduardo Cunha Leite

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

Padrões de Middleware para TV Digital

PADRÕES DE MIDDLEWARE PARA TV DIGITAL

Visão Geral das Tecnologias Envolvidas no Desenvolvimento de Aplicações Interativas para o Sistema Brasileiro de TV

Desenvolvimento de Aplicações Interativas. GINGA NCL e LUA. Projeto TV Digital Social

PESPECTVIAS DO PROJETO DE PESQUISA DESENVOLVIMENTO DE MIDDLEWARE PARA DIVULGAÇÃO DE SABERES POPULARES NO CANAL DE INTERATIVIDADE DA TV DIGITAL *

Engenheiro Eletrônico pela PUC-RJ e mestrando da Universidade Federal Fluminense.

GINGA - Software Livre para TV Digital Brasileira

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

2 Geração Dinâmica de Conteúdo e Templates de Composição

TV Dig ital - S ocial

Prof. Marcelo Machado Cunha Parte 3

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Ginga e a TV Digital Interativa no Brasil

UFG - Instituto de Informática

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Amadeus-TV: Portal Educacional na TV Digital Integrado a um Sistema de Gestão de Aprendizado

4 Estrutura do Sistema Operacional Kernel

Protocolo de Aplicação para Jogos de Tabuleiro para Ambiente de TV Digital

Sistemas Operacionais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Subunidade 6: publicação


PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Linguagem de Programação Introdução a Linguagem Java

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Redes de Computadores

Fundamentos de Hardware

III.2. CABLE MODEMS CARACTERÍSTICAS BÁSICAS UNIDADE III SISTEMAS HÍBRIDOS

Wilson Moraes Góes. Novatec

Sistemas Operacionais 1/66

TV DIGITAL INTERATIVA: UM RECURSO DIDÁTICO NO PROCESSO DE ENSINO E APRENDIZAGEM DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

World Wide Web e Aplicações

Demonstrações: Requisitos do M iddleware

SISTEMAS DISTRIBUIDOS

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

FUNDAMENTOS DE TV DIGITAL. Objetivos do Sistema Digital. Digital. Comparação. (NTSC x ATSC) Transmissão simultânea de várias programações

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

UFG - Instituto de Informática

Conversor de TV Digital Terrestre: Set-top box

Documento de Análise e Projeto VideoSystem

TRANSMITINDO CONHECIMENTO ON-LINE

TV Digital : Convergência e Interatividade HXD Interactive Television

UMA PROPOSTA DE API PARA DESENVOLVIMENTO DE APLICAÇÕES MULTIUSUÁRIO E MULTIDISPOSITIVO PARA TV DIGITAL UTILIZANDO O MIDDLEWARE GINGA

Modelos de Camadas. Professor Leonardo Larback

Desenvolvendo Aplicações para TV Digital Interativa

Programando em PHP. Conceitos Básicos

Serviços Web: Introdução

Programação de Computadores - I. Profª Beatriz Profº Israel

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Um Driver NDIS Para Interceptação de Datagramas IP

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Curso de Linux Básico

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha.

Visualizando um vídeo através do Servidor de Streaming

A TV DIGITAL COMO INSTRUMENTO DE ENSINO DE MATEMÁTICA. Adriano Aparecido de Oliveira, Juliano Schimiguel

5.1. Análise Comparativa

Redes de Dados e Comunicações. Prof.: Fernando Ascani

Sistemas Operacionais

SISTEMAS DISTRIBUÍDOS

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

B ringing Al l U sers to the Television

O Panorama da TV Digital no Brasil. Leandro Miller Leonardo Jardim

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

4 Plano de Recuperação

3 Qualidade de serviço na Internet

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

Um framework para o desenvolvimento de aplicações interativas para a Televisão Digital

MÓDULO 8 Modelo de Referência TCP/IP

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

7. DIVULGAÇÃO DE VÍDEOS E SOM VIA REDE MÉTODO STREAMING

Noções de. Microsoft SQL Server. Microsoft SQL Server

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Desenvolvendo Aplicações para TV Digital Interativa. Diemesleno Souza Carvalho. Dourados -MS, 20 de Abril de 2011.

Transcrição:

PADRÕES DE MIDDLEWARE PARA TV DIGITAL Rafael V. Coelho Fundação Universidade Federal do Rio Grande (FURG) Rio Grande - RS rafaelvc2@gmail.com Resumo. Este trabalho discute os tipos de Middleware usados para os principais Sistemas de Televisão Digital do mundo. Incluindo os padrões americano, europeu e japonês. As principais características de cada um destes padrões são esclarecidas no decorrer do artigo. Palavras-chave: TV Digital, Middleware 1. INTRODUÇÃO A principal meta deste artigo é a de esclarecer todo o funcionamento e arquitetura proposta por cada um dos principais padrões de middleware utilizados para a composição de um Sistema Digital de Televisão no mundo, inclusive no Brasil. Será também explicado, o funcionamento, qual a estrutura da arquitetura de um Sistema Digital de Televisão e quais os principais componentes contidos neste. Além disso, serão explicados os tipos de Middleware utilizados nos padrões de TV Digital. Outra meta deste trabalho é fazer uma relação entre os padrões de TV Digital mundo a fora e o modelo brasileiro. 2. A ARQUITETURA DE UM SISTEMA DIGITAL DE TELEVISÃO Para que haja um entendimento sobre os padrões de middleware utilizados, é preciso especificar qual a arquitetura de um Sistema de televisão Digital e como seus componentes internos se relacionam. Similarmente ao modelo OSI em Redes de Computadores, a arquitetura de SDTV também é dividida em camadas. Estas são independentes e cada camada superior deve utilizar os serviços oferecidos pela inferior e, ao mesmo tempo, proporcionar serviços a camada superior a mesma. As camadas são diferenciadas no transmissor e no receptor. Primeiramente, é feita a captura de vídeo, áudio e dados através de uma câmera ou de um arquivo de streaming. Este sinal é codificado (camada de middleware) e é feita a compressão dos dados do programa (camada de compressão) para que possam ser transmitidos. Depois da multiplexação dos dados comprimidos em fluxo de transporte (camada de transporte). Este fluxo codificado é adequado (modulação) ao meio de transmissão (camada de modulação). A camada mais alta do transmissor é a camada de Transmissão, na qual transmitido o sinal da TV. Enquanto isto, no receptor, o sinal da TV deve ser sintonizado (camada de recepção), demodulado e decodificado em fluxo de transporte (camada de demodulação), o programa em questão deve ser demultiplexado (camada de transporte), descomprimido (camada de descompressão) e finalmente extraídos pelo Middleware. A função do middleware é a de possibilitar que aplicações possam ser escritas de modo mais independente possível do hardware e do sistema operacional, permitindo que uma mesma aplicação possa ser carregado e executado em diferentes equipamentos receptores. É importante ressaltar que acima da camada de middleware, existe a camada de aplicação onde são colocadas as aplicações para TV - Interativa, por exemplo. Além disso, para que possa ser visto em uma TV analógica, deve ser utilizado um SET-TOP BOX que transforma os sinais digitais em sinais específicos para a TV analógica.

Os padrões MPEG são usados para codificação e compressão de dados multimídia. O tipo MPEG-1 foi criado para vídeos codificados até 1,5 Mbps com qualidade VHS, e áudio codificado com 192 Kbps por canal. MPEG-2 é baseado em MPEG-1, mas mais otimizado. Ele é capaz de codificar vários vídeos entre 4 e 9 Mbps para TV ou entre 15 e 100 Mbps para HDTV. Já o padrão MPEG-4 representa conteúdos de mídia na forma de objetos. Com isso, pode ser feita tanto no servidor quanto no transmissor, a manipulação dos dados, removendo ou inserindo objetos. Além disso, cada padrão de televisão digital deve ter o seu tipo de codificação do sinal de áudio. O Dolby AC-3 é utilizado no ATSC, o MPEG-1 e MPEG-2 são utilizados no DVB e o MPEG-2 AAC é utilizado no ISDB. A camada de transporte é que faz a multiplexação dos dados. Nesta camada é feito o agrupamento de áudio, vídeo e dados em um único fluxo MPEG-TS (Transport Stream) numa mesma base de tempo. Como são utilizados pequenos pacotes para encapsular os fluxos, torna-se fácil a ressincronização de um vídeo para o caso de ocorrerem perdas de pacote no MPEG-TS. A modulação é o processo pelo qual a onda transmitida é alterada de acordo com o sinal da informação a ser transmitida. Permitindo assim que o conteúdo do sinal de mensagens não seja tão vulnerável a ruídos. Os padrões utilizados hoje em dia são COFDM (Coded Orthogonal Frequency Division Multiplexing) pelo ISDB (padrão japonês) e pelo DVB (padrão europeu). Já o padrão americano (ATSC) utiliza 8-VSB (8 L-Vestigial Side Band Modulation) para modular o sinal. 3. PADRÕES DE MIDDLEWARE As aplicações de TV Digital (DTV) podem ser divididas em aplicações procedurais e aplicações declarativas. Linguagens não declarativas podem seguir diferentes paradigmas. Têm-se assim as linguagens procedurais baseadas em módulos, orientadas a objetos. Numa programação procedural, devemos informar ao computador cada passo a ser executado. O programador possui, assim, um maior poder sobre o código, sendo capaz de estabelecer todo o fluxo de controle e execução de seu programa. Nas linguagens declarativas, existe um nível maior de abstração, usualmente ligadas a um domínio ou objetivo específico. O programador fornece apenas o conjunto das tarefas a serem realizadas, não estando preocupado com os detalhes de como o executor da linguagem (interpretador ou compilador) realmente implementará essas tarefas. 3.1 DASE O middleware DASE ou DTV Application Software Enviroment é utilizado no padrão de TV Digital Norte-Americano ATSC. Este middleware permite que serviços interativos sejam executados normalmente por qualquer receptor. O padrão DASE é um esforço do Advanced Television System Committee (ATSC) que permite aos criadores de conteúdo aperfeiçoado e interativo as especificações necessárias para que os aplicativos e dados executem uniformemente em todos os modelos e marcas de receptores. Uma aplicação DASE é um conjunto de informações que são processadas por um ambiente de aplicação para fornecer interatividade com o usuário final ou alterar o estado do ambiente da aplicação. O conteúdo da aplicação pode ser de natureza declarativa ou procedural. As aplicações declarativas tem como objetivo, principal, a apresentação de dados de forma estática. Fazem uso de várias tecnologias web, como linguagens baseadas em tags, XHTML, CSS (Cascading Style Sheets) e DOM (Document Object Model), fluxos de áudio e vídeo. Já os aplicativos procedurais são aqueles que incluem algum processamento lógico. Sendo implementados através de código escrito na linguagem de programação Java[1]. Sendo assim, este tipo de aplicação é capaz de processar tarefas mais complexas dinamicamente.

Existe ainda uma categoria de aplicações híbridas, que permite uma mistura de conteúdo de aplicativos tanto declarativos como procedurais. O ambiente de aplicativos DASE fornece browser para conteúdo de aplicações declarativas e uma Máquina Virtual Java. Este tipo de middleware não especifica a implementação de um set-top box específico. 3.2 MHP O padrão MHP é o middleware usado no padrão de TV Digital Europeu DVB. O padrão MHP consiste de uma combinação de suportes à broadcast e à Internet, oferecendo uma API acessível a todos que desejam desenvolver aplicações, receptores e aparelhos de TV. No perfil Enhanced, não é oferecido suporte a canal de retorno e conexão IP. Executa as aplicações via difusão (broadcast). Já o perfil Interactive suporta a um canal de retorno e conexão IP, permitindo assim a possibilidade de interatividade remota. O ultimo perfil disponibilizado pelo Middleware MHP é o Internet Access que suporta aplicações web, além de aplicações desenvolvidas em Java. Este último perfil só foi disponibilizado na versão MHP 1.1. Todos os perfis possuem suporte a aplicações interativas desenvolvidas com a DVB-J que representa um conjunto de funções de alto nível, estruturas de dados e protocolos que representam uma interface padrão para o desenvolvimento de software independente de plataforma de hardware. Duas importantes diferenças entre o MHP 1.0 e o MHP 1.1 são que a nova especificação permite a possibilidade de armazenar localmente aplicações e plug-ins recebidos por difusão, além do acréscimo da DVB-HTML API, uma interface de programação de aplicações baseadas em HTML. Existem dois tipos de aplicações suportadas pelo padrão MHP: DVB-HTML (apresentada através de conteúdo hipermídia) e DVB-J (representadas através de conteúdo compilado na linguagem Java). O MPH é dividido em três camadas: recursos (hardware embutidos), software (aplicações) e interface das aplicações (interoperabilidade). Na camada de recursos estão incluídos os recursos de hardware embutidos na televisão ou set-top-box. Recursos disponíveis incluem hardware de decodificação MPEG, dispositivos de entrada e saída de dados, CPU, memória e sistemas de geração de imagem. Já na camada de software, as aplicações não acessam diretamente os recursos de hardware. Ela traz uma visão abstrata dos recursos disponíveis. Este isolamento entre hardware e software cria portabilidade. Esta camada também inclui um gerenciador de aplicações, que é responsável por controlar o ciclo de vida das aplicações. Finalmente, na camada de Interface das Aplicações, é mantida a interoperabilidade das diversas aplicações MHP desenvolvidas, utilizando principalmente a DVB-J API, aplicações estas orientadas a objeto e baseadas na linguagem de programação Java. Em 2004, uma pesquisa demonstrou que foram registradas vendas de 340.000 receptores com MHP na Itália. Um estudo feito em 2003 mostrou que 700.000 receptores estavam funcionando na Coréia do Sul. Isso sem contar que também é o padrão da Alemanha e da Suécia. Com isto, nota-se a abrangência do padrão MHP na Europa e em outros Países como a Coréia do Sul. 3.3 ARIB O padrão de middleware ARIB (Association of Radio Industries and Business) é utilizado no padrão Japonês ISDB. Neste sistema, áudio, vídeo e todos os serviços de dados são multiplexados e transmitidos via broadcasting de rádio, em um TS (Transport Stream) especificado pelo MPEG-2. Canais para a interatividade das comunicações são disponibilizados através dos canais interativos da rede. O sistema de transmissão de dados que utiliza o armazenamento dos pacotes como um fluxo de pacotes no PES (Packetized Elementary Stream) é usado para aplicações em tempo real, que necessitam de sincronização na decodificação e reprodução dos diferentes tipos de mídia. A estrutura lógica do display ARIB é composta, respectivamente, de plano de

vídeo, plano de figura, plano de controle, plano de gráficos e textos e plano de legendas. Além disso, existe o sistema de transmissão de dados, no qual os dados serão transmitidos inúmeras vezes. Este serviço é especificado como carrossel de dados. Outra facilidade proporcionada pelo ARIB é que ele permite adicionar EPG (Electronic Program Guide), índice e funções de gravação automática para melhorar a seleção da programação. Facilitando assim a programação pessoal do usuário. 3.4 Ginga O padrão de camada de software intermediário Ginga[2] foi o primeiro middleware opensource desenvolvido no Brasil com o intuito de prover funções de interatividade para TV Digital e foi lançado no dia 3 de Julho de 2007 no Auditório Principal do Instituto Militar de Engenharia Praia Vermelha, Rio de Janeiro. O Middleware Ginga foi uma iniciativa realizada pelo Laboratório TeleMídia do Departamento de Informática da PUC - Rio em conjunto com o Laboratório LAVID da Universidade Federal da Paraíba. Este padrão brasileiro é divido em Ginga-NCL[3] e Ginga-J. O Laboratório TeleMídia foi responsável pelo Ginga-NCL que é uma infra-estrutura de apresentação para aplicações declarativas escritas na linguagem Nested Context Language (NCL). NCL é uma aplicação XML com facilidades para a especificação de aspectos de interatividade e sincronismo espaço-temporal entre objetos de mídia. Enquanto isso, o Laboratório LAVID foi responsável por desenvolver o Ginga-J que é a infra-estrutura de apresentação para aplicações procedurais (Java Xlet). E é através desta que pode ser implementada aplicações de maior complexidade que provê a interação com o usuário. Existe uma ponte (bridge) entres os módulos Ginga-NCL e Ginga-J que é disponibilizado pela arquitetura Ginga. Além destes dois módulos citados acima, também existe o módulo Common Core que é a camada de software que dá suporte para os outros módulos através de uma série de codecs e procedimentos para obter dados do MPEG-TS ou do canal de retorno que permite a possibilidade de interatividade. Ginga-NCL. O subsistema lógico Ginga- NCL é composto por uma série de módulos. O mais importante módulo é o NCL Formatter, já que este é responsável por receber um documento NCL e controlar a sua apresentação, tentando garantir que relacionamentos entre objetos de mídia sejam respeitados. Os documentos NCL são providos por uma estrutura chamada private base que corresponde um canal de TV. A partir da linguagem NCL, os objetos envolvidos são descritos e a sincronização entre eles é obtida. Além de especificar o espaço temporal dos mesmos. Os objetos são descritos em documentos NCL que por sua vez são executados pelo Formatador NCL. Os tipos de objetos suportados depende diretamente do NCL player embutido no Formatador NCL. Um destes players é o decoder/player implementado em hardware pelo receptor. Outros módulos do Ginga-NCL merecem destaque. O XHTML-based user agent é composto por um interpretador stylesheet (CSS) e um interpretador ECMAScript. E o módulo LUA engine é responsável por interpretar scripts LUA. LUA[4] é uma linguagem de programação leve e poderosa, projetada para estender aplicações. Seus scripts são acoplados a programas maiores que precisam ler e executar programas escritos pelos usuários. Ginga-J. A arquitetura Ginga-J é composta de cinco camadas: Hardware, Sistema Operacional, Implementação Ginga e Java Virtual Machine (JVM), API Ginga-J e Xlets. Dentre as camadas que compõem a arquitetura Ginga-J, merece destaque a de aplicações. Aplicações para TV Digital, principalmente com enfoque interativo são chamados de Xlets. São similares a Applets em java, mas não são iguais. Xlets são aplicações desenvolvidas em Java TV[5] que é uma API que estende a plataforma Java. Foi

desenvolvida pela Sun Microsystems[6] para prover acesso e funcionalidades num receptor de televisão digital. A Sun Microsystems fornece um emulador para simular uma TV Digital em um desktop, chamado XletView. Este é baseado no middleware MHP e é Open Source. Desta forma, as aplicações (Xlets) desenvolvidos podem ser testados de forma rápida e fácil. Para implementar um Xlet, devem ser implementados um número pequeno de métodos que controlam o ciclo de vida do mesmo. 4. CONCLUSÃO A televisão analógica está caindo em desuso. A televisão digital surgiu com o objetivo de ter uma melhor qualidade de imagem e som. Faz melhor uso da largura de banda, tem a transmissão do sinal livre de ruídos. Com isso, possibilita a existência da televisão de alta definição além de permitir a interatividade que é a área de mais rápido desenvolvimento atualmente e de maior interesse. Onde se captava um único programa por canal, poderão existir vários programas (sistema de múltiplos programas). Existem ainda outras vantagens que não serão abordadas neste trabalho. Como exemplos pode-se citar o T-commerce, o comércio eletrônico pela TV, e o T-Banking, serviços bancários também pelo monitor de TV. Isto sem falar na TV interativa que é uma das áreas de maior atratividade e de progresso rápido. Um sistema de transmissão de TV Digital consiste de uma estação transmissora (head-end), um meio físico sobre o qual o sinal de vídeo é transmitido, que pode ser o ar, cabos ou mesmo satélites, e um receptor ou Terminal de Acesso que recebe o sinal transmitido, o decodifica e o exibe. Para garantir a compatibilidade entre estes elementos e permitir que o vídeo possa ser exibido nos destinos, é necessário que sejam padronizada a comunicação entre estes elementos através de padrões. Os padrões mais consolidados são o padrão de TV Digital Norte-Americano ATSC que utiliza o middleware DASE, o padrão Europeu DVB que utiliza o Middleware MHP e o padrão Japonês ISDB que utiliza o Middleware ARIB. Além destes, é importante ressaltar o padrão brasileiro de Middleware Ginga que foi uma iniciativa realizada pelo Laboratório TeleMídia do Departamento de Informática da PUC - Rio em conjunto com o Laboratório LAVID da Universidade Federal da Paraíba. REFERÊNCIAS [1] DEITEL H., DEITEL P. (2005). Java: Como Programar. Prentice-Hall, Edição 6. [2] www.ginga.org.br [3] http://www.ncl.org.br/ [4] Ierusalimschy R. (2006). Programming in Lua. Lua.org, Edição 2. [5] Bart Calder, et al, JavaTV API Technical Overview: The JavaTV API Whitepaper, 2000 [6] http://java.sun.com