La codificación adaptativa se refiere a variantes de métodos de codificación de entropía de compresión de datos sin pérdidas . Son particularmente adecuados para la transmisión de datos , 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. El costo que se paga por estas ventajas es que el codificador y el descodificador deben ser más complejos para mantener sincronizados sus estados, y se necesita más potencia computacional para seguir adaptando el estado del codificador / descodificador.
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 realizada por el modelo, el codificador generalmente puede transmitir el contenido de los datos a un costo de información menor, haciendo referencia al modelo. Esta afirmación general es un poco engañosa ya que los algoritmos generales de compresión de datos 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 utilizar el modelo.
En la codificación adaptativa, el codificador y el decodificador están equipados con un metamodelo predefinido sobre cómo alterarán sus modelos en respuesta al contenido real de los datos y, de lo contrario, comenzarán con una pizarra en blanco, lo que significa que no es necesario ningún modelo inicial. transmitido. A medida que se transmiten los datos, tanto el codificador como el decodificador adaptan sus modelos, de modo que, a menos que el carácter de los datos cambie radicalmente, el modelo se adapta mejor a los datos que está manejando y los comprime de manera más eficiente acercándose a la eficiencia de la codificación estática.
Método adaptativo
Codificador
- Inicialice el modelo de datos según el acuerdo.
- Si bien hay más datos para enviar
- Codifique el siguiente símbolo utilizando el modelo de datos y envíelo.
- Modifique el modelo de datos según el último símbolo.
Descifrador
- Inicialice el modelo de datos según el acuerdo.
- Si bien hay más datos para recibir
- Decodifica el siguiente símbolo usando el modelo de datos y dale salida.
- Modifique el modelo de datos según el símbolo decodificado.
Cualquier método de codificación adaptativa tiene un método de modelo estático correspondiente , en el que el modelo de datos se calcula previamente y luego se transmite con los datos.
Método estático
Codificador
- Inicialice el modelo de datos basándose en un primer paso sobre los datos.
- Transmita el modelo de datos.
- Si bien hay más datos para enviar
- Codifique el siguiente símbolo utilizando el modelo de datos y envíelo.
Descifrador
- Reciba el modelo de datos.
- Si bien hay más datos para recibir
- Decodifica el siguiente símbolo usando el modelo de datos y dale salida.
Ejemplos de
La nave Cassini-Huygens utilizó la codificación de imágenes adaptativa para transmitir imágenes de Saturno . Solo alrededor del 5% de las imágenes muestran signos visuales de daño. Como la nave espacial tiene un error al corregir la unidad Flash y los períodos de tiempo prolongados entre los eventos de toma de imágenes, pueden aparecer imágenes dañadas como esta. Se supone que el número de imágenes dañadas pero irrecuperables de la misión Cassini es de aproximadamente un 0,01% o menos. [ necesita actualización ]
Compresión sin pérdida de Cassini
- Tanto los datos convertidos (8 bits) como los no convertidos (12 bits) se pueden comprimir sin pérdidas. 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 se puede reconstruir en el suelo sin pérdida del contenido de información de la imagen, siempre que la entropía de la imagen no exceda el umbral donde se alcanza la compresión 2: 1.
- Debido a los problemas de la cámara y la necesidad de reducir el tamaño del archivo, hay una pequeña modificación en el esquema de codificación de la imagen para que cada línea comprimida tenga un ancho de banda limitado en la cantidad de bits disponibles para codificarla.