Articulo de referencia

Cuantización (procesamiento de imágenes)

La cuantización , utilizada en el procesamiento de imágenes , es una técnica de compresión con pérdida que se logra comprimiendo un rango de valores a un único valor cuántico (d...

La cuantización , utilizada en el procesamiento de imágenes , es una técnica de compresión con pérdida que se logra comprimiendo un rango de valores a un único valor cuántico (discreto). Al reducir el número de símbolos discretos en una secuencia de datos, esta se vuelve más compresible. Por ejemplo, reducir la cantidad de colores necesarios para representar una imagen digital permite reducir el tamaño del archivo. Algunas aplicaciones específicas incluyen la cuantización de datos DCT en JPEG y la cuantización de datos DWT en JPEG 2000 .

Cuantización de color

La cuantización de color reduce la cantidad de colores utilizados en una imagen; esto es importante para mostrar imágenes en dispositivos que admiten un número limitado de colores y para comprimir de manera eficiente ciertos tipos de imágenes. La mayoría de los editores de mapas de bits y muchos sistemas operativos tienen soporte integrado para la cuantización de color. Los algoritmos modernos de cuantización de color más populares incluyen el algoritmo de color más cercano (para paletas fijas), el algoritmo de corte de mediana y un algoritmo basado en octrees .

Es habitual combinar la cuantización del color con el tramado para crear la impresión de una mayor cantidad de colores y eliminar los artefactos de bandas .

Cuantización en escala de grises

La cuantización de escala de grises, también conocida como cuantización de niveles de gris, es un proceso de procesamiento de imágenes digitales que consiste en reducir el número de niveles de intensidad únicos (tonos de gris) en una imagen, conservando su información visual esencial. Esta técnica se utiliza comúnmente para simplificar imágenes, reducir los requisitos de almacenamiento y facilitar las operaciones de procesamiento. En la cuantización de escala de grises, una imagen con N niveles de intensidad se convierte en una imagen con un número reducido de niveles, normalmente L niveles, donde L < N. El proceso consiste en asignar el valor de intensidad original de cada píxel a uno de los nuevos niveles de intensidad. Uno de los métodos más sencillos de cuantización de escala de grises es la cuantización uniforme, donde el rango de intensidad se divide en intervalos iguales, y cada intervalo se representa mediante un único valor de intensidad. Supongamos que tenemos una imagen con niveles de intensidad que van de 0 a 255 (escala de grises de 8 bits). Si queremos cuantizarla a 4 niveles, los intervalos serían [0-63], [64-127], [128-191] y [192-255]. Cada intervalo estaría representado por el valor de intensidad del punto medio, lo que daría como resultado niveles de intensidad de 31, 95, 159 y 223 respectivamente.

La fórmula para la cuantización uniforme es:

Q(incógnita)=incógnitaΔ×Δ+Δ2{\displaystyle Q(x)=\left\lfloor {\frac {x}{\Delta }}\right\rfloor \times \Delta +{\frac {\Delta }{2}}} Dónde:

  • Q ( x ) es el valor de intensidad cuantificado.
  • x es el valor de intensidad original.
  • Δ es el tamaño de cada intervalo de cuantización.

Vamos a cuantificar un valor de intensidad original de 147 en 3 niveles de intensidad.

Valor de intensidad original: x = 147

Niveles de intensidad deseados: L = 3

Primero necesitamos calcular el tamaño de cada intervalo de cuantización:

Δ=255L1=25531=127,5{\displaystyle \Delta ={\frac {255}{L-1}}={\frac {255}{3-1}}=127,5}

Utilizando la fórmula de cuantización uniforme:

Q(incógnita)=147127,5×127,5+127,52{\displaystyle Q(x)=\left\lfloor {\frac {147}{127.5}}\right\rfloor \times 127.5+{\frac {127.5}{2}}}

Q(incógnita)=1.15294118×127,5+127,52{\displaystyle Q(x)=\left\lfloor 1.15294118\right\rfloor \times 127.5+{\frac {127.5}{2}}}

Q(incógnita)=1×127,5+63,75=191,25{\displaystyle Q(x)=1\times 127.5+63.75=191.25}

Redondeando 191.25 al entero más cercano, obtenemosQ(incógnita)=191{\displaystyle Q(x)=191}

Por lo tanto, el valor de intensidad cuantificado de 147 a 3 niveles es 191.

Cuantización de frecuencia para compresión de imágenes

El ojo humano es bastante bueno para percibir pequeñas diferencias de brillo en un área relativamente grande, pero no tanto para distinguir la intensidad exacta de una variación de brillo de alta frecuencia (que varía rápidamente). Este hecho permite reducir la cantidad de información necesaria al ignorar los componentes de alta frecuencia. Esto se logra dividiendo cada componente en el dominio de la frecuencia por una constante para dicho componente y redondeando al entero más cercano. Esta es la principal operación con pérdida de información en todo el proceso. Como resultado, muchos de los componentes de alta frecuencia suelen redondearse a cero, y muchos de los restantes se convierten en números pequeños positivos o negativos.

Como la visión humana es más sensible a la luminancia que a la crominancia , se puede obtener una mayor compresión trabajando en un espacio de color que no sea RGB y que separe ambos (por ejemplo, YCbCr ), y cuantificando los canales por separado. [ 1 ]

Matrices de cuantificación

Un códec de vídeo típico funciona dividiendo la imagen en bloques discretos (8×8 píxeles en el caso de MPEG [ 1 ] ). Estos bloques se pueden someter a la transformada discreta del coseno (DCT) para calcular los componentes de frecuencia, tanto horizontal como verticalmente. [ 1 ] El bloque resultante (del mismo tamaño que el bloque original) se premultiplica por el código de escala de cuantificación y se divide elemento a elemento por la matriz de cuantificación, redondeando cada elemento resultante. La matriz de cuantificación está diseñada para proporcionar mayor resolución a los componentes de frecuencia más perceptibles sobre los menos perceptibles (generalmente frecuencias bajas sobre frecuencias altas), además de transformar tantos componentes como sea posible a 0, que se pueden codificar con la mayor eficiencia. Muchos codificadores de vídeo (como DivX , Xvid y 3ivx ) y estándares de compresión (como MPEG-2 y H.264/AVC ) permiten el uso de matrices personalizadas. El grado de reducción puede variarse cambiando el código de escala del cuantificador, lo que ocupa mucho menos ancho de banda que una matriz de cuantificación completa. [ 1 ]

Este es un ejemplo de matriz de coeficientes DCT:

[41533583558511512534491827153461480355019718532134202343612929532154537815167811471928226274421182512443548373]{\displaystyle {\begin{bmatrix}-415&-33&-58&35&58&-51&-15&-12\\5&-34&49&18&27&1&-5&3\\-46&14&80&-35&-50&19&7&-18\\-53&21&34&-20&2&34&36&12\\9&-2&9&-5&-32&-15&45&37\\-8&15&-16&7&-8&11&4&7\\19&-28&-2&-26&-2&7&-44&-21\\18&25&-12&-44&35&48&-37&-3\end{bmatrix}}}

Una matriz de cuantización común es:

[1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399]{\displaystyle {\begin{bmatrix}16&11&10&16&24&40&51&61\\12&12&14&19&26&58&60&55\\14&13&16&24&40&57&69&56\\14&17&22&29&51&87&80&62\\18&22&37&56&68&109&103&77\\24&35&55&64&81&104&113&92\\49&64&78&87&103&121&120&101\\72&92&95&98&112&100&103&99\end{bmatrix}}}

Al dividir la matriz de coeficientes DCT elemento a elemento con esta matriz de cuantización y redondear a enteros, se obtiene:

[26362210003411000315110004121000010000000000000000000000000000000]{\displaystyle {\begin{bmatrix}-26&-3&-6&2&2&-1&0&0\\0&-3&4&1&1&0&0&0\\-3&1&5&-1&-1&0&0&0\\-4&1&2&-1&0&0&0&0\\1&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&0\end{bmatrix}}}

Por ejemplo, usando −415 (el coeficiente de CC) y redondeando al entero más cercano.

ronorted(41516)=ronorted(25,9375)=26{\displaystyle \mathrm {round} \left({\frac {-415}{16}}\right)=\mathrm {round} \left(-25.9375\right)=-26}

Normalmente, este proceso da como resultado matrices con valores principalmente en la esquina superior izquierda (baja frecuencia). Al utilizar un ordenamiento en zigzag para agrupar las entradas distintas de cero y la codificación de longitud de ejecución , la matriz cuantificada se puede almacenar de forma mucho más eficiente que la versión no cuantificada. [ 1 ]

Véase también

Referencias

  1. 1 2 3 4 5 John Wiseman, Introducción a la compresión de vídeo MPEG , https://web.archive.org/web/20111115004238/http://www.john-wiseman.com/technical/MPEG_tutorial.htm

[ 1 ]

  1. Smith, Steven W. (2003). Procesamiento digital de señales: una guía práctica para ingenieros y científicos . Serie Desmitificando la tecnología. Ámsterdam Boston: Newnes. ISBN 978-0-7506-7444-7.