ES2648970T3 - Codificación y decodificación de flujo de video multicapa - Google Patents
Codificación y decodificación de flujo de video multicapa Download PDFInfo
- Publication number
- ES2648970T3 ES2648970T3 ES13731991.9T ES13731991T ES2648970T3 ES 2648970 T3 ES2648970 T3 ES 2648970T3 ES 13731991 T ES13731991 T ES 13731991T ES 2648970 T3 ES2648970 T3 ES 2648970T3
- Authority
- ES
- Spain
- Prior art keywords
- layer
- index
- flag
- direct
- layers
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método de decodificación de un flujo (2) de video multicapa codificado que define múltiples capas (10, 12, 14) de imágenes (20, 22, 24), teniendo cada capa (10, 12, 14) de dichas múltiples capas (10, 12, 14) un respectivo identificador de capa, dicho método comprende: recuperar (S1), para una capa (12) con índice i de capa de dichas múltiples capas (10, 12, 14), decodificar la información de relación basada en dicho flujo (2) de video multicapa codificado, definiendo dicha información de relación de decodificación una respectiva bandera de dependencia directa, bandera_dependencia_directa[i][j], para cada capa (10) de dichas múltiples capas (10, 12, 14) que tiene un índice j de capa para el que 0 <= j < i, en donde una bandera de dependencia directa, bandera_dependencia_directa[i][j], igual a 1 indica que dicha capa (10) con índice j de capa es una capa de referencia directa para dicha capa (12) con índice i de capa y una bandera de dependencia directa, bandera_dependencia_directa[i][j], igual a 0 indica que dicha capa (10) con índice j de capa no es una capa de referencia directa para dicha capa (12) con índice i de capa; recuperar una bandera bandera_presente_id_capa_nuh_vps basada en dicho flujo (2) de video multicapa codificado; fijar, para cada capa (10) de referencia y para dicha capa (12) con índice i de capa y si bandera_presente_id_capa_nuh_vps >= 0, su identificador de capa igual a su índice de capa. recuperar, para cada capa (10) y para dicha capa (12) con índice i de capa y si bandera_presente_id_capa_nuh_vps >= 1, su identificador de capa de un vector nuh_en_id_capa[i], i ∈ [1, capas_max_vps_menos1], en donde capas_max_vps_menos1 + 1 indica el número máximo de capas y nuh_en_id_capa[i] indica un identificador de capa para una capa con índice i de capa; y decodificar (S3) una imagen (22) de dicha capa (12) con índice i de capa basada en al menos una imagen (20) previamente decodificada en una capa (10) de dichas múltiples capas (10, 12, 14) identificada en base a dichos identificadores de capa.
Description
5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Codificacion y decodificacion de flujo de video multicapa Campo tecnico
Las realizaciones se relacionan de manera general al procesamiento de un flujo de video multicapa, y en particular a la decodificacion y codificacion de dicho flujo de video multicapa.
Antecedentes
La HECV (Codificacion de Video de Alta Eficiencia) es el estandar de codificacion de video de la siguiente generacion que actualmente esta en proceso de estandarizacion. La HECV mejorara de manera sustancial la eficiencia de codificacion comparada con el H-264/Codificacion de Video Avanzada (AVC) de ultima generacion. El foco inicial del desarrollo de la HECV estaba en el video mono, esto es una vista de camara, a una calidad y tasa de bit fija, esto es no escalable. Ahora las extensiones multicapa del estandar HECV estan bajo preparacion, por ejemplo una extension escalable, una extension multivista, y una extension 3D. Estas extensiones requieren soporte multicapa. Un flujo de bits HEVC sin extensiones se puede considerar un flujo de bits de capa unica, esto es representa el video en una unica representacion, por ejemplo una unica vista de video, una unica resolucion y una unica calidad. En las extensiones multicapa, se incluye normalmente un flujo de bits HECV de capa unica como una “capa base”. En extensiones multivistas o 3D, las capas adicionales pueden representar las vistas de video adicionales capturadas desde diferentes posiciones de camara o, por ejemplo, informacion de profundidad. En extensiones de escalabilidad, las capas adicionales pueden representar el video con una resolucion de imagenes de video adicional, normalmente mayor, o con una mayor fidelidad de pixel, o con otros espacios de color, o algo similar, proporcionando una calidad de video mejorada en relacion a la capa base.
Se usan decodificadores espedficos para decodificar los flujos de bits de la HECV con multiples capas, esto es decodificadores escalables o multivista/3D. Para decodificar los flujos de bits multicapa, en necesaria informacion sobre las dependencias de decodificacion entre las capas. Esta informacion necesita ser senalizada en el flujo de bits. La informacion tambien puede ser usada por los elementos de red para identificar las capas que se pueden descartar de la transmision si es necesaria la adaptacion de la tasa de bit, por ejemplo en caso de una congestion de red, o la adaptacion del formato, por ejemplo en caso de que un dispositivo de destino solo pueda decodificar o presentar una determinada resolucion maxima, o la adaptacion 2D/3D, por ejemplo en caso de que el dispositivo de destino solo pueda decodificar o presentar un determinado numero de vistas.
La informacion de dependencia en HEVC se obtiene normalmente de los asf llamados conjuntos de parametros, tales como el Conjunto de Parametros de Imagen (PPS), el Conjunto de Parametros de Secuencia (SPS), o el Conjunto de Parametros de Video (VPS), junto con otra informacion. Normalmente, cada conjunto de parametros se encapsula en una unidad de la Capa de Abstraccion de Red (NAL), esto es un paquete en el flujo de bits de video. Ya que los conjuntos de parametros contienen informacion que es esencial para la decodificacion, pueden ser enviados repetidamente en el flujo de bits, o ser transportados en una transmision “fuera de banda”, esto es transmitidos de manera separada del flujo de datos restante, por ejemplo sobre una conexion de confianza. Dicha transmision fuera de banda puede ocurrir, por ejemplo durante la configuracion de sesion, por ejemplo usando el Protocolo de Descripcion de Sesion (SDP).
Si los conjuntos de parametros se envfan en el inicio de sesion, la cantidad de datos del conjunto de parametros tiene un impacto en la duracion de la transmision y asf en el tiempo de inicio de sesion. Si los conjuntos de parametros se envfan “en banda”, esto es en el flujo de bits, el tamano de los conjuntos de parametros tiene un impacto en el flujo de bits general, y el impacto es mayor cuando los conjuntos de parametros se repiten en el flujo de bits por razones de resistencia al error. Por estas razones es importante que la informacion transportada en los conjuntos de parametros se exprese de manera compacta.
Un documento del Equipo de Colaboracion Conjunto sobre la Codificacion de Video (JCT-VC) de ITU-T SG 16 WP 3 y ISO/IEC JTC 1/SC 29/WG 11 en la 11a Reunion: Shangai, CN 10-19 Octubre del 2012 designado JCTVC-K1007 relacionado con la cabecera de la unidad NAL y el conjunto de parametros disenados para las extensiones HEVC incluye especificaciones de los disenos de los conjuntos de parametro para las extensiones de codificacion HEVC multivista/3D y escalable. Segun este documento, las dependencias de capa se senalizan como parte de la estructura de sintaxis vps_extension como se indica a continuacion:
5
10
15
20
25
30
35
40
vps_extension() {
Descriptor
para(i = 1; i < capas_max_vps_menos1; i++)[
// dependencia de capa
num_capas_ref_directa[i] u(6)
para(j = 0; j < num_capas_ref_directa[i]; j++) id_capa_ref[i][j] u(6)
}
}
num_capas_ref_directa[i] especifica el numero de capas de las que la capa i-esima depende directamente. id_capa_ref[i][j] identifica la capa j-esima de la que la capa i-esima depende directamente.
La solucion anteriormente mencionada requiere muchos bits para senalizar las dependencias de capa en el VPS. En concreto, para cada capa sobre la capa base en uso, se usan seis bits para codificar el numero de capas de referencia y otros seis bits se usan para identificar cada capa de referencia. Esto permite senalizar dependencias para los casos relevantes, sin embargo puede ser ineficiente en terminos de uso de bits.
Compendio
Es un objetivo general proporcionar un procesamiento eficiente de un flujo de video multicapa.
Es un objetivo particular senalizar las dependencias de capa de una manera eficiente para un flujo de video multicapa.
Estos y otros objetivos se cumplen por la invencion segun lo establecido en las reivindicaciones adjuntas.
Breve descripcion de los dibujos
Las realizaciones, junto con los objetivos y ventajas adicionales de las mismas, se pueden entender mejor haciendo referencia a la siguiente descripcion tenida en cuenta junto con los dibujos adjuntos, en los cuales:
La Fig. 1 ilustra de manera esquematica un ejemplo de un flujo de video multicapa;
La Fig. 2 ilustra de manera esquematica otro ejemplo de un flujo de video multicapa;
La Fig. 3 ilustra un ejemplo de una parte codificada de una imagen en un flujo de video multicapa;
La Fig. 4 ilustra un ejemplo de un paquete de datos de un flujo de video multicapa;
La Fig. 5 es un diagrama de flujo que ilustra un metodo para decodificar un flujo de video multicapa codificado segun una realizacion;
La Fig. 6 es un diagrama de flujo que ilustra un metodo para determinar la relacion de decodificacion para un flujo de video multicapa segun una realizacion;
La Fig. 7 es un diagrama de flujo que ilustra un metodo para determinar la relacion de decodificacion para un flujo de video multicapa segun otra realizacion;
La Fig. 8 es un diagrama de flujo que ilustra un paso opcional, adicional del metodo de la Fig. 7;
La Fig. 9 es un diagrama de flujo que ilustra un metodo para codificar un flujo de video multicapa segun una realizacion;
La Fig. 10 es un diagrama de flujo que ilustra un metodo para determinar la informacion de relacion de codificacion para un flujo de video multicapa segun una realizacion;
La Fig. 11 es un diagrama de flujo que ilustra un metodo para determinar la informacion de relacion de codificacion para un flujo de video multicapa segun otra realizacion;
La Fig. 12 es un diagrama de bloques esquematico de un decodificador segun una realizacion;
5
10
15
20
25
30
35
40
45
50
La Fig. 13 es un diagrama de bloques esquematico de un dispositivo para determinar la relacion de decodificacion segun una realizacion;
La Fig. 14 es un diagrama de bloques esquematico de un dispositivo para determinar la relacion de decodificacion segun otra realizacion;
La Fig. 15 es un diagrama de bloques esquematico de un codificador segun una realizacion;
La Fig. 16 es un diagrama de bloques esquematico de un dispositivo para determinar la relacion de codificacion segun una realizacion;
La Fig. 17 es un diagrama de bloques esquematico de un dispositivo para determinar la relacion de codificacion segun otra realizacion;
La Fig. 18 es un diagrama de bloques esquematico que ilustra un ejemplo de una implementacion particular de dispositivos segun las realizaciones;
La Fig. 19 es un resumen esquematico de la codificacion de un flujo de video multicapa, la transmision de un flujo de video multicapa codificado, la extraccion opcional de un subflujo de video multicapa y la decodificacion y presentacion de un flujo de video multicapa;
La Fig. 20 es un diagrama que ilustra el numero de bits requeridos para senalizar las dependencias de capa cuando cada capa con un mdice de capa i > 1 tiene una capa de referencia;
La Fig. 21 es un diagrama que ilustra el numero de bits requeridos para senalizar las dependencias de capa cuando cada capa con un mdice de capa i > 2 tiene dos capas de referencia y la capa con mdice de capa i = 1 tiene una capa de referencia;
La Fig. 22 es un diagrama que ilustra el numero de bits requeridos para senalizar las dependencias de capa cuando cada capa con un mdice de capa i > 1 tiene el numero maximo de capas de referencia que es posible; y
La Fig. 23 ilustra de manera esquematica otro ejemplo de un flujo de video multicapa.;
Descripcion detallada
En todos los dibujos, los mismos numeros de referencia se usan para elementos similares o correspondientes.
Las presentes realizaciones se refieren de manera general a flujos y secuencias de video multicapa y en particular a la codificacion y decodificacion de dichos flujos de video multicapa. Las realizaciones proporcionan una manera eficiente de senalizacion de las dependencias de capas para el flujo de video multicapa, permitiendo de este modo una reduccion en el numero de bits requeridos para senalizar dichas dependencias de capas comparado con las tecnicas de la tecnica anterior.
El video multicapa se refiere de manera general al video multivista, video 3D y/o video escalable. En el video multivista una escena se captura desde diferentes vistas de camara como se indica en la Fig. 1 que muestra tres de dichas vistas de camara. El flujo 1 de video multicapa comprende entonces, en este ejemplo, las imagenes 20, 22, 24 de las tres diferentes capas o vistas 10, 12, 14. Las imagenes 20, 22, 24 en el flujo 1 de video multicapa se pueden codificar o decodificar usando imagenes de referencia que pertenecen a la misma capa o vista 10, 12, 14 o que pertenecen a otra capa o vista 10, 12, 14. La Fig. 1 ilustra de manera esquematica las relaciones de codificacion y decodificacion entre las imagenes mediante flechas. Por ejemplo, la imagen 24 se codifica y decodifica respecto a una imagen anterior 22, segun el orden de codificacion y decodificacion, que pertenece a la misma capa o vista 12. Esta imagen 22, sin embargo, se codifica y decodifica usando una imagen anterior de la misma capa o vista 12 y otra imagen 20 que pertenece a otra capa o vista 10. En la Fig. 1 la capa o vista 10 es la capa o vista base, mientras que las otras capas o vistas 12, 14 son capas o vistas adicionales, tambien conocidas como capas de mejora o vistas dependientes.
En el video 3D la capa o las capas adicionales pueden llevar informacion de profundidad u otros datos junto con los datos de pfxeles de la capa base para generar video 3D.
En el video escalable la capa o las capas adicionales pueden representar el video en resoluciones de imagenes de video mayores, mayor fidelidad de pfxeles y/u otros espacios de color para proporcionar una calidad de video mejorada en relacion a la capa base del video escalable.
La Fig. 23 ilustra de manera esquematica un ejemplo de un flujo 1 de video multicapa para video escalable. La figura indica la organizacion de las imagenes 20, 22, 24 en varias capas escalables 10, 12, 14, donde la capa 10 indica la capa base.
La Fig. 2 ilustra de manera esquematica la escalabilidad temporal en la cual cada capa 12, 14 de mejora perfecciona la tasa de fotogramas.
5
10
15
20
25
30
35
40
45
50
55
Una imagen de un flujo de video multicapa puede estar compuesta por una o mas fracciones. Una fraccion es una parte de una imagen decodificable de manera independiente. En otras palabras, si una fraccion se pierde, las otras fracciones de esa imagen son aun decodificables.
La codificacion de una fraccion genera una representacion codificada 30 de la fraccion que comprende una cabecera 32 de fraccion y datos 34 de fraccion como se muestra en la Fig. 3. La presentacion codificada 30 se emite desde el proceso de codificacion como una asf llamada unidad 44 de Capa de Adaptacion de Red (NAL) como se muestra en la Fig. 4. A la unidad NAL 44 se le pueden anadir cabeceras 42 para formar un paquete 40 de datos que se puede transmitir como parte de un flujo de video multicapa codificado desde un codificador a un decodificador. Por ejemplo, se podnan anadir las cabeceras 42 del Protocolo de Transporte en Tiempo Real (RTP), el Protocolo de Datagramas de Usuario (UDP) y el Protocolo de Internet (IP) a la unidad NAL 44. Esta forma de empaquetado de unidades NAL 44 constituye simplemente un ejemplo en relacion con el transporte de video. Son posibles otros enfoques en el manejo de las unidades NAL 44, tales como el formato de archivo, los flujos de transporte MPEG-2, los flujos de programa MPEG-2, etc. La Fig. 19 ilustra de manera esquematica la generacion de un flujo 2 de video multicapa desde un flujo 1 de video multicapa de entrada que comprende multiples capas 10, 12, 14 de imagenes 20, 22, 24.
Un aspecto de las realizaciones relaciona a un metodo de decodificacion un flujo 2 de video multicapa codificado que define multiples capas 10, 12, 14 de imagenes 20, 22, 24. Cada capa 10, 12, 14 de las multiples capas 10, 12, 14 tiene un respectivo identificador de capa. El metodo comprende la recuperacion, para una capa 12 con un mdice de capa de las multiples capas 10, 12, 14, de la informacion de relacion de decodificacion basada en el flujo 2 de video multicapa codificado. La informacion de relacion de decodificacion define un respectivo mdice de capa de cualquier capa 10 de referencia de las multiples capas 10, 12, 14 sobre la que la capa 12 depende directamente. El metodo tambien comprende la correspondencia, para cada capa 10 de referencia y para la capa 12, de su mdice de capa a un identificador de capa basado en la informacion de correspondencia de una relacion de correspondencia jerarquica entre los identificadores de capa y los indices de capa. La informacion de correspondencia es recuperada basada en el flujo 2 de video multicapa codificado. El metodo ademas comprende la decodificacion de una imagen 22 de la capa 12 basada en al menos una imagen 20 anteriormente decodificada en una capa 10 de las multiples capas 10, 12, 14 identificada en base a los identificadores de capa hechos corresponder de los indices de capa.
Una realizacion de este aspecto se describira ahora con mas detalle con referencia al diagrama de flujo de la Fig. 5. La Fig. 5 por lo tanto describe un metodo para decodificar un flujo de video multicapa codificado, tal como un flujo de video multivista, un flujo de video 3D o un flujo de video escalable. El flujo de video multicapa define o comprende multiples capas de imagenes. Cada una de dichas capas del flujo de video multicapa tiene un respectivo identificador de capa.
El metodo normalmente comienza en el paso S1 donde se recupera la informacion de relacion de decodificacion para una capa (la actual) de las multiples capas en el flujo de video multivista. La capa actual para la que se recupera la informacion de relacion de decodificacion tiene un mdice de capa. Asf, la capa actual tiene, ademas del anterior identificador de capa identificado que es un identificador general o “global” para la capa actual, un mdice de capa que es un mdice empleado para senalizar las dependencias de capa. Por lo tanto, el mdice de capa se configura preferiblemente para ser usado en lugar del identificador de capa para la senalizacion de las dependencias de capa.
La informacion de relacion de decodificacion recuperada en el paso S1 define un respectivo mdice de capa de cualquier capa de referencia de las multiples capas en el flujo de video multivista, sobre las cuales la capa actual depende directamente. Asf, la informacion de relacion de decodificacion define un respectivo mdice de capa a cada capa de referencia de la que la capa actual depende directamente.
Como se usa en la presente memoria una capa X depende directamente (o es directamente dependiente) de una capa Y si por ejemplo se necesita utilizar una prediccion de pixel de la capa Y en la capa X para decodificar la capa X. Asf una imagen que pertenezca a la capa X se codifica y por ende se decodifica basada en una imagen de referencia que pertenece a la capa Y.
En consecuencia, si una capa X depende directamente (o es directamente dependiente) de un capa Y pero no depende directamente (no es directamente dependiente) de una capa Z pero la capa Y directamente (o indirectamente) depende (es directa o indirectamente dependiente) de la capa Z entonces la capa X depende indirectamente (es indirectamente dependiente) de la capa Z. Una capa X depende (es dependiente) de una capa Z si bien depende directamente (es directamente dependiente) de la capa Z o indirectamente depende (es indirectamente dependiente) de la capa Z.
Si una capa X depende directamente de una capa Y esta capa Y es una capa de referencia directa para la capa X.
Con referencia a la Fig. 2 o 23, la capa con numero de referencia 12 depende directamente de la capa base 10. La capa con numero de referencia 14 depende directamente de la capa con numero de referencia 12 e indirectamente depende de la capa base 10.
5
10
15
20
25
30
35
40
45
50
55
La informacion de relacion de decodificacion recuperada en el paso S1 enumera preferiblemente los respectivos indices de capa de las capas de referencia, de los cuales la capa actual depende. Por lo tanto, tambien las capas de referencia tienen un respectivo mdice de capa ademas de su respectivo identificador de capa.
En una realizacion, la informacion de relacion de decodificacion esta presente en un conjunto de parametros incluido como una parte del flujo de video multicapa, por ejemplo en una unidad NAL, o proporcionado fuera de banda con respecto al flujo de video multicapa. El conjunto de parametros preferiblemente tiene un identificador de conjunto de parametros asignado que permite la identificacion del conjunto de parametros relevante. Dicho identificador de conjunto de parametros preferiblemente se incluye despues en el flujo de video multicapa, tal como presente en una cabecera de fraccion de una representacion codificada de una fraccion. De manera alternativa, el (primer) conjunto de parametros se incluye en un segundo conjunto de parametros con un segundo identificador de conjunto de parametros que se incluye en el flujo de video multicapa por ejemplo en la cabecera de fraccion. En una alternativa adicional, el (primer) identificador de conjunto de parametros se incluye en un segundo conjunto de parametros con un segundo identificador de conjunto de parametros que esta incluido en un tercer conjunto de parametros que tiene un tercer identificador de conjunto de parametros que esta incluido en el flujo de video multicapa por ejemplo en la cabecera de fraccion.
En un primer ejemplo, la informacion de relacion de decodificacion se podna incluir en un VPS identificado por un identificador de VPS incluido en un SPS que esta identificado por un identificador de SPS incluido en un PPS que tiene un identificador de PPS asociado incluido en una cabecera de fraccion.
En un segundo ejemplo, la informacion de relacion de decodificacion se podna incluir en un SPS que esta identificado por un identificador SPS incluido en un PPS que tiene un identificador PPS asociado incluido en una cabecera de fraccion.
En un tercer ejemplo, la informacion de relacion de decodificacion se podna incluir en un PPS que tiene un identificador de PPS asociado incluido en una cabecera de fraccion.
La informacion de relacion de decodificacion se podna, de manera alternativa o adicional, incluir en un mensaje suplementario, por ejemplo en un mensaje de Informacion de Mejora Suplementaria (SEI), tal como en un mensaje SEI de conjuntos de parametros activos.
En otra realizacion, la informacion de relacion de decodificacion esta presente en los datos de la extension multicapa incluidos como parte del flujo de video multicapa o proporcionados fuera de banda. Dichos datos de la extension multicapa podnan estar en forma de, por ejemplo, datos de la extension multivista, datos de la extension 3D o datos de la extension escalable. Una alternativa es tener datos de extension relacionados a un conjunto de parametros, tales como los datos de la extension del VPS, los datos de la extension del PPS, los datos de la extension del SPS, o los datos de la extension del PPS, que podnan estar presentes como una extension opcional de las estructuras de datos del VPS, SPS, o PPS, por ejemplo dependiendo de una bandera. Esto es, un VPS/SPS/PPS podna tener una bandera de extension que indique si estan presentes datos adicionales, que extienden el VPS/SPS/PPS.
En una realizacion adicional, la informacion de relacion de decodificacion esta presente en las representaciones codificadas del flujo de video multicapa codificado. Por ejemplo, la informacion de relacion de decodificacion podna estar presente en una respectiva cabecera de fraccion de una o mas representaciones codificadas. En tal caso, no son necesarios identificadores a otras estructuras de datos de o asociados con el flujo de video multicapa. Sin embargo, este enfoque aumenta el tamano total en terminos de numero de bits de las representaciones codificadas que llevan la informacion de correspondencia.
El siguiente paso S2 de la Fig. 5 comprende la correspondencia del mdice de capa con un identificador de capa para cada capa de referencia definida por la informacion de relacion de decodificacion recuperada en el paso S1 y para la capa actual. Esta correspondencia de indices a identificadores en el paso S2 se realiza basada en la informacion de correspondencia de una relacion de correspondencia jerarquica entre los identificadores de capa y los indices de capa. Esta informacion de correspondencia se recupera preferiblemente basada en el flujo de video multicapa codificado. La informacion de correspondencia se podna recuperar de un conjunto de parametros, de una extension de un conjunto de parametros, de otra estructura de datos de o asociada con el flujo de video multicapa codificado, de una representacion codificada de una fraccion en el flujo de video multicapa codificado, etc. La informacion de correspondencia se proporciona preferiblemente en la misma estructura de datos que la informacion de relacion de decodificacion pero podna, de manera alternativa, estar presente en otra estructura de datos.
La informacion de correspondencia define una relacion de correspondencia jerarquica entre los identificadores de capa y los indices de capa. La correspondencia jerarquica indica tal como se usa en la presente memoria que los indices de capa se asignan a diversas capas de acuerdo con las dependencias de capa. En una realizacion particular, las capas se indexan de manera jerarquica de manera tal que una capa con un mdice i de capa dado puede tener solo capas de referencia de indices j menores, esto es j < i. Asf, el respectivo mdice j de capa asignado a la capa o a las capas de las multiples capas en el flujo de video multicapa de la que la capa actual con mdice i de capa es dependiente es preferiblemente menor que el mdice i de capa. Esto implica ademas que una capa con mdice i de capa puede tener a los sumo i capas de referencia, j=0,..., i-1.
El uso de los indices de capa en lugar de los identificadores de capa permite una manera mas eficiente en bits de senalizar las dependencias de capa. Generalmente, los identificadores de capa, como se indica en la seccion de compendio, son de seis bits por HEVC. Los identificadores de capa pueden, sin embargo, ser asignados de manera poco dispersa, esto es algunos valores de los identificadores de capa de 6 bits nunca se usan. La correspondencia 5 jerarquica entre los identificadores de capa y los indices de capa segun una realizacion permite el uso de indices de capa que se asignan de manera no dispersa, esto es todos los valores de los indices de capa se usan.
El metodo como se muestra en la Fig. 5 comprende ademas un paso S3, que comprende decodificar una imagen de la capa actual basada en al menos una imagen previamente decodificada en una capa de las multiples capas en el flujo de video multicapa, donde esta capa se identifica en base a los identificadores de capa hechos corresponder a 10 partir de los indices de capa. Por lo tanto, la informacion de relacion de decodificacion recuperada en el paso S1 se usa para proporcionar los indices de capa de cualquier capa de referencia. La informacion de correspondencia se usa despues en el paso S2 para hacer corresponder el respectivo mdice de capa definido por la informacion de relacion de decodificacion a un respectivo identificador de capa y tambien hacer corresponder el mdice de capa de la capa actual a un identificador de capa. Una imagen, o mas correctamente al menos una imagen, en la capa actual 15 se decodifica despues basada en al menos una imagen previamente decodificada, esto es una imagen de referencia, en una capa identificada en base a al menos uno de los identificadores de capa obtenidos en la correspondencia hecha en el paso S2. La imagen de referencia usada en el paso S3 de decodificacion podna ser una imagen de referencia que pertenece a la capa actual o a otra capa del flujo de video multicapa. Si se ha de usar mas de una imagen de referencia como base de decodificacion para la imagen a decodificar en el paso S3 estas 20 imagenes de referencia podnan pertenecer a la misma o a diferentes capas del flujo de video multicapa.
Los indices de capa empleados por las realizaciones para senalizar las dependencias de capa pueden ser diferentes de los identificadores de capa. El numero de capas es normalmente menor que el numero de diferentes identificadores de capa posibles, tales como 64 posibles identificadores de capa para una representacion del identificador de 6 bits. Asf, el numero de bits empleados para senalizar un mdice de capa es normalmente menor 25 que el numero de bits usado para senalizar un identificador de capa. Ademas, mientras que el identificador de capa esta representado por un elemento de sintaxis de un numero de bits fijo, tal como un codigo u(6), que requiere seis bits para representar el identificador de capa, un mdice de capa esta representado preferiblemente por un elemento de sintaxis de una longitud variable, tal como un codigo u(v). A este respecto, el numero v de bits usado para indicar el mdice de capa se puede determinar basado en el maximo numero de capas usadas, por ejemplo como 30 v=ceil(log2(capas_max)), donde capas_max indica el numero maximo de capas usado, esto es capas_max = capas_max_vps_menos1 + 1, log2(x) indica un logaritmo en base 2 de x y ceil(y) indica el menor numero entero mayor o igual que y.
En un ejemplo de implementacion, los siguientes elementos de sintaxis se podnan usar para indicar la informacion de relacion de decodificacion y la informacion de correspondencia.
35 vps_extension() { Descriptor
para(i = 1; i < capas_max_vps_menos1; i++){
nuh_en_id_capa[i] u(6)
}
40
para(i = 1; i < capas_max_vps_menos1; i++){
num_capas_ref_directa[i] u(v)
para(j=0;j < num_capas_ref_directa [i];j++)
mdice_capa_ref[i][j] u(v)
45 }
}
En el primer bucle i representa el mdice de capa y nuh_en_id_capa [i] indica el identificador de capa para el mdice de capa i. Por lo tanto, estos elementos de sintaxis constituyen la informacion de correspondencia. En el segundo bucle num_capas_ref_directa[i] especifica el numero de capas de las que la capa con el mdice de capa i 50 directamente depende. mdice_capa_ref[i][j] identifica el mdice de capa de la capa j-esima de la que la capa con mdice de capa i depende directamente. En esta implementacion de ejemplo se usa una relacion jerarquica de capa de manera tal que una capa con mdice i pueda solo tener capas de referencia que tengan indices j < i.
La informacion de correspondencia como se usa en el paso S2 y la informacion de relacion de decodificacion recuperada en el paso S1 juntas permiten una senalizacion eficiente de las dependencias de capa explotando una relacion de capa jerarquica y una asignacion densa de indices de capa. Como consecuencia, el numero de bits requeridos para senalizar las dependencias de capa se puede reducir comparado a usar identificadores de capa.
5 Asf, el uso de indices de capa para senalizar las dependencias de capa en lugar de los identificadores de capa y el uso de elementos de sintaxis indexadores de capa jerarquicos o palabras de codigo de minima longitud pueden ser usados para definir la informacion de relacion de decodificacion.
En ciertas realizaciones los indices de capa pueden ser los mismos que los identificadores de capa, esto es indice_capa = id_capa. Sin embargo, en tales casos los identificadores de capa se organizan preferiblemente de 10 manera jerarquica con respecto a las dependencias de capa como se describe en la presente memoria. En tales casos, los datos de extension del VPS descritos anteriormente se podnan representar segun se muestra a continuacion:
vps_extension() { Descriptor
15 bandera_presente_id_capa_nuh_vps
para(i = 1; i < capas_max_vps_menos1; i++){
si(bandera_presente_id_capa_nuh_vps)
nuh_en_id_capa[i] u(6)
}
20 ...
}
Si bandera_presente_id_capa_nuh_vps es igual a cero entonces no hay correspondencia explfcita entre los identificadores de capa y los indices de capa. En tal caso, se puede concluir implfcitamente que nuh_en_id_capa [i]
25 Por lo tanto, en una realizacion el paso S2 de correspondencia de la Fig. 5 comprende recuperar una bandera bandera_presente_id_capa_nuh_vps basada en el flujo de video multicapa codificado, tal como de una extension del VPS como se indico anteriormente. El paso de correspondencia S2 comprende ademas fijar, para cada capa de referencia y para la capa y si bandera_presente_id_capa_nuh_vps = 0, su identificador de capa igual a su mdice de capa. El paso de correspondencia S2 tambien comprende recuperar, para cada capa de referencia y para la capa y 30 si bandera_presente_id_capa_nuh_vps = 1, su identificador de capa de un vector nuh_en_id_capa [i], i e [1, capas_max_vps_menos1], en donde capas_max_vps_menos1 + 1 indica el numero maximo de capas y nuh_en_id_capa[i] indica el identificador de capa para la capa con el mdice de capa i.
Otro aspecto de las realizaciones se relaciona a un metodo para codificar un flujo 1 de video multicapa que define multiples capas 10, 12, 14 de imagenes 20, 22, 24. Cada capa 10, 12, 14 de las multiples capas 10, 12, 14 tiene un 35 respectivo identificador de capa. El metodo comprende hacer corresponder de manera jerarquica, para cada capa 10, 12, 14 de las multiples capas 10, 12, 14, un identificador de capa de la capa 10, 12, 14 a un mdice de capa basado en las dependencias de codificacion entre las multiples capas 10, 12, 14. El metodo tambien comprende determinar la informacion de relacion de codificacion que define un respectivo mdice de capa de cualquier capa 10 de referencia de las multiples capas 10, 12, 14, de las que la capa 12 de las multiples capas 10, 12, 14 depende 40 directamente. El metodo ademas comprende generar un flujo 2 de video multicapa mediante la codificacion de las imagenes 20, 22, 24 de las multiples capas 10, 12, 14 basado en las multiples dependencias de codificacion y asociando la informacion de relacion de codificacion con el flujo 2 de video multicapa codificado.
La Fig. 9 es un diagrama de flujo que ilustra una realizacion del metodo de codificacion de un flujo de video multicapa. En metodo comienza en el paso S40, que comprende hacer corresponder de manera jerarquica un 45 respectivo identificador de capa de cada capa en el flujo de video multicapa a un respectivo mdice de capa. Esta correspondencia entre identificadores de capa e indices de capa se realiza basada en las dependencias de codificacion entre las multiples capas del flujo de video multicapa. Asf, la asignacion de indices de capa a las capas se realiza basada en como las diversas capas dependen las unas de las otras. En concreto, la asignacion de los indices de capa durante la correspondencia del paso S40 se realiza tal que una capa con un mdice de capa 50 asignado i solo pueda tener capas de referencia, esto es capas de las que dependa, que tengan indices j de capa, donde j es mas pequeno que i. Asf, la informacion dada de como las capas del flujo de video multivista dependen de los otros identificadores de capa de la capas se hace corresponder a los indices de capa para formar la relacion de capa jerarquica.
5
10
15
20
25
30
35
40
45
50
55
El paso S41 del metodo comprende determinar la informacion de relacion de codificacion que define un respectivo mdice de capa de cualquier capa de referencia de la que una capa actual del flujo de video multicapa depende directamente. Asf, la informacion de relacion de codificacion especifica el mdice de capa o los indices de todas las capas de referencia para la capa actual.
Un flujo de video multivista es generado en el paso S42 mediante la codificacion de las imagenes de las multiples capas basadas en y segun a las dependencias de codificacion entre las multiples capas. Asf, P o B fracciones en las diversas capas se codifican usando una o mas imagenes de referencia que pertenecen a la misma capa que la fraccion P o B o que pertenecen a una de las capas de referencia para la capa de la fraccion P o B. La imagen podna, de manera alternativa, ser una imagen I. En tal caso, las imagenes de referencia no se manejan de la misma manera que las imagenes de referencia “temporales” normales. Aun una imagen I, por ejemplo en una extension de HEVC escalable podna tener una imagen de referencia, para “prediccion entre capas”.
El flujo de video multivista comprende preferiblemente las respectivas representaciones codificadas 30 de fracciones como se muestra en la Fig. 3 para cada fraccion del flujo de video multicapa. Las representaciones codificadas 30 se empaquetan de manera ventajosa en unidades NAL 44 como se muestra en la Fig. 4. El flujo de video multicapa codificado puede comprender tambien unidades NAL 44 que comprenden otros datos, tales como conjuntos de parametros, que las representaciones codificadas 30.
La informacion de relacion de codificacion determinada en el paso S41 se asocia, en el paso S43 con el flujo de video multicapa codificado generado en el paso S42. Este paso S43 se podna realizar antes del paso S42 o al menos parcialmente en paralelo con el paso S42. La asociacion de la informacion de relacion de codificacion con el flujo de video multicapa se podna realizar segun diversas realizaciones como se ha descrito anteriormente en la presente memoria. Por ejemplo, la informacion de relacion de codificacion podna estar presente en un conjunto de parametros en cuyo caso se incluye un identificador de conjunto de parametros en una cabecera de fraccion de al menos una representacion codificada de una fraccion en el flujo de video multicapa o en otro conjunto de parametros que es identificable basado en los datos incluidos en la cabecera de fraccion. De manera alternativa, la informacion de relacion de codificacion podna estar presente en una extension del conjunto de parametros o de hecho en las representaciones codificadas de fracciones.
En una realizacion particular la informacion de correspondencia empleada en el paso S40 para hacer corresponder de manera jerarquica un respectivo identificador de capa a un respectivo mdice de capa se genera y se asocia preferiblemente con el flujo de video multicapa. En tal caso, esta informacion de correspondencia se proporciona preferiblemente en la misma estructura de datos que la informacion de relacion de codificacion segun se discutio anteriormente en la presente memoria.
Los aspectos de las realizaciones tambien se relacionan a los metodos de determinacion de las relaciones de decodificacion para un flujo de video multicapa codificado y de determinacion de las relaciones de codificacion para un flujo de video multicapa. Estas realizaciones se podnan aplicar de manera ventajosa al metodo de decodificacion como se muestra en la Fig. 5 o al metodo de codificacion como se muestra en la Fig. 9. De manera alternativa, estos metodos de determinacion de las relaciones de codificacion/decodificacion se podnan usar de manera separada a partir del metodo de la Fig. 5 y del metodo de la Fig. 9.
Si estos metodos de determinacion de las relaciones de codificacion/decodificacion se usan separados del metodo de la Fig. 5 y del metodo de la Fig.9, los metodos podnan bien usar indices de capa para las multiples capas en el flujo de video multicapa o identificadores de capa en el flujo de video multicapa. Asf, en el ultimo caso no es necesaria la correspondencia explfcita de los identificadores de capa en indices de capa. Para tales caso, el mdice de capa/mdices de capa como se usan en la presente memoria con referencia a los metodos de determinacion de las relaciones de codificacion/decodificacion se pueden reemplazar por un identificador de capa/identificadores de capa. Se prefiere despues que los identificadores de capa esten organizados jerarquicamente.
Un aspecto de las realizaciones se relaciona a un metodo de determinacion de la relacion de decodificacion para un flujo 2 de video multicapa codificado que define multiples capas 10, 12, 14 de las imagenes 20, 22, 24. El metodo comprende la recuperacion basada en el flujo 2 de video multicapa codificado, de al menos una bandera de
decodificacion directa que indica una relacion de codificacion directa entre una capa 12 con mdice i de capa de las
multiples capas 10, 12, 14 y una capa 10 con mdice j de capa de las multiples capas 10, 12, 14 i t j. El metodo tambien comprende determinar la informacion que define cualquier relacion de decodificacion entre las multiples capas 10, 12, 14 basada en al menos una bandera de decodificacion directa.
La Fig. 6 es un diagrama de flujo que ilustra una realizacion de este metodo para determinar la relacion de
decodificacion para un flujo de video multicapa que define multiples capas de imagenes. El metodo comienza en el
paso S10, que comprende la recuperacion de al menos una bandera de decodificacion directa basada en el flujo de video multicapa. La al menos una bandera de decodificacion directa podna estar presente en un conjunto de parametros, tales como el PPS, SPS o VPS, una extension del conjunto de parametros, tal como una extension del PPS, una extension del SPS o una extension del VPS, estar presente en una representacion codificada de una fraccion, tal como en una cabecera de fraccion, del flujo de video multicapa codificado, o de otra forma ser proporcionada en una estructura de datos de o asociada con el flujo de video multicapa codificado. Asf, el flujo de
5
10
15
20
25
30
35
40
45
50
55
video multicapa codificado bien comprende la al menos una bandera de decodificacion directa o comprende informacion, tal como un identificador, que permite la identificacion de la estructura de datos que comprende la al menos una bandera de decodificacion directa. La recuperacion en el paso S10 podna por lo tanto ser realizada mediante el analisis y la decodificacion de un conjunto de parametros o de una extension del conjunto de parametros para obtener la bandera de decodificacion directa. De manera alternativa y si el conjunto de parametros o la extension del conjunto de parametros ya se ha analizado y decodificado y los datos del conjunto de parametros o de la extension del conjunto de parametros se han almacenado de forma decodificada en una memoria, el paso S10 podna comprender la lectura o la recuperacion de al menos una bandera de decodificacion directa desde dicha memoria. Si la al menos una bandera de decodificacion directa esta presente en una representacion codificada de un paso S10 de fraccion preferiblemente se recupera la al menos una bandera de decodificacion directa en relacion con el analisis y la decodificacion de la cabecera de fraccion en la representacion codificada.
La al menos una bandera de decodificacion directa recuperada en el paso S10 indica una relacion de codificacion directa entre una capa con un mdice i de capa (capa actual) de las multiples capas y una capa con un mdice j de capa de las multiples capas, donde i t j. Asf, la al menos una bandera de decodificacion directa indica si hay alguna codificacion directa y por tanto una relacion de decodificacion entre las capas con indices i y j de capa. En una realizacion particular, la bandera de decodificacion directa indica si la capa con mdice j de capa es una capa de referencia directa para la capa con mdice i de capa.
La al menos una bandera de decodificacion directa es preferiblemente una bandea de 1 bit, esto es puede asumir bien el valor 0bin o el valor 1 bin. En tal caso, una bandera de decodificacion directa fijada a 1 bin podna indicar que la capa con mdice j de capa es una capa de referencia directa para la capa con mdice i de capa, mientras que en cambio una bandera de decodificacion directa fijada a 0bin indica que la capa con mdice j de capa no es una capa de referencia directa para la capa con mdice i de capa.
El metodo tambien comprende determinar, en el paso S11, la informacion que define cualquier relacion de codificacion entre las multiples capas en el flujo de video multicapa basada en la al menos una bandera de decodificacion directa recuperada en el paso S10. Asf, la al menos una bandera de decodificacion directa recuperada en el paso S10 se usa para determinar la informacion que define la relacion de decodificacion entre las diversas capas en el flujo de video multicapa.
El metodo termina entonces en una realizacion.
En una realizacion alternativa la informacion determinada en el paso S11 se usa como la informacion de relacion de decodificacion en el metodo de decodificacion de un flujo de video multicapa codificado descrito en relacion con la Fig. 5. En tal caso, el metodo continua a partir del paso S11 de la Fig. 6 hasta el paso S2 de la Fig. 5.
Esto significa que en esta realizacion alternativa los indices de capa se asignan jerarquicamente a las diversas capas para que una capa con mdice de capa i tenga cualquier capa de referencia que tenga mdice j < i. En tal caso, las banderas de decodificacion directa permiten una manera muy compacta y eficiente de senalizar las dependencias de capa para el flujo de video multicapa.
La determinacion de la informacion en el paso S11 podna, lo cual se discute en mas detalle mas delante, involucrar la generacion o el calculo de la informacion usando al menos una bandera de decodificacion directa recuperada en el paso S10. En una realizacion alternativa, la determinacion de la informacion que define cualquier relacion de decodificacion entre las multiples capas podna simplemente ser la determinacion del valor o de los valores de la al menos una bandera de decodificacion directa. Asf, en este caso los respectivos valores de la al menos una bandera de decodificacion directa segun lo decodificado podnan constituir la informacion determinada o proporcionada en el paso S11.
En una realizacion del paso S10 una respectiva bandera de dependencia directa se recupera para la capa con mdice i de capa para cada mdice j de capa basada en el flujo de video multicapa codificado. En esta realizacion j < i y la bandera de dependencia directa indica si la capa con mdice j de capa es una capa de referencia directa para la capa con mdice i de capa.
El paso S11 comprende preferiblemente, en esta realizacion, determinar la informacion que define cualquier capa con mdice j < i de capa de las cuales la capa con mdice i de capa depende basada en la bandera o banderas de dependencia directa recuperadas en el paso S10. Asf, la bandera o banderas de dependencia directa obtenidas en el paso S10 se usan para determinar la informacion que define la capa o las capas con los respectivos indices de capa menores que el mdice de capa de la capa actual (mdice i de capa) de las que la capa actual depende de manera directa o indirecta.
En una realizacion el paso S10 comprende la recuperacion, de un conjunto de parametros de video o una extension del conjunto de parametros de video asociada con el flujo de video multicapa codificado, de la al menos una bandera de decodificacion directa que indica la relacion de codificacion directa entre la capa con mdice i de capa y la capa con mdice j de capa.
10
15
20
25
30
35
40
En un realizacion particular el paso S10 preferiblemente comprende la recuperacion, para la capa con mdice i de capa, de una respectiva bandera de dependencia directa bandera_dependencia_directa[i][j] para cada mdice j de capa basada en el flujo de video multicapa codificado. En esta realizacion particular el paso S11 preferiblemente comprende la determinacion de un conjunto o coleccion de banderas de dependencia bandera_dependencia[i] para la capa con mdice i de capa. Este conjunto de banderas de dependencia se determina preferiblemente como bandera_dependencia[i] = bandera_dependencia_directa[i] + sumj=o...j-1 (bandera_dependencia_directa[i][j] x bandera_dependencia[j]).
• bandera_dependencia_directa[i] representa un vector, esto es una concatenacion de elementos en bandera_dependencia_directa[i][j];
• “+” representa una operacion O logica bit a bit;
• sumj=o...j-i(x(j)) representa una operacion O logica bit a bit sobre todo x(j) con j = 0...i-1; y
• “x” representa una operacion Y logica bit a bit entre cada elemento en bandera_dependecia[j] y bandera_dependencia_directa [i][j]
En tal caso, los elementos de sintaxis para senalizar las banderas de dependencia directa podnan ser como se define a continuacion.
para(i = 1; i < capas_max_vps_menos1; i++){ Descriptor
//dependencia de capa para(j = 0; j < i; j++){
bandera_dependencia_directa[i][j] u(1)
}
bandera_dependencia_directa[i][j] igual a cero indica preferiblemente que la capa con el mdice j de capa no es una capa de referencia directa para la capa con el mdice i de capa. bandera_dependencia_directa[i][j] igual a uno indica preferiblemente que la capa con el mdice j de capa es una capa de referencia directa para la capa con el mdice i de capa. Si no esta presente la bandera_dependencia_directa[i][j] se concluye que es igual a cero. capas_max_vps_menos1 + 1 indica el maximo numero posible de capas en el flujo de video multicapa.
Si esta realizacion se usa en relacion con el metodo de decodificacion como se muestra en la Fig. 5 las banderas de dependencia directa y la informacion de correspondencia se podna senalizar junta, tal como en una extension del VPS como se muestra mas adelante.
vps_extension() { Descriptor
para(i = 1; i < capas_max_vps_menos1; i++){
nuh_en_id_capa[i] u(6)
}
para(i = 1; i < capas_max_vps_menos1; i++){ para(j=0; j < i; j++)
bandera_dependencia_directa[i][j] u(1)
}
}
En otra realizacion el paso S10 de la Fig. 6 comprende la recuperacion, para una capa con mdice i de capa, de una bandera de referencia directa para cada mdice j de capa basada en el flujo de video multicapa codificado. En esta realizacion j > i y la bandera de referencia directa indica si la capa con mdice i de capa es una capa de referencia directa para la capa con mdice j de capa. El paso S11 comprende preferiblemente determinar la informacion que define cualquier capa con mdice j > i de capa para el cual la capa con mdice i de capa es una capa de referencia (directa o indirecta) basada en la bandera o banderas de referencia directa recuperadas en el paso S10.
5
10
15
20
25
30
35
40
45
En una realizacion particular el paso S10 comprende preferiblemente la recuperacion, para la capa con mdice i de capa, de una respectiva bandera de referencia directa bandera_referencia_directa[i][j] para cada mdice j de capa basada en el flujo de video de multicapa. El paso S11 comprende preferiblemente determinar un conjunto o coleccion de banderas de referencia bandera_referencia[i] para la capa con mdice i de capa. Este conjunto de banderas de referencia se determina preferiblemente como bandera_referencia[i] = bandera_referencia_directa[i] + sumj=i+i.jmax(bandera_referencia_directa[i][j] x bandera_referencia[j]).
• bandera_referencia[i] representa un vector, esto es una concatenacion de elementos en la bandera_referencia_directa[i][j];
• bandera_referencia_directa[i] representa un vector, esto es una concatenacion de elementos en la bandera_referencia_directa[i][j];
• “+” representa una operacion O logica bit a bit;
• sumj=i+i.jmax(x(j)) representa una operacion O logica bit a bit sobre todo x(j) con j = i+1...imax; donde imax representa el mdice de capa maximo; y
• “x” representa una operacion Y logica bit a bit entre cada elemento en la bandera_referencia[j] y bandera_referencia_directa[i][j]
En dicho caso, los elementos de sintaxis para senalizar las banderas de dependencia directa podnan ser como se definen a continuacion.
para(i = 1; i < capas_max_vps_menos1; i++){ Descriptor
//dependencia de capa
para(j = i+1; j < capas_max_vps_menos1; j++)
bandera_referencia_directa[i][j] u(1)
}
Una bandera_referencia_directa[i][j] igual a cero preferiblemente indica que la capa con mdice i de capa no es una capa de referencia directa para la capa con mdice j de capa. Una bandera_referencia_directa[i][j] igual a uno preferiblemente indica que la capa con mdice i de capa es una capa de referencia directa para la capa con mdice j de capa. Si no hay presente una bandera_referencia_directa[i][j] preferiblemente se concluye que es igual a cero.
Si esta realizacion se usa en relacion con el metodo de decodificacion que se muestra en la Fig. 5 las banderas de referencia directa y la informacion de correspondencia se podnan senalizar juntas, tal como en una extension del VPS como se muestra mas adelante. Esta realizacion entonces tiene preferiblemente una relacion de capas jerarquica ya que una capa con mdice i de capa preferiblemente solo puede ser una capa de referencia para capas con mdice j > i de capa.
vps_extension() { Descriptor
para(i = 1; i < capas_max_vps_menos1; i++){
nuh_en_id_capa[i] u(6)
}
para(i = 1; i < capas_max_vps_menos1; i++){
para(j=i+1;j < capas_max_vps_menos1;j++)
bandera_referencia_directa[i][j] u(1)
}
}
En una realizacion adicional el paso S10 de la Fig. 6 comprende la recuperacion, para una capa con mdice i de capa, de una respectiva bandera de dependencia directa bandera_dependencia_directa[i][j] para cada mdice i de capa basada en dicho flujo de video multicapa codificado.
En una realizacion particular la bandera_dependencia_directa[i][j] igual a cero indica que la capa con mdice j de capa no es una capa de referencia directa para la capa con mdice i de capa. En consecuencia una bandera_dependencia_directa[i][j] igual a uno indica que la capa con mdice j de capa puede ser una capa de referencia directa para la capa con mdice i de capa.
5 El paso S11 de la Fig. 6 comprende en esta realizacion determinar las variables NumCapasRefDirect[i] e IdCapaRef[i][j], respectivamente, en base a las banderas de dependencia directa bandera_dependencia_directa[i][j]. NumCapasRefDirect[i] es una variable que representa el numero de capas de referencia directa para la capa con mdice i de capa y la variable IdCapaRef[i][j] representa el identificador de capa de la j-esima capa de referencia directa para la capa con mdice i de capa.
10 En una realizacion particular, las variables NumCapasRefDirect[i] e IdCapaRef[i][j] se derivan en el paso S11 segun: para(i = 1; i < capas_max_vps_menos1; i++)
para(j=0; NumCapasRefDirecta[i] = 0; j < i; j++)
si(bandera_dependencia_directa[i][j] == 1)
IdCapaRef[i][ NumCapasRefDirect[i]++] = nuh_en_id_capa[j]
15 Si esta realizacion se usa en relacion con el metodo de decodificacion que se muestra en la Fig. 5 las banderas de referencia directa y la informacion de correspondencia se podna senalizar junta, tal como en una extension del VPS como se muestra a continuacion. Esta realizacion entonces tiene preferiblemente una relacion de capa jerarquica ya que una capa con mdice i de capa preferiblemente puede ser solo una capa de referencia para las capas con mdice j > i de capa.
20 vps_extension() { Descriptor
para(i = 1; i < capas_max_vps_menos1; i++){
nuh_en_id_capa[i] u(6)
}
25 ...
para(i = 1; i < capas_max_vps_menos1; i++){
para(j=i+1;j < capas_max_vps_menos1;j++)
bandera_referencia_directa[i][j] u(1)
}
30 }
Un aspecto de las realizaciones relacionado con un metodo de determinacion de la relacion de decodificacion para un flujo 2 de video multicapa codificado que define multiples capas 10, 12, 14 de las imagenes 20, 22, 24. El metodo comprende de manera opcional calcular una longitud de un elemento de sintaxis numerico. El metodo tambien comprende recuperar, basado en el flujo 2 de video multicapa codificado, el numero de elementos de sintaxis que
35 define un numero de capas de referencia de las multiples capas 10, 12, 14 para una capa 12 con un mdice i de capa de las multiples capas 10, 12, 14, basado opcionalmente en la longitud del elemento de sintaxis numerico. El metodo ademas comprende recuperar, basado en el flujo 2 de video multicapa codificado y para cada numero de capas de referencia, un respectivo elemento de sintaxis de referencia que define un mdice j de capa de una capa 10 de las multiples capas 10, 12, 14 del que la capa 12 con el mdice i de capa depende, j < i.
40 La Fig. 7 es un diagrama de flujo que ilustra una realizacion de este metodo de determinacion de la relacion de decodificacion para un flujo de video multicapa codificado que define multiples capas de imagenes. El metodo comienza en un paso S20 opcional, que comprende el calculo de un elemento de sintaxis numerico. Este elemento de sintaxis numerico define preferiblemente un numero de capas de referencia para una capa actual con mdice i de capa.
45 En una realizacion particular la longitud del elemento de sintaxis numerico en terminos de numero de bits es variable y depende de al menos un parametro de entrada o un elemento de sintaxis como se discute en detalle mas adelante. En tal caso, la longitud del elemento de sintaxis numerico se podna calcular en el paso S20 para determinar cuantos bits abarca el elemento de sintaxis numerico. Es posible que el elemento de sintaxis numerico tenga una longitud comun para multiples capas, asf como para todas las capas, en el flujo de video multicapa. En tal
5
10
15
20
25
30
35
40
45
50
caso, la longitud del elemento de sintaxis numerico se podna calcular una vez en el paso S20 para una primera capa. Este valor de longitud calculado se podna entonces almacenar y reutilizar para las otras capas en el flujo de video multicapa, relajando de este modo la necesidad de realizar el paso S20 para cada capa en el flujo de video multicapa.
El paso S21 de la Fig. 7 comprende la recuperacion del elemento de sintaxis numerico basado en el flujo de video multicapa codificado. El elemento de sintaxis numerico se podna recuperar de un conjunto de parametros, de una extension del conjunto de parametros, de cualquier otra estructura de datos de o asociada con el flujo de video multicapa codificado o a partir de una representacion codificada del fraccion en el flujo de video multicapa codificado.
En una realizacion, el paso S21 comprende la recuperacion del elemento de sintaxis numerico basado en la longitud del elemento de sintaxis numerico segun se calculo en el paso opcional S20. Asf, la informacion de la longitud del elemento de sintaxis numerico se emplea en el paso S21 para identificar la parte, esto es el numero de bits, en la estructura relevante que corresponde con el elemento de sintaxis numerico.
En un enfoque alternativo, la recuperacion del elemento de sintaxis numerico se realiza en el paso S21 sin usar ninguna longitud calculada del elemento de sintaxis numerico. Por ejemplo, el elemento de sintaxis numerico se podna identificar basado en el analisis y la decodificacion de la estructura de datos, asf como comenzando desde el inicio de la estructura de datos.
El metodo entonces continua al paso S22 donde se recupera un respectivo elemento de sintaxis de referencia basado en el flujo de video multicapa codificado y para cada una del numero de capas de referencia que se define por el elemento de sintaxis numerica recuperado en el paso S21. El elemento o los elementos de sintaxis de referencia recuperados en el paso S22 se podnan recuperar de un conjunto de parametros, de una extension del conjunto de parametros, de cualquier otra estructura de datos de o asociada con el flujo de video multicapa codificado o a partir de una representacion codificada de una fraccion en el flujo de video multicapa codificado. En una realizacion particular, el elemento o los elementos de sintaxis de referencia estan presentes preferiblemente en la misma estructura de datos que el elemento de sintaxis numerico.
Un elemento de sintaxis de referencia define un mdice j de capa de una capa en el flujo de video multicapa de la que la capa actual con mdice i de capa depende directamente. Ademas, en una realizacion preferida se induce una relacion de capa jerarquica tal que j < i.
El elemento de sintaxis numerico, asf, senaliza de cuantas capas de referencia depende directamente la capa actual con mdice i de capa. Este elemento de sintaxis numerico se emplea por lo tanto en el paso S22 para saber cuantos elementos de sintaxis de referencia recuperar para la capa con mdice i de capa. Cada uno de dichos elementos de sintaxis de referencia recuperados en el paso S22 define un respectivo mdice j de capa para una capa de la que la capa actual con mdice i de capa depende directamente.
El metodo entonces termina en la realizacion.
En una realizacion alternativa los elementos de sintaxis de referencia recuperados en el paso S22 se usan como la informacion de relacion de decodificacion en el metodo de decodificacion de un flujo de video multicapa codificado descrito en relacion con la Fig. 5. En dicho caso, el metodo continua desde el paso S22 de la Fig. 7 al paso S2 de la Fig. 5.
En una primera realizacion particular el paso opcional S20 comprende el calculo de la longitud del elemento de sintaxis numerico basado en el mdice i de capa. Asf, en esta realizacion la longitud del elemento de sintaxis numerico se calcula basada en el valor particular del mdice i de capa.
En una primera implementacion de ejemplo el paso S20 comprende el calculo de la longitud del elemento de sintaxis numerico como ceil(log2(i+1)), en donde la i representa el mdice de capa, ceil(x) representa el menor numero entero mayor o igual que x y log2(x) representa un logaritmo en base 2 de x.
En consecuencia, en esta implementacion de ejemplo el numero de bits usados para representar el numero de capas de referencia, esto es el elemento de sintaxis numerico, esta representado por un codigo u(v) con v=ceil(log2(i+1)).
En una segunda realizacion particular el paso S20 opcional comprende el calculo de la longitud del elemento de sintaxis numerico basado en la informacion del numero maximo posible de capas en el flujo de video multicapa codificado.
En una segunda implementacion de ejemplo el paso S20 comprende el calculo de la longitud del elemento de sintaxis numerica como ceil(log2(capas_max_vps_menos1 +1)), en donde capas_max_vps_menos1 +1 indica, como se indico anteriormente en la presente memoria, el numero maximo de capas en el flujo de video multicapa.
Esta segunda implementacion de ejemplo sena de eficiencia ligeramente menor que la primera implementacion de ejemplo. Sin embargo, una ventaja es que la longitud del codigo del elemento de sintaxis numerico es independiente
5
10
15
20
25
30
35
40
de la capa concreta (mdice de capa), lo que puede llevar a una decodificacion menos compleja de la estructura de sintaxis.
En una tercera realizacion particular el paso S20 opcional comprende el calculo de la longitud del elemento de sintaxis numerico basado en la informacion del valor maximo de identificador de capa en el flujo de video multicapa codificado.
En una tercera implementacion de ejemplo el paso S20 comprende el calculo de la longitud del elemento de sintaxis numerico como ceil(log2( id_capa_max_vps - 1)), en donde id_capa_max_vps indica el maximo valor posible para los identificadores de capa (id_capa) en el flujo de video multicapa codificado.
En una realizacion opcional el metodo como se muestra en la Fig. 7 comprende un paso adicional S30, vease la Fig. 8. En tal caso el metodo continua desde el paso S21 de la Fig. 7. El paso S30 comprende el calculo de la longitud respectiva de los respectivos elementos de sintaxis de referencia para ser recuperados en el paso S22 de la Fig. 7.
En una realizacion, el paso S30 comprende el calculo de la longitud respectiva del respectivo elemento de sintaxis de referencia basado en el mdice i de capa, tal como basado en el valor concreto de este mdice i de capa.
En una primer ejemplo de implementacion el numero de bits usados para representar el elemento o los elementos de sintaxis de referencia es igual a ceil(log2(i)).
En tal caso, los elementos de sintaxis para senalizar el elemento de sintaxis numerico y los elementos de sintaxis de referencia se podnan definir como a continuacion.
para(i = 1; i < capas_max_vps_menos1; i++){ Descriptor
num_capas_ref_directa[i] u(v)
para(j=0; j < num_capas_ref_directa[i];j++)
indice_capa_ref[i][j] u(v)
}
num_capas_ref_directa[i] especifica el numero de capas de referencia de las que la capa con mdice i de capa depende. El numero de bits usados para representar num_capas_ref_directa[i] podna ser v=ceil(log2(i +1)) o v= ceil(log2(capas_max_vps_menos1 + 1)) o v= ceil(log2(cps_max_capa_id - 1)). indice_capa_ref[i][j] identifica el mdice de capa de la capa j-esima de la que la capa con mdice i de capa depende. El numero de bits usados para representar el indice_capa_ref[i][j] es preferiblemente igual a v=ceil(log2(i)).
Si esta realizacion se usa en relacion con el metodo de decodificacion que se muestra en la Fig. 5 los elementos de sintaxis numericos, los elementos de sintaxis de referencia y la informacion de correspondencia se podnan senalizar juntos, tal como en una extension del VPS como se muestra mas adelante. Entonces esta realizacion tiene preferiblemente una relacion de capa jerarquica ya que una capa con mdice i de capa preferiblemente solo puede ser una capa de referencia para capas con mdice j > i de capa.
vps_extension() { Descriptor
para(i = 1; i < capas_max_vps_menos1; i++){
nuh_en_id_capa[i] u(6)
}
para(i = 1; i < capas_max_vps_menos1; i++){ num_capas_ref_directa[i] para(j=0; j < num_capas_ref_directa[i]; j++) indice_capa_ref[i][j]
}
}
u(v)
u(v)
5
10
15
20
25
30
35
40
45
50
En un segundo ejemplo de implementacion se hace la suposicion de que los indices de referencia, esto es los elementos de sintaxis de referencia, se indican en un orden jerarquico de indices de capa para las capas de referencia. Por ejemplo, se puede suponer que indice_capa_ref[i][j] > indice_capa_ref[i][j-1] para j>0, en donde indice_capa_ref[i][j] representa el mdice de capa de la capa j-esima de la que la capa con mdice i de capa depende. Entonces el mdice j-esimo de capa de referencia para la capa con mdice i de capa se puede representar como un mdice de capa delta, indice_capa_ref_delta[i][j], tal que el indice_capa_ref[i][j] = indice_capa_ref[i][j-1] + 1 + indice_capa_ref_delta[i][j]. En tal caso, el indice_capa_ref[i][-1] = -1 y el indice_capa_ref_delta[i][j] > 0. Con una relacion de capa jerarquica indice_capa_ref[i][j] < i y, asf, 0 < indice_capa_ref_delta[i][j] < i - indice_capa_ref[i][j-1] - 1. Esto a veces implica que el indice_capa_ref_delta[i][j] puede ser representado por un codigo u(v) con v=ceil(log2(i - indice_capa_ref[i][j-1]-1)).
En tal caso, los elementos de sintaxis para senalizar el elemento de sintaxis numerico y los elementos de sintaxis de referencia podnan ser como se definen a continuacion.
para(i = 1; i < capas_max_vps_menos1; i++){ Descriptor
num_capas_ref_directa[i] u(v)
para(j=0; j < num_capas_ref_directa[i]; j++)
indice_capa_ref_delta[i][j] u(v)
}
Un aspecto de las realizaciones se relaciona con un metodo de determinacion de la relacion de codificacion para un flujo 1 de video multicapa que define multiples capas 10, 12, 14 de imagenes 20, 22, 24. El metodo comprende determinar cualquier relacion de codificacion entre las multiples capas 10, 12, 14. El metodo tambien comprende determinar, para una capa 12 con mdice i de capa de las multiples capas 10, 12, 14 y basada en la relacion de codificacion, al menos una bandera de decodificacion directa que indique una relacion de codificacion directa entre la capa 12 con mdice i de capa y una capa 10 con mdice j de capa de las multiples capas 10, 12, 14, i £j. El metodo comprende ademas asociar la al menos una bandera de decodificacion directa con una representacion 2 codificada del flujo 1 de video multicapa.
La Fig. 10 es un diagrama de flujo que ilustra una realizacion de este metodo de determinacion de la relacion de codificacion para un flujo de video multicapa que define multiples capas de imagenes. El metodo generalmente comienza en el paso S50, que comprende determinar cualquier relacion de codificacion entre las multiples capas en el flujo de video multicapa. La relacion de codificacion se determina preferiblemente basada en la informacion de a que capa pertenecen las imagenes de referencia usadas para codificar las imagenes en una capa actual. Asf, mediante la determinacion de en que capa o capas se usan las imagenes de referencia como base de codificacion para las imagenes en la capa actual se puede determinar cualquier relacion de codificacion entre las diversas capas en el flujo de video multicapa en el paso S50.
La relacion de codificacion determinada para el flujo de video multicapa en el paso S50 se usa despues en el paso S51 para determinar, para una capa con mdice i de capa, al menos una bandera de decodificacion directa que indique una relacion de codificacion directa entre la capa con mdice i de capa y una capa con mdice j de capa, donde i es diferente de j. Esto significa que la relacion de codificacion se emplea para identificar cualquier relacion de codificacion directa, esto es dependencia directa, entre la capa actual con mdice i de capa y cualquier otra capa en el flujo de video multicapa. Dicha dependencia directa entre capas es indicada despues por la bandera o banderas de decodificacion directa determinadas en el paso S51.
El metodo tambien comprende asociar, en el paso S52, la al menos una bandera de decodificacion directa con una representacion codificada del flujo de video multicapa. Esta asociacion en el paso S52 preferiblemente, como se ha descrito anteriormente en la presente memoria, implica incluir la bandera o banderas de decodificacion directas en un conjunto de parametros, en una extension del conjunto de parametros, en otras estructuras de datos de o asociadas con el flujo de video multicapa codificado o en al menos una representacion codificada de una fraccion en el flujo de video multicapa codificado.
El metodo entonces termina.
El metodo como se describe en la Fig. 10 se podna implementar como un metodo independiente de determinacion de la relacion de codificacion para un flujo de video multicapa. En un enfoque alternativo, el metodo de la Fig. 10 se usa junto con el metodo de codificacion de un flujo de video multicapa como se muestra en la Fig. 9. En tal caso, los pasos S50 y S51 de la Fig. 10 se realizan como una realizacion particular de la determinacion de la informacion de relacion de codificacion de la Fig. 9. En tal caso, el metodo preferiblemente comienza en el paso S40 de la Fig. 9 y continua a los pasos S50 y S51 de la Fig. 10 y despues vuelve al paso S42 de la Fig. 9. El paso S43 de la Fig. 9 se realiza preferiblemente despues como se muestra en el paso S52 de la Fig. 10.
5
10
15
20
25
30
35
40
45
50
55
Un aspecto de las realizaciones se relaciona a un metodo de determinacion de la relacion de codificacion para un flujo 1 de video multicapa que define multiples capas 10, 12, 14 de imagenes 20, 22, 24. El metodo comprende determinar un elemento de sintaxis numerico que define un numero de capas de referencia de las multiples capas 10, 12, 14 para una capa 12 con mdice i de capa de las multiples capas 10, 12, 14. El metodo tambien comprende determinar, para cada uno de los numeros de capas de referencia, un respectivo elemento de sintaxis de referencia que define un mdice j de capa de una capa 10 de las multiples capas 10, 12, 14 de la que la capa 12 con mdice i de capa depende directamente, j < i. El metodo ademas comprende asociar el elemento de sintaxis numerico y los respectivos elementos de sintaxis de referencia con una representacion codificada 2 del flujo 1 de video multicapa.
La Fig. 11 es un diagrama de flujo que ilustra una realizacion de este metodo de determinacion de la relacion de codificacion para un flujo de video multicapa. El metodo comienza en el paso S60 donde un elemento de sintaxis numerico se determina para una capa con mdice i de capa en el flujo de video multicapa. Este elemento de sintaxis numerico representa el numero de capas de referencia para la capa con mdice i de capa.
El elemento de sintaxis numerico se determina preferiblemente basado en la informacion de que imagenes de referencia de capas usadas para codificar las imagenes pertenecen a la capa actual con mdice i de capa. Asf, mediante la determinacion de en que capa o capas las imagenes de referencia usadas como base de codificacion para las imagenes en la capa actual el numero de dichas capas de referencia se puede definir y usar para determinar el elemento de sintaxis numerico en el paso S60.
El metodo de la Fig. 11 tambien comprende determinar, en el paso S61, un respectivo elemento de sintaxis de referencia para cada uno de los numeros de las capas de referencia. Asf, si el elemento de sintaxis numerico define X capas de referencia entonces se determinan preferiblemente X elementos de sintaxis de referencia en el paso S61. Un elemento de sintaxis de referencia como se determina en el paso S61 define un mdice j de capa de una capa en el flujo de video multicapa de la que la capa con mdice i de capa depende directamente. En una realizacion particular, se usa una dependencia de capa jerarquica tal que j < i.
El elemento de sintaxis numerico determinador en el paso S60 y los elementos de sintaxis de referencia determinados en el paso S61 son entonces asociados con una representacion codificada del flujo de video multicapa en el paso S62. Esta asociacion en el paso S62 preferiblemente, como se ha descrito anteriormente en la presente memoria, involucra incluir los elementos de sintaxis numerico y de referencia en un conjunto de parametros, en una extension del conjunto de parametros, en otra estructura de datos de o asociada con el flujo de video multicapa o en al menos una representacion codificada de una fraccion en el flujo de video multicapa codificado.
El metodo entonces termina.
El metodo como se describe en la Fig. 11 se podna implementar como un metodo independiente de determinacion de la relacion de codificacion para un flujo de video multicapa. En un enfoque alternativo, el metodo de la Fig. 11 se usa junto con el metodo de codificacion de un flujo de video multicapa como se muestra en la Fig. 9. En tal caso, los pasos S60 y S61 de la Fig. 11 se realizan como una realizacion particular de determinacion de la informacion de la relacion de codificacion en la Fig. 9. En tal caso, el metodo comienza preferiblemente en el paso S40 de la Fig. 9 y continua en los pasos S60 y S61 de la Fig. 11 y despues vuelve al paso S42 de la Fig. 9. El paso S43 de la Fig. 9 se realiza preferiblemente despues como se muestra en el paso S62 de la Fig. 11.
Se han realizado experimentos de simulacion para determinar el numero de bits requeridos para senalizar las dependencias de capas. Se han comparado tres diferentes metodos de senalizacion de dichas dependencias de capa: la senalizacion de dependencia de capa de la tecnica anterior descrita en el documento anteriormente mencionado JCTVC-K1007 (referido como K1007 en las Fig. 20-22), la senalizacion de dependencia de capa como se describe en la presente memoria en la cual num_capas_ref_directa[i] e id_capa_red[i][j] estan en codigo u(v) en lugar de codigo u(6) (referido como u(v) en las Fig. 20-22) y la senalizacion de dependencia de capa que usa la bandera_referencia_directa[i][j] como se describe en la presente memoria (referido como bandera_dependencia en las Fig. 20-22).
La Fig. 20 ilustra los resultados de la simulacion cuando cada capa con mdice i > 1 de capa tiene una capa de referencia. La Fig. 21 ilustra los resultados de la simulacion cuando cada capa con mdice i > 2 de capa tiene dos capas de referencia y la capa con mdice i = 1 de capa tiene una capa de referencia, esto es el numero maximo de capas de referencia que es posible para esta capa con mdice i = 1 de capa. La Fig. 22 ilustra los resultados de simulacion cuando cada capa con mdice i > 1 tiene el numero maximo de capas de referencia que es posible, esto es una capa con mdice i = N de capa tiene N capas de referencia. Los resultados en las Fig. 20-22 se representan para 1... 64 capas, con 64 correspondiendo al maximo numero de capas permitido.
Los resultados en las Fig. 20-22 muestran que el metodo u(v) es siempre inferior que el metodo K1007. Hasta un cierto umbral para el numero de capas (8 en la Fig. 20, 21 en la Fig. 21 y 64 en la Fig. 22) el metodo de la bandera_dependencia tiene el menor numero de bits. El numero de bits para el metodo de la bandera_dependencia es independiente de la configuracion de dependencia de la capa.
Un aspecto de las realizaciones define un decodificador configurado para decodificar un flujo 2 de video multicapa codificado que define multiples capas 10, 12, 14 de imagenes 20, 22, 24, teniendo cada capa 10, 12, 14 de las
5
10
15
20
25
30
35
40
45
50
55
multiples capas 10, 12, 14 un respectivo identificador de capa. El decodificador comprende un recuperador de informacion de relacion de decodificacion configurado para recuperar, para una capa 12 con un mdice de capa de las multiples capas 10, 12, 14, la informacion de relacion de decodificacion basada en el flujo 2 de video multicapa. La informacion de relacion de decodificacion que define un respectivo mdice de capa de cualquier capa 10 de referencia de las multiples capas 10, 12, 14, de las que la capa 12 depende directamente. El decodificador tambien comprende una unidad de correspondencia de mdice a identificador configurada para hacer corresponder, para cada capa 10 de referencia y para la capa 12, su mdice de capa a un identificador de capa basado en la informacion de correspondencia de la relacion de correspondencia jerarquica entre los identificadores de capa y los indices de capa. La informacion de correspondencia se recupera basada en el flujo 2 de video multicapa codificado. El decodificador ademas comprende una unidad de decodificacion configurada para decodificar una imagen 22 de la capa 12 basada en al menos una imagen 20 anteriormente decodificada en una capa 10 de las multiples capas 10, 12, 14 identificada en base a los identificadores de capa hechos corresponder de los indices de capa.
La Fig. 12 es un diagrama de bloques esquematico que ilustra una realizacion de implementacion de un decodificador 100 configurado para decodificar un flujo de video multicapa en el que cada capa tiene un respectivo identificador de capa. El decodificador 100 comprende un recuperador 110 de informacion de relacion de decodificacion, tambien referido como unidad o medio de recuperacion de informacion de relacion de decodificacion. El recuperador 110 de informacion de relacion de decodificacion se configura para recuperar la informacion de relacion de decodificacion basada en el flujo de video multicapa codificado para una capa actual que tiene un mdice de capa. El recuperador 110 de informacion de relacion de decodificacion se configura preferiblemente para recuperar la informacion como anteriormente se describio en la presente memoria desde una estructura de datos de o asociada con el flujo de video multicapa codificado, tal como un conjunto de parametros, una extension del conjunto de parametros, otras estructuras de datos o una representacion codificada de un fraccion.
La informacion de relacion de decodificacion segun es recuperada por el recuperador 110 de informacion de relacion de decodificacion define un respectivo mdice de capa de cualquier capa de referencia en el flujo de video multicapa, de la que la capa actual depende directamente.
Una unidad 120 de correspondencia de mdice a identificador, tambien designada mapeador o medio de correspondencia de mdice a identificador, se configura para hacer corresponder un mdice de capa a un identificador de capa para cada capa de referencia y para la capa actual basado en la informacion de correspondencia de la relacion de correspondencia jerarquica entre los identificadores de capa y los indices. La unidad 120 de correspondencia de mdice a identificador se configura para recuperar la informacion de correspondencia basada en el flujo de video multicapa codificado, preferiblemente de la misma estructura de datos de la que el recuperador 110 de informacion de relacion de decodificacion recupera la informacion de relacion de decodificacion.
Los identificadores de capa segun se obtienen de la unidad 120 de correspondencia de mdice a identificador son usados por una unidad 130 de decodificacion, tambien referida como decodificador o medio de decodificacion de imagen, cuando decodifica una imagen de la capa actual basada en al menos una imagen previamente decodificada en una capa identificada en base a los identificadores de capa.
En una realizacion, la informacion de relacion de decodificacion es una entrada a la unidad 120 de correspondencia de mdice a identificador, que luego hace corresponder el mdice/mdices de capa de la capa/capas de las que la capa actual depende directamente. Asf, en esta realizacion solo dicho mdice/mdices se hacen corresponder junto con el mdice de capa de la capa actual en los respectivos identificadores de capa.
En una realizacion alternativa, la unidad 120 de correspondencia mdice a identificador se configura para hacer corresponder todos los indices de capa que se senalizan en o asociados con el flujo de video multicapa codificado en los respectivos identificadores de capa. En tal caso, la unidad 130 de decodificacion identifica preferiblemente aquellos identificadores de capa de entre los identificadores de capa hechos corresponder que son de relevancia para decodificar las imagenes en la capa actual en base a la informacion de relacion de decodificacion del recuperador 110 de informacion de relacion de decodificacion.
Asf, de este modo la informacion de relacion de decodificacion y la informacion de correspondencia juntas permiten la identificacion y determinacion de los identificadores de capa de cualquier capa de referencia que comprenda las imagenes basadas en las que las imagenes de la capa actual debenan ser decodificadas.
En una realizacion la unidad 120 de correspondencia de mdice a identificador se configura para recuperar una bandera bandera_presente_id_capa_nuh_vps basada en el flujo de video multicapa codificado. La unidad 120 de correspondencia de mdice a identificador se configura tambien para fijar, para cada capa de referencia y para la capa y si bandera_presente_id_capa_nuh_vps = 0, su identificador de capa igual a su mdice de capa. La unidad 120 de correspondencia de mdice a identificador se configura ademas para recuperar , para cada capa de referencia y para la capa y si bandera_presente_id_capa_nuh_vps = 1, su identificador de capa de un vector nuh_en_id_capa[i], i e [1, capas_max_vps_menos1], en donde capas_max_vps_menos1 + 1 indica el numero maximo de capas y nuh_en_id_capa[i] indica un identificador de capa para una capa con mdice i de capa.
5
10
15
20
25
30
35
40
45
50
55
Un aspecto de las realizaciones define un codificador configurado para codificar un flujo 1 de video multicapa que define multiples capas 10, 12, 14 de imagenes 20, 22, 24, teniendo cada capa 10, 12, 14 de las multiples capas 10, 12, 14 un respectivo identificador de capa. El codificador comprende una unidad de correspondencia configurada para hacer corresponder de manera jerarquica, para cada capa 10, 12, 14 de las multiples capas 10, 12, 14, un identificador de capa de la capa 10, 12, 14 a un mdice de capa basada en las dependencias de codificacion entre las multiples capas 10, 12, 14. El codificador tambien comprende un determinador de informacion configurado para determinar la informacion de relacion de codificacion que define un respectivo mdice de capa de cualquier capa 10 de referencia de las multiples capas 10, 12, 14, de las que una capa 12 de las multiples capas 10, 12, 14 depende directamente. El codificador comprende ademas una unidad de codificacion configurada para generar un flujo 2 de video multicapa codificado mediante la codificacion de las imagenes 20, 22, 24 de las multiples capas 10, 12, 14 basadas en las dependencias de codificacion y una unidad de asociacion configurada para asociar la informacion de relacion de codificacion con el flujo 2 de video multicapa codificado.
La Fig. 15 es un diagrama de bloques esquematico de una realizacion de una codificador 400 configurado para codificar un flujo de video multicapa en el que cada capa tiene un respectivo identificador de capa. El codificador 400 comprende una unidad 410 de correspondencia, tambien referida como un mapeador o medio de correspondencia. La unidad 410 de correspondencia se configura para hacer corresponder de manera jerarquica un identificador de capa para cada capa del flujo de video multicapa a un mdice de capa basado en las dependencias de codificacion entre las multiples capas en el flujo de video multicapa. Esto significa que la informacion sobre que capa o capas que son capas de referencia para una u otras capas es usada por la unidad 410 de correspondencia para asignar indices de capa a las capas.
El codificador 400 tambien comprende un determinador 420 de informacion, tambien designado como unidad o medio de determinacion de informacion. El determinador 420 de informacion se configura para determinar la informacion de relacion de codificacion que define un respectivo mdice de capa de cualquier capa de referencia basada en la cual la capa actual depende directamente.
Una unidad 430 de codificacion, tambien referida como codificador de imagen o medio de codificacion, se configura para generar un flujo de video multicapa mediante la codificacion de imagenes en las multiples capas en base a las dependencias de codificacion. Una unidad 440 de asociacion, tambien referida como asociador o medio de asociacion, se configura para asociar la informacion de relacion de codificacion con el flujo de video multicapa codificado, como se describio anteriormente en la presente memoria, tal como en un conjunto de parametros, en una extension del conjunto de parametros, en otras estructuras de datos o en una representacion codificada de un fraccion.
La unidad 440 de asociacion se configura tambien preferiblemente para asociar la informacion de correspondencia que define una relacion de correspondencia jerarquica entre los identificadores de capa y los indices de capa con el flujo de video multicapa codificado.
Otros aspectos de las realizaciones se relacionan con los dispositivos para determinar las relaciones de decodificacion o codificacion para un flujo de video multicapa (codificado). Dichos dispositivos se podnan proporcionar como entidades separadas o se podnan implementar como parte del decodificador 100 de la Fig. 12 o el codificador 400 de la Fig. 15.
Un aspecto de las realizaciones define un dispositivo para determinar la relacion de decodificacion para un flujo 2 de video multicapa codificado que define multiples capas 10, 12, 14, de imagenes 20, 22, 24. El dispositivo comprende un recuperador de bandera configurado para recuperar, basado en el flujo 2 de video multicapa, al menos una bandera de decodificacion directa que indica una relacion de codificacion directa entre una capa 12 con mdice i de capa de las multiples capas 10, 12, 14 y una capa 10 con mdice j de capa de las multiples capas 10, 12, 14, i fj. El dispositivo tambien comprende un determinador de informacion configurado para determinar la informacion que define cualquier relacion de decodificacion entre las multiples capas 10, 12, 14 basada en al menos una bandera de decodificacion directa.
La Fig. 13 es una ilustracion de una realizacion de dicho dispositivo 200 para determinar la relacion de decodificacion. El dispositivo 200 comprende un recuperador 210 de bandera, tambien referido como unidad o medio de recuperacion de bandera. El recuperador 210 de bandera se configura para recuperar al menos una bandera de decodificacion directa basada en el flujo de video multicapa codificado, tal como de un conjunto de parametros, de una extension del conjunto de parametros, de otras estructuras de datos de una representacion codificada de una fraccion en un flujo de video multicapa codificado. La al menos una bandera de decodificacion directa recuperada indica una relacion de codificacion directa entre una capa actual con mdice i de capa y una capa con mdice j de capa del flujo de video multicapa, donde el mdice i es diferente del mdice j.
El dispositivo 200 tambien comprende un determinador 220 de informacion, tambien referido como unidad o medio de determinacion. El determinador 220 de informacion se configura para determinar la informacion que define cualquier relacion de decodificacion entre las multiples capas en el flujo de video multicapa basado en la al menos una bandera de decodificacion directa recuperada por el recuperador 210 de bandera.
5
10
15
20
25
30
35
40
45
50
55
60
En una realizacion el recuperador 210 de bandera se configura para recuperar, para la capa con mdice i de capa, una respectiva bandera de dependencia directa para cada mdice j de capa basada en el flujo de video multicapa codificado. En esta realizacion, j < i y la bandera de dependencia directa indica si la capa con mdice j de capa es una capa de referencia directa para la capa con mdice i de capa. El determinador 220 de informacion se configura preferiblemente para determinar la informacion que define cualquier capa con mdice j < i de capa, de la que la capa con mdice i de capa depende, basado en las banderas de dependencia directa.
En un ejemplo de implementacion el recuperador 210 de bandera se configura para recuperar, para la capa con mdice i de capa, una respectiva bandera de dependencia directa bandera_dependencia_directa[i][j] para cada mdice j de capa basado en el flujo de video multicapa codificado. El determinador 220 de informacion se configura preferiblemente para determinar un conjunto de banderas de dependencia bandera_dependencia[i] como bandera_dependencia[i] = bandera_dependencia_directa[i] + sumj=0...j-i(bandera_dependencia_directa[i][j] x bandera_dependencia[j]). El conjunto de banderas de dependencia o las banderas de dependencia bandera_dependencia[i][j] entonces constituyen en este ejemplo de implementacion la informacion que define cualquier relacion de decodificacion entre las multiples capas.
En otra realizacion el recuperador 210 de bandera se configura para recuperar, para la capa con mdice i de capa, una respectiva bandera de referencia directa para cada mdice j de capa basada en el flujo de video multicapa codificado. En esta realizacion, j > i y la bandera de referencia directa indica si la capa con mdice i de capa es una capa de referencia directa para la capa con mdice j de capa. El determinador 220 de informacion, en esta realizacion, se configura preferiblemente para determinar la informacion que define cualquier capa con mdice j > i de capa para la que la capa con mdice i de capa es una capa de referencia basada en las banderas de referencia directa.
En otro ejemplo de implementacion el recuperador 210 de bandera se configura para recuperar, para la capa con mdice i de capa, una respectiva bandera de referencia bandera_referencia_directa[i][j] para cada mdice j de capa basado en el flujo de video multicapa codificado. El determinador 220 de informacion, en este ejemplo, se configura para determinar un conjunto de banderas de referencia bandera_referencia[i] como bandera_referencia[i] = bandera_referencia_directa[i] + sumj=1...imax(bandera_referencia_directa[i][j] x bandera_referencia[j]). El conjunto de banderas de referencia o las banderas de referencia bandera_referencia[i][j] entonces constituyen en este ejemplo de implementacion la informacion que define cualquier relacion de decodificacion entre las multiples capas.
El dispositivo para determinar la relacion 200 de decodificacion en la Fig. 13 esta en una realizacion de un ejemplo de implementacion particular del recuperador 110 de informacion de relacion de decodificacion de la Fig. 12.
Otro aspecto de las realizaciones define un dispositivo para determinar la relacion de decodificacion para un flujo 2 de video multicapa codificado que define multiples capas 10, 12, 14 de imagenes 20, 22, 24. El dispositivo comprende de manera opcional una calculadora de longitud configurada para calcular la longitud de un elemento de sintaxis numerico. El dispositivo comprende un elemento recuperador configurado para recuperar, basado en el flujo 2 de video multicapa codificado, el elemento de sintaxis numerico que define un numero de capas 10 de referencia de las multiples capas 10, 12, 14 para una capa 12 con mdice i de capa de las multiples capas 10, 12, 14, basada opcionalmente en la longitud del elemento de sintaxis numerico. El recuperador de elemento se configura ademas para recuperar, basado en el flujo 2 de video multicapa codificado y para cada uno de los numeros de las capas de referencia, un respectivo elemento de sintaxis de referencia que define un mdice j de capa de una capa 10 de las multiples capas 10, 12, 14 de la que la capa 12 con mdice i de capa depende directamente, j < i.
La Fig. 14 es un diagrama de bloques esquematico de dicho dispositivo 300 para determinar la relacion de decodificacion. El dispositivo 300 comprende de manera opcional una calculadora 310 de longitud, tambien designada como unidad o medio de calculo de longitud. La calculadora 310 de longitud se configura preferiblemente para calcular la longitud de un elemento de sintaxis numerico que define un numero de capa de referencia en el flujo de video multicapa para una capa actual con mdice i de capa. Un recuperador 320 de elemento, tambien designado como unidad o medio de recuperacion de elemento, del dispositivo 300 se configura para recuperar el elemento de sintaxis numerico basado en el flujo de video multicapa codificado, tal como de un conjunto de parametros, de una extension del conjunto de parametros, de otras estructuras de datos o de una representacion codificada de una fraccion. En una realizacion particular, el recuperador 320 de elemento usa la informacion de la longitud del elemento de sintaxis numerico, preferiblemente segun es determinado por la calculadora 310 de longitud, para identificar la parte relevante de la estructura de datos que lleva el elemento de sintaxis numerico que corresponde al elemento de sintaxis numerico.
El valor de elemento de sintaxis numerico recuperado es tambien usado por el recuperador 320 de elemento para determinar cuantos elementos de sintaxis de referencia recuperar para la capa actual con mdice i de capa. Asf, el recuperador 320 de elemento recupera un respectivo elemento de sintaxis de referencia para cada uno de los numeros de las capas de referencia segun se define por el elemento de sintaxis numerico. El recuperador 320 de elemento recupera preferiblemente el elemento de sintaxis de referencia de un conjunto de parametros, de una extension de un conjunto de parametros, de otras estructuras de datos o de la representacion codificada de una fraccion. En una realizacion particular, el recuperador 320 de elemento se configura para recuperar el elemento de sintaxis de referencia de la misma estructura de datos que tambien comprende el elemento de sintaxis numerico.
5
10
15
20
25
30
35
40
45
50
55
Cada elemento de sintaxis de referencia recuperado por el recuperador 320 de elemento define un mdice j de capa de una capa de referencia de la que la capa actual con mdice i de capa depende directamente. En una realizacion particular, se usa una dependencia de capa jerarquica para que j < i.
En una realizacion la calculadora 310 de longitud se configura para calcular la longitud del elemento de sintaxis numerico basado en el mdice i de capa, esto es basado en el valor del mdice i de capa.
En una realizacion particular la calculadora 310 de longitud se configura para calcular la longitud del elemento de sintaxis numerico como ceil(log2(i+1)).
En otra realizacion la calculadora 310 de longitud se configura para calcular la longitud del elemento de sintaxis numerico basada en la informacion de un numero maximo posible de capas en el flujo de video multicapa codificado.
En otra realizacion la calculadora 310 de longitud se configura para calcular la longitud del elemento de sintaxis numerico como ceil(log2(capas_max_vps_menos1 + 1)).
En una realizacion adicional la calculadora 310 de longitud se configura para calcular la longitud del elemento de sintaxis numerico basada en la informacion de un valor maximo para el identificador de capa en el flujo de video multicapa codificado.
En una realizacion adicional particular la calculadora 310 de longitud se configura para calcular la longitud del elemento de sintaxis numerico como ceil(log2(id_capa_max_vps -1)).
En una realizacion la calculadora 310 de longitud opcional se configura para calcular la respectiva longitud del respectivo elemento de sintaxis de referencia.
En una realizacion particular la calculadora 310 de longitud se configura para calcular la respectiva longitud del respectivo elemento de sintaxis de referencia basado en el mdice i de capa.
En otra realizacion particular la calculadora 310 de longitud se configura para calcular la respectiva longitud del elemento de sintaxis de referencia como ceil(log2(i - indice_capa_ref[i][j-1] - 1)). En tal caso, el recuperador 320 de elemento se configura preferiblemente para recuperar, basado en el flujo de video multicapa codificado y para cada capa j del numero de capas de referencia, un respectivo elemento de sintaxis de referencia indice_capa_ref_delta[i][j], j < i. El dispositivo 300 comprende preferiblemente un determinador 330 de mdice opcional configurado para determinar, para cada capa j del numero de capas de referencia, el mdice de capa de la capa j-esima de la que la capa con mdice i de capa depende directamente como indice_capa_ref[i][j] = [i][j-1] + 1 + indice_capa_ref_delta[i][j] con indice_capa_ref[i]-1] = -1, 0<j < i.
El dispositivo para determinar la relacion 300 de decodificacion en la Fig. 14 esta en una realizacion de un ejemplo de implementacion particular del recuperador 110 de informacion de relacion de decodificacion de la Fig. 12.
Un aspecto de las realizaciones define un dispositivo para determinar la relacion de codificacion para un flujo 1 de video multicapa que define multiples capas 10, 12, 14 de las imagenes 20, 22, 24. El dispositivo comprende un determinador de relacion configurado para determinar cualquier relacion de codificacion entre las multiples capas 10, 12, 14. El dispositivo tambien comprende un determinador de bandera configurado para determinar, para una capa 12 con mdice i de capa de las multiples capas 10, 12, 14 y basado en la relacion de codificacion, al menos una bandera de decodificacion directa que indica una relacion de codificacion directa entre la capa 12 con mdice i de capa y una capa 10 con mdice j de capa de las multiples capas 10, 12, 14, i t j. Una unidad de asociacion se configura para asociar la al menos una bandera de decodificacion directa con una representacion codificada 2 del flujo 1 de video multicapa.
La Fig. 16 muestra un diagrama de bloques de una realizacion de este dispositivo 500 para determinar la relacion de codificacion para un flujo de video multicapa. El dispositivo 500 comprende un determinador 510 de relacion, tambien referido como unidad o medio de determinacion de relacion. El determinador 510 de relacion se configura para determinar cualquier relacion de codificacion entre las multiples capas en el flujo de video multicapa. El determinador 510 de relacion realiza preferiblemente esta determinacion como se describio anteriormente en la presente memoria en base a la informacion de las capas que se usan como capas de referencia para otras capas en el flujo de video multicapa. El dispositivo 500 tambien comprende un determinador 520 de bandera, tambien referido como unidad o medio de determinacion de bandera. El determinador 520 de bandera se configura para determinar al menos una bandera de decodificacion directa para una capa actual con mdice i de capa y basado en la relacion de codificacion que se determino por el determinador 510 de relacion. Una bandera de decodificacion directa indica una relacion de codificacion directa entre la capa actual con mdice i de capa y una capa con mdice j t i de capa.
El dispositivo 500 comprende ademas una unidad 530 de asociacion, tambien referida como asociador o medio de asociacion, configurada para asociar la al menos una bandera de decodificacion con una representacion codificada del flujo de video multicapa, asf como la insercion de al menos una bandera de decodificacion en un conjunto de parametros, en una extension del conjunto de parametros, en otras estructuras de datos o en una representacion codificada de una fraccion.
5
10
15
20
25
30
35
40
45
50
55
El dispositivo para determinar la relacion 500 de codificacion en la Fig. 16 esta en una realizacion de un ejemplo de implementacion particular del determinador 420 de informacion de la Fig. 15.
Un aspecto de las realizaciones define un dispositivo para determinar la relacion de codificacion para un flujo 1 de video multicapa que define multiples capas 10, 12, 14 de las imagenes 20, 22, 24. El dispositivo comprende un determinador de elemento de sintaxis numerico configurado para determinar un elemento de sintaxis numerico que define un numero de capas 10 de referencia de las multiples capas 10, 12, 14 para una capa 12 con mdice i de capa de las multiples capas 10, 12, 14. El dispositivo tambien comprende un determinador de elemento de sintaxis de referencia configurado para determinar, para cada uno de los numeros de las capas 10 de referencia, un respectivo elemento de sintaxis de referencia que define un mdice de capa j de una capa 10 de las multiples capas 10, 12, 14 de la que la capa 12 con mdice i de capa depende directamente, j < i. El dispositivo ademas comprende una unidad de asociacion configurada para asociar el elemento de sintaxis numerico y los respectivos elementos de sintaxis de referencia con una representacion codificada 2 del flujo 1 de video multicapa.
La Fig. 17 muestra un diagrama de bloques de una realizacion de este dispositivo 600 para determinar la relacion de codificacion para un flujo de video multicapa. El dispositivo 600 comprende un determinador 610 de elemento de sintaxis numerico, tambien designado unidad o medio de determinacion de elemento de sintaxis numerico. El determinador 610 de elemento de sintaxis numerico se configura para determinar un elemento de sintaxis numerico que define un numero de capa de referencia para la capa con mdice i de capa. El determinador 610 de elemento de sintaxis numerico determina preferiblemente elementos de sintaxis numericos basados en la informacion de a que capas de referencia pertenecen las imagenes de referencia, si pertenecen a alguna, en base a las imagenes en la capa actual con mdice i de capa.
El dispositivo 600 tambien comprende un determinador 620 de elemento de sintaxis de referencia, a veces referido como unidad o medio de determinacion de elemento de sintaxis de referencia. El determinador 620 de elemento de sintaxis de referencia se configura para determinar un respectivo elemento de sintaxis de referencia para cada uno de los numeros de las capas de referencia segun son definidos por el elemento de sintaxis numerico. Un elemento de sintaxis de referencia segun es determinado por el determinador 620 de elemento de sintaxis de referencia define un mdice j de capa de una capa de referencia del flujo de video multicapa de la que la capa actual con mdice i de capa depende directamente. En una realizacion particular, se usa una dependencia de capa jerarquica para que j < i.
Una unidad 630 de asociacion, tambien designada asociador o medio de asociacion, del dispositivo 600 se configura para asociar el elemento de sintaxis numerico y los respectivos elementos de sintaxis de referencia con una representacion codificada del flujo de video multicapa. Los elementos de sintaxis numerico y de referencia se podnan insertar en el mismo o en diferentes conjuntos de parametros, extensiones de conjuntos de parametros, otras estructuras de datos o representaciones codificadas de fracciones.
El dispositivo para determinar la relacion 600 de codificacion en la FIg. 17 esta en una realizacion de un ejemplo de implementacion particular del determinador 420 de informacion de la Fig. 15.
El decodificador 100 en la Fig. 12, los dispositivo 200, 300 para determinar la relacion de codificacion en las Fig. 13 y 14, el codificador 400 de la Fig. 15 y los dispositivos 500, 600 para determinar la relacion de codificacion en las Fig. 16 y 17 se pueden implementar en hardware. Existen numerosas variantes de elementos de circuito que se pueden usar y combinar para lograr las funciones de las unidades del decodificador, codificador o dispositivos en las Fig. 1217. Dichas variantes son abarcadas por las realizaciones. Los ejemplos particulares de implementacion en hardware incluyen la implementacion en hardware de un procesador digital de senales (DSP) y de tecnologfa de circuitos integrados, que incluye tanto los circuitos electronicos de proposito general como los circuitos de aplicacion espedfica.
De manera alternativa, el decodificador 100 en la Fig. 12, los dispositivos 200, 300 para determinar la relacion de decodificacion en las Fig. 13 y 14, el codificador 400 de la Fig. 15 y los dispositivos 500, 600 para determinar la relacion de codificacion en las Fig. 16 y 17 se pueden implementar al menos parcialmente en software. Dicha implementacion se muestra en la Fig. 18. El decodificador, el codificador o el dispositivo 700 de las Fig. 12-17 comprende un procesador 710 configurado para procesar los medios 740 de codigo de un programa informatico 730 almacenado en un medio legible por ordenador, representado por una memoria 720 en la Fig. 18. Los medios 740 de codigo provocan, cuando se ejecutan en el procesador 710, que el procesador 710 realice las funciones de las unidades del decodificador, codificador o dispositivos de las Fig. 12-17.
El procesador 710 podna ser un ordenador de proposito general o especialmente adaptado, un procesador o un microprocesador, tal como una unidad central de procesamiento (CPU). El software incluye elementos de codigo de programas informaticos o partes de codigo de software que efectuan la operacion de al menos el recuperador 110 de informacion de relacion de decodificacion, la unidad 120 de correspondencia de mdice a identificador y la unidad 130 de decodificacion de la Fig. 12, y/o el recuperador 210 de bandera y el determinador 220 de informacion de la Fig. 13, y/o la calculadora 310 de longitud opcional, el recuperador 320 de elemento y el determinador 330 de indices opcional de la Fig. 14 y/o la unidad 410 de correspondencia, el determinador 420 de informacion, la unidad 430 de codificacion y la unidad 440 de asociacion de la Fig. 15, y/o el determinador 510 de relacion, el determinador
5
10
15
20
25
30
35
40
45
50
55
520 de bandera y la unidad 530 de asociacion de la Fig. 16, y/o el determinador 610 del elemento de sintaxis numerico, el determinador 620 del elemento de sintaxis de referencia y la unidad 630 de asociacion de la Fig. 17.
El programa informatico 730 se puede almacenar por completo o en parte, en uno o mas medios 720 legibles por ordenador volatiles adecuados o medios de almacenamiento de datos, tales como una RAM, o en uno o mas medios legibles por ordenador no volatiles adecuados o medios de almacenamiento de datos, tales como en discos magneticos, CD-ROM, discos DVD, discos duros, ROM o memoria flash. Los medios 720 de almacenamiento de datos pueden ser medios de almacenamiento de datos locales o proporcionados de manera remota, tales como en un servidor de datos. El software se puede cargar asf en la memoria operativa de un ordenador o sistema de procesamiento equivalente para su ejecucion por un procesador. El ordenador/procesador no tiene que ser dedicado a solo ejecutar las funciones anteriormente descritas sino que puede ejecutar tambien otras tareas de software. Un ejemplo no limitante de codigo de programa usado para definir el nodo de red incluye un codigo de una instruccion multiples datos (SIMD).
El numero 700 de referencia en la Fig. 18, asf, indica el decodificador, codificador o dispositivo de las Fig. 12-17 implementado al menos parcialmente en software.
El decodificador 100 de la Fig. 12, el dispositivo 200 para determinar la relacion de decodificacion en la Fig. 13 y/o el dispositivo 300 para determinar la relacion de decodificacion en la Fig. 14 se pueden disponer de manera ventajosa en un dispositivo de usuario o terminal 53 como se muestra en la Fig. 19. Este dispositivo 53 de usuario podna representar entonces un decodificador, un ordenador, un dispositivo movil, tal como un telefono movil, un portatil o un ordenador de tableta, etc. El dispositivo 200 de la Fig. 13 o el dispositivo 300 de la fig. 14 se implementa de manera ventajosa en el decodificador 100 de la Fig. 12.
El dispositivo 53 de usuario, puede, ademas de un decodificador 54, tal como un decodificador 100 mostrado en la Fig. 12 u otro decodificador que comprenda un dispositivo 200 de la Fig. 13 o un dispositivo 300 de la Fig. 14, comprender una memoria 55 de imagenes decodificadas (DPB), en la que el dispositivo 53 de usuario almacena las imagenes decodificadas cuando son generadas por el decodificador 54. Estas imagenes decodificadas se almacenan temporalmente en la DPB 55 i) para ser usadas como imagenes de referencia al decodificar las imagenes posteriores, segun el orden de decodificacion, del flujo de video multicapa y/o ii) hasta que son emitidas, tal como emitidas para ser presentadas en un elemento 56 de presentacion o pantalla de o conectadas al dispositivo 53 de usuario.
El decodificador 100 de la Fig.12, el dispositivo 200 para determinar la relacion de decodificacion en la Fig. 13 y/o el dispositivo 300 para determinar la relacion de decodificacion en la Fig. 14 pueden, tambien o de manera alternativa, ser implementados en un nodo 52 de red o elemento de red. En tal caso, el nodo 52 de red o elemento de red podna realizar, por ejemplo el envfo selectivo de capas del flujo de video multicapa codificado, en base a y de este modo considerando las dependencias de capa.
El codificador 400 de la Fig. 15, el dispositivo 500 para determinar la relacion de codificacion en la Fig. 16 y/o el dispositivo 600 para determinar la relacion de codificacion en la Fig. 17 se pueden disponer de manera ventajosa en un dispositivo de usuario o terminal 50 como se muestra en la Fig. 19. Este dispositivo 50 de usuario podna entonces representar una video camara, un ordenador, un dispositivo movil, tal como un telefono movil, un portatil o un ordenador de tableta, etc. El dispositivo 500 de la Fig. 16 o el dispositivo 600 de la Fig. 17 se implementan de manera ventajosa en el codificador 400 de la Fig. 15.
El codificador 51 implementado en el dispositivo 50 de usuario podna ser el codificador 400 mostrado en le Fig. 15 u otro codificador que comprende el dispositivo 500 de la Fig. 16 o el dispositivo 600 de la Fig. 17.
Las imagenes 20, 22, 24 de las multiples capas 10, 12, 14 en un flujo 1 de video multicapa son introducidas en el codificador 51 del dispositivo 50 de usuario para generar y emitir un flujo 2 de video multicapa codificado, que normalmente comprende unidades NAL que contienen las respectivas representaciones codificadas de las fracciones en las imagenes o los conjuntos de parametros generados para el flujo 1 de video multicapa.
El flujo 2 de video multicapa codificado se transmite preferiblemente, de manera inalambrica o usando una conexion por cable desde el dispositivo 50 de usuario hacia el dispositivo 53 de usuario, donde el decodificador 54 decodifica el flujo 2 de video multicapa para generar imagenes decodificadas que puedan ser mostradas en el elemento de presentacion 56. Ejemplos no limitativos de protocolos de transporte que se podnan usar en una red para transmitir un flujo 2 de video multicapa codificado y/o paquetes de datos que lleven unidades NAL que son enviadas fuera de banda incluyen el RTP, la Transmision Dinamica Adaptativa obre el Protocolo de Transferencia de Hipertexto (DASH), el Flujo de Transporte MPEG2 (TS). La red es preferiblemente una red inalambrica, tal como una red movil (de banda ancha).
El flujo 2 de video multicapa codificado se puede transmitir desde el dispositivo 50 de usuario codificador al dispositivo 53 de usuario decodificador a traves de uno o mas nodos 52 de red. Dichos nodos 52 de red podnan de manera opcional procesar el flujo 2 de video multicapa codificado, asf como transcodificar el flujo de video multicapa, o eliminar una o mas capas del flujo 2 de video multicapa codificado para formar un subflujo 3 de video multicapa codificado. Dicho descarte de capa podna ser debido a una adaptacion de la tasa de bit, por ejemplo, en el caso de
una congestion de red; una adaptacion de formato, por ejemplo en el caso de un dispositivo 53 de usuario decodificador que pueda solo decodificar o presentar una cierta resolucion maxima; o una adaptacion 2D/3D, por ejemplo en el caso que el dispositivo 53 de usuario solo pueda decodificar o presentar un cierto numero de vistas.
Las presentes realizaciones son aplicables en concreto a la HEVC y a otros estandares de codificacion de video 5 capaces de codificar y decodificar video multicapa, asf como video multivista, video 3D o video escalable.
Modificaciones y otras variantes de las realizaciones descritas vendran a la mente de alguien experto en la tecnica que tiene el beneficio de las ensenanzas presentadas en las descripciones anteriores y los dibujos asociados. Por lo tanto, se ha de entender que las realizaciones no se limitan a los ejemplos espedficos descritos y que las modificaciones y otras variantes estan destinadas a ser incluidas dentro del alcance de la descripcion. En concreto, 10 las realizaciones descritas en la presente memoria se pueden combinar alla donde sea tecnicamente factible.
Claims (6)
- 5101520253035404550REIVINDICACIONES1. Un metodo de decodificacion de un flujo (2) de video multicapa codificado que define multiples capas (10, 12, 14) de imagenes (20, 22, 24), teniendo cada capa (10, 12, 14) de dichas multiples capas (10, 12, 14) un respectivo identificador de capa, dicho metodo comprende:recuperar (S1), para una capa (12) con mdice i de capa de dichas multiples capas (10, 12, 14), decodificar la informacion de relacion basada en dicho flujo (2) de video multicapa codificado, definiendo dicha informacion de relacion de decodificacion una respectiva bandera de dependencia directa, bandera_dependencia_directa[i][j], para cada capa (10) de dichas multiples capas (10, 12, 14) que tiene un mdice j de capa para el que 0 < j < i, en donde una bandera de dependencia directa, bandera_dependencia_directa[i][j], igual a 1 indica que dicha capa (10) con mdice j de capa es una capa de referencia directa para dicha capa (12) con mdice i de capa y una bandera de dependencia directa, bandera_dependencia_directa[i][j], igual a 0 indica que dicha capa (10) con mdice j de capa no es una capa de referencia directa para dicha capa (12) con mdice i de capa;recuperar una bandera bandera_presente_id_capa_nuh_vps basada en dicho flujo (2) de video multicapa codificado;fijar, para cada capa (10) de referencia y para dicha capa (12) con mdice i de capa y si bandera_presente_id_capa_nuh_vps = 0, su identificador de capa igual a su mdice de capa.recuperar, para cada capa (10) y para dicha capa (12) con mdice i de capa y si bandera_presente_id_capa_nuh_vps = 1, su identificador de capa de un vector nuh_en_id_capa[i], i e [1, capas_max_vps_menos1], en donde capas_max_vps_menos1 + 1 indica el numero maximo de capas y nuh_en_id_capa[i] indica un identificador de capa para una capa con mdice i de capa; ydecodificar (S3) una imagen (22) de dicha capa (12) con mdice i de capa basada en al menos una imagen (20) previamente decodificada en una capa (10) de dichas multiples capas (10, 12, 14) identificada en base a dichos identificadores de capa.
- 2. El metodo segun la reivindicacion 1, en donde la recuperacion (S1) de dicha informacion de relacion de decodificacion comprende recuperar (S10), de un conjunto de parametros de video o de una extension del conjunto de parametros de video asociada con dicho flujo (2) de video multicapa codificado, dicha respectiva bandera de dependencia directa.
- 3. Un decodificador (700) configurado para decodificar un flujo (2) de video multicapa codificado que define multiples capas (10, 12, 14) de imagenes (20, 22, 24), cada capa (10, 12, 14) de dichas multiples capas (10, 12, 14) teniendo un respectivo identificador de capa, dicho decodificador (700) comprende un procesador (710) configurado para procesar medios (740) de codigo de un programa informatico (730) almacenado en un medio (720) legible por ordenador, dichos medios de codigo (740) provocan, cuando se ejecutan en dicho procesador (710), a dicho procesador a:recuperar, para una capa (12) con un mdice i de capa de multiples capas (10, 12, 14), la informacion de relacion de decodificacion basada en dicho flujo (2) de video multicapa codificado, definiendo dicha informacion de relacion de decodificacion una respectiva bandera de dependencia directa, bandera_dependencia_directa[i][j], para cada capa (10) de dichas multiples capas (10, 12, 14) que tiene un mdice j de capa para el que 0 <j < i, en donde una bandera de dependencia directa, bandera_dependencia_directa[i][j], igual a 1 indica que dicha capa (10) con mdice j de capa es una capa de referencia directa para dicha capa (12) con mdice i de capa y una bandera de dependencia directa, bandera_dependencia_directa[i][j], igual a 0 indica que dicha capa (10) con mdice j de capa no es una capa de referencia directa para dicha capa (12) con mdice i de capa;recuperar una bandera bandera_presente_id_capa_nuh_vps basada en dicho flujo (2) de video multicapa codificado;fijar, para cada capa (10) de referencia y para dicha capa (12) con mdice i de capa y si bandera_presente_id_capa_nuh_vps = 0, su identificador de capa igual a su mdice de capa;recuperar, para cada capa (10) de referencia y para dicha capa (12) con mdice i de capa y si bandera_presente_id_capa_nuh_vps = 1, su identificador de capa de un vector nuh_en_id_capa[i], i e [1, capas_max_vps_menos1], en donde, capas_max_vps_menos1 + 1 indica el numero maximo de capas y nuh_en_id_capa[i] indica el identificador de capa de una capa con mdice i de capa; ydecodificar una imagen (22) de dicha capa (12) basada en al menos una imagen (20) previamente decodificada en una capa (10) de dichas multiple capas (10, 12, 14) identificada en base a dichos identificadores de capa.
- 4. El decodificador segun la reivindicacion 3, configurado para recuperar dicha informacion de relacion de decodificacion de un conjunto de parametros de video o extension del conjunto de parametros de video asociado con dicho flujo (2) de video multicapa codificado.
- 5. Un dispositivo (53) de usuario que comprende dicho decodificador (700) segun la reivindicacion 3.
- 6. Un nodo de red (52) que comprende dicho decodificador (700) segun la reivindicacion 3.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261740562P | 2012-12-21 | 2012-12-21 | |
US201261740562P | 2012-12-21 | ||
PCT/SE2013/050670 WO2014098703A1 (en) | 2012-12-21 | 2013-06-11 | Multi-layer video stream encoding and decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2648970T3 true ES2648970T3 (es) | 2018-01-09 |
Family
ID=48699927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES13731991.9T Active ES2648970T3 (es) | 2012-12-21 | 2013-06-11 | Codificación y decodificación de flujo de video multicapa |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2936817B1 (es) |
CN (1) | CN105009578B (es) |
DK (1) | DK2936817T3 (es) |
ES (1) | ES2648970T3 (es) |
RU (1) | RU2610670C1 (es) |
WO (1) | WO2014098703A1 (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130116782A (ko) | 2012-04-16 | 2013-10-24 | 한국전자통신연구원 | 계층적 비디오 부호화에서의 계층정보 표현방식 |
CN104685885B (zh) * | 2012-09-30 | 2018-09-07 | 华为技术有限公司 | 一种在参数集中用信号发送可缩放性信息的方法 |
US9325997B2 (en) | 2012-11-16 | 2016-04-26 | Huawei Technologies Co., Ltd | Signaling scalability information in a parameter set |
US9774927B2 (en) | 2012-12-21 | 2017-09-26 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-layer video stream decoding |
US9426468B2 (en) | 2013-01-04 | 2016-08-23 | Huawei Technologies Co., Ltd. | Signaling layer dependency information in a parameter set |
US10904574B2 (en) * | 2018-09-13 | 2021-01-26 | Tencent America LLC | Method and device using an out of band end of stream NAL unit in decoding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008536420A (ja) * | 2005-04-13 | 2008-09-04 | ノキア コーポレイション | スケーラビリティ情報の符号化、格納およびシグナリング |
JP2009543514A (ja) * | 2006-07-11 | 2009-12-03 | トムソン ライセンシング | マルチビュー・ビデオ符号化における使用のための方法および装置 |
US8855199B2 (en) * | 2008-04-21 | 2014-10-07 | Nokia Corporation | Method and device for video coding and decoding |
AU2012225513B2 (en) * | 2011-03-10 | 2016-06-23 | Vidyo, Inc. | Dependency parameter set for scalable video coding |
-
2013
- 2013-06-11 ES ES13731991.9T patent/ES2648970T3/es active Active
- 2013-06-11 CN CN201380073509.2A patent/CN105009578B/zh active Active
- 2013-06-11 RU RU2015129744A patent/RU2610670C1/ru active
- 2013-06-11 EP EP13731991.9A patent/EP2936817B1/en active Active
- 2013-06-11 WO PCT/SE2013/050670 patent/WO2014098703A1/en active Application Filing
- 2013-06-11 DK DK13731991.9T patent/DK2936817T3/en active
Also Published As
Publication number | Publication date |
---|---|
EP2936817B1 (en) | 2017-08-23 |
WO2014098703A1 (en) | 2014-06-26 |
RU2610670C1 (ru) | 2017-02-14 |
CN105009578A (zh) | 2015-10-28 |
CN105009578B (zh) | 2018-04-13 |
EP2936817A1 (en) | 2015-10-28 |
DK2936817T3 (en) | 2017-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200413042A1 (en) | Multi-Layer Video Stream Encoding and Decoding | |
US9774927B2 (en) | Multi-layer video stream decoding | |
ES2648970T3 (es) | Codificación y decodificación de flujo de video multicapa | |
ES2645943T3 (es) | Señalización de imágenes de referencia | |
US12041238B2 (en) | Extension data handling | |
ES2629744T3 (es) | Gestión de listas de imágenes de referencia | |
ES2671520T3 (es) | Provisión de información de tratamiento adicional | |
AU2012276349A1 (en) | Absolute or explicit reference picture signaling | |
EP2936809B1 (en) | Multi-layer video stream decoding |