Cuando esté realizado el rate-control uniforme tras la ponderación/cuantización perceptual se supone que tendremos una q que ajustará al rate pedido y la calidad será la que corresponda.
Nos planteamos estudiar si variaciones de la cuantización entorno a esa q por subbandas, cuantizando unas más y otras menos, hiciera posible mantener el rate objetivo pero mejorase la calidad. Sería como ecualizar la q para cada subbanda.
Realizaremos el estudio utilizando ya el código de las versión P_LTW_rp2_1.5 que se ha visto en Rendimiento de las “Mejoras” LTW tras CSF weighting que es la combinación de mejoras que mayor incremento perceptual da a menor costo computacional.
En este Post y en lo sucesivo, cuando referenciemos al P_LTW se entenderá que lo hacemos a la versión P_LTW_rp2_1.5
- Una primera aproximación sería una ecualización lineal tal que las subbandas de más alta frecuencia se cuanticen más que las de baja, para lo que tendríamos que determinar los deltas en la q que no hagan variar en exceso el rate … está por estudiar.
- Otra posible ecualización sería una que siguiera la importancia de las subbandas que marca la CSF.
Tanto en una aproximación como en otra, necesitaremos modificar el código del P_LTW para que realice además de las cuantizaciones ecualizadas una captura de información que nos ayude a determinar mejor la forma de la ecualización, como son: (partimos de los datos cuantizados con CSF y q definida por el rate-control)
- Diversos estadísticos de cada subbanda
- Número de bits que ocupa cada subbanda en el bitstream final.
Quizás para tener más información con la que definir mejor aún la forma de la ecualización sería bueno realizar un estudio de cómo el mismo incremento de q afecta al rate y a la calidad para cada subbanda individualmente.
Por tanto los pasos a seguir (de momento) en este ToDo son los siguientes:
- Modificar el código del P_LTW para que vuelque en un fichero <fichero>_q_stats.log información de los distintos estadísticos que podamos extraer de los coeficientes por subbanda.
- Desviación estandar, Media, Mediana, Mínimo, Máximo, etc… (Analizar la utilización de otros en la literatura, MAD? )
- Modificar el código del P_LTW para que vuelque en un fichero <fichero>_q_sizes.log información del tamaño en bits que ocupa cada subbanda, diferenciando entre el tamaño que ocupa el mapa para esa subbanda del tamaño de los bits en crudo que se envían por los coeficientes.
- Generar ficheros log para las distintas imágenes, balloon, lena, barbara, mandrill, etc…
- Determinar, mediante un programa en matlab, cuan sensibles (variación de rate) son las distintas subbandas a incrementos de la q y si es posible modelar esa sensibilidad y su correlación con algún parámetro de la subbanda. Este programa tomaría los distintos ficheros log generados en los puntos anteriores. Esto nos daría una visión de si dicha sensibilidad es constante ante incrementos de la q en una subbanda determinada.