ES2568493T3 - Indicador de estructura de mosaico fija indicando la posibilidad de un procesamiento paralelo para una secuencia de video comprimido - Google Patents

Indicador de estructura de mosaico fija indicando la posibilidad de un procesamiento paralelo para una secuencia de video comprimido Download PDF

Info

Publication number
ES2568493T3
ES2568493T3 ES13723266.6T ES13723266T ES2568493T3 ES 2568493 T3 ES2568493 T3 ES 2568493T3 ES 13723266 T ES13723266 T ES 13723266T ES 2568493 T3 ES2568493 T3 ES 2568493T3
Authority
ES
Spain
Prior art keywords
images
sequence
mosaic structure
video stream
encoder
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
ES13723266.6T
Other languages
English (en)
Inventor
Rickard Sjöberg
Jack ENHORN
Jonatan Samuelsson
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 ES2568493T3 publication Critical patent/ES2568493T3/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Abstract

Método de codificación de una secuencia de imágenes de un flujo de video de múltiples imágenes para ser efectuado en un codificador, comprendiendo el método: - decidir (302) si todas las imágenes de la citada secuencia están divididas de la misma manera mediante cuadros, utilizando una estructura en mosaico; - enviar información acerca de la estructura de mosaico en la cual están divididas las imágenes actuales, y - enviar (304) información indicando que la misma estructura en mosaico se utiliza para todas las imágenes de la secuencia del flujo de video cuando se utiliza (303) la misma estructura de mosaico para todas las imágenes de la secuencia del flujo de video.

Description

5
10
15
20
25
30
35
40
45
DESCRIPCION
Indicador de estructura de mosaico fija indicando la posibilidad de un procesamiento paralelo para una secuencia de video comprimido
Sector de la invencion
Las realizaciones hacen referencia a disposiciones, es decir, un codificador, un elemento, un receptor, un transmisor, un dispositivo, productos de programa informatico y metodos para el procesamiento de videos. En particular, las realizaciones hacen referencia a una solucion para permitir la descodificacion paralela.
Antecedentes
Codificacion de video de alta eficiencia (HEVC - High Efficiency Video Coding, en ingles) es un estandar de codificacion de video desarrollado en el Equipo de trabajo conjunto - Codificacion de video (JCT-VC - Joint Collaborative Team - Video Coding, en ingles). JCT-VC es un proyecto de asociacion entre el Grupo de expertos en imagenes en movimiento (MPEG - Moving Picture Experts Group, en ingles) y la Union de Telecomunicacion Internacional - Sector de Estandarizacion de Telecomunicacion (ITU-T - International Telecommunication Union - Telecommunication Standardization Sector, en ingles). Actualmente, existe un Modelo HEVC (HM - HEVC Model, en ingles) que incluye varias herramientas y es considerablemente mas eficiente que el H.264 / Codificacion avanzada de video (AVC - Advanced Video Coding, en ingles).
El HEVC y el H.264 utilizan ambos un codificador aritmetico binario adaptable al contexto (CABAC - Context Adaptive Binary Arithmetic Coder, en ingles), pero el HEVC utiliza bloques de arbol de tamano de hasta 64 x 64 pfxeles en lugar de los macrobloques del H.264 de 16 x 16 pfxeles. Es decir, en HEVC, una imagen esta dividida en bloques de arbol que tienen un tamano de hasta 64 x 64 pfxeles.
Tanto HEVC como H.264 definen una estructura de sintaxis de informacion de capacidad de uso de un video (VUI - Video Usability information, en ingles), que puede existir en un conjunto de parametros de secuencia y que contiene parametros que no afectan al proceso de descodificacion, es decir, no afectan a los valores de pfxeles. La Informacion de mejora suplementaria (SEI - Supplemental Enhancement Information, en ingles) es otra estructura que puede existir en cualquier unidad de acceso y que contiene informacion que no afecta al proceso de descodificacion. Comparado con H.264 / AVC, HEVc comprende mejores posibilidades de paralelizacion. La paralelizacion implica que una unica imagen puede ser codificada y descodificada en paralelo. Espedficamente, Mosaico y Proceso paralelo de frente de onda (WPP - Wavefront Parallel, en ingles) son herramientas desarrolladas con vistas a la paralelizacion. Los dos fueron originalmente disenados para la paralelizacion de un codificador, pero tambien pueden ser utilizados para la paralelizacion de un descodificador.
Un fotograma de imagen (denominado fotograma) puede ser dividido en el estandar HEVC en varios cuadros, que pueden permitir que el mismo numero de hilos codifiquen / descodifiquen el fotograma en paralelo. Esto se ejemplifica en la figura 1, en la que un fotograma se divide en seis cuadros y puede, por lo tanto, permitir que seis hilos codifiquen / descodifiquen el fotograma en paralelo.
De acuerdo con ello, en este contexto, el que sea posible utilizar varios hilos, implica que la carga de trabajo real del proceso de codificacion / descodificacion puede ser dividida en “procesos” separados que son llevados a cabo de manera independiente unos de otros, es decir, pueden ser realizados en paralelo en hilos separados.
Los cuadros en HEVC dividen una imagen en areas con una anchura y una altura definidas. Cada area consiste en un numero entero de bloques de arbol que son procesados en orden de escaneo. Los propios cuadros son procesados en orden de escaneo en toda la imagen. La configuracion exacta de cuadros o la informacion de los cuadros (numero de cuadros, anchura y altura de cada cuadro, etc.) puede ser senalizada en un conjunto de parametros de secuencia (SPS - Sequence Parameter Set, en ingles) y en un conjunto de parametros de imagen (PPS - Picture Parameter Set, en ingles). La informacion del cuadro contiene la anchura, la altura y la posicion de cada cuadro en una imagen, vease la tabla sintactica que sigue. Esto significa que, si las coordenadas de un bloque son conocidas, tambien se conoce a que cuadro pertenece el bloque. Si la informacion del cuadro existe tanto en el PPS como en el SPS, es posible utilizar la informacion del PPS.
5
10
15
20
25
30
Tabla 1 - Tabla de sintaxis de la informacion de cuadro
tiles or entropy coding sync idc
u(2)
if(tiles_or_entropy_coding_sync_idc ==1) {
num_tile_columns_minus1
ue(v)
n u m ti le rows m i n us 1
ue(v)
uniform_spacing_flag
u{1)
if(!uniform_spacing_flag) {
for(i=0; i < num_tile_columns_minus1 ; i++)
column_width[i]
ue(v)
for(i = 0; i < num tile rows minusi ; i++)
row_height[i]
ue(v)
}
loop filter across tiles enabled flag
u(1)
}
Una contrasena o elemento de sintaxis que consiste en un unico bit se denomina indicador.
El HEVC define dos tipos de puntos de entrada para la descodificacion paralela. Los puntos de entrada pueden ser utilizados por un descodificador para encontrar la posicion en el flujo de bits en la que los bits para un cuadro o un subflujo comienzan. El primer tipo es desfases de los puntos de entrada. Estan enumerados en la cabecera del segmento e indican los puntos de inicio de uno o mas cuadros que estan contenidos en el segmento. El segundo tipo es marcadores de los puntos de entrada, que separan los cuadros en el flujo de bits. Un marcador de punto de entrada es una contrasena espedfica (codigo de inicio) que no puede encontrarse en ningun lugar excepto en el flujo de bits.
Es posible utilizar cuadros para el paralelismo de un codificador. Para el caso de mosaico, el codificador elige primero una particion del mosaico. Dado que los bordes del mosaico rompen todas las predicciones entre los cuadros, el codificador puede asignar la codificacion de multiples cuadros a multiples hilos. Siempre que haya al menos dos cuadros, es posible realizar codificacion de multiples hilos.
Para que el paralelismo de un descodificador funcione, es necesario que existan puntos de entrada en el flujo de bits. Para codificacion paralela, no es necesaria la existencia de puntos de entrada; el codificador puede simplemente unir el flujo de bits despues de que la codificacion de los cuadros / subflujos se ha completado. No obstante, el descodificador necesita conocer donde empieza cada cuadro en el flujo de bits, para efectuar una descodificacion paralela. Si un codificador unicamente desea efectuar una codificacion paralela, pero no desea permitir la descodificacion paralela, podria omitir los puntos de entrada; pero si tambien desea permitir la descodificacion paralela, debe insertar puntos de entrada.
Compendio
Un objeto de las realizaciones es proporcionar un mecanismo alternativo para el paralelismo del descodificador.
Esto se consigue enviando informacion indicando que se utiliza la misma estructura de mosaico en toda una secuencia. De acuerdo con un primer aspecto de las realizaciones de la presente invencion, existe un metodo para codificar una secuencia de imagenes de un flujo de video de multiples imagenes para ser llevado a cabo en un codificador. En el metodo, se decide si todas las imagenes de la citada secuencia son divididas de la misma manera mediante cuadros, utilizando una estructura de mosaico. Ademas, se envfa informacion de que se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video.
De acuerdo con un segundo aspecto, existe un metodo para analizar sintacticamente una secuencia de imagenes de un flujo de video de multiples imagenes. En el metodo, se recibe informacion acerca de si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video, y se recibe informacion acerca de la estructura de
5
10
15
20
25
30
35
40
45
mosaico. Ademas, la citada informacion recibida se utiliza cuando se decide sobre la descodificacion de la secuencia del flujo de video.
Se acuerdo con un tercer aspecto, existe un codificador para la codificacion de una secuencia de imagenes de un flujo de video de multiples imagenes. El codificador comprende una unidad de determinacion configurada para decidir si todas las imagenes de la citada secuencia son divididas de la misma manera mediante cuadros que utilizan una estructura de mosaico, y una unidad de salida configurada para enviar informacion acerca de la estructura de mosaico en la que se dividen las imagenes actuales, y para enviar informacion de que se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video.
Ademas, de acuerdo con un cuarto aspecto, existe un elemento 650 para analizar sintacticamente una secuencia de imagenes de un flujo de video de multiples imagenes. El elemento 650 comprende una unidad de entrada 630 configurada para recibir informacion acerca de la estructura de mosaico en la que son divididas las imagenes actuales, para recibir informacion sobre si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video, y una unidad de analisis sintactico 640 configurada para analizar sintacticamente y utilizar la citada informacion recibida cuando se decide acerca de la descodificacion de la secuencia del flujo de video.
De acuerdo con un quinto aspecto, existe un transmisor que comprende un codificador de acuerdo con el tercer aspecto.
De acuerdo con un sexto aspecto, existe un receptor que comprende un elemento de acuerdo con el cuarto aspecto.
De acuerdo con un septimo aspecto, existe un dispositivo que comprende un transmisor de acuerdo con el quinto aspecto y/o un receptor de acuerdo con el sexto aspecto.
De acuerdo con un octavo aspecto, existe un programa informatico. El programa informatico comprende unidades de codigo legibles por ordenador que, cuando son ejecutadas en un procesador, hacen que el procesador:
- decida si todas las imagenes de la citada secuencia estan divididas de la misma manera mediante cuadros, utilizando una estructura de mosaico, y
- envfe informacion de que se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video.
De acuerdo con un noveno aspecto, existe un producto de programa informatico, en el que el producto de programa informatico comprende un medio legible por ordenador y un programa informatico tal como se ha indicado anteriormente, almacenado en el medio legible por ordenador.
De acuerdo con un decimo aspecto, existe un programa informatico, en el que el programa informatico comprende unidades de codigo legibles por ordenador que, cuando son ejecutadas en un procesador hacen que el procesador:
- reciba informacion acerca de si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video,
- reciba informacion sobre la estructura de mosaico en la cual estan divididas las imagenes actuales, y
- utilice la informacion recibida cuando se decide acerca de la descodificacion de la secuencia del flujo de video.
De acuerdo con un undecimo aspecto, existe un producto de programa informatico. El producto de programa informatico comprende un medio legible por ordenador y un programa informatico, como se ha indicado anteriormente, almacenado en el medio legible por ordenador.
Una ventaja con las realizaciones es que es posible rebajar el requisito sobre la complejidad del descodificador si el descodificador puede recibir informacion que garantice que se utilizara la misma estructura de mosaico en toda una secuencia.
Breve descripcion de los dibujos
La figura 1 ilustra un fotograma dividido en seis cuadros, que pueden permitir seis hilos para codificar / descodificar el fotograma en paralelo.
La figura 2 es un diagrama de flujo que ilustra un metodo llevado a cabo en un codificador de acuerdo con las realizaciones de la presente invencion.
La figura 3 es un diagrama de flujo que ilustra un metodo llevado a cabo en un descodificador de acuerdo con las realizaciones de la presente invencion.
La figura 4 ilustra esquematicamente un codificador y un descodificador de acuerdo con las realizaciones de la presente invencion.
5
10
15
20
25
30
La figura 5 ejemplifica un transmisor con un codificador de acuerdo con las realizaciones y un receptor con un descodificador de acuerdo con las realizaciones.
La figura 6 ilustra esquematicamente un programa informatico y un producto de programa informatico de acuerdo con las realizaciones de la presente invencion.
Descripcion detallada
Las realizaciones de la presente invencion hacen referencia a procesos de codificacion de video que permiten la descodificacion paralela de un fotograma de imagen.
En una secuencia de video codificada mediante HEVC, cada imagen puede contener medios para la descodificacion paralela de diferentes partes de un fotograma de imagen, utilizando cuadros o medios similares.
Por ello, siempre que existan al menos dos cuadros, es posible utilizar multiples hilos para la descodificacion si se conoce donde empieza el segundo cuadro en el flujo de bits, es decir, que existe un punto de entrada para el segundo cuadro.
El parametro tiles_or_entropy_sync_idc = 1 indica que la informacion sobre el cuadro esta disponible. Ejemplos de la informacion del cuadro son el numero de cuadros, su posicion y tamano; la sintaxis en SPS tiene el aspecto siguiente:
tiles_or_entropy_coding_sync_idc
u(2}
if(tiles_or_entropy_coding_sync_idc == 1) {
num_tile_columns_minus1
ue(v)
num_tile_rows_minus1
ue(v)
uniform_spacing_flag
u(1)
if(!uniform_spacing_flag) {
for(i = 0; i < num_tile_columns_minus1 ; i++)
column_width[i]
ue(v)
for(i = 0; i < num_tile_rows_minus1 ; i++)
row_height[i]
ue(v)
}
loop_filter_across _tiles_enabled_flag
u(1)
}
tiles_or_entropy_sync_idc = 1 puede significar que es posible utilizar multiples hilos, siempre en el codificador, y en el descodificador, si existen puntos de entrada.
En este contexto, cuando decimos que es posible utilizar multiples hilos queremos decir que la carga de trabajo real del proceso de descodificacion puede ser dividida en “procesos” separados, que son llevados a cabo de manera independiente unos de otros, es decir, pueden ser llevados a cabo en paralelo (en hilos separados).
En una realizacion, se utiliza un elemento de sintaxis para indicar si la informacion sobre el cuadro es la misma para una secuencia. La secuencia es tipicamente un flujo de bits para el cual es valido un conjunto de parametros de secuencia (SPS). El elemento de sintaxis puede ser parte del SPS o estar senalizado como en un mensaje de VUI o de SEI. Ademas, el elemento de sintaxis puede ser un indicador, por ejemplo, denotado tiles_fixed_structure_flag.
El codificador decide como estan divididas las imagenes mediante una estructura de mosaico que permite codificacion / descodificacion paralela. Cuando se utiliza la misma estructura de mosaico en toda una secuencia, la informacion de que se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video es enviada al descodificador de acuerdo con esta realizacion. Ademas, el codificador divide (por ejemplo, mediante una unidad de division 610 tal como se ilustra en la figura 4) las imagenes de acuerdo con la estructura de mosaico, permitiendo una codificacion / descodificacion paralela y puede enviar informacion acerca de la estructura de mosaico en la cual estan divididas las imagenes actuales en uno o mas PSS, por ejemplo, en banda.
5
10
15
20
25
30
35
40
45
50
55
De este modo, cuando el elemento de sintaxis indica que la informacion del mosaico sera la misma para una secuencia, la estructura de mosaico es la misma para todas las imagenes de la secuencia, y un descodificador, receptor u otro elemento de envfo o procesamiento de datos sabna, a partir del elemento de sintaxis, que cada imagen de la secuencia tiene las mismas particiones de mosaico y que forma tienen esas particiones. La informacion sobre la estructura de mosaico real puede ser enviada en el SPS o en el PPS. Por ello, es posible reducir la complejidad del descodificador, receptor u otro elemento de envfo o procesamiento de datos.
En consecuencia, un elemento, que puede ser un elemento de red o un elemento de un descodificador, esta configurado, de acuerdo con esta realizacion, para efectuar lo que sigue.
1. El elemento recibe un segmento y analiza los elementos de sintaxis en la cabecera del segmento para deducir si la estructura de mosaico es la misma para todas las imagenes de la secuencia. La cabecera del segmento puede contener un mdice de PPS que hace referencia al PPS en el que es posible encontrar la informacion del mosaico. Otra opcion es que el elemento busque directamente en el SPS y en el PPS el indicador y la informacion del mosaico respectivamente.
2. Si el elemento de sintaxis indica que la estructura de mosaico es la misma para todas las imagenes de la secuencia, el elemento utiliza esta informacion para decidir acerca de la descodificacion de la secuencia. Una ventaja con esta solucion es que un descodificador puede tomar una mejor decision acerca de si es capaz de descodificar la secuencia recibida si esta informacion esta disponible. Si el descodificador no sabe que la estructura de mosaico es la misma para todas las imagenes de la secuencia, puede no ser capaz de garantizar que puede descodificar la secuencia, por ejemplo, debido a las limitaciones del procesador del descodificador.
El metodo propuesto para ser llevado a cabo por el codificador se ilustra en el diagrama de flujo de la figura 2. El metodo esta adaptado para la codificacion de una secuencia de imagenes de un flujo de video de multiples imagenes. En el metodo, se decide 302 si todas las imagenes de la citada secuencia estan divididas de la misma manera mediante cuadros que utilizan una estructura de mosaico, y se envfa 304 informacion de que se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video cuando se utiliza 303 la misma estructura de mosaico en toda la secuencia del flujo de video. Es asimismo posible enviar 305 informacion sobre la estructura de mosaico que se esta utilizando en uno o mas PPS, por ejemplo, en banda.
De acuerdo con otro aspecto, existe un metodo para analizar sintacticamente una secuencia de imagenes de un flujo de video de multiples imagenes tal como se ilustra en la figura 3. En el metodo, se recibe 321 informacion sobre si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video, y se recibe 322 informacion sobre la estructura de mosaico. Ademas, la citada informacion recibida puede ser utilizada 323 cuando se decide acerca de la descodificacion de la secuencia del flujo de video.
De acuerdo con una realizacion, la informacion de que la misma estructura de mosaico se utiliza en toda una secuencia del flujo de video es enviada en un indicador ejemplificado mediante un elemento de sintaxis tiles_fixed_structure_flag. El indicador puede ser enviado en un sPs del codificador a un descodificador.
Esto significa que existen tres posibilidades de acuerdo con las realizaciones: 1) No existe el indicador y no se proporciona ninguna informacion relativa a si se utiliza la misma estructura de mosaico en toda la secuencia. 2) Existe el indicador, y si tiene un valor espedfico, por ejemplo, de 1, se utiliza la misma estructura de mosaico en toda la secuencia. 3) Existe el indicador, y si tiene un valor espedfico, por ejemplo, de 0, no se proporciona ninguna informacion relativa a si se utiliza la misma estructura de mosaico en toda la secuencia.
Debe observarse que la informacion de que la estructura de mosaico es constante en toda la secuencia (por ejemplo, mediante el tiles_fixed_structure_flag en el SPS) puede ser utilizada junto con una o mas de las alternativas 5 - 13 tal como se describe a continuacion.
Un ejemplo de utilizacion de la informacion de que la estructura de mosaico es constante en toda la secuencia junto con las alternativas 5 - 13 (descritas a continuacion) es tener solo un unico elemento de sintaxis para representar que la estructura de mosaico es constante en toda la secuencia y que se utilizan puntos de entrada para cada cuadro. Adicionalmente, podna existir otro elemento de sintaxis, preferiblemente condicionado al primero, que representa el tipo de puntos de entrada, por ejemplo, desfases o marcadores.
Como alternativa, podna existir un unico elemento de sintaxis para representar que la estructura de mosaico es constante en toda la secuencia y que se utilizan desfases de puntos de entrada para cada cuadro. De manera alternativa o adicionalmente, podna existir un unico elemento de sintaxis para representar que la estructura de mosaico es constante en toda la secuencia y que se utilizan marcadores de puntos de entrada para cada cuadro.
Con referencia a la figura 4, de acuerdo con un aspecto, existe un codificador 600 para la codificacion de una secuencia de imagenes de un flujo de video de multiples imagenes. El codificador comprende una unidad de determinacion 617 configurada para decidir si todas las imagenes de la citada secuencia estan divididas de la misma manera utilizando una estructura de mosaico, y una unidad de salida 620 configurada para enviar informacion sobre la estructura de mosaico en la que las imagenes actuales estan divididas, y para enviar informacion de que se utiliza
5
10
15
20
25
30
35
40
45
50
la misma estructura de mosaico en toda la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video.
De acuerdo con la realizacion, la unidad de salida del codificador esta configurada para enviar la informacion de que se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video en un indicador tal como un elemento de sintaxis tiles_fixed_structure_flag.
La unidad de salida del codificador puede estar configurada para enviar el elemento de sintaxis en un conjunto de parametros de secuencia, SPS.
De acuerdo con otra realizacion, la unidad de salida 620 esta ademas configurada para enviar informacion de que se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video durante un establecimiento de sesion.
Ademas, el codificador puede ser un codificador de HEVC, aunque las realizaciones no estan limitadas a HEVC.
Ademas, de acuerdo con otro aspecto, existe un elemento 650 para analizar sintacticamente una secuencia de imagenes de un flujo de video de multiples imagenes. El elemento 650 comprende una unidad de entrada 630 configurada para recibir informacion sobre la estructura de mosaico en la que se encuentra divididas las imagenes actuales, para recibir informacion de si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video, y una unidad de analisis sintactico 640 configurada para analizar sintacticamente y utilizar la citada informacion recibida cuando se decide acerca de la descodificacion de la secuencia del flujo de video.
De acuerdo con una realizacion, la unidad de entrada 630 del elemento esta configurada para recibir la informacion de que se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video a partir de un indicador tal como un elemento de sintaxis tiles_fixed_structure_flag.
De acuerdo con otra realizacion, la unidad de entrada 630 esta ademas configurada para enviar informacion de que se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video durante un establecimiento de sesion.
La unidad de entrada 630 del elemento puede estar configurada para recibir el elemento de sintaxis en un conjunto de parametros de secuencia, SPS.
Ademas, el elemento puede ser implementado en un elemento de red o en un descodificador tal como un descodificador de HEVC, aunque las realizaciones no estan limitadas a HEVC.
La figura 5 ilustra esquematicamente un transmisor 401, que comprende un codificador 600 de acuerdo con las realizaciones anteriores, y un receptor 402, que comprende un elemento 650 de acuerdo con las realizaciones anteriores. Se muestra que un elemento de sintaxis 400 indicando si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video, es enviado del transmisor al receptor. Como se ha mencionado anteriormente, el elemento de sintaxis puede ser enviado en un SPS de una cabecera 4l0.
El codificador puede, por ejemplo, estar situado en un transmisor en una camara de video 403, por ejemplo, en un dispositivo movil. El elemento puede, por ejemplo, estar situado en un receptor en una camara de video 403 o en cualquier otro dispositivo para mostrar un flujo de video.
Como se ha mencionado anteriormente, las realizaciones pueden ser implementadas en un codificador y en cualquier elemento que opere en un flujo de bits, tal como un descodificador, o un elemento de red tal como un nodo de red o un Elemento de reconocimiento de medios. De este modo, el descodificador y el elemento de red (ejemplificado por el nodo de red o por un Elemento de reconocimiento de medios) estan configurados para recibir y analizar sintacticamente el elemento de sintaxis que indica si una secuencia tiene la misma estructura de mosaico en toda la secuencia. El elemento de sintaxis puede estar situado en la cabecera del segmento. Ademas, un codificador y cualquier elemento que opere en un flujo de bits tal como un descodificador, un nodo de red o un Elemento de reconocimiento de medios esta configurado como sintaxis de sumar para indicar si una secuencia tiene la misma estructura de mosaico en toda la secuencia. El elemento de sintaxis puede ser insertado en la VUI en el SPS y ser enviado mediante la unidad de salida.
Ademas, las funcionalidades del codificador y del elemento pueden ser implementadas por un respectivo ordenador con un respectivo procesador y una memoria, donde la memoria almacena segmentos de codigo de software que pueden ser ejecutados por un procesador para efectuar las citadas funcionalidades.
Ademas, los ordenadores 690, 692 de la figura 6, respectivamente comprenden al menos un producto de programa informatico 675, 680 en forma de memoria no volatil o memoria volatil, por ejemplo, una EEPROM (Memoria de solo lectura programable borrable electricamente - Electrically Erasable Programmable Read-Only Memory, en ingles), una memoria rapida, una unidad de disco o una RAM (Memoria de acceso aleatorio - Random Access Memory). Los productos de programa informatico 675, 685, comprenden respectivamente un programa informatico 670, 680.
5
10
15
20
25
30
35
40
El programa informatico 670 del codificador, que comprende unidades de codigo legibles por ordenador que cuando son ejecutadas en un procesador 615 hacen que el procesador 615:
- decida si todas las imagenes de la citada secuencia estan divididas de la misma manera mediante cuadros utilizando una estructura de mosaico, y
- env^e informacion de que se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico en toda la secuencia del flujo de video.
El producto de programa informatico 675, que comprende un medio legible por ordenador y un programa informatico 670, tal como se ha indicado anteriormente, almacenado en el medio legible por ordenador.
Un programa informatico 680 del elemento que comprende unidades de codigo legibles por ordenador que cuando son ejecutadas en un procesador 660 hacen que el procesador 660:
- reciba informacion de si se utiliza la misma estructura de mosaico en toda una secuencia del flujo de video,
- reciba informacion de la estructura de mosaico en la que estan divididas las imagenes actuales, y
- utilice la citada informacion recibida cuando decide acerca de la descodificacion de la secuencia del flujo de video.
El producto de programa informatico 685, que comprende un medio legible por ordenador y un programa informatico 680, como se ha indicado anteriormente, almacenado en el medio legible por ordenador.
De acuerdo con otra realizacion, los puntos de entrada estan senalizados uno respecto a otro. Por ejemplo, el elemento de sintaxis entry_point_offset es remplazado por un entry_point_delta_offset_minusl (el nombre alternativo es substream_length_minus1).
Esto implica que la unidad de salida 620 (del codificador) puede estar ademas configurada para senalizar puntos de entrada unos respecto a otros, donde los puntos de entrada indican el primer byte del cuadro respectivo. Ademas, la unidad de entrada 630 del elemento 650 puede estar tambien configurada para recibir informacion acerca de los puntos de entrada unos respecto a otros, donde los puntos de entrada indican el primer byte del cuadro respectivo.
De este modo, el entry_point_delta_offset_minus1 [0] plus 1 puede estar definido para indicar el primer punto de entrada con respecto al inicio de la cabecera del segmento (EntryPoint [0] = entry_point_delta_offset_minus1 [0] + 1). Cada entry_point_delta_offset_minus1 [i] para i > 0 se utiliza para calcular el punto de entrada de orden i con respecto al inicio de la cabecera del segmento como EntryPoint [i] = EntryPoint [i-1] + entry_point_delta_offset_minus1 [i] + 1.
O de manera equivalente, el entry_point_delta_offset_minus1 [0] + 1 se define para indicar el primer punto de entrada con respecto al inicio de la cabecera del segmento. Cada entry_point_delta_offset_minus1 [i] para i > 0 se utiliza para calcular el punto de entrada de orden i con respecto al punto de entrada previo + 1.
En esta alternativa, el descodificador esta configurado para efectuar lo siguiente:
1. El descodificador recibe un segmento y analiza los elementos de sintaxis en la cabecera del segmento para deducir que PPS esta activo y que SPS esta activo, y si se utilizan mosaicos o no.
2. Si se utilizan mosaicos y num_entry_point_offsets > 0, se realiza lo siguiente:
el primer punto de entrada se calcula como EntryPoint [0] = entry_point_delta_offset_minus1 [i] + 1
para cada i en el rango de 1 a entry_point_offset - 1, incluido el punto de entrada de orden i, se calcula como EntryPoint [i] = EntryPoint [i-1] + entry_point_delta_offset_minus1[i] + 1.
4. El segmento es descodificado utilizando la configuracion de mosaico deducida en la etapa 2. Opcionalmente, el descodificador utiliza los puntos de entrada descodificados en la etapa 2 para dividir la carga de trabajo de descodificacion en multiples nucleos (hilos).
La sintaxis podna por ejemplo tener esta forma:
5
10
15
20
25
30
35
if(tiles_or_entropy_coding_syncJdc > 0) {
num_entry_point_offsets
ue(v)
if(num_entry_point_offsets > 0) {
offset_len_minus1
ue(v)
for(i = 0; i < num_entry_point_offsets; i++) {
entry_point_delta_offset_minus1[i]
u(v)
}
La semantica podna tener, por ejemplo, esta forma:
entry_point_offset [i] especifica el desfase del punto de entrada de orden i, en bytes y se representara mediante offset_len_minus 1 plus 1 bits.
La variable EntryPoint [i] se obtiene como sigue:
if(i == 0)
EntryPoint[i] = entry_point_offset[i] + 1 else
EntryPoint[i] = EntryPoint[i - 1] + (entry_point_offset[i] + 1)
Una ventaja con esta realizacion es que es posible utilizar menos bits para la senalizacion de los puntos de entrada, dado que el desfase de un punto de entrada con respecto al desfase previo es generalmente un numero mucho menor que el desfase de un punto de entrada con respecto al inicio del segmento, y por ello se puede representar mediante menos bits. Otra ventaja es que existe un requisito inherente de que los desfases de puntos de entrada esten senalizados en orden creciente (dado que no se permiten desfases negativos). Si los desfases de los puntos de entrada estan senalizados con respecto a la cabecera del segmento, no existe ningun requisito inherente en el orden de los desfases de los puntos de entrada, y por ello tal requisito debe ser indicado explfcitamente, para prohibir una senalizacion no ordenada de los puntos de entrada, que sena compleja de manejar para un descodificador.
Alternativa 2
En otra alternativa, la utilizacion de cuadros esta senalizada para una secuencia de video en una estructura de datos tal como un SPS u otra estructura de datos. Esta estructura de datos puede o no ser enviada fuera de banda durante el establecimiento de sesion, por ejemplo, para una videoconferencia o llamada telefonica o sesion de transmision en vivo. La estructura de datos contiene varios modos de como se utilizan los cuadros dentro de la secuencia de video.
En esta alternativa, un primer modo puede indicar la senal de que se utilizan mosaicos y de que se utiliza una y solo una estructura de mosaico espedfica en toda la secuencia.
Ademas, un segundo modo puede indicar / senalizar que no se utilizan mosaicos, un tercer modo puede indicar que, ademas del primer modo, junto con el modo, se indica la estructura de mosaico real para ser utilizada, y es enviada durante el establecimiento de sesion. Un cuarto modo puede indicar que existen cuadros en la secuencia, pero que la estructura puede o no ser fija, y un quinto modo puede indicar que ademas de los modos segundo, tercero o cuarto, no existen puntos de entrada en la secuencia.
Un sexto modo puede indicar que ademas de los modos primero, tercero o cuarto, existen desfases de puntos de entrada para todos los cuadros de la secuencia, excepto los cuadros que estan primeros en su segmento, y un septimo modo puede indicar que ademas de los modos primero, tercero o cuarto, existen marcadores de puntos de entrada para todos los cuadros de la secuencia, excepto los cuadros que estan primeros en su segmento.
Un octavo modo puede indicar que ademas de los modos primero, tercero o cuarto, existen marcadores de puntos de entrada o desfases de puntos de entrada para todos los cuadros de la secuencia, excepto los cuadros que estan primeros en su segmento.
Estos modos estan representados en las alternativas 3 a 14, y pueden ser combinados con las descripciones anteriores. La sintaxis puede permitir la senalizacion de un subconjunto de estos modos. Un codificador puede ser
5
10
15
20
25
30
35
40
45
50
configurado para senalizar un subconjunto de estos modos, y un descodificador puede estar configurado para descodificar (y posiblemente hacer uso de la informacion de) un subconjunto de estos modos.
Alternativa 3
De acuerdo con otra alternativa, un elemento de sintaxis del SPS indica que cada imagen de la secuencia utilizara el mismo numero de subflujos de WPP. Preferiblemente el numero de subflujos de WPP se indica en el SPS y no puede ser sobrescrito (mediante un valor del PPS, la cabecera del segmento o en algun otro lugar). De manera alternativa, existe una restriccion de que todas las indicaciones del numero de subflujos de WPP (por ejemplo, en el PPS) deben tener el mismo valor.
Alternativa 4
En una alternativa, la restriccion en la configuracion de mosaico de las alternativas 1 y 2 se combina con la restriccion de los subflujos WPP de la realizacion 3 y se combina preferiblemente en un unico elemento de sintaxis que indica que la configuracion para la herramienta de paralelizacion (cuadros o frente de onda) es constante en toda la secuencia.
Alternativa 5
En esta alternativa el codificador esta ademas configurado para, por ejemplo, utilizar la unidad de salida, senalizar si todos los cuadros que no inician un nuevo segmento estan indicados mediante un desfase de punto de entrada en la cabecera del segmento.
Tal senalizacion puede ser realizada mediante un indicador en SPS, VUI, PPS, SEI o cualquier otra estructura de datos apropiada (por ejemplo, una estructura de informacion de mosaico que puede existir en SPS y/o en PPS). Cuando el indicador existe sera valido para todos los segmentos para los cuales la estructura de datos esta activa. Por ejemplo, todos los segmentos de todas las imagenes de una secuencia, si existe el indicador en el SPS, o todos los segmentos de todas las imagenes que hacen referencia al PPS, si el indicador existe en el PPS, etc.
De acuerdo con ello, el descodificador puede ser ademas configurado para decidir acerca del numero de hilos de descodificacion paralela para efectuar en ellos la descodificacion. Al descodificador se le garantiza que el numero de puntos de entrada (incluyendo el punto de inicio de los segmentos) es igual al numero de cuadros de la imagen.
Si el indicador esta establecido, un codificador debe incluir un desfase de punto de entrada para cada cuadro que no inicia un nuevo segmento, en todos los segmentos para los cuales la estructura de datos en la cual esta activo el indicador (por ejemplo, todos los segmentos en todas las imagenes de una secuencia, si el indicador existe en el SPS, o todos los segmentos de todas las imagenes que referencian al PPS si el indicador existe en el PPS, etc.). Si el indicador no existe, un codificador puede o no incluir un desfase de punto de entrada para cada cuadro que no inicia un nuevo segmento. De manera alternativa, cuando el indicador no existe, no existen desfases de punto de entrada y el codificador no incluye desfases de punto de entrada para los cuadros que estan dentro del alcance del indicador.
En una version de esta alternativa, el descodificador divide la carga de trabajo en el numero de nucleos de procesamiento disponibles, de tal manera que a cada nucleo se le asigna aproximadamente el mismo numero de cuadros. De manera alternativa, el descodificador inicia un nuevo hilo para cada cuadro.
El indicador podna, por ejemplo, denominarse entry_point_offsets_for_all_tiles_flag.
Alternativa 6
En esta alternativa, el codificador esta ademas configurado para, por ejemplo, utilizar la unidad de salida, senalizar si todos los cuadros que no inician un nuevo segmento estan indicados mediante un marcador de punto de entrada en el flujo de bits. El marcador de punto de entrada se encuentra en el flujo de bits antes de cada cuadro, excepto por el primer cuadro de cada segmento.
La senalizacion de que existen marcadores de punto de entrada para cada cuadro excepto para el primer cuadro del segmento puede efectuarse mediante un indicador en SPS, VUI, PPS, SEI o cualquier otra estructura de datos apropiada (por ejemplo, en SPS y/o en PPS puede existir una estructura de informacion de cuadro).
Cuando existe el indicador, puede ser valido para todos los segmentos para los cuales la estructura de datos esta activa (por ejemplo, todas las imagenes de una secuencia, si el indicador existe en el SPS).
De acuerdo con ello, el descodificador puede estar ademas configurado para decidir acerca del numero de hilos de descodificacion paralela para efectuar la descodificacion en ellos. Al descodificador se le garantiza que el numero de puntos de entrada (incluyendo el punto de inicio de los segmentos) es igual al numero de cuadros de la imagen.
Si el indicador existe, un codificador debe incluir un marcador de punto de entrada para cada cuadro, excepto por el primer cuadro de un segmento, en todos los segmentos para los cuales la estructura de datos en la cual el indicador
5
10
15
20
25
30
35
40
45
50
esta activo (por ejemplo, todos los segmentos en todas las imagenes de una secuencia, si el indicador existe en el SPS, o todos los segmentos de todas las imagenes que referencian el PPS, si el indicador existe en el PPS, etc.) Si el indicador no existe, un codificador puede o no incluir un marcador de punto de entrada para cada cuadro que no inicia un nuevo segmento. De manera alternativa, cuando el indicador no existe, no existen marcadores y el codificador no incluira marcadores de punto de entrada para los cuadros que se encuentran dentro del alcance del indicador.
En una version de esta alternativa, el descodificador divide la carga de trabajo en el numero de nucleos de procesamiento disponibles, de tal manera que a cada nucleo se le asigna aproximadamente igual numero de cuadros. De manera alternativa, el descodificador inicia un nuevo hilo para cada cuadro.
El indicador podna, por ejemplo, denominarse entry_point_markers_for_all_tiles_flag.
Alternativa 7
En otra alternativa, los indicadores mencionados anteriormente estan combinados en un solo indicador, por ejemplo, denotado entry_points_for_all_tiles_flag. Con este indicador el codificador esta configurado para senalizar si todos los cuadros que no inician un nuevo segmento estan indicados por un marcador de punto de entrada en el flujo de bits o por un desfase de punto de entrada en la cabecera del segmento. De manera alternativa, este indicador indica que todos los puntos de inicio del cuadro estan indicados, la indicacion se realiza bien con un marcador de punto de entrada o con un desfase de punto de entrada o tanto con un marcador de punto de entrada como con un desfase de punto de entrada.
Tal senalizacion puede ser realizada mediante un indicador, en SPS, VUI, PPS, SEI o cualquier otra estructura de datos apropiada (por ejemplo, una estructura de informacion de cuadro que puede encontrarse en SPS y/o PPS).
Cuando el indicador existe, el indicador puede ser valido para todos los segmentos para los cuales la estructura de datos esta activa (por ejemplo, todas las imagenes de una secuencia, si existe en el SPS).
De acuerdo con ello, el descodificador puede estar ademas configurado para decidir acerca del numero de hilos de descodificacion paralela para llevar a cabo en ellos la descodificacion. Al descodificador se le garantiza que el numero de puntos de entrada (incluyendo el punto de inicio de segmentos) es igual al numero de cuadros de la imagen.
Si el indicador existe, un codificador debe incluir un marcador de punto de entrada o un desfase de punto de entrada para cada cuadro, excepto por el primer cuadro de un segmento, en todos los segmentos para los cuales la estructura de datos en la cual esta activo el indicador (por ejemplo, todos los segmentos de todas las imagenes de una secuencia, si existe en el SPS, todos los segmentos en todas las imagenes que referencian al PPS, si existe en el PPS, etc.). Si el indicador no existe, un codificador puede o no incluir un marcador de punto de entrada o un desfase de punto de entrada para cada cuadro que no inicia un nuevo segmento. De manera alternativa, cuando el indicador no existe, no existen ni marcadores ni desfases y el codificador no incluira marcadores ni desfases de punto de entrada para los cuadros que se encuentran dentro del alcance del indicador.
En una version de esta alternativa, el descodificador divide la carga de trabajo en el numero de nucleos de procesamiento disponibles, de tal manera que a cada nucleo se le asigna aproximadamente el mismo numero de cuadros. De manera alternativa, el descodificador inicia un nuevo hilo para cada cuadro.
Alternativa 8
Como alternativa, sena posible utilizar el indicador de la alternativa 7 junto con un indicador adicional: entry_point_type_flag.
Si el entry_points_for_all_tiles_flag senala que todos los cuadros que no inician un nuevo segmento estan indicados mediante un marcador de punto de entrada en el flujo de bits o mediante un desfase de punto de entrada en la cabecera del segmento, este segundo indicador (entry_point_type_flag) indica si los puntos de entrada estan senalizados como desfases o como marcadores.
Un descodificador y un codificador, respectivamente, pueden utilizar esta informacion tal como se describe en la alternativa 7.
Alternativa 9
De acuerdo con otra alternativa, un elemento de sintaxis que representa un ID de un cuadro (tile_id_offset) es enviado para cada desfase de entry_point de manera que un descodificador sabe a que cuadro corresponde el desfase de punto de entrada. De acuerdo con ello, el codificador esta configurado para insertar el elemento de sintaxis en la cabecera del segmento y para enviarlo al descodificador.
5
10
15
20
25
30
35
40
45
El descodificador es asf configurado para dividir la carga de trabajo de la descodificacion a multiples hilos (nucleos). Cada hilo sabra a que cuadro corresponde el punto de entrada, y de este modo realizara una correcta descodificacion del cuadro.
En esta alternativa, el descodificador esta ademas configurado para llevar a cabo lo siguiente:
1. El descodificador recibe un segmento y analiza los elementos de sintaxis de la cabecera del segmento para deducir que PPS esta activo y que SPS esta activo.
2. El descodificador analiza el flujo de bits y averigua cuantos desfases de punto de entrada hay en el segmento. Se lleva a cabo lo siguiente para cada punto de entrada:
El elemento de sintaxis de ID del cuadro es analizado, y se utiliza opcionalmente para calcular el ID del cuadro para el punto de entrada. El ID del cuadro se utiliza opcionalmente junto con la informacion del cuadro para determinar la posicion del cuadro en la imagen, de manera que el cuadro puede ser descodificado de manera independiente.
3. El segmento es descodificado utilizando la configuracion de cuadro deducida en la etapa 2. Opcionalmente, el descodificador utiliza los ID del cuadro descodificados en la etapa 2 para dividir la carga de trabajo de descodificacion en multiples nucleos (hilos).
En una version de la alternativa, el valor que esta senalizado es el ID del cuadro menos uno, dado que no es necesario poder senalizar el ID del cuadro 0 (que es el primer cuadro de la imagen que siempre inicia un nuevo segmento y de este modo no necesita un punto de entrada). El elemento de sintaxis (contrasena) podna entonces denominarse tile_id_offset_minus1. El elemento de sintaxis podna ser codificado mediante una contrasena de longitud fija o un UVLC.
Alternativa 10
Como alternativa, el ID del cuadro de la alternativa 9 es configurado como diferencia relativa con respecto al ID del cuadro previo en la lista, utilizando el elemento de sintaxis tile_id_delta_offset_minus1. El primer desfase es senalizado con respecto al ID de cuadro del primer cuadro del segmento.
El descodificador esta, de acuerdo con esta alternativa, configurado para llevar a cabo lo siguiente:
1. El descodificador recibe un segmento y analiza los elementos de sintaxis de la cabecera del segmento para deducir que PPS esta activa y que SPS esta activa.
2. El descodificador analiza el flujo de bits y averigua cuantos desfases de puntos de entrada existen en el segmento. Lo que sigue se lleva a cabo para cada punto de entrada:
El elemento de sintaxis delta de ID del cuadro es analizado. El primer ID de cuadro se determina sumando el valor del primer elemento de sintaxis delta y el ID de cuadro del primer cuadro del segmento. Todos los demas ID de cuadro se determinan sumando el valor del elemento de sintaxis delta y el ID de cuadro del cuadro previo.
De manera alternativa, el ID del primer cuadro se determina sumando el valor del primer elemento de sintaxis delta y el ID de cuadro del primer cuadro del segmento mas 1. Todos los demas ID de cuadro se determinan sumando el valor del elemento de sintaxis delta y el ID de cuadro del cuadro previo mas 1.
El ID de cuadro se utiliza opcionalmente junto con la informacion del cuadro para determinar la posicion del cuadro en la imagen, de manera que el cuadro pude ser descodificado de manera independiente.
3. El segmento es descodificado utilizando la configuracion de cuadro deducida en la etapa 2. Opcionalmente, el descodificador utiliza los ID de cuadro descodificados en la etapa 2 para dividir la carga de trabajo de descodificacion en multiples nucleos (hilos).
Alternativa 11
Como alternativa adicional el ID de cuadro de la alternativa 9 o 10 esta condicionado al entry_point_offsets_for_all_tiles_flag de la alternativa 5. Si todos los puntos de entrada estan senalizados no es necesario senalizar el ID de cuadro, dado que puede ser calculado correctamente como el ID de cuadro del desfase del punto de entrada previo + 1.
En este caso, el descodificador esta configurado para llevar a cabo lo siguiente:
1. El descodificador recibe un segmento y analiza los elementos de sintaxis en la cabecea del segmento para decidir que PPS esta activa y que SPS esta activa.
2. Si el SPS indica que se utilizan multiples cuadros (por ejemplo, senalizados mediante la contrasena tiles_or_entropy_sync_idc) se realiza lo que sigue:
5
10
15
20
25
30
35
40
45
a. si num_entry_point_offsets en la cabecera del segmento es mayor que 0 se realiza lo que sigue para cada i en el rango de 0 a num_entry_point_offsets -1, incluido:
i. si entry_point_offsets_for_all_tiles_flag en el SPS es igual a 0, se analiza el elemento de sintaxis tile_id_offset_minus1, y se utiliza opcionalmente para calcular el ID de cuadro para el punto de entrada.
ii. si no, opcionalmente, el ID de cuadro para el punto de entrada i se calcula como el ID de cuadro del punto de entrada (i-1) mas uno (excepto para i = 0, para el cual el ID de cuadro se calcula como el ID de cuadro del primer cuadro del segmento mas uno).
3. si no, no se utilizan cuadros.
4. El segmento es descodificado utilizando la configuracion de cuadro deducida en la etapa 2 o 3. Opcionalmente, el descodificador utiliza los ID de cuadro descodificados en la etapa i e ii para dividir la carga de trabajo de descodificacion en multiples nucleos (hilos).
Alternativa 12
Como otra alternativa adicional, el elemento de sintaxis ID de cuadro (tile_id_marker_minus1) existente en los datos
del segmento que sigue a un marcador de punto de entrada esta condicionado al
entry_point_marker_for_all_tiles_flag de la alternativa 6. Si todos los puntos de entrada estan senalizados, no es necesario senalizar el ID de cuadro, dado que puede ser calculado correctamente como el ID de cuadro del marcador del punto de entrada previo + 1.
En este caso, el descodificador esta configurado para efectuar lo siguiente:
1. El descodificador recibe un segmento y analiza los elementos de sintaxis en la cabecera del segmento para deducir que PPS esta activo y que SPS esta activo.
2. Si el SPS indica que se utilizan multiples cuadros (por ejemplo, senalizados mediante la contrasena
tiles_or_entropy_sync_idc), se efectua lo que sigue:
a. el descodificador escanea los datos de NAL para encontrar las ocurrencias de los marcadores de punto de entrada (codigos de inicio, entry_point_marker_two_3bytes).
b. si el entry_point_offsets_for_all_tiles_flag en el SPS es igual a 0, se analiza el elemento de sintaxis
tile_id_marker_minus1, y opcionalmente se utiliza para calcular el ID de cuadro del punto de entrada.
c. si no, opcionalmente, se utiliza un contador para contar el numero de marcadores de puntos de entrada en el segmento, y el ID de cuadro para cada punto de entrada se calcula como el ID de cuadro del primer cuadro del segmento mas el valor del contador despues de llegar al punto de entrada (durante el escaneo).
3. si no, no se utilizan cuadros.
4. El segmento se descodifica utilizando la configuracion de cuadro deducida en la etapa 2 o 3. Opcionalmente, el descodificador utiliza los ID de cuadro descodificados en las etapas b y c para dividir la carga de trabajo de la descodificacion en multiples nucleos (hilos).
Alternativa 13
En otra alternativa adicional, el ID de cuadro de la alternativa 9 o 10 esta condicionado al entry_point_for_all_tiles_flag de la alternativa 7. Si todos los puntos de entrada estan senalizados, no es necesario senalizar el ID de cuadro, dado que se puede calcular correctamente como el ID de cuadro del punto de entrada previo + 1.
En este caso, el descodificador esta configurado para efectuar lo siguiente:
1. El descodificador recibe un segmento y analiza los elementos de sintaxis en la cabecera del segmento para deducir que PPS esta activo y que SPS esta activo.
2. Si el SPS indica que se utilizan multiples cuadros (por ejemplo, senalizados mediante la contrasena tiles_or_entropy_sync_idc), se efectua lo siguiente:
a. si num_entry_point_offsets en la cabecera del segmento es mayor que 0, se lleva a cabo lo siguiente para cada i en el rango de 0 a num_entry_point_offsets - 1, incluido:
i si el entry_point_for_all_tiles_flag en el SPS es igual a 0, el elemento de sintaxis tile_id_offset_minus1 es analizado, y se utiliza opcionalmente para calcular el ID de cuadro para el punto de entrada.
ii. si no, opcionalmente, el ID de cuadro para el punto de entrada i se calcula como el ID de cuadro del punto de entrada (i-1) mas uno (excepto para i = 0, para el cual el ID de cuadro se calcula como el ID de cuadro del primer cuadro del segmento mas uno).
3. si no, no se utilizan cuadros.
5 4. El segmento se descodifica utilizando la configuracion de cuadros deducida en las etapas 2 o 3. Opcionalmente,
el descodificador utiliza los ID de cuadro descodificados en las etapas i e ii para dividir la carga de trabajo de descodificacion en multiples nucleos (hilos).
Las realizaciones presentadas anteriormente se dirigen a los cuadros, pero los cuadros pueden ser asimismo remplazados con frentes de onda y el ID de cuadro puede ser remplazado por el ID de subflujo todavfa dentro del 10 alcance de las realizaciones de la presente invencion.
Ademas, tiles_fixed_structure_flag se utiliza en toda la memoria para indicar al descodificador que la estructura de mosaico se mantiene constante en toda una secuencia. No obstante, este indicador es solo un ejemplo de como senalizar que la estructura de mosaico se mantiene constante. Por ello, el nombre tiles_fixed_structured_flag, sus valores y su posicion en el flujo de bits pretenden ser un ejemplo. Es una realizacion de ejemplo, pero resulta 15 evidente para cualquier experto en la materia que cada realizacion es aplicable a cualquier medio de senalizar que la estructura de mosaico se mantiene constante.

Claims (23)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Metodo de codificacion de una secuencia de imagenes de un flujo de video de multiples imagenes para ser efectuado en un codificador, comprendiendo el metodo:
    - decidir (302) si todas las imagenes de la citada secuencia estan divididas de la misma manera mediante cuadros, utilizando una estructura en mosaico;
    - enviar informacion acerca de la estructura de mosaico en la cual estan divididas las imagenes actuales, y
    - enviar (304) informacion indicando que la misma estructura en mosaico se utiliza para todas las imagenes de la secuencia del flujo de video cuando se utiliza (303) la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video.
  2. 2. Metodo de acuerdo con la reivindicacion 1, en el cual mediante un indicador se envfa informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video.
  3. 3. Metodo de acuerdo con una cualquiera de las reivindicaciones 1 - 2, en el cual en un elemento de sintaxis tiles_fixed_structure_flag se envfa informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video.
  4. 4. Metodo de acuerdo con la reivindicacion 3, en el cual el elemento de sintaxis es enviado en un conjunto de parametros de secuencia, SPS.
  5. 5. Metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 4, en el cual el codificador es un codificador de codificacion de video de alta eficiencia, HEVC.
  6. 6. Metodo de analisis sintactico de una secuencia de imagenes de un flujo de video de multiples imagenes, comprendiendo el metodo:
    - recibir (321) informacion indicando si se utiliza la misma estructura de mosaico para todas las imagenes en una secuencia del flujo de video,
    - recibir (322) informacion acerca de la estructura en mosaico, y
    - utilizar (323) la citada informacion recibida cuando se decide acerca de la descodificacion de todas las imagenes de la secuencia del flujo de video.
  7. 7. Metodo de acuerdo con la reivindicacion 6, en el cual la informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video es recibida mediante un indicador.
  8. 8. Metodo de acuerdo con una cualquiera de las reivindicaciones 6 - 7, en el cual la informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video es recibida en un elemento de sintaxis tiles_fixed_structure_flag.
  9. 9. Metodo de acuerdo con la reivindicacion 8, en el cual el elemento sintactico es recibido en un conjunto de parametros de secuencia, SPS.
  10. 10. Metodo de acuerdo con una cualquiera de las reivindicaciones 6 - 9, en el cual el elemento es un elemento de red o un descodificador que es un descodificador de codificacion de video de alta eficiencia, HEVC.
  11. 11. Codificador (600) destinado a codificar una secuencia de imagenes de un flujo de video de multiples imagenes, comprendiendo el codificador una unidad de determinacion (617) configurada para decidir si todas las imagenes de la citada secuencia estan divididas de la misma manera en cuadros utilizando una estructura de mosaico, y una unidad de salida (620) configurada para enviar informacion acerca de la estructura de mosaico en la cual estan divididas las imagenes actuales, y enviar informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video.
  12. 12. Codificador de acuerdo con la reivindicacion 11, en el cual la unidad de salida (620) del codificador esta configurada para enviar la informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video en un elemento sintactico tiles_fixed_structure_flag.
  13. 13. Codificador de acuerdo con la reivindicacion 12, en el cual la unidad de salida (620) del codificador esta configurada para enviar el elemento sintactico en un conjunto de parametros de secuencia, SPS.
  14. 14. Codificador de acuerdo con una cualquiera de las reivindicaciones 11 - 13, en el cual la unidad de salida (620) esta ademas configurada para enviar informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de toda una secuencia del flujo de video durante un establecimiento de sesion.
    5
    10
    15
    20
    25
    30
  15. 15. Codificador de acuerdo con una cualquiera de las reivindicaciones 11 - 14, en el cual la unidad de salida (620) esta ademas configurada para senalizar puntos de entrada uno con respecto a otro, en el cual los puntos de entrada indican el primer octeto del cuadrado respectivo.
  16. 16. Codificador de acuerdo con una cualquiera de las reivindicaciones 11 - 15, en el cual el codificador es un codificador de codificacion de video de alta eficiencia, HEVC.
  17. 17. Elemento (650) de analisis sintactico de una secuencia de imagenes de un flujo de video de multiples imagenes, comprendiendo el elemento (650) una unidad de entrada (630) configurada para recibir informacion de la estructura de mosaico en la cual estan divididas las imagenes actuales, recibir informacion indicando si se utiliza la misma estructura de mosaico para todas las imagenes de una secuencia del flujo de video, y una unidad de analisis sintactico (640) configurada para efectuar el analisis sintactico y la utilizacion de la citada informacion recibida cuando se decide acerca de la descodificacion de todas las imagenes de la secuencia del flujo de video, en el cual el elemento es un descodificador que es un descodificador de codificacion de video de alta eficiencia, HEVC.
  18. 18. Elemento (650) de acuerdo con la reivindicacion 17, en el cual la unidad de entrada (630) del elemento (650) esta configurada para recibir la informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video en un elemento de sintaxis tiles_fixed_structure_flag.
  19. 19. Elemento (650) de acuerdo con una cualquiera de las reivindicaciones 17 - 18, en el cual la unidad de entrada (630) del elemento (650) esta configurada para recibir el elemento de sintaxis en un conjunto de parametros de secuencia, SPS.
  20. 20. Elemento (650) de acuerdo con una cualquiera de las reivindicaciones 17 - 19, en el cual la unidad de entrada (630) esta ademas configurada para recibir informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de una secuencia del flujo de video en el transcurso de un establecimiento de sesion.
  21. 21. Elemento (650) de acuerdo con una cualquiera de las reivindicaciones 17 - 20, en el cual la unidad de entrada (630) esta ademas configurada para recibir informacion de puntos de entrada uno con respecto a otro, en el cual los puntos de entrada indican el primer octeto del cuadrado respectivo.
  22. 22. Programa informatico (670), que comprende unidades de codigo legibles por ordenador que, cuando son ejecutadas en un procesador (615), llevan al procesador (615) a:
    - decidir si todas las imagenes de la citada secuencia estan divididas de la misma manera en cuadros utilizando una estructura de mosaico, y
    - enviar informacion indicando que se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video cuando se utiliza la misma estructura de mosaico para todas las imagenes de la secuencia del flujo de video.
  23. 23. Producto de programa informatico (675), que comprende un medio legible por ordenador y un programa informatico (670) de acuerdo con la reivindicacion 22 almacenada en el medio legible por ordenador.
ES13723266.6T 2012-04-16 2013-04-15 Indicador de estructura de mosaico fija indicando la posibilidad de un procesamiento paralelo para una secuencia de video comprimido Active ES2568493T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261624480P 2012-04-16 2012-04-16
US201261624480P 2012-04-16
PCT/SE2013/050407 WO2013158019A1 (en) 2012-04-16 2013-04-15 Fixed tile structure flag indicating parallel processing possibility for a sequence of compressed video

Publications (1)

Publication Number Publication Date
ES2568493T3 true ES2568493T3 (es) 2016-04-29

Family

ID=48446580

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13723266.6T Active ES2568493T3 (es) 2012-04-16 2013-04-15 Indicador de estructura de mosaico fija indicando la posibilidad de un procesamiento paralelo para una secuencia de video comprimido

Country Status (9)

Country Link
US (1) US20150117538A1 (es)
EP (2) EP3024243B1 (es)
JP (1) JP6055080B2 (es)
KR (1) KR101649284B1 (es)
CN (1) CN104221388B (es)
ES (1) ES2568493T3 (es)
IN (1) IN2014DN07859A (es)
PL (1) PL3024243T3 (es)
WO (1) WO2013158019A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111593A1 (ja) 2012-01-27 2013-08-01 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
US20150110201A1 (en) * 2012-04-30 2015-04-23 Panasonic Intellectual Property Corporation Of America Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, and image encoding and decoding apparatus
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20140092987A1 (en) * 2012-09-28 2014-04-03 Apple Inc. Entropy coding techniques and protocol to support parallel processing with low latency
US10205950B2 (en) 2014-02-21 2019-02-12 Panasonic Corporation Image decoding method, image encoding method, image decoding apparatus, and image encoding apparatus
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
CN104574265B (zh) * 2014-12-30 2018-04-17 中科九度(北京)空间信息技术有限责任公司 卫星遥感图像数据的处理方法及装置
CN105554513A (zh) * 2015-12-10 2016-05-04 Tcl集团股份有限公司 一种基于h.264的全景视频传输方法及系统
WO2018124818A1 (ko) * 2017-01-02 2018-07-05 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN116248866A (zh) 2017-07-03 2023-06-09 汉阳大学校产学协力团 利用包含追加区域的分割单位的影像解码方法以及装置
WO2019009590A1 (ko) * 2017-07-03 2019-01-10 김기백 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치
WO2019243539A1 (en) * 2018-06-21 2019-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Tile partitions with sub-tiles in video coding
KR20240027873A (ko) * 2018-07-02 2024-03-04 노키아 테크놀로지스 오와이 비디오 코딩에서 타일 관련 어드레싱을 위한 방법 및 장치
WO2020127110A1 (en) * 2018-12-20 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Signaling segment partitions in a parameter set
MX2021008347A (es) * 2019-01-09 2021-10-13 Huawei Tech Co Ltd Un codificador de video, un decodificador de video y metodos correspondientes.
US20230032673A1 (en) * 2019-11-22 2023-02-02 Lg Electronics Inc. Image coding method based on entry point-related information in video or image coding system
KR20220005274A (ko) * 2020-07-06 2022-01-13 삼성전자주식회사 전자 장치에서 무선 통신 효율을 개선하기 위한 방법 및 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
CN101267564B (zh) * 2008-04-16 2011-06-15 中国科学院计算技术研究所 一种多处理器视频编码芯片装置和方法
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
US9300976B2 (en) * 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
KR101718488B1 (ko) * 2012-01-20 2017-03-21 지이 비디오 컴프레션, 엘엘씨 병렬 처리, 전송 디멀티플렉서 및 비디오 비트스트림을 허용하는 코딩 개념
MY168021A (en) * 2012-04-06 2018-10-11 Sony Corp Decoding device and decoding method, and encoding device and encoding method

Also Published As

Publication number Publication date
EP2839652B1 (en) 2016-03-09
CN104221388A (zh) 2014-12-17
EP3024243A1 (en) 2016-05-25
KR101649284B1 (ko) 2016-08-18
CN104221388B (zh) 2018-01-23
JP6055080B2 (ja) 2016-12-27
IN2014DN07859A (es) 2015-04-24
PL3024243T3 (pl) 2018-01-31
JP2015516756A (ja) 2015-06-11
KR20150042145A (ko) 2015-04-20
EP3024243B1 (en) 2017-08-02
EP2839652A1 (en) 2015-02-25
WO2013158019A1 (en) 2013-10-24
US20150117538A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
ES2568493T3 (es) Indicador de estructura de mosaico fija indicando la posibilidad de un procesamiento paralelo para una secuencia de video comprimido
ES2673819T3 (es) Manipulación de lista de imágenes de referencia
CN106664414B (zh) 视频编码中用于单个样本模式的候选生成的方法及装置
ES2831415T3 (es) Codificación de imagen con bajo retardo
ES2714279T3 (es) Mejoras de conformidad e interoperabilidad en codificación de vídeo multicapa
ES2698438T3 (es) Procedimiento para interrumpir de manera selectiva la predicción en la codificación de vídeo
ES2688586T3 (es) Método y aparato para codificación de vídeo, método y aparato para decodificación de vídeo
ES2641443T3 (es) Método y aparato para filtración de bucle a través de límites de corte o pieza
ES2903298T3 (es) Método y equipo de descodificación
ES2848835T3 (es) Método de predicción intra para decodificación y codificación vídeo
ES2714756T3 (es) Señalización de imágenes de referencia
ES2686936T3 (es) Códec 3DVC basado en MVC que soporta el modo de predicción de movimiento de visualización interna (IVMP)
ES2912082T3 (es) Método de decodificación de vídeo, método de codificación de vídeo y medio de almacenamiento legible por decodificador que almacena información de video codificada
ES2883382T3 (es) Métodos y dispositivos de descodificación
HRP20230682T1 (hr) Ograničenja položaja podslike kod kodiranja videa
ES2945694T3 (es) Un aparato de codificación para señalizar un modo de intrapredicción direccional de ampliación dentro de un conjunto de modos de intrapredicción direccional
TW201826800A (zh) 使用靈活型四叉樹與二叉樹塊分割的視訊編解碼方法及裝置
ES2914871T3 (es) Rastreo de una imagen de referencia en base a una imagen designada en un dispositivo electrónico
JP2016513916A5 (es)
ES2789024T3 (es) Gestión de datos de extensión
BR112014017379B1 (pt) Subfluxos para processamento paralelo de frente de onda na codificação de vídeo
JP2014531853A5 (es)
JP2014531853A (ja) 参照ピクチャリストの取り扱い
ES2648970T3 (es) Codificación y decodificación de flujo de video multicapa
CN103118250B (zh) 一种帧内划分标志的编解码方法及装置