MX2015002891A - Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen y aparato de codificacion y decodificacion de imagen. - Google Patents

Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen y aparato de codificacion y decodificacion de imagen.

Info

Publication number
MX2015002891A
MX2015002891A MX2015002891A MX2015002891A MX2015002891A MX 2015002891 A MX2015002891 A MX 2015002891A MX 2015002891 A MX2015002891 A MX 2015002891A MX 2015002891 A MX2015002891 A MX 2015002891A MX 2015002891 A MX2015002891 A MX 2015002891A
Authority
MX
Mexico
Prior art keywords
sector
dependent
sectors
image
decoding
Prior art date
Application number
MX2015002891A
Other languages
English (en)
Other versions
MX345003B (es
Inventor
Matthias Narroschke
Thomas Wedi
Semih Esenlik
Original Assignee
Panasonic Ip Corp America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Ip Corp America filed Critical Panasonic Ip Corp America
Publication of MX2015002891A publication Critical patent/MX2015002891A/es
Publication of MX345003B publication Critical patent/MX345003B/es

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

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)

Abstract

Un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada resultante de la codificación de mosaicos y sectores en que se particiona una imagen, incluyendo el método decodificar la señal codificada, donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector y, cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, un segundo mosaico codificado a continuación del primer mosaico no se inicia del sector dependiente.

Description

MÉTODO DE DECODIFICACION DE IMAGEN, MÉTODO DE CODIFICACION DE IMAGEN, APARATO DE DECODIFICACION DE IMAGEN, APARATO DE CODIFICACION DE IMAGEN Y APARATO DE CODIFICACION Y DECODIFICACION DE IMAGEN Campo de la Invención La presente invención se refiere a un método de codificación de imágenes y un método de decodificación de imágenes.
Antecedentes de la Invención En la actualidad, la mayoría de los algoritmos de codificación de video normalizados se basan en la codificación híbrida de video. Los métodos de codificación híbrida de video típicamente combinan varios esquemas diferentes de compresión sin pérdida y con pérdida a fin de lograr la ganancia de compresión deseada. La codificación híbrida de video además es la base de las normas ITU-T (normas H.26x, tales como H.261 y H.263) así como también de las normas ISO/IEC (normas MPEG-X, tales como MPEG-1, MPEG-2 y MPEG-4).
La norma de codificación de video más reciente y avanzada es la que actualmente se denomina codificación de video avanzada (AVC, por sus siglas en inglés) H.264/MPEG-4, resultado de los esfuerzos de normalización efectuados por el Equipo de Video Conjunto (JVT, por sus siglas en inglés), un Ref.252687 equipo conjunto de grupos ITU-T e ISO/IEC MPEG.
El Equipo de Colaboración Conjunto en la Codificación del Video (JCT-VC) también está analizando una norma de codificación de video llamada codificación de video de alta eficiencia (HEVC, por sus siglas en inglés) con el propósito de mejorar la eficiencia relativa a la codificación de video de alta resolución.
Lista de Citas Literatura no de Patentes Literatura no de Patentes 1: "Wavefront Parallel Processing for HEVC Encoding and Decoding" de C. Gordon y colaboradores, no. JCTVC-F274-v2, de la Reunión de Turín, julio de 2011 Literatura no de Patentes 2: "Tiles" de A. Fuldseth y colaboradores, no. JCTVC-F355-vl, de la Reunión en Turín, julio de 2011 Literatura no de Patentes 3: JCTVC-J1003_d7, "High efficiency video coding (HEVC) text specification draft 8" de julio de 2012 Breve Descripción de la Invención Problema téenico Respecto de los métodos de codificación de imágenes y los métodos de decodificación de imágenes, existe el deseo de mejorar la eficiencia en una situación en que se usan ambos tipos de procesamiento: el procesamiento en paralelo de mosaicos y de sectores dependientes.
La presente invención intenta proveer un método de codificación de imágenes y un método de decodificación de imágenes que posibilitan mejorar la eficiencia cuando se usan ambos tipos de procesamiento, el procesamiento en paralelo de mosaicos y de sectores dependientes.
Solución al problema Un método para decodificar imágenes de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada resultante de la codificación de los mosaicos y sectores en que se particiona una imagen, el método comprende decodificar la señal codificada, donde cada uno de los sectores puede ser bien un sector normal que tiene, en un encabezado, información que usa otro sector, o puede ser un sector dependiente, que se descodifica usando la información incluida en un encabezado de sector de otro sector y, cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, no se inicia un segundo mosaico codificado a continuación del primer mosaico desde el sector dependiente.
Estos aspectos generales y específicos pueden implementarse usando un sistema, un método, un circuito integrado, un programa de computación o un medio de grabación legible por computadora, tal como un CD-ROM o bien, cualquier combinación de sistemas, métodos, circuitos integrados, programas de computación o medios de grabación legibles por computadora.
Efectos ventajosos de la Invención La presente invención exitosamente provee un método de codificación de imágenes y un método de decodificación de imágenes que posibilitan mejorar la eficiencia cuando se usan ambos, el procesamiento en paralelo de mosaicos y de sectores dependientes.
Breve Descripción de las Figuras La Figura 1 es un diagrama de bloques que muestra un aparato de codificación de imágenes de acuerdo con las modalidades.
La Figura 2 es un diagrama de bloques que muestra un aparato de decodificación de imágenes de acuerdo con las modalidades.
La Figura 3A es un diagrama esquemático para ilustrar WPP de acuerdo con las modalidades.
FIG 3B es un diagrama esquemático para ilustrar sectores dependientes en WPP de acuerdo con las modalidades.
La Figura 4A es un diagrama esquemático para ilustrar sectores dependientes cuando WPP no se aplica de acuerdo con las modalidades.
La Figura 4B es un diagrama esquemático para ilustrar los sectores dependientes cuando se aplica el WPP, de acuerdo con las modalidades.
La Figura 5 es un diagrama que muestra un encabezado de sector de un sector de entropía o un sector dependiente de acuerdo con las modalidades.
La Figura 6 es un diagrama que muestra una estructura de sectores no admitidos ejemplificativa cuando se aplica el WPP de acuerdo con las modalidades.
La Figura 7 es un diagrama que muestra una estructura de sectores admitidos ejemplificativa cuando se aplica el WPP de acuerdo con las modalidades.
La Figura 8 es un diagrama esquemático que muestra un proceso de inicialización CABAC de acuerdo con las modalidades.
La Figura 9 es un diagrama de flujo para un proceso de determinación de un método de inicialización CABAC para sector dependiente, según las características de un sector precedente de acuerdo con las modalidades.
La Figura 10 es un diagrama que muestra una estructura de sectores ejemplificativa de acuerdo con las modalidades.
La Figura 11 es un diagrama que muestra una estructura de sectores ejemplificativa de acuerdo con las modalidades.
La Figura 12 es un diagrama que muestra la sintaxis ejemplificativa de un encabezado de sector de acuerdo con la modalidad 1.
La Figura 13 es un diagrama de flujo para un proceso de determinación de un método de inicialización CABAC en un sector dependiente de acuerdo con la Modalidad 1.
La Figura 14 es un diagrama que muestra una ilustración ejemplificativa particionada en sectores de acuerdo con la Modalidad 2.
La Figura 15 es un diagrama de flujo para un proceso de determinación de un método de inicialización CABAC de acuerdo con la Modalidad 2.
La Figura 16 es un diagrama que muestra una ilustración ejemplificativa particionada en sectores de acuerdo con la Modalidad 2.
La Figura 17 es un diagrama que muestra una ilustración ejemplificativa particionada en sectores de acuerdo con la Modalidad 2.
La Figura 18 es un diagrama que muestra una ilustración ejemplificativa particionada en sectores de acuerdo con la Modalidad 3.
La Figura 19 es un diagrama que muestra un encabezado de sector de acuerdo con la Modalidad 4.
La Figura 20 es un diagrama que muestra una ilustración ejemplificativa particionada en mosaicos de acuerdo con la Modalidad 4.
La Figura 21A es un diagrama que muestra un orden de escaneo de acuerdo con la Modalidad 4.
La Figura 2IB es un diagrama que muestra un orden de escaneo de acuerdo con la Modalidad 4.
La Figura 22A es un diagrama que muestra una relación entre un mosaico y un sector de acuerdo con la Modalidad 4.
La Figura 22B es un diagrama que muestra una relación entre un mosaico y un sector de acuerdo con la Modalidad 4.
La Figura 22C es un diagrama que muestra una relación entre un mosaico y un sector de acuerdo con la Modalidad 4.
La Figura 23 es un ejemplo de partición de una ilustración en mosaicos y sectores de acuerdo con la Modalidad 4.
La Figura 24 es un diagrama que muestra un orden de decodificación para una ilustración particionada en mosaicos de acuerdo con la Modalidad 4.
La Figura 25A es un diagrama que muestra una estructura de sectores no admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 25B es un diagrama que muestra una estructura de sectores admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 25C es un diagrama que muestra una estructura de sectores admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 26A es un diagrama que muestra una estructura de sectores no admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 26B es un diagrama que muestra una estructura de sectores admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 27A es un diagrama que muestra una estructura de sectores no admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 27B es un diagrama que muestra una estructura de sectores admitidos ejemplificativa de acuerdo con la Modalidad 4.
La Figura 28 muestra una configuración global de un sistema de provisión de contenido para implementar los servicios de distribución de contenido.
La Figura 29 muestra una configuración global de un sistema de difusión digital.
La Figura 30 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La Figura 31 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y graba la información de y en un medio de grabación que es un disco óptico.
La Figura 32 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La Figura 33A muestra un ejemplo de un teléfono celular.
La Figura 33B muestra un diagrama de bloques que ilustra un ejemplo de una configuración de un teléfono celular.
La Figura 34 ilustra una estructura de datos multiplexados.
La Figura 35 muestra esquemáticamente cómo se multiplexa cada corriente de datos multiplexados.
La Figura 36 muestra con mayor detalle cómo se almacena una corriente de video de paquetes PES.
La Figura 37 muestra una estructura de paquetes TS y paquetes de origen en los datos multiplexados.
La Figura 38 ilustra una estructura de datos de una PMT.
La Figura 39 muestra una estructura interna de la información de datos multiplexados.
La Figura 40 muestra una estructura interna de la información de atributos de corriente.
La Figura 41 muestra los pasos para identificar los datos de video.
La Figura 42 muestra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imágenes móviles y el método de decodificación de imágenes móviles de acuerdo con cada una de las modalidades.
La Figura 43 muestra una configuración para conmutar entre frecuencias impulsoras.
La Figura 44 muestra los pasos para identificar los datos de video y conmutar entre frecuencias impulsoras.
La Figura 45 muestra un ejemplo de una tabla de búsqueda en que las normas de datos de video están asociadas con las frecuencias impulsoras.
La Figura 46A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
La Figura 46B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
Descripción Detallada de la Invención (Conocimiento subyacente que forma la base de la presente Invención) En relación con el método de codificación de imágenes y el método de decodificación de imágenes, que se divulgan en la sección de Antecedentes de la Invención, los inventores han encontrado los siguientes problemas.
Primero se describen un aparato de codificación de imágenes y un aparato de decodificación de imágenes en HEVC.
Una entrada de señal de video a un aparato de codificación de imágenes incluye imágenes llamadas, cada una, cuadro (ilustración). Cada cuadro incluye pixeles dispuestos en una matriz bidimensional. En todas las normas precedentemente mencionadas basadas en la codificación híbrida de video, cada cuadro individual se particiona en bloques que incluyen, cada uno, pixeles. El tamaño de los bloques puede variar, por ejemplo, de acuerdo con el contenido de una imagen. Puede usarse un método de codificación diferente según un criterio por bloque. Por ejemplo, el tamaño máximo de los bloques es 64 x 64 pixeles en HEVC. Este tamaño máximo se denomina una unidad de codificación máxima (LCU, por sus siglas en inglés). La LCU puede dividirse recursivamente en cuatro unidades de codificación (CU, por sus siglas en inglés).
En la norma H.264/MPEG-4 AVC, la codificación se efectúa según un criterio por macrobloque (habitualmente el bloque de 16 x 16 pixeles). Existe un caso en que el macrobloque se divide en sub-bloques.
Típicamente, un paso de codificación de la codificación híbrida de video incluye la predicción espacial y/o temporal. En pocas palabras, cada uno de los bloques actuales que deben codificarse se predice usando los bloques espacial o temporalmente adyacentes al bloque actual, es decir, los cuadros de video codificados. A continuación, se calcula un bloque residual, es decir una diferencia entre el bloque actual y el resultado de la predicción. A continuación, el bloque residual se transforma del dominio espacial (pixel) al dominio de frecuencia. La transformación apunta a reducir la correlación de un bloque de entrada.
A continuación, se cuantifica un coeficiente de transformación resultante de la transformación. Esta cuantificación es compresión con pérdida. La compresión sin pérdida se efectúa en el coeficiente de cuantificación así obtenido, usando la codificación de entropía. Además, se codifica la información lateral necesaria para reconstruir la señal de video codificada y se le da salida con la señal de video codificada. Esa información es, por ejemplo, la información sobre la predicción espacial, la predicción temporal y/o la cuantificación.
La Figura 1 es un diagrama de bloques que muestra un aparato de codificación de imágenes eje plificativo 100 de conformidad con la norma H.264/MPEG-4 AVC y/o HEVC.
Un sustractor 105 calcula una señal residual 106 (bloque residual), es decir una diferencia entre un bloque actual que debe codificarse de una señal de imagen de entrada 101 y una correspondiente señal de predicción 181 (bloque de predicción). La señal de predicción 181 es generada por la predicción temporal o la predicción espacial que efectúa una unidad de predicción 180. Puede cambiarse un tipo de la predicción según un criterio por cuadro o bloque. Un bloque y/o un cuadro predicho usando la predicción temporal se denomina ínter-codificado, y un bloque y/o un cuadro predicho usando la predicción espacial se denomina intra-codificado.
Se deriva una señal de predicción usada para la predicción temporal empleando una imagen codificada y decodificada que está almacenada en una memoria. Se deriva una señal de predicción usada para la predicción espacial empleando los valores de pixeles de límite de los bloques codificados y decodificados adyacentes almacenados en la memoria. Además, se determina la cantidad de direcciones de intra-predicción de acuerdo con un tamaño de las unidades de codificación.
La señal residual 106 también se denomina un error de predicción o un residual de predicción. Una unidad de transformación 110 transforma la señal residual 106 para generar un coeficiente de transformación 111. Una unidad de cuantificación 120 cuantifica el coeficiente de transformación 111 para generar un coeficiente de cuantificación 121. Una unidad de codificación de entropía 190 efectúa la codificación de entropía en el coeficiente de cuantificación 121, con el propósito de la reducción adicional de una cantidad de datos que deben almacenarse y de la transmisión sin pérdida. Por ejemplo, la codificación de entropía es la codificación de longitud variable. Además, se determina una longitud de una palabra código en base a una probabilidad de ocurrencia de un código.
Se genera una señal codificada 191 (corriente de bits codificada) a través del procesamiento precedente.
El aparato de codificación de imágenes 100 incluye una unidad de decodificación para obtener una señal de imagen decodificada (señal de imagen reconstruida). Específicamente, una unidad de transformación inversa 130 efectúa la cuantificación inversa y la transformación inversa del coeficiente de cuantificación 121 para generar una señal residual 131. Esa señal residual 131 es estrictamente diferente de la señal residual original 106 debido a un error de cuantificación también denominado ruido de cuantificación.
A continuación, un adicionador 140 agrega la señal residual 131 y la señal de predicción 181 para generar una señal de imagen decodificada 141. Como se indicó precedentemente, para mantener la compatibilidad entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes, cada uno del aparato de codificación de imágenes y el aparato de decodificación de imágenes genera la señal de predicción 181 usando la señal de imagen codificada y decodificada.
Con la cuantificación, el ruido de cuantificación se superpone en la señal de imagen decodificada 141. El ruido superpuesto a menudo difiere en cada uno de los bloques debido a la codificación efectuada según un criterio por bloque. Con esto, cuando se efectúa la codificación especialmente fuerte, los límites de bloque de la señal de imagen decodificada resultan destacados. Tal ruido de bloqueo hace que la calidad de imagen aparezca degradada al reconocimiento visual humano. Para reducir el ruido de bloqueo, un filtro de desbloqueo 150 efectúa el procesamiento de filtro de desbloqueo en la señal de imagen decodificada 141.
Por ejemplo, en procesamiento de filtro de desbloqueo de la norma H.264/MPEG-4 AVC, se selecciona para cada región el procesamiento de filtro adecuado en cada una de las regiones. Por ejemplo, cuando es grande el ruido de bloqueo, se usa un filtro de pase bajo fuerte (banda angosta), y cuando es pequeño el ruido de bloqueo, se usa un filtro de pase bajo débil (banda ancha). La intensidad del filtro de pase bajo se determina de acuerdo con la señal de predicción 181 y la señal residual 131. El procesamiento de filtro de desbloqueo suaviza los bordes de los bloques. Con esto, se amplía la calidad subjetiva de la imagen de la señal de imagen decodificada. Se usa una imagen en la que se ha efectuado el procesamiento de filtro para la predicción de compensación de movimiento de la imagen siguiente. Por consiguiente, este procesamiento de filtro reduce un error de predicción, aumentado así la codificación eficiente.
Un filtro de bucle adaptativo 160 efectúa el procesamiento de desplazamiento adaptativo de muestras y/o el procesamiento de filtro de bucle adaptativo en una señal de imagen decodificada 151 después del procesamiento de filtro de desbloqueo, para generar una señal de imagen decodificada 161. Como en el caso precedente, el procesamiento de filtro de desbloqueo amplía la calidad de imagen subjetiva. En contraste, el procesamiento de desplazamiento adaptativo de muestras (SAO, por sus siglas en inglés) y el procesamiento de filtro de bucle adaptativo (ALF, por sus siglas en inglés) apuntan a aumentar la confiabilidad según un criterio por pixel (calidad objetiva).
El SAO es el procesamiento para agregar un valor de desplazamiento a un pixel de acuerdo con los pixeles adyacentes. El ALF se usa para compensar la distorsión de imagen ocasionada por la compresión. Por ejemplo, el ALF es un filtro Wiener que tiene un coeficiente de filtro determinado de una manera que se minimiza un error cuadrático medio (MSE, por sus siglas en inglés) entre la señal de imagen decodificada 151 y la señal de imagen de entrada 101. Por ejemplo, se calcula un coeficiente del ALF y se transmite según un criterio por cuadro. Más aún, puede aplicarse el ALF a todo un cuadro (imagen) o a una región local (bloque).
Además, puede transmitirse información lateral que indique una región en que deba efectuarse el procesamiento de filtro según un criterio por bloque, por cuadro o por árbol cuaternario.
Para decodificar un bloque ínter-codificado, es necesario almacenar en un búfer de cuadros de referencia 170, parte de una imagen codificada y decodificada. El búfer de cuadros de referencia 170 contiene la señal de imagen decodificada 161 como una señal de imagen decodificada 171. La unidad de predicción 180 efectúa la inter-predicción usando la predicción de compensación de movimiento. Específicamente, un estimador de movimiento busca primero los bloques incluidos en un cuadro de video codificado y decodificado para un bloque de máxima similitud con un bloque actual. Este bloque similar se usa como la señal de predicción 181. Se transmite un desplazamiento (movimiento) relativo entre el bloque actual y el bloque similar como los datos de movimiento, al aparato de decodificación de imágenes. Estos datos de movimiento son, por ejemplo, los vectores de movimiento tridimensionales incluidos en la información lateral provista con los datos de video codificados. Aquí, la expresión "tridimensional" incluye dos dimensiones espaciales y una dimensión temporal.
Debe tenerse que cuenta que para optimizar la exactitud de predicción, puede usarse un vector de movimiento que tiene una resolución espacial de sub-pixel, tal como una resolución de medio pixel y una resolución de un cuarto de pixel. El vector de movimiento que tiene la resolución espacial de sub-pixel indica una ubicación espacial en un cuadro decodificado en que no existe ningún valor de pixel, es decir, una ubicación de un sub-pixel. Por eso, es necesario interpolar espacialmente un valor de pixel para efectuar la predicción de compensación de movimiento. Esa interpolación se efectúa mediante un filtro de interpolación (incluido en la unidad de predicción 180 mostrada en la FIG. 1), por ejemplo.
Tanto en el modo de intra-codificación como en el de inter-codificación, el coeficiente de cuantificación 121 se genera transformando y cuantificando la señal residual 106, es decir la diferencia entre la señal de imagen de entrada 101 y la señal de predicción 181. En general, la unidad de transformación 110 utiliza para esta transformación, la transformada de coseno discreta (DCT, por sus siglas en inglés) bidimensional o la transformación ortogonal, es decir una versión entera de la DCT. Esto reduce eficientemente la correlación de video natural. Además, un componente de baja frecuencia en general es más importante para la calidad de imagen que un componente de alta frecuencia y, por eso, se usan más bits para el componente de baja frecuencia que para el componente de alta frecuencia.
La unidad de codificación de entropía 190 transforma un ordenamiento bidimensional del coeficiente de cuantificación 121 en un ordenamiento unidimensional. Típicamente, el así llamado escaneo zigzag se usa para esta transformación. En el escaneo zigzag, se escanea un ordenamiento bidimensional en un orden predeterminado de un coeficiente CC en la esquina superior izquierda del ordenamiento bidimensional a un coeficiente CA en la esquina inferior derecha del mismo. La energía normalmente se concentra en los coeficientes en la parte superior izquierda del ordenamiento bidimensional que corresponden a una baja frecuencia y, por eso, cuando se efectúa el escaneo zigzag, los últimos valores tienden a ser cero. Con esto, es posible para lograr codificación eficiente usando codificación por longitud como parte o pre-procesamiento de la codificación de entropía.
En la norma H.264/MPEG-4 AVC y la HEVC, se usan diversos tipos de la codificación de entropía. Aunque en algunos elementos de sintaxis se efectúa la codificación de longitud fija, la codificación de longitud variable se efectúa en la mayoría de los elementos de sintaxis. En particular, la codificación adaptativa según el contexto de longitud variable se efectúa en un residual de predicción, y diversos otros tipos de codificación entera se efectúan en otros elementos de sintaxis. Además, hay también un caso en que se usa la codificación aritmética binaria adaptativa según el contexto (CABAC, por sus siglas en inglés).
La codificación de longitud variable posibilita la compresión sin pérdida de una corriente de bits codificada. Sin embargo, las palabras código son de longitud variable y por eso es necesario decodificar continuamente las palabras código. En otras palabras, antes de codificar o decodificar una palabra código precedente, no puede codificarse o decodificarse una palabra código siguiente sin reiniciar (inicializar) la codificación de entropía o sin indicar por separado una ubicación de la primera palabra código (punto de entrada) al efectuar la decodificación.
Se codifica una secuencia de bits en una sola palabra código mediante codificación aritmética en base a un modelo de probabilidad predeterminado. El modelo de probabilidad predeterminado se determina en base a los contenidos de una secuencia de video en el caso de la CABAC. Por eso, la codificación aritmética y la CABAC se efectúan más eficientemente cuando es mayor una longitud de una corriente de bits que debe codificarse. Dicho de otro modo, la CABAC aplicada a la secuencia de bits es más eficiente en un bloque más grande. La CABAC se reinicia en el comienzo de cada secuencia. Dicho de otro modo, el modelo de probabilidad se inicializa en el comienzo de cada secuencia de video con un valor determinado o un valor predeterminado.
Las normas H.264/MPEG-4, H.264/MPEG-4 AVC y HEVC incluyen dos capas funcionales, la capa de codificación de video (VCL, por sus siglas en inglés) y la capa de abstracción de red (NAL, por sus siglas en inglés). La capa de codificación de video provee una función de codificación. La NAL encapsula los elementos de información en unidades estándar llamadas unidades NAL, según una utilización tal como transmisión por un canal o almacenamiento en un dispositivo de almacenamiento. Los elementos de información son, por ejemplo, señales codificadas de error de predicción o la información necesaria para decodificar una señal de video. La información necesaria para decodificar una señal de video es un tipo de predicción, un parámetro de cuantificación, un vector de movimiento, etc.
Cada una de las unidades NAL puede clasificarse en: una unidad VCL NAL que incluye los datos de video comprimidos y la información relacionada; una unidad no VCL que encapsula datos adicionales, tales como un conjunto de parámetros relativos a toda una secuencia de video; e información de ampliación suplementaria (SEI, por sus siglas en inglés) para proveer la información adicional utilizable a fin aumentar la exactitud de decodificación.
Por ejemplo, la unidad no VCL incluye un conjunto de parámetros. El conjunto de parámetros se refiere a un conjunto de parámetros relativos a la codificación y decodificación de una cierta secuencia de video. Los ejemplos del conjunto de parámetros incluyen un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) que incluyen parámetros relativos a la codificación y decodificación de toda una secuencia de video (secuencia de ilustraciones).
El conjunto de parámetros de secuencia tiene una estructura de sintaxis que incluye elementos de sintaxis. Un conjunto de parámetros de ilustración (PPS, por sus siglas en inglés) a la que debe hacerse referencia se especifica mediante pic_parameter_set_id, un elemento de sintaxis incluido en cada encabezado de sector. Además, un SPS al que debe hacerse referencia se especifica mediante seq_parameter_set_id, un elemento de sintaxis incluido en el PPS. Como en el caso precedente, los elementos de sintaxis incluidos en el SPS se aplican a toda la secuencia de video codificada.
El PPS es un conjunto de parámetros que define los parámetros aplicados a la codificación y decodificación de una ilustración incluida en una secuencia de video. El PPS tiene una estructura de sintaxis que incluye elementos de sintaxis. El conjunto de parámetros de ilustración (PPS) al que debe hacerse referencia se especifica mediante pic_parameter_set_id, un elemento de sintaxis incluido en cada encabezado de sector. Como en el caso precedente, los elementos de sintaxis incluidos en el SPS se aplican a toda una ilustración codificada.
Por lo tanto, es más fácil hacer el seguimiento del SPS que el del PPS. Esto es porque el PPS cambia en cada ilustración, en tanto que el SPS permanece constante en toda la secuencia de video que puede durar varios minutos o varias horas.
Un VPS son los parámetros de la capa más alta e incluye la información relativa a las secuencias de video. La información incluida en el VPS es una velocidad de bits, una estructura de estratificación temporal (temporal_layering) de las secuencias de video, etc. Además, el VPS incluye información acerca de una dependencia entre capas (dependencia entre diferentes secuencias de video). Como resultado, el VPS puede considerarse la información sobre las secuencias de video, y puede obtenerse un esbozo de cada una de las secuencias de video en base al VPS.
La Figura 2 es un diagrama de bloques que muestra un aparato de decodificación de imágenes ejemplificativo 200 de conformidad con la norma de codificación de video H.264/MPEG-4 AVC o HEVC.
Se transmite una entrada de señal codificada 201 (corriente de bits) al aparato de decodificación de imágenes 200 a una unidad de decodificación de entropía 290. La unidad de decodificación de entropía 290 descodifica la señal codificada 201 para obtener un coeficiente de cuantificación y los elementos de información necesarios para la decodificación, tales como los datos de movimiento y un modo de predicción. Además, la unidad de decodificación de entropía 290 escanea inversamente el coeficiente de cuantificación obtenido con el propósito de obtener un ordenamiento bidimensional, a fin de generar un coeficiente de cuantificación 291, y da salida al coeficiente de cuantificación 291 a una unidad de transformación inversa 230.
La unidad de transformación inversa 230 cuantifica y transforma inversamente el coeficiente de cuantificación 291 para generar una señal residual 231. La señal residual 231 corresponde a una diferencia obtenida sustrayendo una señal de predicción de una señal de imagen de entrada que no tiene ningún ruido de cuantificación y error y a la que se da entrada a un aparato de codificación de imágenes.
Una unidad de predicción 280 genera una señal de predicción 281 usando la predicción temporal o la predicción espacial. Normalmente, los elementos de información decodificados además incluyen información tal como un tipo de predicción en el caso de la intra-predicción o la información necesaria para la predicción, tal como los datos de movimiento en el caso de la predicción de compensación de movimiento.
Un adicionador 240 agrega la señal residual 231 en un dominio espacial y la señal de predicción 281 generada por la unidad de predicción 280, a fin de generar una señal de imagen decodificada 241. Un filtro de desbloqueo 250 efectúa el procesamiento de filtro de desbloqueo en la señal de imagen decodificada 241 para generar una señal de imagen decodificada 251. Un filtro de bucle adaptativo 260 efectúa el procesamiento de desplazamiento adaptativo de muestras y el procesamiento de filtro de bucle adaptativo en la señal de imagen decodificada 251, para generar una señal de imagen decodificada 261. Se da salida a la señal de imagen decodificada 261 como una imagen de presentación y se almacena como una señal de imagen decodificada 271 en un búfer de cuadros de referencia 270. La señal de imagen decodificada 271 se usa para un posterior bloque de predicción temporal o espacial de una imagen.
En comparación con la norma H.264/MPEG-4 AVC, HEVC tiene una función de asistir de antemano al procesamiento en paralelo de codificación y decodificación. Como en el caso de la H.264/MPEG-4 AVC, HEVC habilita la partición de un cuadro en sectores. Aquí, cada uno de los sectores incluye las LCU consecutivas en un orden de escaneo. En la norma H.264/MPEG-4 AVC, cada sector es decodificable y no se efectúa la predicción espacial entre los sectores. Por eso, es posible efectuar el procesamiento en paralelo según un criterio por sector.
Sin embargo, el sector tiene un encabezado considerablemente grande y no hay ninguna dependencia entre los sectores, disminuyendo así la eficiencia de compresión. Además, cuando la CABAC se efectúa en un bloque de datos pequeño, disminuye la eficiencia de la CABAC.
En respuesta a esto, se ha propuesto el procesamiento en paralelo de frente de onda (WPP, por sus siglas en inglés) para permitir un procesamiento en paralelo más eficiente. En el WPP, después de procesarse un modelo de probabilidad de la segunda LCU de una fila anterior, se usa como una CABAC el modelo de probabilidad empleado para restablecer la primera LCU (LCU inicial) de cada una de las filas LCU (de aquí en adelante llamadas simplemente "filas") de una ilustración. Eso mantiene una dependencia entre bloques. Por eso, es posible decodificar las filas LCU en paralelo. Además, el procesamiento de cada fila se demora dos unidades LCU respecto de la fila anterior.
Se señaliza la información que indica un punto de entrada, una posición en que se inicia la decodificación de una fila LCU, en un encabezado de sector. Debe notarse que la Bibliografía no de patentes (NPL) 1 describe los detalles del WPP.
Hay disponible un método para usar un mosaico como otro enfoque para mejorar la paralelización. Un cuadro (ilustración) se particiona en mosaicos. Cada uno de los mosaicos es rectangular e incluye las unidades LCU. Los límites entre los mosaicos se establecen para particionar la ilustración en matrices. Además, los mosaicos se procesan en un orden de escaneo de trama o multilineal.
Todas las dependencias se pierden en el límite de cada mosaico. La codificación de entropía, tal como la CABAC, se restablece en el comienzo del mosaico. Debe notarse que sólo se aplican el procesamiento de filtro de desbloqueo y el procesamiento de desplazamiento adaptativo de muestras respecto de los límites entre los mosaicos. Por eso, es posible codificar o decodificar los mosaicos en paralelo. Debe notarse que la Bibliografía no de patentes (NPL) 2 y la Bibliografía no de patentes (NPL) 3 describen los detalles de los mosaicos.
Más aún, se han propuesto los conceptos de sector dependiente y sector de entropía para hacer más adecuado el concepto de sector para la paralelización que para la resistencia a errores, el propósito original de los sectores de la norma H.264/MPEG-4 AVC. En otras palabras, en HEVC se usan los siguientes tres tipos de sectores: un sector normal, un sector dependiente y un sector de entropía.
El sector normal es un sector ya conocido de la norma H.264/MPEG-4 AVC. La predicción espacial no puede efectuarse entre los sectores normales. En pocas palabras, la predicción no puede efectuarse respecto de los límites entre sectores. Para decirlo de otro modo, el sector normal se codifica sin hacer referencia a otro sector. La CABAC se reinicia en el comienzo de cada sector para permitir la decodificación por separado del sector.
El sector normal se usa para el comienzo de un cuadro. Dicho de otro modo, cada cuadro debe iniciarse desde el sector normal. El sector normal tiene un encabezado que incluye los parámetros necesarios para decodificar los datos de sector.
El sector de entropía es un sector que habilita la predicción espacial entre un sector superior y el sector de entropía, por ejemplo. Aquí, el sector superior es un sector normal que precede al sector de entropía. El sector superior y el sector de entropía se analizan de manera independiente.
Los datos de sector se analizan de manera independiente respecto del sector superior y el sector de entropía, excepto los elementos de sintaxis de un encabezado de sector. En otras palabras, la decodificación CABAC del sector de entropía requiere los elementos de sintaxis incluidos en un encabezado de sector del sector superior. Por ejemplo, los elementos de sintaxis incluyen información de contacto que indica si los datos de sector incluyen los parámetros de filtrado. Cuando los datos de sector incluyen los parámetros de filtrado, una unidad de decodificación CABAC extrae la información de conmutación. De lo contrario, la unidad de decodificación CABAC no asume el filtrado de los datos. Para decirlo de otro modo, después de analizar un encabezado de sector del sector normal, la unidad de decodificación CABAC puede procesar el sector superior y el sector de entropía en paralelo.
Sin embargo, el sector superior puede ser por ejemplo el sector normal, y se requiere para reconstruir los valores de pixel del sector de entropía. Además, la CABAC se reinicia en el comienzo del sector para permitir el análisis independiente del sector de entropía.
Puede usarse un encabezado de sector más corto que el encabezado de sector del sector normal para el sector de entropía. El encabezado de sector incluye un subconjunto de parámetros de codificación relativos a la información transmitida dentro del encabezado de sector del sector normal. La información no incluida en el encabezado de sector del sector de entropía se copia del encabezado de sector del sector superior.
El sector dependiente es similar a un sector de entropía para el cual no se reinicia la CABAC. El reinicio de la CABAC incluye un proceso de inicialización en que se inicializa una tabla de contexto (tabla de probabilidad) en un valor predeterminado, y un proceso de terminación (proceso terminal) de la codificación aritmética o la decodificación aritmética.
El encabezado de sector del sector superior se usa para analizar y/o decodificar el sector dependiente. Como el sector dependiente no puede analizarse sin el sector superior, cuando no se obtiene el sector superior, no puede decodificarse el sector dependiente. El sector superior habitualmente es un sector que precede el sector dependiente en el orden de codificación y e incluye un encabezado de sector completo. Lo mismo vale para un sector superior del sector de entropía.
En general, el sector de entropía puede considerarse según los parámetros de encabezado de otro sector y por eso la presente invención puede aplicarse tanto al sector dependiente como al sector de entropía.
Como ya se describió, el sector dependiente y el sector de entropía usan el encabezado de sector (la información no incluida en el encabezado de sector del sector dependiente) del sector precedente en el orden de codificación de los sectores. Esta regla se aplica recursivamente. Se reconoce que es referible un sector superior del que depende un sector dependiente objetivo. La referencia incluye el uso de la predicción espacial entre sectores, un estado CABAC común, etc. El sector dependiente utiliza una tabla de contexto CABAC generada al final del sector precedente. De este modo, el sector dependiente continuamente utiliza la tabla generada sin inicializar una tabla CABAC en un valor predeterminado. La NPL 3 describe el sector de entropía y el sector dependiente (véase "dependent_slice_flag" en la página 73, por ejemplo).
En el caso de uso del WPP, cuando un sector dependiente se inicia en el comienzo de una fila LCU y se indica como referible un sector que incluye una LCU ubicada a la derecha superior del comienzo de la fila LCU, el sector dependiente utiliza una tabla de contexto CABAC de la LCU.
La norma HEVC presenta varios perfiles. Un perfil incluye los ajustes de un aparato de codificación de imágenes y un aparato de decodificación de imágenes que es adecuado para una aplicación particular. Por ejemplo, un "perfil principal" incluye sólo los sectores normales y los sectores dependientes, pero no los sectores de entropía.
Como se indicó precedentemente, se encapsula un sector codificado en una unidad NAL, se encapsula además por ejemplo en un protocolo de tiempo real (RTP, por sus siglas en inglés) y por último se encapsula en un paquete de protocolo de Internet (IP, por sus siglas en inglés). Esta pila de protocolo u otra pila de protocolo permiten la transmisión de video codificado en Internet o una red orientada a paquetes, tal como una red propietaria.
Típicamente, una red incluye al menos un enrutador y el enrutador incluye hardware dedicado que opera a velocidad ultra rápida. El enrutador recibe los paquetes IP, analiza sus encabezados y reenvía apropiadamente los paquetes IP a sus respectivos destinos. El enrutador se requiere para procesar la comunicación de muchas fuentes y por eso los paquetes que controlan la lógica deben ser lo más simple posible. El enrutador al menos necesita comprobar los campos de dirección de destino incluidos en los encabezados IP para determinar las vías a través de las cuales se reenvían los paquetes IP. Un enrutador inteligente (consciente de medios) comprueba además los campos dedicados de los encabezados de protocolos de red, tales como los encabezados IP, los encabezados RTP y los encabezados NALU, para proveer más soporte a la calidad de servicio (QoS, por sus siglas en inglés).
Como resulta claro a partir de la descripción precedente de la codificación de video, los diferentes tipos de sectores definidos para el procesamiento en paralelo, tales como el sector dependiente y el sector de entropía, difieren en la significación de la degradación de la imagen cuando se pierden los datos. El sector dependiente no puede analizarse y decodificarse sin el sector superior. Esto es porque una unidad de codificación de entropía o una unidad de decodificación de entropía no pueden reiniciarse en el comienzo del sector dependiente. Por eso, puede decirse que el sector superior es más importante en la reconstrucción de una imagen o video que el sector superior.
En la norma HEVC, el sector dependiente y el sector de entropía tienen una dependencia entre sectores (dependencia dentro de un cuadro) como un aspecto adicional de la dependencia. Esa dependencia no es la única dependencia dentro del cuadro.
Como el procesamiento en paralelo de los sectores se efectúa para cada mosaico, se determinan los contextos de una unidad de codificación aritmética y una unidad de decodificación aritmética por los ajustes predeterminados o los sectores codificados o decodificados. Sin embargo, una dependencia de un encabezado y una dependencia de inicialización de codificación aritmética son diferentes entre sí y por eso hay una posibilidad de demora o de complejidad adicional en contradicción con los propósitos del procesamiento en paralelo y un mecanismo dependiente de sector.
El sector dependiente puede usarse conjuntamente con una herramienta de procesamiento en paralelo, tal como el WPP y los mosaicos. Además, puede generarse un frente de onda (subcorriente) que posibilita reducir la demora de transmisión sin ocasionar pérdida de codificación usando el sector dependiente.
La CABAC no se reinicia para el sector dependiente y por eso el sector dependiente puede usarse como un punto de entrada de una subcorriente CABAC. Además, para indicar un punto de entrada para el análisis independiente, puede señalizarse la información que indica el punto de entrada de una corriente de bits. En particular, cuando se encapsulan dos o más subcorrientes CABAC en un sector normal o un sector dependiente, se señaliza explícitamente un punto de entrada usando la cantidad de bytes para cada subcorriente. Aquí, la subcorriente indica una porción de una corriente analizable por separado en base al punto de entrada. Más aún, cada sector dependiente requiere un encabezado de una unidad NAL y por eso el sector dependiente puede usarse como un "marcador" de un punto de entrada. En pocas palabras, puede señalizarse el punto de entrada correspondiente a tal marcador.
Es posible usar al mismo tiempo un método para señalizar explícitamente un punto de entrada y un método para marcar un punto de entrada a través de un sector dependiente. Aquí, existe una necesidad para identificar un punto de entrada de cada unidad NAL (comienzo de cada encabezado NAL). Debe notarse que puede usarse cualquier método para el método de identificación. Por ejemplo, pueden usarse los siguientes dos métodos.
El primer método es insertar un código de inicio de 3 bytes en el comienzo de cada encabezado NAL, por ejemplo. El segundo método es paquetizar cada unidad NAL en un paquete diferente. Además, puede reducirse un tamaño de un encabezado de sector debido a la dependencia del sector.
Esos métodos permiten el análisis CABAC paralelo de un sector de entropía. Esto es porque la CABAC siempre se reinicia en el comienzo del sector de entropía. En el procesamiento paralelo de la CABAC, puede superarse un cuello de botella por el análisis CABAC paralelo después del procesamiento de reconstrucción de pixeles consecutivos. Específicamente, con una herramienta de paralelización WPP, puede lograrse la decodificación de cada fila LCU mediante un núcleo de procesamiento. Debe notarse que las diferentes filas LCU pueden asignarse a los respectivos núcleos. Por ejemplo, pueden asignarse dos filas a un núcleo o puede asignarse una sola fila a dos núcleos.
La Figura 3A es un diagrama que muestra una ilustración 300 particionada en filas. Cada una de las filas incluye las unidades de codificación máxima (LCU). Se procesan en paralelo una fila 301 (Frente de onda 1) y una fila 302 (Frente de onda 2). Tal como se muestra mediante una flecha de estados CABAC en la FIGURA 3A, después de decodificarse las primeras dos LCU de la fila 301, se inicia el procesamiento de la fila 302. Además, se usan los estados CABAC después de codificarse o decodificarse las primeras dos LCU de la fila 301 para la inicialización CABAC de la fila 302. Por eso, el procesamiento de la fila 302 puede iniciarse una vez finalizado el procesamiento de las primeras dos LCU de la fila 301. En pocas palabras, existe la demora de las dos LCU entre los dos núcleos de procesamiento.
La Figura 3B es un diagrama que muestra un ejemplo de utilización de los sectores dependientes para el WPP. Una ilustración 310 mostrada en la FIGURA 3B incluye las filas 311 a 314. Aquí, la fila 311 (Frente de onda 1), la fila 312 (Frente de onda 2) y la fila 313 (Frente de onda 3) se procesan usando núcleos separados.
Los sectores dependientes permiten que el WPP sea apto para reducir la demora. Los sectores dependientes no tienen ningún encabezado de sector completo. Más aún, cuando se conocen los puntos de entrada (los puntos de entrada de los sectores dependientes que se conocen por la regla precedente), pueden decodificarse independientemente los sectores dependientes de otros sectores. Asimismo, los sectores dependientes admiten el WPP adecuado para las aplicaciones de baja demora sin causar pérdida de codificación.
En un caso normal en que se encapsula una subcorriente (fila LCU) en un sector, es necesario insertar un claro punto de entrada en un encabezado de sector para efectuar con seguridad la codificación de entropía y la decodificación de entropía en paralelo. Por ese motivo, la transmisión del sector puede prepararse sólo después de que la última subcorriente del sector se ha codificado completamente. Además, el encabezado de sector se completa después de que finaliza la codificación de todas las subcorrientes del sector. En otras palabras, la transmisión del comienzo del sector no puede iniciarse a través de la fragmentación de paquetes en la capa RTP/IP hasta que finaliza el procesamiento de todo el sector.
Sin embargo, cuando se usa un sector dependiente, éste puede emplearse como un marcador de punto de entrada y por eso no es necesario efectuar la notificación mediante una señal explícita de un punto de entrada. Por consiguiente, es posible dividir un sector normal en muchos sectores dependientes sin pérdida de codificación. Además, los sectores dependientes pueden transmitirse de inmediato después de que finaliza la codificación de la subcorriente encapsulada (o antes de la codificación, en el caso de la fragmentación de paquetes).
Los sectores dependientes no disminuyen una dependencia de predicción espacial. Además, los sectores dependientes no disminuyen una dependencia de análisis. Esto es porque el análisis de un sector dependiente objetivo normalmente requiere los estados CABAC de un sector precedente.
Cuando no se admite el sector dependiente, puede emplearse cada fila LCU como un sector. Aunque tal configuración reduce la demora de transmisión, al mismo tiempo ocasiona una significativa pérdida de codificación, como se indicó precedentemente.
Los que sigue supone un caso en que un cuadro completo (ilustración) se encapsula en un solo sector. En ese caso, para posibilitar el análisis paralelo, es necesario señalizar, en un encabezado de sector, un punto de entrada de una subcorriente (fila LCU). Eso ocasiona una demora de transmisión en un nivel de cuadro. Para decirlo de otro modo, es necesario modificar el encabezado después de que se codifica todo el cuadro. La propia encapsulación de toda la ilustración en un solo sector no empeora la demora de transmisión. Por ejemplo, puede iniciarse la transmisión de parte del sector antes de completarse por completo la codificación. Sin embargo, cuando se usa el WPP, es necesario modificar posteriormente el encabezado de sector para indicar el punto de entrada. Por eso, es necesario demorar la transmisión de todo el sector.
Como en el caso precedente, la utilización del sector dependiente posibilita la reducción de la demora. Tal como se muestra en la Figura 3B, la ilustración 310 se particiona en la fila 311, un sector normal y las filas 312, 313 y 314, los sectores dependientes. Cuando cada fila es un sector dependiente, es posible demorar la transmisión de una fila sin pérdida de codificación. Esto es porque el sector dependiente no disminuye una dependencia de predicción espacial y reinicia un motor CABAC.
La Figura 4A y la Figura 4B son cada una un diagrama que muestra otro ejemplo de inicialización CABAC. La Figura 4A muestra la inicialización CABAC cuando no se usa el WPP. El WPP y los mosaicos están sin usar. Se admite la utilización conjunta de los sectores normales y los sectores dependientes.
Un sector dependiente (3) copia el encabezado de un sector normal (2). En pocas palabras, el sector normal (2) es un sector superior del sector dependiente (3). El sector dependiente (3) utiliza una tabla de contexto generada al final del sector normal (2). El sector dependiente (3) depende no de un sector normal (1) sino del sector normal (2). En una palabra, no existe la predicción espacial entre el sector normal (1) y el sector dependiente (3).
La Figura 4B es un diagrama que muestra la inicialización CABAC cuando se usa el WPP. Se admite la utilización conjunta de los sectores normales, los sectores dependientes y el WPP.
Un sector dependiente (3) copia el encabezado de un sector normal (2). Se espera que el sector dependiente (3) use una tabla de contexto generada al final de la segunda LCU del sector normal (1). Sin embargo, como el sector (2) es un sector normal, se indica que no puede hacerse referencia a la segunda LCU del sector (1). En pocas palabras, no se hace referencia al sector (1), porque el sector (1) no es un sector inmediatamente precedente de un sector dependiente en el orden de codificación.
Sin embargo, el sector (2) se usa como un sector de referencia para el sector (3) y un sector (4). En otras palabras, cuando ser inicia la decodificación del sector (3), es necesario inicializar los estados CABAC en un valor predeterminado (indicado por una flecha de guiones en la Figura 4B). El sector dependiente (4) utiliza los estados CABAC (flecha de línea entera) después de la segunda LCU superior derecha, que guarda conformidad con las condiciones WPP precedentemente mencionadas.
La Figura 5 es un diagrama que muestra una sintaxis ejemplificativa de un encabezado de sector de conformidad con un modelo de referencia HEVC actual (HM8.0). Un encabezado de sector 320 incluye un elemento de sintaxis dependent_slice_flag, que indica si un sector objetivo es un sector dependiente o un sector normal.
Como es claro en una fila 321, en la Figura 5, cuando el elemento dependent_slice_flag es igual a 0, el encabezado incluye la información de encabezado de sector. En pocas palabras, el sector tiene un encabezado completo. De lo contrario, el encabezado no incluye la información de encabezado de sector. Para decirlo de otro modo, como en el caso precedente, el sector dependiente y un sector de entropía no tienen ningún encabezado deslizable completo, y se refieren al encabezado de un sector normal precedente.
Los puntos de entrada se señalizan posteriormente para admitir el procesamiento paralelo. Incluso cuando no se reinicia la unidad de codificación de entropía o la unidad de decodificación de entropía, es posible efectuar independientemente la decodificación paralela de parte de una corriente de video (subcorriente) entre los puntos de entrada, usando los puntos de entrada. Como se indicó precedentemente, los puntos de entrada están marcados para el sector dependiente, el sector normal y el sector de entropía.
En la norma HEVC, hay disponibles varias herramientas de procesamiento paralelo. Como ya se mencionó, las herramientas incluyen el WPP, el sector dependiente, el sector de entropía y el mosaico. Sin embargo, como esas herramientas no son compatibles entre sí, hay un límite respecto de la utilización combinada de las herramientas. En general se admite la utilización conjunta del mosaico y el sector.
Sin embargo, existe una restricción en el sentido de que en un perfil principal, es necesario subdividir un sector necesita en una cantidad entera de mosaicos mayor o igual a l, y debe subdividirse un mosaico en una cantidad entera de sectores mayores o iguales a 1. Esta restricción se aplica específicamente a un perfil específico (o un nivel específico de un perfil). El propósito de la restricción es reducir la complejidad de implementación del hardware.
Cuando el elemento entropy_coding_sync_enabled_flag de un PPS es igual a 1 (es decir, se usa el WPP), y el primer bloque de codificación de un sector no es el primer bloque de codificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación de un mosaico, una condición en que una corriente de bits cumple las normas es que el último bloque de codificación del sector pertenece a la misma fila de los bloques de árbol de codificación como el primer bloque de codificación del sector. Un árbol de codificación indica una estructura de una LCU y la subdivisión adicional recursiva de cada una de las LCU en cuatro bloques. Dicho de otro modo, cuando puede usarse el WPP, y el sector no se inicia en el comienzo de una fila LCU objetivo, el sector tiene que finalizar en o antes de la fila LCU objetivo. La NPL 3 describe los detalles relativos no sólo a los medios de procesamiento paralelo sino también a la sintaxis HEVC.
Lo siguiente describe esta restricción con respecto a la Figura 6. Una ilustración 330 mostrada en la Figura 6, incluye los sectores 331, 332 y 333, los sectores normales. Los sectores 331 y 332 están incluidos en una sola fila LCU. El sector 333 es un sector no admitido, porque el sector 333 se extiende sobre las filas LCU (en este ejemplo, tres filas). El sector 333 tiene que terminar al final de la primera fila LCU de acuerdo con la restricción precedente.
La Figura 7 es un diagrama que muestra una ilustración 340 con una estructura de sectores admitidos cuando se usa el WPP. La ilustración 340 incluye los sectores 341, 342 y 343, los sectores normales y un sector 344, un sector dependiente. Los sectores 341, 342, y 343 están incluidos en la primera fila LCU. El sector 344 incluye dos filas subsiguientes.
La inicialización CABAC del sector 344 depende de los otros sectores 341, 342 y/o 343, porque el sector 344 es el sector dependiente. Cuando cualquiera de los sectores 342 y 343 es un sector normal, tal como se muestra en la Figura 7, el sector 344 se inicializa en los estados CABAC predeterminados. De lo contrario, se usa una tabla WPP. En otras palabras, se usan para la inicialización los estados CABAC después de la segunda LCU de una fila LCU por encima de una fila objetivo que se procesa.
En este ejemplo, tal como se describe en la Figura 4B y se dijo en la descripción relacionada de la inicialización CABAC, el sector dependiente 344 se inicializa usando los estados CABAC por defecto predeterminados.
Por eso, la inicialización CABAC es en base a los sectores precedentes. De ese modo, el procesamiento, especialmente el análisis, de un sector objetivo depende de otros sectores. Específicamente, se determina si se inicializa un contexto CABAC con un valor predeterminado o un valor WPP según un tipo de los sectores precedentes del sector objetivo. De este modo, se comprueba si pueden usarse o no los sectores precedentes, y se determina un método de inicialización que debe aplicarse al sector objetivo. En pocas palabras, se requiere un procesamiento que tiene un orden muy complicado. Lo que sigue describe tal procesamiento.
Un primer sector 341 tiene al menos dos LCU, y por eso puede hacerse referencia a los estados CABAC después de codificarse o decodificarse las primeras dos LCU.
Cuando se pierde un sector 342 o un sector 343, no puede decodificarse exactamente el sector 344. Esto es porque la inicialización CABAC no puede efectuarse debido a un tipo desconocido del sector 342 o el sector 343. En otras palabras, porque la inicialización CABAC no puede efectuarse en el sector 344 incluso cuando sólo falta información sobre los dos sectores precedentes y se ha obtenido correctamente el sector 344, se descartan los datos del sector obtenido correctamente 344. Por eso, es necesario efectuar el ocultamiento de error en el sector 344. Por ese motivo, existe la posibilidad de que la degradación de imagen resulte de la distorsión, debido al ocultamiento de error incompleto.
Aquí, en un encabezado de sector, es necesario determinar la mayoría de los elementos de sintaxis (los mismos son principalmente la conmutación de control, tal como una operación de filtrado específica) para todos los sectores incluidos en un cuadro. Además, aunque pueden cambiar algunos de los elementos de sintaxis sobre la base de un sector, todos los parámetros de control determinados para un cuadro completo están contenidos, en la mayoría de los procesos por un aparato de codificación de imágenes. Por eso, puede usarse el siguiente método como un método de ocultamiento de error. Este método requiere sólo la información que indica si un sector perdido es un sector dependiente o un sector normal.
Cuando los paquetes no llegan en orden, aumenta una demora de decodificación. En otras palabras, cuando se espera el reordenamiento de paquetes, existe la posibilidad de aumentar la demora de decodificación. Esto contradice la necesidad de proveer una demora ultra baja usando un sector dependiente, que es la meta fundamental del WPP.
La Figura 8 es un diagrama que muestra un ejemplo adicional del proceso de inicialización CABAC. En la Figura 8, se asume la estructura de los sectores mostrada en la Figura 7. Una ilustración 350 mostrada en la Figura 8 incluye un sector 351 y un sector 354. El sector 351 es un sector normal y el primer sector de un cuadro, e incluye cuatro unidades LCU. La CABAC se inicializa en un valor de estado predeterminado (estado cero) en el comienzo del cuadro, es decir, el comienzo del sector 351. Debe notarse que puede haber presentes estados predeterminados y, en ese caso, se selecciona uno de los estados predeterminados. Aquí, el estado predeterminado se refiere a un valor predeterminado de un modelo de probabilidad de codificación aritmética.
Cuando los datos del sector 342 y el sector 343 están ausentes debido a pérdida o a un error, aunque se obtengan los datos pertenecientes a un sector dependiente 354, no puede decodificarse el sector dependiente 354. Esto es porque, como se indicó precedentemente, el motor CABAC no puede inicializarse sin los datos de los sectores 342 y 343.
La Figura 9 es un diagrama de flujo para un proceso de determinación de un método de inicialización que se efectúa cuando se obtiene el sector dependiente 354. Para decirlo de otro modo, este diagrama de flujo muestra un método según haya dos o más sectores en la inicialización CABAC.
Se supone que se establecen las siguientes condiciones para un sector (4) (sector dependiente 354). Puede usarse el WPP. El elemento dependent_slice_enabled_flag de un SPS se establece en 1. La posición del sector (4) cumple con la Ecuación 1. slice_address % numLCUinRow = 0 (Ecuación 1) Aquí, "%" representa una operación de módulo (resto de la división entera). El parámetro numLCUinRow representa la cantidad de unidades LCU por fila de la ilustración 350.
Por eso, la condición de la Ecuación 1 se cumple en el comienzo de la fila. El parámetro numLCUinRow puede derivarse de los ajustes del SPS.
Primero, se determina si el sector (4) es o no un sector dependiente (S101). Cuando el sector (4) no es el sector dependiente (No en S101), se efectúa la inicialización predeterminada.
Tal como se muestra en la Figura 8, cuando el sector (4) es el sector dependiente (Sí en S101), i se establece en 3 (S102). En pocas palabras, el sector (3) que precede al sector (4) se establece como un sector i.
A continuación, se determina si el sector i se inicia o no desde una fila por encima de una fila del sector (4) (S103). Aquí, como i se establece en 3, el sector i es el sector (3) que precede a un sector dependiente que debe procesarse (sector (4)).
Cuando el sector i no se inicia desde la fila encima de la fila del sector (4) (No en S103), se efectúa (S107) la inicialización WPP (inicialización que usa una tabla WPP).
En contraste, cuando el sector i se inicia desde la fila encima de la fila del sector (4) (Sí en S103), es decir, el caso mostrado en la Figura 8, se determina si el sector i es o no un sector dependiente (S104).
Cuando el sector i no es el sector dependiente (No en S104), se analiza después una posición de inicio del sector i. Específicamente, se determina si slice_address % numLCUinRow es o no menor que 2 (S106). En pocas palabras, se determina si la posición de inicio del sector i es la primera LCU o la segunda LCU de la fila.
Cuando slice_address % numLCUinRow es menor que 2 (Sí en S106), se efectúa la inicialización WPP (S107). En contraste, cuando slice_address % numLCUinRow es mayor que o igual a 2 (No en S106), se efectúa la inicialización predeterminada (S108).
Más aún, cuando el sector i es el sector dependiente (Sí en S104), se analiza una posición de inicio del sector i. Específicamente, se determina si slice_address % numLCUinRow de o no menor que 3 (S105). En pocas palabras, se determina si la posición de inicio del sector i es la primera LCU, la segunda LCU o la tercera LCU de la fila.
Cuando slice_address % numLCUinRow es menor que 3 (Sí en S105), se efectúa la inicialización WPP (S107). En contraste, cuando slice_address % numLCUinRow es mayor que o igual a 3 (No en S105), no se efectúa la inicialización, y el índice i disminuye 1 (S109). En pocas palabras, en este ejemplo, el sector (2) que precede al sector objetivo (sector (4)) por dos sectores se establece como el sector i. Después, se efectúan los procesos posteriores al paso S103 en el sector (2). Más aún, cuando se toma la misma determinación para el sector (2), el sector (1) se establece después como el sector i.
La Figura 10 es un diagrama que muestra una ilustración 360. La ilustración 360 incluye cinco sectores 361 a 365. El sector 361 es un sector normal e incluye toda la primera fila. El sector 362 es un sector dependiente e incluye toda la segunda fila. La tercera fila incluye el sector dependiente 363 y el sector 364. El sector 365 es un sector dependiente e incluye toda la cuarta fila.
Lo que sigue explica los casos en que el sector 364 es el sector dependiente y en que el sector 364 es el sector normal cuando se pierde o demora el sector 364. Además, aquí el sector 363 tiene al menos dos unidades LCU.
Cuando se pierde el sector 364, un aparato de decodificación de imágenes no puede determinar un tipo del sector 364. Cuando el sector perdido 364 es el sector dependiente, es posible continuar la decodificación del sector 365 y los sectores posteriores con un pequeño margen de error en el procesamiento de reconstrucción. Esto es porque, tal como se describe con respecto a las FIGURAS 8 y 9, el sector 365 utiliza los estados CABAC de la segunda LCU del sector 363. Por eso, el procesamiento de inicialización CABAC no ocasiona ningún error. Sin embargo, como el sector 365 utiliza la predicción espacial del sector 364, existe la posibilidad de que el procesamiento de reconstrucción de pixeles ocasione un error.
En contraste, cuando el sector perdido 364 es el sector normal, no puede decodificarse el sector 365. Esto es porque algunos de los elementos de sintaxis podrían usar la información de un encabezado de sector del sector perdido 364. Dicho de otro modo, esto es porque el sector normal 364 es un sector superior del sector dependiente 365, y la información del sector superior se requiere para el análisis y decodificación del sector dependiente 365.
Cuando se desconoce el tipo del sector perdido 364, el aparato de decodificación de imágenes descarta el sector decodificable 365 para evitar la decodificación errónea, es decir la probabilidad de que ocurra cuando el sector perdido 364 es el sector normal. Esto resulta ineficiente, porque el sector 365 se descarta incluso cuando los datos del sector 365 se obtienen correctamente. Además, es necesario descartar todos los sectores dependientes posteriores al sector 365.
Cuando el sector 364 es el sector normal, un motor CABAC se inicializa en un valor CABAC predeterminado (referirse al caso de No en S101, en la Figura 9) para decodificar el sector 365. Por eso, el sector 365 no depende del sector 363. Además, no se efectúa la predicción espacial entre el sector 363 y el sector 365. Como en el caso precedente, la CABAC se inicializa en el valor predeterminado, en la posición de inicio del sector 365 y, por eso, el sector dependiente 365 resulta similar al sector normal.
Sin embargo, el sector normal tiene un encabezado de sector completo. En contraste, el sector 365 tiene sólo un encabezado de sector corto y depende del conjunto de parámetros establecido por un encabezado de sector de un sector normal precedente. En otras palabras, cuando el sector 365 es el sector dependiente, aunque exista la ventaja de que pueda reducirse el tamaño del encabezado, tal ventaja no es tan grande. En contraste, cuando el sector 365 es el sector normal, puede decodificarse el sector 365. Como ya se describió, en los casos precedentes se considera que la ventaja es mayor cuando el sector 365 se establece como el sector normal que cuando el sector 365 se establece como el sector dependiente.
Sin embargo, en el WPP, el sector dependiente está diseñado no para garantizar robustez contra pérdida sino para habilitar una operación WPP en una demora ultra baja. Por otra parte, en el caso de una aplicación de demora ultra baja respecto de una red, tal como una aplicación en tiempo real, se esperan pérdida de paquetes y reordenamiento de paquetes. En tal caso, cuando el sector 364 puede obtenerse finalmente, puede decodificarse el sector 365. Sin embargo, se han ocasionado al menos una mayor demora y la pérdida de paquetes. Por eso, el WPP no se efectúa en un estado óptimo en un entorno de pérdida.
La Figura 11 es un diagrama que muestra otro problema asociado con la inicialización CABAC cuando se usa el WPP, y que muestra una ilustración 370. La ilustración 370 incluye cuatro sectores 371 a 374.
El sector 371 es un sector normal, y el sector 372 es un sector dependiente. Aquí, el sector 371 tiene al menos dos unidades LCU. La primera fila de la ilustración 370 incluye los sectores 371 y 372. La segunda fila de la ilustración 370 incluye los sectores 373 y 374, los sectores dependientes.
En este caso, se supone que un aparato de codificación de imágenes usa al menos dos núcleos de procesador. Para decirlo de otro modo, cuando se usa el WPP, el aparato de codificación de imágenes codifica y analiza dos filas LCU en paralelo. Por eso, el sector 373 resulta disponible mucho tiempo antes de que esté disponible el sector 372.
Sin embargo, como la inicialización CABAC para el sector 373 depende del sector 372, no puede iniciarse la decodificación del t sector 373. Por eso, no es posible producir una demora de la codificación o decodificación iniciales entre las filas más pequeñas que una fila LCU. Esto contradice el propósito del WPP de disminuir la demora hasta dos unidades LCU.
Lo que sigue describe del procesamiento paralelo de codificación y transmisión de un sector, tal como se muestra en la Figura 11. Dos unidades de procesamiento tales como los núcleos de procesador y los procesadores codifican simultáneamente los primeros sectores (sector 371 y sector 373) de las respectivas filas. Cuando finaliza la codificación, los sectores codificados 371 y 373 se encapsulan en paquetes que tienen números de paquete (packet_id) de 0 y 4, respectivamente. Aquí, se selecciona el número de paquete de 4 para reservar una pequeña cantidad para el sector 372 y posiblemente para otra NALU.
Cuando se completa la codificación del sector 372, el sector 372 se encapsula en un paquete que tiene un número de paquete de 1 y se transmite. Además, dos unidades NAL que tienen los correspondientes números de paquete de 2 y 3, y se generan datos ficticios (relleno) para evitar la determinación de los números de paquete perdidos de 2 y 3 como pérdida de paquetes.
En la norma HEVC, eso se logra usando un mensaje SEI filler_data o un tipo predeterminado de unidad NAL reservado para los datos de relleno. Como en el caso precedente, cuando es necesario aumentar 1 una ID de paquete para cada unidad NAL, se usa para llenar el espacio una NALU de tipo relleno.
La inicialización de una fila objetivo depende de la segunda LCU de una fila por encima de la fila objetivo. Más aún, cuando se inserta un sector después de la segunda LCU, la inserción es problemática en términos de influir en la determinación de la inicialización CABAC. La presente descripción provee un método para derivar una más eficiente relación entre el WPP y la utilización de un sector dependiente, en base a este análisis y problema. Debe evitarse una situación en que la inicialización CABAC para una fila depende de otra fila a fin de mantener la eficiencia del WPP.
Más aún, ocurre el mismo problema que en el caso precedente cuando el mosaico se usa en lugar del WPP.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de decodificación de imágenes para decodificar una corriente de bits incluye una señal codificada que resulta de la codificación de mosaicos y sectores en que se particiona una imagen, comprendiendo el método decodificar la señal codificada, donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector, y cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, no se inicia un segundo mosaico codificado a continuación del primer mosaico desde el sector dependiente.
Con esto, es posible impedir una ocurrencia de un caso en que un sector en el comienzo del segundo mosaico se refiere a un sector en una posición diferente del comienzo del primer mosaico, aumentando así la eficiencia cuando se usa conjuntamente el procesamiento en paralelo de mosaicos y de sectores dependientes.
Por ejemplo, en la decodificación, el primer mosaico y el segundo mosaico pueden decodificarse en paralelo, y cuando se inicia la decodificación del segundo mosaico, éste puede decodificarse sin referirse a la información de partición que indica que una estructura de sectores del primer mosaico.
Por ejemplo, cuando un sector en un comienzo de un tercer mosaico es el sector dependiente, el sector dependiente puede incluir todo el tercer mosaico.
Por ejemplo, cuando el primer mosaico incluye un sector que se inicia desde una posición diferente del comienzo del primer mosaico, el segundo mosaico no puede iniciarse desde el sector dependiente.
Por ejemplo, el método de decodificación de imágenes puede incluir además obtener, de un encabezado de sector de un sector, la información que indica si el sector es o el sector normal o el sector dependiente.
Por ejemplo, un sector en un comienzo de la imagen puede ser el sector normal, y cada uno de todos los otros sectores puede ser el sector dependiente.
Por ejemplo, el método de decodificación de imágenes puede incluir además obtener, de la corriente de bits, un indicador de restricción que indica que está restringida la partición de una ilustración.
Por ejemplo, el método de decodificación de imágenes puede incluir además obtener, de la corriente de bits, un indicador que señala si se inicia o no desde un comienzo de un mosaico un sector superior cuyo encabezado de sector se usa para el sector dependiente.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de codificación de imágenes para codificar mosaicos y sectores en que se particiona una imagen a fin de generar una corriente de bits, comprendiendo el método: particionar la imagen en los mosaicos y los sectores; y codificar los mosaicos y sectores resultantes de la partición, donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector y, en la partición, cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, la imagen se particiona en los mosaicos y los sectores para impedir que un segundo mosaico codificado a continuación del primer mosaico se inicie desde el sector dependiente.
Con esto, es posible impedir una ocurrencia de un caso en que un sector en el comienzo del segundo mosaico se refiere a un sector en una posición diferente del comienzo del primer mosaico, aumentando así la eficiencia cuando se usan conjuntamente el procesamiento en paralelo de mosaicos y de sectores dependientes.
Por ejemplo, en la partición, en el caso en que un aparato de decodificación de imágenes descodifica el primer mosaico y el segundo mosaico en paralelo, la imagen puede particionarse en los mosaicos y los sectores para permitir la decodificación del segundo mosaico sin referirse a la información de partición cuando el aparato de decodificación de imágenes inicia la decodificación del segundo mosaico, indicando la información de partición una estructura de sectores del primer mosaico.
Por ejemplo, en la partición, cuando un sector en un comienzo de un tercer mosaico es el sector dependiente, la imagen puede particionarse en los mosaicos y los sectores para hacer que el sector dependiente incluya todo el tercer mosaico.
Por ejemplo, en la partición, cuando el primer mosaico incluye un sector que se inicia desde una posición diferente del comienzo del primer mosaico, la imagen puede particionarse en los mosaicos y los sectores para impedir que el segundo mosaico se inicie desde el sector dependiente.
Por ejemplo, el método de codificación de imágenes puede incluir además incorporar, en un encabezado de sector de un sector, la información que indica si el sector es o el sector normal o el sector dependiente.
Por ejemplo, un sector en un comienzo de la imagen puede ser el sector normal, y cada de todos los otros sectores puede ser el sector dependiente.
Por ejemplo, el método de codificación de imágenes puede incluir además incorporar, en la corriente de bits, un indicador de restricción que indica que está restringida la partición de una ilustración.
Por ejemplo, el método de codificación de imágenes puede incluir además incorporar, en la corriente de bits, un indicador que indica si se inicia o no desde un comienzo de un mosaico un sector superior cuyo encabezado de sector se usa para el sector dependiente.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un aparato de decodificación de imágenes que descodifica una corriente de bits que incluye una señal codificada resultante de la codificación de mosaicos y sectores en que se particiona una imagen, comprendiendo el aparato una unidad de decodificación configurada para decodificar la señal codificada, donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector, y cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, un segundo mosaico codificado a continuación del primer mosaico no se inicia desde el sector dependiente.
Con esto, es posible impedir una ocurrencia de un caso en que un sector en el comienzo del segundo mosaico se refiere a un sector en una posición diferente del comienzo del primer mosaico, aumentando así la eficiencia cuando se usan conjuntamente el procesamiento en paralelo de mosaicos y de sectores dependientes.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un aparato de codificación de imágenes que codifica mosaicos y sectores en que se particiona una imagen, a fin de generar una corriente de bits, comprendiendo el aparato: una unidad de partición configurada para particionar la imagen en los mosaicos y los sectores; y una unidad de codificación configurada para codificar los mosaicos y sectores que resultan de la partición, donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector, y estando la unidad de partición configurada, para cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, para particionar la imagen en los mosaicos y los sectores para impedir que un segundo mosaico codificado a continuación del primer mosaico se inicie desde el sector dependiente.
Con esto, es posible impedir una ocurrencia de un caso en que un sector en el comienzo del segundo mosaico se refiere a un sector en una posición diferente del comienzo del primer mosaico, aumentando así la eficiencia cuando se usan conjuntamente el procesamiento en paralelo de mosaicos y de sectores dependientes.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un aparato de codificación y decodificación de imágenes puede incluir el aparato de codificación de imágenes y el aparato de decodificación de imágenes.
Cada una de las modalidades ejemplificativas descritas a continuación muestra un ejemplo general o específico. Los valores numéricos, formas, materiales, elementos estructurales, la disposición y conexión de los elementos estructurales, pasos, el orden de procesamiento de los pasos, etc. mostrados en las siguientes modalidades ejemplificativas son meros ejemplos y, por lo tanto, no limitan el alcance de las Reivindicaciones anexas y sus equivalentes. Por lo tanto, entre los elementos estructurales en las siguientes modalidades ejemplificativas, elementos estructurales no mencionados en ninguna de las reivindicaciones independientes que muestran conceptos genéricos se describen como elementos estructurales arbitrarios.
Modalidad 1 En un método de codificación de imágenes y un método de decodificación de imágenes de acuerdo con la Modalidad 1, se agrega un indicador que claramente especifica la inicialización CABAC.
La Figura 12 es un diagrama que muestra la sintaxis de un encabezado de sector de acuerdo con la Modalidad 1. Un encabezado de sector 380 incluye una fila 381 que tiene un nuevo elemento de sintaxis "entropy_default_inicialization_flag".
Este elemento entropy_deafult_inicialization_flag es un indicador que señala, cuando se establece en un valor predeterminado, que la CABAC de un sector se inicializa con un valor CABAC por defecto (predeterminado). La bandera es un indicador que tiene el primer valor, tal como "1", que indica que un sector se inicializa con un valor CABAC y del segundo valor, tal como "0", que indica que la inicialización se efectúa mediante otro método. Debe notarse que pueden conmutar las asignaciones de los valores de "1" y "0".
El "otro método" para determinar la inicialización puede ser un método predeterminado, tal como la inicialización en base a un valor de un sector precedente. Sin embargo, el "otro método" puede incluir otro flujo de determinación similar al flujo mostrado en la Figura 9, derivando así posiblemente un método de inicialización que usa un valor CABAC predeterminado.
Un aparato de decodificación de imágenes de acuerdo con esta modalidad descodifica una corriente de bits de una secuencia de video codificada que incluye sectores de imagen al menos parcialmente codificados mediante codificación aritmética. El aparato de decodificación de imágenes incluye: una unidad de análisis que extrae de la corriente de bits los datos de un sector; un indicador de inicialización que señala si un modelo de probabilidad de decodificación aritmética del sector se inicializa o no con un valor predeterminado; una unidad de control que controla si el modelo de probabilidad de decodificación aritmética se inicializa o no con el valor predeterminado, de acuerdo con el indicador de inicialización; una unidad de decodificación aritmética que descodifica el sector.
Por ejemplo, la codificación aritmética puede ser la codificación aritmética adaptativa según contexto tal como se define en la norma HEVC. Sin embargo, la presente invención no está limitada a eso.
El valor predeterminado es un valor predeterminado notificado a un aparato de codificación de imágenes y un aparato de decodificación de imágenes, y no cambia con el contenido codificado.
El indicador de inicialización preferentemente se refiere a una bandera de 1 bit, indicando "1" que un modelo de probabilidad de decodificación aritmética se inicializa con el valor predeterminado e indicando "0" que se inicializa un modelo de probabilidad de decodificación aritmética mediante otro método.
Sólo cuando un sector objetivo es un sector dependiente, es necesario que esté presente el indicador. Esto es porque cuando el sector objetivo es un sector normal, el valor predeterminado CABAC se usa para la inicialización (referirse al caso de No en S101, en la Figura 9). Por eso, primero se inicializa si el sector objetivo es o no el sector dependiente comprobando una condición dependent_slice_flag ==1.
Más aún, cuando se efectúa el procesamiento paralelo de un sector y otro sector, el indicador (bandera) de inicialización resulta ventajoso. Por ejemplo, el procesamiento en paralelo puede ser el WPP. Por eso, sólo cuando es verdadera una condición entropy_coding_sync_enabled_flag ==1, la sintaxis del encabezado de sector mostrada en la Figura 12 incluye un indicador de inicialización entropy_default_inicialization_fla .
Asimismo, sólo cuando el sector se inicia en el comienzo de una fila LCU, es apropiado el indicador de inicialización. Esto es porque la inicialización inmediata de CABAC sólo se requiere después para permitir el procesamiento en paralelo. Esto se indica mediante una condición slice_address % PicWidthlnCtbsY == 0 en la sintaxis mostrada en la Figura 12.
Como se indicó precedentemente, un elemento de sintaxis "slice_address" indica un inicio del sector con un desplazamiento incluido en la corriente de bits . "PicWidthlnCtbsY" indica un ancho de un cuadro con la cantidad de unidades de bloques de árbol de codificación (LCU).
Tal como se muestra en la fila 381, un producto lógico de las tres condiciones se usa para la determinación. En otras palabras, sólo cuando la siguiente Ecuación 2 es verdadera, se transmite entropy_default_inicialization_flag para señalizar claramente el método de inicialización. dependent_slice_flag == 1 && entropy_coding_sync_enabled_flag == 1 & slice_address % PicWidthlnCtibsY 0 (Ecuación 2) Cuando la Ecuación 2 no es verdadera, la inicialización se efectúa en base a un método normal, es decir, las reglas WPP.
Para decirlo de otro modo, el método de codificación de imágenes y el método de decodificación de imágenes de acuerdo con esta modalidad incluyen: subdividir un sector de una imagen en unidades de codificación correspondientes a bloques de pixeles de la imagen; y extraer, con la unidad de análisis, un indicador de inicialización de datos de encabezado, sólo cuando el sector es un sector dependiente. Una unidad de decodificación aritmética de sectores dependientes se inicializa en base a un contexto de una unidad de decodificación aritmética de sectores superiores correspondientes a los respectivos sectores dependientes.
Más aún, sólo cuando se admite la decodificación paralela de una fila compuesta de las unidades de codificación, la unidad de análisis puede extraer el indicador de inicialización de los datos de encabezado.
Dicho de otro modo, de acuerdo con esta modalidad, el sector de la imagen se subdivide en las unidades de codificación correspondientes a los bloques de pixeles de la imagen, y el indicador de inicialización de los datos de encabezado es extraído por la unidad de análisis sólo cuando el sector se inicia desde el comienzo de la fila compuesta de los bloques de unidad de codificación de la imagen.
La Figura 13 es un diagrama de flujo para un método de determinación de inicialización CABAC para un sector de acuerdo con esta modalidad. La Figura 13 supone un caso de la ilustración 350 mostrada en la Figura 8. Suponiendo que se analicen en paralelo el sector (4) (sector 354) y el sector (1) (sector 351), se toma la siguiente determinación.
Primero, se determina si el sector (4) es o no un sector dependiente (Slll). Cuando el sector (4) es el sector dependiente y se cumplen otras condiciones (se efectúa el procesamiento paralelo de filas y un sector se inicia en el comienzo de una fila LCU) (Sí en Slll), se comprueba un indicador de inicialización "entropy_default_inicialization_flag" para determinar un método de ejecución de inicialización (S112).
Cuando el elemento entropy_default_inicialization_flag indica la aplicación de la inicialización predeterminada (No en S112), se aplica la inicialización predeterminada (S114). En contraste, cuando el elemento entropy_default_inicialization_flag no indica la aplicación de la inicialización predeterminada (Sí en S112), se aplica la inicialización del WPP al que se refiere un sector precedente (S113).
Debe notarse que esta modalidad no está limitada a señalizar el indicador de inicialización en el encabezado de sector. El mismo indicador puede incorporarse en otra estructura de datos, por ejemplo un mensaje de información de ampliación suplementario.
Modalidad 2 La modalidad 1 posibilita lograr un eficiente procesamiento paralelo de filas LCU, tal como el WPP y el sector dependiente. Por otra parte, un nuevo elemento de sintaxis se incorpora en un encabezado de sector. En respuesta, la independencia de inicialización CABAC para los sectores durante el procesamiento paralelo puede lograrse modificando las reglas de inicialización, para evitar el agregado del nuevo elemento de sintaxis.
En la Modalidad 2, un aparato de codificación de imágenes y un aparato de decodificación de imágenes modifican la definición del sector dependiente y las operaciones para el sector dependiente. Esto puede lograrse agregando las restricciones a las normas de corriente de bits.
En otras palabras, el aparato de decodificación de imágenes de acuerdo con esta modalidad descodifica una corriente de bits de una secuencia de video codificada que incluye los sectores de imagen subdivididos en unidades de codificación y al menos parcialmente codificados por la codificación aritmética. El aparato de decodificación de imágenes incluye una unidad de análisis que extrae, de una corriente de bits, una primera fila de unidades de codificación y una segunda fila de unidades de codificación, donde las unidades de codificación de la primera fila y la segunda fila se asignan a los sectores para evitar referirse a la información de partición de un primer sector en la primera fila cuando se inicializa una unidad de decodificación aritmética para un segundo sector en la segunda fila. Una posición de inicio del primer sector en la primera fila está detrás del segundo sector de la segunda fila una cantidad predeterminada de unidades de codificación. El aparato de decodificación de imágenes además incluye la unidad de decodificación aritmética que efectúa la decodificación aritmética del primer sector y el segundo sector al menos parcialmente en paralelo, para decodificar cada uno de los sectores.
La Figura 14 es un diagrama para describir la función de esta modalidad, y mostrar una ilustración 390 particionada en sectores. La ilustración 390 incluye cuatro sectores que son un sector normal 391, un sector normal 392, un sector dependiente 393 y un sector normal 394.
Los tres sectores 391, 392 y 393 están incluidos en la primera fila de unidades de codificación (LCU). El sector 394 incluye la totalidad de las filas segunda y tercera.
La primera restricción ejemplificativa aplicada a la sectorización y el y procesamiento paralelo sobre una base de filases que "cuando entropy_code_sync_enabled_flag y dependent_slice_enabled_flag son iguales a 1, un sector normal puede iniciarse sólo en el comienzo de una fila de bloques de árbol de codificación". Además, ambas banderas, entropy_code_sync_enabled_flag y dependent_slice_enabled_flag, están incluidas en un conjunto de parámetros de ilustración. Debe notarse que un bloque de árbol de codificación (CTB) y una unidad de codificación máxima (LCU) se refieren a la misma unidad. El CTB se usa en un texto estándar (referirse a la NPL 3). Además, aunque la LCU se usa en un texto estándar de la versión anterior, el CTB se usa en un texto estándar de la versión actual.
Cuando el sector normal se inicia sólo en el comienzo de una fila de unidades de codificación, un sector dependiente de otra fila que es posterior al sector normal siempre puede referirse a los estados CABAC del sector normal. Aquí, los estados CABAC son estados CABAC después de que el WPP procesa la primera LCU o las primeras dos LCU. Además, como un encabezado del sector dependiente depende de un encabezado del sector normal que precede al sector dependiente, cuando se pierde el sector normal 394, es necesario descartar el sector dependiente.
La primera restricción ejemplificativa no necesita ser estricta. Sólo es necesario poner a disposición del sector dependiente al menos una o dos unidades LCU del sector normal de una fila precedente, a fin de permitir la aplicación de la inicialización WPP.
Como alternativa, la segunda restricción ejemplificativa puede aplicarse como otra restricción (regla). En la segunda restricción ejemplificativa, no se inicia un sector normal después del segundo bloque de árbol de codificación de una fila de bloques de árbol de codificación. El sector normal tiene que iniciarse en el comienzo de una fila LCU y, por eso por ejemplo, no es aceptable establecer el segundo sector 392 como el sector normal, tal como se muestra en la Figura 14.
Debe notarse que el primer sector puede tener una posición de inicio no más atrás que la segunda unidad de codificación de la primera fila. Más aún, el primer sector puede ser un sector normal, y el segundo sector puede ser un sector dependiente que usa un encabezado de sector del sector normal. Asimismo, la posición de inicio del primer sector puede ser el comienzo de la primera fila.
La Figura 15 es un diagrama de flujo para un proceso de determinación de un método de inicialización CABAC cuando se establecen las mismas reglas. Lo que sigue describe el proceso de determinación que usa el ejemplo mostrado en la Figura 8.
Primero, se determina si el sector (4) es o no un sector dependiente (Slll). Cuando el sector (4) es el sector dependiente (Sí en Slll), se efectúa la inicialización W P (S113). En contraste, cuando el sector (4) no es el sector dependiente (No en Slll), inicialización predeterminada se efectúa (S114).
Como ya se describió, una unidad de codificación de entropía adaptativa según el contexto se usa en un método de codificación de imágenes de acuerdo con esta modalidad. El método de codificación de imágenes se aplica a un cuadro de ilustración particionado en al menos dos porciones. Las al menos dos porciones son una primera porción y una segunda porción que pueden al menos parcialmente codificarse y decodificarse en paralelo.
De acuerdo con esta modalidad, se determina la inicialización de una tabla de contexto de la segunda porción de una corriente, cuando la primera porción de una subcorriente se subdivide en sectores, mediante un método que no depende de la subdivisión de la primera porción. Por ejemplo, el WPP se efectúa en cada fila (cada fila LCU), y por eso una porción de la corriente puede corresponder a la fila LCU.
Debe notarse que la presente invención no está limitada a las restricciones ejemplificativas precedentes. Las restricciones ejemplificativas pueden formularse de una manera diferente. Lo que sigue describe otras restricciones ejemplificativas.
Cuando un sector normal cumple una condición de Ecuación 3, un sector que se inicia en el comienzo de una fila LCU posterior no es un sector dependiente. slice_address % PicWidthlnCtbsY > 1 (Ecuación 3) En aras de abreviar, la condición puede representarse mediante la Ecuación 4. slice_address % PicWidthlnCtbsY ! = 0 (Ecuación 4) Aquí, "! =" indica desigualdad. Cuando entropy_coding_sync_enabled_flag es igual a l, es decir, se admite el procesamiento paralelo de una fila LCU, son aplicables esas restricciones. Más aún, "slice_address" indica una posición de un sector que se inicia en una corriente de bits, y el parámetro "PicWidthlnCtbsY" indica un ancho de una ilustración (cuadro) de una LCU (bloque de árbol de codificación).
Para decirlo de otro modo, cuando el sector normal no se inicia en el comienzo de la fila, un sector que se inicia en una fila inmediatamente posterior no es un sector dependiente (tercera restricción ejemplificativa) . Esa condición elimina la necesidad de esperar la decodificación de un sector de la segunda fila hasta analizar (decodificar) un sector normal en una posición de la primera fila.
Lo que sigue describe la influencia de la tercera restricción ejemplificativa con respecto a la Figura 16. Una ilustración 400 mostrada en la Figura 16 incluye tres sectores 401 a 403 incluidos en la primera fila. Entre los tres sectores, los primeros dos sectores 401 y 402 eran sectores normales, y el tercer sector 403 es un sector dependiente.
Esta condición no admite el ajuste del cuarto sector 404 como el sector dependiente. Esto se indica en la Figura 16 marcando una cruz en el sector 404.
Por eso, la corriente de bits puede incluir los sectores normales y los sectores dependientes, y la decodificación de los sectores normales y los sectores dependientes está basada en los parámetros señalizados en los encabezados de sector de los sectores normales. Cuando un sector normal se inicia en una posición después del comienzo de una fila LCU, la siguiente fila LCU no se inicia con un sector dependiente.
Lo que sigue describe la cuarta restricción ejemplificativa con respecto a la Figura 17. Cuando entropy_coding_sync_enabled_flag y dependent_slice_enabled_flag son iguales a 1, no se admite ningún sector normal diferente del primer sector de un cuadro (cuarta restricción ejemplificativa).
Dicho de otro modo, cuando se admite el procesamiento paralelo y se habilitan los sectores dependientes, se admite un sector normal sólo como el primer sector del cuadro. En pocas palabras, todos los sectores del cuadro son los sectores dependientes, excepto el primer sector.
Una ilustración 410 mostrada en la Figura 17 incluye cinco sectores 411 a 415. Los sectores 411, 412 y 415 son sectores normales, y los sectores 413 y 414 son sectores dependientes. No se admiten los sectores normales 412 a 415 excepto el primer sector normal 411, de acuerdo con la cuarta restricción ejemplificativa. En pocas palabras, los sectores 412 y 415 tienen que ser los sectores dependientes.
Debe notarse que la utilización de la cuarta restricción ejemplificativa ocasiona un demérito relativo a la robustez contra la pérdida de paquetes. Los sectores normales se usan habitualmente para reducir una dependencia o propagación de error en un entorno con pérdida. Un cuadro en que sólo el primer sector es el sector normal asume un riesgo de que no puedan decodificarse todos los sectores cuando no puede decodificarse el primer sector.
Más aún, la siguiente restricción puede usarse como otra restricción. Cuando un sector (sector normal o dependiente) se inicia en el medio de una fila LCU (es decir, una posición diferente del comienzo de la fila), la siguiente fila de unidades de codificación no se inicia con un sector dependiente (quinta restricción ejemplificativa).
Debe notarse que, como resulta claro para una persona experta en la téenica, es posible combinar arbitrariamente las restricciones descritas precedentemente. En otras palabras, las restricciones ejemplificativas primera a quinta pueden aplicarse en combinación.
Lo que sigue describe además otra restricción ejemplificativa. Cuando entropy_coding_sync_enabled_flag es igual a l, no puede subdividirse una fila LCU en sectores (sexta restricción ejemplificativa). Cuando se aplica esta restricción, los sectores 412 y 413 no se permiten en la estructura de sectores mostrada en la Figura 17. Para decirlo de otro modo, cuando se admite el procesamiento paralelo de las filas de unidades de codificación, sólo se permite que un sector incluya una fila completa de unidades de codificación o filas completas de unidades de codificación.
Como se indicó precedentemente, la corriente de bits incluye los sectores normales y los sectores dependientes. La decodificación de los sectores normales y los sectores dependientes se basan en los parámetros señalizados en los encabezados de sector de los sectores normales. Después de determinarse que sólo el primer sector de una imagen sería un sector normal y que los sectores restantes serían los sectores dependientes, la imagen se particiona en sectores.
Cada uno de los sectores incluye la totalidad de una cantidad m de filas de unidades de codificación. Aquí, m es un entero mayor o igual a 1.
Cuando se habilitan los sectores dependientes y se habilita uno del WPP y el mosaico además de o en lugar de la aplicación de la restricción, puede incorporarse un indicador que señala la restricción en la corriente de bits. Por ejemplo, ese indicador se incorpora en un SPS o un PPS. Debe notarse que el indicador puede incorporarse en otro mensaje, tal como un mensaje SEI o en cualquier mensaje de información sobre usabilidad de video (VUI, por sus siglas en inglés).
El aparato de decodificación de imágenes identifica una restricción que debe aplicarse, en base al indicador. Por ejemplo, esta restricción es que se admite un sector normal sólo en el comienzo de una fila LCU (WPP) o un mosaico. Debe notarse que esto es meramente una restricción ejemplificativa, y cualquiera de las restricciones precedentemente mencionadas, puede aplicarse una combinación de las restricciones o una restricción adicional no explícitamente descrita.
Por ejemplo, el indicador puede ser una bandera de 1 bit que indica, respecto de una restricción predeterminada, si la restricción debe aplicarse o no. Pueden estar disponibles restricciones seleccionables e información que indica que una restricción seleccionada se señaliza en la corriente de bits al aparato de decodificación de imágenes. Dicho de otro modo, en lugar de limitar explícitamente la utilización tal como se describe en los ejemplos precedentes, el aparato de codificación de imágenes puede notificar al aparato de decodificación de imágenes que se usan tales restricciones. Por eso, puede aplicarse cualquiera de los ejemplos relativos a las restricciones.
Debe notarse que no es necesario determinar si agregar o no el indicador según si está habilitado o no el WPP o el mosaico.
Como ya se describió, esta modalidad posibilita impedir que el procesamiento del sector dependiente sea demorado por al menos dos o al menos tres unidades de codificación, mediante la inicialización CABAC, en vista de los sectores precedentes del procesamiento en paralelo. Con esto, puede efectuarse eficientemente el procesamiento en paralelo de la codificación, la decodificación y el análisis de las filas.
Debe notarse que la presente invención no está limitada por esta modalidad en que está limitado el método de sectorización. Además, la restricción puede relacionarse con un sector del que puede obtenerse un contexto CABAC.
Modalidad 3 En la Modalidad 3, un método de inicialización CABAC para un sector dependiente en un momento en que cambia el WPP. Específicamente, cambia la regla de asignación de sector superior para el sector dependiente.
Por ejemplo, se determina una regla en que un sector dependiente siempre obtiene un encabezado de sector y un contexto CABAC del mismo sector independientemente de la subdivisión de una fila LCU en sectores (y/o un tipo de un sector posterior).
Una ilustración 420 mostrada en la Figura 18 incluye los sectores 421 a 424. En la actual norma HEVC, el sector 422 es un sector superior del sector dependiente 424. En otras palabras, se obtiene un encabezado de sector del sector dependiente 424 del sector 422, un sector normal precedente más cercano.
Tal como se describe con respecto a la Figura 9, existe un caso en que la inicialización CABAC se efectúa en el sector dependiente usando un sector normal en el comienzo de una fila LCU precedente. Sin embargo, cuando se pierde el sector 422, aunque la inicialización CABAC puede efectuarse en el sector 424, el sector 424 no puede decodificarse debido a la ausencia de información de encabezado de sector.
En vista de esto, en esta modalidad, el sector dependiente tiene, como el sector superior, un sector normal más cercano que se inicia en la misma fila que el sector dependiente o una fila que precede la fila del sector dependiente. En esta modalidad, tal como se muestra en la Figura 19, el sector superior del sector 424 se establece como el sector 421 de acuerdo con esta regla. La inicialización CABAC se efectúa en el sector dependiente 424 usando un encabezado de sector del sector 421 así como también los estados CABAC del sector 421.
Además, una unidad de codificación aritmética de cada sector dependiente establece una dependencia de sector para efectuar la inicialización en base a un contexto de una unidad de decodificación aritmética del sector superior.
Debe notarse que la información que indica que puede señalizarse explícitamente una tabla de contexto CABAC usada para la inicialización de sector en un mensaje SEI. En pocas palabras, en el mensaje SEI pueden señalizarse explícitamente todos los valores de inicialización considerados que deben usarse para la inicialización del motor CABAC.
Modalidad 4 La modalidad 4 describe un caso en que no se usa el WPP sino los mosaicos.
El problema descrito precedentemente respecto del WPP también ocurre en tal caso. Sin embargo, la inicialización de la tabla de contexto CABAC señala el ajuste de una tabla de contexto CABAC en cualquiera de un valor inicial predeterminado o un valor almacenado anteriormente. En el caso de un mosaico, (incluso cuando el mosaico se inicia con un sector dependiente) la tabla de contexto CABAC se inicializa en un valor predeterminado en el comienzo del mosaico .
Sin embargo, cuando un sector normal está presente en el medio del mosaico, es necesario modificar algunos de los elementos de sintaxis incluidos en un encabezado de sector del sector normal. Uno de los elementos de sintaxis de una bandera que indica la activación/desactivación (ON/OFF) del procesamiento de desplazamiento adaptativo de muestras, por ejemplo. Cuando la bandera indica "ON", un motor CABAC filtra los parámetros mientras analiza los datos de sector. Como en el caso precedente, eso se relaciona con el control de estado del motor CABAC. Lo que sigue describe en detalle el control de estado a continuación.
La Figura 19 es un diagrama que muestra la sintaxis de un encabezado de sector de acuerdo con esta modalidad. Este encabezado de sector incluye dependent_slice_flag, un indicador relativo a una dependencia.
La Figura 20 es un diagrama que muestra una ilustración 500 particionada en dos mosaicos 501 y 502. Tal como se muestra en la Figura 20, los mosaicos difieren de los sectores para particionar una ilustración con una línea vertical. Una ilustración puede particionarse normalmente en mosaicos. La información de partición de cada uno de los mosaicos se señaliza en un conjunto de parámetros de ilustración (PPS) relativos a la ilustración.
Como se indicó precedentemente, el mosaico es una de las herramientas que habilitan el procesamiento en paralelo. En pocas palabras, los mosaicos puede decodificarse en paralelo. Debe notarse que el procesamiento de filtro en bucle se efectúa habitualmente en último término en los límites del mosaico después de la reconstrucción de éste.
El conjunto de parámetros de ilustración incluye la información sobre la cantidad y posiciones de los mosaicos en una ilustración. Los mosaicos son similares a los sectores en que no se admite la predicción espacial entre mosaicos. Aquí, la "predicción espacial" señala la intra-predicción, la predicción de vector de movimiento o bien, hace referencia a un parámetro. Aquí, el parámetro se refiere a un parámetro de desplazamiento adaptativo de muestras, otro parámetro relativo a una ilustración o un parámetro relativo a otro mosaico.
Se reinician una unidad de codificación de entropía y una unidad de decodificación de entropía en el comienzo de cada mosaico.
La Figura 21A es un diagrama que muestra un orden de procesamiento de unidades de codificación, tales como bloques de árbol de codificación y unidades de codificación máxima. Este orden también se denomina escaneo Z o escaneo de trama o multilineal. La Figura 21A muestra un caso en que no se habilita ningún mosaico. En otras palabras, la Figura 21A muestra un caso en que se establece un mosaico por ilustración. Debe notarse que puede habilitarse el WPP.
La Figura 2IB es un diagrama que muestra un cuadro que incluye dos mosaicos 511 y 512 resultantes de particionar el cuadro con un límite 513. Cuando dos o más mosaicos están presentes en un cuadro se determina un orden de procesamiento del siguiente modo.
Primero, se determina un orden de todos los mosaicos mediante un orden de escaneo normal de trama o multilineal ya descrito precedentemente respecto de las LCU. Ese orden se inicia desde el mosaico 511 y finaliza en el título 512, tal como se muestra en la Figura 21B.
A continuación, se determina un orden de las LCU de cada mosaico usando el orden de escaneo normal de trama o multilineal, tal como se muestra mediante las flechas en la Figura 2IB. Por último, la última LCU de cada título se conecta con la primera LCU de un título posterior. De este modo, se determina el orden mostrado en la Figura 2IB. Debe notarse que, por ejemplo, la NPL 3 describe los detalles del orden de procesamiento.
Se usa para los sectores un orden de escaneo LCU. Por eso, cuando un sector A precede a un sector B en el orden de codificación, todas las LCU del sector A preceden a todas las LCU del sector B.
Por otra parte, cuando se usan los mosaicos, las unidades de codificación se escanean en un orden diferente del orden aplicado cuando sólo se usan los sectores (no se usa ningún mosaico). Específicamente, cuando sólo se usan los sectores, se escanean las unidades de codificación de una ilustración mediante el así llamado escaneo Z. El escaneo Z se inicia en la unidad de codificación superior izquierda de la ilustración, continúa a lo largo de la primera fila a la derecha y se inicia de la unidad de codificación en el extremo izquierdo de la segunda fila a la unidad de codificación en el extremo derecho de la segunda fila después de escanearse el extremo derecho de la primera fila. El escaneo continúa a la última unidad de codificación de la última fila en tal orden.
Cuando se usan los sectores como unidades de codificación consecutivas en el orden de escaneo Z, esa utilización es eficiente. Sin embargo, cuando se usan los mosaicos del mismo modo, cambia el orden de codificación o decodificación de las unidades de codificación respecto del orden de escaneo Z. Específicamente, se efectúa el escaneo en cada mosaico en el orden de escaneo Z. En pocas palabras, el escaneo en el orden de escaneo Z nunca se efectúa respecto de los mosaicos. Por eso, la codificación o decodificación de las unidades de codificación en el mosaico se inicia desde la unidad de codificación superior izquierda del mosaico y finaliza en la unidad de codificación inferior derecha del mismo. Además, los mosaicos de la ilustración se ordenan en el orden de escaneo Z como en el caso precedente.
En la actual norma HEVC, se coloca una restricción relativa a la utilización de mosaicos y sectores en combinación. Específicamente, sólo se admite que un sector incluya una cantidad entera de mosaicos completos. Además, sólo se admite que un mosaico incluya una cantidad entera de sectores completos.
Se incluye un elemento de sintaxis tiles_enabled_flag como parte de un conjunto de parámetros de secuencia (SPS) en la sintaxis de una corriente de bits. Ajustar este elemento de sintaxis en un valor lógico "1" habilita la utilización de mosaicos.
Cuando se usan los mosaicos, no puede emplearse el WPP. Por eso, cuando se usan los mosaicos, se establece un elemento de sintaxis entropy_coding_sync_enabled_flag del SPS para controlar la utilización del WPP en un valor lógico "0." Cada una de la Figura 22A a la Figura 22C es un diagrama para ilustrar una restricción cuando se usan mosaicos y sectores simultáneamente. Tal como se muestra en la Figura 22A, se admite que un sector se subdivida en dos mosaicos. En este ejemplo, un sector (1) incluye una ilustración completa y se subdivide en dos mosaicos que tienen el mismo tamaño.
En un ejemplo mostrado en la Figura 22B, se particiona una ilustración en dos mosaicos. Además, cada uno de los mosaicos se subdivide en dos sectores.
Específicamente, la ilustración se particiona en un mosaico 1 y un mosaico 2. El mosaico 1 y el mosaico 2 incluyen la mitad izquierda y la mitad derecha de la ilustración, respectivamente. El título 1 se subdivide en dos sectores, un sector 1 y un sector 2, y el mosaico 2 se subdivide en dos sectores, un sector 3 y un sector 4.
La Figura 22C es un diagrama que muestra una estructura no permitida de sector y mosaico. En este ejemplo, un sector 1 está incluido tanto en un mosaico 1 como en un mosaico 2. En contraste, un sector 2 está presente sólo en el mosaico 2. Por eso, ni el mosaico 1 ni el mosaico 2 incluyen una cantidad entera de mosaicos completos. De manera similar, ni el sector 1 ni el sector 2 incluyen una cantidad entera de mosaicos completos.
Estas reglas se aplican a la utilización simultánea de sectores y mosaicos. Sin embargo, no se considera en las reglas un caso de uso de sectores de diferentes tipos. Para decirlo de otro modo, no se considera si un sector es un sector normal o un sector dependiente.
La Figura 23 es un diagrama que muestra un ejemplo de particionar una ilustración en mosaicos y sectores. Esa partición se admite de acuerdo con las restricciones precedentes. La partición corresponde al ejemplo mostrado en la Figura 22B. Los sectores 521 y 522 incluidos en un mosaico 1 son sectores normales. Los sectores 523 y 524 incluidos en un mosaico 2 son sectores dependientes.
La Figura 24 es un diagrama que muestra un orden de escaneo cuando se usa un solo núcleo para el procesamiento de unidades de codificación en una ilustración, especialmente para la decodificación o la codificación de las unidades de codificación. Tal como se muestra en la Figura 24, cuando no se efectúa la subdivisión de mosaico, el núcleo único descodifica las unidades de codificación en el orden de escaneo Z .
Sin embargo, se reinicializa un motor CABAC de acuerdo con la definición de mosaicos, es decir, los límites de mosaico. Dicho de otro modo, los estados CABAC en los límites de mosaico deben almacenarse para su posterior inicialización. Por eso, un orden de decodificación de un solo núcleo requiere saltar en la corriente de bits. Esto es porque la subdivisión de mosaico cambia el orden de codificación de las unidades de codificación.
Más aún, cuando se habilitan los sectores dependientes, es más complicada la decodificación de núcleo único. Lo que sigue ejemplifica la decodificación de la ilustración particionada tal como se muestra en la Figura 23.
En el primer paso, se descodifica la primera fila de la unidad de codificación del sector 521. En el segundo paso, se descodifica una dirección de sector del sector 522.
La dirección de sector se señaliza en un encabezado de sector del sector 522. La dirección de sector se expresa en la cantidad de las LCU e indica una posición en una corriente de bits en la que se inicia un sector. Además, la dirección de sector es diferente de la primera unidad de codificación del mosaico 2.
En el tercer paso, se descodifica el sector 523. Es correcta una dirección de sector de ese sector, pero el sector es un sector dependiente. Por eso, el sector 523 utiliza el encabezado de sector del sector 522 en el mosaico 1. Por ese motivo, el proceso de decodificación salta hacia atrás al sector 522, y se descodifica el encabezado del sector 522. Después, el proceso de decodificación salta hacia delante a la decodificación del sector 523. Posteriormente, se inicia la decodificación del sector 523.
Como es claro en este breve ejemplo, un aparato de decodificación de imágenes necesita saltar hacia atrás y hacia delante en la corriente de bits, y efectuar una comprobación adicional cuando se inicia la decodificación del mosaico 2. Esto es porque la utilización de los sectores dependientes ocasiona una dependencia entre los mosaicos.
En respuesta, esta modalidad logra un método para admitir la aplicación efectiva de sectores y mosaicos dependientes. Específicamente, esta modalidad posibilita efectuar con seguridad la apropiada codificación y decodificación en un orden normal, poniendo una restricción relativa a la partición de una ilustración en sectores y mosaicos.
El aparato de decodificación de imágenes de acuerdo con esta modalidad descodifica una corriente de bits de una secuencia de video codificada que incluye cuadros, comprendiendo cada cuadro sectores de imagen y mosaicos de imagen. Cada uno de los sectores de imagen y los mosaicos de imagen incluye las unidades de codificación. El aparato de decodificación de imágenes incluye una unidad de análisis que extrae (analiza), de una corriente de bits, un mosaico 1 y un mosaico 2 codificados junto al mosaico 1. Cada uno de los cuadros se particiona en sectores y mosaicos para eliminar la necesidad de información de partición del mosaico 1 en la decodificación del mosaico 2 mediante una unidad de decodificación aritmética.
El aparato de decodificación de imágenes además incluye la unidad de decodificación aritmética que descodifica un sector efectuando la decodificación aritmética en el mosaico 1 y el mosaico 2, al menos parcialmente en paralelo.
Más aún, un aparato de codificación de imágenes de acuerdo con esta modalidad codifica, en una corriente de bits, un video que incluye sectores de imagen, cada uno subdividido en unidades de codificación, usando al menos parcialmente codificación aritmética.
El aparato de codificación de imágenes incluye: una corriente de bits genera la unidad que incorpora un primer mosaico y un segundo mosaico codificado a continuación del primer mosaico en la corriente de bits; y una unidad de codificación aritmética que particiona cada uno de los cuadros en sectores y mosaicos para eliminar la necesidad de información de partición del primer mosaico cuando una unidad de decodificación aritmética descodifica el segundo mosaico, y que codifica cada uno de los sectores efectuando la codificación aritmética en el primer mosaico y el segundo mosaico al menos parcialmente en paralelo.
En la primera restricción ejemplificativa de esta modalidad, cuando se habilitan los mosaicos y al mismo tiempo pueden usarse los sectores dependientes, el sector normal se inicia sólo en el comienzo del mosaico. En pocas palabras, cuando tiles_enabled_flag es igual a 1 y al mismo tiempo dependent_slices_enabled_flag es igual a 1, cada sector normal tiene que iniciarse en la posición de inicio de un mosaico.
Aquí, tanto el elemento entropy_code_sync_enabled_flag como el elemento dependent_slice_enabled_flag están incluidos en un conjunto de parámetros de ilustración.
Debe notarse que cuando dependent_slices_enabled_flag es igual a 0, sólo se usan los sectores normales. Con esto, se evita el problema precedente. Esto corresponde al caso en que todos los sectores son los sectores normales de la ilustración mostrada en la Figura 22B.
Como se indicó precedentemente, en la primera restricción ejemplificativa, el sector (sector normal) cuyo encabezado se usa para otro sector siempre se inicia en el comienzo del mosaico. En otras palabras, el sector en el comienzo del sector normal de una imagen, y los otros sectores son los sectores dependientes. En pocas palabras, sólo se admite el sector normal como el sector en el comienzo de la imagen. Además, los sectores diferentes del sector en el comienzo de la imagen son siempre los sectores dependientes. Por ejemplo, se admite una ilustración mostrada en la Figura 25C, pero no se admite una ilustración mostrada en la Figura 25B.
En la segunda restricción ejemplificativa de esta modalidad, cuando se habilitan los mosaicos y el sector normal se inicia en la posición diferente de la posición de inicio del mosaico, no se inicia el mosaico que debe codificarse junto con el sector dependiente. Para decirlo de otro modo, cuando tiles_enabled_flag es igual a 1 y slice_address es igual a una dirección de inicio de un mosaico, el siguiente mosaico no se inicia con el sector dependiente.
Por eso, tal como se describe con respecto a la Figura 23, el proceso de saltar hacia atrás al encabezado de sector del sector normal 522 no ocurre cuando se descodifica el sector dependiente 523. En pocas palabras, no se admite el sector 523 como el sector dependiente. Esto es porque el sector normal 522 se inicia no en la posición de inicio del mosaico, sino en el mosaico.
Por consiguiente, en esta modalidad, cuando el sector (sector normal) cuyo encabezado se usa para otro sector no se inicia en el comienzo del mosaico, el mosaico codificado junto al mosaico no se inicia desde un sector (sector dependiente) que se descodifica usando un encabezado de otra sección.
Por eso, en la segunda restricción ejemplificativa, cuando el sector normal se inicia en la posición diferente del comienzo del primer mosaico, el segundo mosaico codificado junto al primer mosaico no se inicia con el sector dependiente. Dicho de otro modo, cuando al menos uno del segundo sector y un sector posterior del primer mosaico es el sector normal, el sector en el comienzo del segundo mosaico es el sector normal.
Por ejemplo, tal como se muestra en la Figura 25A, cuando está presente un sector (3) de un mosaico 1, no puede establecerse un sector (4) en el comienzo de un mosaico 2 como un sector dependiente. Además, cuando al menos uno de un sector (2) y el sector (3) es un sector normal, no puede establecerse el sector (4) como el sector dependiente. Como resultado, tal como se muestra en la Figura 25B, el sector (4) necesita establecerse como el sector normal. Más aún, en la segunda restricción ejemplificativa, también se admite la ilustración mostrada en la Figura 25C.
En la tercera restricción ejemplificativa de esta modalidad, cuando el mosaico se inicia con el sector dependiente, se incluye un mosaico completo en el sector dependiente. En otras palabras, cuando el mosaico se inicia desde el sector que se descodifica usando un encabezado de otro sector, todo el mosaico se incluye en el sector.
Por eso, en la tercera restricción ejemplificativa, cuando el sector en el comienzo del tercer mosaico es el sector dependiente, el sector dependiente incluye todo el tercer mosaico. Para decirlo de otro modo, el tercer mosaico incluye sólo un sector dependiente. Por ejemplo, tal como se muestra en la Figura 26A, cuando un mosaico 2 se inicia desde un sector dependiente (4), no se admite que el mosaico 2 incluya sectores. Por eso, tal como se muestra en la Figura 26B, el mosaico 2 necesita incluir sólo un sector dependiente (4).
En la cuarta restricción ejemplificativa de esta modalidad, cuando tiles_enabled_flag es igual a 1 y el sector (sector normal o sector dependiente) se inicia en el medio del mosaico, no se inicia el mosaico que debe codificarse junto desde el sector dependiente. Debe notarse que la frase "en el medio del mosaico" señala no el medio real sino que el primer CTB de un sector no es el primer CTB de un mosaico. En pocas palabras, la frase "en el medio del mosaico" señala dentro de un mosaico.
Eso significa que cuando un sector no se inicia en el comienzo de un mosaico, no se inicia un mosaico que debe codificarse junto desde un sector que utiliza un encabezado de otro sector. Para decirlo de otro modo, cuando el primer mosaico incluye un sector que se inicia en una posición diferente del comienzo del primer mosaico (el primer mosaico incluye sectores), el segundo mosaico no se inicia desde un sector dependiente. Por ejemplo, tal como se muestra en la Figura 27A, cuando un mosaico 1 incluye mosaicos, no se admite que un sector (4) en el comienzo de un mosaico 2 se establezca como el sector dependiente. Como resultado, tal como se muestra en la Figura 27B, el sector (4) en el comienzo del mosaico 2 necesita establecerse como un sector normal.
Debe notarse que pueden combinarse esta modalidad relativa a los mosaicos y las demás modalidades, y que también pueden combinarse reglas y restricciones particulares.
En la otra restricción ejemplificativa de esta modalidad, cuando tiles_enabled_flag es igual a 1, no se admite el sector dependiente. Dicho de otro modo, se permite usar los sectores dependientes con el WPP pero no con los mosaicos. Con esto, puede evitarse un problema adicional cuando se usan los mosaicos. En pocas palabras, cuando se usan los mosaicos, el sector no usa un encabezado de otro sector para la decodificación.
Cuando se habilitan los sectores dependientes y se habilita uno del WPP y el mosaico además o en lugar de la aplicación de la restricción, puede incorporarse un indicador que señala la restricción en la corriente de bits. Por ejemplo, ese indicador se incorpora en un SPS o un PPS. Debe notarse que el indicador puede incorporarse en otro mensaje, tal como un mensaje SEI o en cualquier mensaje de información sobre usabilidad de video (VUI).
El aparato de decodificación de imágenes identifica una restricción que debe aplicarse, en base al indicador. Por ejemplo, esta restricción es que un sector normal pueda iniciarse sólo en el comienzo de un mosaico (comenzando de una fila LCU en el caso del WPP). Debe notarse que esto es meramente una restricción ejemplificativa, y puede aplicarse cualquiera de las restricciones precedentemente mencionadas, una combinación de las restricciones o una restricción adicional no explícitamente descrita.
Por ejemplo, el indicador puede ser una bandera de 1 bit que indica, para una restricción predeterminada, si la restricción debe aplicarse o no. Puede haber disponibles restricciones seleccionables, y la información que indica una restricción seleccionada se señaliza en la corriente de bits al aparato de decodificación de imágenes. Dicho de otro modo, en lugar de limitar explícitamente la utilización tal como se describe en los ejemplos precedentes, el aparato de codificación de imágenes puede notificar al aparato de decodificación de imágenes que se usan tales restricciones. Por eso, puede aplicarse cualquiera de los ejemplos relativos a las restricciones.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de decodificación de imágenes incluye obtener, de una corriente de bits, un indicador de restricción que indica que está restringida la partición de una ilustración. De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de codificación de imágenes incluye incorporar, en una corriente de bits, un indicador de restricción que indica que está restringida la partición de una ilustración.
Debe notarse que no es necesario determinar si agregar o no el indicador según si se habilite o no el WPP o el mosaico. Además, cuando se agrega el indicador, no necesita habilitarse el sector dependiente. En pocas palabras, el indicador puede agregarse independientemente de si la utilización del sector dependiente se habilita o no.
Más aún, puede agregarse a una corriente de bits un indicador que indica que se inicia un sector superior de un sector objetivo en el comienzo de un mosaico. En otras palabras, de acuerdo con una modalidad ejemplificativa descrita en la presente, un método de decodificación de imágenes incluye obtener, de una corriente de bits, un indicador que indica si se inicia o no en el comienzo de un mosaico un sector superior cuyo encabezado de sector se usa para un sector dependiente. De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de decodificación de imágenes incluye incorporar, en una corriente de bits, un indicador que indica si se inicia o no en el comienzo de un mosaico un sector superior cuyo encabezado de sector se usa para un sector dependiente.
Más aún, puede agregarse a un corriente de bits un indicador que indica que todos los sectores de una ilustración usan el mismo encabezado de sector. En otras palabras, ese indicador indica que todos los elementos de sintaxis que están presentes en un encabezado de un sector normal y ausentes de un encabezado de un sector dependiente son iguales para todos los sectores de la ilustración.
Por eso, puede incluirse en una corriente de bits un indicador de restricción que indica que está restringida la partición de una ilustración por una regla predeterminada.
Más aún, puede incorporarse en una corriente de bits un indicador que indique si se inicia o no en el comienzo de un mosaico un sector superior de un sector objetivo. Aquí, un encabezado del sector superior se usa para el sector objetivo.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de decodificación de imágenes es un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada resultante de la codificación de mosaicos y sectores en que se particiona una imagen, incluyendo el método la decodificación de la señal codificada. De acuerdo con una modalidad ejemplificativa descrita en la presente, un método de codificación de imágenes es un método de codificación de imágenes para generar una corriente de bits codificando mosaicos y sectores en que se particiona una imagen, incluyendo el método: particionar una imagen en mosaicos y sectores; y codificar los mosaicos y los sectores resultantes de la partición.
Cada uno de los sectores puede ser o bien un sector normal o un sector dependiente. El sector normal es un sector que tiene, en un encabezado de sector, información que probablemente deba usarse para otro sector. El sector dependiente es un sector que se descodifica usando la información incluida en un encabezado de sector de otro sector. Aquí, el otro sector es, por ejemplo, un sector normal que precede y está más cerca del sector dependiente.
En la partición, la imagen se particiona en los mosaicos y los sectores para cumplir una o más de las restricciones precedentemente mencionadas.
En la decodificación, un primer mosaico y un segundo mosaico pueden decodificarse en paralelo, y cuando se inicia la decodificación del segundo mosaico, éste puede decodificarse sin referirse a la información de partición que indica una estructura de sectores del primer mosaico. Más aún, en la partición, cuando un aparato de decodificación de imágenes descodifica un primer mosaico y un segundo mosaico en paralelo, y cuando el aparato de decodificación de imágenes inicia la decodificación el segundo mosaico, la imagen puede particionarse en los mosaicos y los sectores para permitir la decodificación del segundo mosaico sin referirse a la información de partición que indica una estructura de sectores del primer mosaico.
Aquí, la información de partición es, por ejemplo, la información que indica una posición de sector (posición inicial) o una posición de un encabezado de sector. El aparato de decodificación de imágenes salta el mosaico objetivo haciendo referencia a la información de partición.
Como se indicó precedentemente, el encabezado de sector incluye la información (dependent_slice_flag) que indica si el sector es el sector normal o el sector dependiente. En otras palabras, el método de decodificación de imágenes incluye obtener, de un encabezado de sector, la información que indica si un sector es un sector normal o un sector dependiente. Además, el método de codificación de imágenes incluye incorporar, en un encabezado de sector, la información que indica si un sector es un sector normal o un sector dependiente.
El mismo problema descrito para el WPP también ocurre respecto de los mosaicos. Por eso, la solución precedente puede aplicarse a los mosaicos. Cuando se habilitan los mosaicos en lugar del WPP, la parte en la que se efectúa el procesamiento paralelo no es una fila LCU sino un mosaico compuesto de las LCU. Para decirlo de otro modo, la solución puede aplicarse directamente reemplazando la fila LCU por el mosaico.
Como se indicó precedentemente, la corriente de bits puede incluir los sectores normales y los sectores dependientes, y la decodificación de los sectores normales y los sectores dependientes se basa en los parámetros señalizados de los encabezados de sector de los sectores normales.
De acuerdo con una modalidad ejemplificativa descrita en la presente, cuando un sector normal no se inicia en una posición de inicio de un mosaico, se aplica una restricción en el sentido de que un sector dependiente que depende del sector normal no puede ir a continuación del sector normal.
De acuerdo con una modalidad ejemplificativa descrita en la presente, se aplica una restricción de que una imagen se particiona en sectores para hacer que sólo el primer sector de la imagen sea un sector normal y los restantes sectores sean sectores dependientes.
La dependencia de sector está causada por la unidad de decodificación aritmética de cada sector dependiente que usa un encabezado de sector de un sector superior.
De acuerdo con una modalidad ejemplificativa descrita en la presente, cuando es aplicable un sector dependiente, un indicador de restricción se incorpora en una corriente de bits. El sector dependiente es un sector que incluye datos de imagen codificados y utiliza los parámetros de un encabezado de otro sector.
La restricción puede ser cualquiera de las restricciones precedentes, una combinación de tales restricciones o bien, una restricción diferente de las restricciones ejemplificativas.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un aparato es un aparato que descodifica una corriente de bits de una secuencia de video codificada que incluye los sectores de imagen y mosaicos de imagen que están al menos parcialmente codificados por codificación aritmética, incluyendo el aparato: una unidad de análisis que extrae, de los datos para un sector de la corriente de bits, un indicador de inicialización que señala si un modelo de probabilidad de decodificación aritmética del sector se inicializa o no con un valor predeterminado; una unidad de control que controla si el modelo de probabilidad de decodificación aritmética se inicializa o no con el valor predeterminado; y una unidad de decodificación aritmética que descodifica el sector por decodificación aritmética.
De acuerdo con una modalidad ejemplificativa descrita en la presente, un aparato es un aparato que al menos parcialmente codifica una secuencia de video que incluye los sectores de imagen por codificación aritmética, para generar una corriente de bits, incluyendo el aparato: una corriente de bits que genera la unidad que incorpora, en los datos para un sector de la corriente de bits, un indicador de inicialización que indica si se inicializa o no un modelo de probabilidad de codificación aritmética del sector con un valor predeterminado; una unidad de control que controla si se inicializa o no el modelo de probabilidad de codificación aritmética con el valor predeterminado; y una unidad de codificación aritmética que codifica el sector.
Por ejemplo, el indicador de inicialización se incorpora en los datos de encabezado del sector.
Por ejemplo, el indicador de inicialización es una bandera de 1 bit. En la bandera de 1 bit, "1" indica que el modo de probabilidad de decodificación aritmética se inicializa con el valor predeterminado, y "0" indica que el modo de probabilidad de decodificación aritmética se inicializa mediante otro método.
Por ejemplo, un sector de una imagen puede subdividirse en unidades de codificación correspondientes a los bloques de pixeles de la imagen, y sólo cuando el sector es un sector dependiente es decir un sector que usa los parámetros de un encabezado de otro sector, la unidad de análisis puede extraer un indicador de inicialización de datos de encabezado.
Por ejemplo, sólo cuando se admite la decodificación en paralelo de los mosaicos, la unidad de análisis puede extraer el indicador de inicialización de los datos de encabezado. Como alternativa, sólo cuando un sector se inicia en el comienzo de un mosaico, la unidad de análisis puede extraer el indicador de inicialización de los datos de encabezado.
Por ejemplo, el indicador de inicialización se incorpora en un mensaje SEI fuera de un encabezado de sector.
Debe notarse que el término "sector (sector normal o sector dependiente) " usado en la descripción precedente a veces se refiere como un "segmento de sector (segmento de sector normal o segmento de sector dependiente)". En este caso, una unidad que incluye uno o más segmentos de sector consecutivos se denomina un "sector". Específicamente, un sector incluye un segmento de sector normal y uno o más segmentos de sector dependientes consecutivos después del segmento de sector normal. Dicho de otro modo, cuando un segmento de sector normal sigue inmediatamente a otro segmento de sector normal, un sector incluye sólo el segmento de sector normal. Además, cuando uno o más segmentos de sector dependientes siguen inmediatamente a un segmento de sector normal, un sector incluye el segmento de sector normal y el uno o más segmentos de sector dependientes. En una palabra, un sector abarca desde un segmento de sector normal hasta uno o más sectores dependientes que precedente inmediatamente al siguiente segmento de sector normal.
Cuando se usa tal definición, las restricciones precedentemente mencionadas para los mosaicos y sectores corresponden a las siguientes definiciones.
Para cada sector y mosaico deberá cumplirse una o ambas de las siguientes condiciones. (1) Todas las unidades del árbol de codificación de un sector pertenecen al mismo mosaico. (2) Todas las unidades del árbol de codificación de un mosaico pertenecen al mismo sector.
Aquí, las unidades del árbol de codificación son iguales en significado a las LCU y los bloques de árbol de codificación precedentemente mencionados.
Además, deberá cumplirse una o ambas de las siguientes condiciones respecto de cada segmento de sector y mosaico. (1) Todas las unidades del árbol de codificación de un segmento de sector pertenecen al mismo mosaico. (2) Todas las unidades del árbol de codificación de un mosaico pertenecen al mismo segmento de sector.
Aunque hasta ahora el método de codificación de imágenes y el método de decodificación de imágenes se han descrito de acuerdo con las modalidades, la presente invención no está limitada a las modalidades.
El método de codificación de imágenes y el método de decodificación de imágenes se efectúan mediante el aparato de codificación de imágenes y el aparato de decodificación de imágenes, respectivamente. El aparato de codificación de imágenes y el aparato de decodificación de imágenes tienen las mismas estructuras que, por ejemplo, los mostrados en la Figura 1 y la Figura 2, respectivamente, y los pasos de las funciones del método de codificación de imágenes y el método de decodificación de imágenes son ejecutados por cualquiera de las respectivas unidades de procesamiento mostradas en la Figura 1 y la Figura 2 o unidades de procesamiento que no se muestran.
Más aún, las respectivas unidades de procesamiento incluidas en el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con las modalidades se implementan típicamente como un circuito LSI que es un circuito integrado. Esas unidades de procesamiento pueden configurarse individualmente como chips únicos o pueden configurarse de manera que una parte o todas las unidades de procesamiento estén incluidas en un solo chip.
Asimismo, el método de integración de circuitos no se limita a los circuitos LSI, y también es posible la implementación a través de un circuito dedicado o un procesador de funciones generales. También puede usarse un campo de matriz de puertas programadles (FPGA, por sus siglas en inglés) que permite la programación después de la fabricación LSI o un procesador reconfigurable que permite la reconfiguración de las conexiones y ajustes de las celdas de circuitos dentro del LSI.
En las modalidades respectivas, los elementos constitu ivos respectivos se configuran usando hardware dedicado, pero también pueden implementarse ejecutando programas de software adecuados a los respectivos elementos constitutivos. Los respectivos elementos constitutivos pueden implementarse a través de la lectura y ejecución de un programa de software grabado en un medio de grabación, tal como un disco duro o memoria de semiconductores, por una unidad de ejecución de programas, tal como una CPU y un procesador.
En otras palabras, cada uno del aparato de codificación de imágenes y el aparato de decodificación de imágenes incluye circuitos de control y el almacenamiento eléctricamente conectado a los circuitos de control (accesible desde los circuitos de control). Los circuitos de control incluyen al menos uno del hardware dedicado y la unidad de ejecución de programas. Además, cuando los circuitos de control incluyen la unidad de ejecución de programas, el almacenamiento guarda un programa de software ejecutado por la unidad de ejecución de programas.
Más aún, la presente invención puede ser el programa de software o un medio de grabación legible por computadora no transitorio en que se graba el programa. Asimismo, se entiende que el programa puede distribuirse a través de un medio de transmisión, tal como Internet.
Más aún, todas las cifras numéricas usadas en la descripción precedente meramente se ejemplifican para describir la presente invención en términos específicos, y por eso la presente invención no está limitada a las cifras numéricas ejemplificadas.
Asimismo, la separación de los bloques de funciones de los diagramas de bloques es meramente un ejemplo, y pueden implementarse múltiples bloques de funciones como un solo bloque de funciones, puede separarse un solo bloque de funciones en múltiples bloques de funciones o parte de las funciones de un bloque de funciones puede transferirse a otro bloque de funciones. Además, las funciones de bloques con funciones similares pueden procesarse, en paralelo o por tiempo compartido, mediante un solo hardware o software.
Más aún, la secuencia en que se ejecutan los pasos incluidos en el método de codificación de imágenes y el método de decodificación de imágenes se da como un ejemplo para describir la presente invención en términos específicos, y por eso son posibles otras secuencias. Asimismo, parte de los pasos pueden ejecutarse simultáneamente (en paralelo) con otro paso.
La materia objeto descrita en la presente debe considerarse sólo descriptiva e ilustrativa, y las Reivindicaciones anexas son de un alcance destinado a cubrir y abarcar no sólo las particulares modalidades que se han descrito, sino también las estructuras, métodos y/o usos equivalentes. Están incluidas en el alcance de uno o más aspectos de la presente invención las diversas modificaciones de las modalidades que pueden concebir los expertos en la téenica y las formas configuradas combinando los elementos constitutivos de las diferentes modalidades sin apartarse de las enseñanzas de la presente invención.
Modalidad 5 El procesamiento descrito en cada una de las modalidades puede implementarse simplemente en un sistema de computación independiente, grabando en un medio de grabación un programa para implementar las configuraciones del método de codificación de imágenes móviles (método de codificación de imágenes) y el método de decodificación de imágenes móviles (método de decodificación de imágenes) descritos en cada una de las modalidades. Los medios de grabación pueden ser cualquier medio de grabación en tanto pueda grabarse el programa, por ejemplo un disco magnético, un disco óptico, un disco magnético óptico, una tarjeta IC y una memoria de semiconductores.
De aquí en adelante se describirán las aplicaciones del método de codificación de imágenes móviles (el método de codificación de imágenes) y el método de decodificación de imágenes móviles (el método de decodificación de imágenes) descritos en cada una de las modalidades y los sistemas que los usan. El sistema se caracteriza por tener un aparato de codificación y decodificación de imágenes que incluye un aparato de codificación de imágenes que usa el método de codificación de imágenes y un aparato de decodificación de imágenes que usa el método de decodificación de imágenes. De acuerdo con los casos, pueden cambiar otras configuraciones del sistema según corresponda.
La Figura 28 ilustra una configuración total de un sistema de provisión de contenido exlOO para implementar servicios de distribución de contenido. El área para proveer servicios de comunicaciones está dividida en celdas del tamaño deseado y las estaciones de base exl06, exl07, exl08, exl09 y exllO que son estaciones inalámbricas fijas están colocadas en cada una de las celdas.
El sistema de provisión de contenido exlOO está conectado a dispositivos, tales como una computadora exlll, un asistente personal digital (PDA) exll2, una cámara exll3, un teléfono celular exll4 y una máquina de juegos exll5, a través de Internet exlOl, un proveedor de servicio de Internet exl02, una red telefónica exl04, así como también las estaciones de base exl06 a exllO, respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido exlOO no se limita a la configuración mostrada en la Figura 28 y es aceptable una combinación en la que esté conectado cualquiera de los elementos. Además, cada dispositivo puede conectarse directamente a la red telefónica exl04, en lugar de hacerlo por las estaciones de base exl06 a exllO que son las estaciones inalámbricas fijas. Asimismo, los dispositivos pueden interconectarse entre sí mediante comunicaciones inalámbricas de corta distancia y otras.
La cámara exll3, tal como una videocámara digital, puede capturar video. Una cámara exll6, tal como una videocámara digital, puede capturar tanto imágenes fijas como video. Asimismo, el teléfono celular exll4 puede ser el que cumpla cualquiera de las normas tales como sistema global de comunicaciones móviles (GSM, por sus siglas en inglés), acceso múltiple por división de código (CDMA, por sus siglas en inglés), acceso múltiple por división de código de banda ancha (W-CDMA, por sus siglas en inglés), Evolución a largo plazo (LTE, por sus siglas en inglés) y acceso por paquetes de alta velocidad (HSPA, por sus siglas en inglés). Como alternativa, el teléfono celular exll4 puede ser un sistema Personal de Teléfono Portátil (PHS, por sus siglas en inglés) .
En el sistema de provisión de contenido exlOO, un servidor de transmisión continua exl03 está conectado a la cámara exll3 y otros dispositivos por medio de la red telefónica exl04 y la estación de base exl09, lo cual posibilita la distribución de las imágenes de un programa en vivo y otras. En tal distribución, un contenido (por ejemplo, el video de un espectáculo de música en vivo) capturado por el usuario que utiliza la cámara exll3 se codifica como ya se describió anteriormente en cada una de las modalidades (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención), y el contenido codificado se transmite al servidor de transmisión continua exl03. Por otra parte, el servidor de transmisión continua exl03 lleva a cabo la distribución de las corrientes de los datos de contenido transmitidos a los clientes, a su pedido. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la máquina de juegos exll5 que pueden decodificar los datos codificados precedentemente mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos, descodifica y reproduce los datos codificados (es decir, los dispositivos funcionan, cada uno, como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención).
Los datos capturados pueden ser codificados por la cámara exll3 o el servidor de transmisión continua exl03 que transmite los datos o bien, los procesos de codificación pueden compartirse entre la cámara exll3 y el servidor de transmisión continua exl03. De manera similar, los datos distribuidos pueden ser decodificados por los clientes o el servidor de transmisión continua exl03 o bien, los procesos de decodificación pueden compartirse entre los clientes y el servidor de transmisión continua exl03. Asimismo, los datos de las imágenes fijas y el video capturados, no sólo por la cámara exll3 sino también por la cámara exll6, pueden transmitirse al servidor de transmisión continua exl03 a través de la computadora exlll. Los procesos de codificación pueden ser ejecutados por la cámara exll6, la computadora exlll o el servidor de transmisión continua exl03 o bien, compartirse entre ellos.
Asimismo, los procesos de codificación y decodificación pueden ser ejecutados por un LSI ex500 en general incluida en cada uno de la computadora exlll y los dispositivos. El circuito LSI ex500 puede estar configurado con un solo chip o una pluralidad de chips. El software para codificar y decodificar el video puede estar integrado en algún tipo de medio de grabación (tal como un CD-ROM, un disco flexible y un disco duro) que sea legible por la computadora exlll y otros, y los procesos de codificación y decodificación pueden ejecutarse usando el software. Asimismo, cuando el teléfono celular exll4 está equipado con una cámara, pueden transmitirse los datos de video obtenidos por la cámara. Los datos de video son datos codificados por el circuito LSI ex500 incluido en el teléfono celular exll4.
Asimismo, el servidor de transmisión continua exl03 puede estar compuesto de servidores y computadoras y puede descentralizar los datos y procesar los datos descentralizados, grabar o distribuir los datos.
Como ya se describió, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar la información transmitida por el usuario, y reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de manera que el usuario que no tiene ningún derecho ni equipo particular puede implementar la difusión personal.
Aparte del ejemplo del sistema de provisión de contenido exlOO, al menos uno del aparato de codificación de imágenes móviles (el aparato de codificación de imágenes) y el aparato de decodificación de imágenes móviles (el aparato de codificación de imágenes) descritos en cada una de las modalidades, puede implementarse en un sistema de difusión digital ex200 como el ilustrado en la Figura 29. Más específicamente, una estación de difusión ex201 se comunica o transmite, por medio de ondas de radio a un satélite de difusión ex202 los datos multiplexados obtenidos multiplexando los datos de audio y otros en los datos de video. Los datos de video son datos codificados por el método de codificación de imágenes móviles descrito en cada una de las modalidades (es decir, los datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención). Al recibir los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para efectuar la difusión. Después, una antena de uso doméstico ex204 con una función de recepción de difusión satelital recibe las ondas de radio. A continuación, un dispositivo tal como una televisión (receptor) ex300 y un decodificador (STB, por sus siglas en inglés) ex217, descodifica los datos multiplexados recibidos, y reproduce los datos decodificados (es decir, el dispositivo funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención).
Asimismo, una lectora/grabadora ex218: (i) lee y descodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un BD; o (i) codifica las señales de video en el medio de grabación ex215 y, en algunos casos, graba los datos obtenidos multiplexando una señal de audio en los datos codificados. La lectora/grabadora ex218 puede incluir el aparato de decodificación de imágenes móviles o el aparato de codificación de imágenes móviles, tal como se muestra en cada una de las modalidades. En este caso, las señales de video reproducidas se presentan en el monitor ex219 y pueden ser reproducidas por otro dispositivo o sistema que use el medio de grabación ex215 en el que estén grabados los datos multiplexados. También es posible implementar el aparato de decodificación de imágenes móviles en el decodificador ex217 conectado al cable ex203 para una televisión por cable o a la antena ex204 para la difusión satelital y/o terrestre, de manera de mostrar las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de imágenes móviles puede implementarse no en el decodificador, sino en la televisión ex300.
La Figura 30 ilustra la televisión (receptor) ex300 que utiliza el método de codificación de imágenes móviles y el método de decodificación de imágenes móviles, descritos en cada una de las modalidades. La televisión ex300 incluye: un sintonizador ex301 que obtiene o provee los datos multiplexados obtenidos multiplexando los datos de audio en los datos de video, a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula los datos en los datos multiplexados que deben suministrarse al exterior; y una unidad de multiplexión/desmultiplexión ex303 que desultiplexa los datos multiplexados modulados en los datos de video y los datos de audio, o multiplexa los datos de video y los datos de audio codificados por una unidad de procesamiento de señales ex306 en los datos.
La televisión ex300 además incluye: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 (que funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención) que decodifican los datos de audio y los datos de video y codifican los datos de audio y los datos de video, respectivamente; y una unidad de salida ex309 que incluye un parlante ex307 el cual provee la señal de audio decodificada, y una unidad de presentación ex308 que muestra la señal de video decodificada, por ejemplo una pantalla. Asimismo, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Asimismo, la televisión ex300 incluye una unidad de control ex310 que controla globalmente cada elemento constitutivo de la televisión ex300, y una unidad de circuito de suministro eléctrico ex311 que suministra la alimentación eléctrica a cada uno de los elementos. Otros elementos diferentes de la unidad de entrada de operación ex312, la unidad de interfaz ex317 pueden incluir: un puente ex313 que está conectado a un dispositivo externo, tal como la lectora/grabadora ex218; una unidad de ranura ex314 para habilitar el acoplamiento del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que debe conectarse a un medio de grabación externo, tal como un disco duro; y un módem ex316 que debe conectarse a una red telefónica. Aquí, el medio de grabación ex216 puede grabar eléctricamente la información usando un elemento de memoria de semiconductores no volátil/volátil para el almacenamiento. Los elementos constitutivos de la televisión ex300 están conectados entre sí a través de un bus sincrónico.
Primero se describirá la configuración en que la televisión ex300 descodifica los datos multiplexados obtenidos del exterior a través de la antena ex204 y otros y reproduce los datos decodificados. En la televisión ex300, al ocurrir una operación de usuario a través de un controlador remoto ex220 y otros dispositivos, la unidad de multiplexión/desmultiplexión ex303 desmultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulación ex302, bajo el control de la unidad de control ex310 que incluye una CPU. Asimismo, la unidad de procesamiento de señales de audio ex304 descodifica los datos de audio desmultiplexados, y la unidad de procesamiento de señales de video ex305 descodifica los datos de video desmultiplexados, usando el método de decodificación descrito en cada una de las modalidades, en la televisión ex300. La unidad de salida ex309 provee la señal de video y la señal de audio decodificadas al exterior, respectivamente. Cuando la unidad de salida ex309 provee la señal de video y la señal de audio, las señales pueden almacenarse temporariamente en los búferes ex318 y ex319 y otros dispositivos de manera que las señales se reproducen en sincronización entre sí. Asimismo, la televisión ex300 puede leer los datos multiplexados no a través del dispositivo de difusión y otros, sino de los medios de grabación ex215 y ex216, por ejemplo un disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en que la televisión ex300 codifica una señal de audio y una señal de video, y transmite los datos al exterior o los graba en un medio de grabación. En la televisión ex300, al ocurrir una operación de usuario a través del controlador remoto ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo el control de la unidad de control ex310 usando el método de codificación descrito en cada una de las modalidades. La unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio codificadas, y provee la señal resultante al exterior. Cuando la unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio, las señales se almacenan temporariamente en los búferes ex320 y ex321, y otros dispositivos de manera que las señales se reproducen en sincronización entre sí. Aquí, los búferes ex318, ex319, ex320 y ex321 pueden ser una pluralidad tal como se ilustra o al menos puede compartirse un búfer en la televisión ex300. Asimismo, pueden almacenarse los datos en un búfer de manera que se evite el desbordamiento y el subflujo del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexión/desmultiplexión ex303, por ejemplo.
Asimismo, la televisión ex300 puede incluir una configuración para recibir una entrada AV (audio/video) de un micrófono o una cámara distintos de la configuración para obtener datos de audio y video de una difusión o un medio de grabación, y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proveer datos externos en la descripción, puede ser apta para sólo recibir, decodificar y proveer datos externos pero no codificar, multiplexar y proveer datos externos.
Asimismo, cuando la lectora/grabadora ex218 lee o graba los datos multiplexados de o en un medio de grabación, una de la televisión ex300 y la lectora/grabadora ex218 puede decodificar o codificar los datos multiplexados, y la televisión ex300 y la lectora/grabadora ex218 pueden compartir la decodificación o codificación.
Como ejemplo, la Figura 31 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando se leen o graban los datos de o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constitutivos ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen de aquí en adelante. El cabezal óptico ex401 irradia un foco láser en una superficie de grabación del medio de grabación ex215, es decir un disco óptico para grabar la información, y detecta la luz reflejada de la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de modulación de la grabación ex402 impulsa eléctricamente un láser semiconductor incluido en el cabezal óptico ex401 y modula la luz láser de acuerdo con los datos grabados. La unidad de reproducción de la desmodulación ex403 amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada de la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y desmodula la señal de reproducción separando un componente de la señal grabada en el medio de grabación ex215 para reproducir la información necesaria. El búfer ex404 retiene temporariamente la información que debe grabarse en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor de disco ex405 gira el medio de grabación ex215. La unidad del Servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada al tiempo que controla el impulso de rotación del motor de disco ex405 como para seguir el foco láser. La unidad de control del sistema ex407 controla globalmente la unidad de reproducción/grabación de información ex400. Los procesos de lectura y grabación pueden ser implementados por la unidad de control del sistema ex407 usando la diversa información almacenada en el búfer ex404 y generando y agregando nueva información según sea necesario, y mediante la unidad de modulación de la grabación ex402, la unidad de reproducción de la desmodulación ex403 y la unidad del Servocontrol ex406 que graban y reproducen la información a través del cabezal óptico ex401 mientras funcionan de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento haciendo que una computadora ejecute un programa de lectura y grabación.
Aunque el cabezal óptico ex401 irradia un foco láser en la descripción, puede realizar grabación de alta densidad usando luz del campo cercano.
La Figura 32 ilustra el medio de grabación ex215, es decir el disco óptico. En la superficie de grabación del medio de grabación ex215, se forman ranuras de guía en espiral y una pista de información ex230 graba de antemano la información de dirección que indica una posición absoluta en el disco de acuerdo con el cambio de forma de las ranuras de guía. La información de dirección incluye la información para determinar las posiciones de los bloques de grabación ex231 que son una unidad para grabar los datos. Reproducir la pista de información ex230 y leer la información de dirección en un aparato que graba y reproduce los datos puede llevar a la determinación de las posiciones de los bloques de grabación. Asimismo, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232 y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área que se usa para grabar los datos de usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente, son de uso específico excepto para grabar los datos de usuario. La unidad de reproduceión/grabación de información 400 lee y graba datos de audio codificado, datos de video codificado o los datos multiplexados obtenidos multiplexando los datos de audio y video codificados, de y en el área de grabación de datos ex233 del medio de grabación ex215.
Aunque en la descripción se expone como ejemplo un disco óptico que tiene una capa, tal como un DVD y un BD, el disco óptico no está limitado a ello y puede ser un disco óptico que tenga una estructura multicapa y pueda grabarse en una parte diferente de la superficie. Asimismo, el disco óptico puede tener una estructura para la grabación/reproducción multidimensional , por ejemplo la grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y la grabación de información que tienen diferentes capas desde diversos ángulos.
Asimismo, un automóvil ex210 con una antena ex205 puede recibir datos del satélite ex202 y otros y reproducir video en un dispositivo de presentación, tal como un sistema de navegación de automóvil ex211 instalado en el automóvil ex210, en el sistema de difusión digital ex200. Aquí, una configuración del sistema de navegación de automóvil ex211 será una configuración, por ejemplo, que incluya una unidad de recepción de GPS de la configuración ilustrada en la Figura 30. Lo mismo valdrá para la configuración de la computadora exlll, el teléfono celular ex!14 y otros dispositivos.
La Figura 33A ilustra el teléfono celular exll4 que utiliza el método de codificación de imágenes móviles y el método de decodificación de imágenes móviles descritos en las modalidades. El teléfono celular exll4 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación de base exllO; una unidad de cámara ex365 apta para capturar imágenes móviles y fijas; y una unidad de presentación ex358 tal como una pantalla de cristal líquido para mostrar los datos, por ejemplo el video decodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular exll4 además incluye: una unidad de cuerpo principal que incluye una unidad de teclas de operación ex366; una unidad de salida de audio ex357 tal como un parlante para la salida del audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar el video o las imágenes fijas capturados, el audio grabado, los datos codificados o decodificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364, es decir una unidad de interfaz para un medio de grabación que almacena los datos de la misma manera que la unidad de memoria ex367.
A continuación, se describirá un ejemplo de una configuración del teléfono celular exll4 con respecto a la Figura 33B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar globalmente cada unidad del cuerpo principal que incluye la unidad de presentación ex358 así como también la unidad de teclas de operación ex366 se conecta mutuamente, por medio de un bus sincrónico ex370, a una unidad de circuito del suministro eléctrico ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video ex355, una unidad de interfaz de cámara ex363, una unidad de control de pantalla de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexión/desmultiplexión ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando se enciende (ON) una tecla de fin de llamada o una tecla de alimentación eléctrica por la operación de un usuario, la unidad de circuito de suministro eléctrico ex361 suministra a las unidades respectivas la alimentación de un paquete de batería como para activar el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recogidas por la unidad de entrada de audio ex356 de modo conversacional de voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Después, la unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro ensanchado en las señales de audio digital, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia de los datos, como para transmitir los datos resultantes por la antena ex350. Además, en el teléfono celular exll4, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en modo conversacional de voz y realiza la conversión de frecuencia y la conversión de analógico a digital de los datos. Después, la unidad de modulación/desmodulación ex352 realiza el procesamiento inverso de espectro ensanchado de los datos, y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio analógico, como para darles salida por medio de la unidad de salida de audio ex357.
Asimismo, cuando se transmite un correo electrónico en modo de comunicación de datos, se envían afuera los datos de texto del correo electrónico al que se dio entrada operando la unidad de teclas de operación ex366 y otros del cuerpo principal, a la unidad de control principal ex360 por medio de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 hace que la unidad de modulación/desmodulación ex352 realice el procesamiento de espectro ensanchado en los datos de texto, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación de base exllO por la antena ex350. Cuando se recibe un correo electrónico, se efectúa el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico en los datos recibidos, y se proveen los datos resultantes a la unidad de presentación ex358.
Cuando están o se transmiten video, imágenes fijas o video y audio en modo de comunicación de datos, la unidad de procesamiento de señales de video ex355 comprime y codifica las señales de video suministradas desde la unidad de cámara ex365 usando el método de codificación de imágenes móviles mostrado en cada una de las modalidades (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención), y transmite los datos de video codificado a la unidad de multiplexión/desmultiplexión ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señales de audio ex354 codifica las señales de audio recogidas por la unidad de entrada de audio ex356, y transmite los datos de audio codificado a la unidad de multiplexión/desmultiplexión ex353.
La unidad de multiplexión/desmultiplexión ex353 multiplexa los datos de video codificado suministrados desde la unidad de procesamiento de señales de video ex355 y los datos de audio codificado suministrados desde la unidad de procesamiento de señales de audio ex354, usando un método predeterminado. Después, la unidad de modulación/desmodulación (la unidad de circuito de modulación/desmodulación) ex352 realiza el procesamiento de espectro ensanchado de los datos multiplexados, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia de los datos como para transmitir los datos resultantes por la antena ex350.
Cuando se reciben datos de un archivo de video que está vinculado a una página Web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjunto, a fin de decodificar los datos multiplexados recibidos por la antena ex350, la unidad de multiplexión/desmultiplexión ex353 desmultiplexa los datos multiplexados en una corriente de bits de datos de video y una corriente de bits de datos de audio, y suministra a la unidad de procesamiento de señales de video ex355 los datos de video codificado y a la unidad de procesamiento de señales de audio ex354 los datos de audio codificado, a través del bus sincrónico ex370. La unidad de procesamiento de señales de video ex355 descodifica la señal de video usando un método de decodificación de imágenes móviles correspondiente al método de codificación de imágenes móviles mostrado en cada una de las modalidades (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención), y después la unidad de presentación ex358 muestra, por ejemplo, el video y las imágenes fijas incluidos en el archivo de video vinculado a la página Web por medio de la unidad de control LCD ex359. Asimismo, la unidad de procesamiento de señales de audio ex354 descodifica la señal de audio, y la unidad de salida de audio ex357 provee el audio.
Además, de manera similar a la televisión ex300, una terminal tal como el teléfono celular exll4 puede tener 3 tipos de configuraciones de implementación que incluyan no sólo: (i) una terminal de transmisión y recepción que incluye tanto un aparato de codificación y un aparato de decodificación, sino también: (ii) una terminal de transmisión que incluye sólo un aparato de codificación; y (iii) una terminal de recepción que incluye sólo un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos multiplexando los datos de audio en los datos de video de la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no los datos de audio sino los datos de caracteres relacionados con el video en los datos de video, y pueden no ser datos multiplexados sino los mismos datos de video.
Como tales, el método de codificación de imágenes móviles y el método de decodificación de imágenes móviles de cada una de las modalidades, pueden usarse en cualquiera de los dispositivos y sistemas descritos. Por eso, pueden obtenerse las ventajas descritas en cada una de las modalidades.
Asimismo, se pueden realizar diversas modificaciones y revisiones a cualquiera de las modalidades de la presente invención.
Modalidad 6 Los datos de video pueden generarse conmutando, según sea necesario, entre: (i) el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles mostrado en cada una de las modalidades; y (ii) un método de codificación de imágenes móviles o un aparato de codificación de imágenes móviles de conformidad con una norma diferente, tal como MPEG-2, MPEG4-AVC y VC-1.
Aquí, cuando se generan y después se decodifican una pluralidad de datos de video que guardan conformidad con las diferentes normas, deben seleccionarse los métodos de decodificación que guarden conformidad con las diferentes normas. Sin embargo, como no puede detectarse con qué norma guarda conformidad cada uno de la pluralidad de datos de video que deben decodificarse, no puede seleccionarse un método de decodificación apropiado.
Por esto, los datos multiplexados obtenidos multiplexando los datos de audio y otros en los datos de video tienen una estructura que incluye información de identificación que indica con qué norma guardan conformidad los datos de video. De aquí en adelante se describirá la estructura específica de los datos multiplexados que incluye los datos de video generados en el método de codificación de imágenes móviles y por el aparato de codificación de imágenes móviles mostrado en cada una de las modalidades. Los datos multiplexados son una corriente digital en el formato de corriente de transporte MPEG2-TS.
La Figura 34 ilustra una estructura de los datos multiplexados. Tal como se ilustra en la Figura 34, los datos multiplexados pueden obtenerse multiplexando al menos una de una corriente de video, una corriente de audio, una corriente de gráficos de presentación (PG) y una corriente de gráficos interactivos. La corriente de video representa el video primario y el video secundario de una película, la corriente de audio (IG) representa una parte de audio primario y una parte de audio secundario que debe mezclarse con la parte de audio primario, y la corriente de gráficos de presentación representa los subtítulos de la película. Aquí, el video primario es el video normal que debe mostrarse en una pantalla, y el video secundario es el video que debe mostrarse en una ventana más pequeña en el video primario. Asimismo, la corriente de gráficos interactivos representa una pantalla interactiva que debe generarse disponiendo los componentes de la GUI en una pantalla. La corriente de video se codifica en el método de codificación de imágenes móviles o mediante el aparato de codificación de imágenes móviles mostrado en cada una de las modalidades o bien, en un método de codificación de imágenes móviles o mediante un aparado de codificación de imágenes móviles de conformidad con una norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1. La corriente de audio se codifica de acuerdo con una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada corriente incluida en los datos multiplexados se identifica mediante un PID. Por ejemplo, se asigna 0x1011 a la corriente de video que debe emplearse para el video de una película, se asignan 0x1100 a OxlllF a las corrientes de audio, 0x1200 a 0xl21F a las corrientes de gráficos de presentación, 0x1400 a 0xl41F a las corrientes de gráficos interactivos, OxlBOO a OxlBlF a las corrientes de video que deben emplearse para el video secundario de la película, y OxlAOO a OxlAlF a las corrientes de audio que deben emplearse para el video secundario que deben mezclarse con el audio primario.
La Figura 35 ilustra esquemáticamente cómo se multiplexan los datos. En primer lugar, una corriente de video ex235 compuesta de cuadros de video y una corriente de audio ex238 compuesta de cuadros de audio se transforman en una corriente de paquetes PES ex236 y una corriente de paquetes PES ex239, y además en los paquetes TS ex237 y los paquetes TS ex240, respectivamente. De manera similar, los datos de una corriente de gráficos de presentación ex241 y los datos de una corriente de gráficos interactivos ex244 se transforman en una corriente de paquetes PES ex242 y una corriente de paquetes PES ex245, y además en los paquetes TS ex243 y los paquetes TS ex246, respectivamente. Estos paquetes TS se multiplexan en una corriente para obtener los datos multiplexados ex247.
La Figura 36 ilustra con mayor detalle cómo se almacena una corriente de video en una corriente de paquetes PES. La primera barra de la Figura 36 muestra una corriente de cuadros de video en una corriente de video. La segunda barra muestra la corriente de paquetes PES. Tal como se indica mediante las flechas señaladas yyl, yy2, yy3 y yy4 en la Figura 36, la corriente de video se divide en imágenes como las imágenes I, imágenes B e imágenes P cada una de las cuales es una unidad de presentación de video, y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezado PES y el encabezado PES almacena un indicador de hora de presentación (PTS) que indica una hora de exhibición de la imagen, y un indicador de hora de decodificación (DTS) que indica una hora de decodificación de la imagen.
La Figura 37 ilustra un formato de paquetes TS que por último se graban en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes, que incluye un encabezado TS de 4 bytes con información, tal como un PID para identificar una corriente y una carga de trabajo TS de 184 bytes para el almacenamiento de datos. Los paquetes PES se dividen y almacenan en las cargas útiles TS, respectivamente. Cuando se usa un BD ROM, a cada uno de los paquetes TS se le da un TP_Extra_Header de 4 bytes, resultando así un paquete de origen de 192 bytes. Los paquetes de origen se graban en los datos multiplexados. El TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (ATS). El ATS muestra una hora inicial de transferencia a la que debe transferirse cada uno de los paquetes TS a un filtro PID. Los paquetes de origen se disponen en los datos multiplexados tal como se muestra en la parte inferior de la Figura 37. Los números en aumento desde el inicio de los datos multiplexados se llaman números de paquete de origen (SPN).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no sólo corrientes de audio, video, subtítulos y otros, sino también una tabla de asociación de programa (PAT), una tabla de mapa de programa (PMT) y una referencia horaria de programa (PCR). La PAT muestra qué indica un PID de una PMT usada en los datos multiplexados, y un PID de la propia PAT está registrado como cero. La PMT almacena los PID de las corrientes de video, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributos de las corrientes correspondientes a los PID. La PMT también tiene diversos descriptores relativos a los datos multiplexados. Los descriptores tienen información tal como la información de control de copiado que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena la información de hora STC correspondiente a un ATS que muestra cuándo se transfiere el paquete PCR a un decodificador, a fin de lograr la sincronización entre un reloj de hora de llegada (ATC), es decir un eje temporal de los ATS, y un reloj de hora del sistema (STC), un eje temporal de los PTS y los DTS.
La Figura 38 ilustra en detalle la estructura de datos de la PMT. Un encabezado PMT está dispuesto en la parte superior de la PMT. El encabezado PMT describe la longitud de los datos incluidos en la PMT y otros. Una pluralidad de descriptores relativos a los datos multiplexados está dispuesta después del encabezado PMT. En los descriptores se describe información tal como la información de control de copia. Después de los descriptores, está dispuesta una pluralidad de elementos de información de corriente relativos a las corrientes incluidas en los datos multiplexados. Cada elemento de información de corriente incluye descriptores de corriente, cada uno de los cuales describe información, tal como un tipo de corriente para identificar un códec (codificador/decodificador) de compresión de una corriente, un PID de corriente e información de atributos de corriente (tal como una velocidad de cuadros o una relación de aspecto). Los descriptores de corriente son iguales en cantidad a la cantidad de corrientes de los datos multiplexados.
Cuando se graban los datos multiplexados en un medio de grabación y otros, se graban conjuntamente con los archivos de información de los datos multiplexados.
Cada uno de los archivos de información de los datos multiplexados es información de gestión de los datos multiplexados, tal como se muestra en la Figura 39. Los archivos de información de los datos multiplexados están en una correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributos de corriente y un mapa de entradas.
Tal como se ilustra en la Figura 39, los datos multiplexados incluyen una velocidad del sistema, una hora inicial de reproducción y una hora final de reproducción. La velocidad del sistema indica la máxima velocidad de transferencia a la que transfiere los datos multiplexados un decodificador de destino del sistema, que se describirá más adelante, a un filtro PID. Los intervalos de los ATS incluidos en los datos multiplexados se fijan de manera que no sean superiores a una velocidad del sistema. La hora inicial de reproducción indica un PTS en un cuadro de video en el inicio de los datos multiplexados. Se agrega un intervalo de un cuadro a un PTS en un cuadro de video al final de los datos multiplexados, y el PTS se fija a la hora final de reproducción.
Tal como se muestra en la Figura 40, un elemento de la información de atributos está registrado en la información de atributos de corriente, para cada PID de cada corriente incluida en los datos multiplexados. Cada elemento de la información de atributos tiene diferente información según si la correspondiente corriente es una corriente de video, una corriente de audio, una corriente de gráficos de presentación o una corriente de gráficos interactivos. Cada elemento de información de atributos de corriente de video lleva información que incluye qué clase de códec de compresión se usa para comprimir la corriente de video y la resolución, la relación de aspecto y la velocidad de cuadros de los elementos de datos de imagen que están incluidos en la corriente de video. Cada elemento de información de atributos de corriente de audio lleva información que incluye qué clase de códec de compresión se usa para comprimir la corriente de audio, cuántos canales se incluyen en la corriente de audio, qué idioma admite la corriente de audio y cuán alta es la frecuencia de muestreo. La información de atributos de corriente de video y la información de atributos de corriente de audio se usan para la inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente modalidad, los datos multiplexados que deben emplearse son de un tipo de corriente incluida en la PMT. Asimismo, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributos de corriente de video incluida en la información de los datos multiplexados. Más específicamente, el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles descrito en cada una de las modalidades incluye un paso o una unidad para asignar información única que indica los datos de video generados por el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles en cada una de las modalidades, al tipo de corriente incluida en la PMT o la información de atributos de corriente de video. Con la configuración, los datos de video generados por el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles descrito en cada una de las modalidades pueden distinguirse de los datos de video que guardan conformidad con otra norma.
Asimismo, la Figura 41 ilustra los pasos del método de decodificación de imágenes móviles de acuerdo con la presente realización. En el Paso exSlOO, el tipo de corriente incluida en el PMT o la información de atributos de la corriente de video se obtiene de los datos multiplexados. A continuación, en el Paso exSlOl, se determina si el tipo de corriente o la información de atributos de corriente de video indican o no que los datos multiplexados son generados por el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles en cada una de las modalidades. Cuando se determina que el tipo de corriente o la información de atributos de corriente de video indica que los datos multiplexados son generados por el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles en cada una de las modalidades, en el Paso exS102, se efectúa la decodificación de acuerdo con el método de decodificación de imágenes móviles en cada una de las modalidades. Asimismo, cuando el tipo de corriente o la información de atributos de corriente de video indica conformidad con las normas convencionales, tales como MPEG-2, MPEG4-AVC y VC-1, en el Paso exS103, se efectúa la decodificación mediante un método de decodificación de imágenes móviles de conformidad con las normas convencionales.
Como tal, la asignación de un nuevo valor único al tipo de corriente o la información de atributos de corriente de video permite determinar si el método de decodificación de imágenes móviles o el aparato de decodificación de imágenes móviles que se describe en cada una de las modalidades puede efectuar o no la decodificación. Incluso cuando los datos multiplexados guardan conformidad con una norma diferente, puede seleccionarse un método o aparato de codificación apropiado. Por eso, resulta posible decodificar la información sin ningún error. Asimismo, el método o el aparato para codificar imágenes móviles, o el método o el aparato para decodificar imágenes móviles de la presente modalidad pueden usarse en los dispositivos y sistemas descritos precedentemente.
Modalidad 7 Cada uno del método de codificación de imágenes móviles, el aparato de codificación de imágenes móviles, el método de decodificación de imágenes móviles y el aparato de decodificación de imágenes móviles de cada una de las modalidades se logra típicamente en la forma de un circuito integrado o un circuito de integración a gran escala (LSI). Como ejemplo del circuito LSI, la Figura 42 ilustra una configuración del circuito LSI ex500 que está hecho en un solo chip. El circuito LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describen a continuación, y los elementos están conectados entre sí a través de un bus ex510. La unidad de circuito de suministro eléctrico ex505 se activa suministrando la alimentación eléctrica a cada uno de los elementos cuando se enciende la unidad de circuito de suministro eléctrico ex505.
Por ejemplo, cuando se efectúa la codificación, el circuito LSI ex500 recibe una señal AV de un micrófono exll7, una cámara exll3 y otros dispositivos a través de una E/S AV ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de corriente ex504 y una unidad de control de frecuencias impulsoras ex512. La señal AV recibida se almacena temporariamente en una memoria externa ex511, tal como una SDRA . Bajo el control de la unidad de control ex501, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad y la velocidad del procesamiento que debe transmitirse a una unidad de procesamiento de señales ex507. Después, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. Aquí, la codificación de la señal de video es la codificación descrita en cada una de las modalidades. Asimismo, la unidad de procesamiento de señales ex507 a veces multiplexa los datos de audio codificado y los datos de video codificado, y una corriente de E/S ex506 provee los datos multiplexados al exterior. Los datos multiplexados provistos se transmiten a la estación de base exl07 o se graban en los medios de grabación ex215. Cuando se multiplexan los conjuntos de datos, los datos deben almacenarse temporariamente en el búfer ex508 de manera que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento exterior al circuito LSI ex500, puede incluirse en él. El búfer ex508 no está limitado a un solo búfer, sino que puede estar compuesto de búferes. Asimismo, el circuito LSI ex500 puede estar hecho en un solo chip o una pluralidad de chips.
Además, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de corriente ex504, la unidad de control de frecuencias impulsoras ex512, la configuración de la unidad de control ex501 no está limitada a tales dispositivos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Asimismo, como otro ejemplo, la CPU ex502 puede servir como o ser parte de la unidad de procesamiento de señales ex507 y, por ejemplo, incluir una unidad de procesamiento de señales de audio. En tal caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre usado aquí es circuito LSI, pero también puede llamarse IC, sistema LSI, súper LSI o ultra LSI según el grado de integración.
Más aún, los modos de lograr la integración no están limitados al circuito LSI, y un circuito especial o un procesador de uso general, etc. también pueden lograr la integración. Puede usarse la matriz de compuertas programables (FPGA) que se programa después de la fabricación de los circuitos LSI o un procesador reconfigurable que admite la reconfiguración de la conexión o configuración de un circuito LSI con la misma finalidad. Tal dispositivo de lógica programable típicamente puede ejecutar el método de codificación de imágenes móviles y/o el método de decodificación de imágenes móviles descrito en cada una de las modalidades, cargando o lcyendo de una memoria, un programa incluido en el software o el firmware.
En el futuro, con los avances de la teenología de semiconductores, una tecnología totalmente nueva podría reemplazar al concepto LSI. Los bloques funcionales pueden integrarse usando tal tecnología. La posibilidad es que la presente invención se aplique a la biotecnología.
Modalidad 8 Cuando se decodifican los datos de video generados en el método de codificación de imágenes móviles o mediante el aparato de codificación de imágenes móviles descritos en cada una de las modalidades, en comparación a cuando se decodifican los datos de video que guardan conformidad con una norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, la cantidad de procesamiento probablemente se incrementa. Por eso, el circuito LSI ex500 debe establecerse en una frecuencia impulsora superior a la de la CPU ex502 que debe emplearse cuando se decodifican los datos de video de conformidad con la norma convencional. Sin embargo, cuando la frecuencia impulsora se fija más alta, aumenta el consumo de alimentación eléctrica.
Por esto, el aparato de decodificación de imágenes móviles, tal como la televisión ex300 y el circuito LSI ex500, se configuran para determinar con qué guardan conformidad los datos de video y conmutar entre las frecuencias impulsoras de acuerdo con la norma determinada. La Figura 43 ilustra una configuración ex800 de la presente modalidad. Una unidad de conmutación de frecuencia impulsora ex803 fija una frecuencia impulsora superior cuando los datos de video son generados por el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles descrito en cada una de las modalidades. Después, la unidad de conmutación de frecuencia impulsora ex803 instruye a una unidad de procesamiento de la decodificación ex801 que ejecuta el método de decodificación de imágenes móviles descrito en cada una de las modalidades para que decodifique los datos de video. Cuando los datos de video guardan conformidad con la norma convencional, la unidad de conmutación de frecuencia impulsora ex803 fija una frecuencia impulsora inferior a la de los datos de video generados por el método de codificación de imágenes móviles o el aparato de codificación de imágenes móviles descrito en cada una de las modalidades. Después, la unidad de conmutación de frecuencia impulsora ex803 instruye a la unidad de procesamiento de la decodificación ex802 que guarda conformidad con la norma convencional que decodifique los datos de video.
Más específicamente, la unidad de conmutación de frecuencia impulsora ex803 incluye la CPU ex502 y la unidad de control de frecuencias impulsoras ex512 de la Figura 42. Aquí, cada unidad de procesamiento de la decodificación ex801 que ejecuta el método de decodificación de imágenes móviles descrito en cada una de las modalidades y la unidad de procesamiento de la decodificación ex802 que guarda conformidad con la norma convencional, corresponde a la unidad de procesamiento de señales ex507 de la Figura 42. La CPU ex502 determina con qué norma guardan conformidad los datos de video. Después, la unidad de control de frecuencias impulsoras ex512 determina una frecuencia impulsora en base a una señal de la CPU ex502. Asimismo, la unidad de procesamiento de señales ex507 descodifica los datos de video en base a la señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la Realización 6 probablemente se utilice para identificar los datos de video. La información de identificación no está limitada a la descrita en la Realización 6, sino que puede ser cualquier información en tanto la información indique con qué norma guardan conformidad los datos de video. Por ejemplo, cuando puede determinarse con qué norma guardan conformidad los datos de video, en base a una señal externa para determinar qué datos de video se usan para una televisión o un disco, etc., puede tomarse la determinación en base a tal señal externa. Asimismo, la CPU ex502 selecciona una frecuencia impulsora en base a, por ejemplo, una tabla de búsqueda en la que se asocian las normas de los datos de video con las frecuencias impulsoras, tal como se muestra en la Figura 45. La frecuencia impulsora puede seleccionarse almacenando la tabla de búsqueda en el búfer ex508 y en una memoria interna de un circuito LSI, y con respecto a la tabla de búsqueda por la CPU ex502.
La Figura 44 ilustra los pasos para ejecutar un método en la presente modalidad. Primero, en el Paso exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados. A continuación, en el Paso exS201, la CPU ex502 determina si los datos de video son o no generados por el método y aparato de codificación descrito en cada una de las modalidades, en base a la información de identificación. Cuando los datos de video son generados por el método y el aparato de codificación de imágenes móviles descrito en cada una de las modalidades, en el Paso exS202, la CPU ex502 transmite una señal para fijar más alta la frecuencia impulsora en la unidad de control de frecuencias impulsoras ex512. Después, la unidad de control de frecuencias impulsoras ex512 fija más alta la frecuencia impulsora. Por otra parte, cuando la información de identificación indica que los datos de video guardan conformidad con la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para fijar la frecuencia más baja en la unidad de control de frecuencias impulsoras ex512. Después, la unidad de control de frecuencias impulsoras ex512 fija más baja la frecuencia impulsora que en el caso en que los datos de video son generados por el método de codificación de imágenes móviles y el aparato de codificación de imágenes móviles descrito en cada una de las modalidades.
Asimismo, junto con la conmutación de las frecuencias impulsoras, puede mejorar el efecto de conservación de la alimentación eléctrica cambiando la tensión que debe aplicarse al circuito LSI ex500 o a un aparato que incluya el circuito LSI ex500. Por ejemplo, cuando la frecuencia impulsora se fija más baja, es probable que la tensión que debe aplicarse al circuito LSI ex500 o al aparato que incluya el circuito LSI ex500 se fije en una tensión inferior que en el caso en que la frecuencia impulsora se establece más alta.
Asimismo, cuando es mayor la cantidad de procesamiento para la decodificación, puede fijarse más alta la frecuencia impulsora, y cuando es menor la cantidad de procesamiento para la decodificación, puede fijarse más baja la frecuencia impulsora que el método para establecer la frecuencia impulsora. Por eso, el método de establecimiento no está limitado a los descritos precedentemente. Por ejemplo, cuando la cantidad de procesamiento para la decodificación de los datos de video de conformidad con MPEG4-AVC es mayor que la cantidad de procesamiento para la decodificación de los datos de video generados por el método de codificación de imágenes móviles y el aparato de codificación de imágenes móviles descrito en cada una de las modalidades, es probable que la frecuencia impulsora se establezca en el orden inverso al establecimiento descrito precedentemente.
Asimismo, el método para establecer la frecuencia impulsora no está limitado al método para establecer la frecuencia impulsora inferior. Por ejemplo, cuando la información de identificación indica que los datos de video son generados por el método de codificación de imágenes móviles y el aparato de codificación de imágenes móviles descrito en cada una de las modalidades, es probable fijar más alta la tensión que debe aplicarse al circuito LSI ex500 o al aparato que incluye el circuito LSI ex500. Cuando la información de identificación indica que los datos de video guardan conformidad con la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, es probable fijar más baja la tensión que debe aplicarse al circuito LSI ex500 o al aparato que incluye el circuito LSI ex500. Como otro ejemplo, cuando la información de identificación indica que los datos de video son generados por el método de codificación de imágenes móviles y el aparato de codificación de imágenes móviles, descritos en cada una de las modalidades, es probable no tener que suspender el accionamiento de la CPU ex502. Cuando la información de identificación indica que los datos de video guardan conformidad con la norma convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, es probable que se suspenda el accionamiento de la CPU ex502 en un determinado momento, porque la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de video son generados por el método de codificación de imágenes móviles y el aparato de codificación de imágenes móviles descrito en cada una de las modalidades, en el caso en que la CPU ex502 tiene capacidad de procesamiento adicional, es probable que se suspenda en un momento dado la impulsión de la CPU ex502. En tal caso, es probable que el tiempo de suspensión se fije más breve que en el caso en que la información de identificación indica que los datos de video guardan conformidad con la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1.
Por consiguiente, puede mejorar el efecto de conservación de alimentación eléctrica conmutando entre las frecuencias impulsoras de acuerdo con la norma con que guarden conformidad los datos de video. Asimismo, cuando el circuito LSI ex500 o el aparato que incluye el circuito LSI ex500 se impulsa usando una batería, la vida útil de la batería puede prolongarse con el efecto de conservación de alimentación eléctrica.
Modalidad 9 Existen casos en que se proveen una pluralidad de datos de video que guardan conformidad con diferentes normas a los dispositivos y sistemas, tales como una televisión y un teléfono móvil. A fin de posibilitar la decodificación de los una pluralidad de datos de video que guardan conformidad con las diferentes normas, la unidad de procesamiento de señales ex507 del circuito LSI ex500 debe guardar conformidad con las diferentes normas. Sin embargo, el aumento de escala del circuito LSI ex500 y el aumento del costo surgen con el uso individual de las unidades de procesamiento de señales ex507 que guardan conformidad con las respectiva normas.
Por esto, lo que se concibe es una configuración en la que se comparten parcialmente la unidad de procesamiento de la decodificación para implementar el método de decodificación de imágenes móviles descrito en cada una de las modalidades y la unidad de procesamiento de la decodificación que guarda conformidad con la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1. Ex900 en la Figura 46A muestra un ejemplo de la configuración. Por ejemplo, el método de decodificación de imágenes móviles descrito en cada una de las modalidades y el método de decodificación de imágenes móviles que guarda conformidad con MPEG4-AVC tienen parcialmente en común los detalles del procesamiento, tal como la codificación de la entropía, la cuantificación inversa, el filtrado de desbloqueo y la predicción compensada de movimiento. Los detalles de procesamiento que deben compartirse probablemente incluyen el uso de una unidad de procesamiento de decodificación ex902 que guarda conformidad con la norma MPEG-4 AVC. En contraste, una unidad de procesamiento de decodificación dedicada ex901 se usa probablemente para otro procesamiento que es único respecto de un aspecto de la presente invención y no guarda conformidad con la norma MPEG-4 AVC. Como el aspecto de la presente invención se caracteriza por la partición de una ilustración en particular, por ejemplo, la unidad de procesamiento de decodificación dedicada ex901 se usa para la partición de una ilustración. De lo contrario, la unidad de procesamiento de decodificación probablemente se comparte respecto de una de la cuantificación inversa, la decodificación de entropía, el filtrado de desbloqueo y la compensación de movimiento o todo el procesamiento. Puede compartirse la unidad de procesamiento de la decodificación para implementar el método de decodificación de imágenes móviles descrito en cada una de las modalidades para el procesamiento que debe compartirse y puede usarse una unidad de procesamiento de decodificación dedicada para el procesamiento único respecto del de MPEG4-AVC.
Asimismo, exlOOO en la Figura 46B muestra otro ejemplo en que se comparte parcialmente el procesamiento. Este ejemplo utiliza una configuración que incluye una unidad de procesamiento de la decodificación dedicada exlOOl que admite el procesamiento único de la presente invención, una unidad de procesamiento de la decodificación dedicada exl002 que admite el procesamiento único de otra norma convencional y una unidad de procesamiento de la decodificación exl003 que admite el procesamiento que debe compartirse entre el método de decodificación de imágenes móviles de la presente invención y el método convencional para decodificar imágenes móviles. Aquí, las unidades procesamiento de decodificación dedicadas exlOOl y exl002 no están necesariamente especializadas para el procesamiento de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser las aptas para implementar el procesamiento general. Asimismo, la configuración de la presente modalidad puede implementarse mediante el circuito LSI ex500.
Como tales, son posibles tanto la reducción de la escala de circuito de un circuito LSI como la reducción del costo compartiendo la unidad de procesamiento de la decodificación para el procesamiento que debe compartirse entre el método de decodificación de imágenes móviles de la presente invención y el método de decodificación de imágenes móviles de conformidad con la norma convencional.
Aplicabilidad Industrial La presente invención puede aplicarse a un método de codificación de imágenes, un método de decodificación de imágenes, un aparato de codificación de imágenes y un método de decodificación de imágenes. Además, la presente invención puede usarse en dispositivos de presentación de información de alta resolución y dispositivos de captura de imágenes que incluyen aparatos de codificación de imágenes, tal como una televisión, una videograbadora digital, un sistema de navegación de automóvil, un teléfono celular, una cámara fija digital y una videocámara digital.
Lista de Signos de Referencia 100 Aparato de codificación de imágenes 101 Señal de entrada de la imagen 105 Sustractor 106 Señal residual 110 Unidad de transformación 111 Coeficiente de transformación 120 Unidad de Cuantificación 121, 129 Coeficiente de cuantificación 130,230 Unidad de transformación inversa 131,231 Señal residual 140,240 Adicionador 141,151,161,171,241,251,261,271 Señal de imagen decodificada 150,250 Filtro de desbloqueo 160,260 Filtro de bucle adaptativo 170,270 Búffer de marco de referencia 180,280 Unidad de predicción 181,281 Señal de predicción 190 Unidad de codificación de entropía 191,201 Señal codificada 200 Aparato de decodificación de imágenes 290 Unidad de decodificación de entropía 300,310,330,340,350,360,370,390,400,410,420,500 Ilustración 301,302,311,312,313,314,321,381 Fila 320,380 Encabezado de sector 331,332,333,341,342,343,344,351,354,361,362,363,364 ,365,371,372,373,374,391,392,393,394,401,402,403,404,411,412, 413,414,415,421,422,423,424,521,522,523,524 Sector 501,502,511,512 Mosaico 513 Límite Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (19)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
1. Un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada resultante de la codificación de los mosaicos y los sectores en que se particiona una imagen, caracterizado porque comprende el paso de: decodificar la señal codificada; donde cada uno de los sectores puede ser bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector, y cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, no se inicia un segundo mosaico codificado a continuación del primer mosaico desde el sector dependiente.
2. El método de decodificación de imágenes de conformidad con la reivindicación 1, caracterizado porque: en la decodificación, el primer mosaico y el segundo mosaico se decodifican en paralelo y, cuando se inicia la decodificación del segundo mosaico, el segundo mosaico se descodifica sin referirse a la información de partición que indica una estructura de sectores del primer mosaico.
3. El método de decodificación de imágenes de conformidad con la reivindicación 1 y 2, caracterizado porque: cuando un sector en un comienzo de un tercer mosaico es el sector dependiente, el sector dependiente incluye todo el tercer mosaico.
4. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 3, caracterizado porque: cuando el primer mosaico incluye un sector que se inicia desde una posición diferente del comienzo del primer mosaico, el segundo mosaico no se inicia desde el sector dependiente.
5. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 4, caracterizado porque además comprende obtener, de un encabezado de sector de un sector, la información que indica si el sector es el sector normal o el sector dependiente.
6. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 5, caracterizado porque un sector en un comienzo de la imagen es el sector normal, y cada uno de todos los otros sectores es el sector dependiente.
7. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 6, caracterizado porque además comprende obtener, de la corriente de bits, un indicador de restricción que indica que está restringida la partición de una ilustración.
8. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 7, caracterizado porque además comprende: obtener, de la corriente de bits, un indicador que indica si se inicia o no desde un comienzo de un sector superior cuyo encabezado de sector se usa para el sector dependiente se inicie desde el principio de un mosaico.
9. Un método de codificación de imágenes para codificar los mosaicos y los sectores en que se particiona una imagen a fin de generar una corriente de bits, caracterizado porque comprende: particionar la imagen en los mosaicos y los sectores; y codificar los mosaicos y los sectores que resultan de la partición; en donde cada uno de los sectores puede ser bien un sector normal que tiene, en un encabezado, la información ft usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector; y en la partición, cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, la imagen se particiona en los mosaicos y los sectores para impedir que un segundo mosaico codificado a continuación del primer mosaico se inicie desde el sector dependiente.
10. El método de codificación de imágenes de conformidad con la reivindicación 9, caracterizado porque: en la partición, en el caso en que un aparato de decodificación de imágenes descodifica el primer mosaico y el segundo mosaico en paralelo, la imagen se particiona en los mosaicos y los sectores para admitir la decodificación del segundo mosaico sin referirse a la información de partición cuando el aparato de decodificación de imágenes inicia la decodificación del segundo mosaico, indicando la información de partición una estructura de sectores del primer mosaico.
11. El método de codificación de imágenes de conformidad con la reivindicación 9 o 10, caracterizado porque: en la partición, cuando un sector en un comienzo de un tercer mosaico es el sector dependiente, la imagen se particiona en los mosaicos y los sectores para hacer que el sector dependiente incluya todo el tercer mosaico.
12. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 11, caracterizado porque: en la partición, cuando el primer mosaico incluye un sector que se inicia desde una posición diferente del comienzo del primer mosaico, la imagen se particiona en los mosaicos y los sectores para impedir que el segundo mosaico se inicie desde el sector dependiente.
13. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 12, caracterizado porque además comprende: embeber, en un encabezado de sector de un sector, la información que indica si el sector es o el sector normal o el sector dependiente.
14. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 13, caracterizado porque: un sector en un comienzo de la imagen es el sector normal, y cada de todos los otros sectores es el sector dependiente.
15. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 14, caracterizado porque además comprende: embeber, en la corriente de bits, un indicador de restricción que indica que está restringida la partición de una ilustración.
16. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 15, caracterizado porque además comprende: embeber, en la corriente de bits, un indicador que indica si se inicia o no desde un comienzo de un mosaico un sector superior cuyo encabezado de sector se usa para el sector dependiente.
17. Un aparato de decodificación de imágenes que descodifica una corriente de bits que incluye una señal codificada resultante de la codificación de los mosaicos y los sectores en que se particiona una imagen, caracterizado porque comprende: una unidad de decodificación configurada para decodificar la señal codificada; en donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector; y cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, no se inicia un segundo mosaico codificado a continuación del primer mosaico desde el sector dependiente.
18. Un aparato de codificación de imágenes que codifica los mosaicos y los sectores en que se particiona una imagen a fin de generar una corriente de bits, caracterizado porque comprende: una unidad de partición configurada para particionar la imagen en los mosaicos y los sectores; y una unidad de codificación configurada para codificar los mosaicos y los sectores que resultan de la partición; en donde cada uno de los sectores puede ser o bien un sector normal que tiene, en un encabezado, la información usada para otro sector, o puede ser un sector dependiente que se descodifica usando la información incluida en un encabezado de sector de otro sector; y estando la unidad de partición configurada, para cuando el sector normal se inicia desde una posición diferente de un comienzo de un primer mosaico, para particionar la imagen en los mosaicos y los sectores a fin de impedir que un segundo mosaico codificado a continuación del primer mosaico se inicie desde el sector dependiente.
19. Un aparato de codificación y decodificación de imágenes, caracterizado porque comprende: el aparato de codificación de imágenes de conformidad con la reivindicación 18; y el aparato de decodificación de imágenes de conformidad con la reivindicación 17.
MX2015002891A 2012-09-26 2013-09-05 Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen y aparato de codificacion y decodificacion de imagen. MX345003B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261705891P 2012-09-26 2012-09-26
PCT/JP2013/005269 WO2014049980A1 (ja) 2012-09-26 2013-09-05 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置

Publications (2)

Publication Number Publication Date
MX2015002891A true MX2015002891A (es) 2015-06-03
MX345003B MX345003B (es) 2017-01-13

Family

ID=50338836

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2015002891A MX345003B (es) 2012-09-26 2013-09-05 Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen y aparato de codificacion y decodificacion de imagen.

Country Status (17)

Country Link
US (9) US9036697B2 (es)
EP (3) EP4033764B1 (es)
JP (2) JP5608839B2 (es)
KR (1) KR101918808B1 (es)
CN (2) CN108881921B (es)
AR (1) AR092660A1 (es)
AU (1) AU2013322041B2 (es)
BR (1) BR112015004216B1 (es)
CA (1) CA2882731C (es)
ES (2) ES2915051T3 (es)
MX (1) MX345003B (es)
MY (1) MY182530A (es)
PL (2) PL2903270T3 (es)
RU (1) RU2639679C2 (es)
SG (1) SG11201501400QA (es)
TW (1) TWI580255B (es)
WO (1) WO2014049980A1 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798188B1 (ko) * 2002-04-16 2008-01-24 도요 세이칸 가부시키가이샤 커버용 밀봉재 및 이를 사용한 커버의 제조방법
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
CN108881921B (zh) * 2012-09-26 2021-01-12 太阳专利托管公司 图像编码方法、图像编码装置
CN108282655B (zh) 2012-09-26 2021-09-10 威勒斯媒体国际有限公司 图像编码和/或解码装置及方法
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
CN106210729A (zh) * 2015-05-06 2016-12-07 扬智科技股份有限公司 视频流解码***及视频流解码方法
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency
CN107301621B (zh) * 2017-06-13 2020-06-16 东南大学 一种提高数字图像分辨率的方法
KR20190024212A (ko) * 2017-08-31 2019-03-08 세종대학교산학협력단 타일 구조의 구성 방법 및 이의 장치
CN115967801A (zh) 2018-01-25 2023-04-14 弗劳恩霍夫应用研究促进协会 有效子图片提取
JP6982253B2 (ja) * 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
CN112997502B (zh) * 2018-12-07 2024-04-26 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
WO2020135317A1 (en) 2018-12-28 2020-07-02 Huawei Technologies Co., Ltd. Devices and methods for coding a picture by partitioning it into slices comprising tiles
KR20210130764A (ko) * 2019-03-21 2021-11-01 가온미디어 주식회사 픽쳐 분할을 처리하는 영상 부호화 방법, 영상 복호화 방법 및 그 장치
JPWO2020235659A1 (es) * 2019-05-21 2020-11-26
US20220368946A1 (en) * 2019-11-07 2022-11-17 Intel Corporation Heterogeneous real-time streaming and decoding of ultra-high resolution video content
EP4062635A4 (en) 2019-12-26 2022-12-28 ByteDance Inc. CONSTRAINTS ON SIGNALING VIDEO LAYERS IN ENCODED BITSTREAMS
WO2021134018A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of decoded picture buffer parameters in layered video
KR20220113404A (ko) 2019-12-27 2022-08-12 바이트댄스 아이엔씨 비디오 서브픽처들을 시그널링하기 위한 신택스
WO2021142369A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Signalling of the wavefront parallel processing
US20230139792A1 (en) * 2020-03-20 2023-05-04 Hfi Innovation Inc. Method and Apparatus for Signaling Tile and Slice Partition Information in Image and Video Coding
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法
US20220180567A1 (en) * 2020-12-04 2022-06-09 Tencent America LLC Method and apparatus for point cloud coding
US11611775B2 (en) * 2021-01-19 2023-03-21 Tencent America LLC Method and apparatus for point cloud coding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12016A (en) * 1854-11-28 Improvement in machinery for making rope and cordage
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
EP1971154A4 (en) * 2006-01-05 2010-10-27 Nippon Telegraph & Telephone VIDEO CODING METHOD AND DECODING METHOD, DEVICE THEREFOR, DEVICE THEREFOR AND STORAGE MEDIUM WITH THE PROGRAM
CN105791864B (zh) * 2007-05-16 2019-01-15 汤姆逊许可Dtv公司 编码及传送多视图视频编码信息中使用码片组的装置
US8705879B2 (en) * 2009-04-01 2014-04-22 Microsoft Corporation Image compression acceleration using multiple processors
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US9300976B2 (en) * 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
US9325999B2 (en) * 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
GB2488830B (en) * 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
JP2013098735A (ja) 2011-10-31 2013-05-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
SG10201505821WA (en) * 2012-01-30 2015-08-28 Samsung Electronics Co Ltd Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
ES2912082T3 (es) * 2012-06-26 2022-05-24 Lg Electronics Inc Método de decodificación de vídeo, método de codificación de vídeo y medio de almacenamiento legible por decodificador que almacena información de video codificada
CN108881921B (zh) * 2012-09-26 2021-01-12 太阳专利托管公司 图像编码方法、图像编码装置

Also Published As

Publication number Publication date
EP4224858A1 (en) 2023-08-09
RU2015106415A (ru) 2016-11-20
MY182530A (en) 2021-01-25
CN108881921B (zh) 2021-01-12
JP5608839B2 (ja) 2014-10-15
EP4033764A1 (en) 2022-07-27
EP2903270B1 (en) 2022-04-27
AR092660A1 (es) 2015-04-29
PL2903270T3 (pl) 2022-08-29
US20160142724A1 (en) 2016-05-19
US9602825B2 (en) 2017-03-21
KR20150060676A (ko) 2015-06-03
CN104584555A (zh) 2015-04-29
ES2915051T3 (es) 2022-06-20
ES2962366T3 (es) 2024-03-18
US20170111648A1 (en) 2017-04-20
BR112015004216A2 (pt) 2017-07-04
US20210211702A1 (en) 2021-07-08
US9414077B2 (en) 2016-08-09
US10397593B2 (en) 2019-08-27
CN108881921A (zh) 2018-11-23
US9948942B2 (en) 2018-04-17
US10992944B2 (en) 2021-04-27
EP2903270A1 (en) 2015-08-05
TW201419870A (zh) 2014-05-16
KR101918808B1 (ko) 2018-11-14
US20190335188A1 (en) 2019-10-31
AU2013322041A1 (en) 2015-03-05
BR112015004216B1 (pt) 2023-01-17
JP2015005997A (ja) 2015-01-08
US9036697B2 (en) 2015-05-19
BR112015004216A8 (pt) 2017-07-11
US20180199049A1 (en) 2018-07-12
WO2014049980A1 (ja) 2014-04-03
JPWO2014049980A1 (ja) 2016-08-22
MX345003B (es) 2017-01-13
CA2882731A1 (en) 2014-04-03
US11871019B2 (en) 2024-01-09
US20150215628A1 (en) 2015-07-30
SG11201501400QA (en) 2015-04-29
US20160142719A1 (en) 2016-05-19
US20140086305A1 (en) 2014-03-27
TWI580255B (zh) 2017-04-21
EP2903270A4 (en) 2015-10-28
US9277229B2 (en) 2016-03-01
JP6191920B2 (ja) 2017-09-06
US20240089480A1 (en) 2024-03-14
PL4033764T3 (pl) 2023-12-27
AU2013322041B2 (en) 2017-03-09
EP4033764B1 (en) 2023-07-19
CN104584555B (zh) 2018-07-17
RU2639679C2 (ru) 2017-12-21
CA2882731C (en) 2018-10-09

Similar Documents

Publication Publication Date Title
AU2018201049C1 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2013322041B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
AU2013322008B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2013322000B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
AU2017201384B2 (en) Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
AU2013254214B2 (en) Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
MX2015000630A (es) Metodo decodificador de imagen, metodo codificador de imagen, aparato decodificador de imagen, aparato codificador de imagen, y aparato codificador y decodificador de imagen.

Legal Events

Date Code Title Description
FG Grant or registration