Articulo de referencia

Codificación adaptativa

La codificación adaptativa se refiere a variantes de los métodos de codificación de entropía para la compresión de datos sin pérdidas . Son particularmente adecuadas para datos ...

La codificación adaptativa se refiere a variantes de los métodos de codificación de entropía para la compresión de datos sin pérdidas . Son particularmente adecuadas para datos en tiempo real , ya que se adaptan a cambios localizados en las características de los datos y no requieren un primer paso sobre los datos para calcular un modelo de probabilidad. [ 1 ] El precio que se paga por estas ventajas es que el codificador y el decodificador deben ser más complejos para mantener sus estados sincronizados, y se necesita mayor potencia computacional para seguir adaptando el estado del codificador/decodificador.

Casi todos los métodos de compresión de datos implican el uso de un modelo , una predicción de la composición de los datos. Cuando los datos coinciden con la predicción del modelo, el codificador suele poder transmitir el contenido de los datos con un menor coste de información, haciendo referencia al modelo. Esta afirmación general es algo engañosa, ya que los algoritmos de compresión de datos generales incluirían los populares algoritmos LZW y LZ77 , que difícilmente son comparables a las técnicas de compresión típicamente llamadas adaptativas . La codificación de longitud de ejecución y la compresión JPEG típica con codificación de longitud de ejecución y códigos Huffman predefinidos no transmiten un modelo. Muchos otros métodos adaptan su modelo al archivo actual y necesitan transmitirlo además de los datos codificados, porque tanto el codificador como el decodificador necesitan usar el modelo.

En la codificación adaptativa, el codificador y el decodificador cuentan con un metamodelo predefinido que les indica cómo modificarán sus modelos en respuesta al contenido real de los datos. De lo contrario, parten de cero, lo que significa que no es necesario transmitir ningún modelo inicial. A medida que se transmiten los datos, tanto el codificador como el decodificador adaptan sus modelos, de modo que, a menos que la naturaleza de los datos cambie radicalmente, el modelo se adapta mejor a los datos que procesa y los comprime de forma más eficiente, acercándose a la eficiencia de la codificación estática.

Método adaptativo

El método de funcionamiento de los algoritmos de codificación adaptativa es el siguiente: [ 1 ]

Codificador

  1. Inicialice el modelo de datos según lo acordado.
  2. Mientras haya más datos para enviar
    1. Codifique el siguiente símbolo utilizando el modelo de datos y envíelo.
    2. Modifique el modelo de datos en función del último símbolo.

Descifrador

  1. Inicialice el modelo de datos según lo acordado.
  2. Mientras que hay más datos por recibir
    1. Decodifica el siguiente símbolo utilizando el modelo de datos y muéstralo.
    2. Modifique el modelo de datos en función del símbolo decodificado.

Todo método de codificación adaptativa tiene un método de modelo estático correspondiente , en el que el modelo de datos se precalcula y luego se transmite junto con los datos.

Método estático

Codificador

  1. Inicializa el modelo de datos basándote en una primera pasada sobre los datos.
  2. Transmitir el modelo de datos.
  3. Mientras haya más datos para enviar
    1. Codifique el siguiente símbolo utilizando el modelo de datos y envíelo.

Descifrador

  1. Reciba el modelo de datos.
  2. Mientras que hay más datos por recibir
    1. Decodifica el siguiente símbolo utilizando el modelo de datos y muéstralo.

Ejemplos

La sonda Cassini-Huygens utilizó codificación adaptativa de imágenes para transmitir imágenes de Saturno . Solo alrededor del 5 % de las imágenes presentan algún signo visual de daño. Debido a que la nave espacial cuenta con una unidad flash con corrección de errores y largos intervalos entre las tomas de imágenes, es posible que se presenten imágenes dañadas de este tipo. Se estima que el número de imágenes dañadas, pero irrecuperables, de la misión Cassini es de aproximadamente el 0,01 % o menos.

La cámara Cassini apuntaba hacia Dione a una distancia aproximada de 548.210 kilómetros. La imagen fue tomada utilizando los filtros CL1 y CL2 el 17 de mayo de 2010.

Compresión sin pérdidas de Cassini

  • Tanto los datos convertidos (de 8 bits) como los no convertidos (de 12 bits) pueden comprimirse sin pérdida de información. El compresor de datos de hardware de Cassini utiliza un esquema de codificación Huffman modificado como parte de su compresor adaptativo.
  • Cada imagen comprimida puede reconstruirse sobre el terreno sin pérdida de información, siempre que la entropía de la imagen no supere el umbral en el que se alcanza una compresión de 2:1.
  • Debido a problemas con la cámara y a la necesidad de reducir el tamaño de los archivos, se ha realizado una ligera modificación en el esquema de codificación de imágenes, de modo que cada línea comprimida queda efectivamente limitada por el ancho de banda en función del número de bits disponibles para codificarla.

Referencias

  1. 1 2 Williams, Ross N. (1991). Compresión adaptativa de datos . Springer Science & Business Media. ISBN 978-0-7923-9085-5.