La cuantificación , en matemáticas y procesamiento de señales digitales , es el proceso de mapear valores de entrada de un conjunto grande (a menudo un conjunto continuo) a valores de salida en un conjunto más pequeño (contable), a menudo con un número finito de elementos . El redondeo y el truncamiento son ejemplos típicos de procesos de cuantificación. La cuantificación está involucrada en algún grado en casi todo el procesamiento de señales digitales, ya que el proceso de representación de una señal en forma digital generalmente implica redondeo. La cuantificación también forma el núcleo de esencialmente todos los algoritmos de compresión con pérdida .
La diferencia entre un valor de entrada y su valor cuantificado (como el error de redondeo ) se denomina error de cuantificación . Un dispositivo o una función algorítmica que realiza la cuantificación se denomina cuantificador . Un convertidor analógico a digital es un ejemplo de cuantificador.
Por ejemplo, redondear un número real al valor entero más cercano forma un tipo muy básico de cuantificador: uno uniforme . Un cuantificador uniforme típico ( de media longitud ) con un tamaño de paso de cuantificación igual a algún valor se puede expresar como
donde la notación denota la función de piso .
Alternativamente, el mismo cuantificador puede expresarse en términos de la función de techo , como
(La notación denota la función de techo).
La propiedad esencial de un cuantificador es tener un conjunto contable de posibles valores de salida menores que el conjunto de posibles valores de entrada. Los miembros del conjunto de valores de salida pueden tener valores enteros, racionales o reales. Para un redondeo simple al entero más cercano, el tamaño del paso es igual a 1. Con o con igual a cualquier otro valor entero, este cuantificador tiene entradas de valor real y salidas de valor entero.
Cuando el tamaño del paso de cuantificación (Δ) es pequeño en relación con la variación de la señal que se cuantifica, es relativamente sencillo demostrar que el error cuadrático medio producido por dicha operación de redondeo será aproximadamente . [1] [2] [3] [4] [5] [6] El error cuadrático medio también se denomina potencia de ruido de cuantificación . Añadir un bit al cuantificador reduce a la mitad el valor de Δ, lo que reduce la potencia de ruido por el factor 1/4En términos de decibeles , el cambio de potencia del ruido es
Debido a que el conjunto de posibles valores de salida de un cuantificador es contable, cualquier cuantificador se puede descomponer en dos etapas distintas, que se pueden denominar etapa de clasificación (o etapa de cuantificación directa ) y etapa de reconstrucción (o etapa de cuantificación inversa ), donde la etapa de clasificación asigna el valor de entrada a un índice de cuantificación entero y la etapa de reconstrucción asigna el índice al valor de reconstrucción que es la aproximación de salida del valor de entrada. Para el cuantificador uniforme de ejemplo descrito anteriormente, la etapa de cuantificación directa se puede expresar como
y la etapa de reconstrucción para este cuantificador de ejemplo es simplemente
Esta descomposición es útil para el diseño y análisis del comportamiento de cuantificación, e ilustra cómo los datos cuantificados pueden comunicarse a través de un canal de comunicación : un codificador de origen puede realizar la etapa de cuantificación directa y enviar la información del índice a través de un canal de comunicación, y un decodificador puede realizar la etapa de reconstrucción para producir la aproximación de salida de los datos de entrada originales. En general, la etapa de cuantificación directa puede utilizar cualquier función que asigne los datos de entrada al espacio entero de los datos del índice de cuantificación, y la etapa de cuantificación inversa puede ser conceptualmente (o literalmente) una operación de búsqueda en una tabla para asignar cada índice de cuantificación a un valor de reconstrucción correspondiente. Esta descomposición en dos etapas se aplica igualmente bien a los cuantificadores vectoriales y escalares.
Debido a que la cuantificación es una asignación de muchos a pocos, es un proceso inherentemente no lineal e irreversible (es decir, debido a que el mismo valor de salida es compartido por múltiples valores de entrada, es imposible, en general, recuperar el valor de entrada exacto cuando solo se da el valor de salida).
El conjunto de posibles valores de entrada puede ser infinitamente grande, y posiblemente continuo y, por lo tanto, incontable (como el conjunto de todos los números reales, o todos los números reales dentro de un rango limitado). El conjunto de posibles valores de salida puede ser finito o infinito contable . [6] Los conjuntos de entrada y salida involucrados en la cuantificación se pueden definir de una manera bastante general. Por ejemplo, la cuantificación vectorial es la aplicación de la cuantificación a datos de entrada multidimensionales (con valores vectoriales). [7]
Un convertidor analógico-digital (ADC) se puede modelar como dos procesos: muestreo y cuantificación. El muestreo convierte una señal de voltaje variable en el tiempo en una señal discreta en el tiempo , una secuencia de números reales. La cuantificación reemplaza cada número real con una aproximación de un conjunto finito de valores discretos. Lo más común es que estos valores discretos se representen como palabras de punto fijo. Aunque es posible cualquier número de niveles de cuantificación, las longitudes de palabra comunes son 8 bits (256 niveles), 16 bits (65.536 niveles) y 24 bits (16,8 millones de niveles). La cuantificación de una secuencia de números produce una secuencia de errores de cuantificación que a veces se modela como una señal aleatoria aditiva llamada ruido de cuantificación debido a su comportamiento estocástico . Cuantos más niveles utilice un cuantificador, menor será su potencia de ruido de cuantificación.
La cuantificación optimizada en función de la tasa de distorsión se utiliza en la codificación de fuentes para algoritmos de compresión de datos con pérdida, donde el propósito es gestionar la distorsión dentro de los límites de la tasa de bits admitida por un canal de comunicación o medio de almacenamiento. El análisis de la cuantificación en este contexto implica estudiar la cantidad de datos (normalmente medidos en dígitos o bits o tasa de bits ) que se utilizan para representar la salida del cuantificador y estudiar la pérdida de precisión que introduce el proceso de cuantificación (a la que se hace referencia como distorsión ).
La mayoría de los cuantificadores uniformes para datos de entrada con signo se pueden clasificar como de uno de dos tipos: mid-riser y mid-tread . La terminología se basa en lo que sucede en la región alrededor del valor 0 y utiliza la analogía de ver la función de entrada-salida del cuantificador como una escalera . Los cuantificadores mid-tread tienen un nivel de reconstrucción de valor cero (que corresponde a un peldaño de una escalera), mientras que los cuantificadores mid-riser tienen un umbral de clasificación de valor cero (que corresponde a una contrahuella de una escalera). [9]
La cuantificación a mitad de la banda de rodadura implica redondeo. Las fórmulas para la cuantificación uniforme a mitad de la banda de rodadura se proporcionan en la sección anterior.
La cuantificación de la parte media de la torre implica truncamiento. La fórmula de entrada-salida para un cuantificador uniforme de la parte media de la torre viene dada por:
donde la regla de clasificación viene dada por
y la regla de reconstrucción es
Tenga en cuenta que los cuantificadores uniformes de nivel medio no tienen un valor de salida cero: su magnitud de salida mínima es la mitad del tamaño del paso. Por el contrario, los cuantificadores de nivel medio sí tienen un nivel de salida cero. Para algunas aplicaciones, tener una representación de señal de salida cero puede ser una necesidad.
En general, un cuantificador de tipo mid-riser o mid-tread puede no ser en realidad un cuantificador uniforme , es decir, el tamaño de los intervalos de clasificación del cuantificador puede no ser todos iguales, o el espaciado entre sus posibles valores de salida puede no ser todos iguales. La característica distintiva de un cuantificador de tipo mid-riser es que tiene un valor de umbral de clasificación que es exactamente cero, y la característica distintiva de un cuantificador de tipo mid-tread es que tiene un valor de reconstrucción que es exactamente cero. [9]
Un cuantificador de zona muerta es un tipo de cuantificador de banda intermedia con un comportamiento simétrico alrededor de 0. La región alrededor del valor de salida cero de dicho cuantificador se conoce como zona muerta o banda muerta . La zona muerta a veces puede cumplir la misma función que una compuerta de ruido o una función de silenciamiento . Especialmente para aplicaciones de compresión, la zona muerta puede tener un ancho diferente al de los otros pasos. Para un cuantificador que por lo demás es uniforme, el ancho de la zona muerta se puede establecer en cualquier valor utilizando la regla de cuantificación directa [10] [11] [12]
donde la función ( ) es la función de signo (también conocida como función signum ). La regla general de reconstrucción para un cuantificador de zona muerta de este tipo viene dada por
donde es un valor de desplazamiento de reconstrucción en el rango de 0 a 1 como fracción del tamaño del paso. Por lo general, cuando se cuantifican los datos de entrada con una función de densidad de probabilidad (PDF) típica que es simétrica alrededor de cero y alcanza su valor máximo en cero (como una PDF gaussiana , laplaciana o gaussiana generalizada ). Aunque puede depender de en general, y puede elegirse para cumplir la condición de optimalidad descrita a continuación, a menudo simplemente se establece en una constante, como . (Tenga en cuenta que en esta definición, debido a la definición de la función ( ) , por lo que no tiene efecto).
Un caso especial muy común (por ejemplo, el esquema que se usa típicamente en contabilidad financiera y matemáticas elementales) es establecer y para todos los . En este caso, el cuantificador de zona muerta también es un cuantificador uniforme, ya que la zona muerta central de este cuantificador tiene el mismo ancho que todos sus otros pasos, y todos sus valores de reconstrucción también están espaciados de manera uniforme.
Una suposición común para el análisis del error de cuantificación es que afecta a un sistema de procesamiento de señales de una manera similar a la del ruido blanco aditivo , teniendo una correlación insignificante con la señal y una densidad espectral de potencia aproximadamente plana . [2] [6] [13] [14] El modelo de ruido aditivo se utiliza comúnmente para el análisis de los efectos del error de cuantificación en sistemas de filtrado digital, y puede ser muy útil en dicho análisis. Se ha demostrado que es un modelo válido en casos de cuantificación de alta resolución (pequeña en relación con la intensidad de la señal) con PDF suaves. [2] [15]
El comportamiento del ruido aditivo no siempre es una suposición válida. El error de cuantificación (para los cuantificadores definidos como se describe aquí) está relacionado de manera determinista con la señal y no es completamente independiente de ella. Por lo tanto, las señales periódicas pueden crear ruido de cuantificación periódico. Y en algunos casos, incluso puede provocar la aparición de ciclos límite en los sistemas de procesamiento de señales digitales. Una forma de garantizar una independencia efectiva del error de cuantificación de la señal de origen es realizar una cuantificación dithered (a veces con modelado de ruido ), que implica agregar ruido aleatorio (o pseudoaleatorio ) a la señal antes de la cuantificación. [6] [14]
En el caso típico, la señal original es mucho más grande que un bit menos significativo (LSB). Cuando este es el caso, el error de cuantificación no está significativamente correlacionado con la señal y tiene una distribución aproximadamente uniforme . Cuando se utiliza el redondeo para cuantificar, el error de cuantificación tiene una media de cero y el valor de la raíz cuadrada media (RMS) es la desviación estándar de esta distribución, dada por . Cuando se utiliza el truncamiento, el error tiene una media distinta de cero de y el valor RMS es . Aunque el redondeo produce un error RMS menor que el truncamiento, la diferencia solo se debe al término estático (DC) de . Los valores RMS del error AC son exactamente los mismos en ambos casos, por lo que no hay una ventaja especial del redondeo sobre el truncamiento en situaciones en las que se puede ignorar el término DC del error (como en sistemas acoplados AC). En cualquier caso, la desviación estándar, como porcentaje del rango completo de la señal, cambia en un factor de 2 por cada cambio de 1 bit en el número de bits de cuantificación. Por lo tanto, la relación señal-potencia potencial de ruido de cuantificación cambia en 4, o aproximadamente 6 dB por bit.
En amplitudes más bajas, el error de cuantificación se vuelve dependiente de la señal de entrada, lo que produce distorsión. Esta distorsión se crea después del filtro anti-aliasing y, si estas distorsiones son superiores a la mitad de la frecuencia de muestreo, se solaparán en la banda de interés. Para que el error de cuantificación sea independiente de la señal de entrada, se realiza un dithering de la señal añadiéndole ruido. Esto reduce ligeramente la relación señal/ruido, pero puede eliminar por completo la distorsión.
El ruido de cuantificación es un modelo del error de cuantificación introducido por la cuantificación en el ADC. Es un error de redondeo entre el voltaje de entrada analógico al ADC y el valor digitalizado de salida. El ruido no es lineal y depende de la señal. Se puede modelar de varias maneras diferentes.
En un ADC ideal, donde el error de cuantificación se distribuye uniformemente entre −1/2 LSB y +1/2 LSB, y la señal tiene una distribución uniforme que cubre todos los niveles de cuantificación, la relación señal-ruido de cuantificación (SQNR) se puede calcular a partir de
donde Q es el número de bits de cuantificación.
Las señales de prueba más comunes que cumplen esto son las ondas triangulares de amplitud completa y las ondas de diente de sierra .
Por ejemplo, un ADC de 16 bits tiene una relación señal-ruido de cuantificación máxima de 6,02 × 16 = 96,3 dB.
Cuando la señal de entrada es una onda sinusoidal de amplitud completa, la distribución de la señal ya no es uniforme y la ecuación correspondiente es
Aquí, se supone nuevamente que el ruido de cuantificación se distribuye uniformemente. Este es el caso cuando la señal de entrada tiene una amplitud alta y un espectro de frecuencia amplio. [16] En este caso, un ADC de 16 bits tiene una relación señal-ruido máxima de 98,09 dB. La diferencia de 1,761 en la relación señal-ruido solo se produce debido a que la señal es una onda sinusoidal de escala completa en lugar de una onda triangular o de diente de sierra.
Para señales complejas en conversores analógicos de alta resolución, este es un modelo preciso. Para conversores analógicos de baja resolución, señales de bajo nivel en conversores analógicos de alta resolución y para formas de onda simples, el ruido de cuantificación no se distribuye de manera uniforme, lo que hace que este modelo sea inexacto. [17] En estos casos, la distribución del ruido de cuantificación se ve fuertemente afectada por la amplitud exacta de la señal.
Los cálculos se realizan en relación con la entrada a escala completa. Para señales más pequeñas, la distorsión de cuantificación relativa puede ser muy grande. Para evitar este problema, se puede utilizar la compresión-expansión analógica, pero esto puede generar distorsión.
A menudo, el diseño de un cuantificador implica admitir solo un rango limitado de posibles valores de salida y realizar un recorte para limitar la salida a este rango siempre que la entrada exceda el rango admitido. El error introducido por este recorte se conoce como distorsión de sobrecarga . Dentro de los límites extremos del rango admitido, la cantidad de espacio entre los valores de salida seleccionables de un cuantificador se conoce como su granularidad , y el error introducido por este espacio se conoce como distorsión granular . Es común que el diseño de un cuantificador implique determinar el equilibrio adecuado entre la distorsión granular y la distorsión de sobrecarga. Para un número dado de posibles valores de salida admitidos, reducir la distorsión granular promedio puede implicar aumentar la distorsión de sobrecarga promedio, y viceversa. Una técnica para controlar la amplitud de la señal (o, equivalentemente, el tamaño del paso de cuantificación ) para lograr el equilibrio adecuado es el uso del control automático de ganancia (AGC). Sin embargo, en algunos diseños de cuantificadores, los conceptos de error granular y error de sobrecarga pueden no aplicarse (por ejemplo, para un cuantificador con un rango limitado de datos de entrada o con un conjunto infinito contable de valores de salida seleccionables). [6]
Un cuantificador escalar, que realiza una operación de cuantificación, normalmente se puede descomponer en dos etapas:
Estas dos etapas juntas comprenden la operación matemática de .
Las técnicas de codificación de entropía se pueden aplicar para comunicar los índices de cuantificación desde un codificador de origen que realiza la etapa de clasificación a un decodificador que realiza la etapa de reconstrucción. Una forma de hacerlo es asociar cada índice de cuantificación con una palabra de código binaria . Una consideración importante es el número de bits utilizados para cada palabra de código, denotado aquí por . Como resultado, el diseño de un cuantificador de nivel y un conjunto asociado de palabras de código para comunicar sus valores de índice requiere encontrar los valores de , y que satisfagan de manera óptima un conjunto seleccionado de restricciones de diseño, como la tasa de bits y la distorsión .
Suponiendo que una fuente de información produce variables aleatorias con una PDF asociada , la probabilidad de que la variable aleatoria caiga dentro de un intervalo de cuantificación particular viene dada por:
La tasa de bits resultante , en unidades de bits promedio por valor cuantificado, para este cuantificador se puede derivar de la siguiente manera:
Si se supone que la distorsión se mide por el error cuadrático medio, [a] la distorsión D , viene dada por:
Una observación clave es que la tasa depende de los límites de decisión y de las longitudes de las palabras de código , mientras que la distorsión depende de los límites de decisión y de los niveles de reconstrucción .
Después de definir estas dos métricas de rendimiento para el cuantificador, una formulación típica de tasa-distorsión para un problema de diseño de cuantificador se puede expresar de una de dos maneras:
A menudo, la solución a estos problemas se puede expresar y resolver de manera equivalente (o aproximada) convirtiendo la formulación al problema sin restricciones, donde el multiplicador de Lagrange es una constante no negativa que establece el equilibrio apropiado entre velocidad y distorsión. Resolver el problema sin restricciones es equivalente a encontrar un punto en la envoltura convexa de la familia de soluciones para una formulación restringida equivalente del problema. Sin embargo, encontrar una solución, especialmente una solución de forma cerrada , para cualquiera de estas tres formulaciones de problemas puede ser difícil. Se han publicado soluciones que no requieren técnicas de optimización iterativa multidimensional para solo tres PDF: la distribución uniforme [18] , exponencial [12] y laplaciana [12] . Se pueden utilizar enfoques de optimización iterativa para encontrar soluciones en otros casos. [6] [19] [20]
Tenga en cuenta que los valores de reconstrucción afectan solo la distorsión (no afectan la velocidad de bits) y que cada individuo hace una contribución independiente a la distorsión total, como se muestra a continuación:
dónde
Esta observación se puede utilizar para facilitar el análisis: dado el conjunto de valores, el valor de cada uno se puede optimizar por separado para minimizar su contribución a la distorsión .
Para el criterio de distorsión del error cuadrático medio, se puede demostrar fácilmente que el conjunto óptimo de valores de reconstrucción se da fijando el valor de reconstrucción dentro de cada intervalo en el valor esperado condicional (también denominado centroide ) dentro del intervalo, como se indica mediante:
El uso de técnicas de codificación de entropía suficientemente bien diseñadas puede dar como resultado el uso de una tasa de bits cercana al contenido de información real de los índices , de modo que efectivamente
y por lo tanto
El uso de esta aproximación puede permitir que el problema de diseño de codificación de entropía se separe del diseño del cuantificador en sí. Las técnicas de codificación de entropía modernas, como la codificación aritmética, pueden lograr velocidades de bits muy cercanas a la entropía real de una fuente, dado un conjunto de probabilidades conocidas (o estimadas de manera adaptativa) .
En algunos diseños, en lugar de optimizar para un número particular de regiones de clasificación , el problema de diseño del cuantificador puede incluir también la optimización del valor de . Para algunos modelos de fuentes probabilísticas, el mejor rendimiento puede lograrse cuando se aproxima al infinito.
En la formulación anterior, si se ignora la restricción de la tasa de bits estableciéndola en 0, o equivalentemente, si se supone que se utilizará un código de longitud fija (FLC) para representar los datos cuantificados en lugar de un código de longitud variable (o alguna otra tecnología de codificación de entropía, como la codificación aritmética que es mejor que un FLC en el sentido de tasa-distorsión), el problema de optimización se reduce a la minimización de la distorsión únicamente.
Los índices producidos por un cuantificador de 2 niveles se pueden codificar utilizando un código de longitud fija que utiliza bits/símbolo. Por ejemplo, cuando hay 256 niveles, la tasa de bits de FLC es de 8 bits/símbolo. Por este motivo, a este tipo de cuantificadores se los ha denominado a veces cuantificadores de 8 bits. Sin embargo, el uso de un FLC elimina la mejora de la compresión que se puede obtener mediante el uso de una mejor codificación de entropía.
Suponiendo una FLC con niveles, el problema de minimización de la tasa de distorsión se puede reducir a la minimización de la distorsión únicamente. El problema reducido se puede plantear de la siguiente manera: dada una fuente con PDF y la restricción de que el cuantificador debe utilizar solo regiones de clasificación, encuentre los límites de decisión y los niveles de reconstrucción para minimizar la distorsión resultante.
Encontrar una solución óptima al problema anterior da como resultado un cuantificador a veces llamado solución MMSQE (error de cuantificación cuadrático medio mínimo), y el cuantificador PDF optimizado (no uniforme) resultante se conoce como cuantificador Lloyd-Max , llamado así por dos personas que desarrollaron independientemente métodos iterativos [6] [21] [22] para resolver los dos conjuntos de ecuaciones simultáneas resultantes de y , de la siguiente manera:
que coloca cada umbral en el punto medio entre cada par de valores de reconstrucción, y
que coloca cada valor de reconstrucción en el centroide (valor esperado condicional) de su intervalo de clasificación asociado.
El algoritmo del Método I de Lloyd , descrito originalmente en 1957, se puede generalizar de manera sencilla para su aplicación a datos vectoriales. Esta generalización da como resultado los métodos de optimización del clasificador Linde–Buzo–Gray (LBG) o k-means . Además, la técnica se puede generalizar aún más de manera sencilla para incluir también una restricción de entropía para datos vectoriales. [23]
El cuantificador Lloyd-Max es en realidad un cuantificador uniforme cuando la PDF de entrada se distribuye uniformemente en el rango . Sin embargo, para una fuente que no tiene una distribución uniforme, el cuantificador de distorsión mínima puede no ser un cuantificador uniforme. El análisis de un cuantificador uniforme aplicado a una fuente distribuida uniformemente se puede resumir de la siguiente manera:
Una fuente simétrica X se puede modelar con , para y 0 en cualquier otro lugar. El tamaño del paso y la relación señal/ruido de cuantificación (SQNR) del cuantificador es
Para un código de longitud fija que utiliza bits, , lo que da como resultado ,
o aproximadamente 6 dB por bit. Por ejemplo, para =8 bits, =256 niveles y SQNR = 8×6 = 48 dB; y para =16 bits, =65536 y SQNR = 16×6 = 96 dB. La propiedad de una mejora de 6 dB en SQNR por cada bit adicional utilizado en la cuantificación es una cifra de mérito bien conocida. Sin embargo, debe utilizarse con cuidado: esta derivación es solo para un cuantificador uniforme aplicado a una fuente uniforme. Para otras PDF de fuente y otros diseños de cuantificadores, el SQNR puede ser algo diferente del predicho por 6 dB/bit, dependiendo del tipo de PDF, el tipo de fuente, el tipo de cuantificador y el rango de velocidad de bits de operación.
Sin embargo, es común suponer que para muchas fuentes, la pendiente de una función SQNR de cuantificador puede aproximarse a 6 dB/bit cuando se opera a una tasa de bits suficientemente alta. A tasas de bits asintóticamente altas, reducir el tamaño del paso a la mitad aumenta la tasa de bits en aproximadamente 1 bit por muestra (porque se necesita 1 bit para indicar si el valor está en la mitad izquierda o derecha del intervalo anterior de tamaño doble) y reduce el error cuadrático medio en un factor de 4 (es decir, 6 dB) según la aproximación.
A tasas de bits asintóticamente altas, la aproximación de 6 dB/bit está respaldada por un análisis teórico riguroso para muchas PDF de origen. [2] [3] [5] [6] Además, la estructura del cuantificador escalar óptimo (en el sentido de tasa-distorsión) se aproxima a la de un cuantificador uniforme en estas condiciones. [5] [6]
En realidad, muchas magnitudes físicas están cuantificadas por entidades físicas. Algunos ejemplos de campos en los que se aplica esta limitación son la electrónica (debido a los electrones ), la óptica (debido a los fotones ), la biología (debido al ADN ), la física (debido a los límites de Planck ) y la química (debido a las moléculas ).