La cuantificación vectorial (VQ) es simplemente un mapeo de vectores reales en palabras de código binario de acuerdo con una regla vecina más cercana, es decir, al recibir un bloque de muestras, un codificador VQ emite la palabra de código asignada al vector de código representativo que está más cerca de la entrada de acuerdo con una métrica de distorsión dada.
Se basa en la teoría de la tasa de distorsión de Shannon, que sugiere que al asignar palabras de código binarias a bloques de muestras en lugar de a muestras individuales, se puede lograr una tasa de código más eficiente para un nivel de distorsión fijo.
Como tal, VQ se ha utilizado principalmente para la compresión de señal con pérdida y ha encontrado aplicaciones en dominios donde los recursos de memoria, almacenamiento y ancho de banda son escasos . Por ejemplo, con VQ, uno puede (A) minimizar la capacidad de ancho de banda requerida para transmitir señales de alta calidad o, por el contrario, (B) lograr la distorsión mínima posible en un canal de comunicación sin memoria existente.
El propósito de aplicar VQ en tales dominios es, por lo tanto, reducir el número de bits requeridos para representar y transmitir información. El aspecto más desafiante de VQ es el diseño de los llamados libros de códigos, que son colecciones de N vectores de código representativos fijos que minimizan la distorsión a una distribución de fuente dada. Para esta tarea, uno puede usar métodos de agrupamiento como k-means o el algoritmo clásico de Linde-Buzo-Gray (ver Un algoritmo para el diseño del cuantificador vectorial).
- ¿Cuál es la mejor manera de comprender intuitivamente la rápida transformación de Fourier de un grupo (simétrico)?
- Estoy aprendiendo que hay muchas nociones diferentes de campos en matemáticas, como los campos de Galois, los campos escalares, los campos finitos, etc. ¿Están todas estas nociones interconectadas de alguna manera?
- Cómo normalizar un vector complejo
- Cómo aprender a usar las matemáticas superiores para resolver problemas cotidianos
- Cómo demostrar que [math] e ^ {\ lambda t} [/ math] abarca todo el espacio vectorial de funciones [math] f (t) [/ math]
Algunos ejemplos clásicos de aplicaciones incluyen:
- Almacenamiento de imágenes médicas (p. Ej., Imágenes por resonancia magnética). Ver, por ejemplo, compresión de imagen por resonancia magnética usando cuantificación de vector escalar, o compresión de imágenes de tumor de piel;
- Almacenamiento y transmisión de imágenes satelitales (por ejemplo, teledetección). Véase, por ejemplo, un esquema de codificación basado en cuantificación vectorial para la transmisión de televisión por satélite;
- Transmisión de señales de audio a través de viejos canales ruidosos de comunicación móvil por radio. Véase, por ejemplo, un estudio de cuantificación vectorial para canales ruidosos; véanse también los algoritmos de aprendizaje competitivo para la cuantificación robusta de vectores para más ejemplos en aplicaciones de transmisión; etc.
Las aplicaciones más recientes han estado integrando VQ en varias tareas de aprendizaje automático, tales como:
- Identificación del hablante. Véase, por ejemplo, Un algoritmo de entrenamiento discriminativo para la identificación de altavoces basada en VQ;
- Imagen esteganografía. Véase, por ejemplo, un esquema de ocultación de imágenes de alta capacidad basado en la cuantificación de vectores, o esteganografía utilizando una partición de libro de códigos superpuesta; etc.
Para sistemas VQ a gran escala, un cuello de botella es la alta complejidad computacional del procedimiento de búsqueda de vecino más cercano en el lado del codificador VQ. Ver, por ejemplo, límites inferiores para la búsqueda de vecinos más cercanos en alta dimensión y problemas relacionados
Sin embargo, existen algoritmos eficientes (p. Ej., Vecinos cercanos aproximados rápidos con configuración automática de algoritmos) y estructuras de datos (p. Ej., Estructuras de datos y algoritmos para la búsqueda de vecinos más cercanos en espacios métricos generales) que pueden manejar este problema.