Você está na página 1de 75

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

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

iii

LISTA DE ABREVIATURAS
APIs CPU CRT DVB-J HDTV IHC IPTV IRD ITU-T LCD LED MPEG-2 MPH NCL PDI STB TCC TVDi UNIVALI xDSL WWW Interfaces de Programao de Aplicativos Central Processing Unit Cathode Ray Tube Digital Video Broadcasting - (Transmisso de Vdeo Digital) High Definition Television Interao Homem-Computador Servio Multimdia de Banda Larga para Incluso Social Decodificadores Integrados Setor de Normalizao das Telecomunicaes Liquid Crystal Display Ligh Emitting Diode Moving Pictures Expert Group Multimdia Home Plataform Nested Context Language Processamento Digital de Imagem Set-Top Box Trabalho de Concluso de Curso Televiso Digital Interativa Universidade do Vale do Itaja Digital Subscriber Line 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.

Interatividade a capacidade de um dispositivo interagir ou permitir interao com o seu

respectivo utilizador (GELEIJNSE; ALIAKSEYEU; SARROUKH, 2009).

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.

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;

10

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.

11

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.

12

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).

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). 14

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).

15

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).

16

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 17

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.

18

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). 19

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). 20

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 21

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.

22

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. 23

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.

24

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.

25

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 26

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).

27

(a) Figura 9. Exemplos de Rudo.

(b)

(c)

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 28

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).

29

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).

30

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).

31

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. 32

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.

33

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.

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 35

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.

36

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; 37

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 38

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 39

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.

40

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 manipullos, e cada classe tem tambm as funes e procedimentos que podem ser utilizados por uma declarao da classe por outra classe. 41

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. 42

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 43

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 44

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 45

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-topbox 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. 46

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.

47

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.

48

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 2 3 4 5 6 7 8 9 10 11 } } for (int i = 0; i < backgroud.getWidth(); i++) { for (int j = 0; j < backgroud.getHeight(); j++) { Color c = new Color(backgroud.getRGB(i, j)); Color c1 = new Color(img.getRGB(i, j)); int dr = c.getRed() - c1.getRed(); int db = c.getBlue() - c1.getBlue(); int dg = c.getGreen() - c1.getGreen(); int dif = ((dr > 0 ? dr : -dr) + (dg > 0 ? dg : -dg) + (db > 0 ? db : -db)) / 3; imgf.setRGB(i, j, new Color(dif, dif, dif).getRGB());

Cdigo 1. Trecho de cdigo do Calculo do Background Subtraction Detectar Movimento 49

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. 50

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.

51

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-topbox 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.

52

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 2 3 4 5 6 7

public void startXlet() throws xjavax.tv.xlet.XletStateChangeException { getResources(); addKeyListener(this); boolean a = true; while (a) { String s = "not read"; try { 53

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 } } }

File carouselFile = new File("../../comandos.txt"); FileInputStream inFile = null; inFile = new FileInputStream(carouselFile); StringBuffer sb = new StringBuffer(); int b = 0; while ((b = inFile.read()) != -1) { sb.append((char) b); } s = sb.toString(); if (s.trim().equalsIgnoreCase("bt1")) { htb.setBackground(Color.RED); repaint(); } if (s.trim().equalsIgnoreCase("bt2")) { htb.setBackground(Color.GREEN); repaint(); } if (s.trim().equalsIgnoreCase("bt3")) { htb.setBackground(Color.YELLOW); repaint(); } if (s.trim().equalsIgnoreCase("bt4")) { htb.setBackground(Color.BLUE); repaint(); } inFile.close(); } catch (IOException e) { e.printStackTrace();

htb.setBackground(Color.blue);

Cdigo 2. Cdigo Java para ler qual boto foi pressionado 54

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.

55

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.

56

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. 57

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 58

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 mesma forma como no TXT, grava um comando que reconhece qual cor de boto foi pressionado. O sistema reconhece os comandos dos botes pressionados pelo prprio nome da cor do boto pressionado, azul, amarelo, verde e vermelho. A ideia a mesmo da utilizada no aplicativo do Xlet View, a diferena entre as duas aplicaes a linguagem de programao, no settop-box desenvolvido em LUA para Ginga-NCL e no Xlet View desenvolvido em Ginga-J.

59

4 CONSIDERAES FINAIS
A motivao para a pesquisa e o desenvolvimento deste trabalho de concluso de curso vem do crescente nmero de pesquisas feitas na rea de TV Digital Interativa no Brasil e o grande investimento que o governo brasileiro vem fazendo nesta rea, apostando na aceitao dos brasileiros de formas mais interativas com a TV Digital. Acredita-se que um aumento da interatividade do telespectador com a TV Digital Interativa possa aumentar mais a aceitao das TVs Digitais Interativas por parte dos telespectadores, pois se conclui que a interao com a TV Digital, alm da novidade para a atualidade, trar praticidade e vantagens para o telespectador. Outro fator motivador para este trabalho foi que alm do interesse em desenvolvimento na rea de processamento digital de imagens, a possibilidade da integrao das duas reas, utilizar o processamento digital de imagens para possibilitar o aumento da interatividade com a TV Digital Interativa. A partir do processamento digital de imagens, procurou-se aplicar mtodos para identificao de movimento em frames capturados por uma webcam, e com estas tcnicas, encontrar uma forma para controlar a TV Digital Interativa, entrando nesta parte, a proposta de aumentar a interatividade com a TV Digital Interativa. Portanto possvel destacar algumas vantagens com este trabalho. Vantagens como diminuir o uso do controle remoto, o telespectador ter as mos completamente livres, mais de um telespectador ter acesso rpido aos controles, entre outras. Uma breve introduo foi apresentada para justificar o interesse na integrao de duas reas da computao, o desenvolvimento para TV Digital Interativa e Processamento Digital de Imagens sendo que o processamento digital de imagens seriam aplicados em frames capturados por uma webcam conectada a um computador. No projeto e na fundamentao terica do TCC I, buscava-se uma ideia diferente de como controlar a TV Digital Interativa. Pensava-se em trabalhar com a tcnica de tracking a partir da movimentao de objetos nos frames capturados pela webcam e reconhecer gestos especficos cadastradas no sistema. Parte da fundamentao terica levantada no TCC I pode ser vista no apndice ao final deste trabalho.

No decorrer do desenvolvimento do sistema, depara-se com um problema: Em conversa com um especialista na rea de Ginga-NCL, descobriu-se que no seria possvel integrar funes de mudana de canal, aumentar volume, as principais funes almejadas no desenvolvimento deste trabalho. Foi encontrado apenas informaes de que no Ginga-NCL possvel desenvolver funes para um canal especfico, portanto no possibilitava a troca do canal pelo Ginga-NCL. Aps a descoberta, foi decidido realizar algumas mudanas no projeto. A principal mudana do projeto foi na forma de como realizar a interatividade do telespectador com a TV Digital Interativa. Ao invs de desenvolver um interpretador de gestos do telespectador, o objetivo agora identificar movimentao do telespectador em reas de interesse na imagem apresentada para do telespectador dos frames capturados pela webcam. Com esta alterao no objetivo principal do trabalho, foi necessrio altera o ttulo tambm: 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. Com esta alterao, foi necessrio tambm retirar alguns assunto e incluir novos assuntos. De modo geral, a fundamentao ficou dividida em duas partes, a primeira fundamentando a parte de TV Digital Interativa, os padres existentes, qual utilizado no Brasil e qual a linguagem utilizada no desenvolvimento de aplicaes, a utilizao do set-top-box e maneiras de simular um set-top-box para facilitar o desenvolvimento e testes das aplicaes desenvolvidas. A segunda parte fundamenta o processamento Digital de Imagem, apresenta as maneiras de aquisio de imagens, como funcionam os passos do processamento digital de imagens, algumas falhas e rudos que podem ocorrer na aquisio de uma imagem e como fazer um tratamento para melhorar esta imagem. Tambm apresentada a parte principal do desenvolvimento do sistema para pressionamento do boto, a Subtrao de Background para a identificao de movimento. E para finalizar o trabalho, tem o desenvolvimento do projeto, que tambm foi dividido em duas partes, sendo que a primeira apresenta a modelagem do sistema, com os diagramas de viso geral, diagrama de casos de uso, diagramas de classes e diagramas de atividades. J a segunda parte apresenta como foi feito implementao e desenvolvimento do sistema de deteco de pressionamento de boto e a aplicao que simula o set-top-box virtual para simular e testar a funcionalidade do sistema.

61

No sistema que aplica a Subtrao de Background para detectar o pressionamento de boto foi adquirido bons resultados sem a utilizao de filtros de fechamento para diminuir rudos que vem na aquisio dos frames, foi obtido um tempo de resposta esperada estipulado nos requisitos no funcionais, dando a impresso ao tempo real de execuo. Aps a concluso do sistema principal, foi desenvolvida a aplicao para o Xlet View para a simulao do set-top-box e testes de funcionalidade e integrao com o sistema. A comunicao entre os dois sistemas feito por um arquivo TXT, para que o sistema de pressionamento de boto possa gravar o comando de identificao de qual boto foi pressionado. Depois dos testes feitos no Xlet View, foi testado em uma aplicao desenvolvida para um set-top-box com a mesma funcionalidade de simulao de pressionamento de boto. O resultado obtido tambm foi bastante satisfatrio, porm tem um delay pouco perceptvel, pois o acesso feito pela rede ao servidor Tomcat criado no computador que excuta o sistema de pressionamento de boto para ler no localhost qual boto foi pressionado. Aps todos os testes do sistema e sua funcionalidade, conclui-se que esta nova forma de interatividade com a TV Digital Interativa atrativa para o telespectador, pois poder dispensar o controle remoto, deixando o telespectador com as mos livres, sendo mais gil para realizar certos comandos comuns da TV Digital. importante tambm salientar algumas limitaes existentes na utilizao de uma webcam. O sistema deve estar configurado para um intervalo aproximado da distncia entre o telespectador e a webcam que captura os frames, pois se no estiver configurado os tamanhos de botes e porcentagem de rea de movimento no boto, poder no ocupar a rea mnima para identificar um pressionamento. Outra limitao a qualidade da webcam e o cenrio da captura, pois mudanas na intensidade de incidncia da luz no ambiente ir deixar a Subtrao de Background instvel e atrapalhar na identificao do que realmente est em movimento.

4.1 Trabalhos Futuros


Aps a concluso da pesquisa bibliogrfica, do desenvolvimento e dos testes do sistema, algumas ideias de continuidades para o trabalho surgiram. Acredita-se que melhorias em Processamento Digital de Imagem podem ser feitas para ter melhoras nos resultados obtidos dos

62

que foram apresentados neste trabalho, deixar mais rpido, criar novas funes, deixar mais atrativo. Subtrao de Background uma tcnica bastante utilizada, e no decorrer da pesquisa foram encontradas vrias maneiras diferentes de como fazer, portanto um dos trabalhos futuros pesquisar, desenvolver e testar novas tcnicas de Subtrao de Background para analisar os resultados e selecionar o melhor. Outra melhoria na parte do sistema de deteco de boto pressionado que pode ser feito, utilizar tcnicas de fechamento e filtros citados nos apndices entre outros para diminuir os rudos e reduzir a interferncia da luz dos frames capturados. Outro trabalho relevante retornar a ideia da proposta inicial do TCC I de desenvolver o interpretador de gestos do telespectador, para aumentar a quantidade de funcionalidades de controle da TV Digital Interativa e tambm realizar mais aes do controle remoto.

63

REFERNCIAS BIBLIOGRFICAS
BAUERMANN, G. Um pouco de morfologia matemtica. Image Survey, 2008. Disponvel em: < http://www.imagesurvey.com.br/>. Acesso em: 18 jun. 2011. BECKER, V.; FORNARI, A.; HERWEG G. H. F.; MONTEZ, C. Recomendaes de Usabilidade para TV Digital Interativa. DAS UFSC, Florianpolis, 2006. BECKER V. Alguns Conceitos de TV Digital. Disponvel em: <http://imasters.com.br/artigo/11583/tvdigital/alguns_conceitos_de_tv_digital/> Acesso em: 15 jun. 2011. BECKER, V.; MONTEZ, C. TV Digital Interativa: Conceitos, desafios e perspectivas para o Brasil. 2 ed. Florianpolis, Editora da UFSC, 2005. BEGNAMI, M. P.; SABL, V. I. B. Interfaces para TV Digital Interativa. vol. 9. N 14, 2006. BENOIT, H. Digital Television: Satelite, Cable, Terrestrial, IPTV, Mobile TV in the DVB Framework 3, ed. [S.l.]:Elseviere, 2008. CANNITO, N. Televisao Na Era Digital - Interatividade, Convergncia e Novos Modelos de Negocio. 1 ed. 2010. CARVALHO, J. O. F. O Papel da Interao Humano-Computador na Incluso Digital. Transinformao, Campinas, 15(Edio Especial), 75-89, set./dez., 2003. CYBERTHEAT. Funai Electric Tru2way Set Top Box will reach The Cable Show 08. Disponvel em <http://www.cybertheater.com/funai-electric-tru2way-set-top-box-will-reach-thecable-show-08/>. Acesso em: 15, jun. 2011. FERREIRA, V. L. J.; PLNIO, H. R. F. Set-Top Box: Caractersticas e Necessidades. T&C Amaznia, Ano V, Nmero 12, Outubro de 2007. FRANCA. A. S. Deteco e Segmentao de Movimento Usando um Sistema de Viso Computacional. Trabalho de Concluso de Curso- Engenharia Eltrica UFES. Fevereiro de 2007. Vitria / Esprito Santo. GAO RESEARCH. Introduo ao Set-Top Box. Disponvel http://www.gaoresearch.com/STB/STB.php>. Acesso em: 23 de Maio. 2011. GAWLINSKI, M. Interactive Television Production. [S.l.]:Focal Press, 2003. GELEIJNSE, G.; ALIAKSEYEU, D.; SARROUKH, E. Comparing text entry methods for interactive television applications. ACM, New York, NY, USA, 2009. GINGANCL. Sobre Ginga. Disponvel em: <http://gingancl.org.br/>. Acesso em: 20 jun. 2011. GINGA. Home. Disponvel em: <http://www.gingancl.org.br/pt-br/sobre >. Acesso em: 10 de Maio de 2012. em: <

GINGARN. TV Digital Interativa Ginga-J. Disponvel em: <http://gingarn.wikidot.com/ gingaj> Acesso em 28 de Maio de 2012. GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing. 2. ed. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2001. IVOR, A. M. Background Subtraction Techniques. Reveal Ltd PO Box 128-221, Remuera, Auckland, New Zealand LI, H.; GREENSPAN, M. Model-based segmentation and recognition of dynamic gestures in continuous video streams. Pattern Recognition. 2010. LUGMAYR, A.; NIIRANEN, S.; KALLI, S. Digital interactive TV and metadata: Future broadcast multimedia. [S.l.]:Springer, 2004. MARQUES, O. F.; VIEIRA, H. N. Processamento Digital de Imagens. Brasport, Rio de Janeiro, 1999. MARTINS, F. Um Modelo Perceptivo do Limiarizao de Imagens Digitais. Curitiba, 2003. PARK S. C.; LIM S. H.; SIN B. K.; LEE S. W. Tracking non-rigid objects using probabilistic Hausdorff distance matching. Pattern Recognition. Vol. 38, 2005. PEDRINI, H.; SCHWARTZ, W. R. Anlise de Imagens Digitais: Princpios, Algoritmos e Aplicaes. Thomson, So Paulo, 2008. PERSIANO, R. C. M.; OLIVEIRA, A. A. F.(1989). Introduo Computao Grfica. Livros Tcnicos e Cientficos Editora Ltda. SEARA. D. M. Algoritmos para Deteco de Bordas. Curso de Ps Graduao em Cincia da Computao CPGCC UFSC, 1998 Disponvel em: <http://www.inf.ufsc.br/~visao/1998/seara/index.html>. Acesso em: 16 jun. 2011. SILVA, G. G.; TODESCO, J. L. Padres de interatividade e aplicaes da usabilidade na TV digital. Diseo en Palermo. Encuentro Latinoamericano de Diseo, 2011. SONG. J. Background Subtraction. Disponvel em: <http://cnx.org/content/m19013/latest/>. Acesso em: 12 de Junho de 2012. SOUTO. M. M. TV Interativa e seus caminhos. Trabalho Final de Mestrado Profissional. Universidade Estadual de Campinas, Campinas, 2003. TAVARES, W. M. L. Implantao da TV Digital no Brasil. Consultoria Legislativa. Set. 2001. TEIXEIRA, L. Televiso digital. [S.l.]:UCG, 2009. TELEMIDIA. Laboratrio de Sistemas Multimdias. Disponvel em: <http://www.telemidia.pucrio.br>. Acesso em: 2010. TVGLOBODIGITAL. Padres SBTV. Disponvel <http://www.tvglobodigital.com/tecnicos/padrao_sbtvd>. Acesso em: 10 de maio de 2012. 65 em:

WEBER, M. H. Ambiente de Produo para Televiso Digital Interativa. UFSC - Florianpolis, 2010. ZHENG, N.; XUE, J. Statistical Learning and Pattern Analysis for Processing. Springer Dordrecht Heidelberg London New York, 2009. Image and Video

XLETVIEW. XleTView. Disponvel em: <http://www.xletview.org/>. Acesso em: 25/052012.

66

APNDICES

A. BORDA DO OBJETO NA IMAGEM


Segundo Marques e Vieira (1999):
Define-se borda (edge) como a fronteira entre duas regies cujos nveis de cinza predominantes so razoavelmente diferentes. Pratt [Pratt 1991] define uma borda de luminosidade como uma descontinuidade na luminosidade de uma imagem. Analogamente, pode-se definir borda de textura ou borda de cor, em imagens onde as informaes de textura ou cor respectivamente, so mais importantes.[...]

Pode-se dizer que uma borda o limite ou a fronteira entre duas regies distintas, o pixel conexo com um objeto da imagem com uma textura diferente do restante desta imagem. Bordas so definidas como picos da magnitude do gradiente, ou seja, so variaes abruptas que ocorrem ao longo de curvas baseadas nos valores do gradiente da imagem. As bordas so regies da imagem onde ocorre uma mudana de intensidade em certo intervalo do espao, em uma certa direo. Isto corresponde a regies de alta derivada espacial, que contm alta frequncia espacial (SEARA, 1998).

B. DETECO DE BORDAS
Para a deteco e realce das bordas normalmente aplica-se filtros espaciais lineares de dois tipos: baseados no gradiente da funo de luminosidade e baseados no laplaciano, todos os dois costumam ser aproximados por mscaras de convoluo. Exemplos dessas mscaras so apresentadas na Tabela 1, Roberts, Sobel, Prewitt e Frei-Chen (MARQUES & VIEIRA, 1999). As mascaras so sempre formadas por pequenas matrizes para serem percorridas na matriz que forma a imagem onde se tm o interesse de detectar as bordas dos objetos contidos nesta imagem. Tabela 1. Mascaras utilizadas para estimar a amplitude do gradiente atravs de uma borda. Operador Vertical Horizontal

Roberts

Sobel

Prewitt

Frei-Chen

Fonte: Adaptado de Marques e Vieira (1999).

C. LIMIARIZAO
Limiarizao uma tcnica de PDI simples e computacionalmente rpida. Indicada para aplicaes que necessitam de identificao e extrao de objetos das imagens, onde o tempo de processamento seja relevante (MARTINS, 2003). Segundo Gonzalez e Woods (2000) a limiarizao uma forma de agrupamento de regies homogneas. Isto permite ver qual regio da imagem pertence ao mesmo espao de cor, dependendo da especificao dos limiares. Na Figura 34 apresentada uma sequencia de imagens que proporcionam melhor compreenso da funo da limiarizao e o resultado quando aplicadas.

(b) (a)

(c) Figura 34. Seqncia do processo de Limiarizao.

(d)

Na Figura 34(a) apresentada uma bolinha, o objeto em interesse para aplicar a limiarizao, com uma cor laranja fluorescente, uma cor de fcil destaque no presente ambiente, pois no contm um espao de cor prximo de outro objeto no ambiente. J na Figura 34(b) exemplificada na parte esquerda da imagem a escolha de pontos do objeto para fazer a distncia euclidiana da cor dos

pixels e classificar quais pixels pertencem ao espao de cor de interesse. Na Figura 34(c) observa-se um primeiro resultado aps a segmentao ser executada, observa-se tambm que todos os pixels que correspondem ao espao de cor de interesse (classificados pela distncia euclidiana dos pontos selecionados na Figura 34(b)) foram alterados para o preto. Mas devido reflexo da luz que bateu na parte superior do objeto, houve uma variao na cor gerando um rudo, e impedindo a classificao correta de todos os pixels. Ento na Figura 34(d) o objeto foi posicionado em um local onde a luz no refletia diretamente, tendo um melhor e mais completo resultado na classificao dos pixels que pertenciam ao espao de cor.

71

D. COMPONENTES CONEXOS
conhecido como componentes conexos um subconjunto de uma imagem, onde estes componentes da imagem esto conectados entre si por algum tipo de caminho que os liga (PEDRINI & SCHWARTZ, 2008). A Figura 35 apresenta um exemplo do resultado depois de ser aplicado o algoritmo de componentes conexos. Observando-se as regies formadas pelos componentes conexos existentes na imagem.

Figura 35. Exemplo de Componentes Conexos Fica mais fcil de entender pela Figura 35 que os pontos que pertencem a um espao de cor, ou seja, os pixels que esto prximos na mesma classificao de cor acabam sendo ligados e passam a fazer parte do mesmo componente, ou seja, esta uma forma de ligao entre estes componentes.

E. RASTREAMENTO DE OBJETOS
Rastreamento de objetos de objetos em sequencias de imagens est se tornando cada vez mais importante na tecnologia na viso computacional, vdeo de vigilncia, e as comunidades de realidade virtual. Nos ltimos anos, o desenvolvimento nesta rea resultou na disponibilidade de produtos no mercado capaz de rastrear isoladamente ou um pequeno nmero de alvos (ZHENG & XUE, 2009). O Rastreamento de objetos pode ser definido como uma tarefa de estimar o movimento de um objeto de interesse em um vdeo, prevendo a sua posio em quadros sucessivos. O que torna o problema to difcil e diminui o desempenho a presena de ocluso parcial ou total. Apesar de muitos pesquisadores buscarem solucionar o problema com vrias propostas, o problema de ocluso permanece essencialmente sem soluo (PARK et al, 2005). Um sistema de Rastreamento de objetos precisa ser robusto para ter a capacidade de rastrear com preciso e precisamente durante ou aps circunstncias visuais onde a qualidade menor do que o ideal. O desenvolvimento de um sistema robusto de rastreamento de objetos de objetos em aplicaes do mundo rela permanece um grande desafio, devido existncia de complexos e inesperados eventos visuais, incluindo a desordem de fundo, distraes, iluminao diferentes e as deformaes do objeto rastreado (ZHENG & XUE, 2009).

Figura 36. Exemplo de Tracking de um objeto. Fonte: Prpria.

Um sistema que pode detectar uma movimentao em uma sequencia de frames apenas identifica o movimento de um objeto na cena, o termo rastreamento de objetos em si quando o sistema consegue rastrear este objeto na cena para saber qual a sua trajetria e de alguma maneira o sistema consegue distinguir um objeto de outros objetos que possam estar na cena. Na Figura 36 pode-se observar uma imagem retirada de um vdeo, onde a bola laranja estava em movimento, movimento este representado pelo trao que acompanha e apresentam quais foram as ultimas posies do centro da bola no vdeo. Com isto possvel saber a trajetria realizada do objeto na cena.

74

Você também pode gostar