Como señala, la compresión de datos puede explotar redundancias en un mensaje. El código Morse, por ejemplo, usa los símbolos más cortos para las letras más frecuentes.
Con respecto a la “información irrelevante”, cuando los canales telefónicos eran caros, TPC empacaría más llamadas en un número limitado de canales omitiendo los silencios.
Aquí hay algunas otras técnicas:
- ¿Por qué obtener más puntos de datos soluciona el problema de la alta variación en un algoritmo de aprendizaje automático?
- ¿Qué tan complejo debe ser un algoritmo criptográfico para estar sujeto a las regulaciones de exportación de criptografía?
- ¿Cuál es el mejor algoritmo para implementar la función next_permutation sin STL?
- ¿Cuáles son las aplicaciones de la vida real de los algoritmos?
- Cómo hacer un robot que pueda resolver un laberinto de líneas
Transformaciones
Es posible que tenga una mezcla de formas de onda de aspecto caótico, por ejemplo, pero si toma la Transformada de Fourier, puede quedar claro que solo hay unas pocas frecuencias presentes. La señal puede ser mucho más compresible en el dominio de transformación que en el original. Esta es una parte importante de los codificadores de imagen y video. Se usan transformaciones bastante extrañas incluso en la compresión de texto, como la transformación de Burrows-Wheeler.
Predicciones
Por ejemplo, muchos codificadores de voz usan un modelo de tracto vocal y eligen parámetros del modelo para que coincidan mejor con la señal. La señal de excitación para el modelo se elige entonces como un zumbido (para el habla sonora) o un silbido (para el habla sorda). Uno o varios predictores pueden coincidir con elementos clave de la señal, y cuando se restan de ella dejan un “residuo” que es de menor energía o cuyas características exactas no son realmente perceptibles. Los parámetros del modelo son luego datos comprimidos y transmitidos. Consulte “Predicción lineal de código excitado”
Funciones hash
Por ejemplo, podría enviarle el hash de mi mensaje, y usted podría generar todos los mensajes, mirar aquellos que coincidan con el hash y elegir el que sea inglés gramatical en lugar de ruido aleatorio. Esto puede ser computacionalmente inviable para mensajes largos, pero es bastante viable para mensajes cortos o partes de los mismos.
Fuentes correlacionadas
Si quiero enviarle mensajes sobre política, y ambos podemos recibir CNN, entonces podemos usarlo como un recurso compartido. (Ver codificación de lobo slepiano)
Codificación de red
Si un grupo de personas quiere enviar mensajes diferentes a un grupo de destinatarios diferentes, entonces pueden codificarse conjuntamente en beneficio de todos.
Complejidad de Kolmogorov
En lugar de enviarte un mensaje, te envío un programa que, cuando lo ejecutas, reproduce el mensaje. El programa puede hacer y puede usar recursos arbitrarios acordados (diccionarios, etc.)