ES2964924T3 - Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa - Google Patents
Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa Download PDFInfo
- Publication number
- ES2964924T3 ES2964924T3 ES20205785T ES20205785T ES2964924T3 ES 2964924 T3 ES2964924 T3 ES 2964924T3 ES 20205785 T ES20205785 T ES 20205785T ES 20205785 T ES20205785 T ES 20205785T ES 2964924 T3 ES2964924 T3 ES 2964924T3
- Authority
- ES
- Spain
- Prior art keywords
- blocks
- block
- line
- decoding
- quantization parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 185
- 238000013139 quantization Methods 0.000 claims abstract description 266
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 description 97
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000010354 integration Effects 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 4
- 238000011002 quantification Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000001878 Bakers yeast glycan Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000000467 phytic acid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic 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)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Un aparato de codificación de imágenes configurado para dividir una imagen en uno o más cortes, cada uno de los cuales incluye una pluralidad de bloques y para codificar cada corte bloque por bloque, incluye una primera unidad de codificación configurada para codificar bloques incluidos en una primera porción del corte. , y una segunda unidad de codificación configurada para codificar bloques incluidos en una segunda porción del segmento, en donde, cuando la segunda unidad de codificación codifica un bloque inicial en la segunda porción, la segunda unidad de codificación codifica la inicial incluida en la segunda porción haciendo referencia a un primer parámetro de cuantificación proporcionado al segmento como un valor inicial y al que hace referencia la primera unidad de codificación cuando las primeras unidades de codificación codifican el bloque inicial en la primera porción. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa
[Sector técnico]
La presente invención se refiere a un aparato de codificación de imagen, un procedimiento de codificación de imagen, un aparato de descodificación de imagen, un procedimiento de descodificación de imagen y un programa, y en particular, a un procedimiento para codificar/descodificar un parámetro de cuantificación en una imagen.
[Antecedentes de la técnica]
Se conoce el documento H.264/MPEG-4 AVC (en adelante, denominado "H.264") como un procedimiento de codificación para utilizar en la compresión y grabación de una imagen en movimiento (ITU-T H.264 (03/2010), Codificación de video avanzada para servicios audiovisuales genéricos). De acuerdo con H.264, la diferencia en un parámetro de cuantificación respecto de un bloque codificado inmediatamente antes del bloque actual se codifica como información mb_qp_delta, con lo que un parámetro de cuantificación de cada bloque puede tener un valor arbitrario.
A continuación, esta se codifica utilizando un procedimiento de codificación aritmético binario convencional adoptado en H.264. Más específicamente, cada elemento de sintaxis, tal como la información mb_qp_delta descrita anteriormente, es binarizado, como resultado de lo cual se genera una señal binaria. Se asigna previamente una probabilidad de ocurrencia a cada elemento de sintaxis, a modo de tabla (en adelante, denominada una "tabla de probabilidades de ocurrencia"). La señal binaria descrita anteriormente se codifica aritméticamente en base a la tabla de probabilidades de ocurrencia. A continuación, cada vez que se codifica una señal binaria, la tabla de probabilidades de ocurrencia se actualiza en base a información estadística que indica si la señal binaria codificada es el símbolo más probable.
En los últimos años se ha iniciado una actividad para estandarizar una tecnología de codificación extremadamente eficiente, como sucesora de H.264, y se ha establecido un equipo colaborativo conjunto sobre codificación de video (JCT-VC, Joint Collaborative Team on Video Coding) entre ISO/IEC e ITU-T. JCT-VC ha estandarizado una tecnología de codificación denominada codificación de video de alta eficiencia (en adelante, denominada "HEVC").
En la estandarización de HEVC, se han considerado ampliamente varias clases de procedimientos de codificación en términos no sólo de mejora de la eficiencia de codificación, sino asimismo de otros aspectos incluyendo la simplicidad de implementación y una reducción en el tiempo de procesamiento. Para reducir el tiempo de procesamiento se han considerado asimismo procedimientos para mejorar el paralelismo, suponiendo que el procedimiento de codificación se utiliza, por ejemplo, en una CPU de múltiples núcleos. Uno de estos es un procedimiento para realizar procesamiento en paralelo de codificación/descodificación entrópica denominado "frente de onda" (contribución del JCT-VC, JCTV-F274.doc disponible en internet en <http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/>). Un siguiente objetivo de codificación se debería codificar utilizando una tabla actualizada de probabilidades de ocurrencia, de tal modo que el procesamiento no se puede llevar a cabo en paralelo salvo que se restablezca la información estadística. Sin embargo, esto conduce al problema de que restablecer la información estadística deteriora la eficiencia de la codificación. En cambio, el frente de onda hace posible codificar bloques línea a línea en paralelo, impidiendo al mismo tiempo el deterioro de la eficiencia de codificación, mediante la aplicación de una tabla de probabilidades de ocurrencia obtenida en el momento de la finalización de la codificación de un número plural especificado previamente de bloques para el bloque más a la izquierda en la siguiente línea. Esto es principalmente una descripción del proceso de codificación, pero es aplicable asimismo al proceso de descodificación.
Sin embargo, el frente de onda hace posible mejorar el paralelismo de la codificación/descodificación aritmética de cada línea, pero en realidad no se puede realizar cuantificación y cuantificación inversa hasta que se determina el parámetro de cuantificación del bloque inmediatamente anterior en el barrido de trama. Por lo tanto, incluso la implementación actual de frente de onda tiene un problema en la incapacidad de llevar a cabo en paralelo todo el procesamiento de codificación/descodificación.
[Características de la invención]
La Patente EP 2290985 A1 describe un aparato de descodificación de imagen que descodifica, en paralelo, un flujo codificado que tiene dependencia del orden de procesamiento, que incluye una unidad de predescodificación de datos de segmentos que predescodifica, por grupos de macrobloques, grupos de macrobloques incluidos en el flujo codificado para generar información de descodificación de macrobloques necesaria para descodificar otros grupos de macrobloques, y una primera unidad de descodificación de macrobloques y una segunda unidad de descodificación de macrobloques, cada una de las cuales descodifica en paralelo uno correspondiente de los grupos de macrobloques incluidos en el flujo codificado. El documento "Periodic entropy coder initialization for Wavefront decoding of video bitstream" (Inicialización de codificador entrópico periódico para descodificación de frente de onda de flujo de bits de video), 18" CONFERENCIA INTERNACIONAL DEL IEEE SOBRE PROCESAMIENTO DE IMÁGENES (ICIP), IEEE, 11 septiembre de 2011, páginas 3517 a 3520, esboza una estrategia de codificación que inicializa el motor de codificación entrópica de un códec de video en posiciones predefinidas dentro de un flujo de bits. Acoplado con las dependencias causales de los sistemas de codificación de video del estado de la técnica, esto permite simultáneamente el procesamiento de frente de onda de la descodificación entrópica y el proceso de reconstrucción. Otros han considerado aproximaciones al procesamiento de frente de onda, y estos procedimientos tratan solamente el proceso de reconstrucción o bien requieren transmitir datos de imagen en orden no de barrido de trama. En estos se describe la habilitación simultánea de un procesamiento de frente de onda entrópico/de reconstrucción, mientras se mantiene una estrategia de barrido de trama. En este documento, los autores describen el sistema, así como las diferentes estrategias para inicializar los modelos de contexto. Se evalúa el comportamiento de los procedimientos propuestos, y se muestra que el aumento de la tasa de bits es nominal.
El documento "Tiles" (Teselas), FULDSETH (CISCO) A y otros, 97, Encuentro del MPEG del 18/07/2011 al 22/07/2011; Turín, describe otro refinamiento propuesto de una técnica de codificación denominada 'teselas' propuesta en JCTVC-E408, que divide una imagen en segmentos rectangulares. Las teselas comprenden límites verticales y horizontales que dividen una imagen en columnas y filas respectivamente. Los límites de columnas y filas rompen los mecanismos de predicción (por ejemplo, intrapredicción y predicción de vector de movimiento) del mismo modo que los límites de segmento, salvo que se indique lo contrario. Los límites cruzados de columnas y filas delinean zonas rectangulares denominadas teselas, cada una de las cuales contiene un número entero de LCU. Las LCU se procesan en orden de barrido de trama dentro de las teselas, y las teselas se procesan en barrido de trama dentro de una imagen.
El documento JCTVC-E391, "CU-Level QP Prediction" (Predicción QP a nivel de CU), Muhammed Coban y otros, muestra que los algoritmos de cuantificación perceptual y control de tasa pueden requerir cambio de QP al nivel sub-LCU. Esta propuesta presenta un esquema de predicción de parámetros de cuantificación (QP, quantization parameter) basado en proximidad espacial para la obtención de delta QP a nivel de CU. En el actual diseño H<e>VC, el QP de la LCU anterior en el orden de codificación se utiliza como el predictor de QP, en lugar de los QP de la CU vecina. En esta contribución, como una alternativa al procedimiento de predicción de QP basado en el orden de codificación, se presenta una predicción basada en proximidad espacial para el cálculo de delta QP.
[Características de la invención]
La presente invención está dirigida a habilitar una codificación/descodificación en paralelo como un proceso completo que incluye el proceso de cuantificación/cuantificación inversa cuando los bloques son codificados/descodificados por líneas en paralelo con la utilización de un procedimiento de frente de onda. Según un aspecto de la presente invención, se da a conocer un aparato de codificación de imagen, según la reivindicación 1. Según otro aspecto de la presente invención, se da a conocer un aparato de descodificación de imagen, según la reivindicación:2. Según un aspecto más de la presente invención, se da a conocer un procedimiento de codificación de imagen, según la reivindicación 3. Según otro aspecto más de la presente invención, se da a conocer un procedimiento de descodificación de imagen, según la reivindicación 4. En otro aspecto, se da a conocer un programa informático, según las reivindicaciones 5 o 6.
De acuerdo con realizaciones a modo de ejemplo de la presente invención, es posible realizar codificación/descodificación en paralelo como un proceso completo que incluye el proceso de cuantificación/cuantificación inversa cuando se codifican/descodifican bloques por líneas, en paralelo con la utilización del procedimiento de frente de onda.
Otras características y aspectos de la presente invención resultarán evidentes a partir de la siguiente descripción detallada de realizaciones a modo de ejemplo, haciendo referencia a los dibujos adjuntos. La invención se muestra en las realizaciones a modo de ejemplo en relación con las figuras 3 a 6, 9 a 12,.15 a 17, 19 y 20. Otras realizaciones a modo de ejemplo son útiles para comprender la invención.
[Breve descripción de los dibujos]
Los dibujos adjuntos, que se incorporan a la memoria descriptiva y constituyen una parte de la misma, muestran realizaciones a modo de ejemplo, características y aspectos de la invención y, junto con la descripción, sirven para explicar los principios de la invención.
[Figura 1] la figura 1 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imagen, de acuerdo con una primera realización a modo de ejemplo.
[Figura 2] la figura 2 muestra configuraciones de líneas de bloques.
[Figura 3] la figura 3 es un diagrama de flujo que muestra un proceso para codificar un cuadro mediante el aparato de codificación de imagen de acuerdo con la primera realización a modo de ejemplo.
[Figura 4] la figura 4 es un diagrama de flujo que muestra un proceso para codificar una línea de bloques superior mediante el aparato de codificación de imagen según la primera realización a modo de ejemplo. [Figura 5] la figura 5 es un diagrama de flujo que muestra un proceso para codificar una línea de bloques diferente a la línea de bloques superior, mediante el aparato de codificación de imagen según la primera realización a modo de ejemplo.
[Figura 6] la figura 6 es un diagrama de flujo que muestra un proceso para codificar un bloque mediante el aparato de codificación de imagen, de acuerdo con la primera realización a modo de ejemplo.
[Figura 7A] la figura 7A muestra una transferencia de un parámetro de cuantificación mediante el aparato de codificación de imagen convencional.
[Figura 7B] la figura 7B muestra una transferencia de un parámetro de cuantificación mediante el aparato de codificación de imagen según la primera realización a modo de ejemplo.
[Figura 8] la figura 8 es un diagrama de bloques que muestra una configuración de un aparato de descodificación de imagen según una segunda realización a modo de ejemplo.
[Figura 9] la figura 9 es un diagrama de flujo que muestra un proceso para descodificar un cuadro mediante el aparato de descodificación de imagen según la segunda realización a modo de ejemplo.
[Figura 10] la figura 10 es un diagrama de flujo que muestra un proceso para descodificar una línea de bloques superior mediante el aparato de descodificación de imagen según la segunda realización a modo de ejemplo.
[Figura 11] la figura 11 es un diagrama de flujo que muestra un proceso para descodificar una línea de bloques diferente a la línea de bloques superior, mediante el aparato de descodificación de imagen según la segunda realización a modo de ejemplo.
[Figura 12] la figura 12 es un diagrama de flujo que muestra un proceso para descodificar un bloque mediante el aparato de descodificación de imagen según la segunda realización a modo de ejemplo.
[Figura 13] la figura 13 es un diagrama de bloques que muestra un ejemplo de una configuración de hardware de un ordenador que se puede utilizar como los aparatos de codificación de imagen y los aparatos de descodificación de imagen según las realizaciones a modo de ejemplo de la presente invención.
[Figura 14] la figura 14 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imagen, de acuerdo con una tercera realización a modo de ejemplo.
[Figura 15] la figura 15 es un diagrama de flujo que muestra un proceso para codificar una línea de bloques superior mediante el aparato de codificación de imagen según la tercera realización a modo de ejemplo. [Figura 16] la figura 16 es un diagrama de flujo que muestra un proceso para codificar una línea de bloques diferente a la línea de bloques superior, mediante el aparato de codificación de imagen según la tercera realización a modo de ejemplo.
[Figura 17A] la figura 17A muestra una transferencia de un parámetro de cuantificación mediante el aparato de codificación de imagen según la tercera realización a modo de ejemplo.
[Figura 17B] la figura 17B muestra una transferencia de un parámetro de cuantificación mediante el aparato de codificación de imagen según la tercera realización a modo de ejemplo.
[Figura 18] la figura 18 es un diagrama de bloques que muestra una configuración de un aparato de descodificación de imagen, según una cuarta realización a modo de ejemplo.
[Figura 19] la figura 19 es un diagrama de flujo que muestra un proceso para descodificar una línea de bloques superior mediante el aparato de descodificación de imagen según la cuarta realización a modo de ejemplo.
[Figura 20] la figura 20 es un diagrama de flujo que muestra un proceso para descodificar una línea de bloques diferente a la línea de bloques superior, mediante el aparato de descodificación de imagen según la cuarta realización a modo de ejemplo.
[Figura 21] la figura 21 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imagen de acuerdo con una quinta realización a modo de ejemplo.
[Figura 22] la figura 22 es un diagrama de flujo que muestra un proceso para codificar una línea de bloques superior, de acuerdo con la quinta realización a modo de ejemplo.
[Figura 23] la figura 23 es un diagrama de flujo que muestra un proceso para codificar una línea de bloques diferente a la línea de bloques superior, de acuerdo con la quinta realización a modo de ejemplo.
[Figura 24] la figura 24 es un diagrama de bloques que muestra una configuración de un aparato de descodificación de imagen, según una sexta realización a modo de ejemplo.
[Figura 25] la figura 25 es un diagrama de flujo que muestra un proceso para descodificar una línea de bloques superior, de acuerdo con la sexta realización a modo de ejemplo.
[Figura 26] la figura 26 es un diagrama de flujo que muestra un proceso para descodificar una línea de bloques diferente a la línea de bloques superior, de acuerdo con la sexta realización a modo de ejemplo.
[Descripción de realizaciones]
A continuación se describirán en detalle varias realizaciones a modo de ejemplo, características y aspectos de la invención, haciendo referencia a los dibujos.
La figura 1 es un diagrama de bloques que muestra un aparato de codificación de imagen, de acuerdo con una primera realización a modo de ejemplo.
Haciendo referencia a la figura 1, un selector 101 determina si un bloque objetivo de procesamiento pertenece a una línea de bloques de número par. El selector 101 entrega el bloque a una primera unidad 102 de codificación si el bloque pertenece a una línea de bloques de número par, y de lo contrario entrega el bloque a una segunda unidad 103 de codificación.
La primera y la segunda unidades 102 y 103 de codificación codifican bloques, en los que una imagen de entrada está dividida en n x n píxeles ("n" es un entero positivo igual o mayor que 2), línea a línea tal como se muestra en la figura 2 (las unidades corresponden al "primer medio de codificación" y al "segundo medio de codificación" y a los "bloques de codificación incluidos en una primera parte del segmento" y los "bloques de codificación incluidos en una segunda parte del segmento" en las reivindicaciones). En adelante, una línea de bloques se denominará una "línea de bloques". La presente realización a modo de ejemplo se describirá basándose en un ejemplo que utiliza dos unidades de codificación, pero la presente invención no se limita a esto. Haciendo referencia a la figura 2, una sección 201 indicada como un cuadrado dibujado mediante una línea delgada representa un bloque, y una sección 202 indicada como un rectángulo dibujado mediante una línea gruesa representa una línea de bloques. Además, los bloques en zonas blancas, que indican líneas de bloques de número par incluyendo una línea de bloques superior (la línea de bloques 0-ésima) son codificados mediante la primera unidad 102 de codificación. Los bloques en zonas sombreadas, que indican líneas de bloques de número impar, son codificados mediante la segunda unidad 103 de codificación.
Cada una de la primera y la segunda unidades 102 y 103 de codificación genera en primer lugar errores de predicción de acuerdo con la predicción haciendo referencia a píxeles que rodean el bloque objetivo de codificación u otro cuadro, y realiza una transformada ortogonal para generar coeficientes de transformada. A continuación, cada una de la primera y la segunda unidades 102 y 103 de codificación determina un parámetro de cuantificación para los coeficientes de transformada transformados ortogonalmente, y cuantifica cada coeficiente de transformada para generar coeficientes de cuantificación. Después, cada una de la primera y la segunda unidades 102 y 103 de codificación binariza cada elemento de sintaxis incluyendo los coeficientes de cuantificación para generar señales binarias. Se asigna previamente una probabilidad de ocurrencia a cada elemento de sintaxis, a modo de tabla (en adelante, denominada una "tabla de probabilidades de ocurrencia"). Las señales binarias son codificadas aritméticamente en base a la tabla de probabilidades de ocurrencia descrita anteriormente. A continuación, cada vez que se codifica una señal binaria, la tabla de probabilidades de ocurrencia se actualiza utilizando información estadística que indica si la señal binaria codificada es el símbolo más probable.
Una primera unidad 104 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la primera unidad 102 de codificación. A continuación, la tabla de probabilidades de ocurrencia almacenada en la primera unidad 104 de almacenamiento de la tabla de probabilidades de ocurrencia se denominará una "primera tabla de probabilidades de ocurrencia".
Una primera unidad 105 de almacenamiento del parámetro de cuantificación almacena el parámetro de cuantificación determinado por la primera unidad 102 de codificación. A continuación, el parámetro de cuantificación almacenado en la primera unidad 105 de almacenamiento del parámetro de cuantificación se denominará un "primer parámetro de cuantificación".
Una segunda unidad 106 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la segunda unidad 103 de codificación. A continuación, la tabla de probabilidades de ocurrencia almacenada en la segunda unidad 106 de almacenamiento de la tabla de probabilidades de ocurrencia se denominará una "segunda tabla de probabilidades de ocurrencia".
Una segunda unidad 107 de almacenamiento del parámetro de cuantificación almacena el parámetro de cuantificación determinado por la segunda unidad 103 de codificación. A continuación, el parámetro de cuantificación almacenado en la segunda unidad 107 de almacenamiento del parámetro de cuantificación se denominará un "segundo parámetro de cuantificación".
Una unidad 108 de codificación de integración integra datos codificados generados por la primera unidad 102 de codificación y datos codificados generados por la segunda unidad 103 de codificación, y entrega los datos integrados como un flujo de bits.
El funcionamiento del aparato de codificación de imagen según la presente realización a modo de ejemplo se describirá en detalle haciendo referencia a los diagramas de flujo mostrados en las figuras 3 a 6. En la presente realización a modo de ejemplo, los datos de imagen en movimiento se introducen cuadro a cuadro, se dividen en bloques y se procesan en el orden de la trama. La presente realización a modo de ejemplo está configurada para introducir datos de imagen en movimiento cuadro a cuadro, pero se puede configurar para introducir datos de imagen estática correspondientes a un cuadro o para introducir datos de imagen segmento a segmento, en los que se divide un cuadro. Además, para simplificar la descripción, la presente realización a modo de ejemplo se describirá basándose solamente en un proceso de codificación de intrapredicción, pero no se limita a esto. La presente realización a modo de ejemplo se puede utilizar asimismo para un proceso de codificación de interpredicción.
En primer lugar, en la etapa S301, el aparato de codificación de imagen determina si un bloque objetivo de procesamiento pertenece a una línea de bloques superior. Si el bloque pertenece a la línea de bloques superior (SÍ en la etapa S301), el proceso avanza a la etapa S302. Si el bloque no pertenece a la línea de bloques superior (NO en la etapa S301), el proceso avanza a la etapa S303.
El proceso de la etapa S302 es un proceso para codificar la línea de bloques superior, cuyos detalles se describirán a continuación. El proceso de la etapa S303 es un proceso para codificar una línea de bloques diferente de la línea de bloques superior, cuyos detalles se describirán asimismo a continuación. Además, el selector 101 determina si la línea de bloques a la que pertenece el bloque objetivo de procesamiento es una línea de bloques de número par o una línea de bloques de número impar. Si la línea de bloques es una línea de bloques de número par, el bloque objetivo de procesamiento es codificado por la primera unidad 102 de codificación independientemente. Si la línea de bloques no es una línea de bloques de número par, el bloque objetivo de procesamiento es codificado por la segunda unidad 103 de codificación independientemente. A continuación, en la etapa S304, la unidad 108 de codificación de integración integra datos codificados entregados desde la primera unidad 102 de codificación y datos codificados entregados desde la segunda unidad 103 de codificación, y genera y entrega un flujo de bits.
A continuación, en la etapa S305, el aparato de codificación de imagen determina si están codificadas todas las líneas de bloques en el cuadro objetivo de procesamiento. Si todas las líneas de bloques están codificadas (SÍ en la etapa S305), el proceso para codificar el cuadro ha finalizado. Si no todas las líneas de bloques están codificadas (NO en la etapa S305), el proceso pasa de nuevo a la etapa S301, y se inicia la codificación de la siguiente línea de bloques.
El proceso de la etapa S302 (el proceso para codificar la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 4. La línea de bloques superior es una línea de bloques de número par, de tal modo que el bloque objetivo de procesamiento es introducido en la primera unidad 102 de codificación mediante el selector 101 y es codificado por la primera unidad 102 de codificación. En primer lugar, en la etapa S401, un parámetro de cuantificación, sobre cuya base se codifica un bloque, se inicializa para corresponderse con un valor inicial de un parámetro de cuantificación para un segmento. A continuación, el parámetro de cuantificación, sobre cuya base se codifica un bloque, se denominará un "parámetro de cuantificación de referencia del bloque". En relación con un parámetro de cuantificación utilizado para cuantificar un bloque objetivo de codificación, el propio valor del mismo no se codifica como un elemento de sintaxis, sino que se codifica el valor de la diferencia del mismo respecto del parámetro de cuantificación de referencia del bloque. En la presente realización a modo de ejemplo, este valor de diferencia corresponde a un valor de cu_qp_delta en el procedimiento HEVC. Sin embargo, la presente invención no se limita esto y, por ejemplo, el valor de diferencia descrito anteriormente puede corresponder a un código de mb_qp_delta en el procedimiento H.264. A continuación, en la etapa S402, se inicializa una tabla de probabilidades de ocurrencia mediante un procedimiento predeterminado. La tabla de probabilidades de ocurrencia inicializada se utiliza para codificar aritméticamente la primera señal binaria del bloque más a la izquierda en la línea de bloques, y se actualiza cuando se requiere en la etapa S403, lo que se describirá a continuación. En adelante, la tabla de probabilidades de ocurrencia utilizada para codificar aritméticamente la primera señal binaria del bloque más a la izquierda en una línea de bloques se denominará una "tabla de probabilidades de ocurrencia de referencia de la línea de bloques".
A continuación, en la etapa S403, la primera unidad 102 de codificación codifica datos de píxel bloque a bloque.
En la presente realización a modo de ejemplo, un bloque está constituido por 64 x 64 píxeles, pero la presente invención no se limita a esto. El tamaño de un bloque puede ser de un tamaño menor, tal como de 32 x 32 píxeles, o de un tamaño mayor, tal como de 128 x 128 píxeles. Se describirá en detalle el proceso de codificación de un bloque en la etapa S403 haciendo referencia al diagrama de flujo mostrado en la figura 6. En primer lugar, en la etapa S601, la primera unidad 102 de codificación lleva a cabo intrapredicción sobre un bloque de imagen de entrada con utilización de píxeles que rodean el bloque, para generar errores de predicción.
A continuación, en la etapa S602, la primera unidad 102 de codificación lleva a cabo una transformada ortogonal sobre los errores de predicción para generar coeficientes de transformada. Además, la primera unidad 102 de codificación cuantifica los coeficientes de transformada utilizando un parámetro de cuantificación (en adelante, denominado un "parámetro de cuantificación de bloque") determinado basándose, por ejemplo, en las características y la cantidad de codificación de la imagen, para generar coeficientes de cuantificación.
A continuación, en la etapa S603, la primera unidad 102 de codificación calcula un valor de diferencia entre el parámetro de cuantificación de referencia del bloque descrito anteriormente y el parámetro de cuantificación de bloque, para generar un valor cu_qp_delta.
A continuación, en la etapa S604, la primera unidad 102 de codificación ajusta el parámetro de cuantificación de bloque utilizado para codificar el bloque objetivo de procesamiento al parámetro de cuantificación de referencia del bloque, actualizando de ese modo el parámetro de cuantificación de referencia del bloque. El parámetro de cuantificación de referencia del bloque se utilizará para generar un valor cu_qp_delta de un siguiente bloque.
A continuación, en la etapa S605, la primera unidad 102 de codificación binariza cada elemento de sintaxis incluyendo el valor cu_qp_delta descrito anteriormente y los coeficientes de cuantificación descritos anteriormente, para generar señales binarias. La primera unidad 102 de codificación utiliza varias clases de procedimientos de binarización, tales como binarización unaria y binarización de longitud fija, mientras conmuta el procedimiento de binarización para cada elemento de sintaxis de manera similar al procedimiento H.264. Además, la primera unidad 102 de codificación codifica aritméticamente las señales binarias en base a la tabla de probabilidades de ocurrencia.
Después, en la etapa S606, la primera unidad 102 de codificación actualiza la tabla de probabilidades de ocurrencia en base a si la señal binaria codificada aritméticamente es el símbolo más probable.
A continuación, en la etapa S607, la primera unidad 102 de codificación determina si todos los elementos de sintaxis del bloque están codificados aritméticamente. Si todos los elementos de sintaxis están codificados aritméticamente (SÍ en la etapa S607), se finaliza el proceso de codificación del bloque. Si no todos los elementos de sintaxis están codificados (NO en la etapa S607), el proceso pasa de nuevo a la etapa S605. Haciendo referencia de nuevo a la figura 4, en la etapa S404, la primera unidad 102 de codificación determina si se cumple una condición para almacenar el parámetro de cuantificación de referencia del bloque. En la presente realización a modo de ejemplo, la condición para almacenar el parámetro de cuantificación de referencia del bloque es si el bloque codificado en la etapa S403 es el bloque más a la izquierda en una línea de bloques. Si la condición se cumple (SÍ en la etapa S404), el proceso avanza a la etapa S405. En la etapa S405, el parámetro de cuantificación de referencia del bloque se almacena en la primera unidad 105 de almacenamiento del parámetro de cuantificación como un primer parámetro de cuantificación. Si la condición no se cumple (NO en la etapa S404), el proceso avanza a la etapa S406. El primer parámetro de cuantificación se utilizará como un parámetro de cuantificación de referencia del bloque cuando la segunda unidad 103 de codificación codifique el bloque más a la izquierda en la siguiente línea de bloques.
A continuación, en la etapa S406, la primera unidad 102 de codificación determina si se cumple una condición para almacenar la tabla de probabilidades de ocurrencia. En la presente realización a modo de ejemplo, la condición para almacenar la tabla de probabilidades de ocurrencia es si el bloque codificado en la etapa S403 es un bloque enésimo predeterminado a partir del bloque más a la izquierda en la línea de bloques. Si la condición se cumple (SÍ en la etapa S406), el proceso avanza a la etapa S407. En la etapa S407, la tabla de probabilidades de ocurrencia se almacena en la primera unidad 104 de almacenamiento de la tabla de probabilidades de ocurrencia como una primera tabla de probabilidades de ocurrencia. Si la condición no se cumple (NO en la etapa S406), el proceso avanza a la etapa S408. La primera tabla de probabilidades de ocurrencia se utilizará como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques cuando la segunda unidad 103 de codificación codifica el bloque más a la izquierda en la siguiente línea de bloques.
A continuación, en la etapa S408, la primera unidad 102 de codificación determina si se han codificado todos los bloques en la línea de bloques objetivo de procesamiento. Si se han codificado todos los bloques (SÍ en la etapa S408), la codificación de la línea de bloques superior ha finalizado. Si no se han codificado todos los bloques (NO en la etapa S408), el proceso pasa de nuevo a la etapa S403. En la etapa S403, se codifica el siguiente bloque en el orden de la trama.
El proceso de la etapa S303 (el proceso para codificar una línea de bloques diferente de la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 5. El selector 101 determina para cada línea de bloques si la línea de bloques es una línea de bloques de número par. Si la línea de bloques es una línea de bloques de número par, se introduce una imagen de la línea de bloques objetivo de procesamiento en la primera unidad 102 de codificación y se codifica mediante la primera unidad 102 de codificación. Si la línea de bloques es una línea de bloques de número impar, una imagen de la línea de bloques objetivo de procesamiento es introducida en la segunda unidad 103 de codificación y codificada por la segunda unidad 103 de codificación. En primer lugar, se describirá el flujo cuando la segunda unidad 103 de codificación codifica una línea de bloques de número impar.
En primer lugar, en la etapa S501, el primer parámetro de cuantificación es introducido desde la primera unidad 105 de almacenamiento del parámetro de cuantificación como un parámetro de cuantificación de referencia del bloque. A continuación, en la etapa S502, la primera tabla de probabilidades de ocurrencia es introducida desde la primera unidad 104 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S503, S504, S506 y S508 es similar al proceso de las etapas S403, S404, S406 y S408 y, por lo tanto, se omite la descripción del mismo.
En la etapa S505, el parámetro de cuantificación de referencia del bloque se almacena en la segunda unidad 107 de almacenamiento del parámetro de cuantificación como un segundo parámetro de cuantificación. El segundo parámetro de cuantificación se utilizará como un parámetro de cuantificación de referencia del bloque para un bloque más a la izquierda en una siguiente línea de bloques.
En la etapa S507, la tabla de probabilidades de ocurrencia se almacena en la segunda unidad 106 de almacenamiento de la tabla de probabilidades de ocurrencia como una segunda tabla de probabilidades de ocurrencia. La segunda tabla de probabilidades de ocurrencia se utilizará como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques cuando el bloque más a la izquierda en la siguiente línea de bloques se codifique aritméticamente.
A continuación, se describirá el flujo cuando la primera unidad 102 de codificación codifica una línea de bloques de número par.
En primer lugar, en la etapa S501, el segundo parámetro de cuantificación es introducido desde la segunda unidad 107 de almacenamiento del parámetro de cuantificación como un parámetro de cuantificación de referencia del bloque. A continuación, en la etapa S502, la segunda tabla de probabilidades de ocurrencia es introducida desde la segunda unidad 106 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S503 a S508 es similar al proceso de las etapas S403 a S408 y, por lo tanto, se omite en este caso la descripción del mismo.
La configuración y el funcionamiento descritos anteriormente permiten una codificación paralela al permitir hacer referencia al parámetro de cuantificación de referencia además de a la tabla de probabilidades de ocurrencia durante el procesamiento de un bloque más a la izquierda, incluso antes de la finalización del procesamiento de la línea de bloques inmediatamente anterior a la línea de bloques que está siendo codificada. Las figuras 7A y 7B muestran cada una cómo se hace referencia al parámetro de cuantificación de referencia del bloque. De acuerdo con la técnica convencional, tal como se muestra en la figura 7A, hasta que se completa el procesamiento de una línea de bloques anterior no puede comenzar el procesamiento de una siguiente línea de bloques. Sin embargo, de acuerdo con la presente realización a modo de ejemplo, haciendo posible la referencia a un bloque superior espacialmente cuando se procesa un bloque más a la izquierda, lo que finalmente permite un patrón de referencia como el mostrado en la figura 7B, se hace innecesario esperar a la finalización del procesamiento de la línea de bloques anterior.
Además, en la presente realización a modo de ejemplo, un parámetro de cuantificación utilizado como un bloque más a la izquierda en una línea de bloques inmediatamente superior se utiliza como un parámetro de cuantificación de referencia del bloque cuando se codifica un bloque más a la izquierda. Sin embargo, la presente invención no se limita a esto, y se puede realizar mediante cualquier combinación que pueda mejorar el paralelismo del procesamiento línea de bloques a línea de bloques. Por ejemplo, un valor inicial de un parámetro de cuantificación proporcionado para un segmento puede ser utilizado como un parámetro de cuantificación de referencia del bloque cuando se codifican los bloques más a la izquierda en todas las líneas de bloques. Como otra posible configuración, un parámetro de cuantificación de referencia del bloque puede ser el mismo que la condición para almacenar la tabla de probabilidades de ocurrencia proporcionada en las etapas S406 y S506. Más específicamente, un parámetro de cuantificación cuando se codifica un bloque enésimo predeterminado a partir de un bloque más a la izquierda en una línea de bloques se puede utilizar como un parámetro de cuantificación de referencia del bloque para un bloque más a la izquierda en una siguiente línea de bloques. Además, el aparato de codificación de imagen se puede configurar para conmutar un bloque denominado un parámetro de cuantificación de referencia del bloque, en base a un modo de codificación de un bloque más a la izquierda.
Además, en la presente realización a modo de ejemplo, se utiliza codificación aritmética para codificación entrópica, pero la presente invención no se limita a esto. Se puede utilizar cualquier codificación siempre que, en el momento de la codificación entrópica en base a información estadística, tal como la tabla de probabilidades de ocurrencia, se utilice la información estadística en medio de la codificación de una línea de bloques para llevar a cabo codificación entrópica de un bloque más a la izquierda de una siguiente línea de bloques.
La presente realización a modo de ejemplo se ha descrito basándose en un ejemplo que utiliza dos unidades de codificación. Sin embargo, es evidente que la adición de, por ejemplo, una tercera unidad de codificación, una tercera unidad de almacenamiento de la tabla de probabilidades de ocurrencia y una tercera unidad de almacenamiento del parámetro de cuantificación permite el procesamiento en paralelo mediante un número mayor de unidades de codificación.
La figura 8 es un diagrama de bloques que muestra un aparato de descodificación de imagen, de acuerdo con una segunda realización a modo de ejemplo.
Haciendo referencia a la figura 8, un selector 801 determina si un bloque objetivo de procesamiento pertenece a una línea de bloques de número par. El selector 801 entrega el flujo de bits descrito anteriormente a una primera unidad 802 de descodificación si el bloque objetivo de procesamiento pertenece a una línea de bloques de número par, y de lo contrario entrega el flujo de bits descrito anteriormente a una segunda unidad 803 de descodificación.
Las unidades 802 y 803 de descodificación descodifican el flujo de bits de entrada, línea de bloques a línea de bloques, tal como se muestra en la figura 2. La presente realización a modo de ejemplo se describirá basándose en un ejemplo que utiliza dos unidades de descodificación, pero la presente invención no se limita a esto. Haciendo referencia a la figura 2, los bloques en las zonas blancas, que indican líneas de bloques de número par incluyendo la línea de bloques superior (la línea de bloques 0-ésima) son descodificados por la primera unidad 802 de descodificación. Los bloques en las zonas sombreadas, que indican las líneas de bloques de número impar, son descodificados por la segunda unidad 803 de descodificación.
Cada una de la primera y la segunda unidades 802 y 803 de descodificación selecciona en primer lugar una tabla de probabilidades de ocurrencia para señales binarias de un flujo de bits a descodificar, y descodifica aritméticamente las señales binarias en base a la tabla de probabilidades de ocurrencia para generar coeficientes de cuantificación. A continuación, cada una de la primera y la segunda unidades 802 y 803 de descodificación cuantifica inversamente los coeficientes de cuantificación en base a un parámetro de cuantificación para generar coeficientes de transformada. A continuación, cada una de la primera y la segunda unidades 802 y 803 de descodificación lleva a cabo una transformada ortogonal inversa sobre los coeficientes de transformada para generar errores de predicción. Después, cada una de la primera y la segunda unidades 802 y 803 de descodificación realiza la predicción haciendo referencia a píxeles que rodean el bloque objetivo de descodificación o a otro cuadro, para generar datos de imagen del bloque objetivo de descodificación. Una primera unidad 804 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la primera unidad 802 de descodificación. Una primera unidad 805 de almacenamiento del parámetro de cuantificación almacena el parámetro de cuantificación determinado por la primera unidad 802 de descodificación.
Una segunda unidad 806 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la segunda unidad 803 de descodificación. Una segunda unidad 807 de almacenamiento del parámetro de cuantificación almacena el parámetro de cuantificación determinado por la segunda unidad 803 de descodificación. Una unidad 808 de integración de datos de imagen conforma los datos de imagen generados por la primera unidad 802 de descodificación y los datos de imagen generados por la segunda unidad 803 de descodificación, y entrega los datos de imagen conformados.
El funcionamiento del aparato de descodificación de imagen según la presente realización a modo de ejemplo se describirá en detalle haciendo referencia a los diagramas de flujo mostrados en las figuras 9 a 12. En la presente realización a modo de ejemplo, un flujo de bits se introduce cuadro a cuadro. El flujo de bits se divide en elementos de datos codificados y a continuación se descodifica. La presente realización a modo de ejemplo está configurada de tal modo que un flujo de bits es introducido cuadro a cuadro, pero se puede configurar de manera que un cuadro esté dividido en segmentos, y un flujo de bits se introduzca segmento a segmento. Además, para simplificar la descripción, la presente realización a modo de ejemplo se describirá basándose en un proceso de descodificación de intrapredicción, pero no se limita a esto. La presente realización a modo de ejemplo se puede utilizar asimismo para un proceso de descodificación de interpredicción.
En primer lugar, en la etapa S901, el aparato de descodificación de imagen determina si un bloque objetivo de procesamiento pertenece a una línea de bloques superior. Si el bloque objetivo de procesamiento pertenece a la línea de bloques superior (SÍ en la etapa S901), el proceso avanza a la etapa S902. Si el bloque objetivo de procesamiento no pertenece a la línea de bloques superior (NO en la etapa S901), el proceso avanza a la etapa S903.
El proceso de la etapa S902 es un proceso para descodificar la línea de bloques superior, cuyos detalles se describirán a continuación. El proceso de la etapa S903 es un proceso para descodificar una línea de bloques diferente de la línea de bloques superior, cuyos detalles se describirán asimismo a continuación. Además, el selector 801 determina si la línea de bloques a la que pertenece el bloque objetivo de procesamiento es una línea de bloques de número par o una línea de bloques de número impar. Si la línea de bloques es una línea de bloques de número par, el bloque objetivo de procesamiento es descodificado por la primera unidad 802 de descodificación independientemente. Si la línea de bloques no es una línea de bloques de número par, el bloque objetivo de procesamiento es descodificado por la segunda unidad 803 de descodificación independientemente. En la presente realización a modo de ejemplo, el selector 801 determina si una línea de bloques es una línea de bloques de número par en base al número de bloques descodificados. Sin embargo, la presente invención no se limita esto. Por ejemplo, un flujo de bits de entrada puede incluir un identificador, que se proporciona previamente en un límite entre líneas de bloques, y el selector 801 puede determinar si una línea de bloques es una línea de bloques de número par basándose en el identificador. Alternativamente, se puede proporcionar información que indica el tamaño de un flujo de bits de cada línea de bloques o una posición de inicio de una siguiente línea de bloques, y el selector 801 puede determinar si una línea de bloques es una línea de bloques de número par en base a esta información.
A continuación, en la etapa S904, la unidad 808 de integración de datos de imagen integra datos de imagen entregados desde la primera unidad 802 de descodificación y datos de imagen entregados desde la segunda unidad 803 de descodificación, y genera y entrega una imagen descodificada.
A continuación, en la etapa S905, el aparato de descodificación de imagen determina si están descodificadas todas las líneas de bloques en el cuadro objetivo de procesamiento. Si todas las líneas de bloques están descodificadas (SÍ en la etapa S905), el proceso para descodificar el cuadro ha finalizado. Si no todos los bloques están descodificados (NO en la etapa S905), el proceso pasa de nuevo a la etapa S901, desde la que se descodifica la siguiente línea de bloques.
El proceso de la etapa S902 (el proceso para descodificar la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 10. Dado que la línea de bloques superior es una línea de bloques de número par, los datos codificados de la línea de bloques objetivo de procesamiento son introducidos en la primera unidad 802 de descodificación por el selector 801, y son descodificados por la primera unidad 802 de descodificación.
Haciendo referencia a la figura 10, en primer lugar, en la etapa S1001, un parámetro de cuantificación, sobre cuya base se descodifica un bloque, se inicializa para corresponderse con un valor inicial de un parámetro de cuantificación para un segmento. A continuación, el parámetro de cuantificación, sobre cuya base se descodifica un bloque, se denominará un "parámetro de cuantificación de referencia del bloque" de manera similar al aparato de codificación de imagen de acuerdo con la primera realización a modo de ejemplo. El parámetro de cuantificación de bloque cuando un bloque objetivo de descodificación se cuantifica inversamente está en un estado tal que el propio valor no se codifica, sino que se codifica un valor de diferencia del mismo respecto del parámetro de cuantificación de referencia del bloque, como un elemento de sintaxis. Por lo tanto, en el momento de la descodificación, el parámetro de cuantificación de bloque se debería generar sumando el parámetro de cuantificación de referencia del bloque y el valor de diferencia descrito anteriormente, y el aparato de descodificación debería realizar cuantificación inversa utilizando el parámetro de cuantificación de bloque generado. En la presente realización a modo de ejemplo, este valor de diferencia corresponde a un valor de cu_qp_delta en el procedimiento HEVC. Sin embargo, la presente invención no se limita esto. Por ejemplo, el valor de diferencia puede corresponder a un valor de mb_qp_delta en el procedimiento H.264. A continuación, en la etapa S1002, se inicializa una tabla de probabilidades de ocurrencia mediante un procedimiento predeterminado. La tabla de probabilidades de ocurrencia inicializada se utiliza para descodificar aritméticamente la primera señal binaria del bloque más a la izquierda en la línea de bloques, y se actualiza, cuando se requiere, en la etapa S1003, lo que se describirá a continuación. En adelante, la tabla de probabilidades de ocurrencia utilizada para descodificar aritméticamente una primera señal binaria de un bloque inicial de una línea de bloques se denominará una "tabla de probabilidades de ocurrencia de referencia de la línea de bloques", de manera similar al aparato de codificación de imagen de acuerdo con la primera realización a modo de ejemplo.
A continuación, en la etapa S1003, la primera unidad 802 de descodificación descodifica el flujo de bits bloque a bloque, para generar datos de imagen.
En la presente realización a modo de ejemplo, un bloque está constituido por 64 x 64 píxeles, pero la presente invención no se limita a esto. El tamaño de un bloque puede ser de un tamaño menor, tal como de 32 x 32 píxeles, o de un tamaño mayor, tal como de 128 x 128 píxeles. El proceso de descodificación de bloques de la etapa S1003 se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 12.
En primer lugar, en la etapa S1201, la primera unidad 802 de descodificación descodifica aritméticamente el flujo de bits en base a la tabla de probabilidades de ocurrencia descrita anteriormente, para generar una señal binaria. Además, la primera unidad 802 de descodificación descodifica la señal binaria binarizada de acuerdo con cualquiera de varias clases de procedimientos de binarización, tales como binarización unaria y binarización de longitud fija, para cada elemento de sintaxis de manera similar al procedimiento H.264 para generar elementos de sintaxis que incluyen coeficientes de cuantificación.
A continuación, en la etapa S1202, la tabla de probabilidades de ocurrencia se actualiza en base a si la señal binaria descodificada aritméticamente es el símbolo más probable.
A continuación, en la etapa S1203, la primera unidad 802 de descodificación determina si todos los elementos de sintaxis en el bloque están descodificados aritméticamente. Si todos los elementos de sintaxis están descodificados aritméticamente (SÍ en la etapa S1203), el proceso avanza a la etapa S1204. Si no todos los elementos de sintaxis están descodificados aritméticamente (NO en la etapa S1203), el proceso pasa de nuevo a la etapa S1201.
A continuación, en la etapa S1204, la primera unidad 802 de descodificación genera un parámetro de cuantificación de bloque sumando el parámetro de cuantificación de referencia del bloque descrito anteriormente y el valor cu_qp_delta descodificado en la etapa S1201.
Después, en la etapa S1205, la primera unidad 802 de descodificación cuantifica inversamente los coeficientes de cuantificación en base al parámetro de cuantificación de bloque para generar coeficientes de transformada. A continuación, la primera unidad 802 de descodificación realiza una transformada ortogonal inversa sobre los coeficientes de transformada para generar errores de predicción.
Después, en la etapa S1206, la primera unidad 802 de descodificación ajusta el parámetro de cuantificación de bloque utilizado cuando se cuantifica inversamente el bloque objetivo de procesamiento al parámetro de cuantificación de referencia del bloque, actualizando de ese modo el parámetro de cuantificación de referencia del bloque. El parámetro de cuantificación de referencia del bloque se utilizará para generar un parámetro de cuantificación de bloque de un siguiente bloque.
Después, en la etapa S1207, la primera unidad 802 de descodificación realiza una intrapredicción a partir de los píxeles que rodean el bloque objetivo de procesamiento para generar una imagen de predicción. Además, la primera unidad 802 de descodificación genera datos de imagen correspondientes a un bloque sumando los errores de predicción y la imagen de predicción.
Haciendo referencia de nuevo al diagrama de flujo mostrado en la figura 10, en la etapa S1004, la primera unidad 802 de descodificación determina si se cumple una condición para almacenar el parámetro de cuantificación de referencia del bloque. En la presente realización a modo de ejemplo, la condición para almacenar el parámetro de cuantificación de referencia del bloque es si el bloque descodificadô en la etapa S1003 es el bloque más a la izquierda en la línea de bloques. Si la condición se cumple (SÍ en la etapa S1004), el proceso avanza a la etapa S1005. En la etapa S1005, el parámetro de cuantificación de referencia del bloque se almacena en la primera unidad 805 de almacenamiento del parámetro de cuantificación como un primer parámetro de cuantificación. Si la condición no se cumple (NO en la etapa S1004), el proceso avanza a la etapa S1006. El primer parámetro de cuantificación se utilizará como un parámetro de cuantificación de referencia del bloque cuando la segunda unidad 803 de descodificación descodifique el bloque más a la izquierda en la siguiente línea de bloques.
A continuación, en la etapa S1006, la primera unidad 802 de descodificación determina si se cumple una condición para almacenar la tabla de probabilidades de ocurrencia. En la presente realización a modo de ejemplo, la condición para almacenar la tabla de probabilidades de ocurrencia es si el bloque descodificado en la etapa S1003 es el bloque enésimo predeterminado a partir del bloque más a la izquierda en la línea de bloques. Si la condición se cumple (SÍ en la etapa S1006), el proceso avanza a la etapa S1007. En la etapa S1007, la tabla de probabilidades de ocurrencia se almacena en la primera unidad 804 de almacenamiento de la tabla de probabilidades de ocurrencia como una primera tabla de probabilidades de ocurrencia. Si la condición no se cumple (NO en la etapa S1006), el proceso avanza a la etapa S1008. La primera tabla de probabilidades de ocurrencia se utilizará como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques cuando la segunda unidad 803 de descodificación descodifique el bloque más a la izquierda en la siguiente línea de bloques.
Después, en la etapa S1008, la primera unidad 802 de descodificación determina si se han descodificado todos los bloques en la línea de bloques objetivo de procesamiento. Si todos los bloques están descodificados (SÍ en la etapa S1008), la descodificación de la línea de bloques superior ha finalizado. Si no todos los bloques están descodificados (NO en la etapa S1008), el proceso pasa de nuevo a la etapa S1003, desde la que la primera unidad 802 de descodificación descodifica el siguiente bloque en el orden de la trama.
El proceso de la etapa S903 (el proceso para descodificar una línea de bloques diferente de la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 11. El selector 801 determina para cada línea de bloques si la línea de bloques es una línea de bloques de número par. Si la línea de bloques es una línea de bloques de número par, el flujo de bits del bloque objetivo de procesamiento es introducido en la primera unidad 802 de descodificación, y es descodificado por la primera unidad 802 de descodificación. Si la línea de bloques es una línea de bloques de número impar, el flujo de bits del bloque objetivo de procesamiento es introducido en la segunda unidad 803 de descodificación, y es descodificado por la segunda unidad 803 de descodificación. En primer lugar, se describirá el flujo cuando la segunda unidad 803 de descodificación descodifica una línea de bloques de número impar.
Primero, en la etapa S1101, el primer parámetro de cuantificación es introducido desde la primera unidad 805 de almacenamiento del parámetro de cuantificación como un parámetro de cuantificación de referencia del bloque. A continuación, en la etapa S1102, la primera tabla de probabilidades de ocurrencia es introducida desde la primera unidad 804 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S1103, S1104, S1106 y S1108 es similar al proceso de las etapas S1003, S1004, S1006 y S1008 y, por lo tanto, se omite en este caso la descripción del mismo.
En la etapa S1105, el parámetro de cuantificación de referencia del bloque se almacena en la segunda unidad 807 de almacenamiento del parámetro de cuantificación como un segundo parámetro de cuantificación. El segundo parámetro de cuantificación se utilizará como un parámetro de cuantificación de referencia del bloque para el bloque más a la izquierda en la siguiente línea de bloques.
En la etapa S1107, la tabla de probabilidades de ocurrencia se almacena en la segunda unidad 806 de almacenamiento de la tabla de probabilidades de ocurrencia como una segunda tabla de probabilidades de ocurrencia. La segunda tabla de probabilidades de ocurrencia se utilizará como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques cuando la primera unidad 802 de descodificación descodifique aritméticamente el bloque más a la izquierda en la siguiente línea de bloques.
A continuación, se describirá el flujo cuando la primera unidad 802 de descodificación descodifica una línea de bloques de número par.
En primer lugar, en la etapa S1101, el segundo parámetro de cuantificación es introducido desde la segunda unidad 807 de almacenamiento del parámetro de cuantificación como un parámetro de cuantificación de referencia del bloque. A continuación, en la etapa S1102, la segunda tabla de probabilidades de ocurrencia es introducida desde la segunda unidad 806 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S1103 a S1108 similar al proceso de las etapas S1003 a S1008 y, por lo tanto, se omite en este caso la descripción del mismo.
La configuración y el funcionamiento descritos anteriormente permiten la ejecución en paralelo de la descodificación al permitir hacer referencia a un parámetro de cuantificación de referencia del bloque además de a una tabla de probabilidades de ocurrencia, que es información estadística, durante el procesamiento de un bloque más a la izquierda incluso antes de finalizar el procesamiento de la línea de bloques inmediatamente antes de la línea de bloques que está siendo descodificada actualmente. Las figuras 7A y 7B muestran cada una cómo se hace referencia a un parámetro de cuantificación de referencia del bloque. De acuerdo con la técnica convencional, tal como se muestra en la figura 7A, hasta que se completa el procesamiento de una línea de bloques anterior no puede comenzar el procesamiento de una siguiente línea de bloques. Sin embargo, de acuerdo con la presente realización a modo de ejemplo, se puede hacer referencia a un bloque superior espacialmente cuando se procesa un bloque más a la izquierda, lo que permite un patrón de referencia como se muestra en la figura 7B, eliminando de ese modo la necesidad de esperar a la finalización del procesamiento de una línea de bloques anterior.
Además, en la presente realización a modo de ejemplo, un parámetro de cuantificación utilizado como un bloque más a la izquierda en una línea de bloques inmediatamente superior se utiliza como un parámetro de cuantificación de referencia del bloque cuando se descodifica un bloque más a la izquierda. Sin embargo, la presente invención no se limita a esto, y se puede realizar mediante cualquier combinación que pueda mejorar el paralelismo del procesamiento línea de bloques a línea de bloques. Por ejemplo, un valor inicial de un parámetro de cuantificación proporcionado para un segmento puede ser utilizado como un parámetro de cuantificación de referencia del bloque cuando se descodifican los bloques más a la izquierda en todas las líneas de bloques. Como otra posible configuración, la condición para almacenar un parámetro de cuantificación de referencia del bloque puede ser la misma que la condición para almacenar la tabla de probabilidades de ocurrencia proporcionada en las etapas S1006 y S1106. Más específicamente, un parámetro de cuantificación cuando se descodifica un bloque enésimo predeterminado a partir de un bloque más a la izquierda en una línea de bloques se puede utilizar como un parámetro de cuantificación de referencia del bloque para el bloque más a la izquierda en la siguiente línea de bloques. Además, el aparato de descodificación de imagen se puede configurar para conmutar un bloque denominado un parámetro de cuantificación de referencia del bloque, en base a un modo de codificación de un bloque más a la izquierda. Asimismo, en la presente realización a modo de ejemplo, se utiliza descodificación aritmética para la descodificación entrópica, pero la presente invención no se limita a esto. Se puede utilizar cualquier descodificación siempre que en el momento de la descodificación entrópica basada en información estadística, tal como la tabla de probabilidades de ocurrencia, se utilice la información estadística en medio de la descodificación de una línea de bloques para llevar a cabo la descodificación entrópica del bloque más a la izquierda de la siguiente línea de bloques.
La presente realización a modo de ejemplo se ha descrito basándose en un ejemplo que utiliza dos unidades de descodificación. Sin embargo, es evidente que la adición de, por ejemplo, una tercera unidad de descodificación, una tercera unidad de almacenamiento de la tabla de probabilidades de ocurrencia y una tercera unidad de almacenamiento del parámetro de cuantificación permite el procesamiento en paralelo mediante un número mayor de unidades de descodificación.
La figura 14 es un diagrama de bloques que muestra un aparato de codificación de imagen, de acuerdo con una tercera realización a modo de ejemplo.
Haciendo referencia a la figura 14, un selector 1401 determina si un bloque objetivo de procesamiento pertenece a una línea de bloques de número par. El selector 1401 entrega el bloque a una primera unidad 1402 de codificación si el bloque pertenece a una línea de bloques de número par, y de lo contrario entrega el bloque a una segunda unidad 1403 de codificación.
La primera y la segunda unidades 1402 y 1403 de codificación codifican bloques, en los que una imagen de entrada está dividida en n x n píxeles ("n" es un entero positivo mayor o igual que 2), línea a línea tal como se muestra en la figura 2. La presente realización a modo de ejemplo se describirá basándose en un ejemplo que utiliza dos unidades de codificación, pero la presente invención no se limita a esto. Haciendo referencia a la figura 2, la sección 201 indicada como el cuadrado dibujado mediante la línea delgada representa un bloque, y la sección 202 indicada como el rectángulo dibujado mediante la línea gruesa representa una línea de bloques. Además, los bloques en las zonas blancas, que indican líneas de bloques de número par incluyendo la línea de bloques superior (la línea de bloques 0-ésima) son codificados mediante la primera unidad 1402 de codificación. Los bloques en las zonas sombreadas, que indican líneas de bloques de número impar, son codificados mediante la segunda unidad 1403 de codificación.
Cada una de la primera y la segunda unidades 1402 y 1403 de codificación genera en primer lugar errores de predicción de acuerdo con la predicción haciendo referencia a píxeles que rodean un bloque objetivo de codificación u otro cuadro, y realiza una transformada ortogonal para generar coeficientes de transformada. A continuación, cada una de la primera y la segunda unidades 1402 y 1403 de codificación determina un parámetro de cuantificación para los coeficientes de transformada transformados ortogonalmente, y cuantifica cada coeficiente de transformada para generar coeficientes de cuantificación. Después, cada una de la primera y la segunda unidades 1402 y 1403 de codificación binariza cada elemento de sintaxis incluyendo los coeficientes de cuantificación para generar señales binarias. Se asigna previamente una probabilidad de ocurrencia a cada elemento de sintaxis, a modo de tabla (en adelante, denominada una "tabla de probabilidades de ocurrencia"). Las señales binarias son codificadas aritméticamente en base a la tabla de probabilidades de ocurrencia descrita anteriormente. A continuación, cada vez que se codifica una señal binaria, la tabla de probabilidades de ocurrencia se actualiza utilizando información estadística que indica si la señal binaria codificada es el símbolo más probable.
Una unidad 1404 de almacenamiento del parámetro de cuantificación inicial almacena un valor inicial de un parámetro de cuantificación.
Una primera unidad 1405 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la primera unidad 1402 de codificación. A continuación, la tabla de probabilidades de ocurrencia almacenada en la primera unidad 1405 de almacenamiento de la tabla de probabilidades de ocurrencia se denominará una "primera tabla de probabilidades de ocurrencia".
Una segunda unidad 1406 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la segunda unidad 1403 de codificación. A continuación, la tabla de probabilidades de ocurrencia almacenada en la segunda unidad 1406 de almacenamiento de la tabla de probabilidades de ocurrencia se denominará una "segunda tabla de probabilidades de ocurrencia".
Una unidad 1407 de codificación de integración integra datos codificados generados por la primera unidad 1402 de codificación y datos codificados generados por la segunda unidad 1403 de codificación, y entrega los datos integrados como un flujo de bits.
El funcionamiento del aparato de codificación de imagen según la presente realización a modo de ejemplo se describirá en detalle haciendo referencia a los diagramas de flujo mostrados en las figuras 3, 15 y 16. En la presente realización a modo de ejemplo, los datos de imagen en movimiento se introducen cuadro a cuadro, se dividen en bloques y se procesan en el orden de la trama. La presente realización a modo de ejemplo está configurada para introducir datos de imagen en movimiento cuadro a cuadro, pero se puede configurar para introducir datos de imagen estática correspondientes a un cuadro o para introducir datos de imagen segmento a segmento, en los que se divide un cuadro. Además, para simplificar la descripción, la presente realización a modo de ejemplo se describirá basándose solamente en un proceso de codificación de intrapredicción, pero no se limita a esto. La presente realización a modo de ejemplo se puede utilizar asimismo para un proceso de codificación de interpredicción.
En primer lugar, el proceso de las etapas S301, S304 y S305 mostrado en la figura 3 es igual que en la primera realización a modo de ejemplo y, por lo tanto, se omite en este caso la descripción del mismo.
A continuación, el proceso de la etapa S302 (el proceso para codificar la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 15. Dado que la línea de bloques superior es una línea de bloques de número par, un bloque objetivo de procesamiento es introducido en la primera unidad 1402 de codificación mediante el selector 1401 y codificado por la primera unidad 1402 de codificación.
Primero, en la etapa S1501, un parámetro de cuantificación, sobre cuya base se codifica un bloque, se inicializa para corresponderse con un valor inicial de un parámetro de cuantificación para un segmento, y se almacena en la unidad 1404 de almacenamiento del parámetro de cuantificación inicial. En adelante, el parámetro de cuantificación, sobre cuya base se codifica un bloque, se denominará un "parámetro de cuantificación de referencia del bloque" de manera similar a la primera realización a modo de ejemplo. En relación con un parámetro de cuantificación utilizado para cuantificar un bloque objetivo de codificación, el propio valor del mismo no se codifica como un elemento de sintaxis, sino que se codifica el valor de la diferencia del mismo respecto del parámetro de cuantificación de referencia del bloque.
A continuación, en la etapa S1502, la primera unidad 1402 de codificación lee el parámetro de cuantificación inicializado desde la unidad 1404 de almacenamiento del parámetro de cuantificación inicial como un parámetro de cuantificación de referencia del bloque para codificar un bloque más a la izquierda en una línea de bloques. Después, el proceso de las etapas S1503 a S1507 es similar al proceso de las etapas S402, S403 y S406 a S408 mostrado en la figura 4, respectivamente, y por lo tanto se omite en este caso la descripción del mismo.
Sin embargo, en la etapa S1504 la primera unidad 1402 de codificación codifica datos de píxel bloque a bloque.
A continuación, el proceso de la etapa S303 (el proceso para codificar una línea de bloques diferente de la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 16. El selector 1401 determina para cada línea de bloques si la línea de bloques es una línea de bloques de número par. Si la línea de bloques es una línea de bloques de número par, se introduce una imagen de la línea de bloques objetivo de procesamiento en la primera unidad 1402 de codificación y se codifica mediante la primera unidad 1402 de codificación. Si la línea de bloques es una línea de bloques de número impar, una imagen de la línea de bloques objetivo de procesamiento es introducida en la segunda unidad 1403 de codificación y codificada por la segunda unidad 1403 de codificación. En primer lugar, se describirá el flujo cuando la segunda unidad 1403 de codificación codifica una línea de bloques de número impar.
Primero, en la etapa S1601, un parámetro de cuantificación de referencia del bloque para codificar un bloque más a la izquierda en una línea de bloques es introducido desde la unidad 1404 de almacenamiento del parámetro de cuantificación inicial. Después, en la etapa S1602, la primera tabla de probabilidades de ocurrencia es introducida desde la primera unidad 1405 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
En la etapa S1603, la segunda unidad 1403 de codificación codifica datos de píxel bloque a bloque. El proceso de la etapa S1604 es similar al proceso de la etapa S1505 mostrado en la figura 15.
En la etapa S1605, la tabla de probabilidades de ocurrencia se almacena en la segunda unidad 1406 de almacenamiento de la tabla de probabilidades de ocurrencia como una segunda tabla de probabilidades de ocurrencia. La segunda tabla de probabilidades de ocurrencia se utilizará como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques cuando la primera unidad 1402 de codificación codifique aritméticamente el bloque más a la izquierda en la siguiente línea de bloques.
El proceso de la etapa S1606 es similar al proceso de la etapa S1507 mostrado en la figura 15.
A continuación, se describirá el flujo cuando la primera unidad 1402 de codificación codifica una línea de bloques de número par.
Primero, en la etapa S1601, un parámetro de cuantificación de referencia del bloque para codificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 1404 de almacenamiento del parámetro de cuantificación inicial. A continuación, en la etapa S1602, la segunda tabla de probabilidades de ocurrencia es introducida desde la segunda unidad 1406 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S1603 a S1606 es similar al proceso de las etapas S1504 a S1507 y, por lo tanto, se omite su descripción en este caso.
La configuración y el funcionamiento descritos anteriormente permiten la ejecución en paralelo de la codificación al permitir hacer referencia a un parámetro de cuantificación de referencia del bloque además de a una tabla de probabilidades de ocurrencia, que es información estadística, durante el procesamiento de un bloque más a la izquierda incluso antes de finalizar el procesamiento de la línea de bloques inmediatamente antes de la línea de bloques que está siendo codificada actualmente. Las figuras 17A y 17B muestran cada una cómo se hace referencia a un parámetro de cuantificación de referencia del bloque. En las figuras 17A y 17B, "QP DE SEGMENTO" indica un valor inicial de un parámetro de cuantificación proporcionado a un segmento. De acuerdo con la técnica convencional, tal como se muestra en la figura 17A, hasta que se completa el proceso de una línea de bloques anterior no puede comenzar el proceso de la siguiente línea de bloques. Sin embargo, de acuerdo con la presente realización a modo de ejemplo, un valor inicial de un parámetro de cuantificación proporcionado a un segmento se puede denominar un parámetro de cuantificación de referencia del bloque para codificar el bloque más a la izquierda en la línea de bloques, eliminando de ese modo la necesidad de esperar a la finalización del proceso de la línea de bloques anterior como se muestra en la figura 17B.
A continuación, se describirá el flujo cuando la primera unidad 1402 de codificación codifica una línea de bloques de número par.
En primer lugar, en la etapa S1601, un parámetro de cuantificación de referencia de bloque para codificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 1404 de almacenamiento del parámetro de cuantificación inicial. A continuación, en la etapa S1602, la segunda tabla de probabilidades de ocurrencia es introducida desde la segunda unidad 1406 de almacenamiento de la tabla de probabilidades de ocurrencia, como una tabla de probabilidades de ocurrencia de referencia de línea de bloques.
El procesamiento de las etapas S1603 a S1606 es similar al procesamiento de las etapas S1504 a S1507 y, por lo tanto, se omite en este caso la descripción del mismo.
La configuración y el funcionamiento descritos anteriormente permiten la ejecución en paralelo de la codificación al permitir hacer referencia a un parámetro de cuantificación de referencia de bloque además de a una tabla de probabilidades de ocurrencia, que es información estadística, durante el procesamiento de un bloque más a la izquierda, incluso antes de la finalización del procesamiento de una línea de bloques inmediatamente anterior a la línea de bloques que se está codificando actualmente. Las figuras 17A y 17B muestran, cada una, cómo se hace referencia a un parámetro de cuantificación de referencia de bloque. En las figuras 17A y 17B, "QP DE SEGMENTO" indica un valor inicial de un parámetro de cuantificación proporcionado a un segmento. Según la técnica convencional, tal como se muestra en la figura 17A, hasta que se completa el procesamiento de una línea de bloques anterior, no puede comenzar el procesamiento de la siguiente línea de bloques. Sin embargo, según la invención, un valor inicial de un parámetro de cuantificación proporcionado a un segmento se denomina un parámetro de cuantificación de referencia de bloque para codificar el bloque más al izquierda en la línea de bloques, eliminando de ese modo la necesidad de esperar a la finalización del procesamiento de la línea de bloques anterior, tal como se muestra en la figura 17B.
Además, en la presente realización a modo de ejemplo, se utiliza codificación aritmética parala entropía. Cada una de la primera y la segunda unidades 1802 y 1803 de descodificación selecciona primero una tabla de probabilidades de ocurrencia para señales binarias de un flujo de bits que es un objetivo de descodificación, y descodifica aritméticamente las señales binarias en base a la tabla de probabilidades de ocurrencia para generar coeficientes de cuantificación. A continuación, cada una de la primera y la segunda unidades 1802 y 1803 de descodificación cuantifica inversamente los coeficientes de cuantificación en base a un parámetro de cuantificación para generar coeficientes de transformada. A continuación, cada una de la primera y la segunda unidades 1802 y 1803 de descodificación lleva a cabo una transformada ortogonal inversa sobre los coeficientes de transformada para generar errores de predicción. Después, cada una de la primera y la segunda unidades 1802 y 1803 de descodificación realiza compensación de movimiento haciendo referencia a píxeles que rodean el bloque objetivo de descodificación o a otro cuadro, para generar datos de imagen del bloque objetivo de descodificación. Una unidad 1804 de almacenamiento del parámetro de cuantificación inicial almacena un valor inicial de un parámetro de cuantificación. Una primera unidad 1805 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la primera unidad 1802 de descodificación.
Una segunda unidad 1806 de almacenamiento de la tabla de probabilidades de ocurrencia almacena la tabla de probabilidades de ocurrencia generada por la segunda unidad 1803 de descodificación. Una unidad 1807 de integración de datos de imagen conforma datos de imagen generados por la primera unidad 1802 de descodificación y datos de imagen generados por la segunda unidad 1803 de descodificación, y entrega los datos de imagen conformados.
El funcionamiento del aparato de descodificación de imagen según la presente realización a modo de ejemplo se describirá en detalle haciendo referencia a los diagramas de flujo mostrados en las figuras 9, 19 y 20. En la presente realización a modo de ejemplo, un flujo de bits se introduce cuadro a cuadro. El flujo de bits se divide en elementos de datos codificados, cada uno de los cuales corresponde a un bloque, y a continuación se descodifica. La presente realización a modo de ejemplo está configurada de tal modo que un flujo de bits es introducido cuadro a cuadro, pero se puede configurar de manera que un cuadro esté dividido en segmentos, y un flujo de bits se introduzca segmento a segmento. Además, para simplificar la descripción, la presente realización a modo de ejemplo se describirá basándose solamente en un proceso de descodificación de intrapredicción, pero no se limita a esto. La presente realización a modo de ejemplo se puede utilizar asimismo para un proceso de descodificación de interpredicción.
En primer lugar, el proceso de las etapas S901, S904 y S905 mostrado en la figura 9 es el mismo que en la segunda realización a modo de ejemplo y, por lo tanto, se omite en este caso la descripción del mismo. El proceso de la etapa S902 (el proceso para descodificar la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 19. Dado que la línea de bloques superior es una línea de bloques de número par, los datos codificados de una línea de bloques objetivo de procesamiento son introducidos en la primera unidad 1802 de descodificación por el selector 1801, y son descodificados por la primera unidad 1802 de descodificación.
Primero, en la etapa S1901, un parámetro de cuantificación, sobre cuya base se descodifica un bloque, se inicializa para corresponderse con un valor inicial de un parámetro de cuantificación para un segmento, y se almacena en la unidad 1804 de almacenamiento del parámetro de cuantificación inicial. A continuación, el parámetro de cuantificación, sobre cuya base se descodifica un bloque, se denominará un "parámetro de cuantificación de referencia del bloque" de manera similar al aparato de descodificación de imagen de acuerdo con la segunda realización a modo de ejemplo. El parámetro de cuantificación de bloque cuando un bloque objetivo de descodificación se cuantifica inversamente está en un estado tal que el propio valor no se codifica, sino que se codifica un valor de diferencia del mismo respecto del parámetro de cuantificación de referencia del bloque, como un elemento de sintaxis. Por lo tanto, en el momento de la descodificación, el parámetro de cuantificación de bloque se debería generar sumando el parámetro de cuantificación de referencia del bloque y el valor de diferencia descrito anteriormente, y el aparato de descodificación debería realizar cuantificación inversa utilizando el parámetro de cuantificación de bloque generado.
A continuación, en la etapa S1902, la primera unidad 1802 de descodificación lee el valor desde la unidad 1804 de almacenamiento del parámetro de cuantificación inicial como un parámetro de cuantificación de referencia del bloque para descodificar el bloque más a la izquierda en la línea de bloques. Después, el proceso de las etapas S1903 a S1907 es similar al proceso de las etapas S1002, S1003, S1006 a S1008, respectivamente, y por lo tanto se omite en este caso la descripción del mismo.
A continuación, el proceso de la etapa S903 (el proceso para descodificar una línea de bloques diferente de la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 20. El selector 1801 determina para cada línea de bloques si la línea de bloques es una línea de bloques de número par. Si la línea de bloques es una línea de bloques de número par, un flujo de bits de un bloque objetivo de procesamiento es introducido en la primera unidad 1802 de descodificación, y es descodificado por la primera unidad 1802 de descodificación. Si la línea de bloques es una línea de bloques de número impar, un flujo de bits de un bloque objetivo de procesamiento es introducido en la segunda unidad 1803 de descodificación, y es descodificado por la segunda unidad 1803 de descodificación. En primer lugar, se describirá el flujo cuando la segunda unidad 1803 de descodificación descodifica una línea de bloques de número impar.
Primero, en la etapa S2001, un parámetro de cuantificación de referencia del bloque para descodificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 1804 de almacenamiento del parámetro de cuantificación inicial. A continuación, en la etapa S2002, la primera tabla de probabilidades de ocurrencia es introducida desde la primera unidad 1805 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
En la etapa S2003, la segunda unidad 1403 de descodificación descodifica datos de píxel bloque a bloque. El proceso de la etapa S2004 es similar al proceso de la etapa S1905 y, por lo tanto, se omite en este caso su descripción.
En la etapa S2005, la tabla de probabilidades de ocurrencia se almacena en la segunda unidad 1806 de almacenamiento de la tabla de probabilidades de ocurrencia como una segunda tabla de probabilidades de ocurrencia. La segunda tabla de probabilidades de ocurrencia se utilizará como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques cuando la primera unidad 1402 de descodificación descodifique aritméticamente el bloque más a la izquierda en la siguiente línea de bloques.
El proceso de la etapa S2006 es similar al proceso de la etapa S1907 y, por lo tanto, se omite en este caso su descripción. A continuación, se describirá el flujo cuando la primera unidad 1802 de descodificación descodifica una línea de bloques de número par.
Primero, en la etapa S2001, un parámetro de cuantificación de referencia del bloque para descodificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 1804 de almacenamiento del parámetro de cuantificación inicial. A continuación, en la etapa S2002, la segunda tabla de probabilidades de ocurrencia es introducida desde la segunda unidad 1806 de almacenamiento de la tabla de probabilidades de ocurrencia como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S2003 a S2006 es similar al proceso de las etapas S1904 a S1907 y, por lo tanto, se omite en este caso la descripción del mismo.
La configuración y el funcionamiento descritos anteriormente permiten la ejecución en paralelo de la descodificación al permitir hacer referencia a un parámetro de cuantificación de referencia del bloque además de a una tabla de probabilidades de ocurrencia, que es información estadística, durante el procesamiento de un bloque más a la izquierda incluso antes de finalizar el procesamiento de la línea de bloques inmediatamente antes de la línea de bloques que está siendo descodificada actualmente.
Asimismo, en la presente realización a modo de ejemplo, se utiliza descodificación aritmética para la descodificación entrópica, pero la presente invención no se limita a esto. Se puede utilizar cualquier descodificación siempre que en el momento de la descodificación entrópica basada en información estadística, tal como la tabla de probabilidades de ocurrencia, se utilice la información estadística en medio de la descodificación de una línea de bloques para llevar a cabo la descodificación entrópica del bloque más a la izquierda de la siguiente línea de bloques.
La presente realización a modo de ejemplo se ha descrito basándose en un ejemplo que utiliza dos unidades de descodificación. Sin embargo, es evidente que la adición de, por ejemplo, una tercera unidad de descodificación y una tercera unidad de almacenamiento de la tabla de probabilidades de ocurrencia permite el procesamiento en paralelo mediante un número mayor de unidades de descodificación.
La figura 21 es un diagrama de bloques que muestra un aparato de codificación de imagen, de acuerdo con una quinta realización a modo de ejemplo.
Haciendo referencia a la figura 21, un selector 2101 determina si un bloque objetivo de procesamiento pertenece a una línea de bloques de número par. El selector 2101 entrega el bloque a una primera unidad 2102 de codificación si el bloque pertenece a una línea de bloques de número par, y de lo contrario entrega el bloque a una segunda unidad 2103 de codificación.
La primera y la segunda unidades 2102 y 2103 de codificación codifican bloques, en los que una imagen de entrada está dividida en n x n píxeles ("n" es un entero positivo mayor o igual que 2), línea a línea tal como se muestra en la figura 2. La presente realización a modo de ejemplo se describirá basándose en un ejemplo que utiliza dos unidades de codificación, pero la presente invención no se limita a esto. Haciendo referencia a la figura 2, la sección 201 indicada como el cuadrado dibujado mediante la línea delgada representa un bloque, y la sección 202 indicada como el rectángulo dibujado mediante la línea gruesa representa una línea de bloques. Además, los bloques en las zonas blancas, que indican líneas de bloques de número par incluyendo la línea de bloques superior (la línea de bloques 0-ésima) son codificados mediante la primera unidad 2102 de codificación. Los bloques en las zonas sombreadas, que indican líneas de bloques de número impar, son codificados mediante la segunda unidad 2103 de codificación.
Cada una de la primera y la segunda unidades 2102 y 2103 de codificación genera en primer lugar errores de predicción de acuerdo con la predicción haciendo referencia a píxeles que rodean un bloque objetivo de codificación u otro cuadro, y realiza una transformada ortogonal para generar coeficientes de transformada. A continuación, cada una de la primera y la segunda unidades 2102 y 2103 de codificación determina un parámetro de cuantificación para los coeficientes de transformada transformados ortogonalmente, y cuantifica cada coeficiente de transformada para generar coeficientes de cuantificación. Después, cada una de la primera y la segunda unidades 2102 y 2103 de codificación binariza cada elemento de sintaxis incluyendo los coeficientes de cuantificación para generar señales binarias. Se asigna previamente una probabilidad de ocurrencia a cada elemento de sintaxis, a modo de tabla (en adelante, denominada una "tabla de probabilidades de ocurrencia"). Las señales binarias son codificadas aritméticamente en base a la tabla de probabilidades de ocurrencia descrita anteriormente. A continuación, cada vez que se codifica una señal binaria, la tabla de probabilidades de ocurrencia se actualiza utilizando información estadística que indica si la señal binaria codificada es el símbolo más probable.
Una unidad 2104 de almacenamiento del parámetro de cuantificación inicial almacena un valor inicial de un parámetro de cuantificación. Una unidad 2105 de almacenamiento de la tabla de probabilidades de ocurrencia inicial almacena un valor inicial de una tabla de probabilidades de ocurrencia. Una unidad 2106 de codificación de integración integra datos codificados generados por la primera unidad 2102 de codificación y datos codificados generados por la segunda unidad 2103 de codificación, y entrega los datos integrados como un flujo de bits.
El funcionamiento del aparato de codificación de imagen según la presente realización a modo de ejemplo se describirá en detalle haciendo referencia a los diagramas de flujo mostrados en las figuras 3, 22 y 23. En la presente realización a modo de ejemplo, los datos de imagen en movimiento se introducen cuadro a cuadro, se dividen en bloques y se procesan en el orden de la trama. La presente realización a modo de ejemplo está configurada para introducir datos de imagen en movimiento cuadro a cuadro, pero se puede configurar para introducir datos de imagen estática correspondientes a un cuadro o para introducir datos de imagen segmento a segmento, en los que se divide un cuadro. Además, para simplificar la descripción, la presente realización a modo de ejemplo se describirá basándose solamente en un proceso de codificación de intrapredicción, pero no se limita a esto. La presente realización a modo de ejemplo se puede utilizar asimismo para un proceso de codificación de interpredicción.
El proceso de las etapas S301, S304 y S305 mostrado en la figura 3 es igual que en la primera realización a modo de ejemplo y, por lo tanto, se omite en este caso la descripción del mismo.
El proceso de la etapa S302 (el proceso para codificar la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 22. Dado que la línea de bloques superior es una línea de bloques de número par, un bloque objetivo de procesamiento es introducido en la primera unidad 2102 de codificación mediante el selector 2101 y codificado por la primera unidad 2102 de codificación.
Primero, en la etapa S2201, un parámetro de cuantificación, sobre cuya base se codifica un bloque, se inicializa para corresponderse con un valor inicial de un parámetro de cuantificación para un segmento, y se almacena en la unidad 2104 de almacenamiento del parámetro de cuantificación inicial. En adelante, el parámetro de cuantificación, sobre cuya base se codifica un bloque, se denominará un "parámetro de cuantificación de referencia del bloque" de manera similar a la primera realización a modo de ejemplo. En relación con un parámetro de cuantificación utilizado para cuantificar un bloque objetivo de codificación, el propio valor del mismo no se codifica como un elemento de sintaxis, sino que se codifica el valor de la diferencia del mismo respecto del parámetro de cuantificación de referencia del bloque.
A continuación, en la etapa S2202, la primera unidad 2102 de codificación lee el parámetro de cuantificación inicializado desde la unidad 2104 de almacenamiento del parámetro de cuantificación inicial como un parámetro de cuantificación de referencia del bloque para codificar un bloque más a la izquierda en una línea de bloques. A continuación, en la etapa S2203, una tabla de probabilidades de ocurrencia es inicializada mediante un procedimiento predeterminado, y almacenada en la unidad 2105 de almacenamiento de la tabla de probabilidades de ocurrencia inicial. La tabla de probabilidades de ocurrencia almacenada en la unidad 2105 de almacenamiento de la tabla de probabilidades de ocurrencia inicial se utiliza para codificar aritméticamente la primera señal binaria del bloque más a la izquierda en la línea de bloques, y se actualiza cuando procede en la etapa S2205, que se describirá a continuación. En adelante, la tabla de probabilidades de ocurrencia utilizada para codificar aritméticamente una señal binaria de un primer bloque en una línea de bloques se denominará una "tabla de probabilidades de ocurrencia de referencia de la línea de bloques", de manera similar a la primera realización a modo de ejemplo.
A continuación, en la etapa S2204, la primera unidad 2102 de codificación lee el parámetro de cuantificación inicializado desde la unidad 2105 de almacenamiento de la tabla de probabilidades de ocurrencia inicial como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
Después, el proceso de las etapas S2205 y S2206 es similar al proceso de las etapas S403 y S408 mostrado en la figura 4, respectivamente, y por lo tanto se omite en este caso la descripción del mismo. Sin embargo, en la etapa S2205, la primera unidad 2012 de codificación codifica datos de píxel bloque a bloque. A continuación, el proceso de la etapa S303 (el proceso para codificar una línea de bloques diferente de la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 23. El selector 2101 determina para cada línea de bloques si la línea de bloques es una línea de bloques de número par. Si la línea de bloques es una línea de bloques de número par, se introduce una imagen de la línea de bloques objetivo de procesamiento en la primera unidad 2102 de codificación y se codifica mediante la primera unidad 2102 de codificación. Si la línea de bloques es una línea de bloques de número impar, una imagen de la línea de bloques objetivo de procesamiento es introducida en la segunda unidad 2103 de codificación y codificada por la segunda unidad 2103 de codificación. En primer lugar, se describirá el flujo cuando la segunda unidad 2103 de codificación codifica una línea de bloques de número impar.
Primero, en la etapa S2301, un parámetro de cuantificación de referencia del bloque para codificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 2104 de almacenamiento del parámetro de cuantificación inicial.
A continuación, en la etapa S2302, el valor se introduce desde la unidad 2105 de almacenamiento de la tabla de probabilidades de ocurrencia inicial como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
A continuación, en la etapa S2303, la segunda unidad 2103 de codificación codifica datos de píxel bloque a bloque. El proceso de la etapa S2304 es similar al proceso de la etapa S2206 mostrado en la figura 22. A continuación, se describirá el flujo cuando la primera unidad 2102 de codificación codifica una línea de bloques de número par. Primero, en la etapa S2301, un parámetro de cuantificación de referencia del bloque para codificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 2104 de almacenamiento del parámetro de cuantificación inicial. A continuación, en la etapa S2302, el valor se introduce desde la unidad 2105 de almacenamiento de la tabla de probabilidades de ocurrencia inicial como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S2303 y S2304 es similar al proceso de las etapas S2205 y S2206 y, por lo tanto, se omite su descripción en este caso.
La configuración y el funcionamiento descritos anteriormente permiten la ejecución de codificación en paralelo utilizando una tabla de probabilidades de ocurrencia, que es información estadística, y un valor inicializado como un parámetro de cuantificación de referencia del bloque durante el procesamiento de un bloque más a la izquierda incluso antes de la finalización del procesamiento de la línea de bloques inmediatamente anterior a la línea de bloques que está siendo codificada actualmente. Además, en la presente realización a modo de ejemplo, se utiliza codificación aritmética para codificación entrópica, pero la presente invención no se limita a esto. Se puede utilizar cualquier procedimiento de codificación, siempre que la información estadística se inicialice al comienzo del proceso de codificación, el proceso de codificación se realice con la utilización de la información estadística, y la información estadística se actualice cada vez que se realiza un proceso de codificación.
La presente realización a modo de ejemplo se ha descrito basándose en un ejemplo que utiliza dos unidades de codificación. Sin embargo, es evidente que la adición de, por ejemplo, una tercera unidad de codificación permite un procesamiento en paralelo mediante un número mayor de unidades de codificación.
La figura 24 es un diagrama de bloques que muestra un aparato de descodificación de imagen, de acuerdo con una sexta realización a modo de ejemplo.
Haciendo referencia a la figura 24, un selector 2401 determina si un bloque objetivo de procesamiento pertenece a una línea de bloques de número par. El selector 2401 entrega el bloque a una primera unidad 2402 de descodificación si el bloque pertenece a una línea de bloques de número par, y de lo contrario entrega el bloque a una segunda unidad 2403 de descodificación.
La primera y la segunda unidades 2402 y 2403 de descodificación descodifican el flujo de bits de entrada, línea a línea, tal como se muestra en la figura 2. En adelante, una línea de bloques se denominará una "línea de bloques". La presente realización a modo de ejemplo se describirá basándose en un ejemplo que utiliza dos unidades de descodificación, pero la presente invención no se limita a esto. Haciendo referencia a la figura 2, la sección 201 indicada como el cuadrado dibujado mediante la línea delgada representa un bloque, y la sección 202 indicada como el rectángulo dibujado mediante la línea gruesa representa una línea de bloques. Además, los bloques en las zonas blancas, que indican líneas de bloques de número par incluyendo la línea de bloques superior (la línea de bloques 0-ésima) son descodificados mediante la primera unidad 2402 de descodificación. Los bloques en las zonas sombreadas, que indican las líneas de bloques de número impar, son descodificados por la segunda unidad 2403 de descodificación.
Cada una de la primera y la segunda unidades 2402 y 2403 de descodificación selecciona primero una tabla de probabilidades de ocurrencia para una señal binaria de un flujo de bits que es un objetivo de descodificación, y descodifica aritméticamente la señal binaria en base a la tabla de probabilidades de ocurrencia para generar coeficientes de cuantificación. A continuación, cada una de la primera y la segunda unidades 2402 y 2403 de descodificación cuantifica inversamente los coeficientes de cuantificación en base a un parámetro de cuantificación para generar coeficientes de transformada. A continuación, cada una de la primera y la segunda unidades 2402 y 2403 de descodificación lleva a cabo una transformada ortogonal inversa sobre los coeficientes de transformada para generar errores de predicción. Después, cada una de la primera y la segunda unidades 2402 y 2403 de descodificación realiza predicción haciendo referencia a píxeles que rodean el bloque objetivo de descodificación o a otro cuadro, para generar datos de imagen del bloque objetivo de descodificación.
Una unidad 2404 de almacenamiento del parámetro de cuantificación inicial almacena un valor inicial de un parámetro de cuantificación. Una unidad 2405 de almacenamiento de la tabla de probabilidades de ocurrencia inicial almacena un valor inicial de una tabla de probabilidades de ocurrencia. Una unidad 2406 de integración de datos de imagen conforma datos de imagen generados por la primera unidad 2402 de descodificación y datos de imagen generados por la segunda unidad 2403 de descodificación, y entrega los datos conformados.
El funcionamiento del aparato de descodificación de imagen según la presente realización a modo de ejemplo se describirá en detalle haciendo referencia a los diagramas de flujo mostrados en las figuras 9, 25 y 26. En la presente realización a modo de ejemplo, un flujo de bits se introduce cuadro a cuadro. El flujo de bits se divide en elementos de datos codificados, cada uno de los cuales corresponde a un bloque, y a continuación se descodifica. La presente realización a modo de ejemplo está configurada de tal modo que un flujo de bits es introducido cuadro a cuadro, pero se puede configurar de manera que un cuadro esté dividido en segmentos, y un flujo de bits se introduzca segmento a segmento. Además, para simplificar la descripción, la presente realización a modo de ejemplo se describirá basándose solamente en un proceso de descodificación de intrapredicción, pero no se limita a esto. La presente realización a modo de ejemplo se puede utilizar asimismo para un proceso de descodificación de interpredicción.
El proceso de las etapas S901, S904 y S905 mostradas en la figura 9 es igual que en la segunda realización a modo de ejemplo y, por lo tanto, se omite su descripción en este caso.
El proceso de la etapa S902 (el proceso para descodificar la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 25. Dado que la línea de bloques superior es una línea de bloques de número par, los datos codificados de una línea de bloques objetivo de procesamiento son introducidos en la primera unidad 2402 de descodificación por el selector 2401, y son descodificados por la primera unidad 2402 de descodificación.
Primero, en la etapa S2501, un parámetro de cuantificación, sobre cuya base se descodifica un bloque, se inicializa para corresponderse con un valor inicial de un parámetro de cuantificación para un segmento, y se almacena en la unidad 2404 de almacenamiento del parámetro de cuantificación inicial. En adelante, el parámetro de cuantificación, sobre cuya base se descodifica un bloque, se denominará un "parámetro de cuantificación de referencia del bloque" de manera similar a la segunda realización a modo de ejemplo. El parámetro de cuantificación de bloque cuando un bloque objetivo de descodificación se cuantifica inversamente está en un estado tal que el propio valor no se codifica, sino que se codifica un valor de diferencia del mismo respecto del parámetro de cuantificación de referencia del bloque, como un elemento de sintaxis. Por lo tanto, en el momento de la descodificación, el parámetro de cuantificación de bloque se debería generar sumando el parámetro de cuantificación de referencia del bloque y el valor de diferencia descrito anteriormente, y el aparato de descodificación debería realizar cuantificación inversa.
A continuación, en la etapa S2502, la primera unidad 2402 de descodificación lee el valor desde la unidad 2404 de almacenamiento del parámetro de cuantificación inicial como un parámetro de cuantificación de referencia del bloque para codificar el bloque más a la izquierda en la línea de bloques. A continuación, en la etapa S2503, la tabla de probabilidades de ocurrencia es inicializada mediante un procedimiento predeterminado, y almacenada en la unidad 2405 de almacenamiento de la tabla de probabilidades de ocurrencia inicial. La tabla de probabilidades de ocurrencia almacenada en la unidad 2405 de almacenamiento de la tabla de probabilidades de ocurrencia inicial se utiliza para descodificar aritméticamente la primera señal binaria del bloque más a la izquierda en la línea de bloques, y se actualiza cuando procede en la etapa S2505, que se describirá a continuación. En adelante, la tabla de probabilidades de ocurrencia utilizada para descodificar aritméticamente una primera señal binaria de un bloque inicial en una línea de bloques se denominará una "tabla de probabilidades de ocurrencia de referencia de la línea de bloques", de manera similar a la segunda realización a modo de ejemplo.
A continuación, en la etapa S2504, la primera unidad 2402 de descodificación lee el valor de la unidad 2405 de almacenamiento de la tabla de probabilidades de ocurrencia inicial como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
Después, el proceso de las etapas S2505 y S2506 es similar al proceso de las etapas S1003 y S1008 mostrado en la figura 10, respectivamente, y por lo tanto se omite en este caso la descripción del mismo. Sin embargo, en la etapa S2505, la primera unidad 2402 de descodificación descodifica datos de píxel bloque a bloque.
A continuación, el proceso de la etapa S903 (el proceso para descodificar una línea de bloques diferente de la línea de bloques superior) se describirá en detalle haciendo referencia al diagrama de flujo mostrado en la figura 26. El selector 2401 determina para cada línea de bloques si la línea de bloques es una línea de bloques de número par. Si la línea de bloques es una línea de bloques de número par, un flujo de bits del bloque objetivo de procesamiento es introducido en la primera unidad 2402 de descodificación, y es descodificado por la primera unidad 2402 de descodificación. Si la línea de bloques es una línea de bloques de número impar, un flujo de bits del bloque objetivo de procesamiento es introducido en la segunda unidad 2403 de descodificación, y es descodificado por la segunda unidad 2403 de descodificación. En primer lugar, se describirá el flujo cuando la segunda unidad 2403 de descodificación descodifica una línea de bloques de número impar.
Primero, en la etapa S2601, un parámetro de cuantificación de referencia del bloque para descodificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 2404 de almacenamiento del parámetro de cuantificación inicial.
A continuación, en la etapa S2602, el valor se introduce desde la unidad 2405 de almacenamiento de la tabla de probabilidades de ocurrencia inicial como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
A continuación, en la etapa S2603, la segunda unidad 2403 de descodificación descodifica datos de píxel bloque a bloque. El proceso de la etapa S2604 es similar al proceso de la etapa S2506 mostrado en la figura 25. A continuación, se describirá el flujo cuando la primera unidad 2402 de descodificación descodifica una línea de bloques de número par. Primero, en la etapa S2601, un parámetro de cuantificación de referencia del bloque para descodificar el bloque más a la izquierda en la línea de bloques es introducido desde la unidad 2404 de almacenamiento del parámetro de cuantificación inicial. A continuación, en la etapa S2602, el valor se introduce desde la unidad 2405 de almacenamiento de la tabla de probabilidades de ocurrencia inicial como una tabla de probabilidades de ocurrencia de referencia de la línea de bloques.
El proceso de las etapas S2603 y S2604 es similar al proceso de las etapas S2505 y S2506 y, por lo tanto, se omite su descripción en este caso.
La configuración y el funcionamiento descritos anteriormente permiten la ejecución de descodificación en paralelo utilizando una tabla de probabilidades de ocurrencia, que es información estadística, y un valor inicializado como un parámetro de cuantificación de referencia del bloque durante el procesamiento de un bloque más a la izquierda incluso antes de la finalización del procesamiento de la línea de bloques inmediatamente anterior a una línea de bloques que está siendo descodificada actualmente.
Asimismo, en la presente realización a modo de ejemplo, se utiliza descodificación aritmética para la descodificación entrópica, pero la presente invención no se limita a esto. Se puede utilizar cualquier procedimiento de descodificación, siempre que la información estadística se inicialice al comienzo del proceso de descodificación, el proceso de descodificación se realice con la utilización de la información estadística, y la información estadística se actualice cada vez que se realiza un proceso de descodificación. La presente realización a modo de ejemplo se ha descrito basándose en un ejemplo que utiliza dos unidades de descodificación. Sin embargo, es evidente que la adición de, por ejemplo, una tercera unidad de descodificación permite el procesamiento en paralelo mediante un número mayor de unidades de descodificación.
Las realizaciones a modo de ejemplo descritas anteriormente se han descrito suponiendo que las respectivas unidades de procesamiento mostradas en las figuras 1, 8, 14, 18, 21 y 24 están realizadas mediante aparatos de hardware. Sin embargo, el proceso llevado a cabo por las respectivas unidades de procesamiento mostradas en las figuras 1, 8, 14, 18, 21 y 24 se puede realizar mediante un programa informático.
La figura 13 es un diagrama de bloques que muestra un ejemplo de una configuración de hardware de un ordenador que se puede utilizar como los aparatos de procesamiento de imagen según las respectivas realizaciones a modo de ejemplo descritas anteriormente.
Una unidad central de procesamiento (CPU, central processing unit) 1301 controla todo el ordenador con la utilización de un programa informático y datos almacenados en una memoria de acceso aleatorio (RAM, random access memory) 1302 y una memoria de sólo lectura (ROM, read only memory) 1303, y realiza las respectivas clases de procesamiento que se han descrito como realizadas por los aparatos de procesamiento de imagen según las respectivas realizaciones a modo de ejemplo descritas anteriormente. En otras palabras, la CPU 1301 funciona como las respectivas unidades de procesamiento mostradas en las figuras 1, 8, 14, 18, 21 y 24.
La RAM 1302 tiene un área para almacenar temporalmente, por ejemplo, un programa informático y datos cargados desde un dispositivo 1306 de almacenamiento externo, y datos adquiridos desde el exterior por medio de una interfaz (I/F) 1307. Además, la RAM 1302 tiene un área de trabajo utilizada cuando la CPU 1301 realiza varias clases de procesos. En otras palabras, por ejemplo, la RAM 1302 se puede asignar como una memoria de cuadros o puede proporcionar algunas otras clases de áreas cuando se requiere.
La ROM 1303 almacena, por ejemplo, datos de configuración del presente ordenador y un programa de arranque. Una unidad 1304 de funcionamiento incluye un teclado y un ratón. Un usuario del presente ordenador puede introducir varias clases de instrucciones a la CPU 1301 manejando la unidad 1304 de funcionamiento. Una unidad 1305 de visualización visualiza un resultado del proceso realizado por la CPU 1301. Además, la unidad 1305 de visualización incluye un dispositivo de visualización, tal como una pantalla de cristal líquido.
El dispositivo 1306 de almacenamiento externo es un dispositivo de almacenamiento de información de gran capacidad representado por un dispositivo de unidad de disco duro. El dispositivo 1306 de almacenamiento externo almacena un sistema operativo (OS, operating system), y el programa informático para permitir que la CPU 1301 realice las funciones de las respectivas unidades mostradas en las figuras 1, 8, 14, 18, 21 y 24. Además, el dispositivo 1306 de almacenamiento externo puede almacenar datos de imagen como un objetivo de procesamiento.
El programa informático y los datos almacenados en el dispositivo 1306 de almacenamiento externo son cargados en la RAM 1302, cuando se requiere de acuerdo con el control de la CPU 1301, y son procesados por la CPU 1301. Una red, tal como una red local (LAN, local area network) e internet, y otro dispositivo tal como un dispositivo de proyección y un dispositivo de visualización pueden estar conectados a la<i>/<f>1307. El ordenador puede adquirir y transmitir varias clases de información por medio de la I/F 1307. Un bus 1308 conecta entre sí las respectivas unidades descritas anteriormente.
En relación con el funcionamiento mediante la configuración descrita anteriormente, la CPU 1301 juega un papel central en el control de las operaciones explicadas haciendo referencia a los diagramas de flujo descritos anteriormente. La presente invención puede, asimismo, realizarse suministrando un medio de almacenamiento que almacene códigos del programa informático que puede realizar las funciones descritas anteriormente, y haciendo que el sistema lea y ejecute los códigos del programa informático. En este caso, los códigos del programa informático leídos desde el medio de almacenamiento realizan las funciones de las realizaciones a modo de ejemplo descritas anteriormente, y el medio de almacenamiento que almacena los códigos del programa informático está dentro del alcance de la presente invención. Alternativamente, un sistema operativo (OS) o similar que funciona en un ordenador puede realizar una parte o la totalidad del propio proceso en base a instrucciones de los códigos del programa informático, realizando de ese modo mediante este procesamiento las funciones descritas anteriormente. Este caso está asimismo dentro del alcance de la presente invención.
También alternativamente, la presente invención se puede realizar mediante la siguiente realización; los códigos del programa informático leídos desde el medio de almacenamiento se pueden escribir en una tarjeta de expansión de funciones introducida en un ordenador o en una memoria proporcionada para una unidad de expansión de funciones conectada a un ordenador, y una CPU o similar proporcionada para la tarjeta de expansión de funciones o la unidad de expansión de funciones puede realizar una parte o la totalidad del propio proceso en base a instrucciones de los códigos del programa informático, realizando de ese modo las funciones descritas anteriormente. Este caso está asimismo dentro del alcance de la presente invención. En un caso en el que la presente invención se realiza mediante el medio de almacenamiento descrito anteriormente, el medio de almacenamiento almacena los códigos del programa informático correspondiente a los diagramas de flujo descritos anteriormente.
Claims (6)
1. Aparato de codificación de imagen configurado para codificar una imagen en un flujo de bits, incluyendo la imagen uno o varios segmentos, incluyendo cada segmento una serie de bloques, comprendiendo el aparato de codificación de imagen:
un primer medio (102) de codificación para codificar bloques incluidos en una primera línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la primera línea de bloques, comprendiendo dicha primera línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde el primer medio de codificación está dispuesto para codificar los bloques incluidos en la primera línea de bloques utilizando codificación aritmética, y donde el primer medio de codificación está dispuesto para actualizar información estadística para codificación aritmética cuando codifica los bloques incluidos en la primera línea de bloques; y
un segundo medio (103) de codificación para codificar bloques incluidos en una segunda línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la segunda línea de bloques, comprendiendo dicha segunda línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde el segundo medio de codificación está dispuesto para codificar los bloques incluidos en la segunda línea de bloques utilizando codificación aritmética, y donde cuando codifica el primer bloque de la segunda línea de bloques, el segundo medio de codificación está dispuesto para utilizar la información estadística actualizada cuando se codifica un bloque predeterminado de la primera línea de bloques,
en el que, el primer medio de codificación está dispuesto para codificar, para un parámetro de cuantificación para el primer bloque en el orden de codificación de los bloques incluidos en la primera línea de bloques, un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la primera línea de bloques y un parámetro de cuantificación del segmento que se proporciona al segmento como un valor inicial, el segundo medio de codificación está dispuesto para codificar, para un parámetro de cuantificación del primer bloque en el orden de codificación de los bloques incluidos en la segunda línea de bloques, un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la segunda línea de bloques y el parámetro de cuantificación del segmento que ha sido utilizado por el primer medio de codificación cuando se codifica el parámetro de cuantificación del primer bloque de la primera línea de bloques, y
los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la primera línea de bloques y los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la segunda línea de bloques se codifican utilizando el parámetro de cuantificación de un bloque anterior de la respectiva línea de bloques, de acuerdo con el orden de codificación.
2. Aparato de descodificación de imagen configurado para descodificar una imagen a partir de un flujo de bits que está codificado en unidades de segmentos, incluyendo cada segmento una serie de bloques, comprendiendo el aparato de descodificación de imagen:
un primer medio (802) de descodificación para descodificar bloques incluidos en una primera línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la primera línea de bloques, comprendiendo dicha primera línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde el primer medio de descodificación está dispuesto para descodificar los bloques incluidos en la primera línea de bloques utilizando descodificación aritmética, y donde el primer medio de descodificación está dispuesto para actualizar información estadística para descodificación aritmética cuando descodifica los bloques incluidos en la primera línea de bloques; y un segundo medio (803) de descodificación para descodificar bloques incluidos en una segunda línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la segunda línea de bloques, comprendiendo dicha segunda línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde el segundo medio de descodificación está dispuesto para descodificar los bloques incluidos en la segunda línea de bloques utilizando descodificación aritmética, y donde cuando descodifica el primer bloque de la segunda línea de bloques, el segundo medio de descodificación está dispuesto para utilizar la información estadística actualizada cuando se descodifica un bloque predeterminado de la primera línea de bloques,
en el que, el primer medio de descodificación está dispuesto para descodificar un parámetro de cuantificación del primer bloque en el orden de descodificación de los bloques incluidos en la primera línea de bloques utilizando un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la primera línea de bloques y un parámetro de cuantificación del segmento que se proporciona al segmento como un valor inicial,
el segundo medio de descodificación está dispuesto para descodificar un parámetro de cuantificación del primer bloque en el orden de descodificación de los bloques incluidos en la segunda línea de bloques utilizando un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la segunda línea de bloques y el parámetro de cuantificación del segmento que ha sido utilizado por el primer medio de descodificación cuando se descodifica el parámetro de cuantificación del primer bloque de la primera línea de bloques, y
los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la primera línea de bloques y los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la segunda línea de bloques se descodifican utilizando el parámetro de cuantificación de un bloque anterior de la respectiva línea de bloques, de acuerdo con el orden de descodificación.
3. Procedimiento de codificación de imagen para codificar una imagen en un flujo de bits, incluyendo la imagen uno o varios segmentos, incluyendo cada segmento una serie de bloques, comprendiendo el procedimiento de codificación de imagen:
una primera etapa de codificación para codificar bloques incluidos en una primera línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la primera línea de bloques, comprendiendo dicha primera línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde los bloques incluidos en la primera línea de bloques son codificados utilizando codificación aritmética, y donde se actualiza información estadística para codificación aritmética cuando se codifican los bloques incluidos en la primera línea de bloques; y
una segunda etapa de codificación para codificar bloques incluidos en una segunda línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la segunda línea de bloques, comprendiendo dicha segunda línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde los bloques incluidos en la segunda línea de bloques son codificados utilizando codificación aritmética, y donde cuando se codifica el primer bloque de la segunda línea de bloques, se utiliza la información estadística actualizada cuando se codifica un bloque predeterminado de la primera línea de bloques,
en el que, cuando se codifica el primer bloque, la primera etapa de codificación incluye codificar, para un parámetro de cuantificación del primer bloque en el orden de codificación de los bloques incluidos en la primera línea de bloques, un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la primera línea de bloques y un parámetro de cuantificación de segmentos que se proporciona al segmento como un valor inicial,
cuando se codifica el primer bloque, la segunda etapa de codificación incluye codificar, para un parámetro de cuantificación del primer bloque en el orden de codificación de los bloques incluidos en la segunda línea de bloques, un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la segunda línea de bloques y el parámetro de cuantificación del segmento que se utiliza en la primera etapa de codificación cuando se codifica el parámetro de cuantificación del primer bloque en la primera línea de bloques, y
los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la primera línea de bloques y los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la segunda línea de bloques se codifican utilizando el parámetro de cuantificación de un bloque anterior de la respectiva línea de bloques, de acuerdo con el orden de codificación.
4. Procedimiento de descodificación de imagen para descodificar datos de código codificados segmento a segmento, incluyendo cada segmento una serie de bloques, comprendiendo el procedimiento de descodificación de imagen:
una primera etapa de descodificación, que descodifica bloques incluidos en una primera línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la primera línea de bloques, comprendiendo dicha primera línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen, donde los bloques incluidos en la primera línea de bloques son descodificados utilizando descodificación aritmética, y donde se actualiza información estadística para descodificación aritmética cuando se descodifican los bloques incluidos en la primera línea de bloques; una segunda etapa de descodificación, para descodificar bloques incluidos en una segunda línea de bloques del segmento en un orden que comienza en un primer bloque que es el bloque más a la izquierda de la segunda línea de bloques, comprendiendo dicha segunda línea de bloques una serie de bloques dispuestos en una dirección horizontal en la imagen donde los bloques incluidos en la segunda línea de bloques son descodificados utilizando descodificación aritmética, donde cuándo se descodifica el primer bloque de la segunda línea de bloques, se utiliza la información estadística actualizada cuando se descodifica un bloque predeterminado de la primera línea de bloques,
en el que, la primera etapa de descodificación incluye descodificar un parámetro de cuantificación del primer bloque en el orden de descodificación de los bloques incluidos en la primera línea de bloques utilizando un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la primera línea de bloques y un parámetro de cuantificación del segmento que se proporciona al segmento como un valor inicial, la segunda etapa de descodificación incluye descodificar un parámetro de cuantificación del primer bloque en el orden de descodificación de los bloques incluidos en la segunda línea de bloques utilizando un valor de diferencia entre el parámetro de cuantificación del primer bloque incluido en la segunda línea de bloques y el parámetro de cuantificación del segmento que se utiliza en la primera etapa de descodificación cuando se descodifica el parámetro de cuantificación del primer bloque de la primera línea de bloques, y
los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la primera línea de bloques y los parámetros de cuantificación de los bloques subsiguientes del primer bloque de la segunda línea de bloques se descodifican utilizando el parámetro de cuantificación de un bloque anterior de la respectiva línea de bloques, de acuerdo con el orden de descodificación.
5. Programa informático que comprende instrucciones que, cuando el programa es ejecutado por un ordenador, hacen que el ordenador lleve a cabo el procedimiento según la reivindicación 3.
6. Programa informático que comprende instrucciones que, cuando el programa es ejecutado por un ordenador, hacen que el ordenador lleve a cabo el procedimiento según la reivindicación 4.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011243940 | 2011-11-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2964924T3 true ES2964924T3 (es) | 2024-04-10 |
Family
ID=47358509
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19151520T Active ES2861801T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
ES12801780T Active ES2725559T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
ES20205785T Active ES2964924T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
ES20205787T Active ES2956216T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
ES20205782T Active ES2961824T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19151520T Active ES2861801T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
ES12801780T Active ES2725559T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20205787T Active ES2956216T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
ES20205782T Active ES2961824T3 (es) | 2011-11-07 | 2012-11-05 | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |
Country Status (16)
Country | Link |
---|---|
US (6) | US10070129B2 (es) |
EP (5) | EP3806465B1 (es) |
JP (7) | JP6080375B2 (es) |
KR (8) | KR101799248B1 (es) |
CN (6) | CN107396120B (es) |
BR (4) | BR122019025424B1 (es) |
ES (5) | ES2861801T3 (es) |
HR (3) | HRP20231736T1 (es) |
HU (5) | HUE064820T2 (es) |
IN (1) | IN2014CN04001A (es) |
PL (5) | PL3806466T3 (es) |
PT (3) | PT3806466T (es) |
RS (3) | RS65025B1 (es) |
RU (7) | RU2634212C1 (es) |
TR (1) | TR201905906T4 (es) |
WO (1) | WO2013069245A1 (es) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6080375B2 (ja) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2013150215A (ja) | 2012-01-20 | 2013-08-01 | Fujitsu Ltd | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
PL3448029T3 (pl) | 2012-01-30 | 2021-12-20 | Samsung Electronics Co., Ltd. | Sposób i urządzenie do kodowania i dekodowania wideo w oparciu o dane hierarchiczne z uwzględnieniem predykcji parametrów kwantyzacji |
JP6080405B2 (ja) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
CN104581158B (zh) * | 2013-10-16 | 2019-02-26 | 中兴通讯股份有限公司 | 量化表、图像压缩处理方法、装置、终端及图像搜索系统 |
JP6395219B2 (ja) | 2015-01-27 | 2018-09-26 | 日本電気株式会社 | ネットワークシステム |
JP6065090B2 (ja) * | 2015-11-09 | 2017-01-25 | 富士通株式会社 | 動画像復号装置、動画像復号方法、動画像復号プログラム |
JP2016054514A (ja) * | 2015-11-09 | 2016-04-14 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム |
JP6317720B2 (ja) * | 2015-11-09 | 2018-04-25 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム |
EP3244610A1 (en) * | 2016-05-12 | 2017-11-15 | Thomson Licensing | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data |
CN106791408A (zh) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | 一种拍摄预览装置、终端及方法 |
JP6311821B2 (ja) * | 2017-04-18 | 2018-04-18 | 富士通株式会社 | 動画像処理装置及び動画像処理方法 |
CN109246431B (zh) * | 2017-07-10 | 2021-06-04 | 北京君正集成电路股份有限公司 | 一种基于量化参数配置的视频编码方法、装置和电子设备 |
KR102566836B1 (ko) * | 2018-03-29 | 2023-08-16 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 병렬 코딩 기능들 향상을 위한 컨셉 |
JP6982253B2 (ja) | 2018-10-31 | 2021-12-17 | 日本電信電話株式会社 | 復号装置、符号化装置、復号方法、符号化方法、及びプログラム |
WO2020213963A1 (ko) | 2019-04-17 | 2020-10-22 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
CN111726626B (zh) * | 2020-06-18 | 2022-05-03 | 格兰菲智能科技有限公司 | 集成电路及用于视频解码的概率表存储方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2911468B2 (ja) * | 1989-02-21 | 1999-06-23 | キヤノン株式会社 | 記憶装置及び再生装置 |
KR0170937B1 (ko) * | 1994-12-14 | 1999-03-20 | 배순훈 | 영상 데이타 부호화 장치 |
KR100468844B1 (ko) * | 2002-01-07 | 2005-01-29 | 삼성전자주식회사 | 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법 |
AU2003285850A1 (en) * | 2002-04-23 | 2004-04-30 | Nokia Corporation | Method and device for indicating quantizer parameters in a video coding system |
JP3679083B2 (ja) | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
US9219917B2 (en) * | 2005-01-19 | 2015-12-22 | Thomson Licensing | Method and apparatus for real time parallel encoding |
DE602006020556D1 (de) * | 2005-04-01 | 2011-04-21 | Panasonic Corp | Bilddecodierungsvorrichtung und bilddecodierungsverfahren |
JP2007089035A (ja) * | 2005-09-26 | 2007-04-05 | Toshiba Corp | 動画像符号化方法、装置及びプログラム |
US20070086528A1 (en) * | 2005-10-18 | 2007-04-19 | Mauchly J W | Video encoder with multiple processors |
PT2950544T (pt) * | 2006-01-09 | 2019-07-10 | Hans Georg Musmann | Codificação adaptativa do erro de predição em codificação de vídeo híbrida |
KR100772873B1 (ko) * | 2006-01-12 | 2007-11-02 | 삼성전자주식회사 | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 |
US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
JP4735375B2 (ja) * | 2006-04-04 | 2011-07-27 | 株式会社日立製作所 | 画像処理装置及び動画像符号化方法。 |
US8000388B2 (en) | 2006-07-17 | 2011-08-16 | Sony Corporation | Parallel processing apparatus for video compression |
US7460725B2 (en) * | 2006-11-09 | 2008-12-02 | Calista Technologies, Inc. | System and method for effectively encoding and decoding electronic information |
JP2008193627A (ja) * | 2007-01-12 | 2008-08-21 | Mitsubishi Electric Corp | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法 |
JP5026092B2 (ja) | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
RU2420023C1 (ru) | 2007-03-13 | 2011-05-27 | Нокиа Корпорейшн | Система и способ кодирования и декодирования видеосигналов |
US8724698B2 (en) * | 2007-04-13 | 2014-05-13 | Apple Inc. | Method and system for video rate control |
JP4835554B2 (ja) | 2007-09-06 | 2011-12-14 | ソニー株式会社 | 符号化装置及び方法、復号装置及び方法、並びにプログラム |
US8204327B2 (en) * | 2007-10-01 | 2012-06-19 | Cisco Technology, Inc. | Context adaptive hybrid variable length coding |
US8542730B2 (en) * | 2008-02-22 | 2013-09-24 | Qualcomm, Incorporated | Fast macroblock delta QP decision |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
JP5756921B2 (ja) * | 2008-06-10 | 2015-07-29 | パナソニックIpマネジメント株式会社 | 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法、プログラムおよび集積回路 |
EP2286595A1 (en) * | 2008-06-16 | 2011-02-23 | Dolby Laboratories Licensing Corporation | Rate control model adaptation based on slice dependencies for video coding |
JP5241622B2 (ja) * | 2008-07-02 | 2013-07-17 | キヤノン株式会社 | 符号化装置および符号化方法 |
JP5341104B2 (ja) * | 2008-12-08 | 2013-11-13 | パナソニック株式会社 | 画像復号化装置および画像復号化方法 |
JP5604825B2 (ja) * | 2009-08-19 | 2014-10-15 | ソニー株式会社 | 画像処理装置および方法 |
US8879623B2 (en) * | 2009-09-02 | 2014-11-04 | Sony Computer Entertainment Inc. | Picture-level rate control for video encoding a scene-change I picture |
US20110090952A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Directional Transforms for Video and Image Coding |
US8718149B2 (en) * | 2009-10-29 | 2014-05-06 | Panasonic Corporation | Image coding method and image decoding method |
KR101279507B1 (ko) * | 2009-12-15 | 2013-06-28 | 한국전자통신연구원 | 병렬 처리 기반 파이프라인 복호화 장치 및 방법 |
JP5914962B2 (ja) * | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
KR20110126417A (ko) | 2010-05-17 | 2011-11-23 | 삼성전기주식회사 | 저항기 및 저항기 형성방법 |
JP5875236B2 (ja) * | 2011-03-09 | 2016-03-02 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9521418B2 (en) * | 2011-07-22 | 2016-12-13 | Qualcomm Incorporated | Slice header three-dimensional video extension for slice header prediction |
US9077998B2 (en) * | 2011-11-04 | 2015-07-07 | Qualcomm Incorporated | Padding of segments in coded slice NAL units |
EP2779648A4 (en) * | 2011-11-07 | 2016-06-01 | Panasonic Ip Corp America | PICTURE CODING METHOD, PICTURE DECODING METHOD, PICTURE CODING DEVICE, PICTURE DECODING DEVICE, AND PICTURE CODING / DECODING DEVICE |
JP6080375B2 (ja) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2013102297A (ja) * | 2011-11-07 | 2013-05-23 | Canon Inc | 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム |
JP2013150215A (ja) * | 2012-01-20 | 2013-08-01 | Fujitsu Ltd | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
PL3448029T3 (pl) * | 2012-01-30 | 2021-12-20 | Samsung Electronics Co., Ltd. | Sposób i urządzenie do kodowania i dekodowania wideo w oparciu o dane hierarchiczne z uwzględnieniem predykcji parametrów kwantyzacji |
JP6080405B2 (ja) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9350970B2 (en) * | 2012-12-14 | 2016-05-24 | Qualcomm Incorporated | Disparity vector derivation |
JP2016506195A (ja) * | 2013-01-07 | 2016-02-25 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 3次元ビデオ符号化の深度から視差ベクトルを導出する方法および装置 |
US10721471B2 (en) * | 2017-10-26 | 2020-07-21 | Intel Corporation | Deep learning based quantization parameter estimation for video encoding |
-
2012
- 2012-04-10 JP JP2012089552A patent/JP6080375B2/ja active Active
- 2012-11-05 HR HRP20231736TT patent/HRP20231736T1/hr unknown
- 2012-11-05 PT PT202057873T patent/PT3806466T/pt unknown
- 2012-11-05 WO PCT/JP2012/007065 patent/WO2013069245A1/en active Application Filing
- 2012-11-05 RS RS20231270A patent/RS65025B1/sr unknown
- 2012-11-05 HR HRP20231357TT patent/HRP20231357T1/hr unknown
- 2012-11-05 CN CN201710680729.1A patent/CN107396120B/zh active Active
- 2012-11-05 BR BR122019025424-9A patent/BR122019025424B1/pt active IP Right Grant
- 2012-11-05 CN CN201710680518.8A patent/CN107396119B/zh active Active
- 2012-11-05 US US14/356,506 patent/US10070129B2/en active Active
- 2012-11-05 KR KR1020177002011A patent/KR101799248B1/ko active IP Right Grant
- 2012-11-05 HU HUE20205785A patent/HUE064820T2/hu unknown
- 2012-11-05 BR BR112014010898-6A patent/BR112014010898B1/pt active IP Right Grant
- 2012-11-05 RU RU2016116007A patent/RU2634212C1/ru active
- 2012-11-05 PL PL20205787.3T patent/PL3806466T3/pl unknown
- 2012-11-05 EP EP20205785.7A patent/EP3806465B1/en active Active
- 2012-11-05 PT PT202057824T patent/PT3806464T/pt unknown
- 2012-11-05 BR BR122019025427-3A patent/BR122019025427B1/pt active IP Right Grant
- 2012-11-05 KR KR1020187020887A patent/KR101962396B1/ko active IP Right Grant
- 2012-11-05 RU RU2014123374/08A patent/RU2586024C2/ru active
- 2012-11-05 BR BR122019025425-7A patent/BR122019025425B1/pt active IP Right Grant
- 2012-11-05 CN CN201280054786.4A patent/CN103931187B/zh active Active
- 2012-11-05 HU HUE20205782A patent/HUE064821T2/hu unknown
- 2012-11-05 KR KR1020147015322A patent/KR101645830B1/ko active IP Right Grant
- 2012-11-05 PL PL20205782.4T patent/PL3806464T3/pl unknown
- 2012-11-05 RS RS20230969A patent/RS64714B1/sr unknown
- 2012-11-05 ES ES19151520T patent/ES2861801T3/es active Active
- 2012-11-05 HR HRP20231737TT patent/HRP20231737T1/hr unknown
- 2012-11-05 ES ES12801780T patent/ES2725559T3/es active Active
- 2012-11-05 PL PL12801780T patent/PL2777275T3/pl unknown
- 2012-11-05 ES ES20205785T patent/ES2964924T3/es active Active
- 2012-11-05 CN CN201710680762.4A patent/CN107371031B/zh active Active
- 2012-11-05 KR KR1020167010847A patent/KR101700889B1/ko active IP Right Grant
- 2012-11-05 PL PL20205785.7T patent/PL3806465T3/pl unknown
- 2012-11-05 TR TR2019/05906T patent/TR201905906T4/tr unknown
- 2012-11-05 PT PT202057857T patent/PT3806465T/pt unknown
- 2012-11-05 ES ES20205787T patent/ES2956216T3/es active Active
- 2012-11-05 EP EP20205787.3A patent/EP3806466B1/en active Active
- 2012-11-05 ES ES20205782T patent/ES2961824T3/es active Active
- 2012-11-05 HU HUE12801780A patent/HUE043263T2/hu unknown
- 2012-11-05 KR KR1020177002010A patent/KR101803020B1/ko active IP Right Grant
- 2012-11-05 CN CN201710680761.XA patent/CN107529058B/zh active Active
- 2012-11-05 EP EP20205782.4A patent/EP3806464B1/en active Active
- 2012-11-05 HU HUE19151520A patent/HUE053341T2/hu unknown
- 2012-11-05 KR KR1020197022475A patent/KR102047640B1/ko active IP Right Grant
- 2012-11-05 EP EP12801780.3A patent/EP2777275B1/en active Active
- 2012-11-05 HU HUE20205787A patent/HUE063705T2/hu unknown
- 2012-11-05 KR KR1020177033981A patent/KR101882157B1/ko active IP Right Grant
- 2012-11-05 RS RS20231271A patent/RS65026B1/sr unknown
- 2012-11-05 PL PL19151520T patent/PL3499893T3/pl unknown
- 2012-11-05 KR KR1020197008121A patent/KR102007713B1/ko active IP Right Grant
- 2012-11-05 CN CN201710680730.4A patent/CN107360428B/zh active Active
- 2012-11-05 EP EP19151520.4A patent/EP3499893B1/en active Active
-
2014
- 2014-05-28 IN IN4001CHN2014 patent/IN2014CN04001A/en unknown
-
2017
- 2017-01-19 JP JP2017007750A patent/JP6410853B2/ja active Active
- 2017-07-05 US US15/642,185 patent/US10110897B2/en active Active
- 2017-10-02 RU RU2017134031A patent/RU2668729C1/ru active
-
2018
- 2018-07-19 US US16/040,371 patent/US10609369B2/en active Active
- 2018-07-19 US US16/040,368 patent/US10582199B2/en active Active
- 2018-09-25 JP JP2018178356A patent/JP6591020B2/ja active Active
- 2018-09-25 RU RU2018133687A patent/RU2695531C1/ru active
- 2018-09-25 JP JP2018178351A patent/JP6591018B2/ja active Active
- 2018-09-25 JP JP2018178355A patent/JP6591019B2/ja active Active
-
2019
- 2019-07-11 RU RU2019121671A patent/RU2718424C1/ru active
- 2019-09-18 JP JP2019169905A patent/JP2019213232A/ja active Pending
-
2020
- 2020-02-24 US US16/799,431 patent/US11064198B2/en active Active
- 2020-03-17 RU RU2020111040A patent/RU2746746C1/ru active
-
2021
- 2021-04-09 RU RU2021109864A patent/RU2758583C1/ru active
- 2021-06-02 JP JP2021092736A patent/JP7102586B2/ja active Active
- 2021-06-25 US US17/359,096 patent/US11647190B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2964924T3 (es) | Aparato de codificación de imagen, procedimiento de codificación de imagen, aparato de descodificación de imagen, procedimiento de descodificación de imagen y programa |