CALCULO DE COMPLEJIDAD DE IMAGEN EN SISTEMAS DE RADIODIFUSION DE VIDEO BASADOS EN PAQUETE
CAMPO DE LA INVENCIÓN La presente invención se refiere, de manera general, a sistemas de radiodifusión. De manera más particular, la presente invención se refiere a métodos de estimación de la complejidad de una serie de imágenes en programas comprimidos de video que utilizan la codificación compatible MPEG.
ANTECEDENTES DE LA INVENCIÓN En los sistemas comunes de radiodifusión, tales como en aplicaciones de IPTV (televisión de protocolo de Internet) y de satelitales de radiodifusión directa (DBS) , son codificados múltiples programas de video en paralelo, y los flujos de bits comprimidos en forma digital son multiplexados en un canal de velocidad única, constante o variable de bits. El ancho de banda de canal disponible podría ser distribuido de manera irregular entre los programas, en proporción al contenido/complejidad de información de cada una de las fuentes de video. El sistema de monitoreo que calcula la calidad del video midiendo los deterioros podría tomar en cuenta el factor de complejidad de imagen del flujo de video para calcular los distintos efectos de los perjuicios o deterioros en una menor cantidad de imágenes o imágenes más complejas. KEF. 190070
El tráfico de video de velocidad variable codificada de bits (VBR) MPEG se espera que domine el ancho de banda de las redes de banda ancha. Esto podría ser suministrado en la transferencia, en base a la demanda, los tipos de entornos IPTV o DBS. Los modelos exactos de la complejidad de video VBR o CBR son necesarios para permitir sistemas de monitoreo para la predicción del rendimiento de cualquier red propuesta durante su operación. La Figura 1 muestra los componentes que están involucrados en el suministro del contenido de video en un entorno común IPTV. La fuente de video que se origina como una señal analógica es codificada usando un codificador y es formada en paquete y enviada utilizando una red IP. Esta podría ser enviada como multidifusión o unidifusión a la red. La red central contiene varios elementos para la provisión y administración de suscriptores y flujos de tráfico. El contenido es almacenado en servidores de contenido y es suministrado en base a la demanda de petición de usuario. En varios puntos en la red, las mediciones pueden ser realizadas mediante deterioros a través de sistemas de administración de garantía de servicio. Los estándares de codificación MPEG definen tres tipos de imagen (I, B y P) e imágenes codificadas con arreglo fijo. Los cambios de tipo de imagen podrían presentarse debido a transiciones de escena. En el caso de una transición abrupta, el primer cuadro de la nueva escena es intra-
codificado (cuadro-I) con el fin de evitar varios errores de codificación. Durante una transición gradual de escena, la distancia entre dos cuadros de referencia (I o P) puede ser cambiada para mejorar la calidad de la imagen. Durante la mayoría de estas transiciones graduales, la correlación temporal tiende a ser reducida. Esta situación demanda una colocación más frecuente de los' cuadros previstos de referencia (cuadros-P) para sostener la calidad requerida de la imagen. Cuando la secuencia de video contenga movimientos rápidos, esto también podría requerir cuadros-P frecuentes con el objeto de mejorar la calidad de la imagen. Esto incrementa la velocidad de bits. Por otro lado, si la escena no contuviera ningún tipo de movimientos rápidos o transiciones graduales de escena, la distancia de referencia inter-cuadro (cuadro-I) puede ser incrementada sin afectar la calidad de la imagen. Esto es debido a una fuerte correlación entre los cuadros . Por consiguiente, lo que se requiere es un proceso que analice los cambios de indicación de complejidad de capa de codificación de video (VCL) y los cambios de velocidad de bits en el flujo de video mediante el análisis de los parámetros VCL que incluyen aunque no se limitan a tipos de rebanada, macrobloques, cuantificación, INTER/INTRA bloques codificados de referencia y tipos de macrobloque/rebanada/imagen sin referencia y llegar a un
modelo estadístico para calcular la complejidad de imagen en forma dinámica, de modo que los monitores de perjuicio pudieran utilizar este valor para determinar su efecto en base a una secuencia de imágenes complejas.
SUMARIO DE LA INVENCIÓN La presente invención proporciona un modo para estimar la complejidad de la imagen en tiempo real mediante el análisis estadístico de los parámetros VCL y la variación de ancho de banda en el flujo de programa de video. Este valor podría ser utilizado mediante el monitoreo y otras aplicaciones para estimar la calidad de video en estados de pérdida, y para realizar un mejor estimado en base a la calidad percibida a través del sistema visual humano. El proceso para la radiodifusión de múltiples flujos de video en un canal único comienza analizando los cambios de indicación de complejidad y los cambios de velocidad de bits en la capa de codificación de video de cada uno de los múltiples flujos de video. A continuación, es creado un modelo estadístico para calcular en forma dinámica la complejidad de imagen de cada uno de los múltiples flujos de video. El efecto de la complejidad de imagen de cada uno de los múltiples flujos de video sobre la radiodifusión es entonces determinado. El ancho de banda de canal disponible es distribuido entre los múltiples flujos de video en base al
efecto determinado de la complejidad de imagen de cada uno de los múltiples flujos de video. El proceso además involucra la estimación de la calidad de video en ciertos estados de pérdida. El análisis de los cambios de indicación de complejidad involucra el análisis de los cambios en los parámetros de las secciones discretas de los flujos de video. Las secciones discretas de los flujos de video incluyen tipos de rebanada, macrobloques , cuantificación, bloques de referencia inter-codificados , bloques de referencia intra-codificados y tipos de macrobloque/rebanada/imagen sin referencia . La creación del modelo estadístico involucra la generación de un primer modelo estadístico de los cambios de indicación de complejidad de capa de codificación de video para las secciones discretas de cada flujo de video. Además, un segundo modelo estadístico de los cambios de velocidad de bits de capa de codificación de video o variación de ancho de banda es creado para las mismas secciones discretas de cada flujo de video. El primer y segundo modelos estadísticos de las secciones discretas de cada flujo de video son entonces combinados. La complejidad de imagen de las secciones discretas de cada flujo de video es calculada en base al primer y segundo modelos estadísticos combinados. Las transiciones de alta cuantificación, de tipo de
rebanada/macrobloques y los tipos de inter/intra predicción para los tipos de imagen/rebanada/macrobloque son contados mediante la determinación de los cambios de cuantificación en cada flujo de video. La variación del ancho de banda es contada mediante la determinación del ancho de banda de los datos de capa de codificación de video en cada flujo de video. El conteo es conseguido mediante el incremento de un primer contador para cada cambio de cuantificación, un segundo contador para cada macrobloque, un tercer contador para cada rebanada y un cuarto contador para cada transición de estado bajo, promedio y alto de ancho de banda. La probabilidad de la complejidad de la complejidad de capa de codificación de video para las secciones discretas de cada flujo de video es calculada utilizando el primer, segundo, tercer y cuarto contadores. Además, la probabilidad para los estados bajo, promedio y alto de ancho de banda para las secciones discretas para cada flujo de video es calculada utilizando el primer, segundo, tercer y cuarto contadores. Una primera matriz de probabilidad de transición es construida para la transición de complejidad de capa de codificación de video de las secciones discretas de cada flujo de video y una segunda matriz de probabilidad de transición es construida para la transición de estado de ancho de banda de las secciones discretas de cada flujo de video. Un valor de complejidad de imagen de las secciones
discretas de cada flujo de video es calculado utilizando probabilidades de estado de limitación que son obtenidas a partir de cada matriz de probabilidad de transición. El método puede ser utilizado mediante colectores que obtengan el valor de complejidad de imagen a partir de pruebas distribuidas remotas; a fin de facilitar el cálculo de los perjuicios en el flujo de video de paquete que utiliza la complejidad de imagen como una variable para obtener una mayor exactitud hacia la calidad percibida de video; para mejorar la complejidad de imagen en intervalos regulares de aplicaciones de video de paquete; para proporcionar una estimación sobre la complejidad de video como es percibida por el sistema visual humano; para proporcionar las mediciones de complejidad de imagen para los modelos de evaluación de calidad de video amplio de la industria común, que incluye aunque no se limita a la Relación Pico de Señala-Ruido (PSNR) , MPQM, MQUANT y el Error Promedio de Raiz Cuadrada (RMSE) ; a fin de proporcionar mediciones de la complejidad de imagen fuera de linea y en tiempo real que pudieran ser utilizadas o incorporadas por codificadores de video, multiplexores, enrutadores, servidores VOD (video en base a la demanda) , servidores de radiodifusión y equipos de medición de calidad de video; para proporcionar el modelo estadístico para la variación de ancho de banda que contribuya a la complejidad de imagen; para proporcionar el
modelo estadístico para la complejidad de capa de codificación de video que contribuya a las transiciones de escena; y para determinar la distribución estadística de las series de imágenes en un estado de baja complejidad y en un estado de alta complejidad. Otras características y ventajas de la presente invención serán aparentes a partir de la siguiente descripción detallada, tomada en conexión con las figuras que la acompañan, las cuales se ilustran sólo por medio de ejemplo, los principios de la presente invención.
BREVE DESCRIPCIÓN DE LAS FIGURAS Las figuras que la acompañan ilustran la invención. En estas figuras: La Figura 1 muestra un ejemplo de una red de distribución IPTV (televisión IP) con puntos posibles en donde las mediciones para la complejidad de imagen podrían ser realizadas; La Figura 2 muestra un apilamiento común de protocolo en ~ donde los cuadros MPEG son encapsulados en IP (Protocolo de Internet) y en donde los valores para la medición son extraídos en el nivel VCL; La Figura 3 muestra un modelo estadístico para el cálculo de la complejidad de imagen con la ecuación de ajuste final de curva;
La Figura 4 muestra un proceso de transición de Markov para un modelo de ancho de banda; La Figura 5 muestra un proceso de transición de Markov para un modelo de complejidad de capa de codificación de video; La Figura 6 muestra la relación de los contadores y la matriz de transición para el modelo de ancho de banda; La Figura 7 muestra la relación de los contadores y la matriz de transición para el modelo de complejidad de capa de codificación de video; La Figura 8 muestra la matriz de probabilidad de transición para el modelo de variación de ancho de banda; La Figura 9 muestra la matriz de probabilidad de transición para el modelo de complejidad de capa de codificación de video; La Figura 10 muestra la relación de los valores de probabilidad y la ecuación de ajuste de curva que calcula la complejidad de imagen; y La Figura 11 muestra el diagrama de flujo del cálculo del modelo de ancho de banda y la capa de codificación de video.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La modalidad preferida de la presente invención se ilustra en las Figuras 2-10. La modalidad de la presente
invención puede ser utilizada en un sistema de suministro IPTV tal como el que se ilustra en la Figura 1. La presente invención se refiere a un método de estimación de la complejidad de imagen en una serie de imágenes en un flujo de video que soporta la codificación de imagen de tipo MPEG. El método incluye la creación, durante un flujo del flujo codificado de video, de un modelo estadístico que represente los parámetros VCL como cuantificación, conteos de macrobloque/rebanada, tamaños del macrobloque 16X16, 16X8, 8X8, 4X4, 8X16, variación de tipo de imagen como inter, intra imagen, tipos de cuadro I/B/P/macrobloque que determinen la probabilidad de provocar transiciones de escena. Durante el mismo flujo del flujo codificado de video, el modelo estadístico que representa la variación de ancho de banda que determina la probabilidad de los estados alto y bajo de ancho de banda también es creada. Entonces, la complejidad de imagen es determinada a partir de los dos modelos estadísticos creados a partir del mismo flujo del flujo codificado de video. El método puede ser utilizado para proporcionar un sistema distribuido para estimar la complejidad percibida de video. El método también incluye: determinar los cambios de cuantificación para contar las altas transiciones de cuantificación, los conteos de rebanada/macrobloque para el intervalo de monitoreo, los tipos de inter/intra predicción
para los tipos de imagen/rebanada/macrobloque (I. B, P) y determinar el ancho de banda de los datos VCL para contar la variación de ancho de banda; el incremento de un contador para los cambios de cuantificación, el incremento de los contadores para los tipos y tamaños de macrobloque y rebanada, y el incremento de un contador para las transiciones de estado bajo, promedio y alto de ancho de banda; el cálculo de la probabilidad de los contadores para las transiciones de estado para la complejidad de capa de codificación de video, y el cálculo de la probabilidad de los contadores para las transiciones de estado para los estados bajo, promedio y alto de ancho de banda; y el cálculo de una matriz de probabilidad para la transición de complejidad de capa de codificación de video y el cálculo de la matriz de probabilidad de transición para la transición de estado de ancho de banda. Como se especificó con anterioridad, la Figura 1 muestra una red común de distribución IPTV 21 que incluye la adquisición de contenido de video 12, el sistema de administración IPTV 14, la distribución de contenido IPTV 16 y el consumidor IPTV 18. La fuente de video 20 es normalmente adquirida en forma analógica y codificada en un formato MPEG 1/2/4 a través de un codificador de video 22 y es enviada a un servidor de video en demanda (VOD) 24 o a un servidor de radiodifusión 26. El servidor VOD 24 encapsula el contenido
en un flujo de programa para su transporte a un núcleo de red 28. El núcleo de red 28 es una tubería de ancho de banda relativamente más grande. Una red IPTV 21 también consiste de una diversidad de elementos de aseguramiento de administración, aprovisionamiento y servicio. Normalmente, incluye el Sistema de Soporte de Operación (OSS) 30, el sistema de administración de abonado 32 y los servidores de aplicación 34 para crear nuevos servicios agregados de valor. En seguida del aseguramiento de la administración, aprovisionamiento y servicio, el contenido podría ser almacenado en un servidor VOD 36 o un servidor de radiodifusión 38 que sea accesible por el consumidor. Normalmente, este es situado en un borde 40 de la red 21. El consumidor tiene que acceder a su línea de acceso de banda ancha 42, la cual podría ser una línea de cable/DSL 44. Normalmente una televisión es conectada con un convertidor de señal de televisión 46 que decodifica el flujo de video hacia la salida de componente. Un apilamiento de protocolo para un flujo de video de paquete se ilustra en la Figura 2. El acoplamiento dependiente de los medios 48 podría ser una interfaz de Ethernet, Sonet, DS3, cable o DSL. Una PHY 50 realiza el procesamiento de paquete dependiente de medios. Un IP (Protocolo de Internet) 52 es la parte de capa de red que proporciona principalmente la dirección para el enrutamiento
de paquete en la red IPTV 21. Una UDP/RTP 54 es la capa de transporte que proporciona la dirección del nivel de aplicación para los puertos. El flujo de video podria ser encapsulado en UDP/RTP o sólo la capa UDP54. El video codificado puede ser comprimido en MPEG 1/2/4 y puede ser enviado como un flujo de transporte o en un encapsulado RTP para video 56. Puede existir una capa opcional de abstracción de red 58 como en el caso para H.264/AVC. Una entrada de paquete de capa de codificación de video 60 es decodificada y los parámetros necesarios son extraídos para obtener los valores de medición 62 para el modelo de complejidad de imagen, como se describe más adelante. La Figura 3 proporciona la lógica de alto nivel para los modelos estadísticos en una modalidad de la presente invención. La entrada MPEG VCL 64 es proporcionada tanto al modelo de complejidad VCL ( cuadro-I) 66 como al modelo de ancho de banda 68 a fin de calcular los contadores necesarios para los modelos estadísticos. La ecuación de ajuste de curva 70 toma los parámetros de salida de modelo y calcula la complejidad de imagen 72. La Figura 4 ilustra las transiciones discretas de estado del proceso de Markov para el modelo de ancho de banda 68. Las variaciones de ancho de banda en la secuencia de video son modeladas en un proceso de Markov de tres estados a efecto de determinar la probabilidad de las transiciones de
estado de ancho de banda baja y alta. El estado uno (SI) 74, el estado dos (S2) 76, y el estado tres (S3) 78 representan, de manera respectiva, los ' estados del modelo 68 en los estados bajo, constante y alto de ancho de banda. La Figura 5 ilustra las transiciones discretas de estado de proceso de Markov para el modelo de cuantificación de complejidad de capa VCL 66. Las transiciones de cuantificación recuperadas a partir de la capa de macrobloque son modeladas en un proceso de Markov de dos estados. Kl 80 y K2 82 muestran los estados del modelo de complejidad de capa VCL 66, los estados de alta cuantificación y baja cuantificación . La Figura 6 ilustra los contadores 86 utilizados para calcular las probabilidades de transición 90 del modelo de ancho de banda 68. Un monitor de ancho de banda VCL 84 monitorea las variaciones de ancho de banda en el flujo VCL y actualiza los contadores cXY 86, en donde X representa el estado final e Y representa el estado resultante. Los estados inicial y resultante podrían ser los estados bajo, constante o alto de ancho de banda designados como 1, 2 ó 3, de manera respectiva. Por ejemplo, Cll representa el evento de transición de estado para el estado bajo de ancho de banda 74 a un estado bajo de ancho de banda 74, y C23 representa el evento de transición de estado de un estado constante de ancho de banda 76 a un estado alto de ancho de banda 78.
Las probabilidades de transición de estado 90 son calculadas para obtener una matriz de transición 88. Las probabilidades de transición de estado 90 son representadas por pXY en donde X representa el estado inicial e Y representa el estado resultante. Los estados inicial y resultante podrían ser los estados bajo, constante o alto de ancho de banda que son designados como 1, 2 ó 3, de manera respectiva. Por ejemplo, pl2 es la probabilidad de transición para ir del estado bajo de ancho de banda (SI) 74 al estado constante de ancho de banda (S2) 76. A partir de las probabilidades de transición 90, es formada la matriz de transición 88. A partir de la matriz de transición 88, las probabilidades de estado de limitación son calculadas sin las condiciones iniciales para obtener BP101 92 y BP103 94. Estos valores representan la probabilidad para permanecer en el estado bajo de ancho de banda y en el estado alto de ancho de banda, de manera respectiva. Los contadores 98 utilizados para calcular las probabilidades de transición para el modelo de cuantificación de complejidad de capa VCL son observados en la Figura 7. Un monitor de rebanada y macrobloque VCL 96 monitorea el parámetro de cuantificación en el macrobloque y actualiza los contadores dXY, en donde X representa el estado inicial e Y representa el estado resultante. Los estados inicial y resultante podrían ser los estados recibidos de alta
cuantificación o baja cuantificación que son designados como 1 0 2,· de manera respectiva. Por ejemplo, dl2 representa los conteos de evento de transición de estado de un estado recibido de alta cuantificación a un estado recibido de baja cuantificación . Las probabilidades de transición de estado son calculadas para obtener una matriz de transición 100 para el modelo de cuantificación de capa VCL 66. A partir de la matriz de transición 100, la probabilidad de una ocurrencia de alta cuantificación en una secuencia de imagen es calculada y establecida en la variable IP100 102. La matriz de probabilidad de transición 88 para el modelo de ancho de banda 68 se ilustra en la Figura 8. Los estados SI 74, S2 76 y S3 78 representan los estados bajo, promedio y alto de ancho de banda, como es delineado con anterioridad, y cada celda en la matriz 88 representa la probabilidad de la transición de estado de un estado a otro. La Figura 9 muestra una matriz de probabilidad de transición 100 para el modelo de cuantificación de capa VCL. Los estados Kl 104 y K2 106 representan los estados de ocurrencia de alta cuantificación y baja cuantificación, y cada celda en la matriz 100 representa la probabilidad de transición de estado de un estado a otro. La Figura 10 ilustra el modelo de complejidad de capa VCL 66 y el modelo de ancho de banda 68 fuera de los parámetros BP101 92, BP103 94 e IP100 102 utilizados en la
ecuación de ajuste de curva 73 de la Figura 3 para obtener la complejidad de imagen (G) 72 que fluctúa en valor de 2 a 3. La Figura 11 ilustra un diagrama de flujo para los bloques funcionales principales del proceso inventivo. La inicialización de modelo de ancho de banda 108 es la primera etapa que necesita ser realizada para ejecutar los modelos de ancho de banda 68 y de complejidad de capa VCL 66. Las variables para calcular el ancho de banda promedio son inicializadas en 110. Una entrada VCL es leída a partir de NAL (capa de abstracción de red) /flujo transporte 112. El ancho de banda promedio para los paquetes VCL es calculado 114 y establecido 116. Durante esta operación, el modelo de ancho de banda 68 y el modelo de complejidad de capa VCL son ejecutados en paralelo 118. El modelo de ancho de banda 68 es inicializado para los contadores de transición 120. El tamaño de paquete VCL es leído a partir del flujo NAL/capa de transporte 122. El ancho de banda para el VCL es calculado 124. Los contadores de transición son actualizados 126 y la matriz de probabilidad de transición es actualizada 128. La siguiente etapa es calcular las probabilidades de estado de limitación y de estado alto 130 utilizando las ecuaciones (1) y (2), como se detalla más adelante. Las variables BP101 y BP103 son establecidas 132. Para cada macrobloque, el modelo de complejidad VCL 66 es ejecutado al mismo tiempo 118. Los contadores son inicializados 136 y los parámetros de
cuantificación de macrobloque y rebanada son leídos a partir de NAL/flujo de transporte 138 mediante la decodificación de los datos de rebanada del VCL. La matriz de probabilidad de transición de cuantificación de complejidad VCL es calculada 140 y las probabilidades de estado de limitación son calculadas 142. La variable IP100 es entonces establecida 144. La ecuación final de ajuste de curva es calculada 146 utilizando las variables BP101, BP103 e IP100. La operación de la modalidad será explicada a continuación en mayor detalle. Un modelo de ancho de banda 68 es construido utilizando el modelo de arkov en la Figura 4. Los estados SI 74, S2 76 y S3 78 se refieren al estado de la velocidad de paquete VCL en cualquier instante de tiempo después del procesamiento de un cierto número de paquetes VCL o secciones discretas. El modelo de ancho de banda 68 es inicializado después de la creación del flujo de video MPEG. En esta etapa, el modelo de ancho de banda 68 determina el ancho de banda promedio del flujo de video para cada sección discreta, es decir, en cada instancia de muestreo. El procedimiento para determinar el ancho de banda promedio es como sigue: O Inicializar los contadores A100, A101, A102, A103, A104 en cero; O A partir de la capa MPEG leer el tamaño de paquete VCL para cada paquete NAL/capa de transporte recibido
y establecido en A100 para el tamaño acumulado recibido; O Incrementar A103 para cada tipo de INTRA macrobloque/imagen; O Incrementar Al04 para cada tipo de rebanada; O Ajustar A101 para el primer tiempo recibido VCL en milisegundos; O Ajustar A102 para cada tiempo recibido VCL en milisegundos; y O En cada instancia de rauestreo, calcular el ancho de banda promedio . El cálculo sigue este procedimiento: A100 = A100 + VCL_size_rcvd de la capa MPEG Si (A101 = 0) entonces, A101 = tiempo actual A102 = tiempo actual C100 = A100*8/(A102 - A101) /1000 (en kbps) . El intervalo de ancho de banda promedio (C100) será de C100 + 10 kbps. El modelo sólo es ejecutado cuando sea recibido un conteo mínimo predefinido de A103. El contador indica las transiciones de escena y las múltiples transiciones de escena que son necesarias para calcular el modelo de manera efectiva. El modelo estaría en el estado bajo de ancho de banda (SI) si el ancho de banda actual del flujo de video fuera más bajo de C100 - 10 kbps; para anchos de banda más altos que C100 + lOkbps el modelo estará en el estado alto de
ancho de banda (S3) . Si el ancho de banda estuviera dentro del valor promedio de ancho de banda, el modelo estaría en el estado constante de ancho de banda (S2) . El ancho de banda promedio (C100) es determinado en forma continua para los paquetes VCL, la variación de ancho de banda puede ser modelada utilizando el proceso de transición discreta de Markov que se ilustra en la Figura 4. Las transiciones (SI, S2 y S3) de los tres estados son calculadas mediante el monitoreo de la variación de ancho de banda de flujo de video. La matriz de transición 88 (Figura 8) es obtenida, en donde cada celda representa la probabilidad de un estado de transición de un estado particular al siguiente estado. Debido a que el modelo de Markov para este proceso no tiene estados periódicos y sus estados recurrentes forman una cadena única, las probabilidades de estado de limitación son independientes de las condiciones iniciales. Esta condición podría ser aplicada para obtener Pl (la probabilidad estaría en el estado SI) , P2 (la probabilidad estaría en el estado S2) y P3 (la probabilidad estaría en el estado S3) . Para las probabilidades de estado de limitación las siguientes ecuaciones también se mantienen: 0 = ? Pipij - Pj j = 1, 2, 3 - Ecuación (1) i 1 = ? Pj - Ecuación (2)
3 Debido a que existen tres variables (Pl, P2, P3) por resolver, son necesarias tres ecuaciones simultáneas, cada una de las cuales puede ser creada a partir de la matriz de transición 88 (Figura 8) . La matriz de transición 88 es construida a partir de las estadísticas de variación de ancho de banda de flujo de video MPEG. La matriz de transición 88 es obtenida mediante el cálculo de la probabilidad de transición de un estado particular a cualquier otro estado posible, como se ilustra en la Figura 8. Por ejemplo, la probabilidad de permanecer en el estado SI es representada por pll. Estas probabilidades de transición son ingresadas en las ecuaciones (1) y (2) para obtener tres ecuaciones simultáneas que pueden ser resueltas a fin de obtener Pl, P2 y P3, en donde éstas representan lo siguiente: Pl (la probabilidad de que el modelo permanezca en el estado bajo de ancho de banda) ; P2 (la probabilidad de que el modelo permanezca en el estado promedio/constante de ancho de banda) ; y P3 (la probabilidad de que el modelo permanezca en el estado alto de ancho de banda) . La probabilidad de transiciones baja y alta continúa hacia la ecuación final de ajuste de curva 70 para obtener un valor de complejidad de imagen 72. El algoritmo para obtener Pl, P2 y P3, se describe como sigue:
O Inicializar los contadores cll , cl2, cl3, c21, c22, c23 , c31, c32, y c33 en 0; O El estado = S2; y O Para varios paquetes VCL en el flujo elemental de video MPEG (conteo configurable) Si (A103 > 5000 (conteo configurable) | | A104 > 100 (conteo configurable) ) current_bandwidth = (vcl_size * 8 ) / (current_time -previous_time) /1000 si (current bandwidth > (C100 + 10) si (estado = SI) ++cl3. además, si (estado = S2) ++c23. además ++c33 además si (current bandwidth < (clOO - 10)) si (estado = SI) ++cll demás si (estado ++c21 además ++c31 además si (estado = SI)
++cl2 además si (estado = S2) ++c22 además ++c32 Actualiza el estado al estado actual. En cada instancia de muestreo (por ejemplo, 10 segundos) , la matriz de transición 88 es calculada a partir de lo anterior. Las probabilidades de transición son calculadas a partir de las frecuencias relativas del estado de transición. pll = cll / (cll + cl2 + cl3) pl2 = cl2 / (cll + cl2 + cl3) pl3 = cl3 / (cll + cl2 + cl3) p21 = c21 / (c21 + c22 + c23) p22 = c22 / (c21 + c22 + c23) p23 = c23 / (c21 + c22 + c23) p31 = c31 / (c31 + c32 + c33) p32 = c32 / (c31 + c32 + c33) p33 = c33 / (c31 + c32 + c33) A partir de la ]matriz las probabilidades Pl (baja probabilidad de velocidad) , P2 (probabilidad constante/promedio de velocidad) y P3 (alta probabilidad de velocidad) son calculadas utilizando tres ecuaciones simultáneas formadas empleando las ecuaciones (1)
y (2) . Colocando las probabilidades de transición en la ecuación (1), lo siguiente es obtenido: 0 = Pl * (pll - 1) + P2 * p21 + P3 * p31 - Ecuación (3) 0 = Pl * pl2 + P2 * (p22 - 1) + P3 * p32 - Ecuación (4)
De la ecuación (2), lo siguiente es obtenido: 1 = Pl + P2 + P3 - Ecuación (5)
Una vez que sean resueltas las ecuaciones, las probabilidades son asignadas en estas variables: BP101 = Pl BP103 = P3. Una vez que sean resueltas las tres ecuaciones anteriores, Pl y P3 son calculadas para utilizarlas en la ecuación de ajuste de curva 70 para obtener la complejidad final de imagen 72. Para cada entrada VCL, necesita ser ejecutado el modelo de complejidad de capa VCL 66 en paralelo. Los parámetros VCL son monitoreados para las transiciones de escena y la calidad de la imagen. Los tipos INTER/INTRA de macrobloque son analizados para determinar las transiciones de escena y los parámetros de cuantificación dentro del macrobloque son leídos para establecer la calidad de la imagen como contribución a la complejidad de imagen. Una vez que sea ejecutado el modelo de complejidad VCL 66, la ecuación de ajuste de curva 70 para la complejidad de imagen
puede ser resuelta para obtener el valor final de complejidad de imagen 72. El cálculo de la probabilidad de complejidad VCL sigue un proceso similar al descrito con anterioridad, aunque los estados de Markov son limitados a dos estados. La Figura 10 muestra el proceso de transición de estado del modelo de complejidad VCL. Los estados representan: Kl (el estado en donde es recibido un macrobloque de alta cuantificación) ; y K2 (el estado en donde es recibido un macrobloque de baja cuantificación) . Una matriz de transición 100 (Figura 9) que contiene las probabilidades de transición es calculada. Cada celda representa la transición de estado, por ejemplo, pl2 representa la probabilidad de tener una baja cuantificación (K2) en un estado recibido de alta cuantificación (Kl) . El procedimiento para calcular las probabilidades de transición es como sigue: Para cada entrada VCL, en un flujo elemental de video MPEG, o para inicializar todos los contadores dll, dl2, d21, d22d en cero. Se ajusta el estado = Kl . O Para determinar el umbral de cuantificación a fin de ajusfar los estados de cuantificación alta/baja, se lee el valor inicial de cuantificación de cualquier parámetro de imagen establecido (como en MPEG4) o de un valor
preconfigurado si este no estuviera disponible. Se ajusta C101 a este valor. O Se ajusta C102 en cero para conteos de macrobloque . O Se ajusta C103 en cero para tipos de INTRA macrobloque . O Se ajusta C105 en cero para tipos de rebanada. O Para cada macrobloque que es procesado se incrementa C102. O Para cada tipo de INTRA macrobloque se incrementa
C103. O Para cada tipo de rebanada, se incrementa C105. O Para cada macrobloque en donde la cuantificación se encuentra disponible, se realiza la lectura del valor de cuantificación en C104. Si (estado = Kl) Si (C104) > C101 && C105 > 100 (configurable) &&C103
> 3000 (configurable) ) ++dll; además ++dl2; además si (estado =K2 ) si (C104 > C101 && C105 > 100 (configurable) && C103
> 3000 (configurable)) ++d21
además ++d22 Se actualiza el estado al estado actual. En cada instancia de muestreo (por ejemplo, 10 segundos) de los contadores anteriores, las probabilidades de transición son calculadas para obtener la matriz de transición 100 anterior pll = dll / (dll + dl2) pl2 = dl2 / (dll + dl2) p21 = d21 / (d21 + d22) p22 = d22 / (d21 + d22) . A partir de las probabilidades de transición, la probabilidad de ocurrencia de alta cuantificación (Pl) y la ocurrencia de baja cuantificación (P2) pueden ser calculadas. La probabilidad de ocurrencia de alta cuantificación será utilizada en la función de ajuste de curva 70 en el valor de complejidad 72. Debido a que las probabilidades de estado de limitación son independientes de las condiciones iniciales, las ecuaciones simultáneas para las probabilidades de estado limitante, pueden ser resueltas como sigue: 0 = ? Pipíj - Pj j = 1, 2 - Ecuación (6) i l = ? Pj j = 1, 2 - Ecuación (7) J
Substituyendo y expandiendo las probabilidades de transición en las ecuaciones anteriores (6) y (7), 0 = Pl * (pll - 1) + P2 * p21 - Ecuación (8) 1 = Pl + P2 - Ecuación (9) . Las dos ecuaciones anteriores son resueltas para obtener Pl y P2. Se asigna, IP100 = Pl (probabilidad de alta ocurrencia de complejidad de capa VCL en los macrobloques) que será utilizada en la ecuación de complejidad de imagen. BP101, BP103 e IP100 son utilizados en la ecuación de ajuste de curva 70 (Figura 10) para obtener la complejidad de imagen 72 que cae en el intervalo entre 2 y 3. Complejidad de Imagen (G) G = 2 + 1? (1 + IP100) + ln (2 + B103 - B101) - Ecuación (10) para (G > 3) G = 3. Aunque varias modalidades han sido descritas en detalle con propósitos de ilustración, podrían realizarse varias modificaciones en cada una sin apartarse del alcance y espíritu de la invención. Se hace constar que con relación a esta fecha el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.