ES2569049T3 - Gestión de datos de extensión - Google Patents

Gestión de datos de extensión Download PDF

Info

Publication number
ES2569049T3
ES2569049T3 ES12816534.7T ES12816534T ES2569049T3 ES 2569049 T3 ES2569049 T3 ES 2569049T3 ES 12816534 T ES12816534 T ES 12816534T ES 2569049 T3 ES2569049 T3 ES 2569049T3
Authority
ES
Spain
Prior art keywords
segment
extension
length
segment header
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12816534.7T
Other languages
English (en)
Inventor
Jonatan Samuelsson
Rickard Sjöberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2569049T3 publication Critical patent/ES2569049T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

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 una representación codificada (20) de un segmento (3) de una imagen (2), comprendiendo dicha representación codificada (20) una cabecera (21) de segmento y datos (25) de segmento, comprendiendo dicho método: identificar (S20) un conjunto de parámetros asociado con dicha representación codificada (20) en función de un identificador (26) del conjunto de parámetros obtenible en función de dicha cabecera (21) de segmento; analizar (S21) una bandera de presencia de extensión en la cabecera de segmento presente en dicho conjunto de parámetros; analizar (S1), si dicha bandera de presencia de extensión en la cabecera de segmento tiene un valor predefinido, un indicador (23) de longitud en un código de longitud variable asociado con dicha representación codificada (20) e indicativo de una longitud en bits o bytes de un campo (24) de extensión en dicha cabecera (21) de segmento; y determinar (S2), si dicha bandera de presencia de extensión en la cabecera de segmento tiene dicho valor predefinido, ignorar, durante la decodificación de dicha representación codificada (20), cualquier valor de dicho campo (24) de extensión identificado en función de dicho indicador (23) de longitud.

Description

5
10
15
20
25
30
35
DESCRIPCION
Gestion de datos de extension Campo tecnico
Las realizaciones versan en general sobre la codificacion y la decodificacion de segmentos y, en particular, sobre la gestion de datos de extension en conexion con la codificacion y la decodificacion de segmentos.
Antecedentes
La codificacion de video de alta eficiencia (HEVC) es un nuevo estandar de codificacion de video que en la actualidad esta siendo desarrollado en el Joint Collaborative Team on Video Coding (JCT-VC). JCT-VC es un proyecto de colaboracion entre el Grupo de Expertos de Imagenes en Movimiento (MPEG) y el sector de estandarizacion de telecomunicaciones de la Union Internacional de Telecomunicaciones (ITU-T). En la actualidad hay definido un borrador de comite (CD) que incluye varias nuevas herramientas y es considerablemente mas eficiente que la Codificacion Avanzada de Video (AVC) H.264.
Es probable que en el futuro se definan extensiones de HEVC, tales como una extension de vistas multiples y una extension de redimensionamiento. Estas extensiones podnan entonces contener datos relativos, por ejemplo, a vistas adicionales dependientes de una vista base, o capas adicionales dependientes de una capa base.
Puede darse por sentado que la retrocompatibilidad para algunas partes de una secuencia codificada —por ejemplo, la vista base o la capa base— es un requisito. Sin embargo, es importante que un decodificador preexistente, es decir, compatible con la especificacion base, sea capaz de gestionar correctamente el flujo de bits incluso cuando se usen tales extensiones.
La HEVC define algunos tipos de unidades de la Capa de Abstraccion de Red (NAL) que han de reservarse, entre otros, para extensiones. Tambien los conjuntos de parametros, por ejemplo el Conjunto de Parametros de Secuencia (SPS), el Conjunto de Parametros de Imagen (PPS) y el Conjunto de Parametros de Adaptacion (APS), contienen campos de extension al final de sus tablas de sintaxis. Se especifica que un decodificador que se conforme a la especificacion base de la HEVC ignorara los datos del campo de extension al final de un conjunto de parametros. La sintaxis para los datos de extension es mostrada a continuacion en un ejemplo ilustrativo en forma de SPS como conjunto de parametros. La sintaxis sena similar si se usaran otros conjuntos de parametros distintos de SPS. La longitud total de un conjunto de parametros es conocida por el decodificador por medio del elemento de sintaxis NumBytesInRBSP, normalmente proporcionado por la capa de sistema, para que el decodificador no tenga ningun problema en detectar donde acaba el campo de extension.
imagen1
if( sps_extension_f!ag)
while( more_rbsp_data())
sps_extension_data_flag u (1)
rbsp_trailing_bits[)
Una unidad NAL que contiene un segmento codificado de una imagen consiste en dos partes: en primer lugar, la cabecera de segmento y luego los datos de segmento. En la actualidad no hay ningun campo de extension para segmentos codificados.
La cabecera de segmento contiene informacion sobre el segmento actual, por ejemplo el tipo de segmento, que imagenes de referencia usar, etc. Existe la necesidad de anadir extensiones y campos de extension en HEVC. Sin embargo, en tal caso es importante que tanto un decodificador preexistente que se conforme a la especificacion
5
10
15
20
25
30
35
40
45
50
55
base —es dedr, que no use extensiones— como un decodificador compatible con las extensiones puedan gestionar correctamente un flujo de datos que comprenda tales extensiones.
El actual diseno de una cabecera de segmento para una representacion codificada de un segmento hace esta necesidad diffcil o incluso imposible de implementar cuando se tiene decodificadores tanto preexistentes como compatibles con extensiones.
Boyce et al., Extensible High Layer Syntax for Scalability, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTCl/SC29/WG11, 5° Encuentro: Ginebra, CH, 16-23 de marzo de 2011, Documento: JCTVC-E279, propone la introduccion de un nuevo conjunto de parametros de dependencia y de dos nuevos mensajes SEI, asf como cambios en la cabecera de la unidad NAL, SPS, PPS y la cabecera de segmento para un mejor soporte del redimensionamiento y las extensiones futuras.
Compendio
Es un objetivo general habilitar el uso de extensiones de cabecera de segmento.
Es un objetivo particular gestionar extensiones de cabecera de segmento en conexion con la codificacion y la decodificacion de segmentos.
Estos y otros objetivos son satisfechos por las realizaciones dadas a conocer en la presente memoria.
Un aspecto de las realizaciones versa sobre un metodo de decodificacion de una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El metodo comprende analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El metodo tambien comprender la determinacion de ignorar, durante la decodificacion de la representacion codificada, cualquier valor del campo de extension identificado en funcion del indicador de longitud.
Un aspecto relacionado de las realizaciones define un decodificador para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El decodificador comprende una unidad de analisis configurada para analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El decodificador tambien comprende una unidad de procesamiento configurada para hacer que el decodificador ignore, durante la decodificacion de la representacion codificada, cualquier valor del campo de extension identificado en funcion del indicador de longitud.
Otro aspecto de las realizaciones versa sobre un metodo de decodificacion de una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El metodo comprende analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El metodo tambien comprende identificar el campo de extension en la cabecera de segmento en funcion del indicador de longitud. La representacion codificada del segmento es decodificada en funcion de al menos un valor del campo de extension identificado en funcion del indicador de longitud.
Otro aspecto relacionado de las realizaciones define un decodificador para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El decodificador comprende una unidad de analisis configurada para analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El decodificador tambien comprende una unidad de identificacion del campo de extension configurada para identificar el campo de extension en la cabecera de segmento en funcion del indicador de longitud. Una unidad de decodificacion del decodificador esta configurada para decodificar la representacion codificada del segmento en funcion de al menos un valor del campo de extension identificado por la unidad de identificacion del campo de extension.
Un aspecto adicional de la realizacion versa sobre un metodo de codificacion de un segmento de una imagen. El metodo comprende generar un indicador de longitud indicativo de una longitud de un campo de extension presente en una cabecera de segmento del segmento. El segmento se codifica creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. El indicador de longitud se asocia con la representacion codificada.
Un aspecto adicional relacionado de las realizaciones define un codificador para codificar un segmento de una imagen. El codificador comprende una unidad de generacion configurada para generar un indicador de longitud indicativo de una longitud de un campo de extension presente en una cabecera de segmento del segmento. Una unidad de codificacion esta configurada para codificar el segmento creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. El codificador tambien comprende una unidad de asociacion configurada para asociar el indicador de longitud con la representacion codificada.
5
10
15
20
25
30
35
40
45
50
55
Un aspecto adicional de las realizaciones versa sobre un receptor que comprende un decodificador para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El decodificador comprende una unidad de analisis configurada para analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El decodificador tambien comprende una unidad de procesamiento configurada para hacer que el decodificador ignore, durante la decodificacion de la representacion codificada, cualquier valor del campo de extension identificado en funcion del indicador de longitud.
Otro aspecto adicional de las realizaciones versa sobre un receptor que comprende un decodificador para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El decodificador comprende una unidad de analisis configurada para analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El decodificador tambien comprende una unidad de identificacion del campo de extension configurada para identificar el campo de extension en la cabecera de segmento en funcion del indicador de longitud. Una unidad de decodificacion del decodificador esta configurada para decodificar la representacion codificada del segmento en funcion de al menos un valor del campo de extension identificado por la unidad de identificacion del campo de extension.
Otro aspecto adicional de las realizaciones versa sobre un transmisor que comprende un codificador para codificar un segmento de una imagen. El codificador comprende una unidad de generacion configurada para generar un indicador de longitud indicativo de una longitud de un campo de extension presente en una cabecera de segmento del segmento. El codificador tambien comprende una unidad de codificacion configurada para codificar el segmento creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. Una unidad de asociacion del codificador esta configurada para asociar el indicador de longitud con la representacion codificada.
Un aspecto adicional de la realizacion versa sobre un programa informatico para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El programa informatico comprende medios de codigo que, cuando son ejecutados por un procesador, hacen que el procesador analice un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. Tambien se hace que el procesador determine ignorar, durante la decodificacion de la representacion codificada, cualquier valor de dicho campo de extension identificado en funcion del indicador de longitud.
Un aspecto adicional relacionado de la realizacion define un programa informatico para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El programa informatico comprende medios de codigo que, cuando son ejecutados por un procesador, hacen que el procesador analice un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. Tambien se hace que el procesador identifique, en funcion del indicador de longitud, el campo de extension en dicha cabecera de segmento y decodifique la representacion codificada del segmento en funcion de al menos un valor del campo de extension identificado en funcion del indicador de longitud.
Otro aspecto adicional relacionado de las realizaciones define un programa informatico para codificar un segmento de una imagen. El programa informatico comprende medios de codigo que, cuando son ejecutados por un procesador, hacen que el procesador genere un indicador de longitud indicativo de una longitud de un campo de extension presente en una cabecera de segmento del segmento. Tambien se hace que el procesador codifique el segmento creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. Tambien se hace que el procesador asocie el indicador de longitud con la representacion codificada.
Otro aspecto adicional relacionado de las realizaciones versa sobre un producto de programa informatico que comprende un medio legible en ordenador y un programa informatico almacenado en el medio legible en ordenador.
Las presentes realizaciones habilitan la introduccion de campos de extension en cabeceras de segmento de representaciones codificadas de segmentos y seguir produciendo tales representaciones codificadas que podnan ser gestionadas correctamente incluso por decodificadores preexistentes que no sean compatibles con campos de extension.
Breve descripcion de los dibujos
La invencion, junto con objetos y ventajas adicionales de la misma, puede ser entendida de manera optima haciendo referencia a la siguiente descripcion tomada junto con los dibujos adjuntos, en los que:
la Fig. 1 es una ilustracion esquematica de un flujo de video de imagenes que comprenden uno o mas segmentos; la Fig. 2 es una ilustracion de un paquete de datos que comprende una unidad NAL; las Figuras 3A-3C son ilustraciones de representaciones codificadas de un segmento;
5
10
15
20
25
30
35
40
45
la Fig. 4 es un diagrama de flujo de un metodo de decodificacion de una representacion codificada de un segmento segun una realizacion;
la Fig. 5 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. 4 segun una realizacion;
la Fig. 6 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. 4 segun otra realizacion;
la Fig. 7 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. 4 segun una realizacion adicional;
la Fig. 8 es un diagrama de flujo de un metodo de decodificacion de una representacion codificada de segun otra realizacion;
la Fig. 9 es un diagrama de flujo de un metodo de codificacion de un segmento segun una realizacion;
la Fig. 10 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. realizacion;
la Fig. 11 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. 9 segun otra realizacion;
la Fig. 12 es un diagrama de flujo que ilustra una realizacion de la etapa de asociacion de la Fig. 11; la Fig. 13 es un diagrama esquematico de bloques de un decodificador segun una realizacion;
la Fig. 14 es un diagrama esquematico de bloques de un decodificador segun otra realizacion;
la Fig. 15 es un diagrama esquematico de bloques de un decodificador segun una realizacion adicional;
la Fig. 16 es un diagrama esquematico de bloques de un receptor segun una realizacion;
la Fig. 17 es un diagrama esquematico de bloques de un codificador segun una realizacion;
la Fig. 18 es un diagrama esquematico de bloques de un codificador segun otra realizacion;
la Fig. 19 es un diagrama esquematico de bloques de un transmisor segun una realizacion; y
la Fig. 20 es un diagrama esquematico de bloques de un ordenador que comprende un medio legible en ordenador y
un programa informatico segun una realizacion.
Descripcion detallada
En todos los dibujos se usan los mismos numeros de referencia para elementos similares o correspondientes.
Las presentes realizaciones estan dirigidas hacia la gestion de datos de extension en conexion con la codificacion y la decodificacion de segmentos de imagenes. Por ende, las realizaciones habilitan la introduccion y el uso de lo que ha dado en llamarse campos de extension, tambien denominados elementos de sintaxis de extension, en las cabeceras de segmento para los segmentos. Tales campos de extension pueden ser anadidos, segun las realizaciones, a las cabeceras de segmento y seguir presentando una representacion codificada que podna ser gestionada correctamente tanto por decodificadores compatibles con extensiones como con los decodificadores que no pueden gestionar datos de extension, es decir, que se atienen a un perfil que no usa campos de extension. Estos decodificadores son generalmente denominados decodificadores preexistentes o decodificadores compatibles con la especificacion base.
La presencia de decodificadores tanto compatibles con las extensiones como preexistentes impone problemas en conexion con el uso de campos de extension en las cabeceras de segmento. Por ende, es preciso que un decodificador preexistente sea capaz de decodificar e interpretar correctamente los datos de un representacion codificada de un segmento aunque la representacion codificada transporte datos de extension en su cabecera de segmento.
No es posible anadir el mismo tipo de campo de extension que en los conjuntos de parametros expuestos en la seccion de antecedentes, en los que todos los datos adicionales al fin de la estructura de sintaxis son ignorados por el decodificador. El razon es que el decodificador no tiene ninguna forma de identificar donde acaba la cabecera de segmento y comienzan los datos de segmento. Asf, no se conoce la longitud de las estructuras individuales de datos —es decir, la cabecera de segmento y los datos de segmento—; unicamente la longitud total por medio del elemento de sintaxis NumBytes-InRBSP. As^ generalmente la sintaxis de la carga util de secuencia de bytes en bruto (RBSP) de la capa de segmentos tiene este aspecto:
un segmento
9 segun una
5
10
15
20
25
30
35
40
45
50
slice_layer_rbsp( ) {
slice_header( ) slice_data( )
rbsp_slice_trailing_bits( )
}
Asf, no es posible anadir un simple campo de extension en el que todos los datos adicionales del final de la cabecera de segmento sea ignorados por un decodificador preexistente, dado que no habna ninguna forma de que el decodificador preexistente identificara donde acaba la cabecera de segmento y comienzan los datos de segmento.
Se propone asociar un indicador de longitud con la representacion codificada del segmento y que este indicador de longitud sea indicativo de una longitud de un campo de extension presente en la cabecera de segmento del segmento. Por ende, el indicador de longitud permite que un decodificador identifique la porcion de la representacion codificada del segmento y la cabecera de segmento que constituye el campo de extension. Asf, por lo tanto, el decodificador preexistente podna determinar que porcion de la representacion codificada ignorar durante la decodificacion, dado que contiene datos de extension que el decodificador preexistente no puede tratar.
Sin embargo, mientras que un decodificador preexistente debena ignorar los datos de extension durante la decodificacion, un decodificador compatible con extensiones es capaz de decodificar y usar estos datos de extension durante la decodificacion.
La Fig. 1 es una ilustracion esquematica de una secuencia o flujo 1 de video de imagenes 2. Como es bien sabido en la tecnica, cada imagen 2 puede comprender una o mas de lo que se denomina segmentos 3. Asf, cada imagen 2 del flujo 1 de video se divide en uno o mas segmentos 3, siendo cada segmento 3 un trozo de la imagen 2 decodificable independientemente. En otras palabras, si se pierde un segmento 3, los otros segmentos 3 de esa imagen 2 siguen siendo decodificables.
La codificacion de un segmento 3 genera una representacion codificada del segmento 3 que comprende una cabecera de segmento y datos de segmento. La presentacion codificada sale del procedimiento de codificacion como lo que se denomina unidad 11 de la Capa de Adaptacion de Red (NAL), segun se muestra en la Fig. 2. La primera parte de la unidad NAL 11 es una cabecera que contiene una indicacion del tipo de datos de la unidad NAL. La parte restante de la unidad NAL 11 contiene datos de carga util en forma de cabecera de segmento y datos de segmento.
Puede entonces anadirse la unidad NAL 11 con cabeceras 12 para formar un paquete 10 de datos que puede ser transmitido como parte de un flujo de bits del codificador al decodificador. A la unidad NAL 11 se le podnan anadir, por ejemplo, cabeceras 12 del Protocolo de Transporte de Tiempo Real (RTP), del Protocolo de Datagramas de Usuario (UDP) y del Protocolo de Internet (IP). Esta forma de paquetizacion de las unidades NAL 11 constituye meramente un ejemplo en conexion con el transporte de video. Son posibles otros enfoques de gestion de las unidades NAL 11, tales como el formato de ficheros, flujos de transporte MPEG-2, flujos de programa MPEG-2, etc.
Las realizaciones dadas a conocer en la presente memoria son en particular aplicables y estan dirigidas hacia la decodificacion y la codificacion de segmentos 3 de imagenes 2 en un flujo o secuencia 1 de video, comprendiendo el flujo o secuencia 1 de video multiples imagenes 2, segun se muestra en la Fig. 1. Por lo tanto, las realizaciones seran expuestas en conexion con tal decodificacion y codificacion de video.
Sin embargo, las realizaciones tambien podnan ser aplicadas a la decodificacion y la codificacion de segmentos en una unica imagen, por ejemplo en conexion con tal decodificacion y codificacion de fotograffas o imagenes fijas. Por ejemplo, podnan usarse datos de extension en conexion con imagenes fijas con redimensionamiento espacial.
La Fig. 4 es un diagrama de flujo que ilustra un metodo de decodificacion de una representacion codificada de un segmento de una imagen, opcional pero preferentemente en un flujo de video. Preferentemente, el metodo de la Fig. 4 es un metodo realizado por un decodificador durante la decodificacion de una representacion codificada de un segmento de una imagen o un metodo de decodificacion para una representacion codificada de un segmento de una imagen.
Las Figuras 3A-3C ilustran ejemplos no limitantes de tal representacion codificada 20 de un segmento. La representacion codificada 20 comprende una cabecera 21 de segmento y datos 25 de segmento.
El metodo de la Fig. 4 comprende una etapa S1 en la que se analiza un indicador 23 de longitud (LI) asociado con la representacion codificada 20. Este indicador 23 de longitud es indicativo de una longitud de un campo 24 de extension (EXT F) de la cabecera 21 de segmento. En una etapa S2 siguiente se determina ignorar, durante la decodificacion de la representacion codificada 20, cualquier valor del campo 24 de extension identificado en funcion del indicador 23 de longitud.
5
10
15
20
25
30
35
40
45
50
55
Esto quiere decir que el indicador 23 de longitud asociado con la representacion codificada 20 puede ser usado para identificar la porcion de la representacion codificada 20 ocupada por el campo 24 de extension. Por ende, un decodificador puede usar, por ello, el indicador 23 de longitud para determinar o decidir ignorar y, por ello, no usar el o los valores o los datos del campo 24 de extension, estando identificado este campo 24 de extension en la cabecera 21 de segmento en funcion del indicador 23 de longitud. Asf, el decodificador usa, por ello, el indicador 23 de longitud para saltarse una cantidad o porcion de datos en la cabecera 21 de segmento, estando indicada la cantidad o porcion de datos saltada por medio del indicador 23 de longitud.
En una realizacion particular, el metodo de decodificacion de una representacion codificada 20 de un segmento de una imagen, tal como en un flujo de video, comprende analizar un indicador 23 de longitud asociado con la representacion codificada 20 e indicativo de una longitud de un campo 24 de extension en la cabecera 21 de segmento.
En esta realizacion particular, el metodo comprende, ademas, ignorar, durante la decodificacion de la representacion codificada 20, cualquier valor del campo 24 de extension identificado en funcion del indicador 23 de longitud.
El indicador 23 de longitud asociado con la representacion codificada 20 tambien permite que los decodificadores preexistentes traten y decodifiquen la representacion codificada 20. Estos decodificadores preexistentes simplemente determinan ignorar el o los valores o los datos obtenidos de la porcion de la cabecera 21 de segmento que esta ocupada por el campo 24 de extension, identificandose esta porcion de la cabecera 21 de segmento en funcion del indicador analizado 23 de longitud.
Segun se la usa en la presente memoria, la asociacion implica que es posible identificar y recuperar el indicador relevante 23 de longitud en funcion de la representacion codificada 20. Segun se divulga adicionalmente en la presente memoria, podna lograrse esto, por ejemplo, incluyendo el indicador 23 de longitud en la representacion codificada 20, normalmente en la cabecera 21 de segmento (veanse las Figuras 3A y 3B), o incluyendo datos, tales como un identificador 26, en la representacion codificada 20, pudiendo usarse estos datos o identificador 26 para identificar el indicador relevante 23 de longitud (vease la Fig. 3C). En este caso, podna proporcionarse el indicador 23 de longitud en otra estructura de datos distinta de la la representacion codificada 20. Por lo tanto, los datos o identificador 26 apuntan a esta otra estructura de datos y permiten la identificacion de la misma.
La Fig. 5 es un diagrama de flujo que ilustra etapas adicionales del metodo segun una realizacion particular. Estas etapas adicionales, pero opcionales, comienzan con la etapa S10 que continua desde la etapa S1 de la Fig. 4. En la etapa S10 se determina la longitud del campo de extension en funcion del indicador 23 de longitud analizado en la etapa S1. En una etapa S11 siguiente se identifica el fin del campo 24 de extension en la cabecera 21 de segmento en funcion de la longitud determinada en la etapa S10. Por lo tanto, en la etapa S2 siguiente el decodificador puede decidir o determinar ignorar el valor o los valores del campo 24 de extension hasta el fin del campo 24 de extension identificado en la etapa S11.
Opcionalmente, tambien se identifica el comienzo del campo 24 de extension en la cabecera 21 de segmento. En una realizacion, el comienzo podna estar en una posicion fija o predefinida en la cabecera 21 de segmento, tal como una posicion definida en bits o bytes en la cabecera 21 de segmento. Alternativamente. El comienzo del campo 24 de extension podna ser determinado en funcion del indicador 23 de longitud, tal como siguiendo directamente el indicador 23 de longitud en la cabecera 21 de segmento (veanse las Figuras 3A y 3B). Generalmente, una posicion de un elemento de sintaxis en la cabecera 21 de segmento esta dada por la longitud de los elementos de sintaxis precedentes. Esto es asf en particular si se aplica codificacion de longitud variable a uno o mas elementos de sintaxis precedentes en la cabecera 21 de segmento. En tal caso, el decodificador normalmente empieza a analizar y decodificar la cabecera 21 de segmento desde la posicion del primer bit y pasando por los diversos elementos de sintaxis hasta que alcanza el comienzo del campo 24 de extension.
En una realizacion, se introduce un indicador 23 de longitud que indica la longitud de datos adicionales de segmento, es decir, el campo 24 de extension. El indicador 23 de longitud esta ejemplificado por un elemento de sintaxis en, por ejemplo, la cabecera 21 de segmento u otra estructura de datos, que esta asociada con la cabecera 21 de segmento, o la longitud puede ser deducida mediante un patron de bits. En consecuencia, un codificador esta configurado para usar el elemento definido 23 de sintaxis para senalar la longitud de los datos adicionales. Un decodificador esta configurado para determinar la longitud de los datos adicionales. Los datos adicionales seran ignorados por los decodificadores que se atienen a algunos perfiles, mientras que los decodificadores que se atienen a otros perfiles lo analizaran y usaran los valores del elemento de sintaxis en los datos adicionales. Los decodificadores que se atienen a perfiles que lo ignoran usaran la informacion de longitud para determinar el fin de la cabecera 21 de segmento, de modo que la unidad NAL pueda ser decodificada.
Por lo tanto, las realizaciones habilitan la extension de una cabecera 21 de segmento de manera simple y eficiente en la tasa de transferencia de bits.
En una realizacion particular aplicable al metodo de la Fig. 4 y a la realizacion mostrada en la Fig. 5, el indicador 23 de longitud es una palabra de codigo o elemento de sintaxis presente en la cabecera 21 de segmento, segun se
5
10
15
20
25
30
35
40
45
50
55
60
muestra en las Figuras 3A y 3B. Esto significa, entonces, que la etapa S1 comprende analizar el indicador 23 de longitud presente en la cabecera 21 de segmento.
En una realizacion particular, el indicador 23 de longitud esta presente en la cabecera 21 de segmento que precede inmediatamente al campo 24 de extension. Por ende, el campo 24 de extension, sigue directamente el indicador 23 de longitud en la cabecera 21 de segmento en esta realizacion particular. En tal caso, la etapa S2 de la Fig. 4 podna comprender, en una realizacion, determinar ignorar, durante la decodificacion de la representacion codificada 20, cualquier valor o cualesquiera datos del campo 24 de extension que sigue directamente el indicador 23 de longitud en la cabecera 21 de segmento hasta el fin del campo 24 de extension. Este fin del campo 24 de extension es identificado en funcion del indicador 23 de longitud, tal como se ha divulgado anteriormente en conexion con la etapa S11 de la Fig. 5.
En otra realizacion particular, el indicador 23 de longitud no esta necesariamente presente en la cabecera 21 de segmento, pero esta asociado de otra forma con la representacion codificada 20. Por ejemplo, normalmente una cabecera 21 de segmento comprende un identificador 26 de un conjunto de parametros asociado con la representacion codificada 20 y que comprende datos aplicables al segmento actual. La Fig. 3C ilustra este caso con un identificador (ID) 26 de un conjunto de parametros (PS) en la cabecera 21 de segmento.
Por ejemplo, un conjunto de parametros de adaptacion (APS) comprende informacion de control valida para mas de un segmento. La informacion de control puede diferir entre los segmentos. Un conjunto de parametros de imagen (PPS) comprende informacion de control valida para varias imagenes, y que puede ser igual para multiples imagenes de la misma secuencia o flujo de video. Un conjunto de parametros de secuencia (SPS) comprende informacion de control valida para toda una secuencia o flujo de video. La HEVC tambien usa lo que se denomina Conjunto de Parametros de Video (VPS). En tal caso, el indicador 23 de longitud podna estar presente en cualquiera de estos conjuntos de parametros, tal como en el APS, VPS, PPS o SPS aplicable al segmento actual. En tal caso, la cabecera 21 de segmento comprende, preferentemente, un identificador 26 del conjunto de parametros que permite la identificacion del conjunto relevante de parametros que lleva el indicador 23 de longitud. El decodificador podna entonces usar este identificador 26 del conjunto de parametros para identificar el conjunto correcto de parametros y luego analizar el indicador 23 de longitud del conjunto de parametros identificado. El identificador 26 del conjunto de parametros podna identificar directamente el conjunto de parametros, tal como un identificador de APS o un identificador de PPS. En un enfoque alternativo, el identificador 26 del conjunto de parametros identifica un conjunto de parametros que, a su vez, comprende otro identificador del conjunto de parametros para otro conjunto de parametros que lleva el indicador 23 de longitud. Por ejemplo, la cabecera 21 de segmento podna comprender un identificador de PPS para un PPS que sea aplicable al segmento actual. A su vez, este PPS puede comprender un identificador de SPS para un SPS que sea aplicable al PPS y al segmento actual, y comprendiendo este SPS el indicador 23 de longitud.
Si es probable que el tamano o longitud del campo 24 de extension en terminos del numero de bytes o de bits sea similar para varios segmentos en el flujo de video, podna preferirse anadir el indicador 23 de longitud en un conjunto de parametros, en lugar de senalarlo directamente en cada representacion codificada 20. En tal caso, podna reducirse algo el tamano o longitud total de la representacion codificada 20 al no tener que incluir los bits del indicador 23 de longitud en la cabecera 21 de segmento. Por lo tanto, en este enfoque, multiples segmentos compartiran un mismo indicador 23 de longitud al referirse al mismo conjunto de parametros que comprende el indicador 23 de longitud.
Sin embargo, hay generalmente mucha mayor flexibilidad al incluir el indicador 23 de longitud directamente en las cabeceras de segmento 21 en cada representacion codificada 20. Por lo tanto, en consecuencia, se puede permitir que el tamano o longitud del campo 24 de extension difiera entre diferentes segmentos. Ademas, no se requiere ninguna referencia a un conjunto de parametros para analizar el indicador 23 de longitud.
El analisis del indicador de longitud, segun se muestra en la etapa S1 de la Fig. 4, no tiene que ser realizado necesariamente para cada representacion codificada 20. En particular, si el indicador 23 de longitud esta presente en un conjunto de parametros identificado en funcion de un identificador 26 del conjunto de parametros presente en la cabecera de segmento, podna identificarse el conjunto relevante de parametros para la primera representacion codificada 20 de la secuencia de video que comprenda el identificador 26 del conjunto de parametros. A continuacion, los datos del conjunto identificado de parametros son entonces analizados y los valores decodificados y los datos presentes en el mismo, incluyendo el indicador 23 de longitud, son normalmente almacenados en una memoria del decodificador. Entonces el decodificador hace un seguimiento del conjunto activado de parametros, es decir, un conjunto de parametros que ya ha sido analizado y decodificado. Esto quiere decir que cuando una representacion codificada 20 de la secuencia de video subsiguiente comprenda un identificador 26 del conjunto de parametros que identifique a este conjunto de parametros, los datos, incluyendo el indicador 23 de longitud, podnan ser recuperados de los valore almacenados en la memoria.
Por ende, el analisis del indicador 23 de longitud en la etapa S1 no tiene que realizarse necesariamente para cada representacion codificada 20, en particular si el indicador 23 de longitud esta presente en un conjunto de parametros. Sin embargo, esta etapa S1 se realiza preferentemente al menos una vez para una representacion codificada 20 que tenga un identificador 26 del conjunto de parametros apuntando al conjunto relevante de
5
10
15
20
25
30
35
40
45
50
55
parametros en su cabecera 21 de segmento. La etapa S1 podna comprender, entonces, para cualquier representacion codificada 20 de la secuencia de video que siga que comprenda un identificador 26 del conjunto de parametros para este conjunto relevante de parametros, leer o recuperar, de una memoria, el indicador de longitud asociado con la representacion codificada e indicativo de la longitud del campo de extension en la cabecera de segmento.
El indicador 23 de longitud (veanse las Figuras Fig. 3A y 3B) o el identificador 26 del conjunto de parametros (vease la Fig. 3C) no tienen necesariamente que preceder directamente el campo 24 de extension en la cabecera 21 de segmento, segun se muestra en las Figuras 3A-3C. Generalmente se prefiere hacer que el campo 24 de extension siga inmediatamente al indicador 23 de longitud o al identificador 26 del conjunto de parametros. Sin embargo, esto no es necesario. En realizaciones alternativas, podna haber presentes otros datos de cabecera de segmento, es decir, al menos un elemento de sintaxis o palabra de codigo, entre la posicion del indicador 23 de longitud o el identificador 26 del conjunto de parametros y el campo 24 de extension en la cabecera 21 de segmento.
La Fig. 6 es un diagrama de flujo de etapas adicionales opcionales del metodo de la Fig. 4. En la etapa S21 se analiza una bandera de presencia de extension en la cabecera de segmento asociada con la representacion codificada. Esta bandera de presencia de extension en la cabecera de segmento podna estar presente en la cabecera 21 de segmento o estar asociada de otro modo con la representacion codificada 20. Por ejemplo, la bandera de presencia de extension en la cabecera de segmento podna estar presente en un conjunto de parametros asociado con el segmento, tal como en un PPS. Preferentemente, el metodo comprende entonces la etapa opcional S20, en la que un conjunto de parametros, tal como un PPS, asociado con la representacion codificada 20 es identificado en funcion de un identificador del conjunto de parametros, tal como un identificador de PPS, obtenible en funcion de la cabecera 21 de segmento. El identificador del conjunto de parametros podna ser recuperado directamente de la cabecera 21 de segmento o podna ser recuperado de otro conjunto de parametros que este identificado por otro identificador del conjunto de parametros directamente recuperado de la cabecera 21 de segmento. La etapa S21 comprende entonces, preferentemente, el analisis de la bandera de la extension de cabecera de segmento presente en el conjunto de parametros, tal como en el PPS.
El analisis de la bandera de presencia de extension en la cabecera de segmento en la etapa S21 no tiene que ser realizado necesariamente para cada representacion codificada 20 de una secuencia de video, en particular si la bandera de presencia de extension en la cabecera de segmento esta presente en un conjunto de parametros identificado en la etapa S20. En tal caso, se podna identificar, analizar y decodificar el conjunto relevante de parametros para la primera representacion codificada 20 que tenga un identificador 26 del conjunto de parametros apuntando a este conjunto de parametros. Los datos decodificados del conjunto de parametros, incluyendo la bandera de presencia de extension en la cabecera de segmento, podnan ser almacenados entonces en una memoria del decodificador. En tal caso, el valor de la bandera de presencia de extension en la cabecera de segmento puede ser simplemente lefdo o recuperado de memoria por cualquier representacion codificada 20 subsiguiente que tenga un identificador 26 del conjunto de parametros apuntando al conjunto de parametros analizado y decodificado anteriormente.
La bandera de presencia de extension en la cabecera de segmento indica si hay o no presente algun campo 24 de extension en la cabecera 21 de segmento. Asf, si la bandera de presencia de extension en la cabecera de segmento tiene un primer valor predefinido, tal como 1 bin, hay un campo 24 de extension presente en la cabecera 21 de segmento y la representacion codificada 20 esta asociada con un indicador 23 de longitud. Sin embargo, si la bandera de presencia de extension en la cabecera de segmento tiene un segundo valor predefinido, tal como 0bin, no hay ningun campo 24 de extension presente en la cabecera 21 de segmento y, por lo tanto, ningun indicador 23 de longitud se asocia con la representacion codificada 20.
En una etapa S22 siguiente, la bandera analizada de presencia de extension en la cabecera de segmento es analizada y se determina si tiene el primer valor predefinido o el segundo valor predefinido. Por ejemplo, si la bandera de presencia de extension en la cabecera de segmento esta puesta —es decir, es igual a 1 bin—, el metodo prosigue a la etapa S1 de la Fig. 4, en la que se analiza el indicador 23 de longitud. Asf, en este caso hay un campo 24 de extension presente y un decodificador preexistente precisa identificar la porcion de la cabecera 21 de segmento que corresponde al campo 24 de extension.
Si la bandera de presencia de extension en la cabecera de segmento no esta puesta —es decir, es igual a 0bin—, el metodo prosigue, en vez de ello, a la etapa S23, en la que el decodificador puede simplemente empezar a analizar y decodificar los datos 25 de segmento que siguen a la cabecera 21 de segmento. Asf, en este caso, no hay ningun campo de extension presente en la cabecera 21 de segmento que precise ser identificado por un decodificador preexistente.
En una realizacion particular, la sintaxis de RBSP del conjunto de parametros de imagen podna tener este aspecto:
5
10
15
20
25
pic_parameter_$et_rbsp{) { Descriptor
slice_header_extension _present_flag u(1)
}
Que slice_header_extension_present_flag sea igual a 0 especifica que no hay ningun elemento de sintaxis de la extension de cabecera de segmento presente en la cabecera de segmento para imagenes codificadas que se refieran al conjunto de parametros de imagen.
En esta realizacion particular, una sintaxis general de cabecera de segmento podna entonces tener este aspecto:
slice_header{) { Descriptor
if( slice_header_extension_present_flag) {
slice _header_extension_length ue (v)
for( i=0; i<slice_header_extension_length\ i++)
$lice_header_extension_data_byte[ i ] u(8)
}
byte_alignment{)
}
El elemento de sintaxis slice_header_extension_length especifica la longitud de los datos de la extension de cabecera de segmento en bytes, sin incluir los bits usados para senalizar el propio elemento de sintaxis slice_header_extension_length. El valor de slice_header_extension_length podna estar en el intervalo de 0 a 256, inclusive. El tamano de slice_header_extension_length no tiene necesariamente que estar en Codigo Universal de Longitud Variable (UVLC), sino que podna ser de longitud fija, es decir, u(q) para algun entero positivo q.
El elemento de sintaxis slice_header_extension_data_byte puede tener cualquier valor. Los decodificadores preexistentes debenan ignorar el valor de slice_header_extension_data_byte. De forma alternativa, slice_header_extension_data_byte podna usar bits, es decir, u(1), en vez de bytes, es decir, u(8).
La bandera de presencia de extension en la cabecera de segmento implica que el decodificador puede determinar, leyendo simplemente esta unica bandera, preferentemente en forma de bandera de un solo bit, si una representacion codificada 20 comprende algun campo 24 de extension que precise ser procesado —es decir, analizado y usado— por un decodificador compatible con extensiones o ignorado por un decodificador preexistente. Por ende, el uso de la bandera de presencia de extension en la cabecera de segmento simplifica la decodificacion de las representaciones codificadas 20 en situaciones en las que algunas representaciones codificadas 20 podnan comprender campos 24 de extension, mientras que en otras no. En tal caso, no es preciso que el decodificador analice ni use ningun indicador 23 de longitud, sino que puede simplemente investigar el valor de la bandera de presencia de extension en la cabecera de segmento.
La bandera de presencia de extension en la cabecera de segmento es insertada ventajosamente en un conjunto de parametros, dado que es probable que multiples segmentos del flujo de video no tengan ningun campo 24 de extension o que tengan campos 24 de extension. Entonces, es mas eficiente en el uso de bits senalizar la bandera de presencia de extension en la cabecera de segmento en el conjunto de parametros que incluir tal bandera de presencia de extension en la cabecera de segmento en cada cabecera 21 de segmento.
5
10
15
20
25
30
35
40
45
En una realizacion particular, los datos 25 de segmento comienzan inmediatamente despues del fin del campo 24 de extension en la representacion codificada 20. Por ende, en este enfoque la posicion del bit siguiendo el fin del campo 24 de extension identificado en funcion del indicador 23 de longitud constituye el primer bit de los datos 25 de segmento.
En otra realizacion particular, los datos 22 de alineamiento de bytes podnan ser insertados entre el campo 24 de extension y los datos 25 de segmento, segun se indica en la Fig. 3a y se menciona ademas en la sintaxis general de cabecera de segmento mas arriba. Tales datos de alineamiento de bytes pueden ser empleados al final de la cabecera 21 de segmento para conseguir que el inicio de los datos 25 de segmento este alineado en bytes. En tal caso, el indicador 23 de longitud puede ser usado para identificar la porcion de la cabecera 21 de segmento que esta ocupada por el campo 24 de extension y podna indicar, por ejemplo, la longitud del campo 24 de extension y, por ello, senalizar el fin del campo 24 de extension. Posteriormente siguen los datos 22 de alineamiento de bytes y luego los datos 25 de segmento. Esto quiere decir que, aunque se usen los datos 22 de alineamiento de bytes, el decodificador podra identificar el inicio de los datos 25 de segmento y la porcion de la cabecera 21 de segmento que constituye el campo 24 de extension en funcion del indicador 23 de longitud.
Preferentemente, los datos 22 de alineamiento de bytes tienen una sintaxis bien definida, por ejemplo:
byte_alignment() { Descriptor
bit_equal_to_one /* igual a 1 7 f(1)
while( \byte_aligned{))
biLequal_to_zero /* igual a 0 7 f(1}
En este ejemplo, los datos de alineamiento de bytes siempre comprenden al menos un bit. Si el fin del campo 24 de extension debe estar alineado en bytes, se usa una palabra de codigo de 8 bits: 1000 0000bin.
La Fig. 3B ilustra una realizacion de la representacion codificada 20 de un segmento que muestra que el indicador 23 de longitud y el campo 24 de extension no tienen necesariamente la forma de los ultimos elementos de sintaxis (excluyendo los datos opcionales 22 de alineamiento de bytes) de la cabecera 21 de segmento. En clara contraposicion, el indicador 23 de longitud y el campo 24 de extension (Fig. 3B), o, ciertamente, el identificador 26 del conjunto de parametros y el campo de extension (Fig. 3C), podnan estar presentes en cualquier lugar de la cabecera 21 de segmento.
La Fig. 7 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. 4. El metodo prosigue de la etapa S2 de la Fig. 4. En una etapa S30 siguiente se identifica el inicio de los datos 25 de segmento en la representacion codificada 20 en funcion del fin del campo 24 de extension identificado en funcion del indicador 23 de longitud, tal como se divulga en la etapa S11 de la Fig. 5. Segun se ha mencionado anteriormente, el inicio de los datos 25 de segmento podna seguir directamente el fin del campo 24 de extension. En un enfoque alternativo, los datos 22 de alineamiento de bytes se interponen entre el campo 24 de extension y el inicio de los datos 25 de segmento. En tal caso, el indicador 23 de longitud puede ser usado para identificar el fin del campo 24 de extension. El bit o los bits siguientes en la representacion codificada 20 constituye(n) los datos 22 de alineamiento de bytes. Esta porcion de la representacion codificada 20 es interpretada por el decodificador como datos 22 de alineamiento de bytes, dado que tiene una sintaxis bien definida, tal como se ha ejemplificado mas arriba. Una vez que se alcanza el fin de los datos 22 de alineamiento de bytes, se encuentra el inicio de los datos 25 de segmento. Tambien es posible, lo que es descrito adicionalmente mas abajo, que otros datos de cabecera de segmento pudieran seguir al campo 24 de extension.
Cuando el decodificador haya identificado el inicio de los datos 25 de segmento, puede analizar y decodificar los datos 25 de segmento en la etapa S31 a partir del inicio identificado de los datos 25 de segmento.
Preferentemente, un decodificador preexistente analiza y decodifica los datos de segmento en la etapa S31 ignorando —es decir, no usando— cualquier valor o cualesquiera datos del campo 24 de extension en la cabecera 21 de segmento durante el procedimiento de analisis y decodificacion de la etapa S31. Por ende, el decodificador preexistente no puede usar el campo 24 de extension en la cabecera 21 de segmento, dado que este campo 24 de extension, segun el perfil base o la especificacion base a los que se atiene el decodificador preexistente, es indeterminado.
Sin embargo, un decodificador compatible con extensiones debena hacer uso de los datos en el campo 24 de extension en la cabecera de segmento durante el procedimiento de analisis y decodificacion, incluyendo opcionalmente un procesamiento posterior a la decodificacion de los datos 25 de segmento.
5
10
15
20
25
30
35
40
45
50
55
Las presentes realizaciones tambien pueden ser aplicadas al caso en el que la cabecera 21 de segmento comprende multiples —es decir, al menos dos— campos 24 de extension. En tal caso, cada campo 24 de extension comprende, preferentemente, un indicador respectivo 23 de longitud. Los campos 24 de extension podnan estar dispuestos todos en conexion con el fin de la cabecera 21 de segmento, posiblemente seguidos por datos opcionales 22 de alineamiento de bytes. Sin embargo, tambien es posible contar con una organizacion distribuida de los campos 24 de extension en la cabecera 21 de segmento. En este caso, los campos 24 de extension podnan ser proporcionados en cualquier lugar de la cabecera 21 de segmento. Por ejemplo, podna haber un primer campo 24 de extension presente en la parte primera o central de la cabecera 21 de segmento, mientras que un segundo campo 24 de extension podna estar presente en la parte final de la cabecera 21 de segmento.
Si puede haber multiples campos 24 de extension presentes en la cabecera 21 de segmento, los respectivos indicadores 23 de longitud podnan estar presentes en uno o mas conjuntos de parametros, en la cabecera 21 de segmento, o estar distribuidos entre la cabecera 21 de segmento y uno o mas conjuntos de parametros. Por ejemplo, un primer indicador 23 de longitud de un primer campo 24 de extension podna estar presente en un conjunto de parametros, tal como un PPS. Un segundo indicador 23 de longitud de un segundo campo 24 de extension podna entonces estar presente en la cabecera 21 de segmento. La presencia de cualquiera de los campos 24 de extension e indicadores 23 de longitud podna ser senalizada por una bandera, por ejemplo en un conjunto de parametros. Por ejemplo, un PPS podna comprender el primer indicador 23 de longitud y una bandera que indique la presencia o la ausencia del segundo campo 24 de extension. Entonces, el segundo indicador 23 de longitud y el segundo campo 24 de extension estan presentes en la cabecera 21 de segmento si la bandera ha sido puesta a un valor definido.
En el caso de multiples campos 24 de extension, la etapa S1 de la Fig. 4 se realiza preferentemente una vez para cada campo 24 de extension e indicador 23 de longitud. Asf, cada indicador 23 de longitud asociado con la representacion codificada 20 es identificado y analizado para permitir la identificacion del respectivo campo 24 de extension en la cabecera 21 de segmento para que un decodificador preexistente pueda determinar ignorar el valor o los valores respectivos de los campos de extension en la etapa S2.
La Fig. 8 es un diagrama de flujo que ilustra otra realizacion de un metodo de decodificacion de una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. Esta realizacion es llevada a cabo en particular por un decodificador compatible con extensiones, es decir, un decodificador que comprende y puede hacer uso del valor o los valores de un campo de extension presente en la cabecera de segmento.
El metodo se inicia en la etapa S80, en la que se analiza un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. Esta etapa S1 corresponde basicamente a la etapa S1 de la Fig. 4 y no es expuesta adicionalmente en la presente memoria.
Una etapa S81 siguiente identifica el campo de extension en la cabecera de segmento en funcion del indicador de longitud analizado en la etapa S80. Asf, en la etapa S81 se usa el indicador de longitud para identificar la porcion de la cabecera de segmento que esta ocupada por el campo de extension. Esta etapa S81 puede ser efectuada como se ha divulgado previamente en la presente memoria, por ejemplo en conexion con las Figuras 4 y 5.
Si la cabecera de segmento comprende multiples campos de extension, las etapas S80 y S81 se llevan a cabo, preferentemente, una vez para cada campo de extension y el indicador de longitud asociado.
En la etapa S82 siguiente, se decodifica la representacion codificada del segmento en funcion de al menos un valor, preferentemente todos los valores, del campo de extension en la cabecera de segmento identificado en la etapa S81 en funcion del indicador de longitud analizado en la etapa S80.
Asf, en esta realizacion, el decodificador es compatible con extensiones y, por lo tanto, usara el valor o los valores del campo de extension o al menos una porcion de los valores cuando decodifique la representacion codificada del segmento y, en particular, durante la decodificacion de los datos de segmento en la representacion codificada.
El campo de extension, por ejemplo, podna incluir una o mas banderas y/u otros elementos de sintaxis que dictan y proporcionan instrucciones al decodificador de como llevar a cabo la decodificacion de los datos de segmento. Por ende, el decodificador compatible con extensiones hace uso de los datos en el campo de extension en la cabecera de segmento durante el procedimiento de analisis y decodificacion, y que incluye opcionalmente un procesamiento posterior a la decodificacion de los datos de segmento.
La decodificacion de la representacion codificada del segmento en funcion de al menos un valor del campo de extension en la etapa S82 esta relacionada con cualquier procesamiento de la representacion codificada del segmento llevada a cabo por un decodificador. Por ende, la decodificacion definida en la etapa S82 no esta meramente limitada a la generacion en sf de datos de pfxeles del segmento a partir de los datos de segmento presentes en la representacion codificada del segmento. Esto quiere decir que el al menos un valor del campo de extension podna ser usado por el decodificador, por ejemplo, para gestionar una memoria intermedia de imagenes de referencia que comprenda imagenes previamente decodificadas de una secuencia de video que esten almacenadas temporalmente para darles salida, por ejemplo, para su visualizacion, y/o que esten almacenadas
5
10
15
20
25
30
35
40
45
50
temporalmente para ser usadas como referencia de decodificacion para las imagenes siguientes, segun un orden de decodificacion, de la secuencia de video. Alternativamente, el al menos un valor del campo de extension podna ser usado por el decodificador, por ejemplo, para eliminar o descartar del flujo de bits unidades NAL espedficas. Por ejemplo, el campo de extension podna indicar que puede descartarse una unidad NAL espedfica, y, por lo tanto, o ser introducida o eliminada de la memoria intermedia de imagenes de referencia si solo se esta decodificando una representacion codificada de capa superior.
Asf, la decodificacion definida en la etapa S82 abarca diversas operaciones del decodificador que tienen lugar en conexion con la generacion en sf —es decir, precediendola, simultaneamente o siguiendola— de valores de pixel para un segmento actual.
Una realizacion particular versa sobre un metodo llevado a cabo durante la decodificacion de una representacion codificada de un segmento de una imagen en una secuencia de video que comprende multiples imagenes. Cada imagen de la secuencia de video pertenece a una capa de multiples capas. La representacion codificada comprende una cabecera de segmento y datos de segmento. El metodo comprende analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El campo de extension en la cabecera de segmento es identificado en funcion del indicador de longitud. El metodo tambien comprende procesar una estructura estratificada de dichas multiples imagenes en funcion de al menos un valor del campo de extension en la cabecera de segmento.
En esta realizacion particular, las imagenes de la secuencia de video son organizadas en una estructura estratificada con las multiples capas. Estas capas podnan entonces corresponder a diferentes vistas en el caso de un visionado de vistas multiples, a diferentes capas temporales en el caso de video de redimensionamiento, etc. El procesamiento de la estructura estratificada, incluyendo, por ejemplo, la eliminacion en el decodificador de una o mas imagenes o unidades NAL que contengan imagenes, es llevado a cabo preferentemente, al menos en parte, en funcion de al menos un valor del campo de extension.
Siguen en la presente memoria varias realizaciones ejemplares que dan a conocer variantes y alternativas de implementacion de las presentes realizaciones.
En una primera realizacion ejemplar hay en la cabecera 21 de segmento una palabra de codigo (elemento de sintaxis), es decir, el indicador 23 de longitud, que representa la longitud de un campo 24 de extension en la cabecera 21 de segmento. El codificador esta configurado para insertar el indicador 23 de longitud como un elemento de sintaxis segun esta primera realizacion ejemplar. Un decodificador analizara el valor de la palabra de codigo, es decir, el indicador 23 de longitud, para localizar el inicio de los datos 25 de segmento y, con ello, saltarse el campo 24 de extension.
El nombre de la palabra de codigo que representa la longitud del campo 24 de extension podna ser, por ejemplo, slice_header_extension_length.
Segun esta realizacion ejemplar, el decodificador esta configurado para llevar a cabo las siguientes etapas.
1. Se analiza el elemento 23 de sintaxis slice_header_extension_length.
2. El decodificador analiza e ignora los valores con numero de bits igual a slice_header_extension_length que sigan inmediatamente despues del elemento 23 de sintaxis slice_header_extension_length.
3. El decodificador analiza y decodifica los datos 25 de segmento empezando con el primer bit que sigue despues del analisis del numero de bits igual a slice_header_extension_length (en la posicion de bit en la que acabo el analisis en la etapa 2).
Por lo tanto, en esta realizacion, el decodificador analiza y lee los datos o valores del campo 24 de extension en la cabecera 21 de segmento durante la decodificacion de la cabecera. Sin embargo, aunque los valores son analizados y posiblemente decodificados, el decodificador ignora los valores, es decir, no los usa ulteriormente durante la decodificacion y el procesamiento de los datos 25 de segmento.
Alternativamente, puede configurarse un decodificador para que lleve a cabo las siguientes etapas:
1. Se analiza el elemento 23 de sintaxis slice_header_extension_length.
2. El decodificador se salta hacia delante en el flujo 20 de bits un numero de bits igual a slice_header_extension_length.
3. El decodificador analiza y decodifica los datos 25 de segmento empezando con el primer bit que sigue despues del salto del numero de bits igual a slice_header_extension_length (en la posicion de bit en la que acabo el analisis en la etapa 2).
5
10
15
20
25
30
35
En esta realizacion, el decodificador no analiza ni lee los datos o valores del campo 24 de extension, sino que, en vez de ello, se salta la porcion de la cabecera 21 de segmento que esta ocupada por el campo 24 de extension definido en funcion del indicador 23 de longitud.
En una segunda realizacion ejemplar, la presencia del elemento 23 de sintaxis descrito en la primera realizacion ejemplar esta condicionada a otro elemento de sintaxis denominado, por ejemplo, slice_header_extension_present_flag. Si slice_header_extension_present_flag es 0, no estan presentes el elemento 23 de sintaxis slice_header_extension_length ni los datos 24 de extension. Si slice_header_extension_present_flag es 1, estan presentes el elemento 23 de sintaxis slice_header_extension_length y los datos 24 de extension. Preferentemente, el elemento de sintaxis slice_header_extension_present_flag es senalizado en el SPS, pero puede ser senalizado, alternativamente, en el PPS, el VPS, el APS o en la cabecera 21 de segmento.
En consecuencia, el codificador esta configurado para condicionar la presencia del indicador 23 de longitud de la primera realizacion ejemplar usando una bandera.
Segun esta realizacion, el decodificador esta configurado para llevar a cabo las siguientes etapas ordenadas:
1. Se analiza el elemento de sintaxis slice_header_extension_present_flag del SPS activo.
2. Si slice_header_extension_present_flag es igual a 1:
a. Se analiza el elemento 23 de sintaxis slice_header_extension_length.
b. El decodificador analiza e ignora los valores con numero de bits igual a slice_header_extension_length que sigan inmediatamente despues del elemento 23 de sintaxis slice_header_extension_length.
c. El decodificador analiza y decodifica los datos 25 de segmento empezando con el primer bit que sigue despues del analisis del numero de bits igual a slice_header_extension_length (en la posicion de bit en la que acabo el analisis en la etapa b).
3. Si no (slice_header_extension_present_flag es igual a 0), el decodificador analiza y decodifica los datos 25 de segmento sin analizar un elemento 23 de sintaxis slice_header_extension_length y sin analizar ningun dato 24 de extension. No estaran presentes en el segmento ni el elemento 23 de sintaxis slice_header_extension_length ni ningun dato 24 de extension.
Alternativamente, un decodificador puede estar configurado para llevar a cabo las siguientes etapas:
1. Se usa el elemento de sintaxis slice_header_extension_present_flag del SPS activo.
2. Si slice_header_extension_present_flag es igual a 1:
a. Se analiza el elemento 23 de sintaxis slice_header_extension_length.
b. El decodificador se salta hacia delante en el flujo 20 de bits un numero de bits igual a slice_header_extension_length.
c. El decodificador analiza y decodifica los datos de segmento empezando con el primer bit que sigue despues del salto del numero de bits igual a slice_header_extension_length (en la posicion de bit en la que acabo el analisis en la etapa b).
Si no (slice_header_extension_present_flag es igual a 0), el decodificador analiza y decodifica los datos 25 de segmento sin analizar un elemento 23 de sintaxis slice_header_extension_length y sin efectuar un salto en el flujo 20 de bits. No estaran presentes en el segmento ni el elemento 23 de sintaxis slice_header_extension_length ni ningun dato 24 de extension.
La tabla de sintaxis podna tener, por ejemplo, el siguiente aspecto:
5
10
15
20
25
30
35
Descriptor
ue(v) u(1)
}
}
slice_header{)
if( slice_header_extension_preser>t_flag) { slice_header_extension_length for{ i = 0; i < slice_header_extension_length', i++) slice_header_extension_data_flag
En una tercera realizacion ejemplar, la longitud de toda la cabecera 21 de segmento esta dada por un elemento 23 de sintaxis y se anade el campo 24 de extension al final de la cabecera 21 de segmento de forma similar a los campos de extension de los conjuntos de parametros.
En consecuencia, el codificador esta configurado para indicar la longitud de toda la cabecera 21 de segmento por medio de un elemento de sintaxis, es decir, el indicador 23 de longitud, y se anade el campo 24 de extension al final de la cabecera 21 de segmento de forma similar a los campos de extension de los conjuntos de parametros.
Segun esta realizacion, el decodificador esta configurado para llevar a cabo las siguientes etapas:
1. Si esta presente, se usa el elemento de sintaxis slice_header_extension_present_flag del SPS activo. Si no, se omiten las etapas 1, 2 y 3 y solo se llevan a cabo las etapas a, b y c.
2. Si slice_header_extension_present_flag es igual a 1:
a. Se calcula el elemento de sintaxis slice_header_extension_length como la longitud de la cabecera 21 de segmento menos la posicion de bit actual.
b. El decodificador analiza e ignora los valores con numero de bits igual a slice_header_extension_length que sigan inmediatamente despues del elemento de sintaxis slice_header_extension_length, es decir, indicando el elemento de sintaxis la longitud de toda la cabecera 21 de segmento.
c. El decodificador analiza y decodifica los datos 25 de segmento empezando con el primer bit que sigue despues del analisis del numero de bits igual a slice_header_extension_length (en la posicion de bit en la que acabo el analisis en la etapa b).
3. Si no (slice_header_extension_present_flag es igual a 0), el decodificador analiza y decodifica los datos 25 de segmento sin analizar un elemento 23 de sintaxis slice_header_extension_length y sin analizar ningun dato 24 de extension. No estaran presentes en el segmento ni el elemento 23 de sintaxis slice_header_extension_length ni ningun dato 24 de extension.
Asf, en esta realizacion, la etapa S10 de la Fig. 5 relativa a la determinacion de la longitud del campo 24 de extension es efectuada, preferentemente, calculando la longitud del campo 24 de extension restando una posicion de bit o byte del fin del indicador 23 de longitud en la cabecera 21 de segmento de un valor representado por el indicador 23 de longitud. Este valor representado por el indicador 23 de longitud es, entonces, preferentemente, la longitud de la cabecera 21 de segmento.
En una variante de la etapa 3 de las realizaciones ejemplares primera y segunda y de la etapa c de la tercera realizacion ejemplar, se pueden interponer datos 22 de alineamiento de bytes entre el campo 24 de extension y los datos 25 de segmento. En tal caso, el decodificador analiza los datos 22 de alineamiento de bytes empezando con el primer bit que sigue despues del analisis del numero de bits igual a slice_header_extension_length (realizaciones ejemplares primera y tercera) o con el primer bit que sigue despues del salto del numero de bits igual a slice_header_extension_length (segunda realizacion ejemplar). Despues, el decodificador, una vez se ha alcanzado el fin de los datos 22 de alineamiento de bytes, analiza y decodifica los datos 25 de segmento.
En una cuarta realizacion ejemplar, se usa un patron espedfico de bits (“codigo de inicio”) para indicar el fin del campo 24 de datos de extension. Por ende, el codificador esta configurado para insertar tal patron espedfico de bits.
5
10
15
20
25
30
35
40
45
50
El decodificador analiza todos los datos hasta que se encuentra el patron de bits. Se puede requerir o no que el patron de bits este alineado en bytes. A continuacion, el decodificador decodifica los datos 25 de segmento empezando con el primer bit posterior al patron espedfico de bits.
Un decodificador puede llevar a cabo las etapas:
1. Se analiza la cabecera 21 de segmento hasta el punto en el que comienza el campo 24 de extension.
2. Desde ese punto, el decodificador explora el flujo de bits y busca el patron espedfico de bits (el “codigo de inicio”) que indica donde acaban los datos 24 de extension y empiezan los datos 25 de segmento.
3. Despues del punto en el que se encuentra el patron espedfico de bits, el decodificador analiza y decodifica el segmento.
Asf, en esta realizacion, el metodo dado a conocer en la Fig. 4 comprende, ademas, analizar la cabecera 21 de segmento desde el inicio de la cabecera 21 de segmento hasta el inicio del campo 24 de extension en la cabecera 21 de segmento. El metodo comprende, ademas, explorar la cabecera 21 de segmento desde el inicio del campo 24 de extension hasta alcanzar el indicador 23 de longitud, que esta en forma de un codigo espedfico de inicio. El metodo tambien comprende identificar el fin del campo 24 de extension como codigo espedfico de inicio.
En una quinta realizacion ejemplar se usa cualquiera de las realizaciones ejemplares primera a tercera, pero con la diferencia de que el elemento 23 de sintaxis slice_header_extension_length no es senalizado en la cabecera 21 de segmento. En vez de ello, es senalizado en una estructura de datos a la que puede hacer referencia la cabecera 21 de segmento, tal como el SPS, el VPS, el PPS o el APS.
En una sexta realizacion ejemplar, se usa cualquiera de las realizaciones ejemplares anteriormente presentadas, pero con la diferencia de que la longitud es expresada en bytes en vez de en bits.
En una septima realizacion ejemplar, se usa cualquiera de las realizaciones ejemplares segunda a sexta con un requisito del flujo de bits de que el elemento de sintaxis slice_header_extension_present_flag deba estar puesto igual a 0. Un codificador puede estar configurado para poner el elemento de sintaxis
slice_header_extension_present_flag a 0.
En una realizacion particular, un codificador compatible con cierto perfil, en particular el perfil base, es obligado, preferentemente, a poner slice_header_extension_present_flag a 0. Sin embargo, un decodificador compatible con el mismo perfil debe usar el indicador de longitud e ignorar los datos de extension.
En una octava realizacion ejemplar, se usa cualquiera de las realizaciones ejemplares segunda a sexta con un significado espedfico introducido para el campo 24 de datos de extension. Tal significado puede corresponder a informacion adicional en una extension de vistas multiples o en una extension de redimensionamiento.
Un codificador puede usar las realizaciones ejemplares poniendo el elemento de sintaxis
slice_header_extension_present_flag a 1 y, para cada cabecera 21 de segmento, codificar valores del campo 23 de datos de extension segun el significado que ha sido introducido. El codificador esta configurado, ademas, para calcular la longitud del campo 24 de datos de extension y senalar eso en el elemento 23 de sintaxis slice_header_extension_length. Alternativamente, si la longitud de la extension 24 es conocida a priori (se usa, por ejemplo, una extension de longitud fija), la longitud puede ser senalizada en el elemento 23 de sintaxis slice_header_extension_length sin calcularla primero.
Un decodificador que reconozca el significado introducido (y haga uso del mismo) para los datos 24 de extension puede ser configurado para llevar a cabo las siguientes etapas:
1. Se usa el elemento de sintaxis slice_header_extension_present_flag del SPS activo.
2. Si slice_header_extension_present_flag es igual a 1:
a. Se analiza el elemento 23 de sintaxis slice_header_extension_length (o se lo ignora, si ya se conoce la longitud de la extension).
b. El decodificador analiza y usa los valores con numero de bits igual a slice_header_extension_length que sigan inmediatamente despues del elemento 23 de sintaxis slice_header_extension_length segun el significado introducido de los bits.
c. El decodificador analiza y decodifica los datos 25 de segmento empezando con el primer bit que sigue despues del salto del numero de bits igual a slice_header_extension_length (en la posicion de bit en la que acabo el salto en la etapa b).
3. Si no (slice_header_extension_present_flag es igual a 0), el decodificador analiza y decodifica los datos 25 de segmento sin analizar un elemento 23 de sintaxis slice_header_extension_length y sin efectuar un salto en el flujo 20
5
10
15
20
25
30
35
de bits. No estaran presentes en el segmento ni el elemento 23 de sintaxis slice_header_extension_length ni ningun dato 24 de extension.
Un decodificador que no reconozca el significado introducido (o no haga uso del mismo) para los datos 24 de extension puede estar configurado para llevar a cabo las etapas presentadas en la segunda realizacion ejemplar.
En una novena realizacion ejemplar, se usa la octava realizacion ejemplar con el significado espedfico del campo 24 de datos de extension ligado a uno o mas perfiles de HEVC. Es decir, un decodificador que decodifique un flujo 20 de bits que se atenga a un perfil que usa el campo 24 de datos de extension con un fin espedfico (con un significado especificado) decodificara los datos 24 de extension segun se describe en la octava realizacion y usara los datos 24 de extension segun el significado definido.
Un decodificador que decodifique un flujo 20 de bits que se atenga a un perfil que no usa los datos 24 de extension con un fin espedfico llevara a cabo las etapas presentadas en la segunda realizacion ejemplar.
En una decima realizacion ejemplar, se usa cualquiera de las realizaciones ejemplares segunda, tercera, octava o novena, pero, cuando no hay ningun elemento de sintaxis slice_header_extension_present_flag, se infiere, en cambio, que es 1. No se senaliza ninguna extension al senalizar una longitud de extension igual a cero.
En una undecima realizacion ejemplar, puede usarse cualquiera de las realizaciones ejemplares anteriores, pero en la que no se senaliza el tamano de la extension 24. En vez de ello, se define una serie de codigos de longitud variable (VLC) de tamano fijo y/o variable.
En una duodecima realizacion ejemplar, podnan usarse dos mecanismos de cabecera de segmento para un segmento dado. En este caso, se senaliza un primer indicador de longitud en un conjunto de parametros, tal como PPS, mientras que se senaliza un segundo indicador de longitud en la cabecera de segmento. En una realizacion, una bandera en el PPS indica si la cabecera de segmento comprende o no el segundo indicador de longitud.
Por lo tanto, la sintaxis de la RBSP del PPS puede tener este aspecto:
pic_parameter_set_rbsp() {
Descriptor
numsticeheaderextensionbits u(5)
slice _header_extension _present_flag u(1)
En este ejemplo, num_slice_header_extension_bits representa el primer indicador de longitud. Un valor de este primer indicador de longitud igual a 0 especifica que no hay presente ningun bit extra de cabecera de segmento en la RBSP de la cabecera del segmento para imagenes codificadas que se refieran al PPS. El elemento de sintaxis num_slice_header_extension_bits debena ser igual a 0 para flujos de bits que se atengan a la especificacion del perfil base. La bandera slice_header_extension_present_flag es usada para senalizar la presencia del segundo indicador de longitud en la cabecera de segmento. Un valor de 0 de esta bandera especifica que no hay presente ningun elemento de sintaxis de la extension de cabecera de segmento en las cabeceras de segmento para imagenes codificadas que se refieran al PPS. La bandera slice_header_extension_present_flag debena ser igual a 0 para flujos de bits que se atengan a la especificacion del perfil base.
Entonces, la sintaxis de la RBSP de la capa de segmentos puede tener este aspecto:
slice_layer_rbsp( ) {
slice_header( )
slice_data( )
rbsp_slice_trailing_bits( )
En correspondencia con ello, la sintaxis de cabecera de segmento sena, entonces, segun se define a continuacion:
imagen2
if( slice_header_extension _present_flag) {
slice_header_exten$ionJength ue(v)
for( i = 0; i < slice_header_extensionJength\ i++)
slice_header_extension^data_byte u(8)
}
byte_alignment{)
} . ■
En este ejemplo, el primer campo de extension en la cabecera de segmento esta compuesto por el elemento de sintaxis slice_header_extension_data_flag. El segundo indicador de longitud, slice_header_extension_length, especifica la longitud del segundo campo de extension, es decir, slice_header_extension_data_byte, sin incluir los bits usados para senalizar el propio elemento de sintaxis slice_header_extension_length. En un ejemplo, el valor de 5 slice_header_extension_length podna estar en el intervalo de 0 to 256, inclusive. El segundo campo de extension en la cabecera de segmento puede tener cualquier valor.
Una decimotercera realizacion ejemplar es similar a la duodecima realizacion ejemplar dada a conocer anteriormente, pero con la siguiente sintaxis de RBSP de la capa de segmentos.
slicejayer_rbsp{) { slice_header{) slice_data()
if( slice_header_extension_present_flag) { slice_extension_fIag if( slice_extension_flag) while( more_rbsp_data()) slice_extension_data_flag
}
rbsp_slicejrailing_bit$[)
Descriptor
u(1)
u(1)
En una implementacion ejemplar de las realizaciones duodecima y decimotercera, la especificacion base podna 10 tener este aspecto:
5
10
15
20
25
30
35
40
45
for{ i = 0; i < num_slice_header_extension_bits; i++) slice header_extensior> datajlag
Una especificacion de extensiones puede, entonces, hacer esto: inter_layer_prediction_flag
Que inter_layer_prediction_flag sea igual a 0 indica que la imagen asociada con la unidad NAL no es usada como referencia en ninguna imagen perteneciente a una capa espacial mas alta o de vistas multiples. Que inter_layer_prediction_flag sea igual a 1 indica que la imagen asociada con la unidad NAL puede ser usada como referencia en una imagen perteneciente a una capa espacial mas alta o de vistas multiples.
Asf, en esta implementacion ejemplar, un decodificador que se atuviera a la especificacion de extensiones podna interpretar que el primer campo de extension en la cabecera de segmento indica el elemento de sintaxis inter_layer_prediction_flag.
En una realizacion de implementacion, en la especificacion de las extensiones, el campo de extension o los campos de extension en la cabecera de segmento son interpretados como palabras de codigo en sf, o sustituidos por ellas, en vez de, por ejemplo, la bandera de extension y, con referencia a las realizaciones ejemplares duodecima y decimotercera, slice_header_extension_data_flag y slice_header_extension_data_byte. Las palabras de codigo pueden entonces estar en forma de banderas, palabras de codigo de longitud fija (FLC), palabras de codigo de longitud variable (VLC) o incluso una mezcla de las mismas.
Tambien es posible que un decodificador compatible con extensiones ignore algunos de los bits del campo de extension. Por ejemplo, puede darse el caso de que las palabras de codigo de un campo de extension sumen hasta 12 bits, pero que la longitud total del campo de extension senalizada por el indicador de longitud este puesta en 14 bits. Entonces los dos bits restantes son simplemente ignorados por el decodificador compatible con extensiones.
Segun se ha mencionado en lo que precede, el campo 24 de extension podna comprender, en un ejemplo, datos de extension de vistas multiples codificados y/o datos de extension de redimensionamiento codificados.
En el primer caso, el flujo de video es un flujo de imagenes procedente de multiples vistas (de camara), por ejemplo una vista de camara derecha y una vista de camara izquierda en el caso de video estereoscopico. En tal caso, una de estas multiples, es decir, al menos dos, vistas podna ser una vista base, estando codificadas la una o mas vistas adicionales de manera relativa a la vista base y posiblemente de forma mutua. Sin embargo, preferentemente, la vista base es decodificable independientemente, es decir, la vista base no usa como referencia imagenes de otras vistas. En tal caso, un decodificador preexistente podna decodificar correctamente la vista base aunque haya datos de extension relativos a vistas adicionales o a una estructura de vistas multiples presentes en las cabeceras de segmento. Esto es posible debido al indicador de longitud, usado segun las diversas realizaciones dadas a conocer en la presente memoria.
En el ultimo caso, el flujo de video es un flujo de imagenes procedente de multiples capas. En tal caso, una de estas multiples capas es la capa base con una o mas capas adicionales. Preferentemente, entonces, la capa base es decodificable independientemente, es decir, carece de referencia a imagenes en ninguna de las capas adicionales. En correspondencia con ello, una imagen que pertenezca a la capa adicional N puede preferentemente hacer referencia a imagenes en la capa base y en capas hasta la capa N, pero no por encima de la misma. En tal caso, un decodificador preexistente podna decodificar correctamente la capa base aunque haya datos de extension relativos a las capas adicionales o a la estructura de multiples capas presentes en las cabeceras de segmento. Esto es posible debido al indicador de longitud, usado segun las diversas realizaciones dadas a conocer en la presente memoria.
Las realizaciones no estan limitadas a HEVC, sino que pueden ser aplicadas a cualquier extension de HEVC, tal como una extension de redimensionamiento o una extension de vistas multiples, o a un codec de video diferente, o, ciertamente, a cualquier otro estandar de codificacion de video.
La Fig. 9 es un diagrama esquematico de flujo de un metodo de codificacion de un segmento 3 de una imagen 2, tal como una imagen 2 en un flujo 1 de video. El metodo comprende generar un indicador 23 de longitud en la etapa S40. Este indicador 23 de longitud es indicativo de una longitud de un campo 24 de extension presente en una cabecera 21 de segmento del segmento 3. En una etapa S41 siguiente, el segmento 3 es codificado creando una representacion codificada 20 del segmento 3 que comprende la cabecera 21 de segmento y datos 25 de segmento. El indicador 23 de longitud es asociado con la representacion codificada 20 en la etapa S42. La etapa S42 puede ser llevada a cabo antes de la etapa S41, sustancialmente en paralelo con ella o despues de la misma.
5
10
15
20
25
30
35
40
45
50
55
La representacion codificada 20 puede ser procesada ulteriormente para formar una unidad NAL 11, que opcionalmente puede ser empaquetada formando un paquete 10 de datos con una o mas cabeceras 12, segun se muestra en la Fig. 2.
Si la cabecera de segmento ha de contener multiples campos de extension, las etapas S40 y S42 de la Fig. 9 son realizadas, preferentemente, una vez para cada campo de extension tal.
La Fig. 10 es un diagrama de flujo que ilustra etapas adicionales opcionales del metodo de la Fig. 9. En la etapa S51 se determina la longitud del campo 24 de extension presente en la cabecera 21 de segmento. El indicador 23 de longitud es generado, a continuacion, en la etapa S40 de la Fig. 9 en funcion de la longitud del campo 24 de extension. Por ende, en una realizacion particular, se da al indicador 23 de longitud un valor que representa la longitud del campo 24 de extension en bytes o bits.
En una etapa opcional S50 se determinan los valores del campo 24 de extension para ver cuan largo se hace el campo 24 de extension. Alternativamente, el campo 24 de extension, dependiendo del tipo de datos de extension, tales como datos de extension de vistas multiples o datos de extension de redimensionamiento, podna tener una longitud predefinida. Segun se ha mencionado anteriormente, los valores del campo 24 de extension representan, preferentemente, datos de extension de vistas multiples y/o datos de extension de redimensionamiento para el segmento 3.
El indicador 23 de longitud generado en la etapa S40 es insertado, preferentemente, en la cabecera 21 de segmento en la etapa S42. Alternativamente, el indicador 23 de longitud podna ser insertado en un conjunto de parametros que se aplique al segmento actual 3. En tal caso, la cabecera 21 de segmento comprende, preferentemente, un identificador del conjunto de parametros que permite la identificacion del conjunto relevante de parametros que comprende el indicador 23 de longitud.
Si el indicador 23 de longitud es insertado en la cabecera 21 de segmento en la etapa S42, el indicador 23 de longitud es insertado, preferentemente, directamente antes del campo 24 de extension en la cabecera 21 de segmento.
En una realizacion, se usa una bandera de presencia de extension en la cabecera de segmento para senalizar la presencia o la ausencia de un campo 24 de extension en una cabecera 21 de segmento. Esta realizacion se ilustra esquematicamente en la Fig. 11. El metodo se inicia en la etapa S60, en la que la bandera de presencia de extension en la cabecera de segmento es puesta a un valor predefinido, tal como 1 bin, para indicar la presencia del campo 24 de extension en la cabecera 21 de segmento. En una etapa S61 siguiente, la bandera de presencia de extension en la cabecera de segmento es asociada con la representacion codificada 20. Esta asociacion de la etapa S61 podna ser la insercion de la bandera de presencia de extension en la cabecera de segmento en un conjunto de parametros que sea aplicable al segmento actual 3. En tal caso, la cabecera 21 de segmento comprende, preferentemente, un identificador del conjunto de parametros que permite la identificacion del conjunto relevante de parametros que comprende el indicador 23 de longitud.
La Fig. 12 ilustra una realizacion particular de la etapa S61 de asociacion de la Fig. 11. En esta realizacion la bandera de presencia de extension en la cabecera de segmento es insertada en un conjunto de parametros, por ejemplo un PPS, en la etapa S70. Preferentemente, un identificador 26 del conjunto de parametros que identifica el conjunto de parametros que comprende la bandera de presencia de extension en la cabecera de segmento es asociado con la representacion codificada 20 en la etapa S71, tal como insertando el identificador 26 del conjunto de parametros en la cabecera 21 de segmento de la representacion codificada 20.
En un enfoque alternativo, la bandera de presencia de extension en la cabecera de segmento es insertada en la cabecera 21 de segmento.
La Fig. 13 es un diagrama esquematico de bloques de un decodificador 40 segun una realizacion. El decodificador 40 comprende una unidad 41 de analisis, tambien denominada analizador o medio o modulo de analisis, configurada para analizar un indicador de longitud asociado con una representacion codificada de un segmento de una imagen. El indicador de longitud es indicativo de una longitud de un campo de extension presente en una cabecera de segmento de la representacion codificada. El decodificador 40 tambien comprende una unidad 42 de procesamiento, tambien denominada procesador o medio o modulo de procesamiento, configurada para hacer que el decodificador 40 ignore, durante la decodificacion de la representacion codificada, cualquier valor del campo de extension identificado en funcion del indicador de longitud.
En una realizacion opcional, el decodificador 40 tambien comprende una unidad 43 de determinacion, tambien denominada determinador o medio o modulo de determinacion, configurada para determinar la longitud del campo de extension en funcion del indicador de longitud. Una unidad opcional 44 de identificacion, tambien denominada identificador o medio o modulo de identificacion, del decodificador 40 esta configurada, preferentemente, para identificar el fin del campo de extension en la cabecera de segmento en funcion de la longitud determinada por la unidad 43 de determinacion.
5
10
15
20
25
30
35
40
45
50
55
Preferentemente, la unidad 41 de analisis esta configurada para analizar el indicador de longitud presente en la cabecera de segmento de la representacion codificada. Alternativamente, la unidad 41 de analisis podna analizar el indicador de longitud en un conjunto de parametros identificado en funcion de un identificador del conjunto de parametros analizado en la cabecera de segmento de la representacion codificada. En este caso, la unidad 41 de analisis, si el conjunto de parametros con el indicador de longitud ya ha sido analizado y decodificado para una representacion codificada anteriormente, podna recuperar de una memoria asociada el indicador de longitud, segun se ha divulgado anteriormente en la presente memoria.
En una realizacion adicional, la unidad 42 de procesamiento esta configurada para hacer que el decodificador 40 ignore, durante la decodificacion de la representacion codificada, cualquier valor del campo de extension que sigue directamente al indicador de longitud en la cabecera de segmento y hasta el fin del campo de extension identificado en funcion del indicador de longitud, por ejemplo mediante la unidad 44 de identificacion.
La unidad 41 de analisis tambien esta configurada, preferentemente, para analizar una bandera de la extension de cabecera de segmento asociada con la representacion codificada. En tal caso, la unidad 41 de analisis esta configurada para analizar el indicador de longitud y la unidad 42 de procesamiento esta configurada para hacer que el decodificador 40 ignore cualquier valor del campo de extension si la bandera de la extension de cabecera de segmento tiene un valor predefinido, preferentemente 1 bin.
En una realizacion opcional, el decodificador 40 comprende, ademas, una unidad 45 de identificacion de conjuntos, tambien denominada identificador de conjuntos o medio o modulo de identificacion de conjuntos, configurada para identificar un conjunto de parametros, preferentemente un PPS, asociado con la representacion codificada en funcion de un identificador del conjunto de parametros, preferentemente un identificador de PPS, obtenible en funcion de la cabecera de segmento. Preferentemente, en una realizacion particular, la unidad 45 de identificacion de conjuntos recupera el identificador del conjunto de parametros de la cabecera de segmento de la representacion codificada y lo usa para identificar el conjunto relevante de parametros que lleva la bandera de presencia de extension en la cabecera de segmento. En tal caso, la unidad 41 de analisis esta configurada para analizar la bandera de presencia de extension en la cabecera de segmento presente en el conjunto de parametros, preferentemente un PPS, identificado por la unidad 45 de identificacion de conjuntos.
La unidad 44 de identificacion anteriormente mencionada esta configurada, en una realizacion opcional, para identificar el inicio de los datos de segmento en la representacion codificada en funcion del fin del campo de extension identificado en funcion del indicador de longitud, por ejemplo mediante la unidad 44 de identificacion. El decodificador 40 comprende, entonces, una unidad 46 de decodificacion, tambien denominada decodificador de datos o medio o modulo de decodificacion, configurada para analizar y decodificar los datos de segmento comenzando desde el inicio de los datos de segmento identificado por la unidad 44 de identificacion.
La unidad 46 de decodificacion esta configurada, preferentemente, para analizar y decodificar los datos de segmento ignorando y, por ello, no usando cualquier valor del campo de extension en la cabecera de segmento. Por ende, la unidad 46 de decodificacion lleva a cabo la decodificacion de la representacion codificada 20 sin usar ningun valor en el campo de extension o representado por el mismo.
En una realizacion particular el decodificador 40 comprende una unidad 41 para analizar una bandera que indica si se usa un indicador de longitud para indicar la longitud de la cabecera de segmento. Ademas, el decodificador 40 comprende una unidad 41 para analizar el indicador de longitud y, en funcion de eso, determinar la longitud de un campo de extension en la cabecera de segmento. El decodificador 40 puede entonces usar esa informacion cuando decodifica la unidad NAL codificada.
La Fig. 14 es un diagrama esquematico de bloques de un decodificador 90 segun otra realizacion para decodificar una representacion codificada de un segmento de una imagen. El decodificador 90 comprende una unidad 91 de analisis, tambien denominada analizador o medio o modulo de analisis, configurada para analizar un indicador de longitud asociado con la representacion codificada. El indicador de longitud es indicativo de una longitud de un campo de extension presente en una cabecera de segmento de la representacion codificada. Una unidad 92 de identificacion del campo de extension, tambien denominada identificador de campo de extension o medio o modulo de identificacion, esta configurada para identificar el campo de extension en la cabecera de segmento en funcion del indicador de longitud analizado por la unidad 91 de analisis. El decodificador 90 tambien comprende una unidad 93 de decodificacion, tambien denominada decodificador de datos o medio o modulo de decodificacion. Esta unidad 93 de decodificacion esta configurada para decodificar la representacion codificada del segmento en funcion de al menos un valor del campo de extension en la cabecera de segmento identificado por la unidad 92 de identificacion del campo de extension.
Los decodificadores 40, 90 de las Figuras 13 y 14, con sus unidades 41-46, 91-93 de inclusion, podnan ser implementados en soporte ffsico. Hay numerosas variantes de elementos de circuitena que pueden ser usados y combinados para lograr las funciones de las unidades 41-46, 91-93 del decodificador 40, 90. Tales variantes estan abarcadas por las realizaciones. Ejemplos particulares de una implementacion de soporte ffsico del decodificador 40, 90 es la implementacion en un soporte ffsico procesador de senales digitales (DSP) y en tecnologfa de circuitos integrados, que incluye tanto circuitena electronica de uso general como circuitena para aplicaciones espedficas.
5
10
15
20
25
30
35
40
45
50
55
60
El decodificador 50 descrito en la presente memoria podna ser implementado de forma alternativa, por ejemplo, por uno o mas de un procesador 52 y soporte logico adecuado con un almacenamiento o memoria 54 adecuado al efecto, un dispositivo logico programable (PLD) u otro u otros componentes electronicos, segun se muestra en la Fig. 15. Ademas, el decodificador 50 comprende, preferentemente, una entrada o unidad 51 de entrada configurada para recibir las representaciones codificadas de segmentos, tales como en forma de unidades NAL. Una correspondiente salida o unidad 53 de salida esta configurada para dar salida a los segmentos decodificados.
El decodificador 32 puede estar situado, por ejemplo, en un receptor 30, tal como en una videocamara, un convertidor de senal de TV o un dispositivo de visualizacion, por ejemplo en un dispositivo movil, segun se muestra en la Fig. 16. El receptor 30 comprende, entonces, una entrada o unidad 31 de entrada configurada para recibir un flujo de bits codificado, tal como paquetes de datos de unidades NAL, segun se muestra en la Fig. 2. Las representaciones codificadas de las unidades NAL son decodificadas por el decodificador 32 segun se divulga en la presente memoria. Preferentemente, el decodificador 32 comprende una memoria intermedia 34 de imagenes de referencia, o esta conectado a la misma, que almacena temporalmente imagenes ya decodificadas que han de usarse como imagenes de referencia para otras imagenes en el flujo de video. El receptor 30 da salida a las imagenes decodificadas, tal como desde la memoria intermedia 34 de imagenes de referencia, por medio de una salida o unidad 33 de salida. Estas imagenes que salen son enviadas para ser presentadas a un usuario en una pantalla o dispositivo de visualizacion del receptor 30 o conectada con el mismo, incluso inalambricamente.
Por lo tanto, una realizacion versa sobre un receptor 30 que comprende un decodificador para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El decodificador del receptor comprende una unidad de analisis configurada para analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El decodificador tambien comprende una unidad de procesamiento configurada para hacer que el decodificador ignore, durante la decodificacion de la representacion codificada, cualquier valor del campo de extension identificado en funcion del indicador de longitud.
Otra realizacion versa sobre un receptor 30 que comprende un decodificador para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El decodificador del receptor comprende una unidad de analisis configurada para analizar un indicador de longitud asociado con la representacion codificada e indicativo de una longitud de un campo de extension en la cabecera de segmento. El decodificador tambien comprende una unidad de identificacion del campo de extension configurada para identificar el campo de extension en la cabecera de segmento en funcion del indicador de longitud. Una unidad de decodificacion del decodificador esta configurada para decodificar la representacion codificada del segmento en funcion de al menos un valor del campo de extension en la cabecera de segmento identificado por la unidad de identificacion del campo de extension.
La Fig. 17 es un diagrama esquematico de bloques de un codificador 70 configurado para codificar un segmento de una imagen segun una realizacion. El codificador 70 comprende una unidad 71 de generacion, tambien denominada generador o medio o modulo de generacion, configurada para generar un indicador de longitud indicativo de una longitud de un campo de extension presente en una cabecera de segmento del segmento. Una unidad 72 de codificacion, tambien denominada codificador o medio o modulo de codificacion de segmentos, del codificador 70 esta configurada para codificar el segmento creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. El codificador 70 tambien comprende una unidad 73 de asociacion, tambien denominada asociador o medio o modulo de asociacion, configurada para asociar el indicador de longitud con la representacion codificada.
En una realizacion opcional, el codificador 70 comprende una unidad 74 de determinacion, tambien denominada determinador o medio o modulo de determinacion, configurada para determinar la longitud del campo de extension presente en la cabecera de segmento. La unidad 71 de generacion esta configurada, entonces, para generar el indicador de longitud en funcion de la longitud del campo de extension determinada por la unidad 74 de determinacion.
Una realizacion opcional tiene una unidad 73 de asociacion que esta configurada para insertar el indicador de longitud en la cabecera de segmento, preferentemente antes de que la unidad 72 de codificacion codifique el segmento. En tal caso, la unidad 73 de asociacion inserta el indicador de longitud, preferentemente, inmediatamente antes del campo de extension en la cabecera de segmento.
El codificador 70 comprende, en una realizacion opcional, una unidad 75 de configuracion, tambien denominada configurador o medio o modulo de configuracion, configurada para poner una bandera de presencia de extension en la cabecera de segmento en un valor predefinido, preferentemente 1 bin, para indicar la presencia del campo de extension en la cabecera de segmento. La unidad 73 de asociacion esta configurada, entonces, para asociar la bandera de presencia de extension en la cabecera de segmento con la representacion codificada. En una realizacion particular, la unidad 73 de asociacion esta configurada para insertar la bandera de presencia de extension en la cabecera de segmento in a conjunto de parametros, preferentemente un PPS. La unidad 73 de asociacion esta configurada, ademas, para asociar un identificador del conjunto de parametros, preferentemente un identificador de PPS, que identifica el conjunto de parametros, preferentemente PPS, con la representacion codificada. En particular,
5
10
15
20
25
30
35
40
45
50
55
la unidad 73 de asociacion esta configurada para insertar el identificador del conjunto de parametros, preferentemente un identificador de PPS, en la cabecera de segmento.
En una realizacion particular, el codificador 70 comprende una unidad 74 para determinar la longitud de un campo de extension en la cabecera de segmento y una unidad 73 para insertar un indicador de longitud.
El codificador 70 de la Fig. 17, con sus unidades 71-75 de inclusion, podna ser implementado en soporte ffsico. Hay numerosas variantes de elementos de circuitena que pueden ser usados y combinados para lograr las funciones de las unidades 71-75 del codificador 70. Tales variantes estan abarcadas por las realizaciones. Ejemplos particulares de una implementacion de soporte ffsico del codificador 70 es la implementacion en un soporte ffsico procesador de senales digitales (DSP) y en tecnologfa de circuitos integrados, que incluye tanto circuitena electronica de uso general como circuitena para aplicaciones espedficas.
El codificador 80 descrito en la presente memoria podna ser implementado de forma alternativa, por ejemplo, por uno o mas de un procesador 82 y soporte logico adecuado con un almacenamiento o memoria 84 adecuado al efecto, un dispositivo logico programable (PLD) u otro u otros componentes electronicos, segun se muestra en la Fig. 18. Ademas, el codificador 80 comprende, preferentemente, una entrada o unidad 81 de entrada configurada para recibir las imagenes del flujo de video. Una correspondiente salida o unidad 83 de salida esta configurada para dar salida a las representaciones codificadas de los segmentos, preferentemente en forma de unidades NAL.
El codificador 62 puede estar situado, por ejemplo, en un transmisor 60 en una videocamara por ejemplo, en un dispositivo movil, segun se muestra en la Fig. 19. El transmisor 60 comprende, entonces, una entrada o unidad 61 de entrada configurada para recibir imagenes de un flujo de video que han de ser codificadas. Las imagenes son codificadas por el codificador 62 segun se divulga en la presente memoria. Las imagenes codificadas salen del transmisor 60 por una salida o unidad 63 de salida en forma de un flujo codificado de bits, tal como de unidades NAL o paquetes de datos que llevan tales unidades NAL, segun se muestra en la Fig. 2.
Una realizacion versa sobre un transmisor 60 que comprende un codificador para codificar un segmento de una imagen. El codificador comprende una unidad de generacion configurada para generar un indicador de longitud indicativo de una longitud de un campo de extension presente en la cabecera de segmento del segmento. El codificador tambien comprende una unidad de codificacion configurada para codificar el segmento creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. Una unidad de asociacion del codificador esta configurada para asociar el indicador de longitud con la representacion codificada.
Las realizaciones se aplican a un un decodificador, a un codificador y a cualquier elemento que opere en un flujo de bits, tal como un nodo de red o un elemento de red con conciencia de medios.
Ha de entenderse que la eleccion de unidades o modulos de interactuacion, asf como la denominacion de las unidades, son unicamente para un fin ejemplar, y que pueden ser configurados de varias formas alternativas para poder ejecutar las acciones del procedimiento divulgado.
Debena hacerse notar tambien que las unidades o modulos descritos en esta divulgacion han de ser considerados entidades logicas y no necesariamente como entidades ffsicas separadas. Se apreciara que el alcance de la tecnologfa divulgada en la presente memoria abarca plenamente otras realizaciones que pueden llegar a ser obvias para los expertos en la tecnica, y, en consecuencia, que no ha de limitarse el alcance de esta divulgacion.
No se pretende que la referencia a un elemento en singular signifique “uno y solo uno”, a no ser que ello sea afirmado explfcitamente, sino mas bien "uno o mas." Todos los equivalentes estructurales y funcionales de los elementos de las realizaciones anteriormente descritas que son conocidos para las personas con un dominio normal de la tecnica estan expresamente incorporados a la presente memoria por referencia y se pretende que esten abarcados por la misma. Ademas, para que este abarcado por la misma, no es necesario que un dispositivo o un metodo aborden cada uno de los problemas, ni su totalidad, cuya solucion se busca mediante la tecnologfa dada a conocer en la presente memoria.
En la descripcion precedente, con fines de explicacion y no de limitacion, se definen detalles espedficos, tales como arquitecturas particulares, interfaces, tecnicas, etc., para proporcionar una comprension cabal de la tecnologfa divulgada. Sin embargo, resultara evidente para los expertos en la tecnica que la tecnologfa dada a conocer puede ser puesta en practica en otras realizaciones y/o combinaciones de realizaciones que se aparten de estos detalles espedficos. Es decir, los expertos en la tecnica seran capaces de idear diversas disposiciones que, aunque no esten descritas o mostradas expffcitamente en la presente memoria, implementan los principios de la tecnologfa dada a conocer. En algunos casos se omiten descripciones detalladas de dispositivos, circuitos y metodos muy conocidos para no ofuscar con detalle innecesario la descripcion de la tecnologfa divulgada. Se pretende que todas las declaraciones de la presente memoria que enumeran principios, aspectos y realizaciones de la tecnologfa dada a conocer, asf como ejemplos espedficos de la misma, abarquen los equivalentes tanto estructurales como funcionales de la misma. Ademas, se pretende que tales equivalentes incluyan tanto los equivalentes actualmente conocidos como los equivalentes desarrollados en el futuro; por ejemplo, cualesquiera elementos desarrollados que lleven a cabo la misma funcion, con independencia de su estructura.
5
10
15
20
25
30
35
40
45
50
As^ por ejemplo, los expertos en la tecnica apreciaran que los diagramas de bloque del presente documento pueden representar vistas conceptuales de circuitena ilustrativa u otras unidades funcionales que implementen los principios de la tecnologfa. De manera similar, se apreciara que cualquier diagrama de flujo, diagrama de transicion de estado, pseudocodigo y similares representan diversos procedimientos que pueden ser sustancialmente representados en un medio legible en ordenador y, por ello, ejecutados por un ordenador o procesador, con independencia de que tal ordenador o procesador sea o no mostrado expffcitamente.
Las funciones de los diversos elementos, incluyendo los bloques funcionales, pueden ser proporcionadas a traves del uso de soporte ffsico, tal como soporte ffsico de circuitos, y/o soporte ffsico capaz de ejecutar soporte logico en forma de instrucciones codificadas almacenadas en un medio legible en ordenador. Asf, ha de entenderse que tales funciones y tales bloques funcionales ilustrados estan implementados ya sea mediante soporte ffsico y/o por ordenador, y que, asf, estan implementados por maquina.
La Fig. 20 es una ilustracion esquematica de un ordenador 100 que comprende un procesador 110 y un medio 120 legible en ordenador que tiene en el mismo un programa informatico 130.
En una realizacion, el programa informatico 130 esta configurado para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El programa informatico 130 comprende un medio de codigo que, cuando es ejecutado por el procesador 110, hace que el procesador 110 analice un indicador de longitud asociado con la representacion codificada e
indicativo de una longitud de un campo de extension en la cabecera de segmento. Tambien se hace que el
procesador 110 determine ignorar, durante la decodificacion de la representacion codificada, cualquier valor de dicho campo de extension identificado en funcion del indicador de longitud.
En otra realizacion, el programa informatico 130 esta configurado para decodificar una representacion codificada de un segmento de una imagen. La representacion codificada comprende una cabecera de segmento y datos de segmento. El programa informatico 130 comprende un medio de codigo que, cuando es ejecutado por el procesador 110, hace que el procesador 110 analice un indicador de longitud asociado con la representacion codificada e
indicativo de una longitud de un campo de extension en la cabecera de segmento. Tambien se hace que el
procesador 110 identifique, en funcion del indicador de longitud, el campo de extension en dicha cabecera de segmento y decodifique la representacion codificada del segmento en funcion de al menos un valor del campo de extension identificado en funcion del indicador de longitud.
En una realizacion adicional, el programa informatico 130 esta configurado para codificar un segmento de una imagen. El programa informatico 130 comprende un medio de codigo que, cuando es ejecutado por el procesador 110, hace que el procesador 110 genere un indicador de longitud indicativo de una longitud de un campo de extension presente en una cabecera de segmento del segmento. Tambien se hace que el procesador 110 codifique el segmento creando una representacion codificada del segmento que comprende la cabecera de segmento y datos de segmento. Ademas, se hace que el procesador 110 asocie el indicador de longitud con la representacion codificada.
Una realizacion versa sobre un producto de programa informatico que comprende un medio 120 legible en ordenador y un programa informatico 130 definido segun cualquiera de las realizaciones dadas a conocer anteriormente almacenado en el medio 120 legible en ordenador.
En terminos de una implementados por soporte ffsico, los bloques funcionales pueden incluir o abarcar, sin limitacion, soporte ffsico procesador de senales digitales (DSP), un procesador con un conjunto reducido de instrucciones, circuitena de soporte ffsico (por ejemplo, digital o analogica), incluyendo, sin limitacion, uno o varios circuitos integrados para aplicaciones espedficas (ASIC) y (cuando sea apropiado), maquinas de estado capaces de llevar a cabo tales funciones.
Las realizaciones descritas en lo que antecede han de ser entendidas como algunos ejemplos ilustrativos de la presente invencion. Los expertos en la tecnica entenderan que pueden realizarse diversos cambios, modificaciones y combinaciones a las realizaciones sin apartarse del alcance de la presente invencion. En particular, soluciones de partes diferentes de las diferentes realizaciones pueden ser combinadas en otras configuraciones, cuando sea tecnicamente posible. El alcance de la presente invencion, sin embargo, esta definido por las reivindicaciones adjuntas.

Claims (27)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un metodo de decodificacion una representacion codificada (20) de un segmento (3) de una imagen (2), comprendiendo dicha representacion codificada (20) una cabecera (21) de segmento y datos (25) de segmento, comprendiendo dicho metodo:
    identificar (S20) un conjunto de parametros asociado con dicha representacion codificada (20) en funcion de un identificador (26) del conjunto de parametros obtenible en funcion de dicha cabecera (21) de segmento;
    analizar (S21) una bandera de presencia de extension en la cabecera de segmento presente en dicho conjunto de parametros;
    analizar (S1), si dicha bandera de presencia de extension en la cabecera de segmento tiene un valor predefinido, un indicador (23) de longitud en un codigo de longitud variable asociado con dicha representacion codificada (20) e indicativo de una longitud en bits o bytes de un campo (24) de extension en dicha cabecera (21) de segmento; y
    determinar (S2), si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, ignorar, durante la decodificacion de dicha representacion codificada (20), cualquier valor de dicho campo (24) de extension identificado en funcion de dicho indicador (23) de longitud.
  2. 2. El metodo segun la reivindicacion 1 que, ademas, comprende:
    determinar (S10) una longitud de dicho campo (24) de extension en funcion de dicho indicador (23) de longitud; e
    identificar (S11) el fin de dicho campo (24) de extension en dicha cabecera (21) de segmento en funcion de dicha longitud.
  3. 3. El metodo segun las reivindicaciones 1 o 2 en el que el analisis (S1) de dicho indicador (23) de longitud comprende analizar (S1), si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, dicho indicador (23) de longitud presente en dicha cabecera (21) de segmento.
  4. 4. El metodo segun la reivindicacion 3 en el que la determinacion (S2) de ignorar dicho valor cualquiera comprende determinar (S2), si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, ignorar, durante la decodificacion de dicha representacion codificada (20), cualquier valor de dicho campo (24) de extension que siga directamente a dicho indicador (23) de longitud en dicha cabecera (21) de segmento hasta el fin de dicho campo (24) de extension identificado en funcion de dicho indicador (23) de longitud.
  5. 5. El metodo segun las reivindicaciones 1 o 2 en el que el analisis (S1) de dicho indicador (23) de longitud comprende analizar (S1), si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, dicho indicador (23) de longitud presente en un conjunto de parametros identificado en funcion de un identificador (26) del conjunto de parametros obtenible en funcion de dicha cabecera (21) de segmento.
  6. 6. El metodo segun cualquiera de las reivindicaciones 1 a 5 que, ademas, comprende:
    identificar (S30) el inicio de dichos datos (25) de segmento en funcion del fin de dicho campo (24) de extension identificado en funcion del identificador (23) de longitud; y
    analizar y decodificar (S31) dichos datos (25) de segmento comenzando desde dicho inicio de dichos datos (25) de segmento.
  7. 7. El metodo segun la reivindicacion 6 en el que el analisis y la decodificacion (S31) de dichos datos (25) de segmento comprende analizar y decodificar (S31) dichos datos (25) de segmento ignorando dicho valor cualquiera de dicho campo (24) de extension en dicha cabecera (21) de segmento.
  8. 8. Un metodo de codificacion de un segmento (3) de una imagen (2), comprendiendo dicho metodo:
    poner (S60) una bandera de presencia de extension en la cabecera de segmento a un valor predefinido para indicar la presencia de un campo (24) de extension en una cabecera (21) de segmento de dicho segmento (3);
    insertar (S70) dicha bandera de presencia de extension en la cabecera de segmento en un conjunto de parametros;
    generar (S40) un indicador (23) de longitud en un codigo de longitud variable indicativo de una longitud en bits o bytes de dicho campo (24) de extension presente en dicha cabecera (21) de segmento de dicho segmento (3);
    codificar (S41) dicho segmento (3) creando una representacion codificada (20) de dicho segmento (3) que comprende dicha cabecera (21) de segmento y dichos datos (25) de segmento;
    asociar (S42) dicho indicador (23) de longitud con dicha representacion codificada (20); y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    asociar (S71) un identificador del conjunto de parametros, que identifica a dicho conjunto de parametros, con dicha representacion codificada (20).
  9. 9. El metodo segun la reivindicacion 8 que, ademas, comprende:
    determinar (S51) la longitud de dicho campo (24) de extension presente en dicha cabecera (21) de segmento, comprendiendo la generacion (S40) de dicho indicador (23) de longitud generar (S40) dicho indicador (23) de longitud en funcion de dicha longitud de dicho campo (24) de extension.
  10. 10. El metodo segun las reivindicaciones 8 o 9 en el que la asociacion (S42) de dicho indicador (23) de longitud comprende insertar dicho indicador (23) de longitud en dicha cabecera (21) de segmento.
  11. 11. El metodo segun la reivindicacion 10 en el que la insercion de dicho indicador (23) de longitud comprende insertar dicho indicador (23) de longitud inmediatamente antes de dicho campo (24) de extension en dicha cabecera (21) de segmento.
  12. 12. El metodo segun las reivindicaciones 8 o 9 en el que la asociacion (S42) de dicho indicador (23) de longitud comprende insertar dicho indicador (23) de longitud en un conjunto de parametros y asociar un identificador (26) del conjunto de parametros, que identifica a dicho conjunto de parametros, con dicha representacion codificada (20).
  13. 13. Un decodificador (40, 50) para decodificar una representacion codificada (20) de un segmento (3) de una imagen (2), comprendiendo dicha representacion codificada (20) una cabecera (21) de segmento y datos (25) de segmento, comprendiendo dicho decodificador (40):
    una unidad (45) de identificacion de conjuntos configurada para identificar un conjunto de parametros asociado con dicha representacion codificada (20) en funcion de un identificador (26) del conjunto de parametros obtenible en funcion de dicha cabecera (21) de segmento;
    una unidad (41) de analisis configurada para analizar una bandera de presencia de extension en la cabecera de segmento presente en dicho conjunto de parametros y analizar, si dicha bandera de presencia de extension en la cabecera de segmento tiene un valor predefinido, un indicador (23) de longitud en un codigo de longitud variable asociado con dicha representacion codificada (20) e indicativo de una longitud en bits o bytes de un campo (24) de extension en dicha cabecera (21) de segmento; y
    una unidad (42) de procesamiento configurada para hacer, si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, que dicho decodificador (40) ignore, durante la decodificacion de dicha representacion codificada (20), cualquier valor de dicho campo (24) de extension identificado en funcion de dicho indicador (23) de longitud.
  14. 14. El decodificador segun la reivindicacion 13 que, ademas, comprende:
    una unidad (43) de determinacion configurada para determinar la longitud de dicho campo (24) de extension en funcion de dicho indicador (23) de longitud; y
    una unidad (44) de identificacion configurada para identificar el fin de dicho campo (24) de extension en dicha cabecera (21) de segmento en funcion de dicha longitud.
  15. 15. El decodificador segun las reivindicaciones 13 o 14 en el que dicha unidad (41) de analisis esta configurada para analizar, si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, dicho indicador (23) de longitud presente en dicha cabecera (21) de segmento.
  16. 16. El decodificador segun la reivindicacion 15 en el que dicha unidad (42) de procesamiento esta configurada para hacer, si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, que dicho decodificador (40) ignore, durante la decodificacion de dicha representacion codificada (20), cualquier valor de dicho campo (24) de extension que siga directamente a dicho indicador (23) de longitud en dicha cabecera (21) de segmento hasta el fin de dicho campo (24) de extension identificado en funcion de dicho indicador (23) de longitud.
  17. 17. El decodificador segun las reivindicaciones 13 o 14 en el que dicha unidad (41) de analisis esta configurada para analizar, si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, dicho indicador (23) de longitud presente en un conjunto de parametros identificado en funcion de un identificador (26) del conjunto de parametros obtenible en funcion de dicha cabecera (21) de segmento.
  18. 18. El decodificador segun cualquiera de las reivindicaciones 13 a 17 que, ademas, comprende:
    una unidad (44) de identificacion configurada para identificar el inicio de dichos datos (25) de segmento en funcion del fin de dicho campo (24) de extension identificado en funcion del identificador (23) de longitud; y
    una unidad (46) de decodificacion configurada para analizar y decodificar dichos datos (25) de segmento comenzando desde dicho inicio de dichos datos (25) de segmento.
    5
    10
    15
    20
    25
    30
    35
    40
    45
  19. 19. El decodificador segun la reivindicacion 18 en el que dicha unidad (46) de decodificacion esta configurada para analizar y decodificar dichos datos de segmento ignorando dicho valor cualquiera de dicho campo (24) de extension en dicha cabecera (21) de segmento.
  20. 20. Un codificador (70) para codificar un segmento (3) de una imagen (2), comprendiendo dicho codificador (70):
    una unidad (75) de configuracion configurada para poner una bandera de presencia de extension en la cabecera de segmento a un valor predefinido para indicar la presencia de un campo (24) de extension en una cabecera (21) de segmento de dicho segmento (3);
    una unidad (71) de generacion configurada para generar un indicador (23) de longitud en un codigo de longitud variable indicativo de una longitud en bits o bytes de dicho campo (24) de extension presente en dicha cabecera (21) de segmento de dicho segmento (3);
    una unidad (72) de codificacion configurada para codificar dicho segmento (3) creando una representacion codificada (20) de dicho segmento (3) que comprende dicha cabecera (21) de segmento y dichos datos (25) de segmento; y
    una unidad (73) de asociacion configurada para asociar dicho indicador (23) de longitud con dicha representacion codificada (20), insertar dicha bandera de presencia de extension en la cabecera de segmento en un conjunto de parametros y asociar un identificador del conjunto de parametros, que identifica a dicho conjunto de parametros, con dicha representacion codificada (20).
  21. 21. El codificador segun la reivindicacion 20 que, ademas, comprende:
    una unidad (74) de determinacion configurada para determinar la longitud de dicho campo (24) de extension presente en dicha cabecera (21) de segmento, estando configurada dicha unidad (71) de generacion para generar dicho indicador (23) de longitud en funcion de dicha longitud de dicho campo (24) de extension.
  22. 22. El codificador segun las reivindicaciones 20 o 21 en el que dicha unidad (73) de asociacion esta configurado para insertar dicho indicador (23) de longitud en dicha cabecera (21) de segmento.
  23. 23. El codificador segun la reivindicacion 22 en el que dicha unidad (73) de asociacion esta configurada para insertar dicho indicador (23) de longitud inmediatamente antes de dicho campo (24) de extension en dicha cabecera (21) de segmento.
  24. 24. El codificador segun las reivindicaciones 20 o 21 en el que dicha unidad (73) de asociacion esta configurada para insertar dicho indicador (23) de longitud en un conjunto de parametros y asociar un identificador (26) del conjunto de parametros, que identifica a dicho conjunto de parametros, con dicha representacion codificada (20).
  25. 25. Un programa informatico (130) para decodificar una representacion codificada (20) de un segmento (3) de una imagen (2), comprendiendo dicha representacion codificada (20) una cabecera (21) de segmento y datos (25) de segmento, comprendiendo dicho programa informatico (130) medios de codigo que, cuando son ejecutados por un procesador (110), hacen que dicho procesador (110):
    identifique un conjunto de parametros asociado con dicha representacion codificada (20) en funcion de un identificador (26) del conjunto de parametros obtenible en funcion de dicha cabecera (21) de segmento;
    analice una bandera de presencia de extension en la cabecera de segmento presente en dicho conjunto de parametros;
    analice, si dicha bandera de presencia de extension en la cabecera de segmento tiene un valor predefinido, un indicador (23) de longitud en un codigo de longitud variable asociado con dicha representacion codificada (20) e indicativo de una longitud en bits o bytes de un campo (24) de extension en dicha cabecera (21) de segmento; y
    determine, si dicha bandera de presencia de extension en la cabecera de segmento tiene dicho valor predefinido, ignorar, durante la decodificacion de dicha representacion codificada (20), cualquier valor de dicho campo (24) de extension identificado en funcion de dicho indicador (23) de longitud.
  26. 26. Un programa informatico (130) para codificar un segmento (3) de una imagen (2), comprendiendo dicho programa informatico (130) medios de codigo que, cuando son ejecutados por un procesador (110), hacen que dicho procesador (110):
    ponga una bandera de presencia de extension en la cabecera de segmento a un valor predefinido para indicar la presencia de un campo (24) de extension en una cabecera (21) de segmento de dicho segmento (3);
    inserte dicha bandera de presencia de extension en la cabecera de segmento en un conjunto de parametros;
    genere un indicador (23) de longitud en un codigo de longitud variable indicativo de una longitud en bits o bytes de dicho campo (24) de extension presente en dicha cabecera (21) de segmento de dicho segmento (3);
    codifique dicho segmento (3) creando una representacion codificada (20) de dicho segmento (3) que comprende dicha cabecera (21) de segmento y dichos datos (25) de segmento;
    5 asocie dicho indicador (23) de longitud con dicha representacion codificada (20); y
    asocie un identificador del conjunto de parametros, que identifica a dicho conjunto de parametros, con dicha representacion codificada (20).
  27. 27. Un producto de programa informatico que comprende un medio (120) legible en ordenador y un programa informatico (130) segun las reivindicaciones 25 o 26 almacenado en dicho medio (120) legible en ordenador.
    10
ES12816534.7T 2012-04-12 2012-12-21 Gestión de datos de extensión Active ES2569049T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261623290P 2012-04-12 2012-04-12
US201261623290P 2012-04-12
PCT/SE2012/051477 WO2013154482A1 (en) 2012-04-12 2012-12-21 Extension data handling

Publications (1)

Publication Number Publication Date
ES2569049T3 true ES2569049T3 (es) 2016-05-06

Family

ID=47594967

Family Applications (2)

Application Number Title Priority Date Filing Date
ES16161035T Active ES2789024T3 (es) 2012-04-12 2012-12-21 Gestión de datos de extensión
ES12816534.7T Active ES2569049T3 (es) 2012-04-12 2012-12-21 Gestión de datos de extensión

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES16161035T Active ES2789024T3 (es) 2012-04-12 2012-12-21 Gestión de datos de extensión

Country Status (9)

Country Link
US (8) US9554129B2 (es)
EP (3) EP3684058B1 (es)
JP (1) JP5918903B2 (es)
KR (1) KR101619688B1 (es)
CN (2) CN104350751B (es)
DK (2) DK3051824T3 (es)
ES (2) ES2789024T3 (es)
TW (1) TWI549491B (es)
WO (1) WO2013154482A1 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201500846TA (en) * 2012-09-26 2015-05-28 Panasonic Ip Corp America Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9516306B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
JP6704194B2 (ja) * 2016-02-26 2020-06-03 パナソニックIpマネジメント株式会社 動画像符号化装置及び動画像符号化方法
KR20220065804A (ko) * 2019-09-23 2022-05-20 텔레폰악티에볼라겟엘엠에릭슨(펍) 세그먼트 존재 정보 제공
US11477450B2 (en) * 2019-12-20 2022-10-18 Zte (Uk) Limited Indication of video slice height in video subpictures
CN111245723B (zh) * 2020-03-10 2022-06-24 苏州盛科通信股份有限公司 一种分段路由ipfix的芯片实现方法及装置
KR20220160353A (ko) 2021-05-27 2022-12-06 엔오월드 주식회사 비강 스프레이용 액상 조성물
CN118317094A (zh) * 2021-07-07 2024-07-09 Oppo广东移动通信有限公司 视频编解码中的序列级和切片级语法表示
KR20240090173A (ko) * 2021-10-27 2024-06-21 엘지전자 주식회사 무선 통신 시스템에서 무선 신호 송수신 방법 및 장치
CN114356827B (zh) * 2021-12-23 2024-03-22 海光信息技术股份有限公司 数据解析方法、装置、设备及介质
US20230308658A1 (en) * 2022-03-25 2023-09-28 Tencent America LLC Methods of parameter set indication in video streaming

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285234A (ja) * 2000-04-04 2001-10-12 Sony Corp データ多重化装置およびデータ多重化方法、並びに記録媒体
EP2131591A1 (en) * 2001-08-31 2009-12-09 Panasonic Corporation Image encoding method and apparatus thereof
RU2377736C2 (ru) * 2005-04-13 2009-12-27 Нокиа Корпорейшн Кодирование, хранение и передача информации о масштабируемости
CA2796882A1 (en) * 2005-09-07 2007-01-20 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
JP4991762B2 (ja) 2006-01-09 2012-08-01 エルジー エレクトロニクス インコーポレイティド 映像信号のエンコーディング/デコーディング方法及び装置
US8102853B2 (en) * 2006-08-09 2012-01-24 Samsung Electronics Co., Ltd. System and method for wireless communication of uncompressed video having fixed size MAC header with an extension
JP2008219180A (ja) * 2007-02-28 2008-09-18 Toshiba Corp 画像伝送システムおよびそれに用いられる画像送信装置、画像受信装置
EP2130374A4 (en) 2007-03-23 2011-03-02 Lg Electronics Inc METHOD AND ARRANGEMENT FOR DECODING / CODING A VIDEO SIGNAL
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
JP5756921B2 (ja) * 2008-06-10 2015-07-29 パナソニックIpマネジメント株式会社 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法、プログラムおよび集積回路
US8391314B2 (en) * 2009-09-21 2013-03-05 Lg Electronics Inc. Method and apparatus of processing digital broadcasting signal including transmission ensemble number fields in transmitter and receiver
WO2012008125A1 (ja) 2010-07-15 2012-01-19 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR101355296B1 (ko) 2010-08-09 2014-01-27 파나소닉 주식회사 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치 및 화상 복호 장치
US20120144417A1 (en) * 2010-12-01 2012-06-07 Ensequence, Inc. Method and system for controlling content in a multimedia display
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
WO2013057884A1 (ja) * 2011-10-19 2013-04-25 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
US20130142251A1 (en) 2011-12-06 2013-06-06 Sony Corporation Syntax extension of adaptive loop filter in hevc

Also Published As

Publication number Publication date
CN107743236B (zh) 2020-10-09
JP5918903B2 (ja) 2016-05-18
JP2015516755A (ja) 2015-06-11
EP3051824B1 (en) 2020-02-05
US20170094276A1 (en) 2017-03-30
US20210203938A1 (en) 2021-07-01
US20220217352A1 (en) 2022-07-07
US20180241997A1 (en) 2018-08-23
EP2837176A1 (en) 2015-02-18
DK3051824T3 (da) 2020-05-11
US20190238851A1 (en) 2019-08-01
US10306231B2 (en) 2019-05-28
EP3051824A1 (en) 2016-08-03
DK2837176T3 (en) 2016-07-04
US12041238B2 (en) 2024-07-16
US20200322608A1 (en) 2020-10-08
US10951899B2 (en) 2021-03-16
EP3684058A1 (en) 2020-07-22
US9554129B2 (en) 2017-01-24
KR20150003289A (ko) 2015-01-08
CN104350751A (zh) 2015-02-11
US9973760B2 (en) 2018-05-15
WO2013154482A1 (en) 2013-10-17
ES2789024T3 (es) 2020-10-23
EP2837176B1 (en) 2016-03-23
TW201404159A (zh) 2014-01-16
TWI549491B (zh) 2016-09-11
US20140211841A1 (en) 2014-07-31
EP3684058B1 (en) 2021-08-11
CN107743236A (zh) 2018-02-27
US11677951B2 (en) 2023-06-13
KR101619688B1 (ko) 2016-05-10
CN104350751B (zh) 2017-12-12
US20230421768A1 (en) 2023-12-28
US10694185B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
ES2569049T3 (es) Gestión de datos de extensión
ES2714756T3 (es) Señalización de imágenes de referencia
ES2629744T3 (es) Gestión de listas de imágenes de referencia
US9100659B2 (en) Multi-view video coding method and device using a base view
ES2650220T3 (es) Señalización de las características de un punto de operación de MVC
US9774927B2 (en) Multi-layer video stream decoding
ES2648970T3 (es) Codificación y decodificación de flujo de video multicapa
ES2389745T3 (es) Método y aparato para la ocultación de error de vídeo en vídeo codificado de multivistas utilizando sintaxis de nivel alto
AU2012203039B2 (en) Methods and apparatus for use in a multi-view video coding system
BRPI0714150A2 (pt) mÉtodos e aparelho para uso em codificaÇço de vÍdeo de méltiplas visualizaÇÕes