Entiendo que los métodos de compresión pueden dividirse en dos conjuntos principales:
- global
- local
El primer conjunto funciona independientemente de los datos que se procesan, es decir, no dependen de ninguna característica de los datos y, por lo tanto, no necesitan realizar ningún preprocesamiento en ninguna parte del conjunto de datos (antes de la compresión). Por otro lado, los métodos locales analizan los datos, extrayendo información que generalmente mejora la tasa de compresión.
Mientras leía acerca de algunos de estos métodos, noté que el método unario no es universal , lo que me sorprendió ya que pensé que "globalidad" y "universalidad" se referían a lo mismo. El método unario no se basa en las características de los datos para producir su codificación (es decir, es un método global) y, por lo tanto, debe ser global / universal, ¿no?
Mis preguntas principales
- ¿Cuál es la diferencia entre los métodos universales y globales?
- ¿No son estas clasificaciones sinónimos?
fuente
Respuestas:
Considere la siguiente porción de datos:
1010010110100101
Universal : estos son algoritmos de compresión genéricos que son independientes de los datos. Una versión cruda de la codificación de longitud de ejecución entraría en esta categoría. La ventaja es que es muy rápido comprimir y descomprimir. La desventaja es que puede ser extremadamente ineficaz según los datos que se van a comprimir.
1111111111111111 -> 16 1 (caso de suerte)
1010010110100101 -> 1010010110100101 (caso desafortunado)
Local : este método consideraría segmentos más pequeños de una longitud fija, digamos 4, buscar patrones y comprimirlos. P.ej. Estos datos solo contienen estos dos tipos de patrones: 1010 y 0101. Estos patrones se pueden representar como 0s y 1s y los datos generales serán una tabla que representa los mapeos, y algo así como 0101. Esto tiene el potencial de resultar en mucho más pequeños. tamaño comprimido
1010010110100101 -> 1010 0101 1010 0101 -> 0101 (0 = 1010,1 = 0101)
Global : este método vería todos los datos y encontraría los patrones óptimos / mucho mejores para comprimir los datos. Los datos de ejemplo contienen solo un patrón 10100101 y lo representan como 00 junto con la tabla de mapeo. Esto tiene el potencial de obtener el tamaño comprimido más pequeño posible, pero también es computacionalmente el más pesado.
1010010110100101 -> 10100101 10100101 -> 00 (0 = 10100101)
fuente