La matriz de cuantización en la cuantización perceptual

[latexpage]De entre las etapas de la codificación de imagen y vídeo, la cuantización es la única en la que se produce una pérdida real de información.

Los codificadores basados en bloques utilizan una matriz de cuantización QM (Quantization Matrix) para reducir la precisión de los coeficientes resultantes de la etapa de transformación al dominio de la frecuencia, habitualmente utilizando la transformada DCT.

Suponiendo un bloque de 8×8 de coeficientes $\begin{aligned} F(u,v) \end{aligned}$ resultantes de la transformada DCT o similar, la matriz de cuantización define la cantidad de reducción que se va a aplicar a cada coeficiente para reducir el bit-rate resultante en la compresión. $u, v$ son la frecuencia horizontal y vertical respectivamente. Cuando la cuantización es uniforme, a todos los coeficientes se les aplica el mimso divisor y cuando no lo es, para cada coeficiente la matriz de cuantización tiene divisores diferentes. La cuantización se regiría por la ecuación (\ref{eq:quantization}) y la decuantización por la ecuación (\ref{eq:dequantization})

\begin{equation} \label{eq:quantization}

F_Q(u,v)=Round(\frac{F(u,v)}{Q(u,v)})

\end{equation}

\begin{equation} \label{eq:dequantization}

F'(u,v)=F_Q(u,v)\times Q(u,v)

\end{equation}

Cada uno de los valores $\begin{aligned} Q(u,v) \end{aligned}$ de la matriz de cuantización es un entero entre 1 y 255 que especifica el tamaño del quantization step (QStep) a aplicar en la frecuencia $(u,v)$. El error máximo de cuantización en la reconstrucción de $\begin{aligned} F(u,v) \end{aligned}$ es por tanto $\begin{aligned} Q(u,v)/2 \end{aligned}$.

El objetivo es reducir la precisiónd e los coeficientes que son perceptualmente insignificantes.

Fundamentalmente hay dos formas de definir la matriz de cuantización:

  1. Utilizando la teoría de rate-distortion.
  2. Utilizando experimentos psico-visuales basados en el HVS.

1) Se obtiene una QM específica para la imagen asignando, de los bits disponibles, cierto número de bits a cada coeficiente DCT utilizando un criterio rate-distortion.

Normalmenta a los coeficientes de baja frecuencia se les asigna más bits dada la compactación de energía de la DCT. El problema de esta técnica  es que la QM generada depende de la imagen y tiene un coste computacional a tener en cuenta. Habitualmente se implementa un algoritmo rate-distortion adaptativo que gerera la QM para cada imagen.

2) La idea es determinar el umbral T para cada coeficiente DCT de forma que idealmente, las distorsiones bajo ese umbral no se perciban. Normalmente los QSteps para coeficientes de alta frecuencia serán mayores que los de baja, lo que producirá mayores distorsiones para las altas frecuencias que para las bajas, lo que concuerda con la sensibilidad del HVS.

 




Características principales del HVS (Human Visual System) usadas en Codificación Perceptual de Imagen y Vídeo

[latexpage]

Todo aquello que es perceptualmente redundante puede ser eliminado.

Estas son las características fundamentales del sistema visual humano (HVS) que se han incorporado o tenido en cuenta en la codificación perceptual de imagen y video

En esta entrada vamos a revisar brevemente cada uno de estas características.

Color Space

La teoría tricromática del color sugiere que cualquier color puede ser descompuesto en tres canales de color. De entre los distintos espacios de color que utilizan esta teoría el RGB (Read Green Blue) es el más extendido ya que se usa directamente en en televisión y monitores, aunque ultimamente también se utilizan otros.

Con RGB cada imagen se representa en tres planos de color, donde cada uno almacena la información del color correspondiente. Uno de los inconvenientes de usar este espacio de color es que la cantidad de energía de los tres canales de color es aproximadamente la misma. Por lo que cada canal tiene aproximadamente el mismo peso  y no se aprovecha la correlación entre los tres canales.

Una alternativa es usar también tres canales, pero donde el primero lleva información de luminancia y los otros dos una combinación de dos canales de crominancia. De entre éstos, dos modelos son los más utilizados, YCbCr y YUV.  Fueron diseñados para aprovechar la caracteristica del HVS que le hace más sensible a los cambios en luminancia que a los cambios de color y también con el objetivo de mantener la compatibilidad con televisiones en blanco y negro, puesto que el canal de luminancia es el único que éstos utilizaban.

Estos modelos por tanto decorrelacionan la información RGB de forma que los canales de crominancia tienen mucha menos energía, y por tanto ancho de banda (aprox. un 10%), que el de luminancia. Esta propiedad del HVS, permite además submuestrear los canales de crominancia y aplicar mayor cuantización a los mismos sin perder la información importante (luminancia) para el HVS.

Tanto el modelo YCbCr como el YUV utilizan unas matrices de conversión (Figura 1) para pasar de RGB a YCbCr o YUV y viceversa.  YUV es muy usado en vídeo análogico tradicional y el YCbCr se utiliza en video digital.  El canal Y es una suma pondereada del RGB y tanto UV como CbCr son diferencias ponderadas de RB con Y. Los pesos están diseñados para que UV y CbCr tiendan a cero o a un valor constante para imágenes planas monocromáticas neutras, es decir, cuando R=G=B. Por tanto la mayoría de la información se ubica en el canal Y.

Figura 1.
Matriz de conversión de RBG a YCbCr

La mayoría de la investigación de codificación de imagen y video se ha centrado tradicionalmente en el canal de luminancia para la proposicion de nuevos modelos pero la extensión a color es necesaria.

Las propiedades de filtrado y enmascaramiento que veremos a continuación actuan sobre la información de lumninancia del HVS.

Propiedades HVS: Filtrado/Enmascaramiento y Locales/Globales

De las tres propiedades del HVS que vamos a revisar, la sensibilidad frecuencial al contraste (frequency sensitivity) es una propiedad de filtrado, mientras que las otras dos son propiedades de enmascaramiento (masking).

El umbral de sensibilidad (visibility threshold T) es una medida definida como la magnitud de un estimulo en una imagen a partir de la cual el estímulo se hace visible o invisible. El estímulo puede ser cualquier señal, por ejemplo una señal sinusoidal, ruido aditivo o distorsion. En teoría, cualquier estímulo que esté por debajo del umbral de visibilidad puede ser eliminado ( o si es una distorsión, tolerada o pasar desapercibida) lo que elimina redundancia perceptual.

En algunas circunstancias en vez del visibility threshold es necesario tener una medidad de la sensibilidad del ojo a cierto estímulo. La sensibilidad es la inversa del visibility threshold, es decir cuanto más alto sea el umbral menor sensibilidad tenemos y a la inversa, cuanto menor sea el umbral mayor sensibilidad tenemos.

También podemos clasificar las propiedades el HVS como Locales o Globlaes, es decir en propiedades del HVS que dependen de características locales de la imagen y las que no.

La sensibilidad al contraste (CSF) del HVS, que se basa como veremos en la MFT del HVS puede ser considerada una propiedad global.

El Luminance Masking y el Contrast Masking se clasifican como locales puesto que dependen de la actividad (cantidad de energia) de una zona (bloque) de la imagen o de la cantidad media de luminancia de una zona (bloque) de la imagen.

CSF (Contrast Sensitivity Function)

Estudios psico-visuales han demostrado que la percepción de una distorsión depende de la respuesta en frecuencia del HVS. Se ha demostrado que el HVS actua como un filtro paso-banda con una respuesta máxima (máxima sensibilidad) en el rango de 8 cpd (cycles per degree) disminuyendo mucho para frecuencias menores y para muy altas.

La respuesta en frecuencia de un sistema viene definida por la MFT del mismo (Modulation Transfer Function). El HVS tiene una MFT como la de la Figura 2:

Modulation Transfer Function del HVS. CSF - Contrast Sensitivity Function

Figura 2.
Modulation Transfer Function del HVS. CSF – Contrast Sensitivity Function
En el eje Y tenemos la Sensibilidad Frecuencial al Contraste.
En el eje X tenemos la frecuencia espacial en cycles per degree (cpd)

La CSF  proporciona una manera natural de incorporar criterios perceptuales en técnicas de codificación de imagen y video basadas en transformadas en frecuencia. La imagen es transformada  al dominio de la frecuencia, donde cada coeficiente de un bloque (DCT – Discrete Cosine Transform) o subbanda frecuencial (DWT – Discrete Wavelet Transform) corresponde a un rango de frecuencias, para los cuales, según la curva CSF (la MFT del HVS) proporciona una sensibilidad y por tanto un umbral de detección.

Por tanto, la respuesta del HVS puede ser utilizada para modular  la importancia relativa de los coeficientes transformados (aplicando pesos a los mismos) . Cuanto mayor sea el peso  que  le damos a un coeficiente, es decir a un  rango de frecuencias, más importante lo hacemos. Por el contrario, cuanto menor peso le demos a un coeficiente menor importancia tendrá. Aquellos coeficientes ubicados en franjas frecuenciales para las cuales el HVS no tiene sensibilidad suficiente podrían ser descartados o cuantizados en mayor medida. Son aquellos coeficientes para los que necesitaríamos una cantidad de estímulo (energía) muy álta para poder percibir su presencia.

Luminance Masking

Normalmente los terminos luminance y brightness (luminancia y brillo) se usan indistintamente, aunque la luminancia es una medida física y el brillo es un descriptor subjetivo que no puede ser medido. Habitualmente el termino grayscale (escala de grises o nivel de gris) se refiere a la componente de luminancia de una imagen digital. Un nivel de gris de 0 (cero) en una escala de grises de 8-bits es negro y blanco sería 255.

Icremento de luminancia en relación a la del fondo

Figura 3
Icremento de luminancia en relación a la del fondo

El concepto de luminance masking (enmascaramiento por luminancia) se puede explicar con la Figura 3. El área contínua, que se supone el fondo (background) de la escena tiene una luminancia media de $L_B$. En el área discontínua se sitúa un estímulo basado en un incremento de la luminancia. Este estímulo es visible (se percibe el incremento de luminancia) para un valor $\Delta L$. Experimentos demuestran que el umbral $\Delta L$ a partir del cual se detecta el incremento de luminancia es función (depende de) la luminancia del fondo, de $L_B$, y que se incrementa casi linealmente conforme aumenta $L_B$. Esto se conoce como The Weber’s Law (la ley Weber).

\[
The Weber’s Law \Rightarrow \frac{\Delta L}{L_B}=constant
\]

Lo que implica es que el ojo humano es menos sensible a los errores que ocurren en áreas de la escena con alta luminancia, porque $\Delta L$ es relativamente alto en estas zonas. La ley se cumple bien en zonas desde luminancia media-baja hasta alta luminancia, pero se ha reportado en otros estudios que el valor del cociente tiende a aumentar para valores muy bajos de luminancia. Es decir, para el ojo humano la sensibilidad a las distorsiones también cae en areas muy oscuras en la imagen. Esto se puede ver en la Figura 4 que muestra el ratio de Weber.

Contrast ratio: Weber fraction

Figura 4
Contrast ratio: Weber fraction

Sensibilidad a las distorsiones por luminancia.

Figura 5
Sensibilidad a las distorsiones por luminancia.

La Figura 5 muestra la curva de sensibilidad a las distorsiones en relación a la luminancia. Como se puede ver la sensibilidad disminuye para valores muy oscuros de luminancia y para valores muy altos, sin embargo las distorsiones serán detectadas más fácilmente en regiones de luminancia media, puesto que ahí la sensibilidad es mayor y por tanto el umbral de detección es menor.

Vemos pues que hay zonas con menor sensiblidad a las distorsiones por luminancia, es decir con mayor capacidad de enmascarar por luminancia (muy oscuras o muy claras), de éstas decimos que tienen mayor capacidad de luminance masking o simplemente mayor luminance masking.

Esto es muy útil para la codificación de imagen y vídeo puesto que en zonas de alto luminance masking hay más redundancia perceptual y por tanto podremos introducir mayor cantidad de distorsión local.

Texture Masking

El enmascaramiento por textura o texture masking también se llama spatial masking.

En este caso la visibilidad de la distorsión disminuye cuando hay cambios grandes de la luminancia del fondo (background luminance). Es decir se cambia rápidamente (en el espacio) la luminancia (valores de gris) en un cuadro. Cuanto más cambios hay espacialmente en la luminancia un bloque o zona de la imagen podemos decir que tiene más textura. Subjetivamente parece claro que la textura enmascara u oculta ciertas distorsiones. Este efecto podemos verlo en la Figura 6, donde el mismo ruido blanco se ha añadido en la zona del cielo que en la zona de las rocas. Como vemos se percibe más el ruido en la zona del cielo, puesto que ahí hay menos textura.

Spatial Masking - Texture Masking

Figura 6
The background image is acting as masker of a noise pattern. The original image is on the left. In the right image the noise pattern is applied to the top and bottom of the image. The texture in water and rocks makes detecting the noise pattern difficult.

En la Figura 7 se explica un ejemplo de los efectos del enmascaramiento por textura. La imagen muestra dos gráficas que representan la variación de luminancia a lo largo de una determinada orientación en la imagen. Si uno se situa al inicio del escalón, vemos cómo desde una luminancia inicial se eleva la misma en una distancia en pixels determinada (eje x). Es decir en esa orientación que representa la gráfica, la luminancia crece hasta un determinado nivel en un tenerminado número de pixels.

La gráfica superior indica una variación rápida en los niveles de luminancia en esa orientación. La gráfica inferior indica una variación lenta en los niveles de luminancia. Las líneas discontínuas representan la variación del umbral de visibilidad $\Delta L$ que la ley de Weber indica.

Efectos de Texture (spatial) Masking

Figura 7
Efectos de Texture (spatial) Masking

Por tanto, como vemos en la Figura 7, cuando hay un estímulo presente (en este caso $\Delta L$) cuando hay una variación de luminancia grande en las cercanías de un punto en la imagen, la variación de luminancia en esa zona, por ejemplo debido a una determinada de textura, hace que el umbral de detección suba y por tanto la sensibilidad para ver la distorsión disminuye. Así en zonas con alta textura (variación de luminancia en diversas orientaciones conjuntamente) tenemos menos posibilidad de ver las distorsiones presentes, porque la textura (variación de luminancia rápida en diferentes orientaciones), enmascara la distorsión. Cuando hay muy poca variación de luminancia, poca textura, el umbral de detección baja, con lo que la sensibilidad a detectar sube, es decir detectaremos mejor la distorsión puesto que no hay textura que enmascare.

En la codificación de imagen, el texture masking se ha utilizado mucho en codificaciones en el dominio del espacio como la DPCM (Differential Pulse Code Modulation) en la cual los bordes, donde hay altos cambios de luminancia, son detectados muy bien  y por tanto en zonas con mucha textura se puede aplicar mayor cuantización. También en la transformación y codificación por bloques (DCT) se puede aplicar el texture masking.  Hay muchas formas de determinar la textura de un bloque. Un bloque con mucha textura implica muchos cambios de luminancia  en el dominio del espacio, generándose para cada orientación de la textura una redundancia perceptual que puede ser eliminada.

Temporal Masking

El enmascaramiento temporal se basa en la propiedad de refresco del HVS. Durante la reproducción de un vídeo, cuando hay un cambio en la escena o movimiento en la misma, la visibilidad de la distorsión en la nuevas zonas afectadas por el movimiento o cambio en la escena, la visibilidad de la distorsión es baja durante una latencia breve produciendose una redundancia perceptual que puede ser explotada. Normalmente, como la componente temporal es necesaria, este enmascaramiento sólo se utiliza en vídeo.

Surgen dos tipos de enmascaramiento temporal relacionados con el tiempo, backwards masking y forward masking. Y dos tipos de enmascaramiento temporal relacionados con la posición que ocupan el estímulo y el masker, temporal metacontrast maskingtemporal pattern masking respectivamente.

Temporal metacontrast masking se da cuando el target (o estímulo) y el masker no se muestran en posiciones espaciales superpuestas simultaneamente, es decir son complementarias (en la posición del estímulo no hay masker cuando el estímulo desaparece). Por otro lado el temporal pattern masking se da cuando tanto el másker como el target aparecen en la misma posición (los dos se muestran simultaneamente en la misma posición).

En el fordward masking el estímulo se mantiene un tiempo tras el cual aparece el masker. Hasta que aparece el masker hay un período de tiempo en el que el sujeto no percive el estímulo, produciendose una redundancia perceptual. El backwards masking ocurre cuando en un cambio brusco en la escena, la nueva escena enmascara cierta cantidad de frames de la escena previa. Una determinada área de la escena es eliminada (preiva o posterior al frame en curso) en los niveles cognitivos (higher processing levels) del HVS. El sujeto no es consciente de perdecir correctamente estas áreas. Todavía no hay una explicación muy clara de este fenómeno, pero la más prometedora tiene que ver con la variación en la latencia de las señales neuronales del HVS en función de su intensidad.

Se han realizado estudios en compresores de vídeo donde se demuestra que la reducción transitoria de la sensibilidad del HVS es significativa en los primeros 160 ms para el forward masking y hasta los 200 ms para el backward masking. También donde se demuestra que el backwards masking es más significativo que el fordward masking.




Quantizers formulation

[latexpage]

Here is some formulation for some of the most widelly used quantizers in image and video compression standards. Not only the direct and inverse quantization step formulation is shwon but also the formulation to calculate the lower and upper bounds, the centroid and the reconstruction point of each decission interval based on parameter $n$ (the decission interval index)

In the next equations:

  • $C$ is the transformed coefficient before quantization
  • $C’$ is the quantized coefficient after the direct quantization step
  • $\hat{C}$ is the recovered value after the inverse quantization step
  • $\delta$ is a constant used for defining the recovering location in each quantization interval. Allowed values are in the interval $\left [ 0..1 \right ]$
  • $\xi$ is a contant used for defining the size of the deadzone. Allowed values are in the interval $\left ( -\infty ..1 \right ]$
  • $f$ is an offset or also known as rounding factor  that sets the width of the deadzone.
  • $\Delta$  stands for the quantization step size or QStep
  • $L_{bn}$ is the value of the lower bound of the decision bin or quantization step with index $n$
  • $U_{bn}$ is the value of the upper bound of interval $n$
  • $R_v$ is the value recovered for interval $n$
  • $C_b$ is the value in the center of interval $n$.

USQ – Uniform Scalar Quantizer

This is the general uniform quantizer in its mid-tread form.

General Formulation:

\[ C’=sign(C)\left \lfloor \frac{\left | C \right |}{\Delta} + \frac{1}{2} \right \rfloor \]
\[ \hat{C} = \Delta C’ \]

Quantization Intervals Formulation:

\[

n=0 \rightarrow
\left\{\begin{matrix}
L_{bn} = – \frac{\Delta}{2}
\\
U_{bn} = \frac{\Delta}{2}
\\
R_v = C_d = 0
\end{matrix}\right
\]

\[
n \neq 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \frac{\Delta}{2}(2n-1)
\\
U_{bn} = \Delta (n+1) – \frac{\Delta}{2}
\\
R_v = C_d = \Delta
\end{matrix}\right

\]


UDZQ – Uniform Dead Zone Quantizer

This is the formulation for a standard quantizer with deadzone twice the size of the Qstep.

General Formulation:

\[

C’=sign(C)\left \lfloor \frac{\left | C \right | }{\Delta} \right \rfloor

\]

\[

\hat{C} = sign(C’)(\left | C’ \right | + \delta ) \Delta

\]

Quantization Intervals Formulation:

\[

n=0 \rightarrow
\left\{\begin{matrix}
L_{bn} = -\Delta
\\
U_{bn} = \Delta
\\
R_v = C_d = 0
\end{matrix}\right
\]

\[
n > 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta n
\\
U_{bn} = \Delta(n+1)
\\
R_v = \Delta (n + \delta)
\\
C_d = \Delta n + \frac{\Delta}{2}
\end{matrix}\right
\]

\[
n < 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta (n-1)
\\
U_{bn} = \Delta n
\\
R_v = \Delta (n – \delta)
\\
C_d = \Delta n – \frac{\Delta}{2}
\end{matrix}\right

\]


UDZQ+O – Uniform Dead Zone Quantizer + Offset

General Formulation:

\[

C’= sign(C)\left \lfloor \frac{\left | C \right | + f }{\Delta} \right \rfloor

\]

\[
\hat{C} = C’ \Delta

\]

Quantization Intervals Formulation:

\[

n=0 \rightarrow
\left\{\begin{matrix}
L_{bn} = -\Delta + f
\\
U_{bn} = \Delta – f
\\
R_v = C_d = 0
\end{matrix}\right
\]

\[
n > 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta n -f
\\
U_{bn} = \Delta (n+1)-f
\\
R_v = \Delta n
\\
C_d = \Delta (n + \frac{1}{2}) – f
\end{matrix} \right
\]

\[
n < 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta (n-1)+ f
\\
U_{bn} = \Delta (n)+ f
\\
R_v = \Delta n
\\
C_d = \Delta (n – \frac{1}{2}) +f
\end{matrix}\right

\]


UVDZQ – Uniform Variable Dead Zone Quantizer.

General Formulation:

\[

C’= \left\{\begin{matrix}
sign(C)\lfloor \frac{\left | C \right | +\xi \Delta}{\Delta} \rfloor & if \left | C \right | \geq -\xi\Delta \\
0 & if \left | C \right | < -\xi\Delta
\end{matrix}\right

\]

\[

\hat{C} = \left\{\begin{matrix}
sign(C’)(\left | C’ \right | – \xi + \delta ) \Delta & if C’ \neq 0 \\
0 & if C’ =0
\end{matrix}\right.

\]

Quantization Intervals Formulation:

\[

n=0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta (\xi-1)
\\
U_{bn} = \Delta (1-\xi)
\\
R_v = C_d = 0
\end{matrix}\right
\]

\[
n > 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta (n-\xi)
\\
U_{bn} = \Delta (n+1-\xi)
\\
R_v = \Delta (n-\xi+\Delta)
\\
C_d = \Delta (n-\xi)+\frac{\Delta}{2}
\end{matrix}\right
\]

\[
n < 0 \rightarrow
\left\{\begin{matrix}
L_{bn} = \Delta (n-1+\xi)
\\
U_{bn} = \Delta (n+\xi)
\\
R_v = \Delta (n+\xi-\Delta)
\\
C_d = \Delta (n+\xi)-\frac{\Delta}{2}
\end{matrix}\right

\]




Calculo de los CSF Weights

De cara a la escritura de la Tesis, en esta entrada voy a explicar cómo se calculan correctamente los CSF Weights basándose en lo expuesto por Beegan.

Daré los Peak CSF Weights por niveles y por subbandas.

En la versión que se ha utilizado en todos los papers hasta ahora se ha utilizado el código en GetCSFWeights.m y en GetCSFSbWeights.m para niveles y subbandas. En la versión de subbandas se hacía un escalado proporcional para mantener los valores picos de cada nivel y para ello se utilizaba un (inventado) SF ScalingFactor.

Esto se ha entendido y se ha corregido, de forma que ahora se hace bien en la versión de código en GetCSFWeightsNew.m que da tanto los valores nuevos por niveles y los valores por subbandas. Este es el método que voy a explicar aqui.

Esta es la linea de llamada

[lev_csfw, sb_csfw, sbmed_csfw, fmax]=GetCSFWeightsNew(Fmax_pxdg,nlevels,flat)

Fmax_pxdg es la Frecuencia máxima en pixels por degree que tiene la curva CSF en su extremo derecho.
nlevels es el número de niveles
flat indica si llegado a la frecuencia máxima se colocan todos los pesos al máximo, como propone Nadenau para lo que el denomina el peor caso.

Se calcula la curva csf con el siguiente código, (es la función csf)

% Calculo de la CSF en un array sin necesidad de llamar a funcion csf() o H()
a=-(0.114.*f).^1.1;
csf=2.6*(0.0192+0.114*f).*exp(a);

Se define un rango de 0:0.1:fmax que genera 6400 bins, es decir 6400 puntos para el calculo de la CSF.

Para cada subbanda wavelet, se definen los bins mayor y menor que la deliminan y se define también el valor de la csf para esos bins.

 

 




Referencias CSF

[latexpage]

CSFs

csfReferencias a distintos modelos matemáticos de la Contrast Sensitivity Function.

Mannos_Sakrison_1974

$ H(f) = 2.6(0.0192+0.114f)e^{-(0.114f)^{1.1}} $

Modelo usado en :

Rushmeier_etal_1995
Gaddipati_Machiraju_Yagel_1997
Taubman_Marcellin_2002
Moumkine_tamtaoui_ouahman_2006
Bajit_Nahid_Tamtaoui_Bouyakhf_2007a

Nill_1985

$ H(f) = (0.2 + 0.45f) e^{-0.18f}$

Ngan_Leong_Singh_1989

$ H(f) = (0.31+0.69f) e^(-0.29f) $

Chitprasert_Rao_1990

$ H(f) = 0.246(0.1+0.25f)e^{-0.25f}$

 

Modelo usado en:

Miloslavski_Ho_1998,

Chandler_Hemami_2005

Realmente proporcionan no la curva CSF sino los valores de threshold para su modelo.

$ CT(s) = 22.4 \cdot f_s^{0.28 \cdot log_{10} f_s^{-0.15}} \cdot 10^{-3}$

@ARTICLE{57501, 
author={Chitprasert, B. and Rao, K.R.}, 
journal={Communications, IEEE Transactions on}, 
title={Human visual weighted progressive image transmission}, 
year={1990}, 
month={Jul}, 
volume={38}, 
number={7}, 
pages={1040-1044}, 
keywords={encoding;picture processing;visual communication;DCT domain;discrete cosine transform;hierarchical image buildup;human visual system;image coding;modulation transfer function;progressive image transmission;transform coding;weighted variances;Discrete cosine transforms;Humans;Image coding;Image communication;Image reconstruction;Magnetic resonance imaging;Picture archiving and communication systems;Transfer functions;Transform coding;Visual system}, 
doi={10.1109/26.57501}, 
ISSN={0090-6778},}