Upload
alessio-delazari
View
30
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE DO VALE DO ITAJA
CENTRO DE CINCIAS TECNOLGICAS DA TERRA E DO MAR
CURSO DE CINCIA DA COMPUTAO
DESENVOLVIMENTO DE UMA FERRAMENTA PARA
INTERAO COM TV DIGITAL ATRAVS DE UMA WEBCAM
rea de Processamento de Imagem e TV Digital Interativa
por
Alessio Delazari
Mathias Henrique Weber, M. Sc.
Orientador
Antonio Carlos Sobieranski, M. Sc.
Co-orientador
So Jos (SC), junho de 2012
UNIVERSIDADE DO VALE DO ITAJA
CENTRO DE CINCIAS TECNOLGICAS DA TERRA E DO MAR
CURSO DE CINCIA DA COMPUTAO
DESENVOLVIMENTO DE UMA FERRAMENTA PARA
INTERAO COM TV DIGITAL ATRAVS DE UMA WEBCAM
rea de Processamento de Imagem e TV Digital Interativa
por
Alessio Delazari
Relatrio apresentado Banca Examinadora do
Trabalho de Concluso do Curso de Cincia da
Computao para anlise e aprovao.
Orientador: Mathias Henrique Weber, M. Sc.
So Jos (SC), junho de 2012
SUMRIO
LISTA DE ABREVIATURAS.................................................................. iv
LISTA DE FIGURAS ................................................................................. v
RESUMO .................................................................................................... vi
ABSTRACT ............................................................................................... vii
1 INTRODUO ...................................................................................... 8 1.1 PROBLEMATIZAO ................................................................................... 10
1.1.1 Formulao do Problema ............................................................................... 10
1.1.2 Soluo Proposta ............................................................................................. 10
1.1 OBJETIVOS ...................................................................................................... 10
1.1.1 Objetivo Geral ................................................................................................. 10
1.1.2 Objetivos Especficos ...................................................................................... 10
1.2 METODOLOGIA .............................................................................................. 11
1.3 ESTRUTURA DO TRABALHO ..................................................................... 12
2 FUNDAMENTAO TERICA ...................................................... 13 2.1 TV DIGITAL ..................................................................................................... 13
2.1.1 Interatividade na TV Digital .......................................................................... 17
2.1.2 Set-Top Box ..................................................................................................... 19
2.1.3 Padro Brasileiro SBTVD ........................................................................... 20 2.1.4 Xlet View .......................................................................................................... 23
2.2 PROCESSAMENTO DE IMAGEM ............................................................... 23
2.2.1 Rudo na Imagem ............................................................................................ 27
2.2.2 Morfologia Matemtica .................................................................................. 28
2.2.3 Subtrao de Background .............................................................................. 32
3 DESENVOLVIMENTO ...................................................................... 34 3.1 REQUISITOS .................................................................................................... 35
3.1.1 Requisitos Funcionais ..................................................................................... 35
3.1.2 Requisitos No-Funcionais ............................................................................. 36
3.2 DIAGRAMA DE VISO GERAL ................................................................... 38
3.3 DIAGRAMA DE CASOS DE USO ................................................................. 39
3.4 OUTROS DIAGRAMAS .................................................................................. 40
3.4.1 Diagrama de Classes ....................................................................................... 40
3.4.2 Diagramas de Atividade ................................................................................. 42
3.5 IMPLEMENTAO ........................................................................................ 46
3.5.1 Aquisio de Informao ................................................................................ 46
3.5.2 Sistema de Processamento .............................................................................. 51
3.5.3 Aplicao no Xlet View ................................................................................... 52
4 CONSIDERAES FINAIS .............................................................. 60
iii
4.1 TRABALHOS FUTUROS ................................................................................ 62
REFERNCIAS BIBLIOGRFICAS ................................................... 64
APNDICES ............................................................................................. 67
A. Borda do Objeto na Imagem ............................................................... 68
B. Deteco de Bordas .............................................................................. 69
C. Limiarizao ......................................................................................... 70
D. Componentes Conexos ......................................................................... 72
E. Rastreamento de Objetos .................................................................... 73
LISTA DE ABREVIATURAS
APIs Interfaces de Programao de Aplicativos
CPU Central Processing Unit
CRT Cathode Ray Tube
DVB-J Digital Video Broadcasting - (Transmisso de Vdeo Digital)
HDTV High Definition Television
IHC Interao Homem-Computador
IPTV Servio Multimdia de Banda Larga para Incluso Social
IRD Decodificadores Integrados
ITU-T Setor de Normalizao das Telecomunicaes
LCD Liquid Crystal Display
LED Ligh Emitting Diode
MPEG-2 Moving Pictures Expert Group
MPH Multimdia Home Plataform
NCL Nested Context Language
PDI Processamento Digital de Imagem
STB Set-Top Box
TCC Trabalho de Concluso de Curso
TVDi Televiso Digital Interativa
UNIVALI Universidade do Vale do Itaja
xDSL Digital Subscriber Line
WWW World Wide Web
LISTA DE FIGURAS
Figura 1. Sistema de TV Digital ......................................................................................................... 14
Figura 2. Etapas do gerador de sinal de TV. ...................................................................................... 15 Figura 3. Trs frames que compes a sequencia de uma imagem. .................................................... 16 Figura 4. Etapas na recepo do sinal. ............................................................................................... 17 Figura 5. Diviso de banda na TV Digital ......................................................................................... 18 Figura 6. TV e Set-Top Box. ............................................................................................................... 19
Figura 7. Etapas de um sistema de processamento de imagens. ........................................................ 25
Figura 8: Componentes de um sistema de processamento de imagens. ............................................. 26
Figura 9. Exemplos de Rudo. ............................................................................................................ 28 Figura 10. Exemplo de Eroso. .......................................................................................................... 29 Figura 11. Exemplo de Dilatao ....................................................................................................... 30 Figura 12. Seqncia para Abertura: Eroso e Dilatao. .................................................................. 31 Figura 13. Seqncia para Abertura: Dilatao e Eroso. .................................................................. 32
Figura 14. Exemplo de Subtrao de Background ............................................................................. 33 Figura 15. Requisitos Funcionais ....................................................................................................... 35 Figura 16. Requisitos No-Funcionais ............................................................................................... 37 Figura 17. Diagrama de Viso Geral .................................................................................................. 38
Figura 18. Diagrama de Casos de Uso ............................................................................................... 39 Figura 19. Diagrama de Classes do sistema de processamento de imagem. ...................................... 41
Figura 20. Diagrama de classes do Simulador Xlet View .................................................................. 42 Figura 21. Diagrama de Atividade de Seleo de Frames para Calculo do Background .................. 43
Figura 22. Diagrama de Atividade do Clculo do Background ......................................................... 44 Figura 23. Diagrama de Atividade do Subtrao de Background ...................................................... 45
Figura 24. Imagem de um frame capturado pela webcam ................................................................. 47 Figura 25. Imagem do Background .................................................................................................... 48 Figura 26. Imagem da deteco de movimento .................................................................................. 49
Figura 27. Imagem dos botes do sistema ......................................................................................... 50 Figura 28. Imagem do Sistema em funcionamento ............................................................................ 52 Figura 29. Imagem do Xlet View ....................................................................................................... 53
Figura 30. Boto desenhado no Xlet View ........................................................................................ 55
Figura 31. Integrao entre o Sistema de Processamento de Imagem e o Xlet View ........................ 56
Figura 32. Sequncia de imagens mostrando a integrao do sistema de processamento com o Xlet
View ........................................................................................................................................... 57
Figura 33. Integrao entre o sistema e o Set-top-box conectado com a TV ..................................... 58 Figura 34. Seqncia do processo de Limiarizao. .......................................................................... 70 Figura 35. Exemplo de Componentes Conexos ................................................................................. 72
Figura 36. Exemplo de Tracking de um objeto. ................................................................................. 73
RESUMO
DELAZARI, Alessio. Desenvolvimento de uma Ferramenta para Interao com TV Digital
Atravs de uma Webcam. So Jos, 2011 n 44 f. Trabalho de Concluso de Curso (Graduao em
Cincia da Computao) Centro de Cincias Tecnolgicas da Terra e do Mar, Universidade do
Vale do Itaja, So Jos, 2012.
O aumento de pesquisas em TV Digital Interativa no Brasil e o grande investimento do governo
brasileiro neste assunto tem motivado P&D para TV Digital Interativa. Este projeto prope
aumentar a interatividade do telespectador com a TV Digital Interativa por um sistema
desenvolvido em Java. Este sistema identifica o "pressionamento" de botes do controle remoto da
TV (Red, Green, Yellow e Blue) de imagens processadas em quadros capturados por uma webcam
usando uma biblioteca JavaCV. A tcnica utilizada no desenvolvimento do sistema foi a de
Subtrao de Background para a deteco de movimento do telespectador, verificando se os seus
movimentos so ininterrupto por n segundos sobre as reas de tela que simulam o boto interativo
para aperta-los. Os testes foram feitos usando um aplicativo desenvolvido em Ginga-J para executar
o simulador de set-top-box Xlet View. Finalmente, o sistema foi executado em um set-top-box real
conectado a uma TV digital usando a linguagem LUA do Ginga-NCL. Os resultados foram
satisfatrios, considerando a sensao de tempo de resposta dos telespectadores em tempo real.
Palavras-chave: TV Digital Interativa, Processamento de Vdeo, Subtrao de Background.
ABSTRACT
The rise of Interactive Digital TVs researches in Brazil and the large investment of the
Brazilian government in this subject have motivated researches and development for Interactive
Digital TV. This project propose increase the interactivity of the televiewer with Interactive Digital
TV by a system developed in Java. This system identifies the push of TV's buttons (Red, Green,
Yellow and Blue buttons) from images processed on frames captured by a webcam using the
JavaCV library. The technique used in the system development was the background subtraction to
detecting moving of the televiewer, checking if his movements are uninterrupted by X seconds on
the screen areas that simulate the interactive button to push them. Tests were made using an
application developed in Ginga-J to run the set-top-box Xlet View simulator. Finally, the system
was run in a real set-top-box with a digital TV connection using LUA Ginga-NCL language. The
results were satisfactory considering the televiewers feeling of response time in a real-time.
Keywords: Interactive Digital TV, Video Processing, Background Subtraction.
1 INTRODUO
Na era do conhecimento, onde o mundo gira em torno da comunicao, as telecomunicaes
tem um papel fundamental. Isso tudo graas aos avanos tecnolgicos, fazendo ser possvel
conectar o mundo em uma grande rede e disponibilizar a informao para quem quiser acessar. Mas
este acontecimento no se restringe apenas internet, tendo seu incio com o surgimento do rdio e
da TV, na dcada de 30 e 60 respectivamente, muito mais antigos que a internet, onde se deu incio
ao processo de aproximao das pessoas (VALDECIR et al, 2006).
A televiso uma maneira muito importante para a transmisso de informao para a
sociedade. Desde o seu surgimento tem este propsito e vem auxiliando em diversas reas. Hoje a
informao algo crucial na vida de todos, visto que na sociedade pessoas no so mais s julgadas
pelo seu trabalho e sua posio financeira, mas o que conta muito no seu julgamento a sua
informao e o seu conhecimento (BECKER & MONTEZ, 2005).
Segundo Benoit (2008), na televiso convencional o sinal apresentado ao telespectador
sem nenhuma forma de processamento. J com o sinal digital necessrio um pr-processamento
para a apresentao dos udios e vdeos recebidos. Este processo chama-se decodificao do sinal.
Novas formas de transmisso permitem muitas melhorias na qualidade da imagem, proporcionando
alta qualidade de definio conhecida como HDTV (High Definition Television).
Com esta nova forma de transmisso, possvel criar programas interativos, esta
interatividade1 sendo reestruturada (TEIXEIRA, 2009; GAWLINSKI, 2003). Alm de a TV Digital
ter interatividade com o telespectador, tem melhoria na qualidade, e proporciona outra grande
vantagem, que a recepo do sinal em movimento, possibilitando que aparelhos mveis recebam e
apresentem a programao das emissoras de televiso (BENOIT, 2008).
A interatividade algo muito frequente e presente hoje. Muitos dos aparelhos que so
utilizados pelos homens tm algum tipo de interao homem-computador. Tm-se exemplos como o
computador, que tem o mouse, teclado, monitor entre outros perifricos que proporcionam esta
interatividade.
1 Interatividade a capacidade de um dispositivo interagir ou permitir interao com o seu
respectivo utilizador (GELEIJNSE; ALIAKSEYEU; SARROUKH, 2009).
9
No se pode dizer que a interatividade na TV um novo elemento inserido pela tecnologia
de TV Digital, mas sim, uma nova forma de interao com o telespectador (TEIXEIRA, 2009).
Segundo Lugmayr, Niiranen e Kalli (2004), a interatividade na televiso digital aumenta a
diversidade de servios interativos.
Um bom exemplo de interao entre o homem e a TV o controle remoto, que nada mais
que um objeto que permite controlar o aparelho, sem precisar se locomover at perto do mesmo.
Mas j existem pesquisas para o controle de televisores a partir de dispositivos mais ergonmicos e
fceis de serem manipulados do que o controle remoto. Uma nova forma de interagir com a TV
utilizando meios de Interao Homem Computador (IHC), que podem ampliar a interao com a
TV e pode ser desenvolvida por mtodos de Processamento Digital de Imagem (PDI).
Tcnicas de PDI podem ser utilizadas para desenvolver uma nova tecnologia de interao
com TV Digital Interativa. Uma das tcnicas que possibilita aumentar a interatividade de um
telespectador com a TV Digital Interativa a Subtrao de Background. Com esta tcnica de
processamento de imagem, possvel identificar movimentao em uma sequncia de frames,
portanto possvel criar sistemas para reconhecer alguma ao de um telespectador como gestos
realizados em frente a uma cmera.
Os gestos humanos so um meio natural de interao e comunicao entre as
pessoas. Gestos empregam mo, a integridade fsica e o movimento do corpo para expressar as
ideias ou trocar informaes no verbais.
Com os esforos para melhorar a maneira que os homens interagem com os computadores,
h um crescente interesse na tentativa de integrar gestos com a IHC. Em comparao aos mtodos
tradicionais, como, mouse, teclado, manche ou controle remoto, gestos so alternativas atraentes,
que mais natural e intuitiva para os seres humanos.
Em geral, gestos so capturados e incorporados em fluxos contnuos de vdeo, e um sistema
de reconhecimento de gestos deve ter a capacidade de extrair informaes teis e identificar
movimentos distintos automaticamente (LI; GREENSPAN, 2010).
Acredita-se que PDI pode potencializar a interao entre o telespectador e o televisor, para
isso se faz necessrio a criao de sistemas capazes de reconhecer determinados gestos ou
movimentos e ao mesmo tempo integrarem-se com os sistemas de televiso digital existentes.
10
1.1 PROBLEMATIZAO
Neste tpico do trabalho ser apresentada a formulao do problema, que visa apresentar o
problema que existe e comum de acontecer, e em seguida apresentada a soluo proposta,
mostrando como se pretende acabar com o problema apresentado.
1.1.1 Formulao do Problema
Pesquisas a respeito de interatividade vm evoluindo, mas o mercado no vem absorvendo
esta tecnologia por diversos motivos. A interao utilizando o controle remoto limitada, muitas
vezes morosa e no atrai a ateno do telespectador para novos meios de interatividade.
1.1.2 Soluo Proposta
Acredita-se que uma forma mais interativa do ponto de vista fsico possa atrair um pblico
maior para esta nova tecnologia. A soluo aqui proposta visa aumentar os recursos que j existem
no controle remoto criando uma nova forma de interao com a TV Digital Interativa atravs de
movimentos reconhecidos por uma webcam.
1.1 OBJETIVOS
Neste tpico do trabalho sero apresentados o objetivo geral do trabalho e os objetivos
especficos mostrando o que se pretende realizar num todo com a realizao do trabalho, e tambm
o objetivo cada parte especfica no decorrer do Trabalho.
1.1.1 Objetivo Geral
Desenvolver um sistema de processamento digital de imagens que reconhece as
movimentaes de um telespectador atravs de Subtrao de Background e verifica o
pressionamento de botes simulados em uma Televiso Digital Interativa.
1.1.2 Objetivos Especficos
Os objetivos especficos deste trabalho de concluso de curso so:
Pesquisar e analisar, caso existir, solues similares;
Pesquisar mtodos de PDI para tais funes;
11
Pesquisar metodologias de Deteco de Movimentos;
Determinar os requisitos exigidos pelo sistema;
Pesquisar os conceitos e tecnologias necessrias para o desenvolvimento do sistema;
Realizar a modelagem conceitual do sistema;
Desenvolver o sistema;
Testar e validar a desenvolvimento do sistema;
Testar e validar a utilidade/funcionalidade do sistema e
Documentar o desenvolvimento e os resultados do sistema.
1.2 METODOLOGIA
Neste trabalho de concluso de curso primeiramente apresentado uma breve introduo do
assunto que ser tratado, apresentado os objetivos gerais e especficos do trabalho, para depois
fundamentar todo o contedo necessrio para o entendimento de como solucionar o problema
apresentado.
Na fundamentao descrito sobre TV Digital Interativa, como funciona, suas
caractersticas e os benefcios da utilizao de uma TV Digital Interativa. Ainda na fundamentao,
na segunda parte fundamentado o processamento digital de imagens, tcnicas de (PDI) que podem
ser utilizadas para a realizao do projeto, na fundamentao sobre (PDI) apresentado tambm
exemplos das tcnicas explicadas.
Aps a fundamentao para o entendimento do contedo que ser utilizado, apresentado o
projeto do sistema, neste projeto so apresentados os casos de uso, diagrama de classes, diagrama
de viso geral, diagramas de atividade que explicam detalhadamente a funo de cada classe que foi
desenvolvida no projeto.
Depois do projeto apresentado, explicado como foi desenvolvido o sistema, apresentado
imagens do sistema funcionando, trechos de cdigo desenvolvidos, e o detalhamento dos passos do
sistema, e tambm testes feitos para chegar a um melhor resultado. E por final, as consideraes
finais do trabalho.
12
1.3 ESTRUTURA DO TRABALHO
A estrutura deste trabalho separada em quatro captulos. O Captulo 1 apresenta a
introduo do TCC, apresentando alguns conceitos para que se possa ter uma viso dos problemas
existentes, ento a partir da introduo, apresentar o problema proposto, e os objetivos do trabalho.
No Captulo 2, apresentada a fundamentao terica, apresenta as tcnicas que sero
utilizadas, sendo elas TV Digital Interativa, Processamento de Imagem. O Captulo 3 apresenta o
desenvolvimento do sistema, sendo que a primeira parte do desenvolvimento apresentado o
projeto com a modelagem do sistema e todos os requisitos necessrios, e a segunda parte,
apresentado o desenvolvimento dos cdigos de programao, imagens do sistema funcionando e
testes feitos ao decorrer do desenvolvimento.
No Captulo 4, so apresentadas as consideraes finais do trabalho, concluses do projeto,
o que foi possvel fazer do planejado no TCC I e o que realmente foi possvel fazer, aps as
consideraes so apresentadas as bibliografias utilizadas para a fundamentao terica do trabalho,
e por final apresentados os anexos, que contm fundamentaes tericas de tcnicas de
processamentos digitais de imagens feitas no TCC I e com as mudanas necessrias no projeto, no
foram necessrias serem utilizadas.
2 FUNDAMENTAO TERICA
Neste captulo sero apresentadas as pesquisas e os estudos realizados para a aquisio do
conhecimento necessrio sobre conceitos e tcnicas que foram utilizados para a realizao e
desenvolvimento do sistema.
2.1 TV DIGITAL
A TV Digital uma atualizao da TV Analgica, a qual proporciona uma melhoria na
qualidade das transmisses de vdeos e udios, possibilita a transferncia do sinal para aparelhos
mveis, mais opes de programas, mais servios transmitidos por uma emissora e permite a
interatividade com os telespectadores (SILVA & TODESCO, 2011).
A TV Digital trouxe muitos benefcios para os telespectadores, alm de um melhor design,
teve uma grande melhoria na imagem. Pode proporcionar algo que est cada dia mais esperado
pelos telespectadores, a interatividade, proporcionando muito mais funes para a TV do que
apenas assistir a programao que a emissora apresenta, como a participao direta nos programas
respondendo questionrios da programao, acessar informaes complementares do programa,
entre outros.
A maioria da programao veiculada pelas emissoras de televiso aberta, j produzida com
a utilizao de novos equipamentos de filmagem e armazenamento digital dos vdeos. Mas os
segmentos de transmisso continuam analgicos, portanto o ganho de qualidade que a imagem
digital deveria proporcionar imperceptvel para os telespectadores. A transmisso digital de
televiso significa transformar o sinal analgico da TV em Informao Digital (TAVARES, 2001).
Um sistema de TV Digital Interativa de uma forma genrica pode ser dividido em trs
partes: Difusor sendo responsvel por gerar o contedo a ser transmitido; o Receptor que recebe o
contedo e apresenta para o telespectador, e possibilita a interao do telespectador com o difusor
atravs de um receptor digital se a TV tiver integrado, ou atravs de um Set-Top Box caso a TV no
tenha o receptor digital integrado; e por final um Meio de Difuso, composto pelo canal de difuso
e canal de retorno. Sua funo a comunicao entre o difusor e o receptor, dada pelo meio de
cabo, radiodifuso ou satlite. Esta diviso com as informaes apresentadas pode ser visualizada
na Figura 1 (BECKER, 2009).
14
Figura 1. Sistema de TV Digital
Fonte: Becker (2009)
Etapas da difuso do sinal:
O difusor consiste em uma sequencia de passos: adquirir o udio e o vdeo e realizar a
edio e insero de contedo pr-codificado. O difusor proporciona muitas vantagens para a TV
Digital Interativa em relao da TV Analgica, pois na etapa de difuso possvel insero de
legendas de filmes, guias de programao de canais, informaes sobre data e hora, sinopse de
programas, etc. Os aplicativos desenvolvidos na linguagem (NCL) so especificamente
executados pelo receptor da televiso digital ou pelo Set-Top Box, que possui a capacidade de
processamento, caracterizando a interatividade (BECKER, 2009).
Segundo Becker (2009):
existem duas formas de gerar contedo televisivo: transmiti-lo ao vivo ou gravar
sequencia de vdeo e udio para posterior edio antes da difuso. Em ambas as formas, os
sinais de udio e vdeo precisam ser codificados e encapsulados em pacotes de transporte
MPEG2-TS por um multiplexador, antes de serem transmitidos. Os dados tambm
precisam ser inseridos no multiplexador, atravs de um injetor de dados.
Depois de passar pelo multiplexador que tem a funo de juntar tudo, o prximo passo
modular o sinal digital para ser difundido pelos meios convencionais, sendo tarefa do modulador
gerar um sinal em baixa frequncia. Mas para que o sinal possa ser difundido pelos meios de
difuso ele precisa de um ltimo passo, que ser convertido para um sinal de maior frequncia,
sendo funo do UpConverter. Na Figura 2 est detalhada a sequencia realizada pelo difusor
(BECKER, 2009).
15
Figura 2. Etapas do gerador de sinal de TV.
Fonte: Becker (2009).
A escolha do MPEG-2 no SBTVD-T deu-se pelo fato de transmitir apenas a parte que foi
alterada de um frame para o prximo, ao invs de enviar um frame completo como ocorre na
transmisso analgica comum (BEGNAMI & SABL, 2006).
Na Figura 3 nota-se que o primeiro frame composto de uma rvore e uma nuvem,
enquanto no segundo, essa nuvem alterada por um sol e no ltimo frame, o sol retirado da
imagem. Nessa sequencia de imagens, a rea destacada pelo quadrado pontilhado a nica que se
altera de um frame para o outro, sendo que a rvore continua intacta e permanece a mesma nos
frames seguintes (BEGNAMI & SABL, 2006).
16
Figura 3. Trs frames que compes a sequencia de uma imagem.
Fonte: Begnami e Sabl (2006).
Esse sinal emitido de forma analgica aos servidores da operadora de TV, que fazem o
processo de digitalizao do sinal. Aps este procedimento, so enviados via satlite, via cabo ou
broadcast terrestre para a casa do telespectador, que, por sua vez, decodificado no Set-Top Box
(BEGNAMI & SABL, 2006).
Etapas na recepo do sinal:
Antes do sinal ser processado por um receptor, ele precisa ser captado de maneiras j citadas
anteriormente. O receptor pode ser interno em uma TV Digital ou ser equipamento externo. Neste
caso, conhecido por decodificador ou como j mencionado Set-Top Box (BECKER, 2009).
Aps a recepo do sinal, a Figura 4 representa o que ocorre na seguinte sequencia de
procedimentos: o primeiro elemento que processa (capta) o sinal difundido o sintonizador digital,
passando depois pelo demodulador, que extrai o fluxo de transporte MPEG-2, passando-o para o
demultiplexador que responsvel por extrair todos os fluxos elementares. Depois de extrados, so
ento encaminhados para o decodificador, que os converter para o formato apropriado de exibio
utilizado pela televiso. J as aplicaes so executadas pelo processador conforme o estado
determinado no injetor de dados, podendo iniciar automaticamente ou ficar na espera de uma ao
do telespectador (BECKER, 2009).
17
Figura 4. Etapas na recepo do sinal.
Fonte: Becker (2009).
2.1.1 Interatividade na TV Digital
A interatividade na TV no surgiu com a difuso da TV Digital. Esta inteno vem de seus
primrdios onde os desenvolvimentos buscavam sempre criar a sensao de interatividade, de
maneira em que o telespectador pudesse participar do programa com votaes, SMS (Short
Message Service) e internet, onde o Telespectador participa na deciso do que ir acontecer no
programa entre outras (CANNITO, 2010).
A TV Digital pode ser explicada basicamente como uma TV com acesso internet, recepo
de Vdeo em alta resoluo, udio e uma canal de retorno, por onde possvel comunicao com o
telespectador, podendo ele assim enviar informaes ou responder questionrios (BEGNAMI &
SABL, 2006).
Na Figura 6 pode-se ver os canais existentes na TV Digital. A figura representa em
proporo qual o espao de transferncia de cada canal. O canal de transferncia disponibilizado
18
para o vdeo o maior, por ser o arquivo em transferncia que necessita de mais espao, logo aps
vem o canal de udio, que no necessita de tanto espao de transferncia, e por fim o canal de
dados.
Figura 5. Diviso de banda na TV Digital
Fonte: Weber (2010) Apud TELEMIDIA (2010)
A partir do canal de retorno pode-se ter maior interatividade com a TV Digital.
Segundo Silva e Todesco (2011):
Entendida como a ao recproca entre dois corpos, a expresso se relaciona cada
vez mais com os meios e sistemas computacionais, pela interface com o usurio. Neste
caso, o canal de interatividade o meio pelos quais os usurios podem transmitir e receber
informaes, atravs de sistemas computacionais conectados na rede.
A interatividade pode ser qualificada em trs nveis de interao segundo Crocomo (2007)
Nvel 1: Tambm chamado de interao local", a situao em que o telespectador
interage com informaes armazenadas no terminal ou Set-Top-Box. Neste nvel,
possvel citar interaes como sinopse sobre um filme, letra de uma msica em um
clip, escalao em uma partida de futebol ou perguntas educativas sem retorno de
informaes para a emissora.
19
Nvel 2: Nele existe um canal de retorno para a emissora. Neste caso, o envio de
informaes para a emissora poder ser feito de forma sncrona ou no. J como
exemplos deste nvel, possvel citar os questionrios sobre uma pergunta de um
locutor, perguntas sobre satisfao dos telespectadores ou votaes em programas de
reality show, nos quais a emissora recebe atravs do canal de retorno informaes
passadas pelo telespectador.
Nvel 3: Onde a interao envia e recebe informaes em tempo real. Neste caso,
pode-se citar como exemplos aplicaes como salas de bate-papo (chat) e jogos
multiplayer.
2.1.2 Set-Top Box
O Set-Top Box tambm chamado de STB tem seu nome derivado do fato desse equipamento
ser caixas (Box), que so colocadas sobre (Top) os televisores (TV Set). O STB recebe os sinais
digitais atravs de alguma fonte de dados que pode ser via ar, cabo ou satlite como j comentados
anteriormente. Esses aparelhos convertem os sinais de uma maneira que possam ser interpretados e
apresentados pelos atuais aparelhos de TV (FERREIRA & PLNIO, 2007).
Figura 6. TV e Set-Top Box.
Fonte: CyberTheater (2011).
20
Pode ser observado na Figura 6 que a ideia bsica desse dispositivo a de uma pequena
caixa agregada a uma televiso analgica, que converte os sinais digitais para que sejam assistidos
por essas televises convencionais. Para quem assina ou conhece sistemas de TV por assinatura, o
receptor algo comum do lado da TV (BECKER, 2009).
Com a utilizao deste aparelho nos televisores convencionais, ou seja, os televisores que
interpretam os sinais analgicos podem utilizar as funcionalidades de uma TV Digital. O Set-Top
Box recebe o sinal digital, converte para um sinal que interpretado pela TV convencional e
proporciona as mesmas funcionalidades de uma TV Digital Interativa, contendo o canal de retorno
onde o telespectador manda informaes para que haja a interao (GAO RESEARCH, 2011).
Esse canal de retorno pode utilizar as mais diversas tecnologias disponveis, como linha
telefnica discada, xDSL (Digital Subscriber Line) e cabo, rede celular 3G, para fazer a
comunicao no sentido inverso da difuso, do telespectador para o operador da rede (BECKER,
2009).
Para permitir a interatividade, os Set-Top Boxes precisam de capacidade de processamento,
por isso seu hardware pode conter tecnologias que so comuns aos computadores, tais como CPU
(Central Processing Unit), memria, modens para canal de retorno, memria para armazenamento
de dados e leitores de smart cards para controle de acesso. Como ocorre em computadores
convencionais, esses dispositivos so controlados por device drivers de sistemas operacionais.
Contudo, esses sistemas operacionais so bem mais simples que os convencionais e possuem
cdigo armazenado em memria no voltil (BECKER, 2009).
Uma ferramenta importante para os desenvolvedores de aplicativos para TV Digital
Interativa o Set-Top-Box Virtual, que permite a simulao em um computador, onde sero
desenvolvidas as aplicaes e feitos os testes necessrios antes de ser disponibilizado.
2.1.3 Padro Brasileiro SBTVD
O padro de transmisso adotado no Brasil o mesmo utilizado no Japo (ISDB-T),
diferente do padro americano (ATSC) e do europeu (DVB-T), permite a recepo do sinal em
aparelhos portteis e mveis, sem tarifao. Uma das poucas diferenas do padro brasileiro em
relao ao japons a compresso. No Brasil adotado o MPEG-4H. 264 para todos os sinais, que
mais eficiente que o MPEG-2, ou seja, possvel trafegar a mesma quantidade de vdeo em uma
taxa de dados menor (TVGLOBODIGITAL, 2012).
21
2.1.3.1 Ginga
Ginga o nome do middleware aberto do sistema Nipo-Brasileiro de TV Digital (ISDB-TB)
e recomendao ITU-T para servios IPTV. Ginga constitudo por um conjunto de tecnologias
padronizadas e inovaes brasileiras que o tornam a especificao de middleware mais avanada
(GINGA, 2012).
A arquitetura Ginga permite a adio de extenses opcionais. Por exemplo, o ambiente de
execuo Ginga-J, responsvel pela execuo de aplicativos Java. Televises conectadas, ou
Broadband TVs , tambm podem definir extenses para implementao de seus servios. Servios
IPTV especficos, tais como VoD, etc., so exemplos de outras extenses possveis. Ginga NCL
oferece servios NCL para todas as extenses por meio de uma API bem definida.
Segundo Ginga (2012): O Ginga fruto do desenvolvimento de projetos de pesquisa
coordenados pelos laboratrios Telemdiada PUC-Rio e LAViD da UFPB.
2.1.3.2 Ginga NCL
O ambiente de apresentao Ginga-NCL o subsistema lgico obrigatrio do Ginga,
responsvel pela execuo de aplicaes declarativas NCL. As aplicaes so entregues para o
Ginga-NCL pelo subsistema Ncleo Comum Ginga tambm conhecido por Ginga-CC (GINGA,
2012).
Um exemplo deste Set-Top Box Virtual o Ginga-NCL Virtual STB (Set-Top Box) que foi
desenvolvido na PUC-Rio (Pontifcia Universidade Catlica do Rio de Janeiro). O Ginga-NCL o
subsistema Ginga responsvel pela apresentao de documentos NCL (Nested Context Language),
importante saber que uma mquina virtual para Linux VMWare, e inclui o Ginga-NCL C++
v.0.12.1 (GINGANCL, 2011).
Ele define um ambiente de apresentao para aplicaes declarativas escritas em NCL. NCL
uma linguagem de aplicao XML que fornece suporte para a especificao de sincronizao
espao-temporal entre objetos de mdia, contedo de mdia e alternativas de apresentao,
exposio em vrios dispositivos, e viver de produo de interativos, programas no lineares
(GINGANCL, 2011).
Para desenvolver aplicaes para Ginga-NCL utilizado a linguagem de programao LUA.
Uma linguagem poderosa, rpida e leve, projetada para estender aplicaes. Lua foi desenvolvida
22
no Brasil por uma equipe na Pontifica universidade Catlica do Rio de Janeiro (PUC-Rio) (LUA,
2012).
Segundo Lua (2012):
Lua combina sintaxe simples para programao procedural com poderosas
construes para descrio de dados baseadas em tabelas associativas e semntica
extensvel. Lua tipada dinamicamente, interpretada a partir de bytecodes para uma
mquina virtual baseada em registradores, e tem gerenciamento automtico de memria
com coleta de lixo incremental. Essas caractersticas fazem de Lua uma linguagem ideal
para configurao, automao (scripting) e prototipagem rpida.
Lua distribuda via um pequeno pacote e compila sem modificaes em todas as
plataformas que tm um compilador C padro. Lua roda em todos os tipos de Unix, Windows, e
tambm em dispositivos mveis (usando Android, iOS, BREW, Symbian, Windows Phone), em
microprocessadores embutidos (como ARM e Rabbit, para aplicaes como Lego MindStorms), e
at mainframes IBM (LUA, 2012).
Ainda utilizando o mesmo site referenciado, Lua tem uma API simples e permite uma
integrao forte com cdigo escrito em outras linguagens. simples estender Lua com bibliotecas
escritas em outras linguagens. Tambm simples estender programas escritos em outras linguagens
com Lua. Lua usada para estender programas escritos no s em C e C++, mas tambm em Java,
C#, Smalltalk, Fortran, Ada, Erlang, e mesmo outras linguagens de script, como Perl e Ruby.
2.1.3.3 Ginga J
A definio de Ginga-J composta por Interfaces de Programao de Aplicativos (APIs)
projetadas para suprir todas as funcionalidades necessrias para a desenvolvimento de aplicativos
para televiso digital, desde a manipulao de dados multimdia at protocolos de acesso.
A especificao Ginga se aplica aos receptores para sistemas de transmisso terrestre de
televiso. Ginga destinado a cobrir uma srie completa de receptores e decodificadores integrados
(IRD), aparelhos de televiso integrados, computadores multimdia e clusters locais de aparelhos
conectados por redes domsticas.
23
A norma Ginga-J destinada aos desenvolvedores de receptores compatveis com o sistema
brasileiro de televiso digital terrestre e aos desenvolvedores de aplicativos que utilizam a
funcionalidade e API Ginga.
Embora j exista uma norma detalhando o Ginga-J, a mesma no pode ser levado a cabo por
questes relacionadas a licenas das APIs envolvidas (GEM, ARIB, HAvi, etc.). Porm
aconselhado por Gingarn (2012), fazer o uso do Xlet View para simulao de um ambiente Java
TV. Boa parte das aplicaes que executam no Xlet View podem executar no Ginga-J.
2.1.4 Xlet View
O Xlet View, assim como o Ginga-NCL, tambm um sistema que simula a televiso
digital interativa, permitindo a recepo e execuo de aplicativos em Java. Os Multimdia Home
Plataform (MPH) vem em duas verses, aplicaes BVB-HTML e as aplicaes DVB-J, tambm
conhecidas como Xlets. Uma interface Xlet permite uma fonte externa para iniciar e para um
aplicativo. Esta capacidade fundamental para um ambiente de set-top-box (XLETVIEW, 2012).
2.2 PROCESSAMENTO DE IMAGEM
Para fundamentar o processamento de imagem foi utilizado bastante contedo do livro do
Pedrini e Schwartz (2008) porque alm do livro ser em portugus, tem um contedo bastante
didtico e de fcil entendimento e tambm utiliza bastante citao do Gonzalez e Woods (2001), um
autor bastante renomado e muito citado no assunto de processamento digital de Imagem.
Processamento de Imagens so tcnicas para a anlise de dados multidimensionais, que
manipula imagens para obter informaes que podem conduzir tomada de deciso. O elemento
principal a imagem ou um conjunto delas, captadas atravs de uma cmera, de um scanner laser,
de um ultrassom, de um ressonador magntico, ou por qualquer outro meio.
Segundo Persiano e Oliveira (1989) a computao grfica tem relao com trs sub-reas:
Sntese de Imagens: produo de representaes visuais a partir das especificaes
geomtricas e visuais de seus componentes.
Processamento de Imagens: envolve tcnicas de transformao de imagens, tanto a
imagem original quanto a imagem resultado, apresentam-se sob uma representao
visual (geralmente matricial). Essas transformaes visam melhorar as caractersticas
visuais da imagem.
24
Anlise de Imagens: procura obter a especificao dos componentes de uma
imagem a partir de sua representao visual (primitivas geomtricas elementares que
compem a imagem).
Em processamento digital de imagens, existem vrios tipos de aplicao, onde se pode-se
citar duas aplicaes bastante relevantes:
Melhoria da informao visual para a interpretao humana.
Processamento de dados de cenas para percepo automtica atravs de mquinas.
O processamento digital de imagens tem como objetivo melhorar as caractersticas
estruturais da imagem fornecendo subsdios para a sua interpretao, de tal forma a permitir, por
exemplo, a sua utilizao para o reconhecimento de ambientes para aplicaes em robtica e
tambm para outros processamentos, onde os algoritmos realizam operaes com o objetivo de
segment-las.
Um sistema de processamento de imagem formado por um conjunto de etapas, como
ilustrado na Figura 7 e descrito a seguir, capaz de produzir um resultado a partir do domnio do
problema. A etapa da aquisio responsvel pela captura das imagens por meio de um dispositivo
e converter para o padro do seguinte processamento digital. Observando-se sempre qual ser o
dispositivo a ser utilizado e qual o estado do ambiente, sua iluminao, objetos da cena, etc.
(PEDRINI & SCHWARTZ, 2008).
Ainda conforme o mesmo autor, mesmo tendo cuidado com o estado do ambiente, a imagem
pode apresentar imperfeies devido iluminao, textura dos objetos, reflexos, etc. Portanto
utiliza-se a etapa do pr-processamento, que tem por seu objetivo melhorar a imagem com a
utilizao de tcnicas onde visam atenuar os rudos, fazer correes de contraste, brilho e
determinadas propriedades da imagem. Na etapa de segmentao realizada a extrao da parte ou
objeto de interesse que est contida na imagem, onde geralmente baseia-se na tcnica de deteco
de bordas ou similaridade na imagem. J as etapas de representao e descrio so responsveis
respectivamente por: armazenar e manipular os objetos de interesse que foram extrados da
imagem; a extrao de caractersticas ou propriedades que venham a ser utilizadas na discriminao
entre classes de objetos. Onde estas caractersticas so, em geral, descritas por atributos numricos
que formam vetores de caractersticas.
25
Figura 7. Etapas de um sistema de processamento de imagens.
Fonte: Adaptado de Pedrini e Schwartz (2008).
Por fim, a etapa de reconhecimento e interpretao tambm respectivamente: o processo
que identifica ou rotula os objetos da imagem baseando-se nas caractersticas disponibilizadas pelos
descritores; e tem como funo atribuir um significado ao conjunto de objetos reconhecidos. A base
do conhecimento contm o conhecimento sobre o domnio do problema codificado na forma de um
sistema de processamento de imagem. A base do conhecimento dependente da aplicao, podendo
variar sua complexidade e tamanho (PEDRINI & SCHWARTZ, 2008).
A seguir na Figura 8 possvel ver os componentes de um sistema de processamento de
imagens, os quais desempenham um importante papel em um sistema de processamento de imagem,
sendo utilizados na aquisio, armazenamento, processamento, transmisso e exibio de imagens.
26
Figura 8: Componentes de um sistema de processamento de imagens.
Fonte: Adaptado de Adaptado de Pedrini e Schwartz (2008).
Para cada uma das etapas apresentadas na Figura 7, tm-se determinados dispositivos ou
componentes, sendo diferentes para cada rea que ser utilizada dependendo da necessidade e
capacidade para obter melhores componentes (PEDRINI e SCHWARTZ, 2008).
Na etapa de aquisio existem diversos tipos de dispositivos, sendo que mais comuns so
cmeras de vdeo, tomgrafo mdico, digitalizadores e satlites. Os dispositivos de aquisio
apresentam diferentes caractersticas, entre elas a resoluo, velocidade da operao a preciso e o
custo. As imagens precisam de alta capacidade de armazenamento, pois para o Processamento de
Imagem necessita de boas qualidades de imagem para que possa ter um bom resultado do que se
espera. Existem maneiras de se armazenar as imagens, algumas citadas na Figura 8, cada um para
um caso especfico e uma necessidade diferente (PEDRINI e SCHWARTZ, 2008).
J na etapa de exibio, o principal componente o monitor de vdeo, que por sua vez vem
renovando a tecnologia. O monitor de tubos de raios catdicos est sendo trocados pelo monitor de
cristal liquido e pelo monitor de plasma, trazendo melhor qualidade, e melhor nitidez, para o
usurio. Outras vantagens so a diminuio do consumo de energia, o espao ocupado na mesa
menor e por final, uma das mais importantes, menos agressivo para o olho humano, pois tem
27
baixa ou nenhuma emisso de radiao nociva aos olhos. No podendo esquecer tambm de citar as
formas de imagens no papel, como a reproduo (PEDRINI & SCHWARTZ, 2008).
A etapa de processamento varia conforme a necessidade de desempenho requerido pela
aplicao. Quanto maior for o processamento, mais potente precisa ser o processador, pois
determinadas tarefas podem demandar alto poder de processamento, tendo como exemplo o
reconhecimento de objetos em tempo real, onde o trabalho constante e carregado. Entretanto,
muitos sistemas de processamento de imagens podem ser executados por microprocessadores
convencionais. Na etapa dos programas consiste em rotinas ou mdulos especficos para realizar
determinada tarefa. Bibliotecas podem ser integradas em cdigos desenvolvidos por usurios ou em
pacotes sofisticados de processamento de imagens. (PEDRINI & SCHWARTZ, 2008).
O processamento de imagem basicamente explicado pelo processo de aquisio de uma
imagem por uma maneira especfica, o processamento dessa imagem utilizando os algoritmos
necessrios para cada domnio do problema, e depois a exibio da soluo para o usurio. Estes
algoritmos podem ser diversos, alguns deles como Limiarizao, Dilatao, Eroso, Componentes
Conexos sero explicados a seguir (PEDRINI & SCHWARTZ, 2008).
2.2.1 Rudo na Imagem
A imagem geralmente vem com alguma degradao no seu processo de aquisio,
transformao ou processamento. Estas degradaes normalmente so chamadas de rudos. Alguns
tipos de rudos so o rudo Impulsivo, Gaussiano, Poisson (PEDRINI & SCHWARTZ, 2008)
Exemplos de rudo Impulsivo, Gaussiano sero exemplificados a seguir.
O rudo impulsivo acontece quando h ocorrncia aleatria de pixels com valores de
luminosidade que diferem significativamente dos valores dos seus pixels vizinhos. Um tipo de rudo
impulsivo em que imagem degradada pela ocorrncia de pixels brancos e pretos conhecido como
rudo sal-e-pimenta, o rudo Gaussiano acontece pela ocorrncia de pixels com valores de
intensidade que variam conforme a distribuio Gaussiana. (PEDRINI & SCHWARTZ, 2008).
28
(a)
(b)
(c)
Figura 9. Exemplos de Rudo.
Fonte: Adaptado de Marques e Vieira (1999).
Na Figura 9(a) apresentada uma figura normal, sem a presena de rudos, j na Figura 9(b)
apresentado imagem com o rudo impulsivo (sal-e-pimenta) e por final na Figura 9(c)
apresentado imagem com rudo Gaussiano.
Estes rudos podem modificar muito o resultado esperado do problema, dependendo do
rudo, no sendo tratado com algum algoritmo de filtragem pode ter um fracasso total no resultado.
Podem-se citar exemplos de descontinuidade de um objeto ocasionado por um reflexo da luz, onde
a utilizao da combinao dos algoritmos pode resolver o problema dependendo da gravidade e de
como se utiliza (PEDRINI & SCHWARTZ, 2008).
2.2.2 Morfologia Matemtica
Morfologia significa o estudo da forma, porm em (PDI) a morfologia matemtica significa
um conjunto de mtodos. Segundo Marques e Vieira (1999):
Assim como na biologia, onde a expresso morfologia se refere ao estudo da estrutura dos
animais e plantas, a morfologia matemtica, elaborada inicialmente por Georges Matheron e Jean
Serra [Serra 1982], concentra seus esforos no estudo da estrutura geomtrica das entidades
presentes em uma imagem. A morfologia matemtica pode ser aplicada em vrias reas de
processamento e anlise de imagens, com objetivos to distintos como realce, filtragem,
segmentao, deteo de bordas, esqueletizao, afinamento, dentre outras.
O princpio deste mtodo testar a imagem com o elemento estruturante, ou tambm
chamado de kernel, e analisar de qual forma este kernel cabe ou no na imagem. O formato destes
29
elementos estruturantes so to simples quanto matrizes, que determina quais pixels da imagem so
retirados ou quais so adicionados aos objetos, consecutivamente eroso e dilatao, as operaes
fundamentais da morfologia matemtica (BAUERMANN, 2008).
Tambm necessrio saber o que objeto e o que fundo, em uma imagem binria.
Imagens binrias so imagens em que cada pixel pode assumir dois valores: em geral o zero
representado como preto, e o fundo; o branco o objeto, e pode ter valor de 1 ou de 255
(BAUERMANN, 2008).
Eroso:
O processo de eroso consiste na imagem e no kernel, que responsvel por fazer a
alterao da imagem, o kernel pode ter diferentes formas e tamanhos, dependendo de cada
necessidade. (PEDRINI & SCHWARTZ, 2008).
Na operao de eroso, o kernel sobreposto imagem em todas as posies
possveis por um loop. O pixel que fica na posio da origem do kernel modificado da
seguinte maneira:
Se o elemento estiver em parte sobre o objeto e em parte sobre o fundo, o pixel que
est na posio da origem passa a ser fundo. Portanto um pixel s pode permanecer no
objeto (com valor 1) se, quando a origem do kernel estiver sobre a imagem, estando
representado na Figura 10 (BAUERMANN, 2008).
Figura 10. Exemplo de Eroso.
Fonte: Adaptado de Marques e Vieira (1999).
30
Dilatao:
O processo de dilatao tambm consiste na imagem e no kernel, que responsvel
por fazer a alterao da imagem, este kernel pode ter diferentes formas e tamanhos,
dependendo de cada necessidade. (PEDRINI & SCHWARTZ, 2008).
O processo de dilatao consiste em obter a reflexo do kernel sobre sua origem e
depois deslocar esta reflexo pela imagem que se deseja fazer a dilatao. A dilatao de
uma imagem por um kernel , ento, o conjunto de todos os deslocamentos para os quais a
interseo entre parte da imagem e o kernel inclui pelo menos um elemento diferente de zero
(MARQUES & VIEIRA, 1999).
Ou seja, na dilatao o que muda que quando o elemento est em parte sobre o
fundo e em parte sobre o objeto, o seu centro passa a ser objeto. Isto aumenta o tamanho do
objeto, podendo ser observado na Figura 11.
Figura 11. Exemplo de Dilatao
Fonte: Adaptado de Marques e Vieira (1999).
Abertura:
Abertura composta por uma eroso seguida de uma dilatao. Mesmo sendo
operaes opostas, uma no desfaz a outra. O resultado de uma abertura depende da imagem
inicial, mas pode ser uma imagem com uma borda mais lisa, eliminao de rudo ou
pequenos defeitos, ou o aumento de buracos (BAUERMANN, 2008).
31
Figura 12. Seqncia para Abertura: Eroso e Dilatao.
Fonte: Bauermann (2008).
Na Figura 12 observa-se que j a parte da eroso j abriu vrias reas no smbolo de
paus. Mas por sua vez, sendo feito apenas a eroso, o smbolo fica com um tamanho menor,
portanto realizada uma dilatao em seguida para que a imagem retorne ao tamanho inicial
(BAUERMANN, 2008).
Fechamento:
Fechamento o oposto da abertura, ocorre com uma dilatao seguida de uma
eroso. Algumas vezes completa uma textura (como no exemplo do smbolo de paus), ou
pode unir linhas que estavam prximas, mas no se tocavam (BAUERMANN, 2008).
possvel fechar completamente o smbolo do ltimo exemplo usando duas
dilataes e depois duas eroses. Tambm possvel mudar a forma do elemento
estruturante para adaptar o resultado s necessidades de cada projeto ou experimento,
podendo ser visualizado na Figura 13 (BAUERMANN, 2008).
32
Figura 13. Seqncia para Abertura: Dilatao e Eroso.
Fonte: Bauermann (2008).
2.2.3 Subtrao de Background
O termo Background definido como um conjunto de pixels na imagem que no
apresenta movimento, ou seja, so os pixels que no fazem parte dos objetos em movimento do
ambiente. Explicando de outra forma, se uma imagem capturada por uma webcam com pessoas em
movimentao, o Background seria toda a cena capturada pela webcam, menos as pessoas em
movimentao, portanto o Background toda a parte esttica da cena capturada pela webcam
(FRANCA, 2007).
Ainda conforme o mesmo autor, aps a aquisio do Background, num segundo momento,
enquanto o sistema captura os frames do ambiente pela webcam, ser possvel perceber objetos que
se movem na cena. As imagens, obtidas a partir de ento, apresentam na cena onde se encontram os
objetos que se movem quando identificam valores dos pixels diferentes dos pixels do Background.
Portanto, toda regio das imagens do ambiente que destoam do Background em determinado grau
uma candidata a objeto que se move. Uma das formas de computar a diferena entre regies
calcular a subtrao entre o Background e a imagem atual. Essa tcnica de deteco e segmentao
de movimento conhecida como Subtrao de Background.
Subtrao de Background pode ser desenvolvida com diversas tcnicas de segmentao de
objetos em uma cena para aplicaes que necessitam identificar algum movimento em uma cena.
33
Trata-se de uma comparao de uma imagem com uma mdia de imagens, o Background. As reas
do plano de uma imagem que tem uma diferena significativa entre as imagens observadas e
estimadas indicam a movimentao do objeto.
Figura 14. Exemplo de Subtrao de Background
Adaptado de: Song (2012).
O nome Subtrao de Background vem da tcnica simples de subtrair uma imagem
capturada de um Background, sendo que o background a mdia aritmtica de um nmero N de
imagens capturadas pela webcam (IVOR, Ano Desconhecido).
A Figura 14 apresenta uma sequncia de imagens que mostra como a Subtrao de
Background. Na Figura A apresentada o Background selecionado. J na Figura B apresentada a
imagem normal capturada por algum dispositivo. Na figura C foi executado a Subtrao de
Background sem alterao da imagem, ou seja, no tinha uma pessoa mudando a cena do
background. J na Figura D executado a Subtrao de Background com uma alterao na imagem,
com uma pessoa no centro da cena. Todos os pixels diferentes do background so reconhecidos
como uma alterao, e por final classificado com uma movimentao.
3 DESENVOLVIMENTO
Primeiramente importante explicar algumas modificaes feitas do projeto do TCC I para
o TCC II. No decorrer do trabalho, foi descoberto que no seria possvel simular mudana de canal
no Ginga-NCL, pois o Ginga-NCL tem o objetivo de incluso de contedo por canal.
Com esta descoberta, muitas mudanas foram feitas em todo projeto. A mudana mais
significativa do projeto foi na forma do objetivo principal da funcionalidade do sistema. Antes o
objetivo seria controlar a TV Digital Interativa por movimentaes especficas realizadas pelo
telespectador, estas movimentaes seriam reconhecidas pelo sistema, e cada movimentao
reconhecida realizaria uma funo especfica cadastrada no sistema.
Agora a funo principal do sistema mudou, no ser mais atravs de movimentaes
especficas cadastradas no sistema, mas por movimentao em uma rea de interesse do vdeo, ou
seja, foram definidas estas reas de interesse, e marcadas no vdeo que apresentado para o
telespectador, e quando ocorre alguma alterao (movimentao) nestas regies, o sistema
reconhece como um boto pressionado, sendo que cada boto realiza uma funo. Posteriormente
ser melhor explicado e apresentado imagens do sistema.
Esta alterao necessitou de uma alterao do ttulo do trabalho. Do ttulo anterior:
Desenvolvimento de uma Ferramenta para Interpretao de Gestos para Controle da TV Digital
Interativa para Desenvolvimento de uma Ferramenta para Interao com TV Digital Atravs de uma
Webcam.
Outra alterao relevante foi na utilizao do set-top-box virtual para os principais testes,
anteriormente seria utilizado o Ginga-NCL, que foi alterado pelo Xlet View, que seria mais
eficiente para o design do desenho no simulador, pois a linguagem utilizada era o Ginga-J, e no
mais a linguagem LUA utilizada no Ginga-NCL. Esta escolha foi feita por um conhecimento maior
da linguagem Java.
Com a alterao do simulador para um que utilizava a linguagem Java, tambm foi decidido
a alterao da linguagem da implementao do sistema que faria o processamento de vdeo, da
linguagem C++ foi alterada para a linguagem Java, pelo mesmo motivo de maior domnio da
linguagem.
35
Este captulo do trabalho basicamente dividido em duas partes, uma onde so apresentados
os requisitos funcionais, requisitos no funcionais, os diagramas de caso de uso, de viso geral, de
classes, atividade e sequencia, partes estas da modelagem do projeto proposto.
J na segunda parte deste tpico apresentado a implementao do projeto, resultados
obtidos e melhorias feitas no decorrer do projeto.
3.1 REQUISITOS
Os requisitos podem ser classificados em funcionais e no funcionais, o que proporciona
uma melhor visualizao das funcionalidades que o sistema a ser implementado deve realizar. A
seguir sero apresentados os requisitos que correspondem para a realizao deste trabalho de
concluso de curso.
3.1.1 Requisitos Funcionais
Os requisitos funcionais so os requisitos que descrevem os comportamentos do sistema, as
aes realizadas com as entradas de informaes, ou seja, eles descrevem as o que o sistema tem
que fazer. Os principais requisitos funcionais da ferramenta proposta esto detalhados na Figura 15.
Figura 15. Requisitos Funcionais
36
RF01 O sistema deve monitorar o ambiente no campo de viso que a webcam
captura os frames e onde estaro os telespectadores realizando as movimentaes e
verifica onde (qual rea), o telespectador est realizando movimento;
RF02 Sistema calcula o Background da cena monitorada pela webcam, com uma
mdia de cenas capturadas;
RF03 A partir do monitoramento do telespectador pela webcam, a ferramenta
sempre verifica se os movimentos dos telespectadores coincidem em alguma rea de
interesse;
RF04 Aps a verificao, a ferramenta deve realizar a funo relacionada com a rea
de interesse que teve movimento;
3.1.2 Requisitos No-Funcionais
J os requisitos no-funcionais mostram como dever ser feito. So relacionados como
padres de qualidade como confiabilidade, desempenho, robustez, etc. Definem se o sistema ser
eficiente ou no para a tarefa que se prope a fazer. Tambm apresentam restries e especificaes
de uso para os requisitos funcionais. Os principais requisitos no-funcionais da ferramenta proposta
esto detalhados na figura 16.
37
Figura 16. Requisitos No-Funcionais
RNF01 A ferramenta deve estar sempre monitorando, e as respostas devem ser em
tempo real;
RNF02 A webcam deve conter uma qualidade de no mnimo 2 Mega Pixels para
garantir uma qualidade de imagem significativa com menos rudos;
RNF03 A ferramenta deve monitorar qualquer pessoa no raio de viso da cmera, ou
seja, ela reconhecer o movimento de qualquer telespectador neste raio;
RNF04 A resposta ao comando deve ser instantnea, aumentando a impresso de
tempo real;
RNF05 O sistema que ir simular a TV Digital Interativa dever ser o Simulador
Xlet View na plataforma Linux;
38
RNF06 O sistema operacional que ser utilizado para programar a ferramenta dever
ser no ambiente Linux Ubuntu.
3.2 DIAGRAMA DE VISO GERAL
No diagrama de viso geral, representado pela Figura 17, so explicados quais so as
principais funes do sistema, que j foram apresentados no diagrama de caso de uso, e como
acontece a sequencia das atividades do sistema. Observa-se que partindo do pr suposto que a TV
Digital e o Set-Top-Box estejam ligados.
Figura 17. Diagrama de Viso Geral
39
3.3 DIAGRAMA DE CASOS DE USO
No diagrama de caso de uso da Figura 18, pode-se ter melhor visualizao da dinmica do
sistema, pois neste diagrama utiliza-se a estrutura dos Atores e suas respectivas Funes, os
atores deste sistema podem ser visto pelo diagrama, que so o Telespectador e o Sistema. E este
diagrama est relacionado s funcionalidades do sistema que ser modelado, onde se observa quem
responsvel pelas funcionalidades.
Figura 18. Diagrama de Casos de Uso
Observando o diagrama pode-se visualizar que o Telespectador realizando um movimento
controla a TV Digital Interativa, sendo que para ser possvel este controle da TV, primeiro o sistema
40
ir fazer todo um trabalho de processamento por trs, comeando pelo monitoramento dos
movimentos do telespectador, seguindo pela verificao na base de conhecimento do sistema, assim
verificando se o movimento realizado corresponde a alguma atividade, caso corresponda, o sistema
ter interpretado qual foi o comando do telespectador e assim realizar a funo de seu comando,
tornando possvel o controle da TV Digital Interativa.
3.4 OUTROS DIAGRAMAS
Neste tpico do trabalho sero mostrados os diagramas com as funes mais detalhadas de
cada processo utilizado da UML, onde primeiramente ser apresentado o diagrama de classe, onde
se encontram todas as classes que iro fazer parte do sistema com seus atributos e procedimentos.
Depois ser apresentado quando necessrio os diagramas de atividades que tem a funcionalidade de
apresentar as atividades de cada classe ou processo e em seguida o diagrama de sequencia, o qual
tem a funo de mostrar a sequencia de cada etapa da classe apresentada.
3.4.1 Diagrama de Classes
Neste tpico sero apresentados dois diagramas de classes, um o diagrama de classes do
projeto que faz a parte do processamento digital de imagem para identificar as movimentaes na
cena e o outro diagrama, apresenta a classe para o desenvolvimento da aplicao do Xlet View
Pode-se ver o diagrama de classes do pro na Figura 19, quis as funes e procedimentos das
classes que sero desenvolvidas para a criao do sistema.
41
Figura 19. Diagrama de Classes do sistema de processamento de imagem.
Pode-se ver no diagrama de classes da na Figura 19, quis as funes e procedimentos das
classes que sero desenvolvidas para a criao do sistema de processamento digital de imagens, o
sistema que identifica as movimentaes na cena.
Cada classe tem seus atributos onde apenas as funes da mesma classe podem manipul-
los, e cada classe tem tambm as funes e procedimentos que podem ser utilizados por uma
declarao da classe por outra classe.
42
Figura 20. Diagrama de classes do Simulador Xlet View
Na Figura 20 apresentado o diagrama de classes do Xlet View desenvolvido em Java, que
o simulador do set-top-box utilizado para fazer os principais testes do sistema. Apresenta todas as
funes existentes da classe. Como pode ser observado, este projeto trata-se de apenas uma classe,
pois um projeto simples que tem apenas a funo de abrir um arquivo e ler a primeira linha para
saber qual foi o boto pressionado e desenhar no simulador. Imagens sero apresentadas a seguir.
3.4.2 Diagramas de Atividade
Os diagramas de atividade que sero apresentados a seguir tem uma funo bastante
importante para o entendimento de cada algoritmo desenvolvido, qual a funo separada que faz no
sistema.
43
3.4.2.1 Diagrama de Atividade de Seleo de Frames para Calculo do Background
No primeiro diagrama de atividade, o diagrama de atividade de Seleo de Frames para
Calculo do Background apresentado na Figura 21, explica o funcionamento do algoritmo que
realiza a seleo dos frames capturados para depois calcular o background da imagem.
Figura 21. Diagrama de Atividade de Seleo de Frames para Calculo do Background
O algoritmo comea com a seleo do frame atual capturado pela webcam, verificado por
uma varivel global se o sistema j est calculando o background em uma Thread. Se estiver
calculando o background, no faz nada e vai para o prximo frame, caso contrrio, verificado pelo
44
calculo matemtico de MOD 3 do contador dos frames capturados pela webcam, fazendo com que
sejam selecionados de trs em trs frames, quando no o terceiro frame, no faz nada e captura o
prximo frame, caso contrrio, coloca o frame em uma lista que ser utilizada para o calculo do
background. Este processo realizado at juntar 30 frames (nmero definido a partir de testes
realizados com o algoritmo e mostraram um melhor resultado), Aps o contador chegar a 30 frames
capturados, o processo finalizado.
3.4.2.2 Diagrama de Atividade Clculo do Background
O diagrama de atividade apresentado na Figura 22 do calculo do background mostra o
funcionamento do algoritmo que faz o clculo da mdia do background.
Figura 22. Diagrama de Atividade do Clculo do Background
45
O algoritmo pega a lista com todos os frames e em um lao de repetio at somar todos os
pontos pixels de cada frame. O padro de cores utilizado o RGB (Red, Green e Blue), o
algoritmo soma separadamente cada canal de cor do padro e guarda em um frame provisrio a
soma de cada canal de cor. Aps a soma de todos os canais de cores de todos os frames
selecionados for concluda, cada canal de cor dividido pelo nmero de frames somados, aps esta
etapa, obtido mdia de todos os frames, ento este frame selecionado como o Background da
vez, at ser calculado o novo Background. Por final a lista com os frames selecionados zerado
para a nova seleo de frames.
3.4.2.3 Diagrama de Atividade Subtrao de Background
Figura 23. Diagrama de Atividade do Subtrao de Background
46
A Figura 23 apresenta o diagrama de atividade da Subtrao de Background mostra em um
geral todo o funcionamento do sistema, partindo do ponto em que o background j est calculado,
nesta parte o sistema ir identificar a movimentao na cena. Este algoritmo fica em um lao
infinito capturando os frames pela webcam, ento o sistema subtrair o background de cada frame
capturado, e todo pixel diferente de zero identificado como movimentao na cena.
3.5 IMPLEMENTAO
Para a realizao deste trabalho de concluso de curso e realizao dos testes foi necessrio
o desenvolvimento de dois sistemas, um sistema realiza a captura dos frames, calcula o background
e verifica a movimentao na cena. O outro simula a televiso digital interativa, executando
pressionamento dos botes Azul, Amarelo, Verde e Vermelho do controle da televiso.
Todos os dois sistemas foram utilizados a linguagem de programao Java no ambiente de
desenvolvimento Netbeans 7.1 com o JDK 6.
O primeiro sistema tem a funo de capturar os frames e a partir da Subtrao de
Background identificar as movimentaes na cena. J o segundo tem o papel de simular o set-top-
box e a TV Digital Interativa, utilizando o Xlet VIew, que utilizado a linguagem Java-J.
Posteriormente ser mais bem explicado cada sistema, e como foram desenvolvidos os algoritmos.
3.5.1 Aquisio de Informao
Para uma explicao melhor de como foi desenvolvido e como funciona o sistema, ser
explicado primeiro como feita a aquisio da informao, e depois desta aquisio, como so
realizadas todas as funcionalidades do sistema.
3.5.1.1 Imagem
A aquisio da imagem feita por uma webcam conectada ao computador. Estas imagens
so os frames capturados e que so utilizados para o processamento de vdeo. Para a aquisio dos
frames, utilizada a biblioteca JavaCV, que uma biblioteca que veio a partir e depende do
OpenCV para funcionar.
A Figura 24 apresenta um exemplo de um dos frames capturados pela webcam e que
utilizado em todo o processamento para clculo do background e para a Subtrao de Background,
que a parte principal do sistema para a deteco de movimento.
47
Figura 24. Imagem de um frame capturado pela webcam
3.5.1.2 Background
Aps a captura das imagens, utilizado o algoritmo do clculo do background, ara criar esta
informao background. Informao que ser utilizada posteriormente pelo sistema para a
deteco de movimento.
O background calculado em paralelo com o sistema, e captura os frames, quando termina o
calculo de um background, iniciada a nova seleo de frames para a atualizao do novo
background. Esta atualizao faz com que seja possvel que o sistema possa trabalhar com a
alterao da cena capturada pela webcam.
Na Figura 25 apresentada uma imagem de exemplo de como fica o background depois de
calculado. Como pode observar, a imagem fica meio borrada, pois a mdia dos frames
selecionados, e cada frame teve uma alterao da imagem.
48
Figura 25. Imagem do Background
3.5.1.3 Movimento
Com a informao de background pronta, a prxima etapa do sistema gerar a informao
movimento, que um frame com a imagem resultado da subtrao da imagem atual pelo
background. Esta informao adquirida aps esta subtrao, fazendo uma leitura deste frame, e
verificado se existem pixels diferentes de zero. Pois cada pixel da imagem representado pelo
conjunto de trs nmeros inteiros em ordem, representando o sistema de cores RGB, j explicado
anteriormente. Cada pixel diferente de zero, reconhecido com uma alterao do background para a
imagem, ou seja, houve uma movimentao de algum objeto na cena, e automaticamente altera o
pixel daquela posio.
A seguir apresentada a Figura 26 que mostra uma imagem exemplo de como ficam os
frames aps a subtrao do background da imagem, no resultado da Subtrao de Background
apresentado diferena das imagens, onde as partes brancas representam as movimentaes da
cena, e o telespectador pode acompanhar para saber onde est sua mo em relao aos botes
simulados.
49
Figura 26. Imagem da deteco de movimento
A seguir possvel ver como fica a Subtrao de Background no Cdigo 1. Nas linhas 5, 6 e
7 possvel ver o calculo da Subtrao Background, onde uma varivel para cada canal RGB
recebe o resultado da subtrao da imagem do Background.
1 for (int i = 0; i < backgroud.getWidth(); i++) {
2 for (int j = 0; j < backgroud.getHeight(); j++) {
3 Color c = new Color(backgroud.getRGB(i, j));
4 Color c1 = new Color(img.getRGB(i, j));
5 int dr = c.getRed() - c1.getRed();
6 int db = c.getBlue() - c1.getBlue();
7 int dg = c.getGreen() - c1.getGreen();
8 int dif = ((dr > 0 ? dr : -dr) + (dg > 0 ? dg : -dg) + (db > 0 ? db : -db)) / 3;
9 imgf.setRGB(i, j, new Color(dif, dif, dif).getRGB());
10 }
11 }
Cdigo 1. Trecho de cdigo do Calculo do Background Subtraction Detectar Movimento
50
3.5.1.4 Boto Pressionado
O boto pressionado reconhecido quando acontece uma movimentao por mais de quatro
segundos em uma das quatro reas desenhadas no vdeo que apresenta a movimentao do usurio
na cena, estas reas so destacadas por desenhos quadrados e nas cores Azul, Amarelo,
Verde e Vermelho no campo de visualizao do telespectador. Estes botes so simulaes dos
botes de integrao do controle da TV Digital Interativa.
Figura 27. Imagem dos botes do sistema
Na Figura 27 pode-se observar como os botes de interatividade do controle remoto com a
TV Digital ficaram destacados no sistema de processamento das imagens. Eles so desenhados com
prprios recursos de desenhos 2D do Java, onde informado qual o tamanho e posio do quadrado
que ser desenhado no painel, que neste caso, nos frames processados pela Subtrao de
Background onde mostra as movimentaes na cena, explicado anteriormente.
O pressionamento do boto reconhecido atravs de quatro verificaes, onde cada
verificao responsvel por um boto. Atravs do tamanho e posio dos botes desenhados,
possvel verificar separadamente as reas respectivas da Subtrao de Background, ou seja,
verificado nessas reas se algum pixel diferente de zero (como j explicado anteriormente na
movimentao).
Um fator importante que a partir de testes feitos com o sistema funcionando foi estimado
que para reconhecer o boto pressionado, necessrio que a rea do boto reconhea movimentao
em no mnimo 70% de toda sua rea e apenas depois de quatro segundos consecutivos
reconhecendo estes 70% de movimentao em sua rea.
Foram feitos vrios testes diferentes, com o tamanho dos botes, porcentagens mnima para
reconhecer o pressionamento e tempo de movimentao na rea para reconhecer o pressionamento
do boto. Estes testes foram realizados para chegar a um resultado bom e seguro para no
reconhecer qualquer movimento como pressionamento do boto.
51
O tamanho do boto foi calculado a uma distncia de mais ou menos um metro do
telespectador da webcam que captura os movimentos, pois quanto mais distante, menor fica o
tamanho da mo do telespectador, j a porcentagem de rea foi feita a partir do tamanho da mo e
do quadrado, para que no tivesse o problema do tamanho da mo ficar menor do que o tamanho do
que 70% do tamanho dos botes.
A porcentagem que deve ocupar a rea do boto importante para evitar que qualquer
objeto ou parte de mo que se posicione na rea de algum boto, reconhea como um desejo do
telespectador de pressionar um boto.
J o tempo de quatro segundos foi estipulado para evitar que algum objeto ou telespectador
por passagem nas reas reconhecidas como botes sejam reconhecidos como pressionamento de um
boto. A partir dos testes concluiu-se que os valores definidos tanto para o tamanho do boto, rea a
ser ocupada por movimentao e tempo de permanncia, so valores satisfatrios com os resultados
obtidos.
3.5.2 Sistema de Processamento
A partir de todo o detalhamento feito sobre o funcionamento do sistema feito anteriormente,
agora apresentado como ficou o sistema de processamento na Figura 28, a figura mostra uma
imagem tirada do sistema em funcionamento. No sistema o telespectador pode acompanha todas as
partes descritas no tpico anterior.
No quadrado 1 destacado na Figura 28 o telespectador pode visualizar qual o background
calculado do momento, no quadrado 2, o telespectador pode visualizar a captura dos frames da cena
normalmente, ou seja, pode ser visto tudo o que est acontecendo no momento e poder acompanhar
sem nenhum processamento. J no quadrado 3, possvel visualizar o que identificado como
movimento da cena, j explicado na aquisio de informao do movimento.
52
Figura 28. Imagem do Sistema em funcionamento
Este sistema roda e paz todo o processamento em um computador, pelo fato de no existir
um set-top-box com uma webcam integrada, todo o processamento tem ser feito no computador
para depois interagir com o Xlet View, que tambm roda no computador simulando um set-top-box,
ou ser integrado at mesmo com um set-top-box. Os dois testes feitos com o Xlet View e o set-top-
box sero apresentados a seguir.
3.5.3 Aplicao no Xlet View
A aplicao no Xlet View a outra parte do TCC, esta aplicao pode executar sistemas
desenvolvidos em Java. A aplicao utilizada pode ser visualizada com a Figura 29. Utilizando esta
aplicao, foi desenvolvido um cdigo em Java tambm para fazer a leitura de um arquivo e simular
um pressionamento de boto e desenhar na tela que simula o monitor da televiso.
53
Figura 29. Imagem do Xlet View
A partir da aplicao j existente do Xlet View visualizada anteriormente, no menu
Applications, selecionado o cdigo Java desenvolvido para abrir um arquivo TXT gerado pelo
sistema de processamento dos frames capturados para ver qual boto pressionado.
A seguir apresentado um trecho do cdigo da aplicao desenvolvida, utiliza o arquivo
TXT lido para saber qual boto foi pressionado e pintar o boto na tela. Posteriormente ser
mostrado como feita esta integrao.
1 public void startXlet() throws xjavax.tv.xlet.XletStateChangeException {
2 getResources();
3 addKeyListener(this);
4 boolean a = true;
5 while (a) {
6 String s = "not read";
7 try {
54
Cdigo 2. Cdigo Java para ler qual boto foi pressionado
8 File carouselFile = new File("../../comandos.txt");
9 FileInputStream inFile = null;
10 inFile = new FileInputStream(carouselFile);
11 StringBuffer sb = new StringBuffer();
12 int b = 0;
13 while ((b = inFile.read()) != -1) {
14 sb.append((char) b);
15 }
16 s = sb.toString();
17 if (s.trim().equalsIgnoreCase("bt1")) {
18 htb.setBackground(Color.RED);
19 repaint();
20 }
21 if (s.trim().equalsIgnoreCase("bt2")) {
22 htb.setBackground(Color.GREEN);
23 repaint();
24 }
25 if (s.trim().equalsIgnoreCase("bt3")) {
26 htb.setBackground(Color.YELLOW);
27 repaint();
28 }
29 if (s.trim().equalsIgnoreCase("bt4")) {
30 htb.setBackground(Color.BLUE);
31 repaint();
32 }
33 inFile.close();
34 } catch (IOException e) {
35 e.printStackTrace();
36 }
37 }
38 htb.setBackground(Color.blue);
39 }
55
Na Figura 30 apresentado como fica o simulador Xlet View depois de ser executado o
Cdigo 2. Como possvel ver, foi reconhecido que tinha um boto pressionado no arquivo TXT, e
o sistema do Xlet View, desenhou e pintou o boto para simular o pressionamento do boto de
integrao do controle remoto.
Figura 30. Boto desenhado no Xlet View
3.5.3.1 Integrao Sistema de Processamento e Aplicao Xlet View
Aps explicar separadamente as duas aplicaes, possvel compreender melhor como
feito a integrao entre os dois sistemas, e a partir da Figura 31 visualizar uma sequncia de
imagens que mostra a aplicao funcionando.
Na Figura 31 possvel ver os dois sistemas rodando no computador. Por questo de espao,
um ficou em cima do outro, mas sem atrapalhar a visualizao das aes que ocorrem nos dois
sistemas.
56
Foram criados dois quadros de destaque, para separa os dois sistemas na figura, o quadro um
apresenta o sistema de processamento de imagem, a Subtrao de Background. Na imagem
possvel ver que o telespectador est pressionando o terceiro boto da direita para a esquerda, o
boto Amarelo. Quando o sistema reconhece o pressionamento, j explicado anteriormente, o
sistema grava o nome referente ao boto pressionado em um arquivo na pasta local do executvel
do Xlet View qual o boto pressionado, e no quadro dois, possvel ver que o boto foi pintado de
Amarelo.
Figura 31. Integrao entre o Sistema de Processamento de Imagem e o Xlet View
A mensagem gravada no arquivo TXT igualmente reconhecida pelo aplicativo
desenvolvido para o Xlet View. Cada boto pressionado tem um nome diferente, que reconhecido
pelo Xlet View. Na gravao dos botes foram nomeados como bt1, bt2, bt3 e bt4, da
direita para a esquerda. Sendo ento as cores consecutivas: Vermelho, Verde, Amarelo e
Azul.
57
Na Figura 32 apresentada uma sequncia de imagens mostrando a integrao entre os dois
sistemas, pode-se observar nesta sequncia a troca de cores dos botes desenhados no Xlet View
(quadro dois da Figura 31) conforme os botes so pressionados no sistema desenvolvido para a
deteco de movimento e gravao do boto pressionando no arquivo TXT (quadro um da figura
31).
(a)
(b)
(c)
(d)
Figura 32. Sequncia de imagens mostrando a integrao do sistema de processamento com o Xlet
View
Na Figura 32 imagem (a) quando o telespectador posiciona a mo no boto vermelho, o
sistema grava no arquivo TXT o comando bt1. Na imagem (b), o boto pressionando o boto
verde, e seu comando gravado no TXT bt2. Na imagem (c), o boto pressionado o
amarelo, e o comando bt3. E por ultimo, na imagem (d), o boto Azul pressionado e o
comando gravado bt4.
58
Na sequncia de imagens possvel ver que as cores pintas nos botes do aplicativo do Xlet
View so correspondentes aos botes pressionados no sistema de deteco de movimento e
pressionamento de botes.
Enquanto o sistema de processamento de imagem para deteco de movimentos e
pressionamento dos botes grava no arquivo TXT os comandos referentes aos botes pressionados
j citados anteriormente, o aplicativo do Xlet View em um loop infinito l o arquivo TXT de
comandos e quando tiver um comando de boto pressionado, o aplicativo do Xlet View, pinta o
boto com a cor referente ao boto pressionando no sistema de deteco de movimento.
3.5.3.2 Integrao Sistema de Processamento e Set-Top-Box
Depois dos testes realizados com o Xlet View, foi feito um teste com um set-top-box
conectado a uma TV Digital, tendo a mesma funo que o Xlet View, foi desenhado quadrados na
aplicao que roda dentro do set-top-box na linguagem LUA.
A Figura 33 apresenta uma fotografia da integrao entre os sistemas, o sistema de
pressionamento de boto executado no computador e grava o comando referente cor do boto
pressionando, enquanto o set-top-box acessa os comandos e executa o sistema na TV Digital.
Figura 33. Integrao entre o sistema e o Set-top-box conectado com a TV
59
Esta aplicao foi desenvolvida por um especialista na rea de programao LUA para
aplicaes de TV Digital Interativa para integrao com o sistema de pressionamento de botes
desenvolvido neste trabalho de concluso de curso e testes mais reais do que apenas em um
simulador de set-top-box como o Xlet View.
O sistema desenvolvido acessa pela rede um servidor Tomcat criado na mquina que
executa o sistema que identifica os botes pressionados, e grava no arquivo TXT para acesso do
Xlet View, e tambm no localhost da mquina para ser acessado remotamente pelo set-top-box e
da mesm