Desenvolvimento e Validação de Componente Decodificador de Vídeo para o Middleware Ginga

Tamanho: px
Começar a partir da página:

Download "Desenvolvimento e Validação de Componente Decodificador de Vídeo para o Middleware Ginga"

Transcrição

1 Desenvolvimento e Validação de Componente Decodificador de Vídeo para o Middleware Ginga Marco Beckmann 1, Tiago H. Trojahn 2, Juliano L. Gonçalves 1, Luciano V. Agostini 1, Leomar S. Da Rosa Junior 1, Lisane Brisolara 1 1 Universidade Federal de Pelotas, Centro de Desenvolvimento Tecnológico, Grupo de Arquitetura e Circuitos Integrados, Pelotas, Rio Grande do Sul, Brasil. {mbeckmann, juliano, agostini, leomarjr, lisane }@inf.ufpel.edu.br 2 Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação, São Carlos, São Paulo, Brasil. ttrojahn@icmc.usp.br Abstract. The Brazilian middleware for Digital TV, known as Ginga, is currently divided in two subsystems: the declarative, named Ginga Nested Context Language (Ginga-NCL), and the procedural Ginga-Java (Ginga-J). In this context, there is an effort to create a unique reference implementation of the Ginga middleware, composed by the Ginga-NCL and the Ginga-J environments in a common core named Ginga Common Core (GingaCC), reaching a full and modular version of the middleware. The Media Processing, one of the main components of the GingaCC, is responsible to handle video, audio and subtitles. This work presents an implementation of the Media Processing using the libvlc library and an evaluation of the efficiency of the component. Moreover, a graphical application for video reproduction developed reusing the Media Processing implementation is also presented. Resumo. O middleware brasileiro para a TV Digital, chamado Ginga, está atualmente dividido em dois subsistemas: o declarativo, conhecido como Ginga Nested Context Language (GingaNCL) e o procedural GingaJ. Neste contexto, existe um esforço de desenvolvimento para criar uma implementação única de referência do middleware Ginga, composta dos ambientes GingaNCL e o GingaJ em um núcleo comum, chamado de Ginga Common Core (GingaCC), almejando uma versão completa e modular do middleware. O controle de fluxos de vídeo, áudio e legenda no middleware é responsabilidade do componente Media Processing, um dos principais módulos do GingaCC. Neste trabalho é apresentada uma implementação do Media Processing usando a biblioteca libvlc, além da avaliação da eficiência do componente. Será apresentada, ainda, uma aplicação gráfica para reprodução de vídeo, desenvolvida reusando o componente Media Processing.

2 1. Introdução Em 2003, o decreto 4901 [Decreto 4901,2003] criou o Sistema Brasileiro de TV Digital (SBTVD) [SBTVD, 2011] para incentivar o desenvolvimento de um padrão nacional para TV Digital e Interativa. Em 2000 foi publicado um estudo [SET, 2000] que avaliou os padrões americano, Advanced Television System Committee (ATSC) [ATSC, 2011], europeu, Digital Video Broadcasting Terrestrial (DVB-T) [DVB, 2011)] e o japonês Integrated Services Digital Broadcasting Terrestrial (ISDB-T) [ISDB, 2011] com o intuito de descobrir qual o padrão que melhor se adaptava às necessidades brasileiras. Em 2006, o decreto 5820 [Decreto 5820, 2004] definiu o padrão japonês como padrãobase para o SBTVD, pois demonstrava uma melhor eficiência das transmissões para antenas internas e a possibilidade de acessar o sinal digital com dispositivos portáteis, característica destacada no estudo original [SET, 2000]. O novo padrão do SBTVD define ainda, três importantes diferenças sobre o padrão-base: Adoção do padrão de codificação de vídeo H.264/AVC (Advanced Video Coding). O ISDB-T usa o padrão MPEG-2 Part 2 (conhecido como H.262). Taxa de quadros por segundo (FPS, Frame Rate per Second) de 30 quadros, inclusive para dispositivos móveis. O padrão japonês usa 15 quadros/segundo para dispositivos móveis. Uso de interatividade, ausente no padrão japonês. Além da definição do padrão, um middleware é requerido para facilitar o desenvolvimento de aplicações para o Sistema Brasileiro de TV Digital. Duas soluções distintas, uma procedural, o GingaJ [Filho; Leite; Batista, 2007] suportando aplicativos escritos em Java, e outra declarativa, o GingaNCL [Soares; Rodrigues;Moreno, 2007], suportando aplicativos escritos na linguagem Nested Context Language (NCL), foram propostas. Comparando as duas abordagens o desenvolvimento de uma aplicação para o GingaJ é mais simples e rápido, devido ao fato de Java ser uma linguagem bem disseminada no meio profissional e acadêmico. Outra vantagem é o uso da orientação a objetos e também de não haver necessidade de se integrar com nenhuma outra linguagem, ao contrario do que acontece em uma aplicação implementada em NCL- Lua. Já o GingaNCL tem como vantagem a integração entre a linguagem C e Lua, podendo se trabalhar com um nível de abstração mais baixo, sendo mais adequado a aplicações que necessitem de processamento em larga escala. Isso porque Lua é linguagem mais rápida e leve em comparação a Java que, tendo o paradigma de orientação a objetos e um nível de abstração alto, requer um processamento maior [Oliveira, 2010]. Um desenvolvedor não pode escrever aplicações em NCL e rodá-las no abiente GingaJ, assim como também não é possível a execução de aplicativos Java no ambiente GingaNCL, o que exige que os dois middlewares diferentes tenham de ser instalados e usados de forma isolada.

3 Com o objetivo de criar um núcleo de execução comum entre essas duas abordagens, foi criado o Ginga Common Core (GingaCC) que oferece suporte tanto para o GingaNCL e o GingaJ, ambiente declarativo e procedural do middleware Ginga respectivamente. A interligação entre o GingaCC, GingaJ e o GingaNCL é representada na Figura 1. O GingaCC será composto de diversos componentes e o seu desenvolvimento foi distribuído entre 13 universidades brasileiras coordenadas pela Universidade Federal da Paraíba (UFPB) em um projeto chamado Ginga Code Development Network (GingaCDN), sendo que o GingaCC é o atual objetivo do projeto. Cada universidade é responsável pelo desenvolvimento de um conjunto de componentes do núcleo, criando uma rede distribuída e colaborativa de desenvolvimento de softwares para a TV Digital. Figura 1. O middleware Ginga proposto pelo projeto GingaCDN. Esse trabalho tem como foco o desenvolvimento de um componente decodificador de mídias, chamado Media Processing, e seu reuso para a criação de um player de vídeo. O Media Processing é um dos principais componentes do GingaCC, sendo responsável pela decodificação da mídia, tarefa fundamental em qualquer sistema televisivo já que está diretamente relacionada à exibição de vídeo. Este artigo está organizado da seguinte forma: A Seção 2 apresenta uma visão geral da arquitetura do middleware Ginga e seus componentes, incluindo a apresentação do componente Media Processing. Na Seção 3 é detalhada a implementação do componente Media Processing desenvolvido para decodificação de vídeo. A Seção 4 faz avaliações da eficiência do componente para diferentes vídeos e a Seção 5 descreve o reuso do componente Media Processing no desenvolvimento de um player de vídeo. A seção 6 conclui o trabalho e aponta direções para trabalhos futuros. 2. O middleware Ginga e seus componentes 2.1. O middleware Ginga O middleware Ginga é dividido entre três subsistemas, o declarativo GingaNCL, o procedural GingaJ e o provedor de métodos básicos, o GingaCC. Todas as aplicações criadas para o Ginga têm de utilizar o GingaNCL e/ou o GingaJ, não sendo possível o uso dos métodos do GingaCC diretamente. O GingaNCL é um subsistema que provê suporte para aplicações escritas na linguagem declarativa NCL. Este oferece uma grande gama de métodos para controlar o

4 fluxo multimídia e hipermídia, provendo facilidades para sincronismo espaço-temporal. Os componentes principais do GingaNCL são o NCL Formatter, responsável por decodificar fluxos de entrada, o motor LUA, o interpretador de scripts escritos na linguagem LUA, o componente que provê suporte pra o XHTML e o interpretador de estilo CSS (Cascading Style Sheets). O GingaJ é um subsistema que provê suporte à aplicações escritas na linguagem procedural Java, desenvolvida pela Sun Microsystems. Este subsistema suporta o pacote JavaDTV [JavaDTV, 2011], uma implementação adaptada do pacote JavaTV mas sem problemas de royalties. Uma das implementações de referência deste sistema é o OpenGinga atualmente chamado de GingaJ e disponível em [GingaJ, 2010]. Ambos os ambientes usam os recursos providas pelo GingaCC, sendo o mesmo responsável por prover métodos fundamentais para o middleware, como a sintonização de canais, a exibição de mídias, controle gráfico e controle do canal de retorno. A comunicação entre o GingaNCL e o GingaJ com o GingaCC está sendo feita através da Java Native Interface (JNI) [JNI, 2011]. A JNI é um padrão de interface que permite a comunicação entre programas nativos e programas escritos em Java. Desta maneira, os métodos básicos implementados no GingaCC podem ser chamados por aplicações escritas tanto para o GingaNCL, como para o GingaJ. O Media Processing, detalhado na seção 2.2, é um dos componentes do GingaCC, podendo ser usado tanto pelo ambiente declarativo quanto pelo procedural O componente Media Processing O componente Media Processing é um dos principais componentes do GingaCC diretamente envolvido na renderização e exibição de fluxos de vídeo. Para realizar esta tarefa, o Media Processing interage com os componentes Tuner, Information Service, Demux e Graphics. O componente Tuner é responsável por sintonizar os canais e capturar o fluxo de transporte ou stream, o conjunto formado por áudio, vídeo e outras informações transmitidas em um determinado canal. A saída do Tuner é enviada ao Information Service, que por sua vez, analisa o stream, obtendo algumas informações e adicionando dados essenciais para a reprodução. O Demux é responsável por demultiplexar o fluxo de entrada que compõe o fluxo de transporte usando os dados obtidos pelo componente Information Service. A saída do Demux é enviada ao Media Processing, que decodifica o fluxo recebido, que pode ser composto de vídeos, áudios e legendas, e envia sua saída para o componente Graphics, último componente envolvido diretamente na exibição de vídeos. Finalmente, o Graphics faz o controle e a exibição da mídia decodificada. A Figura 2 ilustra as conexões diretas entre os componentes Media Processing, Demux e Graphics, assim como as interfaces providas pelos mesmos. Vários métodos providos pela interface do Demux são utilizados pelo Media Processing no processo de decodificação, como o getvideostream, que retorna o descritor do fluxo de vídeo para ser decodificado. O vídeo decodificado pelo Media Processing é enviado ao componente Graphics para que seja exibido na tela.

5 Figura 2. Interconexões entre os componentes Media Processing, Demux e Graphics. 3. Implementação do Media Processing A implementação do Media Processing segue a Java Media Framework (JMF) versão 1.0 [JMF, 2011]. A JMF é uma API que especifica uma arquitetura para sincronizar e controlar áudio, vídeo e outras estruturas baseadas em tempo, como legendas. A versão 1.0 especifica a reprodução de mídias. A versão atual da implementação do Media Processing é capaz de suportar fluxos de vídeo e legendas, não provendo suporte à streams de áudio. Uma descrição de alto nível de suas funcionalidades está descrita abaixo: Alocação de recursos e controle do fluxo de mídia. Recebimento e decodificação de fluxos mídia em diversos formatos. Carregamento, seleção e exibição de legendas. Captura de tela. Prover várias informações sobre o vídeo, como a duração total, tempo de reprodução atual, resolução e taxa de quadros por segundo. Suporte a transmissões de vídeo usando os protocolos Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), User Datagram Protocol (UDP) e Real-Time Transfer Protocol (RTP). O componente Media Processing apresentado neste trabalho foi desenvolvido na linguagem C++ usando a biblioteca libvlc [LivVLC, 2011] detalhada na seção 3.1. Para ser integrado com os outros componentes, o modelo de componente utilizado foi o FlexCM [Filho, 2007], apresentado na seção A biblioteca libvlc LibVLC é uma biblioteca gráfica implementada na linguagem C e desenvolvida pela VideoLAN sob a licença GNU General Public License (GPL) versão 2. Esta biblioteca é compatível com vários formatos de mídia, inclusive o padrão H.264/AVC, o padrão de áudio MPEG Layer 3 e Advanced Audio Coded (AAC) e suporta diversos sistemas

6 gráficos, como DirectX, OpenGL, X11, XVideo, SDL e Frame Buffer. Estas características aliadas a sua portabilidade com uma grande variedade de sistemas operacionais (Microsoft Windows, GNU Linux, Mac OS, BeOS e FreeBSD) e ao seu alto desempenho, justificaram a escolha por esta biblioteca para implementar o Media Processing. A versão da biblioteca usada no desenvolvimento do Media Processing é a de número A partir da versão 1.0, a biblioteca funciona através de camadas crescentes de abstração de classes. As duas camadas de mais alto nível, libvlc_media_player e libvlc_media, provêm métodos para controlar a reprodução de mídias. A libvlc_media_player provê métodos para controlar a reprodução e também retornar informações relativas à ela, além de métodos auxiliares, como o de adicionar legendas ao fluxo em execução. Já a camada libvlc_media provê métodos de mais baixo nível que permitem controlar a mídia em si, como o descritor, e algumas operações básicas sobre a mídia, como o cálculo da duração total. Esta camada é separada em libvlc_video e libvlc_audio, as classes de menor nível de abstração, responsáveis por controlar diretamente os fluxos de vídeo e áudio, respectivamente. Algumas das principais funcionalidades do Media Processing e seus relacionamentos com as classes libvlc_media_player e libvlc_media estão ilustradas na Figura 3. Figura 3. Componente Media Processing, as classes libvlc_media_player e a libvlc_media e alguns dos métodos implementados O modelo de componentes FlexCM O modelo de componente chamado de FlexCM [Filho, 2007], está sendo usado em todos os componentes do projeto GingaCDN. Um componente que se utilizar do FlexCM deve especificar uma interface provida a outros componentes e também as interfaces requeridas para que possa operar, sendo que a tarefa de realizar eventuais conexões é realizada pelo FlexCM, em tempo de execução. Cada implementação deve, ainda, especificar dois arquivos: Architecture: Arquivo onde serão colocados dados essenciais para a execução do componente, como o caminho para a biblioteca dinâmica de cada componente necessário e um identificador único para cada componente. Registry: Especifica as conexões utilizadas pelo componente através do uso de um identificador único provido em cada interface.

7 Essa metodologia auxilia o desenvolvimento distribuído e, também, garante um processo de integração mais rápido e eficiente. A versão do modelo de componente FlexCM utilizada na implementação do Media Processing foi a de número Resultados Experimentais A implementação do Media Processing foi submetida a um conjunto de testes com o objetivo de avaliar o componente em termos de taxa de uso de processador e de custo de memória. O computador utilizado é equipado com um processador Intel Core 2 Duo 6320 [Intel, 2010], 2 Gigabytes (GB) de memória RAM e executando o sistema operacional Ubuntu O GNU GCC foi utilizado para compilação do componente Media Processing, sem ser utilizada qualquer das otimizações disponíveis para a referida arquitetura. As amostras foram obtidas de segundo em segundo ao se executar o vídeo especificado, por um tempo total de três minutos, sendo repetido o teste três vezes, perfazendo um total de 540 amostras para cada vídeo. Os resultados incluem os valores relativos ao carregamento do modelo de componente FlexCM, as alocações dos objetos da biblioteca libvlc, o processo de multiplexação padrão e a renderização do resultado através de um módulo X11 disponibilizado pela biblioteca libvlc. Nos experimentos foram usados quatro vídeos progressivos (p) em três diferentes resoluções, o 848x480 (480p), conhecido como definição padrão (Standard Definition, SD) e o 1280x720 (720p) e 1920x1080 (1080p), conhecidos como de alta definição (High Definition, HD). O vídeo STS116 foi obtido de [Nasa, 2011], o Taxi3 French, nomeado de Taxi, foi obtido de [WVM, 2011] e o Saguaro National Park, chamado de Park, e o Space Alone, chamado de Space, estão disponíveis em [Adobe, 2011]. Os detalhes dos vídeos são apresentados na Tabela 1 (vídeos 480p), Tabela 2 (vídeos 720p) e na Tabela 3 (vídeos 1080p). Todos os vídeos possuem uma proporção de tela (aspect ratio) de 16:9 e utilizam-se do contêiner MP4. Tabela 1. Detalhes para o conjunto de vídeos 480p. Nome do Vídeo Tamanho (MB) Duração (M:ss) Vídeo Bitrate (Kbps) Resolução (Pixel x Pixel) Park 103 5: x480 Space 60 3: x480 STS : x480 Taxi : x480

8 Tabela 2. Detalhes para o conjunto de vídeos 720p. Nome do Vídeo Tamanho (MB) Duração (M:ss) Vídeo Bitrate (Kbps) Resolução (Pixel x Pixel) Park 198 5: x720 Space 115 3: x720 STS : x720 Taxi 100 2: x720 Tabela 3. Detalhes para o conjunto de vídeos 1080p. Nome do Vídeo Tamanho (MB) Duração (M:ss) Vídeo Bitrate (Kbps) Resolução (Pixel x Pixel) Park 390 5: x1080 Space 226 3: x1080 STS : x1080 Taxi 196 2: x1080 Os vídeos foram codificados de fontes 1080p usando o codificador x264 [X264, 2010] na versão O H.264 High Profile e o AVC nível 5.1 foram utilizados com uma taxa de bits constante para cada resolução. A taxa de quadros por segundo de todos os vídeos foram convertidos para 30 FPS. Alguns dos detalhes da codificação estão listadas abaixo, elas são o padrão do High Profile e do codificador x264 com AVC nível 5.1: Codificador de Entropia CABAC (Context-adaptive binary arithmetic coding). Filtro de Deblocagem ativado, strength e threshold com valor 0. Estimação de Movimento Fracionária com hexagonal algorithm de tamanho 16x16 pixels, para as camadas de luminância e crominância, usando RDO (Rate-Distortion-Optimization) para os quadros I e P [X264, 2010]. Transformada DCT (Discrete Cosine Transform) adaptável usando I4x4, I8x8, P8x8 e B8x8.

9 Três B-Frames com bias igual a 0. Procura rápida por B-Frames adaptáveis e B-Pyramid desativado. Três quadros (frames) de referência com Adaptive I-Frame Decision ativado. Espaço de cores YCbCr 4:2:0. A porcentagem média de uso de processador para o conjunto de testes está representada na Figura 4, onde observamos uma variação de 100,78% de uso de processador e entre os vídeos com resolução de 480p e 720p e de 58,60% entre os vídeos de 720p e 1080p. Na Figura 5 é ilustrada a quantidade média de memória requerida para executar os diferentes vídeos com o Media Processing, que obteve uma variação de 28,41% comparando os vídeos com resolução de 480p e 720p e de 44,24% entre os vídeos de 720p e 1080p. Figura 4. Porcentagem de uso do processador pelo Media Processing Figura 5. Uso de memória, em Megabytes, requeridas pelo Media Processing. Com essa avaliação conclui-se que o crescimento de uso de memória é proporcional ao crescimento da qualidade do vídeo, mas a variação no uso de processador foi grande, chegando a mais que dobrar o uso de processador entre dois vídeos de qualidades próximas (480p e 720p). Além disso, observa-se que no vídeo de 1080p o uso de processador foi de 92,80% da capacidade total, para um processador de

10 propósito geral de dois núcleos de processamento. Com isso conclui-se que o Media Processing requer que o middleware Ginga tenha um processador de alto desempenho para a execução de vídeos em qualidade superior, mas em contrapartida não necessita de uma grande quantidade de memória RAM, dentro dos padrões atuais de hardware de um computador. O desempenho demonstrado pelo componente poderá ser melhorado com o desenvolvimento em hardware de um decodificador de vídeo para o formato H.264/AVC, aumentando o desempenho geral do processo do middleware. Na próxima seção será demonstrado que o uso do componente desenvolvido não se restringe apenas ao seu uso no middleware, podendo ser reaproveitado para o desenvolvimento de aplicações que necessitem de recursos para manipulação de vídeo e áudio. 5. Reuso do componente no desenvolvimento de um player A partir dos métodos fornecidos pelo componente Media Processing foi desenvolvido um aplicativo gráfico para reprodução de vídeo. Além da funcionalidade de reprodução de vídeo, o aplicativo fornece outras funcionalidades relacionadas com a manipulação de mídias e de legendas. Para implementar estas funcionalidades, são usados métodos providos pelo componente Media Processing. A Figura 6 ilustra o diagrama de casos de uso desta aplicação, no qual podem ser observadas as funcionalidades atendidas pelo player. Para o controle da reprodução de vídeos, o aplicativo possui cinco funcionalidades básicas: Reproduzir vídeo, Pausar vídeo, Parar vídeo, Carregar vídeo local e Carregar vídeo pela Web, que estão representadas no diagrama. O caso de uso Reproduzir vídeo realiza a decodificação do vídeo, o que implica em colocar o reprodutor no estado play e uma precondição para a execução deste caso de uso é que o player deve estar no estado stop ou pause. Além disso, antes de reproduzir o vídeo este deve ser carregado. O vídeo a ser carregado pode estar localmente armazenado ou estar disponível na web, os casos de uso Carregar vídeo local e Carregar vídeo da Web representam estas modalidades de carga. Na carga de vídeo local, o usuário indica a localização do arquivo referente à mídia (unidade de disco e caminho para a pasta). No caso da carga de vídeo da web, a localização do vídeo na internet deve ser informada pelo usuário. Se outro vídeo estiver sendo reproduzido, antes da carga será executado o caso de uso Parar vídeo, que desaloca os recursos para que um novo vídeo possa ser carregado. O usuário também pode pausar a reprodução, esta funcionalidade está representada pelo caso de uso Pausar vídeo, coloca o reprodutor no estado de pause, e uma precondição para sua execução é que o player esteja no estado de play. O aplicativo permite também adicionar uma legenda, bem como selecionar a legenda a ser usada durante a reprodução (casos de usos Adicionar legenda e Selecionar legenda na Figura 6). No caso de uso Adicionar legenda, uma nova legenda é adicionada ao vídeo atualmente alocado. As legendas devem ser compatíveis com o suporte dado pela libvlc sendo que esta suporta uma série de formatos, como o básico SubRip (SRT), o Advanced Substation Alpha (ASS), e o SBTVD Standard Subtitle Format. No caso de uso Selecionar legenda, o usuário escolhe uma legenda específica para ser reproduzida junto ao vídeo. Uma precondição para a execução deste último caso de uso é que haja um vídeo alocado pelo player e uma legenda carregada.

11 O player desenvolvido também permite que o usuário obtenha algumas informações sobre o vídeo e capture uma tela do vídeo. Dois casos de uso representam a funcionalidade de visualização das informações do vídeo, são eles: Ver informações do vídeo e Ver informações gerais. No caso de uso Ver informações do vídeo são providas informações sobre a taxa de frames por segundo (FPS), o tempo atual do frame corrente em microssegundos e as dimensões do vídeo (altura e largura do vídeo), além da duração total do vídeo alocado, quando possível já que algumas transmissões pela internet e transmissões pela TV não provém essa informação. O usuário pode também solicitar informações adicionais do vídeo e esta funcionalidade está representada pelo caso de uso Ver Informações gerais, que provê uma série de informações como nome do arquivo, artista, álbum, etc. Por fim, o usuário pode solicitar a captura de uma tela, funcionalidade representada pelo caso de uso Capturar tela, que retira uma screenshot do frame atual mostrado pelo player. O arquivo criado utiliza a compressão com poucas perdas fornecida pelo formato Joint Photographic Expert Group (JPEG). Uma precondição para a execução do Capturar tela é que o player esteja no estado de Play ou Pause. O aplicativo em funcionamento é ilustrado na Figura 7. Figura 6. Diagrama de casos de uso UML do player de vídeo.

12 Figura 7. Imagem do aplicativo em funcionamento. Este player de vídeo, foi implementado na linguagem C++, usando o sistema para o desenvolvimento de programas de interface gráfica Qt na versão 4. O player foi executado usando sistema operacional Ubuntu 9.10, sendo o FlexCM responsável por fazer a conexão entre o aplicativo reprodutor de vídeo e o componente Media Processing. 6. Conclusão e Trabalhos Futuros O presente trabalho apresentou uma implementação do componente Media Processing para o middleware Ginga. Esta implementação faz uso da biblioteca libvlc e os resultados dos experimentos mostram que o Media Processing requer um elevado custo de processador, principalmente para vídeos de alta definição, mas em contrapartida pouca quantidade de memória RAM, considerando os padrões atuais. Com a conclusão do desenvolvimento do Media Processing será feito o processo de integração com os demais componentes disponibilizando um midlleware único que permita ao desenvolvedor escolher entre o ambiente declarativo ou procedural, para a criação de suas aplicações. Também foi apresentado o desenvolvimento de um player utilizando-se do componente desenvolvido para o middleware Ginga. Isso demonstra que o componente pode ser reusado no desenvolvimento de aplicações para TV digital que necessitem da manipulação de vídeo e áudio. Quanto aos trabalhos futuros será necessário adicionar ao componente Media Processing, suporte a áudio e algumas outras funcionalidades relacionadas tais como controle de volume e o seletor de stream de áudio. Além disso, pretende-se a realização de comparações de desempenho com outra implementação do componente Media Processing para o SBTVD e a implementação de outras aplicações reusando o componente apresentado neste trabalho.

13 Referências Adobe - Adobe Flash HD Gallery, diponível em: Acesso em: janeiro de ATSC - Advanced Television Systems Committee, diponível em: acesso em: janeiro de Decreto 4901, disponível em: /d4901.htm. Acesso em: janeiro de Decreto 5820, disponível em: Acesso em: dezembro de DVB - Digital Video Broadcasting, diponível em: acesso em: março de Filho, G. L. S., Leite, L. E. C., Batista, C. E. C. F.: GingaJ: The Procedural Middleware for the Brazilian Digital TV System. J. of the Brazilian Computer Society vol.12, (2007). Filho, S.M., et al.: FLEXCM - A Component Model for Adaptive Embedded Systems. In: 31st IEEE International Computer Software and Applications Conference, pp IEEE Press, New York (2007). Ginga-J, diponível em: http Acesso em: dezembro de Intel - Intel Core 2 Duo Processor E6320, Acesso em: dezembro de ISDT - Integrated Services Digital Broadcasting Terrestrial, diponível em: Acesso em: março de Java DTV API 1.0, diponível em: Acesso em: janeiro de JMF 1.0 Programmers guide, diponível em: Acesso em: janeiro de JNI - Java Native Interface: diponível em: Acesso em: janeiro de libvlc, diponível em: Acesso em: janeiro de NASA High Definition Video, diponível em: acesso em: janeiro de Oliveira, B. Um estudo de caso entre GingaJ e GingaNCL no âmbito de aplicações interativas residentes, diponível em: Acesso em: janeiro de SBTVD Sistema Brasileiro de TV Digital, disponível em: Acesso em: janeiro de 2011.

14 SET - A comparative study of Digital TV standards, Acesso em: janeiro de 2011 Soares, L. F. G., Rodrigues, R. F., Moreno, M. F.: GingaNCL: the declarative environment of the Brazilian Digital TV System. J. of the Brazilian Computer Society vol.1, (2007). WMV HD Content Showcase, diponível em: showcase.aspx. Acesso em: janeiro de X264, diponível em: Acesso em: dezembro de 2010.

Avaliação de desempenho entre duas implementações do componente Media Processing para o Middleware Ginga

Avaliação de desempenho entre duas implementações do componente Media Processing para o Middleware Ginga Avaliação de desempenho entre duas implementações do componente Media Processing para o Middleware Ginga Tiago H. Trojahn 1, Lisane Brisolara 1, Luciano V. Agostini 1, Juliano L. Gonçalves 1, Leomar S.

Leia mais

1 Introdução. 1.1. Motivação

1 Introdução. 1.1. Motivação 1 Introdução A adoção do Ginga-NCL como middleware declarativo do SBTVD (Sistema Brasileiro de Televisão Digital) estabeleceu um marco no desenvolvimento de aplicações interativas para TV Digital terrestre

Leia mais

1.1. Aplicações de TVD dinâmicas

1.1. Aplicações de TVD dinâmicas 1 Introdução Uma aplicação de TV Digital (TVD) comumente é composta por um vídeo principal associado a outros objetos (aplicações, imagens, vídeos, textos etc.), que são transmitidos em conjunto possibilitando

Leia mais

PADRÕES DE MIDDLEWARE PARA TV DIGITAL

PADRÕES DE MIDDLEWARE PARA TV DIGITAL PADRÕES DE MIDDLEWARE PARA TV DIGITAL Rafael V. Coelho Fundação Universidade Federal do Rio Grande (FURG) Rio Grande - RS rafaelvc2@gmail.com Resumo. Este trabalho discute os tipos de Middleware usados

Leia mais

TRANSMITINDO CONHECIMENTO ON-LINE

TRANSMITINDO CONHECIMENTO ON-LINE TRANSMITINDO CONHECIMENTO ON-LINE POR MEIO WEB-RÁDIO E WEB-TV 1 BORGES, Caio C. A.; DEUS JÚNIOR, Getúlio A. de; CASTRO, Marcelo S. Escola de Engenharia Elétrica e de Computação, Universidade Federal de

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

GINGA - Software Livre para TV Digital Brasileira

GINGA - Software Livre para TV Digital Brasileira 1 of 6 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira Autor: Paulo Roberto Junior - WoLF Data: 13/04/2009 O que é GINGA Posso falar com minhas próprias indagações

Leia mais

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

PESPECTVIAS DO PROJETO DE PESQUISA DESENVOLVIMENTO DE MIDDLEWARE PARA DIVULGAÇÃO DE SABERES POPULARES NO CANAL DE INTERATIVIDADE DA TV DIGITAL * PESPECTVIAS DO PROJETO DE PESQUISA DESENVOLVIMENTO DE MIDDLEWARE PARA DIVULGAÇÃO DE SABERES POPULARES NO CANAL DE INTERATIVIDADE DA TV DIGITAL * Wellington Garcia PEREIRA 1 ; Hudson Henrique de Sousa LOPES

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

CURSO BÁSICO DE INFORMÁTICA

CURSO BÁSICO DE INFORMÁTICA CURSO BÁSICO DE INFORMÁTICA Introdução a microinformática William S. Rodrigues HARDWARE BÁSICO O hardware é a parte física do computador. Em complemento ao hardware, o software é a parte lógica, ou seja,

Leia mais

4 Plano de Recuperação

4 Plano de Recuperação 4 Plano de Recuperação Como pode ser observado na Seção 3.2, um projeto de um middleware para TVD deve considerar o fato que ele será embarcado em plataformas diversas e, portanto, que fará uso de diversas

Leia mais

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

TV Digital no Brasil e o Middleware Ginga. Luiz Eduardo Cunha Leite TV Digital no Brasil e o Middleware Ginga Luiz Eduardo Cunha Leite 1 Sistema de TV Digital no Brasil 3G 1 Seg 2 PTSN, Internet, etc. Nível de Transporte TCP / IP -SI -Carrossel de Dados e Objetos -MPE

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

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

Introdução Padrão Brasileiro de TV Digital. Desenvolvimento de Aplicações Interativas. Trabalhos em andamento Introdução Padrão Brasileiro de TV Digital Middleware GINGA Desenvolvimento de Aplicações Interativas Linguagem NCL (Nested Context Language) Trabalhos em andamento 1 2 3 4 Maior resolução de imagem Melhor

Leia mais

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

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

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

Amadeus-TV: Portal Educacional na TV Digital Integrado a um Sistema de Gestão de Aprendizado Amadeus-TV: Portal Educacional na TV Digital Integrado a um Sistema de Gestão de Aprendizado Bruno de Sousa Monteiro Orientação: Prof. Dr. Fernando da Fonseca de Souza Prof. Dr. Alex Sandro Gomes 1 Roteiro

Leia mais

ArcSoft MediaConverter

ArcSoft MediaConverter ArcSoft MediaConverter User Manual Português 1 201004 Índice Índice... 2 1. Índice... 3 1.1 Requisitos do sistema... 4 1.2 Extras... 4 2. Convertendo arquivos... 7 2.1 Passo1: Selecionar mídia... 7 2.1.1

Leia mais

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

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

NCL e Java. Aquiles Burlamaqui

NCL e Java. Aquiles Burlamaqui Construindo programas de TV Digital Interativa usando NCL e Java Aquiles Burlamaqui Sumário Introdução Middleware Aplicações de TVDI Ginga NCL Ginga J Conclusões Introdução TV Digital Interativa O que

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Turma de Redes AULA 06 www.eduardosilvestri.com.br silvestri@eduardosilvestri.com.br Estrutura do Sistema Operacional Introdução É bastante complexo a estrutura de um sistema operacional,

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

GERAÇÃO DE RELATÓRIOS

GERAÇÃO DE RELATÓRIOS UNIOESTE Universidade Estadual do Oeste do Paraná CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação GERAÇÃO DE RELATÓRIOS

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

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

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

MANUAL DE INSTALAÇÃO DVR-USB ST-104

MANUAL DE INSTALAÇÃO DVR-USB ST-104 MANUAL DE INSTALAÇÃO DVR-USB ST-104 Obrigado por escolher o DVR USB ST-104 DIMY S. Por favor, certifique-se que a operação do produto esta de acordo com este manual para garantir a estabilidade do sistema

Leia mais

Manual de Utilização de Webcams no. Desenvolvimento de Aplicativos Java

Manual de Utilização de Webcams no. Desenvolvimento de Aplicativos Java Manual de Utilização de Webcams no Desenvolvimento de Aplicativos Java Coordenador: Hemerson Pistori Manual desenvolvido no âmbito do projeto Plataforma de Apoio ao Desenvolvimento de Sistemas para Inclusão

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

Leia mais

Ginga e a TV Digital Interativa no Brasil

Ginga e a TV Digital Interativa no Brasil Ginga e a TV Digital Interativa no Brasil Bruno Ghisi Engenheiro de Software weblogs.java.net/brunogh Alexandre Lemos Engenheiro de Software Objetivo Introduzir o conceito do cenário brasileiro de TV Digital,

Leia mais

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS. PROGRAMA EMBRAPA DE MELHORAMENTO DE GADO DE CORTE MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS. MANUAL DE INSTALAÇÃO: 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS

Leia mais

OURO MODERNO www.ouromoderno.com.br. Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

OURO MODERNO www.ouromoderno.com.br. Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo) Web Designer APOSTILA DE EXEMPLO (Esta é só uma reprodução parcial do conteúdo) 1 Índice Aula 1 FTP... 3 FTP e HTTP... 4 Exercícios... 6 2 Aula 1 FTP FTP significa File Transfer Protocol, traduzindo Protocolo

Leia mais

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

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

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

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

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

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

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

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Tutorial Vmix - Streaming com Adobe Flash Media Live Encoder

Tutorial Vmix - Streaming com Adobe Flash Media Live Encoder Tutorial Vmix - Streaming com Adobe Flash Media Live Encoder O Vmix é um completo software de mixagem de vídeo, com ele é possível mesclar vídeos gravados e vídeos ao vivo capturados em tempo real por

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Conceitos Básicos Sistema Operacional: Um Sistema Operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O Propósito do SO é fornecer

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

Gerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

XDOC. Solução otimizada para armazenamento e recuperação de documentos

XDOC. Solução otimizada para armazenamento e recuperação de documentos XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA

Leia mais

Modelos de Camadas. Professor Leonardo Larback

Modelos de Camadas. Professor Leonardo Larback Modelos de Camadas Professor Leonardo Larback Modelo OSI Quando surgiram, as redes de computadores eram, em sua totalidade, proprietárias, isto é, uma determinada tecnologia era suportada apenas por seu

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Personata Recorder. Manual de Instalação e Configuração

Personata Recorder. Manual de Instalação e Configuração Personata Recorder Manual de Instalação e Configuração Julho / 2013 1 Índice 1- Pré-requisitos......3 2 Verificação do Hardware......3 3 Instalação......5 4 Configuração Inicial......8 4.1 Localização......8

Leia mais

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

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Android Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Universidade Federal de Santa Catarina November 18, 2008 Agenda 1 Introdução 2 Dalvik 3 Linux 2.6 Introdução

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

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

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado 5 Avaliação Decidimos avaliar a arquitetura de componentes para o OiL proposta neste trabalho em duas dimensões diferentes. Na primeira, demonstramos a capacidade de configuração do middleware com alguns

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

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

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital WHITEPAPER Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital Câmera IP ou câmera analógica? Se você está em dúvida sobre a aquisição de uma solução analógica

Leia mais

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

Protocolo de Aplicação para Jogos de Tabuleiro para Ambiente de TV Digital Protocolo de Aplicação para Jogos de Tabuleiro para Ambiente de TV Digital Felipe Martins de Lima Escola de Engenharia Universidade Federal Fluminense (UFF) Rua Passo da Pátria, 156 São Domingos Niterói

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Técnicas e ferramentas de ataque. Natiel Cazarotto Chiavegatti

Técnicas e ferramentas de ataque. Natiel Cazarotto Chiavegatti Técnicas e ferramentas de ataque Natiel Cazarotto Chiavegatti Preparação do ambiente Em relação a taques a redes sem fio deve-se ser levado em conta alguns aspectos, sendo que por sua vez devem se analisadas

Leia mais

Suporte Técnico de Software HP

Suporte Técnico de Software HP Suporte Técnico de Software HP Serviços Tecnológicos HP - Serviços Contratuais Dados técnicos O Suporte Técnico de Software HP fornece serviços completos de suporte de software remoto para produtos de

Leia mais

3 Qualidade de serviço na Internet

3 Qualidade de serviço na Internet 3 Qualidade de serviço na Internet 25 3 Qualidade de serviço na Internet Além do aumento do tráfego gerado nos ambientes corporativos e na Internet, está havendo uma mudança nas características das aplicações

Leia mais

Professor: Paulo Macos Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 4/6/2011 1

Professor: Paulo Macos Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 4/6/2011 1 Professor: Paulo Macos Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 4/6/2011 1 Do inglês, Cascading Style Sheet, ou folha de estilo em cascata. É uma linguagem

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

VIRTUALIZAÇÃO CONVENCIONAL

VIRTUALIZAÇÃO CONVENCIONAL VIRTUALIZAÇÃO CONVENCIONAL Sera usado o VirtualBox 5.0.8 a versão mais atual e estável da aplicação, para virtualização de um sistema Linux sobre a plataforma Windows. Para esse modelo pratico de virtualização

Leia mais

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Redes de Computadores Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Open Systems Interconnection Modelo OSI No início da utilização das redes de computadores, as tecnologias utilizadas para a comunicação

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Informática Prof. Macêdo Firmino Representação da Informação Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Introdução Estamos acostumados a pensar nos computadores como mecanismos complexos,

Leia mais

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

A TV DIGITAL COMO INSTRUMENTO DE ENSINO DE MATEMÁTICA. Adriano Aparecido de Oliveira, Juliano Schimiguel A TV DIGITAL COMO INSTRUMENTO DE ENSINO DE MATEMÁTICA Adriano Aparecido de Oliveira, Juliano Schimiguel Universidade Cruzeiro do Sul/CETEC, Av. Ussiel Cirilo, 225 São Paulo Resumo A TV é um importante

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

PROTÓTIPO DE UM SISTEMA DE MONITORAÇÃO UTILIZANDO CIRCUITO FECHADO DE TELEVISÃO (CFTV)

PROTÓTIPO DE UM SISTEMA DE MONITORAÇÃO UTILIZANDO CIRCUITO FECHADO DE TELEVISÃO (CFTV) UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO PROTÓTIPO DE UM SISTEMA DE MONITORAÇÃO UTILIZANDO CIRCUITO FECHADO DE TELEVISÃO (CFTV) EDERSON JOSÉ PROF. DALTON SOLANO DOS REIS, Orientador

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

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

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Redes de Computadores. Protocolos de comunicação: TCP, UDP Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação

Leia mais

Entretenimento e Interatividade para TV Digital

Entretenimento e Interatividade para TV Digital Entretenimento e Interatividade para TV Digital Desenvolvimento de Aplicativos para TV Digital Interativa Rodrigo Cascão Araújo Diretor Comercial Apresentação da Empresa A EITV desenvolve software e provê

Leia mais

APLICATIVOS GRÁFICOS (AULA 4)

APLICATIVOS GRÁFICOS (AULA 4) Prof. Breno Leonardo G. de M. Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br APLICATIVOS GRÁFICOS (AULA 4) 1 Classificação da imagem Em relação à sua origem pode-se classificar uma imagem,

Leia mais

TRBOnet MDC Console. Manual de Operação

TRBOnet MDC Console. Manual de Operação TRBOnet MDC Console Manual de Operação Versão 1.8 ÍNDICE NEOCOM Ltd 1. VISÃO GERAL DA CONSOLE...3 2. TELA DE RÁDIO...4 2.1 COMANDOS AVANÇADOS...5 2.2 BARRA DE FERRAMENTAS...5 3. TELA DE LOCALIZAÇÃO GPS...6

Leia mais

CAMADA DE TRANSPORTE

CAMADA DE TRANSPORTE Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com

Leia mais

ArthronServer: Um Módulo para Controle de Múltiplos Fluxos de Mídia na Web. Manual do Usuário. ArthronServer

ArthronServer: Um Módulo para Controle de Múltiplos Fluxos de Mídia na Web. Manual do Usuário. ArthronServer ArthronServer: Um Módulo para Controle de Múltiplos Fluxos de Mídia na Web Manual do Usuário ArthronServer Copyright 2012, Grupo de Trabalho Ambiente de Vídeo colaboração em Saúde Autores: Coordenadora:

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

HP Visual Collaboration Desktop. Introdução

HP Visual Collaboration Desktop. Introdução HP Visual Collaboration Desktop Introdução HP Visual Collaboration Desktop v2.0 First edition: December 2010 Notificação legal Copyright 2010 Hewlett-Packard Development Company, L.P. As informações contidas

Leia mais

Streaming na pratica Shoutcast Flumotion

Streaming na pratica Shoutcast Flumotion Streaming na pratica Shoutcast Flumotion Felipe Santos dos Santos 1 1 Faculdade de Tecnologia Senac Pelotas(FATEC) Rua Gonçalves Chaves, 602 Centro CEP: 96.015-560 Pelotas RS Brasil Curso Superior de Tecnologia

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

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

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Universidade de São Paulo Biblioteca Digital de Teses e Dissertações. MANUAL DO USUÁRIO Conversão de arquivos para PDF

Universidade de São Paulo Biblioteca Digital de Teses e Dissertações. MANUAL DO USUÁRIO Conversão de arquivos para PDF Universidade de São Paulo MANUAL DO USUÁRIO Conversão de arquivos para PDF Centro de Informática de São Carlos 2013 Versão 2.2 Última atualização: 07/05/2013 UNIVERSIDADE DE SÃO PAULO Reitor Vice-Reitor

Leia mais