ES2755726T3 - Procedimiento de codificación y aparato de codificación - Google Patents

Procedimiento de codificación y aparato de codificación Download PDF

Info

Publication number
ES2755726T3
ES2755726T3 ES18182923T ES18182923T ES2755726T3 ES 2755726 T3 ES2755726 T3 ES 2755726T3 ES 18182923 T ES18182923 T ES 18182923T ES 18182923 T ES18182923 T ES 18182923T ES 2755726 T3 ES2755726 T3 ES 2755726T3
Authority
ES
Spain
Prior art keywords
block
context
unit
type
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18182923T
Other languages
English (en)
Inventor
Hisao Sasai
Takahiro Nishi
Youji Shibahara
Toshiyasu Sugio
Kyoko Tanikawa
Toru Matsunobu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Patent Trust Inc
Original Assignee
Sun Patent Trust Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Patent Trust Inc filed Critical Sun Patent Trust Inc
Application granted granted Critical
Publication of ES2755726T3 publication Critical patent/ES2755726T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream

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 codificación para codificar un parámetro de control para controlar la codificación de una imagen, comprendiendo el procedimiento de codificación: determinar (S102, S103) un contexto para un bloque actual en la imagen, de entre una pluralidad de contextos; y realizar (S209) codificación aritmética en el parámetro de control para el bloque actual, usando el contexto determinado para generar una secuencia de bits que corresponde al bloque actual; caracterizado porque la determinación (S102, S103) incluye adicionalmente: determinar (S104) un tipo de señal en virtud de la cual se clasifica el parámetro de control para el bloque actual; determinar (S105) el contexto usando ambos parámetros de control codificados para un bloque izquierdo y un bloque superior, cuando el tipo de señal es un primer tipo, siendo el bloque izquierdo un bloque vecino a la izquierda del bloque actual y siendo el bloque superior un bloque vecino encima del bloque actual; y determinar (S107) el contexto usando una profundidad jerárquica de una unidad de datos a la que pertenece el parámetro de control para el bloque actual, sin usar ninguno de los parámetros de control codificados para el bloque izquierdo y el bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y en el que una de una bandera de división y una bandera de salto se clasifica en el primer tipo, indicando la bandera de división si el bloque actual está o no dividido en una pluralidad de bloques, e indicando la bandera de salto si el bloque actual tiene o no que saltarse, y en el que información de inter predicción se clasifica en el segundo tipo, indicando la información de inter predicción cuál de unipredicción y bipredicción se usa para la predicción del bloque actual.

Description

DESCRIPCIÓN
Procedimiento de codificación y aparato de codificación
Campo técnico
La presente invención se refiere a un procedimiento de decodificación de imagen, un procedimiento de codificación de imagen, un aparato de decodificación de imagen, un aparato de codificación de imagen y un aparato de codificación y decodificación de imagen y, en particular, a un procedimiento de decodificación de imagen, un procedimiento de codificación de imagen, un aparato de decodificación de imagen, un aparato de codificación de imagen y un aparato de codificación y decodificación de imagen que usan codificación aritmética o decodificación aritmética.
Antecedentes de la técnica
Las señales de imagen naturales tienen variaciones estadísticas que muestran comportamiento no estacionario. Uno de los procedimientos de codificación por entropía que usa las variaciones estadísticas no estacionarias es Codificación Aritmética Binaria Adaptativa según Contexto (CABAC) (véase NPL 1). CABAC se emplea como la norma de ITU-T/ISOIEC para codificación de video, H.264/AVC.
El significado de las expresiones usadas en el esquema de CABAC se describirá en lo sucesivo.
(1) "Adaptativo Basado en Contexto" significa adaptar los procedimientos de codificación y decodificación a las variaciones estadísticas. En otras palabras, "Adaptativo Basado en Contexto" significa predecir una probabilidad apropiada como una probabilidad de ocurrencia de un símbolo junto con un evento de condiciones circundantes, cuando el símbolo se codifica o decodifica. 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 usando un evento real o una secuencia de eventos F(z) como una condición.
(2) "Binario" significa representación de un símbolo usando una secuencia binaria. Un símbolo representado por un valor múltiple se correlaciona una vez con una secuencia binaria denominada como "cadena bin". Una probabilidad predicha (probabilidad condicional) se conmuta y usa para cada uno de los elementos de secuencia, y ocurrencia de uno de los eventos de los dos valores se representa mediante una secuencia de bits. Por consiguiente, la probabilidad de un valor puede gestionarse (inicializarse y actualizarse) usando una unidad (unidad de elemento binario) más pequeña que una unidad de un tipo de señal (véase la Figura 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 del 0,5 (50 %) necesita asociarse con una secuencia binaria (secuencia de bits). Por lo tanto, un valor con la mayor probabilidad necesita asociarse con un bit para un símbolo como mínimo. En contraste, la codificación aritmética puede representar la ocurrencia de un evento con una mayor probabilidad mediante un entero igual a o más pequeño que un bit. Cuando (i) existe un tipo de señal en la que 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 se produce de forma sucesiva N veces, no existe la necesidad de emitir datos de 1 bit N veces para cada valor de "0".
Lista de citas
Bibliografía no de patente
[NPL 1] Detlev Marpe, et. al., "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", Transacción en circuitos y sistemas para tecnología de video de IEEE, Vol. 13, N°. 7, julio de 2003.
[NPL 2] Equipo de Colaboración Mixto sobre Codificación de Video (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 4a Reunión: Daegu, KR, 20-28 de enero de 2011 "WD2: Working Draft 2 of High-Efficiency Video Coding", JCTVCD503 http://wftp3.itu.int/av-arch/jctvc-site/2011-01-D_Daegu/JCTVC-D503.doc
[NPL 3] Equipo de Colaboración Mixto sobre Codificación de Video (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 4a Reunión: Daegu, KR, 20-28 de enero de 2011, "Common test conditions and software reference configurations", JCTVC-E700
[NPL 4] Gisle Bj0ntegaard, "Improvements of the BD-PSNR model," Documento ITU-T SG16 Q.6, VCEG-AI11, Berlín, julio de 2008
[NPL 5] WIEGAND T Y COL.: "WD3: Working Draft 3 of High-Efficiency Video Coding", 20110330, n°. JCTVC-E603, 30 de marzo de 2011 (30-03-2011)
[NPL 6]XIAOYIN CHE Y COL.: "Enhanced Context Modeling for Skip and Split Flag", 4. REUNIÓN de JCT-VC; 95. REUNIÓN de MPEG; 20-1-2001 - 28-1-2001; DAEGU; (EQUIPO DE COLABORACIÓN MIXTO SOBRE CODIFICACIÓN DE VIDEO DE ISO/IEC JTC1/SC29/WG11 Y ITU-T SG. 16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n°. JCTVC-D254, 18 de enero de 2011
Sumario de la invención
Problema técnico
En un procedimiento de codificación de imagen de este tipo y un procedimiento de decodificación de imagen, se desea que se reduzca el uso de memoria (capacidad de memoria a usar).
En el presente documento, la presente invención tiene un objeto de proporcionar un procedimiento de codificación de imagen o un procedimiento de decodificación de imagen que puede reducir el uso de memoria. Esto se consigue mediante las características de las reivindicaciones independientes.
Solución al problema
Con el fin de alcanzar el objeto, el procedimiento de decodificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de decodificación de imagen que usa una 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 decodificación aritmética en una secuencia de bits correspondiente al bloque actual, usar el contexto determinado para decodificar una secuencia binaria, siendo la secuencia de bits obtenida realizando codificación aritmética en un parámetro de control del bloque actual; y bunarizar inversamente la secuencia binaria para deocidificar 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 de que los parámetros de control decodificados de los bloques vecinos del bloque actual se usan, cuando el tipo de señal es un primer tipo, siendo los bloques vecinos 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 “inter_pred_flag”, el primer tipo es uno de “split_coding_unit_flag” y “skip_flag” y el segundo tipo es “inter_pred_flag”.
Efectos ventajosos de la invención
La presente invención puede proporcionar un procedimiento de codificación de imagen o un procedimiento de decodificación de imagen que puede reducir el uso de memoria.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques funcional de un aparato de codificación de imagen de acuerdo con la realización 1.
La Figura 2 es un diagrama de bloques funcional de una unidad de codificación de longitud variable de acuerdo con la realización 1.
La Figura 3 es una tabla de un modelo de contexto de un parámetro de control de acuerdo con la realización 1. La Figura 4 es un diagrama de flujo que indica un procedimiento de codificación aritmética de acuerdo con la realización 1.
La Figura 5 es un diagrama de bloques funcional de un aparato de decodificación de imagen de acuerdo con la realización 2.
La Figura 6 es un diagrama de bloques funcional de una unidad de decodificación de longitud variable de acuerdo con la realización 2.
La Figura 7 es un diagrama de flujo que indica un procedimiento de decodificación aritmética de acuerdo con la realización 2.
La Figura 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.
La Figura 9 ilustra bloques divididos (una estructura de árbol) de acuerdo con HEVC de acuerdo con la realización 2.
La Figura 10 ilustra una estructura de bloque multicapa de acuerdo con la realización 2.
La Figura 11 ilustra un procedimiento de decodificación aritmética para split_coding_unit_flag de acuerdo con la realización 3.
La Figura 12A es una tabla que indica un resultado de verificación en split_coding_unit_flag de acuerdo con la realización 3.
La Figura 12B es una tabla que indica un resultado de verificación en split_coding_unit_flag de acuerdo con la realización 3.
La Figura 13 ilustra un procedimiento de decodificación aritmética para skip_flag de acuerdo con la realización 3. La Figura 14A es una tabla que indica un resultado de verificación en skip_flag de acuerdo con la realización 3. La Figura 14B es una tabla que indica un resultado de verificación en skip_flag de acuerdo con la realización 3. La Figura 15 es una tabla que indica un procedimiento de decodificación aritmética para inter_pred_flag de acuerdo con la realización 3.
La Figura 16A es una tabla que indica un resultado de verificación en inter_pred_flag de acuerdo con la realización 3.
La Figura 16B es una tabla que indica un resultado de verificación en inter_pred_flag de acuerdo con la realización 3.
La Figura 17 ilustra modelos de contexto usando valores de parámetros de control que corresponde a dos bloques vecinos de acuerdo con las realizaciones.
La Figura 18 ilustra aumento en uso de memoria cuando se usa un bloque superior de acuerdo con las realizaciones.
La Figura 19 ilustra una configuración global de un sistema de suministro de contenido de implementación de servicios de distribución de contenido.
La Figura 20 ilustra una configuración global de un sistema de difusión digital.
La Figura 21 es un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La Figura 22 es 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 de o en un medio de grabación que es un disco óptico.
La Figura 23 ilustra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La Figura 24A ilustra un ejemplo de un teléfono celular.
La Figura 24B ilustra un diagrama de bloques que muestra un ejemplo de una configuración del teléfono celular. La Figura 25 ilustra una estructura de datos multiplexados.
La Figura 26 ilustra esquemáticamente cómo se multiplexa cada flujo en datos multiplexados.
La Figura 27 ilustra cómo se almacena un flujo de video en el flujo de paquetes PES en más detalle.
La Figura 28 ilustra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
La Figura 29 ilustra una estructura de datos de una PMT.
La Figura 30 ilustra una estructura interna de información de datos multiplexados.
La Figura 31 ilustra una estructura interna de información de atributo de flujo.
La Figura 32 ilustra etapas de identificación de datos de video.
La Figura 33 es un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado de implementación del procedimiento de codificación de imagen en movimiento y el procedimiento de decodificación de imagen en movimiento de acuerdo con cada una de las realizaciones.
La Figura 34 ilustra una configuración de conmutación entre frecuencias de accionamiento.
La Figura 35 ilustra etapas de identificación de datos de video y conmutación entre frecuencias de accionamiento.
La Figura 36 ilustra un ejemplo de una tabla de correspondencia en la que las normas de datos de video se asocian con las frecuencias de accionamiento.
La Figura 37A ilustra un ejemplo de una configuración de compartición de un módulo de una unidad de procesamiento de señales.
La Figura 37B ilustra otro ejemplo de una configuración de compartición de un módulo de una unidad de procesamiento de señales.
Descripción de realizaciones
(Conocimiento en el que se basa la presente invención)
Los presentes inventores han encontrado los siguientes problemas.
En Codificación de Video de Alta Eficiencia (HEVC) que es un esquema de codificación de video 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 una secuencia de bits codificado y es un parámetro (bandera, etc.) usado en 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 valor múltiple, un valor binario, una secuencia binaria (cadena bin). En el presente documento, "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 a considerar como una condición es apropiado. Ya que las condiciones se dividen en categorías más pequeñas, es decir, a medida que el número de condiciones t aumenta, el número de los casos que se mantienen ciertos para las condiciones disminuye. Como resultado, ya que el número de capacitaciones disminuye, la precisión de la probabilidad predicha disminuye (por ejemplo, véase "efecto de dilución" en NPL 1). Adicionalmente, el descenso en el número de condiciones indica no considerar un contexto (condiciones circundantes) y no ser adaptativo a las variaciones estadísticas.
En el diseño de un modelo de contexto, después de determinar una orientación para el diseño del modelo, es necesario considerar la validez del modelo llevando a cabo verificaciones especializadas para una imagen, tal como las verificaciones de variaciones estadísticas en detalles de una imagen y en parámetro de control de control de codificación y decodificación de una imagen.
En H.264, usar eventos avanzados de un número limitado para la codificación de un símbolo es un criterio de una regla y los modelos de contexto se clasifican en cuatro tipos de diseño básicos.
El primer y segundo tipos se refieren a 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 (véase NPL 1). Aunque la definición de los dos valores codificados vecinos depende de cada tipo de señal, normalmente, se usan valores de correspondientes parámetros de control incluidos en bloques vecinos a la izquierda y arriba del bloque actual.
El segundo tipo de modelos de contexto es un tipo de determinación de un contexto a base de un árbol binario como una 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 tipos de modelos de contexto se refieren a codificación y decodificación de valores residuales (datos residuales), tal como datos de imagen. El tercer tipo usa únicamente los valores codificados anteriormente o decodificados en el orden de exploración de coeficientes de frecuencia (o coeficientes cuantificados). El cuarto tipo determina un contexto de acuerdo con los valores decodificados y acumulados (niveles).
Las ventajas del principio de diseño e implementación del modelo de transición de probabilidad en H.264, tal como el primer tipo, se han estudiado durante mucho tiempo y se aplicarán a HEVC que se está estudiando (véase NPL 2). Por ejemplo, el primer tipo (modelo de contexto usando 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, intra_chroma_pred_mode, inter_pred_flag, ref_idx_lc, ref_idx_l0, ref_idx_l1, mvd_l0, mvd_l1, mvd_lc, no_residual_data_flag, cbf_luma, cbf_cb y cbf_cr (véase 9.3.3.1.1 de NPL 2).
Sin embargo, los presentes inventores han encontrado que existe un problema en el uso de memoria en codificación usando el "modelo de contexto usando los dos bloques vecinos" del primer tipo.
La Figura 17 ilustra modelos de contexto usando valores de parámetros de control que corresponden a los dos bloques vecinos. Adicionalmente, la Figura 17 ilustra los modelos de contexto usando los bloques vecinos en H. 264. El bloque C en la Figura 17 incluye un valor de un parámetro de control SE a codificar y decodificar en la actualidad. Cuando el valor del parámetro de control SE se codifica, se usan valores de parámetros de control SE del mismo tipo incluidos en el bloque superior A y el bloque izquierdo B que ya se han codificado. 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 cadena bin del parámetro de control SE) es 1 o 0 se predice a base de 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 Figura 18 ilustra aumento en uso de memoria cuando se usa un bloque superior.
En la Figura 18, (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) incluido el bloque C. En el presente documento, el bloque C es un bloque que incluye un parámetro de control (por ejemplo, skip_flag) a codificar en la actualidad. Adicionalmente, (xP, yA) en la Figura 18 es una posición de un píxel que se incluye en el bloque B y se usa como una condición A (valor del parámetro de control skip_flag del bloque superior). Adicionalmente, (xL, yP) en la Figura 18 es una posición de un píxel que se incluye en el bloque A y se usa como una 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 el resultado de determinación de una condición) que corresponde a la posición (xP, yA) incluida en el bloque superior B y la posición (xL, yP) incluida en el bloque izquierdo A. Suponiendo que la instantánea tiene una anchura 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 Figura 18). En otras palabras, un parámetro de control necesita la capacidad de memoria obtenida por 4096 píxeles/tamaño de bloque.
En el presente documento, 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 puede predecirse cuando los bloques en la fila superior (Línea L) que incluye (xP, yA) se codifican o decodifican. Esto es porque 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. Por lo tanto, 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 de bloque mínimo, suponiendo 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 Figura 18 indican condiciones que tienen que mantenerse, 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 Figura 18 (el bloque izquierdo A y el bloque superior B) siguen el concepto de los bloques vecinos en H.264, y no se introduce ninguna perspectiva sobre la división de bloques jerárquicos. Como se describe a continuación, existen casos en los que tales valores condicionales a los que hace referencia en la Figura 18 no siempre tienen sentido para parámetros de control adaptados a la división de árbol cuádruple recursiva a introducir en HEVC, porque los parámetros de control siguen el orden de ejecución recursivo, la profundidad jerárquica o posiciones de bloques.
Como tal, los presentes inventores han encontrado que el uso de memoria aumenta usando los valores condicionales de los bloques superiores en la realización de codificación aritmética o decodificación en los parámetros de control. Adicionalmente, los presentes inventores han encontrado que el uso de memoria aumenta adicionalmente en HEVC.
En contraste, el procedimiento de decodificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de decodificación de imagen usando 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 decodificación aritmética en una secuencia de bits que corresponde al bloque actual, usando el contexto determinado para decodificar una secuencia binaria, obteniéndose la secuencia de bits realizando codificación aritmética en un parámetro de control del bloque actual; y binarizando inversamente 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 en una primera condición de que se usan parámetros de control decodificados de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, siendo los bloques vecinos un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto en una segunda condición de que no se usa el parámetro de control decodificado del bloque superior, 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 "inter_pred_flag".
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, ya que el parámetro de control del bloque superior no se usa para un parámetro de control del segundo tipo, no existe necesidad de mantener el parámetro de control del segundo tipo del bloque superior. Con la estructura, en comparación con el caso en el que el bloque izquierdo y el bloque superior se usan como uniformemente "usando un modelo de contexto a base de 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 apropiadamente el uso de memoria del parámetro de control del segundo tipo sin, por ejemplo, fallar en evaluar una tasa de BD de una imagen.
Adicionalmente, de acuerdo con el procedimiento de decodificación de imagen, puede usarse el contexto apropiado para una estructura de árbol jerárquico que es una estructura de datos que no se considera en e1H.264 convencional y es única a la nueva norma HEVC. Como alternativa, puede realizarse referencia de memoria.
Adicionalmente, la segunda condición puede ser una condición de que no se usan parámetros de control decodificados del bloque izquierdo y el bloque superior.
Con la estructura, el procedimiento de decodificación de imagen puede reducir el uso de memoria no usando 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, un contexto predeterminado puede determinarse en 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, el contexto puede determinarse en la segunda condición de acuerdo con una profundidad jerárquica de una unidad de datos a la que pertenece el parámetro de control del bloque actual, cuando el tipo de señal es el segundo tipo.
Con la estructura, el procedimiento de decodificación de imagen puede seleccionar un contexto apropiado mientras reduce el uso de memoria.
Adicionalmente, la determinación de un contexto puede incluir adicionalmente: determinar si el parámetro de control decodificado del bloque superior está disponible o no en decodificación, a base de una posición del bloque actual; y determinar el contexto en 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, puede determinarse que el parámetro de control decodificado del bloque superior no está disponible en decodificación, cuando el bloque actual está en un límite de segmento. Adicionalmente, en la determinación de un contexto, puede determinarse si el parámetro de control decodificado del bloque superior está disponible o no en decodificación, 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 adicionalmente determinar un contexto de un parámetro de control de una segunda unidad más pequeña que una primera unidad conmutando entre la primera condición y la segunda condición, a base de un parámetro de control de la primera unidad.
Adicionalmente, la "split_coding_unit_flag" puede indicar si el bloque actual se divide o no en una pluralidad de bloques, la "skip_flag" puede indicar si el bloque actual tiene o no que saltarse, e "inter_pred__flag" puede indicar una de unipredicción y bipredicción a usar para el bloque actual.
Adicionalmente, procedimientos de decodificación de acuerdo con una primera norma y procedimientos de decodificación de acuerdo con una segunda norma pueden conmutarse de acuerdo con un identificador que indica una de la primera norma y la segunda norma, incluyéndose el identificador en una señal codificada, y la determinación de un contexto, la realización y la binarización inversa pueden proporcionarse como los procedimientos de decodificación de acuerdo con la primera norma, cuando el identificador indica la primera norma. Adicionalmente, el procedimiento de codificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de codificación de imagen usando codificación aritmética, y el procedimiento incluye: binarización de 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 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 en una primera condición de que se usan parámetros de control de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, siendo los bloques vecinos un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto en una segunda condición de que no se usa el parámetro de control del bloque superior, 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 "inter_pred_flag".
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, ya que el parámetro de control del bloque superior no se usa para un parámetro de control del segundo tipo, no existe necesidad de mantener el parámetro de control del segundo tipo del bloque superior. Con la estructura, en comparación con el caso en el que el bloque izquierdo y el bloque superior se usan como uniformemente "usando un modelo de contexto a base de 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 apropiadamente el uso de memoria del parámetro de control del segundo tipo sin, por ejemplo, fallar en evaluar una tasa de BD de una imagen.
Adicionalmente, de acuerdo con el procedimiento de codificación de imagen, puede usarse el contexto apropiado para una estructura de árbol jerárquico que es una estructura de datos que no se considera en e1H.264 convencional y es única a la nueva norma HEVC. Como alternativa, puede realizarse referencia de memoria.
Adicionalmente, el aparato de decodificación de imagen de acuerdo con un aspecto de la presente invención es un aparato de decodificación de imagen 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 que corresponde al bloque actual, usando el contexto determinado para decodificar una secuencia binaria, obteniéndose la secuencia de bits realizando codificación aritmética en un parámetro de control del bloque actual; y una unidad de conversión a binario 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 se configura para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto en una primera condición de que se usan parámetros de control decodificados de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, siendo los bloques vecinos un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto en una segunda condición de que no se usa el parámetro de control decodificado del bloque superior, 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 "inter_pred_flag".
Con la configuración, el aparato de decodificación de imagen puede reducir el uso de memoria.
Adicionalmente, el aparato de codificación de imagen de acuerdo con un aspecto de la presente invención 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 se configura para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto en una primera condición de que se usan parámetros de control de bloques vecinos del bloque actual, cuando el tipo de señal es un primer tipo, siendo los bloques vecinos un bloque izquierdo y un bloque superior del bloque actual; y determinar el contexto en una segunda condición de que no se usa el parámetro de control del bloque superior, 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 "inter_pred_flag".
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 imagen de acuerdo con un aspecto de la presente invención es un aparato de codificación y decodificación de imagen que incluye el aparato de decodificación de imagen y el aparato de codificación de imagen.
Los aspectos generales o específicos pueden implementarse mediante un sistema, un procedimiento, un circuito integrado, un programa informático o un medio de grabación o mediante 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 imagen y el aparato de codificación de imagen de acuerdo con un aspecto de la presente invención se describirán específicamente con referencia a los dibujos.
Realizaciones descritas en lo sucesivo 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 indicadss en realizaciones son ejemplos, y no limitan la presente invención. Los elementos constituyentes en 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 imagen de acuerdo con la realización 1 de la presente invención. El aparato de codificación de imagen de acuerdo con la realización 1 determina un contexto conmutando entre (1) usar 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, puede suprimirse el deterioro en calidad de imagen y puede reducirse 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 Figura 1 es un diagrama de bloques que ilustra un aparato 100 de codificación de imagen de acuerdo con la realización 1.
El aparato 100 de codificación de imagen en la Figura 1 es un aparato de codificación de imagen que usa codificación aritmética, y codifica una señal 121 de imagen de entrada para generar un flujo 124 de bits. El aparato 100 de codificación de imagen incluye una unidad 101 de control, una unidad 102 de sustracción, una unidad 103 de transformación y cuantificación, una unidad 104 de codificación de longitud variable, una unidad 105 de cuantificación inversa y transformación inversa, una unidad 106 de adición, una unidad 107 de intra predicción, una unidad 108 de inter predicción y un conmutador 109.
La unidad 101 de control calcula un parámetro 130 de control a base de la señal 121 de imagen de entrada a codificar. Por ejemplo, el parámetro 130 de control incluye información sobre un tipo de instantánea de la señal 121 de imagen de entrada 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 el presente documento, el propio parámetro 130 de control (datos de control) tiene que codificarse. Por lo tanto, la unidad 101 de control emite el parámetro 130 de control a la unidad 104 de codificación de longitud variable.
La unidad 102 de sustracción calcula una señal 122 residual que es una diferencia (valor residual) entre la señal 121 de imagen de entrada y una señal 129 de predicción de imagen en una base de unidad de bloque.
La unidad 103 de transformación y cuantificación transforma la señal 122 residual en valores de coeficiente de frecuencia y cuantifica los valores de coeficiente de frecuencia obtenidos en coeficientes 123 de transformación cuantificados (datos residuales).
La unidad 105 de cuantificación inversa y transformación inversa cuantifica inversamente los coeficientes 123 de transformada cuantificados en los valores de coeficiente de frecuencia y transforma inversamente los valores de coeficiente de frecuencia obtenidos en una señal 125 residual reconstruida.
La unidad 106 de adición añade la señal 125 residual a la señal 129 de predicción de imagen y emite una señal 126 de imagen reconstruida.
La unidad 107 de intra predicción realiza intra predicción usando la señal 126 de imágenes reconstruidas para generar una señal 127 de predicción de imagen. La unidad 108 de inter predicción realiza inter predicción usando la señal 126 de imágenes reconstruidas para generar una señal 128 de predicción de imagen.
El conmutador 109 selecciona una de la señal 127 de predicción de imagen y la señal 128 de predicción de imagen y emite la señal seleccionada como la señal 129 de predicción de imagen.
La unidad 104 de codificación de longitud variable codifica, usando la CABAC, los coeficientes 123 de transformada cuantificados y el parámetro 130 de control para cada bloque de entrada para generar el flujo 124 de bits.
A continuación, se describirá la configuración de la unidad 104 de codificación de longitud variable.
La Figura 2 es un diagrama de bloques funcional de la unidad 104 de codificación de longitud variable. La unidad 104 de codificación de longitud variable incluye una unidad 141 de binarización, una unidad 142 de control de contexto y una unidad 143 de codificación aritmética binaria. Lo siguiente describe el procedimiento de codificación de longitud variable en el parámetro 130 de control. Aunque se omite la descripción acerca del procedimiento de codificación de longitud variable en los coeficientes 123 de transformada cuantificados, el procedimiento puede implementarse, por ejemplo, usando una técnica conocida.
La unidad 141 de binarización binariza el parámetro 130 de control para generar una secuencia 151 binaria. Más específicamente, la unidad 141 de binarización es una unidad de procesamiento que realiza "II.1) procesamiento de binarización" de acuerdo con NPL 1. La unidad 141 de binarización transforma el parámetro 130 de control en la secuencia 151 binaria denominada como "cadena 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 conversión a binario se describirá más tarde. Cuando el parámetro 130 de control de entrada es un valor binario, tal como una bandera, la unidad 141 de binarización emite el parámetro 130 de control como la secuencia 151 binaria tal y como está.
La unidad 142 de control de contexto determina un contexto para su uso en codificación aritmética del parámetro 130 de control incluido en un bloque actual a procesar, de entre una pluralidad de contextos (una tabla de estado de probabilidad). Adicionalmente, la unidad 142 de control de contexto emite un índice 152 de contexto que especifica el contexto determinado a la unidad 143 de codificación aritmética binaria.
Más específicamente, la unidad 142 de control de contexto es una unidad de procesamiento que realiza "2) modelado de contexto" de acuerdo con NPL 1. La unidad 142 de control de contexto secuencialmente recibe una pluralidad de elementos incluidos en la secuencia 151 binaria emitida desde la unidad 143 de codificación aritmética binaria. La unidad 142 de control de contexto selecciona uno de los contextos a usar para el binario del parámetro 130 de control, de acuerdo con el tipo de señal del parámetro 130 de control y una posición de elemento del binario en la secuencia 151 binaria, y emite, a la unidad 143 de codificación aritmética binaria, el índice 152 de contexto que es un índice que indica el contexto seleccionado.
Adicionalmente, la unidad 142 de control de contexto mantiene la tabla de estado de probabilidad de valores (valores de índice de contexto) obtenidos dividiendo los elementos en la secuencia binaria del parámetro 130 de control en condiciones de probabilidades condicionales, como estados del contexto, e inicializa y actualiza la tabla de estado de probabilidad.
Adicionalmente, la unidad 142 de control de contexto mantiene un estado (índice de estado de probabilidad) cada vez que está presente la 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 130 de control cuando el número de elementos en la secuencia binaria es dos o más; lo mismo se aplicará en lo sucesivo). El estado se representa mediante el valor de 7 bits total 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 dos valores 0 y 1, y un valor de 1 bit que indica cuál de los valores tiene la mayor probabilidad. 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 se produce un evento X en el lado más probable que tiene la mayor probabilidad entre los dos valores, una relación de la probabilidad en el lado más probable se aumenta ligeramente. Por ejemplo, la unidad 142 de control de contexto puede aumentar ligeramente la relación de la probabilidad en el lado más probable aumentando o disminuyendo, por 1, el valor del índice de estado de probabilidad que corresponde a 64 tablas. Por otra parte, cuando se produce un evento No-X que tiene la probabilidad más baja (contra la probabilidad predicha), la unidad 142 de control de contexto disminuye enormemente la relación de la probabilidad más probable mantenida a base de un coeficiente de escala predeterminado a (por ejemplo, « 0,95) (véase la Figura 6 de NPL 1). La unidad 142 de control de contexto de acuerdo con la realización 1 hace una transición y mantiene un estado, a base de un correspondiente valor de cambio de índice de tabla para asociarse con el cambio teniendo en cuenta a como en H.264.
La unidad 143 de codificación aritmética binaria realiza codificación aritmética en la secuencia 151 binaria usando el contexto determinado por la unidad 142 de control de contexto para generar el flujo 124 de bits (secuencia de bits).
Más específicamente, la unidad 143 de codificación aritmética binaria es una unidad de procesamiento que realiza "3) codificación aritmética binaria" de acuerdo con NPL 1. La unidad 143 de codificación aritmética binaria realiza codificación aritmética en la secuencia 151 binaria usando el contexto especificado por el índice 152 de contexto para generar el flujo 124 de bits. En el presente documento, la codificación aritmética es para tratar eventos que se producen para los parámetros 130 de control de diversos tipos de señal como una suma cumulativa de probabilidades y determinar correspondencias entre los eventos restringiendo el intervalo a un intervalo predeterminado en una recta numérica.
En primer lugar, la unidad 143 de codificación aritmética binaria divide la recta numérica en dos medias secciones, de acuerdo con las probabilidades de ocurrencia de dos posibles valores del binario proporcionados desde la unidad 142 de control de contexto. Cuando el valor real que se produce para el binario (por ejemplo, 0) es un valor con una probabilidad mayor (que excede 0,5 (por ejemplo, 0,75)), la unidad 143 de codificación aritmética binaria mantiene el límite inferior "Bajo" en el intervalo en la recta numérica sin cambio, y establece un valor que corresponde a un resultado de multiplicar una vez un coeficiente de escala 0,95 por la probabilidad 0,75 esta vez, a un nuevo intervalo. Por otra parte, cuando el valor binario realmente generado es un valor predicho con una probabilidad menor, la unidad 143 de codificación aritmética binaria desplaza el límite inferior "Bajo" por la probabilidad mayor, y cambia el intervalo de acuerdo con la probabilidad más baja. Las secciones se mantienen de acuerdo con una suma cumulativa de resultados de multiplicaciones de los intervalos de probabilidad. Cuando un valor con una probabilidad menor se produce de forma sucesiva, la precisión de la longitud del intervalo se vuelve pronto más baja que la precisión que puede asegurarse mediante un cálculo. En el presente documento, la unidad 143 de codificación aritmética binaria alarga (renorma) el intervalo para mantener la precisión, y emite la secuencia de bits que indica el intervalo actual. A la inversa, cuando se produce de forma sucesiva un valor con una probabilidad mayor (0,95, etc.), la probabilidad valores puede soportar un número de cálculos (transiciones de estado en el caso de implementación mediante una tabla) hasta que la longitud del intervalo se vuelve más corta que una longitud predeterminada incluso con la multiplicación de los valores. Por lo tanto, el número de símbolos que pueden acumularse hasta que el bit se emite son muchos.
La Figura 3 es una tabla en la que se resuelven los parámetros 130 de control que usan cada uno un modelo de contexto a base de un valor del parámetro 130 de control de un bloque vecino.
El significado de cada columna se describirá a partir de la parte izquierda de la tabla.
(c2) Tipo de señal (elemento de sintaxis) indica un nombre específico de un tipo de señal del parámetro 130 de control. El significado de cada uno de los tipos de señal se describirá más adelante.
(c3) Esquema de binarización indica un esquema de binarización a aplicar al parámetro 130 de control (SE) especificado en la columna inmediatamente a la izquierda. La unidad 141 de binarización realiza el procedimiento de binarización. En la columna, "Longitud fija" significa que la unidad 141 de binarización emite el valor del parámetro 130 de control en la sección inmediatamente a la izquierda como una secuencia binaria (cadena bin) de una longitud fija. En HEVC, un tipo de señal del parámetro 130 de control cuyo nombre termina con "flag" es un valor binario de o bien 0 o bien 1. Por lo tanto, la unidad 141 de binarización emite únicamente el primer elemento (binIdx = 0) como el elemento de la secuencia 151 binaria, y no emite los elementos después del segundo elemento (binIdx > = 1). En otras palabras, la unidad 141 de binarización emite el valor del parámetro 130 de control como la secuencia 151 binaria tal como es.
Adicionalmente, "Longitud variable" en la columna significa que la unidad 141 de binarización correlaciona, con una secuencia binaria, el valor del parámetro 130 de control que usa secuencia binarias con respectivas longitudes variables cuyos valores se asocian para tener longitudes binarias en orden ascendente de la ocurrencia frequencies (cadena bin o secuencia binarias cada una con el número de elementos > 1), y emite la secuencia binaria. Por ejemplo, la unidad 141 de binarización emplea y emite un esquema de acuerdo con el tipo de señal, tal como un esquema unario (truncado), y una combinación de los esquemas unarios y otros de Golomb exponenciales (véase "A. Binarización" de NPL 1). En el caso de "Longitud variable", el número de elementos de la secuencia 151 binaria se limita en ocasiones a 1, o es igual a o mayor que 2. Una unidad de conversión a binario inversa en un aparato de decodificación de imagen a describir más adelante realiza transformación inversa al esquema de binarización para reconstruir la secuencia binaria de entrada en un valor múltiple o un valor de bandera.
Con respecto a (c4) Índice de contexto del primer elemento (binIdx = 0), la unidad 142 de control de contexto 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 142 de control de contexto selecciona y aplica una de 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 a aplicar al primer elemento (binIdx = 0) incluido en la secuencia 151 binaria se selecciona de entre uno de cuatro valores, ya sean 0, 1,2 o 3. La secuencia 151 binaria se obtiene correlacionado, con una secuencia binaria, el valor del parámetro 130 de control del tipo de señal especificada 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 de bloque izquierdo L (condL), la unidad 142 de control de contexto indica la condición de 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 que corresponde al parámetro de control a codificar (o a decodificar).
Por ejemplo, en el caso en el que el parámetro de control (SE) es skip_flag, la condición de bloque izquierdo L tiene el valor de 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 de bloque superior A, la unidad 142 de control de contexto 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 que corresponde al parámetro de control a codificar (o a decodificar). Por ejemplo, en el caso en el que el parámetro de control (SE) es skip_flag, la condición de bloque superior A tiene el valor de 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 se asocia con "(c7) Incremento de contexto a aplicar a binldx > = 1". Esto (c7) indica el modelo de contexto aplicado mediante la unidad 142 de control de contexto 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 130 de control 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 (únicamente un valor de determinación de la condición de bloque izquierdo L); y (Patrón 3) usar cero bloques vecinos (ni 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 Figura 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 104 de codificación de longitud variable en la Figura 2.
En primer lugar, la unidad 141 de binarización correlaciona el valor del parámetro 130 de control con una secuencia binaria de acuerdo con un esquema que corresponde al tipo de señal del parámetro 130 de control (S101).
A continuación, la unidad 142 de control de contexto obtiene un valor básico de un contexto para su uso en codificación aritmética del parámetro 130 de control (S102). Por ejemplo, la unidad 142 de control de contexto determina el valor básico de acuerdo con el tipo de instantánea (I, P o B).
A continuación, la unidad 142 de control de contexto determina un valor de contexto usando uno de los patrones 1 a 3, a base del tipo de señal del parámetro 130 de control (S103). En el presente documento, 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 142 de control de contexto determina el tipo de señal del parámetro 130 de control (S103). Cuando el tipo de señal del parámetro 130 de control es el primer tipo que corresponde al patrón 1 (el primer tipo en S104), la unidad 142 de control de contexto determina un valor de contexto usando un valor de determinación obtenido a partir de valores de parámetros de control de dos bloques vecinos (bloque A y bloque B) (S105). En otras palabras, la unidad 142 de control de contexto determina un contexto en una condición de que se usan los parámetros de control de los dos bloques vecinos del bloque izquierdo y el bloque superior. En el presente documento, la unidad 142 de control de contexto usa tanto un resultado de la determinación de (c5) condL como un resultado de la determinación de (c6) condA en la Figura 3. Por consiguiente, datos de una fila de instantáneas se mantienen para los parámetros de control del primer tipo.
Por otra parte, cuando el tipo de señal del parámetro 130 de control es el segundo tipo que corresponde al patrón 2 (el segundo tipo en S104), la unidad 142 de control de contexto determina un valor de contexto usando un valor de un parámetro de control de un bloque vecino (un bloque inmediatamente vecino en orden de codificación) (S106). En otras palabras, la unidad 142 de control de contexto determina el valor de contexto en una condición de que no se usa el parámetro de control del bloque superior.
Por otra parte, cuando el tipo de señal del parámetro 130 de control es el tercer tipo que corresponde al patrón 3 (el tercer tipo en S104), la unidad 142 de control de contexto determina de forma fija un valor de contexto sin usar tanto los parámetros de control del bloque superior como del bloque izquierdo (S107).
A continuación, la unidad 142 de control de contexto añade 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 143 de codificación aritmética binaria realiza 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 (secuencia 124 de bits) (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 104 de codificación de longitud variable realiza los procedimientos de las Etapas S102 a S109 en el siguiente elemento en la secuencia binaria. Por otra parte, 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 104 de codificación de longitud variable finaliza la codificación procesamiento en el parámetro de control del bloque actual.
Como se ha descrito anteriormente, el aparato 100 de codificación de imagen de acuerdo con la realización 1 determina un contexto usando el bloque superior en la realización de 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 tipos.
En comparación con el caso en el que el bloque izquierdo y el bloque superior se usan como uniformemente "usando un modelo de contexto a base de valores de parámetros de control de bloques vecinos", el aparato 100 de codificación de imagen puede reducir el uso de memoria con la configuración. Por lo tanto, el aparato 100 de codificación de imagen puede suprimir el deterioro en 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 124 de bits generado mediante el aparato 100 de codificación de imagen.
La Figura 5 es un diagrama de bloques que ilustra un aparato 200 de decodificación de imagen de acuerdo con la realización 2. El aparato 200 de decodificación de imagen es un aparato de decodificación de imagen que usa decodificación aritmética y decodifica el flujo 124 de bits para generar una señal 229 de imagen. En el presente documento, el flujo 124 de bits se genera, por ejemplo, mediante el aparato 100 de codificación de imagen.
El aparato 200 de decodificación de imagen incluye una unidad 201 de control, una unidad 202 de decodificación de longitud variable, una unidad 204 de cuantificación inversa, una unidad 205 de transformación inversa, una unidad 206 de adición, una unidad 207 de intra predicción y una unidad 208 de inter predicción.
El aparato 200 de decodificación de imagen realiza decodificación procesamiento para cada secuencia de bits de una unidad de procesamiento predeterminada. La unidad de procesamiento es, por ejemplo, una unidad de segmento o una unidad de bloque.
La unidad 202 de decodificación de longitud variable realiza decodificación aritmética en el flujo 124 de bits para generar un parámetro 230 de control (elemento de sintaxis de datos de control) y coeficientes 223 de transformación cuantificados (valores de elemento de sintaxis de datos residuales). La unidad 201 de control recibe el parámetro 230 de control generado.
La unidad 201 de control controla cada una de las unidades de procesamiento incluidas en el aparato 200 de decodificación de imagen, de acuerdo con el parámetro 230 de control.
La unidad 204 de cuantificación inversa cuantifica inversamente los coeficientes 223 de transformada cuantificados en coeficientes 224 de transformada ortogonales.
La unidad 205 de transformación inversa inversamente transforma los coeficientes 224 de transformada ortogonales para reconstruir una señal 225 residual. La unidad 206 de adición añade la señal 225 residual a una señal de predicción de imagen (señal 229 de imagen) para generar una señal 226 de imagen decodificada.
La unidad 207 de intra predicción realiza intra predicción usando la señal 226 de imagen decodificada para generar una señal 227 de predicción de imagen. La unidad 208 de inter predicción realiza inter predicción usando la señal 226 de imagen decodificada para generar una señal 228 de predicción de imagen.
El conmutador 209 selecciona una de la señal 227 de predicción de imagen y la señal 228 de predicción de imagen y emite la señal seleccionada como la señal 229 de imagen (señal de predicción de imagen).
A continuación, se describirá la configuración de la unidad 202 de decodificación de longitud variable.
La Figura 6 es un diagrama de bloques funcional que ilustra una configuración de la unidad 202 de decodificación de longitud variable. La unidad 202 de decodificación de longitud variable incluye una unidad 243 de decodificación aritmética binaria, una unidad 242 de control de contexto y una unidad 241 de conversión a binario inversa. Lo siguiente describe el procedimiento de decodificación de longitud variable en el parámetro 230 de control. Aunque se omite la descripción acerca del procedimiento de decodificación de longitud variable en los coeficientes 223 de transformada cuantificados, el procedimiento puede implementarse, por ejemplo, usando una técnica conocida. La unidad 242 de control de contexto determina un contexto para su uso en decodificación aritmética del parámetro 230 de control del bloque actual, de entre una pluralidad de contextos. Adicionalmente, la unidad 242 de control de contexto emite un índice 252 de contexto que especifica el contexto determinado a la unidad 243 de decodificación aritmética binaria.
Más específicamente, la unidad 242 de control de contexto usa el mismo modelo de contexto que el de la unidad 142 de control de contexto en la Figura 2 como un modelo de transición de probabilidad mantenida. Cuando la unidad de codificación 143 aritmética usa 64 estados de probabilidad, la unidad 243 de decodificación aritmética binaria también mantiene los 64 estados de probabilidad. Esto es porque tanto el codificador como el decodificador necesitan interpretar un intervalo de la recta numérica a codificar exactamente de la misma manera. Por lo tanto, el decodificador usa el mismo patrón que el patrón seleccionado por el codificador de entre los tres patrones 1 a 3. La unidad 243 de decodificación aritmética realiza decodificación aritmética en la secuencia de bits (secuencia 124 de bits) usando el contexto determinado por la unidad 242 de control de contexto para reconstruir la secuencia 251 binaria. Más específicamente, la unidad 243 de decodificación aritmética reconstruye la secuencia de bits de entrada en la secuencia 251 binaria, de acuerdo con el contexto (tabla de estado de probabilidad) especificado por el índice de contexto proporcionado desde la unidad 242 de control de contexto.
La unidad 241 de conversión a binario inversa reconstruye la secuencia 251 binaria en un parámetro 230 de control si es necesario a través del procedimiento de conversión a binario inversa. Como tal, la unidad 142 de control de contexto incluida en el aparato 100 de codificación de imagen y la unidad 242 de control de contexto incluida en el aparato 200 de decodificación de imagen usan el mismo modelo de contexto tanto en la codificación aritmética como la decodificación aritmética de un parámetro de control de un cierto tipo de señal.
La Figura 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 202 de decodificación de longitud variable.
En primer lugar, la unidad 202 de decodificación de longitud variable obtiene el flujo 124 de bits (S201).
A continuación, la unidad 242 de control de contexto determina un tipo de señal de un parámetro de control a decodificar, de acuerdo con la estructura de datos del flujo 124 de bits (S202).
A continuación, la unidad 242 de control de contexto determina un valor básico de un contexto para su uso en decodificación aritmética del parámetro de control a decodificar (S203). Por ejemplo, la unidad 242 de control de contexto determina el valor básico de acuerdo con el tipo de instantánea (I, P o B).
A continuación, la unidad 242 de control de contexto determina un valor de contexto usando uno de los patrones 1 a 3, a base del tipo de señal del parámetro de control (S204). En el presente documento, 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 242 de control de contexto determina estáticamente uno de los patrones 1 a 3 a base del tipo de señal del parámetro de control siguiendo una tabla predeterminada.
La unidad 242 de control de contexto conmuta entre bloques vecinos para su uso en la determinación de un contexto para la obtención de un valor binario del primer elemento incluido en la secuencia 251 binaria usando la decodificación aritmética, de acuerdo con el tipo de señal del parámetro de control.
En primer lugar, la unidad 242 de control de contexto determina el tipo de señal del parámetro 230 de control (S205). Cuando el tipo de señal es el primer tipo que corresponde al patrón 1 (el primer tipo en S205), la unidad 242 de control de contexto determina un valor de contexto usando parámetros de control de dos bloques vecinos (S206). En otras palabras, la unidad 242 de control de contexto determina el valor de contexto en una condición de que se usan parámetros de control decodificados de los dos bloques vecinos del bloque izquierdo y el bloque superior.
Por otra parte, cuando el tipo de señal es el segundo tipo que corresponde al patrón 2 (el segundo tipo en S205), la unidad 242 de control de contexto determina un valor de contexto usando un valor de un parámetro de control de un bloque vecino (un bloque inmediatamente vecino en orden de codificación) (S207). En otras palabras, la unidad 242 de control de contexto determina el valor de contexto en una condición de que no se usa el parámetro de control decodificado del bloque superior.
Por otra parte, cuando el tipo de señal es el tercer tipo que corresponde al patrón 3 (el tercer tipo en S205), la unidad 242 de control de contexto determina de forma fija un valor de contexto (S208). En otras palabras, la unidad 242 de control de contexto determina el valor de contexto en una condición de que no se usan parámetros de control decodificados del bloque superior y el bloque izquierdo.
A continuación, la unidad 242 de control de contexto añade 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 243 de decodificación aritmética binaria determina uno de los elementos de la secuencia binaria a través de decodificación usando el valor de contexto indicado por el valor de índice de contexto proporcionado desde la unidad 242 de control de contexto (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 202 de decodificación de longitud variable realiza los procedimientos de las Etapas S203 a S210 en el siguiente elemento en la secuencia binaria.
Por otra parte, 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 241 de conversión a binario inversa cambia uno o más de los elementos de la secuencia 251 binaria obtenida repitiendo los procedimientos de las Etapas S203 a S210 más de una vez para generar el parámetro 230 de control (S212).
Como se ha descrito anteriormente, el aparato 200 de decodificación de imagen de acuerdo con la realización 2 determina un contexto usando el bloque superior en la realización de 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 tipos.
En comparación con el caso en el que el bloque izquierdo y el bloque superior se usan como uniformemente "usando un modelo de contexto a base de valores de parámetros de control de bloques vecinos", el aparato 200 de decodificación de imagen puede reducir el uso de memoria con la configuración. Por lo tanto, el aparato 200 de decodificación de imagen puede suprimir el deterioro en calidad de imagen y reducir el uso de memoria.
Por ejemplo, cuando la secuencia 251 binaria es una bandera y tiene únicamente un elemento, es decir, la secuencia 251 binaria se compone de 1 binario, la unidad 241 de conversión a binario inversa puede emitir la secuencia 251 binaria tal como es.
Además de la descripción anterior, la unidad 101 o 201 de control puede controlar cada una de las unidades de procesamiento o referirse a un valor de una memoria, a través de una línea de señal que no se ilustra.
Aunque la unidad 142 o 242 de control de contexto conmuta entre los tres patrones 1 a 3 de acuerdo con un tipo de señal de un parámetro de control en la anterior descripción, puede conmutar entre dos de los patrones 1 a 3 de acuerdo con el tipo de señal. En otras palabras, la unidad 142 o 242 de control de contexto 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 142 o 242 de control de contexto puede cambiar un procedimiento de conmutación entre los modelos de contexto seleccionados de tal manera (incluyendo un caso en el que se cambia el incremento de modelo de contexto; lo mismo se aplicará en lo sucesivo) de acuerdo con información de imagen predeterminada. Por ejemplo, la unidad 142 o 242 de control de contexto puede conmutar adicionalmente la propia política de conmutación, de acuerdo con la cantidad de memoria, o el tamaño de la anchura horizontal o un formato de muestreo de una imagen que afecta al número de capacitaciones de cada contexto.
Aunque la unidad 142 o 242 de control de contexto conmuta entre usar y no usar la condición de bloque superior como la descripción simplificada, la unidad 142 o 242 de control de contexto puede combinar un caso en el que el bloque superior no está disponible para la conmutación y aplica el caso combinado. Por ejemplo, la unidad 142 o 242 de control de contexto puede cambiar la propia política de conmutación, de acuerdo con si un segmento a procesar es o no un segmento por entropía (entropy_slice_flag indica 1 o 0). De manera similar, cuando la disponibilidad del bloque vecino superior no puede asegurarse, la unidad 142 o 242 de control de contexto puede cambiar la política de conmutación para no usarse el bloque superior.
Por ejemplo, como se ilustra en la Figura 8, la unidad 142 o 242 de control de contexto 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 el presente documento, "de acuerdo con un valor de un parámetro de una unidad predeterminada" significa de acuerdo con si un segmento es o no un segmento por entropía como se ha descrito anteriormente. Adicionalmente, el primer criterio de determinación es un criterio a base de cuál de los procedimientos en la Figura 7 se realiza. El segundo criterio de determinación es un criterio que excluye la Etapa S204 en la Figura 7, y es, por ejemplo, un criterio convencional. Esto es equivalente a determinar el índice de contexto incremento, 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 142 o 242 de control de contexto puede conmutar desde un criterio de determinación a aplicar a una unidad más pequeña que la primera unidad, a otro criterio de determinación a base de un valor de un parámetro de control de la primera unidad.
Adicionalmente, la unidad 142 o 242 de control de contexto puede cambiar el criterio de determinación a usar, de acuerdo con las características de un sistema de imagen. Por ejemplo, la unidad 142 o 242 de control de contexto puede cambiar el criterio de determinación a usar, de acuerdo con intervalos de Instantáneas tipo I (estableciendo valores de Intra Periodo).
Aunque la unidad 142 o 242 de control de contexto 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 142 o 242 de control de contexto 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 o no en codificación o decodificación a base de una posición del parámetro de control. En otras palabras, la unidad 142 o 242 de control de contexto puede determinar si el parámetro de control del bloque superior está disponible o no en decodificación, a base de una posición del bloque actual, y determinar 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 142 o 242 de control de contexto puede determinar si un valor de referencia del bloque superior está disponible o no a base de una estructura de árbol de partición de bloques TU, CU o PU. En otras palabras, la unidad 142 o 242 de control de contexto puede determinar si el parámetro de control del bloque superior está disponible o no en decodificación, de acuerdo con la profundidad jerárquica de una unidad de datos a la que pertenecen cada uno de los parámetros de control a procesar.
La Figura 9 ilustra una relación entre una instantánea, segmentos y bloques de acuerdo con la norma HEVC. Una instantánea se divide en uno o más segmentos. En el ejemplo de la Figura 9, la instantánea se divide en dos segmentos (SEGMENTO 1 y SEGMENTO 2). Uno de los segmentos incluye bloques 301 (por ejemplo, bloques de árbol). En el presente documento, el bloque 301 es la unidad más grande como una cierta unidad de control cuando un segmento se divide en un tamaño predeterminado y tiene un tamaño de una raíz cuando la unidad está en la raíz en la estructura jerárquicamente dividida.
En el ejemplo de la Figura 9, SEGMENTO 2 inicia desde un bloque 301A, y se compone de una secuencia que incluye bloques a la esquina inferior derecha de la instantánea a través de los bloques 301B y 301C sombreados. Uno de los bloques sombreados en la Figura 9 es un bloque (Bloque de Árbol) a procesar en la actualidad.
Cada uno de los bloques 301 incluye N x M píxeles. Uno de los bloques 301 se divide recursivamente en el interior (habitualmente en cuatro). En otras palabras, un Bloque de Árbol conceptualmente compone un árbol cuádruple. En el bloque 301B en la Figura 9, el bloque superior derecho obtenido dividiendo el bloque 301B sombreado en cuatro se divide recursivamente en cuatro bloques dos veces. En otras palabras, el bloque 301B incluye 10 unidades lógicas desde la ceroésima unidad superior izquierda a la novena unidad inferior derecha que se dividen con una cierta perspectiva.
En el presente documento, la perspectiva indica el concepto de una pluralidad de árboles que tienen diferentes profundidades con una raíz como un punto base, tal como un árbol con respecto a una unidad de codificación (CU) y un árbol con respecto a residual_data. En el presente documento, un valor de cada parámetro de control pertenece a uno de nodos de hoja.
En el presente documento, si un valor de un parámetro de control de un cierto tipo de señal incluida en un bloque superior está o no realmente disponible depende de un tipo de un árbol al que pertenece el parámetro de control. Por lo tanto, la unidad 142 o 242 de control de contexto puede cambiar un criterio de determinación de acuerdo con un tipo de un árbol al que pertenece el parámetro de control. Este cambio es equivalente al cambio a una unidad de sintaxis. Por ejemplo, la unidad 142 o 242 de control de contexto 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 de modelo de contexto (patrón 1) para las otras sintaxis como se usan 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 un árbol de un bloque vecino.
Adicionalmente, si el valor del parámetro de control puede usarse o no realmente o produce la ventaja de reducción del uso de memoria difiere dependiendo de una posición de un bloque en la relación jerárquica. En otras palabras, la unidad 142 o 242 de control de contexto 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 Figura 9, los números 0 a 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 disponible cuando el bloque 4 se codifica o decodifica.
Adicionalmente, para reducir el uso de memoria, la unidad 142 o 242 de control de contexto puede seleccionar el patrón 1 usando el bloque superior, cuando el bloque no está a una profundidad 0 y la propia posición es uno del segundo a los elementos posteriores en la división vertical. En el presente documento, "profundidad" indica la profundidad desde la raíz. En otras palabras, cuando un cierto bloque se define como block[xn],[y0][depth], el criterio de determinación puede cambiarse de acuerdo con si el bloque actual satisface o no block[xn][(y0) 1][depth]. En otras palabras, los bloques superiores se usan para los bloques 4 a 9 en la Figura 9. Cuando el árbol se codifica o de codifica en el orden según se numeró (iniciando en 0 y finalizando en 9), está claro que los bloques 4 a 9 pueden usar los parámetros de control incluidos en los bloques superiores. Adicionalmente, existe una ventaja de que estos bloques tienen únicamente que mantener datos temporalmente. Adicionalmente, esto indica que el valor de contexto se determina de acuerdo con la posición 3D que incluye la profundidad además de las coordenadas x e y. Además, un valor condicional de un bloque en la capa superior puede usarse (seguirse) como un valor condicional de un bloque en la capa inferior.
Adicionalmente, la unidad 142 o 242 de control de contexto puede cambiar estos criterios teniendo en cuenta la relación de posición entre el bloque actual y los otros segmentos. En lo sucesivo, se describirán los tres bloques 301A, 301B y 301C sombreados en la Figura 9.
En el presente documento, el bloque 301A es un bloque de inicio y tanto el bloque izquierdo como el bloque superior del bloque 301A se incluyen en otro segmento. El bloque superior del bloque 301B se incluye en otro segmento. Tanto el bloque izquierdo como el bloque superior del bloque 301C se incluyen en el mismo segmento que incluye el bloque 301C. La unidad 142 o 242 de control de contexto puede conmutar el criterio de acuerdo con una condición de este tipo. En otras palabras, la unidad 142 o 242 de control de contexto puede conmutar el criterio (i) de acuerdo con si el bloque superior se incluye o no en otro segmento, (ii) de acuerdo con si el bloque izquierdo se incluye o no en otro segmento, o (iii) de acuerdo con tanto (i) como (ii). En otras palabras, la unidad 142 o 242 de control de contexto puede determinar que el parámetro de control del bloque superior no está disponible en decodificación cuando el bloque actual está en el límite del segmento. Por consiguiente, cuando el procesamiento de decodificación en el SEGMENTO 1 superior no se completa, por ejemplo, es posible realizar el procesamiento de decodificación teniendo en cuenta si SEGMENTO 2 puede obtener o no información por sí mismo.
A continuación, se describirá la unidad de procesamiento jerárquico (estructura de bloque multicapa). La Figura 10 ilustra la unidad de procesamiento jerárquico (estructura de bloque multicapa).
El aparato 100 de codificación de imagen codifica instantáneas en movimiento en una unidad por procesamiento y el aparato 200 de codificación de imagen decodifica un flujo codificado en una unidad por procesamiento. La unidad de procesamiento se pone en capas dividiendo la unidad de procesamiento en unidades de procesamiento pequeñas y adicionalmente dividiendo las unidades de procesamiento pequeñas en unidades de procesamiento más pequeñas. A medida que la unidad de procesamiento es más pequeña, la profundidad de la unidad de procesamiento es mayor y jerárquicamente es menor, y el valor que indica la profundidad es mayor. A la inversa, a medida la unidad de procesamiento es mayor, la profundidad de la unidad de procesamiento es menor y jerárquicamente es mayor, y el valor que indica la profundidad es más pequeño.
La unidad de procesamiento incluye una unidad de codificación (CU), una unidad de predicción (PU) y una unidad de transformación (TU). Una CU es un bloque de 128 x 128 píxeles como máximo y es una unidad que corresponde a un macrobloque convencional. Una PU es una unidad básica para la inter predicción. Una TU es una unidad básica para transformación ortogonal y tiene un tamaño idéntico al de PU o mucho más pequeño que PU. Una CU, por ejemplo, se divide en 4 sub-CU, y una de las sub-CU incluye una PU y una TU que tiene el mismo tamaño que el de la sub-CU (en el presente documento, PU y TU se solapan entre sí). Por ejemplo, la PU se divide adicionalmente en 4 sub-PU y la TU se divide adicionalmente en 4 sub-CU. 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 como una subunidad de procesamiento. Por ejemplo, cuando la unidad de procesamiento es una CU, la subunidad de procesamiento es una sub-CU. Cuando la unidad de procesamiento es una PU, la subunidad de procesamiento es una sub-PU. Adicionalmente, cuando la unidad de procesamiento es una TU, la subunidad de procesamiento es una sub-TU.
Más específicamente, a continuación se indican los detalles.
Una instantánea se divide en uno o más segmentos. Un segmento 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 de las unidades de codificación que incluye las respectivas unidades de codificación más grandes 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 un punto de partida. Cuando no se permite la división de una CU, la CU se trata como una PU. De forma similar que la CU, la posición de una 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 un punto de partida.
La PU puede incluir divisiones (divisiones de PU o sub-PU). La división de PU se indica mediante un índice de división de predicción de unidad puPartIdx que tiene una muestra en la esquina superior izquierda de la PU como un punto de partida.
La PU puede incluir TU. De forma similar que la CU, la TU puede dividirse en cuatro TU más pequeñas (sub-TU). Esto indica el permiso de la división de árbol cuádruple de una señal residual. La posición de la TU se indica mediante un índice de unidad de transformación tuldx que tiene una muestra en la esquina superior izquierda de la PU como un punto de partida.
En el presente documento, la definición de cada una de las unidades de procesamiento es como se indica a continuación:
CTB (bloque de árbol de codificación): unidad básica de identificación de división de árbol cuádruple de una región cuadrada. Teniendo diversos tamaños de cuadrado;
LCTB (bloque de árbol de codificación más grande): el CTB más grande permitido en un segmento. Un segmento incluye una pluralidad de LCTB que no se solapan entre sí;
SCTB (bloque de árbol de codificación más pequeño): el CTB más pequeño permitido en un segmento. No se permite la división de un SCTB en CTB más pequeños;
PU (unidad de predicción): unidad básica de identificación de procesamiento de predicción. Una PU es tan grande como una CU en la que no se permite división. Aunque se permite la división de una CU en cuatro regiones cuadradas, una PU puede dividirse en una pluralidad de divisiones que tiene cualquier forma;
TU (unidad de transformación): unidad básica de identificación de transformación y cuantificación;
CU (unidad de codificación): misma que CTB;
LCU (unidad de codificación más grande): misma que el CTB más grande; y
SCU (unidad de codificación más pequeña): misma que la CTB más pequeña.
Adicionalmente, parámetros de cuantificación incluyen al menos uno de un parámetro de escala de cuantificación delta (delta QP o QP delta), un parámetro de desplazamiento de cuantificación, un índice (Qmatrix select idc) y un parámetro de desplazamiento de zona muerta de cuantificación. El índice es para la selección de una de las matrices de escala de cuantificación.
El parámetro de escala de cuantificación delta (delta QP o QP delta) es una diferencia entre un parámetro de escala de cuantificación a aplicar a coeficientes de transformación y un parámetro de escala de cuantificación especificados por un encabezamiento de secuencia o un encabezamiento de segmento (o un parámetro de escala de cuantificación inmediatamente antes en orden de exploración Z).
El parámetro de desplazamiento de cuantificación también se denomina como un desplazamiento de cuantificación y es un valor de ajuste (valor de desplazamiento) para redondear una señal en la realización de cuantificación. Por lo tanto, cuando el aparato 100 de codificación de imagen realiza cuantificación, codifica el desplazamiento de cuantificación. A continuación, el aparato 200 de decodificación de imagen decodifica el desplazamiento de cuantificación codificado. A continuación, el aparato 200 de decodificación de imagen realiza corrección usando el desplazamiento de cuantificación cuando cuantifica inversamente los coeficientes de transformada.
Un índice (Qmatrix select idc) se denomina como una matriz de cuantificación adaptativa e indica qué matriz de escala de cuantificación se usa de entre una pluralidad de matrices de escala de cuantificación. Adicionalmente, cuando existe únicamente una matriz de escala de cuantificación, Qmatrix select idc indica si se usa o no la matriz de escala de cuantificación. La matriz de cuantificación adaptativa puede controlarse por unidad de bloque (unidad de procesamiento).
El parámetro de desplazamiento de zona muerta de cuantificación se denomina como una zona muerta adaptativa y es información de control para cambiar adaptativamente una zona muerta por bloque. La zona muerta es una anchura cuyos coeficientes de frecuencia se vuelven 0 mediante cuantificación (última anchura que se vuelve 1 o -1 después de la cuantificación).
Aunque un caso en el que el patrón 3 con se usa el que un valor fijado predeterminado como un valor de contexto se describe anteriormente, puede proporcionarse el caso en la condición de que no se usan los parámetros de control del bloque superior y el bloque izquierdo, y adicionalmente en la condición de sin usar los parámetros de control del bloque superior y el bloque izquierdo como el patrón 3. Por ejemplo, la unidad 142 o 242 de control de contexto 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 debería 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 como se indica en la Figura 3 (Sección 9.3.3.1.1.1 de NPL 2). Cada uno de los tipos de señal se ha verificado, porque existen diversos parámetros, y es difícil predecir si cada patrón de los otros tipos de señal satisface o no la validez, a base de un resultado de la verificación en uno de los tipos de señal (que uno de los patrones 1 a 3 es apropiado).
La verificación está en conformidad con la estructura (parámetro de ajuste y versión de software HM3.0) descrita en JCTVC-E700, "Common test conditions and software reference configurations" (véase NPL 3). Adicionalmente, cada una de las imágenes de prueba tiene una longitud limitada a 49 fotogramas.
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. Por lo tanto, la verificación se ha llevado a cabo usando los siguientes cuatro patrones de prueba que son un conjunto de valores de ajuste indicado cada uno 1 como el valor de Modo de Símbolo (N.° 0:LCEC, 1:CABAC):
4.1 Intra ajuste de alta eficiencia;
4.3 Ajuste de alta eficiencia y acceso aleatorio;
4.5 Ajuste de alta eficiencia y bajo retardo; y
4.7 Ajuste de alta eficiencia y bajo retardo (únicamente segmentos P).
La evaluación se hace a base de un valor de evaluación llamado una "tasa BD" que se usa como una norma de evaluación usada uniformemente para una evaluación de implementación en HEVC. La tasa BD Y, tasa BD U y tasa BD V son tasas BD para un espacio de color de YUV y son valores de norma de evaluación. De acuerdo con VCEG-AI11 (NPL 4), la tasa BD es un valor de evaluación obtenido integrando dos pares de cantidades de código con un resultado de PSNR, y que representa la eficacia de codificación de acuerdo con la relación de área. Adicionalmente, la tasa BD que indica un valor negativo significa que la eficacia de codificación se ha mejorado. 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.
Lo siguiente describe un resultado de la verificación en cada uno de los tipos de señal:
(Primera verificación) split_coding_unit_flag;
(Segunda verificación) skip_flag; y
(Tercera verificación) inter_pred_flag.
(Primera verificación) split_coding_unit_flag
La Figura 11 ilustra un procedimiento de decodificación aritmética para split_coding_unit_flag.
La verificación se lleva a cabo cambiando el modelo de contexto desde el patrón 1 al patrón 2 o 3 únicamente para un tipo de señal a verificar, sin cambiar el modelo de contexto para los otros tipos de señal y la verificación parámetro especificada en NPL 3. En la columna en la Figura 11, el valor de "Fija" indica que la condición (la condición de bloque izquierdo o la condición de bloque superior) de la columna especificada por "Fija" no se usa cuando se obtiene un valor de contexto (o incremento). En otras palabras, cuando únicamente una de la condición de bloque izquierdo y la condición de bloque superior es "Fija", únicamente se usa la otra condición. Adicionalmente, cuando tanto la condición de bloque izquierdo como la condición de bloque superior son "Fija", se usa un valor predeterminado (por ejemplo, 0) como un valor de contexto (o incremento).
El significado del tipo de señal "split_coding_unit_flag" se define como se indica a continuación. split_coding_unit_flag[x0][y0] especifica si una unidad de codificación se divide en unidades de codificación con medio tamaño horizontal y vertical. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luminancia superior izquierda del bloque de codificación considerado con relación a la muestra de luminancia superior izquierda de la instantánea. En otras palabras, "split_coding_unit_flag" indica si la CU objetivo se divide o no en cuatro. Más específicamente, la CU objetivo se divide cuando split_coding_unit_flag indica 1, mientras que la CU objetivo no se divide cuando split_coding_unit_flag indica 0.
Datos de split_coding_unit_flag se estructuran en una sintaxis de árbol de codificació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 Figuras 12A y 12B son tablas de descripción de resultados de la verificación en split_coding_unit_flag.
La Figura 12A indica el resultado de la verificación usando un bloque vecino (únicamente un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La Figura 12B indica el resultado de la verificación usando cero bloques vecinos (ni usando 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 Figuras 12A y 12B indica el incremento y disminución de la tasa BD de acuerdo con los cuatro patrones de prueba.
Adicionalmente, el valor de evaluación se representa mediante la norma de evaluación que indica un valor con relación 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 se mejora más que el valor de evaluación en el caso del patrón 1.
El resultado clarifica que el patrón 1 es superior como un patrón de un modelo de contexto para split_coding_unit_flag. En otras palabras, los valores de evaluación obtenidos mediante los patrones 2 y 3 son inferiores a los del patrón 1.
Por lo tanto, cuando el tipo de señal de un parámetro de control es split_coding_unit_flag, la unidad 142 o 242 de control de contexto 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 Figura 13 ilustra un procedimiento de decodificación aritmética para skip_flag. En el presente documento, el procedimiento de verificación es el mismo que el de en la primera verificación.
El significado del tipo de señal "skip_flag" se define como se indica a continuación.
skip_flag[x0][y0] igual a 1 especifica que para la unidad de codificación actual, cuando se decodifica un segmento P o B, no se analizan más elementos de sintaxis excepto los índices de predictor de 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 tiene que saltarse. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luminancia superior izquierda del bloque de codificación considerado con relación a la muestra de luminancia superior izquierda de la instantánea. En otras palabras, skip_flag indica si la CU objetivo tiene o no que saltarse (tratarse como un bloque saltado).
Datos de skip_flag se estructuran en una sintaxis de unidad de codificación como una 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 Figuras 14A y 14B son tablas de descripción de resultados de la verificación en skip_flag.
La Figura 14A indica el resultado de la verificación usando un bloque vecino (únicamente un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La Figura 14B indica el resultado de la verificación usando cero bloques vecinos (ni usando 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 Figuras 14A y 14B indica el incremento y 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 clarifica que el patrón 1 es superior como un patrón de un modelo de contexto para "skip_flag". En otras palabras, los valores de evaluación obtenidos mediante los patrones 2 y 3 son inferiores a los del patrón 1.
Por lo tanto, cuando el tipo de señal de un parámetro de control es "skip_flag", la unidad 142 o 242 de control de contexto 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) "inter_pred_flag"
La Figura 15 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 como se indica a continuación. 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 especifican la ubicación (x0, y0) de la muestra de luminancia superior izquierda del bloque de predicción considerado con relación a la muestra de luminancia superior izquierda de la instantánea. En el presente documento, unipredicción es predicción que usa Ic (combinación de lista), y bipredicción es predicción que usa la lista 0 y la lista 1. Adicionalmente, la combinación de lista se obtiene combinando (fusionando) la lista 0 y la lista 1. Adicionalmente, inter_pred_flag se usa únicamente cuando el segmento actual es un segmento B.
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 Figuras 16A y 16B son tablas de descripción de resultados de la verificación en inter_pred_flag.
La Figura 16A indica el resultado de la verificación usando un bloque vecino (únicamente un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La Figura 16B indica el resultado de la verificación usando cero bloques vecinos (ni usando 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 Figuras 16A y 16B indica el incremento y 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 existe una diferencia significativa en tasa BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para inter_pred_flag.
Por lo tanto, en un entorno mixto con una pluralidad de parámetros de control de tipos de señal, la unidad 142 o 242 de control de contexto 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 142 o 242 de control de contexto 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 puede reducir uso de memoria mientras suprime el descenso en la tasa BD.
Cuando el patrón 2 se compara con el patrón 3 para inter_pred_flag, estas tasas BD no tienen una diferencia significativa. Por lo tanto, se prefiere usar el patrón 3 para inter_pred_flag. Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento.
En el presente documento, inter_pred_flag se usa en el modo de inter predicción normal que ni es un modo de salto ni un modo de fusión. Aunque el mismo vector de movimiento para el bloque superior y el bloque izquierdo se usa como un vector de movimiento del bloque actual en el modo de salto y el modo de fusión, un vector de movimiento diferente del de para el bloque superior y el bloque izquierdo se usa como un vector de movimiento del bloque actual en el modo de inter predicción normal distinto del modo de salto y el modo de fusión. Por consiguiente, se disminuye la eficacia de codificación 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 eficacia de codificación usando el patrón 2 o 3 para inter_pred_flag.
Adicionalmente, como se ha descrito anteriormente, es posible mejorar adicionalmente la eficacia de codificación determinando un valor de contexto de acuerdo con una profundidad del bloque actual para inter_pred_flag.
Aunque se describen el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con las realizaciones 1 a 3 de la presente invención, la presente invención no se limita a estas realizaciones.
Por ejemplo, al menos parte del aparato de codificación de imagen, el aparato de decodificación de imagen y funciones de las modificaciones de estos aparatos pueden combinarse de acuerdo con las realizaciones 1 a 3. Adicionalmente, todos los valores y los valores lógicos descritos anteriormente son ejemplificaciones para describir de forma específica la presente invención y la presente invención no se limita por los valores ejemplificados.
Adicionalmente, las divisiones de los bloques funcionales en los diagramas de bloque son ejemplos. Por lo tanto, 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 pueden conmutarse a otro bloque funcional. Adicionalmente, una pluralidad de bloques funcionales que tienen funciones similares pueden procesarse mediante un único hardware o software en paralelo o con división de tiempo.
Los ó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 de forma específica la presente invención, y puede ser un orden distinto de los órdenes anteriores. Adicionalmente, parte de las etapas pueden proporcionarse 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 grabando, en un medio de grabación, un programa de implementación de 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 el mismo, tal como un disco magnético, un disco óptico, un disco magnético óptico, una tarjeta de CI y una memoria de semiconductor.
En lo sucesivo, se describirán las aplicaciones al procedimiento de codificación de imagen en movimiento o el procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones y un sistema usando el mismo.
La Figura 19 ilustra una configuración general de un sistema ex100 de suministro de contenido para la implementación de servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado y las estaciones ex106 a ex110 base que son estaciones inalámbricas fijas se sitúan en cada una de las células.
El sistema ex100 de suministro de contenido se conecta a dispositivos, tales como un ordenador ex111, un asistente ex112 digital personal (PDA), una cámara ex113, un teléfono ex114 celular y una máquina ex115 de juegos, a través de una Internet ex101, un proveedor ex102 de servicio de Internet, una red de telefonía ex104, así como las estaciones ex106 a ex110 base.
Sin embargo, la configuración del sistema ex100 de suministro de contenido no se limita a la configuración mostrada en la Figura 19 y es aceptable una combinación en la que cualquiera de los elementos se conecta. Además, cada uno de los dispositivos puede conectarse directamente a la red ex104 telefónica, en vez de a través de las estaciones ex106 a ex110 base que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí a través de una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, tal como una cámara de video digital, es capaz de capturar imágenes en movimiento. Una cámara ex116, tal como una cámara de video digital, es capaz de capturar tanto imágenes fijas como imágenes en movimiento. Adicionalmente, el teléfono ex114 celular puede ser el que cumpla con cualquiera de las normas tales como 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 de Alta Velocidad por Paquetes (HSPA). Como alternativa, el teléfono ex114 celular puede ser un Sistema de Teléfonos Personales (PHS).
En el sistema ex100 de suministro de contenido, un servidor ex103 de difusión en continuo se conecta a la cámara ex113 y otros a través de la red ex104 telefónica y la estación ex109 base, que permite la distribución de un espectáculo en directo y otros. Para una distribución de este tipo, se codifica un contenido (por ejemplo, un video de un espectáculo de música en directo) capturado por el usuario usando la cámara ex113 como se ha descrito anteriormente en cada una de las realizaciones y el contenido codificado se transmite al servidor ex103 de difusión en continuo. Por otra parte, el servidor ex103 de difusión en continuo efectúa distribución de flujo de los datos de contenido recibidos a los clientes según sus solicitudes. Los clientes incluyen el ordenador ex111, la PDA ex112, la cámara ex113, el teléfono ex114 celular y la máquina ex115 de juegos que son capaces de la decodificación de los datos codificados anteriormente mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados.
Los datos capturados pueden codificarse mediante la cámara ex113 o el servidor ex103 de difusión en continuo que transmite los datos o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor ex103 de difusión en continuo. De manera similar, los datos de distribución pueden decodificarse por los clientes o el servidor ex103 de difusión en continuo o los procedimientos de decodificación pueden compartirse entre los clientes y el servidor ex103 de difusión en continuo. Adicionalmente, los datos de las imágenes fijas e imágenes en movimiento capturadas mediante no únicamente la cámara ex113 sino también la cámara ex116 pueden transmitirse al servidor ex103 de difusión en continuo a través del ordenador ex111. Los procedimientos de codificación pueden realizarse mediante la cámara ex116, el ordenador ex111 o el servidor ex103 de difusión en continuo o compartirse entre sí
Adicionalmente, en general, el ordenador ex111 y una LSI ex500 incluidas en cada uno de los dispositivos realizan tales procedimientos de codificación y decodificación. La LSI ex500 puede configurarse de un único chip o una pluralidad de chips. Software para la codificación y decodificación de imagen en movimiento puede integrase en algún tipo de un medio de grabación (tales como un CD-ROM, un disco flexible, un disco duro) que es legible por el ordenador ex111 y otros y los procedimientos de codificación y decodificación pueden realizarse usando el software. Adicionalmente, cuando el teléfono ex114 celular está equipado con una cámara, pueden transmitirse los datos de video obtenidos por la cámara. Los datos de vídeo son datos codificados por la LSI ex500 incluida en el teléfono ex114 celular.
Adicionalmente, el servidor ex103 de difusión en continuo puede componerse de servidores y ordenadores y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema ex100 de suministro de contenido. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario y reproducir los datos decodificados en tiempo real en el sistema ex100 de suministro de contenido, de modo que el usuario que no tiene ningún derecho ni equipo particulares puede implementar difusión personal. La presente invención no se limita al sistema ex100 de suministro de contenido anteriormente mencionado, y al menos o bien el aparato de codificación de imagen en movimiento o bien el aparato de decodificación de imagen en movimiento descrito en cada una de las realizaciones puede incorporarse en un sistema ex200 de difusión digital como se muestra en la Figura 20. Más específicamente, una estación ex201 de difusión comunica o transmite, a través de ondas de radio a un satélite ex202 de difusión, datos multiplexados obtenidos multiplexando los datos de audio y los datos de video. Los datos de video son datos codificados de acuerdo con el procedimiento de codificación de imagen en movimiento descrito en cada una de las realizaciones. Tras la recepción de los datos de video, el satélite ex202 de difusión transmite ondas de radio para difusión. A continuación, una antena ex204 de uso doméstico capaz de recibir una difusión por satélite recibe las ondas de radio. Un dispositivo, tal como una televisión ex300 (receptor) y un decodificador ex217 de salón (STB), 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 ex215 de grabación, tal como un DVD y un Bd, o (ii) codifica señales de video en el medio ex215 de grabación, y en algunos casos, escribe datos obtenidos multiplexando una señal de audio en los datos codificados puede incluir el aparato de decodificación de imagen en movimiento o el aparato de codificación de imagen en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de video reproducidas se visualizan en el monitor ex219, y otro aparato o sistema puede reproducir las señales de video, usando el medio ex215 de grabación 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 de salón conectado al cable ex203 para una televisión por cable o la antena ex204 para difusión por satélite y/o terrestre, para visualizar las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de imagen en movimiento puede incluirse no en el decodificador de salón sino en la televisión ex300.
La Figura 21 ilustra la televisión ex300 (receptor) que usa el procedimiento de codificación de imagen en movimiento y el procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando los datos de audio y los datos de video a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad ex302 de modulación/demodulación que demodula los datos multiplexados recibidos o demodula datos en datos multiplexados a suministrar fuera; y una unidad ex303 de multiplexación/demultiplexación que demultiplexa los datos multiplexados modulados en datos de video y datos de audio, o multiplexa los datos de video y datos de audio codificados por la unidad ex306 de procesamiento de señales en datos.
Adicionalmente, la televisión ex300 incluye además: una unidad ex306 de procesamiento de señales que incluye una unidad ex304 de procesamiento de señales de audio y una señal de vídeo unidad ex305 de procesamiento (que funciona como el aparato de codificación de imagen o el aparato de decodificación de imagen de acuerdo con la presente invención) que decodifica datos de audio y datos de video y codifica datos de audio y datos de video, respectivamente; un altavoz ex307 que proporciona la señal de audio decodificada; y una unidad ex309 de salida que incluye una unidad ex308 de visualización que visualiza la señal de video decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad ex317 de interfaz que incluye una unidad ex312 de entrada de operación que recibe una entrada de una operación de usuario. Adicionalmente, la televisión ex300 incluye una unidad ex310 de control que controla en general cada elemento constituyente de la televisión ex300 y una unidad ex311 de circuito de fuente de alimentación que suministra potencia a cada uno de los elementos. Además de la unidad ex312 de entrada de operación, la unidad ex317 de interfaz puede incluir: un puente ex313 que se conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad ex314 de ranura para la habilitación de unión del medio ex216 de grabación, tal como una tarjeta SD; un controlador ex315 a conectar a un medio de grabación externo, tal como un disco duro; y un módem ex316 a conectar a una red de telefonía. En el presente documento, el medio ex216 de grabación puede grabar información eléctricamente usando un elemento de memoria semiconductora no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de bus síncrono.
En primer lugar, se describirá una configuración en la que la televisión ex300 decodifica los datos multiplexados obtenidos de fuera a través de la antena ex204 y otras y reproduce los datos decodificados. En la televisión ex300, tras la recepción de una operación de usuario desde un controlador ex220 remoto y otros, la unidad ex303 de multiplexación/demultiplexación demultiplexa los datos multiplexados demodulados mediante la unidad ex302 de modulación/demodulación, bajo el control de la unidad ex310 de control que incluye una CPU. Adicionalmente, la unidad ex304 de procesamiento de señal de audio decodifica los datos de audio multiplexados y la unidad ex305 de procesamiento de señales de video decodifica los datos de video multiplexados, usando el procedimiento de decodificación descrito en cada una de las realizaciones en la televisión ex300. La unidad ex309 de salida proporciona fuera la señal de video y señal de audio decodificada. Cuando la unidad ex309 de salida proporciona la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en memorias ex318 y ex319 intermedias y otras de modo que las señales se reproducen en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer los datos multiplexados no a través de una difusión y otras sino del medio ex215 y ex216 de grabación, tales un a 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 fuera o escribe los datos en un medio de grabación. En la televisión ex300, tras la recepción de una operación de usuario desde el controlador ex220 remoto y otros, la unidad ex304 de procesamiento de señal de audio codifica una señal de audio, y la unidad ex305 de procesamiento de señales de video codifica una señal de vídeo, bajo el control de la unidad ex310 de control usando el procedimiento de codificación de imagen como se describe en cada una de las realizaciones. La unidad ex303 de multiplexación/demultiplexación multiplexa la señal de video y señal de audio codificadas y proporciona fuera la señal resultante. Cuando la unidad ex303 de multiplexación/demultiplexación multiplexa la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en memorias ex320 y ex321 intermedias y otras de modo que las señales se reproducen en sincronización entre sí. En el presente documento, las memorias ex318 a ex321 intermedias pueden ser plurales como se ilustra o al menos una memoria intermedia puede compartirse en la televisión ex300. Adicionalmente, datos pueden almacenarse en una memoria intermedia distinta de las memorias ex318 a ex321 intermedias de modo que puede evitarse el desbordamiento e infrautilización de sistema entre la unidad ex302 de modulación/demodulación y la unidad ex303 de multiplexación/demultiplexación, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para la recepción de una entrada AV desde un micrófono o una cámara distinta de la configuración para la obtención de datos de audio y video desde una difusión o un medio de grabación y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar fuera datos en la descripción, puede no ser capaz de realizar todos los procedimientos sino ser capaz de únicamente uno de recepción, decodificación y proporcionar fuera datos.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe los datos multiplexados de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la Figura 22 ilustra una configuración de una unidad ex400 de reproducción/grabación de información cuando se leen o escriben datos de o en un disco óptico. La unidad ex400 de reproducción/grabación de información incluye elementos ex401 a ex407 constituyentes a describir en lo sucesivo. El cabezal ex401 óptico irradia un punto láser en una superficie de grabación del medio ex215 de grabación que es un disco óptico para escribir información y detecta luz reflejada de la superficie de grabación del medio ex215 de grabación para leer la información. La unidad ex402 de grabación de modulación acciona eléctricamente un láser semiconductor incluido en el cabezal ex401 óptico y modula la luz láser de acuerdo con datos grabados. La unidad ex403 de demodulación de reproducción amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada de la superficie de grabación usando un fotodetector incluido en el cabezal ex401 óptico y demodula la señal de reproducción separando un componente de señal grabado en el medio ex215 de grabación para reproducir la información necesaria. La memoria ex404 intermedia mantiene temporalmente la información a grabar en el medio ex215 de grabación y la información reproducida del medio ex215 de grabación. Un motor ex405 de disco gira el medio ex215 de grabación. Una unidad ex406 de servocontrol mueve el cabezal ex401 óptico a una pista de información predeterminada mientras controla el accionamiento de giro del motor ex405 de disco para seguir el punto láser. La unidad ex407 de control de sistema controla en general la unidad ex400 de reproducción/grabación de información. Los procedimientos de lectura y escritura pueden implementarse mediante la unidad ex407 de control de sistema usando diversa información almacenada en la memoria ex404 intermedia y generando y añadiendo nueva información según sea necesario y mediante la unidad ex402 de grabación de modulación, la unidad ex403 de demodulación de reproducción y la unidad ex406 de servocontrol que graba y reproduce información a través del cabezal ex401 óptico mientras se está operando de una manera coordinada. La unidad ex407 de control de sistema incluye, por ejemplo, un microprocesador y ejecuta procesamiento provocando que un ordenador ejecute un programa para leer y escribir.
Aunque el cabezal ex401 óptico irradia un punto láser en la descripción, puede realizar grabación de alta densidad usando luz de campo cercano.
La Figura 23 ilustra esquemáticamente el medio ex215 de grabación que es el disco óptico. En la superficie de grabación del medio ex215 de grabación, se forman surcos de guía en espiral y una pista ex230 de información graba, por adelantado, información de dirección que indica una posición absoluta en el disco de acuerdo con cambio en una forma de los surcos de guía. La información de dirección incluye información para la determinación de posiciones de bloques ex231 de grabación que son una unidad para datos de grabación. Un aparato que graba y reproduce datos reproduce la pista ex230 de información y lee la información de dirección para determinar las posiciones de los bloques de grabación. Adicionalmente, el medio ex215 de grabación incluye un área ex233 de grabación de datos, un área ex232 de circunferencia interior y un área ex234 de circunferencia exterior. El área ex233 de grabación de datos es un área para su uso en la grabación de los datos de usuario. El área ex232 de circunferencia interior y el área ex234 de circunferencia exterior que están dentro y fuera del área ex233 de grabación de datos, respectivamente son para uso específico excepto para la grabación de los datos de usuario. La unidad 400 de reproducción/grabación de información lee y escribe datos de audio codificados, datos de video codificados o datos multiplexados obtenidos multiplexando los datos de audio codificados y los datos de video codificados, de y en el área ex233 de grabación de datos del medio ex215 de grabación.
Aunque se describe un disco óptico que tiene una capa, tal como un DVD y un BD, como un ejemplo en la descripción, el disco óptico no se limita a tales y puede ser un disco óptico que tiene una estructura multicapa y capaz de grabarse en una parte diferente de la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabación de la información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y grabación de información que tiene diferentes capas desde diversos ángulos.
Adicionalmente, el automóvil ex210 que tiene la antena ex205 puede recibir datos del satélite ex202 y otros y reproducir video en el dispositivo de visualización tal como el sistema ex211 de navegación para automóvil establecido en el automóvil ex210, en un sistema ex200 de difusión digital. En el presente documento, una configuración del sistema ex211 de navegación para automóvil será el que, por ejemplo, incluye una unidad de recepción de GPS en la configuración ilustrada en la Figura 21. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono ex114 celular y otros.
La Figura 24A ilustra el teléfono ex114 celular que usa el procedimiento de codificación de imagen en movimiento y el procedimiento de decodificación de imagen en movimiento descrito cada una de las realizaciones. El teléfono ex114 celular incluye: una antena ex350 para la transmisión y recepción de ondas de radio a través de la estación ex110 base; una unidad ex365 de cámara capaz de capturar imágenes en movimiento y fijas; y una unidad ex358 de visualización tal como una pantalla de cristal líquido para la visualización de los datos tales como video decodificado capturado por la unidad ex365 de cámara o recibido por la antena ex350. El teléfono ex114 celular incluye además: una unidad de cuerpo principal que incluye un conjunto de teclas ex366 de operación; una unidad ex357 de salida de audio tal como un altavoz para salida de audio; una unidad ex356 de entrada de audio tal como un micrófono para entrada de audio; una unidad ex367 de memoria para el almacenamiento de video o instantáneas fijas capturados, audio grabado, datos codificados o decodificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad ex364 de ranura que es una unidad de interfaz para un medio de grabación que almacena datos en la misma manera que la unidad ex367 de memoria.
A continuación, se describirá un ejemplo de una configuración del teléfono ex114 celular con referencia a la Figura 24B. En el teléfono ex114 celular, una unidad ex360 de control principal diseñada para controlar en general cada unidad del cuerpo principal que incluye la unidad ex358 de visualización así como las teclas ex366 de operación se conecta mutuamente, a través de un bus ex370 síncrono, a una unidad ex361 de circuito de fuente de alimentación, una unidad ex362 de control de entrada de operación, una unidad ex355 de procesamiento de señal de vídeo, una unidad ex363 de interfaz de cámara, una unidad ex359 de control de pantalla de cristal líquido (LCD), una unidad ex352 de modulación/demodulación, una unidad ex353 de multiplexación/demultiplexación, una unidad de procesamiento de señales de audio ex354, la unidad ex364 de ranura y la unidad ex367 de memoria.
Cuando una tecla de finalización de llamada o una tecla de potencia se ACTIVA mediante una operación del usuario, la unidad ex361 de circuito de fuente de alimentación suministra a las respectivas unidades con potencia de un conjunto de baterías para activar el teléfono ex114 celular.
En el teléfono ex114 celular, la unidad ex354 de procesamiento de señales de audio convierte las señales de audio recogidas por la unidad ex356 de entrada de audio en modo de conversación de voz en señales de audio digitales bajo el control de la unidad ex360 de control principal que incluye una CPU, ROM y RAM. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro ensanchado en las señales de audio digitales y la unidad ex351 de transmisión y recepción realiza conversión de digital a analógico y 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 ex114 celular, la unidad ex351 de transmisión y recepción amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza conversión de frecuencia y la conversión de analógico a digital en los datos.
A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro ensanchado inverso en los datos y la unidad ex354 de procesamiento de señales de audio convierte los mismos en señales de audio analógicas, para emitir las mismas a través de la unidad ex357 de salida de audio. Adicionalmente, cuando un correo electrónico en modo de comunicación de datos se transmite, datos de texto del correo electrónico introducido operando las teclas ex366 de operación y otras del cuerpo principal se envían fuera a la unidad ex360 de control principal a través de la unidad ex362 de control de entrada de operación. La unidad ex360 de control principal provoca que la unidad ex352 de modulación/demodulación realice procesamiento de espectro ensanchado en los datos de texto y la unidad ex351 de transmisión y recepción realiza la conversión de digital a analógico y la conversión de frecuencia en los datos resultantes para transmitir los datos a la ex110 estación base a través de la antena ex350. Cuando se recibe un correo electrónico, se realiza procesamiento que es aproximadamente inverso al procesamiento de transmisión de un correo electrónico en los datos recibidos y los datos resultantes se proporcionan a la unidad ex358 de visualización.
Cuando video, imágenes fijas o video y audio en modo de comunicación de datos se transmite o transmiten, la unidad ex355 de procesamiento de señales de video comprime y codifica señales de video suministradas desde la unidad ex365 de cámara usando el procedimiento de codificación de imagen en movimiento mostrado en cada una de las realizaciones y transmite los datos de video codificados a la unidad ex353 de multiplexación/demultiplexación.
En contraste, durante cuando la unidad ex365 de cámara captura video, imágenes fijas y otras, la unidad ex354 de procesamiento de señales de audio codifica señales de audio recogidas mediante la unidad ex356 de entrada de audio y transmite los datos de audio codificados a la unidad ex353 de multiplexación/demultiplexación.
La unidad ex353 de multiplexación/demultiplexación multiplexa los datos de video codificados suministrados desde la unidad ex355 de procesamiento de señales de video y los datos de audio codificados suministrados desde la unidad ex354 de procesamiento de señales de audio, usando un procedimiento predeterminado. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro ensanchado en los datos multiplexados y la unidad ex351 de transmisión y recepción realiza conversión de digital a analógico y conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350.
Cuando se reciben datos de un archivo de video que está enlazado a una página web y otras en modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjuntos, para decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad ex353 de multiplexación/demultiplexación demultiplexa los datos multiplexados en una secuencia de bits de datos de video y una secuencia de bits de datos de audio y suministra la unidad ex355 de procesamiento de señales de video con los datos de video codificados y la unidad ex354 de procesamiento de señales de audio con los datos de audio codificados, a través del bus ex370 síncrono. La unidad ex355 de procesamiento de señales de video decodifica la señal de video usando un procedimiento de codificación de imagen en movimiento que corresponde al procedimiento de codificación de imagen en movimiento mostrado en cada una de las realizaciones y a continuación la unidad ex358 de visualización visualiza, por ejemplo, las imágenes de video y fijas en el archivo de video enlazado a la página web a través de la unidad ex359 de control de LCD. Adicionalmente, la unidad ex354 de procesamiento de señales de audio decodifica la señal de audio y la unidad ex357 de salida de audio proporciona el audio.
Adicionalmente, de forma similar a la televisión ex300, un terminal tal como el teléfono ex114 celular probablemente tiene 3 tipos de configuraciones de implementación que incluye no únicamente (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal re recepción que incluye únicamente un aparato de decodificación. Aunque el sistema ex200 de difusión digital recibe y transmite los datos multiplexados obtenidos multiplexando datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no datos de audio sino datos de caracteres relativos a video en datos de video y pueden no ser datos multiplexados sino datos de video en sí.
Como tal, el procedimiento de codificación de imagen en movimiento y el procedimiento de decodificación de imagen en movimiento en cada una de las realizaciones pueden usarse en cualquiera de los dispositivos y sistemas descritos. Por lo tanto, pueden obtenerse las ventajas descritas en cada una de las realizaciones.
Adicionalmente, la presente invención no se limita a las realizaciones, y son posibles diversas modificaciones y revisiones sin alejarse del ámbito de la presente invención.
(Realización 5)
Datos de video pueden generarse mediante conmutación, 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 mostrado 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 en conformidad con una norma diferente, tal como MPEG-2, MPEG4-AVC y VC-1.
En el presente documento, cuando una pluralidad de datos de video que se ajusta a las normas diferentes se genera y es a continuación decodificada, los procedimientos de decodificación necesitan seleccionarse para ajustarse a las diferentes normas. Sin embargo, ya que no puede detectarse a qué norma se ajusta cada uno de la pluralidad de los datos de vídeo a decodificar, existe un problema que no pueda seleccionarse un procedimiento de decodificación apropiado.
Para resolver el problema, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de video tiene una estructura que incluye información de identificación que indica a qué norma se ajustan los datos de vídeo. En lo sucesivo se describirá 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 mediante el aparato de codificación de imagen en movimiento mostrado en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato de Flujo de Transporte MPEG-2.
La Figura 25 ilustra una estructura de los datos multiplexados. Como se ilustra en la Figura 25, los datos multiplexados pueden obtenerse 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 video primario y video secundario de una película, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria a mezclar con la parte de audio primaria y el flujo de gráficos de presentación representa subtítulos de una película. En el presente documento, el video primario es video normal a visualizar en una pantalla y el video secundario es video a visualizar en una ventana más pequeñas en el video principal. Adicionalmente, el flujo de gráficos interactivos representa una pantalla interactiva a generar mediante la disposición de los componentes GUI en una pantalla. El flujo de vídeo se codifica en el procedimiento de codificación de imagen en movimiento o mediante el aparato de codificación de imagen en movimiento mostrado en cada una de las realizaciones o en un procedimiento de codificación de imagen en movimiento o mediante un aparato de codificación de imagen en movimiento en conformidad con una norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1. El flujo de audio se codifica de acuerdo con una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, Dt S-HD y PCM lineal. Cada flujo incluido en los datos multiplexados se identifica mediante PID. Por ejemplo, 0x1011 se asigna al flujo de vídeo a usar para video 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, 1x1B00 a OxlBlF se asignan a los flujos de vídeo a usar para video secundario de la película y 0x1A00 a 0x1A1F se asignan a los flujos de audio a usar para el video secundario a mezclar con el audio primario.
La Figura 26 ilustra esquemáticamente cómo se multiplexan los datos. En primer lugar, un flujo de vídeo ex235 compuestos de fotogramas de video y un flujo de audio ex238 compuesto de tramas de audio se transforman en un flujo de paquetes ex236 PES y un flujo de paquetes ex239 PES y adicionalmente en paquetes ex237 TS y paquetes ex240 TS, respectivamente. De manera similar, datos de un flujo ex241 de gráficos de presentación y datos de un flujo ex244 de gráficos interactivos se transforman en un flujo de paquetes ex242 PES y un flujo de paquetes ex245 p Es y adicionalmente en paquetes ex243 TS y paquetes ex246 TS, respectivamente. Estos paquetes TS se multiplexan en un flujo para obtener datos ex247 multiplexados.
La Figura 27 ilustra en más detalle cómo se almacena un flujo de vídeo en un flujo de paquetes PES. La primera barra en la Figura 27 muestra un flujo de fotogramas de video en un flujo de vídeo. La segunda barra muestra el flujo de paquetes PES. Como se indica mediante flechas indicadas como yy1, yy2, yy3 e yy4 en la Figura 27, el flujo de vídeo se divide en instantáneas como instantáneas de tipo I, instantáneas de tipo B e instantáneas de tipo P cada una de las cuales es una unidad de presentación de video y las instantáneas se almacenan en una carga útil de cada uno de los paquetes de 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 instantánea y una Indicación de Tiempo de Decodificación (DTS) que indica un tiempo de decodificación de la instantánea.
La Figura 28 ilustra un formato de paquetes 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 encabezamiento TS de 4 bytes que tiene información, tal como una PID para la identificación de un flujo y una carga útil TS de 184 bytes para el almacenamiento de datos. Los paquetes de PES se dividen y almacenan en las cargas útiles TS, respectivamente. Cuando se usa un BD ROM, a cada uno de los paquetes TS se asigna un Encabezamiento_Extra_TP de 4 bytes, por lo tanto resultando en paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El Encabezamiento_Extra_TP almacena información tal como una Indicación_Tiempo_LLegada (ATS). La ATS muestra un tiempo de inicio de transferencia en al que cada uno de los paquetes TS se transferirá a un filtro PID. Los números que incrementan desde el encabezamiento de los datos multiplexados se denominan números de paquete fuente (SPN) como se muestra en la parte inferior de la Figura 28.
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no únicamente flujos de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programa (PAT), una Tabla de Mapa de Programa (PMT) y una Referencia de Reloj de Programa (PCR). La PAT muestra lo que indica una PID en una PMT usada en los datos multiplexados y una PID de la propia PAT se registra como cero. La PMT almacena PID de los flujos de video, audio, subtítulos y otros incluidos en los datos multiplexados e información de atributo de los flujos que corresponde a las 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. La PCR almacena información de tiempo STC que corresponde a una ATS que muestra cuándo se transfiere el paquete PCR a un decodificador, para lograr sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATS y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de PTS y DTS.
La Figura 29 ilustra la estructura de datos de la PMT en detalle. Un encabezamiento de PMT se dispone en la parte superior de la PMT. El encabezamiento de PMT describe la longitud de datos incluidos en la p Mt y otros. Una pluralidad de descriptores relacionados con los datos multiplexados se dispone después del encabezamiento de PMT. Información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, se dispone una pluralidad de piezas de información de flujo relacionada con los flujos incluidos en los datos multiplexados. Cada pieza de información de flujo incluye descriptores de flujo describiendo cada uno información, tal como un tipo de flujo para la identificación de un códec de compresión de un flujo, una PID de flujo e información de atributo de flujo (tal como una tasa de fotogramas 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 graban junto con archivos de información de datos multiplexados.
Cada uno de los ficheros de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la Figura 30. Los ficheros de información de datos multiplexados están en correspondencia de 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.
Como se ilustra en la Figura 30, la información de datos multiplexados incluye una tasa de sistema, un tiempo de inicio de reproducción y un tiempo de fin de reproducción. La tasa de sistema indica la tasa de transferencia máxima a la que un decodificador objetivo de sistema que se describirá más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidos en los datos multiplexados se establecen para no superar una tasa de sistema. El tiempo de inicio de reproducción indica una PTS en un fotograma de video en el encabezamiento de los datos multiplexados. Un intervalo de un fotograma se añade a una PTS en un fotograma de video al final de los datos multiplexados y la PTS se establece al tiempo de fin de reproducción.
Como se muestra en la Figura 31, se registra una pieza de información de atributo en la información de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada pieza de información de atributo tiene diferente información dependiendo de si el flujo 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 información de atributo de flujo de video transporta información que incluye qué clase de códec de compresión se usa para la compresión del flujo de vídeo y la resolución, relación de aspecto y tasa de fotogramas de las piezas de datos de instantánea que se incluye en el flujo de vídeo. Cada pieza de información de atributo de flujo de audio transporta información que incluye qué clase de códec de compresión se usa para la compresión del flujo de audio, cuántos canales se incluyen en el flujo de audio, qué idioma soporta el flujo de audio y cuán alta es la frecuencia de muestreo. La información de atributo de flujo de video y la información de atributo de flujo de audio se usan para la 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 video 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 o una unidad para la asignación de información exclusiva que indica datos de video generados mediante 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 la PMT o la información de atributo de flujo de video. Con la estrcutura, los datos de vídeo generados mediante 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 datos de video que se ajustan a otra norma.
Adicionalmente, la Figura 32 ilustra etapas del procedimiento de decodificación de imagen en movimiento de acuerdo con la realización 7. En la Etapa exS100, el tipo de flujo incluido en la PMT o la información de atributo de flujo de video se obtiene a partir de 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 video indica o no que los datos multiplexados se generan mediante 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 que el tipo de flujo o la información de atributo de flujo de video indica que los datos multiplexados se generan mediante 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 de atributo de flujo de video 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 de atributo de flujo de video indica conformidad con las normas, tales como MPEG-2, MPEG4-AVC y VC-1, en la Etapa exS103, el tipo de flujo o la información de atributo de flujo de video se decodifica mediante un procedimiento de codificación de imagen en movimiento en conformidad con las normas convencionales.
Como tal, la asignación de un nuevo valor exclusivo al tipo de flujo o la información de atributo de flujo de video habilita 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 describe en cada una de las realizaciones puede realizar o no decodificación. Incluso en una entrada de datos multiplexados que se ajusta a una norma diferente, puede seleccionarse un procedimiento o aparato de decodificación apropiados. Por lo tanto, es posible decodificar información sin ningún error. Adicionalmente, el procedimiento de codificación de imagen en movimiento o aparato o el procedimiento o aparato de decodificación de imagen en movimiento en la realización 5 pueden usarse en los dispositivos y sistemas descritos anteriormente.
(Realización 6)
Cada uno del procedimiento 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 logra habitualmente en forma de un circuito integrado o un circuito Integrado en Gran Escala (LSI). Como un ejemplo del LSI, la Figura 33 ilustra una configuración del LSI ex500 que se fabrica en un chip. El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 a describir a continuación y los elementos se conectan entre sí a través de un bus ex510. La unidad ex505 de circuito de fuente de alimentación se activa suministrando a cada uno de los elementos con potencia cuando la unidad ex505 de circuito de fuente de alimentación se activa.
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 otros a través de un IO ex509 AV bajo el control de una unidad ex501 de control que incluye una CPU ex502, un controlador ex503 de memoria, un controlador ex504 de flujo y una unidad ex512 de control de frecuencia de accionamiento. La señal AV recibida se almacena temporalmente en una memoria ex511 externa, tal como una SDRAM. Bajo el control de la unidad ex501 de control, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de procesamiento y velocidad a transmitir a una unidad ex507 de procesamiento de señales. A continuación, la unidad ex507 de procesamiento de señales codifica una señal de audio y/o una señal de vídeo. En el presente documento, la codificación de la señal de video es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad ex507 de procesamiento de señales en ocasiones multiplexa los datos de audio codificados y los datos de video codificados y un IO ex506 de flujo proporciona fuera los datos multiplexados. Los datos multiplexados proporcionados se transmiten a la estación ex107 base o escriben en el medio ex215 de grabación. Cuando conjuntos de datos se multiplexan, el conjunto de datos debería almacenarse temporalmente en la memoria ex508 intermedia de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede incluirse en el LSI ex500. La memoria ex508 intermedia no se limita a una memoria intermedia, sino que puede componerse de memorias intermedias. Adicionalmente, el LSI ex500 puede fabricarse en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad ex501 de control incluye la CPU ex502, el controlador ex503 de memoria, el controlador ex504 de flujo, la unidad ex512 de control de frecuencia de accionamiento, la configuración de la unidad ex501 de control no se limita a tal. Por ejemplo, la unidad ex507 de procesamiento de señales puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad ex507 de procesamiento de señales puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o ser una parte de la unidad ex507 de procesamiento de señales y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En un caso de este tipo, la unidad ex501 de control incluye la unidad ex507 de procesamiento de señales o la CPU ex502 que incluye una parte de la unidad ex507 de procesamiento de señales.
El nombre usado en este punto es LSI, pero también puede denominarse IC, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las formas para lograr la integración no se limitan al LSI y un circuito especial o un procesador de fin general y así sucesivamente también pueden lograr la integración. Para el mismo fin puede usarse campo de matriz de puertas programables (FPGA) que pueden 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.
En el futuro, con avances en la tecnología de semiconductores, una nueva tecnología puede sustituir a LSI. Los bloques funcionales pueden integrarse usando una tecnología de este tipo. La posibilidad es que la presente invención se aplica a biotecnología.
(Realización 7)
Cuando datos de video se decodifican mediante el procedimiento de codificación de imagen en movimiento o mediante el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, en comparación con cuando datos de video que se ajustan a una norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, la cantidad de computación probablemente aumenta. Por lo tanto, el LSI ex500 necesita establecerse a una frecuencia de accionamiento mayor que la de la CPU ex502 a usar cuando se decodifican datos de video en conformidad con la norma convencional. Sin embargo, cuando la frecuencia de accionamiento se establece más alta, existe un problema que el consumo de potencia aumenta.
Para resolver el problema, el aparato de decodificación de imagen en movimiento, tal como la televisión ex300 y el LSI ex500, se configura para determinar a qué norma se ajustan los datos de vídeo y conmutar entre las frecuencias de accionamiento de acuerdo con la norma determinada. La Figura 34 ilustra una configuración ex800 en la realización 7. Una unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento más alta cuando datos de video se generan mediante 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. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a una unidad ex801 de procesamiento de decodificación que ejecute el procedimiento de decodificación de imagen en movimiento descritos en cada una de las realizaciones para decodificar los datos de vídeo. Cuando los datos de vídeo se ajustan a la norma convencional, la unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento más baja que la de los datos de vídeo generados mediante 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. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a la unidad ex802 de procesamiento de decodificación que se ajuste a la norma convencional para decodificar los datos de vídeo.
Más específicamente, la unidad ex803 de conmutación de frecuencia de accionamiento incluye la CPU ex502 y la unidad ex512 de control de frecuencia de accionamiento en la Figura 33. En el presente documento, cada una de la unidad ex801 de procesamiento de decodificación que ejecuta el procedimiento de decodificación de imagen en movimiento descritos en cada una de las realizaciones y la unidad ex802 de procesamiento de decodificación que se ajusten a la norma convencional corresponden a la unidad ex507 de procesamiento de señales en la Figura 33. La CPU ex502 determina a qué norma se ajustan los datos de vídeo. A continuación, la unidad ex512 de control de frecuencia de accionamiento determina una frecuencia de accionamiento a base de una señal de la CPU ex502. Adicionalmente, la unidad ex507 de procesamiento de señales decodifica los datos de vídeo a base de una señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la realización 5 se usa probablemente para la identificación de 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é norma se ajustan los datos de vídeo. Por ejemplo, cuando puede determinarse a qué norma se ajustan los datos de video a base de una señal externa para la determinación de que los datos de vídeo se usan para una televisión o un disco, etc., la determinación puede hacerse a base de una señal externa de este tipo. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento a base de, por ejemplo, una tabla de consulta en la que las normas de los datos de vídeo se asocian con las frecuencias de accionamiento como se muestra en la Figura 36. La frecuencia de accionamiento puede seleccionarse almacenando la tabla de consulta en la memoria ex508 intermedia y una memoria interna de un LSI y con referencia a la tabla de consulta mediante la CPU ex502.
La Figura 35 ilustra etapas para la ejecución de un procedimiento en la realización 7. En primer lugar, en la Etapa exS200, la unidad ex507 de procesamiento de señales obtiene información de identificación a partir 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 a base de la información de identificación mediante el procedimiento de codificación y el aparato de decodificación descritos en cada una de las realizaciones. Cuando los datos de vídeo se generan mediante el procedimiento de codificación y el aparato de decodificación descritos en cada una de las realizaciones, en la Etapa exS202, la CPU ex502 transmite una señal para el establecimiento de la frecuencia de accionamiento a una frecuencia de accionamiento más alta a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otra parte, cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en la Etapa exS203, la CPU ex502 transmite una señal para el establecimiento de la frecuencia de accionamiento a una frecuencia de accionamiento más baja a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más baja que la del caso en el que los datos de vídeo se generan mediante el procedimiento de codificación y el aparato de decodificación 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 a aplicar al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento se establece más baja, la tensión a aplicar al lSi ex500 o el aparato que incluye el LSI ex500 se establece probablemente a una tensión más baja que la del caso en el que la frecuencia de accionamiento se establece más alta.
Adicionalmente, cuando la cantidad de computación para la decodificación de es mayor, la frecuencia de accionamiento puede establecerse más alta y cuando la cantidad de computación para la decodificación es más pequeña, la frecuencia de accionamiento puede establecerse más baja como el procedimiento para el establecimiento de la frecuencia de accionamiento. Por lo tanto, el procedimiento de establecimiento no se limita a los descritos anteriormente. Por ejemplo, cuando la cantidad de computación para la decodificación de datos de video en conformidad con MPEG4_AVC es mayor que la cantidad de computación para la decodificación de datos de video generados mediante el procedimiento de codificación de imagen en movimiento y el aparato de codificación de imagen en movimiento descritos en cada una de las realizaciones, la frecuencia de accionamiento probablemente se establece en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el procedimiento para el establecimiento de la frecuencia de accionamiento no se limita al procedimiento para el establecimiento 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 descritos en cada una de las realizaciones, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 probablemente se establece más alta. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 probablemente se establece más baja. 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 descritos en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no tiene que suspenderse. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma 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 extra de procesamiento. Incluso 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 descritos en cada una de las realizaciones, en el caso en el que la CPU ex502 puede tener un retardo de tiempo, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado. En un caso de este tipo, el tiempo de suspensión probablemente se establece más corto que en el caso en el que cuando la información de identificación indica que los datos de vídeo se ajustan a la norma 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 norma a la que se ajustan los datos de vídeo. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona usando una batería, la duración de la batería puede extenderse con el efecto de conservación de potencia.
(Realización 8)
Existen casos en los que una pluralidad de datos de video que se ajustan a normas diferentes se proporciona a los dispositivos y sistemas, tales como una televisión y un teléfono celular. Para habilitar la decodificación de la pluralidad de datos de video que se ajusta a las normas diferentes, la unidad ex507 de procesamiento de señales del LSI ex500 necesita ajustarse a las diferentes normas. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y aumento en los costes surgen con el uso individual de las unidades ex507 de procesamiento de señales que se ajustan a las respectivas normas.
Para resolver el problema, lo que se concibe es una configuración en la que la unidad de procesamiento de decodificación de implementación del 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 a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1 se comparten parcialmente. Ex900 en la Figura 37A 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 tiene, parcialmente en común, los detalles de procesamiento, tal como codificación por entropía, cuantificación inversa, filtración de desbloqueo y predicción de movimiento compensado. Los detalles de procesamiento a compartir probablemente incluyen el uso de una unidad ex902 de procesamiento de decodificación que se ajusta a MPEG4-AVC. En contraste, una unidad ex901 de procesamiento de decodificación especializada se usa probablemente para otro procesamiento único a la presente invención. Ya que la presente invención se caracteriza por la decodificación aritmética en particular, por ejemplo, la unidad ex901 de procesamiento de decodificación especializada se usa para la decodificación aritmética. De otra manera, la unidad de procesamiento de decodificación se comparte probablemente para una de la cuantificación inversa, filtración de desbloqueo y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de decodificación de implementación del procedimiento de decodificación de imagen en movimiento descrito en cada una de las realizaciones puede compartirse para el procesamiento a compartir y una unidad de procesamiento de decodificación especializada puede usarse para procesamiento único al de MPEG4-AVC.
Adicionalmente, ex1000 en la Figura 37B muestra otro ejemplo en el que el procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad ex1001 de procesamiento de decodificación especializada que soporta el procesamiento exclusivo de la presente invención, una unidad ex1002 de procesamiento de decodificación especializada que soporta el procesamiento exclusivo de otra norma convencional y una unidad de procesamiento de decodificación ex1003 que soporta el 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 convencional. En el presente documento, las unidades ex1001 y ex1002 de procesamiento de decodificación especializadas no se especializan necesariamente para el procesamiento de la presente invención y el procesamiento de la norma convencional y pueden ser los capaces de la implementación de procesamiento general. Adicionalmente, la configuración de realización 8 puede implementarse mediante el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del coste son posibles compartiendo la unidad de procesamiento de decodificación para el 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 conformidad con la norma convencional.
Aplicabilidad industrial
La presente invención es aplicable a un procedimiento de codificación de imagen, un procedimiento de decodificación de imagen, un aparato de codificación de imagen y un aparato de decodificación de imagen y, en particular, es aplicable a un procedimiento de codificación de imagen, un procedimiento de decodificación de imagen, un aparato de codificación de imagen y un aparato de decodificación de imagen que usan 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 cuantificación
104 Unidad de codificación de longitud variable
105 Unidad de cuantificación inversa y transformación inversa
106, 206 Unidad de adición
107, 207 Unidad de intra predicción 108,
208 Unidad de inter predicción
109, 209 Conmutador
121 Señal de imágenes de entrada
122, 125, 225 Señal residual
123, 223 Coeficientes de transformación cuantificados
124 Secuencia de bits
126 Señal de imágenes reconstruidas
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
152, 252 Índice de contexto
200 Aparato de decodificación de imagen
Unidad de control
Unidad de decodificación de longitud variable Unidad de cuantificación inversa
Unidad de transformación inversa Coeficientes de transformada ortogonales Señal de imagen decodificada
Señal de imagen
Unidad de conversión a binario inversa Unidad de decodificación aritmética binaria

Claims (5)

REIVINDICACIONES
1. Un procedimiento de codificación para codificar un parámetro de control para controlar la codificación de una imagen, comprendiendo el procedimiento de codificación:
determinar (S102, S103) un contexto para un bloque actual en la imagen, de entre una pluralidad de contextos; y realizar (S209) codificación aritmética en el parámetro de control para el bloque actual, usando el contexto determinado para generar una secuencia de bits que corresponde al bloque actual;
caracterizado porque la determinación (S102, S103) incluye adicionalmente:
determinar (S104) un tipo de señal en virtud de la cual se clasifica el parámetro de control para el bloque actual;
determinar (S105) el contexto usando ambos parámetros de control codificados para un bloque izquierdo y un bloque superior, cuando el tipo de señal es un primer tipo, siendo el bloque izquierdo un bloque vecino a la izquierda del bloque actual y siendo el bloque superior un bloque vecino encima del bloque actual; y determinar (S107) el contexto usando una profundidad jerárquica de una unidad de datos a la que pertenece el parámetro de control para el bloque actual, sin usar ninguno de los parámetros de control codificados para el bloque izquierdo y el bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y en el que una de una bandera de división y una bandera de salto se clasifica en el primer tipo, indicando la bandera de división si el bloque actual está o no dividido en una pluralidad de bloques, e indicando la bandera de salto si el bloque actual tiene o no que saltarse, y
en el que información de inter predicción se clasifica en el segundo tipo, indicando la información de inter predicción cuál de unipredicción y bipredicción se usa para la predicción del bloque actual.
2. El procedimiento de codificación de acuerdo con la reivindicación 1,
en el que el parámetro de control clasificado en el primer tipo pertenece a la unidad de datos de un tamaño mayor o igual a un tamaño de la unidad de datos a la que pertenece el parámetro de control clasificado en el segundo tipo.
3. El procedimiento de codificación de acuerdo con la reivindicación 1 o 2,
en el que en la determinación (S102, S103) de un contexto, se determina adicionalmente que el parámetro de control codificado para el bloque superior no está disponible en codificación, cuando el bloque actual está en un límite de segmento.
4. Un aparato de codificación para codificar un parámetro de control para controlar la codificación de una imagen, comprendiendo el aparato de codificación:
una unidad (142) de determinación de contexto configurada para determinar un contexto para un bloque actual en la imagen, de entre una pluralidad de contextos; y
una unidad (143) de codificación aritmética configurada para realizar codificación aritmética en el parámetro de control para el bloque actual, usando el contexto determinado para generar en una secuencia de bits que corresponde al bloque actual;
caracterizado porque la unidad (142) de determinación de contexto está configurada para:
determinar un tipo de señal en el que está clasificado el parámetro de control para el bloque actual; determinar el contexto usando ambos parámetros de control codificados para un bloque izquierdo y un bloque superior, cuando el tipo de señal es un primer tipo, siendo el bloque izquierdo un bloque vecino a la izquierda del bloque actual y siendo el bloque superior un bloque vecino encima del bloque actual; y
determinar el contexto usando una profundidad jerárquica de una unidad de datos a la que pertenece el parámetro de control para el bloque actual, sin usar parámetros de control para el bloque izquierdo y el bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo, y
en el que una de una bandera de división y una bandera de salto está clasificada en el primer tipo, indicando la bandera de división si el bloque actual está o no dividido en una pluralidad de bloques, e indicando la bandera de salto si el bloque actual tiene o no que saltarse, y
en el que información de inter predicción está clasificada en el segundo tipo, indicando la información de inter predicción cuál de unipredicción y bipredicción se usa para la predicción del bloque actual.
5. Un aparato de codificación para codificar un parámetro de control para controlar la codificación de una imagen, comprendiendo el aparato de codificación:
circuitería de procesamiento; y
almacenamiento acoplado a la circuitería de procesamiento, en el que
la circuitería de procesamiento usa el almacenamiento para realizar el procedimiento de codificación de acuerdo con cualquiera de las reivindicaciones 1 a 3.
ES18182923T 2011-06-24 2012-06-22 Procedimiento de codificación y aparato de codificación Active ES2755726T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161500793P 2011-06-24 2011-06-24

Publications (1)

Publication Number Publication Date
ES2755726T3 true ES2755726T3 (es) 2020-04-23

Family

ID=47361838

Family Applications (2)

Application Number Title Priority Date Filing Date
ES12802482T Active ES2697062T3 (es) 2011-06-24 2012-06-22 Procedimiento de decodificación de imagen y dispositivo de decodificación de imagen
ES18182923T Active ES2755726T3 (es) 2011-06-24 2012-06-22 Procedimiento de codificación y aparato de codificación

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES12802482T Active ES2697062T3 (es) 2011-06-24 2012-06-22 Procedimiento de decodificación de imagen y dispositivo de decodificación de imagen

Country Status (14)

Country Link
US (5) US9049462B2 (es)
EP (2) EP2725792B1 (es)
JP (4) JPWO2012176465A1 (es)
KR (1) KR102062283B1 (es)
CN (3) CN106878723B (es)
AU (1) AU2012274780B2 (es)
BR (1) BR112013027186B1 (es)
CA (1) CA2833855C (es)
ES (2) ES2697062T3 (es)
HU (1) HUE046468T2 (es)
MX (1) MX2013012019A (es)
RU (1) RU2603552C2 (es)
TW (1) TW201325243A (es)
WO (1) WO2012176465A1 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2837532C (en) 2011-06-23 2018-10-02 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR102062283B1 (ko) * 2011-06-24 2020-01-03 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
CA2830046C (en) 2011-06-24 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN103563375B (zh) 2011-06-27 2017-04-05 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
CA2837535C (en) 2011-06-28 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
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
CN103583048B (zh) * 2011-06-30 2017-05-17 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
KR20140034209A (ko) 2011-07-11 2014-03-19 파나소닉 주식회사 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
JP6120490B2 (ja) 2011-11-07 2017-04-26 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9584812B2 (en) 2012-01-20 2017-02-28 Blackberry Limited Methods and devices for context set selection
MX2014012452A (es) * 2012-04-15 2015-01-12 Samsung Electronics Co Ltd Metodo y aparato para determinar imagenes de referencia para inter-prediccion.
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
WO2017088810A1 (en) 2015-11-27 2017-06-01 Mediatek Inc. Method and apparatus of entropy coding and context modelling for video and image coding
US10212444B2 (en) 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US11223852B2 (en) * 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
FR3058019A1 (fr) * 2016-10-21 2018-04-27 Orange Procede de codage et de decodage de parametres d'image, dispositif de codage et de decodage de parametres d'image et programmes d'ordinateur correspondants
US20200077099A1 (en) * 2016-12-16 2020-03-05 Sharp Kabushiki Kaisha Image decoding device and image coding device
US10848788B2 (en) 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
WO2019069902A1 (ja) * 2017-10-06 2019-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
JP2019134291A (ja) * 2018-01-31 2019-08-08 東芝映像ソリューション株式会社 受信機
EP3806042A4 (en) * 2018-06-06 2021-06-23 Panasonic Intellectual Property Corporation of America METHOD FOR CODING THREE-DIMENSIONAL DATA, METHOD FOR DECODING THREE-DIMENSIONAL DATA, DEVICE FOR CODING THREE-DIMENSIONAL DATA AND DEVICE FOR DECODING THREE-DIMENSIONAL DATA
JP7132436B2 (ja) * 2018-10-27 2022-09-06 華為技術有限公司 ビデオコーディングのための、サブブロックマージ候補のための個別マージリストと、イントラ-インター技術との調和
WO2020167097A1 (ko) * 2019-02-15 2020-08-20 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측을 위한 인터 예측 타입 도출
EP3941048A4 (en) 2019-03-13 2022-12-28 LG Electronics Inc. IMAGE CODING/DECODING METHOD AND DEVICE, AND METHOD FOR TRANSMITTING A BITSTREAM
WO2024020119A1 (en) * 2022-07-19 2024-01-25 Google Llc Bit stream syntax for partition types

Family Cites Families (128)

* Cited by examiner, † Cited by third party
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 ポリイミド膜の製膜改善方法
DE4429585C1 (de) 1994-08-19 1995-11-23 Bosch Gmbh Robert Verfahren zur arithmetischen Decodierung
WO2003003745A1 (en) 2001-06-29 2003-01-09 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
EP2271111B1 (en) 2001-11-06 2016-08-10 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
EP3525466B1 (en) 2002-04-19 2022-02-09 Panasonic Intellectual Property Corporation of America Motion vector determining method and apparatus
EP3525465B1 (en) 2002-04-19 2021-03-17 Panasonic Intellectual Property Corporation of America Picture decoding method and apparatus
JP3807342B2 (ja) 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
JP2003319391A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
EP1500281A2 (de) * 2002-05-02 2005-01-26 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung E.V. Kodierung von transformations-koeffizienten in bild- oder videokodierern
US20040234143A1 (en) 2002-07-02 2004-11-25 Makoto Hagai Image encoding method and picture decoding method
ES2524117T3 (es) 2002-08-08 2014-12-04 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
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 映像信号符号化装置、および映像信号符号化方法
WO2004082290A1 (ja) 2003-03-10 2004-09-23 Mitsubishi Denki Kabushiki Kaisha 映像信号符号化装置、および映像信号符号化方法
EP1608164A1 (en) 2003-03-24 2005-12-21 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
KR100608050B1 (ko) 2004-01-14 2006-08-02 삼성전자주식회사 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법
US8190003B2 (en) 2004-01-14 2012-05-29 Samsung Electronics Co., Ltd. Storage medium storing interactive graphics stream activated in response to user's command, and reproducing apparatus for reproducing from the same
ES2392437T3 (es) 2004-01-30 2012-12-10 Panasonic Corporation Procedimiento de decodificación de vídeos que utiliza matrices de cuantificación adaptativas
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
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 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
CA2542266C (en) 2004-04-28 2012-07-17 Matsushita Electric Industrial Co. Ltd. Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
CN100563342C (zh) 2004-06-25 2009-11-25 松下电器产业株式会社 图象编码方法和图象解码方法
WO2006006936A1 (en) * 2004-07-14 2006-01-19 Agency For Science, Technology And Research Context-based encoding and decoding of signals
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
DE602006020556D1 (de) 2005-04-01 2011-04-21 Panasonic Corp Bilddecodierungsvorrichtung und bilddecodierungsverfahren
RU2371881C1 (ru) * 2005-07-08 2009-10-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации
EP1913778A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
EP1911290A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING A VIDEO SIGNAL CODE INFORMATION FOR COMPRESSING / DECOMPRIMING CODING INFORMATION
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
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
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
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
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
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
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
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
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
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
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,
CN101815224A (zh) 2005-07-22 2010-08-25 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
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 パナソニック株式会社 画像符号化装置
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 パナソニック株式会社 画像符号化装置
US8345767B2 (en) 2006-12-14 2013-01-01 Nec Corporation Video encoding method, video encoding device, and video encoding program
EP2105025B1 (en) 2007-01-11 2021-04-07 InterDigital VC Holdings, Inc. Methods and apparatus for using syntax for the coded_block_flag syntax element and the coded_block_pattern syntax element for the cavlc 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in mpeg-4 avc high level coding
US8204129B2 (en) 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
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 Государственное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ передачи дополнительной информации при фрактальном кодировании изображений
US7991237B2 (en) 2007-06-28 2011-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP5658033B2 (ja) 2007-09-02 2015-01-21 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
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 三菱电机株式会社 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
BRPI0917456B1 (pt) 2008-08-19 2020-09-15 Contentarmor Método para atendimento a fluxo de vídeo de codificação aritmética binária adaptativa com base em contexto (cabac)
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
US9100649B2 (en) 2010-02-10 2015-08-04 Lg Electronics Inc. Method and apparatus for processing a video signal
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
CN102215396A (zh) 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和系统
US20110249754A1 (en) 2010-04-12 2011-10-13 Qualcomm Incorporated Variable length coding of coded block pattern (cbp) in video compression
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
RS64605B1 (sr) 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
KR101988327B1 (ko) 2010-05-04 2019-06-12 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US20110310976A1 (en) 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
SI2924995T1 (sl) 2010-07-09 2018-10-30 Samsung Electronics Co., Ltd. Postopek za dekodiranje videa z uporabo združevanja blokov
KR20120016980A (ko) 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
EP3849194B1 (en) * 2010-09-27 2022-08-03 LG Electronics, Inc. Method for partitioning block and decoding device
KR101952103B1 (ko) 2010-10-08 2019-02-27 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
EP2636218B1 (en) * 2010-11-04 2021-06-30 GE Video Compression, LLC Picture coding supporting block merging and skip mode
US9008181B2 (en) * 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
CN107277540B (zh) 2011-02-09 2020-05-08 Lg 电子株式会社 编码和解码图像的方法及使用该方法的设备
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
HRP20230425T1 (hr) 2011-03-21 2023-07-07 Lg Electronics, Inc. Odabir prediktora vektora kretanja
WO2012163199A1 (en) * 2011-05-27 2012-12-06 Mediatek Inc. Method and apparatus for line buffer reduction for video processing
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
CN106851319B (zh) * 2011-06-10 2020-06-19 寰发股份有限公司 推导方法及推导装置
CA2837532C (en) 2011-06-23 2018-10-02 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CA2830046C (en) 2011-06-24 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR102062283B1 (ko) * 2011-06-24 2020-01-03 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
CN103563375B (zh) 2011-06-27 2017-04-05 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
CA2837535C (en) 2011-06-28 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
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
CN103583048B (zh) 2011-06-30 2017-05-17 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
CN104980746B (zh) 2011-07-01 2018-07-31 三星电子株式会社 用于使用分层数据单元进行编码和解码的方法和设备
KR20140034209A (ko) 2011-07-11 2014-03-19 파나소닉 주식회사 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
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
US9807392B2 (en) 2012-06-11 2017-10-31 Samsung Electronics Co., Ltd. Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus

Also Published As

Publication number Publication date
JPWO2012176465A1 (ja) 2015-02-23
JP6226156B2 (ja) 2017-11-08
US20160127726A1 (en) 2016-05-05
HUE046468T2 (hu) 2020-03-30
US10638164B2 (en) 2020-04-28
CN106878722A (zh) 2017-06-20
CA2833855A1 (en) 2012-12-27
JP6712779B2 (ja) 2020-06-24
US20150304659A1 (en) 2015-10-22
CN106878723A (zh) 2017-06-20
JP2016201837A (ja) 2016-12-01
EP2725792A4 (en) 2014-11-19
US20190149849A1 (en) 2019-05-16
US9271002B2 (en) 2016-02-23
US9049462B2 (en) 2015-06-02
CN106878722B (zh) 2019-11-12
US9635361B2 (en) 2017-04-25
US20120328012A1 (en) 2012-12-27
US10182246B2 (en) 2019-01-15
CN106878723B (zh) 2019-11-12
EP3407610A1 (en) 2018-11-28
JP6484885B2 (ja) 2019-03-20
EP3407610B1 (en) 2019-09-04
TWI562593B (es) 2016-12-11
KR102062283B1 (ko) 2020-01-03
BR112013027186B1 (pt) 2022-05-03
TW201325243A (zh) 2013-06-16
RU2603552C2 (ru) 2016-11-27
EP2725792B1 (en) 2018-08-22
AU2012274780A1 (en) 2013-10-31
ES2697062T3 (es) 2019-01-21
AU2012274780B2 (en) 2016-03-31
CN103535036A (zh) 2014-01-22
US20170188053A1 (en) 2017-06-29
RU2013146943A (ru) 2015-08-10
CN103535036B (zh) 2017-04-05
CA2833855C (en) 2018-08-28
KR20140027961A (ko) 2014-03-07
MX2013012019A (es) 2013-12-10
BR112013027186A8 (pt) 2017-11-07
JP2018014755A (ja) 2018-01-25
WO2012176465A1 (ja) 2012-12-27
BR112013027186A2 (pt) 2016-12-27
EP2725792A1 (en) 2014-04-30
JP2019068480A (ja) 2019-04-25

Similar Documents

Publication Publication Date Title
JP6712779B2 (ja) 復号方法、復号装置、符号化方法、符号化装置、符号化復号方法及び符号化復号装置
JP6650604B2 (ja) 復号方法及び復号装置
JP6587076B2 (ja) 符号化復号方法
JP6685021B2 (ja) 符号化装置、符号化方法、符号化復号装置及び符号化復号方法
ES2784552T3 (es) Procedimiento de decodificación de imagen, aparato de decodificación de imagen
ES2908152T3 (es) Procedimiento de decodificación de imágenes
WO2012176464A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001769A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置