Introducción a la compresión JPEG

En nuestro último tutorial de compresión de imágenes, discutimos algunas de las técnicas utilizadas para la compresión.

Vamos a discutir la compresión JPEG, que es una compresión con pérdida, ya que algunos datos se pierden al final.

Analicemos primero qué es la compresión de imágenes.

Compresión de imagen

La compresión de imágenes es el método de compresión de datos en imágenes digitales.

El principal objetivo en la compresión de imágenes es:

  • Almacene datos de forma eficiente
  • Transmita datos de forma eficiente

La compresión de imágenes puede tener pérdida o no.

Compresión JPEG

JPEG significa Grupo conjunto de expertos en fotografía. Es el primer estándar internacional en compresión de imágenes. Hoy en día se usa mucho. Puede tener pérdidas o no. Pero la técnica que vamos a discutir aquí hoy es la técnica de compresión con pérdida.

Cómo funciona la compresión jpeg

El primer paso es dividir una imagen en bloques, cada uno con unas dimensiones de 8 x 8.

Para que conste, digamos que esta imagen de 8x8 contiene los siguientes valores.

El rango de intensidades de píxeles ahora es de 0 a 255. Cambiaremos el rango de -128 a 127.

Restar 128 de cada valor de píxel produce un valor de píxel de -128 a 127. Después de restar 128 de cada valor de píxel, obtuvimos los siguientes resultados.

Ahora calcularemos usando esta fórmula.

El resultado proviene de esto se almacena en digamos A (j, k) matriz.

Existe una matriz estándar que se utiliza para calcular la compresión JPEG, que viene dada por una matriz llamada matriz de luminancia.

Esta matriz se da a continuación

Aplicando la siguiente fórmula

Obtuvimos este resultado después de aplicarlo.

Ahora realizaremos el truco real que se hace en compresión JPEG que es el movimiento ZIG-ZAG. La secuencia en zig zag de la matriz anterior se muestra a continuación. Tienes que realizar zig zag hasta encontrar todos los ceros por delante. Por lo tanto, nuestra imagen ahora está comprimida.

Resumiendo la compresión JPEG

El primer paso es convertir una imagen a Y'CbCr y simplemente elegir el canal Y 'y dividirlo en bloques de 8 x 8. Luego, comenzando desde el primer bloque, mapee el rango de -128 a 127. Después de eso, debe encontrar la transformada discreta de Fourier de la matriz. El resultado de esto debe cuantificarse. El último paso es aplicar la codificación en forma de zigzag y hacerlo hasta que encuentre todo cero.

Guarde esta matriz unidimensional y listo.

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