FACULDADE DE INFORMÁTICA DE PRESIDENTE PRUDENTE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO APLICAÇÃO DE ESTEGANOGRAFIA EM ARQUIVOS JPG LÍVIA DELGADO VOLPE

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

Download "FACULDADE DE INFORMÁTICA DE PRESIDENTE PRUDENTE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO APLICAÇÃO DE ESTEGANOGRAFIA EM ARQUIVOS JPG LÍVIA DELGADO VOLPE"

Transcrição

1 FACULDADE DE INFORMÁTICA DE PRESIDENTE PRUDENTE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO APLICAÇÃO DE ESTEGANOGRAFIA EM ARQUIVOS JPG LÍVIA DELGADO VOLPE Presidente Prudente SP 2007

2 FACULDADE DE INFORMÁTICA DE PRESIDENTE PRUDENTE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO APLICAÇÃO DE ESTEGANOGRAFIA EM ARQUIVOS JPG LÍVIA DELGADO VOLPE Trabalho de Conclusão de Curso, apresentado a Faculdade de Informática de Presidente Prudente, Curso de Bacharelado em Ciência da Computação, Universidade do Oeste Paulista, como parte dos requisitos para a sua conclusão. Área: Processamento Gráfico Orientadores: MSc. Ana Paula D. Parizoto Fabrin MSc. Almir Olivette Artero MSc. Francisco Assis da Silva Presidente Prudente SP 2007

3 FICHA CATALOGRÁFICA 004 Volpe, Lívia Delgado. Aplicação de Esteganografia em arquivos JPG / Lívia Delgado Volpe. Presidente Prudente: UNOESTE, p. : il. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Universidade do Oeste Paulista UNOESTE: Presidente Prudente SP, Bibliografia 1. Esteganografia, 2. Processamento de imagens. I. Autor. II. Título.

4 DEDICATÓRIA Dedico este trabalho ao meu pai Carlos, que nunca mediu esforços e esteve sempre apoiando e aconselhando nos momentos mais difíceis sem que a distância atrapalhasse. A minha mãe Ana Lúcia, pelo amor, confiança e apoio, e a minha irmã Thaís pelo carinho e amizade. A minha família que, em todos os momentos de realização desta pesquisa, esteve presente.

5 AGRADECIMENTOS A Deus pela minha vida. A professora orientadora, Ana Paula D. Parizoto Fabrin que, na rigidez de seus ensinamentos, fez aprimorar meus conhecimentos. Aos professores, Francisco Assis da Silva e Leandro Luiz de Almeida, pela amizade e carisma. Aos professores da Faculdade de Informática de Presidente Prudente pelos conhecimentos compartilhados. Ao meu pai, Carlos Volpe, pelos sacrifícios que fez e ainda faz para proporcionar uma vida maravilhosa para sua família, acima de tudo com muito amor e carinho. A minha mãe Ana Lúcia pela confiança e pelo apoio que nunca faltou, sempre me dando forças para concluir o curso e não desistir nunca. Ao meu namorado Lucas, que me incentivou, aconselhou e deu forças para nunca desistir e sempre acreditar que sou capaz. Aos meus amigos e amigas, pelo companheirismo e os momentos de alegria compartilhados.

6 "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de sucesso. O sucesso é conseqüência." Albert Einstein

7 RESUMO Aplicação de Esteganografia em arquivos JPG O uso de imagens digitais aumentou consideravelmente nos últimos anos, com isso aumentaram os problemas de segurança tais como integridade de imagens digitais, direitos autorais e proteção de propriedade. Uma solução para esse problema é utilizar a técnica de Esteganografia que consiste em esconder mensagens ficando imperceptível sua existência. A presente pesquisa, intitulada Aplicação de Esteganografia em arquivos JPG teve como objetivo central estudar a possibilidade e criar mecanismos de Esteganografia em arquivos de imagem JPG sem danificar ou perder a mensagem inserida na imagem. Com este estudo será possível viabilizar a inserção de novas mensagens ou imagens em vários formatos de imagem JPG. A realização deste trabalho justificou-se, diante da necessidade de concluir as vantagens ou desvantagens de se utilizar Esteganografia em imagens JPG, uma vez que este modelo de imagem é o mais utilizado nos mais diversos ambientes da informática. Metodologicamente, o assunto pesquisado envolveu o levantamento de material bibliográfico sobre imagem JPG e Esteganografia, foram estudados componentes Java para o processamento de imagem JPG e os mecanismos de Esteganografia aprendidos após a pesquisa bibliográfica foram colocados em prática em algumas das etapas de compressão das imagens do padrão JPG. Palavras-chave: Esteganografia. JPG. Processamento de Imagens.

8 ABSTRACT Application of Steganography in JPG files The use of digital images has increased considerably in recent years; because of it the security problems such as integrity of digital images, copyright and protection of property have increased. One solution to this problem is to use the technique of Steganography, which is used to hide messages getting imperceptible its existence. The present work, entitled, "Application of Steganography in JPG files" - aimed to study the possibility and create mechanisms for Steganography in JPG image files without damaging or losing the message embedded in the image. With this study it will be possible to facilitate the insertion of new messages or images in various formats of JPG image. The completion of this work was justified, concluding the advantages or disadvantages of using Steganography in JPG images, since this type of image is the most used in a variety of computing environments. Methodologically, the subject researched involved the removal of bibliographic material on JPG image and Steganography; it was studied Java components for the processing of JPG image and mechanisms of Steganography learned after bibliographic research were put into practice in some of the stages of compression of images from the standard JPG. Key-words: Steganography. JPG. Image processing.

9 LISTA DE FIGURAS Figura 1 Exemplo de pixels de uma imagem...25 Figura 2 Exemplo de uso do método LSB...26 Figura 3 Processo de Compressão JPEG...29 Figura 4 Processo de Descompressão JPEG...30 Figura 5 Resultados de Compressão com diferentes tamanhos de blocos...32 Figura 6 Resultados de Compressão variando os fatores de qualidade aplicados a uma imagem de 384 X 288 pixels com 1 byte por pixel, tamanho de bytes Figura 7 Ziz-zag num bloco de 8 x Figura 8 A operação Run-Length Coding...38 Figura 9 Imagem com 640 X 480 pixels...40 Figura 10 Histograma da imagem original com o número de pixels de cada nível de cinza...41 Figura 11 Árvore de Huffman...42 Figura 12 Codificação de Huffman...42 Figura 13 Código de Inserção de mensagem na imagem...45 Figura 14 Código de leitura da mensagem na imagem...46 Figura 15 Técnica 1: Criar funções...48 Figura 16 Código da TDC e Quantização...49 Figura 17 Código da inversa da Quantização e a Transformada Inversa do Cosseno50 Figura 18 Técnica 2: Replicação da informação...52 Figura 19 Código de inserção de uma mensagem replicada na imagem...53 Figura 20 Código de leitura de uma mensagem replicada na imagem...55 Figura 21 Técnica 3: Usar componentes existentes...56

10 LISTA DE SIGLAS CCITT IEC ISO ITDC JPEG LSB RLC SAH SVH TDC TDK Consultive Committee International of Telegraph e Telephones International Electrotechnical Commission International Standard Organization Transformada Inversa do Cosseno Joint Photographic Experts Group Last Significant Bit Run-Length Coding Sistema Auditivo Humano Sistema Visual Humano Transformada Discreta do Cosseno Transformada de Karhunen-Loève

11 SUMÁRIO 1 INTRODUÇÃO Formulação do Problema Objetivos do Projeto Justificativas do Projeto Metodologia e Plano de Trabalho ESTEGANOGRAFIA Definição Histórico Esteganografia X Criptografia Aplicações Proteção de direitos autorais Comunicação encoberta Seriação (Fingerprinting) Certificação e controle de acesso Legenda em imagens e vídeos Autenticação e verificação da integridade Controle de cópias Técnicas de Esteganografia Esteganografia em textos Codificação por deslocamento de linhas verticalmente Codificação por deslocamento de palavra em textos justificados Codificação por deslocamento do caracter de fim de linha Esteganografia em áudio Inserção no bit menos significativo Esconder dados no eco do áudio Esteganografia sobre TCP/IP Esteganografia em imagens Técnicas de Esteganografia em Imagens Inserção no bit menos significativo Técnicas de filtragem e mascaramento Algoritmos e transformações ARQUIVOS DE IMAGEM JPG Transformada Discreta do Cosseno (TDC) Quantização Zig-zag Codificação RLC Codificação por Huffman PROJETO Descrição das Atividades Realizadas Inserção de mensagem na imagem Leitura da mensagem embutida na imagem Aplicação de esteganografia em arquivos de imagem BMP Aplicação de esteganografia em arquivos de imagem JPG...47

12 4.1.5 Inserção da mensagem após realizar etapas de compressão usando funções desenvolvidas Replicação da informação Inserção da mensagem após realizar etapas de compressão usando componentes existentes CONCLUSÕES E TRABALHOS FUTUROS...58 REFERÊNCIAS BIBLIOGRÁFICAS...59 ANEXO...60

13 12 1 INTRODUÇÃO 1.1 Formulação do Problema O uso de imagens digitais aumentou consideravelmente nos últimos anos, com o surgimento da Internet a comunicação e a troca de informações passaram a ser possível entre as pessoas do mundo inteiro. Com isso, aumentaram os problemas de segurança, tais como: integridade de imagens digitais, direitos autorais e proteção de propriedade. Uma solução para esse problema é utilizar a técnica de Esteganografia, que consiste em esconder mensagens ficando imperceptível sua existência. Este trabalho monográfico foi realizado para saber se é possível inserir mensagens pelo método de Esteganografia em arquivos de imagem JPG sem perdas ou danos na mensagem inserida. 1.2 Objetivos do Projeto Um dos grandes objetivos deste trabalho foi estudar a possibilidade e criar mecanismos de Esteganografia em arquivos de imagem JPG sem danificar ou perder a mensagem inserida na imagem. Primeiramente foi implementada a inserção de uma mensagem em uma imagem BMP, para conhecer melhor a técnica de Esteganografia. Já que esse tipo de imagem não usa compressão, sabe-se que não há perda da informação inserida. Posteriormente foi implementada a inserção de uma mensagem em uma imagem JPG, pelo qual foi possível descobrir as possibilidades de inserção por meio de algumas técnicas estudadas.

14 Justificativas do Projeto A segurança na transferência de dados via Internet é de suma importância para o meio digital. A ocultação de mensagens no corpo de imagens digitais pode garantir uma maior viabilidade na transmissão segura de dados. Por meio do estudo da técnica da Esteganografia, foi possível verificar a confiabilidade da ocultação de tais mensagens, baseando-se no padrão JPG, sendo esse o mais utilizado entre os diversos ambientes da informática. 1.4 Metodologia e Plano de Trabalho O trabalho foi realizado mediante pesquisas e levantamento de material bibliográfico sobre o padrão de imagens JPG e esteganografia. Além disso, foram estudados componentes Java para processamento de imagem JPG. Os mecanismos de esteganografia estudados foram implementados e colocados em prática em algumas das etapas de compressão das imagens do padrão JPG. Também foram implementadas algumas etapas da compressão, tais como: Transformada Discreta do Cosseno, a quantização e suas respectivas inversas. Além desse primeiro capítulo introdutório, esta monografia apresenta no capítulo 2 os conceitos básicos, como definições, histórico, aplicações e técnicas de esteganografia. No capítulo 3 são descritos os conceitos de arquivos de imagens JPG e seu processo de compressão e descompressão. O documento mostra também a descrição das atividades realizadas no projeto (capítulo 4), tais como, a inserção da mensagem em uma imagem, a leitura da mensagem na imagem, sua aplicação em imagens BMP e também as técnicas desenvolvidas e estudadas para inserção e leitura

15 14 em imagens JPG. Por fim, o capítulo 5 mostra as conclusões obtidas no desenvolvimento do trabalho e também apresenta possíveis trabalhos futuros.

16 15 2 ESTEGANOGRAFIA 2.1 Definição Segundo Popa (apud PETRI, 2004, p. 7), esteganografia deriva de ambas as palavras gregas estegano e grafia, em que, estegano significa esconder ou mascarar e grafia significa escrita. Logo, esteganografia é a arte da escrita para comunicações ocultadas. Dentro da esteganografia existe um conjunto de métodos para comunicações secretas desenvolvidas ao longo da história. Entre os métodos de Esteganografia é possível destacar: tintas invisíveis, micropontos, arranjo de caracteres, assinaturas digitais, canais escondidos, comunicações por espalhamento de espectro, entre outras. De acordo com Jascone (apud PETRI, 2004, p. 8), esteganografia é a arte da comunicação secreta, onde oculta-se uma mensagem sigilosa dentro de outra informação sem importância, de maneira que não seja possível identificar que há uma mensagem escondida. Na área da computação essa outra informação sem importância pode ser um arquivo de som, imagem ou texto. 2.2 Histórico Ao longo da história, foram criados e utilizados muitos métodos para ocultar informações, com o objetivo de obter privacidade e segurança dentro dos meios de comunicação. Um método utilizado na Grécia antiga para troca de mensagens seguras era raspando a cabeça dos escravos de confiança e tatuando a mensagem sigilosa a ser transmitida, e após o crescimento do cabelo o escravo era enviado até o seu

17 16 destino, onde sua cabeça seria raspada novamente para ser revelada a mensagem à pessoa desejada (PETITCOLAS ET AL,1999, apud ROCHA, 2003, p.3). Outro método foi o de micropontos que começou a ser utilizado na Segunda Guerra Mundial. Uma mensagem secreta poderia ser fotografada e reduzida ao tamanho de um ponto e podendo este ponto fazer parte de uma mensagem qualquer sondo o ponto de uma letra i ou até mesmo de um ponto final. de frase de uma mensagem qualquer (JASCONE, 2003, p.33). Outra técnica seria ocultar uma mensagem dentro de outra, um exemplo seria escrever uma mensagem oculta utilizando a primeira letra de cada palavra de outra mensagem que não tenha importância (JASCONE, 2003, p.33). 2.3 Esteganografia X Criptografia A esteganografia é um ramo da Criptologia que consiste em ocultar uma informação dentro de outra informação sem importância. Ao invés de cifrá-la, técnica utilizada na criptografia de mensagens, o que se busca é tornar imperceptível a sua presença. Uma diferença entre essas duas técnicas é que na esteganografia a mensagem não está codificada, mas não é possível notar a sua presença, enquanto que na criptografia a mensagem está codificada, porém a sua presença pode ser identificada. Essas duas técnicas podem ser combinadas para aumento da privacidade e segurança.

18 Aplicações A seguir serão apresentadas algumas aplicações de Esteganografia descritas por GOIS (apud PETRI, 2004, p. 19) Proteção de direitos autorais É quando um autor de uma imagem, vídeo, som ou texto deseja assinar sua obra para que nenhuma pessoa possa atribuir-se ou aproveitar-se das obras de sua autoria Comunicação encoberta O simples fato de uma pessoa usuária de computador desejar enviar uma mensagem eletrônica de forma sigilosa para outra pessoa pode despertar o interesse de um atacante interceptar e bloquear a mensagem. Com o uso da criptografia alertaria o atacante, entretanto aplicando-se a esteganografia a comunicação tornaria possível sem que o atacante soubesse da existência de uma comunicação.

19 Seriação (Fingerprinting) Consiste em colocar, escondido ou não, identificador único do usuário em objetos, da mesma forma em que cada cópia de uma xilogravura 1 é idêntica às outras a menos do número que a identifica dentro da série produzida (1/20, 2/20, etc.). Tudo isso para ser possível detectar e identificar a cópia ilegal de produtos Certificação e controle de acesso Muito utilizado em documentos oficiais, por exemplo, carteiras de identidade e passaportes. Ela permite validar as informações presentes em um documento por meio da sua vinculação. Um exemplo seria a utilização de um cartão de identificação, onde o identificador do cartão é mostrado em forma textual e também escondido como uma marca na própria fotografia impressa no cartão Legenda em imagens e vídeos Nesse caso as legendas seriam ocultadas em imagens ou vídeos de modo que as mesmas possam ser extraídas e apresentadas quando necessário. Esse método também pode ser aplicado em som ou informações adicionais de um filme de DVD, por exemplo. 1 Xilogravura é uma técnica de impressão feita em pedaços de madeira com desenhos feitos em relevo (PETRI, 2004, p.15).

20 Autenticação e verificação da integridade As imagens não podem ser aceitas como provas de julgamento, pois podem ser facilmente alteradas ou manipuladas. Com o uso de marcas digitais essa situação pode ser alterada em favor do uso deste tipo de mídia, como o uso de câmeras digitais, por exemplo Controle de cópias Muitas companhias estão trabalhando em restringir e controlar a possibilidade de cópia de seus produtos. Um exemplo seria a fabricação de DVDs, onde um filme comercial poderia conter uma marca digital que especificasse se e quando o filme poderia ser copiado. 2.5 Técnicas de Esteganografia Esteganografia em textos Segundo Petri (2004), esse método é um dos mais simples, pois não é preciso a utilização de nenhuma ferramenta específica para aplicar tal método. Um exemplo dessa técnica seria ler apenas a ultima letra de cada palavra, formando assim uma palavra escondida, ou ainda, um texto.

21 Codificação por deslocamento de linhas verticalmente De acordo com Petri (2004), por meio dessa técnica, as linhas descritas no texto são deslocadas verticalmente para codificar unicamente o documento. Codificar e decodificar podem ser aplicados ao formato de arquivo de um documento ou a um bitmap 2 de página de imagem. Nesse caso, se o documento está em formato de papel é mais difícil remover a codificação. Cada página passará pelo processo de reescaneamento, alteração e reimpressão. Isto se torna ainda mais complicado se o documento impresso é uma fotocópia, pois podem sofrer algumas alterações Codificação por deslocamento de palavra em textos justificados Na codificação por deslocamento de palavra em textos justificados, as codewords 3 são codificadas em um documento deslocando as posições horizontais das palavras dentro das linhas do documento, mantendo o aspecto de espaçamento natural. Essa codificação pode também ser aplicada a um formato de arquivo ou a um bitmap de página de imagem. A técnica é somente aplicável a documentos com espaçamento variável entre palavras vizinhas, como em documentos que tiveram o texto justificado. Como efeito dessa variação no espaçamento, é necessário ter a imagem original, ou saber o espaçamento entre as palavras em um documento não codificado (PETRI, 2004). Nessa técnica, o deslocamento de palavras pode também ser detectado e destruído. Em caso de alguém conhecer o algoritmo usado pelo formatador para a justificação do texto, o espaço real entre as palavras pode ser então medido e comparado com o espaçamento esperado pelo formatador. As diferenças de 2 Formato de um arquivo do tipo imagem. Estes arquivos possuem extensões.bmp (PETRI, 2004, p.17). 3 Palavras-chave de um texto (PETRI, 2004, p.17).

22 21 espaçamento revelariam os dados codificados. Outra maneira é pegar dois ou mais documentos não corrompidos e distintamente codificados e executar operações de diferenciamento de pixels, página por página nas imagens. Assim poderia se perceber o deslocamento das palavras e o tamanho do espaçamento entre elas. Reespaçando as palavras deslocadas de volta ao espaçamento original produzido sob o formatador, ou aplicando deslocamentos horizontais aleatórios a todas as palavras não encontradas nas bordas das colunas do documento, poderia se eliminar a codificação. Entretanto, essas técnicas poderiam consumir muito tempo (PETRI, 2004) Codificação por deslocamento do caracter de fim de linha Outra técnica de codificar informações em texto é conhecida como codificação característica. Isto se aplica a um arquivo de imagem bitmap de um documento, ou a um arquivo de formato. Nessa codificação, algumas características do texto são modificadas ou não, dependendo da palavra código. A codificação característica suporta uma quantidade elevada de codificação dos dados, devido ao número freqüentemente elevado das características nos originais que podem ser modificados. A codificação característica pode ser detectada ajustando cada comprimento de fim de linha a um valor fixo, podendo ser feito de forma manual ou automática (PETRI, 2004) Esteganografia em áudio O Sistema Auditivo Humano (SAH) apresenta uma faixa de freqüência muito grande e muito sensível ao ruído. Qualquer modificação em um arquivo de áudio pode ser detectada. Entretanto, enquanto o SAH possui uma larga faixa dinâmica, ele tem uma pequena faixa de diferenciação para distância - sons fortes tendem a abafar

23 22 sons fracos. Para esconder mensagens em áudio, é necessário explorar as fraquezas do SAH, tomando cuidado com a sensibilidade humana (BENDER, 1996 apud PETRI, 2004, p. 19) Inserção no bit menos significativo Valores binários podem ser armazenados nos bits menos significativos dos arquivos de áudio. A capacidade do sinal é de 1 Kb por segundo por kilohertz, então, por exemplo, em uma seqüência de reprodução de 44 khz a capacidade do sinal seria de 44 kbps. Porém, essa técnica introduz um ruído audível. Uma das desvantagens desta técnica é a pequena imunidade a manipulações. Fatores, como, ruído de canal e regravação podem destruir facilmente o sinal oculto (BENDER, 1996 apud PETRI, 2004, p. 19) Esconder dados no eco do áudio Nesse método são inseridos os dados em sinal próprio gerando um eco. Os dados são escondidos pela variação de três parâmetros de eco: amplitude inicial, taxa de deterioração e o atraso. Em algum ponto, a audição humana não pode distinguir entre o som original e o eco, onde o sinal do eco é ouvido simplesmente como ressonância. As qualidades da gravação original, do tipo de som, e do ouvinte, também influenciam na transmissão (BENDER, 1996 apud PETRI, 2004, p. 19).

24 Esteganografia sobre TCP/IP Existem técnicas para ocultar informações dentro do cabeçalho de um pacote TCP/IP 4. A arquitetura básica do pacote TCP/IP permite um número de opções secretas, ou seja, a utilização dos campos não usuais ou opcionais que ficam dentro dos pacotes (PETRI, 2004) Esteganografia em imagens No próximo item, serão mostradas técnicas de codificação dos dados em imagens digitais. Necessariamente, na esteganografia da imagem é preciso saber explorar os poderes limitados do sistema visual humano (SVH). A esteganografia da imagem evoluiu muito com o desenvolvimento de computadores gráficos rápidos e poderosos, além de que os softwares esteganográficos estão disponíveis para usuários diários da Internet (PETRI, 2004). 4 O TCP/IP ( nome derivado de seus protocolos principais Transmission Control Protocol/Internet Protocol ) é um padrão utilizado para conectar as redes de computadores que fazem parte da Internet, permitindo a comunicação entre aplicativos em computadores de redes distintas sem que haja necessidade de se conhecer a topologia empregada em cada uma delas (PETRI, p.10).

25 Técnicas de Esteganografia em Imagens Inserção no bit menos significativo De acordo com Jascone (2003, p.38), pondera que: O método Last Significant Bit (LSB) 5 é o mais comum utilizado para armazenar informação em imagens digitais. Consiste em utilizar o bit menos significativo de cada pixel (ou de cada cor) da imagem, para ocultar a mensagem. De acordo com Rocha (2003, apud Jascone, 2003, p.38), as técnicas de LSB conseguem esconder os dados aos olhos humanos, mas podem ser facilmente perdidas computacionalmente utilizando algoritmos de compressão com perdas de dados. Por exemplo, se a mensagem for ocultada em uma imagem no formato bitmap, a mensagem é perdida se esta for convertida para um formato JPEG, devido ao processo de compressão que o padrão utiliza. Para esconder uma mensagem em uma imagem de 24 bits, sendo que em cada pixel possui três bytes (RGB), utilizando a técnica de inserção no bit menos significativo, pode-se armazenar três bits em cada pixel, utilizando um bit de cada byte desse pixel, sendo assim, cada byte da mensagem a ser ocultada irá ocupar oito bytes da imagem (JASCONE, 2003). A Figura 1 mostra os valores dos pixels de uma determinada imagem. 5 Last Significant Bit bit menos significativo.

26 25 Figura 1 Exemplo de pixels de uma imagem Fonte: JASCONE, Supondo que o desejável seja armazenar a letra A nesta imagem. A letra A é o código 65 da tabela ASCII e seu valor binário é equivalente ao número: Armazenando esse valor binário, bit a bit, no corpo da imagem, utilizando o bit menos significativo de cada byte do pixel, a imagem resultante seria equivalente a Figura 2 (JASCONE, 2003).

27 26 Figura 2 Exemplo de uso do método LSB Fonte: JASCONE, Os bits sublinhados são aqueles que foram alterados, causando uma alteração imperceptível para o olho humano na cor do pixel. Esses valores agrupados formam o byte que representa a letra A (JASCONE, 2003) Técnicas de filtragem e mascaramento Técnicas de filtragem e mascaramento são restritas a imagens em tons de cinza. Essas técnicas escondem a informação pela marcação de uma imagem, semelhante ao funcionamento das marcas d água em papel. Uma das vantagens dessa técnica é que devido ao fato da marca d água ser integrada na imagem ela pode ser aplicada em imagem que passam por métodos de compressão. Outra vantagem é que o olho humano não consegue distinguir as mudanças na imagem, sendo assim, as técnicas de máscara e filtragem também passam despercebidas pelo sistema visual humano (JASCONE, 2003, p.40).

28 Algoritmos e transformações Os algoritmos de transformação trabalham com formas mais refinadas de manipulação de imagens, entre elas estão: o brilho, a saturação e a compressão das imagens. As técnicas de transformação tomam como aliado a compressão, que é o principal inimigo da inserção LSB. Por isso tornam-se como as mais refinadas técnicas de mascaramento de informações em imagens conhecidas (ROCHA, 2003, apud PETRI, 2004, p.23).

29 28 3 ARQUIVOS DE IMAGEM JPG O padrão JPEG (Joint Photographic Experts Group), estabelecido juntamente pelo ISO/IEC e organizações de CCITT, é um dos mais importantes padrões de compressão de dados dos anos 90. O padrão de compressão de imagens JPEG trabalha com imagens em tons de cinza e imagens coloridas de resolução e tamanho variado. O padrão JPEG é usado em artes gráficas, editoração eletrônica, imagens médicas, e várias outras aplicações. Esse padrão é usado comumente em compressão com perda. Porém, também há um modo de compressão sem perda com desempenho de compressão reduzido (BAXES, 1994). O formato de imagem que faz uso desse algoritmo é o JPG. O tamanho de cada bloco adotado para o padrão JPG é 8x8 pixels, pois possui melhor razão entre tempo de cálculo e capacidade de compressão (SILVA, 1998). O procedimento integral para a compressão de uma imagem tem a Transformada Discreta do Cosseno (TDC) como uma de suas etapas. Primeiramente, a imagem é subdividida em blocos 8 x 8, os quais são então transformados pela TDC gerando um conjunto conhecido como coeficiente TDC. Esses coeficientes são então quantizados, ou seja, sofrem uma redução em valor, sendo mantidos apenas os mais importantes. O padrão JPEG faz essa redução por zona. É nessa etapa que há uma significativa diminuição do espaço exigido para o armazenamento, com conseqüente perda de informação. Os coeficientes são reordenados obedecendo a seqüência zigzag para a codificação por entropia, após a reordenação, são transformados pela codificação de Huffman (SILVA, 1998). Esse processo se repete até que se acabem todos os blocos da imagem, quando se tem a imagem comprimida com extensão JPG. O processo de recuperação da imagem original segue os passos na direção contrária, aplicando no final a transformada inversa do cosseno (NELSON, 1991).

30 29 A Figura 3 apresentada a seguir mostra o processo de compressão de um arquivo de imagem JPG. A Figura 4 mostra o processo de descompressão de um arquivo de imagem JPG. Figura 3 Processo de Compressão JPEG Fonte: SILVA, 1998.

31 Figura 4 Processo de Descompressão JPEG Fonte: SILVA,

32 Transformada Discreta do Cosseno (TDC) A Transformada Discreta do Cosseno (TDC) é uma transformada matemática baseada em cossenos, é muito utilizada em compressão de dados e processamento digital de imagens. Como é citado por Silva (1998, p. 4), a Transformada Discreta do Cosseno é a chave do processo de compressão, onde ela transforma um conjunto de pontos do domínio espacial em uma representação equivalente no domínio da freqüência. A Transformada Discreta do Cosseno diminui a correlação, ou seja, eliminam-se as redundâncias estatísticas. Outro aspecto importante é que os novos dados devem exigir menos espaço ao mesmo tempo em que o algoritmo para obtê-los seja o mais eficiente possível. A transformada utilizada no processo de compressão do padrão JPEG é a TDC, que converte um bloco de pixels em uma matriz de coeficientes, descorrelacionando a informação da imagem. Os coeficientes (que foram transformados) iniciais do bloco contêm as informações mais relevantes da imagem, sendo assim, deve-se garantir o armazenamento de certo número de coeficientes com baixos índices de posição. Por outro lado, como a transformada fornece uma série de cossenos, os coeficientes reduzem em amplitude conforme os índices aumentam. Portanto, os coeficientes podem ser quantizados por zona, diminuindo-os e eliminando os menos significantes, obtendo o principal ganho na taxa de compressão (SILVA, 1998). A Transformada Discreta do Cosseno é definida por: para i, j = 0,1..., N-1, e

33 32 onde: C: Transformada Discreta do Cosseno f: Valores da imagem original (nível de cinza) N: Dimensão da imagem (ou bloco). Para aplicar a TDC em uma imagem, é necessário, para agilizar os cálculos e para uma melhor taxa de compressão, dividir a imagem original em blocos, 4 x 4, 8 x 8 ou 16 x 16, podendo chegar a usar até blocos de 32 x 32 ou 64 x 64. Geralmente são usados blocos 8 x 8 (SILVA, 1998). variados. A Figura 5 mostra os resultados de compressão com tamanhos de blocos Figura 5 Resultados de Compressão com diferentes tamanhos de blocos Fonte: SILVA, 1998.

34 33 A Transformada Inversa do Cosseno (ITDC) é dada por: O tempo necessário para computar cada elemento na TDC é dependente do tamanho do bloco. O número de multiplicações para este caso é equivalente a N 2, isto é, o tempo necessário para processar cada elemento na TDC aumenta consideravelmente quando N aumenta. O total de cálculos necessários para realizar uma transformada TDC é proibitivamente grande. A implementação da TDC, em geral, deve dividir a imagem em blocos menores, mais rapidamente computáveis. O grupo JPEG selecionou o bloco de tamanho 8 x 8 para ser o padrão (NELSON, 1991). 3.2 Quantização Segundo Silva (1998, p. 14), a Transformada Discreta do Cosseno ocupa mais espaço do que a matriz original, pois, enquanto os valores da matriz original são do tipo inteiro, os coeficientes da transformada são reais. Para reduzir esses valores, é realizada a quantização, que é o processo de reduzir o número de bits necessários para armazenar um valor reduzindo a precisão de um inteiro. É na quantização que acontece a perda da informação, ou seja, os valores dos coeficientes que eram reais passam a ser inteiros, perdendo a parte decimal, porém reduzindo o número de bits necessários para armazenar os valores. O padrão JPEG, usa uma matriz Q[i][j] de quantização extremamente testada por membros do comitê, que gera um nível estável e bom de compressão:

35 34 Q[i][j] = 1 + (1 + i + j) * fator_de _qualidade No qual o fator_de_qualidade pode variar de 1 a 25. Valores maiores do que 25 comprometem em muito a qualidade da imagem. qualidade. A Figura 6 mostra os resultados de compressão com diferentes fatores de Figura 6 Resultados de Compressão variando os fatores de qualidade aplicados a uma imagem de 384 X 288 pixels com 1 byte por pixel, tamanho de bytes. Fonte: SILVA, Dessa maneira os coeficientes associados as maiores freqüências são os que sofrem as maiores reduções. Essa é uma quantização por zona, pois incide em certas posições, ao invés de determinar quais os coeficientes são os mais importantes para o bloco específico (SILVA, 1998). Um algoritmo para gerar a matriz de quantização, poderia ser escrito como o algoritmo: for (i = 0; i < N; i ++) for (j = 0; j < N; j++)

36 35 Q[i][j] = 1 + (1 + i + j)*fator_de_qualidade; O próximo passo é quantizar os coeficientes da TDC: Valor_quantizado[i][j] = Q[i][j]/DCT[i][j] arredondado para inteiro. No processo de descompressão, opera-se de maneira inversa: TDC[i][j] = Valor_quantizado[i][j] * Q[i][j] 3.3 Zig-zag O algoritmo de JPEG comprime tão efetivamente devido ao fato de que um número grande de coeficientes na imagem de TDC é truncado para zero durante o método de quantização dos coeficientes. Tantos valores são setados para zero que o comitê JPEG elegeu para manipular estes valores diferentemente de outros valores dos coeficientes (SILVA, 1998). Segundo Silva (1998, p. 31), como a quantização diminui a magnitude dos coeficientes da TDC e aumenta o número de coeficientes com valores zero, se os dados forem ordenados novamente agora usando a seqüência Zig-zag, mostrada na Figura 7, os coeficientes de baixa freqüência são colocados na frente dos coeficientes de alta freqüência. zig-zag: Um esquema usado para reordenar estes elementos é conhecido como

37 36 Figura 7 Ziz-zag num bloco de 8 x 8 Fonte: NELSON, Codificação RLC Segundo Silva (1998, p.18), a entropia de uma imagem é a medida de seu conteúdo de informação. Se a entropia é alta, a informação de uma imagem tende a ter pouca correlação, sendo assim, a informação de uma imagem de entropia alta apresenta muita aleatoriedade e pouca redundância. Se a entropia é baixa, a informação de uma imagem é mais previsível, apresenta pouca aleatoriedade e muita redundância. A entropia de uma imagem pode ser calculada como a probabilidade de sua ocorrência. Isto é exibido como um número que representa o número de bits necessários para representar aquela probabilidade. Para qualquer imagem, o calculo é realizado como segue:

38 37 E = Nc x Nl x Nb Onde: E: entropia; Nc: Número de colunas; Nl: Número de linhas; Nb: Número de bits por pixel. Por exemplo: 640 x 480 x 8, teria a seguinte entropia: E = 640 x 480 x 8 = Essa é a medida de entropia para qualquer caso 640 x 480 x 8 bit imagem. Qualquer uma de possíveis imagens diferente pode ser representada por uma imagem desta resolução. A chance de uma imagem particular com estas medidas ser idêntica à outra é de uma em (SILVA, 1998). Raramente as imagens são compostas de níveis totalmente variados, a entropia atual de uma imagem normal geralmente será algo menor do que o cálculo acima. Devido ao fato da quantidade de dados de uma imagem comum ser sempre mais alta que a quantidade de dados de informação comum. A quantidade de informação comum da imagem é denominada de entropia atual de uma imagem. A técnica que codifica a entropia diminui redundâncias da imagem para ser utilizada em códigos de tamanho variável. Isto pode ser feito codificando números variáveis de pixels com código de tamanho fixo, ou codificando números fixos de pixels com códigos de tamanhos variados (SILVA, 1998). Como é citado por Silva (1998), codificação de imagem RLC tira proveito do fato que vários pixels pertos em uma imagem tendem a ter o mesmo valor de nível.

39 38 Dessa forma podem-se agrupar os pixels de nível idênticos em códigos únicos, reduzindo assim, a redundância da imagem. Na codificação RLC a imagem original é analisada começando do primeiro pixel do canto superior esquerdo, do primeiro pixel em diante é seguido o vizinho pela linha, são determinados quantos pixels seguidos tem o mesmo valor. Se o próximo ou mais pixels em seqüência possui o mesmo valor de nível como o primeiro então eles são todos representados por um novo código. O novo código é formado por dois valores, o primeiro com o valor de nível e o segundo com a quantidade de pixels que possuem o mesmo valor. Em seguida move para o próximo pixel na linha com um novo valor de nível e o processo se repete. Quando a linha é finalizada, o processo passa para o começo da próxima linha. Assim, o processo continua até que a última linha da imagem seja alcançada e finalizada. Se, por exemplo, 10 pixels em seqüência tivessem o valor semelhante de nível de 80, eles seriam transformados nos valores (nível quantidade). Os 10 bytes de dados necessários para representar 10 pixels da imagem original são comprimidos para somente 2 bytes (BAXES, 1994). A Figura 8 apresentada a seguir mostra um exemplo da operação Run- Length Coding. Figura 8 A operação Run-Length Coding Fonte: SILVA, 1998.

40 39 Como é citado em Silva (1998), uma imagem codificada com o RLC é decodificada ampliando cada código gerado. O nível de cada código é repetido pela linha da imagem para o número de pixels indicado pelo valor de duração adjunto. Segundo Silva (1998), em imagens binárias, este método possibilita grandes taxas de compressão. Porém, se os pixels vizinhos não forem iguais, a codificação pode resultar em um tamanho maior do que a imagem original. Por exemplo: pixels de uma imagem codificação RLC A região da imagem possui 3 bytes, já a codificação precisa de 6 bytes para armazenamento, ou seja, o dobro da imagem original. 3.5 Codificação por Huffman Outra técnica usada para a codificação de entropia é a de Huffman, desenvolvida em 1952, por D. A. Huffman. A codificação de Huffman transforma o valor do nível de pixel da imagem original em um novo código de tamanho variável, onde, este novo código é baseado nas freqüências de ocorrência na imagem. Desta forma, são atribuídos níveis que freqüentemente acontecem em códigos menores, e são atribuídos níveis que acontecem sem muita freqüência em códigos maiores. O resultado é que a imagem comprimida exigirá menos bits globais para demonstrar a imagem original (SILVA, 1998). O método de compressão de Huffman inicia olhando o histograma de nível de uma imagem. A freqüência de ocorrência para todo nível na imagem é analisada pelo histograma. Os valores de nível são ordenados pelas freqüências de ocorrência

41 40 em luma lista, onde o código de Huffman atribui novos códigos para cada valor de nível. Os códigos atribuídos possuem tamanhos variados; os códigos menores são atribuídos primeiros (mais freqüente) valores na lista e, eventualmente, os códigos mais longos são atribuídos últimos (menos freqüente) valores na lista. For fim, a imagem comprimida é criada substituindo os códigos de valor de nível de tamanho variável para o original código de valor de nível de 1 byte (SILVA, 1998). A Figura 9 mostra um exemplo de imagem, no qual será aplicada a codificação de Huffman. Figura 9 Imagem com 640 X 480 pixels Fonte: SILVA, cada nível de cinza. A Figura 10 mostra o histograma da Figura 9 com o número de pixels de

42 41 Figura 10 Histograma da imagem original com o número de pixels de cada nível de cinza Fonte: BAXES, Os códigos de Huffman são atribuídos criando a árvore de Huffman que emparelha os valores de nível baseado nas suas freqüências combinadas de ocorrência. A árvore de Huffman assegura que os códigos maiores são atribuídos freqüentemente os de menos níveis e vice-versa (BAXES, 1994). imagem. A Figura 11 mostra a árvore de Huffman gerada a partir do histograma da

43 42 Figura 11 Árvore de Huffman Fonte: BAXES, imagem. A Figura 12 mostra a codificação de Huffman que foi gerada para a Figura 12 Codificação de Huffman Fonte: BAXES, 1994.

44 43 Segundo Silva (1998), o código de Huffman é tão pequeno quanto um bit e podendo chegar ao valor máximo de sete bits. O maior código de Huffman nunca pode ser superior que o número de níveis diferentes na imagem (no caso, oito) menos um. Embora uma imagem codificada pelo Huffman possa ter alguns níveis com códigos muito longos, as suas freqüências de ocorrências sempre são estatisticamente baixas. A decodificação de imagem Huffman inverte o processo de compressão substituindo o valor original pelo valor da codificação de Huffman. A codificação por Huffman gera uma razão de redução do código de 1.5:1 a 2:1 (SILVA, 1998).

45 44 4 PROJETO 4.1 Descrição das Atividades Realizadas Inserção de mensagem na imagem Foi desenvolvida uma função para aplicar o conceito de esteganografia em arquivos de imagem, essa função tem como objetivo inserir uma mensagem nos bits menos significativos de cada pixel da imagem. Para guardar uma letra na imagem são necessários oito pixels, pois uma letra é representada por oito bits, sendo assim, cada bit da letra é inserido em um pixel. E, por fim, é inserida na imagem uma marcação de fim de mensagem, a marcação utilizada nesse caso foi inserir no fim da mensagem três asteriscos, para ser possível identificar o término da mensagem inserida. imagem. A Figura 13 mostra o código da inserção de uma mensagem em uma 1 public void escrevemsg(string msg) 2 3 msg=msg+"***"; 4 int contbits=0, cont = 0; 5 char charatual = msg.charat(0); 6 char aux; 7 int l, c, pixel[] = 0, 0, 0, 0; 8 WritableRaster raster = bimage.getraster(); 9 for (l=0 ; l<bimage.getheight() && cont<msg.length(); l++) 10 for (c=0 ; c<bimage.getwidth() && cont<msg.length(); c++) 11 raster.getpixel(c,l,pixel); //obtem um pixel 12 if (contbits<8) 13 aux=charatual; 14 //vai deslocando o aux utilizando o contbits, que se desloca 8 vezes, pegando assim todos os bits do caracter e salva cada bit do caracter em um bit menos significativo do pixel da imagem. 15 if ((char)(aux<<(contbits)+8)>>(7+8) == 1) //desloca pra direita e pega o bit pelo contbits 16 pixel[0]= pixel[0] 1; 17 else pixel[0]= pixel[0]&(~1); 18 raster.setpixel(c,l,pixel); 19 contbits++; 20

46 45 21 else 22 //após 8 bits significa que terminou de gravar um caracter 23 cont++; 24 contbits = 0; 25 if (cont<msg.length()) 26 charatual =msg.charat(cont); //pega o próximo caracter a ser gravado na imagem Figura 13 Código de Inserção de mensagem na imagem Leitura da mensagem embutida na imagem Outra função foi desenvolvida, esta com o objetivo de extrair uma possível mensagem da imagem. Nessa função a leitura de 8 pixels forma uma letra, onde em cada pixel é extraído o valor do bit menos significativo, depois de lidos 8 pixels é possível formar um caracter. Dessa forma é feita a leitura na imagem até que se encontre a marcação de fim de mensagem. imagem. A Figura 14 mostra o código da leitura de uma mensagem em uma 1 public String lermsg() 2 3 String msg = "",aux = ""; 4 int qtdchar=0,contbits=0,cont=0,mascara=1,tam,l,c,pixel[]=0, 0, 0, 0; 5 char buffer=0,char1,char2,char3; 6 WritableRaster raster = bimage.getraster(); 7 for (l=0 ; l<bimage.getheight() ; l++) 8 for (c=0 ; c<bimage.getwidth() ; c++) 9 raster.getpixel(c,l,pixel); //obtem um pixel 10 cont++; 11 if (msg.length()>3) 12 //Quando encontrar *** significa que a mensagem acabou 13 tam=msg.length(); 14 char1=msg.charat(tam-1); 15 char2=msg.charat(tam-2); 16 char3=msg.charat(tam-3); 17 if ((char1=='*') && (char2=='*') && (char3=='*')) 18 for (int i=0; i<=msg.length()-4; i++) 19 aux=aux+msg.charat(i);

47 46 20 msg=aux; 21 return(msg); if (contbits<8) 25 //Lê 8 bits, para poder formar um caracter 26 if (contbits==0) 27 if ((pixel[0] & mascara)==1) 28 buffer = (char)((buffer) 1); //desloca um bit pra esquerda e coloca o bit um 29 else buffer = (char)((buffer)&(~1)); //desloca um bit pra esquerda e coloca o bit zero else 32 if ((pixel[0] & mascara)==1) 33 buffer = (char)((buffer<<1) 1); //desloca um bit pra esquerda e coloca o bit um 34 else buffer = (char)((buffer<<1)&(~1)); //desloca um bit pra esquerda e coloca o bit zero contbits++; else 39 //Depois de formar um caracter ele é concatenado com a mensagem e depois começa a ler outro caracter 40 contbits = 0; 41 msg = msg + (char)buffer; 42 buffer=0; return msg; 46 Figura 14 Código de leitura da mensagem na imagem Aplicação de esteganografia em arquivos de imagem BMP A técnica de esteganografia foi primeiramente aplicada em arquivos de imagem BMP, ao qual apresentou resultados satisfatórios, pois as mensagens inseridas nos bits menos significativos de cada pixel foram recuperados após a imagem ser salva, isto é, devido ao fato de que o padrão de imagem BMP não sofrer nenhum tipo de compressão.

48 Aplicação de esteganografia em arquivos de imagem JPG Posteriormente, essa técnica foi aplicada igualmente em arquivos de imagem JPG, onde após a leitura da imagem foi inserida uma mensagem em seus bits menos significativos e então a imagem foi salva. Após os testes com imagens do padrão JPG, foi possível perceber que essa não apresentou resultados satisfatórios, pois após a imagem ser salva, os dados inseridos foram perdidos, isto é, devido ao fato de que o padrão de imagem JPG sofrer compressão com perda, ou seja, devido às transformações pelo qual a imagem passa a informação é perdida Inserção da mensagem após realizar etapas de compressão usando funções desenvolvidas A Figura 15 representa a primeira técnica que foi implementada, esta técnica consiste em desenvolver funções para serem utilizadas no processo de inserção e leitura da mensagem.

49 48 Figura 15 Técnica 1: Criar funções Após alguns testes com imagem JPG, foi iniciado um estudo das etapas que são realizadas na compressão do padrão de imagem JPG, a partir do qual é possível saber se existem possibilidades de inserir a mensagem em algumas dessas etapas e, posteriormente, conseguir recuperar a mensagem inserida. Algumas dessas etapas, tais como: a Transformada Discreta do Cosseno, a Transformada Inversa do Cosseno, a quantização e sua inversa, foram implementadas como formas de tentativas de inserção da mensagem, onde é possível verificar se, após a inserção da mensagem ocorre ou não perda dos dados inseridos em algum dos passos anteriormente citados. A Figura 16 mostra o código da Transformada Discreta do Cosseno e da quantização. 1 public void dct() 2 3 int qtdbl=(int)bimage.getwidth()/8, qtdbc=(int)bimage.getheight()/8; 4 for (int l=0;l<qtdbl;l++)

50 49 5 for (int c=0;c<qtdbc;c++) 6 dct_bloco(l,c); //o cálculo da TDC é realizado em blocos public void dct_bloco(int l, int c) 10 int pixel[] = 0, 0, 0, 0; 11 double tmp; 12 for (int i = 0; i < tam; i++) //percorre a imagem 13 for (int j = 0; j < tam; j++) //percorre a imagem 14 ret[i+l*8][j+c*8] = 0; 15 for (int x = 0; x < tam; x++) 16 for (int y = 0; y < tam; y++) 17 raster.getpixel(y+c*8,x+l*8,pixel); //obtem um pixel da imagem 18 tmp = pixel[0]; //zera o variável 19 tmp *= Math.cos((2*y + 1) * j * Math.PI/(2*tam)); //cálculo da TDC 20 tmp *= Math.cos((2*x + 1) * i * Math.PI/(2*tam)); //cálculo da TDC 21 ret[i+l*8][j+c*8] += tmp; //cada ponto da matriz resultante é a soma dos produtos do cosseno de todos os valores de um bloco ret[i+l*8][j+c*8] *= i==0?1.0/math.sqrt(tam):math.sqrt(2.0/tam); 25 //se o valor de i for 0, então o cálculo é 1 sobre a raiz quadrada do tamanho do bloco, se o valor de i for 1, então o cálculo é raiz quadrada de 2 sobre o tamanho do bloco. 26 ret[i+l*8][j+c*8] *= j==0?1.0/math.sqrt(tam):math.sqrt(2.0/tam); 27 //se o valor de j for 0, então o cálculo é 1 sobre a raiz quadrada do tamanho do bloco, se o valor de j for 1, então o cálculo é raiz quadrada de 2 sobre o tamanho do bloco //Quantização 31 for (int i = 0; i < tam; i++) 32 for (int j = 0; j < tam; j++) 33 Valor_Quantizado[i+l*8][j+c*8]=Math.round(ret[i+l*8][j+c*8]/Q[i][j]); 34 //valor quantizado é a TDC dividida pela matriz de quantização (Q). 35 System.out.print((int)Valor_Quantizado[i+l*8][j+c*8]+" "); System.out.println(""); Figura 16 Código da TDC e Quantização Inversa do Cosseno. A Figura 17 mostra o código da inversa da quantização e da Transformada 1 public void inv_dct() 2 3 int qtdbl=(int)bimage.getwidth()/8, qtdbc=(int)bimage.getheight()/8; 4 for (int l=0;l<qtdbl;l++) 5 for (int c=0;c<qtdbc;c++)

51 50 6 inv_dct_bloco(l,c); 7 8 public void inv_dct_bloco(int l, int c) 9 int pixel[] = 0, 0, 0, 0; 10 double tmp; 11 double[][] i_ret = new double[tam][tam]; 12 //Inversa da Quantização 13 //na inversa é realizada primeiro a quantização 14 for (int i = 0; i < tam; i++) 15 for (int j = 0; j < tam; j++) 16 ret[i+l*8][j+c*8]=valor_quantizado[i+l*8][j+c*8]*q[i][j]; 17 //no qual a matriz resultante recebe a operação inversa da quantização for (int x = 0; x < tam; x++) //percorre a imagem 20 for (int y = 0; y < tam; y++) //percorre a imagem 21 i_ret[x][y] = 0; //zera 22 for (int i = 0; i < tam; i++) 23 for (int j = 0; j < tam; j++) 24 tmp = ret[i+l*8][j+c*8]; 25 tmp *= Math.cos((2*y + 1) * j * Math.PI/(2*tam)); //cálculo da ITDC 26 tmp *= Math.cos((2*x + 1) * i * Math.PI/(2*tam)); //cálculo da ITDC 27 tmp *= i==0?1.0/math.sqrt(tam):math.sqrt(2.0/tam); 28 //se o valor de i for 0, então o cálculo é 1 sobre a raiz quadrada do tamanho do bloco, se o valor de i for 1, então o cálculo é raiz quadrada de 2 sobre o tamanho do bloco. 29 tmp *= j==0?1.0/math.sqrt(tam):math.sqrt(2.0/tam); 30 //se o valor de j for 0, então o cálculo é 1 sobre a raiz quadrada do tamanho do bloco, se o valor de j for 1, então o cálculo é raiz quadrada de 2 sobre o tamanho do bloco. 31 i_ret[x][y] += tmp; 32 //cada ponto da matriz resultante é a soma dos produtos do cosseno e dos coeficientes de todos os valores de um bloco for (int i = 0; i < tam; i++) 38 for (int j = 0; j < tam; j++) 39 System.out.print(Math.round(i_ret[i][j])+" "); //exibe o resultado 40 //pixel[0]=pixel[1]=pixel[2]=(int)i_ret[i][j]; //somente com cinza 41 //atualiza os valores dos pixels na imagem 42 raster.getpixel(j+c*8,i+l*8,pixel); 43 if (i_ret[i][j]>255) 44 pixel[0]=255; 45 else 46 pixel[0]=(int)i_ret[i][j]; 47 raster.setpixel(j+c*8,i+l*8,pixel); System.out.println(""); Figura 17 Código da inversa da Quantização e a Transformada Inversa do Cosseno

Compressão com perdas

Compressão com perdas Compressão com perdas Codificação por transformadas e o padrão JPEG Anderson L Menezes Leonardo G Tampelini Maxiwell S Garcia Introdução Um método é dito com perdas (lossy data) quando a informação obtida

Leia mais

ESTRUTURAS DE DADOS II

ESTRUTURAS DE DADOS II ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução

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

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial

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

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

Thales Trigo. Formatos de arquivos digitais

Thales Trigo. Formatos de arquivos digitais Esse artigo sobre Formatos de Arquivos Digitais é parte da Tese de Doutoramento do autor apresentada para a obtenção do titulo de Doutor em Engenharia Elétrica pela Escola Politécnica da USP. Thales Trigo

Leia mais

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

CorelDRAW 11 1. UM PROGRAMA DE DESIGN

CorelDRAW 11 1. UM PROGRAMA DE DESIGN CorelDRAW 11 1. UM PROGRAMA DE DESIGN Com o Corel você vai trabalhar com um dos aplicativos mais usados no campo do design e da auto-edição, já que permite operar com dois tipos de gráficos (vetoriais

Leia mais

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code

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

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens IntroduçãoàTecnologiaWeb HTML HyperTextMarkupLanguage XHTML extensiblehypertextmarkuplanguage FormatosdeImagens ProfªMSc.ElizabeteMunzlinger ProfªMSc.ElizabeteMunzlinger FormatosdeImagens Índice 1 FORMATOS

Leia mais

De posse desses arquivos, podemos escolher o método que será utilizado para inserir a mensagem na imagem. Os métodos mais comuns incluem:

De posse desses arquivos, podemos escolher o método que será utilizado para inserir a mensagem na imagem. Os métodos mais comuns incluem: Postado Em 25/08/2015 [data do post] por Fábio dos Reis [autor do post] em Segurança [categoria do post] Esteganografia é a prática de esconder mensagens, arquivos ou imagens / vídeos dentro de outras

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

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão)

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão) Tópico: Vídeo (Codificação + Compressão) Um vídeo pode ser considerado como uma seqüência de imagens estáticas (quadros). Cada um desses quadros pode ser codificado usando as mesmas técnicas empregadas

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação Autenticação Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Resumos de mensagem (hash) Algoritmo Hash são usados quando a autenticação é necessária, mas o sigilo,

Leia mais

Compressão de Imagens

Compressão de Imagens Compressão de Imagens Compressão de Imagens Geradas por Computador (Gráficos) Armazenamento (e transmissão) como um conjunto de instruções (formato de programa) que geram a imagem Utilização de algum esquema

Leia mais

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br Prof. Rafael Gross rafael.gross@fatec.sp.gov.br Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)

Leia mais

Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem. Reversível.

Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem. Reversível. Compressão sem Perda Explora a redundância entre pixels na codificação. Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem.

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

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

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

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

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

Introdução ao GED Simone de Abreu

Introdução ao GED Simone de Abreu Introdução ao GED Simone de Abreu GED O que é isso? O conhecimento teve, ao longo da história, diferentes significados e funções. No tempo das cavernas nossos antepassados transmitiam aos seus descendentes

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

Leia mais

PROVA DE NOÇÕES DE MICROINFORMÁTICA

PROVA DE NOÇÕES DE MICROINFORMÁTICA 18 PROVA DE NOÇÕES DE MICROINFORMÁTICA AS QUESTÕES DE 41 A 60 CONSIDERAM O ESQUEMA PADRÃO DE CONFIGURAÇÃO DO SISTEMA OPERACIONAL MICROSOFT WINDOWS ME E DAS FERRAMENTAS MICROSOFT WINDOWS EXPLORER, MICRO-

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas SISTEMAS DE ARQUIVOS FAT E FAT32 José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução Muitos usuários

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

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

Formatos de Imagem PNG. Universidade Federal de Minas Gerais. Bruno Xavier da Silva. Guilherme de Castro Leite. Leonel Fonseca Ivo

Formatos de Imagem PNG. Universidade Federal de Minas Gerais. Bruno Xavier da Silva. Guilherme de Castro Leite. Leonel Fonseca Ivo Universidade Federal de Minas Gerais Formatos de Imagem PNG Bruno Xavier da Silva Guilherme de Castro Leite Leonel Fonseca Ivo Matheus Silva Vilela Rafael Avelar Alves Belém Belo Horizonte, 5 de maio de

Leia mais

ÍNDICE... 2 INTRODUÇÃO... 4

ÍNDICE... 2 INTRODUÇÃO... 4 Mic crosoft Excel 201 0 ÍNDICE ÍNDICE... 2 INTRODUÇÃO... 4 Interface... 4 Guias de Planilha... 5 Movimentação na planilha... 6 Entrada de textos e números... 7 Congelando painéis... 8 Comentários nas Células...

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

Representação Binária de Dados

Representação Binária de Dados Universidade Federal de Santa Maria - UFSM Departamento de Eletrônica e Computação - DELC Introdução à Informática Prof. Cesar Tadeu Pozzer Janeiro de 2006 Representação Binária de Dados O computador utiliza

Leia mais

Aula 2 Modelo Simplificado de Computador

Aula 2 Modelo Simplificado de Computador Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

Outlook 2003. Apresentação

Outlook 2003. Apresentação Outlook 2003 Apresentação O Microsoft Office Outlook 2003 é um programa de comunicação e gerenciador de informações pessoais que fornece um local unificado para o gerenciamento de e-mails, calendários,

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Exercício 8 Busca de Músicas

Exercício 8 Busca de Músicas Exercício 8 Busca de Músicas Diversos softwares têm sido projetados para realizar a busca de músicas a partir de um trecho de áudio. Por exemplo, atualmente há ferramentas para celulares ou Web em que

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

Informática Básica para o PIBID

Informática Básica para o PIBID Universidade Federal Rural do Semi Árido Programa Institucional de Iniciação à Docência Informática Básica para o PIBID Prof. Dr. Sílvio Fernandes Roteiro O Tamanho e Resolução de imagens O Compactação

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

Colorindo com Números Representação de Imagens

Colorindo com Números Representação de Imagens Atividade 2 Colorindo com Números Representação de Imagens Sumário Os computadores armazenam desenhos, fotografias e outras imagens usando apenas números. A atividade seguinte demonstra como eles podem

Leia mais

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS André Zuconelli 1 ; Manassés Ribeiro 2 1. Aluno do Curso Técnico em Informática, turma 2010, Instituto Federal Catarinense, Câmpus Videira, andre_zuconelli@hotmail.com

Leia mais

Lista de Exercícios. Vetores

Lista de Exercícios. Vetores Lista de Exercícios Vetores LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI. WWW.EDUARDOSILVESTRI.COM.BR ATUALIZADO EM: 13/03/2007 Página 1/1 1. Faça um programa que crie um vetor de inteiros de 50 posições

Leia mais

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 2: Transmissão de Dados 1.

Leia mais

O que é RAID? Tipos de RAID:

O que é RAID? Tipos de RAID: O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um

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

Sphinx Scanner Informações gerais V 5.1.0.8

Sphinx Scanner Informações gerais V 5.1.0.8 Sphinx Scanner Informações gerais V 5.1.0.8 Pré-requisitos: Possuir modalidade scanner no software Sphinx A SPHINX Brasil propõe uma solução de leitura automática de questionários por scanner. O Sphinx

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

Leia mais

Introdução à Transmissão Digital. Funções básicas de processamento de sinal num sistema de comunicações digitais.

Introdução à Transmissão Digital. Funções básicas de processamento de sinal num sistema de comunicações digitais. Introdução à Transmissão Digital Funções básicas de processamento de sinal num sistema de comunicações digitais. lntrodução à transmissão digital Diferença entre Comunicações Digitais e Analógicas Comunicações

Leia mais

Imagem digital. Unidade 3

Imagem digital. Unidade 3 Imagem digital Unidade 3 Objectivos Reconhecer o potencial comunicativo/ expressivo das imagens; Reconhecer as potencialidades narrativas de uma imagem; A criação de sentido nas associações de imagens

Leia mais

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz Camadas de Transporte, Sessão & Apresentação Redes de Computadores Prof. Leandro C. Pykosz Função A camada de Transporte fica entre as camadas de nível de aplicação (camadas 5 a 7) e as de nível físico

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

ANALÓGICA X DIGITAL. Vamos começar essa aula estabelecendo os dois tipos de eletrônica: Eletrônica Analógica. Eletrônica Digital

ANALÓGICA X DIGITAL. Vamos começar essa aula estabelecendo os dois tipos de eletrônica: Eletrônica Analógica. Eletrônica Digital ANALÓGICA X DIGITAL Vamos começar essa aula estabelecendo os dois tipos de eletrônica: Eletrônica Analógica Eletrônica Digital ANALÓGICA X DIGITAL A eletrônica analógica é caracterizada por um sinal que

Leia mais

Implementando plugins para o ImageJ

Implementando plugins para o ImageJ UNIVERSIDADE FEDERAL DE MINAS GERAIS INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO NÚCLEO DE PROCESSAMENTO DIGITAL DE IMAGENS (NPDI) Tutorial Implementando plugins para o ImageJ Flávio

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

Novo Guia de uso rápido do PROJUDI

Novo Guia de uso rápido do PROJUDI 1. O que é o PROJUDI? Novo Guia de uso rápido do PROJUDI O Processo Judicial Digital PROJUDI, também chamado de processo virtual ou de processo eletrônico, pode ser definido como um software que reproduz

Leia mais

Sistema de Arquivos FAT

Sistema de Arquivos FAT Sistemas Operacionais Sistema de Arquivos FAT Edeyson Andrade Gomes www.edeyson.com.br FAT A FAT é o sistema de arquivos usado pelo MS-DOS e outros sistemas operacionais baseados em Windows para organizar

Leia mais

Capítulo 2. Numéricos e Códigos. 2011 Pearson Prentice Hall. Todos os direitos reservados.

Capítulo 2. Numéricos e Códigos. 2011 Pearson Prentice Hall. Todos os direitos reservados. Capítulo 2 Sistemas Numéricos e Códigos slide 1 Os temas apresentados nesse capítulo são: Conversão entre sistemas numéricos. Decimal, binário, hexadecimal. Contagem hexadecimal. Representação de números

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Atividade: matrizes e imagens digitais

Atividade: matrizes e imagens digitais Atividade: matrizes e imagens digitais Aluno(a): Turma: Professor(a): Parte 01 MÓDULO: MATRIZES E IMAGENS BINÁRIAS 1 2 3 4 5 6 7 8 Indique, na tabela abaixo, as respostas dos 8 desafios do Jogo dos Índices

Leia mais

Manual dos Serviços de Interoperabilidade

Manual dos Serviços de Interoperabilidade MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO Secretaria de Logística e Tecnologia da Informação Manual dos Serviços de Interoperabilidade Sumário Lista de Figuras...3 Lista de Tabelas...4 Introdução...5

Leia mais

Para resolver este problema foi aberta a solicitação abaixo

Para resolver este problema foi aberta a solicitação abaixo Página: 1 Documento criado em: 28/01/2008 - Última atualização: 22/04/2008 09:21 Cópias de Segurança das imagens Digitalizadas no Registro O texto imagens digitalizadas no Registro é porque as imagens

Leia mais

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet

Leia mais

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO Amanda 5ª Atividade: Codificador e codificação de linha e seu uso em transmissão digital Petrópolis, RJ 2012 Codificador: Um codoficador

Leia mais

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos Disciplina: Programas de Edição de Textos Professora: Érica Barcelos CAPÍTULO 4 4. RECURSOS PARA ILUSTRAÇÕES Uma característica que difere os processadores de textos dos editores é a possibilidade de gerar

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

Informática Aplicada a Radiologia

Informática Aplicada a Radiologia Informática Aplicada a Radiologia Apostila: Imagem Digital parte I Prof. Rubens Freire Rosa Imagem na forma digital A representação de Imagens na forma digital nos permite capturar, armazenar e processar

Leia mais

EA960 Redundância e Confiabilidade: RAID

EA960 Redundância e Confiabilidade: RAID EA960 Redundância e Confiabilidade: RAID Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Revisitando a lei de Amdahl:

Leia mais

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

OURO MODERNO www.ouromoderno.com.br. Designer Gráfico APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo) Designer Gráfico APOSTILA DE EXEMPLO (Esta é só uma reprodução parcial do conteúdo) 1 Índice Aula 1... 3 Apresentação do Photoshop... 3 Barra de Menus... 3 Barra de Opções... 3 Barra de Ferramentas...4

Leia mais

Fábrica de Noobs Reloaded

Fábrica de Noobs Reloaded Fábrica de Noobs Reloaded Esteganografia Utilizando o OpenPuff Depois de apresentar dois métodos simples de esteganografia, os quais poderiam ser facilmente burlados, mostrarei nos próximos vídeos três

Leia mais

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS.

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS. Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar com o CMS. 5 Removendo o Cliente. Playlist 7 Criando um Playlist. 8 Adicionando

Leia mais

Configuração do Ambiente de Trabalho

Configuração do Ambiente de Trabalho pag. 1 Configuração do Ambiente de Trabalho 1. Utilização da Área de Trabalho Criação de Atalhos: O Windows NT apresenta um Ambiente de Trabalho flexível, adaptável às necessidades e preferências do utilizador.

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Redes de Computadores. Prof. Dr. Rogério Galante Negri Redes de Computadores Prof. Dr. Rogério Galante Negri Rede É uma combinação de hardware e software Envia dados de um local para outro Hardware: transporta sinais Software: instruções que regem os serviços

Leia mais

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...

Leia mais

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se

Leia mais

UNIP UNIVERSIDADE PAULISTA

UNIP UNIVERSIDADE PAULISTA UNIP UNIVERSIDADE PAULISTA GERENCIAMENTO DE REDES Segurança Lógica e Física de Redes 2 Semestre de 2012 SEGURANÇA LÓGICA: Criptografia Firewall Protocolos Seguros IPSec SSL SEGURANÇA LÓGICA: Criptografia

Leia mais

Quais as diferenças entre os formatos de imagem PNG, JPG, GIF, SVG e BMP?

Quais as diferenças entre os formatos de imagem PNG, JPG, GIF, SVG e BMP? Quais as diferenças entre os formatos de imagem PNG, JPG, GIF, SVG e BMP? 66.393 Visualizações Por Daniele Starck Disponível em: www.tecmundo.com.br/imagem/5866 quais as diferencas entre os formatos de

Leia mais