ES2732009T3 - Procedimiento y aparato para codificar y descodificar coeficientes de transformada - Google Patents

Procedimiento y aparato para codificar y descodificar coeficientes de transformada Download PDF

Info

Publication number
ES2732009T3
ES2732009T3 ES16196991T ES16196991T ES2732009T3 ES 2732009 T3 ES2732009 T3 ES 2732009T3 ES 16196991 T ES16196991 T ES 16196991T ES 16196991 T ES16196991 T ES 16196991T ES 2732009 T3 ES2732009 T3 ES 2732009T3
Authority
ES
Spain
Prior art keywords
transform coefficients
zero
map
positive
absolute values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16196991T
Other languages
English (en)
Inventor
Jin Song
Mingyuan Yang
Dong Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2732009T3 publication Critical patent/ES2732009T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un procedimiento para codificar coeficientes de transformada, que comprende: codificar coeficientes de transformada de un bloque de coeficientes de transformada con un tamaño de 8x8 o 32x32 según un orden de exploración predeterminado mediante el cual se codifica un número fijado de coeficientes de transformada en cada grupo hasta que se codifique el último grupo del bloque de coeficientes de transformada; almacenar un mapa obtenido de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero; y cuando se codifica el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en un flujo de bits el mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; después de obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en el flujo de bits los valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada está compuesto por subbloques que están codificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos; en el que la codificación de coeficientes de transformada de un bloque de coeficientes de transformada y la codificación de un número fijado de coeficientes de transformada de cada grupo comprenden: codificar un mapa de coeficientes de transformada distintos de cero del número predeterminado de coeficientes de transformada, codificar un mapa de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada, codificar valores absolutos de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada y codificar signos positivos y negativos de coeficientes de transformada distintos de cero de un número fijado de coeficientes de transformada.

Description

DESCRIPCIÓN
Procedimiento y aparato para codificar y descodificar coeficientes de transformada
Esta solicitud reivindica la prioridad de la Solicitud de Patente China N° 201110057694.9, presentada en la Oficina China de Patentes el 10 de marzo 2011 y denominada “MÉTODO Y APARATO PARA CODIFICAR Y DESCODIFICAR COEFICIENTES DE TRANSFORMADA11.
Campo técnico
La presente invención se refiere al campo de las tecnologías de procesamiento de vídeo y, en particular, a un procedimiento y un aparato para codificar y descodificar coeficientes de transformada.
Antecedentes
En las tecnologías de codificación de vídeo convencionales, la codificación de entropía utiliza principalmente la codificación por longitud de series y la codificación aritmética. Por ejemplo, en la norma de codificación H.264 se usa un codificador de longitud variable adaptable al contexto (CAVLC) y un codificador aritmético binario adaptable al contexto (CABAC). Los dos modos de codificación de entropía utilizan una correlación entre información codificada e información que tiene que codificarse en un momento dado. Específicamente, una tabla de código o un modelo de probabilidad de información que tiene que codificarse en un momento dado se genera usando la información codificada, lo que se denomina codificación de entropía basada en contexto. Al usar una codificación aritmética, el CABAC tiene un mejor rendimiento de codificación que el CAVLC, pero tiene una complejidad considerablemente mayor. Puesto que se usa información de contexto, la información de codificación actual no puede codificarse hasta que una información de codificación adyacente se haya codificado completamente, no pudiendo realizarse otras operaciones en paralelo. Como resultado, el algoritmo de codificación de entropía forma un cuello de botella en la codificación y la descodificación. Para aumentar la eficacia de la codificación se ha establecido una norma de codificación de vídeo, codificación de vídeo alta eficacia (HEVC), que es una norma de compresión de vídeo de última generación que propone los siguientes procesos de codificación aritmética:
A. Codificar un mapa de coeficientes de transformada distintos de cero (mapa de significancia). En esta etapa, un bloque completo de coeficientes de transformada que tiene que codificarse se codifica en un orden de exploración predeterminado, denominado también modo de exploración de gran envergadura, por ejemplo modo en forma de Z (zigzag) de gran envergadura; el orden de exploración predeterminado también puede ser un orden de exploración en modo vertical de gran envergadura y en modo horizontal de gran envergadura y, por consiguiente, cuando la codificación se realiza posteriormente en el modo de subbloque, se usa un orden de exploración en modo vertical de poca envergadura o en modo horizontal de poca envergadura. Cuando se lleva a cabo la etapa A, cada frecuencia corresponde a una posición de un mapa. Cuando una frecuencia es 0, el valor de una posición correspondiente en el mapa es 0; cuando la frecuencia es un valor distinto de cero, el valor de la posición correspondiente en el mapa es 1. Además, se determina si una frecuencia actual es la última frecuencia distinta de cero. Si la frecuencia actual es la última frecuencia distinta de cero, el valor de la posición correspondiente es 11 (dos unos, no el número once); en caso contrario, el valor de la posición es 10 (1 y 0, no el número diez). Durante el proceso de codificación del mapa, si aparece 11 en la secuencia de ceros y unos que representa el mapa, se determina que un bloque de coeficientes de transformada se ha codificado completamente.
B. Codificar un mapa de coeficientes de transformada mayores que 1 en el modo de subbloque. En esta etapa, un mapa de subbloques mayores que 1 de todo el bloque de coeficientes de transformada se codifica en un orden de exploración predeterminado, lo que también se denomina modo de exploración de poca envergadura, por ejemplo modo en zigzag de poca envergadura.
C. Codificar valores absolutos de coeficientes mayores que 1 en el modo de subbloque usando un modo en zigzag de poca envergadura.
D. Codificar signos positivos y negativos de coeficientes distintos de cero en el modo de subbloque y usando el modo en zigzag de poca envergadura. Las anteriores etapas B a D se realizan de manera cíclica hasta que se hayan codificado todos los subbloques completamente.
En las etapas anteriores, el modo de subbloque se define de la siguiente manera usando un bloque 8x8 de coeficientes de transformada como un ejemplo: Un bloque de coeficientes de transformada 4x4 superior izquierdo se codifica en primer lugar, seguido de un bloque de coeficientes de transformada 4x4 superior derecho, un bloque de coeficientes de transformada 4x4 inferior izquierdo y un bloque de coeficientes de transformada 4x4 inferior derecho. Los bloques de coeficientes de transformada 4x4 anteriores son subbloques de un bloque 8x8 de coeficientes de transformada. El orden de exploración del modo en zigzag de gran envergadura y el orden de exploración del modo en zigzag de poca envergadura se ilustran en las FIG. 1A y 1B respectivamente, donde cada pequeño cuadro representa una frecuencia, y los números de los cuadros representan el orden de exploración. Resulta evidente que el orden de exploración del modo en zigzag de gran envergadura y del modo en zigzag de poca envergadura está basado en la misma regla de exploración. Sin embargo, en diferentes objetos explorados, desde la perspectiva de todo el bloque de coeficientes de transformada, el orden de exploración es diferente entre la etapa A en la que se codifica el mapa de significancia y las etapas B a D en las que se codifican valores absolutos (niveles) de coeficientes de transformada y se codifican signos positivos y negativos de coeficientes de transformada distintos de cero. Debido al diferente orden de exploración, los datos tienen que leerse una vez de manera respectiva durante la realización de la etapa A y durante la realización de las etapas B a D; asimismo, es necesario fijar en un extremo de descodificación dos modos de consulta de tabla correspondientes a los dos tipos de orden, lo que produce una gran sobrecarga en la codificación y descodificación y una baja eficacia. Además, en la etapa A, si el bloque de coeficientes de transformada es relativamente grande, lo que se denomina habitualmente como gran unidad de transformada, por ejemplo un mapa de significancia de 32x32, la codificación de un gran mapa de significancia supone un gran problema en los diseños del hardware.
El siguiente documento da a conocer un procedimiento de procesamiento de exploración para una codificación de coeficientes de alta eficacia, que divide los coeficientes en fragmentos de tamaño 16 o menos dentro de la exploración, y procesa los coeficientes por cada fragmento: BENJAMIN BROSS ET AL.: : "High Efficiency Video Coding (HEVC) text specification draft 6", EQUIPO DE COLABORACIÓN CONJUNTA DE CODIFICACIÓN DE VÍDEO (JCT-VC) DE ITU-T SG16 WP3 E ISO/IEC JTC1/SC29/WG11, 7a SESIÓN, 10 de febrero de 2012 (10/02/2012).
Resumen
El problema técnico solucionado por las formas de realización de la presente invención consiste en proporcionar un procedimiento y un aparato para codificar y descodificar coeficientes de transformada para reducir las sobrecargas de codificación y descodificación y aumentar la eficacia de la codificación y la descodificación.
Un procedimiento para codificar coeficientes de transformada incluye:
codificar coeficientes de transformada de un bloque de coeficientes de transformada con un tamaño de 8x8 o 32x32 según un orden de exploración predeterminado mediante el cual se codifica un número fijado de coeficientes de transformada en cada grupo hasta que se codifique el último grupo del bloque de coeficientes de transformada; almacenar un mapa obtenido de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero; y
cuando se codifica el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en un flujo de bits el mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; después de obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en el flujo de bits los valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo,
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada está compuesto por subbloques que están codificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada;
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos;
en el que la codificación de coeficientes de transformada de un bloque de coeficientes de transformada y la codificación de un número fijado de coeficientes de transformada de cada grupo comprenden: codificar un mapa de coeficientes de transformada distintos de cero del número predeterminado de coeficientes de transformada, codificar un mapa de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada, codificar valores absolutos de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada y codificar signos positivos y negativos de coeficientes de transformada distintos de cero de un número fijado de coeficientes de transformada.
Un procedimiento para descodificar coeficientes de transformada incluye:
analizar coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero; y
analizar, según el orden de exploración predeterminado, un número fijado de coeficientes de transformada en cada grupo de un bloque de coeficientes de transformada del flujo de bits, para obtener un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1 y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits;
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada es de tamaño 8x8 o 32x32 y está compuesto por subbloques que están descodificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; y
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos.
Un aparato para codificar coeficientes de transformada incluye:
una unidad de codificación, configurada para: codificar coeficientes de transformada de un bloque de coeficientes de transformada con un tamaño de 8x8 o 32x32 según un orden de exploración predeterminado mediante el cual se codifica un número fijado de coeficientes de transformada en cada grupo hasta que se codifique el último grupo del bloque de coeficientes de transformada; cuando se codifica el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en un flujo de bits un mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; y tras obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en el flujo de bits los valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo; y una unidad de almacenamiento, configurada para almacenar el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero obtenidos por la unidad de codificación;
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada está compuesto por subbloques que están codificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; y
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos;
en el que la codificación de coeficientes de transformada de un bloque de coeficientes de transformada y la codificación de un número fijado de coeficientes de transformada de cada grupo comprenden: codificar un mapa de coeficientes de transformada distintos de cero del número predeterminado de coeficientes de transformada, codificar un mapa de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada, codificar valores absolutos de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada y codificar signos positivos y negativos de coeficientes de transformada distintos de cero de un número fijado de coeficientes de transformada.
Un aparato para descodificar coeficientes de transformada incluye:
una unidad de descodificación, configurada para analizar coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero, analizar, según el orden de exploración predeterminado, un número fijado de coeficientes de transformada en cada grupo de un bloque de coeficientes de transformada del flujo de bits, para obtener un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1 y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits;
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada es de tamaño 8x8 o 32x32 y está compuesto por subbloques que están descodificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; y
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos.
Según las soluciones técnicas proporcionadas en las formas de realización de la presente invención, el orden de exploración para codificar un mapa de significancia es el mismo que el orden de exploración en los procesos de codificación de niveles y de codificación de signos; los datos solo tienen que leerse una vez en el proceso de codificación, y un extremo de descodificación necesita un modo de consulta de tabla para un solo tipo de orden. Además, el mapa de significancia se divide en mapas de significancia más pequeños, lo que puede reducir las sobrecargas de codificación y descodificación y aumentar la eficacia de la codificación y la descodificación.
Breve descripción de los dibujos
Para ilustrar más claramente las soluciones técnicas de las formas de realización de la presente invención o de la técnica anterior, a continuación se introduce brevemente los dibujos adjuntos requeridos para describir las formas de realización o la técnica anterior. Evidentemente, los dibujos adjuntos de la siguiente descripción muestran simplemente algunas formas de realización de la presente invención, y un experto en la técnica puede obtener otros dibujos a partir de estos dibujos adjuntos sin realizar investigaciones adicionales.
La FIG. 1A es un diagrama esquemático de un orden de exploración en zigzag de gran envergadura.
La FIG. 1B es un diagrama esquemático de un orden de exploración en zigzag de poca envergadura.
La FIG. 2 es un diagrama de flujo esquemático de un procedimiento según una forma de realización de la presente invención.
La FIG. 3 es un diagrama de flujo esquemático de un procedimiento según una forma de realización de la presente invención.
La FIG. 4 es un diagrama estructural esquemático de un aparato de codificación según una forma de realización de la presente invención.
La FIG. 5 es un diagrama estructural esquemático de un aparato de descodificación según una forma de realización de la presente invención.
Descripción de formas de realización
A continuación se describe de manera clara y completa las soluciones técnicas de las formas de realización de la presente invención haciendo referencia a los dibujos adjuntos de las formas de realización de la presente invención. Como se muestra en la FIG. 2, un procedimiento para codificar coeficientes de transformada incluye lo siguiente:
201. Codificar coeficientes de transformada de un bloque de coeficientes de transformada según un orden de exploración predeterminado, y codificar un número fijado de coeficientes de transformada en cada grupo hasta que se haya codificado el último grupo del bloque de coeficientes de transformada; almacenar un mapa obtenido de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero.
El bloque de coeficientes de transformada en la forma de realización de la presente invención puede ser un bloque 8x8 de coeficientes de transformada, un bloque de coeficientes de transformada 32x32 o un bloque de coeficientes de transformada de otro tamaño. El tamaño del bloque de coeficientes de transformada no afecta a la implementación de la forma de realización de la presente invención, y la forma de realización de la presente invención no está limitada a este respecto.
Más específicamente, la codificación de coeficientes de transformada de un bloque de coeficientes de transformada y la codificación de un número fijado de coeficientes de transformada de cada grupo en 201 incluyen: codificar un mapa de coeficientes de transformada distintos de cero de un número predeterminado de coeficientes de transformada, codificar un mapa de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada, codificar valores absolutos de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada y codificar signos positivos y negativos de coeficientes de transformada distintos de cero de un número fijado de coeficientes de transformada.
La posición de almacenamiento anterior puede ser una memoria intermedia. El número predeterminado de coeficientes de transformada puede determinarse según el funcionamiento de un procesador, el tamaño de la memoria intermedia, etc. Diversos experimentos han demostrado que puede conseguirse una mayor eficacia de codificación cuando el número predeterminado es 16.
Como alternativa, el orden de exploración predeterminado puede ser el orden de exploración del modo de exploración de gran envergadura o el orden de exploración del modo de exploración de poca envergadura. Ejemplos correspondientes a los dos tipos de orden de exploración predeterminados se proporcionan en formas de realización subsiguientes de la presente invención. Debe entenderse que el orden de exploración predeterminado puede ser también otro orden siempre que el extremo de codificación corresponda al extremo de descodificación, y la forma de realización de la presente invención no está limitada a este respecto.
202. Cuando se codifica el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, codificar en un flujo de bits el mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; después de obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, codificar en el flujo de bits los valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo.
Según la solución técnica proporcionada en la forma de realización de la presente invención, el orden de exploración para codificar un mapa de significancia es el mismo que el orden de exploración en los procesos de codificación de niveles y de codificación de signos; los datos solo tienen que leerse una vez en el proceso de codificación, y un extremo de descodificación necesita un modo de consulta de tabla de un solo tipo de orden. Además, el mapa de significancia se divide en mapas de significancia más pequeños, lo que puede reducir las sobrecargas de la codificación y la descodificación y aumentar la eficacia de la codificación y la descodificación.
Como se muestra en la FIG. 3, un procedimiento para descodificar coeficientes de transformada incluye lo siguiente:
301. Analizar coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero.
En 301, el orden de exploración predeterminado es el mismo que el orden de exploración predeterminado de un extremo de codificación. El orden de exploración puede especificarse usando un protocolo o mediante una negociación para garantizar que el extremo de codificación y el extremo de descodificación tengan el mismo orden de exploración, y la forma de realización de la presente invención no está limitada a este respecto. 302. Analizar, según el orden de exploración predeterminado, un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1, y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez.
El orden de exploración predeterminado puede ser el orden de exploración del modo de exploración de gran envergadura o el orden de exploración del modo de exploración de poca envergadura. En este caso, el análisis de los coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero, el análisis, según el orden de exploración predeterminado, de un mapa de coeficientes de transformada mayores que 1, de valores absolutos de coeficientes de transformada mayores que 1 y de signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y el análisis de un número fijado de coeficientes de transformada del flujo de bits cada vez incluyen:
analizar el flujo de bits según el orden de exploración del modo de exploración de gran envergadura para obtener un mapa de coeficientes de transformada distintos de cero, analizar, según el orden de exploración del modo de exploración de gran envergadura, un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1, y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez; o
analizar el flujo de bits según el orden de exploración del modo de exploración de poca envergadura para obtener un mapa de coeficientes de transformada distintos de cero, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez; y
analizar, según el orden de exploración del modo de exploración de poca envergadura, un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1, y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez.
Según la solución técnica proporcionada en la forma de realización de la presente invención, el orden de exploración para codificar un mapa de significancia es el mismo que el orden de exploración en los procesos de codificación de niveles y de codificación de signos; los datos solo tienen que leerse una vez en el proceso de codificación, y un extremo de descodificación necesita un modo de consulta de tabla de un solo tipo de orden. Además, el mapa de significancia se divide en mapas de significancia más pequeños, lo que puede reducir las sobrecargas de la codificación y la descodificación y aumentar la eficacia de la codificación y la descodificación.
En las siguientes formas de realización, se supone que se usa un bloque 8x8 de coeficientes de transformada y que se exploran o analizan 16 coeficientes de transformada cada vez.
Ejemplo 1: Se supone que el orden de exploración predeterminado es el del modo de exploración de gran envergadura. Si el orden de exploración predeterminado es el del modo en forma de Z (zigzag) de gran envergadura, puede hacerse referencia a la FIG. 1A.
El extremo de codificación realiza las siguientes operaciones en secuencia:
(1) Codificar un mapa de significancia de los 16 primeros coeficientes según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transforma, y almacenar el mapa de significancia codificado en la memoria intermedia; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de los coeficientes en secuencia, y almacenar los niveles y signos obtenidos en la memoria intermedia.
(2) Codificar un mapa de significancia de los 16 coeficientes siguientes en el orden de exploración según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transforma, y almacenar el mapa de significancia codificado en la memoria intermedia; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de los coeficientes en secuencia, y almacenar los niveles y signos obtenidos en la memoria intermedia.
(3) Codificar un mapa de significancia de los 16 coeficientes siguientes en el orden de exploración según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transforma, y almacenar el mapa de significancia codificado en la memoria intermedia; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de los coeficientes en secuencia, y almacenar los niveles y signos obtenidos en la memoria intermedia.
(4) Codificar un mapa de significancia de los 16 últimos coeficientes en el orden de exploración según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transformada, y codificar la información de mapa de significancia de la memoria intermedia y la información de mapa de significancia obtenida de los 16 últimos coeficientes en un flujo de bits; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de coeficientes en secuencia, y codificar la información de niveles y signos de la memoria intermedia y los niveles y signos obtenidos de los 16 últimos coeficientes en el flujo de bits. Una vez finalizada la codificación, el extremo de codificación puede enviar el flujo de bits a un extremo de descodificación. Evidentemente, la información de indicador de extremo se obtiene cuando se codifica el mapa de significancia de los últimos coeficientes.
El extremo de descodificación realiza las siguientes operaciones en secuencia:
(1) Leer el flujo de bits y analizar valores numéricos del mapa de significancia según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transformada. En esta etapa pueden analizarse directamente valores numéricos del mapa de significancia de 64 coeficientes.
El código de coeficientes de transformada incluye el mapa de los coeficientes de transformada y los valores numéricos de los coeficientes de transformada, donde los valores numéricos de los coeficientes de transformada incluyen valores absolutos de los coeficientes de transformada y signos de los coeficientes de transformada; los valores absolutos de los coeficientes de transformada incluyen un mapa de coeficientes de transformada mayores que 1 (según este mapa pueden conocerse los coeficientes de transformada distintos de cero cuyos valores absolutos valen 1) y valores absolutos de coeficientes de transformada mayores que 1. (2) Leer el flujo de bits y analizar, según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transformada, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 primeros coeficientes en el orden de exploración.
(3) Leer el flujo de bits y analizar, según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transformada, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 coeficientes siguientes en el orden de exploración.
(4) Leer el flujo de bits y analizar, según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transformada, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 coeficientes siguientes en el orden de exploración.
(5) Leer el flujo de bits y analizar, según el orden de exploración predeterminado del bloque 8x8 de coeficientes de transformada, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 últimos coeficientes en el orden de exploración.
Ejemplo 2: Se supone que el orden de exploración predeterminado es el del modo de exploración de poca envergadura. Si el orden de exploración predeterminado es el del modo en forma de Z (zigzag) de poca envergadura, puede hacerse referencia a la FIG. 1B.
El extremo de codificación realiza las siguientes operaciones en secuencia:
1. Tomar los 4x4 puntos superiores izquierdos de una posición en el dominio de frecuencia, codificar un mapa de significancia según el orden de exploración predeterminado de los 4x4 puntos, y almacenar el mapa de significancia codificado en la memoria intermedia; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de coeficientes distintos de cero en secuencia, y almacenar los niveles y signos obtenidos en la memoria intermedia.
2. Tomar los 4x4 puntos superiores derechos de una posición en el dominio de frecuencia, codificar un mapa de significancia según el orden de exploración predeterminado de los 4x4 puntos, y almacenar el mapa de significancia codificado en la memoria intermedia; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de coeficientes distintos de cero en secuencia, y almacenar los niveles y signos obtenidos en la memoria intermedia.
3. Tomar los 4x4 puntos inferiores izquierdos de una posición en el dominio de frecuencia, codificar un mapa de significancia según el orden de exploración predeterminado de los 4x4 puntos, y almacenar el mapa de significancia codificado en la memoria intermedia; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de coeficientes distintos de cero en secuencia, y almacenar los niveles y signos obtenidos en la memoria intermedia.
4. Tomar los 4x4 puntos inferiores derechos de una posición en el dominio de frecuencia y codificar un mapa de significancia según el orden de exploración predeterminado de los 4x4 puntos; codificar la información de mapa de significancia de la memoria intermedia y la información de mapa de significancia obtenida de los 16 últimos coeficientes (la información de mapa de significancia obtenida de los 16 últimos coeficientes incluye información de extremo del mapa) en un flujo de bits; codificar un mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de coeficientes distintos de cero en secuencia, y codificar la información de niveles y signos de la memoria intermedia y los niveles y signos obtenidos de los 16 últimos coeficientes en el flujo de bits.
El extremo de descodificación realiza las siguientes operaciones en secuencia:
(1) Leer el flujo de bits; analizar valores numéricos del mapa de significancia de los 16 primeros puntos según el orden de exploración predeterminado de 4x4 puntos, y almacenar los valores numéricos en un subbloque superior izquierdo del mapa; analizar valores numéricos del mapa de significancia de 16 puntos siguientes según el orden de exploración predeterminado de 4x4 puntos, y almacenar los valores numéricos en un subbloque superior derecho del mapa; analizar valores numéricos del mapa de significancia de 16 puntos siguientes según el orden de exploración predeterminado de 4x4 puntos, y almacenar los valores numéricos en un subbloque inferior izquierdo del mapa; y analizar valores numéricos del mapa de significancia de los 16 últimos puntos según el orden de exploración predeterminado de 4x4 puntos, y almacenar los valores numéricos en un subbloque inferior derecho del mapa.
(2) Leer el flujo de bits y analizar, según el orden de exploración predeterminado de 4x4 puntos, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1 y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 primeros coeficientes, y usar los resultados como coeficientes en la posición del subbloque superior izquierdo.
(3) Leer el flujo de bits y analizar, según el orden de exploración predeterminado de 4x4 puntos, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 coeficientes siguientes, y usar los resultados como coeficientes en la posición del subbloque superior derecho.
(4) Leer el flujo de bits y analizar, según el orden de exploración predeterminado de 4x4 puntos, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 coeficientes siguientes, y usar los resultados como coeficientes en la posición del subbloque inferior izquierdo.
(5) Leer el flujo de bits y analizar, según el orden de exploración predeterminado de 4x4 puntos, el mapa de coeficientes mayores que 1, valores absolutos de coeficientes mayores que 1, y signos positivos y negativos de todos los coeficientes distintos de cero de los 16 últimos coeficientes, y usar los resultados como coeficientes en la posición del subbloque inferior derecho.
Como se muestra en la FIG. 4, un aparato para codificar coeficientes de transformada incluye:
una unidad de codificación 401, configurada para: codificar coeficientes de transformada de un bloque de coeficientes de transformada según un orden de exploración predeterminado, y codificar un número fijado de coeficientes de transformada en cada grupo hasta que se codifique el último grupo del bloque de coeficientes de transformada; cuando se está codificando el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, codificar en un flujo de bits un mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; y tras obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, codificar en el flujo de bits los valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo; y
una unidad de almacenamiento 402, configurada para almacenar el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero obtenidos por la unidad de codificación.
Como alternativa, la unidad de codificación 401 que está configurada para codificar coeficientes de transformada de un bloque de coeficientes de transformada según un orden de exploración predeterminado incluye:
codificar coeficientes de transformada del bloque de coeficientes de transformada según el orden de exploración del modo de exploración de gran envergadura; o
codificar coeficientes de transformada del bloque de coeficientes de transformada según el orden de exploración del modo de exploración de poca envergadura.
Según la solución técnica proporcionada en la forma de realización de la presente invención, el orden de exploración para codificar un mapa de significancia es el mismo que el orden de exploración en los procesos de codificación de niveles y de codificación de signos; los datos solo tienen que leerse una vez en el proceso de codificación, y un extremo de descodificación necesita un modo de consulta de tabla de un solo tipo de orden. Además, el mapa de significancia se divide en mapas de significancia más pequeños, lo que puede reducir las sobrecargas de la codificación y la descodificación y aumentar la eficacia de la codificación y la descodificación.
Como se muestra en la FIG. 5, un aparato para descodificar coeficientes de transformada incluye:
una unidad de descodificación 501, configurada para analizar coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero, analizar, según el orden de exploración predeterminado, un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1 y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez.
Como alternativa, la unidad de descodificación 501 está configurada específicamente para: analizar el flujo de bits según el orden de exploración del modo de exploración de gran envergadura para obtener un mapa de coeficientes de transformada distintos de cero, analizar, según el orden de exploración del modo de exploración de gran envergadura, un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1 y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez; o la unidad de descodificación 501 está configurada específicamente para:
analizar el flujo de bits según el orden de exploración del modo de exploración de poca envergadura para obtener un mapa de coeficientes de transformada distintos de cero, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez; y
analizar, según el orden de exploración del modo de exploración de poca envergadura, un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1, y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits, y analizar un número fijado de coeficientes de transformada del flujo de bits cada vez.
Según la solución técnica proporcionada en la forma de realización de la presente invención, el orden de exploración para codificar un mapa de significancia es el mismo que el orden de exploración en los procesos de codificación de niveles y de codificación de signos; los datos solo tienen que leerse una vez en el proceso de codificación, y un extremo de descodificación necesita un modo de consulta de tabla de un solo tipo de orden. Además, el mapa de significancia se divide en mapas de significancia más pequeños, lo que puede reducir las sobrecargas de la codificación y la descodificación y aumentar la eficacia de la codificación y la descodificación.
Los expertos en la técnica entenderán que todas o parte de las etapas de los procedimientos proporcionados en las anteriores formas de realización pueden realizarse mediante hardware controlado por un programa. El programa puede estar almacenado en un medio de almacenamiento legible por ordenador, tal como una memoria de solo lectura, un disco magnético y un CD-ROM.
La tecnología proporcionada en las formas de realización de la presente invención puede aplicarse en el campo del procesamiento de señales digitales y se implementa usando un codificador y un descodificador. Los codificadores y descodificadores de vídeo se utilizan ampliamente en varios dispositivos de comunicaciones o dispositivos electrónicos, por ejemplo una televisión digital, un descodificador, una pasarela de medios, un teléfono móvil, un dispositivo inalámbrico, un asistente personal digital (PDA), un ordenador manual o portátil, un receptor/navegador GPS, una cámara, un reproductor de vídeo, una cámara de vídeo, una grabadora de vídeo, un dispositivo de vigilancia, un dispositivo de videoconferencia y videotelefonía, etc. Tales dispositivos incluyen un procesador, una memoria e interfaces para la transmisión de datos. El codificador y el descodificador de vídeo pueden implementarse directamente usando un circuito digital o un chip, por ejemplo un DSP (procesador de señales digitales), o usando un procesador controlado por códigos de software para realizar los procesos de los códigos de software.

Claims (4)

REIVINDICACIONES
1. Un procedimiento para codificar coeficientes de transformada, que comprende:
codificar coeficientes de transformada de un bloque de coeficientes de transformada con un tamaño de 8x8 o 32x32 según un orden de exploración predeterminado mediante el cual se codifica un número fijado de coeficientes de transformada en cada grupo hasta que se codifique el último grupo del bloque de coeficientes de transformada; almacenar un mapa obtenido de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero; y
cuando se codifica el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en un flujo de bits el mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; después de obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en el flujo de bits los valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada está compuesto por subbloques que están codificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada;
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos;
en el que la codificación de coeficientes de transformada de un bloque de coeficientes de transformada y la codificación de un número fijado de coeficientes de transformada de cada grupo comprenden: codificar un mapa de coeficientes de transformada distintos de cero del número predeterminado de coeficientes de transformada, codificar un mapa de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada, codificar valores absolutos de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada y codificar signos positivos y negativos de coeficientes de transformada distintos de cero de un número fijado de coeficientes de transformada.
2. Un procedimiento para descodificar coeficientes de transformada, que comprende:
analizar coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero; y analizar, según el orden de exploración predeterminado, una número fijado de coeficientes de transformada en cada grupo de un bloque de coeficientes de transformada del flujo de bits, para obtener un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1 y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits;
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada es de tamaño 8x8 o 32x32 y está compuesto por subbloques que están descodificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; y
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos.
3. Un aparato para codificar coeficientes de transformada, que comprende:
una unidad de codificación, configurada para: codificar coeficientes de transformada de un bloque de coeficientes de transformada con un tamaño de 8x8 o 32x32 según un orden de exploración predeterminado mediante el cual se codifica un número fijado de coeficientes de transformada en cada grupo hasta que se codifique el último grupo del bloque de coeficientes de transformada; cuando se está codificando el último grupo, después de obtener un mapa de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en un flujo de bits un mapa almacenado de coeficientes de transformada distintos de cero y el mapa de coeficientes de transformada distintos de cero codificados en el último grupo; y tras obtener valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo, escribir en el flujo de bits valores absolutos almacenados de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero y los valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero codificados en el último grupo; y
una unidad de almacenamiento, configurada para almacenar el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero obtenidos por la unidad de codificación;
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada está compuesto por subbloques que están codificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; y
los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos;
en el que la codificación de coeficientes de transformada de un bloque de coeficientes de transformada y la codificación de un número fijado de coeficientes de transformada de cada grupo comprenden: codificar un mapa de coeficientes de transformada distintos de cero del número predeterminado de coeficientes de transformada, codificar un mapa de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada, codificar valores absolutos de coeficientes de transformada mayores que 1 del número fijado de coeficientes de transformada y codificar signos positivos y negativos de coeficientes de transformada distintos de cero de un número fijado de coeficientes de transformada.
4. Un aparato para descodificar coeficientes de transformada, que comprende:
una unidad de descodificación, configurada para analizar coeficientes de transformada de un flujo de bits según un orden de exploración predeterminado para obtener un mapa de coeficientes de transformada distintos de cero, analizar, según el orden de exploración predeterminado, un número fijado de coeficientes de transformada en cada grupo de un bloque de coeficientes de transformada del flujo de bits, para obtener un mapa de coeficientes de transformada mayores que 1, valores absolutos de coeficientes de transformada mayores que 1 y signos positivos y negativos de coeficientes de transformada distintos de cero del flujo de bits;
en el que el número fijado es 16, y en el que el bloque de coeficientes de transformada es de tamaño 8x8 o 32x32 y está compuesto por subbloques que están descodificados secuencialmente y cada uno de los subbloques es de un tamaño de 4x4 y contiene un grupo de 4x4 de coeficientes de transformada; y los órdenes de exploración predeterminados utilizados para obtener el mapa de coeficientes de transformada distintos de cero, valores absolutos de coeficientes de transformada y signos positivos y negativos de coeficientes de transformada distintos de cero, en cada grupo de coeficientes de transformada de los bloques de coeficientes de transformada, son los mismos.
ES16196991T 2011-03-10 2011-11-22 Procedimiento y aparato para codificar y descodificar coeficientes de transformada Active ES2732009T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110057694.9A CN102685503B (zh) 2011-03-10 2011-03-10 变换系数的编码方法、变换系数的解码方法,和装置

Publications (1)

Publication Number Publication Date
ES2732009T3 true ES2732009T3 (es) 2019-11-20

Family

ID=46797463

Family Applications (2)

Application Number Title Priority Date Filing Date
ES16196991T Active ES2732009T3 (es) 2011-03-10 2011-11-22 Procedimiento y aparato para codificar y descodificar coeficientes de transformada
ES11860213.5T Active ES2623202T3 (es) 2011-03-10 2011-11-22 Procedimiento de codificación, procedimiento de descodificación y equipos para coeficientes de transformada

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES11860213.5T Active ES2623202T3 (es) 2011-03-10 2011-11-22 Procedimiento de codificación, procedimiento de descodificación y equipos para coeficientes de transformada

Country Status (17)

Country Link
US (2) US9571836B2 (es)
EP (2) EP2677750B1 (es)
JP (1) JP5881747B2 (es)
KR (2) KR101688452B1 (es)
CN (1) CN102685503B (es)
AU (2) AU2011361374B2 (es)
BR (1) BR112013023141B8 (es)
CA (1) CA2829494C (es)
DK (1) DK3211897T3 (es)
ES (2) ES2732009T3 (es)
HU (1) HUE043337T2 (es)
PL (1) PL3211897T3 (es)
PT (1) PT3211897T (es)
RU (2) RU2618905C1 (es)
SI (1) SI3211897T1 (es)
TR (1) TR201907869T4 (es)
WO (1) WO2012119463A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US9247257B1 (en) * 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
US20140341302A1 (en) * 2013-05-15 2014-11-20 Ce Wang Slice level bit rate control for video coding
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US10382768B2 (en) * 2015-06-23 2019-08-13 Mediatek Singapore Pte. Ltd. Method and apparatus for transform coefficient coding of non-square blocks
CN110650343A (zh) 2018-06-27 2020-01-03 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690307B2 (en) 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
ES2328916T3 (es) 2002-04-02 2009-11-19 Nokia Corporation Coeficientes de transformacion de codificacion en codificadores y/o descodificadores de imagenes/video.
JP3966461B2 (ja) * 2002-08-09 2007-08-29 株式会社リコー 電子カメラ装置
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP2006054846A (ja) 2004-07-12 2006-02-23 Sony Corp 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US20070071090A1 (en) * 2005-06-21 2007-03-29 National Chiao Tung University Method for performing context adaptive binary arithmetic coding with stochastic bit reshuffling for fine granularity scalability
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
CN100403801C (zh) * 2005-09-23 2008-07-16 联合信源数字音视频技术(北京)有限公司 一种基于上下文的自适应熵编/解码方法
CN100488254C (zh) * 2005-11-30 2009-05-13 联合信源数字音视频技术(北京)有限公司 一种基于上下文的熵编码方法及解码方法
WO2007079782A1 (en) 2006-01-13 2007-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Quality scalable picture coding with particular transform coefficient scan path
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
PL2123052T3 (pl) 2007-01-18 2011-05-31 Fraunhofer Ges Forschung Strumień danych wideo o skalowalnej jakości
CN101039430B (zh) * 2007-05-08 2011-01-12 清华大学 一种视频编码中对残差矩阵的快速扫描方法
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US9055293B2 (en) 2008-10-15 2015-06-09 France Telecom Prediction of an image by compensation during forward movement
HUE051391T2 (hu) 2010-04-13 2021-03-01 Ge Video Compression Llc Szignifikancia térképek és transzformációs együttható blokkok kódolása
CN101938657B (zh) * 2010-10-07 2012-07-04 西安电子科技大学 高效视频编码中编码单元自适应划分方法
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding

Also Published As

Publication number Publication date
CN102685503A (zh) 2012-09-19
EP2677750A4 (en) 2014-08-27
JP2014511639A (ja) 2014-05-15
RU2013145307A (ru) 2015-04-20
ES2623202T3 (es) 2017-07-10
EP3211897A1 (en) 2017-08-30
DK3211897T3 (da) 2019-06-24
JP5881747B2 (ja) 2016-03-09
TR201907869T4 (tr) 2019-06-21
US20140010312A1 (en) 2014-01-09
US9571836B2 (en) 2017-02-14
EP2677750A1 (en) 2013-12-25
CA2829494A1 (en) 2012-09-13
AU2011361374A1 (en) 2013-10-17
KR101688452B1 (ko) 2016-12-22
KR20160105934A (ko) 2016-09-07
AU2011361374B2 (en) 2015-05-07
EP2677750B1 (en) 2017-02-01
BR112013023141B1 (pt) 2020-05-05
WO2012119463A1 (zh) 2012-09-13
US20170111659A1 (en) 2017-04-20
HUE043337T2 (hu) 2019-08-28
KR20130128463A (ko) 2013-11-26
EP3211897B1 (en) 2019-04-03
US10165305B2 (en) 2018-12-25
AU2015210374A1 (en) 2015-09-03
PT3211897T (pt) 2019-06-11
RU2565505C2 (ru) 2015-10-20
AU2015210374B2 (en) 2017-06-01
PL3211897T3 (pl) 2019-09-30
KR101654123B1 (ko) 2016-09-05
BR112013023141A2 (pt) 2016-12-13
CN102685503B (zh) 2014-06-25
BR112013023141B8 (pt) 2020-05-19
SI3211897T1 (sl) 2019-06-28
RU2618905C1 (ru) 2017-05-11
CA2829494C (en) 2017-06-27

Similar Documents

Publication Publication Date Title
ES2732009T3 (es) Procedimiento y aparato para codificar y descodificar coeficientes de transformada
US9906789B2 (en) Encoding or decoding method and apparatus
US9491469B2 (en) Coding of last significant transform coefficient
JP6231109B2 (ja) コンテキスト適応型、マルチレベル有意性コーディングに関するコンテキスト導出
ES2742027T3 (es) Omitir binarios para la codificación de índices de referencia en la codificación de vídeo
ES2700523T3 (es) Optimización de contexto para la codificación de la posición del último coeficiente significativo
JP2018529273A (ja) ビデオコーディングにおける係数レベルのコーディング
JP2016076963A (ja) ビデオコーディングにおける並列コンテキスト計算
RU2565877C2 (ru) Способ и устройство для определения соответствия между синтаксическим элементом и кодовым словом для кодирования переменной длины
CN104093018A (zh) 变换系数的编码方法、变换系数的解码方法,和装置
CN104093020A (zh) 变换系数的编码方法、变换系数的解码方法,和装置
JP6509916B2 (ja) 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置