MX2014006269A - Evaluacion de calidad de video considerando los artefactos de corte de escena. - Google Patents

Evaluacion de calidad de video considerando los artefactos de corte de escena.

Info

Publication number
MX2014006269A
MX2014006269A MX2014006269A MX2014006269A MX2014006269A MX 2014006269 A MX2014006269 A MX 2014006269A MX 2014006269 A MX2014006269 A MX 2014006269A MX 2014006269 A MX2014006269 A MX 2014006269A MX 2014006269 A MX2014006269 A MX 2014006269A
Authority
MX
Mexico
Prior art keywords
image
scene
scene cut
candidate
images
Prior art date
Application number
MX2014006269A
Other languages
English (en)
Other versions
MX339675B (es
Inventor
Ning Liao
Fan Zhang
Zhibo Chen
Kai Xie
Original Assignee
Thomson Licensing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing filed Critical Thomson Licensing
Publication of MX2014006269A publication Critical patent/MX2014006269A/es
Publication of MX339675B publication Critical patent/MX339675B/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Una implementación particular detecta los artefactos de corte de escena en una corriente de bit sin reconstruir el video. Un artefacto de corte de escena normalmente se observa en el video decodificado (1) cuando una imagen de corte de escena en el video original es recibida parcialmente o (2) cuando una imagen se refiere a una imagen de corte de escena perdida en el video original. Detectar los artefactos de corte, las imágenes de corte de escena candidato son seleccionadas primero y la detección de artefacto de corte de escena es realizada entonces sobre las imágenes candidato. Cuando se determina que un bloque tiene un artefacto de corte de escena, se asigna un nivel de calidad más bajo al bloque.

Description

EVALUACIÓN DE CALIDAD DE VIDEO CONSIDERANDO LOS ARTEFACTOS DE CORTE DE ESCENA Campo de la Invención La presente invención se refiere a medición de calidad de video, y más particularmente, a un método y aparato para determinar una métrica de calidad de video objetiva.
Antecedentes de la Invención Con el desarrollo de las redes IP, la comunicación de video sobre redes IP cableadas e inalámbricas (por ejemplo, servicio IPTV) se ha vuelto popular. A diferencia de la transmisión de video tradicional sobre las redes de cable, la entrega de video en redes IP es menos confiable. En consecuencia, además de la pérdida de calidad a partir de la compresión de video, la calidad de video es degradada adicionalmente cuando un video es transmitido a través de las redes IP. Una herramienta de modelado de calidad de video exitosa necesita valorar la degradación de calidad producida por el deterioro de transmisión de red (por ejemplo, pérdidas de paquetes, demoras de transmisión e inestabilidad de transmisión) además de la degradación de calidad producida por la compresión de video.
Breve Descripción de la Invención De acuerdo con un aspecto general, se accede una corriente de bits que incluye imágenes codificadas, y una imagen de corte de escena en la corriente de bit que se determina utilizando información de la corriente de bits sin decodificar la corriente de bits para derivar la información de pixel.
De acuerdo con otro aspecto general, una corriente de bit que incluye imágenes codificadas se accede, y las medidas de diferencia respectivas son determinadas en respuesta a por lo menos uno de tamaños de cuadro, residuos de predicción y vectores de movimiento entre un conjunto de imágenes de la corriente de bit, en donde el conjunto de imágenes incluye por lo menos uno de una imagen de corte de escena candidato, una imagen que precede a la imagen de corte de escena candidato , y una imagen después de la imagen de corte de escena candidato. La imagen de corte de escena candidato se determina para ser la imagen de corte de escena si una o más de las mediciones de diferencia excede sus umbrales previamente determinados respectivos.
De acuerdo con otro aspecto general, una corriente de bit que incluye imágenes codificadas es accedida. Una intra imagen es seleccionada como una imagen de corte de escena candidato si los datos comprimidos para al menos un bloque en la intra imagen se pierden o una imagen que se refiere a una imagen perdida se selecciona como una imagen de corte de escena candidato. Las medidas de diferencia respectivas son determinadas en respuesta a por lo menos uno de tamaños de cuadro, residuos de predicción y vectores de movimiento entre un conjunto de imágenes de la corriente de bit, en donde el conjunto de imágenes incluye por lo menos uno de una imagen de corte de escena candidato, una imagen que precede a la imagen de corte de escena candidato, y una imagen después de la imagen de corte de escena candidato. La imagen de corte de escena candidato se determina para ser la imagen de corte de escena si una o más de las mediciones de diferencia excede sus umbrales previamente determinados respectivos.
Los detalles de una o más implementaciones se definen en los dibujos que acompañan a la presente y su descripción más adelante. Incluso si se describió en una forma particular, debe ser evidente que las implementaciones pueden ser configuradas o representadas de diversas formas. Por ejemplo, una implementación puede ser realizada como un método, o representada como un aparato, tal como, por ejemplo, un aparato configurado para realizar un conjunto de operaciones o un aparato que almacena instrucciones para realizar un conjunto de operaciones o representada en una señal. Otros aspectos y características se volverán evidentes a partir de la siguiente descripción detallada considerada en conjunto con los dibujos que la acompañan y las reivindicaciones.
Breve Descripción de los Dibujos La figura 1A, es una imagen de ejemplo que representa una imagen con artefactos de corte de escena en un cuadro de corte de escena, la figura 1B, es una imagen de ejemplo que representa una imagen sin artefactos de corte de escena, y la figura 1C, es una imagen de ejemplo que representa una imagen con artefactos de corte de escena en un cuadro, el cual no es un cuadro de corte de escena.
Las figuras 2A y 2B, son ejemplos pictóricos que representan cómo los artefactos de corte de escena se relacionan con los cortes de escena de acuerdo con una modalidad de los principios presentes.
La figura 3, es un diagrama de flujo que representa un ejemplo de modelado de calidad de video de acuerdo con una modalidad de los principios presente.
La figura 4, es un diagrama de flujo que representa un ejemplo de detección de artefacto de corte de escena de acuerdo con una modalidad de los principios presente.
La figura 5, es una imagen de ejemplo que representa cómo calcular la n,oss variable Las figuras 6A y 6C, son imágenes de ejemplos que representan como el pk_num variable varía con el índice de cuadro, y las figuras 6B y 2D, son ejemplos pictóricos que representan cómo la variable bytes_num varía con el índice de cuadro, de acuerdo con una modalidad de los principios presentes.
La figura 7, es un diagrama de flujo que representa un ejemplo de determinación de ubicaciones de artefacto de corte de escena candidato de acuerdo con una modalidad de los principios presente.
La figura 8, es una imagen de ejemplo que representa una imagen con 99 macrobloques.
Las figuras 9A y 9B, son ejemplos pictóricos que representan cómo los cuadros circundantes se utilizan para la detección de artefacto de corte de escena de acuerdo con una modalidad de los principios presentes.
La figura 10, es un diagrama de flujo que representa un ejemplo de detección de corte de escena de acuerdo con una modalidad de los principios presente.
Las figuras 11 A y 11 B, son ejemplos pictóricos que representan cómo los l-frames circundantes se utilizan para la detección de artefacto, de acuerdo con una modalidad de los principios presentes.
La figura 12, es un diagrama de bloques que representa un ejemplo de monitoreo de calidad de video de acuerdo con una modalidad de los principios presente.
La figura 13, es un diagrama de bloques que representa un ejemplo de un sistema de procesamiento de video que puede utilizarse con una o más implementaciones.
Descripción Detallada de la Invención Una herramienta de medición de calidad de video puede operar en niveles diferentes. En una modalidad, la herramienta puede tomar la corriente de bit recibida y medir la calidad de video sin construir el video. Dicho método normalmente es denominado como una medición de calidad de video de nivel de corriente de bit. Cuando se permite una complejidad computacional extra, la medición de calidad de video puede reconstruir algunas o todas las imágenes a partir de la corriente de bit y utilizar las imágenes reconstruidas para estimar de manera más precisa la calidad de video.
Las presentes modalidades se refieren a modelos de calidad de video objetivas que evalúan la calidad de video (1) sin reconstruir los videos; y (2) con los videos parcialmente reconstruidos. En particular, los principios presentes consideran un tipo particular de artefactos que se observa alrededor de una escena de corte, denotado como el artefacto de corte de escena.
La mayoría de los estándares de compresión de video existentes, por ejemplo, H.264 y MPEG-2, utilizan un macrobloque (MB) como la unidad de codificación básica. Por lo tanto, las siguientes modalidades utilizan un macrobloque como la unidad de procesamiento básica. Sin embargo, los principios pueden ser adaptados para utilizar un bloque en un tamaño diferente, por ejemplo, un bloque de 8x8, un bloque de 16x8, un bloque de 32x32, y un bloque de 64x64.
Cuando algunas porciones de la corriente de video codificada se pierden durante la transmisión de red, un decodificador puede adoptar las técnicas de conciliación de error para conciliar los macrobloques que corresponden a las porciones perdidas. El objetivo de la conciliación de error es estimar los macrobloques faltantes con el objeto de reducir al mínimo la degradación de calidad de percepción. La fuerza percibida de los artefactos producidos por los errores de transmisión depende en gran medida de las técnicas de conciliación de error empleadas.
Se puede utilizar un método espacial o un método temporal para la conciliación de error. En un método espacial, la correlación espacial entre los pixeles es la que se explota, y los macrobloques faltantes son recuperados por las técnicas de interpolación de los pixeles circundantes. En un método temporal, tanto la coherencia del campo de movimiento como la fluidez espacial de los pixeles son los explotados para estimar los vectores de movimiento (MVs) de un macrobloque perdido o MVs de los pixeles son concillados utilizando los pixeles de referencia en los cuadros anteriores de acuerdo con los vectores de movimiento estimados.
Los artefactos visuales todavía pueden ser percibidos después de la conciliación de error Las figuras 1A a 1C, ilustran las imágenes decodifi cadas de ejemplo, en donde algunos paquetes de la corriente de bits codificada se pierden durante la transmisión. En estos ejemplos, se utiliza un método de conciliación de error temporal para conciliar los macrobloques perdidos en el decodificador. En particular, los macrobloques colocados en un cuadro anterior son copiados a los macrobloques perdidos.
En la figura 1A, las pérdidas de paquete, por ejemplo, debido a los errores de transmisión, ocurren en un cuadro de corte de escena (es decir, un primer cuadro en una escena nueva). Debido a que el cambio de contenido dramático entre el cuadro actual y el cuadro anterior (de otra escena), la imagen concillada contiene un área que permanece en la imagen concillada. Es decir, esta área tiene una textura muy diferente de sus macrobloques circundantes. Por lo tanto, esta área fácilmente podría ser percibida como un artefacto visual. Para facilitar la anotación, este tipo de artefacto alrededor de una imagen de corte de escena se denota como un artefacto de corte de escena.
En contraste, la figura 1B, ilustra otra imagen localizada dentro de una escena. Debido a que el contenido perdido en los cuadros actuales es similar a aquel en los macrobloques colocados en el cuadro anterior, los cuales se utilizan para conciliar el cuadro actual, la conciliación de error temporal trabaja en forma adecuada y los artefactos visuales pueden ser percibidos difícilmente en la figura 1B.
Se debe observar que los artefactos de corte de escena, no necesariamente pueden ocurrir en el primer cuadro de una escena. En su lugar, éstos pueden observarse en el cuadro de corte de escena o después de un cuadro de corte de escena perdida, como se ilustra mediante los ejemplos en las figuras 2A y 2B.
En el ejemplo de la figura 2A, las imágenes 210 y 220 pertenecen a escenas diferentes. La imagen 210 es recibida en forma correcta y la imagen 220 es un cuadro de corte de escena recibido parcialmente. Las partes recibidas de la imagen 220 son decodificadas en forma adecuada, en donde las partes perdidas son concilladas con los macrobloques colocados de la imagen 210. Cuando existe un cambio significativo entre las imágenes 210 y 220, la imagen concillada 220 tendrá los artefactos de corte de escena. Por lo tanto, en este ejemplo, los artefactos de corte de escena ocurren en el cuadro de corte de escena.
En el ejemplo de la figura 2B, las imágenes 250 y 260 pertenecen a una escena, y las imágenes 270 y 280 pertenecen a otra escena. Durante la compresión, la imagen 270 se utiliza como una referencia para la imagen 280 para compensación de movimiento. Durante la transmisión, los datos comprimidos que corresponden a las imágenes 260 y 270 están perdidos. Para conciliar las imágenes perdidas en el decodificador, la imagen decodificada 250 puede ser copiada a las imágenes 260 y 270.
Los catos comprimidos para la imagen 280 son recibidos correctamente. Pero debido a que se refieren a la imagen 270, la cual ahora es una copia de la imagen decodificada 250 de otra escena, la imagen decodificada 270 también puede tener artefactos de corte de escena. Por lo tanto, los artefactos de corte de escena pueden ocurrir después del cuadro de corte de escena perdido (270), en este ejemplo, en el segundo cuadro de una escena. Se debe observar que los artefactos de corte de escena también pueden ocurrir en otras ubicaciones de una escena. Una imagen de ejemplo con artefactos de corte de escena, los cuales ocurren después de un cuadro de corte de escena, se describen en la figura 1C.
De hecho, mientras que la escena cambia en la imagen 270 en el video original, la escena puede parecer cambiar en la imagen 280, con los artefactos de corte de escena, en el video decodificado. A menos que se establezca en forma explícita, los cortes de escena en la presente solicitud se refieren a aquellos que se observan en el video original.
En el ejemplo mostrado en la figura 1A, los bloques colocados (es decir, MV = 0) en un cuadro anterior se utilizan para conciliar los bloques perdidos en el cuadro actual. Se pueden utilizar otros métodos de conciliación de error temporal con otros vectores de movimiento, y pueden procesarse en unidades de procesamiento diferentes, por ejemplo, en un nivel de imagen o en un nivel de pixel. Se debe observar que los artefactos de corte de escena pueden ocurrir alrededor del corte de escena para cualquier método de conciliación de error temporal.
Se puede observar a partir de los ejemplos mostrados en las figuras 1A y 1C, que los artefactos de corte de escena tienen un impacto negativo fuerte sobre la calidad de percepción de video. Por lo tanto, para pronosticar en forma precisa la calidad de video objetiva, es importante medir el efecto de los artefactos de corte de escena cuando se modela la calidad de video.
Para detectar los artefactos de corte de escena, primero se necesita detectar si un cuadro de corte de escena no es recibido en forma correcta o si se perdió una imagen de corte de escena. Este es un problema difícil, considerando que únicamente podemos analizar la corriente de bit (sin reconstruir las imágenes) cuando se detectan los artefactos. Se vuelve más difícil cuando los datos de compresión que corresponden a un cuadro de corte de escena se pierden.
Obviamente, el problema de detección de artefacto de corte de escena para el modelado de calidad de video es diferente del problema de detección de cuadro de corte de escena tradicional, el cual normalmente trabaja en un dominio de pixel y tiene acceso a las imágenes.
Un método de modelado de calidad de video de ejemplo 300 que considera los artefactos de corte de escena se muestra en la figura 3. Se denotan los artefactos que resultan de los datos perdidos, por ejemplo, aquellos descritos en las figuras 1A y 2A, como artefactos visibles iniciales. Además, también clasificamos el tipo de artefactos desde la primera imagen recibida en una escena, por ejemplo, aquella descrita en las figuras 1C y 2B, como artefactos visibles iniciales.
Si se utiliza un bloque que tiene los artefactos visibles iniciales como una referencia, por ejemplo, para la intra predicción o la inter predicción, los artefactos visibles iniciales pueden propagarse espacial o temporalmente a otros macrobloques en la misma u otras imágenes a través de la predicción. Dichos artefactos propagados son denotados como artefactos visibles propagados.
En el método 300, una corriente de bit de video es ingresada en el paso 310 y la calidad objetivo del video correspondiente a la corriente de bit será estimada. En el paso 320, se calcula un nivel de artefacto visible inicial. El artefacto visible inicial puede incluir los artefactos de corte de escena y otros artefactos. El nivel de los artefactos visibles iniciales puede ser estimado a partir del tipo de artefacto, tipo de cuadro u otro nivel de cuatro o características de nivel MB obtenidas de la corriente de bits. En una modalidad, si se detecta un artefacto de corte de escena en un macrobloque, el nivel de artefacto visible inicial para el macrobloque es establecido en el nivel de artefacto más alto (es decir, el nivel de calidad más bajo).
En el paso 330, se calcula un nivel de artefacto propagado. Por ejemplo, si un macrobloque está marcado como teniendo un artefacto de corte de escena, los niveles de artefacto propagados de todos los demás pixeles que se refieren a este macrobloque también podrían ser colocados en el nivel de artefacto más alto. En el paso 340, un algoritmo de agrupación de artefacto espacio-temporal puede utilizarse para convertir los tipos diferentes de artefactos en un MOS (Clasificación de opinión media) objetivo, el cual estima la calidad visual general del video que corresponde a la entrada de corriente de bits. En el paso 350, se da salida al MOS estimado.
La figura 4, ilustra un método de ejemplo 400 para detección de artefacto de corte de escena. En el paso 410, se explora digitalmente la corriente de bit para determinar las ubicaciones candidatas para los artefactos de corte de escena. Después de que se determinan las ubicaciones candidatas, se determina si existen los artefactos de corte de escena en una ubicación candidata en el paso 420.
Se debe observar que el paso 420 solo puede utilizarse para la detección de cuadro de corte de escena de nivel de corriente de bit, por ejemplo, en el caso de no haber pérdida de paquete. Esto se puede utilizar para obtener los límites de la escena, los cuales son necesarios cuando las características de nivel de escena serán determinadas. Cuando el paso 420 se utiliza por separado, cada cuadro puede ser interpretado como una imagen de corte de escena candidata, o puede ser especificado cuáles cuadros serán consideradas las ubicaciones candidatas.
A continuación, se plantean con mayor detalle los cuadros para determinar las ubicaciones de artefacto de corte de escena candidatas y detectar las ubicaciones de artefacto de corte de escena.
Determinando las Ubicaciones de Artefacto de Corte de Escena Candidatas Como se plantea en las figuras 2A y 2B, los artefactos de corte de escena ocurren en los cuadros de corte de escena recibidos parcialmente o en los cuadros que hacen referencia a los cuadros de corte de escena. Por lo tanto, los cuadros con o que rodean las pérdidas de paquete pueden ser interpretados como ubicaciones de artefacto de corte de escena potenciales.
En una modalidad, cuando se analiza la corriente de bit, los números de los paquetes recibidos, el número de paquetes perdidos y el número de bytes recibidos para cada cuadro, se obtienen con base en registros de tiempo, por ejemplo, los registros de tiempo RTP y los registros de tiempo PES MPEG-2, o el elemento de sintaxis "frame_num" en la corriente de bit comprimida, y los tipos de cuadro de los cuadros codificados también son registrados. Los números de paquetes obtenidos, números de bytes y tipos de cuadro pueden utilizarse para refinar la determinación de ubicación de artefacto candidata.
A continuación, utilizando el RFC3984 para H.264 sobre RTP como un protocolo de transporte de ejemplo, se ilustra como determinar las ubicaciones de artefacto de corte de escena candidatas.
Para cada paquete RTP recibido, cuál cuadro de video al que éste pertenece puede determinarse con base en el registro de tiempo. Es decir, los paquetes de video que tienen el mismo registro de tiempo son interpretados como pertenecientes al mismo cuadro de video. Para el cuadro de video I que es recibido parcialmente o por completo, se registran las siguientes variables: (1). el número de secuencia del primer paquete RTP recibido que pertenece al cuadro i, denotado como sns(i), (2) . el número de secuencia del último paquete RTP para el cuadro i, denotado como sne(i), (3) . el número de paquetes RTP perdidos entre el primer y último paquetes RTP recibidos para el cuadro i, denotado como n,oss (i).
El número de secuencia es definido en el encabezado de protocolo RTP y éste se incrementa por uno por paquete RTP. Por lo tanto, r\oss (i) se calcula contando el número de paquetes RTP perdidos cuyos números de secuencia están entre sns(i) y sne(i) con base en la discontinuidad de los números de secuencia. Un ejemplo de cálculo de nioss (i) se ilustra en la figura 5. En este ejemplo, sns(i) = 105 y sne(i) = 110. Entre el paquete de inicio (con un número de secuencia 105) y el paquete de término (con un número de secuencia 110) para el cuadro i, los paquetes con números de secuencia 107 y 109 se pierden. Por lo tanto ni0Ss (i) = 2 en este ejemplo.
Un parámetro, pk_num(i), se define para estimar el número de paquetes transmitidos para el cuadro i y puede calcularse como num(i) = [sne(i) - sne(i-k)]/k (1) en donde el cuadro i-k es el cuadro inmediatamente anterior al cuadro i (es decir, otros cuadros entre los cuadros i e i-k están perdidos). Para el cuadro i que tienen los paquetes perdidos o que tienen el cuadro(s) inmediatamente precedente, se calcula un parámetro, pk_num_avg(i) promediando pk_num de los cuadros (no I) anteriores en una ventana de deslizamiento de longitud N (por ejemplo, N = 6), es decir, pk_num_avg(i) se define como el número promedio (estimado de los paquetes transmitidos que preceden ai cuadro actual: cuadro j T la ventana deslizamiento. (2) Además, el número promedio de bytes por paquetes (bytes_numpacket(i)) puede calcularse promediando los números de bytes en los paquetes recibidos de los cuadros inmediatamente anteriores en una ventana de deslizamiento de N cuadros. Un parámetro, bytes_num(i) , se define para estimar el número de bytes transmitidos para el cuadro i y puede calcularse como bytes_num(i) = bytesrecvd(i) + [ni0Ss (i) + sn8(i)-sne(i-k)-1 ] * bytes_numpacket(i)/k, (3) en donde bytesrecVd(i) es el número de bytes recibidos para el cuadro i, y [nioss (i) + sns(i)-sne(i-k)-1 ] bytes_numpacket(i)/k es el número estimado de bytes perdidos para el cuadro i. Se debe observar que la ecuación (3) es diseñado de manera particular para el protocolo RTP. Cuando se utilizan otros protocolos de transporte, la ecuación (3) debe ajustarse, por ejemplo, ajustando el número de paquetes perdidos estimado.
Un parámetro, bytes_num_avg (i) es definido como el número promedio (estimado) de bytes transmitidos que preceden al cuadro actual, y éste puede ser calculado promediando bytes_num de los cuadros anteriores (no I) en una ventana de deslizamiento, es decir, cuadro j 6 la ventana de deslizamiento. (4) Como se planteó anteriormente, una ventana de deslizamiento puede utilizarse para calcular lo contenido en la ventana de deslizamiento son recibidos completa o parcialmente (e decir, no se pierden por completo). Cuando las imágenes en una secuencia de video generalmente tienen la misma resolución espacial, pk_num para un cuadro depende en gran medida del contenido de imagen y el tipo de cuadro utilizados para la compresión. Por ejemplo, un P-frame de un video QCIF puede corresponder a un paquete, y un l-frame puede necesitar más bits y por lo tanto corresponde a más paquetes, como se ilustró en la figura 6A.
Como se muestra en la figura 2A, los artefactos de corte de escena pueden ocurrir en un cuadro de corte de escena parcialmente recibido. Debido a que un cuadro de corte de escena normalmente es codificado como un l-frame, un l-frame parcialmente recibido puede marcarse como una ubicación candidato para artefactos de corte de escena, y este índice de cuadro es registrado como idx(k), en donde k indica que el cuadro es una ubicación candidato k.
Un cuadro de corte de escena también puede codificarse como un no intra (por ejemplo, un Pframe). Los artefactos de corte de escena también pueden ocurrir en dicho cuadro cuando es recibido parcialmente. Un cuadro también puede contener artefactos de corte de escena si se refiere a un cuadro de corte de escena perdido, como se planteó anteriormente en la figura 28. En estos escenarios, los parámetros planteados anteriormente pueden utilizarse para determinar en forma más precisa si un cuadro debe ser una ubicación candidato.
Las figuras 6A a 6D, ilustran, mediante los ejemplos cómo utilizar los parámetros planteados anteriormente para identificar las ubicaciones de artefacto de corte de escena candidato. Los cuadros pueden ser ordenados en un orden de decodificación o un orden de despliegue. En todos los ejemplos de las figuras 6A a 6D, los cuadros 60 y 120 son cuadros de corte de escena en el video original.
En los ejemplos de las figuras 6A y 6B, los cuadros 47, 109, 137, 235 y 271 están perdidos por completo, y los cuadros 120 y 210 son recibidos parcialmente. Para los cuadros 49, 110, 138, 236, 272, 120, y 210, pk_num(i) pueden ser comparados con pk_num_avg(i). Cuando pk_num(i) es mucho más largo que pk_num_avg(i), por ejemplo, 3, cuadro i puede ser identificado como un cuadro de corte de escena candidato en el video decodificado. En el ejemplo de la figura 6A, el cuadro 120 es identificado como una ubicación de artefacto de corte de escena candidato.
La comparación también puede realizarse entre bytes_num(i) y bytes_num_avg(i). Si bytes_num(i) es mucho más largo que bytes_n um_avg(¡) , cuadro i puede ser identificado como un cuadro de corte de escena candidato en el video decodificado. En el ejemplo de la figura 6B, el cuadro 120 nuevamente es identificado como una ubicación candidato.
En los ejemplos de las figuras 6C y 6D, el cuadro de corte de escena 120 se pierde por completo. Para este siguiente cuadro 121, pk_num(i) puede compararse con pk_num_avg(i). En el ejemplo de la figura 6C, , 3. Por lo tanto, el cuadro 120 no es identificado como una ubicación de artefacto de corte de escena candidato. En contraste, cuando se compara bytes_num(¡) con bytes_num_avg(¡), 3, y el cuadro 120 es identificado como una ubicación de candidato.
En general, el método que utiliza el número estimado de bytes transmitidos es observado para tener un mejor desempeño que el método que utiliza el número estimado de paquetes transmitidos. figura 7, ilustra un método de ejemplo 700 para determinar las ubicaciones de artefacto de corte de escena candidato, el cual será registrado en un conjunto de datos denotado por {idx(k)}. En el paso 710, se inicializa el proceso para establecer k = 0. Entonces se analiza la corriente de bit de entrada en el paso 720 para obtener el tipo de cuadro y las variables sns, sne, nioss, bytes_numpacke, y bytesrecvd para un cuadro actual.
Este determina si existe un paquete perdido en el paso 730. Cuando un cuadro está perdido por completo, su cuadro siguiente más cercano, el cual no se ha perdido por completo, es examinado para determinar si es una ubicación de artefacto de corte de escena candidato. Cuando un cuadro es recibido parcialmente (es decir, algunos, aunque no todos, los paquetes del cuadro están perdidos), este cuadro es examinado para determinar si es una ubicación de artefacto de corte de escena candidato.
Si es un paquete perdido, éste verifica si el cuadro actual es un INTRA cuadro. Si el cuadro actual es un INTRA cuadro, el cuadro actual se considera como una ubicación de corte de escena candidato y el control pasa al paso 780. De lo contrario, éste calcula pk_num y pk_num_avg, por ejemplo, como se describe en las ecuaciones (1) y (2), en el paso 740. Este verifica si pk_num > T1 *pk_num_avg en el paso 750. Si se mantiene la desigualdad, el cuadro actual se considera como un cuadro candidato para los artefactos de corte de escena candidato y el control pasa al paso 780.
De lo contrario, éste calcula bytes_num y bytes_num_avg , por ejemplo, como se describe en las ecuaciones (3) y (4), en el paso 760. Este verifica si bytes_num > T2*bytes_num_avg en el paso 770. Si se mantiene la desigualdad, el cuadro actual es considerado como un cuadro candidato para los artefactos de corte de escena, y el índice de cuadro actual es registrado como idx(k) y k se incrementa en uno en el paso 780. De lo contrario, el control pasa al paso 790, el cual verifica si la corriente de bits está analizada por completo. Si se completa el análisis, el control pasa a un paso final 799. De lo contrario, el control regresa al paso 720.
En la figura 7, tanto el número estimado de paquetes transmitidos como el número estimado de bytes transmitidos se utilizan para determinar las ubicaciones de candidato. En otra implementación, estos dos métodos pueden ser examinados en otro orden o pueden ser aplicados por separado.
Detectando las Ubicaciones de Artefacto de Corte de Escena Los artefactos de corte de escena pueden ser detectados después de que es determina el conjunto de ubicación candidato {idx(k)}. Las modalidades presentes utilizan la información de estrato de paquete (tales como el tamaño de cuadro) y la información de corriente de bits (tal como los residuos de predicción y los vectores de movimiento) en la detección de artefactos de corte de escena. La detección de artefacto de corte de escena puede realizarse sin reconstruir el video, es decir, sin reconstruir la información de pixel del video. Se debe observar que la corriente de bit puede ser decodificada parcialmente para obtener información sobre el video, por ejemplo, los residuos de predicción y los vectores de movimiento.
Cuando se utiliza el tamaño de cuadro para detectar las ubicaciones de artefacto de corte de escena, una diferencia entre los números de bytes de los P-frames recibidos (parcial o completamente) antes y después de que se calcula una posición de corte de escena candidato. Si la diferencia excede un umbral, por ejemplo, tres veces más grande o más pequeño, el cuadro de corte de escena candidato se determina como un cuadro de corte de escena.
Por otra parte, se observa que el cambio de energía residual de predicción con frecuencia es mayor cuando existe un cambio de escena. De manera general, la energía residual de predicción de P-frame y B-frame no es del mismo orden de magnitud, y la energía residual de predicción del B-frame es menos confiable para indicar la información de contenido de video que aquel del P-frame. Por lo tanto, se prefiere utilizar la energía residual de los P-frames.
Haciendo referencia a la figura 8, se ilustra una imagen de ejemplo 800 que contiene 11 * 9= 99 macrobloques. Para cada macrobloque indicado por su ubicación (m, n), se calcula un factor de energía residual a partir de los coeficientes de transformada decuatizados. En una modalidad, el factor de energía residual se calcula como en donde Xp,q(m,n) es el coeficiente de transformación decuatizado en la ubicación (p,q) dentro del macrobloque (m, n). En otra modalidad, únicamente se utilizan los coeficientes AC para calcular el factor de energía residual, es decir, em,n= En otra modalidad, cuando se utiliza la transformada 4x4 el factor de energía residual puede calcularse como ,, en donde Xu (m,n) representa el coeficiente OC y Xu,v(m,n) (v = 2, ... , 16) representa los coeficientes AC para el bloque u 4x4, y a es un factor de ponderación para los coeficientes OC. Se debe observar que existen dieciséis bloques 4x4 en un macrobloque 16x16 y dieciséis coeficientes de transformación en cada bloque 4x4. Los factores de energía residual de predicción para una imagen pueden entonces ser representados por una matriz: £1,1 £1,2 £1,3 £2,1 £2,2 £2,3 E - £3,1 £3,2 £3,3 Cuando se utilizan otras unidades de codificación en lugar de un macrobloque, el cálculo de la energía residual de predicción puede adaptarse fácilmente.
Una matriz de medición de diferencia para la ubicación de cuadro candidato k puede representarse mediante: en donde Aem,n,k es |a medida de diferencia calculada para la ubicación candidato k en el macrobloque (m,n). Sumando la diferencia en todos los macrobloques en un cuadro, una medida de diferencia para la ubicación de cuadro candidato puede calcularse como También se puede utilizar un sub-grupo de los macrobloques para calcular Dk para acelerar el cálculo. Por ejemplo, se puede utilizar toda la otra fila de macrobloques o toda la otra columna de macrobloques para el cálculo.
En una modalidad, Áem n,k puede calcularse como la diferencia entre dos Pframes más cercanos a la ubicación candidato: uno inmediatamente antes de la ubicación candidato y el otro inmediatamente después de éste. Haciendo referencia a las figuras 9A y 9B, las imágenes 910 y 920 o las imágenes 950 y 960, pueden utilizarse para calcular ñem„ik aplicando una sustracción entre los factores de energía residual de predicción en el macrobloque (m,n) en ambas imágenes.
El parámetro Aem n,k también puede calcularse aplicando una diferencia de filtro Gaussiano (DoG) a más imágenes, por ejemplo, un filtro de 10 DoG puede utilizarse con el centro del filtro localizado en una ubicación de artefacto de corte de escena candidato. Haciendo referencia nuevamente a las figuras 9A y 9B, las imágenes 910 a 915 y 920 a 925 en la figura 9A, o las imágenes 950 a 955 y 960 a 965 en la figura 9B pueden utilizarse. Para cada ubicación de macrobloque (m,n), una diferencia de la función de filtro Gaussiana se aplica a em'" de una ventana de cuadros para obtener el parámetro em,n,k Cuando la diferencia calculada utilizando la energía residual de predicción excede un umbral, el cuadro candidato puede ser detectado como teniendo artefactos de corte de escena.
Los vectores de movimiento también pueden utilizarse para la detección de artefacto de corte de escena. Por ejemplo, la magnitud promedio de los vectores de movimiento, la variancia de los vectores de movimiento, y el histograma de los vectores de movimiento dentro de una ventana de cuadros, puede calcularse para indicar el nivel de movimiento. Los vectores de movimiento de P-frames son preferidos para la detección de artefacto de corte de escena. Si la diferencia de los niveles de movimiento excede un umbral, la posición de corte de escena candidato puede determinarse como el cuadro de corte de escena.
Utilizando las características tales como el tamaño de cuadro, energía residual de predicción y vector de movimiento, un cuadro de corte de escena puede detectarse en el video decodificado en una ubicación de candidato. Si el cambio de escena es detectado en el video decodificado, la ubicación de candidato se detecta teniendo artefactos de corte de escena. Más particularmente, los macrobloques perdidos del cuadro de corte de escena detectados son marcados como teniendo artefactos de corte de escena si la ubicación candidato corresponde a un cuadro de corte de escena parcialmente perdido, y los macrobloques que se refieren a un cuadro de corte de escena perdidos son marcados como teniendo artefactos de corte de escena si la ubicación del candidato corresponde a un P- o B-frame que se refiere a un cuadro de corte de escena perdido.
Se debe observar que los cortes de escena en el video original pueden o no traslaparse con aquellos que se observan en el video decodificado. Como se planteó anteriormente, para el ejemplo mostrado en la figura 2B, un cambio de escena se observa en la imagen 280 en el video decodificado, mientras que la escena cambia en la imagen 270 en el video original.
Los cuadros en y alrededor de las ubicaciones candidato pueden utilizarse para calcular el cambio de tamaño de cuadro, el cambio de energía residual de predicción y el cambio de movimiento, como se ilustra en los ejemplos de las figuras 9A y 9B. Cuando la ubicación candidato corresponde a un cuadro de corte de escena recibido parcialmente 905, los P-frames (910 ... 915, y 920 ... 925) que rodean la ubicación candidato, pueden utilizarse. Cuando una ubicación candidato corresponde a un cuadro que se refiere a un cuadro de corte de escena perdido 940, los P-frames (950 ... 955, y 960 ... 965) que rodean el cuadro perdido, pueden utilizarse. Cuando una ubicación candidato corresponde a un P-frame, la ubicación candidato en sí misma (960) puede utilizarse para calcular la diferencia de energía residual de predicción. Se debe observar que los números de imágenes diferentes pueden utilizarse para calcular los cambios en los tamaños de cuadro, residuos de predicción y niveles de movimiento. figura 10, ilustra un método de ejemplo 1000 para detección de cuadros de corte de escena de las ubicaciones candidato. En el paso 1005, se inicia el proceso estableciendo y = 0. Los P-frames alrededor de una ubicación candidato se seleccionan y los residuos de predicción, tamaños de cuadro y vectores de movimiento son analizados en el paso 1010.
En el paso 1020, se calcula una medida de diferencia de tamaño de cuadro para la ubicación de cuadro candidato. En el paso 1025, se verifica si existe un cambio de tamaño de cuadro grande en la ubicación del candidato, tal como comparándolo con un umbral. Si la diferencia es menor que un umbral, éste pasa el control al paso 1030.
De lo contrario, para aquellos P-frames seleccionados en el paso 101, un factor de energía residual de predicción se calcula para los macrobloques individuales en el paso 1030. Entonces, en el paso 1040, se calcula una medida de diferencia para las ubicaciones de macrobloques individuales, para indicar el cambio en la energía residual de predicción, y una medida de diferencia de energía residual de predicción para la ubicación de cuadro candidato puede calcularse en el paso 1050. En el paso 1060, se verifica si existe un cambio de energía residual de predicción grande en la ubicación candidato. En una modalidad, si Dk es grande, por ejemplo, Dk > T3, en donde T3 es un umbral, entonces la ubicación candidato se detecta como un cuadro de corte de escena en el video decodificado y pasa el control al paso 1080.
De lo contrario, éste calcula una medida de diferencia de movimiento para la ubicación candidato en el paso 1065. En el paso 1070, se verifica si existe un cambio de movimiento grande en la ubicación candidato. Si existe una diferencia grande, ésta pasa el control al paso 1080.
En el paso 1080, el índice de cuadro correspondiente es registrado como {idx'(y)} y, y, se incrementa en uno, en donde y indica que el cuadro es un cuadro de corte de escena detectada y en el video decodificado. Se determina si todas las ubicaciones candidato son procesadas en 1090. Si todas las ubicaciones candidato son procesadas, el control pasa a un paso final 1099. De lo contrario, el control regresa al paso 1010.
En otra modalidad, cuando el cuadro de corte de escena candidato es un l-cuadro (735), la diferencia de energía residual de predicción entre la imagen y un l-frame precedente se calcula. La diferencia de energía residual de predicción se calcula utilizando la energía de los MBs recibidos correctamente en la imagen y los MBs colocados en el l-frame precedente. Si la diferencia entre los factores de energía es T veces más grande que el factor de energía más grande (por ejemplo, T4 = 1/3), el l-frame candidato se detecta como un cuadro de corte de escena en el video decodificado. Esto es útil cuando los artefactos de corte de escena del cuadro de corte de escena candidato necesitan ser determinado antes de que el decodificador proceda a la decodificación de la siguiente imagen, es decir, la información de las siguientes imágenes todavía no está disponible en el tiempo de detección de artefactos.
Se debe observar que las características pueden ser consideradas en órdenes diferentes. Por ejemplo, se puede aprender la efectividad de cada característica a través del entrenamiento de un conjunto grande de secuencias de video en diferentes condiciones de codificación/transmisión. Con base en los resultados de entrenamiento, se puede elegir el orden de las características con base en el contenido de video y as condiciones de codificación/transmisión. También se puede decidir únicamente probar una o dos características más efectivas para acelerar la detección de artefacto de corte de escena.
Los diferentes umbrales, por ejemplo, ?,, T2, T3, y T4, se utilizan en los métodos 900 y 1000. Estos umbrales pueden ser adaptados, por ejemplo, a las propiedades de imagen u otras condiciones.
En otra modalidad, cuando se permite una complejidad de cómputo adicional, algunas l-imágenes serán reconstruidas. De manera general, la información de pixel puede reflejar mejor el contenido de textura que los parámetros analizados desde la corriente de bit (por ejemplo, residuos de predicción y vectores de movimiento), y por lo tanto, utilizando las l-imágenes reconstruidas para la detección de corte de escena se puede mejorar la precisión de detección. Debido a que la decodificación de l-frame no es tan costosa en cuanto a recursos de cómputo como la decodificación de P- o B-frames, esta precisión de detección mejorada tiene un costo de un espacio superior de cómputo pequeño. figura 11, ilustra, mediante un ejemplo, cómo los l-frames adyacentes pueden utilizarse para detección de corte de escena. Para el ejemplo mostrado en la figura 11A, cuando el cuadro de corte de escena candidato (1120) es un l-frame parcialmente recibido, la parte recibida del cuadro puede ser decodificada en forma adecuada en el dominio de pixel, debido a que no se refiere a otros cuadros. De manera similar, los I-frames adyacentes (1110, 1130) también pueden ser decodificados en el dominio de pixel (es decir, las imágenes son reconstruidas) sin incurrir en demasiada complejidad de decodificación. Después de que los l-frames son reconstruidos, se pueden aplicar los métodos de detección de corte de escena tradicionales, por ejemplo, comparando la diferencia del histograma de luminancia entre los pixeles parcialmente decodificados del cuadro (1120) y los pixeles colocados de los l-frames adyacentes (1110, 1130).
Para el ejemplo mostrado en la figura 11B, el cuadro de corte de escena candidato (1160) puede perderse por completo. En este caso, si la diferencia de característica de imagen (por ejemplo, diferencia de histograma) entre los l-frames adyacentes (1150, 1170) es pequeña, la ubicación candidato puede ser identificada como no siendo una ubicación de corte de escena. Esto es especialmente cierto en el escenario IPTV en donde la longitud GOP normalmente es de 0.5 a 1 segundo, durante lo cual, los cambios de escena múltiples son improbables.
Utilizando los l-frames reconstruidos para la detección de artefactos de corte de escena se puede tener un uso limitado cuando la distancia entre los l-frames es grande. Por ejemplo, en el escenario de corriente de video móvil, la longitud GOP puede ser de hasta 5 segundos, y el índice de cuadro puede ser ta bajo como de 15 fps. Por lo tanto, la distancia entre la ubicación de corte de escena candidato y el l-frame anterior es demasiado grande para obtener un desempeño de detección robusto.
La modalidad que decodifica algunas l-pictures puede utilizarse en combinación con la modalidad de nivel de corriente de bit (por ejemplo, el método 1000) para complementarse entre sí. En una modalidad, cuando se deben desplegar juntas, puede decidirse a partir de la configuración de codificación (por ejemplo, resolución, índices de cuadro).
Los principios presentes pueden ser utilizados en un monitor de calidad de video para medir la calidad del video. Por ejemplo, el monitor de calidad de video puede detectar y medir los artefactos de corte de escena y otros tipos de artefactos, y también puede considerar los artefactos producidos por propagación para proporcionar una métrica de calidad general. figura 12, representa un diagrama de bloques de un monitor de calidad de video de ejemplo 1200. La entrada del aparato 1200 puede incluir una corriente de transporte que contiene una corriente de bit. La entrada puede estar en otros formatos que contienen la corriente de bit.
El demultiplexor 1205 obtiene la información de estrato de paquete, por ejemplo, el número de paquetes, número de bytes, tamaños de cuadro, número de bytes, tamaños de cuadro a partir de la corriente de bit. El decodificador 1210 analiza la corriente de entrada para obtener más información, por ejemplo, tipo de cuadro, residuos de predicción y vectores de movimiento. El decodificador 1210 principal puede no reconstruir las imágenes. En otras modalidades, el decodificador puede realizar las funciones del demultiplexor.
Utilizando la información decodificada, las ubicaciones de artefacto de corte de escena candidato se detecta en un detector de artefacto de corte de escena candidato 1220, en donde se puede utilizar el método 700. Para las ubicaciones de candidato detectadas, un detector de artefacto de corte de escena 1230 determina si existen cortes de escena en el video decodificado, por lo tanto determina si las ubicaciones candidato contienen artefactos de corte de escena. Por ejemplo, cuando el cuadro de corte de escena detectado es un l-frame parcialmente perdido, un macrobloque perdido en el cuadro es detectado teniendo un artefacto de corte de escena. En otro ejemplo, cuando el cuadro de corte de escena detectado se refiere a un cuadro de corte de escena perdido, un macrobloque que se refiere al cuadro de corte de escena perdido se detecta teniendo un artefacto de corte. El método 1000 puede ser utilizado por el detector de corte de escena 1230.
Después de que los artefactos de corte de escena son detectados en un nivel de macrobloque, un pronosticador de calidad 1240 hace el mapa de los artefactos en una clasificación de calidad. El pronosticador de calidad 1240 puede considerar otros tipos de artefactos, y también puede considerar los artefactos producidos por propagación de error.
Haciendo referencia a la figura 13, se muestra un sistema o aparato de transmisión de video 1300, al cual se pueden aplicar las características y principios descritos anteriormente. Un procesador 1305 procesa el video y el codificador 1310 codifica el video. La corriente de bit generada a partir del codificador es transmitida a un decodificador 1330 a través de una red de distribución 1320. Un monitor de calidad de video se puede utilizar en las diferentes etapas.
En una modalidad, un monitor de calidad de video 1340 puede utilizarse por un creador de contenido. Por ejemplo, la calidad de video estimada puede ser utilizada por un codificador al decidir los parámetros de codificación, tales como decisión de modo o asignación de índice de bit. En otro ejemplo, después de que el video es codificado, el creador de contenido utiliza el monitor de calidad de video para monitorear la calidad del video codificado. Si la métrica de calidad no cumple con un nivel de calidad definido previamente, el creador de contenido puede elegir codificar nuevamente el video para mejorar la calidad del video. El creador de contenido también puede clasificar el video codificado con base en la calidad y carga el contenido en consecuencia.
En otra modalidad, un monitor de calidad de video 1350 puede utilizarse por un distribuidor de contenido. Un monitor de calidad de video puede colocarse en la red de distribución. El monitor de calidad de video calcula las métricas de calidad y las reporta al distribuidor de contenido. Con base en la retroalimentación del monitor de calidad de video, un distribuidor de contenido puede mejorar su servicio ajustando la asignación de ancho de banda y el control de acceso.
El distribuidor de contenido también puede enviar la retroalimentación al creador de contenido para ajustar la codificación. Se debe observar que el mejoramiento de la calidad de codificación en el codificador puede no mejorar de manera necesaria la calidad en el lado del decodificador debido a que un video codificado de calidad alta normalmente requiere más ancho de banda y deja menos ancho de banda para protección de transmisión. Por lo tanto, alcanzar una calidad óptima en el decodificador, se debe considerar un equilibrio entre el índice de bit de codificación y el ancho de banda para protección de canal.
En otra modalidad, un monitor de calidad de video 1360 puede utilizarse por un dispositivo del usuario. Por ejemplo, cuando un dispositivo del usuario busca videos en la Internet, un resultado de búsqueda puede regresar muchos videos o muchos enlaces a videos que corresponden al contenido de video solicitado. Los videos en los resultados de búsqueda pueden tener diferentes niveles de calidad. Un monitor de calidad de video puede calcular la métrica de calidad para estos videos y decidir seleccionar cuáles videos almacenar. En otro ejemplo, el usuario puede tener acceso a varias técnicas de conciliación de error. Un monitor de calidad de video puede calcular las métricas de calidad para diferentes técnicas de conciliación de error y elegir en forma automática cuál técnica de conciliación utilizar con base en la métrica de calidad calculada.
Las implementaciones descritas en la presente descripción pueden ser implementadas en, por ejemplo, un método o un proceso, un aparato, un programa de software, una corriente de datos o una señal. Incluso si únicamente son planteadas en el contexto de una forma única de implementación (por ejemplo, planteado únicamente como un método), la implementación de las características planteadas puede ser ¡mplementada también en otras formas (por ejemplo, un aparato o programa). Un aparato puede ser implementado en, por ejemplo, hardware, software y firmware adecuados. Los métodos pueden ser implementados en, por ejemplo, un aparato tal como, por ejemplo, un procesador, el cual se refiere a dispositivos de procesamiento en general, incluyendo, por ejemplo, una computadora, un microprocesador, un circuito integrado, o un dispositivo de lógica programable. Los procesadores también incluyen dispositivos de comunicación, tales como, por ejemplo, computadoras, teléfonos celulares, asistentes digitales portátiles/personales ("PDAs"), y otros dispositivos que facilitan la comunicación de la información entre los usuarios finales.
Las implementaciones de los diversos procesos y características descritos en la presente descripción pueden ser representados en una variedad de equipo o aplicaciones diferentes, particularmente, por ejemplo, el equipo o aplicaciones asociados con la codificación de datos, la decodificación de datos, la detección de artefacto de corte de escena, medición de calidad y monitoreo de calidad. Los ejemplos de dichos equipos incluyen un codificador, un decodificador, un procesador posterior que procesa la salida desde un decodificador, un procesador previo que proporciona entrada a un codificador, un codificador de video, un decodificador de video, un codificador-decodificador de video, un servidor de la red mundial, una caja de sintonía, una computadora personal, una computadora portátil, un teléfono celular, un PDA, una consola de juegos y otros dispositivos de comunicación. Como debe quedar claro, el equipo puede ser móvil e incluso ser instalado en un vehículo móvil.
Adicionalmente, se pueden implementar métodos mediante las instrucciones que están siendo realizadas por un procesador, y dichas instrucciones (y/o valores de datos producidos por una implementación) pueden almacenarse en un medio legible por un procesador, tal como, por ejemplo, un circuito integrado, un portador de software u otro dispositivo de almacenamiento tal como, por ejemplo, un disco duro, un disco compacto ("CD"), un disco óptico (tal como, por ejemplo, un DVD, con frecuencia denominado un disco de video digital), una memoria de acceso aleatorio ("RAM") o una memoria de solo lectura ("ROM"). Las instrucciones pueden formar un programa de aplicación representado de manera tangible en un medio legible por el procesador. Las instrucciones pueden estar, por ejemplo, en hardware, firmware, software o una combinación. Las instrucciones pueden encontrarse en, por ejemplo, un sistema operativo, una aplicación separada o una combinación de las dos. Un procesador puede caracterizarse, por lo tanto, como por ejemplo, tanto un dispositivo configurado para realizar un proceso y un dispositivo que incluye un medio legible por el procesador (tal como un dispositivo de almacenamiento) que tiene instrucciones para realizar un proceso. Además, un medio legible por procesador puede almacenar, además de o en lugar de instrucciones, los valores de datos producidos por una implementación .
Como será evidente para un experto en la materia, las implementaciones pueden producir una variedad de señales formateadas para portar información que puede ser, por ejemplo, almacenada o transmitida. La información puede incluir, por ejemplo, instrucciones para ejecutar un método o los datos producidos por una de las implementaciones descritas. Por ejemplo, una señal puede ser formateada para portar los datos que rigen la escritura o lectura de la sintaxis de una modalidad descrita, o para portar como datos la sintaxis-valores reales escritos por una modalidad descrita. Dicha señal puede ser formateada, por ejemplo, como una onda electromagnética (por ejemplo, utilizando una porción de espectro de frecuencia de radio) o como una señal de banda de base. El formateo puede incluir, por ejemplo, la codificación de una corriente de datos y la modulación de un portador con la corriente de datos codificada. La información que porta la señal puede ser, por ejemplo, información análoga o digital. La señal puede ser transmitida sobre una variedad de enlaces cableados o inalámbricos diferentes, como los conocidos. La señal puede ser almacenada en un medio legible por el procesador.
Una cantidad de implementaciones se ha descrito. No obstante, se comprenderá que se pueden realizar diversas modificaciones. Por ejemplo, los elementos de implementaciones diferentes pueden combinarse, complementarse, modificarse o removerse para producir otras implementaciones. Adicionalmente, un experto en la materia comprenderá que pueden sustituirse otras estructuras y procesos por aquellos descritos y los procesos pueden ser sustituidos por aquellos descritos y las implementaciones resultantes realizarán por lo menos substancialmente las mismas funciones, en por lo menos substancialmente la misma forma, para lograr por lo menos substancialmente los mismos resultados que las implementaciones descritas. Por consiguiente, estas y otras implementaciones están contempladas por la presente solicitud.

Claims (25)

REIVINDICACIONES
1. Un método que comprende: acceder una corriente de bit que incluye imágenes codificadas; y determinar (1080) una imagen de corte de escena en la corriente de bit utilizando la información de la corriente de bit sin decodificar la corriente de bit para derivar la información de pixel .
2. El método tal y como se describe en la reivindicación 1 caracterizado además porque la determinación comprende: determinar (1020, 1050, 1065) las medidas de diferencia respectivas en respuesta a por lo menos uno de tamaños de cuadro, residuos de predicción y vectores de movimiento entre un conjunto de imágenes de la corriente de bit, en donde el conjunto de imágenes incluye por lo menos uno de una imagen de corte de escena candidato, una imagen que precede a la imagen de corte de escena candidato , y una imagen después de la imagen de corte de escena candidato; y determinar (1080) que la imagen de corte de escena candidato es la imagen de corte de escena si una o más de las mediciones de diferencia excede sus umbrales previamente determinados respectivos (1025, 1060, 1070).
3. El método tal y como se describe en la reivindicación 2, caracterizado además porque determinar las medidas de diferencia respectivas comprende adicionalmente: calcular (1030) los factores de energía residual de predicción que corresponden a una ubicación de bloque para imágenes de un conjunto de imágenes; y calcular (1040) una medida de diferencia para la ubicación de bloque o utilizando los factores de energía residual de predicción, en donde la medida de diferencia para la ubicación de bloque se utiliza para calcular la medida de diferencia para la imagen de corte de escena candidato.
4. El método tal y como se describe en la reivindicación 2, caracterizado además porque comprende adicionalmente: seleccionar (735, 780) una intra imagen como la imagen de corte de escena candidato si los datos comprimidos para al menos un bloque en la intra imagen se pierden (730).
5. El método tal y como se describe en la reivindicación 4, caracterizado además porque comprende adicionalmente: determinar que por lo menos un bloque en la imagen de corte de escena tiene un artefacto de corte de escena.
6. El método tal y como se describe en la reivindicación 5, caracterizado además porque comprende adicionalmente: asignar un nivel de calidad más bajo al por lo menos un bloque que se determina tener el artefacto de corte de escena.
7. El método tal y como se describe en la reivindicación 2, caracterizado además porque comprende adicionalmente: seleccionar una imagen que se refiere a una imagen perdida como la imagen de corte de escena candidato.
8. El método tal y como se describe en la reivindicación 7, caracterizado además porque comprende adicionalmente: determinar (740) un número estimado de paquetes transmitidos de una imagen y un número promedio de paquetes trasmitidos de imágenes que preceden a la imagen, en donde la imagen es seleccionada como la imagen de corte de escena candidato cuando una proporción entre el número estimado de paquetes transmitidos de la imagen y el número promedio de paquetes transmitidos de las imágenes que preceden a la imagen, exceden un umbral previamente determinado (750, 780).
9. El método tal y como se describe en la reivindicación 7, caracterizado además porque comprende adicionalmente: determinar (760) un número estimado de bytes transmitidos de una imagen y un número promedio de bytes trasmitidos de imágenes que preceden a la imagen, en donde la imagen es seleccionada como la imagen de corte de escena candidato cuando una proporción entre el número estimado de bytes transmitidos de la imagen y el número promedio de bytes transmitidos de las imágenes que preceden a la imagen, exceden un umbral previamente determinado (770, 780).
10. El método tal y como se describe en la reivindicación 9, caracterizado además porque el número estimado de bytes transmitidos se determina en respuesta a un número de bytes recibidos de la imagen y un número estimado de bytes perdidos.
11. El método tal y como se describe en la reivindicación 7, caracterizado además porque comprende adicionalmente: determinar que un bloque en la imagen de corte de escena tiene un artefacto de corte de escena cuando el bloque se refiere a la imagen perdida.
12. El método tal y como se describe en la reivindicación 11, caracterizado además porque comprende adicionalmente: asignar un nivel de calidad más bajo un bloque, en donde se determina que el bloque tiene el artefacto de corte de escena.
13. El método tal y como se describe en la reivindicación 2, caracterizado además porque las imágenes en el grupo de imágenes son P-pictures (1010)
14. Un aparato, que comprende: un decodificador (1210) que accede una corriente de bits que incluye imágenes codificadas; y un detector de artefacto de corte de escena que determina (1230) una imagen de corte de escena en la corriente de bit utilizando la información de la corriente de bit sin decodificar la corriente de bit para derivar la información de pixel.
15. El aparato tal y como se describe en la reivindicación 14, caracterizado además porque el decodificador (1210) decodifica por lo menos uno de tamaños de cuadro, residuos de predicción y vectores de movimiento para un grupo de imágenes de una corriente de bit, en donde el grupo de imágenes incluye por lo menos uno de una imagen de corte de escena candidato, una imagen que precede a una imagen de corte de escena, y una imagen que sigue a la imagen de corte de escena candidato, y en donde el detector de artefacto de corte de escena (1230) determina las medidas de diferencia respectivas para la imagen de corte de escena candidato en respuesta a por lo menos uno de los tamaños de cuadro, los residuos de predicción, y los vectores de movimiento y determina que la imagen de corte de escena candidato es la imagen de corte de escena si una o más de las medidas de diferencia excede sus umbrales previamente determinados respectivos.
16. El aparato tal y como se describe en la reivindicación 15, caracterizado además porque comprende adicionalmente: un detector de artefacto de corte de escena candidato (1220) que selecciona una intra imagen como la imagen de corte de escena candidato si los datos comprimidos para al menos un bloque en la intra imagen se pierden.
17. El aparato tal y como se describe en la reivindicación 16, caracterizado además porque el detector de artefacto de corte de escena (1230) determina que el por lo menos un bloque en la imagen de corte de escena tiene un artefacto de corte de escena.
18. El aparato tal y como se describe en la reivindicación 17, caracterizado además porque comprende adicionalmente: un pronosticador de calidad (1240) que asigna un nivel de calidad más bajo al por lo menos un bloque que se determina tener el artefacto de corte de escena.
19. El aparato tal y como se describe en la reivindicación 15, caracterizado además porque comprende adicionalmente: un detector de artefacto de corte de escena candidato (1220) que selecciona una imagen que se refiere a una imagen perdida como la imagen de corte de escena candidato.
20. El aparato tal y como se describe en la reivindicación 19, caracterizado además porque el detector de artefacto de corte de escena candidato (1220) determina un número estimado de paquetes transmitidos de una imagen y un número promedio de paquetes trasmitidos de imágenes que preceden a la imagen, y selecciona la imagen como la imagen de corte de escena candidato cuando una proporción entre el número estimado de paquetes transmitidos de la imagen y el número promedio de paquetes transmitidos de las imágenes que preceden a la imagen, exceden un umbral previamente determinado.
21. El aparato tal y como se describe en la reivindicación 19, caracterizado además porque el detector de artefacto de corte de escena candidato (1220) determina un número estimado de bytes transmitidos de una imagen y un número promedio de bytes trasmitidos de imágenes que preceden a la imagen, y selecciona la imagen como la imagen de corte de escena candidato cuando una proporción entre el número estimado de bytes transmitidos de la imagen y el número promedio de bytes transmitidos de las imágenes que preceden a la imagen, exceden un umbral previamente determinado.
22. El aparato tal y como se describe en la reivindicación 21, caracterizado además porque el detector de artefacto de corte de escena candidato (1220) determina el número estimado de bytes transmitidos en respuesta a un número de bytes recibidos de la imagen y un número estimado de bytes perdidos.
23. El aparato tal y como se describe en la reivindicación 19, caracterizado además porque el detector de artefacto de corte de escena (1230) determina que un bloque en la imagen de corte de escena tiene un artefacto de corte de escena cuando el bloque se refiere a la imagen perdida.
24. El aparato tal y como se describe en la reivindicación 23, caracterizado además porque comprende adicionalmente: un pronosticador de calidad (1240) que asigna un nivel de calidad más bajo al bloque en donde se determina que el bloque tiene el artefacto de corte de escena.
25. Un medio legible por el procesador que tiene almacenado en el mismo instrucciones para provocar que uno o más procesadores realicen en forma colectiva: acceder una corriente de bit que incluye imágenes codificadas; y determinar (1080) las imágenes de corte de escena en la corriente de bit utilizando la información de la corriente de bit sin decodificar la corriente de bit para derivar la información de pixel.
MX2014006269A 2011-11-25 2011-11-25 Evaluacion de calidad de video considerando los artefactos de corte de escena. MX339675B (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/082955 WO2013075335A1 (en) 2011-11-25 2011-11-25 Video quality assessment considering scene cut artifacts

Publications (2)

Publication Number Publication Date
MX2014006269A true MX2014006269A (es) 2014-07-09
MX339675B MX339675B (es) 2016-06-01

Family

ID=48469029

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014006269A MX339675B (es) 2011-11-25 2011-11-25 Evaluacion de calidad de video considerando los artefactos de corte de escena.

Country Status (10)

Country Link
US (1) US20140301486A1 (es)
EP (1) EP2783513A4 (es)
JP (1) JP5981561B2 (es)
KR (1) KR20140110881A (es)
CN (1) CN103988501A (es)
CA (1) CA2855177A1 (es)
HK (1) HK1202739A1 (es)
MX (1) MX339675B (es)
RU (1) RU2597493C2 (es)
WO (1) WO2013075335A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012098078A2 (en) * 2011-01-21 2012-07-26 Siemens Aktiengesellschaft Method for processing a compressed video stream
US9565404B2 (en) * 2012-07-30 2017-02-07 Apple Inc. Encoding techniques for banding reduction
EP2888870B1 (en) * 2012-08-23 2017-08-02 Thomson Licensing Method and apparatus for detecting gradual transition picture in video bitstream
EP3200460A4 (en) * 2014-10-16 2017-08-23 Samsung Electronics Co., Ltd Method and device for processing encoded video data, and method and device for generating encoded video data
CN106713901B (zh) * 2015-11-18 2018-10-19 华为技术有限公司 一种视频质量评价方法及装置
US10834406B2 (en) 2016-12-12 2020-11-10 Netflix, Inc. Device-consistent techniques for predicting absolute perceptual video quality
RU2651206C1 (ru) * 2016-12-21 2018-04-18 Общество с ограниченной ответственностью "СТРИМ Лабс" (ООО "СТРИМ Лабс") Способ и система выявления искажений в системах цифрового телевидения
KR20180093441A (ko) 2017-02-13 2018-08-22 주식회사 마크애니 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법
US10609440B1 (en) * 2018-06-08 2020-03-31 Amazon Technologies, Inc. Timing data anomaly detection and correction
US10970555B2 (en) * 2019-08-27 2021-04-06 At&T Intellectual Property I, L.P. Data-driven event detection for compressed video
US20240114144A1 (en) * 2022-09-29 2024-04-04 Nvidia Corporation Frame selection for streaming applications
CN115866347B (zh) * 2023-02-22 2023-08-01 北京百度网讯科技有限公司 视频处理方法、装置、电子设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3315766B2 (ja) * 1992-09-07 2002-08-19 富士通株式会社 画像データ符号化方法、その方法を用いた画像データ符号化装置、画像データ復元方法、その方法を用いた画像データ復元装置、シーン変化検出方法、その方法を用いたシーン変化検出装置、シーン変化記録装置、及び画像データのシーン変化記録・再生装置
JPH09322174A (ja) * 1996-05-30 1997-12-12 Hitachi Ltd 動画データの再生方法
GB2366464A (en) * 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
US6996183B2 (en) * 2001-09-26 2006-02-07 Thomson Licensing Scene cut detection in a video bitstream
GB0228556D0 (en) * 2002-12-06 2003-01-15 British Telecomm Video quality measurement
US7499570B2 (en) * 2004-03-02 2009-03-03 Siemens Corporate Research, Inc. Illumination invariant change detection
KR100736041B1 (ko) * 2005-06-30 2007-07-06 삼성전자주식회사 에러 은닉 방법 및 장치
EP1739974B1 (en) * 2005-06-30 2010-08-11 Samsung Electronics Co., Ltd. Error concealment method and apparatus
CN101072342B (zh) * 2006-07-01 2010-08-11 腾讯科技(深圳)有限公司 一种场景切换的检测方法及其检测***
US8179961B2 (en) * 2006-07-17 2012-05-15 Thomson Licensing Method and apparatus for adapting a default encoding of a digital video signal during a scene change period
RU2420022C2 (ru) * 2006-10-19 2011-05-27 Телефонактиеболагет Лм Эрикссон (Пабл) Способ определения качества видео
JP5099371B2 (ja) * 2007-01-31 2012-12-19 日本電気株式会社 画質評価方法、画質評価装置および画質評価プログラム
US8379734B2 (en) * 2007-03-23 2013-02-19 Qualcomm Incorporated Methods of performing error concealment for digital video
CN101355708B (zh) * 2007-07-25 2011-03-16 中兴通讯股份有限公司 一种自适应误码掩盖方法
JP5191240B2 (ja) * 2008-01-09 2013-05-08 オリンパス株式会社 シーン変化検出装置およびシーン変化検出プログラム
US8973029B2 (en) * 2009-03-31 2015-03-03 Disney Enterprises, Inc. Backpropagating a virtual camera to prevent delayed virtual insertion
US8830339B2 (en) * 2009-04-15 2014-09-09 Qualcomm Incorporated Auto-triggered fast frame rate digital video recording
US20100309976A1 (en) * 2009-06-04 2010-12-09 Texas Instruments Incorporated Method and apparatus for enhancing reference frame selection
JP2011029987A (ja) * 2009-07-27 2011-02-10 Toshiba Corp 圧縮歪除去装置
GB2475739A (en) * 2009-11-30 2011-06-01 Nokia Corp Video decoding with error concealment dependent upon video scene change.
CN102714752B (zh) * 2010-01-11 2016-04-06 瑞典爱立信有限公司 视频质量估计技术
JP5484140B2 (ja) * 2010-03-17 2014-05-07 Kddi株式会社 映像品質の客観画質評価装置
EP2661894B1 (en) * 2010-12-30 2015-06-17 Skype Concealment of data loss for video decoding
US8675989B2 (en) * 2011-04-13 2014-03-18 Raytheon Company Optimized orthonormal system and method for reducing dimensionality of hyperspectral images
BR112014008734B1 (pt) * 2011-10-11 2021-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Método para detectar uma mudança de cena em um vídeo transmitido em fluxo contínuo, meio legível por computador não transitório e aparelho relacionados

Also Published As

Publication number Publication date
RU2014125557A (ru) 2015-12-27
RU2597493C2 (ru) 2016-09-10
CA2855177A1 (en) 2013-05-30
US20140301486A1 (en) 2014-10-09
EP2783513A1 (en) 2014-10-01
MX339675B (es) 2016-06-01
HK1202739A1 (en) 2015-10-02
KR20140110881A (ko) 2014-09-17
EP2783513A4 (en) 2015-08-05
JP5981561B2 (ja) 2016-08-31
WO2013075335A1 (en) 2013-05-30
JP2015502713A (ja) 2015-01-22
CN103988501A (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
MX2014006269A (es) Evaluacion de calidad de video considerando los artefactos de corte de escena.
JP6104301B2 (ja) 映像品質推定技術
CN105409216B (zh) 丢失视频数据的条件隐藏
AU2011381970B2 (en) Video quality measurement
WO2014094313A1 (en) Video quality model, method for training a video quality model, and method for determining video quality using a video quality model
JP5911563B2 (ja) ビットストリームレベルで動画品質を推定する方法及び装置
US9432694B2 (en) Signal shaping techniques for video data that is susceptible to banding artifacts
AU2012385919B2 (en) Video quality assessment at a bitstream level
US20120207212A1 (en) Visually masked metric for pixel block similarity
JP2009535881A (ja) エンコード/トランスコード及びデコードのための方法及び装置
Wu et al. A content-adaptive distortion–quantization model for H. 264/AVC and its applications
CA2899756A1 (en) Method and apparatus for context-based video quality assessment
JP2015530807A (ja) ビデオ品質評価のためにコンテンツ複雑性を推定する方法および装置
Wang et al. Network-based model for video packet importance considering both compression artifacts and packet losses
Sankisa et al. A novel cumulative distortion metric and a no-reference sparse prediction model for packet prioritization in encoded video transmission
WO2014198062A1 (en) Method and apparatus for video quality measurement
Wang et al. Distortion estimation for compressed video transmission over mobile networks
MX2015002287A (es) Metodo y aparato para estimar la homogeneidad de movimiento para evaluacion de calidad de video.

Legal Events

Date Code Title Description
FG Grant or registration