Diccionario

¿Qué es un proceso de codificación?

Proceso de codificación nombra el método que un archivo JPEG usó para comprimir los datos de su imagen, como baseline o progresivo. Se lee directamente de los datos de la imagen.

encoding-process

Un proceso de codificación es el método que convierte una imagen en datos de imagen comprimidos. En un informe de metadatos, Encoding Process nombra el método que usó un archivo JPG, por ejemplo Baseline DCT, Huffman coding.

El valor tiene 2 partes. La primera parte indica cómo se comprimieron los datos de la imagen. La segunda parte indica cómo se empaquetó el resultado en bits.

Qué archivos lo llevan

Encoding Process es un campo JPEG y todas las imágenes JPEG lo tienen. El estándar JPEG coloca la información en una cabecera corta que va antes de los datos de imagen comprimidos.

De dónde proviene el valor

Ninguna cámara ni programa escribe Encoding Process como una etiqueta separada. Un lector como ExifTool calcula el valor a partir del marcador Start of Frame, que abre esa cabecera. El estándar JPEG define un marcador distinto para cada proceso de codificación.

La misma cabecera también guarda el ancho y alto de la imagen, los bits por muestra y el número de componentes de color. ExifTool también deduce el submuestreo de croma a partir de esta cabecera.

Como el valor describe cómo se almacenan los datos de la imagen, no puedes editarlo como una etiqueta normal. Encoding Process solo cambia cuando un programa guarda la imagen de nuevo con otros ajustes.

Cómo son los valores

ExifTool muestra uno de 13 valores. Según la Library of Congress, los más comunes son baseline y progressive.

  • Baseline DCT, Huffman coding
  • Extended sequential DCT, Huffman coding
  • Progressive DCT, Huffman coding
  • Lossless, Huffman coding
  • Sequential DCT, differential Huffman coding
  • Progressive DCT, differential Huffman coding
  • Lossless, Differential Huffman coding
  • Extended sequential DCT, arithmetic coding
  • Progressive DCT, arithmetic coding
  • Lossless, arithmetic coding
  • Sequential DCT, differential arithmetic coding
  • Progressive DCT, differential arithmetic coding
  • Lossless, differential arithmetic coding

Qué significa cada parte del valor

  • DCT significa discrete cosine transform. Los procesos JPEG basados en la DCT son con pérdida: eliminan algo de detalle para reducir el tamaño del archivo.
  • Baseline es el proceso DCT básico. Usa 8 bits por muestra y codificación Huffman.
  • Sequential significa que cada componente de color se almacena en un único escaneo.
  • Extended sequential funciona como baseline, pero también permite 12 bits por muestra y codificación aritmética.
  • Progressive almacena la imagen en varios escaneos. Cada escaneo suele mejorar la calidad, de modo que un visor puede mostrar primero una imagen aproximada y luego hacerla más nítida.
  • Lossless no usa la DCT. La imagen decodificada es idéntica a la original.
  • differential pertenece al modo jerárquico. Aquí cada fotograma posterior almacena solo las diferencias con respecto al fotograma anterior.
  • Huffman coding y arithmetic coding son 2 formas sin pérdida de empaquetar los datos en menos bits.

Por qué es importante para tu archivo

El estándar JPEG no exige que todos los programas sean compatibles con todos los procesos. Todo decodificador DCT debe aceptar baseline, por lo que un archivo baseline es la opción segura cuando una imagen debe abrirse en cualquier sitio.

Otros procesos pueden no abrirse en algunos programas. Según la Library of Congress, el proceso original sin pérdida no tuvo un amplio soporte en las aplicaciones. Una variante sin pérdida con codificación Huffman se usa en la versión 1.1 del formato raw DNG de Adobe.

Un valor con DCT te indica que se perdió algo de detalle cuando se guardó la imagen. Volver a guardar el archivo no recupera ese detalle. El campo solo describe cómo se almacena la imagen y no contiene información personal.