Algoritmos de compressão de dados divx e zoo algoritmo de compressão zoo
CIÊNCIA DA COMPUTAÇÃO
SISTEMAS DE INFORMAÇÃO
Naiane Barbosa de Freitas
Paulo Fernando Barbosa de Lima Junior
Algoritmos de compressão de dados
DIVX E ZOO
Algoritmo de Compressão Zoo
Zoo é usado para criar e manter colecções de ficheiros em formato comprimido. Usa um algoritmo de compressão Lempel-Ziv que oferece poupanças de espaço na ordem dos 20% a 80% dependendo do tipo de ficheiro de dados. O zoo pode armazenar e extrair seletivamente múltiplas gerações do mesmo ficheiro. É importante ressaltar que nem todos os arquivos ZOO são realmente arquivos compactados. O jogo Zoo Tycoon da Microsoft usa arquivos ZOO para armazenar ZOOLÓGICOS salvo. Estes não são os mesmos arquivos ZOO arquivo. Arquivos Zoo não são muito usados hoje em dia , mesmo que seja código aberto. Havia versões para Unix e plataformas DOS disponíveis, mas com passar do tempo foi surgindo outras ferramentas de compressão mais eficientes.
Como funciona a compressão
O arquivo cujo nome será fornecido pelo usuário deverá ser lido byte a byte, isto é, deve-se considerar a existência de 256 símbolos iniciais no dicionário. Seu programa deverá construir um dicionário a partir do conjunto de dados e utilizá-lo para a compressão do arquivo. O dicionário deverá ter seu tamanho limitado a 65536 (= 216). A tokens geradas pelo codificador terão 03 bytes de comprimento, isto é, 02 bytes para o indicador da posição do prefixo no dicionário mais 01 byte para o indicador do símbolo. De modo a permitir a descompressão do arquivo, o decodificador deverá reconstruir o mesmo dicionário utilizado na compressão (adotando inclusive a mesma regra utilizada na compressão para lidar com o fato do dicionário eventualmente ficar cheio).
Pseudo-Código
SEQUENCIA = dado de entrada; while (ainda existe dado de entrada) {
CARATER = próximo dado de entrada; if (concatenação SEQUENCIA CARATER no dicionário ) {
SEQUENCIA = concatenação SEQUENCIA CARATER;
}