A codificação de pixels na compressão da imagem refere -se a técnicas que manipulam diretamente os valores numéricos que representam pixels individuais em uma imagem para reduzir seu tamanho. É uma etapa crucial em muitos algoritmos de compressão de imagem, geralmente trabalhando em conjunto com outras técnicas, como a codificação de transformação (como o DCT no JPEG) ou a codificação preditiva.
Aqui está um colapso de como a codificação de pixels funciona e diferentes abordagens:
Ideia básica: O objetivo fundamental é representar os dados do pixel com menos bits do que a representação não compactada original (por exemplo, 24 bits por pixel para uma imagem de cor verdadeira). Isso é conseguido explorando redundâncias e padrões nos dados do pixel.
Técnicas de codificação de pixels comuns: *
codificação de comprimento de execução (rle): Esta é uma técnica simples eficaz para imagens com grandes áreas de cor uniforme. Ele substitui sequências de pixels idênticos por um único valor indicando o valor do pixel e o comprimento da execução. Por exemplo, "aaaaaabbbcc" se torna "a6b3c2". É altamente eficaz para gráficos ou imagens simples com muitas regiões sólidas, mas menos eficazes para imagens complexas com muitos detalhes e variações.
*
codificação de entropia (codificação de Huffman, codificação aritmética): Essas técnicas atribuem códigos mais curtos a valores de pixels que ocorrem com mais frequência e códigos mais longos para os menos frequentes. Eles aproveitam a distribuição estatística dos valores de pixel na imagem para obter compressão. O Huffman Coding usa códigos de comprimento de variável com base em uma tabela de código sem prefixo, enquanto a codificação aritmética representa toda a sequência de símbolos como um único número fracionário. Ambos são muito eficazes na redução do tamanho do arquivo.
*
quantização: Isso envolve reduzir o número de possíveis valores de pixels. Em vez de representar cada pixel com, digamos, 256 níveis de cinza (8 bits), ele pode ser representado com menos níveis (por exemplo, 16 níveis, usando apenas 4 bits). Isso reduz a precisão da imagem, mas alcança compressão significativa. A quantização é comumente usada em conjunto com outras técnicas de compressão. A perda de precisão contribui para a compressão com perdas.
*
Codificação preditiva: Essa abordagem prevê o valor de um pixel com base nos valores dos pixels vizinhos. Somente a diferença (erro de previsão) entre o valor de pixel real e o valor previsto é codificado, reduzindo a quantidade de dados necessários para representar a imagem. A modulação do código de pulso diferencial (DPCM) é uma forma comum de codificação preditiva.
Relação com outros métodos de compressão: A codificação de pixels geralmente não é usada sozinha. Normalmente é uma etapa final * depois de * outras transformações. Por exemplo:
*
jpeg: Usa a transformação discreta de cosseno (DCT) para transformar blocos de pixel em coeficientes de frequência. Em seguida, a quantização reduz a precisão desses coeficientes e, finalmente, a codificação de entropia (Huffman ou similar) é usada para codificar com eficiência os coeficientes quantizados. Assim, a codificação de pixel (quantização e codificação de entropia) funciona nos dados transformados.
*
png: Utiliza uma combinação de filtragem (codificação preditiva) e deflate a compactação (com base no LZ77, uma forma de codificação de dicionário) para comprimir os dados de imagem bruta com mais eficiência após aplicar um método de filtragem adequado.
Em resumo, a codificação de pixels é uma família de técnicas que manipula diretamente os valores de pixel para reduzir a quantidade de dados necessários para armazenar ou transmitir uma imagem. Sua eficiência depende muito das características da imagem e é frequentemente usada em conjunto com outros métodos de compressão para obter melhores resultados.