Desenvolvimento de Sistemas para TV Digital. Prof. Fabrício J. Barth fbarth@tancredo.br Faculdades Tancredo Neves



Documentos relacionados
PADRÕES DE MIDDLEWARE PARA TV DIGITAL

TV ESCOLA INTERATIVA: UMA PROPOSTA EDUCATIVA PARA TV DIGITAL

Padrões de Middleware para TV Digital

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

NCL e Java. Aquiles Burlamaqui

TV Digital : Convergência e Interatividade HXD Interactive Television

Java TV: Visão Geral

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

Ginga e a TV Digital Interativa no Brasil

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

Desenvolvendo Aplicações para TV Digital Interativa

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

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

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

Desenvolvendo Aplicações para a Televisão Digital

PADRÕES DE MIDDLEWARE PARA TV DIGITAL

APLICATIVOS PARA TELEVISÃO DIGITAL INTERATIVA. A televisão, um dos mais importantes e expressivos meios de comunicação, tem

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Um Driver NDIS Para Interceptação de Datagramas IP

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

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

INTRODUÇÃO A REDES DE COMPUTADORES (DEFINIÇÕES) Prof. Msc. Hélio Esperidião

Fábrica de Software 29/04/2015

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

UTILIZAÇÃO DA API JAVATV PARA O DESENVOLVIMENTO DE APLICAÇÕES PARA A TV DIGITAL INTERATIVA

UNIVERSIDADE. Sistemas Distribuídos

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

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

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

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

Entretenimento e Interatividade para TV Digital

Protocolos de Redes Revisão para AV I

Behavioral Patterns - Command

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

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

B ringing Al l U sers to the Television

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Conceitos Básicos de Telefonia Celular

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Redes de Computadores

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

TECNOLOGIAS PARA O DESENVOLVIMENTO DE APLICAÇÕES EDUCACIONAIS PARA TV DIGITAL

Java para Desenvolvimento Web

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Manual de utilização do Zimbra

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital

Fundamentos de Hardware

Fundamentos de Sistemas Operacionais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Um Site Sobre Viagens...

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

SISTEMA GT Sistema de Gravação Telefônica

Considerações no Projeto de Sistemas Cliente/Servidor

5 Mecanismo de seleção de componentes

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro

ANÁLISE DO PROCESSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA TV DIGITAL INTERATIVA EM UM CENÁRIO DE T-COMMERCE

Sistemas Operacionais

Agregador de feeds RSS para dispositivos móveis

1.1. Aplicações de TVD dinâmicas

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Desenvolvendo aplicações para TV Digital e Interativa utilizando JAVA TV

Internet - A rede Mundial

O Modelo DX sumário executivo

INTERNET HOST CONNECTOR

MANUAL DO USUÁRIO. Software de Imagem via Celular (isic) baseado no sistema operacional Android

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

SISTEMÁTICA WEBMARKETING

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Universidade da Beira Interior

:: Telefonia pela Internet

Serviços de TIC Soluções e demandas

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

3 Qualidade de serviço na Internet

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

TRANSMITINDO CONHECIMENTO ON-LINE

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Plataforma Sentinela

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware

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

Introdução à Linguagem Java

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

1 Introdução Motivação

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

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

1 Introduc ao 1.1 Hist orico

MANUAL DO USUÁRIO NextCall Gravador Telefônico Digital

Projeto GingaForAll Especialização do GingaCC para Diversas Plataformas

E um dia, quem sabe, poderemos despertar para o ser empreendedor. E ganhar dinheiro com esta história toda.

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

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

FACULDADE SENAC-RS PELOTAS RODRIGO ALMEIDA PEREIRA. Sistemas de Informação

Transcrição:

Desenvolvimento de Sistemas para TV Digital Prof. Fabrício J. Barth fbarth@tancredo.br Faculdades Tancredo Neves

Objetivo Apresentar os conceitos básicos para o desenvolvimento de sistemas para TV Digital.

Sumário Introdução: História da TV. O que é TV Digital? Exemplos de Aplicações para TV Digital. Funcionamento Multiplexação, Transmissão e Recepção Arquitetura e Especificações Java TV Xlets DVB-MHP e XleTView Algumas Referências

Introdução

O que significa TV (hoje)?

Como é implementado? Transmissão Recepção (apenas) Produção

O que é TV Digital?

Uma breve história da TV 1936: BBC Londres camêra gerando o sinal, enviando-o diretamente para a antena (tudo ao vivo e preto e branco); Década de 50: televisão colorida; 1956: surgimento do videoteipe = possibilidade de edição; Ainda na década de 50: aumento dos canais e necessidade do controle remoto; 1980: ilhas de edição digitais passaram a oferecer mais flexibilidade e maiores recursos aos editores; 1990: primeiros experimentos com transmissão digital; Hoje em dia: tv analógica + set top box Aparelhos receptores totalmente digitais

O que é TV Digital? Transmissão digital Produção digital Receptor digital

O que é TV Digital? Imagens com maior definição alguns chamam de maior qualidade Recursos Interativos Possibilidade de convergência com outros serviços

O que é interatividade? De 1953 até 1957 Canal CBS Winky Dink and You!

Recursos Interativos Transmissão digital Produção digital Canal de Retorno i.e., pela Internet

TV Digital Interativa

TV Digital Interativa - Exemplos Electronic Program Guide: guia de programação e conteúdo das emissoras

TV Digital Interativa - Exemplos Aplicação específica: programas que seguem junto ao programa de TV assistido

TV Digital Interativa - Exemplos Mecanismo de busca de programas de TV

Outros aparelhos muito utilizados... Hoje em dia...

Exemplos de convergência para o usuário final Internet Banking na TV Guia de rotas e ruas na TV Leitor de e-mail na TV MSN, Blog, Orkut... Na TV?!?!

Convergência de Serviços Produção digital Transmissão digital Alguma coisa Services Canal de Retorno i.e., pela Internet Web Services Internet

Voltando das nuvens... Transmissão digital Produção digital Como funciona? Receptor digital

Funcionamento

Como funciona (visão geral) Vídeo Audio Multiplexação Transmissão Recepção Dados

Multiplexação e Transmissão Formato para transporte e compressão

DSM-CC Um dos formatos de transmissão de dados mais eficiente para broadcast Dado 6 Dado 1 Dado 2 Os dados são transmitidos intercalados Dado 5 Dado 4 Dado 3 Os usuários podem selecionar um dos dados transmitidos a qualquer momento

Recepção

Arquitetura genérica Aplicações Middleware Compressão Transporte Transmissão e Modulação

Especificações Americana (ATSC) Japonesa (ISDB) Européia (DVB)

Especificações Americana (ATSC) Middleware = DASE (DTV Application Software Enviroment) Compressão de audio = Dolby AC-3 Compressão de vídeo = MPEG-2 Transporte = MPEG-2

Especificações Japonesa (ISDB) Middleware = ARIB (Association of Radio Industries and Businesses) Compressão de audio = MPEG-2 ACC Compressão de vídeo = MPEG-2 Transporte = MPEG-2

Especificações Européia (DVB) Middleware = MHP (Multimedia Home Plataform) Compressão de audio = MPEG-2 Compressão de vídeo = MPEG-2 Transporte = MPEG-2

Middleware Java TV Americana (ATSC-DASE) Japonesa (ISDB-ARIB) Todos baseados na especificação JavaTV Européia (DVB-MHP) Isto não significa interoperabilidade entre os padrões! :-(

Java TV

Java TV (http://java.sun.com/products/javatv/)

Java TV Applications = Xlets O seu conceito é similar aos dos Applets e Midlets. Foi introduzido pela SUN na especificação JavaTV. Os Xlets possuem uma interface que permite com que uma fonte externa possam controla-los (Application Manager).

Desenvolvendo um Xlet: Tutorial Rápido (1) Criar uma classe e implementar a interface Xlet: import javax.tv.xlet.xlet; import javax.tv.xlet.xletcontext; import javax.tv.xlet.xletstatechangeexception; public class Exemplo1 implements Xlet {

Desenvolvendo um Xlet: Tutorial Rápido (2) Implementar cada um dos métodos da interface Xlet: public void destroyxlet(boolean unconditional) public void initxlet(xletcontext context) public void pausexlet() public void startxlet()

Estados do Xlet O application manager (AM) carrega a classe principal do Xlet (Loaded) Xlet inicializado = AM invoca o método initxlet(xletcontext) Initialised e Paused destroyxlet() = libera todos os recursos (www.mhp-interactive.org)

Xlet Contexts Cada Xlet possui associado a ele uma instância da classe javax.tv.xlet.xletcontext (informações e interação com o ambiente). Métodos da Interface XletContext: notifydestroyed(): notifica ao ambiente que o Xlet foi destruído. notifypaused(): o Xlet interrompeu a sua execução. resumerequest(): um Xlet parado deseja retornar a sua execução.

DVB-MHP

O que é MHP? É um middleware aberto desenvolvido pelo consórcio DVB (www.dvb.org)

MHP Profiles O conceito de Profile está conectado com uma área de aplicação, por conseqüência: com as capacidades de um set-top-box (equipamento). MHP é baseado em três profiles: 1. Enhanced Broadcast Profile (MHP 1.0): define as capacidades mais básicas do padrão. É utilizado quando o terminal não possui canal de retorno. 2. Interactive TV Profile (MHP 1.0): este profile é utilizado em equipamentos com canal retorno. 3. Internet Access Profile (MHP 1.1): fornece acesso à Internet. Necessita de um equipamento com memória e capacidade de processamento muito mais amplo do que os atuais equipamentos possuem. (www.mhp.org)

Arquitetura Principais Componentes (www.mhp-interactive.org)

Aplicações MHP Uma aplicação MHP pode ser baseada em DVB- HTML ou DVB-J (mais popular). DVB-J: estas aplicações são escritas em JAVA usando o conjunto de classes da API MHP e consiste de um conjunto de arquivos de classes que são enviados junto com o serviço (Xlets).

Administração de Recursos Um receptor de TV Digital é normalmente um dispositivo com poucos recursos disponíveis. São várias as aplicações rodando e compartilhando os mesmos recursos. Importância de se ter um mecanismo de administração de recursos adequado e eficiente. Para auxiliar as aplicações na administração dos recursos: resource notification API (org.davic.resources).

Componentes da parte Gráfica Provavelmente uma das partes mais complexas da especificação MHP. Existem inúmeras variáveis que devem ser consideradas: Mudança na aparência (aspect ratio) (4:3) (16:9). Necessidade de componentes transparentes. Não existe Window Manager: esta estrutura de dados é muito complexa para ser utilizada por um receptor. Só existe controle remoto...

Componentes da parte Gráfica (cont.) Definição da parte gráfica = classes já definidas no AWT do Java + especificação HAVI Home Audio Video Interoperability (www.havi.org). java.awt.* = herdou algumas características, por exemplo: Component e Container. java.havi.ui.* = cria os componentes de interface. org.dvb.ui.* = para habilitar transparência na camada gráfica. org.dvb.event.* = para tratar eventos.

Componentes da parte Gráfica (cont.)

Componentes da parte Gráfica (cont.)

Componentes da parte Gráfica (cont.)

Processo de interação dos usuários com as aplicações

Processo de interação dos usuários com as aplicações (cont.) As principais classes para tratar eventos são: org.dvb.event.eventm anager: define que aplicação escuta que evento. O objeto único é acessado através de org.dvb.event.eventmanager.getinstance() org.dvb.event.userevent: o objeto desta classe representa um evento de entrada. org.dvb.event.usereventrepository: contêm o conjunto de objetos da classe UserEvent que a aplicação está disposta a tratar. org.dvb.event.usereventlistener: é uma classe que escuta os eventos, que recebe e trata os eventos. Quando o controle remoto é pressionado é gerado um evento do tipo java.awt.event.keyevents Os códigos das teclas são definidos em: org.havi.ui.event.hrcevent

Service Information API Fornece um conjunto de classes que acessa as tabelas sobre informações dos serviços que são encontradas no transport stream do DVB. Tipos de informações encontradas: Quais são os serviços (canais) disponíveis? Quais são os programas por canal? Qual a duração, o início de cada programa? Package org.dvd.si

Service Selection API A Service Selection API usa a Service Information API com o objetivo de encontrar o serviço que foi solicitado (i.e., pelo usuário, aplicação, etc). Esta API usa a Tuning API e o Java Media Framework para mudar para o correspondente transport stream e mostrar o serviço correto.

Comentários sobre o desenvolvimento de Aplicações Lembrar sempre que o receptor de TV Digital é um ambiente limitado: Recursos de sistema limitados (memória e disco); Interfaces de usuários restritas e diferentes; Necessidade de um código eficiente! A Interface do Usuário deve ser projetada com cuidado!

Interoperabilidade e Usabilidade

Gostei da idéia. Como eu começo a brincar? XleTView Emulador para Visualizar Xlets MHP Projeto Open-Source http://xletview.sourceforge.net/index.php

Referências Bibliográficas MHP (www.mhp.org) DVB (www.dvb.org) The Interactive TV (www.mhp-interactive.org) Home Audio Video Interoperability (www.havi.org) Java TV (http://java.sun.com/products/javatv/) Digital Audio Video Council (www.davic.org) XletView (http://sourceforge.net/projects/xletview)