ES2864591T3 - Selección de contexto para codificación por entropía de coeficientes de transformada - Google Patents
Selección de contexto para codificación por entropía de coeficientes de transformada Download PDFInfo
- Publication number
- ES2864591T3 ES2864591T3 ES12860389T ES12860389T ES2864591T3 ES 2864591 T3 ES2864591 T3 ES 2864591T3 ES 12860389 T ES12860389 T ES 12860389T ES 12860389 T ES12860389 T ES 12860389T ES 2864591 T3 ES2864591 T3 ES 2864591T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- coefficient
- target
- decoding
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000010586 diagram Methods 0.000 description 21
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101150114886 NECTIN1 gene Proteins 0.000 description 2
- 102100023064 Nectin-1 Human genes 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un procedimiento de codificación de imagen para codificar una imagen en una base bloque a bloque, comprendiendo el procedimiento de codificación de imagen: seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de codificación e incluyendo cada uno una pluralidad de coeficientes, un contexto, desde un conjunto de contextos que corresponde al subbloque, para realizar codificación aritmética en un parámetro que indica un coeficiente objetivo de codificación incluido en el subbloque basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación, siendo el bloque objetivo de codificación una unidad de transformada, en el que el parámetro que indica el coeficiente objetivo de codificación es una bandera que indica si el coeficiente objetivo de codificación es o no 0; y realizar codificación aritmética en el parámetro que indica el coeficiente objetivo de codificación usando información de probabilidad acerca del contexto seleccionado, en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición del subbloque en el bloque objetivo de codificación en una dirección horizontal y (ii) un valor que indica una posición del subbloque en el bloque objetivo de codificación en una dirección vertical, en el que, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de codificación a una posición del coeficiente objetivo de codificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como α en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/α) + una parte entera de (V/α)" se calcula como la suma.
Description
DESCRIPCIÓN
Selección de contexto para codificación por entropía de coeficientes de transformada
rCampo técnico!
La presente invención se refiere a una técnica de codificación de imágenes y a una técnica de decodificación de imágenes para realizar codificación aritmética y decodificación aritmética, respectivamente.
Antecedentes de la técnica!
Los últimos años han observado un despliegue técnico significativo en los aparatos de vídeo digital y en las demandas de compresión-codificación de una señal de vídeo (una pluralidad de instantáneas dispuestas en series de tiempo). Una señal de vídeo de compresión codificada de este tipo se graba, por ejemplo, en un medio de grabación, tal como un DVD y un disco duro, y se distribuye en una red. El H.264/AVC (MPEG-4 AVC) es uno de los estándares de codificación de imagen, y, como el estándar de la siguiente generación, el estándar de codificación de Vídeo de Alta Eficacia (HEVC) se está considerando actualmente (Bibliografía No de Patente 1).
El estándar de HVEC hoy en día implica una etapa de predicción de una imagen que va a codificarse, una etapa de cálculo de un residuo entre una imagen objetivo de codificación y una imagen de predicción, una etapa de transformación de la imagen residual en coeficientes de frecuencia, y una etapa de realización de codificación aritmética en los coeficientes de frecuencia. En la etapa de codificación aritmética, se realiza codificación aritmética adaptativa al contexto en los componentes (coeficientes) incluidos en el bloque objetivo de codificación en el orden desde los componentes de frecuencia más altos a los componentes de frecuencia más bajos.
ILista de citas!
[Bibliografía no de patente 1]
Joint Collaborative Team on Video Coding (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 6a reunión: Torino, IT, 14-22 de julio de 2011 JCTVC-F803_d0, Título: WD4: Working Draft 4 of High-Efficiency Video Coding http://phenix.it-sudparis.eu/jct/doc_end_user/documents/6_Torino/ wg11JCTVC-F803-v2.zip
[Sumario de la invención!
[Problema técnico!
Sin embargo, en la codificación aritmética adaptativa al contexto convencional, en ocasiones, se requiere una gran cantidad de carga para seleccionar contextos para codificar coeficientes objetivo de codificación.
En vista de esto, la presente invención proporciona un procedimiento de codificación de imagen que posibilita la reducción en la cantidad de carga requerida para seleccionar contextos para codificar coeficientes objetivo de codificación.
[Solución al problema!
Un procedimiento de codificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de codificación de imagen para codificar una imagen en una base bloque a bloque y que incluye: seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de codificación e incluyendo cada uno una pluralidad de coeficientes, un contexto para realizar codificación aritmética en un parámetro que indica un coeficiente objetivo de codificación incluido en el subbloque desde un conjunto de contextos que corresponde al subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación, siendo el bloque objetivo de codificación una unidad de transformada; y realizar codificación aritmética en el parámetro que indica el coeficiente objetivo de codificación usando información de probabilidad acerca del contexto seleccionado, en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición en una dirección horizontal del subbloque en el bloque objetivo de codificación y (ii) un valor que indica una posición en una dirección vertical del subbloque en el bloque objetivo de codificación.
Estos aspectos generales y específicos pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa informático, o un medio de grabación legible por ordenador tal como un CD-ROM, o cualquier combinación de sistemas, procedimientos, circuitos integrados, programas informáticos, o medio de grabación legible por ordenador
La invención se expone en el conjunto de reivindicaciones adjunto; los ejemplos adicionales denominados "realizaciones" en la descripción son ejemplos ilustrativos.
rEfectos ventajosos de la invención!
Un procedimiento de codificación de imagen de acuerdo con un aspecto de la presente invención hace posible reducir la carga de selección de contextos para codificar coeficientes objetivo de codificación en codificación aritmética adaptativa al contexto.
[Breve descripción de los dibujos!
[FIG. 1] La Figura 1 es un diagrama para ilustrar un esquema de selección de un contexto para codificación aritmética de significant_flag en el conocimiento subyacente que forma la base de la presente invención.
[FIG. 2] La Figura 2 es un diagrama que muestra un orden de codificación de los coeficientes incluidos en un bloque objetivo de codificación en el conocimiento subyacente que forma la base de la presente invención.
[FIG. 3A] La Figura 3A es un diagrama para ilustrar un conjunto de contextos para uno de los coeficientes incluidos en un subbloque en el conocimiento subyacente que forma la base de la presente invención.
[FIG. 3B] La Figura 3B es un diagrama para ilustrar un conjunto de contextos para otro de los coeficientes incluidos en un subbloque en el conocimiento subyacente que forma la base de la presente invención.
[FIG. 4] La Figura 4 es un diagrama de bloques que muestra una estructura de un aparato de codificación de imagen en la realización 1. [FIG. 5] La Figura 5 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el aparato de codificación de imagen en la realización 1.
[FIG. 6] La Figura 6 es un diagrama de bloques que muestra una estructura interna de un codificador de longitud variable en la realización 1.
[FIG. 7] La Figura 7 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el codificador de longitud variable en la realización 1.
[FIG. 8] La Figura 8 es un diagrama de bloques que muestra una estructura interna de un codificador de significant_flag en la realización 1.
[FIG. 9] La Figura 9 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el codificador de significant_flag en la realización 1.
[FIG. 10A] La Figura 10A es un diagrama que muestra un ejemplo de un resultado de agrupación en el caso de un bloque de codificación de 16 x 16 píxeles en la realización 1.
[FIG. 10B] La Figura 10B es un diagrama que muestra un ejemplo de un resultado de agrupación en el caso de un bloque de codificación de 32 x 32 pixeles en la realización 1.
[FIG. 11A] La Figura 11A es un diagrama para ilustrar un conjunto de contextos para uno de los coeficientes incluidos en un bloque de coeficientes en la realización 1.
[FIG. 11B] La Figura 11B es un diagrama para ilustrar un conjunto de contextos para otro de los coeficientes incluidos en el bloque de coeficientes en la realización 1.
[FIG. 12] La Figura 12 es un diagrama de bloques que muestra una estructura de un aparato de decodificación de imagen en la realización 2.
[FIG. 13] La Figura 13 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el aparato de decodificación de imagen en la realización 2.
[FIG. 14] La Figura 14 es un diagrama de bloques que muestra una estructura interna de un decodificador de longitud variable en la realización 2.
[FIG. 15] La Figura 15 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el decodificador de longitud variable en la realización 2.
[FIG. 16] La Figura 16 es un diagrama de bloques que muestra una estructura interna de un decodificador de significant_flag en la realización 2.
[FIG. 17] La Figura 17 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el decodificador de significant_flag en la realización 2.
[FIG. 18] La Figura 18 es un diagrama de bloques que muestra una estructura de un aparato de codificación de imagen en la variación de la realización 1.
[FIG. 19] La Figura 19 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el aparato de codificación de imagen en la variación de la realización 1.
[FIG. 20] La Figura 20 es un diagrama de bloques que muestra una estructura de un aparato de decodificación de imagen en la variación de la realización 2.
[FIG. 21] La Figura 21 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el aparato de decodificación de imagen en la variación de la realización 2.
[Descripción de las realizaciones]
(Conocimiento subyacente que forma la base de la presente divulgación)
Se selecciona un contexto para realizar codificación aritmética en cada uno de los coeficientes objetivo de codificación de acuerdo con un coeficiente codificado alrededor del coeficiente objetivo de codificación. El coeficiente objetivo de codificación se somete a la codificación aritmética usando una probabilidad de ocurrencia de símbolo que corresponde al contexto seleccionado.
En el caso de una imagen natural, un componente de frecuencia inferior tiene un valor de coeficiente mayor. Por esta razón, es posible desviar una probabilidad de ocurrencia de símbolo seleccionando un contexto con referencia a un coeficiente vecino codificado (un coeficiente de un componente de frecuencia mayor que el componente de frecuencia que tiene el coeficiente objetivo de codificación). Por ejemplo, cuando el valor del coeficiente vecino codificado es
grande, es altamente probable que el valor del coeficiente objetivo de codificación también sea grande. Por esta razón, es posible reducir la cantidad de bits que van a generarse usando un contexto para un valor grande para su uso en la codificación aritmética del coeficiente objetivo de codificación cuando el valor del coeficiente vecino codificado sea grande.
Además, la pluralidad de coeficientes en el bloque objetivo de codificación se divide en grupos basándose en los componentes de frecuencia de los mismos. Se usan conjuntos de contextos exclusivos para los respectivos grupos. En otras palabras, cada uno de los coeficientes se somete a codificación aritmética usando el contexto seleccionado desde el conjunto de contextos que corresponde al grupo al que pertenece el coeficiente. En el caso de una imagen natural, están presentes coeficientes grandes en un área de frecuencia baja, y están presentes coeficientes pequeños en un área de frecuencia alta. Por esta razón, es posible reducir la cantidad de bits que van a generarse usando de manera selectiva los conjuntos de contextos determinados de manera diferente para los coeficientes en el área de frecuencia baja y para los coeficientes en el área de frecuencia alta.
En el estándar de HVEC, los coeficientes se representan como una pluralidad de parámetros (tales como significant_flag y greater1_flag). La Figura 1 es un diagrama para ilustrar un esquema de selección de un contexto para codificación aritmética de significant_flag.
En la Figura 1, el bloque objetivo de codificación incluye 16 x 16 píxeles. Cada uno de los píxeles tiene un coeficiente. Un píxel ubicado más cerca de la parte izquierda superior tiene un componente de frecuencia inferior, y un píxel ubicado más cerca de la parte derecha inferior tiene un componente de frecuencia superior.
Además, cada uno de los píxeles pertenece a un grupo A o un grupo B. En la Figura 1, el grupo A es un grupo al que pertenecen los píxeles sin sombreado. El grupo B es un grupo al que pertenecen los píxeles con sombreado.
El contexto para realizar codificación aritmética en significant_flag que representa el coeficiente de cada píxel se selecciona desde el conjunto de contextos que corresponde al grupo al que pertenece el píxel. Por ejemplo, se selecciona un contexto para significant_flag del píxel ubicado en el extremo izquierdo superior desde un conjunto de contextos A que corresponde al grupo A. Por otra parte, por ejemplo, se selecciona un contexto para significant_flag del píxel ubicado en el extremo derecho inferior desde un conjunto de contextos B que corresponde al grupo B.
En este momento, el contexto se selecciona desde el conjunto de contextos, basándose en el coeficiente de un píxel de referencia (un coeficiente de referencia) ubicado alrededor del píxel objetivo de codificación (coeficiente objetivo de codificación). En la Figura 1, se determina el contexto seleccionado desde el conjunto de contextos usando un total de cinco coeficientes de referencia que están a dos coeficientes ubicados en el lado derecho del coeficiente objetivo de codificación, dos coeficientes ubicados por debajo del coeficiente objetivo de codificación, y un coeficiente ubicado en la parte derecha inferior del coeficiente objetivo de codificación.
Como se muestra en la Figura 1, se divide la pluralidad de píxeles en grupos. Por lo tanto, como se ha descrito anteriormente, el uso del coeficiente de referencia alrededor del coeficiente objetivo de codificación hace posible seleccionar contextos utilizando la característica de que los coeficientes están desviados dependiendo de los coeficientes de frecuencia, y aumentar de esta manera la eficacia de codificación.
La Figura 2 muestra un orden de codificación de los coeficientes incluidos en un bloque objetivo de codificación. En la Figura 2, el bloque objetivo de codificación de 16 x 16 píxeles se divide en una pluralidad de subbloques de 4 x 4 píxeles encerrados por las líneas en negrita. Los números mostrados en los respectivos subbloques representan el orden de codificación. En otras palabras, se codifica la pluralidad de coeficientes incluidos en el bloque objetivo de codificación en una base subbloque a subbloque en el orden mostrado mediante las flechas discontinuas. Además, los coeficientes incluidos en cada uno de los subbloques se codifican en el orden según se muestra mediante las flechas proporcionadas en el subbloque de orden trece.
Cada una de la Figura 3A y la Figura 3B es un diagrama para ilustrar un conjunto de contextos para diferentes coeficientes incluidos en el subbloque ubicado en el extremo izquierdo superior. El coeficiente objetivo de codificación en la Figura 3A y el coeficiente objetivo de codificación en la Figura 3B están incluidos en el subbloque, pero pertenecen a diferentes grupos. En otras palabras, el contexto para realizar codificación aritmética en el coeficiente objetivo de codificación en la Figura 3A y el contexto para realizar codificación aritmética en el coeficiente objetivo de codificación en la Figura 3B se seleccionan desde diferentes conjuntos de contextos.
En otras palabras, como se muestra en la Figura 1, cuando se divide la pluralidad de píxeles (la pluralidad de coeficientes) en grupos, se realiza una conmutación entre conjuntos de contextos en un subbloque. En este caso, por ejemplo, existe una necesidad de determinar uno de los grupos a los que pertenece el coeficiente para cada uno de los coeficientes en el subbloque. Por lo tanto, la carga para seleccionar un contexto aumenta.
En vista de esto, un procedimiento de codificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de codificación de imagen para codificar una imagen en una base bloque a bloque y que incluye: seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de codificación e incluyendo cada uno una pluralidad de coeficientes, un contexto para realizar codificación aritmética en un parámetro que indica un coeficiente objetivo de codificación incluido en el subbloque desde un conjunto de contextos que
corresponde al subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación, siendo el bloque objetivo de codificación una unidad de transformada; y realizar codificación aritmética en el parámetro que indica el coeficiente objetivo de codificación usando información de probabilidad acerca del contexto seleccionado, en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición en una dirección horizontal del subbloque en el bloque objetivo de codificación y (ii) un valor que indica una posición en una dirección vertical del subbloque en el bloque objetivo de codificación.
De acuerdo con este procedimiento, es posible seleccionar un contexto desde el conjunto de contextos que corresponde al subbloque. Por consiguiente, es posible evitar la ocurrencia de una conmutación entre conjuntos de contextos en el subbloque, y reducir por lo tanto la carga para seleccionar un contexto.
Adicionalmente, de acuerdo con este procedimiento, es posible seleccionar un contexto desde el conjunto de contextos que corresponde a la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de codificación. Por consiguiente, es posible usar el conjunto de contextos adaptado a la variación de coeficiente dependiendo de los componentes de frecuencia, y suprimir, por lo tanto, la reducción en la eficacia de codificación debido al uso del conjunto de contextos que corresponde al subbloque.
Por ejemplo, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de codificación a una posición del coeficiente objetivo de codificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como a en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/a) una parte entera de (V/a)" puede calcularse como la suma.
De acuerdo con este procedimiento, es posible calcular fácilmente la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de codificación.
Por ejemplo, en la selección, cuando la suma es menor o igual que un valor umbral, el contexto se selecciona desde un primer conjunto de contextos; y cuando la suma es mayor que el valor umbral, el contexto puede seleccionarse desde un segundo conjunto de contextos diferente del primer conjunto de contextos.
De acuerdo con este procedimiento, es posible seleccionar un contexto desde el primer conjunto de contextos cuando la suma es menor o igual que el valor umbral, y seleccionar un contexto desde el segundo conjunto de contextos cuando la suma es mayor que el valor umbral. Por consiguiente, basándose en el resultado de la comparación entre la suma y el valor umbral, es posible realizar fácilmente una conmutación entre los conjuntos de contextos entre subbloques.
Por ejemplo, en la selección, el valor umbral puede aumentar con un aumento en el tamaño del bloque objetivo de codificación.
De acuerdo con este procedimiento, el valor umbral aumenta con un aumento en el tamaño del bloque objetivo de codificación. Por consiguiente, cuando la variación en los coeficientes es diferente dependiendo del tamaño del bloque objetivo de codificación, es posible seleccionar un contexto desde uno apropiado de los conjuntos de contextos.
Por ejemplo, el al menos un coeficiente de referencia puede ser un coeficiente de un componente de frecuencia mayor que un componente de frecuencia que tiene el coeficiente objetivo de codificación.
De acuerdo con este procedimiento, es posible usar, como el coeficiente de referencia, el coeficiente de un componente de frecuencia mayor que el coeficiente que tiene el coeficiente objetivo de codificación. En el caso de una imagen natural, es altamente probable que los coeficientes de componente de frecuencia baja sean mayores en valor que los coeficientes de componente de frecuencia alta. Por consiguiente, es posible seleccionar el contexto apropiado utilizando la característica de la imagen natural usando, como el coeficiente de referencia, el coeficiente del componente de frecuencia mayor que el coeficiente que tiene el coeficiente objetivo de codificación.
Por ejemplo, el parámetro que indica el coeficiente objetivo de codificación puede ser una bandera que indica si el coeficiente objetivo de codificación es o no 0.
De acuerdo con este procedimiento, es posible codificar la bandera que indica si el coeficiente objetivo de codificación es o no 0, como el parámetro que indica el coeficiente objetivo de codificación. Esta bandera es un parámetro que tiene una frecuencia de aparición alta, y por lo tanto ejerce una enorme influencia en la eficacia de codificación. Adicionalmente, esta bandera es diferente de un parámetro que tiene un número limitado de veces de ocurrencia en el subbloque, y por lo tanto no hay variación de valor de coeficiente dependiendo del subbloque. Sin embargo, también es posible suprimir la reducción en la eficacia de codificación seleccionando un contexto desde el conjunto de contextos que corresponde al subbloque cuando se codifica una bandera de este tipo.
Por ejemplo, el al menos un coeficiente de referencia puede ser una pluralidad de coeficientes de referencia, y el contexto seleccionado en la selección puede corresponder al número de coeficientes de referencia que tiene un valor distinto de cero entre la pluralidad de coeficientes de referencia.
De acuerdo con este procedimiento, es posible seleccionar un contexto usando el número de los coeficientes de referencia que tienen valores distintos de cero de la pluralidad de coeficientes de referencia. Por consiguiente, es posible seleccionar el contexto apropiado basándose en los coeficientes de referencia.
Por ejemplo, el procedimiento de codificación de imagen puede incluir adicionalmente: realizar una conmutación entre un primer procedimiento de codificación conforme a un primer estándar y un segundo procedimiento de codificación conforme a un segundo estándar; añadir, a una secuencia de bits, información de identificación que indica uno del primer estándar y el segundo estándar que soporta uno del primer procedimiento de codificación y el segundo procedimiento de codificación a los que se realiza la conmutación; y cuando se realiza la conmutación al primer procedimiento de codificación, la selección y la codificación aritmética se realizan como el primer procedimiento de codificación.
De acuerdo con este procedimiento, es posible realizar una conmutación entre el primer procedimiento de codificación conforme al primer estándar y el segundo procedimiento de codificación conforme al segundo estándar.
Adicionalmente, un procedimiento de decodificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de decodificación de imagen para decodificar una imagen codificada en una base bloque a bloque y que incluye: seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de decodificación e incluyendo cada uno una pluralidad de coeficientes, un contexto para realizar decodificación aritmética en un parámetro que indica un coeficiente objetivo de decodificación incluido en el subbloque de un conjunto de contextos que corresponde al subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de decodificación, siendo el bloque objetivo de decodificación una unidad de transformada; y realizar decodificación aritmética en el parámetro que indica el coeficiente objetivo de decodificación usando información de probabilidad acerca del contexto seleccionado, en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición en una dirección horizontal del subbloque en el bloque objetivo de decodificación y (ii) un valor que indica una posición en una dirección vertical del subbloque en el bloque objetivo de decodificación.
De acuerdo con este procedimiento, es posible seleccionar un contexto desde el conjunto de contextos que corresponde al subbloque. Por consiguiente, es posible evitar la ocurrencia de una conmutación entre conjuntos de contextos en el subbloque, y reducir por lo tanto la carga para seleccionar el contexto.
Adicionalmente, de acuerdo con este procedimiento, es posible seleccionar un contexto desde el conjunto de contextos que corresponde a la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de decodificación. Por consiguiente, es posible usar el conjunto de contextos adaptado a la variación del coeficiente dependiendo de los componentes de frecuencia, y decodificar de manera apropiada, por lo tanto, la secuencia de bits que tiene una eficacia de codificación menos reducida debido al uso del conjunto de contextos que corresponde al subbloque.
Por ejemplo, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de decodificación a una posición del coeficiente objetivo de decodificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como a en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/a) una parte entera de (V/a)" puede calcularse como la suma.
De acuerdo con este procedimiento, es posible calcular fácilmente la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de decodificación.
Por ejemplo, en la selección, cuando la suma es menor o igual que un valor umbral, el contexto se selecciona desde un primer conjunto de contextos; y cuando la suma es mayor que el valor umbral, el contexto puede seleccionarse desde un segundo conjunto de contextos diferente del primer conjunto de contextos.
De acuerdo con este procedimiento, es posible seleccionar un contexto desde el primer conjunto de contextos cuando la suma es menor o igual que el valor umbral, y seleccionar un contexto desde el segundo conjunto de contextos cuando la suma es mayor que el valor umbral. Por consiguiente, basándose en el resultado de la comparación entre la suma y el valor umbral, es posible realizar fácilmente una conmutación entre los conjuntos de contextos entre subbloques.
Por ejemplo, en la selección, el valor umbral puede aumentar con un aumento en el tamaño del bloque objetivo de decodificación.
De acuerdo con este procedimiento, el valor umbral aumenta con un aumento en el tamaño del bloque objetivo de codificación. Por consiguiente, cuando la variación en los coeficientes es diferente dependiendo del tamaño del bloque objetivo de decodificación, es posible seleccionar un contexto desde uno apropiado de los conjuntos de contextos.
Por ejemplo, el al menos un coeficiente de referencia puede ser un coeficiente de un componente de frecuencia mayor que un componente de frecuencia que tiene el coeficiente objetivo de decodificación.
De acuerdo con este procedimiento, es posible usar, como el coeficiente de referencia, el coeficiente de un componente de frecuencia mayor que el componente de frecuencia que tiene el coeficiente objetivo de decodificación. En el caso de una imagen natural, es altamente probable que los coeficientes de componente de frecuencia baja sean mayores en valor que los coeficientes de componente de frecuencia alta. Por consiguiente, es posible seleccionar el contexto apropiado que utiliza la característica de la imagen natural usando, como el coeficiente de referencia, el coeficiente del componente de frecuencia mayor que el componente de frecuencia que tiene el coeficiente objetivo de decodificación.
Por ejemplo, el parámetro que indica el coeficiente objetivo de decodificación puede ser una bandera que indica si el coeficiente objetivo de decodificación es o no 0.
De acuerdo con este procedimiento, es posible decodificar la bandera que indica si el coeficiente objetivo de decodificación es o no 0, como el parámetro que indica el coeficiente objetivo de decodificación. Esta bandera es un parámetro que tiene una frecuencia de aparición alta, y por lo tanto ejerce una enorme influencia en la eficacia de codificación. Adicionalmente, esta bandera es diferente de un parámetro que tiene un número limitado de veces de ocurrencia en el subbloque, y por lo tanto no hay variación de valor de coeficiente dependiendo del subbloque. Sin embargo, también es posible suprimir la reducción en la eficacia de codificación seleccionando un contexto desde el conjunto de contextos que corresponde al subbloque cuando se codifica una bandera de este tipo.
Por ejemplo, el al menos un coeficiente de referencia puede ser una pluralidad de coeficientes de referencia, y el contexto seleccionado en la selección puede corresponder al número de coeficientes de referencia que tiene un valor distinto de cero entre la pluralidad de coeficientes de referencia.
De acuerdo con este procedimiento, es posible seleccionar un contexto usando el número de los coeficientes de referencia que tienen valores distintos de cero de la pluralidad de coeficientes de referencia. Por consiguiente, es posible seleccionar el contexto apropiado basándose en los coeficientes de referencia.
Por ejemplo, el procedimiento de decodificación de imagen puede incluir adicionalmente: realizar una conmutación entre un primer procedimiento de decodificación conforme a un primer estándar y un segundo procedimiento de decodificación conforme a un segundo estándar, de acuerdo con información de identificación que indica uno del primer estándar y el segundo estándar y se añade a una secuencia de bits; cuando se realiza la conmutación al primer procedimiento de decodificación, se realiza la selección y la decodificación aritmética como el primer procedimiento de decodificación.
De acuerdo con este procedimiento, es posible realizar una conmutación entre el primer procedimiento de decodificación conforme al primer estándar y el segundo procedimiento de decodificación conforme al segundo estándar.
Estos aspectos generales y específicos pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa informático, o un medio de grabación legible por ordenador tal como un CD-ROM, o cualquier combinación de sistemas, procedimientos, circuitos integrados, programas informáticos, o medio de grabación legible por ordenador.
En lo sucesivo, se describen realizaciones específicamente con referencia a los dibujos.
Cada una de las realizaciones ilustrativas descritas a continuación muestra un ejemplo general o específico. Los valores numéricos, formas, materiales, elementos estructurales, la disposición y conexión de los elementos estructurales, etapas, el orden de procesamiento de las etapas, etc., mostrados en las siguientes realizaciones de ejemplo son meros ejemplos, y por lo tanto no limitan el ámbito de las reivindicaciones. Por lo tanto, entre los elementos estructurales en las siguientes realizaciones de ejemplo, los elementos estructurales no indicados en ninguna de las reivindicaciones independientes que definen el concepto más genérico se describen como elementos estructurales arbitrarios.
[Realización 1]
[Estructura general]
La Figura 4 es un diagrama de bloques que muestra una estructura de un aparato 100 de codificación de imagen en la realización 1. El aparato 100 de codificación de imagen codifica una imagen en una base bloque a bloque. El aparato 100 de codificación de imagen incluye una unidad 101 de generación de bloque de codificación, una unidad 102 de predicción, un restador 103, una unidad 104 de transformación, un codificador 105 de longitud variable, una unidad 106 de transformación inversa, un sumador 107, y una memoria 108 de fotograma.
La unidad 101 de generación de bloque de codificación divide una imagen de entrada (una instantánea de entrada) en una pluralidad de bloques de codificación. Un bloque de codificación es, por ejemplo, una unidad (unidad de transformada) basándose en la cual se realiza una transformada de frecuencia. La unidad de transformada tiene un tamaño menor o igual que una unidad de codificación. La unidad 101 de generación de bloque de codificación emite secuencialmente la pluralidad de bloques de codificación a la unidad 102 de predicción y al restador 103.
La unidad 102 de predicción genera una imagen de predicción (bloque de predicción) para cada uno de los bloques de codificación. Por ejemplo, la unidad 102 de predicción genera un bloque de predicción usando inter predicción o intra predicción.
El restador 103 resta la imagen de predicción para el bloque de codificación de la imagen del bloque de codificación para generar una imagen de error de predicción (bloque residual) para el bloque de codificación.
La unidad 104 de transformación realiza una transformada de frecuencia en el bloque residual para generar una pluralidad de coeficientes de frecuencia. Se ha de observar que la unidad 104 de transformación cuantifica la pluralidad de coeficientes de frecuencia según sea necesario para generar una pluralidad de coeficientes cuantificados. En lo sucesivo, los coeficientes de frecuencia y los coeficientes cuantificados se denominan simplemente como coeficientes sin distinguirse unos de los otros.
El codificador 105 de longitud variable realiza codificación de longitud variable en la pluralidad de coeficientes generados mediante la unidad 104 de transformación. Adicionalmente, el codificador 105 de longitud variable realiza codificación de longitud variable en la información de predicción (por ejemplo, información de vector de movimiento). Este codificador 105 de longitud variable se describe en detalle más adelante.
La unidad 106 de transformación inversa realiza una transformada inversa en la pluralidad de coeficientes para reconstruir un bloque residual.
El sumador 107 suma la imagen de predicción para el bloque de codificación y la imagen de error reconstruido para generar una imagen decodificada (bloque decodificado) del bloque de codificación.
La memoria 108 de fotograma almacena una imagen decodificada de este tipo.
[Operación (total)]
A continuación, se proporciona una descripción de una operación de procesamiento realizada mediante el aparato 100 de codificación de imagen configurado como se ha descrito anteriormente. La Figura 5 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el aparato 100 de codificación de imagen en la realización 1.
(Etapa S101)
La unidad 101 de generación de bloque de codificación divide una imagen de entrada en una pluralidad de bloques de codificación. La unidad 101 de generación de bloque de codificación emite secuencialmente la pluralidad de bloques de codificación al restador 103 y a la unidad 102 de predicción.
En este punto, el bloque de codificación tiene un tamaño variable. Por consiguiente, la unidad 101 de generación de bloque de codificación divide una imagen de entrada en una pluralidad de bloques de codificación basándose en las características de la imagen. El tamaño mínimo para el bloque de codificación es, por ejemplo, de 4 x 4 píxeles en los tamaños horizontal y vertical. El tamaño máximo para el bloque de codificación es, por ejemplo, de 32 x 32 píxeles en los tamaños horizontal y vertical.
(Etapa S102)
La unidad 102 de predicción genera un bloque de predicción basándose en el bloque de codificación y en la imagen decodificada almacenada en la memoria 108 de fotograma.
(Etapa S103)
El restador 103 resta el bloque de predicción de la imagen de entrada para generar un bloque residual.
(Etapa S104)
La unidad 104 de transformación transforma el bloque residual en una pluralidad de coeficientes.
(Etapa S105)
El codificador 105 de longitud variable emite una secuencia de bits realizado codificación de longitud variable en la pluralidad de coeficientes.
(Etapa S106)
La unidad 106 de transformación inversa realiza una transformada inversa en la pluralidad de coeficientes para reconstruir un bloque residual.
(Etapa S107)
El sumador 107 añade el bloque residual objetivo y el bloque de predicción para generar un bloque decodificado. Adicionalmente, el sumador 107 almacena el bloque decodificado generado en la memoria 108 de fotograma.
(Etapa S108)
Se repite desde la etapa S102 a la etapa S107 hasta que se codifican todos los bloques de codificación en la imagen de entrada.
[Estructura del codificador de longitud variable]
La Figura 6 es un diagrama de bloques que muestra una estructura interna de un codificador 105 de longitud variable en la realización 1. En esta realización, el codificador 105 de longitud variable realiza codificación usando al menos uno de los siguientes cinco parámetros: significant_flag, greater1_frag, greater2_flag, level_minus3, y sign_flag. El codificador 105 de longitud variable incluye una unidad 111 de generación de bloque de coeficientes, un codificador 112 de significant_flag, un codificador 113 de greater1_flag, un codificador 114 de greater2_flag, un codificador 115 de level_minus3 y un codificador 116 de sign_flag.
La unidad 111 de generación de bloque de coeficientes divide el bloque de codificación en una pluralidad de bloques de coeficientes. El bloque de coeficientes es un ejemplo de un subbloque. En esta realización, la unidad 111 de generación de bloque de coeficientes divide el bloque de codificación en una pluralidad de bloques de coeficientes de 4 x 4 píxeles. En otras palabras, en esta realización, cada uno de los bloques de coeficientes incluye dieciséis coeficientes.
El codificador 112 de significant_flag codifica significant_flag. La significant_flag es una bandera que indica si un coeficiente es o no "0". Cuando el valor de la significant_flag es "0", se muestra que el coeficiente es "0". Cuando el valor de la significant_flag es "1", se muestra que el coeficiente no es "0". El codificador 112 de significant_flag se describe en detalle más adelante.
El codificador 113 de greater1_flag codifica greater1_flag únicamente cuando la significant_flag indica "1" (únicamente cuando el coeficiente no es "0"). La greater1_flag es una bandera que indica si el valor absoluto del coeficiente es o no mayor que 1. Cuando el valor de la greater1_flag es "0", se muestra que el valor absoluto del coeficiente es "1". Por otra parte, cuando el valor de la greater1_flag es "1", se muestra que el valor absoluto del coeficiente es "2" o mayor.
El codiciador 114 de greater2_flag codifica greater2_flag únicamente cuando la greater1_flag indica "1" (únicamente cuando el valor absoluto del coeficiente es "2" o mayor). La greater2_flag es una bandera que indica si el valor absoluto del coeficiente es o no mayor que 2. Cuando el valor de la greater2_flag es "0", se muestra que el valor absoluto del coeficiente es "2". Por otra parte, cuando el valor de la greater2_flag es "1", se muestra que el valor absoluto del coeficiente es "3" o mayor.
El codificador 115 level_minus3 codifica level_minus3 únicamente cuando la greater2_flag indica "1" (únicamente cuando el valor absoluto del coeficiente es 3 o mayor). El level_minus 3 indica un valor obtenido restando "3" del valor absoluto del coeficiente.
El codificador 116 de sign_flag codifica sign_flag únicamente cuando la significant_flag indica "1" (únicamente cuando el coeficiente no es "0"). La significant_flag es una bandera que indica si el coeficiente es o no un valor negativo. Cuando el valor de la sign_flag es "0", se muestra que el coeficiente es un valor positivo. Cuando el valor de la sign_flag es "1", se muestra que el coeficiente es un valor negativo.
[Operación (Codificación de longitud variable)]
A continuación, se proporciona una descripción de una operación de procesamiento realizada mediante el codificador 105 de longitud variable configurado como se ha descrito anteriormente. La Figura 7 es un diagrama de flujo que muestra la operación de procesamiento realizada mediante el codificador 105 de longitud variable en la realización 1.
(Etapa S111)
La unidad 111 de generación de bloque de coeficientes divide un bloque de codificación en bloques de coeficientes de 4 x 4 píxeles. Por ejemplo, en el caso de un bloque de codificación de 32 x 32 píxeles, la unidad 111 de generación de bloque de coeficientes divide el bloque de codificación en 8 de manera horizontal y vertical. Además, por ejemplo, en el caso de un bloque de codificación de 4 x 4 píxeles, la unidad 111 de generación de bloque de coeficientes no divide el bloque de codificación. Se ha de observar que las siguientes etapas S112 y S116 se realizan en una base de un bloque de coeficientes de 4 x 4 píxeles.
(Etapa S112)
El codificador 112 de significant_flag realiza codificación aritmética en significant_flag, usando un contexto.
(Etapa S113)
El codificador 113 de greater1_flag realiza codificación aritmética en greaterl_flag, usando un contexto.
(Etapa S114)
El codificador 114 de greater2_flag realiza codificación aritmética en greater2_flag, basándose en un contexto.
(Etapa S115)
El codificador 115 de level_minus3 realiza codificación aritmética en lelvel minus3. Más específicamente, el codificador 115 de level1_minus3 realiza codificación aritmética usando una probabilidad de ocurrencia de símbolo fija (50 %), sin usar un contexto.
(Etapa S116)
El codificador 116 de significant_flag realiza codificación aritmética en significant_flag. Más específicamente, el codificador 116 de sign_flag realiza codificación aritmética usando una probabilidad de ocurrencia de símbolo fija (50 %), sin usar un contexto, de la misma manera que lo hace el codificador 115 de level_minus3.
(Etapa S117)
Se repite desde la etapa S112 a la etapa S116 hasta que se codifican todos los bloques de coeficientes en el bloque de codificación.
[Estructura del codificador de significant_flag]
La Figura 8 muestra una estructura interna de un codificador 112 de significant_flag en la realización 1. El codificador 112 de significant_flag incluye una unidad 121 de ajuste de grupo de significant_flag, una unidad 122 de ajuste de significant_flag, una memoria 123 de significant_flag, una unidad 124 de selección de contexto de significant_flag, un codificador 125 aritmético, y una memoria 126 de contexto de significant_flag.
La unidad 121 de ajuste de grupo de significant_flag divide la pluralidad de bloques de coeficientes incluidos en el bloque de codificación en grupos. Más específicamente, la unidad 121 de ajuste de grupo de significant flag divide la pluralidad de bloques de coeficientes en los grupos, basándose en la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical de cada uno de los bloques de coeficientes en el bloque de codificación. Más específicamente, la unidad 121 de ajuste de grupo de significant_flag divide la pluralidad de bloques de coeficientes en los grupos, por ejemplo, basándose en si la suma es menor o igual que un valor umbral (un valor umbral para la determinación de grupo) o la suma es mayor que el valor umbral.
Los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del bloque de coeficientes se derivan desde los valores que indican las posiciones en dirección horizontal (las posiciones horizontales de los coeficientes) y las posiciones en dirección vertical (las posiciones verticales de los coeficientes) de los respectivos coeficientes incluidos en el bloque de coeficientes. Más específicamente, por ejemplo, la unidad 121 de ajuste de grupo de significant_flag deriva "la parte entera de (las posiciones horizontales de los coeficientes / el tamaño horizontal del bloque de coeficientes)" como el valor que indica la posición de la dirección horizontal del bloque de coeficientes. Además, por ejemplo, la unidad 121 de ajuste de grupo de significant_flag deriva "la parte entera de (las posiciones verticales de los coeficientes / el tamaño vertical del bloque de coeficientes)" como el valor que indica la posición de la dirección vertical del bloque de coeficientes.
En este punto, es posible usar, como la posición horizontal y la posición vertical del coeficiente incluido en el bloque de coeficientes, las distancias en dirección horizontal y vertical desde la posición del coeficiente izquierdo superior en el bloque de codificación y la posición del coeficiente en el bloque de coeficientes.
La unidad 122 de ajuste de significant_flag lee, para cada bloque de coeficientes, una pluralidad de coeficientes incluidos en el bloque de coeficientes. La unidad 122 de ajuste de significant_flag establece un valor a la significant_flag para el coeficiente, basándose en si el coeficiente leído es o no "0". En esta realización, la unidad 122 de ajuste de significant_flag establece "0" a la significant_flag cuando el coeficiente es "0", y establece "1" a la significant_flag cuando el coeficiente es "1".
Adicionalmente, la unidad 122 de ajuste de significant_flag almacena la significalt_flag para cada coeficiente en la memoria 123 de significant_flag.
La memoria 123 de significant_flag almacena la significant_flag para cada coeficiente.
La unidad 124 de selección de contexto de significant_flag selecciona, para cada bloque de coeficientes, un contexto para codificación aritmética de un parámetro que indica un coeficiente objetivo de procesamiento actual (coeficiente objetivo de codificación) incluido en el bloque de coeficientes desde el conjunto de contextos que corresponde al bloque de coeficientes, basándose en al menos un coeficiente de referencia alrededor del coeficiente objetivo de codificación. Más específicamente, la unidad 124 de selección de contexto de significant_flag selecciona un contexto desde el conjunto de contextos que corresponde a la suma de los valores que indican la posición de la dirección
horizontal y la posición de la dirección vertical del bloque de coeficientes en el bloque de codificación.
El codificador 125 aritmético obtiene la información de probabilidad acerca del contexto seleccionado desde la memoria 126 contexto de significant_flag. El codificador 125 aritmético realiza codificación aritmética en el parámetro que indica el coeficiente objetivo de procesamiento usando la información de probabilidad de contexto obtenida. En esta realización, el parámetro es la significant_flag.
Adicionalmente, el codificador 125 aritmético actualiza la información de probabilidad de contexto almacenada en la memoria 126 de contexto de significant_flag, de acuerdo con el valor de la significant_flag.
La memoria 126 de contexto de significant_flag almacena la información de probabilidad acerca de cada contexto.
[Operación (Codificación de significant_flag)]
A continuación, se proporciona una descripción del codificador 112 de significant_flag configurado como se ha descrito anteriormente. La Figura 9 muestra una operación de procesamiento realizada por el codificador 112 de significant_flag en la realización 1. Se ha de observar que el orden de codificación de la pluralidad de coeficientes incluidos en los bloques de coeficientes es el mismo que en la Figura 2. En otras palabras, la significant_flag se codifica en una base por bloque de coeficientes.
(Etapa S121)
La unidad 121 de ajuste de grupo de significant_flag calcula un valor umbral de determinación de grupo. Por ejemplo, la unidad 121 de ajuste de grupo de significant_flag divide el tamaño horizontal del bloque de codificación entre, por ejemplo, "16". A continuación, la unidad 121 de ajuste de grupo de significant_flag establece la parte entera del resultado de división como el valor umbral de determinación de grupo.
En otras palabras, la unidad 121 de ajuste de grupo de significant_flag calcula un valor umbral mayor para un tamaño de bloque de codificación mayor. De esta manera, cuando se desvían los coeficientes dependiendo del tamaño de bloque de codificación, es posible asociar un conjunto de contextos apropiado con el bloque de coeficientes. Se ha de observar que el valor umbral puede ser un cierto valor que no depende de un tamaño de bloque de codificación. En este caso, la unidad 121 de ajuste de grupo de significant_flag puede calcular el valor umbral sin usar el tamaño de bloque de codificación.
(Etapa S122)
La unidad 121 de ajuste de grupo de significant_flag añade la parte entera de "la posición de coeficiente horizontal / 4" y la parte entera de "la posición de coeficiente vertical / 4". A continuación, la unidad 121 de ajuste de grupo de significant_flag compara el resultado de adición con el valor umbral de determinación de grupo que se establece en la etapa S121. En este punto, se realiza una transición a la etapa S123 cuando el resultado de adición es menor o igual que el valor umbral de determinación de grupo, y de otra manera, se realiza una transición a la etapa S124.
La posición de coeficiente horizontal y la posición de coeficiente vertical son las posiciones en dirección horizontal y vertical de los coeficientes objetivo de procesamiento en el bloque de codificación o valores que indican las posiciones en dirección horizontal y vertical de los coeficientes objetivo de procesamiento. En este punto, la posición de coeficiente horizontal y la posición de coeficiente vertical son distancias en dirección horizontal y vertical (el número de píxeles) desde el coeficiente izquierdo superior al coeficiente objetivo de procesamiento en el bloque de codificación. En resumen, en el caso del coeficiente izquierdo superior, la posición de coeficiente horizontal y la posición de coeficiente vertical son ambas "0". Se ha de observar que cada una de la posición de coeficiente horizontal y la posición de coeficiente vertical se divide entre "4" puesto que el tamaño horizontal y el tamaño vertical del bloque de coeficientes es "4".
(Etapa S123)
La unidad 121 de ajuste de grupo de significant_flag establece "A" al grupo.
(Etapa S124)
La unidad 121 de ajuste de grupo de significant_flag establece "B" al grupo.
La Figura 10A muestra un ejemplo de un resultado de agrupación en el caso de un bloque de codificación de 16 x 16 píxeles. La Figura 10B muestra un ejemplo de un resultado de agrupación en el caso de un bloque de codificación de 32 x 32 píxeles.
Como se muestra en la Figura 10A, en el caso del bloque de codificación de 16 x 16 píxeles, únicamente el bloque de coeficientes de esquina superior izquierda está incluido en el grupo A. Como se muestra en la Figura 10B, en el caso del bloque de codificación de 32 x 32 píxeles, tres bloques de coeficientes en el lado izquierdo superior están incluidos en el grupo A.
Las siguientes etapas S125 a S139 son procesos realizados para cada coeficiente en el bloque de coeficientes, y se repiten hasta que se procesan todos los coeficientes en el bloque de coeficientes.
(Etapa S125)
La unidad 122 de ajuste de significant_flag determina si el coeficiente objetivo de procesamiento es o no "0". Se realiza una transición a la etapa S126 cuando el coeficiente objetivo de procesamiento es "0", y se realiza una transición a la etapa S127 cuando el coeficiente objetivo de procesamiento no es "0".
(Etapa S126)
La unidad 122 de ajuste de significant_flag establece "0" a la significant_flag. La unidad 122 de ajuste de significant_flag emite la significant_flag que tiene un valor establecido "0" al codificador 125 aritmético y a la memoria 123 de significant_flag.
(Etapa S127)
La unidad 122 de ajuste de significant_flag establece "1" a la significantiflag. La unidad 122 de ajuste de significant_flag emite la significant_flag que tiene un valor establecido "1" al codificador 125 aritmético y a la memoria 123 de significant_flag.
(Etapa S128)
La unidad 124 de selección de contexto de significant_flag establece "0" a SNUM que va a usarse en el siguiente procesamiento.
Se ha de observar que se realizan las siguientes etapas desde S129 a S132 para cada coeficiente procesado, y se repiten hasta que se procesan todos los coeficientes procesados.
(Etapa S129)
La unidad 124 de selección de contexto de significant_flag determina si el coeficiente procesado es o no de un componente de frecuencia mayor que el componente de frecuencia que tiene un coeficiente objetivo de procesamiento. Se realiza una transición a la etapa S130 cuando el coeficiente procesado es del componente de frecuencia mayor que el componente de frecuencia que tiene el coeficiente objetivo de procesamiento, y de otra manera, se realiza una transición a la etapa S133. En otras palabras, la unidad 124 de selección de contexto de significant_flag usa, como un coeficiente de referencia, el coeficiente del coeficiente de componente de frecuencia mayor que el componente de frecuencia que tiene el coeficiente objetivo de procesamiento.
Se ha de observar que la unidad 124 de selección de contexto de significant_flag determina si el coeficiente procesado es o no del componente de frecuencia mayor que el componente de frecuencia que tiene el coeficiente objetivo de procesamiento, determinando la dirección de presencia del coeficiente procesado de entre las direcciones de derecha, inferior y derecha inferior con respecto al coeficiente objetivo de procesamiento.
(Etapa S130)
La unidad 124 de ajuste de contexto de significant_flag calcula la diferencia entre las posiciones del coeficiente procesado y el coeficiente objetivo de procesamiento, y establece una diferencia de posición horizontal a h y establece una diferencia de posición vertical a v.
(Etapa S131)
La unidad 124 de selección de contexto de significant_flag determina si la suma de la h y v establecida en la etapa S130 es o no menor o igual que "2". En este punto, se realiza una transición a la etapa S132 cuando la suma de la h y v es menor o igual que "2", y, de otra manera, se realiza una transición a la etapa S133. En otras palabras, la unidad 124 de selección de contexto de significant_flag usa, como el coeficiente de referencia, el coeficiente procesado que tiene "2" o menos que la suma de la h y v, y no usa, como el coeficiente de referencia, cualquier coeficiente procesado que tiene "3" o más que la suma de la h y v. En otras palabras, se usan en total los siguientes cinco coeficientes como coeficientes de referencia: los coeficientes ubicados, con respecto al coeficiente objetivo de procesamiento, inmediatamente a la derecha, siguiente inmediatamente a la derecha, inmediatamente por debajo, siguiente por debajo y derecha inferior. Las posiciones de los coeficientes de referencia son las mismas que las posiciones de los coeficientes de referencia mostrados en la Figura 1.
(Etapa S132)
La unidad 124 de selección de contexto de significant_flag carga el valor de la significant_flag del coeficiente procesado (coeficiente de referencia) de la memoria 123 de significant_flag, y añade el valor cargado a SNUM.
(Etapa S133)
La unidad 124 de selección de contexto de significant_flag repite las etapas S129 a S132 hasta que se procesan todos los coeficientes procesados en el bloque de codificación.
Como el resultado de los procedimientos de la etapa S129 a S132, se establece el número de coeficientes de referencia que tienen "1" como el valor de la significant_flag como la SNUM final, de entre los coeficientes de referencia alrededor del coeficiente objetivo de procesamiento. En resumen, la SNUM muestra el número de coeficientes de referencia que tienen un valor distinto de cero de entre la pluralidad de coeficientes de referencia. En este punto, la SNUM toma un valor en un intervalo desde 0 a 5.
(Etapa S134)
La unidad 124 de selección de contexto de significant_flag determina si la SNUM es o no mayor que "3". En este punto, se realiza una transición a la etapa S135 cuando la SNUM es mayor que "3", y de otra manera, se realiza una transición a la etapa S136.
(Etapa S135)
La unidad 124 de selección de contexto de significant_flag establece "4" a la SNUM. En otras palabras, la unidad 124 de selección de contexto de significant_flag vuelve a establecer el valor de la SNUM de manera que el valor de la SNUM no supera "4".
(Etapa S136)
La unidad 124 de selección de contexto de significant_flag establece la SNUM como el número de contexto cuando el bloque de coeficientes que incluye el coeficiente objetivo de procesamiento está incluido en el grupo A. Por otra parte, cuando el bloque de coeficientes que incluye el coeficiente objetivo de procesamiento está incluido en el grupo B, la unidad 124 de selección de contexto de significant_flag establece, como el número de contexto, un resultado obtenido añadiendo "5" a una SUM.
Como resultado, se selecciona uno de los índices de contexto indicado por los números de contexto 0 a 4 para la codificación aritmética del coeficiente objetivo de procesamiento en el bloque de coeficientes incluido en el grupo A, y se selecciona uno de los índices de contexto indicados por los números de contexto 5 a 9 para la codificación aritmética del coeficiente objetivo de procesamiento en el bloque de coeficientes incluido en el grupo B.
En otras palabras, la unidad 124 de selección de contexto de significant_flag selecciona un contexto desde un primer conjunto de contextos (contextos con números de contexto 0 a 4) cuando la suma de las posiciones en dirección horizontal y vertical del bloque de coeficientes es menor o igual que el valor umbral. Además, la unidad 124 de selección de contexto de significant_flag selecciona un contexto desde un segundo conjunto de contextos (contextos con números de contexto 5 a 9) cuando la suma de las posiciones en dirección horizontal y vertical del bloque de coeficientes es menor o igual que el valor umbral. En otras palabras, se selecciona uno de los conjuntos de contextos que va a usarse dependiendo del grupo al que pertenece el bloque de coeficientes.
Además, se determina el contexto que va a seleccionarse desde el conjunto de contextos determinado dependiendo de la SNUM (el número de coeficientes de referencia que tienen un valor distinto de cero de entre la pluralidad de coeficientes de referencia). En otras palabras, la unidad 124 de selección de contexto de significant_flag selecciona el contexto que corresponde al número de coeficientes de referencia que tienen un valor que no es "0" de entre los coeficientes de referencia (dicho a la inversa, el número de coeficientes de referencia que tienen un valor "0").
(Etapa S137)
El codificador 125 aritmético carga información de probabilidad de contexto desde la memoria 126 de contexto de significant_flag, de acuerdo con el número de contexto.
(Etapa S138)
El codificador 125 aritmético emite una secuencia de bits realizando codificación aritmética en la significant_flag usando la información de probabilidad.
(Etapa S139)
El codificador 125 aritmético actualiza la información de probabilidad de contexto dependiendo del valor de la significant_flag, y almacena la información de probabilidad de contexto actualizada en la memoria 126 de contexto de significant_flag.
(Etapa S140)
Se repiten las etapas S125 a S139 hasta que se procesan todos los coeficientes en el bloque de coeficientes.
Aunque se realiza una determinación en el grupo al que pertenece el bloque de coeficientes en una base por bloque
de coeficiente en la Figura 9, puede realizarse una determinación de este tipo en una base coeficiente a coeficiente. En otras palabras, se realiza un retorno a la etapa S125 cuando el resultado de la determinación en la etapa S140 es No, pero es posible realizar un retorno a la etapa S122 en su lugar. Incluso en este caso, es posible evitar la ocurrencia de una conmutación entre conjuntos de contextos en un bloque de coeficientes. Adicionalmente, en este caso, es únicamente necesario cargar el conjunto de contextos que corresponde al grupo determinado desde la memoria, y, por lo tanto, es posible reducir la carga que se pone en la memoria.
rEfectos ventajosos!
Como se ha descrito anteriormente, de acuerdo con el aparato 100 de codificación de imagen en esta realización, es posible suprimir el decaimiento en la eficacia de codificación, y reducir la carga para selección de contexto. Este efecto ventajoso se describe en detalle con referencia a los dibujos.
La Figura 11A y la Figura 11B son diagramas para ilustrar conjuntos de contextos para diferentes coeficientes incluidos en un bloque de coeficientes en la realización 1. En los casos mostrados en las Figuras 11A y 11B, no hay conmutación, tal como la conmutación entre grupos (conjuntos de contextos) en el bloque de coeficientes como se muestra en las Figuras 3A y 3B. Por consiguiente, el aparato 100 de codificación de imagen no necesita determinar, para cada coeficiente, uno de los conjuntos de contextos que incluye un contexto que va a seleccionarse. Por lo tanto, es posible reducir la carga para la selección de contexto.
Adicionalmente, el aparato 100 de codificación de imagen puede seleccionar un contexto desde el conjunto de contextos que corresponde a la suma de las posiciones en dirección horizontal y vertical del bloque de coeficientes en el bloque de codificación. Por consiguiente, es posible usar el conjunto de contextos adaptado a la variación de coeficiente dependiendo de los componentes de frecuencia, y suprimir, por lo tanto, la reducción en la eficacia de codificación debido al uso del conjunto de contextos que corresponde al bloque de coeficientes.
Además, de acuerdo con el aparato 100 de codificación de imagen en esta realización, es posible seleccionar un contexto desde el conjunto de contextos que corresponde al bloque de coeficientes cuando se realiza codificación aritmética en la significant flag. La significant_flag es un parámetro que tiene una frecuencia de ocurrencia alta, y, por lo tanto, tiene lugar una enorme influencia en la eficacia de codificación. Además, la significant_flag es un parámetro para el que no se impone restricción en el número de veces de la ocurrencia en el bloque de coeficientes, y está libre de variación de valor dependiendo de un bloque de coeficientes. Los inventores han hallado que la selección de un contexto desde el conjunto de contextos que corresponde al bloque de coeficientes cuando se realiza la codificación la significant_flag no reduce la eficacia de codificación. En otras palabras, el aparato 100 de codificación de imagen puede reducir la carga para la selección de contexto y suprimir de manera concurrente la reducción en la eficacia de codificación, en la codificación aritmética de la significant_flag.
[Realización 2]
[Estructura general]
La Figura 12 muestra una estructura de un aparato 200 de decodificación de imagen en la realización 2. El aparato 200 de decodificación de imagen decodifica una imagen codificada en una base bloque a bloque. Más específicamente, el aparato 200 de decodificación de imagen decodifica una imagen codificada por el aparato 100 de codificación de imagen en la realización 1. El aparato 200 de decodificación de imagen incluye un decodificador 201 de longitud variable, una unidad 202 de transformación inversa, una unidad 203 de predicción, un sumador 204, una unidad 205 de combinación de bloque decodificado, y una memoria 206 de fotograma.
El decodificador 201 de longitud variable realiza decodificación variable en una secuencia de bits para obtener una pluralidad de coeficientes e información de predicción (por ejemplo, información de vector de movimiento, etc.) para cada uno de los bloques objetivo de decodificación.
La unidad 202 de transformación inversa realiza una transformada inversa en una pluralidad de coeficientes para generar imágenes de error (bloques residuales) de los respectivos bloques objetivo de decodificación.
La unidad 203 de predicción genera una imagen de predicción (un bloque de predicción) para cada bloque objetivo de decodificación usando la información de predicción y una imagen decodificada (instantánea decodificada) almacenada en la memoria 206 de fotograma.
El sumador 204 añade la imagen de error del bloque objetivo de decodificación y la imagen de predicción para generar la imagen decodificada (bloque decodificado) del bloque objetivo de decodificación.
La unidad 205 de combinación de bloque decodificado combina la pluralidad de bloques decodificados para generar una imagen decodificada. Adicionalmente, la unidad 205 de combinación de bloque decodificado almacena la imagen decodificada en la memoria 206 de fotograma.
La memoria 206 de fotograma almacena una imagen decodificada de este tipo.
[Operación (total)]
A continuación, se proporciona una descripción de una operación de procesamiento realizada mediante el aparato 200 de decodificación de imagen configurado como se ha descrito anteriormente. La Figura 13 es un diagrama de flujo que muestra una operación de procesamiento realizada mediante el aparato 200 de decodificación de imagen en la realización 2.
(Etapa S201)
El decodificador 201 de longitud variable realiza decodificación de longitud variable en una secuencia de bits para obtener una pluralidad de coeficientes e información de predicción. A continuación, el decodificador 201 de longitud variable emite la pluralidad de coeficientes a la unidad 202 de transformación inversa, y emite la información de predicción a la unidad 203 de predicción.
(Etapa S202)
La unidad 202 de transformación inversa realiza la transformada inversa en la pluralidad de coeficientes para generar un bloque residual.
(Etapa S203)
La unidad 203 de predicción genera un bloque de predicción usando una imagen decodificada almacenada en la memoria 206 de fotograma y la información de predicción decodificada por el decodificador 201 de longitud variable. (Etapa S204)
El sumador 204 añade el bloque de predicción y el bloque residual para generar un bloque decodificado.
(Etapa S205)
Las etapas S201 a S204 se repiten hasta que se decodifiquen todos los bloques en la imagen.
(Etapa S206)
La unidad 205 de combinación de bloque decodificado combina los bloques decodificados para generar una imagen decodificada. Adicionalmente, la unidad 205 de combinación de bloque decodificado almacena la imagen decodificada en la memoria 206 de fotograma.
[Estructura del decodificador de longitud variable]
La Figura 14 muestra una estructura interna de un decodificador 201 de longitud variable en la realización 2. En esta realización como en la realización 1, cada uno de los coeficientes se representa usando al menos uno de los siguientes cinco parámetros: significant_flag, greater1_frag, greater2_flag, level_minus3, y sign_flag. Cada uno de los parámetros tiene el mismo significado que en la realización 1, y por lo tanto no se repite la misma descripción.
El decodificador 201 de longitud variable incluye un decodificador 211 de significant_flag, un decodificador 212 de greater1_flag, un decodificador 213 de greater2_flag, un decodificador 214 de level_minus3, un decodificador 215 de sign_flag, una unidad 216 de reconstrucción de coeficiente, y una unidad 217 de combinación de bloque de coeficientes.
[Operación (Decodificación de longitud variable)]
A continuación, se proporciona una descripción de una operación de procesamiento realizada por el decodificador 201 de longitud variable configurado como se ha descrito anteriormente. La Figura 15 es un diagrama de flujo que muestra una operación de procesamiento realizada por el decodificador 201 de longitud variable en la realización 2. Se ha de observar entonces que las etapas S211 a S216 se realizan para cada uno de los bloques de coeficientes incluidos en un bloque objetivo de decodificación.
(Etapa S211)
El decodificador 211 de significant_flag realiza, usando un correspondiente contexto, decodificación aritmética en la significant_flag de cada coeficiente incluido en el bloque de coeficientes. A continuación, el decodificador 211 de significant_flag emite la significant_flag al decodificador 212 de greater1_flag, al decodificador 213 de greater2_flag, al decodificador 214 de level_minus3, al decodificador 215 de sign_flag, y a la unidad 216 de reconstrucción de coeficiente.
(Etapa S212)
El decodificador 212 de greater1_flag realiza, usando un correspondiente contexto, decodificación aritmética en greater1_flag del coeficiente que tiene significant_flag de "1". A continuación, el decodificador 212 de greater1_flag emite la greater1_flag al decodificador 213 de greater2_flag, al decodificador 214 de level1_minus3, y a la unidad 216 de reconstrucción de coeficiente.
(Etapa S213)
El decodificador 213 de greater2_flag realiza, usando un correspondiente contexto, decodificación aritmética en greater2_flag del coeficiente que tiene significant_flag de "1" y un greater1_flag de "1". A continuación, el decodificador 213 de greater2_flag emite la greater2_flag al decodificador 214 de level_minus3, y a la unidad 216 de reconstrucción de coeficiente.
(Etapa S214)
El decodificador 214 de level_minus3 decodifica el level_minus3 del coeficiente que tiene una significant_flag de "1", una greater1_flag de "1", y una greater2_flag de "1", usando una probabilidad de ocurrencia de símbolo fija (50 %) sin usar contexto alguno. A continuación, el decodificador 214 de level_minus3 emite el level1-minus3 a la unidad 216 de reconstrucción de coeficiente.
(Etapa S215)
El decodificador 215 de sign_flag decodifica la sign_flag del coeficiente que tiene una significant_flag de "1", usando la probabilidad de ocurrencia de símbolo fija (50 %), sin usar contexto alguno. A continuación, el decodificador 215 de sign_flag emite la sign_flag a la unidad 216 de reconstrucción de coeficiente.
(Etapa S216)
La unidad 216 de reconstrucción de coeficiente reconstruye el coeficiente usando la significant_flag, la greater1_flag, la greater2_flag, el level_minus3, y la sign_flag. Cada uno de los parámetros tiene el significado como se ha descrito anteriormente, la unidad 216 de reconstrucción de coeficiente reconstruye el coeficiente de acuerdo con el significado. (Etapa S217)
Se repiten las etapas S212 a S216 hasta que se decodifican todos los bloques de coeficientes en el bloque objetivo de decodificación.
(Etapa S218)
La unidad 217 de combinación de bloque de coeficientes combina todos los bloques de coeficientes en el bloque objetivo de decodificación, y emite el bloque decodificado.
[Estructura de decodificador de significant_flag]
La Figura 16 muestra una estructura interna de un decodificador 211 de significant_flag en la realización 2. El decodificador 211 de significant_flag incluye una unidad 221 de ajuste de grupo de significant_flag, una unidad 222 de selección de contexto de significant_flag, un decodificador 223 aritmético, una memoria 224 de contexto de significant_flag, y una memoria 225 de significant_flag.
La unidad 221 de ajuste de grupo de significant_flag divide la pluralidad de bloques de coeficientes incluidos en el bloque de codificación en grupos, según se realiza por la unidad 121 de ajuste de grupo de significant_flag en la realización 1.
La unidad 222 de selección de contexto de significant_flag selecciona, para cada bloque de coeficientes, un contexto para codificación aritmética en parámetros que indican el coeficiente objetivo de procesamiento (coeficiente objetivo de decodificación) incluido en el bloque de coeficientes desde el conjunto de contextos que corresponde al bloque de coeficientes, basándose en al menos un coeficiente de referencia alrededor del coeficiente objetivo de codificación. Más específicamente, la unidad 222 de selección de contexto de significant_flag selecciona un contexto desde el conjunto de contextos que corresponde a la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del bloque de coeficientes en el bloque de codificación.
El decodificador 223 aritmético obtiene la información de probabilidad acerca del contexto seleccionado desde la memoria 224 contexto de significant_flag. A continuación, el decodificador 223 aritmético realiza decodificación aritmética en el parámetro que indica el coeficiente objetivo de procesamiento usando la información de probabilidad acerca del contexto obtenido. En esta realización, el parámetro es la significant_flag.
Adicionalmente, el decodificador 223 aritmético almacena la significant_flag decodificada en la memoria 225 de significant_flag. Además, el decodificador 223 aritmético actualiza la información de probabilidad acerca del contexto almacenado en la memoria 224 de contexto de significant_flag, de acuerdo con el valor de la significant_flag.
La memoria 224 de contexto de significant_flag almacena la información de probabilidad acerca de cada contexto. La memoria 225 de significant_flag almacena la significant_flag para cada coeficiente.
[Operación (Decodificación de significant_flag)]
A continuación, se proporciona una descripción del decodificador 211 de significant_flag configurado como se ha descrito anteriormente. La Figura 17 es un diagrama de flujo que indica una operación de procesamiento realizada por el decodificador de significant_flag.
(Etapas S221 a S224)
La unidad 221 de ajuste de grupo de significant_flag divide los bloques de coeficientes en grupos de la misma manera como en las etapas S121 a S124 en la Figura 9.
(Etapas S225 a S233)
La unidad 222 de selección de contexto de significant_flag selecciona un contexto basándose en un coeficiente de referencia ubicado alrededor del coeficiente objetivo de procesamiento desde el conjunto de contextos que corresponde al grupo al que pertenece el bloque de coeficientes, de la misma manera que en las etapas S128 a S136 en la Figura 9. Más específicamente, la unidad 222 de selección de contexto de significant_flag selecciona un contexto desde un primer conjunto de contextos (contextos con números de contexto 0 a 4) cuando la suma de las posiciones en dirección horizontal y vertical del bloque de coeficientes es menor o igual que el valor umbral. Además, la unidad 222 de selección de contexto de significant_flag selecciona un contexto desde un segundo conjunto de contextos (contextos con números de contexto 5 a 9) cuando la suma de las posiciones en dirección horizontal y vertical del bloque de coeficientes es menor o igual que el valor umbral. En otras palabras, la unidad 222 de selección de contexto de significant_flag selecciona el contexto que corresponde al número de coeficientes de referencia que tienen un valor que no es "0" de entre los coeficientes de referencia de los componentes de frecuencia mayores que el componente de frecuencia que tiene el coeficiente objetivo de procesamiento (dicho a la inversa, el número de coeficientes de referencia que tienen un valor "0").
(Etapa S234)
El decodificador 223 aritmético carga información de probabilidad de contexto desde la memoria 224 de contexto de significant_flag de acuerdo con el número de contexto.
(Etapa S235)
El decodificador 223 aritmético realiza decodificación aritmética en la significant_flag usando la información de probabilidad.
(Etapa S236)
El decodificador 223 aritmético actualiza la información de probabilidad de contexto dependiendo del valor de la significant_flag, y almacena la información de probabilidad de contexto actualizada en la memoria 224 de contexto de significant_flag.
(Etapa S237)
Se repiten las etapas S225 a S236 hasta que se procesan todos los coeficientes en el bloque de coeficientes.
Aunque se realiza una determinación en el grupo al que pertenece el bloque de coeficientes en una base por bloque de coeficiente en la Figura 17, puede realizarse una determinación de este tipo en una base coeficiente a coeficiente. En otras palabras, se realiza un retorno a la etapa S225 cuando el resultado de la determinación en la etapa S237 es No, pero es posible realizar un retorno a la etapa S222 en su lugar. Incluso en este caso, es posible evitar la ocurrencia de una conmutación entre conjuntos de contextos en un bloque de coeficientes. Adicionalmente, en este caso, es únicamente el conjunto de contextos que corresponde al grupo determinado desde la memoria, y por lo tanto es posible reducir la carga puesta en la memoria.
rEfectos ventajosos!
De manera similar en el caso del aparato 100 de codificación de imagen en la realización 1, de acuerdo con el aparato 200 de decodificación de imagen en esta realización, es posible suprimir el decaimiento en la eficacia de codificación, y reducir la carga para selección de contexto como se ha descrito anteriormente.
Aunque el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con uno o más aspectos se han descrito anteriormente basándose en una o más realizaciones, la presente invención no está limitada a las realizaciones.
Por ejemplo, en cada una de las realizaciones, se calculan los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque usando "la parte entera de (una posición de coeficiente horizontal / un tamaño de bloque de coeficientes horizontal)" y "la parte entera de (una posición de coeficiente vertical / un tamaño de bloque de coeficientes vertical)". Sin embargo, los valores pueden calcularse usando otro esquema. Por ejemplo, los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque pueden calcularse usando una operación de desplazamiento en lugar de la división.
Además, en cada una de las realizaciones, la pluralidad de coeficientes incluidos en el bloque objetivo de codificación o en el bloque objetivo de decodificación pueden clasificarse en dos grupos. Sin embargo, la pluralidad de coeficientes puede clasificarse en tres o más grupos. En este caso, el umbral de determinación de grupo puede aumentarse de acuerdo con el número de grupos.
Además, el número y las posiciones de los coeficientes de referencia en cada una de las realizaciones pueden ser ilustrativos, y pueden usarse otros coeficientes de referencia.
Además, en cada una de las realizaciones, cada contexto se selecciona basándose en el subbloque y en el número de coeficientes de referencia. Sin embargo, puede seleccionarse un contexto basándose en otras condiciones. Por ejemplo, como un contexto para realizar codificación aritmética en el coeficiente de extremo izquierdo superior (un componente directo) en cualquiera de un bloque objetivo de codificación o un bloque objetivo de decodificación, puede seleccionarse un contexto diferente del contexto para los otros coeficientes.
Además, en cada una de las realizaciones, se realiza codificación aritmética o decodificación aritmética en los coeficientes del bloque objetivo de codificación o en el bloque objetivo de decodificación en orden empezando con el coeficiente en el extremo inferior derecho (el componente de frecuencia más alta) del mismo. Sin embargo, también es bueno realizar codificación aritmética o decodificación aritmética en los coeficientes empezando con el coeficiente distinto de cero que aparece en primer lugar durante la exploración de los coeficientes iniciados con el componente de frecuencia más alta. En este caso, los coeficientes cero antes del coeficiente distinto de cero que aparece en primer lugar durante la exploración de los coeficientes iniciados con el componente de frecuencia más alta no necesitan necesariamente que sean sometidos a codificación aritmética.
Además, en cada una de las realizaciones, los coeficientes se codifican usando los cinco parámetros. Sin embargo, los coeficientes pueden codificarse usando otra combinación de parámetros. Por ejemplo, los coeficientes pueden codificarse usando los siguientes tres parámetros: significant_flag, level_minus1, y sign_flag.
Además, en cada una de las realizaciones, se describen los procedimientos de selección de un contexto para realizar codificación aritmética y decodificación aritmética de significant_flag. Como para los otros parámetros, es bueno seleccionar un contexto usando procedimientos de selección similares a los procedimientos usados para la significant_flag.
Además, en cada una de las realizaciones, los coeficientes ubicados fuera del bloque objetivo de codificación o el bloque objetivo de decodificación no siempre necesitan usarse como el coeficiente de referencia. Adicionalmente, es posible usar, como coeficientes de referencia, los coeficientes incluidos en una instantánea diferente de manera temporal de la instantánea que incluye el bloque objetivo de codificación o el bloque objetivo de decodificación.
Además, el tamaño del bloque de codificación (el bloque objetivo de codificación o el bloque objetivo de decodificación) en cada una de las realizaciones y el tamaño del bloque (subbloque) de coeficientes son a modo de ejemplo, y por lo tanto son posibles otros tamaños.
Se ha de observar que el aparato 100 de codificación de imagen en la realización 1 no incluye necesariamente todos los elementos estructurales mostrados en la Figura 4. Por ejemplo, el aparato de codificación de imagen puede configurarse como se describe a continuación.
La Figura 18 muestra una estructura de un aparato 300 de codificación de imagen en la variación de la realización 1. El aparato 300 de codificación de imagen codifica una imagen en una base bloque a bloque. Como se muestra en la Figura 18, el aparato 300 de codificación de imagen incluye una unidad 301 de selección de contexto y un codificador 302 aritmético.
En este punto, se proporciona una descripción de una operación de procesamiento realizada mediante el aparato 300 de codificación de imagen configurado como se ha descrito anteriormente. La Figura 19 es un diagrama de flujo que muestra una operación de procesamiento realizada por el aparato 300 de codificación de imagen en la variación de la realización 1.
(Etapa S301)
La unidad 301 de selección de contexto selecciona un contexto para realizar codificación aritmética en los parámetros que indican los coeficientes incluidos en el bloque objetivo de codificación que es una unidad de transformada. Más específicamente, la unidad 301 de selección de contexto selecciona, para cada uno de la pluralidad de subbloques incluidos en el bloque objetivo de codificación, un contexto para realizar codificación aritmética en los parámetros que indican los coeficientes objetivo de codificación incluidos en el subbloque desde el conjunto de contextos que corresponde al subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación.
Más específicamente, la unidad 301 de selección de contexto selecciona, para cada uno de la pluralidad de subbloques, un contexto para realizar codificación aritmética en los parámetros que indican los coeficientes objetivo de codificación incluidos en el subbloque, desde el conjunto de contextos que corresponde a la suma de los valores
que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de codificación.
El subbloque es un bloque que se obtiene dividiendo el bloque objetivo de codificación. Cada uno de los subbloques incluye una pluralidad de píxeles (por ejemplo, 4 x 4 píxeles) incluyendo cada uno un coeficiente.
Los coeficientes ubicados alrededor del coeficiente objetivo de codificación significan los coeficientes de los píxeles ubicados dentro de un intervalo predeterminado con respecto al píxel que tiene el coeficiente objetivo de codificación. Por ejemplo, los coeficientes ubicados alrededor del coeficiente objetivo de codificación son los coeficientes de componentes de frecuencia mayores que el componente de frecuencia que tiene el coeficiente objetivo de codificación.
El parámetro que indica el coeficiente objetivo de codificación es, por ejemplo, una bandera (significant_flag) que indica si el coeficiente objetivo de codificación es o no 0. Se ha de observar que el parámetro que indica el coeficiente objetivo de codificación no es necesario que sea significant_flag, y puede ser otro parámetro.
(Etapa S302)
El codificador 302 aritmético realiza codificación aritmética en el parámetro que indica el coeficiente objetivo de codificación usando información de probabilidad acerca del contexto seleccionado y la unidad 301 de selección de contexto.
Como se ha descrito anteriormente, el aparato 300 de codificación de imagen configurado como se muestra en la Figura 18 puede seleccionar también un contexto desde el conjunto de contextos que corresponde a la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de codificación. Por consiguiente, el aparato 300 de codificación de imagen puede suprimir la reducción en la eficacia de codificación y reducir la carga para selección de contexto.
Se ha de observar que el aparato 200 de decodificación de imagen en la realización 2 no incluye necesariamente todos los elementos estructurales mostrados en la Figura 12. Por ejemplo, el aparato de decodificación de imagen puede configurarse como se describe a continuación.
La Figura 20 muestra una estructura del aparato 400 de decodificación de imagen en la variación de la realización 2. El aparato 400 de decodificación de imagen decodifica una imagen codificada en una base bloque a bloque. Como se muestra en la Figura 20, el aparato 400 de decodificación de imagen incluye una unidad 401 de selección de contexto y un decodificador 402 aritmético.
En este punto, se proporciona una descripción de una operación de procesamiento realizada mediante el aparato 400 de decodificación de imagen configurado como se ha descrito anteriormente. La Figura 21 es un diagrama de flujo que muestra una operación de procesamiento realizada por el aparato 400 de decodificación de imagen en la variación de la realización 2.
(Etapa S401)
La unidad 401 de selección de contexto selecciona un contexto para realizar decodificación aritmética en los parámetros que indican los coeficientes incluidos en el bloque objetivo de decodificación que es una unidad de transformada. Los detalles de este procesamiento son los mismos que en la etapa S301 en la Figura 19, y, por lo tanto, no se repite en este punto la misma descripción.
(Etapa S402)
El decodificador 402 aritmético realiza decodificación aritmética en el parámetro que indica el coeficiente objetivo de decodificación usando información de probabilidad acerca del contexto seleccionado y la unidad 401 de selección de contexto.
Como se ha descrito anteriormente, el aparato 400 de decodificación de imagen configurado como se muestra en la Figura 20 puede seleccionar un contexto desde el conjunto de contextos que corresponde a la suma de los valores que indican la posición de la dirección horizontal y la posición de la dirección vertical del subbloque en el bloque objetivo de decodificación. Por consiguiente, el aparato 400 de decodificación de imagen puede suprimir la reducción en la eficacia de decodificación y reducir la carga para selección de contexto.
Ha de observarse que, en cada una de las realizaciones y la variación de las mismas, cada uno de los elementos estructurales en cada una de las realizaciones anteriormente descritas puede configurarse en forma de un producto de hardware exclusivo, o pueden realizarse ejecutando un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales puede realizarse por medio de una unidad de ejecución de programa, tal como una CPU y un procesador, leyendo y ejecutando el programa de software grabado en un medio de grabación tal como un disco duro o una memoria de semiconductores. En este punto, el programa de software para realizar uno cualquiera del aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con cada una de las realizaciones y variaciones del mismo, etc., es un programa descrito a continuación.
El programa es, por ejemplo, un programa que hace que un ordenador ejecute un procedimiento de codificación de imagen para codificar una imagen en una base bloque a bloque y que incluye: seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de codificación e incluyendo cada uno una pluralidad de coeficientes, un contexto para realizar codificación aritmética en un parámetro que indica un coeficiente objetivo de codificación incluido en el subbloque desde un conjunto de contextos que corresponde al subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación, siendo el bloque objetivo de codificación una unidad de transformada; y realizar codificación aritmética en el parámetro que indica el coeficiente objetivo de codificación usando información de probabilidad acerca del contexto seleccionado, en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición en una dirección horizontal del subbloque en el bloque objetivo de codificación y (ii) un valor que indica una posición en una dirección vertical del subbloque en el bloque objetivo de codificación.
Como alternativa, el programa es un programa para hacer que un ordenador ejecute un procedimiento de decodificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de decodificación de imagen para decodificar una imagen codificada en una base bloque a bloque y que incluye: seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de decodificación e incluyendo cada uno una pluralidad de coeficientes, un contexto para realizar decodificación aritmética en un parámetro que indica un coeficiente objetivo de decodificación incluido en el subbloque de un conjunto de contextos que corresponde al subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de decodificación, siendo el bloque objetivo de decodificación una unidad de transformada; y realizar decodificación aritmética en el parámetro que indica el coeficiente objetivo de decodificación usando información de probabilidad acerca del contexto seleccionado, en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición en una dirección horizontal del subbloque en el bloque objetivo de decodificación y (ii) un valor que indica una posición en una dirección vertical del subbloque en el bloque objetivo de decodificación.
rAplicabilidad industrial!
El aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con aspectos de la presente invención son aplicables, por ejemplo, a receptores de televisión, grabadores de vídeo digital, sistemas de navegación de coche, teléfonos móviles, cámaras digitales, cámaras de vídeo digital y similares.
[Lista de signos de referencia!
100, aparato de codificación de imagen
unidad de generación de bloque de
101 codificación
102, unidad de predicción
103 restador
104 unidad de transformación
105 codificador de longitud variable
106, unidad de transformación inversa
107, sumador
108, memoria de fotograma
111 unidad de generación de bloque de
coeficientes
112 codificador de significant_flag
113 codificador de greater1_flag
114 codificador de greater2_flag
115 codificador de level-minus3
116 codificador de sign_flag
unidad de ajuste de grupo de 121, 221
significant_flag
122 unidad de ajuste de significant_flag
123, memoria de significant_flag
unidad de selección de contexto de
124, significant_flag
125, codificador aritmético
memoria de contexto de
126,
significant_flag
aparato de decodificación de imagen
201 decodificador de longitud variable
205 unidad de combinación de bloque
decodificado
decodificador de significant_flag decodificador de greater1_flag decodificador de greater2_flag decodificador de level minus3 decodificador de sign_flag
unidad de reconstrucción de coeficiente
unidad de combinación de bloque de coeficientes
, 402 decodificador aritmético
, 401 unidad de selección de contexto
Claims (15)
1. Un procedimiento de codificación de imagen para codificar una imagen en una base bloque a bloque, comprendiendo el procedimiento de codificación de imagen:
seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de codificación e incluyendo cada uno una pluralidad de coeficientes, un contexto, desde un conjunto de contextos que corresponde al subbloque, para realizar codificación aritmética en un parámetro que indica un coeficiente objetivo de codificación incluido en el subbloque basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación, siendo el bloque objetivo de codificación una unidad de transformada, en el que el parámetro que indica el coeficiente objetivo de codificación es una bandera que indica si el coeficiente objetivo de codificación es o no 0; y
realizar codificación aritmética en el parámetro que indica el coeficiente objetivo de codificación usando información de probabilidad acerca del contexto seleccionado,
en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición del subbloque en el bloque objetivo de codificación en una dirección horizontal y (ii) un valor que indica una posición del subbloque en el bloque objetivo de codificación en una dirección vertical,
en el que, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de codificación a una posición del coeficiente objetivo de codificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como a en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/a) una parte entera de (V/a)" se calcula como la suma.
2. El procedimiento de codificación de imagen de acuerdo con la reivindicación 1,
en el que, en la selección,
cuando la suma es menor o igual que un valor umbral, el contexto se selecciona desde un primer conjunto de contextos; y
cuando la suma es mayor que el valor umbral, el contexto se selecciona desde un segundo conjunto de contextos diferente del primer conjunto de contextos.
3. El procedimiento de codificación de imagen de acuerdo con la reivindicación 2, en el que, en la selección, el valor umbral aumenta con un aumento en el tamaño del bloque objetivo de codificación.
4. El procedimiento de codificación de imagen de acuerdo con una cualquiera de la reivindicación 1 a la reivindicación 3,
en el que el al menos un coeficiente de referencia es un coeficiente de un componente de frecuencia mayor que un componente de frecuencia que tiene el coeficiente objetivo de codificación.
5. El procedimiento de codificación de imagen de acuerdo con una cualquiera de la reivindicación 1 a la reivindicación 4,
en el que el al menos un coeficiente de referencia es una pluralidad de coeficientes de referencia, y el contexto seleccionado en la selección corresponde al número de coeficientes de referencia que tienen un valor distinto de cero entre la pluralidad de coeficientes de referencia.
6. El procedimiento de codificación de imagen de acuerdo con la reivindicación 1, que comprende adicionalmente:
realizar una conmutación entre un primer procedimiento de codificación conforme a un primer estándar y un segundo procedimiento de codificación conforme a un segundo estándar;
añadir, a una secuencia de bits, información de identificación que indica uno del primer estándar y el segundo estándar que soporta uno del primer procedimiento de codificación y el segundo procedimiento de codificación a los que se realiza la conmutación; y
cuando se realiza la conmutación al primer procedimiento de codificación, la selección y la codificación aritmética se realizan como el primer procedimiento de codificación.
7. Un aparato de codificación de imagen que codifica una imagen en una base bloque a bloque, comprendiendo el aparato de codificación de imagen:
una unidad de selección de contexto configurada para seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de codificación e incluyendo cada uno una pluralidad de coeficientes, un contexto, desde un conjunto de contextos que corresponde al subbloque, para realizar codificación aritmética en un parámetro que indica un coeficiente objetivo de codificación incluido en el subbloque basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de codificación, siendo el bloque objetivo de codificación una unidad de transformada, en el que
el parámetro que indica el coeficiente objetivo de codificación es una bandera que indica si el coeficiente objetivo de codificación es o no 0; y
un codificador aritmético que realiza codificación aritmética en el parámetro que indica el coeficiente objetivo de
codificación usando información de probabilidad acerca del contexto seleccionado,
en el que, la unidad de selección de contexto está configurada para seleccionar el contexto desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición del subbloque en el bloque objetivo de codificación en una dirección horizontal y (ii) un valor que indica una posición del subbloque en el bloque objetivo de codificación en una dirección vertical,
en el que, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de codificación a una posición del coeficiente objetivo de codificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como a en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/a) una parte entera de (V/a)" se calcula como la suma.
8. Un procedimiento de decodificación de imagen para decodificar una imagen codificada en una base bloque a bloque, comprendiendo el procedimiento de decodificación de imagen:
seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de decodificación e incluyendo cada uno una pluralidad de coeficientes, un contexto, desde un conjunto de contextos que corresponde al subbloque, para realizar decodificación aritmética en un parámetro que indica un coeficiente objetivo de decodificación incluido en el subbloque, basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de decodificación, siendo el bloque objetivo de decodificación una unidad de transformada, en el que
el parámetro que indica el coeficiente objetivo de decodificación es una bandera que indica si el coeficiente objetivo de decodificación es o no 0; y
realizar decodificación aritmética en el parámetro que indica el coeficiente objetivo de decodificación usando información de probabilidad acerca del contexto seleccionado,
en el que, en la selección, el contexto se selecciona desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición del subbloque en el bloque objetivo de decodificación en una dirección horizontal y (ii) un valor que indica una posición del subbloque en el bloque objetivo de decodificación en una dirección vertical,
en el que, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de decodificación a una posición del coeficiente objetivo de decodificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como a en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/a) una parte entera de (V/a)" se calcula como la suma.
9. El procedimiento de decodificación de imagen de acuerdo con la reivindicación 8, en el que, en la selección, cuando la suma es menor o igual que un valor umbral, el contexto se selecciona desde un primer conjunto de contextos; y
cuando la suma es mayor que el valor umbral, el contexto se selecciona desde un segundo conjunto de contextos diferente del primer conjunto de contextos.
10. El procedimiento de decodificación de imagen de acuerdo con la reivindicación 9, en el que, en la selección, el valor umbral aumenta con un aumento en el tamaño del bloque objetivo de decodificación.
11. El procedimiento de decodificación de imagen de acuerdo con una cualquiera de la reivindicación 8 a la reivindicación 10,
en el que el al menos un coeficiente de referencia es un coeficiente de un componente de frecuencia mayor que un componente de frecuencia que tiene el coeficiente objetivo de decodificación.
12. El procedimiento de decodificación de imagen de acuerdo con una cualquiera de la reivindicación 8 a la reivindicación 11,
en el que el al menos un coeficiente de referencia es una pluralidad de coeficientes de referencia, y el contexto seleccionado en la selección corresponde al número de coeficientes de referencia que tienen un valor distinto de cero entre la pluralidad de coeficientes de referencia.
13. El procedimiento de decodificación de imagen de acuerdo con la reivindicación 8, que comprende adicionalmente:
realizar una conmutación entre un primer procedimiento de decodificación conforme a un primer estándar y un segundo procedimiento de decodificación conforme a un segundo estándar, de acuerdo con información de identificación que indica uno del primer estándar y el segundo estándar y se añade a una secuencia de bits; cuando se realiza la conmutación al primer procedimiento de decodificación, se realiza la selección y la decodificación aritmética como el primer procedimiento de decodificación.
14. Un aparato de decodificación de imagen que decodifica una imagen en una base bloque a bloque, comprendiendo el aparato de decodificación de imagen:
una unidad de selección de contexto configurada para seleccionar, para cada uno de una pluralidad de subbloques incluidos en un bloque objetivo de decodificación e incluyendo cada uno una pluralidad de coeficientes, un contexto, desde un conjunto de contextos que corresponde al subbloque, para realizar decodificación aritmética en un
parámetro que indica un coeficiente objetivo de decodificación incluido en el subbloque basándose en al menos un coeficiente de referencia ubicado alrededor del coeficiente objetivo de decodificación, siendo el bloque objetivo de decodificación una unidad de transformada, en el que
el parámetro que indica el coeficiente objetivo de decodificación es una bandera que indica si el coeficiente objetivo de decodificación es o no 0; y
un decodificador aritmético que realiza decodificación aritmética en el parámetro que indica el coeficiente objetivo de decodificación usando información de probabilidad acerca del contexto seleccionado,
en el que, la unidad de selección de contexto está configurada para seleccionar el contexto desde el conjunto de contextos, correspondiendo el conjunto de contextos a una suma de (i) un valor que indica una posición del subbloque en el bloque objetivo de decodificación en una dirección horizontal y (ii) un valor que indica una posición del subbloque en el bloque objetivo de decodificación en una dirección vertical,
en el que, en la selección, cuando una distancia en dirección horizontal y una distancia en dirección vertical desde una posición de un coeficiente superior izquierda en el bloque objetivo de decodificación a una posición del coeficiente objetivo de decodificación se indican como H y V, respectivamente, y cuando cada uno de los subbloques tiene un tamaño indicado como a en cada una de la dirección vertical y la dirección horizontal, "una parte entera de (H/a) una parte entera de (V/a)" se calcula como la suma.
15. Un aparato de codificación y decodificación de imagen que comprende:
el aparato de codificación de imagen de acuerdo con la reivindicación 7; y
el aparato de decodificación de imagen de acuerdo con la reivindicación 14.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161578448P | 2011-12-21 | 2011-12-21 | |
| PCT/JP2012/008131 WO2013094199A1 (ja) | 2011-12-21 | 2012-12-19 | 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、および画像符号化復号化装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2864591T3 true ES2864591T3 (es) | 2021-10-14 |
Family
ID=48668117
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12860389T Active ES2864591T3 (es) | 2011-12-21 | 2012-12-19 | Selección de contexto para codificación por entropía de coeficientes de transformada |
Country Status (15)
| Country | Link |
|---|---|
| US (5) | US9332253B2 (es) |
| EP (1) | EP2797321B1 (es) |
| JP (3) | JPWO2013094199A1 (es) |
| KR (1) | KR102071574B1 (es) |
| CN (2) | CN107277552B (es) |
| AU (1) | AU2012355212B2 (es) |
| BR (1) | BR112013018850B1 (es) |
| CA (1) | CA2825767C (es) |
| ES (1) | ES2864591T3 (es) |
| MX (1) | MX2013008534A (es) |
| PL (1) | PL2797321T3 (es) |
| RU (1) | RU2609064C9 (es) |
| SG (1) | SG192171A1 (es) |
| TW (1) | TW201347543A (es) |
| WO (1) | WO2013094199A1 (es) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10075706B2 (en) * | 2011-01-19 | 2018-09-11 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
| US8891630B2 (en) * | 2011-10-24 | 2014-11-18 | Blackberry Limited | Significance map encoding and decoding using partition set based context assignment |
| CN108900839B (zh) * | 2011-12-28 | 2022-05-31 | 夏普株式会社 | 图像解码装置及方法、图像编码装置及方法 |
| CN104025600B (zh) * | 2012-01-03 | 2018-05-11 | 寰发股份有限公司 | 基于块的重要性图及重要性图群组旗标上下文选择的方法及装置 |
| TWI784916B (zh) * | 2012-03-26 | 2022-11-21 | 日商Jvc建伍股份有限公司 | 影像解碼裝置、影像解碼方法、儲存有影像解碼程式之記錄媒體、影像編碼裝置、影像編碼方法、及儲存有影像編碼程式之記錄媒體 |
| US9621921B2 (en) * | 2012-04-16 | 2017-04-11 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
| WO2013180023A1 (ja) * | 2012-06-01 | 2013-12-05 | シャープ株式会社 | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 |
| FR3029055B1 (fr) * | 2014-11-24 | 2017-01-13 | Ateme | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede |
| WO2017041271A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
| US10635462B2 (en) * | 2018-05-23 | 2020-04-28 | Microsoft Technology Licensing, Llc | Skill discovery for computerized personal assistant |
| US11113846B2 (en) * | 2018-08-31 | 2021-09-07 | Hulu, LLC | Coefficient context modeling in video coding |
| CN113261295B (zh) * | 2018-12-31 | 2024-08-16 | 北京字节跳动网络技术有限公司 | 具有MVD的Merge中距离索引与距离之间的映射 |
| US12281542B2 (en) * | 2020-10-13 | 2025-04-22 | Adantek Waste Management Services, Inc. | Subterranean sequestration of low-density organic wastes |
| CN112819708B (zh) * | 2021-01-19 | 2022-05-27 | 中北大学 | 一种低采样率下电磁泄漏视频图像的复原方法及系统 |
| JP7725288B2 (ja) * | 2021-08-16 | 2025-08-19 | キヤノン株式会社 | 撮像システム、サーバ装置、サーバ装置の制御方法、プログラム、および記憶媒体 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW297202B (es) * | 1993-10-13 | 1997-02-01 | Rca Thomson Licensing Corp | |
| RU2325783C2 (ru) * | 2002-07-15 | 2008-05-27 | Томсон Лайсенсинг С.А. | Адаптивное взвешивание эталонных изображений при кодировании видеосигнала |
| JP4699685B2 (ja) * | 2003-08-21 | 2011-06-15 | パナソニック株式会社 | 信号処理装置及びそれを用いた電子機器 |
| JP2007043651A (ja) * | 2005-07-05 | 2007-02-15 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
| CN102176754B (zh) * | 2005-07-22 | 2013-02-06 | 三菱电机株式会社 | 图像编码装置和方法、以及图像解码装置和方法 |
| US7245242B2 (en) * | 2005-11-28 | 2007-07-17 | Conexant Systems, Inc. | Decoding systems and methods |
| KR100736104B1 (ko) * | 2006-04-06 | 2007-07-06 | 삼성전자주식회사 | 독립적 파싱을 지원하는 비디오 코딩 방법 및 장치 |
| EP2106666B1 (en) * | 2007-01-08 | 2019-06-12 | Nokia Technologies Oy | Improved inter-layer prediction for extended spatial scalability in video coding |
| US8743774B2 (en) * | 2007-01-30 | 2014-06-03 | Qualcomm Incorporated | Resource requests for a wireless communication system |
| US8422552B2 (en) * | 2007-03-29 | 2013-04-16 | James Au | Entropy coding for video processing applications |
| CN101682787A (zh) * | 2007-04-12 | 2010-03-24 | 诺基亚公司 | 空间增强的变换编码 |
| US8619853B2 (en) * | 2007-06-15 | 2013-12-31 | Qualcomm Incorporated | Separable directional transforms |
| CN101127910B (zh) * | 2007-10-08 | 2013-01-02 | 威盛电子股份有限公司 | 编码图块标志参数运算方法和装置 |
| US8891615B2 (en) * | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
| US8675736B2 (en) * | 2009-05-14 | 2014-03-18 | Qualcomm Incorporated | Motion vector processing |
| US9069713B2 (en) * | 2009-06-05 | 2015-06-30 | Qualcomm Incorporated | 4X4 transform for media coding |
| JP2013131786A (ja) * | 2010-04-09 | 2013-07-04 | Mitsubishi Electric Corp | 動画像符号化装置および動画像復号装置 |
| ES2823549T3 (es) * | 2010-04-13 | 2021-05-07 | Ge Video Compression Llc | Codificación de mapas de significado y bloques de coeficiente de transformada |
| CN101854555B (zh) * | 2010-06-18 | 2011-07-27 | 上海交通大学 | 基于预测残差自适应调整的视频编码系统 |
| CN102256125B (zh) * | 2011-07-14 | 2013-06-05 | 北京工业大学 | 面向高效视频编码hevc基于上下文的自适应算数编码方法 |
| EP2775713B1 (en) | 2011-11-04 | 2021-06-16 | Sharp Kabushiki Kaisha | Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method |
-
2012
- 2012-12-19 ES ES12860389T patent/ES2864591T3/es active Active
- 2012-12-19 CA CA2825767A patent/CA2825767C/en active Active
- 2012-12-19 CN CN201710569191.7A patent/CN107277552B/zh active Active
- 2012-12-19 CN CN201280006586.1A patent/CN103339937B/zh active Active
- 2012-12-19 AU AU2012355212A patent/AU2012355212B2/en active Active
- 2012-12-19 RU RU2013135004A patent/RU2609064C9/ru active
- 2012-12-19 MX MX2013008534A patent/MX2013008534A/es active IP Right Grant
- 2012-12-19 KR KR1020137019638A patent/KR102071574B1/ko active Active
- 2012-12-19 JP JP2013530489A patent/JPWO2013094199A1/ja active Pending
- 2012-12-19 SG SG2013057179A patent/SG192171A1/en unknown
- 2012-12-19 PL PL12860389T patent/PL2797321T3/pl unknown
- 2012-12-19 BR BR112013018850-2A patent/BR112013018850B1/pt active IP Right Grant
- 2012-12-19 EP EP12860389.1A patent/EP2797321B1/en active Active
- 2012-12-19 WO PCT/JP2012/008131 patent/WO2013094199A1/ja not_active Ceased
- 2012-12-20 TW TW101148659A patent/TW201347543A/zh unknown
- 2012-12-20 US US13/721,328 patent/US9332253B2/en active Active
-
2016
- 2016-02-23 US US15/050,837 patent/US9826246B2/en active Active
- 2016-02-24 US US15/051,895 patent/US9794583B2/en active Active
- 2016-12-08 JP JP2016238901A patent/JP6459075B2/ja active Active
-
2017
- 2017-09-08 US US15/698,955 patent/US10362324B2/en active Active
-
2018
- 2018-10-16 JP JP2018195056A patent/JP6604561B2/ja active Active
-
2019
- 2019-04-11 US US16/381,253 patent/US10595030B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2864591T3 (es) | Selección de contexto para codificación por entropía de coeficientes de transformada | |
| US10721469B2 (en) | Line buffer reduction for adaptive loop filtering in video coding | |
| ES2677100T3 (es) | Filtrado de bucle alrededor de los límites de segmento o de límites de mosaico en la codificación de video | |
| JP6661699B2 (ja) | ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置 | |
| ES2617039T3 (es) | Procedimiento y aparato de codificación por entropía/descodificación por entropía de datos de vídeo | |
| ES2805039T3 (es) | Aparato de decodificación de imágenes | |
| ES2784509T3 (es) | Codificación de mapas de significado y bloques de coeficiente de transformada | |
| ES2736374B1 (es) | Procedimiento y dispositivo para realizar intrapredicción durante la codificación o decodificación de un vídeo | |
| ES2866699T3 (es) | Desbloqueo de vídeo para el modo de codificación intra PCM (IPCM) | |
| ES2865389T3 (es) | Actualización del parámetro de rice para la codificación de nivel de coeficiente en el procedimiento de codificación de vídeo | |
| ES2748233T3 (es) | Procedimiento de generación de un bloque cuantificado | |
| ES2963135T3 (es) | Codificación de la posición de un último coeficiente significativo dentro de un bloque de vídeo basándose en un orden de exploración para el bloque en una codificación de vídeo | |
| US9491469B2 (en) | Coding of last significant transform coefficient | |
| ES2828734T3 (es) | Procedimiento y aparatos para decodificación de imágenes | |
| ES2864623T3 (es) | Codificación de parámetros de cuantificación (QP) en codificación de video | |
| ES2602779T3 (es) | Procedimiento de descodificación de intra-predicciones | |
| ES2954591T3 (es) | Aparato de decodificación de vídeo y aparato de codificación de vídeo | |
| US9621921B2 (en) | Coefficient groups and coefficient coding for coefficient scans | |
| ES2549065T3 (es) | Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes | |
| ES2789198T3 (es) | Procedimiento de decodificación de imágenes | |
| KR101920607B1 (ko) | 하나 이상의 코딩 유닛의 인코딩 및 디코딩하기 위한 방법, 장치 및 컴퓨터 판독가능한 저장 매체 | |
| US20190014315A1 (en) | Adaptive loop filter with enhanced classification methods | |
| ES2793499T3 (es) | Método para decodificar un flujo de bits creado utilizando una transformación direccional | |
| ES2807908T3 (es) | Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación | |
| US20130016789A1 (en) | Context modeling techniques for transform coefficient level coding |