O mundo digital de hoje conecta todos que usam dispositivos portáteis, como telefones celulares e tablets. Isso também levou a um aumento no compartilhamento de dados que requer um gerenciamento de armazenamento em disco eficiente. Além disso, o compartilhamento de dados rápido e eficaz pela Internet exige que os tamanhos dos arquivos sejam o menor possível. Formatos de arquivo de compressão oferecem algoritmos de compressão sem perdas e sem perdas para comprimir dados. Isso ajuda a reduzir a utilização de armazenamento de disco e a transferência rápida de dados pela Internet. Neste artigo, vamos tentar obter conhecimento sobre os algoritmos de compressão mais usados ​​e seus tipos.

Algoritmos de compressão sem perdas

Como o nome implica, os algoritmos de compactação sem perdas pertencem a uma categoria de algoritmos de compactação de dados que comprimem os arquivos sem perder nenhum conteúdo. Isso significa que os algoritmos de compactação sem perdas podem reconstruir com precisão os dados originais dos dados compactados. Muitos algoritmos diferentes são projetados com um tipo típico de dados de entrada em mente ou assumindo que tipos de redundância os dados não compactados provavelmente conterão. A seguir, é apresentada uma breve explicação de alguns dos algoritmos de compressão sem perdas mais usados:

bzip2

Este algoritmo usa o algoritmo de burrows-lheeler com codificação RLE e Huffman para comprimir os dados. É usado para comprimir os arquivos apenas sem arquivá -los. Os arquivos compactados geralmente são salvos com a extensão .bz2.

Huffman codificando

Esse algoritmo é baseado em um método específico para selecionar a identidade para cada símbolo, resultando em um código de prefixo. A codificação de Huffman é um método tão difundido para criar códigos de prefixo. Os arquivos de compactação com extensões como. MPQ ,. ACE ,. JPEG ,. PNG ,. ZIP são apoiados por Huffman codificação.

Lempel-Ziv Compressão

Esse algoritmo de compactação também é conhecido como lz77 e lz78 são os dois algoritmos de compressão de dados sem perdas. A combinação desses algoritmos é baseada em muitas variações, incluindo LZW, LZSS, LZMA e outros. Ambos são teoricamente codificadores de dicionários. Durante a compressão, o LZ77 mantém uma janela deslizante. Posteriormente ou mais tarde mostrou -se equivalente ao dicionário explícito construído por LZ78. Portanto, eles se tornam equivalentes à descompressão de todos os dados. Os arquivos com. LZMA ,. LZO ,. LZ ,. LZH As extensões são suportadas pela compressão Lempel-Ziv.

Previsão por correspondência parcial (ppm)

** A previsão por correspondência parcial**, que também é conhecida como PPM, é um algoritmo de compressão baseado na previsão e na modelagem de contexto. Para prever o próximo símbolo em um fluxo, os modelos PPM usam um conjunto de símbolos anteriores no fluxo de símbolos não compactados. O algoritmo PPM suporta os arquivos ZIP e 7Z.

Codificação de comprimento de corrida (rle)

Esse algoritmo também é conhecido como algoritmo de compressão RLE sem perda com base em sequências que contêm o mesmo valor de dados que ocorre em muitos elementos de dados adjacentes. Essas seqüências são chamadas de corridas. A RLE armazenou cada execução como um único valor e contagem de dados. Isso é benéfico nos dados que contêm muitas execuções, como imagens gráficas simples, por exemplo, Desenhos, ícones, linhas e animações. Os arquivos com. PSD ,. PSB ,. TGA As extensões são suportadas pela RLE

Algoritmos de compressão com perdas

Os algoritmos de compressão com perdas estão um passo à frente para reduzir o tamanho do armazenamento dos arquivos. Visto que a perda de algumas informações é aceita como retirada de detalhes não essenciais. Os algoritmos de compressão de dados de perdas são formados por pesquisas sobre como as pessoas entendem os dados. A maioria dos algoritmos de compressão com perdas é baseada na codificação de transformação. Alguns dos famosos algoritmos de compressão com perdas são explicados brevemente abaixo:

Transformação discreta de cosseno (DCT)

A transformação discreta de cosseno (DCT) é uma sequência limitada de pontos de dados em termos de uma soma das funções cosseno que flutuam em diferentes frequências. É usado na maioria das mídias digitais, incluindo imagens digitais como JPEG, Heif, J2K, exif e DNG.

Compactação de wavelet

A compactação de wavelet é um algoritmo de compressão com perdas que é mais comumente usado na compressão da imagem. Esse algoritmo usa um princípio chamado Codificação de transformação na qual uma transformação de wavelet é aplicada inicialmente. Isso cria tantos coeficientes quanto pixels na imagem. Como as informações estão estatisticamente concentradas em apenas alguns coeficientes, esses coeficientes podem ser compactados com mais facilidade. As implementações notáveis ​​são JPEG 2000, DJVU e ECW para imagens estáticas.

Compressão perceptiva cartesiana (CPC)

Essa compressão com perdas também é conhecida como CPC foi criada para alta compressão de imagens de raster em preto e branco a partir de varreduras de arquivo. O algoritmo é comumente usado na distribuição da web de documentos legais, mapas geográficos da trama e planos de design.

Compressão fractal

A compressão fractal é um algoritmo de compressão com perdas para imagens digitais baseadas em fractal. O algoritmo é adequado para imagens e texturas naturais, confiando em partes de uma imagem semelhante às outras partes da mesma imagem. Os algoritmos fractais convertem essas peças em códigos fractais usados ​​para recriar a imagem codificada.

Conclusão

Neste artigo, você aprendeu sobre algoritmos de compressão, seus principais tipos e algoritmos de compressão comumente usados. Não é necessário manter o conhecimento em sua mente sobre todos os algoritmos de compressão. Mas se você precisar criar uma apresentação inteligente sobre o tópico de várias compressões com perdas ou sem perdas, poderá obter ajuda daqui. Portanto, marque esta página de blog como uma referência.