ES2389745T3 - Método y aparato para la ocultación de error de vídeo en vídeo codificado de multivistas utilizando sintaxis de nivel alto - Google Patents

Método y aparato para la ocultación de error de vídeo en vídeo codificado de multivistas utilizando sintaxis de nivel alto Download PDF

Info

Publication number
ES2389745T3
ES2389745T3 ES08712988T ES08712988T ES2389745T3 ES 2389745 T3 ES2389745 T3 ES 2389745T3 ES 08712988 T ES08712988 T ES 08712988T ES 08712988 T ES08712988 T ES 08712988T ES 2389745 T3 ES2389745 T3 ES 2389745T3
Authority
ES
Spain
Prior art keywords
images
view
time
decoder
multivist
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES08712988T
Other languages
English (en)
Inventor
Purvin Bibhas Pandit
Peng Yin
Yeping Su
Original Assignee
Thomson Licensing SAS
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 SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2389745T3 publication Critical patent/ES2389745T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Landscapes

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

Abstract

Un aparato que comprende:un descodificador (100) para descodificar imágenes para al menos una vista correspondiente al contenido de videode multivistas de un flujo de bits que cumple la extensión del estándar MPEG-4 AVC de codificación de multivistas,siendo las imágenes representativas de al menos una porción de una secuencia de video, correspondiendo almenos algunas de las imágenes a diferentes instantes de tiempo en la secuencia de video, teniendo la secuencia devideo codificada una estructura de codificación primera en el tiempo, correspondiendo las imágenes a un instante detiempo específico que se está codificando primero para todas las vistas, en el que el citado descodificador determinasi alguna de las imágenes correspondientes a uno particular de los diferentes instantes de tiempo se han perdidoalmacenando temporalmente imágenes de cada vista una vez al principio del flujo de bits, o después de un cambiodel orden de codificación, y comparando el número de imágenes que llegan al descodificador y que corresponden alcitado instante de tiempo particular, con el elemento de sintaxis num_views_minus_1 y determinando qué imagen seha perdido comparando un orden de view_id de sintaxis de codificación de video de multivistas que identifica cadauna de las imágenes almacenadas temporalmente por vista con el citado mismo elemento de sintaxis de las citadasimágenes que llegan al descodificador y correspondientes al citado instante de tiempo particular, para verificar lacontinuidad de las citadas imágenes de cada vista, incluyendo la al menos una vista.

Description

Método y aparato para la ocultación de error de video en vídeo codificado de multivistas utilizando sintaxis de nivel alto.
CAMPO TÉCNICO
Los presentes principios se refieren de manera general a la codificación y descodificación de video y, más particularmente, a un método y aparato para la ocultación de error de video en un video codificado de multivistas utilizando sintaxis de nivel alto.
ANTECEDENTES
Cuando se pierde una imagen en un flujo de bits corrompido, pueden utilizarse varios métodos de ocultación de error basados en la imagen para ocultar la imagen perdida. Con el fin de llevar a cabo la ocultación, la pérdida de una imagen y la ubicación de la imagen tienen que ser determinadas.
Han existido varios métodos para detectar la pérdida de una imagen en el caso de una sola vista. En el estándar de Codificación de Video Avanzado (AVC – Advanced Video Coding, en inglés), Parte 10 del Grupo de Expertos para Imagen en Movimiento -4 (MPEG-4 – Moving Picture Experts Group-4, en inglés) de la Organización para la Normalización / Comisión Electrotécnica Internacional (ISO/IEC – Organization for Standardization / International Electrotechnical Commission, en inglés) / recomendación H.264 de la Unión de Telecomunicaciones Internacional – Sector de Telecomunicación (ITU-T -International Electrotechnical International-Telecommunication Sector, en inglés) (a continuación en esta memoria el “estándar MPEG-4 AVC), el concepto de número de trama (frame_num, en inglés) sirve para el propósito de detectar la pérdida de imágenes de referencia. Adicionalmente, pueden utilizarse mensajes de Información de Mejora Suplementaria (SEI – Supplementary Enhancement Information, en inglés) tales como el mensaje de SEI de punto de recuperación, el mensaje de SEI de subsecuencia, el mensaje de SEI de repetición de marcado de imagen de referencia, así como el diseño del contador de orden de imagen (POC – Picture Order Count, en inglés) y el almacenamiento temporal de imágenes de referencia múltiples para el propósito de la detección de pérdida de imagen.
No obstante, tales métodos no han sido extendidos para el caso de multivistas.
COMPENDIO
Estos y otros inconvenientes y desventajas de la técnica anterior son solucionados por el presente principio, que se dirige a un método y aparato para la ocultación de error de video en un video de multivistas utilizando sintaxis de nivel alto.
De acuerdo con un aspecto de los presentes principios, se proporciona un aparato de acuerdo con la reivindicación
1.
De acuerdo con otro aspecto de los presentes principios, se proporciona un método de acuerdo con la reivindicación
2.
Estos y otros aspectos, características y ventajas de los presentes principios resultarán evidentes a partir de la descripción detallada siguiente de realizaciones de ejemplo, que deben leerse junto con los dibujos que se acompañan.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los presentes principios puede comprenderse mejor de acuerdo con las siguientes figuras de ejemplo, en las cuales:
la FIG. 1 es un diagrama de bloques para un descodificador de Codificación de Video de multivistas (MVC – Multiview Video Coding, en inglés) al cual pueden aplicarse los presentes principios, de acuerdo con una realización de los presentes principios;
la FIG. 2 es un diagrama para una estructura de codificación primera en el tiempo para un sistema de codificación de video de multivistas con 8 vistas al cual pueden aplicarse los presentes principios, de acuerdo con una realización de los presentes principios;
la FIG. 3 es un diagrama de flujo para un método de ejemplo para la descodificación de datos de video correspondientes a una secuencia de video utilizando ocultación de error para imágenes perdidas, de acuerdo con una realización de los presentes principios; y
2
la FIG. 4 es un diagrama de flujo para otro método de ejemplo para la descodificación de datos de video correspondientes a una secuencia de video utilizando ocultación de error para imágenes perdidas, de acuerdo con una realización de los presentes principios.
DESCRIPCIÓN DETALLADA
Los presentes principios se dirigen a un método y aparato para la ocultación de error de video en un video codificado de multivistas utilizando sintaxis de nivel alto.
La presente descripción ilustra los presentes principios. Resultará así evidente que los expertos en la materia podrán imaginar varias disposiciones que, aunque no explícitamente descritas o mostradas en esta memoria, realizan los presentes principios y están incluidas dentro de su alcance.
Todos los ejemplos y lenguaje condicional citados en esta memoria pretenden propósitos pedagógicos para ayudar al lector en la comprensión de los presentes principios y de los conceptos aportados por el inventor o los inventores a la técnica posterior, y deben ser considerados como pertenecientes sin limitación a tales ejemplos y condiciones citados específicamente.
Además, todas las afirmaciones que citan principios, aspectos y realizaciones de los presentes principios en esta memoria, así como ejemplos específicos de los mismos, pretenden abarcar equivalentes tanto estructurales como funcionales de los mismos. Adicionalmente, se pretende que tales equivalentes incluyan equivalentes tanto conocidos actualmente como desarrollados en el futuro, es decir, cualquier elemento desarrollado que lleve a cabo la misma función, independientemente de la estructura.
Así, por ejemplo, resultará evidente para los expertos en la materia que los diagramas de bloques presentados en esta memoria representan vistas conceptuales de conjuntos de circuitos ilustrativos que realizan el presente principio. De manera similar, resultará evidente que cualquier cuadro de flujo, diagrama de flujo, diagrama de transición de estado, pseudocódigo y otros similares representan varios procesos que pueden ser substancialmente representados en medios legibles por ordenador y así ejecutados por un ordenador o procesador, tanto si el ordenador o el procesador se muestran explícitamente como si no.
Las funciones de los diferentes elementos mostrados en las figuras pueden ser proporcionadas mediante el uso de hardware dedicado, así como de hardware capaz de ejecutar software en asociación con el software apropiado. Cuando son proporcionadas por un procesador, las funciones pueden ser proporcionadas por un único procesador dedicado, por un único procesador compartido o por una pluralidad de procesadores individuales, algunos de los cuales pueden ser compartidos. Además, un uso explícito del término “procesador” o “controlador” no debe ser considerado con referente exclusivamente a un hardware capaz de ejecutar un software, y puede implícitamente incluir, sin limitación, hardware de procesador de señal digital (“DSP” – “Digital Signal Processor”, en inglés), una memoria de sólo lectura (“ROM” – “Read Only Memory”, en inglés) para el almacenamiento de software, una memoria de acceso aleatorio (“RAM” – “Random Access Memory, en inglés) y almacenamiento no volátil.
Otro hardware, convencional o particularizado, puede incluirse también. De manera similar, cualquier conmutador mostrado en las figuras es sólo conceptual. Su función puede ser llevada a cabo mediante la operación de una lógica de programa, mediante una lógica dedicada, mediante la interacción de un control de programa y de una lógica dedicada, o incluso manualmente, la técnica particular que es seleccionable por el implementador como más específicamente comprendida a partir del contexto.
En las reivindicaciones adjuntas en esta memoria, cualquier elemento expresado como medio para llevar a cabo una función específica pretende abarcar cualquier modo de llevar a cabo esa función incluyendo, por ejemplo, a) una combinación de elementos de circuito que lleva a cabo esa función o (b) software de cualquier forma, que incluye, por tanto, firmware, microcódigo u otros, combinado con un conjunto de circuitos apropiado para ejecutar ese software para llevar a cabo la función. Los presentes principios tal como se definen mediante tales reivindicaciones se basan en el hecho de que las funcionalidades proporcionadas por los diferentes medios citados son combinadas y traídas de la manera que las reivindicaciones reivindican. Se observa así que cualquier medio que pueda proporcionar esas funcionalidades es equivalente a los mostrados en esta memoria.
Referencia en la memoria a “una sola realización” o a “una realización cualquiera” de los presentes principios significa que una funcionalidad, estructura, característica, y así sucesivamente, particulares descritas junto con la realización se incluye en al menos una realización de los presentes principios. Así, las apariciones de la frase “en una sola realización” o “en una realización cualquiera” que aparecen en varios sitios en la memoria no se refieren todas necesariamente a la misma realización.
Tal como se utiliza en esta memoria, “sintaxis de nivel alto” se refiere a la sintaxis presente en el flujo de bits que reside jerárquicamente sobre la capa del macrobloque. Por ejemplo, la sintaxis de nivel alto, tal como se utiliza en
3
esta memoria, puede referirse a, pero no estar limitada a, la sintaxis al nivel de la cabecera del segmento, al nivel del conjunto de parámetros de secuencia (SPS – Sequence Parameter Set, en inglés), al nivel del conjunto de parámetros de imagen (PPS – Pictures Parameter Set, en inglés), al nivel del conjunto de parámetros de vista (VPS – View Parameter Set, en inglés), al nivel de la cabecera de la unidad de la capa de abstracción de red (NAL – Network Abstraction Layer, en inglés), y en un mensaje de Información de Mejora Suplementaria (SEI – Supplemental Enhancement Information, en inglés).
En aras de la ilustración y la brevedad, las siguientes realizaciones se describen en esta memoria con respecto al uso del conjunto de parámetros de secuencia. No obstante, debe resultar evidente que los presentes principios no están limitados únicamente a la utilización del conjunto de parámetros de secuencia con respecto a la señalización mejorada descrita en esta memoria y, así, tal señalización mejorada puede ser implementada con respecto al menos a los tipos descritos anteriormente de sintaxis de nivel alto incluyendo, pero sin estar limitados a, sintaxis al nivel de la cabecera del segmento, al nivel del conjunto de parámetros de secuencia (SPS – Sequence Parameter Set, en inglés), al nivel del conjunto de parámetros de imagen (PPS – Picture Parameter Set, en inglés), al nivel del conjunto de parámetros de vista (VPS – View Parameter Set, en inglés), al nivel de la cabecera de la unidad de capa de abstracción de red (NAL – Network Abstraction Set, en inglés) y en un mensaje de información de mejora suplementaria (SEI – Supplemental Enhancement Information, en inglés).
Debe resultar evidente también que aunque una o más realizaciones de los presentes principios se describen en esta memoria con respecto al estándar MPEG-4 AVC, los presentes principios no están limitados únicamente a este estándar y, así, pueden ser utilizados con respecto a otros estándares, recomendaciones y extensiones de los mismos de codificación de video, incluyendo extensiones del estándar MPEG-4 AVC.
Además, resultará evidente que el uso del término “y/o”, por ejemplo, en el caso de “A y/o B”, pretende abarcar la selección de la primera opción de la lista (A), la selección de la segunda opción de la lista (B), o la selección de ambas opciones (A y B). Como un ejemplo más, en el caso de “A, B y/o C”, tal utilización de la frase pretende abarcar la selección de la primera opción de la lista (A), la selección de la segunda opción de la lista (B), la selección de la tercera opción de la lista (C), la selección de las opciones primera y segunda de la lista (A y B), la selección de las opciones primera y tercera de la lista (A y C), la selección de las opciones segunda y tercera de la lista (B y C) o la selección de las tres opciones (A y B y C). Esto puede extenderse, como resulta claramente evidente para una persona no experta en ésta y en las técnicas relacionadas con ella, para tanto elementos como existan en la lista.
Volviendo a la FIG. 1, un descodificador de Codificación de Video de multivistas (MVC – Multi-view Video Coding, en inglés) se indica de manera general por el número de referencia 100. El descodificador 100 incluye un descodificador 105 de entropía que tiene una salida conectada en la comunicación de la señal con una entrada de un cuantizador 110 inverso. Una salida del cuantizador inverso está conectada en la comunicación de la señal con una entrada de un transformador 115 inverso. Una salida del transformador 115 inverso está conectada en la comunicación de la señal con una primera entrada no inversora de un combinador 120. Una salida del combinador 120 está conectada en la comunicación de la señal con una entrada de un filtro 125 desbloqueador y una entrada de un intra-indicador 130. Una salida del filtro 125 desbloqueador está conectada en la comunicación de la señal con una entrada de un almacén 140 de imagen de referencia (para la vista i). Una salida del almacén 140 de imagen de referencia en la comunicación de la señal está conectada con una primera entrada de un compensador 135 de movimiento.
Una salida de un almacén 145 de imagen de referencia (para otras vistas) está conectada en la comunicación de la señal con una primera entrada de un compensador 150 de disparidad/iluminación.
Una entrada del descodificador 105 de entropía está disponible como entrada al descodificador 100, para recibir un flujo de bits residual. Además, una entrada de un módulo 160 de modo está también disponible como entrada al descodificador 100, para recibir la sintaxis de control para controlar qué entrada es seleccionada por el conmutador
155. Además, una segunda entrada del compensador 135 de movimiento está disponible como entrada del descodificador 100, para recibir vectores de movimiento. También, una segunda entrada del compensador 150 de disparidad/iluminación está disponible como entrada al descodificador 100, para recibir vectores de disparidad y sintaxis de compensación de iluminación.
Una salida de un conmutador 155 está conectada en la comunicación de la señal con una segunda entrada no inversora del combinador 120. Una primera entrada del conmutador 155 está conectada en la comunicación de la señal con una salida del compensador 150 de disparidad/iluminación. Una segunda entrada del conmutador 155 está conectada en la comunicación de la señal con una salida del compensador 135 de movimiento. Una tercera entrada del conmutador 155 está conectada en la comunicación de la señal con una salida del intra indicador 130. Una salida del módulo 160 de modo está conectada en la comunicación de la señal con el conmutador 155 para controlar qué entrada es seleccionada por el conmutador 155. Una salida del filtro 125 desbloqueador está disponible como salida del descodificador.
4
De acuerdo con los presentes principios, se proporcionan métodos y aparatos para la ocultación de error de video en video de multivistas utilizando sintaxis de nivel alto. Los presentes principios, como mínimo, solucionan el problema de la detección de la pérdida de imagen en el caso de video codificado de multivistas. En esta memoria se proporcionan métodos y aparatos para identificar/detectar qué imágenes de una vista faltan, se han perdido o se han
5 borrado durante la transmisión de una secuencia de video codificada de multivistas.
En un entorno de transmisión de error propenso a los errores, tal como la Internet, redes inalámbricas y otros, un flujo de bits de video transmitidos puede sufrir corrupciones provocadas, por ejemplo, por el deterioro del canal. Una situación común encontrada en algunos sistemas prácticos es que ciertas imágenes de video comprimidas son borradas del flujo de bits. Esto es especialmente cierto para aplicaciones de baja tasa de bits en las que una imagen
10 es suficientemente pequeña para ser codificada en una unidad de transmisión, tal como un paquete de protocolo de transporte en tiempo real (RTP – Real time Transport Protocol, en inglés). En el extremo receptor, un descodificador de video robusto debería ser capaz de detectar tales pérdidas para ocultarlas.
En codificación de video de multivistas (MVC – Multi-view Video Coding, en inglés) existen varias vistas en la secuencia de video codificada. En el caso de la extensión de MVC actual del estándar MPEG-4 AVC, cada imagen 15 tiene asociada a ella un identificador de vista para identificar la vista a la cual pertenece. La TABLA 1 muestra la cabecera de la unidad de la Capa de Abstracción de Red (NAL – Network Abstraction Layer, en inglés) para la sintaxis de extensión de codificación de video de multivistas (MVC – Multi-view Video Coding, en inglés) de la codificación de video escalable (SVC – Scalable Video Coding, en inglés). Adicionalmente, existen varias sintaxis de nivel alto (además de las sintaxis del estándar MPEG-4 AVC) que están presentes para asistir en la descodificación
20 de las imágenes de diferentes vistas. Estas sintaxis están presentes en la extensión del Conjunto de Parámetros de Secuencia (SPS – Sequence Parameter Set, en inglés). La TABLA 2 muestra el conjunto de parámetros de secuencia (SPS – Sequence Parameter Set, en inglés) en la extensión de la codificación de video de multivistas (MVC – Multi-view Video Coding, en inglés) del estándar MPEG-4 AVC.
TABLA 1
5
5 10
15 20
25 30
TABLA 2
Así, la propuesta actual para la codificación de video de multivistas basada en el Estándar MPEG-4 AVC (en lo que sigue en esta memoria “propuesta de MVC actual para MPEG-4 AVC) incluye sintaxis de nivel alto en el conjunto de parámetros de secuencia para indicar el número de vistas codificadas en la secuencia. Adicionalmente, la propuesta de MVC actual para MPEG-4 AVC incluye la información de referencias inter-vista para una vista. La propuesta de MVC actual para MPEG-4 AVC distingue también las dependencias de la imagen de vínculo y no de vínculo enviando separadamente los identificadores de vista de referencia. Esto se muestra en la TABLA 2, que incluye información de qué vistas se utilizan como referencia para una cierta vista. Hemos reconocido y propuesto que esta información (el número de vistas codificadas) pueda ser utilizada para detectar pérdida de imagen en el caso de video codificado de multivistas.
En la extensión del Estándar MPEG-4 AVC de codificación de video de multivistas (MVC – Multi-view Video Coding, en inglés) actual es mandatorio que las imágenes que pertenecen a un cierto instante de tiempo sean codificadas primero para todas las vistas. Volviendo a la FIG. 2, una estructura de codificación primera en el tiempo para un sistema de codificación de video de multivistas con 8 vistas se indica de manera general mediante el número de referencia 200. En el ejemplo de la FIG. 2, todas las imágenes en el mismo instante de tiempo de diferentes vistas son codificadas de manera contigua. Así, todas las imágenes (S0-S7) en el mismo instante T0 son codificadas en primer lugar, seguidas por las imágenes (S0-S7) en el momento T8, y así sucesivamente. Esto se llama codificación primera en el tiempo. Una ocultación a tiempo de la pérdida de imagen es crítica para la calidad de objetivo de otras vistas.
Sabiendo esto (la codificación primera en el tiempo) y también el número de vistas codificadas en la secuencia del conjunto de parámetros de secuencia (SPS – Sequence Parameter Set, en inglés) podemos detectar la pérdida de una imagen. Adicionalmente, en la realización ilustrada, presumimos que todas las vistas tienen la misma tasa de tramas. No obstante, resultará evidente que los presentes principios no están únicamente limitados a aplicaciones que implican a videos que tienen la misma tasa de tramas y, así, pueden ser también fácilmente aplicados a una aplicación que implica a un video con diferentes tasas de tramas. La información de la tasa de tramas está presente en los parámetros de Información de Capacidad de Utilización del Video (VUI – Video Usability Information, en inglés) presentes en el conjunto de parámetros de secuencia. Puesto que estos parámetros son opcionales pueden existir o no. En el caso de que existan, un conjunto de parámetros de secuencia separado necesita ser señalado para la vista con una diferente tasa de tramas. Una vez que el descodificador sabe de la vista que tiene una tasa de tramas diferente, puede invocar a un método de detección de errores o simplemente obviar el resultado del método de detección de errores. Adicionalmente, el descodificador puede elegir ocultar la imagen, pero no utilizar la imagen con el propósito de mostrarla.
Una realización de este algoritmo de detección es como sigue. Del conjunto de parámetros de secuencia conocemos un número de vistas que están codificadas (num_views_minus_1). Sabemos también que todas las imágenes en un
6
cierto momento son codificadas primeras en el tiempo. Así, para cada instante de tiempo, podemos en primer lugar almacenar temporalmente todas las imágenes de cada vista (por ejemplo, en el tiempo T0). Guardamos un contador del número de imágenes que llegan para ese instante de tiempo (N) y el identificador de vista (view_id) de las imágenes. Dado que conocemos el número de vistas codificadas de cada sintaxis del conjunto de parámetros de secuencia, comparamos estos valores para determinar si hubo alguna pérdida. Si N es menor que un valor indicado en el SPS entonces sabemos que hubo una pérdida. Adicionalmente, puesto que hacemos un seguimiento del view_id que ha llegado podemos determinar qué view_ids faltan.
También, si asumimos que la vista compatible con el Estándar MPEG-4 AVC es la primera vista que se ha codificado, entonces sabemos que entre dos unidades de NAL compatibles con el Estándar MPEG-4 AVC esperamos num_views_minus_1 vistas. Esta información puede ser también utilizada para detectar la pérdida de imágenes. De manera asimilar a la realización anterior, podemos determinar el o los view_id o view_ids que faltan.
En otra realización, sólo necesitamos llevar a cabo el almacenamiento temporal una vez al principio del flujo de bits
o tras un cambio del orden de codificación. Una vez que hemos determinado el orden de codificación mirando al orden de view_id durante el primer periodo de almacenamiento temporal, para el subsiguiente instante de tiempo solo necesitamos comprobar si la imagen que llega tiene el view_id esperado. Si se determina que no tiene el view_id esperado entonces sabemos que se perdió una imagen perteneciente al view_id esperado y así esto necesita ser ocultado antes de la descodificación de otras imágenes.
Volviendo a la FIG. 3, un método de ejemplo para descodificar datos de video correspondientes a una secuencia de video utilizando una ocultación de error para imágenes perdidas se indica de manera general por el número de referencia 300.
El método 300 incluye un bloque de inicio 305 que pasa el control a un bloque funcional 310. El bloque funcional 310 analiza sintácticamente el conjunto de parámetros de secuencia (SPS – Sequence Parameter Set, en inglés), el conjunto de parámetros de imagen (PPS – Picture Parameter Set, en inglés), el conjunto de parámetros de vista (VPS – View Parameter Set, en inglés), la cabecera de la unidad de la capa de abstracción de red (Network Abstraction Layer, en inglés) y/o cualquier mensaje de Información de Mejora Suplementaria (SEI – Supplemental Enhancement Information, en inglés), y pasa el control a un bloque funcional 315. El bloque funcional 315 pone una variable NumViews igual a num_view_minus 1 + 1, pone una variable PrevPOC igual a cero, pone una variable RecvPic igual a cero y pasa el control a un bloque de decisión 320. El bloque de decisión 320 determina si se ha alcanzado o no el final de la secuencia de video. Si es así, entonces se pasa el control a un bloque de fin 399. Si no, se pasa el control a un bloque funcional 325.
El bloque funcional 325 lee el Contador de Orden de Imagen (POC – Picture Orden Count, en inglés) de las siguientes imágenes, incrementa la variable RecvPic y pasa el control a un bloque de decisión 330. El bloque de decisión 330 determina si la variable CurrPOC es igual a la variable PrevPOC o no. Si es así, se pasa el control a un bloque funcional 335. Si no, se pasa el control a un bloque funcional 340.
El bloque funcional 335 almacena temporalmente la imagen actual, y devuelve el control al bloque funcional 325.
El bloque funcional 340 almacena temporalmente la imagen actual, pone la variable PrevPOC igual a la variable CurrPOC y pasa el control al bloque de decisión 345. El bloque de decisión 345 determina si la variable RecvPic es igual o no a la variable NumViews. Si es así, entonces se pasa el control a un bloque de decisión 355. Si no, se pasa el control a un bloque funcional 350.
El bloque de decisión 355 determina si la variable RecvPic es igual a cero o no. Si es así, entonces se pasa el control a un bloque funcional 360. Si no, se pasa el control a un bloque funcional 370.
El bloque funcional 360 analiza sintácticamente la siguiente imagen, y pasa el control a un bloque funcional 365. El bloque funcional 365 descodifica la imagen actual y devuelve el control al bloque de decisión 355.
El bloque funcional 350 comprueba y almacena los view_ids que faltan y pasa el control al bloque de decisión 355.
El bloque funcional 370 oculta las imágenes correspondientes a los view_ids faltantes y devuelve el control al bloque de decisión 320.
Volviendo a la FIG. 4, otro método de ejemplo para descodificar datos de video correspondientes a una secuencia de video utilizando ocultación de error para las imágenes perdidas se indica de manera general por el número de referencia 400.
El método 400 incluye un bloque de inicio 405 que pasa el control a un bloque funcional 410. El bloque funcional 410 analiza sintácticamente el conjunto de parámetros de secuencia (SPS – Sequence Parameter Set, en inglés), el
7
conjunto de parámetros de imagen (PPS – Picture Parameter Set, en inglés), el conjunto de parámetros de vista (VPS – View Parameter Set, en inglés), la cabecera de la unidad de la capa de abstracción de red (NAL – Network Abstraction Layer, en inglés) y/o cualquier mensaje de información de mejora suplementaria (SEI – Supplemental Enhancement Information, en inglés), y pasa el control a un bloque funcional 415. El bloque funcional 415 pone una variable NumViews igual a num_view_minus1 + 1, y pone una variable PrevPOC igual a cero, pone una variable RecvPic igual a cero, pone una variable View CodingOrder igual a cero y pasa el control a un bloque de decisión
420. El bloque de decisión 420 determina si se ha alcanzado o no el final de la secuencia de video. Si es así, entonces se pasa el control a un bloque de fin 499. Si no, se pasa el control a un bloque funcional 425.
El bloque funcional 425 lee el contador de orden de imagen (POC – Picture Order Count, en inglés) de las siguientes imágenes, incrementa la variable RecvPic y pasa el control a un bloque de decisión 430. El bloque de decisión 430 determina si la variable CurrPOC es igual a la variable PrevPOC o no. Si es así, se pasa el control a un bloque de decisión 435. Si no, se pasa el control a un bloque funcional 450.
El bloque de decisión 435 determina si la variable ViewCodingOrder es igual a uno o no. Si es así, entonces se pasa el control a un bloque de decisión 440. Si no, se pasa el control a un bloque funcional 485.
El bloque de decisión 440 determina si se requiere ocultación o no. Si es así, entonces se pasa el control a un bloque funcional 445. Si no, se pasa el control a un bloque funcional 490.
El bloque funcional 445 oculta las imágenes de los view_ids que faltan y devuelve el control a un bloque de decisión
420.
El bloque funcional 450 almacena temporalmente la imagen actual, pone la variable PrevPOC igual a la variable CurrPOC y pasa el control al bloque de decisión 455. El bloque de decisión 455 determina si la variable RecvPic es igual a la variable NumViews. Si es así, entonces se pasa el control a un bloque funcional 460. Si no, se pasa el control a un bloque funcional 480.
El bloque funcional 460 almacena el orden de codificación de vista, pone ViewCodingOrder igual a uno y pasa el control a un bloque de decisión 455. El bloque de decisión 455 determina si RecvPic es igual a cero o no. Si es así, entonces se pasa el control a un bloque funcional 470. Si no, se pasa el control a un bloque funcional 445.
El bloque funcional 470 analiza sintácticamente la siguiente imagen y pasa el control a un bloque funcional 475. El bloque funcional 475 descodifica la imagen actual y devuelve el control al bloque de decisión 455.
El bloque funcional 485 almacena temporalmente la imagen actual y devuelve el control a un bloque funcional 425.
El bloque funcional 480 comprueba y almacena los view_ids que faltan y pasa el control al bloque funcional 455.
El bloque funcional 490 descodifica la imagen actual y devuelve el control al bloque de decisión 420.
Se proporcionará ahora una descripción de algunas de las muchas ventajas/características que se esperan de la presente invención, algunas de las cuales han sido mencionadas anteriormente. Por ejemplo, una ventaja/característica es un aparato que incluye un descodificador para la descodificación de imágenes para al menos una vista correspondiente a un contenido de video de multivistas de un flujo de bits. Las imágenes son representativas de al menos una porción de una secuencia de video. Al menos alguna de las imágenes corresponde a diferentes instantes de tiempo en la secuencia de video. El descodificador determina si se han perdido algunas de las imágenes correspondientes a uno particular de los diferentes instantes de tiempo utilizando un elemento de sintaxis existente. El elemento de sintaxis existente es para indicar un número de vistas codificadas en el flujo de bits, incluyendo la al menos una vista.
Otra ventaja/característica es el aparato que tiene el descodificador tal como se ha descrito anteriormente, en el que el elemento de sintaxis existente es un elemento de sintaxis de codificación de video de multivistas.
Otra ventaja/característica más es el aparato que tiene el descodificador en el que el elemento de sintaxis existente es un elemento de sintaxis de codificación de video de multivistas descrito anteriormente, en el que el elemento de sintaxis de codificación de video de multivistas corresponde a una extensión del estándar de Codificación de Video Avanzado Parte 10 del Grupo de Expertos para Imagen en Movimiento-4 de la Organización Internacional para la Normalización / Unión Electrotécnica Internacional, recomendación H.264 del Sector de Telecomunicación.
Otra ventaja/característica más es el aparato que tiene el descodificador tal como se ha descrito anteriormente, en el que el elemento de sintaxis existente está presente a un nivel alto.
Además, otra ventaja/característica es el aparato que tiene el descodificador como se ha descrito anteriormente, en el que el nivel alto corresponde al menos a uno de un nivel de cabecera del segmento, de un nivel del conjunto de
8
parámetros de secuencia, de un nivel del conjunto de parámetros de imagen, de un nivel del conjunto de parámetros de vista, de un nivel de la cabecera de la unidad de la capa de abstracción de red y de un nivel correspondiente a un mensaje de información de mejora suplementaria.
Además, otra ventaja/característica es el aparato que tiene el descodificador como se ha descrito anteriormente, en el que cualquiera de las imágenes correspondientes al particular de los diferentes instantes de tiempo es almacenada temporalmente, y el descodificador guarda un contador para las imágenes que llegan en el particular de los diferentes instantes de tiempo.
También, otra ventaja/característica es el aparato que tiene el descodificador en el que cualquiera de las imágenes correspondientes al particular de los diferentes instantes de tiempo son almacenadas temporalmente, y el descodificador guarda un contador para las imágenes que llegan en el particular de los diferentes instantes de tiempo como se ha descrito anteriormente, en el que el descodificador compara un valor del contador con un valor del elemento de sintaxis existente.
Adicionalmente, otra ventaja/característica es el aparato que tiene el descodificador que compara un valor del contador con un valor del elemento de sintaxis existente como se ha descrito anteriormente, en el que una particular de las imágenes es designada como perdida, cuando el valor del contador para la imagen particular no es igual al valor del elemento de sintaxis existente.
Además, otra ventaja/característica es el aparato que tiene el descodificador en el que una particular de las imágenes es designada como perdida, cuando el valor del contador para la imagen particular no es igual al valor del elemento de sintaxis existente como se ha descrito anteriormente, en el que el descodificador determina un identificador de vista de la particular de las imágenes designadas como perdidas buscando un identificador de vista faltante de entre un conjunto de identificadores de vista que han llegado correspondientes al flujo de bits.
Además, otra ventaja/característica es el aparato que tiene el descodificador como se ha descrito anteriormente, en el que para descodificar las imágenes del flujo de bits, el descodificador almacena temporalmente las imágenes sólo una vez.
También, otra ventaja/característica es el aparato que tiene el descodificador que almacena temporalmente las imágenes sólo una vez para descodificar las imágenes del flujo de bits tal como se ha descrito anteriormente, en el que el descodificador almacena temporalmente las imágenes sólo una vez, al principio del flujo de bits.
Adicionalmente, otra ventaja/característica es el aparato que tiene el descodificador que almacena temporalmente las imágenes sólo una vez para descodificar las imágenes del flujo de bits como se ha descrito anteriormente, en el que el descodificador almacena temporalmente las imágenes sólo una vez, subsiguientemente a un cambio del orden de codificación.
Además, otra ventaja/característica es el aparato que tiene el descodificador que almacena las imágenes temporalmente sólo una vez para descodificar las imágenes del flujo de bits tal como se ha descrito anteriormente, en el que el descodificador mantiene un orden de identificadores de vista para las imágenes, subsiguientemente al almacenamiento temporal.
Además, otra ventaja/característica es el aparato que tiene el descodificador que guarda un orden de identificadores de vista para las imágenes, subsiguientemente al almacenamiento temporal, tal como se ha descrito anteriormente, en el que el descodificador utiliza el orden que está guardado para los subsiguientes de los diferentes instantes de tiempo para determinar si alguna de las imágenes correspondientes a los subsiguientes de los diferentes instantes de tiempo se ha perdido, siendo los subsiguientes de los diferentes instantes de tiempo subsiguientes con respecto al particular de los diferentes instantes de tiempo.
También, otra ventaja/característica es el aparato que tiene el descodificador tal como el que se ha descrito anteriormente, en el que la al menos una vista comprende al menos dos vistas, y el descodificador utiliza un número de vistas entre las dos vistas para determinar si alguna de las imágenes se ha perdido, cuando una primera vista codificada de entre la al menos una vista y las dos vistas, son vistas compatibles con respecto al estándar de Codificación de Video Avanzado Parte 10 del Grupo de Expertos para Imagen en Movimiento-4 de la Organización Internacional para la Normalización / Unión Electrotécnica Internacional, recomendación H.264 del Sector de Telecomunicación, siendo la vista codificada primero una de una de las dos vistas u otra vista.
Estas y otras características y ventajas de los presentes principios pueden ser fácilmente determinadas por una persona no experta en la materia pertinente basándose en las enseñanzas de esta memoria. Resultará evidente que las enseñanzas de los presentes principios pueden ser implementadas en varias formas de hardware, software, firmware, procesadores para propósito especial o combinaciones de los mismos.
9
Más preferiblemente, las enseñanzas de los presentes principios se implementan como una combinación de hardware y software. Además, el software puede ser implementado como un programa de aplicación realizado de manera tangible en una unidad de almacenamiento de programa. El programa de aplicación puede ser actualizado para, y ser ejecutado por, una máquina que comprende cualquier arquitectura adecuada. Preferiblemente, la 5 máquina es implementada en una plataforma de ordenador que tiene hardware tal como una o más unidades de procesamiento central (“CPU” – “Central Processing Units”), una memoria de acceso aleatorio (“RAM” – “Random Access Memory”, en inglés), e interfaces de entrada/salida (“I/O” -“Input/Output”, en inglés). La plataforma de ordenador puede también incluir un sistema operativo y un código de microinstrucción. Los diferentes procesos y funciones descritos en esta memoria pueden ser parte del código de microinstrucción o parte del programa de
10 aplicación, o cualquier combinación de los mismos, que pueden ser ejecutados por una CPU. Además, otras unidades periféricas diferentes pueden ser conectadas a la plataforma de ordenador tales como una unidad de almacenamiento de datos adicional y una unidad de impresión.
Resultará también evidente que, debido a que algunos componentes del sistema constitutivo y métodos representados en los dibujos que se acompañan están preferiblemente implementados en software, las conexiones
15 reales entre los componentes del sistema o los bloques funcionales del proceso pueden diferir dependiendo de la manera en la cual son programados los presentes principios. Dadas las enseñanzas de esta memoria, una persona no experta en la materia pertinente será capaz de contemplar estas y similares implementaciones o configuraciones de los presentes principios.
Aunque las realizaciones ilustrativas han sido descritas en esta memoria con referencia a los dibujos que se
20 acompañan, resultará evidente que los presentes principios no están limitados a esas realizaciones precisas, y que una persona no experta en la materia pertinente puede efectuar varios cambios y modificaciones en las mismas sin separarse del alcance de los presentes principios. Todos esos cambios y modificaciones pretenden estar incluidos en el alcance de los presentes principios tal como se enuncian en las reivindicaciones adjuntas.
10
5 10 15
20 25 30

Claims (2)

  1. REIVINDICACIONES
    1.
    Un aparato que comprende:
    un descodificador (100) para descodificar imágenes para al menos una vista correspondiente al contenido de video de multivistas de un flujo de bits que cumple la extensión del estándar MPEG-4 AVC de codificación de multivistas, siendo las imágenes representativas de al menos una porción de una secuencia de video, correspondiendo al menos algunas de las imágenes a diferentes instantes de tiempo en la secuencia de video, teniendo la secuencia de video codificada una estructura de codificación primera en el tiempo, correspondiendo las imágenes a un instante de tiempo específico que se está codificando primero para todas las vistas, en el que el citado descodificador determina si alguna de las imágenes correspondientes a uno particular de los diferentes instantes de tiempo se han perdido almacenando temporalmente imágenes de cada vista una vez al principio del flujo de bits, o después de un cambio del orden de codificación, y comparando el número de imágenes que llegan al descodificador y que corresponden al citado instante de tiempo particular, con el elemento de sintaxis num_views_minus_1 y determinando qué imagen se ha perdido comparando un orden de view_id de sintaxis de codificación de video de multivistas que identifica cada una de las imágenes almacenadas temporalmente por vista con el citado mismo elemento de sintaxis de las citadas imágenes que llegan al descodificador y correspondientes al citado instante de tiempo particular, para verificar la continuidad de las citadas imágenes de cada vista, incluyendo la al menos una vista.
  2. 2.
    Un método que comprende:
    descodificar imágenes para al menos una vista correspondiente al contenido de video de multivistas de un flujo de bits que cumple con la extensión del estándar MPEG-4 AVC de codificación de multivistas, siendo las imágenes representativas de al menos una porción de una secuencia de video, correspondiendo al menos algunas de las imágenes a diferentes instantes de tiempo en la secuencia de video, teniendo la secuencia de video codificada una estructura de codificación primera en el tiempo, siendo las imágenes correspondientes a un instante de tiempo específico codificadas primero para todas las vistas, en el que la citada etapa de descodificación comprende determinar si alguna de las imágenes correspondientes a uno particular de los diferentes instantes de tiempo se ha perdido almacenando temporalmente imágenes de cada vista una vez al principio del flujo de bits, o tras un cambio del orden de codificación, y comparando el número de imágenes que llegan al descodificador y que corresponden al citado instante de tiempo particular con el elemento de sintaxis num_views_minus_1 y determinando qué imagen se ha perdido comparando un orden del elemento de sintaxis de codificación de video de multivistas view_id que identifica cada una de las imágenes almacenadas temporalmente por vista con el mismo citado elemento de sintaxis de las citadas imágenes que llegan al descodificador y que corresponden al citado instante de tiempo particular para verificar la continuidad de las citadas imágenes de cada vista, incluyendo la al menos una vista.
    11
ES08712988T 2007-01-04 2008-01-04 Método y aparato para la ocultación de error de vídeo en vídeo codificado de multivistas utilizando sintaxis de nivel alto Active ES2389745T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88345407P 2007-01-04 2007-01-04
US883454P 2007-01-04
PCT/US2008/000115 WO2008085887A2 (en) 2007-01-04 2008-01-04 Method and apparatus for video error concealment in multi-view coded video using high level syntax

Publications (1)

Publication Number Publication Date
ES2389745T3 true ES2389745T3 (es) 2012-10-31

Family

ID=39609262

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08712988T Active ES2389745T3 (es) 2007-01-04 2008-01-04 Método y aparato para la ocultación de error de vídeo en vídeo codificado de multivistas utilizando sintaxis de nivel alto

Country Status (8)

Country Link
US (1) US9282327B2 (es)
EP (1) EP2116064B1 (es)
JP (1) JP5273816B2 (es)
KR (1) KR101420894B1 (es)
CN (1) CN101578873B (es)
BR (1) BRPI0806829A2 (es)
ES (1) ES2389745T3 (es)
WO (1) WO2008085887A2 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10200708B2 (en) 2011-11-30 2019-02-05 Qualcomm Incorporated Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US9936196B2 (en) 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
WO2015052935A1 (en) * 2013-10-11 2015-04-16 Sharp Kabushiki Kaisha Color information and chromaticity signaling

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3332575B2 (ja) * 1994-05-23 2002-10-07 三洋電機株式会社 立体動画像再生装置
KR100397511B1 (ko) * 2001-11-21 2003-09-13 한국전자통신연구원 양안식/다시점 3차원 동영상 처리 시스템 및 그 방법
JP3992533B2 (ja) 2002-04-25 2007-10-17 シャープ株式会社 立体視を可能とする立体動画像用のデータ復号装置
MXPA05008094A (es) * 2003-01-28 2006-02-08 Thomson Licensing Formacion escalonada de modo robusto.
KR100679740B1 (ko) 2004-06-25 2007-02-07 학교법인연세대학교 시점 선택이 가능한 다시점 동영상 부호화/복호화 방법
CN1722830A (zh) * 2004-07-13 2006-01-18 皇家飞利浦电子股份有限公司 一种编码数据的解码方法和装置
JP4261508B2 (ja) 2005-04-11 2009-04-30 株式会社東芝 動画像復号装置
JP5587552B2 (ja) * 2005-10-19 2014-09-10 トムソン ライセンシング スケーラブル映像符号化を用いた多視点映像符号化
US7903737B2 (en) * 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
KR20070083168A (ko) * 2006-02-20 2007-08-23 광운대학교 산학협력단 마크로 블록 기반 가중치 예측 기반 멀티 뷰 비디오 부호화및 복호화 장치 및 그 방법
KR100934671B1 (ko) * 2006-03-30 2009-12-31 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
JP2007322302A (ja) 2006-06-02 2007-12-13 Takaoka Electric Mfg Co Ltd 防水型光ファイバ電流センサ
CN101558652B (zh) * 2006-10-20 2011-08-17 诺基亚公司 用于实现低复杂度多视点视频编码的系统和方法
DK2103136T3 (en) * 2006-12-21 2017-12-04 Thomson Licensing METHODS AND APPARATUS FOR IMPROVED SIGNALING USING HIGH-LEVEL SYNTHOLOGY FOR MULTIVIEW VIDEO AND DECODING

Also Published As

Publication number Publication date
EP2116064B1 (en) 2012-08-15
US9282327B2 (en) 2016-03-08
JP5273816B2 (ja) 2013-08-28
EP2116064A2 (en) 2009-11-11
WO2008085887A3 (en) 2009-03-26
CN101578873A (zh) 2009-11-11
JP2010516100A (ja) 2010-05-13
CN101578873B (zh) 2012-07-25
US20100027681A1 (en) 2010-02-04
KR101420894B1 (ko) 2014-07-17
WO2008085887A2 (en) 2008-07-17
BRPI0806829A2 (pt) 2014-06-03
KR20090099545A (ko) 2009-09-22

Similar Documents

Publication Publication Date Title
JP6395667B2 (ja) 多視点映像符号化及び復号化用の、ハイレベルシンタックスを使用した改善されたシグナリングのための方法及び装置
ES2714279T3 (es) Mejoras de conformidad e interoperabilidad en codificación de vídeo multicapa
US9100659B2 (en) Multi-view video coding method and device using a base view
TWI517718B (zh) 應用視頻可用資訊於多視界視頻編碼系統之方法和裝置
BRPI0714564B1 (pt) Método e aparelho para escalabilidade de visualização por sinalização em codificação de multivisualização em vídeo, estrutura de sinal de vídeo para codificação de vídeo e mídia de armazenagem
KR20090099546A (ko) 멀티 뷰 코딩된 비디오에서 높은 레벨의 신택스 레퍼런스 뷰들을 이용하여 비디오 에러 은닉을 행하는 방법 및 장치
ES2696723T3 (es) Diseño del valor de POC para codificación de vídeo multicapa
DK2946556T3 (en) DECODES AND CODES AND PROCEDURES FOR CODEING A VIDEO SEQUENCE
JP2010516102A (ja) マルチビュー符号化ビデオにおいてビデオ・エラー補正を行う方法および装置
ES2389745T3 (es) Método y aparato para la ocultación de error de vídeo en vídeo codificado de multivistas utilizando sintaxis de nivel alto
ES2772028T3 (es) Disposiciones y métodos de las mismas para procesamiento de video