Introdução à compressão JPEG

Em nosso último tutorial de compressão de imagem, discutimos algumas das técnicas usadas para compressão

Vamos discutir a compactação JPEG, que é uma compactação com perdas, já que alguns dados são perdidos no final.

Vamos discutir primeiro o que é compactação de imagem.

Compressão de imagem

A compressão de imagem é o método de compressão de dados em imagens digitais.

O objetivo principal na compressão da imagem é:

  • Armazene dados de forma eficiente
  • Transmita dados de forma eficiente

A compressão da imagem pode ser com ou sem perdas.

Compressão JPEG

JPEG significa Joint photographic experts group. É o primeiro padrão internacional em compressão de imagens. É amplamente utilizado hoje. Pode ser tanto com perdas quanto sem perdas. Mas a técnica que vamos discutir aqui hoje é a técnica de compressão com perdas.

Como funciona a compressão jpeg

O primeiro passo é dividir uma imagem em blocos, cada um com dimensões de 8 x 8.

Vamos para o registro, digamos que esta imagem 8x8 contenha os seguintes valores.

A faixa de intensidades de pixels agora é de 0 a 255. Vamos mudar a faixa de -128 a 127.

Subtraindo 128 de cada valor de pixel produz o valor de pixel de -128 a 127. Depois de subtrair 128 de cada valor de pixel, obtivemos os seguintes resultados.

Agora vamos calcular usando esta fórmula.

O resultado vem disso é armazenado em uma matriz, digamos A (j, k).

Existe uma matriz padrão que é usada para calcular a compressão JPEG, que é fornecida por uma matriz chamada matriz de luminância.

Esta matriz é dada abaixo

Aplicando a seguinte fórmula

Obtivemos este resultado após a aplicação.

Agora vamos realizar o truque real que é feito na compressão JPEG, que é o movimento ZIG-ZAG. A sequência de ziguezague para a matriz acima é mostrada abaixo. Você tem que executar o zig zag até encontrar todos os zeros à frente. Portanto, nossa imagem agora está compactada.

Resumindo a compressão JPEG

O primeiro passo é converter uma imagem para Y'CbCr e apenas escolher o canal Y 'e dividi-la em blocos de 8 x 8. Em seguida, partindo do primeiro bloco, mapeie o intervalo de -128 a 127. Depois disso, você deve encontrar a transformada de Fourier discreta da matriz. O resultado disso deve ser quantizado. A última etapa é aplicar a codificação em zigue-zague e fazer isso até encontrar zero.

Salve esta matriz unidimensional e pronto.

Note. You have to repeat this procedure for all the block of 8 x 8.