Strings (Compressão) Estrutura de Dados II Jairo Francisco de Souza
|
|
- Tomás Taveira Palhares
- 6 Há anos
- Visualizações:
Transcrição
1 Strings (Compressão) Estrutura de Dados II Jairo Francisco de Souza
2 Compressão de Dados Objetivos Reduzir espaço de armazenagem Reduzir tempo de transmissão Muito importante Informação (e dados) tende a crescer de forma exponencial Exemplos: Compressão de arquivos em geral ZIP, GZIP, BZIP, BOA. Sistemas de arquivos: NTFS. Multimídia Imagens: GIF, JPEG Som: MP3. Vídeo: MPEG, DivX, HDTV. Comunicação Modems Faxes
3 Exemplo: Compressão do HD: reduzir o tamanho dos arquivos Compactação do HD: juntar partes disjuntas (desfragmentar) Compressão x Compactação Compressão Mudança na representação de algum dado para reduzir seu tamanho Compactação União de dados que não estão unidos
4 Sistemas de recuperação de informação Métodos recentes de compressão têm permitido: 1. Pesquisar diretamente o texto comprimido mais rapidamente do que o texto original. 2. Obter maior compressão em relação a métodos tradicionais, gerando maior economia de espaço. 3. Acessar diretamente qualquer parte do texto comprimido sem necessidade de descomprimir todo o texto desde o início
5 Codificação e Decodificação Seja M a mensagem que desejamos armazenar/transmitir Codificação: Gerar uma representação comprimida C(M) que, espera-se, utilize menos bits Decodificação: Reconstrução da mensagem original ou alguma aproximação M Razão de Compressão: bits de C(M) / bits de M Compressão sem perda: M = M Texto, programas fonte, executáveis etc RC: 50-75% ou menos Compressão com perda: M ~ M Imagens, som, vídeo Uma idéia é descartar informação não perceptível pelos sentidos RC: 10% ou mais, dependendo do fator de qualidade
6 Compressão - curiosidade KGB Archiver Programa para compressão sem perda "Comprima 700mb em 1mb!" Arquivos textos: Razão de compressão de menos de 10% Aplicativos: razão de compressão de menos de 25% PAQ Série de algoritmos criados colaborativamente. Dependente da memória RAM disponibilizada e extremamente lento. Geralmente precisando de algumas horas, mas podendo chegar a dias, semanas...
7 Codificação por Seqüências Repetidas Conhecida como Run-length encoding (RLE). Idéia é explorar longas seqüências de caracteres repetidos Substituir seqüência pelo número de repetições seguido do caractere repetido Se seqüência tem menos de 3 caracteres, ignorar regra Exemplo: AAAABBBAABBBBBCCCCCCCCDABCBAAABBBBCCCD 4A3BAA5B8CDABCB3A4B3CD Como representar o número de repetições? Alguns esquemas + ou complicados Pode levar à inflação de um arquivo se as seqüências são curtas Se o arquivo é binário, saída consiste apenas de contagens de repetições Por exemplo, tente comprimir a cadeia Aplicações Imagens preto e branco Usado nos arquivos.rle do Windows 3.x, que eram bitmaps usadas na tela de inicialização do sistema operacional. Impressoras térmicas (impressoras em aeroportos para impressão de bilhetes, etc).
8 Codificação de Huffman Idéia é usar caracteres (símbolos) com número variável de bits Caracteres mais comuns na mensagem são codificados com menos bits e caracteres menos comuns com mais Árvore de Prefixos de Huffman Dada uma mensagem, encontra a melhor (menor) codificação para os caracteres Algoritmo: Tabular freqüências dos símbolos Montar uma floresta de tries unitários com todos os símbolos e suas freqüências Repetir Localizar os dois tries com menor freqüência F i e F j Uní-los num trie único com freqüência F i + F j
9 Exemplo de Codificação de Freqüências dos caracteres Huffman Árvore de Huffman é um heap Pode implementar utilizando um array, assim como é feito no HeapSort Char E T A O I N S R H L D C U Freq
10 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
11 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
12 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
13 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
14 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
15 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
16 Exemplo de Codificação de Huffman 156 A O T E D L R S N I H C U 31 27
17 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
18 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
19 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
20 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
21 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
22 Exemplo de Codificação de Huffman A O T E D L R S N I H C U 31 27
23 Exemplo de Codificação de Huffman 125 Freq E Char T A O I N R H L D C U 65 S 0000 Fixo Huff Total
24 Codificação de Huffman Implementação. Dois passos Tabular freqüências e construir o trie Codificar mensagem percorrendo o trie Usar uma fila de prioridades (heap) Complexidade O(M + N log N) M é o comprimento da mensagem N é o número de caracteres distintos Dificuldades Transmissão do trie Pode ser resolvido com variante progressiva (Knuth): Trie é construído simultaneamente pelo codificador e decodificador
25 Codificação de Huffman Em algumas aplicações, como sistemas de recuperação de informação, o uso de palavras ao invés de caracteres torna-se importante Métodos de Huffman baseados em caracteres comprimem o texto para aproximadamente 60%. Métodos de Huffman baseados em palavras comprimem o texto para valores pouco acima de 25%.
26 Codificação de Huffman Exemplo: Para cada rosa rosa, uma rosa é uma rosa Divisão do texto: Separadores são caracteres que aparecem entre palavras: espaço, vírgula, ponto, ponto e vírgula, interrogação, e assim por diante. Uma forma eficiente de lidar com palavras e separadores é representar o espaço simples de forma implícita no texto comprimido. Nesse modelo, se uma palavra é seguida de um espaço, então, somente a palavra é codificada. Senão, a palavra e o separador são codificados separadamente. No momento da decodificação, supõe-se que um espaço simples segue cada palavra, a não ser que o próximo símbolo corresponda a um separador.
27
28 Exercício Codifique o texto abaixo usando a codificação de Huffman yabba dabba doo Decodifique o texto abaixo, utilizando a árvore fornecida:
29 Codificação de Huffman Problemas Como inserir novos símbolos na árvore? E se não soubermos a frequência dos símbolos previamente?
30 Huffman adaptativo A árvore é construída durante a compressão/descompressão (não necessita de ser enviada previamente) Não necessita de conhecer a estatística da fonte a priori Se a estatística variar, o código adaptase automaticamente Algoritmo Reservar um símbolo de escape na árvore para representar os símbolos que ainda não ocorreram Atualizar os pesos de todos os nós da árvore com o respectivo número de ocorrências (permite obter a estatística da fonte) Atualizar a árvore de forma a que todos os nós tenham pesos ordenados da esquerda para a direita e de baixo para cima
31 Huffman adaptativo O algoritmo foi desenvolvido independentemente por Faller (1973) e Gallager (1978) e melhorado por Knuth (1985), ficando conhecido como algoritmo FGK. Existe ainda outro melhoramento feito por Vitter (1987), conhecido como algoritmo V, que não é apresentado aqui. O Huffman adaptativo é usado no comando compact do UNIX
32 Huffman adaptativo A idéia do FGK é baseada na seguinte propriedade de irmandade: se cada nó tem um irmão (exceto a raiz) e o cruzamento de árvore extensão-primeiro direita-para-a-esquerda gera uma lista de nós com contadores de frequência não crescentes, pode-se provar que uma árvore com a propriedade de irmandade é uma árvore de Huffman. Assim, na codificação adaptativa, verificamos se a propriedade de irmandade está sendo violada. Em caso positivo, deve-se reestruturar a árvore para restabelecer essa propriedade. A restruturação da árvore parece complexa, mas basta fazer a troca entre os nós adjacentes do cruzamento de árvore extensão-primeiro direita-para-a-esquerda.
33 Exemplo: ABRACADABRA
34 Exemplo: ABRACADABRA
35 Algoritmo lista caminhamento largura na árvore; p nó inserido ou com frequência incrementada; enquanto p não é raiz se p viola a propriedade de irmandade && o primeiro elemento do bloco de nós de mesma frequência que ainda inclui p não é ascendente de p então troque p pelo líder; p ascendente de p; incremente frequência de p; fim enquanto
36 Exemplo Suponha a árvore abaixo: a 1 1 f +c 3 2 a 2 1 f somente trocando c com f não resolve o problema. 3 2 a 1 2c 0 1 c 0 2c 0 1f
37 Exemplo (aplicando o algoritmo) Repare que o incremento da frequência é feito tardiamente a 1 1 f p 0 1 c +c a 1 1 f p 0 2c p ascendente de p 4 p 2 2 a 1 2c 0 1f incrementa p 5 p a 3 1 2c p ascendente de p incrementa p 2 a p 3 1 2c swap p 3 2 a 1 2c 0 1f 0 1f 0 1f
38 Huffman adaptativo Código gerado para ABRACADABRA : A 0 B 00 R C D Para entender o código, é preciso verificar o passo a passo da construção da árvore. Cada letra significa uma inserção na árvore. Os bits que antecedem a letra indicam a posição do nó de escape. Sempre que for enviada uma letra não pertencente à árvore, retorna-se os bits correspondente ao nó de escape e, em seguida, a letra a ser enviada. Ao decodificar, a árvore final deverá ser idêntica à árvore criada ao codificar!
39 Exercício Ex1: Codifique a sequência ALOHAMAHALO com Huffman Adaptativo Ex2: Decodifique a sequência M0A00H11100L1100O
40 Algoritmo Lempel-Ziv Desenvolvido por Abraham Lempel e Jacob Ziv em Chamado de LZ77 Usado no programa PKZIP, GZIP, nos arquivos de formato ZIP e no formato de imagens PNG Não necessita conhecer os símbolos a priori 40
41 Algoritmo LZ77 Baseado em duas janelas contíguas de tamanho fixo: dicionário e buffer A posição das janelas vão sendo deslocadas à medidas que os símbolos vão sendo codificados. 41
42 Algoritmo LZ77: Codificador Inicializa-se o buffer (de dimensão Nb) com os primeiros Nb símbolos da sequência a codificar Inicialmente o dicionário não contém nenhum símbolo Enquanto houver símbolos a codificar Identificar no dicionário a maior sequência de símbolos que também esteja presente no buffer (a começar no cursor) Associar à sequência o código (p, l, c) onde p é a posição relativa (a contar do cursor) da maior sequência do dicionário l é o comprimento da maior sequência c é o símbolo do buffer que se segue à sequência Deslocar as janelas (dicionário + buffer) de l+1 símbolos 42
43 Questões de implementação Caso 1 Quanto não existe nenhuma sequência no dicionário que corresponda às sequências do buffer (a começar do cursor), então o código para esses casos é (0, 0, c), onde c é o primeiro símbolo do buffer 43
44 Questões de implementação Caso 2 É vantajoso poder codificar certas sequências com p < l. Por exemplo, considere a seguinte situação Neste caso, o código será (2, 5, a), o que significa: Recua 2 símbolos no dicionário, copia os 5 símbolos que se seguem, e acrescenta um a no final. Visto que para p = 2 só sobram 2 símbolos no dicionário (o e e o t ), o que se faz é uma cópia circular: recomeça-se a copiar os símbolos a partir da posição p quando se atinge o fim do dicionário. 44
45 Exemplo - LZ77 Sequência a codificar: bananabanabofana Nd = 6 (comprimento do dicionário). Nb = 4 (comprimento do buffer). (0,0,b),(0,0,a),(0,0,n)... 45
46 Exemplo - LZ77 Sequência a codificar: bananabanabofana (0,0,b),(0,0,a),(0,0,n),(2,3,b),(4,4,o),(0,0,f), (6,3,Null) 46
47 LZ77 - Decodificador Exemplo: (0, 0, p) (0, 0, a) (2, 2, i) (4, 5, b) (0, 0, o) (0, 0, f) (6, 3, s) 47
48 Exercício Codifique a seguinte cadeia com LZ77, considerando buffer de tamanho 4 e dicionário de tamanho 6 ATGTCGTCATGTCATGCTAGCTATGTGTCA TGTATG Decodifique o código abaixo (0, 0, a), (0, 0, b), (0, 0, c), (3, 1, c), (4, 10, b), (1, 3, a), (1, 1, Null) 48
49 Algoritmo LZ78 Difere na forma com que é gerido e atualizado o dicionário Ao invés de uma janela deslizante, o dicionário é uma tabela de sequências que já foram analisadas no processo de codificação. Não há limite de entradas no dicionário Assim, é possível que uma sequência encontre uma ocorrência na tabela, mesmo que esta tenha acontecido muito atrás no processo de subdivisão O algoritmo codifica novas sequências com apenas (1) um número correspondente à entrada do dicionário que contém a sequência com todos os símbolos, à exceção do último da nova sequência, e (2) um caractere 49
50 Algoritmo LZ78 - Codificador Dicionário = null String = null Enquanto houver símbolos para codificar c = próximo símbolo Se String+c é uma sequência presente no dicionário String = String + c Caso contrário Enviar código (índice de String no Dicionário, c) Atualizar Dicionário com String + c String = null 50
51 Exemplo - LZ78 Sequência a codificar: bananabanabofana 51
52 52
53 LZ78 - Decodificador Exemplo: (0, p), (0, a), (1, a), (0, i), (2, p), (2, i), (2, b), (0, o), (0, f), (6, a) 53
54 LZ78 - Decodificador Exemplo: (0, p), (0, a), (1, a), (0, i), (2, p), (2, i), (2, b), (0, o), (0, f), (6, a) 54
55 Exercício Codifique a seguinte cadeia com LZ78 ATGTCGTCATGTCATGCTAGCTATGTGTCA TGTATG Decodifique o código abaixo com LZ78 (0, a)(0,b)(0,r)(1,c)(1,d)(1,b)(4,a)(2,r)(1,null) 55
56 Algoritmo LZW Modificação do LZ78 desenvolvido e patenteado por Terry Welch em 1984 É geralmente utilizado em imagens nas quais não se quer perder a definição original. O codificador LZW reduz, pela compressão, os arquivos de imagens gráficas a 1/3 ou 1/4 de seu tamanho original. Usado nos formatos TIFF (opcional) e GIF (padrão) O algoritmo exclui o símbolo da palavra de código 56
57 Algoritmo LZW - Codificador Dicionário = todos os símbolos da fonte (por exemplo, a tabela ASCII) String = 1o símbolo da sequência a codificar Enquanto houver símbolos para codificar c = próximo símbolo Se String+c é uma sequência presente no Dicionário String = String + c Caso contrário Enviar código (índice de String no Dicionário) Atualizar Dicionário com String+c String = c Enviar código (índice de String no Dicionário) 57
58 Exemplo - ZVW Sequência a codificar: bananabanabofana Dicionário inicializado com a tabela ASCII estendida (de 0 a 255) String inicializada com o 1o caracter da sequência 58
59 59
60 Algoritmo LZW - Decodificador Dicionário = todos os símbolos da fonte (por exemplo, a tabela ASCII) String old = 1o símbolo da sequência a codificar Saída = String old Enquanto houver códigos para decodificar Lê novo código String new = sequência correspondente a novo código Saída = String new c = 1o símbolo de String new Adicionar String old + c a Dicionário String old = String new 60
61 Algoritmo LZW - Decodificador Exemplo: (112), (97), (256), (105), (257), (97), (259), (98), (111), (102), (261), (97) Dicionário inicializado com a tabela ASCII 61
62 Exercício Codifique a seguinte string com LZW ATGTCGTCATGTCATGCTAGCTATGTGTCA TGTATG Decodifique o código abaixo com LZW, considerando A = 65 e o dicionario com ultimo termo igual a Z =
Strings (Compressão) Estrutura de Dados II Jairo Francisco de Souza
Strings (Compressão) Estrutura de Dados II Jairo Francisco de Souza Compressão de Dados Objetivos Reduzir espaço de armazenagem Reduzir tempo de transmissão Muito importante Informação (e dados) tende
Leia maisAlgoritmos de Compressão sem Perdas
Algoritmos de Compressão sem Perdas (continuação) Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Curso de Ciência da Computação
Leia maisCompressão Sem Perdas: Codificações Huffman e Aritmética. Adelar da Silva Queiróz Marcelo Teixeira Thiago da Silva Sodré
Compressão Sem Perdas: Codificações Huffman e Aritmética Adelar da Silva Queiróz Marcelo Teixeira Thiago da Silva Sodré Compressão Sem Perdas (Lossless Data Compression) Refere-se a métodos de compressão
Leia maisCOMPRESSÃO E CODIFICAÇÃO SEM PERDAS. Mauro Nogueira Mônica Festa Paulo Antiquera
COMPRESSÃO E CODIFICAÇÃO SEM PERDAS Mauro Nogueira Mônica Festa Paulo Antiquera Introdução Armazenamento ou transmissão compressão (compactação) de dados Compressão sem perdas Imagens médicas documentos
Leia maisCompressão de Dados. Prof. Flávio Humberto Cabral Nunes
Compressão de Dados Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Introdução 2. Compressão Unária 3. Compressão Elias-Gama 4. Run Length Encoding 5. Huffman 6. LZ77, LZ78 e LZW Capítulo: 12 (POSTIL).
Leia maisTeoria da Informação
Charles Casimiro Cavalcante charles@gtel.ufc.br Grupo de Pesquisa em Telecomunicações Sem Fio GTEL Programa de Pós-Graduação em Engenharia de Teleinformática Universidade Federal do Ceará UFC http://www.gtel.ufc.br/
Leia maisESTRUTURAS 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 maisCompressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:
Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume
Leia maisProcessamento de Imagem. Prof. MSc. André Yoshimi Kusumoto
Processamento de Imagem Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Definição Compressão de Imagem Formas de diminuir a área de armazenamento dos dados, reduzindo a quantidade de bits
Leia maisEET-49 Comunicações II
EET-49 Comunicações II Parte 4 - Codificação sem perda de informação March 20, 2012 1 Introdução Realizar a codificação da fonte é representá-la da menor forma possível Se a utilização não permite a perda
Leia maisELEMENTOS MULTIMÍDIA Compressão de dados. Prof. Fabiano Taguchi 06/11/2014.
Prof. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com (66) 9953-7642 ELEMENTOS MULTIMÍDIA Compressão de dados 1 Codificar um conjunto de informação de forma que o código gerado
Leia maisComputação Gráfica. Prof. MSc André Y. Kusumoto
Computação Gráfica Prof. MSc André Y. Kusumoto andrekusumoto.unip@gmail.com Compressão de Imagem Definição Formas de diminuir a área de armazenamento dos dados, reduzindo a quantidade de bits para representar
Leia maisPré-Processamento de Documentos
Pré-Processamento de Documentos Introdução Pré-Processamento : Análise léxica; Stopwords; Stemming; Vocabulário; Thesaurus Compressão: Fundamentos; Método Estatístico; Método Dicionário; Arquivos Invertidos
Leia maisCOMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO
COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO Evelio M. G. Fernández - 2011 Introdução à Teoria de Informação Em 1948, Claude Shannon publicou o trabalho A A Mathematical Theory of Communications.
Leia maisNivio Ziviani. Conjunto de transparências elaborado por Nivio Ziviani, Patrícia Correia e Fabiano C. Botelho
Tópicos em Recuperação de Informação 1 Nivio Ziviani 1 Conjunto de transparências elaborado por Nivio Ziviani, Patrícia Correia e Fabiano C. Botelho Tópicos em Recuperação de Informação - Nivio Ziviani
Leia maisTécnicas de Compactação e Compressão. Compressão. Técnicas de Compactação e Compressão. Compactação x Compressão
Departamento de Engenharia de Telecomunicações - UFF Técnicas de Compactação e Compressão Profa. Débora Christina Muchaluat Saade deborams@telecom.uff.br Técnicas de Compactação e Compressão Compactação
Leia maisFundamentos da Compressão de Vídeo
Sistemas de Telecomunicações 2007-2008 Televisão Digital Fundamentos da Compressão de Vídeo Rui Marcelino Abril 2008 Engenharia Electrica e Electrónica - TIT Sumário 1. Motivação para Compressão de Vídeo
Leia maisEstrutura de dados 1. Processamento de Cadeias de Caracteres
Estrutura de dados 1 Processamento de Cadeias de Caracteres Casamento de Cadeias Casamento de Cadeias Casamento Exato Casamento Aproximado Compressão Por Que Usar Compressão Compressão de Textos em Linguagem
Leia maisAlgoritmos e Estruturas de Dados! Alexandre Souza Francisco Mesqui5a Simoni Krüger Carla Pires Fabrício Ferreira
Algoritmos e Estruturas de Dados Alexandre Souza Francisco Mesqui5a Simoni Krüger Carla Pires Fabrício Ferreira 1 Definição Representação de uma fonte de dados da maneira mais precisa possível uelizando
Leia maisCompactação de Dados Letícia Rodrigues Bueno
Compactação de Dados Letícia Rodrigues Bueno UFABC Compactação de Dados: Introdução Objetivo: Compactação de Dados: Introdução Compactação de Dados: Introdução Objetivo: 1. minimizar espaço de memória
Leia maisDescrição do Algoritmo LZ77
Departamento de Ciência da Computação IME-USP MAC 110 Introdução à Computação BCC Primeiro Semestre de 2007 Terceiro Exercício-Programa Prazo de entrega: até 12 de junho de 2007. Compressão de Arquivos
Leia maisUniversidade do Estado de Minas Gerais Curso de Sistemas de Informações. Multimídia. A Imagem (Parte II)
Universidade do Estado de Minas Gerais Curso de Sistemas de Informações Multimídia A Imagem (Parte II) Prof Me. Sérgio Carlos Portari Júnior sergio.junior@uemg.br Multimídia Tópicos: Codificação das Cores
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisTÉCNICAS DE CODIFICAÇÃO DE SINAIS
TÉCNICAS DE CODIFICAÇÃO DE SINAIS COMPRESSÃO SEM PERDAS Evelio M. G. Fernández - 2010 Exemplo Símbolo Prob I II III IV A 1/2 00 0 0 0 B 1/4 01 11 10 01 C 1/8 10 00 110 011 D 1/8 11 01 1110 0111 Entropia
Leia maisAplicação de Árvores: Código de Huffman
Aplicação de Árvores: Código de Huffman SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas
Leia maisUniversidade Tecnológica Federal do Paraná Departamento de Eletrônica Disciplina: Teoria da Informação Professor: Dyson Pereira Junior
Universidade Tecnológica Federal do Paraná Departamento de Eletrônica Disciplina Teoria da Informação Professor Dyson Pereira Junior Compressão de dados Transmissão e armazenamento de dados custa dinheiro.
Leia maisÁrvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
Leia maisCode Compression for Embedded Systems
Daniel Stefani Marcon, Thiago Nunes Kehl 30 de maio de 2008 1 2 3 4 Sistemas Embarcados os sistemas embarcados são dispositivos invisíveis se limitam a executar bem uma única tarefa basicamente qualquer
Leia maisAlgoritmos em Strings (compressão de texto)
Algoritmos em Strings (compressão de texto) R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Teoria da Informação O que é? É uma ferramenta matemática para determinar
Leia maisFormatos Imagem. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Apontamentos CG Edward Angel, Sec. 8.
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Formatos Imagem Apontamentos CG Edward Angel, Sec. 8.2 Siglas DIB: Device Independent Bitmap windows BMP: Windows Bitmap GIF:
Leia maisProcessamento digital de imagens
Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 23 de novembro de 2016 Compressão de imagens engloba técnicas
Leia maisOrganização de Arquivos. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri
Organização de Arquivos Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri Organização de arquivos para desempenho Organização de arquivos visando desempenho Complexidade de
Leia maisOrganização de Arquivos. SCE-183 Algoritmos e Estruturas de Dados II
Organização de Arquivos SCE-183 Algoritmos e Estruturas de Dados II 1 Modelos Abstratos de Dados Focar no conteúdo da informação, ao invés de no seu formato físico As informações atuais tratadas pelos
Leia maisCompactação de Dados. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Seção 12.5 em diante.
Compactação de Dados Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Seção 12.5 em diante. Compactação de Dados } Armazenar arquivos grandes (backup)
Leia maisAULA A 6 ESTRUTURA DE DADOS. Compressão de dados
AULA A 6 ESTRUTURA DE DADOS Compressão de dados Esperamos que, ao final desta aula, você seja capaz de: compreender a importância da compressão de dados; conhecer algoritmos de compressão de dados (freqüência
Leia maisProtótipo de software para inserção e extração de mensagens em arquivo raster através de esteganografia
Centro de Ciências Exatas e Naturais Departamento de Sistemas e Computação Bacharelado em Ciências da Computação Protótipo de software para inserção e extração de mensagens em arquivo raster através de
Leia mais4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada
4 Códigos de Huffman 4.1 Árvores de código Numa árvore qualquer, os nós que não têm filhos são chamados de folhas e os demais nós são chamados de nós internos. Se um nó de uma árvore é filho de outro,
Leia maisMotivação Por que estudar?
Aula 04 Imagens Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Curso de Ciência da Computação Motivação Por que estudar? Imagens digitais
Leia maisOrganização de Arquivos
Organização de Arquivos SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira 1 Organização de arquivos para desempenho Organização de arquivos visando desempenho
Leia maisOrganização de Arquivos
Organização de Arquivos SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira 1 Organização de arquivos para desempenho Organização de arquivos visando desempenho
Leia maisMétodo Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo
Notas de aula da disciplina IME - ALGORITMOS E ESTRUTURAS DE DADOS II Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Troco mínimo Dados os tipos de moedas de um país, determinar o número mínimo
Leia maisTipos de códigos de fonte
Tipos de códigos de fonte Luis Henrique Assumpção Lolis 13 de setembro de 2013 Luis Henrique Assumpção Lolis Tipos de códigos de fonte 1 Conteúdo 1 Código de prefixo 2 Código de Fano 3 Código de Huffman
Leia maisuniversidade federal de pernambuco departamento de estatística
soluções do o exercício escolar Teoria da Informação set./207 a) Qual a variável aleatória de maior incerteza? Surpreendentemente, há uma maior incerteza sobre a variável aleatória X, é definida apenas
Leia maisCompressão de Imagem DCC 066. Prof. Rodrigo Luis de Souza da Silva
Compressão de Imagem DCC 066 Prof. Rodrigo Luis de Souza da Silva Sumário Motivação Definição de Compressão Redundâncias na Imagem Métodos de Compressão de Imagem com perda Métodos de compressão de Imagem
Leia maisMódulo 5 Codificação Sistemas Multimédia Ana Tomé José Vieira
Módulo 5 Codificação Sistemas Multimédia Ana Tomé José Vieira Departamento de Electrónica, Telecomunicações e Informática Universidade de Aveiro Sumário Códigos binários Representação de informação com
Leia maisCompressão de Textos
Compressão de Textos Última alteração: 23 de Março de 2014 Transparências elaboradas por Fabiano Cupertino Botelho, Charles Ornelas Almeida, Israel Guerra e Nivio Ziviani Projeto de Algoritmos Cap.8 Processamento
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisÁrvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso
Leia maisTelevisão Digital. Codificação de Entropia Códigos de Huffman. Hélio Manuel Gonçalves Jaco
Codificação de Entropia Códigos de Huffman Hélio Manuel Gonçalves Jaco Porto, Outubro de 2006 1. Objectivo Desenvolver um programa que gere códigos de Huffman de imagens às quais foi aplicada uma transformada
Leia maisImplementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco
GSI018 Sistemas Operacionais 31/10/2016 Implementação de Sistemas de Arquivos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Memória
Leia maisNenhum 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 maisCodecs de Imagem SMU
Codecs de Imagem SMU20909 2016-1 Tipos Sem perdas: PNG e TIFF. Com perdas: JPEG, JPEG 2000 e GIF. Sem perdas PNG Portable Network Graphics; 1996; O formato PNG foi projetado para substituir o formato mais
Leia maisOrdenação: HeapSort. Prof. Túlio Toffolo BCC202 Aula 17 Algoritmos e Estruturas de Dados I
2014-01 Aula 16 Fila de Prioridade / HeapSort Adaptado por Reinaldo Fortes para o curso de 2014-01 Arquivo original: Aula 17: HeapSort Ordenação: HeapSort Prof. Túlio Toffolo http://www.toffolo.com.br
Leia maisÁrvores Auto-ajustadas
Árvores Árvores Auto-ajustadas As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. A velocidade das operações de inserção, remoção e busca realizadas sobre as árvores é mais
Leia maisÁrvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso
Leia maisÁrvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures
Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures http://www.icmc.sc.usp.br/~sce183 Definição e Propriedades de árvores-b Ordem A ordem de uma árvore-b
Leia maisOrdem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1
Ordem Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures A ordem de uma árvore-b é dada pelo número máximo de descendentes que uma página, ou nó, pode possuir
Leia maisFACULDADE DE TALENTOS HUMANOS DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROCEDIMENTOS EXPERIMENTAIS DE COMUNICAÇÃO DIGITAL II PARA TELECOMUNICAÇÃO
FACULDADE DE TALENTOS HUMANOS DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROCEDIMENTOS EXPERIMENTAIS DE COMUNICAÇÃO DIGITAL II PARA TELECOMUNICAÇÃO PROF. ENG. ESP. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br
Leia maisClassificação e Pesquisa de Dados. Aula 27 Compressão de Dados Multimídia: Compressão de Imagens
Classificação e Pesquisa de Dados Aula 27 Compressão de Dados Multimídia: Compressão de Imagens UFRGS INF01124 Compressão de Imagens Reduz a quantidade de dados necessária para representar uma imagem Compressão
Leia maisÁrvores de Pesquisa (Parte II)
2013-02 Aula 21 Adaptado por Reinaldo Fortes para o curso de 2013-02 Arquivo original: 22._arvores_(parte_2) Árvores de Pesquisa (Parte II) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 24
Leia maisLÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO
LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Modificadores de Tipos Os tipos de dados básicos em C podem estar acompanhados por modificadores na declaração de variáveis. Tais modificadores
Leia maisEstudo de caso: codificação de Huffman (parte II)
Estudo de caso: codificação de Huffman (parte II) Profs. Diogo S. Mar ns e Emilio Francesquini {santana.mar ns,e.francesquini}@ufabc.edu.br MCTA016 - Paradigmas de Programação (Prá ca) 24 de julho de 2018
Leia maisProcessamento de Imagem. Compressão de Imagens Professora Sheila Cáceres
Processamento de Imagem Compressão de Imagens Professora Sheila Cáceres Porque comprimir? Técnicas de compressão surgiram para reduzir o espaço requerido para armazenamento e o tempo necessário para transmissão
Leia maisUM ESTUDO SOBRE META-ARQUIVOS VETORIAIS PARA VISUALIZAÇÃO DE MAPAS NA WEB
UM ESTUDO SOBRE META-ARQUIVOS VETORIAIS PARA VISUALIZAÇÃO DE MAPAS NA WEB Carla Cristina Fonseca Ferreira Orientador: Marcelo Gattass Co-Orientador: Luiz Henrique de Figueiredo Dissertação de Mestrado
Leia maisNivio Ziviani. Conjunto de transparências elaborado por Nivio Ziviani, Patrícia Correia e Fabiano C. Botelho.
Tópicos em Recuperação de Informação Nivio Ziviani Conjunto de transparências elaborado por Nivio Ziviani, Patrícia Correia e Fabiano C. Botelho. 1 Compressão de Índices Arquivos invertidos são amplamente
Leia maisEstrutura de Dados. Compressão de Dados Lempel, Ziv e Welch - LZW. Prof. Othon M. N. Batista Mestre em Informática
Estrutura de Dados Compressão de Dados Lempel, Ziv e Welch - LZW Prof. Othon M. N. Batista Mestre em Informática Roteiro Introdução Algoritmo Codificação Exemplo de Codificação Introdução O Lempel, Ziv
Leia maisGerenciamento de Memória. Aleardo Manacero Jr.
Gerenciamento de Memória Aleardo Manacero Jr. Introdução Até agora examinamos estruturas considerando apenas sua organização Com isso estudamos os algoritmos para a manipulação básica dos elementos dentro
Leia maisAula 13: Ordenação - Heapsort. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 13: Ordenação - Heapsort Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Filas de Prioridades É uma estrutura de dados onde a chave de cada item reflete sua habilidade relativa de abandonar
Leia maisFormatos de Áudio e Vídeo Digital Compactação de Vídeo
Redes Multimídia 2016.2 Formatos de Áudio e Vídeo Digital Compactação de Vídeo Curso Superior de Tecnologia em Sistemas para Internet Turma: TEC.SIS.4T Redes Multimídia Conteúdo Programático :: 1 a Unidade
Leia maisHeapSort Filas de Prioridade Heap. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
HeapSort Filas de Prioridade Heap David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Filas de Prioridades É uma estrutura de dados onde a chave de cada item reflete sua habilidade relativa de
Leia maisHashing: conceitos. Hashing
Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado
Leia maisUniversidade Federal do Rio Grande do Sul Instituto de Informática
Universidade Federal do Rio Grande do Sul Instituto de Informática INF01046: Fundamento de Processamento de Imagens PROFESSOR JACOB SCHARCANSKI Projeto II: Compactação de Imagens Autores: Charles Arnoud
Leia maisSistemas de arquivos
Todos os programas precisam armazenar e recuperar dados. Os processos não podem armazenar grande quantidade de dados no seu espaço de endereçamento. Quando o processo chega ao final os dados no seu espaço
Leia maisPorque usar um montador? Formato de uma linha de código fonte:
Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob
Leia maisCompressão de Imagens: Padrão JPEG
Compressão de Imagens: Padrão JPEG PTC2547 Princípios de Televisão Digital Guido Stolfi 09/2017 EPUSP - Guido Stolfi 1 / 75 Temas Abordados Justificativas para Compressão de Imagens Codificador JPEG Transformada
Leia maisSegundo Exame e Repescagem de Testes. Mestrado em Engenharia Electrotécnica e de Computadores, IST 25 de Janeiro de 2014
Compressão e Codificação de Dados Segundo Exame e Repescagem de Testes Mestrado em Engenharia Electrotécnica e de Computadores, IST 25 de Janeiro de 201 Nome: Número: NOTAS: 1. Exame (3 horas): tudo. Primeiro
Leia mais6 Inserção Seletiva de Nulos
6 Inserção Seletiva de Nulos 6.1 Introdução Neste capítulo será apresentado o algoritmo ADDNULLS - Inserção Seletiva de Nulos. Este algoritmo usa a técnica da esteganografia para esconder os símbolos codificados
Leia maisPesquisa em Árvores Digitais. Adaptado de David M.
Pesquisa em Árvores Digitais Adaptado de David M. Pesquisa Digital Pesquisa digital é baseada na representação das chaves como uma seqüência de caracteres ou de dígitos. Os métodos de pesquisa digital
Leia maisPROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Leia maisAs imagens. As imagens. Representação digital de imagens. As imagens Wilson de Pádua Paula Filho 1
As As As Dispositivos gráficos Resolução espacial de : pixel - unidade de imagem, usada para medir resolução gráfica; visão humana - cerca de 3000 x 3000 pixels; fotografia - até 8000 x 8000 pixels. 2001
Leia maisComputação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Strings Prof: Luciano Barbosa Recapitulando: Vetores Representar uma coleção de variáveis de um mesmo tipo em uma dimensão Ex: float notas[5]; ou float notas[5] = {2.5,3.2,1.9,4.1,2.0};
Leia maisHeapsort é um método de ordenação cujo princípio de funcionamento é o mesmo utilizado para a ordenação por seleção.
Heapsort Heapsort é um método de ordenação cujo princípio de funcionamento é o mesmo utilizado para a ordenação por seleção. Selecione o maior (ou menor) item do vetor e a seguir troque-o com o item que
Leia maisTÓPICO EDIÇÃO BITMAP
TÓPICO EDIÇÃO BITMAP CONCEITOS INICIAIS TIPOLOGIA DAS IMAGENS Aplicações Informáticas B 12º Ano Professores José Carlos Lima / Paulo Ferreira / Angélica Vieira / Helena Silva O que é uma imagem bitmap?
Leia mais6 Conclusão Contribuições da Dissertação
6 Conclusão Neste trabalho, foi apresentado um sistema colaborativo capaz de controlar as versões das edições de um vídeo no formato MPEG-2, sem que os editores estejam no mesmo local, ao mesmo tempo.
Leia maisImplementação de Diretórios (1)
Implementação de Diretórios (1) Ao abrir um arquivo, o SO usa o caminho para localizar a entrada no diretório. A entrada no diretório fornece informações para localizar os blocos de disco. Endereço de
Leia maisOrganização de arquivos para desempenho. Manutenção de Arquivos. Compressão de dados. Compressão. Notação diferenciada. Técnicas
Algoritmos e Estruturas de Dados II Profa. Debora Medeiros Organização de arquivos para desempenho Organização de arquivos visando desempenho Adaptado dos Originais de: Ricardo Campello Thiago Pardo Leandro
Leia maisORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO DE ARQUIVOS GRANDES Para arquivos binários, é possível implementar o
Leia maisÁrvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros Ribeiro
Universidade Federal de Alagoas - UFAL Departamento de Tecnologia da Informação - TCI Ciência da Computação Árvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros
Leia maisRepresentação da Informação
Conteúdo Representação da Informação Bit, Byte e múltiplos Conversão de Unidades Representação de Informação Representação de Símbolos/Texto Representação de Imagem Representação de Vídeo Bit BInary digit
Leia maisTAMANHO E TAXA DE COMPRESSÃO DA IMAGEM
TAMANHO E TAXA DE COMPRESSÃO DA IMAGEM Texto de Caroline Lima de Souza, aluna da Focus Escola de Fotogafia Compressão de uma imagem digital Dentro de cada arquivo de imagem JPG, JPEG, PNG, GIF ou outra
Leia maisListas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1
Listas Lineares Elerson R. S. Santos elerson@dcc.ufmg.br Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Listas Lineares Uma das formas mais simples
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisComputação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa
Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo
Leia maisÁrvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri
Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B* Proposta por Knuth em 1973 variação de árvore-b Característica cada nó contém, no mínimo, 2/3 do número máximo de chaves Posterga o split
Leia maisCapítulo 3. A camada de enlace de dados
slide 1 Capítulo 3 A camada de enlace de dados slide 2 Onde vive o protocolo de camada de enlace? slide 3 Questões de projeto da camada de enlace Serviços de rede da camada de enlace Quadros Controle de
Leia maisO L A Representação de Informação. Representação de Informação. -- Texto -- Tabela de ASCII (7 bits) Representação de Caracteres
Representação de Informação Representação de Informação -- Texto -- Como é que se representa texto? Como é que se representam imagens? Como é que se representa som? Técnicas simples de correcção de erros?
Leia maisCodificação de Informação 2010/2011
Codificação de Informação 2010/2011 Sumário: Codificação de imagens métodos com e sem perdas As normas JPEG Compressão de imagem Métodos sem perdas Aplicação de um ou mais métodos de compressão já estudados
Leia maisMétodos de Ordenação Parte 4
Métodos de Ordenação Parte 4 Introdução à Ciência de Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e Prof. Thiago A. S. Pardo 1 Ordenação por Intercalação Revisando...
Leia mais