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.