ES2630359T3 - Método de codificación de imagen, método de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y dispositivo de codificación/decodificación de imagen - Google Patents

Método de codificación de imagen, método de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y dispositivo de codificación/decodificación de imagen Download PDF

Info

Publication number
ES2630359T3
ES2630359T3 ES13841488.3T ES13841488T ES2630359T3 ES 2630359 T3 ES2630359 T3 ES 2630359T3 ES 13841488 T ES13841488 T ES 13841488T ES 2630359 T3 ES2630359 T3 ES 2630359T3
Authority
ES
Spain
Prior art keywords
dependent
image
header
flag
unit
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
ES13841488.3T
Other languages
English (en)
Inventor
Semih Esenlik
Matthias Narroschke
Thomas Wedi
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.)
Velos Media International Ltd
Original Assignee
Velos Media International Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=50385285&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2630359(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Velos Media International Ltd filed Critical Velos Media International Ltd
Application granted granted Critical
Publication of ES2630359T3 publication Critical patent/ES2630359T3/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/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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/423Methods 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 characterised by memory arrangements
    • 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un método de decodificación de imagen para realizar procesamiento de decodificación mediante el particionado de una imagen (300, 400) en una pluralidad de porciones (31, 32, 41, 42, 43, 44, ... 4m), el método de decodificación de imagen comprende extraer, de un flujo de bits codificado, una bandera de porción dependiente habilitada que indica si la imagen (300, 400) incluye o no una porción (42, 43, 44) dependiente en la cual el procesamiento de decodificación se realiza dependiente de un resultado del procesamiento de decodificación en una porción diferente a la porción actual, una dirección de porción que indica una posición de inicio de la porción actual, y un indicador (601) de dependencia que indica si la porción actual es la porción (42, 43, 44) dependiente o no, donde la bandera de porción dependiente habilitada se dispone en un conjunto de parámetros común a las porciones, la dirección de porción se dispone en una cabecera (1310) de porción de la porción actual, y el indicador (601) de dependencia se dispone en la cabecera de porción. caracterizada en que el indicador (601) de dependencia se dispone antes de la dirección de porción y tras un elemento de sintaxis que identifica el conjunto de parámetros.

Description

5
10
15
20
25
30
35
40
45
DESCRIPCION
Metodo de codificacion de imagen, metodo de decodificacion de imagen, dispositivo de codificacion de imagen, dispositivo de decodificacion de imagen, y dispositivo de codificacion/decodificacion de imagen
[Campo tecnico]
La presente invencion se relaciona con un metodo de codificacion de imagen para la codificacion de una imagen y un metodo de decodificacion de imagen para la decodificacion de una imagen.
[Antecedentes de la tecnica]
La mayona de los algoritmos de codificacion de video estandarizados actuales estan basados en codificacion de video hnbrida. En los metodos de codificacion de video hnbridos, se usan varios esquemas de compresion con y sin perdidas para conseguir la ganancia de compresion deseada. La codificacion de video hnbrida es tambien la base de los estandares ITU-T (estandares H.26x tales como H.261, H.263) asf como estandares ISO/IEC (estandares MPEG-X tales como MPEG-1, MPEG-2, y MPEG-4).
El estandar de codificacion de video mas reciente y avanzado es el estandar actualmente denotado como codificacion de video avanzada (AVC) H.264/MPEG-4. Este es el resultado de los esfuerzos de estandarizacion del equipo de video conjunto (JVT), un equipo conjunto de grupos de ITU-T y MPEG ISO/IEC.
Ademas, un estandar de codificacion de video llamado Codificacion de Video de Alta Eficiencia (HEVC) esta siendo considerado por el Equipo Colaborativo Conjunto en Codificacion de Video (JCT-VC), con el objetivo particular de mejorar la eficiencia respecto a la codificacion de video de alta resolucion.
[Lista de referencias]
[Documentos no Patentes]
Documento no patente 1: C. Gordon, et al., “Wavefront Parallel Processing for HEVC Encoding and Decoding”, JCTVC-F274-v2, del Encuentro en Torino, Julio del 2011, Internet <URL:
http://phenix.int-evry.fr.>
Documento no patente 2: A. Fuldseth, et al., “Tiles”, JCTVC-F355-v1, del Encuentro en Torino, Julio del 2011, Internet <URL:
http://phenix.int-evry.fr.>
Documento no patente 3: JCTVC-J1003_d7, “High efficiency video coding (HEVC) text specification draft 8”, Julio del 2012, pagina 73, “dependent_slice_flag”, Internet <URL:
http://phenix.IT-sudparis.eu/jct/>
Documento no patente 4: T. Lee, et al., “On dependent slices”, JCTVC-J0217, del Encuentro en Estocolmo, Julio del 2012, Internet <URL:
http://wftp3.itu.int/av-arch/jctvc-site>
Documento no patente 5: T. Schierl, et al., “Dependent slices”, JCTVC-10229, del Encuentro en Ginebra, Abril del 2012, Internet <URL:
http://wftp3.itu.int/av-arch/jctvc-site>
Los documentos “Documento no patente 4” y “Documento no patente 5” introducen la nocion de porciones dependientes. Espedficamente, una “bandera de porcion dependiente habilitada” se dispone en un conjunto de parametros de una porcion de sintaxis que es comun a las porciones y una “bandera de porcion dependiente” se dispone en la cabecera de porcion, tras un parametro de direccion de porcion.
[Compendio de la invencion]
[Problema tecnico ]
Sin embargo, existe el problema de que un metodo de codificacion de imagen, un metodo de decodificacion de imagen, y similares no tienen suficiente eficiencia de procesamiento.
Por lo tanto, la presente invencion proporciona un metodo de codificacion de imagen y un metodo de decodificacion de imagen que son capaces de aumentar la eficiencia de procesamiento.
[Solucion al problema]
Esto se logra por las caractensticas de las reivindicaciones independientes.
Un metodo de codificacion de imagen segun un aspecto de la presente invencion es un metodo de codificacion de imagen para realizar el procesamiento de codificacion mediante el particionado de una imagen en una pluralidad de porciones, el metodo de codificacion de imagen comprende la transmision de un flujo de bits que incluye: una bandera de porcion dependiente habilitada que indica si la imagen incluye o no una porcion dependiente en la cual el procesamiento de codificacion se realiza dependiendo de un resultado del procesamiento de codificacion en una porcion diferente de una porcion actual; una direccion de porcion que indica una posicion de inicio de la porcion
5
10
15
20
25
30
35
40
45
actual; y un indicador de dependencia que indica si la porcion actual es la porcion dependiente o no, donde la bandera de porcion dependiente habilitada esta dispuesta en un conjunto de parametros comun a las porciones, la direccion de porcion esta dispuesta en una cabecera de porcion de la porcion actual, y el indicador de dependencia esta dispuesto en la cabecera de porcion, y esta dispuesto antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
Un metodo de decodificacion de imagen segun un aspecto de la presente invencion es un metodo de decodificacion de imagen para realizar el procesamiento de decodificacion mediante el particionado de una imagen en una pluralidad de porciones, el metodo de decodificacion de imagen comprende la extraccion, desde un flujo de bits codificado, de una bandera de porcion dependiente habilitada que indica si la imagen incluye o no una porcion dependiente en la cual el procesamiento de decodificacion se realiza dependiendo de un resultado del procesamiento de decodificacion en una porcion diferente de una porcion actual, una direccion de porcion que indica una posicion de inicio de la porcion actual; y un indicador de dependencia que indica si la porcion actual es la porcion dependiente o no, donde la bandera de porcion dependiente habilitada esta dispuesta en un conjunto de parametros comun a las porciones, la direccion de porcion esta dispuesta en una cabecera de porcion de la porcion actual, y el indicador de dependencia esta dispuesto en la cabecera de porcion, y esta dispuesto antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
Los aspectos generales y espedficos descritos anteriormente se pueden implementar usando un sistema, un metodo, un circuito integrado, un programa informatico, o un medio de grabacion legible por un ordenador tal como un CD-ROM, o cualquier combinacion de sistemas, metodos, circuitos integrados, programas informaticos, o medios de grabacion legibles por un ordenador.
[Efectos ventajosos de la invencion]
Un metodo de codificacion de imagen y un metodo de decodificacion de imagen segun la presente invencion son capaces de aumentar la eficiencia de codificacion.
Breve descripcion de los dibujos
Estos y otros objetos, ventajas y caractensticas de la descripcion se haran evidentes a partir de la siguiente descripcion de las mismas tomadas en conjunto con los dibujos que acompanan que ilustran una realizacion espedfica de la presente invencion.
[FIG. 1] La FIG. 1 es un diagrama de bloques que muestra un ejemplo de un codificador de acuerdo a HEVC.
[FIG. 2] La FIG. 2 es un diagrama de bloques que muestra un ejemplo de un codificador de acuerdo a HEVC.
[FIG. 3] La FIG. 3 es un diagrama que muestra un ejemplo de una configuracion de una imagen en el procesamiento
paralelo de frente de onda (WPP).
[FIG. 4] La FIG. 4 es un diagrama que muestra un ejemplo de una relacion entre una porcion normal y una porcion dependiente en el procesamiento paralelo de frente de onda.
[FIG. 5] La FIG. 5 es un diagrama que muestra un ejemplo de una cabecera de paquete.
[FIG. 6] La FIG. 6 es un diagrama que muestra un ejemplo de una cabecera de porcion de una porcion de entropfa o una porcion dependiente.
[FIG. 7] La FIG. 7 es un diagrama que muestra las dependencias y la transmision de senal cuando se usa una porcion normal.
[FIG. 8] La FIG. 8 es una vista esquematica que muestra las dependencias y las transmisiones de senal cuando se usan una porcion dependiente y una porcion de entropfa.
[FIG. 9A] La FIG. 9A es un diagrama que muestra un ejemplo que muestra una implementacion de sintaxis de las dependencias entre capas, dependencias temporales y dependencias entre porciones en HM8.0.
[FIG. 9B] La FIG. 9B es un diagrama para explicar los pasos de analisis a ser realizados para analizar las dependencias entre capas en HM8.0.
[FIG. 9C] La FIG. 9C es un diagrama para explicar los pasos de analisis a ser realizados para analizar las dependencias entre capas en HM8.0.
[FIG. 10] La FIG. 10 es un diagrama que muestra un ejemplo de la posicion de la bandera_porcion_dependiente.
[FIG. 11] La FIG. 11 es un diagrama que muestra un ejemplo de sintaxis cuando la condicion de analisis con respecto a la bandera_porcion_dependiente en la FIG. 10 se elimina.
5
10
15
20
25
30
35
40
[FIG. 12] La FIG. 12 es un diagrama que muestra un ejemplo de sintaxis cuando la bandera_porcion_dependiente se mueve antes de la bandera_primera_porcion_enjmagen.
[FIG. 13] La FIG. 13 es un diagrama que muestra un ejemplo de sintaxis cuando la bandera_porcion_dependiente se mueve antes del elemento de sintaxis direccion_porcion.
[FIG. 14] La FIG. 14 es un diagrama que muestra un ejemplo de sintaxis cuando la bandera_porcion_dependiente se mueve dentro de la cabecera NAL.
[FIG. 15] La FIG. 15 es un diagrama que muestra un ejemplo de sintaxis de una cabecera de porcion de una porcion dependiente cuando un tipo nuevo se anade a los tipos de unidades de la NAL usados para porciones dependientes.
[FIG. 16] La FIG. 16 es un diagrama que muestra un ejemplo de sintaxis de una cabecera de porcion y de una cabecera de unidad de la NAL cuando se asume que la bandera_porcion_dependiente se establece a 1 para ciertos tipos de NALU.
[FIG. 17] La FIG. 17 muestra una configuracion general de un sistema que proporciona contenido para implementar servicios de distribucion de contenidos.
[FIG. 18] La FIG. 18 muestra una configuracion general de un sistema de difusion digital.
[FIG.19] La FIG. 19 muestra un diagrama de bloques que ilustra un ejemplo de una configuracion de un televisor.
[FIG. 20] La FIG. 20 muestra un diagrama de bloques que ilustra un ejemplo de una configuracion de una unidad de reproduccion/grabacion de informacion que lee y escribe informacion de y en un medio de grabacion que es un disco optico.
[FIG 21] La FIG. 21 muestra un ejemplo de una configuracion de un medio de grabacion que es un disco optico.
[FIG. 22A] La FIG. 22A muestra un ejemplo de un telefono movil.
[FIG. 22B] La FIG. 22B es un diagrama de bloques que muestra un ejemplo de una configuracion de un telefono movil.
[FIG. 23] La FIG. 23 ilustra una estructura de datos multiplexados.
[FIG. 24] La FIG. 24 muestra esquematicamente como cada flujo es multiplexado en datos multiplexados.
[FIG. 25] La FIG. 25 muestra como un flujo de video es almacenado en un flujo de paquetes PES en mas detalle. [FIG. 26] La FIG. 26 muestra una estructura de paquetes TS y paquetes origen en los datos multiplexados.
[FIG. 27] La FIG. 27 muestra una estructura de datos de una PMT.
[FIG. 28] La FIG. 28 muestra una estructura interna de informacion de datos multiplexados.
[FIG. 29] La FIG. 29 muestra una estructura interna de informacion de atributos de flujo.
[FIG. 30] La FIG. 30 muestra pasos para identificar datos de video.
[FIG. 31] La FIG. 31 muestra un ejemplo de una configuracion de un circuito integrado para implementar el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento segun cada una de las realizaciones.
[FIG. 32] La FIG. 32 muestra una configuracion para conmutar entre frecuencias portadoras.
[FIG. 33] La FIG. 33 muestra los pasos para identificar datos de video y conmutar entre frecuencias portadoras.
[FIG. 34] La FIG. 34 muestra un ejemplo de una tabla de busqueda en la cual los estandares de datos de video estan asociados con frecuencias portadoras;
[FIG. 35A] La FIG. 35A es un diagrama que muestra un ejemplo de una configuracion para compartir un modulo de una unidad de procesamiento de senal.
[FIG. 35B] La FIG. 35B es un diagrama que muestra otro ejemplo de una configuracion para compartir un modulo de la unidad de procesamiento de senal.
[Descripcion de las realizaciones]
(Base de conocimientos fundamentales de la presente descripcion)
5
10
15
20
25
30
35
40
45
50
55
Respecto al metodo de codificacion de imagen y el metodo de decodificacion de imagen descritos en la seccion de Antecedentes, los inventores han encontrado el siguiente problema.
Primero, se describiran un aparato de codificacion de imagen y un aparato de decodificacion de imagen en HEVC.
Una senal de video introducida en un aparato de codificacion de imagen es una secuencia de imagenes llamadas tramas (imagenes). Cada trama incluye una matriz de dos dimensiones de pfxeles. Todos los estandares mencionados anteriormente basados en codificacion de video tnbrida incluyen el particionado de cada trama de video individual en bloques mas pequenos que incluyen una pluralidad de pfxeles. El tamano de los bloques puede variar, por ejemplo, segun el contenido de la imagen. El metodo de codificacion se puede variar tfpicamente sobre una base por bloque. El tamano mas grande posible para tal bloque, por ejemplo en HEVC, es 64 x 64 pfxeles. Es llamado la unidad de codificacion mas grande (LCU). La LCU se puede particionar recursivamente en 4 CU.
En H.264/MPEG-4 AVC, un macro bloque (denotando usualmente un bloque de 16 x 16 pfxeles) era el elemento de imagen basico, para el cual se realiza la codificacion. El macro bloque puede ser dividido en sub bloques mas pequenos. Los pasos de codificacion incluidos en el metodo de decodificacion se realizan sobre una base por sub bloque.
[1-1. Codificacion de video tnbrida]
A continuacion se describe simplemente la codificacion de video tnbrida.
Tfpicamente, los pasos de codificacion de una codificacion de video tnbrida incluyen una prediccion espacial y/o temporal (prediccion de espacio y/o prediccion de tiempo). En consecuencia, cada bloque a ser codificado primero se precide usando bien los bloques en su vecindario espacial o los bloques en su vecindario temporal, esto es, tramas de video codificadas anteriormente. Entonces se calcula un bloque residual que es una diferencia entre el bloque a ser codificado y su resultado de prediccion. A continuacion, el bloque residual se transforma desde el dominio del espacio (pixel) a un dominio de la frecuencia. La transformacion pretende reducir la correlacion del bloque de entrada.
Ademas, los coeficientes de transformacion obtenidos de la transformacion son cuantificados. Esta cuantificacion es la compresion con perdidas (irreversible). Generalmente, los valores de los coeficientes de la transformacion comprimidos se comprimen mas sin perdidas por una codificacion de entropfa. Ademas, la informacion adicional necesaria para la reconstruccion de la senal de video codificada es codificada y proporcionada junto con la senal de video codificada. Esto es por ejemplo informacion sobre la prediccion espacial, la prediccion temporal, y/o la cuantificacion.
[1-2. Configuracion del aparato de codificacion de imagen]
La FIG. 1 es un ejemplo de un aparato de codificacion de una AVC de H.264/MPEG-4 tfpico y/o de un aparato de codificacion de imagen HEVC (codificador 100).
Como se muestra en la FIG. 1, el codificador 100 incluye un sustractor 105, una unidad 110 de transformacion, una unidad 120 de cuantificacion, una unidad 130 de transformacion inversa, un sumador 140, un filtro 150 deconstructor de bloques, un filtro 160 de bucle adaptativo, una memoria 170 de trama, una unidad 180 de prediccion, y un codificador 190 de entropfa.
La unidad 180 de prediccion dirige una senal s2 de prediccion mediante prediccion temporal o prediccion espacial. El tipo de prediccion usado en la unidad 180 de prediccion puede variarse sobre una base por trama o sobre una base por bloque. La prediccion temporal se llama prediccion entre, y la prediccion espacial se llama prediccion intra. La codificacion que usa una senal s2 de prediccion mediante prediccion temporal se llama codificacion entre, y la codificacion que usa una senal s2 de prediccion mediante prediccion espacial se llama codificacion intra. En la derivacion de una senal de prediccion que usa prediccion temporal, se usan las imagenes codificadas almacenadas en una memoria. En la derivacion de una senal de prediccion que usa prediccion espacial, se usa un valor de pixel de frontera de bloques vecinos codificados o decodificados almacenados en una memoria. El numero de direcciones de prediccion en la prediccion intra depende del tamano de la unidad de codificacion (CU). Se debena notar que los detalles de la prediccion seran descritos mas tarde.
El sustractor 105 primero determina una diferencia (senal e de error de prediccion) entre un bloque actual a ser codificado de una imagen de entrada (= senal s1 de entrada) y un bloque de prediccion correspondiente (= senal s2 de prediccion). La diferencia se usa para la prediccion del bloque actual a ser codificado. Se debena notar que la senal e de error de prediccion tambien se llama senal residual de prediccion.
La unidad 110 de transformacion transforma una senal e de error de prediccion en coeficientes. Generalmente, la unidad 110 de transformacion usa una transformacion ortogonal tal como una transformacion de coseno discreta (DCT) de dos dimensiones o una version entera de la misma. La transformacion ortogonal puede reducir la correlacion de la senal s1 de entrada (la senal de video antes de la codificacion) eficientemente. Tras la transformacion, los componentes de frecuencias mas bajas son normalmente mas importantes para la calidad de la
5
10
15
20
25
30
35
40
45
50
55
imagen que los componentes de frecuencias altas de forma que se pueden gastar mas bits en codificar los componentes de baja frecuencia que en los componentes de alta frecuencia.
La unidad 120 de cuantificacion cuantifica los coeficientes y deriva los coeficientes cuantificados.
El codificador 190 de entropfa realiza la codificacion de entrc^a en los coeficientes cuantificados. Los coeficientes cuantificados son comprimidos sin perdidas por la codificacion de entropfa. Ademas, mediante la codificacion de entropfa, el volumen de datos almacenado en la memoria y el volumen de datos (flujo de bits) a ser transmitido pueden reducirse aun mas. La codificacion de entropfa se realiza principalmente mediante la aplicacion de codificacion usando palabras claves de longitud variable. La longitud de una palabra clave se elige basandose en la probabilidad de su ocurrencia.
El codificador 190 de entropfa transforma la matriz de dos dimensiones de coeficientes transformados en un vector de una dimension. Normalmente, el codificador 190 de entropfa realiza esta conversion a traves de un asf llamado escaneo de zigzag. El escaneo de zigzag comienza con el coeficiente de DC en la esquina superior izquierda de la matriz de dos dimensiones y escanea la matriz de dos dimensiones en una secuencia predeterminada que termina con un coeficiente de AC en la esquina inferior derecha. La energfa se concentra normalmente en la parte superior izquierda de la matriz de dos dimensiones de coeficientes. Generalmente, cuando los coeficientes estan ubicados en la esquina superior izquierda, son coeficientes de componentes de baja frecuencia. Cuando los coeficientes estan ubicados en la esquina inferior derecha, son coeficientes de componentes de alta frecuencia. Por lo tanto, el escaneo de zigzag resulta en un vector donde normalmente los ultimos valores son consecutivamente una pluralidad de unos o ceros. Esto permite una codificacion eficiente que usa codigos de longitud de secuencia como parte de/antes de la codificacion de entropfa real.
Una AVC de H.264/MPEG-4 y una HEVC usan diferentes tipos de codificacion de entropfa. Aunque algunos elementos de sintaxis con codificados con longitud fija, la mayona de los elementos de sintaxis son codificados con codigos de longitud variable. En particular, entre las sintaxis, los codigos de longitud variable de contexto adaptativo (CABAC) se usan para la codificacion de senales de error de prediccion (senales residuales de prediccion). Generalmente, otros varios codigos enteros diferentes de los codigos de longitud variable de contexto adaptativo se usan para la codificacion de otros elementos de sintaxis. Sin embargo, se puede usar la codificacion aritmetica binaria de contexto adaptativo.
Los codigos de longitud variable permiten una compresion sin perdidas del flujo de bits codificado. Sin embargo, dado que las palabras clave tienen longitud variable, la decodificacion se debe realizar secuencialmente en las palabras clave. En otras palabras, no es posible codificar o decodificar palabras clave antes de codificar o decodificar las palabras clave anteriores sin reiniciar (inicializar) el codificador de entropfa o sin indicar por separado una posicion de la palabra clave (punto de inicio) por donde empezar cuando se decodifica.
La codificacion aritmetica codifica una secuencia de bits en una unica palabra clave basandose en un modelo de probabilidad predeterminado. El modelo de probabilidad predeterminad se determina segun el contenido de la secuencia de video en el caso de CABAC. La codificacion aritmetica, y asf tambien CABAC, son mas eficientes cuando la longitud del flujo de bits a ser codificado es mas grande. En otras palabras, CABAC aplicado a secuencias de bits es eficiente para bloques mas grandes. En el principio de cada secuencia, se reinicia CABAC. En otras palabras, en el principio de cada secuencia de video, su modelo de probabilidad es inicializado con algunos valores predefinidos o predeterminados.
El codificador 109 de entropfa transmite, a un lado del decodificador, un flujo de bits que incluye coeficientes cuantificados codificados (senales de video codificadas) e informacion auxiliar codificada.
El H.264/MPEG-4 y AVC de H.264/MPEG-4 asf como la HEVC incluyen dos capas funcionales, una Capa de Codificacion de Video (VCL) y una Capa de Abstraccion de Red (NAL). La VCL proporciona la funcionalidad de codificacion como se describio anteriormente. La NAL encapsula elementos de informacion en unidades estandarizadas llamadas unidades de la NAL segun otra aplicacion tal como transmision sobre un canal o almacenamiento en un dispositivo de almacenamiento. Los elementos de informacion encapsulados por la NAL son, por ejemplo, (1) la senal de error de prediccion codificada (datos de video comprimidos) u (2) otra informacion necesaria para la decodificacion de la senal de video tal como tipo de prediccion, parametro de cuantificacion, vectores de movimiento, etc. Hay unidades de la NAL de la VCL que contienen los datos de video comprimidos y la informacion relacionada, asf como unidades no VCL que encapsulan datos adicionales tales como conjunto de parametros referentes a una secuencia de video completa, o una Informacion de Mejora Suplementaria (SEI) que proporciona informacion adicional que se puede usar para mejorar el rendimiento de decodificacion.
Algunas unidades de la NAL no VCL incluyen, por ejemplo, conjuntos de parametros. Un conjunto de parametros es un conjunto de parametros referentes a la codificacion y decodificacion de una cierta porcion de la secuencia de video. Por ejemplo, hay un conjunto de parametros de secuencia (SPS) que incluye parametros relevantes para la codificacion y decodificacion de la secuencia de imagenes completa. En particular, el conjunto de parametros de secuencia es una estructura de sintaxis que incluye elementos de sintaxis. En particular, los elementos de sintaxis se aplican a ninguna o mas secuencias de video codificadas completas como se determina por el contenido de un
5
10
15
20
25
30
35
40
45
50
55
id_conjunto_parametros_sec. El id_conjunto_parametros_sec es un elemento de sintaxis incluido en el conjunto de parametros de imagen (descrito anteriormente) referido por el id_conjunto_parametrosjmg. El id_conjunto_parametros_img es un elemento de sintaxis incluido en cada cabecera de porcion.
El conjunto de parametros de imagen (PPS) es un conjunto de parametros que definen parametros aplicados a la codificacion y decodificacion de una imagen de secuencia de imagenes (secuencia de video). En particular, el PPS es una estructura de sintaxis que incluye elementos de sintaxis. Los elementos de sintaxis se aplican a ninguna o mas imagenes codificadas completas como se determina por el id_conjunto_parametros_img que es un elemento de sintaxis que se encuentra en cada cabecera de porcion.
En consecuencia, es mas simple seguir la pista de un SPS que del PPS. Esto es porque el PPS cambia para cada imagen, mientras que el SPS es constante para la secuencia de video completa que puede ser de una duracion de minutos u horas.
El codificador 100 incluye una unidad de reconstruccion (asf llamada unidad de decodificacion) que deriva una senal s3 reconstruida (asf llamada una senal decodificada). Mediante la unidad de reconstruccion, una imagen reconstruida obtenida mediante la reconstruccion (decodificacion) de la imagen codificada se genera y se almacena en la memoria 170 de trama.
La unidad de reconstruccion incluye la unidad 130 de transformacion inversa, el sumador 140, el filtro 150 deconstructor de bloques, y el filtro 160 de bucle adaptativo.
La unidad 130 de transformacion inversa, segun los pasos de codificacion descritos anteriormente, realiza la cuantificacion inversa y la transformacion inversa. Se debena notar que la senal e' de error de prediccion derivada de la unidad 130 de transformacion inversa es diferente de la senal e de error de prediccion debida al error de cuantificacion, llamado tambien ruido de cuantificacion.
El sumador 140 deriva una senal s' reconstruida mediante la suma de una senal e' de error de prediccion reconstruida reconstruida mediante la unidad 130 de transformacion inversa a una senal s2 de prediccion.
El filtro 150 deconstructor de bloques realiza el procesamiento de filtrado de deconstruccion de bloques para reducir el ruido de cuantificacion que se superpone a la senal s' reconstruida debido a la cuantificacion. Aqm, dado que los pasos de codificacion descritos anteriormente se realizan sobre una base por bloque, hay un caso donde una frontera de bloque es visible cuando el ruido se superpone (caractensticas de bloque del ruido). El ruido superpuesto se llama ruido de bloque. En particular, cuando se realiza una cuantificacion fuerte mediante la unidad 120 de cuantificacion, hay mas fronteras de bloques visibles en la imagen reconstruida (imagen decodificada). Tal ruido de bloque tiene un efecto negativo sobre la percepcion visual humana, lo que significa que una persona siente que la calidad de la imagen esta deteriorada. Para reducir el ruido de bloque, el filtro 150 deconstructor de bloques realiza el procesamiento de filtrado de deconstruccion de bloques en cada senal s' reconstruida (bloque reconstruido).
Por ejemplo, en el procesamiento de filtrado de deconstruccion de bloques de AVC de H.264/MPEG-4, para cada area, se selecciona un procesamiento de filtrado adecuado para el area. En el caso de un grado alto de ruido de bloque, se aplica un filtro paso bajo (de banda estrecha) fuerte, mientras que para un grado bajo de ruido de bloque, se aplica un filtro paso bajo (de banda ancha) mas debil. La fuerza del filtro paso bajo se determina por la senal e2 de prediccion y por la senal e' de error de prediccion. El procesamiento de filtrado de deconstruccion de bloques generalmente suaviza los bordes de los bloques. Esto lleva a una calidad de imagen subjetiva mejorada de las senales decodificadas. La imagen filtrada se usa para la prediccion de compensacion de movimiento de la siguiente imagen. Dado que el procesamiento de filtrado tambien reduce los errores de prediccion, se puede mejorar la eficiencia de codificacion.
El filtro 160 de bucle adaptativo aplica un procesamiento de compensacion adaptativo de muestra (SAO) y/o un procesamiento de filtrado de bucle adaptativo (ALF) a la imagen s'' reconstruida tras el procesamiento de filtrado de deconstruccion de bloques en el filtro 150 deconstructor de bloques, para derivar una senal s3 reconstruida (senal decodificada).
El procesamiento de filtrado de deconstruccion de bloques en el filtro 150 deconstructor de bloques pretende mejorar la calidad subjetiva. Mientras tanto, el procesamiento ALF y el procesamiento SAO en el filtro 160 de bucle adaptativo pretenden mejorar la fidelidad de pixel sabio (calidad “objetiva”). El procesamiento SAO se usa para anadir un valor de compensacion a un valor de pixel para cada pixel que usa un valor de pixel de los pfxeles inmediatamente vecinos. El procesamiento ALF se usa para compensar la distorsion de la imagen causada por la compresion. Normalmente, el filtro usado en el procesamiento ALF es un filtro de Wiener con coeficientes del filtro determinados de forma que el error cuadratico medio (MSE) entre la senal s' reconstruida y la senal s1 de entrada se minimice. Los coeficientes del filtro del procesamiento ALF se calculan y transmiten sobre una base trama a trama, por ejemplo. El procesamiento ALF se puede aplicar a la trama (imagen) completa o a areas locales (bloques). La informacion auxiliar que indica que areas han de ser filtradas se puede transmitir sobre una base bloque a bloque, una base trama a trama, o una base arbol cuaternario a arbol cuaternario.
5
10
15
20
25
30
35
40
45
50
La memoria 170 de trama (memoria intermedia de trama) almacena parte de la imagen (senal s3 reconstruida) codificada y reconstruida (decodificada). La imagen reconstruida almacenada se usa para decodificar un bloque codificado entre.
La unidad 180 de prediccion deriva una senal s2 de prediccion usando la (misma) senal que se puede usar tanto en la parte codificadora como en la parte decodificadora, para mantener la compatibilidad entre la parte codificadora y la parte decodificadora. La senal que se puede usar tanto en la parte codificadora como en la parte decodificadora es una senal s3 reconstruida (senal de video tras el procesamiento de filtrado mediante el filtro 160 de bucle adaptativo) en la parte codificadora que es codificada y luego reconstruida (decodificada), y una senal s4 reconstruida (senal de video tras el procesamiento de filtrado mediante el filtro de bucle adaptativo en la FIG. 2) en la parte decodificadora que es decodificada desde un flujo de bits.
La unidad 180 de prediccion, cuando genera una senal s2 de prediccion mediante la codificacion entre, predice usando la prediccion de compensacion de movimiento. Un estimador de movimiento de la unidad 180 de prediccion (no ilustrado) encuentra el bloque que mejor se corresponde para el bloque actual de entre los bloques en las tramas de video previamente codificadas y reconstruidas. El bloque que mejor se corresponde entonces se convierte en una senal de prediccion. El desplazamiento (movimiento) relativo entre el bloque actual y el bloque que mejor se corresponde es entonces senalado como datos de movimiento incluidos en la informacion auxiliar en la forma de vectores de movimiento de tres dimensiones. La senal se transmite junto con los datos de video codificados. El vector de movimiento de tres dimensiones incluye dos vectores de movimiento de dos dimensiones espaciales y un vector de movimiento de una dimension temporal. Para optimizar la precision de la prediccion, los vectores de movimiento pueden determinarse con una resolucion de sub-pfxel espacial, por ejemplo, resolucion de medio pixel o de un cuarto de pixel. Un vector de movimiento con resolucion de sub-pfxel espacial puede apuntar a una posicion espacial en una trama ya reconstruida donde no hay disponible un valor de pixel real, esto es, una posicion de sub- pfxel. Por lo tanto, se necesita la interpolacion espacial de tales valores de pixel para realizar la prediccion compensada de movimiento. Esto se puede lograr mediante un filtro de interpolacion (integrado en la unidad 180 de prediccion en la FIG. 1).
[1-3. Configuracion de un aparato decodificador de imagen]
Se describira una configuracion de un decodificador (aparato decodificador de imagen) con referencia a la FIG. 2.
La FIG. 2 es un diagrama de bloques que muestra un ejemplo de un decodificador 200 segun AVC H.264/MPEG-4 o el estandar de codificacion de video hEvC.
Como se muestra en la FIG. 2, el decodificador 200 incluye un decodificador 290 de entropfa, una unidad 230 de transformacion inversa, un sumador 240, un filtro 250 deconstructor de bloques, un filtro 260 de bucle adaptativo, una memoria 270 de trama, y una unidad 280 de prediccion.
Un flujo de bits introducido al decodificador 200 (senal de video codificada) se transmite primero al decodificador 290 de entropfa.
El decodificador 290 de entropfa extrae los coeficientes cuantificados codificados del flujo de bits y la informacion auxiliar codificada, y decodifica los coeficientes cuantificados codificados y la informacion auxiliar codificada. La informacion auxiliar, como se describio anteriormente, es informacion necesaria para decodificar datos de movimiento (vector de movimiento) y modo de prediccion (tipo de prediccion).
El decodificador 290 de entropfa transforma los coeficientes cuantificados decodificados en un vector de una dimension en aquellos en un vector de dos dimensiones mediante el escaneo inverso. El decodificador 290 de entropfa introduce, en la unidad 230 de transformacion inversa, los coeficientes cuantificados tras transformarlos en aquellos en un vector de dos dimensiones.
La unidad 230 de transformacion inversa realiza la cuantificacion inversa y la transformacion inversa en los coeficientes cuantificados transformados en aquellos en un vector de dos dimensiones, para derivar una senal e' de error de prediccion. La senal e' de error de prediccion se corresponde con las diferencias obtenidas mediante la sustraccion de la senal de prediccion de la senal de entrada al codificador en el caso de no introducir ruido de cuantificacion y de que no ocurran errores.
La unidad 280 de prediccion dirige una senal s2 de prediccion mediante la prediccion temporal o la prediccion espacial. La informacion tal como tipo de prediccion incluida en la informacion auxiliar se usa en el caso de prediccion intra (prediccion espacial). Ademas, la informacion tal como datos de movimiento incluida en la informacion auxiliar se usa en el caso de prediccion compensada de movimiento (prediccion entre, prediccion temporal).
El sumador 240 suma una senal e' de error de prediccion obtenida de la unidad 230 de transformacion inversa y una senal e2 de senal de prediccion obtenida de una unidad 280 de prediccion, para derivar una senal s' reconstruida.
5
10
15
20
25
30
35
40
45
50
55
El filtro 250 deconstructor de bloques realiza un procesamiento de filtrado de deconstruccion de bloques en una senal s' reconstruida. El filtro 260 de bucle adaptativo aplica el procesamiento SAO y el procesamiento ALF a la senal s'' reconstruida para la cual el procesamiento de filtrado de deconstruccion de bloques se aplica mediante el filtro 250 deconstructor de bloques. Una senal S4 decodificada obtenida de la aplicacion del procesamiento SAO y el procesamiento ALF en el filtro 260 de bucle adaptativo se almacena en la memoria 270 de trama. La senal S4 decodificada almacenada en la memoria 270 de trama se usa, en la unidad 280 de prediccion, para predecir el siguiente bloque actual a ser decodificado o la imagen actual a ser codificada.
[1-4. Eficiencia del procesamiento]
Generalmente, se considera la paralelizacion de procesamientos para mejorar la eficiencia de procesamiento del procesamiento de codificacion y el procesamiento de decodificacion.
Comparado con AVC H.264/MPEG-4, HEVC tiene una funcion de soportar un procesamiento paralelo de alto nivel (procesamiento de paralelizacion) de la codificacion y la decodificacion. En HEVC, es posible dividir una trama en porciones, de forma similar a AVC H.264/MPEG-4. Aqm, las porciones son grupos de LCU en el orden de escaneo. En AVC H.264/MPEG-4, las porciones son decodificables de manera independiente, y no se aplica prediccion espacial entre las porciones. Por lo tanto, el procesamiento paralelo se puede realizar sobre una base porcion a porcion.
Sin embargo, dado que las porciones poseen cabeceras significativamente grandes y hay falta de dependencia entre las porciones, se reduce la eficiencia de la compresion. Ademas, la codificacion CABAC pierde eficiencia cuando se aplica a bloques de datos pequenos.
Para permitir un procesamiento paralelo mas eficiente, se propone el procesamiento paralelo de frente de onda (WPP). El WPP mantiene una dependencia constante que es diferente del procesamiento paralelo en el cual cada una de las porciones es independiente.
La siguiente descripcion se hara refiriendose al caso donde una imagen comprende las LCU cada uno en los cuales las imagenes se disponen en una matriz y cada fila de LCU comprende una porcion (consulte la FIG. 3). En el WPP, entre las LCU que comprenden la fila 32 de la LCU actual, como el modelo de probabilidad de CABAC para resetear el estado de CABAC de la primera LCU (cabeza de la LCU), se usa el modelo de probabilidad de CABAC justo despues de que el procesamiento de la segunda LCU de la fila 31 de la LCU anterior se complete. Se mantienen todas las dependencias entre bloques. Esto permite la paralelizacion de decodificacion de las filas de la LCU. La temporizacion para iniciar el procesamiento de cada fila de la LCU se retrasa por dos LCU con respecto a la anterior. La informacion sobre los puntos de inicio para iniciar la decodificacion de fila de la LCU se incluye en la cabecera de porcion. El WPP se describe en detalle en el Documento no patente 1.
Otro enfoque para mejorar la paralelizacion se llama tejas. En consecuencia, una trama (imagen) se particiona en tejas. Las tejas son grupos rectangulares de LCU. Las fronteras entre las tejas se establecen tal que la imagen completa se particiona en una matriz. Las tejas se procesan en el orden de escaneo mas rapido.
Todas las dependencias se rompen en las fronteras de las tejas. La codificacion de entropfa tal como CABAC tambien se resetea al inicio de cada teja. Solo el procesamiento de filtrado de deconstruccion de bloques y el procesamiento de compensacion adaptativo de muestra se pueden aplicar sobre las fronteras de las tejas. Asf, las tejas se pueden codificar y decodificar en paralelo. Las tejas se describen en detalle en el Documento no patente 2 y el Documento no patente 3.
Ademas, para mejorar el concepto de porciones y hacerlo adecuado para la paralelizacion mas que para resistencia a errores que era el proposito original de las porciones en AVC H.264/MPEG-4, se ha propuesto el concepto de porciones dependientes y porciones de entropfa.
En otras palabras, en HEVC, hay tres tipos de porciones soportadas: (1) porciones normales; (2) porciones de entropfa; y (3) porciones dependientes.
Las porciones normales denotan porciones ya conocidas de AVC H.264/MPEG-4. Se permite la prediccion espacial entre porciones normales. En otras palabras, no se permite la prediccion sobre las fronteras de las porciones. Esto significa que una porcion normal se codifica sin referirse a cualquier otra porcion. Para permitir decodificacion independiente en tales porciones, se reinicia el CABAC al inicio de cada porcion.
Cuando la porcion a ser procesada es una porcion normal, el reinicio del CABAC incluye el procesamiento de finalizacion (procesamiento de terminacion) procesamiento de codificacion aritmetica o procesamiento de decodificacion aritmetica en el final de la porcion precedente, y el procesamiento de inicializar la tabla de contexto (tabla de probabilidad) a un valor por defecto al inicio de la porcion normal.
Las porciones normales se usan al inicio de cada trama. En otras palabras, cada trama tiene que empezar con una porcion normal. Una porcion normal tiene una cabecera que incluye los parametros necesarios para decodificar los datos de porcion.
5
10
15
20
25
30
35
40
45
50
55
El termino “porciones de entrc^a” denota porciones en las cuales se permite la prediccion espacial entre la porcion padre y la porcion de entropfa. El analisis de la porcion padre y la porcion de entropfa se realiza de manera independiente.
Sin embargo, la porcion padre es, por ejemplo, una porcion normal justo antes de la porcion de entropfa. La porcion padre se requiere para la reconstruccion de los valores de pfxeles de la porcion de entropfa. Para permitir el analisis de manera independiente de las porciones de entropfa, el CABAC tambien se reinicia al inicio de la porcion. Como la cabecera de porcion de las porciones de entropfa, es posible usar una cabecera de porcion que sea mas corta que la cabecera de porcion de la porcion normal. Los elementos que faltan en la cabecera de porcion de entropfa se copian de la cabecera de porcion padre.
Cuando la porcion a ser procesada es una porcion de entropfa, el reinicio del CABAC, de manera similar a la porcion normal, incluye un procesamiento de finalizacion (procesamiento de terminacion) en el final de la porcion precedente, y un procesamiento de inicializacion de la tabla de contexto (tabla de probabilidad) a un valor por defecto al inicio de la porcion actual.
(3) La porcion dependiente es similar a una porcion de entropfa, pero es parcialmente diferente en el procesamiento en el cual el CABAC se reinicia.
Cuando la porcion a ser procesada es una porcion dependiente y el WPP no es efectivo, el reinicio del CABAC incluye un procesamiento de finalizacion en la porcion precedente (procesamiento de terminacion) y un procesamiento de inicializacion de la tabla de contexto a un valor de estado del fin de la porcion precedente. Cuando la porcion a ser procesada es una porcion dependiente y el WPP no es efectivo, el reinicio del CABAC incluye un procesamiento de finalizacion en la porcion precedente (procesamiento de terminacion) y un procesamiento de inicializacion de la tabla de contexto a un valor de estado tras el procesamiento de la LCU que pertenece a la porcion precedente y es el segundo por el final de la izquierda y el inicio de la porcion actual.
Como se describio anteriormente, el reinicio del CABAC siempre incluye el procesamiento de terminacion. A la inversa, en el reinicio del CABAC, el estado del CABAC normalmente se retrasa.
Las porciones dependientes no se pueden analizar sin una porcion padre. Por lo tanto, las porciones dependientes no se pueden decodificar cuando no se recibe la porcion padre. La porcion padre normalmente es una porcion precedente de las porciones dependientes en un orden de codificacion, y una porcion que incluye una cabecera de porcion completa. Esto es lo mismo para la porcion padre de la porcion de entropfa.
Como se describio anteriormente, las porciones dependientes y de entropfa usan la cabecera de porcion (en particular, la informacion de la cabecera de porcion que falta en la cabecera de porcion dependiente) de la porcion inmediatamente precedente segun el orden de codificacion de las porciones. Esta regla se aplica recursivamente. La porcion padre de la que depende la porcion dependiente actual se reconoce como disponible para referencia. La referencia incluye el uso de prediccion espacial entre las porciones, compartir los estados del CABAC, y similares. Una porcion dependiente usa las tablas de contexto del CABAC que se generan al final de la porcion inmediatamente precedente. Asf, una porcion dependiente no inicializa las tablas del CABAC a los valores por defecto, pero, en cambio sigue usando las tablas de contexto ya desarrolladas. Se pueden encontrar mas detalles respecto a las porciones de entropfa y dependientes en el Documento no patente 3.
La HEVC proporciona varios perfiles. Un perfil incluye algunas configuraciones del aparato de codificacion de imagen y del aparato de decodificacion de imagen adecuadas para una aplicacion particular. Por ejemplo, el “perfil principal” solo incluye porciones normales y dependientes, pero no porciones de entropfa.
Como se describio anteriormente, las porciones codificadas se encapsulan en unidades de la NAL, que ademas son encapsuladas, por ejemplo, en un Protocolo de Tiempo Real (RTP) y finalmente en paquetes del Protocolo de Internet (IP). Bien esta, u otras pilas de protocolos, permiten transmitir el video codificado en redes orientadas a paquetes, tal como Internet o algunas redes propietarias.
Las redes normalmente incluyen al menos uno o mas enrutadores, que emplean hardware espacial que opera muy rapido. La funcion del enrutador es recibir paquetes IP, analizar las cabeceras de los paquetes IP y, en consecuencia, remitir los paquetes IP a sus destinos respectivos. Dado que los enrutadores necesitan manejar trafico desde muchas fuentes, la logica de manejo de paquetes necesita ser tan simple como sea posible. El requisito mmimo para el enrutador es comprobar el campo de direccion de destino en la cabecera IP para determinar que ruta tomar para remitirlos. Para proporcionar mas soporte para la calidad de servicio (QoS), los enrutadores inteligentes (consciente del medio) comprueban adicionalmente campos especializados en las cabeceras del protocolo de red, tal como cabecera IP, cabecera RTP, e incluso la cabecera de una NALU.
Como se puede ver por la descripcion anterior de la codificacion de video, los diferentes tipos de porciones definidas con el proposito de procesamiento paralelo, tal como porciones dependientes y porciones de entropfa, son de importancia diferente con respecto a la distorsion de calidad sobre su dano. En particular, las porciones dependientes no pueden analizarse y decodificarse sin una porcion padre. Esto es porque al inicio de la porcion
5
10
15
20
25
30
35
40
45
50
55
dependiente, el codificador o decodificador de entrc^a no puede reiniciarse. En consecuencia, la porcion padre es mas importante para la reconstruccion de la imagen o el video.
En HEVC, las porciones dependientes y de entropfa introducen una dimension adicional de dependencia, a saber, la dependencia entre porciones (una dependencia dentro de la trama). Este tipo de dependencia no es considerada por los enrutadores.
Las dependencias descritas anteriormente y, en particular, la dependencia entre porciones no es considerada a nivel de red. Sin embargo, sena deseable tener la dependencia descrita anteriormente en cuenta en el nivel de red para proporcionar un mejor soporte para la calidad de servicio. En consecuencia, es necesario mejorar la flexibilidad del manejo de paquetes en el nivel de red mediante la consideracion de las dependencias de las porciones.
(Detalles del problema)
[1-5. WPP y porciones dependientes]
Las porciones dependientes se pueden usar junto a las herramientas de procesamiento paralelo tales como procesamiento paralelo de frente de onda (WPP) y tejas. En particular, las porciones dependientes hacen que el frente de onda (sub flujo) sea capaz de reducir el retardo de transmision sin causar perdida de codificacion.
Ademas, las porciones dependientes sirven como puntos de inicio para los sub flujos de CABAC dado que CABAC no se reinicia en las porciones dependientes. Ademas, la informacion que indica los puntos de inicio puede transmitirse en el flujo de bits para proporcionar los puntos de inicio para un posible analisis independiente. En particular, si mas de dos sub flujos CABAC son encapsulados en una porcion normal o dependiente, los puntos de inicio son senalados explfcitamente en la forma del numero de bytes por sub flujo. Aqm, el sub flujo denota una porcion de un flujo que es analizable independientemente gracias a los puntos de inicio. Adicionalmente, las porciones dependientes se pueden usar como puntos de inicio “marcadores”, dado que cada porcion dependiente necesita tener una cabecera de unidad de la NAL. Esto significa que los puntos de inicio se pueden senalizar con respecto a dichos marcadores.
Los dos enfoques, a saber la senalizacion de punto de inicio explfcito y el marcado de los puntos de inicio a traves de porciones dependientes se usan conjuntamente.
Como una regla, el punto de inicio de cada unidad de la NAL (inicio de cada cabecera NAL) tiene que ser identificable. No hay requisito sobre la operacion de identificacion exacta. Por ejemplo, se pueden aplicar los dos siguientes metodos.
El primer metodo es un metodo de poner un codigo de inicio (por ejemplo, de 3 bytes de longitud) al inicio de cada cabecera NAL. El segundo metodo es un metodo de poner cada unidad de la NAL en un paquete diferente. Debido a la dependencia de las porciones, el tamano de la cabecera de porcion se puede reducir.
En cuanto a las porciones de entropfa, el metodo permite analisis del CABAC en paralelo. Esto es porque el CABAC es verdaderamente reiniciado al inicio de cada porcion de entropfa. En el caso de procesamiento paralelo del CABAC, CABAC representa un cuello de botella que puede superarse mediante el analisis del CABAC en paralelo seguido de una operacion de reconstruccion de pixel secuencial. En particular, la herramienta de paralelizacion del WPP permite decodificar cada fila de la LCU por un nucleo de procesamiento (codigo de propiedad intelectual (nucleo de IP), un bloque de funcion). Se debena notar que la asignacion de las filas de las LCU a los nucleos puede ser diferente. Por ejemplo, dos filas pueden ser asignadas a un nucleo, y una fila puede ser asignada a dos nucleos.
La FIG. 3 es un diagrama que muestra un ejemplo de una configuracion de una imagen 300. En la FIG. 3, una imagen 300 se subdivide en 31 a 3m (m es el numero ordinal de la LCU) filas de unidades de codificacion mas grandes (LCU). Cada una de las filas 3i (I = 1 a m) de la LCU comprende las LCU 3i1 a 3in (n es el numero ordinal de columna de LCU) que se disponen en una fila. La fila 3i de la LCU se corresponde con el “Frente de onda i”. El procesamiento paralelo se puede realizar para los frentes de onda. La flecha del estado del CABAC en la FIG. 3 denota una relacion entre la LCU que se refiere al estado del CABAC y el destino de referencia.
Espedficamente, en la FIG. 3, primero, entre las LCU incluidas en la fila 31 de la LCU, el procesamiento (codificacion o decodificacion) empieza para la cabeza de la LCU 311. El procesamiento de las LCU se realiza en un orden desde la LCU 311 a la 31n. Tras realizar el procesamiento en las dos primeras LCU 311 y 312 en la fila 31 de la LCU, empieza el procesamiento en la fila 32 de la LCU. En el procesamiento de la primera fila 321 de la LCU de la columna 32 de la lCu, como se muestra en la flecha del estado del CABAC en la FIG. 3, el estado del CABAC justo antes del procesamiento en la LCU 312 en la fila 31 de la LCU en la primera fila se usa como el estado inicial del estado del CABAC. En otras palabras, hay un retraso de dos LCU entre los dos procesamientos paralelos.
La FIG. 4 es un diagrama que muestra un ejemplo del caso donde se usa una porcion dependiente que usa WPP. Las filas 41 a 43 de la LCU se corresponden con los “Frente de onda 1”, “Frente de onda 2” y “Frente de onda 3”, respectivamente. Las filas 41 a 43 de la LCU son procesadas por sus nucleos independientes respectivos. En la FIG. 4, la fila 41 de la LCU es una porcion normal, y las filas 42 a 4m de la LCU son porciones dependientes.
5
10
15
20
25
30
35
40
45
50
55
Las porciones dependientes hacen que el WPP sea capaz de reducir el retraso. Las porciones dependientes tienen una cabecera de porcion no completa. Ademas, las porciones dependientes se pueden decodificar independientemente de las otras porciones mientras los puntos de inicio (o el punto de inicio de las porciones dependientes, que es conocido como regla como se describio anteriormente) sean conocidos. En particular, las porciones dependientes pueden hacer que el WPP sea adecuado tambien para aplicaciones de bajo retardo sin incurrir en perdidas de codificacion.
En el caso habitual de encapsulamiento de los sub flujos (filas de la LCU) en porciones, es obligatorio insertar los puntos de inicio explfcitos en la cabecera de porcion para asegurar la codificacion y decodificacion de entropfa paralela. Como resultado una porcion esta lista para la transmision solo despues de que el ultimo sub flujo de la porcion haya sido codificado completamente. La cabecera de porcion esta completa solo despues de que se haya completado la codificacion de todos los sub flujos en la porcion. Esto significa que la transmision de los inicios de una porcion no se puede empezar a traves de la fragmentacion de paquetes en la capa RTP/IP hasta que la porcion completa haya terminado.
Sin embargo dado que las porciones dependientes se pueden usar como marcadores de puntos de inicio, no se requiere la senalizacion de puntos de inicio explfcita. Por lo tanto, es posible dividir una porcion normal en muchas porciones dependientes sin perdida de codificacion. Las porciones dependientes se pueden transmitir tan pronto como se haya completado la codificacion del sub flujo encapsulado (o incluso antes en el caso de fragmentacion de paquetes).
Las porciones dependientes no rompen la dependencia de prediccion espacial. Las porciones dependientes ni siquiera rompen la dependencia de analisis. Esto es porque ordinariamente el analisis de la porcion dependiente actual requiere el estado del CABAC de la porcion anterior.
Cuando las porciones dependientes no se permiten, entonces cada fila de la LCU puede ser configurada para ser una porcion. Tal configuracion baja el retraso de transmision, pero al mismo tiempo, lleva a una perdida de codificacion bastante alta como se comento en la seccion de Antecedentes anterior.
Alternativamente, la trama completa (imagen) se encapsula en una unica porcion. En este caso, los puntos de inicio para los sub flujos (filas de la LCU) necesitan ser senalados en la cabecera de porcion para permitir su analisis paralelo. Como resultado, hay un retraso de transmision en el nivel de trama. En otras palabras, la cabecera necesita ser modificada despues de que la trama completa sea codificada. Tener una imagen completa encapsulada en una unica porcion por sf mismo no incrementa el tiempo de retraso. Por ejemplo, la transmision de algunas partes de la porcion puede empezar antes de que termine la codificacion completa. Sin embargo, si se usa el WPP, entonces la cabecera de porcion necesita ser modificada despues para escribir los puntos de inicio. Por lo tanto, la porcion completa necesita ser retrasada para la transmision.
El uso de porciones dependientes asf permite una reduccion del retraso. Como se muestra en la FIG. 4, una imagen 400 se divide en una fila 41 de la LCU que es una porcion normal, y las filas 42 a 4m de la LCU que son porciones dependientes. Cuando cada fila de la LCU es una porcion dependiente, se puede lograr un retardo de transmision de una fila de la LCU sin perdidas de codificacion. Esto es causado por el hecho de que las porciones dependientes no rompen ninguna dependencia espacial y no reinician el motor del CABAC.
[1-6. Configuracion de paquete]
Como se describio anteriormente, los enrutadores de red tienen que analizar las cabeceras de los paquetes para permitir proporcionar calidad de servicio. La calidad de servicio es diferente segun el tipo de aplicacion y/o prioridad del servicio y/o de la relevancia de los paquetes para la distorsion causada por su perdida de paquetes.
La FIG. 5 es un diagrama que muestra un ejemplo de una encapsulacion (paquetizacion) de un flujo de bits.
Generalmente, el protocolo de tiempo real (RTP) se usa para la paquetizacion. El RTP es generalmente usado para la transmision de medios en tiempo real. Las longitudes de las cabeceras de los respectivos protocolos involucrados son basicamente fijas. Las cabeceras de protocolos tienen campos de extension. Los campos de extension pueden extender la longitud de las cabeceras en 4 bytes. Por ejemplo, la cabecera IP se puede extender hasta 20 bytes. Los elementos de sintaxis en las cabeceras IP, Protocolo de Datagrama de Usuario (UDP) y RTP tambien son fijas en su longitud.
La FIG. 5 muestra una cabecera 500 de paquete incluida en un paquete IP. La cabecera de paquete mostrada en la FIG. 5 incluye una cabecera 510 IP, una cabecera 530 UDP, una cabecera 540 RTP, una cabecera 560 de carga de H264 RTP, y una cabecera 570 NAL. La cabecera 510 IP es una cabecera con una longitud de 20 bytes con un campo 520 de extension de 4 bytes. La carga del paquete IP es un paquete UDP. El paquete UDP incluye una cabecera 530 UDP con una longitud de 8 bytes y la carga UDP. La carga UDP esta formada por el paquete RTP. El paquete RTP incluye una cabecera 540 RTP con una longitud de cabecera de 12 bytes y un campo 550 de extension de 4 bytes. El paquete RTP se puede extender selectivamente mediante el campo de extension. La carga del paquete RTP incluye una cabecera 560 de carga H264 RTP especial con una longitud de 0 a 3 bytes seguida por
una cabecera 570 NAL de la HEVC cuya longitud es de 2 bytes. La carga de la NALU que incluye el paquete de video codificado sigue a las cabeceras 500 del paquete (no mostrada en la FIG. 5).
Los enrutadores que son capaces de proporcionar una calidad de servicio mejorada se Hainan Elementos de Red Conscientes del Medio (MANE). Los Elementos de Red Conscientes del Medio comprueban algunos de los campos 5 de las cabeceras del paquete mostradas en la FIG. 5. Por ejemplo, MANE se llama “id_temporal” e incluida en la cabecera 570 NAL o el numero de orden de decodificacion incluido en la cabecera 540 RTP puede comprobarse para detectar perdidas y el orden de presentacion de contenidos de paquetes recibidos. Los enrutadores (elementos de red) manejan los paquetes tan rapido como les es posible para permitir un alto rendimiento en la red. La logica se requiere para acceder a los campos en las cabeceras del paquete de manera rapida y simple, para mantener la 10 complejidad del procesamiento del elemento de red baja.
La NALU es encapsulada por la cabecera 500. La NALU puede incluir datos de porcion cuando hay presente una cabecera de porcion.
La FIG. 6 es un diagrama que muestra un ejemplo de una sintaxis 600 de cabecera de porcion. El elemento de sintaxis bandera_porcion_dependiente 601 es un elemento de sintaxis que indica si una porcion es una porcion 15 dependiente o no. Este elemento de sintaxis se puede usar para identificar la dependencia entre porciones. Sin
embargo, la cabecera de porcion es el contenido de una NALU. El analisis de los elementos de sintaxis antes de la bandera_porcion_dependiente 601 requiere una logica bastante complicada. Este es un nivel que no puede ser eficientemente considerado por los enrutadores ordinarios como se mostrara a continuacion.
Como se describio anteriormente, una NALU incluye informacion comun para una pluralidad de porciones tales 20 como conjuntos de parametros, o incluye porciones directamente codificadas con informacion necesaria para la
decodificacion incluida en la cabecera de porcion. La sintaxis de una cabecera de porcion usada para una porcion de entropfa o dependiente se ejemplifica en la FIG. 6. La FIG. 6 muestra una tabla con una estructura de cabecera de porcion. Cuando el elemento de sintaxis “bandera_porcion_dependiente” se establece a 1, se requieren todas las porciones hasta la primera porcion normal (una porcion que no es una porcion de entropfa ni una porcion 25 dependiente) anteriores a la porcion actual en el orden de decodificacion. Cuando las porciones no son decodificadas, en general, la porcion dependiente actual no puede ser decodificada. En algunos casos especiales, por ejemplo, la porcion dependiente puede ser decodificable cuando hay disponible alguna otra informacion lateral senalada o derivada. El elemento de sintaxis bandera_porcion_dependiente 601 se incluye aproximadamente en la mitad de la cabecera de porcion. Ademas, la cabecera de porcion incluye el numero de sub flujos del CABAC en la 30 porcion actual senalada por el elemento de informacion compensacion_punto_entrada_num 602 y el numero de bytes en un sub flujo senalado por el elemento de sintaxis compensacion_punto_entrada [i] 603. Aqrn, el elemento de informacion compensacion_punto_entrada_num 602 se corresponde con el numero de puntos de entradas. Ademas, i es un entero y un rndice que denota los puntos de entrada particulares (compensaciones de los puntos de entrada). El numero de bytes en un sub flujo denotado por compensacion_punto_entrada [i] 603 permite una facil 35 navegacion en el flujo de bits.
[1-7. Dependencia de imagen]
Como de describio anteriormente, hay varios tipos de dependencias resultantes del enfoque de codificacion HEVC.
La FIG. 7 es un diagrama que muestra las dependencias y su senalizacion en el caso en el que solo se usan porciones normales, esto es, no porciones dependientes ni de entropfa. La FIG. 7 muestra tres imagenes 710, 720 y 40 730.
La imagen 710 es una imagen de capa base llevada en dos NALU de la VCL, a saber Unidad 1 de la NAL de la VCL y Unidad 2 de la NAL de la VCL. POC indica el orden en el cual las imagenes se van a representar. La NALU de la VCL incluye un elemento de sintaxis que indica si una imagen pertenece a una capa base o a una capa de mejora, y un elemento de sintaxis id_temporal. El elemento de sintaxis que indica si una imagen pertenece a una capa base o 45 a una capa de mejora se transmite bajo un estado en la cabecera 570 NAL de la cabecera 500 del paquete mostrado en la FIG. 5. El elemento de sintaxis “id_temporal” tambien es transmitido bajo un estado en la cabecera 570 NAL. El elemento de sintaxis “id_temporal” indica el grado de dependencia de las otras imagenes. Por ejemplo, las imagenes o porciones codificadas con id_temporal=0 son decodificables independientemente de otras imagenes/porciones que tienen una id_temporal mas alta. Se debena notar que en HEVC, el id_temporal se senala 50 en la cabecera NAL como id_temporal_nuh_mas1 (refierase a la FIG. 9A). En particular, la siguiente Expresion 1 se puede aplicar a la relacion entre el id_temporal usado en estos ejemplos y el elemento de sintaxis id_temporal_nuh_mas1.
[Matematicas 1]
id_temporal = id_temporal_nuh_mas1 -1
55 (Expresion 1)
5
10
15
20
25
30
35
40
45
50
55
Las porciones con id_temporal=1 dependen de porciones de id_temporal con un valor mas bajo. En otras palabras, el valor de id_temporal en este caso es 0. En particular, el elemento de sintaxis id_temporal se refiere a la estructura de prediccion de la imagen. En general, las porciones con un valor particular de id_temporal dependen solo de porciones con un valor de id_temporal menor o igual.
En consecuencia, una imagen 710 en la FIG. 7 se puede decodificar primero.
Una imagen 720 es una capa de mejora a la capa base de la imagen 710. Asf, hay una dependencia que requiere que la imagen 720 se decodifique despues de decodificar la imagen 710. La imagen 720 incluye dos NALU, esto es Unidad 3 de la NAL de la VCL y Unidad 4 de la NAL de la VCL. Ambas imagenes 710 y 720 tienen su valor de POC a 0. Esto significa que las imagenes 710 y 720 pertenecen a la misma imagen a ser presentada de una vez. Las imagenes comprenden las capas base y de mejora.
La imagen 730 es una capa base que incluye dos NALU, esto es Unidad 5 de la NAL de la VCL y Unidad 6 de la NAL de la VCL. La imagen 730 tiene un valor de POC de 1. Esto significa que la imagen (porcion) 730 ha de presentarse tras las imagenes 720 y 710. Ademas, la imagen 730 tienen el valor de id_temporal = 1. Esto significa que la imagen 730 depende temporalmente de una imagen con id_temporal = 0. En consecuencia, basado en la dependencia senalada en la cabecera NAL, la imagen 730 depende de la imagen 710.
La FIG. 8 es un diagrama que muestra las dependencias (grado de dependencia) y su senalizacion en el caso en que se usen porciones dependientes y no de entropfa. La FIG. 8 muestra tres imagenes 810, 820, y 830. La FIG. 8 difiere de la FIG. 7 descrita anteriormente en que las dependencias de las porciones dependientes y de entropfa senaladas en la cabecera de porcion son anadidas.
En la FIG. 7, la dependencia entre capas se muestra con el ejemplo de las figuras 710 y 720. Ademas, la dependencia temporal se muestra en el ejemplo de las figuras 710 y 730. Ambas dependencias se senalan en la cabecera NAL.
La dependencia entre capas como se muestra en la FIG. 8 es inherente a las porciones dependientes y de entropfa. En particular, la trama 810 de capa base y la trama 820 de capa de mejora ambas tienen dos porciones. De las dos porciones, una es una porcion padre (porcion normal) y la otra es una porcion hija (porcion dependiente). En la trama 810, la porcion de la Unidad 1 de la NAL de la VCL es la porcion padre de la Unidad 2 de la NAL de la VCL. En la trama 820, la porcion de la Unidad 3 de la NAL de la VCL es la porcion padre de la Unidad 4 de la NAL de la VCL. Como se describio anteriormente, el termino “porcion padre” de una porcion dependiente se refiere a una porcion de la cual dependen las porciones dependientes, esto es, la porcion de la cual se usa la informacion de la cabecera de porcion por las porciones dependientes. Esto es una regla que la primera porcion precedente sea una porcion que tenga una cabecera completa. La porcion que tiene una cabecera completa es una porcion normal, no otra porcion dependiente, por ejemplo.
La sintaxis correspondiente de la cabecera de la unidad de la NAL y la cabecera de porcion como se usan actualmente en HEVC y en particular en HM8.0 se describiran con referencia a la FIG. 9A.
La FIG. 9A es un diagrama que muestra la sintaxis de una cabecera 910 de la unidad de la NAL y la sintaxis de la cabecera 920 de porcion. En particular, las dependencias entre capas se planean (en la estandarizacion actual) para ser senaladas en la cabecera de la unidad de la NAL usado un elemento de sintaxis 6bits_cero_reservado_nuh. Las dependencias temporales se senalan usando el elemento de sintaxis id_temporal_nuh_mas1. La cabecera 920 de porcion incluye una senal que indica el indicador de dependencia entre porciones. El indicador de dependencia entre porciones es indicado por el elemento de sintaxis bandera_porcion_dependendiente. En otras palabras, la dependencia entre porciones (por ejemplo, dependencia temporal) se senala en la cabecera de porcion, en algun sitio en la cabecera de porcion.
Para analizar este elemento de sintaxis, todos los elementos de sintaxis que preceden a bandera_porcion_dependiente deben ser analizados asf como el conjunto de parametros de elementos de sintaxis necesario para analizar los elementos de sintaxis de la cabecera de porcion que preceden a la bandera_porcion_dependiente.
[1-8. Procesamiento en el enrutador]
Como se describio anteriormente, en la determinacion de la forma del trafico, es deseable tener en cuenta las dependencias introducidas por las porciones dependientes y de entropfa, ademas de las dependencias senaladas en la cabecera NAL. Por ejemplo, un enrutador puede implementarse como una estacion base movil consciente del medio. El ancho de banda en el enlace descendente esta muy limitado y necesita ser gestionado muy cuidadosamente. Permita que asumamos el siguiente caso de ejemplo. Asuma que un paquete es tirado de manera aleatoria en el flujo de subida por un enrutador normal. En este caso, un elemento de red consciente del medio (MAME) descubre la perdida del paquete mediante la comprobacion del numero del paquete. Tras comprobar la perdida del paquete, MAME tira todos los paquetes que son dependientes del paquete tirado y que le siguen. Esta es una caractenstica deseable para elementos de red conscientes del medio. De este modo, los paquetes se pueden tirar mas inteligentemente. Cuando un enrutador es determinado a tirar una unidad de la nAl, deducira
inmediatamente que las porciones dependientes siguientes necesitaran ser tiradas tambien. En la sintaxis actual introducida en la FIG. 9A, el acceso de la bandera_porcion_dependiente requiere analizar un cantidad considerable de informacion. No es esencial para el enrutamiento de paquetes o para operaciones de formas de trafico en los enrutadores. Toda la informacion que es necesaria para descubrir las relaciones entre-capa y entre-temporal esta 5 presente en el conjunto de parametros de video. El conjunto de parametros de video es el conjunto mas grande en la jerarqma de conjuntos de parametros.
En consecuencia, la informacion descrita anteriormente se senala en la cabecera 570 NAL. Sin embargo, en el caso de la cabecera NAL y la cabecera de porcion mostradas en la FIG. 9A, el acceso a la informacion dependiente de la porcion requiere seguir conjuntos de parametros adicionales tales como PPS y SPS. Esto, por otro lado, reutiliza la 10 capacidad de puertas de enlace o enrutadores conscientes del medio. Como se ve de la FIG. 9A, la cabecera 920 de porcion tiene que ser analizada hasta la bandera_porcion_dependiente y los parametros analizados son inutiles para la operacion de red.
Para ser capaz de analizar la direccion de la porcion que precede a la bandera_porcion_dependiente, se requieren los siguientes elementos de sintaxis de los elementos de sintaxis incluidos en el SPS 930 como se muestran en la 15 FIG. 9B. La FIG. 9B es un diagrama que muestra un ejemplo de sintaxis incluido en SPS.
• ancho_img_en_muestras_luma (senal 931 de referencia en la FIG. 9B)
• alto_img_en_muestras_luma (senal 932 de referencia en la FIG. 9B)
• tamano_bloque_codificacion_minjog2_menos3 (senal 933 de referencia en la FIG. 9B)
• tamano_bloque_codificacion_min_max_difjog2 (senal 934 de referencia en la FIG. 9B)
20 Estos parametros se muestran en la tabla derecha de la FIG. 9B y son necesarios para obtener los parametros de direccion_porcion. El elemento de sintaxis direccion_porcion es codificado con longitud variable (como se puede ver cuando se mira a la longitud “v” en el descriptor, segunda columna, de direccion_porcion y cabecera 920 de la porcion en la FIG. 9A). Para conocer la longitud de este parametro codificado con longitud variable, se necesitan esos elementos de sintaxis del SPS. De hecho, para ser capaz de analizar la bandera_porcion_dependiente, no es 25 necesario el valor real del elemento de sintaxis direccion_porcion. Solo se debe conocer la longitud del elemento de sintaxis que es variable para que el proceso de analisis pueda continuar.
Por lo tanto, el SPS necesita ser analizado hasta el punto 935 de los elementos de sintaxis en SPS 930 mostrado en la FIG. 9B. Se requiere almacenar los cuatro elementos de sintaxis. Luego seran usados en una formula para calcular la longitud del elemento de sintaxis direccion_porcion.
30 Ademas, para acceder a la bandera_porcion_dependiente_habilitada tambien precedente a la bandera_porcion_dependiente, el PPS necesita ser analizado hasta el punto 945 de los elementos de sintaxis en el PPS mostrado en la FIG. 9C. La FIG. 9C es un diagrama que muestra un ejemplo de sintaxis incluido en el PPS. Se debena notar que los elementos de sintaxis cuyos metodos de analisis se han descrito con referencia a las FIGS. 9A a 9C y que estan ubicados en la cabecera de porcion y el SPS y el PPS no son requeridos para operaciones de 35 enrutamiento comunes. Ademas, algunos de los elementos de sintaxis no pueden saltarse simplemente dado que algunos de los elementos de sintaxis estan codificados con codigos de longitud variable. En consecuencia, aun si se realiza un salto en el flujo de bits por una cantidad predefinida de bits, no es posible saltar hasta la bandera_porcion_dependiente_habilitada.
En otras palabras, para leer la bandera_porcion_dependiente (indicacion de dependencia), el MAME necesita ir mas 40 alla en la cabecera de porcion (refierase a la cabecera 920 de la porcion) cuyo analisis es bastante complicado.
Espedficamente, la bandera bandera_primera_porcion_en_img tiene que ser analizada. La bandera bandera_primera_porcion_en_img es una bandera que indica si una porcion es la primera en la imagen o no.
Entonces, bandera_no_salida_de _img_anterior cuya presencia es condicional en el tipo de la NALU tiene que ser analizada.
45 Ademas, el id_conjunto_parametros_img codificado con longitud variable tiene que ser decodificado. El elemento de sintaxis id_conjunto_parametros_img es un elemento de sintaxis que indica que conjunto de parametros se usa (un elemento de sintaxis que identifica el conjunto de parametros). Mediante el analisis de id_conjunto_parametros_img, se puede identificar el conjunto de parametros a usar.
Finalmente, se requiere el elemento de sintaxis direccion_porcion. El elemento de sintaxis direccion_porcion es un 50 elemento de sintaxis que indica la posicion de inicio de la porcion. El elemento de sintaxis requiere ademas analizar el PPS y el SPS asf como computacion adicional.
Como el ultimo paso, el valor de bandera_porcion_dependiente_habilitada (bandera de porcion dependiente habilitada) tiene que obtenerse del PPS, para conocer si la bandera_porcion_dependiente esta presente en el flujo de bits o no. Cuando la bandera_porcion_dependiente_habilitada = 0, significa que la porcion actual es una porcion
5
10
15
20
25
30
35
40
45
50
normal dado que las porciones dependientes no estan habilitadas. Para obtener el valor de la bandera_porcion_dependiente_habilitada, se requiere el PPS para analizar hasta la mitad aproximadamente.
Desgraciadamente, los elementos de sintaxis anteriores a bandera_porcion_dependiente no se pueden saltar y necesitan ser analizados a diferencia del caso de los datos de la cabecera NAL y RTP, en los cuales las posiciones de los datos estan predefinidas. Esto es causado por el hecho de que los elementos de sintaxis en la cabecera de la porcion son codificados con longitud variable. Por lo tanto, la presencia y longitud del elemento necesita ser computada para cada unidad de la NAL de la VCL. Ademas, los datos de sesion adicionales necesitan ser almacenados porque son necesarios mas adelante (refierase a PPS y SPS). Ademas, la presencia y longitud de algunos elementos de sintaxis depende de la presencia o valor de otros elementos de sintaxis posiblemente incluidos en otras estructuras de parametros (los elementos de sintaxis son codificados condicionalmente).
En la estandarizacion actual, hay una propuesta para senalar la estructura de dependencia de la secuencia de video en el Conjunto de Parametros de Video (VPS) que describe cuantas capas estan contenidas en el flujo de bits y los indicadores de dependencia para indicar las varias dependencias entre capas. El VPS es senalado en el mismo principio del video, antes del primer SPS. Multiples SPS se pueden referir a un unico VPS. Esto significa que un VPS lleva informacion que es valida para multiples secuencias de video. El objetivo principal del VPS es informar al enrutador o decodificador sobre el contenido del video que incluye informacion. Cuantas secuencias de video estan incluidas y como estan interrelacionadas. SPS es valido solo en una secuencia de video en donde el VPS lleva informacion relacionada con multiples secuencias de video.
Ademas, la caractenstica de la informacion llevada en el VPS es especialmente informativa para los enrutadores. Por ejemplo, el VPS puede llevar informacion que es requerida para la configuracion de la sesion de transmision dado que el diseno no esta finalizado. El enrutador analiza la informacion en el VPS. El enrutador, sin la necesidad de otros conjuntos de parametros (solo mirando a las cabeceras NAL), puede determinar que paquetes de datos remitir al decodificador y que paquetes tirar.
Sin embargo, para descubrir el VPS activo actualmente, se necesitan realizar los siguientes pasos ordenados:
analizar el id_PPS en la cabecera de porcion;
analizar el id_SPS en el PPS activo determinado por el id_PPS; y
analizar el id_VPS en el SPS activo determinado por el id_SPS.
Para resolver el problema descrito anteriormente, un metodo de codificacion de imagen segun un aspecto de la presente invencion es un metodo de codificacion de imagen de realizar procesamiento de codificacion mediante el particionado de una imagen en una pluralidad de porciones, el metodo de codificacion de imagen comprende transmitir un flujo de bits que incluye: una bandera de porcion dependiente habilitada que indica si la imagen incluye o no una porcion dependiente en la cual el procesamiento de codificacion se realiza dependiente de un resultado del procesamiento de codificacion en una porcion diferentes de una porcion actual; una direccion de porcion que indica una posicion de inicio de la porcion actual; y un indicador de dependencia (bandera_porcion_dependiente) que indica si la porcion actual es la porcion dependiente o no, en donde la bandera habilitada de porcion dependiente esta dispuesta en un conjunto de parametros comunes a las porciones, la direccion de porcion esta dispuesta en una cabecera de la porcion de la porcion actual, y el indicador de dependencia esta dispuesto en la cabecera de la porcion, y esta dispuesto antes de la direccion de porcion y tras un elemento de sintaxis (id_conjunto_parametros_img) que identifica el conjunto de parametros.
En el metodo de codificacion de imagen descrito anteriormente, un indicador de dependencia de dependencia entre porciones esta ubicado en una posicion adecuada para analizar por el enrutador. Con esto, es posible codificar el indicador de dependencia la sintaxis independientemente, en otras palabras, incondicionalmente, de otros elementos de sintaxis.
Por ejemplo, el indicador de dependencia puede estar incluido en el flujo de bits cuando la bandera de porcion dependiente habilitada indica la inclusion de la porcion dependiente.
Por ejemplo, la bandera de porcion dependiente habilitada puede estar dispuesta al inicio del conjunto de parametros.
Por ejemplo, cada una de las porciones puede incluir una pluralidad de macro bloques, y el procesamiento de codificacion en la porcion actual puede iniciarse despues de que el procesamiento de codificacion se realice en dos de los macro bloques incluidos en una porcion inmediatamente precedente a la actual.
Por ejemplo, el indicador de dependencia puede no estar incluido en una cabecera de porcion de una porcion que es la primera procesada de la imagen, entre las porciones.
Para resolver el problema descrito anteriormente, un metodo de decodificacion de imagen segun un aspecto de la presente invencion es un metodo de decodificacion de imagen de realizar un procesamiento de decodificacion
5
10
15
20
25
30
35
40
45
50
55
mediante el particionado de una imagen en una pluralidad de porciones, el metodo de decodificacion de imagen comprendiendo la extraccion, de un flujo de bits codificado, de una bandera de porcion dependiente habilitada que indica si la imagen incluye o no una porcion dependiente en la cual el procesamiento de decodificacion se realiza dependiente de un resultado del procesamiento de decodificacion de una porcion diferente de la porcion actual, una direccion de porcion que indica un punto de inicio de la porcion actual, y un indicador de dependencia que indica si la porcion actual es o no la porcion dependiente, donde la bandera de porcion dependiente habilitada se dispone en un conjunto de parametros comun a las porciones, la direccion de porcion se dispone en una cabecera de porcion de la porcion actual, y el indicador de dependencia se dispone en la cabecera de porcion, y se dispone antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
Por ejemplo, el indicador de dependencia puede extraerse del flujo de bits cuando la bandera de porcion dependiente habilitada indica la inclusion de la porcion dependiente.
Por ejemplo, la bandera de porcion dependiente habilitada se puede disponer al inicio del conjunto de parametros.
Por ejemplo, cada una de las porciones puede incluir una pluralidad de macro bloques, y el procesamiento de decodificacion en la porcion actual puede empezar despues de que el procesamiento de decodificacion se realice en dos de los macro bloques incluidos en una porcion inmediatamente precedente a la actual.
Por ejemplo, el indicador de dependencia puede no estar incluido en una cabecera de porcion de una porcion que es la primera procesada de la imagen, entre las porciones.
Para resolver el problema descrito anteriormente, un aparato de codificacion de imagen segun un aspecto de la presente invencion es un aparato de codificacion de imagen que realiza un procesamiento de codificacion mediante el particionado de una imagen en una pluralidad de porciones, el aparato de codificacion de imagen comprendiendo un codificador que trasmite un flujo de bits que incluye: una bandera de porcion dependiente habilitada que indica si la imagen incluye o no una porcion dependiente en la cual el procesamiento de codificacion se realiza dependiente de un resultado del procesamiento de codificacion de una porcion diferente de la porcion actual; una direccion de porcion que indica una posicion de inicio de la porcion actual; y un indicador de dependencia que indica si la porcion actual es o no la porcion dependiente, donde la bandera de porcion dependiente habilitada se dispone en un conjunto de parametros comun a las porciones, la direccion de porcion se dispone en una cabecera de porcion de la porcion actual, y el indicador de dependencia se dispone en la cabecera de porcion, y se dispone antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
Para resolver el problema descrito anteriormente, un aparato de decodificacion de imagen segun un aspecto de la presente invencion es un aparato de decodificacion de imagen que realiza un procesamiento de decodificacion mediante el particionado de una imagen en una pluralidad de porciones, el aparato de decodificacion de imagen comprendiendo un decodificador que extrae, de un flujo de bits codificado una bandera de porcion dependiente habilitada que indica si la imagen incluye o no una porcion dependiente en la cual el procesamiento de decodificacion se realiza dependiente de un resultado del procesamiento de decodificacion de una porcion diferente de la porcion actual, una direccion de porcion que indica una posicion de inicio de la porcion actual, y un indicador de dependencia que indica si la porcion actual es o no la porcion dependiente, donde la bandera de porcion dependiente habilitada se dispone en un conjunto de parametros comun a las porciones, la direccion de porcion se dispone en una cabecera de porcion de la porcion actual, y el indicador de dependencia se dispone en la cabecera de porcion, y se dispone antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
Para resolver el problema descrito anteriormente, un aparato de codificacion y decodificacion de imagen segun un aspecto de la presente invencion incluye el aparato de codificacion de imagen descrito anteriormente y el aparato de decodificacion de imagen descrito anteriormente.
Segun el metodo de codificacion de imagen, el metodo de decodificacion de imagen, y similares que se configuraron anteriormente, un indicador de dependencia entre porcion esta ubicado en la sintaxis del flujo de bits relacionado con una porcion independientemente de otros elementos. El indicador de dependencia esta ubicado, sin analizar innecesariamente otros elementos, separadamente de los otros elementos. En los ejemplos de HEVC anteriores, el indicador de la dependencia entre porciones bandera_porcion_dependiente esta senalado en una ubicacion en la cual no es necesario analizar elementos de sintaxis irrelevantes para la operacion de red.
Espedficamente, la presente invencion proporciona un aparato para analizar un flujo de bits de una secuencia de video de imagenes codificadas al menos parcialmente con un codigo de longitud variable e incluyendo unidades de datos que llevan porciones codificadas de secuencias de video. El aparato comprende un analizador para extraer del flujo de bits un indicador de dependencia que es un elemento de sintaxis que indica para una porcion si la decodificacion de longitud variable o analisis de la porcion depende o no de otras porciones, donde el indicador de dependencia se extrae del flujo de bits de manera independiente de y sin necesidad de extraer otros elementos de sintaxis de antemano.
Tal aparato puede incluirse, por ejemplo, en el decodificador 290 de entropfa en la FIG. 2. Cuando se hace referencia a extraer del flujo de bits, la extraccion y, donde sea necesario para la extraccion, se entiende una
5
10
15
20
25
30
35
40
45
50
55
decodificacion de entrc^a. La codificacion de entrc^a es una codificacion de longitud variable, por ejemplo, la codificacion aritmetica tal como CABAC. Esto es, en HEVC, aplicado a la codificacion de los datos de imagen. Las unidades de datos aqu se refieren, por ejemplo, a unidades de la NAL o unidades de acceso. La expresion “sin necesidad de extraer otros elementos de sintaxis” se refiere a una situacion en la cual el indicador de dependencia solo esta precedido por elementos, de los cuales se conoce la longitud y cuya presencia es conocida o condicionada en elementos ya analizados o no codificados condicionalmente en absoluto.
La presente invencion ademas proporciona un aparato para generar un flujo de bits de una secuencia de video codificada al menos parcialmente con un codigo de longitud variable y que incluye unidades de datos que llevan porciones codificadas de imagenes de video. El aparato comprende un generador de flujo de bits para incorporar en el flujo de bits un indicador de dependencia que es un elemento de sintaxis que indica para una porcion si la decodificacion de longitud variable de la porcion depende o no de otras porciones, donde el indicador de dependencia esta incrustado en el flujo de bits de manera independiente de y sin necesidad de incrustar otros elementos de sintaxis de antemano.
Tal aparato puede incluirse, por ejemplo, en el codificador 190 de entropfa en la FIG. 1.
Segun el metodo de codificacion de imagen, el metodo de decodificacion de imagen, y similares que se configuraron anteriormente, el flujo de bits incluye datos de porcion codificados y datos de cabecera respecto a la porcion, y el indicador de dependencia esta ubicado en el flujo de bits al inicio de la cabecera de porcion. Esto significa que la cabecera de porcion empieza con los elementos de sintaxis que indican la dependencia de porcion.
Se debena notar que el indicador de dependencia no tiene que estar ubicado en el mismo principio de la cabecera de porcion. Sin embargo, es ventajoso cuando ningun otro elemento de sintaxis codificado condicionalmente y/o codificado con longitud variable precede el indicador de dependencia en la cabecera de porcion.
Por ejemplo, la posicion actual de la bandera_porcion_dependiente se cambia con respecto a la tecnica anterior descrita anteriormente para ser ubicada al inicio de la cabecera de porcion. Con este cambio, se consigue la reduccion de la cantidad de elementos de sintaxis que necesitan ser analizados. Se evitan operaciones de analisis complicadas de los enrutadores, tales como decodificacion de longitud variable y analisis de informacion que requieren computacion adicional y/o almacenamiento de parametros adicionales para usos futuros y/o analisis de otros conjuntos de parametros. Ademas, el numero de conjuntos de parametros a los que se requiere seguir la pista se reduce.
De aqrn en adelante, las realizaciones se describen espedficamente con referencia a los Dibujos. Cada una de las realizaciones descritas a continuacion muestra un ejemplo general o espedfico. Los valores numericos, formas, materiales, elementos estructurales, la disposicion y conexion de los elementos estructurales, pasos, el orden del procesamiento de los pasos etc. mostrados en las siguientes realizaciones son meros ejemplos, y por lo tanto no limitan el alcance de la presente invencion. Por lo tanto, entre los elementos estructurales en las siguientes realizaciones, los elementos estructurales no mencionados en cualquiera de las reivindicaciones independientes se describen como elementos estructurales arbitrarios.
(Realizacion 1)
La FIG. 10 muestra un ejemplo de una sintaxis de un flujo de bits segun la presente invencion. Una cabecera 1010 NAL mostrada en la FIG. 10 es la misma que la cabecera 910 NAL mostrada en la FIG. 9A. En otras palabras, no hay cambios.
Sin embargo, la estructura de sintaxis de la cabecera 1020 de porcion es diferente de la estructura de sintaxis de la cabecera 920 de porcion en la FIG. 9A. En particular, en la cabecera 1020 de porcion, la bandera_porcion_dependiente se sube en la cabecera de porcion de forma que no hay elementos de sintaxis precediendo a la bandera_porcion_dependiente. La bandera_porcion_dependiente esta codificada condicionalmente, esta codificada usando un codigo de longitud variable, o recibe el analisis que requiere computacion adicional.
Los elementos de sintaxis bandera_primera_porcion_en_imagen y bandera_porcion_dependiente realmente ambos determinan las dependencias espaciales. Los elementos de sintaxis son codificados inmediatamente despues de la cabecera NAL de tal modo que no se necesita analizar ningun otro elemento de sintaxis. Dado que bandera_primera_porcion_en_imagen tambien lleva informacion que esta relacionada con las dependencias entre porciones, puede preceder la bandera_porcion_dependiente. El elemento de sintaxis bandera_primera_porcion_en_imagen es una bandera que se establece segun la regla que cada trama tiene que empezar con una porcion normal. En consecuencia, cuando la bandera bandera_primera_porcion_en_imagen se establece, significa que la porcion es una porcion normal y por tanto independiente. Asf, la bandera_porcion_dependiente y la bandera_primera_porcion_en_imagen se pueden ver conjuntamente como un indicador de dependencias entre porciones.
En otras palabras, el indicador de dependencias se puede definir para incluir un primer indicador de porcion si la porcion es una primera porcion en una imagen y una bandera de porcion dependiente que indique si la
5
10
15
20
25
30
35
40
45
50
55
decodificacion de longitud variable de la porcion depende de otras porciones. La primera porcion en una imagen es siempre una porcion para la cual la decodificacion de longitud variable no depende de otras porciones.
Ventajosamente, el flujo de bits incluye una bandera de porcion dependiente habilitada si porciones dependientes se pueden incluir en el flujo de bits o no. El indicador de dependencia se incluye en el flujo de bits solo cuando la bandera de porcion dependiente habilitada indica que las porciones dependientes se pueden incluir en el flujo de bits. La bandera de porcion dependiente habilitada esta ubicada en el flujo de bits en un conjunto de parametros comun para una pluralidad de porciones y ubicado al inicio del conjunto de parametros. El conjunto de parametros puede ser, por ejemplo, el conjunto de parametros de imagen que lleva parametros para una unica imagen. De manera alternativa, la bandera de porcion dependiente habilitada esta ubicada en un conjunto de parametros de secuencia que lleva parametros para la secuencia de imagenes (video) completa.
Sin embargo, en la presente invencion, la bandera_porcion_dependiente (indicador de dependencia) esta codificada no condicionalmente en el elemento de sintaxis bandera_porcion_dependiente_habilitada (bandera de porcion dependiente habilitada). En la presente realizacion, dado que el identificador de conjunto de parametros de imagen esta ubicado tras el indicador de dependencia, es una ventaja evitar un posible error de analisis en el caso donde el identificador de conjunto de parametros de imagen este senalado en la cabecera de porcion.
Este cambio puede tambien verse como y/o interpolado mediante el cambio de la posicion de los otros elementos de sintaxis requeridos en el conjunto de parametros o cabeceras para reducir la cantidad de elementos de sintaxis que se requiere analizar para determinar las dependencias entre las porciones.
Por ejemplo, el elemento de sintaxis bandera_porcion_dependiente en la cabecera de porcion de la presente sintaxis de HM8.0 solo esta presente cuando el valor del elemento de sintaxis “bandera_porcion_dependiente_habilitada” indica que el uso de porciones dependientes en el flujo de bits esta habilitado. La habilitacion de las porciones dependientes y asf, tambien el elemento de sintaxis “bandera_porcion_dependiente_habilitada” esta incluida en el PPS como se muestra en la FIG. 9C. En consecuencia, el elemento de sintaxis “bandera_porcion_dependiente_habilitada” en el PPS se sube en la sintaxis del PPS para simplificar su analisis necesario para analizar la bandera_porcion_dependiente (por ejemplo, el inicio del conjunto de parametros). Esto puede ser tambien util cuando la bandera_porcion_dependiente esta codificada detras del id_conjunto_parametros_img (el elemento de sintaxis que identifica el conjunto de parametros). Esto es porque al hacerlo, el error de analisis se evita aun cuando la bandera de porcion dependiente habilitada esta condicionando la presencia del indicador de dependencia.
En vez de subir la “bandera_porcion_dependiente_habilitada” en el PPS, la
“bandera_porcion_dependiente_habilitada” puede moverse del PPS al SPS y/o VPS para que no se requiera seguir la pista de los conjuntos de parametros que estan mas abajo en la jerarqrna.
En otras palabras, segun la presente realizacion, la posicion de los elementos de sintaxis requeridos se cambia para reducir la cantidad de conjuntos de parametros a los que se necesita seguir la pista. Esto tambien reduce la complejidad del analisis. Los “parametros requeridos” en este contexto significa los parametros destinados que contribuyen a determinar si una porcion es una porcion con dependencia entre porciones o no. Una primera posibilidad aplicable directamente a la HEVC es proporcionar el indicador de dependencia al inicio de la cabecera de porcion dependiente e incondicionalmente en la bandera de porcion dependiente habilitada tras el indicador de conjunto de parametros que identifica el conjunto de parametros en el cual la bandera de porcion dependiente habilitada esta incluida. El indicador de dependencia puede estar condicionado en la bandera de porcion dependiente habilitada. Subir la bandera de porcion dependiente habilitada en el PPS o mover la bandera de porcion dependiente habilitada al SPS puede ser beneficioso para cualquiera de esas posibilidades. En particular, esto es beneficioso para la segunda posibilidad, en la cual la bandera de porcion dependiente habilitada se necesita para analizar el indicador de dependencia.
Como se puede ver en la FIG. 10, la cabecera de la unidad de la NAL, junto con la porcion relevante de la cabecera de porcion, tiene 18 bits (14 bits de la cabecera NALU y 2 bits de la cabecera de porcion). Segun este ejemplo, un elemento de red consciente del medio puede operar para un paquete de porcion actual como sigue. Si una porcion anterior se tira, que es una porcion normal, de entropfa o dependiente, el elemento de red comprueba los dos primeros bits de la cabecera de porcion actual, que son la bandera_primera_porcion_en_img y (en el caso donde las porciones dependientes esten permitidas en el flujo de bits) la bandera_porcion_dependiente.
Cuando el tipo de unidad de la NAL es un tipo de unidad de la NAL de la VCL y los dos ultimos bits de los 18 bits comprobados son “01”, la unidad de la NAL se tira. En particular, cuando el primer bit de la cabecera de porcion es “1”, entonces es la primera porcion en la imagen que es (segun las reglas) una porcion no dependiente. Cuando el primer bit de la cabecera de porcion es “0” y el siguiente bit de la cabecera de porcion es tambien “0”, la porcion es no dependiente. En consecuencia, solo cuando los dos primeros bits de la cabecera de porcion son “01”, la porcion es dependiente. Ademas, la porcion debena tirarse dado que no puede ser decodificada cuando la porcion padre ya ha sido tirada. En consecuencia, las banderas bandera_primera_porcion_en_img y bandera_porcion_dependiente se pueden ver como una extension de la cabecera NAL, aun si pertenecen a la sintaxis de cabecera de porcion.
5
10
15
20
25
30
35
40
45
50
En consecuencia, la presente realizacion tambien proporciona como uno de sus aspectos un enrutador de red para recibir, analizar y remitir paquetes de red a sus destinos. El enrutador incluye una unidad receptora para recibir un paquete de red que incluye una direccion de destino de paquete y una porcion de flujo de bits con datos de video codificados; un analizador que incluye el aparato para analizar un flujo de bits de una secuencia de video codificada segun cualquiera de las realizaciones anteriores y posteriores citadas, para determinar la dependencia de los datos de video codificados de otros paquetes; y un analizador de paquetes para analizar la direccion de destino de paquete recibida y la dependencia determinada y para juzgar como manejar el paquete de red.
(Realizacion 2)
Segun la Realizacion 2, bandera_porcion_dependiente_habilitada se tira del PPS. Se debena notar que bandera_porcion_dependiente_habilitada se puede mover al SPS, en vez de tirarla.
La FIG. 11 muestra un ejemplo en el cual la bandera_porcion_dependiente_habilitada no necesita ser analizada antes de acceder a bandera_primera_porcion_en_img y bandera_porcion_dependiente.
En este ejemplo, bandera_porcion_dependiente_habilitada no se usa porque no esta condicionada en la presencia del indicador de dependencia. Este ejemplo proporciona la posibilidad de tener el indicador de dependencia al inicio de la cabecera de porcion sin causar problemas de analisis debidos a una identificacion no conocida del conjunto del PPS actual.
(Efecto de la Realizacion 2, etc. )
En la Realizacion 1, para analizar la bandera_porcion_dependiente, la bandera_porcion_dependiente_habilitada debe ser analizada. La bandera_porcion_dependiente_habilitada es senalada en un PPS. Esto puede causar alguna sobrecarga de analisis como se discutio anteriormente, cuando la bandera_porcion_dependiente_habilitada se ubica lejos del inicio del PPS y los elementos de sintaxis precedentes se codifican condicionalmente.
Ademas, senalar el elemento de sintaxis bandera_porcion_dependiente antes del elemento de sintaxis id_conjunto_parametros_img en el PPS se analice, puede crear errores de analisis como sigue. La presencia de bandera_porcion_dependiente depende de la bandera_porcion_dependiente_habilitada que esta senalada en el PPS. Sin embargo, la identificacion del PPS activo actualmente se senala tras la bandera_porcion_dependiente. Por lo tanto, no es posible analizar la bandera_porcion_dependiente antes de acceder a los elementos previos.
En consecuencia, es ventajoso eliminar la condicion de analisis en la bandera_porcion_dependiente_habilitada. Puede ser mas beneficioso, cuando se aplica la siguiente restriccion. A saber, si bandera_porcion_dependiente_habilitada en PPS es cero, entonces bandera_porcion_dependiente debera ser igual a cero.
Sin embargo, estas implementaciones ventajosas no limitan el alcance de la presente invencion.
(Modificacion 1 de las Realizaciones 1 y 2)
Como una alternativa o adicionalmente para eliminar el condicionamiento en la bandera_porcion_dependiente_habilitada, la bandera_porcion_dependiente_habilitada se puede mover desde el PPS a tanto el SPS o/como al VPS.
Ademas, en vez de solo mover la bandera_porcion_dependiente_habilitada, la bandera_porcion_dependiente_habilitada se puede duplicar en el SPS. En este caso, el indicador en el SPS y PPS podna ser forzado a tener el mismo valor. O, al PPS se le podna permitir sobrescribir el indicador en el SPS.
Por ejemplo, cuando la bandera_porcion_dependiente_habilitada_sps es igual a 1, entonces la bandera_porcion_dependiente_habilitada_pps puede ser 0 o 1. Entonces,
bandera_porcion_dependiente_habilitada_sps es un indicador para habilitar las porciones dependientes para una secuencia de imagenes senaladas en el SPS, y bandera_porcion_dependiente_habilitada_pps es un indicador para habilitar las porciones dependientes para una imagen senalada en el PPS. Sin embargo, cuando el valor de bandera_porcion_dependiente_habilitada puede cambiar en el PPS, esto significa que el analisis del PPS todavfa es necesario y la ventaja de un seguimiento y analisis menos frecuente del PPS se evita.
Estas modificaciones proporcionan la ventaja de que el VPS y el SPS pueden llevar estructuras de dependencia. Llevar las estructuras de dependencia por el VSP y el SPS habilita a los elementos de red a dar forma a los flujos de bits, esto es, determinar descartar los paquetes dependientes que no pueden ser decodificados de ninguna manera o para descartar las porciones dependientes mas que las porciones independientes. Por lo tanto, la bandera_porcion_dependiente_habilitada en VPS desencadenana que el enrutador comprobara la cabecera de porcion adicionalmente o no.
Se nota que estas modificaciones no reducen mas la complejidad del analisis si el ejemplo de las FIGS. 10 y 11 se aplica. Sin embargo, proporciona una estructura mas beneficiosa de la sintaxis para llevar las estructuras de dependencia. Resumiendo, segun este ejemplo, un indicador para indicar si las porciones dependientes se habilitan
5
10
15
20
25
30
35
40
45
50
55
para el flujo de bits se senala en un conjunto de parametros de video. El conjunto de parametros de video es un conjunto de parametros que aplica a mas de una porcion en mas de una imagen.
Hay dos ventajas diferentes de senalar bandera_porcion_dependiente_habilitada en el VPS y/o el SPS. Cuando la bandera solo es movida o duplicada, no se requiere analizar el PPS, reduciendo la sobrecarga de analisis. El otro beneficio es dejar que los enrutadores conozcan sobre la estructura de prediccion de la secuencia de video. Esta ventaja esta presente todo el tiempo. Generalmente, un enrutador puede comprobar el contenido de un VPS/SPS para conocer que recibira.
El VPS es el parametro mas alto en la jerarqma. El VPS puede incluir informacion sobre multiples secuencias de video, mientras que el SPS y el PPS son espedficos para una unica secuencia de video y una imagen, respectivamente. La informacion en el VPS incluye una tasa de bit, estructura temporal de capa de las secuencias de video, y similares. Tambien incluye informacion sobre las dependencias entre capas (dependencias entre diferentes secuencias de video). En consecuencia, VPS se puede ver como un contenedor para multiples secuencias de video, y da una vision de conjunto general sobre cada secuencia.
En la version de la HEVC actual, la dependencia entre porciones en una trama se establece por tanto bandera_porcion_dependiente como bandera_primera_porcion_en_img. Segun las especificaciones actuales, las entidades de red no pueden usar dependencias entre porciones sin aplicar un analisis altamente complejo. Una solucion sencilla sena, si se ha descubierto una perdida de paquete a traves de un numero de paquete que falta, tirar todos los paquetes hasta que se encuentre la bandera_primera_porcion_en_img con valor igual a 1. Esto es porque la primera porcion en una imagen es siempre una porcion normal.
Sin embargo, esta solucion lleva a reducir la eficiencia de codificacion. Por lo tanto, como se describe anteriormente se puede usar la senalizacion de dependencia entre porciones que habilita un analisis eficiente. Esto se consigue senalando bandera_porcion_dependiente y bandera_primera_porcion_en_img en la cabecera de porcion inmediatamente despues de la cabecera NAL.
Alternativamente o ademas, los elementos de sintaxis relativos a las dependencias entre porciones se codifican incondicionalmente, esto es, independientemente de los otros elementos de sintaxis que pueden estar en la cabecera de porcion o en el PPS.
(Modificacion 2 de las Realizaciones 1 y 2)
La FIG. 12 ilustra una Modificacion 2 alternativa a la Modificacion 1 discutida anteriormente. En particular, la cabecera 1210 de la unidad de la NAL es la misma que la cabecera de la unidad de la NAL mostrada en la FIG. 10 (cabecera 910 de la unidad de la NAL mostrada en la FIG. 9A). Sin embargo, la cabecera 1220 de porcion y la cabecera 1020 de porcion mostradas en la FIG. 10 son diferentes en que los elementos de sintaxis de la cabecera de porcion bandera_porcion_dependiente y bandera_primera_porcion_en_img se invierten en su orden. En particular, la cabecera 1220 de porcion incluye la bandera_porcion_dependiente como un primer elemento de sintaxis, y el elemento de sintaxis bandera_primera_porcion_en_img como un segundo elemento de sintaxis, condicionado en la presencia de bandera_porcion_dependiente.
Como se puede ver de este ejemplo, se incluye en la sintaxis un primer indicador de porcion que indica si la porcion es o no una primera porcion en una imagen. Una primera porcion en una imagen es siempre una porcion para la cual la decodificacion de longitud variable no depende de otras porciones. Ademas, la bandera de porcion dependiente se incluye en el flujo de bits delante del indicador de primera porcion. El indicador de primera porcion se incluye en el flujo de bits solo cuando la bandera de porcion dependiente no indica una porcion dependiente. Esta disposicion proporciona las mismas ventajas que el condicionamiento. En otras palabras, la bandera de dependencia esta condicionada en la indicacion de primera porcion. Como se puede ver en la FIG. 12, ambos elementos pueden entenderse como el indicador de dependencia y estan incluidos al inicio de la cabecera de porcion.
(Realizacion 3)
En la Realizacion 3, comparada con las Realizaciones 1 y 2, el metodo de disposicion de los elementos de sintaxis se cambia para reducir el analisis de elementos de sintaxis innecesarios.
En las realizaciones descritas anteriormente, bandera_porcion_dependiente se describe en el caso donde bandera_primera_porcion_en_img esta incluida como condicion para la presencia de bandera_porcion_dependiente. Sin embargo, la bandera_primera_porcion_en_img y la bandera_porcion_dependiente pueden ser ambas incluidas en el flujo de bits sin estar condicionadas una con la presencia de la otra. Por ejemplo, el metodo de codificacion de la bandera_porcion_dependiente se cambia para ser independiente del elemento de sintaxis bandera_porcion_dependiente_habilitada segun una de las modificaciones descritas anteriormente.
La FIG. 13 es un diagrama que muestra un ejemplo de una cabecera de porcion segun la presente realizacion. La FIG. 13 ilustra el caso que todavfa incluye la condicion del indicador de dependencia en la bandera de porcion dependiente habilitada.
5
10
15
20
25
30
35
40
45
50
Espedficamente, en la cabecera de porcion segun la presente invencion, la bandera_porcion_dependiente esta dispuesta antes de la direcci6n_porcion comparada con la cabecera de porcion existente mostrada en la FIG. 6. Ademas, en la cabecera de porcion segun la presente invencion, comparada con los ejemplos en las FIGS. 10 a 12, la bandera_porcion_dependiente esta dispuesta detras de id_conjunto_parametrosjmg.
En la presente realizacion, dado que la bandera_porcion_dependiente esta dispuesta antes de la direcci6n_porci6n, al menos el SPS no necesita ser analizado para el analisis de bandera_porcion_dependiente. Como se describio anteriormente, la direcci6n_porci6n es un elemento de sintaxis que indica el inicio de una porcion. Ademas, la direcci6n_porci6n solo se puede analizar con la ayuda de los elementos de sintaxis senalados en el SPS (id_conjunto_parametrosjmg).
Alternativamente o ademas, la bandera_porcion_dependiente_habilitada bien se sube en el PPS o se mueve al SPS y/o al VPS. Si la bandera habilitada esta en el VPS y/o en el SPS, puede que no se requiera analizar y hacer seguimiento del PPS y del SPS.
(Modificacion de la Realizacion 3, efecto, y similares)
(1) El ejemplo de la FIG. 13 puede llevar a proporcionar un aparato para analizar un flujo de bits de una secuencia de video codificada al menos parcialmente con un codigo de longitud variable e incluir unidades de datos que llevan porciones o imagenes de video codificadas. En este caso, el aparato se configura para incluir un analizador que extrae del flujo de bits los siguientes elementos de sintaxis:
un indicador de dependencia que es un elemento de sintaxis que indica para una porcion en la cabecera de porcion si la decodificacion de longitud variable de la porcion depende o no de otras porciones;
una bandera de porcion dependiente habilitada que incluida en un conjunto de parametros para una pluralidad de porciones y que indica si las porciones dependientes se pueden incluir o no en el flujo de bits; y
una direccion de porcion que indica la posicion en el flujo de bits en la cual la porcion empieza.
(2) Ademas, en la presente realizacion, el indicador de dependencia esta senalado en la cabecera de porcion antes de la direccion de porcion y tras el elemento de sintaxis que identifica el conjunto de parametros.
Con esta realizacion, es posible configurar sin causar errores de analisis que el indicador de dependencia sea incluido en el flujo de bits solo cuando la bandera de porcion de dependencia habilitada indique que las porciones dependientes se pueden incluir en el flujo de bits.
(3) En la presente realizacion, la bandera de porcion dependiente habilitada esta ubicada en el flujo de bits en un conjunto de parametros (PPS) comun para una pluralidad de porciones que forman la misma trama de imagen y esta ubicado al inicio del conjunto de parametros. Sin embargo, no esta limitado a eso.
Alternativamente (o ademas), la bandera de porcion dependiente habilitada esta ubicada en el flujo de bits en un conjunto de parametros (SPS) comun para una pluralidad de porciones que forman la misma secuencia de imagenes. Todavfa alternativamente (o ademas), la bandera de porcion dependiente habilitada esta ubicada en el flujo de bits en un conjunto de parametros (VPS) comun para una pluralidad de porciones que forman una pluralidad de secuencias de tramas de imagen.
(4) Ademas, en la presente invencion, el id_VPS y el id_SPS pueden estar senalados explfcitamente en un mensaje SEI. Cuando la bandera_porcion_dependiente_habilitada esta senalada en el SPS, la bandera_porcion_dependiente debe todavfa seguir al id_conjunto_parametros_img.
De otra manera, la dependencia de analisis se introduce porque el id_SPS esta senalado en el PPS. Con la senalizacion de la identificacion del SPS o VPS actual que lleva la bandera_porcion_dependiente_habilitada, el indicador de dependencia puede incluirse tambien antes del id_conjunto_parametros_img dado que entonces el analisis del conjunto de parametros de la imagen no es necesario. Ademas, tal mensaje SEI, que lleva el id_VPS o el id_SPS no es necesario para la operacion de decodificacion dado que estos ID tambien se determinan mediante el analisis del PPS. El mensaje SEI puede asf ser descartado sin afectar a la operacion de decodificacion tras ser usado por los elementos de red.
(Realizacion 4)
En la Realizacion 4, la informacion de dependencia entre porciones se duplica (de manera suplementaria a la informacion senalada en la cabecera de porcion y/o en un conjunto de parametros) en otra unidad de la NAL tal como un mensaje SEI.
Por ejemplo, un mensaje SEI se puede definir lo que transporta la informacion de dependencia entre porciones en cada unidad de acceso o antes de cada porcion dependiente. El termino “unidad de acceso” se refiere a una unidad de datos que esta hecha de un conjunto de unidades de NAL. Una unidad de acceso incluye porciones de imagenes codificadas, esto es, NALU de la VCL. En particular, las unidades de acceso pueden definir puntos para acceso
5
10
15
20
25
30
35
40
45
50
aleatorio y pueden incluir NALU de una unica imagen. Sin embargo, la unidad de acceso no es necesariamente un punto de acceso aleatorio.
En las especificaciones de HEVC actuales, la unidad de acceso se define como un conjunto de unidades de la NAL que son consecutivas en orden de decodificacion y contienen exactamente una imagen codificada. Ademas de las unidades de la NAL de porcion codificada de la imagen codificada, la unidad de acceso puede tambien contener otras unidades de la NAL que no contienen porciones de la imagen codificada. La decodificacion de una unidad de acceso siempre resulta en una imagen decodificada. Sin embargo en una extension futura de la HEVC (como Codificacion Multi-Vista, (MVC) o Codificacion de Video Escalable, (SVC)), la definicion de unidad de acceso puede relajarse o modificarse. Segun las especificaciones actuales, la unidad de acceso esta formada por un delimitador de unidad de acceso, mensajes SEI, y NALU de la VCL.
Segun la presente invencion, el indicador de dependencia esta ubicado en el flujo de bits fuera de la cabecera de una porcion a la cual se refiere el indicador de dependencia. Ademas, puede ser beneficioso cuando el indicador de dependencia esta ubicado en el flujo de bits en un mensaje de informacion mejorada suplementaria incluido en el flujo de bits antes de la porcion de dependencia o una vez por unidad de acceso.
(Realizacion 5)
Segun la Realizacion 5, la informacion de dependencia entre porciones se senala en la cabecera NAL como una bandera o implfcitamente como un tipo de la unidad de la NAL con la cual esta asociado.
Como una regla, el analisis de elementos de sintaxis en la cabecera NAL no depende de otros elementos de sintaxis. Cada cabecera de la unidad de la NAL se puede analizar de manera independiente. La cabecera NAL es el lugar habitual para senalar la informacion de dependencia. En consecuencia, segun la presente realizacion, tambien la dependencia entre porciones se senala en su interior.
En otras palabras, el aparato de analisis puede adoptarse en un enrutador o en un decodificador. El aparato de analisis ademas incluye una unidad de capa de adaptacion de red para anadir a una porcion de datos de video codificado y a la cabecera de la porcion una capa de adaptacion de red, y una cabecera NAL. Ventajosamente, el indicador de dependencia esta ubicado en el flujo de bits en la cabecera NAL y esta codificado independientemente de los otros elementos de sintaxis.
El indicador de dependencia puede colocarse en la cabecera NAL dado que la cabecera NAL en las especificaciones de HEVC actuales preveen algunos bits reservados que se pueden usar para eso. Un unico bit sena suficiente para senalar el indicador de dependencia.
Alternativamente, el indicador de dependencia esta indicado por un tipo de la unidad de la NAL y un tipo de la unidad de la NAL predefinido se reserva para llevar informacion de dependencia.
(Realizacion 6)
Se nota que las cinco realizaciones anteriores se pueden combinar arbitrariamente para habilitar un analisis eficiente de la informacion dependiente en los elementos de red. Aun cuando su uso sea redundante, las realizaciones son combinables. En consecuencia, la duplicacion del indicador de dependencia se puede aplicar aun cuando el indicador de dependencia tambien este senalado al inicio de la cabecera de porcion.
La FIG. 14 muestra un ejemplo de una cabecera 1410 de la unidad de la NAL en el cual se modifica la cabecera 910 de la unidad de la NAL mostrada en la FIG. 9A. La cabecera 1410 de la unidad de la NAL incluye bandera_porcion_dependiente.
Ademas, para mover la bandera_porcion_dependiente en la cabecera NAL y para mantener el tamano de la cabecera NAL fijado debido a la compatibilidad hacia atras, el bit necesario para la bandera_porcion_dependiente se toma del elemento de sintaxis 6bits_cero_reservado_nuh de la cabecera de la unidad de la NAL. En consecuencia, el elemento de sintaxis 6bits_cero_reservado_nuh ahora tiene solo 5 bits. El elemento de sintaxis 6bits_cero_reservado_nuh incluye bits reservados para usos futuros de forma que la reduccion no causa ningun problema y no requiere de mas modificaciones.
En general, una unidad de la NAL de la VCL depende de la unidad de la NAL de la VCL anterior que tiene el mismo id_capa_temporal. Cuando la bandera_porcion_dependiente se senala en la cabecera NAL, un bit sera malgastado tanto por las unidades de la NAL de la VCL como las no-VCL dado que cada unidad de datos tal como una porcion de imagen o conjunto de parametros tienen la misma cabecera NAL. En consecuencia, aunque parece que la bandera_porcion_dependiente tambien sena senalada para conjuntos de parametros o para mensajes SEI, esto es innecesario. Ademas, bandera_porcion_dependiente siempre necesita ser senalada aun si las porciones dependientes estan deshabilitadas en el conjunto de parametros de secuencia. Esto lleva a una sobrecarga innecesaria.
En todas las realizaciones anteriores, el indicador de dependencia puede ser una bandera de un bit.
5
10
15
20
25
30
35
40
45
50
(Realizacion 7)
Segun la realizacion 7, el indicador de dependencia se indica por un tipo de la unidad de la NAL y un tipo de la unidad de la NAL predefinido se reserva para llevar informacion de dependencia.
En consecuencia, un nuevo (separado) tipo de la NAL de la VCL se define con una semiotica similar a las unidades de la NAL y la VCL existentes. Por ejemplo, cuando tipo_unidad_NAL es igual a 15 (o a otro tipo predefinido o NALU que no esta reservado para otro tipo de NALU particular), entonces la unidad de la NAL de la VCL actual depende de la unidad de la NAL de la VCL anterior que tiene el mismo id_capa_temporal. La dependencia se relaciona con la dependencia de la porcion actual en la cabecera de porcion de una porcion precedente, como se describio anteriormente, esto es, dependencia en analisis.
Puede ser ventajoso en estos casos incluir el bit en la cabecera NAL para los tipos de unidades de la NAL adicionales. Esto se puede usar para indicar si la porcion actual es o no una porcion dependiente.
Cuando la informacion de dependencia esta senalada en la cabecera de porcion ademas de la cabecera NAL, la senalizacion en la cabecera NAL se vuelve opcional. Espedficamente, cuando el campo tipo_unidad_NAL en la cabecera NAL se configura para senalar que la porcion actual es una porcion dependiente, entonces no es posible senalar cualquier otra informacion de “tipo”. Por ejemplo, en algunos casos podna ser mas beneficioso transportar la informacion de que una porcion actual es una “primera imagen en la secuencia” (tipo_unidad_NAL igual a 10 o 11). Cuando la informacion de dependencia entre porciones en la cabecera NAL es opcional (dado que esta duplicada en la cabecera de porcion), se puede elegir senalar la informacion mas valiosa.
Puede ser ademas ventajoso anadir dos o mas tipos de unidades de la NAL de la VCL, tales como “imagen RAP de porcion dependiente” (requerida para analisis) o “imagen no RAP de porcion dependiente”. “RAP” denota la imagen de acceso aleatorio. Imagen de acceso aleatorio es una imagen codificada independientemente (en terminos de prediccion) de otras imagenes de forma que tal imagen puede usarse como un punto de inicio para codificar y decodificar. Con esto, es asf adecuada como punto de acceso aleatorio.
En la cabecera de porcion dependiente, el elemento de sintaxis BanderalmgRap se usa en el proceso de analisis. Espedficamente, el elemento de sintaxis BanderalmgRap es un indicador que indica si la imagen actual es o no una imagen de acceso aleatorio.
El valor de BanderalmgRap depende del tipo de unidad de la NAL como la siguiente Expresion 2.
[Matematicas 2]
BanderalmgRap = (tipo_unidad_nal > 7 && tipo_unidad_nal < 12)
(Expresion 2)
En otras palabras, en el ejemplo mostrado en la FIG. 15, las imagenes de acceso aleatorio son llevadas por la NALU con tipo de la NALU entre 7 y 12. Para habilitar un analisis correcto y para proporcionar una posibilidad de dependencia de porciones para las imagenes de acceso aleatorio, por lo tanto, en la presente invencion, se definen dos tipos de unidades de la NAL para garantizar el analisis correcto de la cabecera de porcion.
Como una regla general, aun cuando se define un nuevo tipo de unidad de la NAL de la VCL, el analisis de la cabecera de porcion debena todavfa ser posible sin problemas. Cualquiera de los multiples tipos de NAL se define como anteriormente o la cabecera de porcion dependiente se carga de tal modo que no hay problema de analisis.
Cuando un nuevo tipo de unidad de la NAL de la VCL se define para indicar la porcion dependiente, la estructura de sintaxis de cabecera de porcion se puede cambiar como sigue.
En el ejemplo anterior el tipo de unidad de la NAL “NUT_DS” se usa para indicar que la unidad de la NAL de la VCL actual es una porcion dependiente. Comparado con la estructura de sintaxis de la cabecera de porcion del estado de la tecnica que se describe en el Documento no patente 3, los dos cambios siguientes se introducen en la presente invencion.
(1) bandera_no_salida_de_img_anterior no esta senalada en la cabecera de porcion dependiente. En otras palabras la presencia de bandera_no_salida_de_img_anterior esta basada en la condicion de que la porcion actual no es una porcion dependiente. (bandera_no_salida_de_img_anterior se puede presentar en la cabecera de porcion cuando la porcion actual no es una porcion dependiente).
(2) bandera_primera_porcion_en_img es senalada condicionalmente en el valor de tipo_unidad_nal. Cuando el valor de tipo_unidad_nal indica que la porcion actual es una porcion dependiente, el elemento de sintaxis bandera_primera_porcion_en_img no se senala explfcitamente y se concluye que es 0. Esto ahorra tasa de bits en la misma calidad.
5
10
15
20
25
30
35
40
45
50
Segun el ejemplo, bandera_no_salida_de_img_anterior no se senala cuando la porcion actual es una porcion dependiente. Segun el valor de BanderalmgRap no se requiere evaluar cuando la porcion actual es una porcion dependiente. Por lo tanto la cabecera de porcion de una porcion dependiente se puede analizar sin problemas. Mas espedficamente, la cabecera de porcion de la porcion dependiente se puede analizar sin hacer referencia a la cabecera de la unidad de la NAL de una cabecera de unidad precedente. Un problema ocurre cuando la unidad de la NAL precedente no esta presente en el momento de decodificar.
En segundo lugar, la bandera_primera_porcion_en_img se senala basandose en el valor del tipo_unidad_NAL. Este cambio es el mismo que en el ejemplo descrito en la FIG. 12. En la FIG. 12, bandera_primera_porcion_en_img se senala en la cabecera de porcion solo cuando la porcion actual no es una porcion dependiente (que se indica por la bandera_porcion_dependiente). De manera similar en el ejemplo anterior bandera_primera_porcion_en_img se senala solo cuando el tipo_unidad_nal no es igual a “NUT_DS”, que significa que la porcion actual no es una porcion dependiente.
No se requiere que los dos cambios que se han presentado anteriormente se hagan juntos. Tambien es posible realizar solo uno de los cambios en la cabecera de porcion. El beneficio de cada cambio esta asociado con el coste de comprobar si una porcion es o no una porcion dependiente. Sin embargo, cuando los dos cambios se realizan juntos, los beneficios de ambos cambios pueden venir tanto por los mismos costes como el beneficio de cada uno de los cambios individuales en el caso donde los dos elementos de sintaxis bandera_primera_porcion_en_img y bandera_no_salida_de_img_anterior se codifican consecutivamente. Asf, la aplicacion de ambos cambios en combinacion con una codificacion consecutiva de los dos elementos de sintaxis mencionados da una ventaja sobre la aplicacion directa de cada uno de los cambios individualmente.
En toda la explicacion en las realizaciones, tambien es posible eliminar la bandera_porcion_dependiente_habilitada del flujo de bits cuando el indicador de porcion dependiente no esta codificado condicionalmente en el. En otras palabras, cuando por ejemplo un nuevo tipo de unidad de la NAL se usa para indicar que la porcion actual es una porcion dependiente, entonces la bandera_porcion_dependiente_habilitada se puede eliminar del flujo de bits.
La FIG. 15 muestra una cabecera 1510 de la unidad de la NAL que es la misma que la cabecera 910 de la unidad de la NAL mostrada en la FIG. 9A y una cabecera 1520 de porcion que se cambia de la cabecera 920 de porcion mostrada en la FIG. 9A. La cabecera 1520 de porcion incluye la terminacion del valor de bandera_porcion_dependiente segun el tipo de la NAL. En particular, el elemento de sintaxis tipo_unidad_NAL con valores 15 y 16 define porciones dependientes. Cuando tipo_unidad_NAL es igual a 15, el tipo de la porcion es una porcion dependiente de imagen de acceso aleatorio. Si, por otra parte, tipo_unidad_NAL es igual a 16, la porcion es una porcion dependiente de una imagen de acceso no aleatorio. Por lo tanto, se establece una relacion de la siguientes Expresion 3.
[Matematicas 3]
BanderaImgRap = (tipo_unidad_nal > 7 && tipo_unidad_nal < 12 || tipo_unidad_nal == 15)
Expresion 3)
Se nota que los valores 15 y 16 se seleccionaron solo como un ejemplo. Como sera claro para los expertos en la tecnica, se puede adoptar cualquier numero predefinido que no fuera a ser usado de otro modo. Espedficamente, un primer tipo de la NALU se define para identificar el contenido de porcion dependiente de una imagen de acceso aleatorio, y un segundo tipo de una NALU se define para identificar el contenido de porcion dependiente de una imagen de acceso no aleatorio.
Ademas, se puede aplicar una restriccion que las porciones dependientes solo se usan para RAP o solo se usan para no-RAP. En tales casos, solo es necesario un nuevo tipo de NALU.
(Realizacion 8)
La FIG. 16 es un diagrama que muestra una solucion alternativa. Una cabecera 1610 de la unidad de la NAL es la misma que la cabecera 910 de la unidad de la NAL. La cabecera 1620 de porcion asume la definicion de tipo_unidad_NAL con los valores 15 y 16 de porciones dependientes senaladas como se describio anteriormente.
Sin embargo, el tipo de unidad de la NAL no se usa en el analisis de la bandera de porcion dependiente. Esto habilita el uso del tipo_unidad_NAL de forma opcional para el codificador. En consecuencia, la ventaja de la presente realizacion solo se alcanza cuando el codificador esta determinado para adoptar los nuevos tipos de las NALU.
Entonces, el enrutador solo necesita mirar en el tipo de la NALU. Sin embargo, cuando el codificador no usa los nuevos tipos de las NALU, el enrutador tratana las porciones dependientes como en el estado de la tecnica.
Resumiendo, el indicador de dependencia puede indicarse por un tipo de la unidad de la NAL. Un tipo de la unidad de la NAL predefinido puede reservarse para llevar porciones codificadas cuya cabecera de porcion depende de la
5
10
15
20
25
30
35
40
45
50
55
cabecera de porcion de una porcion precedente. Ventajosamente, se proporciona un tipo de la unidad de la NAL separado que indica la dependencia para imagenes de acceso aleatorio y para imagenes de acceso no aleatorio.
Resumiendo, las realizaciones descritas anteriormente se refieren a la sintaxis de un flujo de bits que lleva secuencias de video codificadas. En particular, las realizaciones descritas anteriormente se refieren la sintaxis referida a las porciones dependientes y de entropfa, de las cuales la cabecera de porcion depende de la cabecera de porcion de una porcion precedente. Para permitir un elemento de red consciente del medio para considerar este tipo de dependencia sin aumentar esencialmente su complejidad y retardo debido al analisis, el indicador de dependencia se senala al inicio de los paquetes o en otras palabras en la proximidad de las cabeceras o parametros que van a ser analizados. Esto se logra por ejemplo, mediante la inclusion del indicador de dependencia al inicio de la cabecera de porcion (FIGS. 10 a 12), posiblemente tras el identificador del conjunto de parametros y antes de la direccion de porcion, o mediante la inclusion del indicador de dependencia antes de la direccion de porcion (FIGS. 10 y 11), o proporcionando el indicador de dependencia en una cabecera NAL (FIG. 14), en un mensaje separado o por un tipo de la NALU especial para NALU que llevan porciones dependientes (FIGS. 15 y 16).
(Modificaciones de las Realizaciones 1 a 8, efecto, y similares)
Son posibles varios cambios sin estar limitados a las Realizaciones 1 a 8, y obviamente se incluyen en el alcance de la presente invencion.
Cada uno de los elementos estructurales en cada una de las realizaciones descritas anteriormente puede configurarse en la forma de un producto de hardware exclusivo (circuito de procesamiento), o se puede realizar mediante la ejecucion de un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales puede ser realizado por medio de una unidad de ejecucion de programa, tal como una CPU y un procesador, que leen y ejecutan el programa de software grabado en un medio de grabacion tal como un disco duro o una memoria semiconductora
Aunque en las Realizaciones 1 a 8 la descripcion asume frentes de ondas, no esta limitado a ellos.
Sin embargo, en el caso de frentes de ondas, todos los sub flujos no pueden iniciarse al mismo tiempo. Como se describio anteriormente, respecto a cada uno de los sub flujos excepto del sub flujo al inicio, el inicio del procesamiento (codificacion o decodificacion) se retrasa por dos LCU del sub flujo precedente. Por lo tanto, en un frente de onda, se requiere mayor acortamiento del procesamiento. En la presente realizacion, mediante la ubicacion del indicador de dependencia (bandera_porcion_dependiente) tras la sintaxis que identifica el PPS y antes de la direccion de porcion, el numero de elementos de sintaxis a ser analizados se puede reducir y asf el procesamiento se reduce.
Ademas, en las Realizaciones 1 a 8 anteriormente descritas, mediante la disposicion del indicador de dependencia mas arriba en la cabecera de porcion (notablemente al inicio), es posible, por ejemplo, comprobar si cada una de las porciones es una porcion dependiente o no en un etapa temprana del procesamiento de la imagen.
En otras palabras, en el momento del inicio de procesamiento en una imagen (codificacion o decodificacion), cuando un paso de comprobacion si cada una de las porciones es una porcion dependiente o no, es posible extraer un punto de inicio del procesamiento paralelo en el momento del inicio del procesamiento de la imagen. En otras palabras, cuando la imagen incluye una pluralidad de porciones normales, es posible extraer un punto de inicio del procesamiento paralelo en el momento del procesamiento en una imagen o en una etapa temprana del procesamiento.
Aqrn, convencionalmente, cuando el indicador de dependencia se dispone tras la direccion de porcion, no es posible comprobar si la porcion es una porcion dependiente o una porcion normal hasta que se completa el analisis de la direccion de porcion. En este caso, el inicio del procesamiento en la porcion normal en el medio de la imagen se retrasa significativamente del inicio del procesamiento en la porcion normal al inicio de la imagen.
A la inversa, en las Realizaciones 1 a 8 anteriormente descritas, dado que es posible comprobar si cada una de las porciones es una porcion dependiente o no en una etapa temprana del procesamiento en una imagen, es posible facilitar el inicio del procesamiento en una porcion normal en el medio de la imagen. En otras palabras, es posible iniciar el procesamiento de la porcion normal en el medio de una imagen al mismo tiempo que la porcion normal al inicio de la imagen.
(Realizacion 9)
El procesamiento descrito en cada una de las realizaciones se puede implementar simplemente en un sistema de ordenador independiente, mediante la grabacion, en un medio de grabacion, de un programa para implementar las configuraciones del metodo de codificacion de imagenes en movimiento (metodo de codificacion de imagen) y el metodo de decodificacion de imagenes en movimiento (metodo de decodificacion de imagen) descritos en cada una de las realizaciones. El medio de grabacion puede ser cualquier medio de grabacion mientras el programa se pueda grabar, tal como un disco magnetico, un disco optico, un disco optico magnetico, una tarjeta IC, y una memoria semiconductora.
5
10
15
20
25
30
35
40
45
50
55
De aqu en adelante, las aplicaciones al metodo de codificacion de imagenes en movimiento (metodo de codificacion de imagen) y el metodo de decodificacion de imagenes en movimiento (metodo de decodificacion de imagen) descritos en cada una de las realizaciones y sistemas usando los mismos seran descritos. El sistema tiene una caractenstica de tener un aparato de codificacion y decodificacion de imagen que incluye un aparato de codificacion de imagen que usa el metodo de codificacion de imagen y un aparato de decodificacion de imagen que usa el metodo de decodificacion de imagen. Se pueden cambiar otras configuraciones en el sistema segun sea apropiado dependiendo de los casos.
La FIG. 17 ilustra una configuracion general de un sistema ex100 que proporciona contenido para implementar servicios de distribucion de contenidos. El area para proporcionar servicios de comunicacion esta dividida en celdas del tamano deseado, y las estaciones base ex106, exl07, ex108, ex109, y ex110 que son estaciones inalambricas fijas son emplazadas en cada celda.
El sistema ex100 que proporciona contenido esta conectado a dispositivos, tales como un ordenador ex111, un asistente digital personal (PDA) ex112, una camara ex113, un telefono movil ex114 y una consola de videojuegos ex115, a traves de Internet ex101, un proveedor ex102 de servicios de Internet, una red ex104 telefonica, asf como las estaciones base ex106 a ex110 respectivamente.
Sin embargo, la configuracion del sistema ex100 que proporciona contenido no esta limitada a la configuracion mostrada en la FIG. 17, y una combinacion en la cual cualquiera de los elementos esten conectados es aceptable. Ademas, cada dispositivo puede estar directamente conectado con la red ex104 telefonica, mas que a traves de las estaciones base ex106 a ex110, que son las estaciones inalambricas fijas. Ademas, los dispositivos pueden estar interconectados entre ellos a traves de una comunicacion inalambrica de corta distancia y otros.
La camara ex113, tal como una video camara digital, es capaz de capturar video. Una camara ex116, tal como una video camara digital, es capaz de capturar tanto imagenes fijas como video. Ademas, el telefono movil ex114 puede ser el que cumpla cualquiera de los estandares como Sistema Global para comunicaciones Moviles (GSM), Acceso Multiple por Division de Codigo (CDMA), Acceso Multiple por Division de Codigo de Banda Ancha (W-CDMA), Evolucion a Largo Plazo (LTE) y Acceso de Paquetes de Alta Velocidad (HSPA). Alternativamente, el telefono movil ex114 puede ser un Sistema de Telefono Util Personal (PHS).
En el sistema ex100 que proporciona contenido, un servidor ex103 de flujo de transmision esta conectado a la camara ex113 y otros a traves de la red ex104 telefonica y la estacion base ex109, que permiten la distribucion de imagenes en un espectaculo en vivo y otros. En tal distribucion, un contenido (por ejemplo, video de un espectaculo de musica en vivo) capturado por el usuario usando la camara ex113 es codificado como se describio anteriormente en cada una de las Realizaciones (esto es, las funciones de la camara como el aparato de codificacion de imagenes de la presente invencion), y el contenido codificado es transmitido al servidor ex103 de flujo de transmision. Por otro lado, el servidor ex103 de flujo de transmision lleva a cabo distribucion de flujos de los datos contenidos transmitidos a los clientes a su solicitud. Los clientes incluye el ordenador ex111, el pDa ex112, la camara ex113, el telefono movil ex114, y la consola de videojuegos ex115 que son capaces de decodificar los datos codificados mencionados anteriormente. Cada uno de los dispositivos que ha recibido los datos distribuidos decodifica y reproduce los datos codificados (esto es, funcionan como el aparato de decodificacion de imagenes segun un aspecto de la presente invencion).
Los datos capturados pueden ser codificados por la camara ex113 o el servidor ex103 de flujo de transmision que transmite los datos, o los procesos de codificacion pueden compartirse entre la camara ex113 y el servidor ex103 de flujo de transmision. Similarmente, los datos distribuidos pueden ser decodificados por los clientes o el servidor ex103 de flujo de transmision, o los procesos de decodificacion pueden compartirse entre los clientes y el servidor ex103 de flujo de transmision. Ademas, los datos de las imagenes fijas y el video capturado por no solo la camara ex113 sino tambien por la camara ex116 pueden ser transmitidos al servidor ex103 de flujo de transmision a traves del ordenador exlll. Los procesos de codificacion pueden realizarse mediante la camara ex116, el ordenador ex111, o el servidor ex103 de flujo de transmision, o compartidos entre ellos.
Ademas, los procesos de codificacion y decodificacion pueden ser realizados por un LSI ex500 generalmente incluido en cada ordenador ex111 y los dispositivos. El lSi ex500 puede estar configurado de un unico chip o una pluralidad de chips. El software para codificar y decodificar el video puede estar integrado en algun tipo de medio de grabacion (tal como un CD-ROM, un disco flexible, y un disco duro) que es legible por el ordenador ex111 y otros, y los procesos de codificacion y decodificacion pueden ser realizados usando el software. Ademas, cuando el telefono movil ex114 esta equipado con una camara, los datos de imagenes obtenidas por la camara pueden ser transmitidos. Los datos de video son datos codificados por el LSI ex500 incluido en el telefono movil ex114.
Ademas, el servidor ex103 de flujo de transmision puede estar compuesto de servidores y ordenadores, y puede descentralizar datos y procesar los datos descentralizados, grabar, o distribuir datos.
Como se describio anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema ex100 que proporciona contenido. En otras palabras, los clientes pueden recibir y decodificar informacion transmitida por el
5
10
15
20
25
30
35
40
45
50
55
60
usuario, y reproducir y decodificar datos en tiempo real en el sistema ex100 que proporciona contenido, de forma que el usuario que no tienen ningun derecho y un equipo particular puede implementar difusion personal.
Aparte del ejemplo del sistema ex100 que proporciona contenido, el menos un aparato de codificacion de imagenes en movimiento (aparato de codificacion de imagenes) y el aparato de decodificacion de imagenes en movimiento (aparato de decodificacion de imagenes) descritos en cada una de las Realizaciones puede ser implementado en un sistema ex200 de difusion digital ilustrado en la FIG. 18. Mas espedficamente, una estacion ex201 de difusion se comunica o transmite, a traves de ondas de radio a un satelite ex202 de difusion, datos multiplexados obtenidos mediante la multiplexacion de datos de audio y otros en datos de video. Los datos de video son datos codificados por el metodo de codificacion de imagenes en movimiento descrito en cada una de las Realizaciones (esto es, datos codificados por el aparato de codificacion de imagenes de la presente invencion). Tras recibir los datos multiplexados, el satelite ex202 de difusion transmite ondas de radio para difusion. Entonces, una antena ex204 de uso domestico con una funcion de recepcion de difusion de satelite recibe las ondas de radio. A continuacion, un dispositivo como un televisor (receptor) ex300 y un decodificador de television (STB) ex217 decodifican los datos multiplexados recibidos, y reproducen los datos decodificados (esto es, funciona como el aparato de decodificacion de imagenes segun un aspecto de la presente invencion).
Ademas, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados grabados en un medio ex215 de grabacion, tal como un DVD y un BD, o (i) codifica senales de video en el medio ex215 de grabacion, y en algunos casos, escribe datos obtenidos mediante la multiplexacion de una senal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento como se muestra en cada una de las Realizaciones. En este caso, las senales de video reproducidas son visualizadas en el monitor ex219, y pueden ser reproducidas por cualquier dispositivo o sistema que use el medio ex215 de grabacion en el cual los datos multiplexados estan grabados. Es tambien posible implementar el aparato de decodificacion de imagenes en movimiento en el decodificador de television ex217 conectado al cable ex203 para television por cable o a la antena ex204 para difusion satelital y/o terrestre, para visualizar las senales de video en el monitor ex219 del televisor ex300. El aparato de decodificacion de imagenes en movimiento puede implementarse no solo en el decodificador de television sino en el televisor ex300.
La FIG. 19 ilustra el televisor (receptor) ex300 que usa el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento descrito en cada una de las Realizaciones. El televisor ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos mediante la multiplexacion de datos de audio sobre datos de video, a traves de la antena ex204 o el cable ex203, etc. que recibe una difusion; una unidad ex302 de modulacion/demodulacion que demodula los datos multiplexados recibidos o modula datos en datos multiplexados a ser suministrados fuera; y una unidad ex303 de multiplexacion/demultiplexacion que demultiplexa los datos multiplexados modulados en datos de video y datos de audio, o multiplexa datos de video y datos de audio codificados por una unidad ex306 de procesamiento de senal en datos.
El televisor ex300 ademas incluye: una unidad ex306 de procesamiento de senal que incluye una unidad ex304 de procesamiento de senal de audio y una unidad ex305 de procesamiento de senal de video que decodifica datos de audio y datos de video y codifica datos de audio y datos de video, (que funciona como el aparato de codificacion de imagenes y el aparato de decodificacion de imagenes segun los aspectos de la presente invencion), respectivamente; y una unidad ex309 de salida que incluye un altavoz ex307 que proporciona la senal de audio decodificada, y una unidad ex308 de visualizacion que muestra la senal de video decodificada, tal como un monitor. Ademas, el televisor ex300 incluye una unidad ex317 de interfaz que incluye una unidad ex312 de entrada de operacion que recibe una entrada de una operacion de usuario. Ademas, el televisor ex300 incluye una unidad ex310 de control que controla en general cada elemento constituyente del televisor ex300, y una unidad ex311 de circuito de alimentacion que suministra alimentacion a cada uno de los elementos. Ademas de la unidad ex312 de entrada de operacion, la unidad ex317 de interfaz puede incluir: un puente ex313 que esta conectado a un dispositivo externo, tal como el lector/grabador ex218; una unidad ex314 de ranura para habilitar el acoplamiento del medio ex216 de grabacion tal como una tarjeta SD; un controlador ex315 a ser conectado a un medio de grabacion externo, tal como un disco duro; y un modem ex316 a ser conectado a la red telefonica. Aqrn, el medio ex216 de grabacion puede grabar electricamente informacion usando un elemento de memoria semiconductor no volatil/volatil de almacenamiento. Los elementos constituyentes del televisor ex300 estan conectados entre ellos a traves de un bus smcrono.
Primero, se describira la configuracion en la cual el televisor ex300 decodifica datos multiplexados obtenidos desde fuera a traves de la antena ex204 y otros y reproduce los datos decodificados. En el televisor ex300, tras una operacion de usuario a traves de un mando ex220 a distancia y otros, la unidad ex303 de multiplexacion/demultiplexacion demultiplexa los datos multiplexados demodulados por la unidad ex302 de modulacion/demodulacion, bajo el control de la unidad ex310 de control que incluye una CPU. Ademas, la unidad ex304 de procesamiento de senal de audio decodifica los datos de audio demultiplexados, y la unidad ex305 de procesamiento de senal de video decodifica los datos de video demultiplexados, usando el metodo de decodificacion descrito en cada una de las Realizaciones, en el televisor ex300. La unidad ex309 de salida proporciona la senal de video y la senal de audio decodificadas de salida, respectivamente. Cuando la unidad ex309 de salida proporciona la senal de video y la senal de audio, las senales pueden ser almacenadas temporalmente en las memorias
5
10
15
20
25
30
35
40
45
50
55
60
intermedias (buffers) ex318 y ex319, y otras para que las senales se reproduzcan en sincroma entre ellas. Ademas, el televisor ex300 puede leer datos multiplexados no a traves de una difusion y otros sino desde el medio ex215 y ex216 de grabacion, tal como un disco magnetico, un disco optico, y una tarjeta SD. A continuacion, se describira una configuracion en la cual el televisor ex300 codifica una senal de audio y una senal de video, y transmite los datos afuera o escribe los datos en un medio de grabacion. En el televisor ex300, tras una operacion de usuario a traves de un mando ex220 a distancia y otros, la unidad ex304 de procesamiento de senal de audio codifica una senal de audio, y la unidad ex305 de procesamiento de senal de video codifica una senal de video, bajo el control de la unidad ex310 de control usando el metodo de codificacion descrito en cada una de las Realizaciones. La unidad ex303 multiplexa la senal de video y la senal de audio codificadas, y proporciona la senal resultante afuera. Cuando la unidad ex303 de multiplexacion/demultiplexacion multiplexa la senal de video y la senal de audio, las senales pueden ser almacenadas temporalmente en las memorias intermedias (buffers) ex320 y ex321, y otras para que las senales se reproduzcan en sincroma entre ellas. Aqm, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser varias como se ilustra, o al menos una memoria intermedia puede ser compartida en el televisor ex300. Ademas, los datos pueden ser almacenados en una memoria intermedia para que se pueda evitar el exceso de flujo o la falta de flujo entre la unidad ex302 de modulacion/demodulacion y la unidad ex303 de multiplexacion/demultiplexacion, por ejemplo.
Ademas, el televisor ex300 puede incluir una configuracion para recibir una entrada AV desde un microfono o una camara ademas de la configuracion para obtener datos de audio y video desde una difusion o un medio de grabacion, y puede codificar los datos obtenidos. Aunque el televisor ex300 puede codificar, multiplexar, y proporcionar datos de salida en la descripcion, puede ser solo capaz de recibir, decodificar, y proporcionar datos de salida pero no de codificar, multiplexar y proporcionar datos de salida.
Ademas, cuando el lector/grabador ex218 lee o escribe datos multiplexados desde o en un medio de grabacion, uno entre el televisor ex300 y el lector/grabador ex218 puede decodificar y codificar los datos multiplexados, y el televisor ex300 y el lector/grabador ex218 pueden compartir la decodificacion o codificacion.
Como un ejemplo, la FIG. 20 ilustra una configuracion de una unidad ex400 de reproduccion/grabacion de informacion cuando los datos se leen o escriben desde o en un disco optico. La unidad ex400 de reproduccion/grabacion de informacion incluye elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406, y ex407 que seran descritos en adelante. El cabezal ex401 optico irradia un punto laser en una superficie de grabacion del medio ex215 de grabacion que es un disco optico para escribir informacion, y detecta luz reflejada desde la superficie de grabacion en el medio ex215 de grabacion para leer la informacion. La unidad ex402 de grabacion de modulacion dirige electricamente un laser semiconductor incluido en el cabezal ex401 optico, y modula la luz laser segun los datos grabados. La unidad ex403 de demodulacion de reproduccion amplifica una senal de reproduccion obtenida mediante la deteccion electrica de la luz reflejada desde la superficie de grabacion usando un foto detector incluido en el cabezal ex401 optico, y demodula la senal de reproduccion separando una componente de senal grabada en el medio ex215 de grabacion para reproducir la informacion necesaria. La memoria intermedia ex404 mantiene temporalmente la informacion a ser grabada en el medio ex215 de grabacion y la informacion reproducida desde el medio ex215 de grabacion. El motor ex405 de disco rota el medio ex215 de grabacion La unidad ex406 de control servo mueve el cabezal ex401 optico a una pista de informacion predeterminada mientras controla el controlador de rotacion del motor ex405 del disco para seguir el punto laser. La unidad ex407 de control del sistema controla en general la unidad ex400 de reproduccion/grabacion de informacion. Los procesos de lectura y escritura pueden ser implementados por la unidad ex407 de control del sistema usando varia informacion almacenada en la memoria intermedia ex404 y generando y anadiendo nueva informacion segun sea necesario, y a traves de la unidad ex402 de grabacion de modulacion, la unidad ex403 de demodulacion de reproduccion, y la unidad ex406 de control servo que graba y reproduce informacion a traves del cabeza ex401 optico mientras son operados de manera coordinada. La unidad ex407 de control del sistema incluye, por ejemplo, un microprocesador, y ejecuta procesamiento causando que un ordenador ejecute un programa para leer y escribir.
Aunque el cabezal ex401 optico irradia un punto laser en la descripcion, puede realizar grabacion de alta densidad usando luz de campo cercano.
La FIG. 21 ilustra el medio ex215 de grabacion que es un disco optico. En la superficie de grabacion del medio ex215 de grabacion, gmas formadas por surcos en espiral, y una pista ex230 de informacion graba, por adelantado, informacion de direccion que indica una posicion absoluta en el disco segun los cambios y en la forma de los surcos de grna. La informacion de direccion incluye informacion para determinar posiciones de bloques ex231 de grabacion que son una unidad para grabar datos. Reproducir la pista ex230 de informacion y leer la informacion de direccion en un aparato que graba y reproduce datos puede llevar a determinar las posiciones de los bloques de grabacion. Ademas, el medio ex2l5 de grabacion incluye un area ex233 de grabacion de datos, un area ex232 de circunferencia interior, y un area ex234 de circunferencia exterior. El area ex233 de grabacion de datos es un area para usar en la grabacion de datos de usuario. El area ex232 de circunferencia interior y el area ex234 de circunferencia exterior que estan dentro y fuera del area ex233 de grabacion de datos, respectivamente son para uso espedfico excepto para grabar los datos de usuario. La unidad 400 de reproduccion/grabacion de informacion lee y escribe audio codificado, datos de video codificado, o datos multiplexados obtenidos mediante la multiplexacion de audio y datos de video codificados, desde y en el area ex233 de grabacion de datos del medio ex215 de grabacion.
5
10
15
20
25
30
35
40
45
50
55
60
Aunque un disco optico que tiene una capa, tal como un DVD y un BD se describen como un ejemplo en la descripcion, el disco optico no esta limitado a tal, y puede ser un disco optimo que tenga una estructura multicapa y que sea capaz de ser grabado en otra parte aparte de la superficie. Ademas, el disco optico puede tener una estructura para grabacion/reproduccion multidimensional, tal como grabacion de informacion usando luces de colores con diferentes longitudes de onda en la misma porcion del disco optico y para grabar informacion que tenga diferentes capas desde varios angulos.
Ademas, un coche ex210 que tenga una antena ex205 puede recibir datos desde el satelite ex202 y otros, y reproducir video en un dispositivo de visualizacion tal como un sistema ex211 de navegacion del coche instalado en el coche ex210, en el sistema ex200 de difusion digital. Aqm, una configuracion del sistema ex211 de navegacion del coche sera una configuracion, por ejemplo, que incluya una unidad de recepcion de GPS desde la configuracion ilustrada en la FIG. 19. Lo mismo sera verdad para la configuracion del ordenador ex111, el telefono movil ex114, y otros.
La FIG. 22A ilustra el telefono movil ex114 que usa el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento descritos en las realizaciones. El telefono movil ex114 incluye: una antena ex350 para transmitir y recibir ondas de radio a traves de la estacion base ex110; una unidad ex365 de camara capaz de capturar imagenes fijas y en movimiento; y una unidad ex358 de visualizacion tal como una pantalla de cristal lfquido para visualizar los datos tales como video decodificado capturado por la unidad ex365 de camara o recibidos por la antena ex350. El telefono movil ex114 ademas incluye: una unidad de cuerpo principal que incluye una unidad ex366 de teclas de operacion; una unidad ex357 de salida de audio tal como un altavoz para salida de audio; una unidad ex356 de entrada de audio tal como un microfono para entrada de audio; una unidad ex367 de memoria para almacenar video o imagenes fijas, audio grabado, datos codificados o decodificados del video recibido, las imagenes fijas, e-mails, u otros; y una unidad ex364 de ranura que es una unidad de interfaz para medios de grabacion que almacena datos en el mismo modo que la unidad ex367 de memoria.
A continuacion, se describira un ejemplo de una configuracion del telefono movil ex114 con referencia a la FIG. 22B. En el telefono movil ex114, una unidad ex360 de control principal disenada para controlar en general cada unidad del cuerpo principal incluyendo la unidad ex358 de visualizacion ademas de la unidad ex366 de teclas de operacion esta conectada mutuamente, a traves de un bus ex370 smcrono, a una unidad ex361 de circuito de alimentacion, una unidad ex362 de control de entrada de operacion, una unidad ex355 de procesamiento de senal de video, una unidad ex363 de interfaz de camara, una unidad ex359 de control de pantalla de cristal lfquido (LCD), una unidad ex352 de modulacion/demodulacion, una unidad ex353 de multiplexacion/demultiplexacion, una unidad ex354 de procesamiento de senal de audio, la unidad ex364 de ranura y la unidad ex367 de memoria.
Cuando una tecla de fin de llamada o una tecla de encendido es activada por una operacion de usuario, la unidad ex361 de circuito de alimentacion suministra a las unidades respectivas alimentacion desde un paquete de batenas para activar el telefono movil ex114.
En el telefono movil ex114, la unidad ex354 de procesamiento de senal de audio convierte la senal de audio recogida por la unidad ex356 de entrada de audio en modo de conversacion de voz en senales de audio digitales bajo el control de la unidad ex360 de control principal incluyendo una CPU, ROM, y RAM. Entonces, la unidad ex352 de modulacion/demodulacion realiza procesamiento de espectro ensanchado en las senales de audio digitales, y la unidad ex351 de transmision y recepcion realiza la conversion digital a analogico y conversion de frecuencia sobre los datos, para transmitir los datos resultantes a traves de la antena ex350. Tambien, en el telefono movil ex114, la unidad ex351 de transmision y recepcion amplifica los datos recibidos por la antena ex350 en modo de conversacion de voz y realiza conversion de frecuencia y la conversion analogica a digital sobre los datos. Entonces, la unidad ex352 de modulacion/demodulacion realiza el procesamiento de espectro ensanchado inverso sobre los datos, y la unidad ex354 de procesamiento de senal de audio la convierte en senales de audio analogicas, para sacarlas a traves de la unidad ex357 de salida de audio.
Ademas, cuando se transmite un e-mail en el modo de comunicacion de datos, los datos de texto del e-mail introducidos mediante la operacion de la unidad ex366 de teclas de operacion y otros del cuerpo principal son enviados a la unidad ex360 de control principal a traves de la unidad ex362 de control de entrada de operacion. La unidad ex360 de control principal causa que la unidad ex352 de modulacion/demodulacion realice procesamiento de espectro ensanchado en los datos de texto, y la unidad ex351 de transmision y recepcion realiza la conversion digital a analogico y la conversion de frecuencia en los datos resultantes para transmitir los datos a la estacion base ex110 a traves de la antena ex350. Cuando se recibe un e-mail, se realiza un procesamiento en los datos recibidos que es aproximadamente inverso al procesamiento de transmitir un e-mail, y los datos resultantes son proporcionados a la unidad ex358 de visualizacion.
Cuando se transmiten video, imagenes fijas, o video y audio en el modo de comunicacion de datos, la unidad ex355 de procesamiento de senal de video comprime y codifica senales de video suministradas desde la unidad ex365 de camara usando el metodo de codificacion de imagenes en movimiento mostrado en cada una de las Realizaciones (esto eso, funciona como el aparato de codificacion de imagenes segun el aspecto de la presente invencion), y transmite los datos de video codificado a la unidad ex353 de multiplexacion/demultiplexacion. En contraste, durante la captura de video, imagenes fijas, y otros, de la unidad ex365 de camara, la unidad ex354 de procesamiento de
5
10
15
20
25
30
35
40
45
50
55
senal de audio codifica senales de audio recogidas por la unidad ex356 de entrada de audio, y transmite los datos de audio codificados a la unidad ex353 de multiplexacion/demultiplexacion.
La unidad ex353 de multiplexacion/demultiplexacion multiplexa los datos de video codificado suministrado desde la unidad ex355 de procesamiento de senal de video y los datos de audio codificado suministrados desde la unidad ex354 de procesamiento de senal de audio, usando un metodo predeterminado. Entonces, la unidad ex352 de modulacion/demodulacion (unidad de circuito de modulacion/demodulacion) realiza procesamiento de espectro ensanchado en los datos multiplexados, y la unidad ex351 de transmision y recepcion realiza conversion digital a analogico y conversion de frecuencia en los datos para transmitir los datos resultantes a traves de la antena ex350.
Cuando se reciben datos de un archivo de video que esta enlazado a una pagina Web y otros en el modo de comunicacion de datos cuando se recibe un email con video y/o audio adjunto, para decodificar los datos multiplexados recibidos a traves de la antena ex350, la unidad ex353 de multiplexacion/demultiplexacion demultiplexa los datos multiplexados en un flujo de bits de datos de video y un flujo de bits de datos de audio, y suministra a la unidad ex355 de procesamiento de senal de video los datos de video codificados y a la unidad ex354 de procesamiento de senal de audio los datos de audio codificados, a traves del bus ex370 smcrono. La unidad ex355 de procesamiento de senal de video decodifica la senal de video usando un metodo de decodificacion de imagenes en movimiento correspondiente con el metodo de codificacion de imagenes en movimiento en cada una de las Realizaciones (esto es, funciona como el aparato de decodificacion de imagenes de la presente invencion), y entonces la unidad ex358 de visualizacion muestra, por ejemplo, el video e imagenes fijas incluidas en el archivo de video enlazado a la pagina Web a traves de la unidad ex359 de control del LCD. Ademas, la unidad ex354 de procesamiento de senal de audio decodifica la senal de audio, y la unidad ex357 de salida de audio proporciona el audio.
Ademas, similarmente al televisor ex300, un terminal tal como el telefono movil ex114 probablemente tenga 3 tipos de configuraciones de implementacion incluyendo no solo (i) un terminal de transmision y recepcion que incluye tanto un aparato de codificacion como un aparato de decodificacion, sino tambien (ii) un terminal de transmision que incluye solo un aparato de codificacion y (iii) un terminal de recepcion que incluye solo un aparato de decodificacion. Aunque el sistema ex200 de difusion digital recibe y transmite los datos multiplexados obtenidos mediante la multiplexacion de datos de audio sobre datos de video en la descripcion, los datos multiplexados pueden ser datos obtenidos mediante la multiplexacion de datos que no son de audio sino datos de caracteres relacionados con el video sobre datos de video, y pueden no ser datos multiplexados sino datos de video en sn
Como tal, el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento en cada una de las realizaciones pueden ser usados en cualquiera de los dispositivos y sistemas descritos. Asf, se pueden obtener las ventajas descritas en cada una de las realizaciones.
Ademas, la presente invencion no esta limitada a las realizaciones, y son posibles varias modificaciones y revisiones sin salirse del alcance de la presente invencion.
(Realizacion 10)
Los datos de video pueden ser generados mediante la conmutacion, segun sea necesario, entre (i) el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento mostrado en cada una de las Realizaciones y (ii) un metodo de codificacion de imagenes en movimiento o un aparato de codificacion de imagenes en movimiento en conformidad con un estandar diferente, tal como MPEG-2, MPEG-4 AVC, y VC-1.
Aqrn, cuando se genera una pluralidad de datos de video conforme a los diferentes estandares y se decodifica a continuacion, los metodos de decodificacion necesitan ser seleccionados para ajustarse a los diferentes estandares. Sin embargo, dado que no se puede detectar con que estandar de la pluralidad de los datos de video a ser decodificados, hay un problema de que no se pueda seleccionar un metodo de decodificacion apropiado.
Para resolver el problema, los datos multiplexados obtenidos mediante la multiplexacion de datos de audio y otros sobre datos de video tienen una estructura que incluye informacion de identificacion que indica a que estandar se ajustan los datos de video. En adelante se describira la estructura espedfica de los datos multiplexados que incluyen los datos de video generados en el metodo de codificacion de imagenes en movimiento y por el aparato de codificacion de imagenes en movimiento mostrado en cada una de las realizaciones. Los datos multiplexados es un flujo digital en el formato de Flujo de Transporte MPEG-2.
La FIG. 23 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIG. 23, los datos multiplexados se pueden obtener mediante la multiplexacion de al menos uno entre un flujo de video, un flujo de audio, un flujo de graficos de presentacion (PG), y un flujo de graficos interactivos. El flujo de video representa video primario y video secundario de una pelfcula, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria a ser mezcladas con la parte de audio primaria, y el flujo de graficos de representacion representan subtttulos de la pelfcula. Aqrn, el video primario es video normal a ser visualizado en una pantalla, y el video secundario es video a ser visualizado en una ventana mas pequena en el video primario. Ademas, el flujo de graficos interactivo representa una pantalla interactiva a ser generada mediante la disposicion de los componentes del GUI en una pantalla. El flujo de video es codificado en el metodo de codificacion de imagenes en movimiento o
5
10
15
20
25
30
35
40
45
50
55
mediante el aparato de codificacion de imagenes en movimiento en cada una de las Realizaciones, o en un metodo de codificacion de imagenes en movimiento o mediante un aparato de codificacion de imagenes en movimiento en conformidad con un estandar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1. El flujo de audio esta codificado segun un estandar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, y PCM lineal.
Cada flujo incluido en los datos multiplexados es identificado por PID. Por ejemplo, 0x1011 esta asignado en el flujo de video a ser usado por el video de una pelfcula, 0x1100 a 0x111F estan asignados a los flujos de audio, 0x1200 a 0x121F estan asignados a los flujos de graficos de presentacion, 0x1400 a 0x141F estan asignados a los flujos de graficos interactivos, 0x1B00 a 0x1B1F estan asignados a los flujos de video a ser usados por el video secundario de la pelfcula, y 0x1A00 a 0x1A1F estan asignados a los flujos de audio a ser usados por el video secundario a ser mezclado con el audio primario.
La FIG. 24 ilustra esquematicamente como se multiplexan los datos. Primero, un flujo ex235 de video compuesto de tramas de video y un flujo ex238 de audio compuesto de tramas de audio son transformados en un flujo de paquetes ex236 PES y un flujo de paquetes ex239 PES, y ademas en paquetes ex237 TS y paquetes ex240 TS, respectivamente. Similarmente, los datos del flujo ex241 de graficos de presentacion y datos de un flujo ex244 de graficos interactivos son transformados en un flujo de paquetes ex242 PES y un flujo de paquetes ex245 PES, y ademas en paquetes ex243 TS y paquetes ex246 TS, respectivamente. Estos paquetes TS son multiplexados en un flujo para obtener datos ex247 multiplexados.
La FIG. 25 ilustra como un flujo de video es almacenado en un flujo de paquetes PES en mas detalle. La primera barra en la FIG. 25 muestra un flujo de tramas de video en un flujo de video. La segunda barra muestra el flujo de paquetes PES. Como se indica por las flechas denotadas como yy1, yy2, yy3 y yy4 en la FIG. 25, el flujo de video es dividido en imagenes como imagenes I, imagenes B, e imagenes P cada una de las cuales es una unidad de presentacion de video, y las imagenes son almacenadas en una carga de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene una cabecera PES, y la cabecera PES almacena una Marca de Tiempo de Presentacion (PTS) que indica un momento de visualizacion de la imagen, y una Marca de Tiempo de Decodificacion (DTS) que indica un momento de decodificacion de la imagen.
La FIG. 26 ilustra un formato de paquetes TS a ser finalmente escritos en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes que incluye una cabecera TS de 4 bytes que tiene informacion, tal como un PID para identificar un flujo y una carga de Ts de 184 bytes para almacenar datos. Los paquetes PES son divididos, y almacenados en las cargas TS, respectivamente. Cuando se usa una ROM BD, a cada uno de los paquetes TS se le da una Cabecera Extra TP de 4 bytes, resultando asf en paquetes origen de 192 bytes. Los paquetes origen son escritos en los datos multiplexados. Las Cabeceras Extra TP almacenan informacion tal como una Marca de Tiempo de Llegada (ATS). La ATS muestra un momento de inicio de la transferencia en el cual cada uno de los paquetes TS ha de ser transferido a un filtro PID. Los paquetes origen son dispuestos en los datos multiplexados como se muestra en la parte inferior de la FIG. 26. Los numeros que aumentan desde la cabecera de los datos multiplexados son llamados numeros de paquetes origen (SPN).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no solo flujos de audio, video, subtftulos y otros, sino tambien una Tabla Asociada del Programa (PAT), una Tabla de Correspondencia del Programa (PMT), y una Referencia de Reloj del Programa (PCR). La PAT muestra lo que un PID en una PMT usada en los datos multiplexados indica, y un PID de la PAT en sf es registrada a cero. La PMT almacena PID de los flujos de video, audio, subtftulos y otros incluidos en los datos multiplexados, e informacion de atributos de los flujos correspondientes a los PID. La PMT tambien tiene varios descriptores relativos a los datos multiplexados. Los descriptores tienen informacion tal como informacion de control de copia que muestra si la copia de los datos multiplexados esta permitida o no. La PCR almacena informacion de tiempo STC correspondiente a una ATS que muestra cuando el paquete PCR es transferido a un decodificador, para lograr la sincronizacion entre el Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATS, y un Reloj de Hora del Sistema (STC) que es un eje de tiempo de PTS y DTS.
La FIG. 27 ilustra la estructura de datos de una PMT en detalle. Una cabecera PMT es dispuesta en la parte superior de la PMT. La cabecera PMT describe la longitud de los datos incluidos en la PMT y otros. Una pluralidad de descriptores relativos a los datos multiplexados es dispuesta tras la cabecera PMT. Informacion tal como la informacion de control de copia es descrita en los descriptores. Tras los descriptores, se dispone una pluralidad de piezas de informacion de flujo relativas a los flujos incluidos en los datos multiplexados. Cada pieza de informacion de flujo incluye descriptores de flujo cada uno describiendo informacion, tal como un tipo de flujo para identificar un codec de compresion de un flujo, un PID del flujo, e informacion de atributos del flujo (tal como una tasa de trama o una relacion de aspecto). Los descriptores de flujo son iguales en numero al numero de flujos en los datos multiplexados.
Cuando los datos multiplexados son grabados en un medio de grabacion y otros, son grabados junto con archivos de informacion de datos multiplexados.
Cada uno de los archivos de informacion de datos multiplexados es informacion de gestion de los datos multiplexados como se muestra en la FIG. 28. Los archivos de informacion de datos multiplexados se corresponden
5
10
15
20
25
30
35
40
45
50
55
uno a uno con los datos multiplexados, y cada uno de los archivos incluye informacion de datos multiplexados, informacion de atributos de flujo, y una correspondencia de entrada.
Como se ilustra en la FIG. 28, los datos multiplexados incluyen una tasa de sistema, un momento de inicio de reproduccion, y un momento de fin de reproduccion. La tasa de sistema indica la tasa de transferencia maxima en la cual un decodificador objetivo del sistema que sera descrito mas tarde transfiere los datos multiplexados a un filtro PID. Los intervalos de las ATS incluidas en los datos multiplexados son establecidas a no mas altas que una tasa de sistema. El momento de inicio de reproduccion indica un PTS en una trama de video en la cabecera de los datos multiplexados. Un intervalo de una trama es anadido a un PTS en una trama de video en el final de los datos multiplexados, y el PTS se establece al momento final de reproduccion.
Como se muestra en la FIG. 29, una pieza de informacion de atributo es registrada en la informacion de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada pieza de informacion de atributo tiene informacion diferente segun si el flujo correspondiente es un flujo de video, un flujo de audio, un flujo de graficos de representacion, o un flujo de graficos interactivos. Cada pieza de informacion de atributo de flujo de video porta informacion que incluye que tipo de codec de compresion es usado para comprimir el flujo de video, y la resolucion, relacion de aspecto y tasa de trama de las piezas de datos de imagenes que son incluidas en el flujo de video. Cada pieza de informacion de atributo de flujo de audio porta informacion que incluye que tipo de codec de compresion es usado para comprimir el flujo de audio, cuantos canales son incluidos en el flujo de audio, que idioma soporta el flujo de audio, y como de alta es la frecuencia de muestreo. La informacion de atributo de flujo de video y la informacion de atributo de flujo de audio son usadas para inicializar un decodificador antes de que el reproductor reproduzca la informacion.
En la presente realizacion, los datos multiplexados a ser usados son de un tipo de flujo incluido en la PMT. Ademas, cuando los datos multiplexados son grabados en un medio de grabacion, se usa la informacion de atributo del flujo de video incluida en la informacion de los datos multiplexados. Mas espedficamente, el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento descritos en cada una de las Realizaciones incluyen un paso o una unidad para asignar informacion unica que indique los datos de video generados por el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento en cada una de las Realizaciones, al tipo de flujo incluido en la PMT o la informacion de atributo de flujo de video. Con la configuracion, los datos de video generados por el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento descritos en cada una de las Realizaciones se pueden distinguir de datos de video que se ajustan a otro estandar.
Ademas, la FIG. 30 muestra pasos del metodo de decodificacion de imagenes en movimiento segun la presente realizacion. En el Paso exS100, el tipo de flujo incluido en la PMT o la informacion de atributo de flujo de video se obtiene desde los datos multiplexados. A continuacion, en el Paso exS101, se determina si el tipo de flujo o la informacion de atributo de flujo de video indican o no que los datos multiplexados son generados por el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento en cada una de las Realizaciones. Cuando se determina que el tipo de flujo o la informacion de atributo de flujo de video indican que los datos multiplexados son generados por el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento en cada una de las Realizaciones, en el Paso exS102, se realiza la decodificacion mediante el metodo de decodificacion de imagenes en movimiento en cada una de las Realizaciones. Ademas, cuando el tipo de flujo o la informacion de atributo de flujo de video indican conformidad con los estandares convencionales, tales como MPEG-2, MPEG-4 AVC, y VC-1, en el Paso exS103, se realiza la decodificacion mediante un metodo de decodificacion de imagenes en movimiento en conformidad con los estandares convencionales.
Como tal, asignar un nuevo valor unico al tipo de flujo o la informacion de atributo de flujo de video permite determinar si el metodo de decodificacion de imagenes en movimiento o el aparato de decodificacion de imagenes en movimiento que son descritos en cada una de las Realizaciones pueden realizar decodificacion o no. Aun cuando los datos multiplexados se ajustan a un estandar diferente, se puede seleccionar un metodo o aparato de decodificacion apropiado. Asf, se vuelve posible decodificar informacion sin errores. Ademas, el metodo o aparato de codificacion de imagenes en movimiento, o el metodo o aparato de decodificacion de imagenes en movimiento en la presente realizacion se pueden usar en los dispositivos y sistemas descritos anteriormente.
(Realizacion 11)
Cada uno del metodo de codificacion de imagenes en movimiento, el aparato de codificacion de imagenes en movimiento, el metodo de decodificacion de imagenes en movimiento, y el aparato de decodificacion de imagenes en movimiento en cada una de las Realizaciones se consigue tfpicamente en la forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI). Como un ejemplo del LSI, la FIG. 31 ilustra una configuracion del LSI ex500 que esta hecho en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, y ex509 que seran descritos a continuacion, y los elementos estan conectados entre sf a traves de un bus ex510. La unidad ex505 de circuito de alimentacion es activada por el suministro a cada uno de los elementos cuando la unidad ex505 de circuito de alimentacion se enciende.
5
10
15
20
25
30
35
40
45
50
55
Por ejemplo, cuando se realiza la codificacion, el LSI ex500 recibe una senal AV desde un microfono ex117, una camara ex113, y otros a traves de un AV IO ex509 bajo el control de una unidad ex501 de control que incluye una CPU ex502, un controlador ex503 de memoria, un controlador ex504 de flujo, y una unidad ex5l2 de control de frecuencia portadora. La senal AV recibida es almacenada temporalmente en una memoria ex511 externa tal como una SDRAM. Bajo el control de la unidad ex501 de control, los datos almacenados son segmentados en porciones de datos segun la cantidad y velocidad de procesamiento a ser transmitidos a una unidad ex507 de procesamiento de senal. Entonces, la unidad ex507 de procesamiento de senal codifica una senal de audio y/o una senal de video. Aqm, la codificacion de la senal de video es la codificacion descrita en cada una de las Realizaciones. Ademas, la unidad ex507 de procesamiento de senal a veces multiplexa los datos de audio codificados y los datos de video codificados, y un flujo IO ex506 proporciona los datos multiplexados hacia afuera. Los datos multiplexados proporcionados son transmitidos a la estacion base ex107, o escritos en el medio ex215 de grabacion. Cuando los conjuntos de datos son multiplexados, los datos debenan ser almacenados temporalmente en la memoria intermedia ex508 para que los conjuntos de datos se sincronicen entre sr
Aunque la memoria ex511 es un elemento fuera del LSI ex500, se puede incluir en el LSI ex500. La memoria intermedia ex508 no esta limitada a una memoria intermedia, sino que puede estar compuesta de memorias intermedias. Ademas, el LSI ex500 puede estar hecho en un chip o una pluralidad de chips.
Ademas, aunque la unidad ex501 de control incluye la CPU ex502, el controlador ex503 de memoria, el controlador ex504 de flujo, la unidad ex512 de control de frecuencia portadora, la configuracion de la unidad ex501 de control no esta limitada a tales. Por ejemplo, la unidad ex507 de procesamiento de senal puede ademas incluir una CPU. La inclusion de otra CPU en la unidad ex507 de procesamiento de senal puede mejorar la velocidad de procesamiento. Ademas, como otro ejemplo, la CPU ex502 puede servir como o ser una parte de la unidad ex507 de procesamiento de senal, y, por ejemplo, puede incluir una unidad de procesamiento de senal de audio. En tal caso, la unidad ex501 de control incluye la unidad ex507 de procesamiento de senal o la CPU ex502 incluyendo una parte de la unidad ex507 de procesamiento de senal.
El nombre usado aqm es LSI, pero tambien puede llamarse IC, sistema LSI, super LSI, o ultra LSI dependiendo del grado de integracion.
Ademas, los modos de conseguir la integracion no estan limitados al LSI, y un circuito especial o un procesador de proposito general etcetera pueden tambien conseguir la integracion. La Matriz de Puertas Programables en Campo (FPGA) puede ser programada para permitir la reconfiguracion de la conexion o se puede usar la configuracion de un LSI para el mismo proposito. Tal dispositivo de logica programable puede ejecutar tfpicamente el metodo de codificacion de imagenes en movimiento y/o el metodo de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones anteriores, mediante la carga o lectura de una memoria o similar de uno o mas programas que estan incluidos en el software o firmware.
En el futuro, con los adelantos en tecnologfa de semiconductores, una nueva tecnologfa puede reemplazar al LSI. Los bloques funcionales se pueden integrar usando tal tecnologfa. La posibilidad es que la presente invencion sea aplicada en biotecnologfa.
(Realizacion 12)
Cuando los datos de video generados en el metodo de codificacion de imagenes en movimiento o mediante el aparato de codificacion de imagenes en movimiento descrito en cada una de las realizaciones son decodificados, comparado con cuando los datos de video se ajustan a un estandar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1 son decodificados, la cantidad de procesamiento probablemente aumenta. Asf, el LSI ex500 necesita ser configurado para una frecuencia portadora mas alta que la del CPU ex502 para usarse cuando los datos de video son decodificados ajustandose a un estandar convencional. Sin embargo, cuando la frecuencia portadora se configura mas alta, hay un problema de que el consumo de potencia aumenta.
Para solucionar el problema, el aparato de decodificacion de imagenes en movimiento, tal como el televisor ex300 y el LSI ex500 son configurados para determinar a que estandar se ajustan los datos de video, y conmutar entre las frecuencias portadoras segun el estandar determinado. La FIG. 32 ilustra una configuracion ex800 en la presente realizacion. Una unidad ex803 de conmutacion de frecuencia portadora establece una frecuencia portadora a una frecuencia portadora mas alta cuando los datos de video son generados por el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones. Entonces, la unidad ex803 de conmutacion de frecuencia portadora da instrucciones a una unidad ex801 de procesamiento de decodificacion que ejecuta el metodo de decodificacion de imagenes en movimiento descrito en cada una de las realizaciones para decodificar los datos de video. Cuando los datos de video se ajustan al estandar convencional, la unidad ex803 de conmutacion de frecuencia portadora establece una frecuencia portadora a una frecuencia portadora mas baja que aquella de los datos de video generados por el metodo de codificacion de imagenes en movimiento o el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones. Entonces, la unidad ex803 de conmutacion de frecuencia portadora da instrucciones a la unidad ex802 de procesamiento de decodificacion que se ajusta al estandar convencional para decodificar los datos de video.
5
10
15
20
25
30
35
40
45
50
55
60
Mas espedficamente, la unidad ex803 de conmutacion de frecuencia portadora incluye la CPU ex502 y la unidad ex512 de control de frecuencia portadora en la FIG. 31. Aqm, cada una de la unidad ex801 de procesamiento de decodificacion que ejecuta el metodo de decodificacion de imagenes en movimiento descrito en cada una de las realizaciones y la unidad ex802 de procesamiento de decodificacion que se ajusta al estandar convencional se corresponden con la unidad ex507 de procesamiento de senal en la FIG. 31. La CPU ex502 determina a que estandar se ajustan los datos de video. Entonces, la unidad ex512 de control de frecuencia portadora determina una frecuencia portadora basado en una senal de la CPU ex502. Ademas, la unidad ex507 de procesamiento de senal decodifica los datos de video basado en la senal de la CPU ex502. Por ejemplo, la informacion de identificacion descrita en la Realizacion 10 es usada probablemente para identificar los datos de video. La informacion de identificacion no esta limitada a la descrita en la Realizacion 10 sino que puede ser cualquier informacion mientras que la informacion indique a que estandar se ajustan los datos de video. Por ejemplo, cuando se puede determinar a que estandar se ajustan los datos de video basandose en una senal externa para determinar que los datos de video son usados para un televisor o un disco, etc., la determinacion puede hacerse basandose en tal senal externa. Ademas, la CPU ex502 selecciona una frecuencia portadora basandose en, por ejemplo, una tabla de busqueda en la cual se asocian los estandares de los datos de video con las frecuencias portadoras como se muestra en la FIG. 34. La frecuencia portadora se puede seleccionar mediante el almacenamiento de la tabla de busqueda en la memoria intermedia ex508 y en una memoria interna de un LSI, y con referencia a la tabla de busqueda por la CPU ex502.
La FIG. 33 ilustra los pasos para ejecutar un metodo en la presente realizacion. Primero, en el Paso exS200, la unidad ex507 de procesamiento de senal obtiene informacion de identificacion desde los datos multiplexados. A continuacion, en el Paso exS201, la CPU ex502 determina si los datos de video son generados o no por el metodo de codificacion y el aparato de codificacion descritos en cada una de las realizaciones, basandose en la informacion de identificacion. Cuando se generan los datos de video mediante el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones, en el Paso exS202, la CPU ex502 transmite una senal para establecer la frecuencia portadora a una frecuencia portadora mas alta a la unidad ex512 de control de frecuencia portadora. Entonces, la unidad ex512 de control de frecuencia portadora establece la frecuencia portadora a la frecuencia portadora mas alta. Por otro lado, cuando la informacion de identificacion indica que los datos de video se ajustan al estandar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, en el Paso exS203, la CPU ex502 transmite una senal para establecer la frecuencia portadora a una frecuencia portadora mas baja a la unidad ex512 de control de frecuencia portadora. Entonces, la unidad ex512 de control de frecuencia portadora establece la frecuencia portadora a la frecuencia portadora mas baja que en el caso donde los datos de video son generados por el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones.
Ademas, junto con la conmutacion de las frecuencias portadoras, el efecto de conservacion de potencia se puede mejorar cambiando el voltaje a aplicar al LSI ex500 o a un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia portadora se establece mas baja, el voltaje a aplicar al LSI ex500 o al aparato que incluye el LSI ex500 es probablemente establecido a un voltaje mas bajo que en el caso donde la frecuencia portadora es establecida mas alta.
Ademas, cuando la cantidad de procesamiento para decodificar es mayor, la frecuencia portadora puede establecerse mas alta, y cuando la cantidad de procesamiento para decodificar es menor, la frecuencia portadora puede establecerse mas baja como el metodo para establecer la frecuencia portadora. Asf, el metodo de establecimiento no esta limitado a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video en conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento para decodificar datos de video generados por el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones, la frecuencia portadora se establece probablemente en orden inverso a los establecimientos descritos anteriormente.
Ademas, el metodo para establecer la frecuencia portadora no esta limitado al metodo para establecer la frecuencia portadora mas baja. Por ejemplo, cuando la informacion de identificacion indica que los datos de video son generados por el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones, el voltaje a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 es probablemente establecido mas alto. Cuando la informacion de identificacion indica que los datos de video se ajustan al estandar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, el voltaje a ser aplicado al LSI ex500 o al aparato que incluye el LSI ex500 es establecido probablemente mas bajo. Como otro ejemplo, cuando la informacion de identificacion indica que los datos de video son generados por el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones, la conduccion de la CPU ex502 no es probable que tenga que ser suspendida. Cuando la informacion de identificacion indica que los datos de video se ajustan al estandar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, la conduccion de la CPU ex502 es probablemente suspendida en un momento dado porque la CPU ex502 tiene capacidad de procesamiento extra. Aun cuando la informacion de identificacion indica que los datos de video son generados por el metodo de codificacion de imagenes en movimiento y el aparato de codificacion de imagenes en movimiento descritos en cada una de las realizaciones, en el caso donde la CPU ex502 tiene capacidad de procesamiento extra, la conduccion de la CPU ex502 es probablemente suspendida en un momento dado. En tal caso, el tiempo de suspension es probablemente establecido mas corto que aquel en el caso en que la
5
10
15
20
25
30
35
40
45
50
55
informacion de identificacion indica que los datos de video se ajustan al estandar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1.
En consecuencia, el efecto de conservacion de potencia puede mejorarse mediante la conmutacion entre las frecuencias portadoras segun el estandar al cual se ajusten los datos de video. Ademas, cuando el LSI ex500 o el aparato que incluye el LSI ex500 son conducidos usando una batena, la vida de la batena puede extenderse con el efecto de conservacion de potencia.
(Realizacion 13)
Hay casos donde una pluralidad de datos de video que se ajustan a diferentes estandares, son proporcionados a los dispositivos y sistemas, tal como un televisor y un telefono movil. Para permitir la decodificacion de la pluralidad de datos de video que se ajustan a diferentes estandares, la unidad ex507 de procesamiento de senal del LSI ex500 necesita ajustarse a los diferentes estandares. Sin embargo, los problemas de aumentar la escala del circuito del LSI ex500 y aumentar el coste surgen con el uso individual de las unidades ex507 de procesamiento de senal que se ajustan a los estandares respectivos.
Para resolver el problema, lo que se concibe es una configuracion en la cual la unidad de procesamiento de decodificacion para implementar el metodo de decodificacion de imagenes en movimiento descrito en cada una de las Realizaciones y la unidad de procesamiento de decodificacion que se ajusta al estandar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1 son compartidas parcialmente. Ex900 en la FIG. 35A muestra un ejemplo de la configuracion. Por ejemplo, el metodo de decodificacion de imagenes en movimiento descrito en cada una de las Realizaciones y el metodo de decodificacion de imagenes en movimiento que se ajusta a MPEG-4 AVC tienen, parcialmente en comun, los detalles del procesamiento, tal como codificacion de entropfa, cuantificacion inversa, filtrado de desbloqueo, y prediccion de compensacion de movimiento. Es probable que una unidad ex902 de procesamiento de decodificacion que se ajusta a MPEG-4 AVC sea compartida por operaciones de procesamiento comunes, y que una unidad ex901 de procesamiento de decodificacion dedicada se use para un procesamiento que es unico en un aspecto de la presente invencion y no se ajuste a MPEG-4-AVC. Es probable que una unidad ex902 de procesamiento de decodificacion que se ajusta a MPEG-4 AVC sea compartida por operaciones de procesamiento comunes, y que una unidad ex90l de procesamiento de decodificacion dedicada se use para el procesamiento que es unico en un aspecto de la presente invencion y que no se ajusta a MPEG-4 AVC. La unidad de procesamiento de decodificacion para implementar el metodo de decodificacion de imagenes en movimiento descrito en cada una de las Realizaciones puede compartirse para compartir el procesamiento, y una unidad de procesamiento de decodificacion dedicada puede usarse para procesar unicamente la del MPEG-4 AVC.
Ademas, ex1000 en la FIG. 35B muestra otro ejemplo en el que el procesamiento es parcialmente compartido. Este ejemplo usa una configuracion que incluye una unidad exlOoi de procesamiento de decodificacion dedicada que soporta el procesamiento unico a la presente invencion, una unidad ex1002 de procesamiento de decodificacion dedicada que soporta el procesamiento unico a otra estandar convencional, y una unidad ex1003 de procesamiento de decodificacion que soporta el procesamiento compartido entre el metodo de decodificacion de imagenes en movimiento en la presente invencion y el metodo de decodificacion de imagenes en movimiento convencional. Aqrn, las unidades ex1001 y ex1002 de procesamiento de decodificacion no estan necesariamente especializadas para el procesamiento de la presente invencion y el procesamiento de los estandares convencionales, respectivamente, y pueden ser las capaces de implementar procesamiento general. Ademas, la configuracion de la presente realizacion puede implementarse mediante el LSI ex500.
Como tal, reducir la escala del circuito del LSI y reducir el coste es posible compartiendo la unidad de procesamiento de decodificacion para el procesamiento a ser compartido entre el metodo de decodificacion de imagenes en movimiento en la presente invencion y el metodo de decodificacion de imagenes en movimiento en conformidad con el estandar convencional.
[Aplicabilidad Industrial]
Un metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento segun la presente invencion se pueden aplicar a varios datos multimedia. El metodo de codificacion de imagen y el metodo de decodificacion de imagen segun la presente invencion son utiles como un metodo de codificacion de imagen y un metodo de decodificacion de imagen en almacenamiento, transmision, comunicacion, y similares usando un telefono movil, un dispositivo de DVD, un ordenador personal, y similares.
[Lista de Signos de Referencia]
100
codificador
105
sustractor
110
unidad de transformacion
120
unidad de cuantificacion
10
15
20
130,
o CO CM unidad de transformacion inversa
140,
O "3 CM sumador
150,
O LO CM filtro deconstructor de bloques
160,
O CD CM filtro de bucle adaptativo
170,
270 memoria de trama
180,
O CO CM unidad de prediccion
190
codificador de entrc^a
200
decodificador
290
decodificador de entropfa
o o CO
4^ O O -M O imagen
31, 32, 3i, 41, 42
fila de la LCU
311,
312, 3i1, 321 LCU
500
cabecera de paquete
510
cabecera IP
o CM LO
cn cn o campo de extension
530
cabecera UDP
540
cabecera RTP
560
cabecera de carga
570
cabecera NAL
s1
senal de entrada
s2
senal de prediccion
e, e'
senal de error de prediccion
s', s'
', s3 senal reconstruida

Claims (6)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un metodo de decodificacion de imagen para realizar procesamiento de decodificacion mediante el particionado de una imagen (300, 400) en una pluralidad de porciones (31, 32, 41, 42, 43, 44, ... 4m), el metodo de decodificacion de imagen comprende
    extraer, de un flujo de bits codificado, una bandera de porcion dependiente habilitada que indica si la imagen (300, 400) incluye o no una porcion (42, 43, 44) dependiente en la cual el procesamiento de decodificacion se realiza dependiente de un resultado del procesamiento de decodificacion en una porcion diferente a la porcion actual, una direccion de porcion que indica una posicion de inicio de la porcion actual, y un indicador (601) de dependencia que indica si la porcion actual es la porcion (42, 43, 44) dependiente o no,
    donde la bandera de porcion dependiente habilitada se dispone en un conjunto de parametros comun a las porciones,
    la direccion de porcion se dispone en una cabecera (1310) de porcion de la porcion actual, y el indicador (601) de dependencia se dispone en la cabecera de porcion. caracterizada en que
    el indicador (601) de dependencia se dispone antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
  2. 2. El metodo de decodificacion de imagen segun la reivindicacion 1, donde el indicador (601) de dependencia se extrae del flujo de bits cuando la bandera de porcion dependiente habilitada indica la inclusion de la porcion (42, 43, 44) dependiente.
  3. 3. El metodo de decodificacion de imagen segun una de las reivindicaciones 1 y 2, donde la bandera de porcion dependiente habilitada se dispone al inicio del conjunto de parametros.
  4. 4. El metodo de decodificacion de imagen segun una de las reivindicaciones 1 a 3,
    donde cada una de las porciones (31, 32, 41, 42, 43, 44, ... 4m) incluye una pluralidad de macro bloques (311, 312, ... , 31n, 321, 322), y
    el procesamiento de decodificacion de la porcion (32) actual comienza tras la realizacion del procesamiento de decodificacion en dos de los macro bloques (311, 312) incluidos en una porcion (31) actual inmediatamente precedente.
  5. 5. El metodo de decodificacion de imagen segun una de las reivindicaciones 1 a 4, donde el indicador (601) de dependencia no esta incluido en una cabecera (1520) de porcion de una porcion (31, 41) que se procesa primero para la imagen (300, 400), entre las porciones.
  6. 6. Un aparato de decodificacion de imagen que realiza el procesamiento de decodificacion de imagen mediante el particionado de una imagen (300, 400) en una pluralidad de porciones (31, 32, 41, 42, 43, 44, ... 4m), el aparato de decodificacion de imagen comprende
    un decodificador (290) que extraer, de un flujo de bits codificado, una bandera de porcion dependiente habilitada que indica si la imagen (300, 400) incluye o no una porcion (42, 43, 44) dependiente en la cual el procesamiento de decodificacion se realiza dependiente de un resultado del procesamiento de decodificacion en una porcion diferente a la porcion actual, una direccion de porcion que indica una posicion de inicio de la porcion actual, y un indicador (601) de dependencia que indica si la porcion actual es la porcion (42, 43, 44) dependiente o no,
    donde la bandera de porcion dependiente habilitada se dispone en un conjunto de parametros comun a las porciones,
    la direccion de porcion se dispone en una cabecera (1310) de porcion de la porcion actual, y el indicador (601) de dependencia se dispone en la cabecera (1310) de porcion. caracterizada en que
    el indicador (601) de dependencia se dispone antes de la direccion de porcion y tras un elemento de sintaxis que identifica el conjunto de parametros.
ES13841488.3T 2012-09-26 2013-09-19 Método de codificación de imagen, método de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y dispositivo de codificación/decodificación de imagen Active ES2630359T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261705846P 2012-09-26 2012-09-26
US201261705846P 2012-09-26
US201261711892P 2012-10-10 2012-10-10
US201261711892P 2012-10-10
PCT/JP2013/005541 WO2014050038A1 (ja) 2012-09-26 2013-09-19 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および、画像符号化復号装置

Publications (1)

Publication Number Publication Date
ES2630359T3 true ES2630359T3 (es) 2017-08-21

Family

ID=50385285

Family Applications (4)

Application Number Title Priority Date Filing Date
ES21170281T Active ES2953336T3 (es) 2012-09-26 2013-09-19 Método de decodificación de imagen, dispositivo de decodificación de imagen y medio legible por ordenador
ES16179058.9T Active ES2664361T3 (es) 2012-09-26 2013-09-19 Método de codificación de imagen y dispositivo de codificación de imagen
ES17201617T Active ES2780006T3 (es) 2012-09-26 2013-09-19 Método de decodificación de imagen y aparato de decodificación de imagen
ES13841488.3T Active ES2630359T3 (es) 2012-09-26 2013-09-19 Método de codificación de imagen, método de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y dispositivo de codificación/decodificación de imagen

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES21170281T Active ES2953336T3 (es) 2012-09-26 2013-09-19 Método de decodificación de imagen, dispositivo de decodificación de imagen y medio legible por ordenador
ES16179058.9T Active ES2664361T3 (es) 2012-09-26 2013-09-19 Método de codificación de imagen y dispositivo de codificación de imagen
ES17201617T Active ES2780006T3 (es) 2012-09-26 2013-09-19 Método de decodificación de imagen y aparato de decodificación de imagen

Country Status (21)

Country Link
US (8) US9014494B2 (es)
EP (7) EP3122048B1 (es)
JP (4) JP6172535B2 (es)
KR (2) KR102072832B1 (es)
CN (2) CN108282655B (es)
AU (1) AU2013322008B2 (es)
BR (1) BR112015004140A8 (es)
CA (1) CA2881221C (es)
DK (1) DK3122048T3 (es)
ES (4) ES2953336T3 (es)
HK (1) HK1253286A1 (es)
MX (1) MX339463B (es)
MY (1) MY176984A (es)
PH (3) PH12015500365A1 (es)
PL (3) PL3876536T3 (es)
PT (1) PT3122048T (es)
RU (2) RU2653236C2 (es)
SG (1) SG11201500846TA (es)
TR (1) TR201802584T4 (es)
TW (1) TWI593274B (es)
WO (1) WO2014050038A1 (es)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180038076A (ko) * 2009-12-18 2018-04-13 샤프 가부시키가이샤 복호 장치
CN110035286B (zh) * 2012-07-09 2021-11-12 Vid拓展公司 用于多层视频编码的编解码器架构
CN108282655B (zh) * 2012-09-26 2021-09-10 威勒斯媒体国际有限公司 图像编码和/或解码装置及方法
US9602829B2 (en) * 2012-12-06 2017-03-21 Sony Corporation Decoding device, decoding method, and program
WO2014107065A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 슬라이스 세그먼트의 엔트로피 부호화 방법 및 그 장치, 슬라이스 세그먼트의 엔트로피 복호화 방법 및 그 장치
US9628792B2 (en) 2013-07-15 2017-04-18 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
US10645404B2 (en) * 2014-03-24 2020-05-05 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
WO2015174894A1 (en) * 2014-05-13 2015-11-19 Telefonaktiebolaget L M Ericsson (Publ) Methods, source device, target device and analyser for managing video coding
US10038915B2 (en) * 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
KR102276854B1 (ko) * 2014-07-31 2021-07-13 삼성전자주식회사 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US9762937B2 (en) * 2014-08-07 2017-09-12 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
JP6365102B2 (ja) * 2014-08-14 2018-08-01 富士ゼロックス株式会社 データ処理装置およびプログラム
US10123028B2 (en) * 2014-09-17 2018-11-06 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency
EP3466082B1 (en) * 2016-05-26 2022-01-19 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Broadcast streaming of panoramic video for interactive clients
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
US10805611B2 (en) * 2016-10-18 2020-10-13 Mediatek Inc. Method and apparatus of constrained sequence header
CN106534137B (zh) * 2016-11-18 2020-01-14 浙江宇视科技有限公司 媒体流传输方法及装置
US10469876B2 (en) * 2016-12-22 2019-11-05 Mediatek Inc. Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel
WO2018172234A2 (en) * 2017-03-20 2018-09-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Advanced video data stream extraction and multi-resolution video transmission
EP3614680B1 (en) * 2017-04-17 2024-05-01 Sony Group Corporation Transmission device, transmission method, reception device, reception method, recording device, and recording method
US10291936B2 (en) * 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
CN115115720A (zh) * 2018-04-25 2022-09-27 杭州海康威视数字技术股份有限公司 一种图像解码、编码方法、装置及其设备
US11216923B2 (en) * 2018-05-23 2022-01-04 Samsung Electronics Co., Ltd. Apparatus and method for successive multi-frame image denoising
CN112703736B (zh) 2018-09-14 2022-11-25 华为技术有限公司 视频译码方法,视频译码设备以及非瞬时性计算机可读介质
US11140403B2 (en) 2018-12-20 2021-10-05 Tencent America LLC Identifying tile from network abstraction unit header
WO2020142483A1 (en) * 2018-12-31 2020-07-09 Futurewei Technologies, Inc. Explicit address signaling in video coding
MX2021007872A (es) 2018-12-31 2022-01-18 Huawei Tech Co Ltd Un codificador de video, un decodificador de video y métodos correspondientes.
CN113711600B (zh) * 2019-04-26 2024-06-21 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
US20220256194A1 (en) * 2019-06-20 2022-08-11 Sony Semiconductor Solutions Corporation Image processing apparatus and method
BR112020025895A2 (pt) * 2019-06-24 2021-12-28 Ericsson Telefon Ab L M Métodos, programa de computador, portadora, decodificador, e, codificador.
WO2020263132A1 (en) * 2019-06-28 2020-12-30 Huawei Technologies Co., Ltd. Method and apparatus for lossless still picture and video coding
EP3977745A4 (en) * 2019-06-28 2022-08-10 Huawei Technologies Co., Ltd. STILL IMAGE AND VIDEO CODING METHOD AND APPARATUS
US20220259432A1 (en) 2019-07-17 2022-08-18 Shin-Etsu Chemical Co., Ltd. Ultraviolet curable organopolysiloxane composition
MX2022002247A (es) 2019-09-02 2022-03-22 Beijing Bytedance Network Tech Co Ltd Particion de region de video basada en formato de color.
WO2021045765A1 (en) * 2019-09-05 2021-03-11 Huawei Technologies Co., Ltd. Efficient adaptive loop filter parameter signaling in video coding
US11758193B2 (en) * 2019-11-04 2023-09-12 Hfi Innovation Inc. Signaling high-level information in video and image coding
CN114930834A (zh) 2020-01-03 2022-08-19 华为技术有限公司 编码器、解码器及灵活档次配置的对应方法
AU2021226551A1 (en) * 2020-02-28 2022-09-29 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods simplifying signalling slice header syntax elements
EP4128786A1 (en) * 2020-04-02 2023-02-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. File format schemes allowing efficient roi, stream access and parameter set handling
CN112822514B (zh) * 2020-12-30 2022-06-28 北京大学 基于依赖关系的视频流分组传输方法、系统、终端及介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903742B2 (en) * 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
EP1753242A2 (en) * 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
US8634462B2 (en) * 2007-03-13 2014-01-21 Matthias Narroschke Quantization for hybrid video coding
WO2008126059A2 (en) * 2007-04-17 2008-10-23 Nokia Corporation Feedback based scalable video coding
US20080317124A1 (en) * 2007-06-25 2008-12-25 Sukhee Cho Multi-view video coding system, decoding system, bitstream extraction system for decoding base view and supporting view random access
CN101389021B (zh) * 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
JP2011501497A (ja) * 2007-10-15 2011-01-06 ノキア コーポレイション マルチビュー映像コンテンツのための動きスキップおよびシングルループ符号化
US8126054B2 (en) * 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
EP2286595A1 (en) * 2008-06-16 2011-02-23 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
CN101939994B (zh) * 2008-12-08 2013-07-17 松下电器产业株式会社 图像解码装置及图像解码方法
US8705879B2 (en) * 2009-04-01 2014-04-22 Microsoft Corporation Image compression acceleration using multiple processors
EP2237557A1 (en) * 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
JP4957831B2 (ja) * 2009-08-18 2012-06-20 ソニー株式会社 再生装置および再生方法、並びに記録装置および記録方法
HUE026080T2 (en) * 2009-10-01 2016-05-30 Sk Telecom Co Ltd Process and apparatus for encoding / decoding an image using a distributed layer
KR101504887B1 (ko) * 2009-10-23 2015-03-24 삼성전자 주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
GB2488159B (en) * 2011-02-18 2017-08-16 Advanced Risc Mach Ltd Parallel video decoding
US9338465B2 (en) * 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
EP2837176B1 (en) * 2012-04-12 2016-03-23 Telefonaktiebolaget LM Ericsson (publ) Extension data handling
PT2842313T (pt) * 2012-04-13 2016-12-22 Ge Video Compression Llc Fluxo de dados escaláveis e entidade de rede
US20130343465A1 (en) * 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US20140056356A1 (en) * 2012-08-21 2014-02-27 Motorola Mobility Llc Method and apparatus for efficient signaling of weighted prediction in advanced coding schemes
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
CN108881921B (zh) * 2012-09-26 2021-01-12 太阳专利托管公司 图像编码方法、图像编码装置
CN108282655B (zh) * 2012-09-26 2021-09-10 威勒斯媒体国际有限公司 图像编码和/或解码装置及方法
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
EP2904797B1 (en) * 2012-10-01 2021-08-11 Nokia Technologies Oy Method and apparatus for scalable video coding
GB2521606A (en) * 2013-12-20 2015-07-01 Canon Kk Method and apparatus for transition encoding in video coding and decoding
GB2531005A (en) * 2014-10-06 2016-04-13 Canon Kk Improved encoding process using a palette mode
KR102349788B1 (ko) * 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
WO2020048463A1 (en) * 2018-09-03 2020-03-12 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
BR112020025569A2 (pt) * 2018-09-18 2021-03-23 Huawei Technologies Co., Ltd. codificador de vídeo, decodificador de vídeo e métodos correspondentes

Also Published As

Publication number Publication date
KR102169058B1 (ko) 2020-10-23
TR201802584T4 (tr) 2018-03-21
US11943484B2 (en) 2024-03-26
EP3654649B1 (en) 2021-05-26
EP3122048A1 (en) 2017-01-25
TWI593274B (zh) 2017-07-21
TW201429253A (zh) 2014-07-16
JP2019205183A (ja) 2019-11-28
JP2017192144A (ja) 2017-10-19
US20160241879A1 (en) 2016-08-18
RU2018111944A3 (es) 2021-03-31
US20200195975A1 (en) 2020-06-18
EP2903267A4 (en) 2015-09-09
HK1253286A1 (zh) 2019-06-14
US11632572B2 (en) 2023-04-18
US20170034534A1 (en) 2017-02-02
EP3301923B1 (en) 2020-01-08
EP3122048B1 (en) 2018-01-17
AU2013322008B2 (en) 2016-10-27
JP6317015B2 (ja) 2018-04-25
US20180084282A1 (en) 2018-03-22
PL3122048T3 (pl) 2018-07-31
BR112015004140A8 (pt) 2023-01-24
MY176984A (en) 2020-08-31
US9357234B2 (en) 2016-05-31
KR20150063356A (ko) 2015-06-09
CN108282655B (zh) 2021-09-10
SG11201500846TA (en) 2015-05-28
JP2018125881A (ja) 2018-08-09
RU2015103543A (ru) 2016-11-20
JPWO2014050038A1 (ja) 2016-08-22
BR112015004140A2 (pt) 2019-10-29
ES2953336T3 (es) 2023-11-10
EP3301923A1 (en) 2018-04-04
CA2881221A1 (en) 2014-04-03
EP2903267A1 (en) 2015-08-05
JP6558784B2 (ja) 2019-08-14
DK3122048T3 (en) 2018-03-12
PH12019501972A1 (en) 2021-02-08
EP4351137A3 (en) 2024-05-15
EP3654649A1 (en) 2020-05-20
CN104737541B (zh) 2018-04-10
US10616605B2 (en) 2020-04-07
EP3876536A1 (en) 2021-09-08
ES2780006T3 (es) 2020-08-21
PH12017501838A1 (en) 2018-07-02
US20150131738A1 (en) 2015-05-14
JP6758456B2 (ja) 2020-09-23
US9014494B2 (en) 2015-04-21
EP4221217A1 (en) 2023-08-02
JP6172535B2 (ja) 2017-08-02
US20240196020A1 (en) 2024-06-13
PH12015500365B1 (en) 2015-04-20
KR102072832B1 (ko) 2020-02-03
KR20200013098A (ko) 2020-02-05
EP4351137A2 (en) 2024-04-10
ES2664361T3 (es) 2018-04-19
PH12015500365A1 (en) 2015-04-20
US9872043B2 (en) 2018-01-16
PL3876536T3 (pl) 2023-11-06
EP2903267B1 (en) 2017-04-05
MX339463B (es) 2016-05-27
RU2018111944A (ru) 2019-02-28
US20230209095A1 (en) 2023-06-29
AU2013322008A1 (en) 2015-02-26
AU2013322008A2 (en) 2015-03-05
CA2881221C (en) 2021-04-27
PT3122048T (pt) 2018-04-20
US20140093180A1 (en) 2014-04-03
RU2756093C2 (ru) 2021-09-28
CN104737541A (zh) 2015-06-24
EP3876536B1 (en) 2023-06-14
PL2903267T3 (pl) 2017-09-29
US9503755B2 (en) 2016-11-22
RU2653236C2 (ru) 2018-05-07
MX2015002889A (es) 2015-07-06
CN108282655A (zh) 2018-07-13
PH12017501838B1 (en) 2018-07-02
WO2014050038A1 (ja) 2014-04-03

Similar Documents

Publication Publication Date Title
ES2630359T3 (es) Método de codificación de imagen, método de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y dispositivo de codificación/decodificación de imagen
ES2962366T3 (es) Aparato de codificación de imágenes, aparato de decodificación de imágenes y medio de almacenamiento
ES2718654T3 (es) Procedimiento de codificación de imagen, procedimiento de descodificación de imagen, dispositivo de codificación de imagen, dispositivo de descodificación de imagen y dispositivo de codificación / descodificación de imagen
ES2716579T3 (es) Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes
ES2843502T3 (es) Señalización de banderas de bloque codificado (CBF) de luminancia-crominancia en codificación de vídeo
EP3059975B1 (en) Image coding method, image decoding method, image coding device, and image decoding device
WO2012172791A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置および画像符号化復号装置
ES2782227T3 (es) Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen
JP6562369B2 (ja) 符号化復号方法および符号化復号装置
ES2936058T3 (es) Procedimiento y aparato de codificación de imágenes
JP6361866B2 (ja) 画像処理方法および画像処理装置
WO2013076991A1 (ja) 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
WO2013153808A1 (ja) 画像復号方法および画像復号装置