ES2908152T3 - Procedimiento de decodificación de imágenes - Google Patents
Procedimiento de decodificación de imágenes Download PDFInfo
- Publication number
- ES2908152T3 ES2908152T3 ES12804632T ES12804632T ES2908152T3 ES 2908152 T3 ES2908152 T3 ES 2908152T3 ES 12804632 T ES12804632 T ES 12804632T ES 12804632 T ES12804632 T ES 12804632T ES 2908152 T3 ES2908152 T3 ES 2908152T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- context
- unit
- current block
- flag
- 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
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/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/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/103—Selection of coding mode or of prediction mode
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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)
Abstract
Un procedimiento de decodificación para decodificar un parámetro de control para controlar la decodificación de una imagen, comprendiendo el procedimiento de decodificación: determinar un contexto para un bloque actual (C) en la imagen, de entre una pluralidad de contextos; realizar decodificación aritmética (S210) en un flujo de bits (124) correspondiente al bloque actual (C) usando el contexto determinado; y obtener el parámetro de control que se utiliza para decodificar el bloque actual (C) binarizando inversamente (S212) una secuencia binaria (251) obtenida por decodificación aritmética (S210) del flujo de bits (124), en el que la determinación incluye al menos uno de: determinar (S206) un contexto para una bandera de división comparando ambas profundidades jerárquicas para un bloque izquierdo (A) y un bloque superior (B) con la profundidad jerárquica del bloque actual (C), el bloque izquierdo (A) es un bloque vecino a la izquierda del bloque actual (C), y el bloque superior (B) es un bloque vecino en la parte superior del bloque actual (C), el indicador de división que indica si el bloque actual (C) está dividido en una pluralidad de bloques; y determinar (S206) un contexto para una bandera de omisión utilizando ambas banderas de omisión decodificadas para el bloque izquierdo (A) y el bloque superior (B), indicando la bandera de omisión si el bloque actual (C) es o no un bloque omitido para el que no se transmiten datos residuales de un vector de movimiento que indiquen una diferencia entre un vector de movimiento que se utilizará y su predicción, en el que la determinación incluye, además determinar (S208) un contexto predeterminado fijo para una bandera de fusión sin utilizar ninguna de las banderas de fusión decodificadas para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto predeterminado fijo para un índice de imagen de referencia sin utilizar ninguno de los índices de imagen de referencia decodificados para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto predeterminado fijo para una bandera residual sin utilizar ninguna de las banderas residuales decodificadas para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto predeterminado fijo para la información de predicción de croma intra sin usar ninguna de la información de predicción de croma intra decodificada para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto predeterminado fijo para una parámetro de diferencia sin utilizar ninguno de los parámetros de diferencia decodificadas para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto para cbf_luma usando una profundidad jerárquica del bloque actual sin usar ninguno de los cbf_luma decodificados para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto para cbf_cb o cbf_cr usando una profundidad jerárquica del bloque actual sin usar ninguno de los cbf_cb o cbf_cr decodificados para el bloque izquierdo (A) y el bloque superior (B); y determinar (S208) un contexto para una información de interpredicción utilizando una profundidad jerárquica del bloque actual, sin utilizar ninguna de la información de interpredicción decodificada para el bloque izquierdo (A) y el bloque superior (B); indicando el indicador de combinación si se utiliza o no un modo de combinación para predecir el bloque actual (C), el bloque actual se decodifica basándose en una predicción usando un vector de movimiento y el índice de imagen de referencia que se copian de un bloque vecino en el modo de fusión, el índice de imagen de referencia que indica una imagen de referencia utilizada para predecir el bloque actual (C), indicando el indicador residual si los datos del coeficiente de luminancia y los datos del coeficiente de crominancia están incluidos en el bloque actual (C), indicando la información de predicción de croma intra un modo de predicción de croma intra utilizado para la predicción intra de croma del bloque actual (C), indicando el parámetro de diferencia una diferencia entre un vector de movimiento y un predictor de vector de movimiento del bloque actual (C), indicando el "cbf_luma" si un bloque de transformación luma del bloque actual contiene o no uno o más niveles de coeficiente de transformación no iguales a 0, indicando el "cbf_cb" si un bloque de transformación Cb del bloque actual contiene o no uno o más niveles de coeficiente de transformación no iguales a 0, indicando el "cbf_cr" si un bloque de transformación Cr del bloque actual contiene o no uno o más niveles de coeficiente de transformación no iguales a 0, y la información de inter-predicción que indica cuál de uni-predicción y bi-predicción se utiliza para el bloque actual.
Description
DESCRIPCIÓN
Procedimiento de decodificación de imágenes
fCampo técnico]
La presente invención se refiere a un procedimiento de decodificación de imágenes y, en particular, a un procedimiento de decodificación de imágenes que utiliza codificación aritmética o decodificación aritmética.
fAntecedentes de la técnica]
Las señales de imagen natural tienen variaciones estadísticas que muestran un comportamiento no estacionario. Uno de los procedimientos de codificación de entropía que usa variaciones estadísticas no estacionarias es la Codificación Aritmética Binaria Adaptativa Basada en Contexto (CABAC) (ver NPL 1). La CABAC se emplea como el estándar ITU-T/ISOIEC para codificación de vídeo, H.264/AVC.
El significado de los términos usados en el esquema CABAC se describirá más adelante en el presente documento.
(1) "Adaptativo Basado en el Contexto" significa adaptar los procedimientos de codificación y decodificación a las variaciones estadísticas. En otras palabras, "Adaptativo Basado en el Contexto" significa predecir una probabilidad apropiada como probabilidad de ocurrencia de un símbolo junto con un evento de condiciones circundantes, cuando el símbolo está codificado o decodificado. En la codificación, cuando se determina una probabilidad de ocurrencia p(x) de cada valor de un símbolo S, se aplica una probabilidad de ocurrencia condicional usado un evento real o una secuencia de eventos F(z) como una condición.
(2) "Binario" significa la representación de un símbolo usando una secuencia binaria. Un símbolo representado por un valor múltiple se asigna una vez a una secuencia binaria denominada "cadena binaria". Una probabilidad predicha (probabilidad condicional) se conmuta y se usa para cada uno de los elementos de secuencia, y la ocurrencia de uno de los eventos de los dos valores se representa mediante una secuencia de bits. Por consiguiente, la probabilidad de un valor se puede gestionar (inicializar y actualizar) usando una unidad (unidad de elemento binario) más pequeña que una unidad de un tipo de señal (ver Fig. 2 y otras de NPL 1).
(3) "Aritmética" significa que la secuencia de bits se genera no con referencia a las correspondencias en una tabla sino mediante el cálculo. En el esquema de codificación que usa las tablas de códigos de longitud variable tal como H.263, MPEG-4 y H.264, incluso cada valor de un símbolo con una probabilidad de ocurrencia mayor que 0,5 (50 %) debe asociarse con una secuencia binaria (secuencia de bits). De este modo, un valor con la mayor probabilidad debe asociarse con un bit para un símbolo como mínimo. Por el contrario, la codificación aritmética puede representar la ocurrencia de un evento con una probabilidad mayor por un número entero igual o menor que un bit. Cuando (i) hay un tipo de señal en la cual la probabilidad de ocurrencia de tener el primer valor binario como 0 excede 0,9 (90 %) y (ii) un evento que tiene el primer valor binario como 0 ocurre sucesivamente N veces, no es necesario generar datos de 1 bit N veces para cada valor de "0".
ILista de citas]
Referencias no de patente]
[NPL 1] Detlev Marpe, y col., "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and systems for video technology, Vol. 13, No.7, julio de 2003.
[NPL 2] Equipo Conjunto de Colaboración sobre Codificación de Vídeo (JCT-VC) de la CE 16 DEL UIT-T WP3 e ISO/IEC JTC1/SC29/WG11, 5a Reunión: Ginebra, CH, 16-23 de marzo de 2011, JCTVC-E603, ver.7, "WD3: Working Draft 3 of High-Efficiency Video Coding", http://phenix.intevry.fr/jct/doc_end_user/documents/5_Geneva/wg 11JCTVC-E603-v7.zip
[NPL 3] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 4th Meeting: Daegu, KR, 20-28 de enero de 2011, "Common test conditions and software reference configurations", JCTVC-E700
[NPL 4] Gisle Bjcntegaard, "Improvements of the BD-PSNR model", ITU-T SG16 Q.6 Document, VCEG-AI11, Berlín, julio de 2008
rSumario de la invención]
Problem a técnico]
En tal procedimiento de decodificación de imágenes, se desea reducir el uso de memoria (capacidad de memoria a usar).
En este punto, la presente invención tiene un objeto de proporcionar un procedimiento de codificación de imágenes o un procedimiento de decodificación de imágenes que pueda reducir el uso de memoria.
rSolución al problema]
Esto se logra mediante las características de la reivindicación 1.
rEfectos ventajosos de la invención]
La presente invención puede proporcionar un procedimiento de decodificación de imágenes que puede reducir el uso de memoria.
La invención se define en la reivindicación adjunta. Cualquier ejemplo y realización de la descripción que no pertenece al ámbito de la reivindicación no forman parte de la invención y se proporciona únicamente para fines de ilustración.
[Breve descripción de los dibujos]
[FIG. 1] La FIG. 1 es un diagrama de bloques funcional de un aparato de codificación de imagen de acuerdo con la realización 1.
[FIG. 2] La FIG. 2 es un diagrama de bloques funcional de una unidad de codificación de longitud variable de acuerdo con la realización 1.
[FIG. 3] La FIG. 3 es una tabla de un modelo de contexto de un parámetro de control de acuerdo con la realización 1.
[FIG. 4] La FIG. 4 es un diagrama de flujo que indica un procedimiento de codificación aritmética de acuerdo con la realización 1.
[FIG. 5] La FIG. 5 es un diagrama de bloques funcional de un aparato de decodificación de imagen de acuerdo con la realización 2.
[FIG. 6] La FIG. 6 es un diagrama de bloques funcional de una unidad de decodificación de longitud variable de acuerdo con la realización 2.
[FIG. 7] La FIG. 7 es un diagrama de flujo que indica un procedimiento de decodificación aritmética de acuerdo con la realización 2.
[FIG. 8] La FIG. 8 es un diagrama de flujo que indica una modificación del procedimiento de decodificación aritmética de acuerdo con la realización 2.
[FIG. 9A] La FIG. 9A ilustra la información de mapeo y la asignación de índices de contexto de acuerdo con la realización 2.
[FIG. 9B] La FIG. 9B ilustra bloques divididos (una estructura de árbol) de acuerdo con HEVC de acuerdo con la realización 2.
[FIG. 10] La FIG. 10 ilustra una estructura de bloques multicapa de acuerdo con la realización 2.
[FIG. 11] La FIG. 11 ilustra un procedimiento de decodificación aritmética para split_coding_unit_flag de acuerdo con la realización 3.
[FIG. 12A] La FIG. 12A es una tabla que indica el resultado de la verificación en split_coding_unit_flag de acuerdo con la realización 3.
[FIG. 12B] La FIG. 12B es una tabla que indica el resultado de la verificación en split_coding_unit_flag de acuerdo con la realización 3.
[FIG. 13] La FIG. 13 ilustra un procedimiento de decodificación aritmética para skip_flag de acuerdo con la realización 3.
[FIG. 14A] La FIG. 14A es una tabla que indica el resultado de la verificación en skip_flag de acuerdo con la realización 3.
[FIG. 14B] La FIG. 14B es una tabla que indica el resultado de la verificación en skip_flag de acuerdo con la realización 3.
[FIG. 15] La FIG. 15 es una tabla que indica un procedimiento de decodificación aritmética para merge_flag de acuerdo con la realización 3.
[FIG. 16A] La FIG. 16A es una tabla que indica el resultado de la verificación en merge_flag de acuerdo con la realización 3.
[FIG. 16B] La FIG. 16B es una tabla que indica el resultado de la verificación en merge_flag de acuerdo con la realización 3.
[FIG. 17] La FIG. 17 es una tabla que indica un procedimiento de decodificación aritmética para ref_idx de acuerdo con la realización 3.
[FIG. 18A] La FIG. 18A es una tabla que indica el resultado de la verificación en ref_idx de acuerdo con la realización 3.
[FIG. 18B] La FIG. 18B es una tabla que indica el resultado de la verificación en ref_idx de acuerdo con la realización 3.
[FIG. 18C] La FIG. 18C es una tabla que indica un modelo de contexto para ref_idx de acuerdo con la realización 3.
[FIG. 18D] La FIG. 18D es una tabla que indica un modelo de contexto para ref_idx de acuerdo con la realización 3.
[FIG. 19] La FIG. 19 es una tabla que indica un procedimiento de decodificación aritmética para inter_pred_flag de acuerdo con la realización 3.
[FIG. 20A] La FIG. 20A es una tabla que indica el resultado de la verificación en inter_pred_flag de acuerdo con
la realización 3.
[FIG. 20B] La FIG. 20B es una tabla que indica el resultado de la verificación en inter_pred_flag de acuerdo con la realización 3.
[FIG. 21] La FIG. 21 es una tabla que indica un procedimiento de decodificación aritmética para mvd de acuerdo con la realización 3.
[FIG. 22A] La FIG. 22A es una tabla que indica el resultado de la verificación en mvd de acuerdo con la realización 3.
[FIG. 22B] La FIG. 22B es una tabla que indica el resultado de la verificación en mvd de acuerdo con la realización 3.
[FIG. 22C] La FIG. 22C es una tabla que indica un modelo de contexto para mvd de acuerdo con la realización 3.
[FIG. 22D] La FIG. 22D es una tabla que indica un modelo de contexto para mvd de acuerdo con la realización 3.
[FIG. 23A] La FIG. 23A es una tabla que indica un procedimiento de decodificación aritmética para no_residual_data_flag de acuerdo con la realización 3.
[FIG. 23B] La FIG. 23B es una tabla que indica una sintaxis para no_residual_data_flag de acuerdo con la realización 3.
[FIG. 24A] La FIG. 24A es una tabla que indica el resultado de la verificación en no_residual_data_flag de acuerdo con la realización 3.
[FIG. 24B] La FIG. 24B es una tabla que indica el resultado de la verificación en no_residual_data_flag de acuerdo con la realización 3.
[FIG. 25A] La FIG. 25A es una tabla que indica un procedimiento de decodificación aritmética para intra_chroma_pred_mode de acuerdo con la realización 3.
[FIG. 25B] La FIG. 25B es una tabla que indica un procedimiento para determinar IntraPredModeC basado en intra_chroma_pred_mode, de acuerdo con la realización 3.
[FIG. 26A] La FIG. 26A es una tabla que indica el resultado de la verificación en intra_chroma_pred_mode de acuerdo con la realización 3.
[FIG. 26B] La FIG. 26B es una tabla que indica el resultado de la verificación en intra_chroma_pred_mode de acuerdo con la realización 3.
[FIG. 27] La FIG. 27 es una tabla que indica un procedimiento de decodificación aritmética para cbf_luma(cr,cb) de acuerdo con la realización 3.
[FIG. 28A] La FIG. 28A es una tabla que indica el resultado de la verificación en cbf_luma(cr,cb) de acuerdo con la realización 3.
[FIG. 28B] FIG. 28B es una tabla que indica un resultado de la verificación en cbf_luma (cr, cb) de acuerdo con la realización 3.
[FIG. 29A] La FIG. 29A es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 29B] La FIG. 29B es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 30A] La FIG. 30A es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 30B] La FIG. 30B es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 31A] La FIG. 31A es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 31B] La FIG. 31B es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 32A] La FIG. 32A es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 32B] La FIG. 32B es un gráfico que indica el resultado de la verificación de acuerdo con la realización 3.
[FIG. 33A] La FIG. 33A es una tabla que indica un ejemplo de un conjunto de parámetros de acuerdo con la realización 3.
[FIG. 33B] La FIG. 33B es una tabla que indica un resultado de la verificación de acuerdo con la realización 3.
[FIG. 34A] La FIG. 34A es una tabla que indica un ejemplo de un conjunto de parámetros de acuerdo con la realización 3.
[FIG. 34B] La FIG. 34B es una tabla que indica un resultado de la verificación de acuerdo con la realización 3.
[FIG. 35] La FIG. 35 ilustra modelos de contexto usando valores de parámetros de control correspondientes a dos bloques vecinos de acuerdo con las realizaciones.
[FIG. 36] La FIG. 36 ilustra el aumento en el uso de memoria cuando se usa un bloque superior de acuerdo con las realizaciones.
[FIG. 37] La FIG. 37 ilustra una configuración global de un sistema de suministro de contenido para implementar servicios de distribución de contenido.
[FIG. 38] La FIG. 38 ilustra una configuración global de un sistema de difusión digital.
[FIG. 39] La FIG. 39 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
[FIG. 40] La FIG. 40 que ilustra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información desde y en un medio de grabación que es un disco óptico.
[FIG. 41] La FIG. 41 ilustra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
[FIG. 42A] La FIG. 42A ilustra un ejemplo de un teléfono celular.
[FIG. 42B] La FIG. 42B ilustra un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
[FIG. 43] La FIG. 43 ilustra una estructura de datos multiplexados.
[FIG. 44] La FIG. 44 ilustra esquemáticamente cómo se multiplexa cada flujo en datos multiplexados.
[FIG. 45] La FIG. 45 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes PES en más detalle.
[FIG. 46] La FIG. 46 ilustra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
[FIG. 47] La FIG. 47 ilustra una estructura de datos de una PMT.
[FIG. 48] La FIG. 48 ilustra una estructura interna de información de datos multiplexados.
[FIG. 49] La FIG. 49 ilustra una estructura interna de información de atributo de flujo.
[FIG. 50] La FIG. 50 ilustra etapas para identificar datos de vídeo.
[FIG. 51] La FIG. 51 es un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para implementar el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento de acuerdo con cada una de las realizaciones.
[FIG. 52] La FIG. 52 ilustra una configuración para conmutar entre frecuencias de accionamiento.
[FIG. 53] La FIG. 53 ilustra etapas para identificar datos de vídeo y conmutación entre frecuencias de accionamiento.
[FIG. 54] La FIG. 54 ilustra un ejemplo de una tabla de búsqueda en la que los estándares de datos de vídeo están asociados con las frecuencias de accionamiento.
[FIG. 55A] La FIG. 55A ilustra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal.
[FIG. 55B] La FIG. 55B ilustra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señal.
D escripción de las realizaciones!
(Conocimiento en el que se basa la presente invención)
Los presentes inventores han encontrado los siguientes problemas.
En la Codificación de Vídeo de Alta Eficiencia (HEVC) que es un esquema de codificación de vídeo de siguiente generación, se está estudiando el modelo de contexto en la codificación y decodificación de diversos parámetros de control (NPL 2). El parámetro de control se incluye en un flujo de bits codificado y es un parámetro (bandera, etc.) usado en el procesamiento de codificación o decodificación. Más específicamente, el parámetro de control es un elemento de sintaxis.
El modelo de contexto es información que indica (i) qué condición se considera para (ii) una señal de qué unidad (cada elemento de un multivalor, un valor binario, una secuencia binaria (cadena binaria). En este punto, "qué condición" indica qué condición con el número de elementos condicionales se aplica o qué tipo de señal de un parámetro de control se considera apropiada. Como las condiciones se dividen en categorías más pequeñas, es decir, conforme el número de condiciones t aumenta, disminuye el número de casos que son válidos para las condiciones. Como resultado, ya que el número de entrenamientos disminuye, la precisión de la probabilidad predicha disminuye (por ejemplo, ver "efecto de dilución" en NPL 1).
Adicionalmente, la disminución en el número de condiciones indica que no se considera un contexto (condiciones circundantes) y que no se adapta a las variaciones estadísticas.
Al diseñar un modelo de contexto, después de determinar una directriz para diseñar el modelo, es necesario considerar la validez del modelo realizando verificaciones especializadas para una imagen, tales como las verificaciones de variaciones estadísticas en los detalles de una imagen y en el parámetro de control para controlar la codificación y decodificación de una imagen.
En H.264, el uso de eventos avanzados de un número limitado para codificar un símbolo es un criterio de una regla, y los modelos de contexto se clasifican en cuatro tipos básicos de diseño.
El primer y segundo tipo se refieren a la codificación y decodificación de un parámetro de control.
El primer modelo de contexto usa valores codificados de hasta dos valores codificados vecinos (ver NPL 1). Aunque la definición de los dos valores codificados vecinos depende de cada tipo de señal, normalmente, se usan los valores de los parámetros de control correspondientes incluidos en los bloques vecinos a la izquierda y la parte superior del bloque actual.
El segundo tipo de modelos de contexto es un tipo para determinar un contexto basado en un árbol binario como probabilidad de ocurrencia. Más específicamente, el segundo tipo de modelos de contexto se aplica a los parámetros de control mb_type y sub_mb_type.
El tercer y cuarto tipo de modelos de contexto se refieren a la codificación y decodificación de valores residuales (datos residuales), tal como datos de imagen. El tercer tipo usa solo los valores codificados o decodificados anteriores en el orden de exploración de los coeficientes de frecuencia (o coeficientes cuantizados). El cuarto tipo determina un contexto de acuerdo con los valores decodificados y acumulados (niveles).
Las ventajas del principio de diseño y la implementación del modelo de transición de probabilidad en H.264, tal como el primer tipo, han sido estudiados durante mucho tiempo y se aplicarán a HEVC que se está estudiando (ver NPL 2). Por ejemplo, el primer tipo (modelo de contexto que usa elementos de sintaxis vecinos) se está estudiando para
usarse para los parámetros de control alf_cu_flag, split_coding_unit_flag, skip_flag, merge_flag, ¡ntra_chroma_pred_mode, inter_pred_flag, ref_idx_lc, ref_idx_I0, ref_idx_I1, mvd_I0, mvd_I1, mvd_Ic, no_residual_data_flag, cbf_luma, cbf_cb, y cbf_cr (ver 9.3.3.1.1 de NPL 2).
Sin embargo, los presentes inventores han encontrado que existe un problema en el uso de la memoria al codificar usando el "modelo de contexto que usa los dos bloques vecinos" del primer tipo.
La FIG. 35 ilustra modelos de contexto usando valores de parámetros de control correspondientes a los dos bloques vecinos. Adicionalmente, La FIG. 35 ilustra los modelos de contexto usando los bloques vecinos en H. 264.
El bloque C en la FIG. 35 incluye un valor de un parámetro de control SE a codificar y decodificar actualmente. Cuando el valor del parámetro de control SE está codificado, se usan valores de los parámetros de control SE del mismo tipo incluidos en el bloque superior A y el bloque izquierdo B que ya están codificados. Más específicamente, la probabilidad p(x) que indica si el valor x del parámetro de control SE del bloque C (o el primer valor binario de la cadena binaria del parámetro de control SE) es 1 o 0 se predice basándose en una probabilidad condicional p(x| (condición A (valor del bloque superior) y condición B (valor del bloque izquierdo)) usando, como condiciones, el valor del parámetro de control SE del bloque superior A y el valor del parámetro de control SE del bloque izquierdo B.
La FIG. 36 ilustra el aumento en el uso de memoria cuando se usa un bloque superior.
En la FIG. 36, (xP, yP) es una posición de un píxel superior izquierdo de una unidad de predicción (PU, unidad de predicción de movimiento) que incluye el bloque C. Aquí, el bloque C es un bloque que incluye un parámetro de control (por ejemplo, skip_flag) actualmente a codificar. Adicionalmente, (xP, yA) en la FIG. 36 es una posición de un píxel que se incluye en el bloque B y se usa como condición A (valor del parámetro de control skip_flag del bloque superior). Adicionalmente, (xL, yP) en la FIG. 36 es una posición de un píxel que se incluye en el bloque A y se usa como condición B (valor del parámetro de control skip_flag del bloque izquierdo).
Para codificar o decodificar el valor del parámetro de control skip_flag del bloque C, el aparato de codificación o el aparato de decodificación necesita mantener el valor de skip_flag de PU (o un resultado de la determinación de una condición) correspondiente a la posición (xP, yA) incluido en el bloque superior B y la posición (xL, yP) incluido en el bloque izquierdo A. Asumiendo que la imagen tiene un ancho horizontal de 4096 píxeles, para codificar un parámetro de control skip_flag, es necesario mantener todos los valores de determinación incluidos en la fila superior (Línea L en la FIG. 36). En otras palabras, un parámetro de control necesita la capacidad de memoria obtenida por 4096 píxeles/tamaño de bloque.
En este punto, el bloque C a codificar tiene tamaños variables, por ejemplo, 64 x 64, 16 x 16, o 4 x 4. Adicionalmente, el tamaño de bloque del bloque C a codificar o decodificar más tarde no se puede predecir cuando los bloques en la fila superior (Línea L) que incluyen (xP, yA) están codificados o decodificados. Esto se debe a que el tamaño de cada uno de los bloques en la fila inferior (fila que incluye el bloque C) no se conoce cuando la fila superior (fila que incluye el bloque A) se codifica o decodifica. De este modo, el aparato de codificación o el aparato de decodificación necesita mantener un valor de un parámetro de control (o valor de determinación) para cada tamaño mínimo de bloque, asumiendo que el tamaño de bloque más pequeño de entre todos los tamaños aplicados a los parámetros de control se usa como el tamaño de bloque de la fila inferior. Las posiciones de los círculos negros en la FIG. 36 indican las condiciones que deben cumplirse, aunque los valores condicionales no son realmente necesarios cuando la fila inferior (fila que incluye el bloque C) se codifica y decodifica.
Adicionalmente, los dos bloques vecinos en la FIG. 36 (el bloque izquierdo A y el bloque superior B) siguen el concepto de los bloques vecinos en H.264, y no se introduce una nueva perspectiva sobre la división de los bloques jerárquicos. Como se describe a continuación, hay casos en que tales valores condicionales a los que se hace referencia en la FIG. 36 no siempre tiene sentido para parámetros de control adaptados a la división recursiva de cuatro árboles a introducir en h Ev C, porque los parámetros de control siguen el orden de ejecución recursivo, la profundidad jerárquica, o las posiciones de los bloques.
En consecuencia, los presentes inventores han encontrado que el uso de la memoria aumenta al usar los valores condicionales de los bloques superiores al realizar la codificación o decodificación aritmética en los parámetros de control. Adicionalmente, los presentes inventores han encontrado que el uso de memoria aumenta aún más en HEVC.
Por el contrario, el procedimiento de decodificación de imágenes de acuerdo con un ejemplo es un procedimiento de decodificación de imágenes que usa decodificación aritmética, y el procedimiento incluye: determinar un contexto para su uso en un bloque actual, de entre una pluralidad de contextos; realizar una decodificación aritmética en una secuencia de bits correspondiente al bloque actual, usando el contexto determinado para decodificar una secuencia binaria, siendo la secuencia de bits obtenida realizando una codificación aritmética en un parámetro de control del bloque actual; e inversamente binarizando la secuencia binaria para decodificar el parámetro de control del bloque actual, en el que la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición en la que se usan parámetros de control decodificados de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, los bloques vecinos son un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto bajo una segunda condición
de que el parámetro de control decodificado del bloque superior no se usa, cuando el tipo de señal es un segundo tipo diferente del primer tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag", y el segundo tipo es (i) "merge_flag", (ii) "ref_idx_I0" o "ref_idx_I1", (iii) "inter_pred_flag", (iv) "m vd j0 " o "mvd_I1", (v) "no_residual_data_flag", (vi) "intra_chroma_pred_mode", (vii) "cbf_luma" y (viii) "cbf_cb" o "cbf_cr".
Con la estructura, el procedimiento de decodificación de imagen puede reducir el uso de memoria. Más específicamente, en el procedimiento de decodificación de imagen, como el parámetro de control del bloque superior no se usa para un parámetro de control del segundo tipo, no es necesario mantener el parámetro de control del segundo tipo del bloque superior. Con la estructura, en comparación con el caso en que el bloque izquierdo y el bloque superior se usan de manera uniforme "usando un modelo de contexto basado en valores de parámetros de control de bloques vecinos", el uso de memoria puede reducirse de acuerdo con el procedimiento de decodificación de imagen. Adicionalmente, el procedimiento de decodificación de imagen puede reducir adecuadamente el uso de memoria del parámetro de control del segundo tipo sin, por ejemplo, fracasando en la evaluación de una tasa BD de una imagen.
Adicionalmente, de acuerdo con el procedimiento de decodificación de imagen, se puede usar el contexto apropiado para una estructura de árbol jerárquica que es una estructura de datos que no se considera en e1H.264 convencional y que es única para el nuevo estándar HEVC. Como alternativa, se puede realizar una referencia de memoria.
Adicionalmente, la segunda condición puede ser una condición en las que no se usan los parámetros de control decodificados del bloque izquierdo y del bloque superior.
Con la estructura, el procedimiento de decodificación de imagen puede reducir el uso de memoria al no usar el parámetro de control del bloque izquierdo además del parámetro de control del bloque superior.
Adicionalmente, en la determinación de un contexto, se puede determinar un contexto predeterminado bajo la segunda condición, como el contexto para su uso en la decodificación aritmética del bloque actual, cuando el tipo de señal es el segundo tipo.
Con la estructura, el procedimiento de decodificación de imagen puede reducir la cantidad de procesamiento.
Adicionalmente, la determinación de un contexto puede incluir, además: determinar si el parámetro de control decodificado del bloque superior está disponible o no en la decodificación, basándose en una posición del bloque actual; y determinar el contexto bajo la segunda condición, cuando el parámetro de control decodificado del bloque superior no está disponible.
Con la estructura, el procedimiento de decodificación de imagen puede reducir la cantidad de procesamiento.
Adicionalmente, en la determinación de un contexto, se puede determinar que el parámetro de control decodificado del bloque superior no está disponible, cuando el bloque actual está en un límite de corte.
Adicionalmente, en la determinación de un contexto, se puede determinar si el parámetro de control decodificado del bloque superior está o no está disponible, de acuerdo con una profundidad jerárquica de una unidad de datos a la que pertenece el parámetro de control del bloque actual.
Adicionalmente, el segundo tipo puede ser un parámetro de control que tiene una estructura de datos predeterminada.
Adicionalmente, la determinación de un contexto puede incluir además determinar un contexto de un parámetro de control de una segunda unidad más pequeña que una primera unidad al conmutar entre la primera condición y la segunda condición, basándose en un parámetro de control de la primera unidad.
Adicionalmente, "split_coding_unit_flag" puede indicar si el bloque actual está o no dividido en una pluralidad de bloques, "skip_flag" puede indicar si se debe omitir o no el bloque actual, "merge_flag" puede indicar si se usa o no un modo de fusión para el bloque actual, el "ref_idx_I0" puede indicar un índice de imagen de referencia de una lista 0 para el bloque actual, el "ref_idx_I1" puede indicar un índice de imagen de referencia de una lista 1 para el bloque actual, el "inter_pred_flag" puede indicar uno de unipredicción y bipredicción a usar para el bloque actual, el "mvd_I0" puede indicar una diferencia entre un componente de vector de movimiento de la lista 0 y un valor predicho del componente de vector de movimiento, usándose el componente del vector de movimiento y el valor predicho para el bloque actual, el "mvd_I1" puede indicar una diferencia entre un componente de vector de movimiento de la lista 1 y un valor predicho del componente de vector de movimiento, usándose el componente del vector de movimiento y el valor predicho para el bloque actual, el "no_residual_data_flag" puede indicar si existen o no datos residuales para el bloque actual, el "intra_chroma_pred_mode" puede indicar un modo de intrapredicción para una muestra de croma del bloque actual, el "cbf_luma" puede indicar si un bloque de transformación de luma del bloque actual contiene o no uno o varios niveles de coeficientes de transformación que no son iguales a 0, el "cbf_cb" puede indicar si un bloque de transformación Cb del bloque actual contiene o no uno o varios niveles de coeficiente de transformación que no es igual a 0, y el "cbf_cr" puede indicar si un bloque de transformación Cr del bloque actual contiene o no uno o varios niveles de coeficientes de transformación no iguales a 0.
Adicionalmente, los procedimiento de decodificación de acuerdo con un primer estándar y los procedimientos de decodificación de acuerdo con un segundo estándar pueden conmutarse de acuerdo con un identificador que indica uno del primer estándar y del segundo estándar, siendo el identificador incluido en una señal codificada y la determinación de un contexto, la ejecución y la binarización inversa se pueden realizar como los procedimientos de decodificación de acuerdo con el primer estándar, cuando el identificador indica el primer estándar.
Adicionalmente, el procedimiento de codificación de imagen de acuerdo con un ejemplo Z es un procedimiento de codificación de imágenes que usa codificación aritmética, y el procedimiento incluye: binarizar un parámetro de control de un bloque actual para generar una secuencia binaria; determinar un contexto para su uso en el bloque actual, de entre una pluralidad de contextos; y realizar una codificación aritmética en la secuencia binaria usando el contexto determinado para generar una secuencia de bits, en el que la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición en la que se usan parámetros de control de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, los bloques vecinos son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que el parámetro de control del bloque superior no se usa, cuando el tipo de señal es un segundo tipo diferente del primer tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag", y el segundo tipo es (i) "merge_flag", (ii) "ref_idxJ0" o "ref_idxJ1", (iii) "inter_pred_flag", (iv) "mvd_I0" o "mvd_I1", (v) "no_residual_data_flag", (vi) "intra_chroma_pred_mode", (vii) "cbf_luma" y (viii) "cbf_cb" o "cbf_cr".
Con la estructura, el procedimiento de codificación de imagen puede reducir el uso de memoria. Más específicamente, en el procedimiento de codificación de imagen, como el parámetro de control del bloque superior no se usa para un parámetro de control del segundo tipo, no es necesario mantener el parámetro de control del segundo tipo del bloque superior. Con la estructura, en comparación con el caso en que el bloque izquierdo y el bloque superior se usan de manera uniforme "usando un modelo de contexto basado en valores de parámetros de control de bloques vecinos", el uso de memoria puede reducirse de acuerdo con el procedimiento de codificación de imagen. Adicionalmente, el procedimiento de codificación de imagen puede reducir adecuadamente el uso de memoria del parámetro de control del segundo tipo sin, por ejemplo, fracasando en la evaluación de una tasa BD de una imagen.
Adicionalmente, de acuerdo con el procedimiento de codificación de imagen, se puede usar el contexto apropiado para una estructura de árbol jerárquica que es una estructura de datos que no se considera en e1H.264 convencional y que es única para el nuevo estándar HEVC. Como alternativa, se puede realizar una referencia de memoria.
Adicionalmente, el aparato de decodificación de imagen de acuerdo con un ejemplo es un aparato de decodificación de imágenes que usa decodificación aritmética, y el aparato incluye: una unidad de control de contexto configurada para determinar un contexto para su uso en un bloque actual, de entre una pluralidad de contextos; una unidad de decodificación aritmética configurada para realizar decodificación aritmética en una secuencia de bits correspondiente al bloque actual, usando el contexto determinado para decodificar una secuencia binaria, siendo la secuencia de bits obtenida realizando una codificación aritmética en un parámetro de control del bloque actual; y una unidad de binarización inversa configurada para binarizar inversamente la secuencia binaria para decodificar el parámetro de control del bloque actual, en el que la unidad de control de contexto está configurada para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición en la que se usan parámetros de control decodificados de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, los bloques vecinos son un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto bajo una segunda condición de que el parámetro de control decodificado del bloque superior no se usa, cuando el tipo de señal es un segundo tipo diferente del primer tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag", y el segundo tipo es (i) "merge_flag", (ii) "ref_idx_I0" o "ref_idx_I1", (iii) "inter_pred_flag", (iv) "mvd_I0" o "mvd_I1", (v) "no_residual_data_flag", (vi) "intra_chroma_pred_mode", (vii) "cbf_luma" y (viii) "cbf_cb" o "cbf_cr".
Con la configuración, el aparato de decodificación de imagen puede reducir el uso de memoria.
Adicionalmente, el aparato de codificación de imágenes de acuerdo con un ejemplo es un aparato de codificación de imagen que usa codificación aritmética, y el aparato incluye: una unidad de binarización configurada para binarizar un parámetro de control de un bloque actual para generar una secuencia binaria; una unidad de control de contexto configurada para determinar un contexto para su uso en el bloque actual, de entre una pluralidad de contextos; y una unidad de codificación aritmética configurada para realizar codificación aritmética en la secuencia binaria usando el contexto determinado para generar una secuencia de bits, en el que la unidad de control de contexto está configurada para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición en la que se usan parámetros de control de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, los bloques vecinos son un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto bajo una segunda condición de que el parámetro de control del bloque superior no se usa, cuando el tipo de señal es un segundo tipo diferente del primer tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag", y el segundo tipo es (i) "merge_flag", (ii) "ref_idx_I0" o "ref_idx_I1", (iii) "inter_pred_flag", (iv) "mvd_I0" o "mvd_I1", (v) "no_residual_data_flag", (vi) "intra_chroma_pred_mode", (vii) "cbf_luma" y (viii) "cbf_cb" o "cbf_cr".
Con la configuración, el aparato de codificación de imagen puede reducir el uso de memoria.
Adicionalmente, el aparato de codificación y decodificación de imágenes de acuerdo con un ejemplo Z es un aparato de codificación y decodificación de imágenes que incluye el aparato de decodificación de imágenes y el aparato de codificación de imágenes.
Los aspectos generales o específicos pueden ser implementados por un sistema, un procedimiento, un circuito integrado, un programa informático, o un medio de grabación, o por una combinación arbitraria del sistema, el procedimiento, el circuito integrado, el programa informático y el medio de grabación.
El aparato de decodificación de imágenes y el aparato de codificación de imágenes de acuerdo con un ejemplo se describirán específicamente con referencia a los dibujos.
Las realizaciones descritas a continuación indican ejemplos específicos de la presente invención. Los valores, formas, materiales, elementos constituyentes, posiciones y conexiones de los elementos constituyentes, etapas y órdenes de las etapas indicados en las realizaciones son ejemplos, y no limitan la presente invención. Los elementos constituyentes de las realizaciones que no se describen en las reivindicaciones independientes que describen el concepto más genérico de la presente invención se describen como elementos constituyentes arbitrarios.
(Realización 1)
Se describirá un aparato de codificación de imágenes de acuerdo con la Realización 1. El aparato de codificación de imagen de acuerdo con la realización 1 determina un contexto cambiando entre (1) usando el bloque superior y (2) sin usar el bloque superior, de acuerdo con un tipo de señal de un parámetro de control en codificación aritmética. Con la estructura, se puede suprimir el deterioro de la calidad de la imagen y reducir el uso de memoria.
En primer lugar, se describirá una configuración del aparato de codificación de imagen de acuerdo con la realización 1.
La FIG. 1 es un diagrama de bloques que ilustra un aparato de codificación de imagen 100 de acuerdo con la realización 1.
El aparato de codificación de imagen 100 en la FIG. 1 es un aparato de codificación de imagen que usa codificación aritmética, y codifica una señal de imagen de entrada 121 para generar un flujo de bits 124. El aparato de codificación de imagen 100 incluye una unidad de control 101, una unidad de sustracción 102, una unidad de transformación y cuantización 103, una unidad de codificación de longitud variable 104, una unidad de cuantización inversa y transformación inversa 105, una unidad de suma 106, una unidad de intrapredicción 107, una unidad de interpredicción 108 y un conmutador 109.
La unidad de control 101 calcula un parámetro de control 130 basándose en la señal de imagen de entrada 121 a codificar. Por ejemplo, el parámetro de control 130 incluye información sobre un tipo de imagen de la señal de imagen de entrada 121 a codificar, un tamaño de una unidad de predicción de movimiento (unidad de predicción, PU) del bloque actual a codificar, e información de control de la unidad de predicción de movimiento. En este punto, el parámetro de control 130 (datos de control) en sí mismo debe codificarse. De este modo, la unidad de control 101 genera el parámetro de control 130 a la unidad de codificación de longitud variable 104.
La unidad de sustracción 102 calcula una señal residual 122 que es una diferencia (valor residual) entre la señal de imagen de entrada 121 y una señal de predicción de imagen 129 basándose en la unidad de bloque.
La unidad de transformación y cuantización 103 transforma la señal residual 122 en valores de coeficiente de frecuencia y cuantiza los valores de coeficiente de frecuencia obtenidos en coeficientes de transformación cuantizados 123 (datos residuales).
La unidad de cuantización inversa y transformación inversa 105 cuantiza inversamente los coeficientes de transformación cuantizados 123 en los valores del coeficiente de frecuencia y transforma inversamente los valores del coeficiente de frecuencia obtenidos en una señal residual decodificada 125.
La unidad de adición 106 añade la señal residual 125 a la señal de predicción de imagen 129, y emite una señal de imagen reconstruida decodificada 126.
La unidad de intrapredicción 107 realiza intrapredicción usando la señal de imagen reconstruida 126 para generar una señal de predicción de imagen 127. La unidad de interpredicción 108 realiza interpredicción usando la señal de imagen reconstruida 126 para generar una señal de predicción de imagen 128.
El conmutador 109 selecciona una de la señal de predicción de imagen 127 y la señal de predicción de imagen 128, y genera la señal seleccionada como la señal de predicción de imagen 129.
La unidad de codificación de longitud variable 104 codifica, usando el CABAC, los coeficientes de transformación cuantizados 123 y el parámetro de control 130 para cada bloque de entrada para generar el flujo de bits 124.
A continuación, se describirá la configuración de la unidad de codificación de longitud variable 104.
La FIG. 2 es un diagrama de bloques funcional de la unidad de codificación de longitud variable 104. La unidad de codificación de longitud variable 104 incluye una unidad de binarización 141, una unidad de control de contexto 142 y una unidad de codificación aritmética binaria 143. A continuación, se describe el procedimiento de codificación de longitud variable en el parámetro de control 130. Aunque se omite la descripción sobre el procedimiento de codificación de longitud variable en los coeficientes de transformación cuantizados 123, el procedimiento puede implementarse, por ejemplo, utilizando una técnica conocida.
La unidad de binarización 141 binariza el parámetro de control 130 para generar una secuencia binaria 151. Más específicamente, la unidad de binarización 141 es una unidad de procesamiento que realiza "II.1) procesamiento de binarización" de acuerdo con NPL 1. La unidad de binarización 141 transforma el parámetro de control 130 en la secuencia binaria 151 denominada "cadena de bin" para cada tipo de señal, de acuerdo con un procedimiento de binarización predeterminado. La correspondencia entre los tipos de señal y los procedimientos de binarización se describirán más adelante. Cuando el parámetro de control de entrada 130 es un valor binario, tal como una bandera, la unidad de binarización 141 genera el parámetro de control 130 como la secuencia binaria 151 tal como es.
La unidad de control de contexto 142 determina un contexto para su uso en la codificación aritmética del parámetro de control 130 incluido en un bloque actual a procesar, de entre una pluralidad de contextos (una tabla de estado de probabilidad). Adicionalmente, la unidad de control de contexto 142 genera un índice de contexto 152 que especifica el contexto determinado a la unidad de codificación aritmética binaria 143.
Más específicamente, la unidad de control de contexto 142 es una unidad de procesamiento que realiza "2) modelado de contexto" de acuerdo con NPL
1. La unidad de control de contexto 142 recibe secuencialmente una pluralidad de elementos incluidos en la secuencia binaria 151 que sale de la unidad de codificación aritmética binaria 143. La unidad de control de contexto 142 selecciona uno de los contextos a utilizar para el binario del parámetro de control 130, de acuerdo con el tipo de señal del parámetro de control 130 y una posición del elemento del binario en la secuencia binaria 151, y genera, a la unidad de codificación aritmética binaria 143, el índice de contexto 152 que es un índice que indica el contexto seleccionado.
Adicionalmente, la unidad de control de contexto 142 sostiene la tabla de valores de estado de probabilidad (valores de índice de contexto) obtenidos dividiendo los elementos en la secuencia binaria del parámetro de control 130 en condiciones de probabilidades condicionales, como estados del contexto, e inicializa y actualiza la tabla de estado de probabilidad.
Adicionalmente, la unidad de control de contexto 142 sostiene un estado (índice de estado de probabilidad) para cada vez que está presente esta condición t (para cada contexto), como una división adicional de un tipo de señal (para cada número de elemento en la secuencia binaria del parámetro de control 130 cuando el número de elementos en la secuencia binaria es dos o más; lo mismo se aplicará de aquí en adelante). El estado se representa mediante el valor total de 7 bits combinando la probabilidad de ocurrencia P (relación interna, típicamente, un valor de 6 bits) que es la probabilidad más baja de uno de los dos valores 0 y 1, y un valor de 1 bit que indica cuál de los valores tiene la probabilidad más alta. Adicionalmente, mantener un estado significa inicializar y actualizar el estado. Por ejemplo, la actualización corresponde a cambiar la indexación que indica un estado de probabilidad actual (es decir, una probabilidad) como una transición entre 64 estados finitos como en H.264.
Cuando ocurre un evento X en el lado más probable que tiene la mayor probabilidad entre los dos valores, se incrementa ligeramente la relación de la probabilidad en el lado más probable. Por ejemplo, la unidad de control de contexto 142 puede aumentar ligeramente la relación de probabilidad en el lado más probable aumentando o disminuyendo, por 1, el valor del índice de estado de probabilidad correspondiente a 64 tablas. Por otro lado, cuando ocurre un evento No X que tiene la probabilidad más baja (contra la probabilidad pronosticada), la unidad de control de contexto 142 disminuye en gran medida la relación de la probabilidad más probable mantenida basándose en un coeficiente de escala predeterminado a (por ejemplo, “ 0,95) (ver Fig. 6 de NPL 1). La unidad de control de contexto 142 de acuerdo con la realización 1 transita y sostiene un estado, basado en un valor de cambio de índice de tabla correspondiente para asociarse con el cambio en consideración de a como en H.264.
La unidad de codificación aritmética binaria 143 realiza la codificación aritmética en la secuencia binaria 151 usando el contexto determinado por la unidad de control de contexto 142 para generar el flujo de bits 124 (secuencia de bits).
Más específicamente, la unidad de codificación aritmética binaria 143 es una unidad de procesamiento que realiza "3) codificación aritmética binaria" de acuerdo con NPL 1. La unidad de codificación aritmética binaria 143 realiza la codificación aritmética en la secuencia binaria 151 usando el contexto específico por el índice de control de contexto 152 para generar el flujo de bits 124. En este punto, la codificación aritmética es manejar eventos que ocurren para los parámetros de control 130 de diversos tipos de señales como una suma acumulativa de probabilidades, y determinar correspondencias entre los eventos al reducir el rango a un rango predeterminado en una línea numérica.
En primer lugar, la unidad de codificación aritmética binaria 143 divide la línea de un número en dos medias secciones, de acuerdo con las probabilidades de ocurrencia de dos valores posibles del binario, dados desde la unidad de control de contexto 142. Cuando el valor real que ocurre para el binario (por ejemplo, 0) es un valor con
una probabilidad más alta (que excede 0,5 (por ejemplo, 0,75)), la unidad de codificación aritmética binaria 143 mantiene el límite inferior "Bajo" en el rango en la línea numérica sin cambio, y establece un valor correspondiente al resultado de multiplicar una vez un coeficiente de escala 0,95 por la probabilidad 0,75 esta vez, a un nuevo rango. Por otro lado, cuando el valor binario realmente generado es un valor predicho con una probabilidad menor, la unidad de codificación aritmética binaria 143 desplaza el límite inferior "Bajo" por la probabilidad más alta, y cambia el rango de acuerdo con la probabilidad más baja. Las secciones se mantienen de acuerdo con una suma acumulativa de resultados de multiplicaciones de los rangos de probabilidad. Cuando se produce sucesivamente un valor con una probabilidad menor, la precisión de la longitud del rango pronto se vuelve más baja que la precisión que puede garantizarse mediante un cálculo. En este punto, la unidad de codificación aritmética binaria 143 amplía (renormaliza) el rango para mantener la precisión, y genera la secuencia de bits que indica el rango actual. En cambio, cuando un valor con una probabilidad más alta (0,95, etc.) ocurre sucesivamente, los valores de probabilidad pueden soportar varios cálculos (transiciones de estado en el caso de implementación por una tabla) hasta que la longitud del rango se acorte a una longitud predeterminada incluso con la multiplicación de los valores. De este modo, el número de símbolos que se pueden acumular hasta que se genera el bit son muchos.
La FIG. 3 es una tabla en la que los parámetros de control 130, cada uno de los cuales usa un modelo de contexto basado en un valor del parámetro de control 130 de un bloque vecino, se clasifican.
El significado de cada columna se describirá desde la izquierda de la tabla.
(c2) El tipo de señal (elemento de sintaxis) indica un nombre específico de un tipo de señal del parámetro de control 130. El significado de cada uno de los tipos de señal se describirá más adelante.
(c3) El esquema de binarización indica un esquema de binarización que se aplicará al parámetro de control 130 (SE) especificado en la columna inmediatamente a la izquierda. La unidad de binarización 141 realiza el procedimiento de binarización. En la columna, "Longitud fija" significa que la unidad de binarización 141 genera el valor del parámetro de control 130 en la sección inmediatamente a la izquierda como una secuencia binaria (cadena binaria) de una longitud fija. En HEVC, un tipo de señal del parámetro de control 130 cuyo nombre termina con "bandera" es un valor binario de 0 o 1. De este modo, la unidad de binarización 141 emite solo el primer elemento (binIdx = 0) como el elemento de la secuencia binaria 151, y no emite los elementos después del segundo elemento (binIdx> = 1). En otras palabras, la unidad de binarización 141 genera el valor del parámetro de control 130 como la secuencia binaria 151 tal como es.
Adicionalmente, "Longitud variable" en la columna significa que la unidad de binarización 141 mapea, a una secuencia binaria, el valor del parámetro de control 130 usando secuencias binarias con longitudes variables respectivas cuyos valores están asociados para tener longitudes binarias en orden ascendente de las frecuencias de ocurrencia (cadena binaria o secuencias binarias cada una con el número de elementos > 1), y genera la secuencia binaria. Por ejemplo, la unidad de binarización 141 emplea y genera un esquema de acuerdo con el tipo de señal, tal como un esquema unario (truncado) y una combinación de los esquemas de Golomb unarios y otros exponenciales (ver "A. Binarización" de NPL 1). En el caso de "Longitud variable", el número de elementos de la secuencia binaria 151 a veces se limita a 1, o es igual o mayor que 2. Una unidad de binarización inversa en un aparato de decodificación de imágenes que se describirá más adelante realiza una transformación inversa al esquema de binarización para reconstruir la secuencia binaria de entrada en un multivalor o un valor de bandera.
En cuanto al índice de contexto (c4) del primer elemento (binIdx = 0), la unidad de control de contexto 142 indica la elección de un índice de contexto (incremento) a aplicar al primer elemento incluido en una secuencia binaria generada de acuerdo con el esquema de binarización especificado en la columna de c3. En la columna, "0, 1, 2" indica que la unidad de control de contexto 142 selecciona y aplica una de las tres tablas de estado de probabilidad (contextos). Por ejemplo, se preparan tres índices de contexto con condiciones detalladas para el tipo de señal "skip_flag", es decir, se preparan tres contextos y la codificación aritmética se realiza en los índices de contexto.
De manera similar, "0, 1, 2, 3" en la columna c4 indica que el contexto que se aplicará al primer elemento (binIdx = 0) incluido en la secuencia binaria 151 se selecciona entre uno de los cuatro valores, o 0, 1, 2 o 3. La secuencia binaria 151 se obtiene mediante mapeo, a una secuencia binaria, el valor del parámetro de control 130 del tipo de señal especificado en la columna de c2, de acuerdo con el esquema de binarización en la columna de c3. Las expresiones condicionales en la columna se describirán más adelante.
Con respecto a (c5) Condición del bloque izquierdo L (condl), la unidad de control de contexto 142 indica la condición del bloque izquierdo para seleccionar uno de 0, 1 y 2 en la columna c4. La condición de bloque izquierdo L tiene un valor de verdadero o falso determinado de acuerdo con el valor del parámetro de control del bloque izquierdo correspondiente al parámetro de control a codificar (o decodificar).
Por ejemplo, en el caso donde el parámetro de control (SE) es skip_flag, la condición de bloque izquierdo L tiene el valor verdadero cuando skip_flag [xL] [yL] indica verdadero (por ejemplo, 1), y tiene el valor de falso cuando indica falso (por ejemplo, 0).
Con respecto a (c6) Condición del bloque superior A, la unidad de control de contexto 142 indica la condición de bloque superior para seleccionar uno de 0, 1 y 2 en elementos de codificación o decodificación de una secuencia
especificada en la columna c4. La condición de bloque superior A tiene un valor de verdadero o falso determinado de acuerdo con el valor del parámetro de control del bloque superior correspondiente al parámetro de control a codificar (o decodificar). Por ejemplo, en el caso donde el parámetro de control (SE) es skip_flag, la condición de bloque superior A tiene el valor verdadero cuando skip_flag[xA][yA] indica verdadero (por ejemplo, 1), y tiene el valor de falso cuando indica falso (por ejemplo, 0).
Aunque no se ilustra, el tipo de señal de más de dos bits está asociado con "(c7) Incremento de contexto que se aplicará a binIdx>= 1". Esto (c7) indica el modelo de contexto aplicado por la unidad de control de contexto 142 a un binario después del segundo elemento en la secuencia binaria (valor binario de un elemento de secuencia binaria que incluye un valor de índice de binIdx >= 1).
En el procedimiento de codificación de la realización 1, las siguientes operaciones se conmutan de acuerdo con el tipo de señal del parámetro de control 130 para la condición de bloque izquierdo L y la condición de bloque superior A (operado usando diferentes patrones):
(Patrón 1) Usar dos bloques vecinos (un valor de determinación de la condición de bloque izquierdo L y un valor de determinación de la condición de bloque superior A);
(Patrón 2) Usar un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L); y (Patrón 3) Usar cero bloques vecinos (sin usar un valor de determinación de la condición de bloque izquierdo L ni un valor de determinación de la condición de bloque superior A).
La FIG. 4 es un diagrama de flujo que indica un procedimiento de codificación de imagen de acuerdo con la realización 1 que se realiza mediante la unidad de codificación de longitud variable 104 en la FIG. 2.
En primer lugar, la unidad de binarización 141 mapea el valor del parámetro de control 130 a una secuencia binaria de acuerdo con un esquema correspondiente al tipo de señal del parámetro de control 130 (S101).
A continuación, la unidad de control de contexto 142 obtiene un valor básico de un contexto para su uso en la codificación aritmética del parámetro de control 130 (S102). Por ejemplo, la unidad de control de contexto 142 determina el valor básico de acuerdo con el tipo de imagen (I, P o B).
A continuación, la unidad de control de contexto 142 determina un valor de contexto usando uno de los patrones 1 a 3, basado en el tipo de señal del parámetro de control 130 (S103). En este punto, determinar un valor de contexto es equivalente a determinar un valor de ajuste (valor de incremento CtxIdxInc) para el valor básico del contexto.
En primer lugar, la unidad de control de contexto 142 determina el tipo de señal del parámetro de control 130 (S103). Cuando el tipo de señal del parámetro de control 130 es el primer tipo correspondiente al patrón 1 (el primer tipo en S104), la unidad de control de contexto 142 determina un valor de contexto usando un valor de determinación derivado de los valores de los parámetros de control de dos bloques vecinos (bloque A y bloque B) (S105). En otras palabras, la unidad de control de contexto 142 determina un contexto a condición de que se usen los parámetros de control de los dos bloques vecinos del bloque izquierdo y el bloque superior. En este punto, la unidad de control de contexto 142 usa tanto el resultado de la determinación de (c5) condl como un resultado de la determinación de (c6) condA en la FIG. 3. Por consiguiente, los datos de una fila de imágenes se mantienen para los parámetros de control del primer tipo.
Por otro lado, cuando el tipo de señal del parámetro de control 130 es el segundo tipo correspondiente al patrón 2 (el segundo tipo en S104), la unidad de control de contexto 142 determina un valor de contexto usando un valor de un parámetro de control de un bloque vecino (un bloque inmediatamente adyacente en orden de codificación) (S106). En otras palabras, la unidad de control de contexto 142 determina el valor de contexto a condición de que el parámetro de control del bloque superior no se use.
Por otro lado, cuando el tipo de señal del parámetro de control 130 es el tercer tipo correspondiente al patrón 3 (el tercer tipo en S104), la unidad de control de contexto 142 determina fijamente un valor de contexto sin usar los dos parámetros de control del bloque superior y el bloque izquierdo (S107).
A continuación, la unidad de control de contexto 142 agrega el incremento determinado en la Etapa S103 al valor básico del índice de contexto determinado en la Etapa S102 para determinar un valor de índice de contexto (S108).
Finalmente, la unidad de codificación aritmética binaria 143 realiza la codificación aritmética en el valor binario del primer elemento usando el valor de contexto especificado por el valor de índice de contexto determinado en la Etapa S108 para generar la secuencia de bits (flujo de bits 124) (S109).
A continuación, cuando los procedimientos de las Etapas S102 a S109 no se ejecutan en todos los elementos incluidos en la secuencia binaria (No en S110), la unidad de codificación de longitud variable 104 realiza los procedimientos desde las Etapas S102 a S109 en el siguiente elemento incluido en la secuencia binaria. Por otro lado, cuando los procedimientos de las Etapas S102 a S109 se completan en todos los elementos incluidos en la secuencia binaria (Sí en S110), la unidad de codificación de longitud variable 104 finaliza el procesamiento de codificación en el parámetro de control del bloque actual.
Como se ha descrito anteriormente, el aparato de codificación de imagen 100 de acuerdo con la realización 1 determina un contexto usando el bloque superior para realizar la codificación aritmética en el parámetro de control del primer tipo, y determina un contexto sin usar el bloque superior para los parámetros de control del segundo y tercer tipo.
En comparación con el caso en que el bloque izquierdo y el bloque superior se usan de manera uniforme "usando un modelo de contexto basado en valores de parámetros de control de bloques vecinos", el aparato de codificación de imagen 100 puede reducir el uso de memoria con la configuración. De este modo, el aparato de codificación de imagen 100 puede suprimir el deterioro de la calidad de imagen y reducir el uso de memoria.
(Realización 2)
La realización 2 describirá un aparato de decodificación de imagen que decodifica el flujo de bits 124 generado por el aparato de codificación de imágenes 100.
La FIG. 5 es un diagrama de bloques que ilustra un aparato de decodificación de imagen 200 de acuerdo con la realización 2. El aparato de decodificación de imagen 200 es un aparato de decodificación de imagen que usa decodificación aritmética, y decodifica el flujo de bits 124 para generar una señal de imagen 229. En este punto, el flujo de bits 124 es, por ejemplo, generado por el aparato de codificación de imagen 100.
El aparato de decodificación de imagen 200 incluye una unidad de control 201, una unidad de decodificación de longitud variable 202, una unidad de cuantización inversa 204, una unidad de transformación inversa 205, una unidad de suma 206, una unidad de intrapredicción 207, y una unidad de interpredicción 208.
El aparato de decodificación de imagen 200 realiza el procesamiento de decodificación para cada flujo de bits de una unidad de procesamiento predeterminada. La unidad de procesamiento es, por ejemplo, una unidad de corte o una unidad de bloque.
La unidad de decodificación de longitud variable 202 realiza la decodificación aritmética en el flujo de bits 124 para generar un parámetro de control 230 (elemento de sintaxis de datos de control) y coeficientes de transformación cuantizados 223 (valores de elementos de sintaxis de datos residuales). La unidad de control 201 recibe el parámetro de control generado 230.
La unidad de control 201 controla cada una de las unidades de procesamiento incluidas en el aparato de decodificación de imagen 200, de acuerdo con el parámetro de control 230.
La unidad de cuantización inversa 204 cuantiza inversamente los coeficientes de transformación cuantizados 223 en coeficientes de transformación ortogonales 224.
La unidad de transformación inversa 205 transforma inversamente los coeficientes de transformación ortogonal 224 para reconstruir una señal residual 225. La unidad de adición 206 agrega la señal residual 225 a una señal de predicción de imagen (señal de imagen 229) para generar una señal de imagen decodificada 226.
La unidad 207 de intrapredicción realiza intrapredicción usando la señal de imagen decodificada 226 para generar una señal de predicción de imagen 227. La unidad 208 de interpredicción realiza interpredicción usando la señal de imagen decodificada 226 para generar una señal de predicción de imagen 228.
El conmutador 209 selecciona una de la señal de predicción de imagen 227 y la señal de predicción de imagen 228, y genera la señal seleccionada como la señal de imagen 229 (señal de predicción de imagen).
A continuación, se describirá la configuración de la unidad de decodificación de longitud variable 202.
La FIG. 6 es un diagrama de bloques funcional que ilustra una configuración de la unidad de decodificación de longitud variable 202. La unidad de decodificación de longitud variable 202 incluye una unidad de decodificación aritmética binaria 243, una unidad de control de contexto 242 y una unidad de binarización inversa 241. A continuación, se describe el procedimiento de decodificación de longitud variable en el parámetro de control 230. Aunque se omite la descripción sobre el procedimiento de decodificación de longitud variable en los coeficientes de transformación cuantizados 223, el procedimiento puede implementarse, por ejemplo, utilizando una técnica conocida.
La unidad de control de contexto 242 determina un contexto para su uso en la decodificación aritmética del parámetro de control 230 del bloque actual, de entre una pluralidad de contextos. Adicionalmente, la unidad de control de contexto 242 genera un índice de contexto 252 que especifica el contexto determinado a la unidad de decodificación aritmética binaria 243.
Más específicamente, la unidad de control de contexto 242 usa el mismo modelo de contexto que el de la unidad de control de contexto 142 en la FIG. 2 como modelo de transición de probabilidad sostenida. Cuando la unidad de codificación aritmética 143 usa 64 estados de probabilidad, la unidad de decodificación aritmética binaria 243 también sostiene los 64 estados de probabilidad. Esto se debe a que tanto el codificador como el decodificador necesitan
interpretar un rango de la línea numérica que se codificará exactamente de la misma manera. De este modo, el decodificador usa el mismo patrón que el patrón seleccionado por el codificador entre los tres patrones 1 a 3. La unidad de decodificación aritmética 243 realiza la decodificación aritmética en la secuencia de bits (flujo de bits 124) usando el contexto determinado por la unidad de control de contexto 242 para reconstruir la secuencia binaria 251. Más específicamente, la unidad de decodificación aritmética 243 reconstruye la secuencia de bits de entrada en la secuencia binaria 251, de acuerdo con el contexto (tabla de estado de probabilidad) especificado por el índice de contexto dado desde la unidad de control de contexto 242.
La unidad de binarización inversa 241 reconstruye la secuencia binaria 251 en un parámetro de control 230 si es necesario a través del procedimiento de binarización inversa. En consecuencia, la unidad de control de contexto 142 incluida en el aparato de codificación de imagen 100 y la unidad de control de contexto 242 incluida en el aparato de decodificación de imagen 200 usan el mismo modelo de contexto tanto en la codificación aritmética como en la decodificación aritmética de un parámetro de control de un cierto tipo de señal.
La FIG. 7 es un diagrama de flujo que indica un procedimiento de decodificación de imagen de acuerdo con la realización 2 que se realiza mediante la unidad de decodificación de longitud variable 202.
En primer lugar, la unidad de decodificación de longitud variable 202 obtiene el flujo de bits 124 (S201).
A continuación, la unidad de control de contexto 242 determina un tipo de señal de un parámetro de control a decodificar, de acuerdo con la estructura de datos del flujo de bits 124 (S202).
A continuación, la unidad de control de contexto 242 determina un valor básico de un contexto para su uso en la decodificación aritmética del parámetro de control a decodificar (S203). Por ejemplo, la unidad de control de contexto 242 determina el valor básico de acuerdo con el tipo de imagen (I, P o B).
A continuación, la unidad de control de contexto 242 determina un valor de contexto usando uno de los patrones 1 a 3, basado en el tipo de señal del parámetro de control (S204). En este punto, determinar un valor de contexto es equivalente a determinar un valor de ajuste (valor de incremento CtxIdxInc) para el valor básico del contexto. Por ejemplo, la unidad de control de contexto 242 determina estáticamente uno de los patrones 1 a 3 basándose en el tipo de señal del parámetro de control siguiendo una tabla predeterminada.
La unidad de control de contexto 242 cambia entre bloques vecinos para su uso en la determinación de un contexto para obtener un valor binario del primer elemento incluido en la secuencia binaria 251 usando la decodificación aritmética, de acuerdo con el tipo de señal del parámetro de control.
En primer lugar, la unidad de control de contexto 242 determina el tipo de señal del parámetro de control 230 (S205). Cuando el tipo de señal es el primer tipo correspondiente al patrón 1 (el primer tipo en S205), la unidad de control de contexto 242 determina un valor de contexto usando parámetros de control de dos bloques vecinos (S206). En otras palabras, la unidad de control de contexto 242 determina el valor de contexto a condición de que se usen los parámetros decodificados de control de los dos bloques vecinos del bloque izquierdo y el bloque superior.
Por otro lado, cuando el tipo de señal es el segundo tipo correspondiente al patrón 2 (el segundo tipo en S205), la unidad de control de contexto 242 determina un valor de contexto usando un valor de un parámetro de control de un bloque vecino (un bloque inmediatamente adyacente en orden de codificación) (S207). En otras palabras, la unidad de control de contexto 242 determina el valor de contexto a condición de que el parámetro de control del bloque decodificado superior no se use.
Por otro lado, cuando el tipo de señal es el tercer tipo correspondiente al patrón 3 (el tercer tipo en S205), la unidad de control de contexto 242 determina fijamente un valor de contexto (S208). En otras palabras, la unidad de control de contexto 242 determina el valor de contexto a condición de que los parámetros de control decodificados del bloque superior y el bloque izquierdo no se usen.
A continuación, la unidad de control de contexto 242 agrega el incremento determinado en la Etapa S204 al valor básico del índice de contexto determinado en la Etapa S203 para determinar un valor de índice de contexto (S209). A continuación, la unidad de decodificación aritmética binaria 243 determina uno de los elementos de la secuencia binaria a través de la decodificación usando el valor de contexto indicado por el valor de índice de contexto dado desde la unidad de control de contexto 242 (S210).
A continuación, cuando los procedimientos de las Etapas S203 a S210 no se ejecutan en todos los elementos incluidos en la secuencia binaria (No en S211), la unidad de decodificación de longitud variable 202 realiza los procedimientos desde las Etapas S203 a S210 en el siguiente elemento incluido en la secuencia binaria.
Por otro lado, cuando los procedimientos de las Etapas S203 a S210 se completan en todos los elementos incluidos en la secuencia binaria (Sí en S211), la unidad de binarización inversa 241 cambia uno o varios de los elementos de la secuencia binaria 251 obtenida repitiendo los procedimientos desde las Etapas S203 a S210 más de una vez para generar el parámetro de control 230 (S212).
Como se ha descrito anteriormente, el aparato de decodificación de imagen 200 de acuerdo con la realización 2 determina un contexto usando el bloque superior para realizar la decodificación aritmética en el parámetro de control del primer tipo, y determina un contexto sin usar el bloque superior para los parámetros de control del segundo y tercer tipo.
En comparación con el caso en que el bloque izquierdo y el bloque superior se usan de manera uniforme "usando un modelo de contexto basado en valores de parámetros de control de bloques vecinos", el aparato de decodificación de imagen 200 puede reducir el uso de memoria con la configuración. De este modo, el aparato de decodificación de imagen 200 puede suprimir el deterioro de la calidad de imagen y reducir el uso de memoria.
Por ejemplo, cuando la secuencia binaria 251 es una bandera y tiene solo un elemento, es decir, la secuencia binaria 251 se compone de 1 binario, la unidad de binarización inversa 241 puede generar la secuencia binaria 251 tal como es.
Además de la descripción anterior, la unidad de control 101 o 201 puede controlar cada una de las unidades de procesamiento o hacer referencia a un valor de una memoria, a través de una línea de señal que no se ilustra.
Aunque la unidad de control de contexto 142 o 242 cambia entre los tres patrones 1 a 3 de acuerdo con un tipo de señal de un parámetro de control en la descripción anterior, puede conmutar entre dos de los patrones 1 a 3 de acuerdo con el tipo de señal. En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar entre usar y no usar la condición de bloque superior, de acuerdo con un tipo de señal de un parámetro de control.
Adicionalmente, la unidad de control de contexto 142 o 242 puede cambiar un procedimiento para conmutar entre los modelos de contexto seleccionados de tal manera (incluyendo un caso en el que se cambia el incremento del modelo de contexto; lo mismo se aplicará de aquí en adelante) de acuerdo con la información de imagen predeterminada. Por ejemplo, la unidad de control de contexto 142 o 242 puede conmutar aún más la política de cambio en sí misma, de acuerdo con la cantidad de memoria, o el tamaño del ancho horizontal o un formato de muestreo de una imagen que afecta el número de entrenamientos de cada contexto.
Aunque la unidad de control de contexto 142 o 242 cambia entre usar y no usar la condición de bloque superior como la descripción simplificada, la unidad de control de contexto 142 o 242 puede combinar un caso en el que el bloque superior no está disponible para la conmutación y aplicar el caso combinado. Por ejemplo, la unidad de control de contexto 142 o 242 puede cambiar la política de cambio en sí misma, de acuerdo con si un corte a procesar es o no un corte de entropía (entropy_slice_flag indica 1 o 0). De manera similar, cuando no se puede garantizar la disponibilidad del bloque vecino superior, la unidad de control de contexto 142 o 242 puede cambiar la política de conmutación para no usar el bloque superior.
Por ejemplo, como se ilustra en la FIG. 8, la unidad de control de contexto 142 o 242 puede conmutar la política de determinación del modelo de contexto entre el primer criterio de determinación (S302) y el segundo criterio de determinación (S303), de acuerdo con un valor de un parámetro de una unidad predeterminada. En este punto, "de acuerdo con un valor de un parámetro de una unidad predeterminada" significa de acuerdo con si un corte es o no un corte de entropía como se describió anteriormente. Adicionalmente, el primer criterio de determinación es un criterio basado en el cual los procedimientos de la FIG. 7 se realizan. El segundo criterio de determinación es un criterio que excluye la Etapa S204 en la FIG. 7, y es, por ejemplo, un criterio convencional. Esto es equivalente a determinar el incremento del índice de contexto, usando un parámetro de una unidad local predeterminada y un valor de un parámetro de una unidad mayor que la unidad local predeterminada.
En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar de un criterio de determinación que se aplicará a una unidad más pequeña que la primera unidad, a otro criterio de determinación basado en un valor de un parámetro de control de la primera unidad.
FIG. 9A ilustra la información de mapeo y la asignación (atribución) de índices de contexto. La FIG. 9A indica un ejemplo de una señal mvd_I0,I1,Ic. Lo mismo se aplica a los otros tipos de señal.
La Asignación 901B en la FIG. 9A es la asignación de índices de contexto usados en NPL 1. Los 14 valores de desplazamiento de 0 a 13 se asignan a imágenes P. Adicionalmente, los 14 valores de desplazamiento de 14 a 27 se asignan a imágenes B. En este punto, cada uno de mvd_I0[ ][ ][0] and mvd_I0[ ][ ][1] es un valor de componente (direcciones horizontal y vertical) de una diferencia entre vectores. En HEVC que se encuentra actualmente en estudio, tres valores de desplazamiento 0 a 2, tres valores de desplazamiento 7 a 9, tres valores de desplazamiento 14 a 16, y tres valores de desplazamiento 21 a 23 se asignan como valores condicionales de contexto (condiciones que se detallarán de acuerdo con condA y condl) para calcular un binario del primer elemento (binIdx = 0) de una secuencia binaria. Adicionalmente, la relación entre los tipos de señal y los índices de contexto se fija independientemente de varias secuencias de imagen.
Cada una de las asignaciones 902B a 904B de índices de contexto en la FIG. 9A es la asignación de índices de contexto de acuerdo con la realización 2.
La asignación 902B indica la asignación de índices de contexto cuando se usa el patrón 2 (sin usar el bloque
superior). En este punto, no es necesario asignar los tres índices de contexto de 0 a 2 y otros como valores condicionales, pero dos índices de contexto de 0 a 1 son suficientes. Esto se debe a que condA no se usa. De este modo, no es necesario asignar los índices de contexto a las porciones sombreadas en la FIG. 9A. De este modo, incluso cuando se asignan cuatro índices de contexto de la misma manera a un binIdx> 0 como la asignación 901B, 24 índices de contexto de 0 a 23 son suficientes en total. De este modo, se pueden reducir al menos cuatro contextos.
La asignación 903B indica la asignación de índices de contexto cuando se usa el patrón 3 (sin usar el bloque superior ni el bloque izquierdo). En este punto, no es necesario asignar los tres índices de contexto de 0 a 2 y otros como valores condicionales, pero solo un índice de contexto 0 es suficiente. Esto se debe a que no se utiliza condA ni condl. De este modo, no es necesario asignar los índices de contexto a las porciones sombreadas en la FIG. 9A. De este modo, 20 índices de contexto de 0 a 19 son suficientes en total. De este modo, se pueden reducir al menos ocho contextos.
La asignación 904B indica un ejemplo de asignación de índices de contexto cuando se construye una secuencia de imágenes sin incluir ninguna imagen B (cuando solo se usa la referencia directa) como una unidad más grande que una unidad de un bloque del tipo de señal. En tal caso, el índice de contexto para las imágenes B no tiene que usarse en primer lugar.
De este modo, 10 índices de contexto (valores relativos) de 0 a 9 son suficientes como se ilustra en la FIG. 9A. De este modo, se pueden reducir al menos 18 contextos.
Conmutar el criterio como se describe para la FIG. 8 puede implicar la conmutación de una de las asignaciones 901B a 904B a usar, de acuerdo con el tipo de parámetro para toda o una parte de la secuencia de imágenes (unidad predeterminada).
De acuerdo con la realización 2, los índices de contexto asignados de acuerdo con un criterio estático (usando los bloques superior e izquierdo) como se usan convencionalmente se pueden cambiar de acuerdo con los criterios. De este modo, además de la reducción en el uso de memoria, la política de asignación de los contextos puede conmutarse de acuerdo con las características de la unidad predeterminada según sea necesario.
Adicionalmente, la unidad de control de contexto 142 o 242 puede cambiar el criterio de determinación a usar, de acuerdo con las características de un sistema de imagen. Por ejemplo, la unidad de control de contexto 142 o 242 puede cambiar el criterio de determinación a usar, de acuerdo con los intervalos de las imágenes I (valores de configuración de IntraPeriod).
Aunque la unidad de control de contexto 142 o 242 conmuta entre los criterios de determinación de acuerdo con las condiciones anteriores, puede conmutar si se usa o no el bloque superior.
Adicionalmente, la unidad de control de contexto 142 o 242 puede determinar si se usa o no un parámetro de control del bloque superior, de acuerdo con si el parámetro de control del bloque superior está disponible en la codificación o decodificación basándose en una posición del parámetro de control. En otras palabras, la unidad de control de contexto 142 o 242 puede determinar si el parámetro de control del bloque superior está disponible o no en la decodificación, basándose en una posición del bloque actual y determina un contexto usando uno de los patrones 2 y 3 cuando el parámetro de control del bloque superior no está disponible. Adicionalmente, la unidad de control de contexto 142 o 242 puede determinar si un valor de referencia del bloque superior está disponible o no basado en una estructura de árbol para dividir bloques TU, CU o PU. En otras palabras, la unidad de control de contexto 142 o 242 puede determinar si el parámetro de control del bloque superior está disponible o no en la decodificación, de acuerdo con la profundidad jerárquica de una unidad de datos a la que pertenece cada uno de los parámetros de control a procesar.
La FIG. 9B ilustra una relación entre una imagen, cortes y bloques de acuerdo con el estándar HEVC. Una imagen se divide en uno o varios cortes. En el ejemplo de la FIG. 9B, la imagen se divide en dos cortes (CORTE 1 y CORTE 2). Uno de los cortes incluye los bloques 301 (por ejemplo, bloques de árboles). En este punto, el bloque 301 es la unidad más grande como una determinada unidad de control cuando un corte se divide en un tamaño predeterminado, y tiene un tamaño de raíz cuando la unidad está en la raíz en la estructura dividida jerárquicamente.
En el ejemplo de la FIG. 9B, el CORTE 2 comienza desde un bloque 301A, y se compone de una secuencia que incluye bloques en la esquina inferior derecha de la imagen a través de los bloques sombreados 301B y 301C. Uno de los bloques sombreados de la FIG. 9B es un bloque (TreeBlock) a procesar actualmente.
Cada uno de los bloques 301 incluye N x M píxeles. Uno de los bloques 301 está dividido recursivamente dentro (típicamente en cuatro). En otras palabras, un TreeBlock conceptualmente compone un árbol cuádruple. En el bloque 301B en la FIG. 9B, el bloque superior derecho obtenido al dividir el bloque sombreado 301B en cuatro se divide recursivamente en cuatro bloques dos veces. En otras palabras, el bloque 301B incluye 10 unidades lógicas desde la unidad cero-superior hasta la novena unidad inferior derecha que se dividen con una cierta perspectiva.
En este punto, la perspectiva indica el concepto de una pluralidad de árboles que tienen diferentes profundidades con una raíz como punto base, tal como un árbol con respecto a una unidad de codificación (CU) y un árbol con
respecto a residual_data. En este punto, un valor de cada parámetro de control pertenece a uno de los nodos hoja.
En este punto, si un valor de un parámetro de control de cierto tipo de señal incluido en un bloque superior está realmente disponible depende de un tipo de árbol al que pertenece el parámetro de control. De este modo, la unidad de control de contexto 142 o 242 puede cambiar un criterio de determinación de acuerdo con un tipo de árbol al que pertenece el parámetro de control. Este cambio es equivalente al cambio en una unidad de sintaxis. Por ejemplo, la unidad de control de contexto 142 o 242 puede usar el patrón 2 o 3 en el que el bloque superior no se usa para datos de un filtro adaptativo con una estructura de datos tal como alf_param, mientras que puede usar la política del modelo de contexto (patrón 1) para las otras sintaxis como se usa convencionalmente. En otras palabras, el segundo tipo o el tercer tipo puede ser un parámetro de control que tiene una estructura de datos predeterminada. Adicionalmente, esto significa que el criterio de determinación puede cambiarse de acuerdo con el tipo de árbol de un bloque vecino.
Adicionalmente, si el valor del parámetro de control se puede usar realmente o no, o si la ventaja de reducir el uso de memoria difiere dependiendo de la posición de un bloque en la relación jerárquica. En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar entre usar o no usar el bloque superior, de acuerdo con una profundidad de un bloque y una posición jerárquica del bloque.
Por ejemplo, en la FIG. 9B, los números del 0 al 9 en el bloque 301B están en orden de decodificación. En este caso, los parámetros de control de los bloques 1 y 2 están disponibles cuando el bloque 4 se codifica o decodifica.
Adicionalmente, para reducir el uso de memoria, la unidad de control de contexto 142 o 242 puede seleccionar el patrón 1 usando el bloque superior, cuando el bloque no está en una profundidad 0 y la posición propia es uno de los segundos a los elementos subsiguientes en la partición vertical. En este punto, "profundidad" indica la profundidad desde la raíz. En otras palabras, cuando un determinado bloque se define como bloque [xn],[y0][depth], el criterio de determinación puede cambiarse de acuerdo con si el bloque actual satisface o no el block[xn][(y0) 1][depth]. En otras palabras, los bloques superiores se usan para los bloques 4 a 9 en la FIG. 9B. Cuando el árbol se codifica o decodifica en el orden numerado (comenzando desde 0 y terminando en 9), está claro que los bloques 4 a 9 pueden usar los parámetros de control incluidos en los bloques superiores. Adicionalmente, hay una ventaja de que estos bloques solo tienen que contener temporalmente los datos. Adicionalmente, esto indica que el valor del contexto se determina de acuerdo con la posición 3D, incluida la profundidad además de las coordenadas x e y. Asimismo, un valor condicional de un bloque en la capa superior puede usarse (seguido) como un valor condicional de un bloque en la capa inferior.
Adicionalmente, la unidad de control de contexto 142 o 242 puede cambiar estos criterios en consideración de la relación de posición entre el bloque actual y los otros cortes. De aquí en adelante, los tres bloques tramados 301A, 301B y 301C en la FIG. 9B se describirá.
En este punto, el bloque 301A es un bloque de inicio, y tanto el bloque izquierdo como el bloque superior del bloque 301A están incluidos en otro corte. El bloque superior del bloque 301B está incluido en otro corte. Tanto el bloque izquierdo como el bloque superior del bloque 301C están incluidos en el mismo corte que incluye el bloque 301C. La unidad de control de contexto 142 o 242 puede conmutar el criterio de acuerdo con tal condición. En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar el criterio (i) de acuerdo con si el bloque superior está incluido o no en otro corte, (ii) de acuerdo con si el bloque izquierdo está incluido o no en otro corte, o (iii) de acuerdo con ambos (i) y (ii). En otras palabras, la unidad de control de contexto 142 o 242 puede determinar que el parámetro de control del bloque superior no está disponible en la decodificación cuando el bloque actual está en el límite del corte. Por consiguiente, cuando no se completa el procesamiento de decodificación en el CORTE 1 superior, por ejemplo, es posible realizar el procesamiento de decodificación considerando si CORTE 2 puede o no obtener información por sí mismo.
A continuación, se describirá la unidad de procesamiento jerárquico (estructura de bloques multicapa). La FIG. 10 ilustra la unidad de procesamiento jerárquico (estructura de bloque multicapa).
El aparato de codificación de imagen 100 codifica imágenes en movimiento en una por unidad de procesamiento, y el aparato de codificación de imagen 200 decodifica un flujo codificado en una por unidad de procesamiento. La unidad de procesamiento se estratifica dividiendo la unidad de procesamiento en unidades de procesamiento pequeñas y dividiendo aún más las unidades de procesamiento pequeñas en unidades de procesamiento más pequeñas. Como la unidad de procesamiento es más pequeña, la profundidad de la unidad de procesamiento es mayor y es jerárquicamente menor, y el valor que indica la profundidad es mayor. En cambio, como la unidad de procesamiento es más grande, la profundidad de la unidad de procesamiento es menor y es jerárquicamente superior, y el valor que indica la profundidad es menor.
La unidad de procesamiento incluye una unidad de codificación (CU), una unidad de predicción (PU) y una unidad de transformación (TU). Un CU es un bloque de 128 x 128 píxeles como máximo, y es una unidad correspondiente a un macrobloque convencional. Un PU es una unidad básica para la interpredicción. Una TU es una unidad básica para la transformación ortogonal, y tiene un tamaño idéntico al de la PU o mucho más pequeño que la PU. Una CU es, por ejemplo, dividida en 4 subCU, y una de las subCU incluye una PU y una TU que tienen el mismo tamaño que el de la sub-CU (aquí, PU y TU se superponen entre sí). Por ejemplo, la Pu se divide en 4 subPU y la TU se divide
más en 4 subCU. Cuando la unidad de procesamiento se divide en unidades de procesamiento más pequeñas, cada una de las unidades de procesamiento más pequeñas se denomina unidad de subprocesamiento. Por ejemplo, cuando la unidad de procesamiento es una CU, la unidad de subprocesamiento es una subCU. Cuando la unidad de procesamiento es una PU, la unidad de subprocesamiento es una subPU. Adicionalmente, cuando la unidad de procesamiento es una TU, la unidad de subprocesamiento es una subTU.
Más específicamente, a continuación, se indican los detalles.
Una imagen se divide en uno o varios cortes. Un corte es una secuencia de la unidad de codificación más grande. La posición de la unidad de codificación más grande se indica mediante una dirección de la unidad de codificación más grande IcuAddr.
Cada una de las unidades de codificación, incluidas las unidades de codificación más grandes respectivas, se divide en cuatro unidades de codificación. Como resultado, se construye un árbol cuádruple que tiene el tamaño de una CU. La posición de la CU se indica mediante un índice de unidad de codificación cuIdx que tiene una muestra (píxel o coeficientes) en la esquina superior izquierda de la unidad de codificación más grande como punto de partida.
Cuando no se permite la partición de una CU, la CU se maneja como una PU. De manera similar a la CU, la posición de un PU se indica mediante un índice de unidad de predicción puIdx que tiene una muestra en la esquina superior izquierda de la unidad de codificación más grande como punto de partida.
La PU puede incluir particiones (particiones PU o subPU). La partición PU se indica mediante un índice de partición de unidad de predicción puPartIdx que tiene una muestra en la esquina superior izquierda de la PU como punto de partida.
La PU puede incluir TU. De manera similar a la CU, la TU puede dividirse en cuatro TU más pequeñas (subTU). Esto indica el permiso de la división del árbol cuádruple de una señal residual. La posición de la TU se indica mediante un índice de unidad de transformación tuIdx que tiene una muestra en la esquina superior izquierda de la PU como punto de partida.
En este punto, la definición de cada una de las unidades de procesamiento es la siguiente:
CTB (bloque de árbol de codificación): Unidad básica para identificar la división del árbol cuádruple de una región cuadrada. Tener diversos tamaños cuadrados;
LCTB (bloque de árbol de codificación más grande): El CTB más grande permitido en un corte. Un corte incluye una pluralidad de LCTB que no se superponen entre sí;
SCTB (bloque de árbol de codificación más pequeño): El CTB más pequeño permitido en un corte. No se permite la división de un SCTB en CTB más pequeños;
PU (predicción unidad): Unidad básica para identificar el procesamiento de predicciones. Una PU es tan grande como una CU en la que no se permite la división. Aunque se permite dividir una CU en cuatro regiones cuadradas, una PU puede dividirse en una pluralidad de divisiones que tienen cualquier forma;
TU (unidad de transformación): Unidad básica para identificar transformación y cuantización;
CU (unidad de codificación): Igual que CTB;
LCU (unidad de codificación más grande): Igual que la CTB más grande; y
SCU (unidad de codificación más pequeña): Igual que el CTB más pequeño.
Adicionalmente, los parámetros de cuantización incluyen al menos uno de un parámetro de escala de cuantificación delta (delta QP o q P delta), un parámetro de desplazamiento de cuantización, un índice (Q matrix select idc) y un parámetro de desplazamiento de zona muerta de cuantización. El índice es para seleccionar una de las matrices de escala cuantizadas.
El parámetro de escala de cuantización delta (delta QP o QP delta) es una diferencia entre un parámetro de escala de cuantización que se aplicará a los coeficientes de transformación y un parámetro de escala de cuantización especificado por un encabezado de secuencia o un encabezado de corte (o un parámetro de escala de cuantización inmediatamente antes en orden de exploración Z).
El parámetro de desplazamiento de cuantización también se conoce como compensación de cuantización, y es un valor de ajuste (valor de desplazamiento) para redondear una señal al realizar la cuantización. De este modo, cuando el aparato de codificación de imagen 100 realiza la cuantización, codifica el desplazamiento de cuantización. Seguidamente, el aparato de decodificación de imagen 200 decodifica el desplazamiento de cuantización codificado. A continuación, el aparato de decodificación de imagen 200 realiza la corrección usando el desplazamiento de cuantización cuando cuantiza inversamente los coeficientes de transformación.
Un índice (Qmatrix select idc) se denomina matriz de cuantización adaptativa e indica qué matriz de escala de cuantización se usa entre una pluralidad de matrices de escala de cuantización. Adicionalmente, cuando solo hay una matriz de escala de cuantización, Qmatrix select idc indica si se usa o no la matriz de escala de cuantización. La matriz de cuantización adaptativa se puede controlar por unidad de bloque (unidad de procesamiento).
El parámetro de desplazamiento de zona muerta de cuantización se denomina zona muerta adaptativa y es información de control para cambiar adaptativamente una zona muerta por bloque. La zona muerta es un ancho cuyos coeficientes de frecuencia se convierten en 0 por cuantización (último ancho que se convierte en 1 o -1 después de la cuantización).
Aunque un caso en el que el patrón 3 con el que se usa un valor fijo predeterminado como valor de contexto se describe aquí anteriormente, el caso puede realizarse a condición de que los parámetros de control del bloque superior y el bloque izquierdo no se usen, y además a condición de no usar los parámetros de control del bloque superior y el bloque izquierdo como patrón 3. Por ejemplo, la unidad de control de contexto 142 o 242 puede determinar un contexto de acuerdo con la profundidad jerárquica de una unidad de datos a la que pertenece cada uno de los parámetros de control, como el patrón 3.
(Realización 3)
La realización 3 describirá qué tipo de señal debe usarse como el primer tipo y el segundo tipo (o el tercer tipo).
Más específicamente, los presentes inventores han verificado cada uno de los tipos de señal a continuación entre los tipos de señal indicados en la FIG. 3 (Sección 9.3.3.1.1.1 de NPL 2). Cada uno de los tipos de señal ha sido verificado, porque hay diversos parámetros y es difícil predecir si cada patrón de los otros tipos de señal satisface o no la validez, basándose en un resultado de la verificación en uno de los tipos de señal (cuál de los patrones 1 a 3 es apropiado).
La verificación está en conformidad con la estructura (parámetro de configuración y versión de software HM3.0) descrita en JCTVC-E700, "Condiciones de prueba comunes y configuraciones de referencia de software" (ver NPL 3). Adicionalmente, cada una de las imágenes de prueba tiene una longitud limitada a 49 tramas.
El procedimiento de codificación de imagen y el procedimiento de decodificación de imagen de acuerdo con la realización 3 se refieren a CABAC. De este modo, la verificación se realizó usando los siguientes cuatro patrones de prueba que son un conjunto de valores de configuración, cada uno de los cuales indica 1 como el valor del Modo de Símbolo (#0: LCEC, 1:CABAC):
4.1 Intra, ajuste de alta eficiencia;
4.3 Acceso aleatorio, ajuste de alta eficiencia;
4.5 Bajo retraso, ajuste de alta eficiencia; y
4.7 Bajo retraso, ajuste de alta eficiencia (P cortes solo).
La evaluación se realiza basándose en un valor de evaluación llamado "tasa BD" que se usa como un estándar de evaluación usado de manera uniforme para una evaluación de implementación en HEVC. Tasa BD Y, tasa BD U y tasa BD V son tasas BD para un espacio de color YUV y son valores estándar de evaluación. De acuerdo con VCEG-AI11 (NPL 4), la tasa BD es un valor de evaluación obtenido al integrar dos pares de cantidades de código con un resultado de PSNR, y que representa la eficiencia de codificación de acuerdo con la relación de área. Adicionalmente, la tasa BD que indica un valor negativo significa que se ha mejorado la eficiencia de codificación. Los criterios de comparación se basan en un resultado de la salida de un programa de referencia que implementa el patrón 1. Los resultados de los patrones 2 y 3 se muestran con respecto al resultado del patrón 1.
A continuación, se describe el resultado de la verificación en cada uno de los tipos de señal:
(Primera verificación) s p l it_cod i n g_u n it_flag;
(Segunda verificación) skip_flag;
(Tercera verificación) merge_flag;
(Cuarta verificación) ref_idx_I0(I1,Ic);
(Quinta verificación) inter_pred_flag;
(Sexta verificación) mvdj0(I1,Ic);
(Séptima verificación) no_residual_data_flag;
(Fighth verificación) intra_chroma_pred_mode; y
(Novena verificación) cbf_luma, cbf_cr, cbf_cb.
(Primera verificación) split_coding_unit_flag
La FIG. 11 ilustra un procedimiento de decodificación aritmética para split_coding_unit_flag.
La verificación se realiza cambiando el modelo de contexto del patrón 1 al patrón 2 o 3 solo para que se verifique un tipo de señal, sin cambiar el modelo de contexto para los otros tipos de señal y el parámetro de verificación especificado en NPL 3. En la columna de la FIG. 11, el valor de "Fijado" indica que la condición (la condición de bloque izquierdo o la condición de bloque superior) de la columna especificada por "Fijado" no se usa cuando se deriva un valor de contexto (o incremento). En otras palabras, cuando solo una de las condiciones del bloque izquierdo y la condición del bloque superior es "Fijado", solo se usa la otra condición. Adicionalmente, cuando tanto la condición del bloque izquierdo como la condición del bloque superior son "Fijadas", un valor predeterminado (por ejemplo, 0) se usa como un valor de contexto (o incremento).
El significado del tipo de señal "split_coding_unit_flag" se define de la siguiente manera.
split_coding_unit_flag[x0][y0] especifica si una unidad de codificación se divide en unidades de codificación con tamaño medio horizontal y vertical. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen. En otras palabras, "split_coding_unit_flag" indica si la CU de destino se divide o no en cuatro. Más específicamente, la CU de destino se divide cuando split_coding_unit_flag indica 1, mientras que la CU de destino no está dividida cuando split_coding_unit_flag indica 0.
Los datos de split_coding_unit_flag se estructuran en una sintaxis de árbol de codificación como sintaxis. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 12A y 12B son tablas para describir los resultados de la verificación en split_coding_unit_flag.
La FIG. 12A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 12B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 12A y 12B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba.
Adicionalmente, el valor de evaluación está representado por el estándar de evaluación que indica un valor relativo a un valor de evaluación en el caso del patrón 1 en el que se usan tanto el bloque izquierdo como el bloque superior. Más específicamente, cuando el valor de evaluación es positivo, el resultado es inferior al valor de evaluación (tasa BD) en el caso del patrón 1. Adicionalmente, cuando el valor de evaluación es negativo, el resultado es más mejorado que el valor de evaluación en el caso del patrón 1.
El resultado aclara que el patrón 1 es superior como patrón de un modelo de contexto para split_coding_unit_flag. En otras palabras, los valores de evaluación obtenidos por los patrones 2 y 3 son inferiores a los del patrón 1.
De este modo, cuando el tipo de señal de un parámetro de control es split_coding_unit_flag, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 1 que es un patrón convencional de un modelo de contexto, en términos de la tasa BD.
(Segunda verificación) skip_flag
La FIG. 13 ilustra un procedimiento de decodificación aritmética para skip_flag. En este punto, el procedimiento de verificación es el mismo que en la primera verificación.
El significado del tipo de señal "skip_flag" se define de la siguiente manera.
skip_flag[x0][y0] igual a 1 especifica que, para la unidad de codificación actual, al decodificar un corte P o B, no se analizan más elementos de sintaxis, excepto los índices de predicción del vector de movimiento después de skip_flag[x0][y0]. skip_flag [x0][y0] igual a 1 especifica que la unidad de codificación no se debe omitir. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen. En otras palabras, skip_flag indica si se debe omitir o no la CU de destino (se maneja como un bloque omitido).
Los datos de skip_flag se estructuran en una sintaxis de unidad de codificación como sintaxis. En otras palabras, skip_flag se establece para cada CU. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 14A y 14B son tablas para describir los resultados de la verificación en skip_flag.
La FIG. 14A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 14B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 14A y 14B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado aclara que el patrón 1 es superior como patrón de un modelo de contexto para "skip_flag". En otras palabras, los valores de evaluación obtenidos por los patrones 2 y 3 son inferiores a los del patrón 1.
De este modo, cuando el tipo de señal de un parámetro de control es "skip_flag", la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 1 que es un patrón convencional de un modelo de contexto, en términos de la tasa BD.
(Tercera verificación) "merge_flag"
La FIG. 15 es una tabla que indica un procedimiento de decodificación aritmética para merge_flag. En este punto, el procedimiento de verificación es el mismo que el de la primera verificación y el de la segunda verificación.
El significado del tipo de señal "merge_flag" se define de la siguiente manera.
merge_flag[x0][y0] especifica si los parámetros de interpredicción para la unidad de predicción actual se infieren de una división de interpredicción vecina. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen. Cuando merge_flag[x0][y0] no está presente (InferredMergeFlag es igual a 1), se infiere que es igual a 1. En otras palabras, merge_flag[x0][y0] indica si se usa o no un modo de fusión. En este punto, el modo de fusión es un modo en el que un vector de movimiento y un índice de imagen de referencia se copian de un bloque vecino del bloque actual a codificar y el bloque actual se codifica.
Los datos de merge_flag se estructuran en una unidad de predicción como una sintaxis. En otras palabras, merge_flag se establece para cada PU. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 16A y 16B son tablas para describir los resultados de la verificación en merge_flag.
La FIG. 16A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 16B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 16A y 16B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para merge_flag.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es merge_flag. En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es merge_flag. En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye "merge_flag". Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
Cuando el patrón 2 se compara con el patrón 3 para merge_flag, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para merge_flag. Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
En este punto, en comparación con merge_flag y skip_flag, aunque los datos residuales de un vector de movimiento no se transmiten en un modo de omisión, los datos residuales del vector de movimiento se transmiten en modo de fusión. Por consiguiente, incluso cuando el contexto a usar temporalmente no sea óptimo para merge_flag, el deterioro de la calidad de imagen causado por no usar el contexto óptimo puede compensarse en cierta medida con el procesamiento utilizando los datos residuales. Por consiguiente, se suprime el deterioro de la calidad de la imagen.
(Cuarta verificación) "ref_idx_I0(I1,Ic)"
La FIG. 17 es una tabla que indica un procedimiento de decodificación aritmética para ref_idx. En este punto, el procedimiento de verificación es el mismo que el de la primera verificación y el de la segunda verificación.
El significado del tipo de señal "ref_idx" se define de la siguiente manera.
ref_idx_I0[x0][y0] especifica el índice de imagen de referencia de la lista 0 para la unidad de predicción actual. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen.
Adicionalmente, ref_idx_I1[x0][y0] tiene la misma semántica que I0 y la lista 0 reemplazada por I1 y la lista 1 en refref_idx_I0. En otras palabras, ref_idx_l1 indica un índice de imagen de referencia para la lista 1 de la PU actual.
La presencia o ausencia de ref_idx_I1 se puede determinar basándose en, por ejemplo, un tipo de imagen.
Adicionalmente, ref_idx_Ic[ x0 ][ y0 ] tiene la misma semántica que ref_idx_I0, con I0 y la lista 0 reemplazada por lc
y combinación de lista, respectivamente. El ref_idx_lc es un parámetro de control agregado en HAVC. Adicionalmente, la combinación de la lista se obtiene combinando (fusionando) la lista 0 y la lista 1. Normalmente, un flujo de bits incluye solo uno de ref_idx_I0, ref_idx_I1 y ref_idx_Ic. Hay casos en los que el flujo de bits incluye solo uno o ambos de ref_idx_I0 y ref_idx_I1.
Los datos de ref_idx_I0(I1,Ic) se estructuran en una unidad de predicción como una sintaxis. En otras palabras, merge_flag se establece para cada PU. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 18A y 18B son tablas para describir los resultados de la verificación en ref_idx.
La FIG. 18A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 18B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 18A y 18B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para ref_idx.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es ref_idx_I0(I1,lc). En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es ref_idx_I0(I1,lc). En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye "ref_idx_I0(I1,lc)". Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
En este punto, el segundo tipo o el tercer tipo solo debe incluir al menos uno de ref_idx_I0, ref_idx_I1 y ref_idx_lc. Por ejemplo, el segundo tipo o el tercer tipo pueden incluir ref_idx_I0 y ref_idx_I1 sin incluir ref_idx_lc.
Cuando el patrón 2 se compara con el patrón 3 para ref_idx, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para ref_idx_I0(I1, Ic). Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
En este punto, ref_idx se usa en el modo de interpredicción normal que no es un modo de omisión ni un modo de fusión. Aunque el mismo vector de movimiento para el bloque superior y el bloque izquierdo se utiliza como vector de movimiento del bloque actual en el modo de omisión y el modo de fusión, un vector de movimiento diferente al del bloque superior y el bloque izquierdo se usa como un vector de movimiento del bloque actual en el modo de interpredicción normal diferente del modo de salto y el modo de fusión. Por consiguiente, la eficiencia de codificación disminuye usando el bloque superior y el bloque izquierdo para ref_idx como en el patrón 1. En otras palabras, es posible mejorar la eficiencia de codificación usando el patrón 2 o 3 para ref_idx.
En este punto, la unidad de control de contexto 142 o 242 puede usar un valor derivado de un resultado de condl y un resultado de condA para ref_idx_I0[xP][yP] del bloque actual, en lugar de usar ref_idx_lc[xL][yP] del bloque vecino A o ref_idx_lc[xP][yA] del bloque vecino B, al determinar una condición A (o L) para ref_idx_lc [xP][yP]. En otras palabras, la unidad de control de contexto 142 o 242 puede derivar un valor resultante de la condición como un valor dependiente de los valores de los bloques actuales i0 y I1.
Un aparato de codificación o un aparato de grabación genera ref_idx_lc combinando ref_idx_I0 y ref_idx_I1 en la grabación o codificación de un flujo. En otras palabras, ref_idx_I0 y ref_idx_I1 se utilizan para cada determinación dentro de estos aparatos. De este modo, (1) cuando una condición condA o L {(ref_idx_I0 está disponible) y (true se mantiene si ref_idx_I0 > 0)} y (2) la condición condA o L {(ref_idx_I1 está disponible) y (true se mantiene si ref_idx_I1 > 0)} se mantienen en el bloque actual, la condición condA o L {(ref_idx_lc está disponible) y (true se mantiene si ref_idx_lc > 0) se mantiene.
De este modo, se puede realizar lo siguiente. La FIG. 18C es una tabla que indica la condición A y la condición L para ref_idx como se indica en NPL 2. La FIG. 18D es una tabla que indica la condición A y la condición L para ref_idx de acuerdo con la realización 3.
Como se indica en la FIG. 18D, las unidades de control de contexto 142 y 242 pueden derivar los valores condicionales de condl y condA para ref_idx_Ic de al menos uno de los valores condicionales de ref_idx_I0 y ref_idx_I1 en el mismo bloque. En otras palabras, la unidad de control de contexto 142 y 242 puede hacer que los valores condicionales de condl y condA para ref_idx_lc dependan linealmente de los valores condicionales de
ref_idx_I0 y ref_idx_I1 en el mismo bloque.
Por consiguiente, ref_idx_lc no necesita referencia de memoria. En otras palabras, el valor condicional para ref_idx_lc se puede derivar sin hacer referencia al valor de ref_idx_lc para el bloque superior.
(Quinta verificación) "inter_pred_flag"
La FIG. 19 es una tabla que indica un procedimiento de decodificación aritmética para inter_pred_flag.
El significado del tipo de señal "inter_pred_flag" se define de la siguiente manera.
inter_pred_flag[x0][y0] especifica si se usa unipredicción o bipredicción para la unidad de predicción actual de acuerdo con la Tabla 711. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen. En este punto, unipredicción es predicción usando lc (combinación de listas), y bipredicción es predicción usando la lista 0 y la lista 1. Adicionalmente, la combinación de la lista se obtiene combinando (fusionando) la lista 0 y la lista 1. Adicionalmente, inter_pred_flag se usa solo cuando el corte actual es un corte B.
Los datos de inter_pred_flag se estructuran en una unidad de predicción como una sintaxis. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 20A y 20B son tablas para describir los resultados de la verificación en inter_pred_flag.
La FIG. 20A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 20B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 20A y 20B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para inter_pred_flag.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es inter_pred_flag. En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es inter_pred_flag. En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye "inter_pred_flag". Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
Cuando el patrón 2 se compara con el patrón 3 para inter_pred_flag, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para inter_pred_flag. Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
En este punto, inter_pred_flag se usa en el modo de interpredicción normal que no es un modo de omisión ni un modo de fusión. Aunque el mismo vector de movimiento para el bloque superior y el bloque izquierdo se utiliza como vector de movimiento del bloque actual en el modo de omisión y el modo de fusión, un vector de movimiento diferente al del bloque superior y el bloque izquierdo se usa como un vector de movimiento del bloque actual en el modo de interpredicción normal diferente del modo de salto y el modo de fusión. Por consiguiente, la eficiencia de codificación disminuye usando el bloque superior y el bloque izquierdo para inter_pred_flag como en el patrón 1. En otras palabras, es posible mejorar la eficiencia de codificación usando el patrón 2 o 3 para inter_pred_flag.
Adicionalmente, como se ha descrito anteriormente, es posible mejorar aún más la eficiencia de codificación determinando un valor de contexto de acuerdo con la profundidad del bloque actual para inter_pred_flag.
(Sexta verificación) "mvd_I0(I1,Ic)"
La FIG. 21 es una tabla que indica un procedimiento de decodificación aritmética para mvd_I0(I1,Ic). En este punto, el procedimiento de verificación es el mismo que el de la primera verificación y el de la segunda verificación.
El significado del tipo de señal "mvd_I0 (I1,lc)" se define de la siguiente manera.
mvd_I0[x0][y0][compIdx] especifica la diferencia entre un componente de vector de lista 0 a usar y su predicción. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen. La diferencia del
componente del vector de movimiento horizontal se asigna compIdx = 0 y el componente del vector de movimiento vertical se asigna compIdx = 1. Cuando alguno de los dos componentes no está presente, el valor inferido es 0. En otras palabras, mvd_l0 representa una diferencia entre un vector de movimiento en una posición PU (xP, yP) y el vector predicho, usando un primer componente (componente horizontal compIdx = 0) y un segundo componente (componente vertical compIdx = 1).
mvd_l1[x0][y0][compIdx] tiene la misma semántica que l0 y la lista 0 reemplazada por l1 y la lista 1 en mvd_l0, respectivamente. La presencia o ausencia de mvd_l1 se puede determinar basándose en un tipo de imagen y otros.
Adicionalmente, mvd_lc[x0][y0][compIdx] tiene la misma semántica que mvd_l0, con l0 y lista 0 reemplazado por Ic y combinación de lista, respectivamente. En otras palabras, mvd_lc se genera combinando mvd_l0 y mvd_l1.
El término "mvd" incluye al menos mvd_l0 e incluye al menos uno de mvd_l1 y mvd_lc de acuerdo con una condición de una imagen.
Los datos de mvd se estructuran en una unidad de predicción como una sintaxis. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 22A y 22B son tablas para describir los resultados de la verificación en mvd.
La FIG. 22A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 22B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 22A y 22B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para mvd.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es mvd_l0(l1,lc). En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es mvd_l0(l1,lc). En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye mvd_l0, mvd_l1 o mvd_lc. Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
En otras palabras, el segundo tipo o el tercer tipo solo debe incluir al menos uno de mvd_l0, mvd_l1 y mvd_lc. Por ejemplo, el segundo tipo o el tercer tipo pueden incluir mvd_l0 y mvd_l1 sin incluir mvd_lc.
Cuando el patrón 2 se compara con el patrón 3 para mvd, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para mvd_l0(l1,lc). Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
En este punto, aunque los datos residuales (mvd) de un vector de movimiento no se transmiten en un modo de omisión, los datos residuales (mvd) del vector de movimiento se transmiten en modo de fusión. Por consiguiente, incluso cuando el contexto a usar temporalmente no sea óptimo en el modo de fusión, el deterioro de la calidad de imagen causado por no usar el contexto óptimo puede compensarse en cierta medida con el procesamiento utilizando los mvd. En consecuencia, el deterioro de la calidad de la imagen se suprime cuando no se usa el bloque circundante para mvd.
Cuando el valor condicional del bloque superior o el bloque izquierdo (condA o condl) se usa de acuerdo con la condición predeterminada, se aplica la siguiente modificación.
La primera modificación es un procedimiento que usa una dependencia entre mvd_l0, mvd_l1 y mvd_lc.
Más específicamente, la unidad de control de contexto 142 o 242 puede derivar un valor condicional de otro tipo de señal que tenga un valor condicional dependiente de los valores condicionales (condl o condA) de dos tipos de señal entre los tres tipos de señal de mvd_l0, mvd_l1 y mvd_lc, usando los valores condicionales.
Por ejemplo, cuando un valor de condA para mvd_lc depende de los valores condicionales (un valor de condA para l0 y un valor de condA para l1) de los dos tipos de señal de mvd_l0 y lvd_l1, la unidad de control de contexto 142 o 242 no necesita referirse al valor de condA para mvd_lc.
La FIG. 22C es una tabla que indica la condición A y la condición L para mvd como se indica en NPL 2. La FIG. 22D
es una tabla que indica la condición A y la condición L para mvd de acuerdo con la realización 3.
Como se indica en la FIG. 22D, las unidades de control de contexto 142 y 242 pueden derivar los valores condicionales de condl y condA para mvd_lc de al menos uno de los valores condicionales de mvd_l0 y mvd_l1 en el mismo bloque.
En este punto, la unidad de control de contexto 142 y 242 puede usar estas relaciones con una o ambas de la dirección horizontal (compIdx = 0) y la dirección vertical (compIdx = 1).
Adicionalmente, la unidad de control de contexto 142 y 242 puede usar la dependencia entre compIdx = 0 y 1. En otras palabras, las unidades de control de contexto 142 y 242 pueden hacer que un resultado de uno de los dos valores condicionales de la dirección horizontal mvd_l0[ ][ ][0] y la dirección vertical mvd_l0[ ][ ][1] dependan del otro. En otras palabras, las unidades de control de contexto 142 y 242 pueden derivar los valores condicionales condl y condA de una de las direcciones horizontal y la dirección vertical para mvd, del otro de los valores condicionales para mvd. En este punto, de acuerdo con NPL 2, se establece un índice de contexto (incremento del índice valor de referencia) en cada una de las direcciones horizontales mvd_l0[ ][ ][0], mvd_l1[ ][ ][0], y mvd-lc[ ][ ][0], y las direcciones verticales mvd_l0[ ][ ][1], mvd_l1[ ][ ][1] y mvd_lc[ ][ ][1]. De este modo, es posible reducir los residuos utilizando la dependencia. En otras palabras, el número de índices de contexto puede reducirse.
En este punto, los valores condicionales del bloque superior y el bloque izquierdo se usan solo para el primer bit de mvd de acuerdo con NPL 2. En otras palabras, la unidad de control de contexto 142 y 242 puede usar el patrón 2 o 3 para el primer bit de mvd. En otras palabras, la unidad de control de contexto 142 y 242 puede usar el patrón 2 o 3 para abs_mvd_greater0_flag[compIdx] que indica si una diferencia entre un vector de movimiento y el vector predicho es igual o mayor que 0.
(Séptima verificación) "no_residual_data_flag"
La FIG. 23A es una tabla que indica un procedimiento de decodificación aritmética para no_residual_data_flag.
El significado del tipo de señal "no_residual_data_flag" se define de la siguiente manera.
no_residual_data_flag igual a 1 especifica que no hay datos residuales presentes para la unidad de codificación actual. no_residual_data_flag igual a 0 especifica que los datos residuales están presentes para la unidad de codificación actual. Cuando no_residual_data_flag no está presente, se deducirá que su valor es igual a 0.
Los datos de no_residual_data_flag se estructuran en un árbol de transformación entre tipos de árboles. La FIG. 23B es una tabla que indica una sintaxis de árbol de transformación. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las figs. 24A y 24B son tablas para describir los resultados de la verificación en no_residual_data_flag.
La FIG. 24A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 24B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 24A y 24B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para no_residual_data_flag.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es no_residual_data_flag. En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es no_residual_data_flag. En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye "no_residual_data_flag". Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
Cuando el patrón 2 se compara con el patrón 3 para no_residual_data_flag, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para no_residual_data_flag. Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
En este punto, no_residual_data_flag indica la presencia o ausencia de coeficientes (datos residuales) de luma y croma. Adicionalmente, los datos residuales aumentan en la intrapredicción y disminuyen en la interpredicción. De este modo, la eficiencia de codificación disminuye cuando un modo de un bloque circundante es diferente de un
modo del bloque actual (el bloque circundante tiene características diferentes de las del bloque actual). Por ejemplo, cuando la intrapredicción se realiza en el bloque actual y la interpredicción se realiza en el bloque circundante, los datos residuales del bloque actual disminuyen y los datos residuales del bloque circundante aumentan. Por consiguiente, la eficiencia de codificación disminuye cuando se usa el contexto del bloque circundante. De este modo, las unidades de control de contexto 142 y 242 pueden mejorar la eficiencia de codificación usando el contexto del bloque actual sin depender del bloque circundante.
(Fighth verificación) "intra_chroma_pred_mode"
La FIG. 25A es una tabla que indica un procedimiento de decodificación aritmética para intra_chroma_pred_mode.
Los datos de intra_chroma_pred_mode se estructuran en una unidad de predicción como una sintaxis. El aparato de decodificación de imagen analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
El significado del tipo de señal "intra_chroma_pred_mode" se define de la siguiente manera.
intra_chroma_pred_mode[x0][y0] especifica el modo de intrapredicción para muestras de croma. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen.
El valor del modo de intrapredicción croma "modo de intrapredicción croma" (IntraPredModeC) se determina combinando el valor de intra_chroma_pred_mode (valor entre 0 y 4 inclusive) y el IntraPredMode [xP] [yB] del bloque actual. En este punto, las coordenadas del bloque actual son [xB][yB]. [xB][yB] indica la misma posición que [xP][yP]. Adicionalmente, IntraPredMode indica un valor de modo de predicción para luma.
La FIG. 25B es una tabla que indica un procedimiento de derivación de IntraPredModeC, basado en intra_chroma_pred_mode e IntraPredMode que se describen en NPL 2.
Adicionalmente, IntraPredMode (variable que comienza en mayúscula) no es un valor codificado directamente en una secuencia de bits codificada, sino una secuencia de valores decodificados por un decodificador. Cuando se deriva IntraPredMode [xP][yP] del bloque actual, IntraPredMode [xP] [yA] y otros de un bloque vecino se usan si están disponibles.
Las figs. 26A y 26B son tablas para describir los resultados de la verificación en intra_chroma_pred_mode.
La FIG. 26A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 26B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 26A y 26B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para intra_chroma_pred_mode.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es intra_chroma_pred_mode. En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es intra_chroma_pred_mode. En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye "intra_chroma_pred_mode". Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
Cuando el patrón 2 se compara con el patrón 3 para intra_chroma_pred_mode, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para intra_chroma_pred_mode. Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
En este punto, intra_chroma_pred_mode es información de un total de 4 bits e indica si el primer 1 bit indica si el modo de intrapredicción para luma se utiliza o no como el modo de intrapredicción para croma. En este punto, las unidades de control de contexto 142 y 242 usan el patrón 2 o 3 para el primer 1 bit. Más específicamente, intra_chroma_pred_mode indica 0 cuando se usa el mismo modo que el de luma para el croma. Cuando se usa un modo diferente del de luma para el croma, intra_chroma_pred_mode indica 1, y los 3 bits restantes indican un modo utilizado para croma.
En la intrapredicción, la correlación entre el bloque superior, el bloque izquierdo y se usa el bloque actual. En otras palabras, dado que la información de correlación se usa en la intrapredicción, usar el mismo modo que el de luma
para croma es eficiente. En otras palabras, aunque el modo diferente del de luma se puede usar para croma para tener diversos modos, un caso en el que se usa el modo diferente del de luma para el croma y se usa el contexto circundante es raro. En otras palabras, hay muchos casos en los que intra_chroma_pred_mode en el que se usa el mismo modo que el de luma se establece en 0. Por consiguiente, hay un pequeño mérito en usar el contexto circundante, el uso del contexto del bloque actual permite reducir la cantidad de procesamiento mientras se mantiene la eficiencia de codificación.
Adicionalmente, determinar si el bloque superior está disponible o no en la decodificación es extremadamente difícil. La matriz de IntraPredMode que se deriva en un procedimiento de decodificación y se asigna a una secuencia se describirá con referencia a la FIG. 36.
IntraPredMode de una fila superior (Línea L) que incluye el bloque actual está representado por IntraPredMode [nésimo bloque en una dirección horizontal] [una fila superior (Línea L)]. Adicionalmente, IntraPredMode de la fila actual, incluido el bloque actual, está representado por IntraPredMode [k-ésimo bloque en una dirección horizontal] [fila actual]. En este punto, una señal en la que se va a realizar actualmente la decodificación aritmética es intra_chroma_pred_mode [i-ésimo bloque en una dirección horizontal] [fila actual].
En primer lugar, no hay garantía de que el bloque n-ésimo en una fila superior en una dirección horizontal esté asociado con el bloque k-ésimo en la fila actual en la dirección horizontal. Como se describe para la FIG. 36, esto se debe a que el tamaño de un bloque PU varía para cada bloque. De este modo, no hay manera, excepto proporcionar una cierta tabla de correspondencia para administrar estos bloques u obtener todos los IntraPredModes como la unidad mínima como se describe para la FIG. 36.
Adicionalmente, aparte de intra_chroma_pred_mode para decodificar, IntraPredMode de la fila superior no es un tipo de señal capaz de ser obtenido a través del análisis por la unidad de decodificación aritmética, sino un valor (variable de H.264, etc. a partir de un capital) derivado de otro procedimiento de decodificación. De este modo, obtener la disponibilidad de este valor únicamente por la unidad de decodificación aritmética es oneroso.
De este modo, en el modelo de contexto en el que intra_chroma_pred_mode usa bloques vecinos, no usar CondA que es un valor condicional del bloque superior (en particular, un valor de determinación de condición de IntraPredMode [posición horizontal correspondiente] [una fila superior]) es útil en términos del uso de memoria.
(Novena verificación) "cbf_luma, cbf_cr, cbf_cb"
La FIG. 27 es una tabla que indica un procedimiento de decodificación aritmética para cbf_luma, cbf_cr y cbf_cb.
El significado del tipo de señal "cbf_luma" se define de la siguiente manera.
cbf_luma[x0][y0][trafoDepth] igual a 1 especifica que el bloque de transformación luma contiene uno o varios niveles de coeficientes de transformación que no son iguales a 0. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de transformación considerado en relación con la muestra de luma superior izquierda de la imagen. El índice de matriz trafoDepth especifica el nivel de subdivisión actual de una unidad de codificación en bloques con el fin de transformar la codificación. trafoDepth es igual a 0 para bloques que corresponden a unidades de codificación.
En otras palabras, la posición del bloque de transformación luma se define como un valor de una matriz tridimensional que incluye una profundidad jerárquica (trafoDepth) en relación con una capa de una CU, además de los elementos verticales y horizontales.
Adicionalmente, un tipo de señal "cbf_cb" define cbf_luma con respecto a luma para croma (cb). El significado del tipo de señal "cbf_cb" se define de la siguiente manera.
cbf_cb[x0][y0][trafoDepth] igual a 1 especifica que el bloque de transformación luma contiene uno o varios niveles de coeficientes de transformación que no son iguales a 0. Los índices de matriz x0, y0 especifica la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de transformación considerado en relación con la muestra de luma superior izquierda de la imagen. El índice de matriz trafoDepth especifica el nivel de subdivisión actual de una unidad de codificación en bloques con el fin de transformar la codificación. trafoDepth es igual a 0 para bloques que corresponden a unidades de codificación. Cuando cbf_cb[x0][y0][trafoDepth] no está presente y PredMode no es igual a MODE_INTRA, se infiere que el valor de cbf_cb[x0][y0][trafoDepth] es igual a 0.
En otras palabras, la posición del bloque de transformación Cb se define como un valor de una matriz tridimensional que incluye una profundidad jerárquica (trafoDepth) en relación con una capa de una CU, además de los elementos verticales y horizontales.
Adicionalmente, un tipo de señal "cbf_cr" define cbf_luma con respecto a luma para croma (cr). El significado del tipo de señal "cbf_cr" se define de la siguiente manera.
cbf_cr[x0][y0][trafoDepth] igual a 1 especifica que el bloque de transformación luma contiene uno o varios niveles de coeficientes de transformación que no son iguales a 0. Los índices de matriz x0, y0 especifica la ubicación (x0, y0)
de la muestra de luma superior izquierda del bloque de transformación considerado en relación con la muestra de luma superior izquierda de la imagen. El índice de matriz trafoDepth especifica el nivel de subdivisión actual de una unidad de codificación en bloques con el fin de transformar la codificación. trafoDepth es igual a 0 para bloques que corresponden a unidades de codificación. Cuando cbf_cr[x0][y0][trafoDepth] no está presente y PredMode no es igual a MODE_INTRA, se infiere que el valor de cbf_cr[x0][y0][trafoDepth] es igual a 0.
En otras palabras, la posición del bloque de transformación Cb se define como un valor de una matriz tridimensional que incluye una profundidad jerárquica (trafoDepth) en relación con una capa de una CU, además de los elementos verticales y horizontales.
Las FIGS. 16A y 16B son tablas para describir los resultados de la verificación en cbf_luma, cbf_cr y cbf_cb.
La FIG. 28A indica el resultado de la verificación usando un bloque vecino (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIG. 28B indica el resultado de la verificación usando un bloque vecino cero (sin usar la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las Figs. 28A y 28B indican el incremento y la disminución de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente, el significado del valor de evaluación es el mismo que el de la primera verificación.
El resultado es diferente de los de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para cbf_luma, cbf_cr y cbf_cb.
De este modo, bajo un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin usar el bloque superior como un bloque vecino, particularmente cuando el tipo de señal del parámetro de control es cbf_luma, cbf_cr y cbf_cb. En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto usando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es cbf_luma, cbf_cr y cbf_cb. En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag", y el segundo tipo o el tercer tipo incluye "cbf_luma, cbf_cr y cbf_cb". Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la realización 3 pueden reducir el uso de memoria mientras suprimen la disminución de la tasa BD.
Cuando el patrón 2 se compara con el patrón 3 para cbf_luma, cbf_cr y cbf_cb, estas tasas de BD no tienen una diferencia significativa. De este modo, se prefiere usar el patrón 3 para cbf_luma, cbf_cr y cbf_cb. Por consiguiente, es posible reducir aún más el uso de memoria y la cantidad de procesamiento.
Adicionalmente, cbf_luma, cbf_cb y cbf_cr son valores de una matriz tridimensional que tiene una profundidad. De este modo, como se describe para la FIG. 9B de acuerdo con la realización 2, las distancias (lejanía) entre los valores de referencia vecinos en el orden de decodificación (incluido el orden de ejecución recursiva y será el mismo en lo sucesivo) son diferentes de acuerdo con las profundidades jerárquicas respectivas. Por consiguiente, si el valor del parámetro de control está disponible realmente o no, o si la ventaja para reducir el uso de memoria difiere dependiendo de la posición de un bloque en la relación jerárquica.
De este modo, las unidades de control de contexto 142 y 242 pueden cambiar un criterio de determinación de un valor condicional de acuerdo con la profundidad jerárquica. Por ejemplo, la unidad de control de contexto 142 y 242 puede usar (seguir) un valor condicional de un bloque en la capa superior como un valor condicional de un bloque en la capa inferior.
Adicionalmente, la unidad de control de contexto 142 y 242 puede cambiar estos criterios en consideración de la relación de posición con otro corte, además de lo anterior o individualmente.
Como resultado de las verificaciones anteriores, la siguiente modificación detallada es concebible. Si el efecto de dilución ocurre o no depende del número de entrenamientos a los que se aplica la condición. Generalmente, Y que representa la luminancia en Y, U y V, tal como el formato 4:2:0, es mayor en número de muestras que los otros dos ejes (U y V). De este modo, un límite que debe distinguirse es entre (a) luma y (b) un par de cb y cr.
Por ejemplo, el patrón 3 puede aplicarse a (a) cbf_luma, y el otro patrón 2 o 1 puede aplicarse a (b) cbf_cb y cbf_cr. En otras palabras, la unidad de control de contexto 142 y 242 puede determinar un contexto usando una condición diferente para cada caso donde el tipo de señal es el "cbf_luma", o el tipo de señal es uno de los "cbf_cb" y el "cbf_cr".
En este punto, cuando el número de entrenamientos es suficiente, se prefiere que las unidades de control de contexto 142 y 242 aumenten el número de condiciones (de contexto) para la precisión. Adicionalmente, se prefiere que las unidades de control de contexto 142 y 242 disminuyan el número de condiciones de contexto cuando el número de entrenamientos es menor. De este modo, la unidad de control de contexto 142 y 242 puede conmutar entre estas condiciones de acuerdo con la resolución. Adicionalmente, la unidad de control de contexto 142 y 242 puede conmutar entre estas condiciones de acuerdo con el formato (4:2:0) y otros.
Adicionalmente, cbf_luma, cbf_cr y cbf_cb indican la presencia o ausencia de coeficientes de luma o croma. En otras palabras, cbf_luma, cbf_cr y cbf_cb son jerárquicamente más bajos que no_residual_data_flag, lo que indica la presencia o ausencia de datos residuales. En este punto, no_residual_data_flag se usa para la TU más grande que se puede seleccionar para el tamaño de una CU en una relación de CU > PU > TU. Más específicamente, no_residual_data_flag se usa en la capa superior de una TU. Por otro lado, cbf_luma, cbf_cr y cbf_cb se usan en una capa inferior a la capa de no_residual_data_flag. La presencia de no_residual_data_flag indica que los bloques posteriores no tienen datos residuales. Adicionalmente, a medida que la profundidad es mayor, los datos residuales probablemente estén presentes. De este modo, la unidad de control de contexto 142 y 242 puede mejorar la eficiencia de codificación usando la información jerárquica para cbf_luma, cbf_cr y cbf_cb. En otras palabras, la unidad de control de contexto 142 y 242 puede determinar un contexto de acuerdo con una profundidad jerárquica de una unidad de datos a la que el parámetro de control (cbf_luma, cbf_cr, y cbf_cb) del bloque actual pertenece. Por otro lado, como no_residual_data_flag es una bandera que depende de un modo de predicción, se prefiere que se use un valor fijo que no dependa de una profundidad como valor de contexto.
El sumario del resultado de las verificaciones en todos los tipos de señal se describirá a continuación.
Las FIGS. 29A y 29B son gráficos que indican cada uno un resultado de "4.1 Configuración intra alta eficiencia" (todos los tipos de señal).
Las FIGS. 30A y 30B son gráficos que indican cada uno un resultado de "4.3 Configuración de acceso aleatorio de alta frecuencia" (todos los tipos de señales).
Las FIGS. 31A y 31B son gráficos que indican cada uno un resultado de "4.5 Configuración intra alta eficiencia" (todos los tipos de señal).
Las FIGS. 32A y 32B son gráficos que indican "4.7 Configuración de baja demora y alta eficiencia (solo cortes P)".
La FIG. 33A es una tabla que indica un conjunto de parámetros en el que uno de los patrones 1 a 3 se aplica a cada uno de los parámetros de control. En el ejemplo de la FIG. 33A, el patrón 1 (que usa el bloque superior y el bloque izquierdo) se aplica a "split_coding_unit_flag" y "skip_flag", y el patrón 3 (que no usa ni el bloque superior ni el bloque izquierdo) se aplica a "merge_flag", "ref_idx", "inter_pred_flag", "mvd_l0", "mvd_l1", "mvd_lc", "no_residual_data_flag", "intra_chroma_pred_mode", "cbf_luma", "cbf_cb" y "cbf_cr".
La FIG. 33B es una tabla que indica un resultado de verificación cuando el conjunto de parámetros indicado en la FIG. 33A se usa. Como se indica en la FIG. 33B, usando el conjunto de parámetros en la FIG. 33A puede reducir el uso de memoria mientras suprime la disminución de la eficiencia de codificación.
La FIG. 34A es una tabla que indica un ejemplo de otro conjunto de parámetros. En el ejemplo de la FIG. 34A, el patrón 1 (que usa tanto el bloque superior como el bloque izquierdo) se aplica a "split_coding_unit_flag" y "skip_flag", el patrón 2 (usando solo el bloque izquierdo) se aplica a "intra_chroma_pred_mode", "cbf_luma", "cbf_cb" y "cbf_cr", y el patrón 3 (sin usar el bloque superior ni el bloque izquierdo) se aplica a "merge_flag", "ref_idx", "inter_pred_flag", "mvd-l0", "mvd_l1", "mvd_lc" y "no_residual_data_flag".
La FIG. 34B es una tabla que indica un resultado de verificación cuando el conjunto de parámetros indicado en la FIG. 34A se usa. Como se indica en la FIG. 34B, usando el conjunto de parámetros en la FIG. 34A puede reducir el uso de memoria mientras suprime la disminución de la eficiencia de codificación.
Por ejemplo, al menos parte del aparato de codificación de imagen, se pueden combinar el aparato de decodificación de imagen y las funciones de las modificaciones de estos aparatos de acuerdo con las realizaciones 1 a 3.
Adicionalmente, todos los valores y los valores lógicos descritos anteriormente son ejemplos para describir específicamente la presente invención, y la presente invención no está limitada por los valores ejemplificados.
Adicionalmente, las divisiones de los bloques funcionales en los diagramas de bloques son ejemplos. De este modo, los bloques funcionales pueden implementarse como un bloque funcional, un bloque funcional puede dividirse en una pluralidad de bloques funcionales, y una parte de las funciones puede conmutarse a otro bloque funcional. Adicionalmente, una pluralidad de bloques funcionales que tiene funciones similares puede ser procesada por un solo hardware o software en paralelo o con división de tiempo.
Las órdenes de las etapas del procedimiento de codificación de imagen realizado por el aparato de codificación de imagen y el procedimiento de decodificación de imagen realizado por el aparato de decodificación de imagen son para describir específicamente la presente invención, y puede ser un orden distinto de las órdenes anteriores. Adicionalmente, parte de las etapas se pueden realizar simultáneamente (en paralelo) con las otras etapas.
(Realización 4)
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente mediante un sistema informático mediante la grabación, sobre un medio de grabación, un programa para implementar la estructura del procedimiento de codificación de imagen en movimiento o el procedimiento de decodificación de imagen en
movimiento descrito en la realización. El medio de grabación puede ser cualquier medio de grabación siempre que el programa pueda grabarse en él, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria de semiconductores.
De aquí en adelante, se describirán las aplicaciones al procedimiento de codificación de imagen en movimiento o al procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones y se describirá un sistema que usa el mismo.
La Figura 37 ilustra una configuración general de un sistema de provisión de contenido ex100 para la implementación de servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en celdas del tamaño deseado, y las estaciones base ex106 a ex110 que son estaciones inalámbricas fijas se colocan en cada una de las celdas.
El contenido que proporciona el sistema ex100 está conectado a dispositivos, tal como un ordenador ex111, un asistente digital personal (PDA) ex112, una cámara ex113, un teléfono celular ex114 y una máquina de juego ex115, a través de un Internet ex101, un proveedor de servicios de Internet ex102, una red telefónica ex104, así como las estaciones base ex106 a ex110.
Sin embargo, la configuración del sistema de provisión de contenido ex100 no se limita a la configuración mostrada en la FIG. 37, y es aceptable una combinación en la que está conectado cualquiera de los elementos. Además, cada uno de los dispositivos puede estar conectado directamente a la red telefónica ex104, en lugar de a través de las estaciones base ex106 a ex110, que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí mediante una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, tal como una cámara de vídeo digital, es capaz de capturar imágenes en movimiento. Una cámara ex116, tal como una cámara de vídeo digital, es capaz de capturar tanto imágenes fijas como imágenes en movimiento. Adicionalmente, el teléfono celular ex114 puede ser el que cumpla con cualquiera de los estándares, tal como el Sistema Global para Comunicaciones Móviles (GSM), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Evolución a Largo Plazo (LTE) y Acceso a Paquetes de Alta Velocidad (HSPA). Como alternativa, el teléfono ex114 celular puede ser un Sistema Móvil Personal (PHS).
En el sistema de suministro de contenido ex100, un servidor de difusión ex103 está conectado a la cámara ex113 y otros a través de la red telefónica ex104 y la estación base ex109, que permite la distribución de un show en vivo y otros. Para tal distribución, un contenido (por ejemplo, vídeo de un show de música en vivo) capturado por el usuario usando la cámara ex113 se codifica como se describe anteriormente en cada una de las realizaciones, y el contenido codificado se transmite al servidor de difusión ex103. Por otro lado, el servidor de flujo continuo ex103 lleva a cabo distribución de flujo en los datos de contenido transmitidos a los clientes tras sus solicitudes. Los clientes incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono celular ex114 y la máquina de juego ex115 que son capaces de decodificar los datos codificados mencionados anteriormente. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados.
Los datos capturados pueden codificarse por la cámara ex113 o el servidor de flujo continuo ex103 que transmite los datos, o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor de flujo continuo ex103. De manera similar, los datos distribuidos pueden decodificarse por los clientes o el servidor de flujo continuo ex103, o los procedimientos de decodificaciones pueden compartirse entre los clientes y el servidor de flujo continuo ex103. Adicionalmente, los datos de las imágenes fijas y el vídeo capturado no solo por la cámara ex113 sino también por la cámara ex116 pueden transmitirse al servidor de flujo continuo ex103 a través del ordenador ex111. Los procedimientos de codificación pueden ser realizados por la cámara ex116, el ordenador ex111, o el servidor de difusión ex103, o compartido entre ellos.
Adicionalmente, generalmente, el ordenador ex111 y un LSI ex500 incluido en cada uno de los dispositivos realizan dichos procedimientos de codificación y decodificación. El LSI ex500 puede estar configurado de un único chip o una pluralidad de chips. El software para codificar y decodificar imágenes en movimiento puede integrarse en algún tipo de medio de grabación (tal como un CD-ROM, un disco flexible, un disco duro) que puede leer el ordenador ex111 y otros, y los procedimientos de codificación y decodificación pueden realizarse usando el software. Adicionalmente, cuando el teléfono celular ex114 está equipado con una cámara, los datos de vídeo obtenidos por la cámara pueden ser transmitidos. Los datos de vídeo son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Adicionalmente, el servidor de flujo ex103 puede estar compuesto por servidores y ordenadores, y puede descentralizar datos y procesar los datos descentralizados, registrar o distribuir datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido ex100. En otras palabras, los clientes pueden recibir y decodificar la información transmitida por el usuario y reproducir los datos decodificados en tiempo real en el sistema de suministro de contenido ex100, para que el usuario que no tenga ningún derecho y equipo en particular pueda implementar la difusión personal.
La presente invención no se limita al contenido mencionado anteriormente que proporciona el sistema ex100, y al
menos el aparato de codificación de imagen en movimiento o el aparato de decodificación de imagen en movimiento descrito en cada una de las Realizaciones se pueden incorporar en un sistema de difusión digital ex200 como se muestra en la FIG. 38. Más específicamente, una estación de difusión ex201 se comunica o transmite, a través de ondas de radio a un satélite de difusión ex202, datos multiplexados obtenidos multiplexando los datos de audio y los datos de vídeo. Los datos de vídeo se codifican de acuerdo con el procedimiento de codificación de imagen en movimiento descrito en cada una de las realizaciones. Al recibir los datos del vídeo, el satélite de difusión ex202 transmite ondas de radio para su difusión. Seguidamente, una antena de uso doméstico ex204 capaz de recibir una difusión por satélite recibe las ondas de radio. Un dispositivo, tal como una televisión (receptor) ex300 y un decodificador (STB) ex217, decodifica los datos multiplexados recibidos y reproduce los datos.
Adicionalmente, un lector/grabador ex218 que (i) lee y decodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un b D, o (ii) codifica señales de vídeo en el medio de grabación ex215, y en algunos casos, escribe los datos obtenidos multiplexando una señal de audio en los datos codificados puede incluir el aparato de decodificación de imagen en movimiento o los aparatos de codificación de imagen en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se muestran en el monitor ex219, y otro aparato o sistema puede reproducir las señales de vídeo, usando el medio de grabación ex215 en el que se graban los datos multiplexados. Adicionalmente, también es posible implementar el aparato de decodificación de imagen en movimiento en el decodificador ex217 conectado al cable ex203 para una televisión por cable o la antena ex204 para difusión satelital y/o terrestre, para mostrar las señales de vídeo en el monitor ex219 de la televisión ex300. El aparato de decodificación de imagen en movimiento puede implementarse no en el decodificador de salón sino en la televisión ex300.
La FIG. 39 ilustra la televisión (receptor) ex300 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento descritos en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar los datos de audio y vídeo a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad de modulación/demodulación ex302 que demodula los datos multiplexados recibidos o modula datos en datos multiplexados a suministrarse al exterior; y una unidad de multiplexación/demultiplexación ex303 que demultiplica los datos multiplexados modulados en datos de vídeo y datos de audio, o multiplexa datos de vídeo y datos de audio codificados por una unidad de procesamiento de señal en datos ex306.
Adicionalmente, la televisión ex300 incluye, además: una unidad de procesamiento de señal ex306 que incluye una unidad de procesamiento de señal de audio ex304 y una unidad de procesamiento de señal de vídeo ex305 que decodifica datos de audio y vídeo y codifica datos de audio y vídeo, respectivamente; un altavoz ex307 que proporciona la señal de audio decodificada; y una unidad de salida ex309 que incluye una unidad de visualización ex308 que muestra la señal de vídeo decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla de manera global cada elemento constituyente de la televisión ex300, y una unidad de circuito de fuente de alimentación ex311 que suministra potencia a cada uno de los elementos. Aparte de la unidad de entrada de operación ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que está conectado a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para permitir la conexión del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 para conectarse a un medio de grabación externo, tal como un disco duro; y un módem ex316 para conectarse a una red de telefonía. En este punto, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria de semiconductores no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 están conectados entre sí a través de un bus síncrono.
En primer lugar, se describirá la configuración en la que la televisión ex300 descodifica datos multiplexados obtenidos desde el exterior a través de la antena ex204 y otros y reproduce los datos descodificados. En la televisión ex300, al recibir una operación del usuario desde un controlador remoto ex220 y otros, la unidad de multiplexación/demultiplexación ex303 demultiplexa los datos multiplexados demodulados por la unidad de modulación/demodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Adicionalmente, la unidad de procesamiento de señal de audio ex304 decodifica los datos de audio demultiplexados, y la unidad de procesamiento de señal de vídeo ex305 decodifica los datos de vídeo demultiplexados, usando el procedimiento de decodificación descrito en cada una de las realizaciones, en la televisión ex300. La unidad de salida ex309 proporciona la señal de vídeo descodificada y la señal de audio al exterior. Cuando la unidad de salida ex309 proporciona la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en los búferes ex318 y ex319, y otras para que las señales se reproduzcan en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer los datos multiplexados no a través de una difusión y otros, sino de los medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en la que la televisión ex300 codifica una señal de audio y una señal de vídeo, y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, al recibir una operación del usuario desde el controlador remoto ex220 y otros, la unidad de procesamiento de señal de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señal de vídeo ex305 codifica una señal de vídeo, bajo control de la unidad de control ex310 usando el procedimiento de codificación de imagen como se describe en cada una de las realizaciones. La unidad de multiplexación/demultiplexación ex303 multiplexa la señal de vídeo y la señal de audio
codificadas, y proporciona la señal resultante al exterior. Cuando la unidad de multiplexación/demultiplexación ex303 multiplexa la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en los búferes ex320 y ex321, y otras para que las señales se reproduzcan en sincronización entre sí. En este punto, los búferes ex318 a ex321 pueden ser varios como se ilustra, o al menos un búfer puede compartirse en la televisión ex300. Adicionalmente, los datos pueden almacenarse en un búfer distinto de los búferes ex318 a ex321 para evitar el desbordamiento y el subflujo del sistema entre la unidad de modulación/demodulación ex302 y la unidad de multiplexación/demultiplexación ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV desde un micrófono o una cámara distinta de la configuración para obtener datos de audio y de vídeo desde una difusión o de un medio de grabación, y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos externos en la descripción, puede que no sea capaz de realizar todos los procedimientos, sino que solo pueda recibir uno, decodificar y proporcionar datos externos.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe los datos multiplexados desde o en un medio de grabación, uno de las televisiones ex300 y el lector/grabador ex218 pueden decodificar o codificar los datos multiplexados, y la televisión ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
A modo de ejemplo, La FIG. 40 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando los datos se leen o escriben desde o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye elementos constituyentes ex401 a ex407 que se describirán más adelante. El cabezal óptico ex401 irradia un punto láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información, y detecta luz reflejada desde la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 acciona eléctricamente un láser de semiconductores incluido en el cabezal óptico ex401, y modula la luz de láser de acuerdo con datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y demodula la señal de reproducción separando un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. El búfer ex404 mantiene temporalmente la información a grabarse en el medio de grabación ex215 y la información reproducida desde el medio de grabación ex215. Un motor de disco ex405 rota el medio de grabación ex215. Una unidad de servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada mientras controla el mecanismo de rotación del motor de disco ex405 para seguir el punto láser. La unidad de control de sistema ex407 controla la totalidad de la unidad de reproducción/grabación de información ex400. La unidad de control del sistema ex407 puede implementar los procedimientos de lectura y escritura usando información diversa almacenada en el búfer ex404 y generando y agregando nueva información según sea necesario, y mediante la unidad de grabación de modulación ex402, la unidad de demodulación de reproducción ex403 y la unidad de servocontrol ex406 que registran y reproducen información a través del cabezal óptico ex401 mientras se opera de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento al hacer que un ordenador ejecute un programa de lectura y escritura.
Aunque el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar grabaciones de alta densidad usando luz de campo cercano.
La FIG. 41 ilustra esquemáticamente el medio de grabación ex215 que es el disco óptico. Sobre n la superficie de grabación del medio de grabación ex215, las ranuras de guía se forman en espiral, y una información rastrea registros ex230, por adelantado, información de dirección que indica una posición absoluta en el disco de acuerdo con el cambio en la forma de las ranuras de guía. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. Un aparato que graba y reproduce datos reproduce la pista de información ex230 y lee la información de dirección para determinar las posiciones de los bloques de grabación. Adicionalmente, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interna ex232 y un área de circunferencia externa ex234. El área de grabación de datos ex233 es un área para su uso al grabar los datos de usuario. El área de circunferencia interna ex232 y el área de circunferencia externa ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente, son para uso específico, excepto para grabar los datos del usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificados, datos de vídeo codificados, o datos multiplexados obtenidos al multiplexar los datos de audio codificados y los datos de vídeo codificados, desde y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD se describe como un ejemplo en la descripción, el disco óptico no está limitado a tal, y puede ser un disco óptico que tenga una estructura multicapa y que pueda grabarse en una parte que no sea la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como la grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y la grabación de información que tiene diferentes capas desde varios ángulos.
Adicionalmente, el coche ex210 que tiene la antena ex205 puede recibir datos del satélite ex202 y otros, y reproducir
vídeo en el dispositivo de visualización, tal como el sistema de navegación del coche ex211 configurado en el coche ex210, en un sistema de difusión digital ex200. En este punto, una configuración del sistema de navegación del coche ex211 será la que, por ejemplo, incluya una unidad receptora de GPS en la configuración ilustrada en la FIG. 39. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono celular ex114 y otros.
La FIG. 42A ilustra el teléfono celular ex114 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento descritos en cada una de las imágenes. El teléfono celular ex114 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base ex110; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de visualización ex358 tal como un visualizador de cristal líquido para visualizar datos tales como vídeo descodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular ex114 incluye, además: una unidad de cuerpo principal que incluye un conjunto de teclas de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar vídeo capturado o imágenes fijas, audio grabado, datos codificados o decodificados del vídeo recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de grabación que almacena datos de la misma forma que la unidad de memoria ex367.
A continuación, un ejemplo de una configuración del teléfono celular ex114 se describirá con referencia a la FIG.
42B. En el teléfono celular ex114, una unidad de control principal ex360 diseñada para controlar en general cada unidad del cuerpo principal, incluida la unidad de visualización ex358, así como las teclas de operación ex366 están conectadas entre sí, a través de un bus síncrono ex370, a una unidad de circuito de fuente de potencia ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señal de vídeo ex355, una unidad de interfaz de cámara ex363, una unidad de control de pantalla de cristal líquido (LCD) ex359, una unidad de modulación/demodulación ex352, una unidad de multiplexación/demultiplexación ex353, una unidad de procesamiento de señal de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando la operación de un usuario enciende una tecla de potencia de llamada o una tecla de encendido, la unidad de circuito de suministro de potencia ex361 suministra a las unidades respectivas potencia de un paquete de baterías para activar el teléfono celular ex114.
En el teléfono celular ex114, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recogidas por la unidad de entrada de audio ex356 en modo de conversación por voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Seguidamente, la unidad de modulación/demodulación ex352 realiza un procesamiento de espectro extendido en las señales de audio digital, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350. También, en el teléfono celular ex114, la unidad de transmisión y de recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación por voz y realiza la conversión en frecuencia y la conversión de digital a analógico sobre los datos.
Seguidamente, la unidad de modulación/demodulación ex352 realiza un procesamiento inverso de espectro ensanchado en los datos, y la unidad de procesamiento de señal de audio ex354 lo convierte en señales de audio analógicas, para generarlos a través de la unidad de salida de audio ex357. Adicionalmente, cuando se transmite un correo electrónico en modo de comunicación de datos, los datos de texto del correo electrónico ingresado al operar las teclas de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 a través de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 da lugar a que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro ensanchado sobre los datos de texto, y la unidad de transmisión y de recepción ex351 realiza la conversión de analógico a digital y la conversión en frecuencia sobre los datos resultantes para transmitir los datos a la estación base ex110 por medio de la antena ex350. Cuando se recibe un correo electrónico, un procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza sobre los datos recibidos, y los datos resultantes se proporcionan a la unidad de visualización ex358.
Cuando el vídeo, las imágenes fijas, o vídeo y audio en modo de comunicación de datos se transmite o se transmiten, la unidad de procesamiento de señal de vídeo ex355 comprime y codifica las señales de vídeo suministradas desde la unidad de cámara ex365 usando el procedimiento de codificación de imagen en movimiento que se muestra en cada una de las realizaciones, y transmite los datos de vídeo codificados a la unidad de multiplexación/demultiplexación ex353. Por el contrario, durante cuando la unidad de cámara ex365 captura vídeo, las imágenes fijas, y otras, la unidad de procesamiento de señal de audio ex354 codifica las señales de audio recogidas por la unidad de entrada de audio ex356, y transmite los datos de audio codificados a la unidad de multiplexación/demultiplexación ex353.
La unidad de multiplexación/demultiplexación ex353 multiplexa los datos de vídeo codificados suministrados desde la unidad de procesamiento de señal de vídeo ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señal de audio ex354, usando un procedimiento predeterminado. Seguidamente, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro ensanchado sobre las señales de audio digital, y la unidad de transmisión y de recepción ex351 realiza una conversión de analógico a digital y una conversión
en frecuencia sobre los datos, con el fin de transmitir los datos resultantes por medio de la antena ex350.
Al recibir datos de un archivo de vídeo que está vinculado a una página web y a otros en modo de comunicación de datos o al recibir un correo electrónico con vídeo y/o audio adjunto, para decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad de multiplexación/demultiplexación ex353 demultiplexa los datos multiplexados en un flujo de bits de datos de vídeo y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señal de vídeo ex355 los datos de vídeo codificados y la unidad de procesamiento de señal de audio ex354 con los datos de audio codificados, a través del bus síncrono ex370. La unidad de procesamiento de señal de vídeo ex355 decodifica la señal de vídeo usando un procedimiento de decodificación de imagen en movimiento correspondiente al procedimiento de codificación de imagen en movimiento que se muestra en cada una de las realizaciones, y luego la unidad de visualización ex358 muestra, por ejemplo, el vídeo y las imágenes fijas incluidas en el archivo de vídeo vinculado a la página web a través de la unidad de control LCD ex359. Adicionalmente, la unidad de procesamiento de señales de audio ex354 descodifica la señal de audio, y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente, de manera similar a la televisión ex300, un terminal tal como el teléfono celular ex114 probablemente tiene 3 tipos de configuraciones de implementación que incluyen no solo (i) un transmisor
EP91503AKlpp y terminal de recepción que incluye tanto un aparato de codificación como un aparato de decodificación, pero también (ii) un terminal transmisor que incluye solo un aparato de codificación y (iii) un terminal receptor que incluye solo un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos al multiplexar datos de audio en datos de vídeo en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de caracteres relacionados con vídeo en datos de vídeo, y pueden no ser datos multiplexados sino datos de vídeo en sí.
En consecuencia, el procedimiento de codificación de imagen en movimiento y el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones se pueden usar en cualquiera de los dispositivos y sistemas descritos. De este modo, se pueden obtener las ventajas descritas en cada una de las realizaciones.
(Realización 5)
Los datos de vídeo se pueden generar conmutando, según sea necesario, entre (i) el procedimiento de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento que se muestra en cada una de las realizaciones y (ii) un procedimiento de codificación de imagen en movimiento o un aparato de codificación de imagen en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG4-AVC y VC-1.
En este punto, cuando se genera una pluralidad de datos de vídeo que se ajusta a los diferentes estándares y luego se decodifica, los procedimientos de decodificación deben seleccionarse para cumplir con los diferentes estándares. Sin embargo, ya que a qué estándar no se puede detectar cada una de la pluralidad de datos de vídeo a decodificar, existe el problema de que no se puede seleccionar un procedimiento de decodificación apropiado.
Para resolver el problema, los datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo tienen una estructura que incluye información de identificación que indica con qué estándar cumplen los datos de vídeo. Se describirá en lo sucesivo la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el procedimiento de codificación de imagen en movimiento y por el aparato de codificación de imagen en movimiento mostrados en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato de Flujo de Transporte de MPEG-2.
La Figura 43 ilustra una estructura de datos multiplexados. Tal y como se ilustra en la figura 43, los datos multiplexados se pueden obtener multiplexando al menos uno de un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación (PG) y un flujo de gráficos interactivos. El flujo de vídeo representa el vídeo primario y el vídeo secundario de una película, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria que se mezclará con la parte de audio primaria, y el flujo de gráficos de presentación representa los subtítulos de una película. En este punto, el vídeo primario es vídeo normal a visualizarse en una pantalla, y el vídeo secundario es vídeo a visualizarse en una ventana más pequeña en el vídeo principal. Adicionalmente, el flujo de gráficos interactivo representa una pantalla interactiva a generarse disponiendo los componentes de la GUI en una pantalla. El flujo de vídeo se codifica en el procedimiento de codificación de imagen en movimiento o por el aparato de codificación de imagen en movimiento que se muestra en cada una de las realizaciones, o en un procedimiento de codificación de imagen en movimiento o por un aparato de codificación de imagen en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1. El flujo de audio está codificada de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica por PID. Por ejemplo, 0x1011 se asigna al flujo de vídeo a usar para el vídeo de una película, 0x1100 a 0x111F se asignan a los flujos de audio, 0x1200 a 0x121F se asignan a los flujos de gráficos de presentación, 0x1400 a 0x141F se asignan a los flujos de gráficos interactivos, 0x1B00 a 0x1 B1F se asignan a los flujos de vídeo a usar para el vídeo secundario de la película, y 0x1A00 a 0x1A1 F se asignan a los flujos de audio para que el vídeo secundario se mezcle con el audio primario.
La Figura 44 ilustra esquemáticamente cómo se multiplexan datos. En primer lugar, un flujo ex235 de vídeo compuesto por tramas de vídeo y un flujo ex238 de audio compuesto por tramas de audio se transforman en un flujo ex236 de paquetes de PES y un flujo ex239 de paquetes de PES, y adicionalmente en paquetes ex237 de TS y paquetes ex240 de TS, respectivamente. De manera similar, los datos de un flujo ex241 de gráficos de presentación y los datos de un flujo ex244 de gráficos interactivo se transforman en un flujo ex242 de paquetes de PES y un flujo ex245 de paquetes de PES, y adicionalmente en paquetes ex243 de TS y paquetes ex246 de TS, respectivamente. Estos paquetes de TS se multiplexan en un flujo para obtener datos multiplexados ex247.
La Figura 45 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES en más detalle. La primera barra en la figura 45 muestra un flujo de tramas de vídeo en un flujo de vídeo. La segunda barra muestra el flujo de paquetes de PES. Como lo indican las flechas indicadas como yy1, yy2, yy3 e yy4 en la FIG. 45, el flujo de vídeo se divide en imágenes como imágenes I, imágenes B e imágenes P, cada una de las cuales es una unidad de presentación de vídeo, y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes de PES tiene un encabezamiento de PES, y el encabezamiento de PES almacena una Indicación de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la imagen, y una Indicación de Tiempo de decodificación (DTS) que indica un tiempo de decodificación de la imagen.
La Figura 46 ilustra un formato de paquetes de TS a escribir finalmente en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes que incluye un encabezado TS de 4 bytes con información, tal como un PID para identificar un flujo y una carga útil TS de 184 bytes para almacenar datos. Los paquetes de PES se dividen y se almacenan en las cabidas útiles de TS, respectivamente. Cuando se usa un BD ROM, cada uno de los paquetes TS recibe un TP_Extra_Header de 4 bytes, resultando así en paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El TP_Extra_Header almacena información tal como un Time_Stamp de llegada (ATS). La ATS muestra un tiempo de inicio de transferencia en el que se ha de transferir cada uno de los paquetes de TS a un filtro PID. Los números que se incrementan desde el cabezal de los datos multiplexados se denominan números de paquete fuente (SPN) como se muestra en la parte inferior de la FIG. 46.
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no solo flujos de audio, vídeo, subtítulos y otros, sino también una Tabla de Asociación de Programa (PAT), una Tabla de Mapa de Programa (PMT), y una Referencia de Reloj de Programa (PCR). La PAT muestra qué indica un PID en una PMT usada en los datos multiplexados, y una PID de la misma PAT se registra como cero. El PMT almacena los PID de los flujos de vídeo, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributos de los flujos correspondientes a los PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite o no el copiado de los datos multiplexados. El PCR almacena la información de tiempo STC correspondiente a un ATS que muestra cuándo se transfiere el paquete de PCR a un decodificador, para lograr la sincronización entre un reloj de tiempo de llegada (ATC) que es un eje de tiempo de ATS y un reloj de tiempo del sistema (STC) que es un eje de tiempo de PTS y DTS.
La Figura 47 ilustra la estructura de datos de la PMT en detalle. Un encabezamiento de PMT está dispuesto en la parte superior de la PMT. El encabezamiento de la PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados está dispuesta después del encabezamiento de PMT. La información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, está dispuesta una pluralidad de piezas de información de flujo relacionados con los flujos incluidos en los datos multiplexados. Cada pieza de información de flujo incluye descriptores de flujo, cada uno de los cuales describe información, tal como un tipo de flujo para identificar un códec de compresión de un flujo, un PID de flujo y la información de atributo de flujo (tal como una tasa de cuadro o una relación de aspecto). Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graba junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la figura 48. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributo de flujo, y un mapa de entrada.
Tal y como se ilustra en la figura 48, la información de datos multiplexados incluye una tasa de sistema, un tiempo de inicio de reproducción y un tiempo de finalización de reproducción. La tasa de sistema indica la tasa de trasferencia máxima a la que un decodificador objetivo de sistema que se va a describir más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidas en los datos multiplexados se establecen para que no sean superiores a una tasa de sistema. El tiempo de inicio de reproducción indica una PTS en un cuadro de vídeo en el cabezal de los datos multiplexados. Un intervalo de un cuadro se añade a una PTS en un cuadro de vídeo al final de los datos multiplexados, y la PTS se establece al tiempo de fin de reproducción.
Como se muestra en la FIG. 49, una pieza de la información del atributo se registra en la información del atributo del flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada pieza de información de atributo tiene
información diferente dependiendo de si la transmisión correspondiente es un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivos. Cada pieza de la información del atributo de flujo de vídeo contiene información que incluye qué tipo de códec de compresión se utiliza para comprimir la transmisión de vídeo y la resolución, relación de aspecto y tasa de cuadro de las piezas de datos de imagen que se incluyen en el flujo de vídeo. Cada pieza de la información del atributo de flujo de audio contiene información que incluye qué tipo de códec de compresión se utiliza para comprimir la transmisión de audio, cuántos canales están incluidos en el flujo de audio, qué idioma admite el flujo de audio y qué tan alta es la frecuencia de muestreo. La información de atributo de flujo de vídeo y la información de atributo de flujo de audio se usan para inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la Realización 5, los datos multiplexados a usar son de un tipo de flujo incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributo de flujo de vídeo incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones incluye una etapa de o una unidad para asignar información única que indica datos de vídeo generados por el procedimiento de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento en cada una de las realizaciones, al tipo de flujo incluido en el PMT o la información del atributo de flujo de vídeo. Con la estructura, los datos de vídeo generados por el procedimiento de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones pueden distinguirse de los datos de vídeo que se ajustan a otro estándar.
Adicionalmente, la FIG. 50 ilustra las etapas del procedimiento de decodificación de imágenes en movimiento de acuerdo con la realización 5. En la Etapa exS100, el tipo de flujo incluido en el PMT o la información del atributo de transmisión de vídeo se obtiene desde los datos multiplexados. A continuación, en la Etapa exS101, se determina si el tipo de flujo o la información de atributo de flujo de vídeo indica o no que los datos multiplexados se generan por el procedimiento de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento en cada una de las realizaciones. Cuando se determina si el tipo de flujo o la información de atributo de flujo de vídeo indica o no que los datos multiplexados se generan por el procedimiento de codificación de imagen en movimiento o el aparato de codificación de imagen en movimiento en cada una de las realizaciones, en la Etapa exS102, el tipo de flujo o la información del atributo del flujo de vídeo se decodifica mediante el procedimiento de decodificación de imagen en movimiento en cada una de las realizaciones. Adicionalmente, cuando el tipo de flujo o la información del atributo de flujo de vídeo indica conformidad con los estándares convencionales, tal como MPEG-2, MPEG4-AVC y VC-1, en la Etapa exS103, el tipo de flujo o la información del atributo del flujo de vídeo se decodifica mediante un procedimiento de decodificación de imagen en movimiento de conformidad con los estándares convencionales.
En consecuencia, asignar un nuevo valor único al tipo de flujo o la información de atributo de flujo de vídeo posibilita la determinación de si el procedimiento de decodificación de imagen en movimiento o el aparato de decodificación de imagen en movimiento que se describen en cada una de las realizaciones puede realizar o no la decodificación. Incluso con una entrada de datos multiplexados que se ajusta a un estándar diferente, se puede seleccionar un procedimiento o aparato de decodificación apropiado. De este modo, se hace posible descodificar información sin error alguno. Adicionalmente, el procedimiento o aparato de codificación de imagen en movimiento, o el procedimiento o aparato de decodificación de imagen en movimiento en la presente realización 5 se puede usar en los dispositivos y sistemas anteriormente descritos.
(Realización 6)
Cada uno de los procedimientos de codificación de imagen en movimiento, el aparato de codificación de imagen en movimiento, el procedimiento de decodificación de imagen en movimiento, y el aparato de decodificación de imagen en movimiento en cada una de las realizaciones se consigue típicamente en forma de un circuito integrado o un circuito integrado a gran escala (LSI). Como ejemplo del LSI, la FIG. 51 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 se describirán a continuación, y los elementos están conectados entre sí a través de un bus ex510. La unidad de circuito de fuente de alimentación ex505 se activa suministrando a cada uno de los elementos con potencia cuando se activa la unidad de circuito de fuente de alimentación ex505.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal AV de un micrófono ex117, una cámara ex113 y otras a través de un AV IO ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504 y una unidad de control de frecuencia de accionamiento ex512. La señal de AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM, tal como una SDRAM. Bajo control de la unidad de control ex501, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de procesamiento y la velocidad a transmitir a una unidad de procesamiento de señal ex507. Seguidamente, a continuación, la unidad de procesamiento de señal ex507 codifica una señal de audio y/o una señal de vídeo. En este punto, la codificación de la señal de vídeo es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad de procesamiento de señal ex507 multiplexa en ocasiones los datos de audio codificados y los datos de vídeo codificados, y una ES de flujo ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados se transmiten a la estación base ex107, o se escriben en el medio de grabación ex215. Cuando los conjuntos de datos se multiplexan, los datos deberían
almacenarse temporalmente en el búfer ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento externo al LSI ex500, se puede incluir en el LSI ex500. El búfer ex508 no está limitado a un búfer, pero puede estar compuesto de búferes. Adicionalmente, el LSI ex500 puede estar fabricado en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia de accionamiento ex512, la configuración de la unidad de control ex501 no se limita a tal. Por ejemplo, la unidad de procesamiento de señal ex507 puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad de procesamiento de señal ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir o ser parte de la unidad de procesamiento de señal ex507, y, por ejemplo, puede incluir una unidad de procesamiento de señal de audio. En tal caso, la unidad de control ex501 incluye la unidad de procesamiento de señal ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señal ex507.
El nombre usado aquí es LSI, pero también puede llamarse IC, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Más aún, las maneras para conseguir la integración no se limitan al LSI, y un circuito especial o un procesador de propósito general y así sucesivamente pueden conseguir también la integración. El Campo de Matriz de Puertas Programables (FPGa ) que puede programarse después de la fabricación de LSI o un procesador reconfigurable que permite la reconfiguración de la conexión o configuración de un LSI puede usarse para el mismo fin.
En el futuro, con avance en la tecnología de semiconductores, una tecnología completamente nueva puede reemplazar a LSI. Los bloques funcionales pueden integrarse usando tal tecnología. La posibilidad es que la presente invención se aplique a biotecnología.
(Realización 7)
Cuando los datos de vídeo se decodifican por el procedimiento de codificación de imagen en movimiento o por el aparato de codificación de imagen en movimiento descrito en cada una de las realizaciones, en comparación con cuando los datos de vídeo se ajustan a un estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, la cantidad de computación probablemente aumenta. De este modo, el LSI ex500 necesita establecer una frecuencia de accionamiento más alta que la de la CPU ex502 a usarse cuando se descodifican datos de vídeo de conformidad con el estándar convencional. Sin embargo, cuando la frecuencia de accionamiento es más alta, hay un problema de que aumenta el consumo de potencia.
Para resolver el problema, el aparato de decodificación de imagen en movimiento, tal como la televisión ex300 y el LSI ex500 está configurada para determinar a qué estándar se ajustan los datos de vídeo y conmutar entre las frecuencias de accionamiento de acuerdo con el estándar determinado. La FIG. 52 ilustra una configuración ex800 en la realización 7. Una unidad de conmutación de frecuencia de accionamiento ex803 establece una frecuencia de accionamiento a una frecuencia de accionamiento superior cuando los datos de video se generan por el procedimiento de codificación de imagen o el aparato de codificación de imagen descrito en cada realización. Seguidamente, la unidad de conmutación de frecuencia de accionamiento ex803 ordena a la unidad de procesamiento de decodificación ex801 que ejecute el procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones para decodificar los datos de vídeo. Cuando los datos de vídeo se ajustan al estándar convencional, la unidad de conmutación de frecuencia de accionamiento ex803 establece una frecuencia de accionamiento a una frecuencia de accionamiento inferior que la de los datos de video generados por el procedimiento de codificación de imagen o el aparato de codificación de imagen descrito en cada realización. Seguidamente, la unidad de conmutación de frecuencia de accionamiento ex803 ordena a la unidad de procesamiento de decodificación ex802 que se ajusta al estándar convencional que decodifique los datos de vídeo.
Más específicamente, la unidad de conmutación de frecuencia de accionamiento ex803 incluye la CPU ex502 y la unidad de control de frecuencia de accionamiento ex512 en la FIG. 51. En este punto, cada una de la unidad de procesamiento de decodificación ex801 que ejecuta el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación ex802 que se ajusta al estándar convencional se corresponden con la unidad de procesamiento de señal ex507en la FIG. 51. La CPU ex502 determina a qué estándar se ajusta los datos de vídeo. Seguidamente, la unidad de control de frecuencia de accionamiento ex512 determina una frecuencia de accionamiento basándose en una señal desde la CPU ex502. Adicionalmente, la unidad de procesamiento de señal ex507 descodifica los datos de vídeo basándose en la señal desde la CPU ex502. Por ejemplo, la información de identificación descrita en la realización 5 se usa probablemente para identificar los datos de vídeo. La información de identificación no se limita a la descrita en la realización 5 sino que puede ser cualquier información siempre que la información indique a qué estándar se ajusta los datos de vídeo. Por ejemplo, cuando los datos de vídeo estándar se pueden determinar basándose en una señal externa para determinar que los datos de vídeo se utilizan para una televisión o un disco, etc., la determinación puede hacerse basándose en tal señal externa. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento basada en, por ejemplo, una tabla de búsqueda en la que los estándares de los datos de vídeo están asociados con las
frecuencias de accionamiento como se muestra en la FIG. 54. La frecuencia de accionamiento puede seleccionarse almacenando la tabla de búsqueda en el búfer ex508 y en una memoria interna de un LSI, y con referencia a la tabla de búsqueda por la CPU ex502.
La FIG. 53 ilustra las etapas para ejecutar un procedimiento en la realización 7. En primer lugar, en la Etapa exS200, la unidad de procesamiento de señal ex507 obtiene información de identificación de los datos multiplexados. A continuación, en la Etapa exS201, la CPU ex502 determina si los datos de vídeo se generan o no basándose en la información de identificación mediante el procedimiento de codificación y el aparato de codificación descrito en cada una de las realizaciones. Cuando los datos de vídeo se generan mediante el procedimiento de codificación y el aparato de codificación descrito en cada una de las realizaciones, en la Etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento más alta a la unidad de control de frecuencia de accionamiento ex512. Seguidamente, la unidad de control de frecuencia de accionamiento ex512 establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otro lado, cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en la Etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento menor que la unidad de control de frecuencia de accionamiento ex512. Seguidamente, la unidad de control de frecuencia de accionamiento ex512 establece la frecuencia de accionamiento a la frecuencia de accionamiento inferior que la de en el caso en el que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones.
Adicionalmente, junto con la conmutación de las frecuencias de accionamiento, el efecto de conservación de potencia puede mejorarse cambiando la tensión que se aplicará al LSI ex500 o un aparato que incluya el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento es más baja, la tensión a aplicar en el LSI ex500 o el aparato que incluye el LSI ex500 se ajusta probablemente a una tensión inferior a la de en el caso donde la frecuencia de accionamiento se establece superior.
Adicionalmente, cuando la cantidad de computación para decodificar es mayor, la frecuencia de accionamiento puede establecerse más alta, y cuando la cantidad de computación para la decodificación es menor, la frecuencia de accionamiento puede establecerse más baja como procedimiento para establecer la frecuencia de accionamiento. De este modo, el procedimiento de ajuste no se limita a los anteriormente descritos. Por ejemplo, cuando la cantidad de cálculo para decodificar datos de vídeo de conformidad con MPEG4-AVC es mayor que la cantidad de cálculo para decodificar datos de vídeo generados por el procedimiento de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descrito en cada una de las realizaciones, la frecuencia de accionamiento probablemente esté configurada en orden inverso al ajuste descrito anteriormente.
Adicionalmente, el procedimiento para establecer la frecuencia de accionamiento no se limita al procedimiento para establecer la frecuencia de accionamiento más baja. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descrito en cada una de las realizaciones, la tensión a aplicar en el LSI ex500 o el aparato que incluye el LSI ex500 se ajusta probablemente superior. Cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, la tensión a aplicar en el LSI ex500 o el aparato que incluye el LSI ex500 se ajusta probablemente inferior. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descrito en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no deba suspenderse. Cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado porque la CPU ex502 tiene capacidad de procesamiento adicional. Incluso la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descrito en cada una de las realizaciones, en el caso de que la CPU ex502 pueda tener un retraso de tiempo, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado. En tal caso, el tiempo de suspensión probablemente se establezca más corto que en el caso en que la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias de accionamiento de acuerdo con la estándar al que se ajustan los datos de vídeo. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona con una batería, la duración de la batería se puede extender con el efecto de ahorro de potencia.
(Realización 8)
Hay casos en que una pluralidad de datos de vídeo que se ajusta a diferentes estándares, se proporciona a los dispositivos y sistemas, tal como una televisión y un teléfono celular. Para permitir la decodificación de la pluralidad de datos de vídeo que se ajusta a los diferentes estándares, la unidad de procesamiento de señal ex507 del LSI ex500 debe cumplir con los diferentes estándares. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y el aumento en el coste surgen con el uso individual de las unidades de procesamiento de señal
ex507 que se ajustan a los estándares respectivos.
Para resolver el problema, lo que se concibe es una configuración en la cual la unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación que se ajusta al estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1 se comparten parcialmente. Ex900 en la figura 55A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones y el procedimiento de decodificación de imagen en movimiento que se ajusta a MPEG4-AVC tienen, en parte en común, los detalles del procesamiento, tal como la codificación de entropía, cuantización inversa, filtrado de desbloqueo y predicción de movimiento compensado. Los detalles de procesamiento a compartirse probablemente incluyen el uso de una unidad ex902 de procesamiento de decodificación que se ajusta a MPEG4-AVC. Por el contrario, una unidad de procesamiento de decodificación dedicada ex901 se usa probablemente para otro procesamiento exclusivo de la presente invención. Dado que la presente invención se caracteriza por la decodificación aritmética en particular, por ejemplo, la unidad de procesamiento de decodificación dedicada ex901 se usa para la decodificación aritmética. En caso contrario, la unidad de procesamiento de decodificación probablemente se comparte para una de las cuantizaciones inversas, filtrado de desbloqueo y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de imagen en movimiento descrita en cada una de las realizaciones puede compartirse para el procesamiento a compartir, y una unidad de procesamiento de decodificación dedicada puede usarse para procesamiento único al del de MPEG4-AVC.
Adicionalmente, ex1000 en la FIG. 55B muestra otro ejemplo en el que el procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad de procesamiento de decodificación dedicada ex1001 que admite el procesamiento exclusivo de la presente invención, una unidad de procesamiento de decodificación dedicada ex1002 que soporta procesamiento único a otro estándar convencional y una unidad de procesamiento de decodificación ex1003 que soporta procesamiento a compartir entre el procedimiento de decodificación de imagen en movimiento en la presente invención y el procedimiento de decodificación de imagen en movimiento. En este punto, las unidades de procesamiento de decodificación especializadas ex1001 y ex1002 no están necesariamente especializadas para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser las que pueden implementar procesamiento general. Adicionalmente, la configuración de la realización 8 puede implementarse por el LSI ex500.
En consecuencia, reducir la escala del circuito de un LSI y reducir el coste son posibles compartiendo la unidad de procesamiento de decodificación para el procesamiento a compartirse entre el procedimiento de decodificación de imagen en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de imagen de instantáneas en movimiento de conformidad con el estándar convencional.
rAplicabilidad industrial]
La presente invención es aplicable a un procedimiento de decodificación de imágenes y, en particular, es aplicable a un procedimiento de decodificación de imágenes que utiliza codificación aritmética y decodificación aritmética.
[Lista de signos de referencia]
100 Aparato de codificación de imagen
101 Unidad de Control
102 Unidad de sustracción
103 Unidad de transformación y cuantización
104 Unidad de codificación de longitud variable
105 Unidad de cuantización inversa y transformación inversa
106, 206 Unidad de agregación
107, 207 Unidad de intrapredicción
108, 208 Unidad de interpredicción
109, 209 Conmutador
121 Señal de entrada de imagen
122, 125, 225 Señal residual
123, 223 Coeficientes de transformación cuantizados
124 Flujo de bits
126 Señal de imagen reconstruida
127, 128, 129, 227, 228 Señal de predicción de imagen
130, 230 Parámetro de control
141 Unidad de binarización
142, 242 Unidad de control de contexto
143 Unidad de codificación aritmética binaria
151, 251 Secuencia binaria
, 252 Indice de contexto
Aparato de decodificación de imagen Unidad de Control
Unidad de decodificación de longitud variable Unidad de cuantización inversa
Unidad de transformación inversa Coeficientes de transformación ortogonal Señal de imagen decodificada
Señal de imagen
Unidad de binarización inversa
Unidad de decodificación aritmética binaria
Claims (1)
1. Un procedimiento de decodificación para decodificar un parámetro de control para controlar la decodificación de una imagen, comprendiendo el procedimiento de decodificación:
determinar un contexto para un bloque actual (C) en la imagen, de entre una pluralidad de contextos; realizar decodificación aritmética (S210) en un flujo de bits (124) correspondiente al bloque actual (C) usando el contexto determinado; y
obtener el parámetro de control que se utiliza para decodificar el bloque actual (C) binarizando inversamente (S212) una secuencia binaria (251) obtenida por decodificación aritmética (S210) del flujo de bits (124), en el que la determinación incluye al menos uno de:
determinar (S206) un contexto para una bandera de división comparando ambas profundidades jerárquicas para un bloque izquierdo (A) y un bloque superior (B) con la profundidad jerárquica del bloque actual (C), el bloque izquierdo (A) es un bloque vecino a la izquierda del bloque actual (C), y el bloque superior (B) es un bloque vecino en la parte superior del bloque actual (C), el indicador de división que indica si el bloque actual (C) está dividido en una pluralidad de bloques; y
determinar (S206) un contexto para una bandera de omisión utilizando ambas banderas de omisión decodificadas para el bloque izquierdo (A) y el bloque superior (B), indicando la bandera de omisión si el bloque actual (C) es o no un bloque omitido para el que no se transmiten datos residuales de un vector de movimiento que indiquen una diferencia entre un vector de movimiento que se utilizará y su predicción, en el que la determinación incluye, además
determinar (S208) un contexto predeterminado fijo para una bandera de fusión sin utilizar ninguna de las banderas de fusión decodificadas para el bloque izquierdo (A) y el bloque superior (B);
determinar (S208) un contexto predeterminado fijo para un índice de imagen de referencia sin utilizar ninguno de los índices de imagen de referencia decodificados para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto predeterminado fijo para una bandera residual sin utilizar ninguna de las banderas residuales decodificadas para el bloque izquierdo (A) y el bloque superior (B);
determinar (S208) un contexto predeterminado fijo para la información de predicción de croma intra sin usar ninguna de la información de predicción de croma intra decodificada para el bloque izquierdo (A) y el bloque superior (B);
determinar (S208) un contexto predeterminado fijo para una parámetro de diferencia sin utilizar ninguno de los parámetros de diferencia decodificadas para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto para cbf_luma usando una profundidad jerárquica del bloque actual sin usar ninguno de los cbf_luma decodificados para el bloque izquierdo (A) y el bloque superior (B); determinar (S208) un contexto para cbf_cb o cbf_cr usando una profundidad jerárquica del bloque actual sin usar ninguno de los cbf_cb o cbf_cr decodificados para el bloque izquierdo (A) y el bloque superior (B); y determinar (S208) un contexto para una información de interpredicción utilizando una profundidad jerárquica del bloque actual, sin utilizar ninguna de la información de interpredicción decodificada para el bloque izquierdo (A) y el bloque superior (B);
indicando el indicador de combinación si se utiliza o no un modo de combinación para predecir el bloque actual (C), el bloque actual se decodifica basándose en una predicción usando un vector de movimiento y el índice de imagen de referencia que se copian de un bloque vecino en el modo de fusión, el índice de imagen de referencia que indica una imagen de referencia utilizada para predecir el bloque actual (C), indicando el indicador residual si los datos del coeficiente de luminancia y los datos del coeficiente de crominancia están incluidos en el bloque actual (C), indicando la información de predicción de croma intra un modo de predicción de croma intra utilizado para la predicción intra de croma del bloque actual (C), indicando el parámetro de diferencia una diferencia entre un vector de movimiento y un predictor de vector de movimiento del bloque actual (C), indicando el "cbf_luma" si un bloque de transformación luma del bloque actual contiene o no uno o más niveles de coeficiente de transformación no iguales a 0, indicando el "cbf_cb" si un bloque de transformación Cb del bloque actual contiene o no uno o más niveles de coeficiente de transformación no iguales a 0, indicando el "cbf_cr" si un bloque de transformación Cr del bloque actual contiene o no uno o más niveles de coeficiente de transformación no iguales a 0, y la información de inter-predicción que indica cuál de uni-predicción y bi-predicción se utiliza para el bloque actual.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161502992P | 2011-06-30 | 2011-06-30 | |
PCT/JP2012/004068 WO2013001770A1 (ja) | 2011-06-30 | 2012-06-22 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2908152T3 true ES2908152T3 (es) | 2022-04-27 |
Family
ID=47390772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES12804632T Active ES2908152T3 (es) | 2011-06-30 | 2012-06-22 | Procedimiento de decodificación de imágenes |
Country Status (15)
Country | Link |
---|---|
US (10) | US8792739B2 (es) |
EP (2) | EP3944617A1 (es) |
JP (5) | JP5905884B2 (es) |
KR (1) | KR102007047B1 (es) |
CN (2) | CN103583048B (es) |
AU (1) | AU2012277220B2 (es) |
BR (1) | BR112013030562B1 (es) |
CA (1) | CA2837537C (es) |
ES (1) | ES2908152T3 (es) |
MX (2) | MX339141B (es) |
MY (1) | MY167090A (es) |
PL (1) | PL2728869T3 (es) |
RU (1) | RU2597473C2 (es) |
TW (1) | TWI564819B (es) |
WO (1) | WO2013001770A1 (es) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5914962B2 (ja) | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
KR101861714B1 (ko) | 2010-09-02 | 2018-05-28 | 엘지전자 주식회사 | 영상 부호화 및 복호화 방법과 이를 이용한 장치 |
USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
EP4228264B1 (en) | 2011-06-23 | 2024-07-31 | Sun Patent Trust | Image decoding device, image encoding device |
CN106878722B (zh) * | 2011-06-24 | 2019-11-12 | 太阳专利托管公司 | 解码方法、解码装置、编码方法、编码装置 |
KR102067683B1 (ko) | 2011-06-24 | 2020-01-17 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
RU2608244C2 (ru) | 2011-06-27 | 2017-01-17 | Сан Пэтент Траст | Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений |
CN103563377B (zh) | 2011-06-28 | 2017-05-10 | 太阳专利托管公司 | 解码方法及解码装置 |
MX2013010892A (es) | 2011-06-29 | 2013-12-06 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
AU2012277219A1 (en) | 2011-06-30 | 2013-09-19 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
MY167090A (en) * | 2011-06-30 | 2018-08-10 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
RU2604680C2 (ru) | 2011-07-11 | 2016-12-10 | Сан Пэтент Траст | Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений |
US9948938B2 (en) * | 2011-07-21 | 2018-04-17 | Texas Instruments Incorporated | Methods and systems for chroma residual data prediction |
US9571833B2 (en) * | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
JP5485969B2 (ja) * | 2011-11-07 | 2014-05-07 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
US9185405B2 (en) | 2012-03-23 | 2015-11-10 | Qualcomm Incorporated | Coded block flag inference in video coding |
US9473769B2 (en) * | 2012-06-08 | 2016-10-18 | Texas Instruments Incorporated | Method and system for reducing slice header parsing overhead in video coding |
US9936200B2 (en) | 2013-04-12 | 2018-04-03 | Qualcomm Incorporated | Rice parameter update for coefficient level coding in video coding process |
JP6118199B2 (ja) * | 2013-07-09 | 2017-04-19 | シャープ株式会社 | 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体。 |
US10021419B2 (en) * | 2013-07-12 | 2018-07-10 | Qualcomm Incorported | Rice parameter initialization for coefficient level coding in video coding process |
US9294766B2 (en) | 2013-09-09 | 2016-03-22 | Apple Inc. | Chroma quantization in video coding |
JP2015185897A (ja) * | 2014-03-20 | 2015-10-22 | パナソニックIpマネジメント株式会社 | 画像符号化方法及び画像符号化装置 |
KR20170128390A (ko) * | 2015-03-19 | 2017-11-22 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 이를 위한 장치 |
WO2016183814A1 (en) * | 2015-05-20 | 2016-11-24 | Mediatek Singapore Pte. Ltd. | Coded block flag coding using cross-component correlation |
EP3125108A1 (en) * | 2015-07-31 | 2017-02-01 | ARM Limited | Vector processing using loops of dynamic vector length |
JP6565885B2 (ja) * | 2016-12-06 | 2019-08-28 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム |
KR102601268B1 (ko) * | 2017-02-24 | 2023-11-10 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US10560723B2 (en) | 2017-05-08 | 2020-02-11 | Qualcomm Incorporated | Context modeling for transform coefficient coding |
WO2019146691A1 (ja) * | 2018-01-26 | 2019-08-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
KR102220474B1 (ko) | 2018-02-28 | 2021-02-25 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
US11470346B2 (en) * | 2018-05-09 | 2022-10-11 | Sharp Kabushiki Kaisha | Systems and methods for performing motion vector prediction using a derived set of motion vectors |
AU2018233042B2 (en) | 2018-09-21 | 2024-06-13 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a tree of blocks of video samples |
CN113170210A (zh) * | 2018-10-10 | 2021-07-23 | 交互数字Vc控股公司 | 视频编码和解码中的仿射模式信令 |
WO2020094067A1 (en) | 2018-11-06 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Simplified parameter derivation for intra prediction |
CN113170122B (zh) | 2018-12-01 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 帧内预测的参数推导 |
JP7317965B2 (ja) | 2018-12-07 | 2023-07-31 | 北京字節跳動網絡技術有限公司 | コンテキストベースのイントラ予測 |
WO2020122654A1 (ko) | 2018-12-12 | 2020-06-18 | 주식회사 윌러스표준기술연구소 | 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치 |
CN113302936B (zh) * | 2019-01-07 | 2024-03-19 | 北京字节跳动网络技术有限公司 | 用于具有MVD的Merge的控制方法 |
CN113273207A (zh) | 2019-01-10 | 2021-08-17 | 北京字节跳动网络技术有限公司 | 基于几何分区的具有运动矢量差(MVD)的Merge |
JP7399973B2 (ja) * | 2019-02-19 | 2023-12-18 | ヒューマックス・カンパニー・リミテッド | イントラ予測ベースのビデオ信号処理方法及び装置 |
BR112021015017B1 (pt) | 2019-02-24 | 2022-07-26 | Bytedance Inc. | Método e aparelho para codificar dados de vídeo, e, mídia de armazenamento |
CN118018730A (zh) * | 2019-06-20 | 2024-05-10 | Lg电子株式会社 | 解码和编码设备以及发送用于图像的数据的设备 |
AU2020372684B2 (en) * | 2019-11-01 | 2024-03-07 | Lg Electronics Inc. | Transform-based image coding method and device for same |
Family Cites Families (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53142227A (en) | 1977-05-18 | 1978-12-11 | Toshiba Shiyashin Youhin Kk | Light control type electrooflashing device |
JPS60125210A (ja) | 1983-12-08 | 1985-07-04 | Agency Of Ind Science & Technol | ポリイミド膜の製膜改善方法 |
JPS6225405A (ja) | 1985-07-26 | 1987-02-03 | 株式会社日立製作所 | 抵抗器の温度検出機構 |
JPS6225405U (es) | 1985-07-30 | 1987-02-16 | ||
JPS638448A (ja) | 1986-06-27 | 1988-01-14 | Nippon Synthetic Chem Ind Co Ltd:The | 樹脂組成物 |
JPS638448U (es) | 1986-07-03 | 1988-01-20 | ||
TW330976B (en) | 1995-12-18 | 1998-05-01 | Lg Electronics Inc | Constant temperature dehumidifying device for air regulator and control method thereof |
EP1404133A4 (en) | 2001-06-29 | 2010-04-21 | Ntt Docomo Inc | IMAGE ENCODER, IMAGE DECODER, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD |
US7457358B2 (en) | 2001-09-26 | 2008-11-25 | Interact Devices, Inc. | Polymorphic codec system and method |
US7457359B2 (en) | 2001-09-26 | 2008-11-25 | Mabey Danny L | Systems, devices and methods for securely distributing highly-compressed multimedia content |
ES2665693T3 (es) | 2001-11-06 | 2018-04-26 | Panasonic Intellectual Property Corporation Of America | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
US20040146109A1 (en) | 2002-04-19 | 2004-07-29 | Satoshi Kondo | Method for calculation motion vector |
KR100931746B1 (ko) | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
JP3807342B2 (ja) | 2002-04-25 | 2006-08-09 | 三菱電機株式会社 | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 |
JP2003319391A (ja) | 2002-04-26 | 2003-11-07 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
ES2277174T3 (es) | 2002-05-02 | 2007-07-01 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Codificacion aritmetica de coeficientes de transformacion. |
CN1666532A (zh) | 2002-07-02 | 2005-09-07 | 松下电器产业株式会社 | 图像编码方法和图像解码方法 |
KR100976017B1 (ko) | 2002-08-08 | 2010-08-17 | 파나소닉 주식회사 | 동화상의 부호화 방법 및 복호화 방법 |
US6795584B2 (en) | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
JP2004297768A (ja) | 2003-03-10 | 2004-10-21 | Mitsubishi Electric Corp | 映像信号符号化装置、および映像信号符号化方法 |
US8094715B2 (en) | 2003-03-10 | 2012-01-10 | Mitsubishi Denki Kabushiki Kaisha | Video signal encoding device and video signal encoding method |
US7945102B2 (en) | 2003-03-24 | 2011-05-17 | Sony Corporation | Data encoding apparatus, data encoding method, data output apparatus, data output method, signal processing system, signal processing apparatus, signal processing method, data decoding apparatus, and data decoding method |
US7630440B2 (en) | 2003-05-28 | 2009-12-08 | Broadcom Corporation | Context adaptive binary arithmetic code decoding engine |
US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7379608B2 (en) | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
TWI330976B (en) | 2003-12-05 | 2010-09-21 | Trident Microsystems Far East | Method and apparatus for encoding/decoding dynamic graphic content |
JP2005184042A (ja) | 2003-12-15 | 2005-07-07 | Sony Corp | 画像復号装置及び画像復号方法並びに画像復号プログラム |
EP1551185A1 (en) | 2004-01-05 | 2005-07-06 | Thomson Licensing S.A. | Encoding method, decoding method, and encoding apparatus for a digital picture sequence |
US20090102973A1 (en) | 2004-01-09 | 2009-04-23 | Harris Scott C | Video split device |
KR100608050B1 (ko) | 2004-01-14 | 2006-08-02 | 삼성전자주식회사 | 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법 |
US8175444B2 (en) | 2004-01-14 | 2012-05-08 | Samsung Electronics Co., Ltd. | Method of reproducing from storage medium storing interactive graphics stream activated in response to user's command |
US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
PL1709801T3 (pl) | 2004-01-30 | 2013-02-28 | Panasonic Ip Corp America | Sposób dekodowania video z wykorzystaniem adaptacyjnych macierzy kwantyzacji |
US7469070B2 (en) | 2004-02-09 | 2008-12-23 | Lsi Corporation | Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements |
JP4273996B2 (ja) | 2004-02-23 | 2009-06-03 | ソニー株式会社 | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
EP1743338B1 (en) | 2004-04-28 | 2009-09-16 | Panasonic Corporation | Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus |
US20070160147A1 (en) | 2004-06-25 | 2007-07-12 | Satoshi Kondo | Image encoding method and image decoding method |
AU2004321469B2 (en) | 2004-07-14 | 2009-08-20 | Agency For Science, Technology And Research | Context-based encoding and decoding of signals |
KR20060016243A (ko) | 2004-08-17 | 2006-02-22 | 엘지전자 주식회사 | 감시용 디지털 비디오 레코더에서의 멀티 채널 영상표시장치 및 방법 |
JP4375305B2 (ja) | 2004-10-26 | 2009-12-02 | ソニー株式会社 | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
US20060120461A1 (en) | 2004-12-06 | 2006-06-08 | Roy Knight | Two processor architecture supporting decoupling of outer loop and inner loop in video decoder |
WO2006075901A1 (en) | 2005-01-14 | 2006-07-20 | Sungkyunkwan University | Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding |
CN101133650B (zh) | 2005-04-01 | 2010-05-19 | 松下电器产业株式会社 | 图像解码装置以及图像解码方法 |
RU2371881C1 (ru) | 2005-07-08 | 2009-10-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации |
US8320453B2 (en) | 2005-07-08 | 2012-11-27 | Lg Electronics Inc. | Method for modeling coding information of a video signal to compress/decompress the information |
JP2009510807A (ja) | 2005-07-08 | 2009-03-12 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号のコーディング情報を圧縮/展開するためにコーディング情報モデリング方法 |
US20080137744A1 (en) | 2005-07-22 | 2008-06-12 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US8488889B2 (en) | 2005-07-22 | 2013-07-16 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
WO2007010690A1 (ja) * | 2005-07-22 | 2007-01-25 | Mitsubishi Electric Corporation | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、ならびに画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体、画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US20080130989A1 (en) | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20080123947A1 (en) | 2005-07-22 | 2008-05-29 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein |
US20080130988A1 (en) | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20090123066A1 (en) | 2005-07-22 | 2009-05-14 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein, |
US20080123977A1 (en) | 2005-07-22 | 2008-05-29 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US8509551B2 (en) | 2005-07-22 | 2013-08-13 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program |
US20080165849A1 (en) | 2005-07-22 | 2008-07-10 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20090034857A1 (en) | 2005-07-22 | 2009-02-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20080130990A1 (en) | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
CN100584025C (zh) | 2005-08-04 | 2010-01-20 | 华为技术有限公司 | 一种基于内容自适应的算术解码***及装置 |
US7894523B2 (en) | 2005-09-05 | 2011-02-22 | Lg Electronics Inc. | Method for modeling coding information of a video signal for compressing/decompressing coding information |
US7595743B1 (en) | 2005-10-26 | 2009-09-29 | Lsi Corporation | System and method for reducing storage requirements for content adaptive binary arithmetic coding |
JP5089878B2 (ja) | 2005-10-28 | 2012-12-05 | パナソニック株式会社 | 画像符号化装置 |
US9479794B2 (en) | 2005-11-10 | 2016-10-25 | Freescale Semiconductor, Inc. | Resource efficient video processing via prediction error computational adjustments |
CN100440979C (zh) | 2005-12-15 | 2008-12-03 | 清华大学 | 基于上下文的自适应二维变长解码方法和装置 |
GB0600141D0 (en) * | 2006-01-05 | 2006-02-15 | British Broadcasting Corp | Scalable coding of video signals |
KR101215615B1 (ko) | 2006-01-10 | 2012-12-26 | 삼성전자주식회사 | 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치 |
US7983343B2 (en) * | 2006-01-12 | 2011-07-19 | Lsi Corporation | Context adaptive binary arithmetic decoding for high definition video |
WO2007079781A1 (en) | 2006-01-13 | 2007-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Picture coding using adaptive colour space transformation |
US20070200949A1 (en) | 2006-02-21 | 2007-08-30 | Qualcomm Incorporated | Rapid tuning in multimedia applications |
KR100750165B1 (ko) | 2006-02-22 | 2007-08-17 | 삼성전자주식회사 | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 |
JP2007300517A (ja) | 2006-05-02 | 2007-11-15 | Sony Corp | 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置 |
US7656326B2 (en) | 2006-06-08 | 2010-02-02 | Via Technologies, Inc. | Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit |
US7262722B1 (en) | 2006-06-26 | 2007-08-28 | Intel Corporation | Hardware-based CABAC decoder with parallel binary arithmetic decoding |
JP4787100B2 (ja) | 2006-07-27 | 2011-10-05 | パナソニック株式会社 | 画像符号化装置 |
US9883202B2 (en) | 2006-10-06 | 2018-01-30 | Nxp Usa, Inc. | Scaling video processing complexity based on power savings factor |
WO2008072592A1 (ja) * | 2006-12-14 | 2008-06-19 | Nec Corporation | 映像符号化方法、映像符号化装置および映像符号化プログラム |
KR20140101872A (ko) | 2007-01-11 | 2014-08-20 | 톰슨 라이센싱 | Mpeg-4 avc 하이 레벨 코딩에 있어서 cavlc 4:4:4 인트라 프로파일, high 4:4:4 인트라 프로파일, 및 high 4:4:4 예측 프로파일에 대하여 coded_block_flag 신택스 엘리먼트 및 coded_block_pattern 신택스 엘리먼트의 신택스를 사용하는 방법 및 장치 |
US8204129B2 (en) | 2007-03-27 | 2012-06-19 | Freescale Semiconductor, Inc. | Simplified deblock filtering for reduced memory access and computational complexity |
WO2008127597A2 (en) | 2007-04-12 | 2008-10-23 | Thomson Licensing | Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding |
JP2008289125A (ja) | 2007-04-20 | 2008-11-27 | Panasonic Corp | 算術復号化装置及びその方法 |
CN100531386C (zh) | 2007-06-15 | 2009-08-19 | 上海富瀚微电子有限公司 | 一种上下文自适应二进制算术编码器及其方法 |
RU2339181C1 (ru) * | 2007-06-25 | 2008-11-20 | Государственное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Способ передачи дополнительной информации при фрактальном кодировании изображений |
US8422803B2 (en) | 2007-06-28 | 2013-04-16 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method and image decoding method |
EP2191652B1 (en) | 2007-09-02 | 2017-02-08 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
TWI339074B (en) | 2007-09-05 | 2011-03-11 | Via Tech Inc | Operating method and device of coded block flag parameter |
US7777654B2 (en) | 2007-10-16 | 2010-08-17 | Industrial Technology Research Institute | System and method for context-based adaptive binary arithematic encoding and decoding |
CN101478672B (zh) | 2008-01-04 | 2012-12-19 | 华为技术有限公司 | 视频编码、解码方法及装置和视频处理*** |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
JP4962400B2 (ja) | 2008-04-30 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
US7592937B1 (en) * | 2008-06-02 | 2009-09-22 | Mediatek Inc. | CABAC decoding unit and method |
KR20090129926A (ko) | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
FR2932911A1 (fr) | 2008-06-24 | 2009-12-25 | France Telecom | Procede et dispositif de remplissage des zones d'occultation d'une carte de profondeur ou de disparites estimee a partir d'au moins deux images. |
CN102090065A (zh) * | 2008-07-10 | 2011-06-08 | 三菱电机株式会社 | 图像编码装置、图像解码装置、图像编码方法以及图像解码方法 |
US8594366B2 (en) | 2008-08-19 | 2013-11-26 | Thomson Licensing | Context-based adaptive binary arithmetic coding (CABAC) video stream compliance |
US8634457B2 (en) | 2008-09-26 | 2014-01-21 | Qualcomm Incorporated | Determining availability of video data units |
US7932843B2 (en) * | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
EP2182732A1 (en) * | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
WO2010125606A1 (en) | 2009-04-29 | 2010-11-04 | Aspa-Japan Co., Ltd. | Method for image data compression and compression system of image data |
KR20120129944A (ko) | 2010-02-10 | 2012-11-28 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
US9237355B2 (en) | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
WO2011125211A1 (ja) | 2010-04-08 | 2011-10-13 | 株式会社 東芝 | 画像符号化方法及び画像復号化方法 |
CN102215396A (zh) | 2010-04-09 | 2011-10-12 | 华为技术有限公司 | 一种视频编解码方法和*** |
US8942282B2 (en) | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
US20110249754A1 (en) | 2010-04-12 | 2011-10-13 | Qualcomm Incorporated | Variable length coding of coded block pattern (cbp) in video compression |
KR102481529B1 (ko) | 2010-04-13 | 2022-12-23 | 지이 비디오 컴프레션, 엘엘씨 | 평면 간 예측 |
HUE057597T2 (hu) | 2010-04-13 | 2022-05-28 | Ge Video Compression Llc | Videó kódolás képek többes fa struktúrájú alosztásainak használatával |
KR102415787B1 (ko) | 2010-05-04 | 2022-06-30 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
US20110310976A1 (en) | 2010-06-17 | 2011-12-22 | Qualcomm Incorporated | Joint Coding of Partition Information in Video Coding |
RS57809B1 (sr) | 2010-07-09 | 2018-12-31 | Samsung Electronics Co Ltd | Metod za dekodiranje video zapisa korišćenjem objedinjavanja blokova |
KR20120016980A (ko) | 2010-08-17 | 2012-02-27 | 한국전자통신연구원 | 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치 |
KR101719448B1 (ko) | 2010-09-27 | 2017-03-23 | 엘지전자 주식회사 | 블록 분할 방법 및 복호화 장치 |
US8885704B2 (en) | 2010-10-01 | 2014-11-11 | Qualcomm Incorporated | Coding prediction modes in video coding |
CN107360427B (zh) | 2010-10-08 | 2020-09-01 | Ge视频压缩有限责任公司 | 编码器和编码方法与解码器和解码方法 |
PL3962088T3 (pl) | 2010-11-04 | 2023-11-27 | Ge Video Compression, Llc | Kodowanie obrazu wspomagające scalanie bloków i tryb przeskoku |
US9008181B2 (en) | 2011-01-24 | 2015-04-14 | Qualcomm Incorporated | Single reference picture list utilization for interprediction video coding |
US9866861B2 (en) | 2011-02-09 | 2018-01-09 | Lg Electronics Inc. | Method for encoding and decoding image and device using same |
US20120224639A1 (en) | 2011-03-03 | 2012-09-06 | General Instrument Corporation | Method for interpolating half pixels and quarter pixels |
US9788019B2 (en) | 2011-03-09 | 2017-10-10 | Hfi Innovation Inc. | Method and apparatus of transform unit partition with reduced complexity |
EP3937497B1 (en) | 2011-03-21 | 2023-02-22 | LG Electronics, Inc. | Motion vector predictor selection |
EP2716046A4 (en) | 2011-05-27 | 2014-09-03 | Mediatek Inc | METHOD AND APPARATUS FOR CIRCUIT BREAKER REDUCTION FOR VIDEO PROCESSING |
US8995523B2 (en) | 2011-06-03 | 2015-03-31 | Qualcomm Incorporated | Memory efficient context modeling |
CN103621081B (zh) | 2011-06-10 | 2016-12-21 | 寰发股份有限公司 | 可伸缩视频编码方法及装置 |
EP4228264B1 (en) | 2011-06-23 | 2024-07-31 | Sun Patent Trust | Image decoding device, image encoding device |
KR102067683B1 (ko) | 2011-06-24 | 2020-01-17 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
CN106878722B (zh) * | 2011-06-24 | 2019-11-12 | 太阳专利托管公司 | 解码方法、解码装置、编码方法、编码装置 |
RU2608244C2 (ru) | 2011-06-27 | 2017-01-17 | Сан Пэтент Траст | Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений |
CN103563377B (zh) | 2011-06-28 | 2017-05-10 | 太阳专利托管公司 | 解码方法及解码装置 |
MX2013010892A (es) | 2011-06-29 | 2013-12-06 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
AU2012277219A1 (en) | 2011-06-30 | 2013-09-19 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
US20130003858A1 (en) | 2011-06-30 | 2013-01-03 | Vivienne Sze | Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements |
MY167090A (en) * | 2011-06-30 | 2018-08-10 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
MX2014000162A (es) | 2011-07-01 | 2014-02-19 | Samsung Electronics Co Ltd | Metodo y aparato para codificacion de entropia usando unidad de datos jerargicos, y metodo y aparato para decodificacion. |
RU2604680C2 (ru) | 2011-07-11 | 2016-12-10 | Сан Пэтент Траст | Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений |
US8804816B2 (en) | 2011-08-30 | 2014-08-12 | Microsoft Corporation | Video encoding enhancements |
US20130188741A1 (en) | 2012-01-21 | 2013-07-25 | General Instrument Corporation | Devices and methods for sample adaptive offset coding and/or selection of band offset parameters |
ES2746824T3 (es) | 2012-06-11 | 2020-03-09 | Samsung Electronics Co Ltd | Codificación y decodificación de video compartiendo parámetros SAO según un componente de color |
-
2012
- 2012-06-22 MY MYPI2013702279A patent/MY167090A/en unknown
- 2012-06-22 MX MX2015008554A patent/MX339141B/es unknown
- 2012-06-22 ES ES12804632T patent/ES2908152T3/es active Active
- 2012-06-22 PL PL12804632T patent/PL2728869T3/pl unknown
- 2012-06-22 CA CA2837537A patent/CA2837537C/en active Active
- 2012-06-22 RU RU2013152614/08A patent/RU2597473C2/ru active
- 2012-06-22 EP EP21197078.5A patent/EP3944617A1/en active Pending
- 2012-06-22 MX MX2013013209A patent/MX2013013209A/es active IP Right Grant
- 2012-06-22 CN CN201280025858.2A patent/CN103583048B/zh active Active
- 2012-06-22 BR BR112013030562-2A patent/BR112013030562B1/pt active IP Right Grant
- 2012-06-22 EP EP12804632.3A patent/EP2728869B1/en active Active
- 2012-06-22 WO PCT/JP2012/004068 patent/WO2013001770A1/ja active Application Filing
- 2012-06-22 CN CN201710263791.0A patent/CN107181948B/zh active Active
- 2012-06-22 KR KR1020137031498A patent/KR102007047B1/ko active IP Right Grant
- 2012-06-22 JP JP2013522745A patent/JP5905884B2/ja active Active
- 2012-06-22 AU AU2012277220A patent/AU2012277220B2/en active Active
- 2012-06-28 TW TW101123231A patent/TWI564819B/zh active
- 2012-06-28 US US13/535,527 patent/US8792739B2/en active Active
-
2014
- 2014-06-13 US US14/304,274 patent/US9154780B2/en active Active
-
2015
- 2015-08-27 US US14/837,546 patent/US9525881B2/en active Active
-
2016
- 2016-03-17 JP JP2016054354A patent/JP6044860B2/ja active Active
- 2016-11-02 JP JP2016214751A patent/JP6233760B2/ja active Active
- 2016-11-07 US US15/330,776 patent/US9794571B2/en active Active
-
2017
- 2017-09-08 US US15/699,115 patent/US10165277B2/en active Active
- 2017-10-13 JP JP2017199012A patent/JP6436367B2/ja active Active
-
2018
- 2018-10-31 JP JP2018204584A patent/JP6631893B2/ja active Active
- 2018-11-02 US US16/179,133 patent/US10382760B2/en active Active
-
2019
- 2019-06-26 US US16/452,842 patent/US10595022B2/en active Active
-
2020
- 2020-02-04 US US16/781,661 patent/US11356666B2/en active Active
-
2022
- 2022-05-03 US US17/735,587 patent/US11792400B2/en active Active
-
2023
- 2023-09-11 US US18/244,448 patent/US20230421767A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6712779B2 (ja) | 復号方法、復号装置、符号化方法、符号化装置、符号化復号方法及び符号化復号装置 | |
ES2908152T3 (es) | Procedimiento de decodificación de imágenes | |
JP6650604B2 (ja) | 復号方法及び復号装置 | |
JP6685021B2 (ja) | 符号化装置、符号化方法、符号化復号装置及び符号化復号方法 | |
ES2784552T3 (es) | Procedimiento de decodificación de imagen, aparato de decodificación de imagen | |
JP2018113710A (ja) | 符号化復号方法 | |
WO2013001767A1 (ja) | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 | |
WO2013001769A1 (ja) | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |