La compresión delta es una compresión de valores codificados delta. La codificación Delta es una transformación que produce una distribución estadística diferente de números. Si la distribución es favorable al algoritmo de compresión elegido, disminuye la cantidad de datos. Funciona muy bien en un sistema como un juego donde las entidades se mueven solo ligeramente entre dos actualizaciones.
Digamos que tienes 100 entidades en 2D. En una cuadrícula grande, 512 x 512. Considerando solo los enteros por el bien de ejemplo. Eso es dos números enteros por entidad o 200 números.
Entre dos actualizaciones, todas nuestras posiciones cambian en 0, 1, -1, 2 o -2. Ha habido 100 instancias de 0, 33 instancias de 1 y -1 y solo 17 instancias de 2 y -2. Esto es bastante común. Elegimos la codificación Huffman para la compresión.
El árbol de Huffman para esto será:
0 0
-1 100
1 101
2 110
-2 1110
Todos sus 0 se codificarán como un solo bit. Eso es solo 100 bits. 66 valores se codificarán como 3 bits y solo 34 valores como 4 bits. Eso es 434 bits o 55 bytes. Además, algunos gastos generales pequeños para guardar nuestro árbol de mapeo, ya que el árbol es pequeño. Tenga en cuenta que para codificar 5 números, necesita 3 bits. Hemos intercambiado aquí la capacidad de usar 1 bit para '0' por la necesidad de usar 4 bits para '-2'.
Ahora compare esto con enviar 200 números arbitrarios. Si sus entidades no pueden estar en el mismo mosaico, está casi garantizado que obtendrá una mala distribución estadística. El mejor caso sería 100 números únicos (todos en la misma X con diferente Y). Eso es al menos 7 bits por número (175 bytes) y muy difícil para cualquier algoritmo de compresión.
La compresión delta funciona en el caso especial cuando sus entidades cambian solo un poco. Si tiene muchos cambios únicos, la codificación delta no ayudará.
Tenga en cuenta que la codificación y la compresión delta también se utilizan en otras situaciones con otras transformaciones.
MPEG divide la imagen en cuadrados pequeños y si parte de la imagen se mueve, solo se guardan el movimiento y un cambio es el brillo. En una película de 25 fps, muchos cambios entre fotogramas son muy pequeños. Nuevamente, codificación delta + compresión. Funciona mejor para escenas estáticas.